@cuemath/leap 3.1.48-aa1 → 3.1.48-aa2
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.
- package/dist/features/worksheet/worksheet/worksheet-styled.js +37 -28
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +46 -46
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/package.json +1 -1
- package/dist/style.css +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import t from "styled-components";
|
|
1
|
+
import t, { createGlobalStyle as d } from "styled-components";
|
|
2
2
|
import i from "../../ui/layout/flex-view.js";
|
|
3
|
-
import { QUESTIONS_GAP as
|
|
4
|
-
const
|
|
3
|
+
import { QUESTIONS_GAP as l, WORKSHEET_CONTAINER_BORDER_RADIUS as n, TOP_NAVIGATION_HEIGHT as c, ACTION_BAR_HEIGHT as s, SIDEBAR_WIDTH as a } from "./constants.js";
|
|
4
|
+
const g = t(i)(({ $topOffset: o }) => `
|
|
5
5
|
position: sticky;
|
|
6
6
|
top: ${o}px;
|
|
7
7
|
z-index: 1;
|
|
8
|
-
`),
|
|
8
|
+
`), u = t.div(({ theme: o }) => {
|
|
9
9
|
const { colors: r } = o;
|
|
10
10
|
return `
|
|
11
11
|
width: 16px;
|
|
@@ -13,18 +13,18 @@ const $ = t(i)(({ $topOffset: o }) => `
|
|
|
13
13
|
border-radius: 32px;
|
|
14
14
|
border: 0.667px solid ${r.BLACK_T_87}
|
|
15
15
|
`;
|
|
16
|
-
}),
|
|
16
|
+
}), E = t(i)`
|
|
17
17
|
position: relative;
|
|
18
|
-
`,
|
|
18
|
+
`, _ = t(i)(
|
|
19
19
|
({ $isCardView: o, theme: r }) => `
|
|
20
20
|
${o ? `
|
|
21
21
|
border-left: 1px solid ${r.colors.GREY_2};
|
|
22
22
|
border-right: 1px solid ${r.colors.GREY_2};
|
|
23
23
|
` : ""}
|
|
24
|
-
padding-top: ${
|
|
24
|
+
padding-top: ${l}px;
|
|
25
25
|
z-index: 0;
|
|
26
26
|
`
|
|
27
|
-
),
|
|
27
|
+
), h = t(i)(
|
|
28
28
|
({ theme: o, $topOffset: r }) => `
|
|
29
29
|
position: sticky;
|
|
30
30
|
top: ${r}px;
|
|
@@ -33,16 +33,16 @@ const $ = t(i)(({ $topOffset: o }) => `
|
|
|
33
33
|
justify-content: flex-end;
|
|
34
34
|
background-color: ${o.colors.WHITE};
|
|
35
35
|
`
|
|
36
|
-
),
|
|
36
|
+
), f = t(i)`
|
|
37
37
|
border: 1px solid ${({ theme: o }) => o.colors.GREY_2};
|
|
38
38
|
border-top: 0px;
|
|
39
39
|
border-radius: ${n}px ${n}px 0 0;
|
|
40
40
|
overflow: hidden;
|
|
41
|
-
`,
|
|
42
|
-
({ theme: { colors: o }, $height: r, $isCardView: e, $marginTop:
|
|
41
|
+
`, I = t(i)(
|
|
42
|
+
({ theme: { colors: o }, $height: r, $isCardView: e, $marginTop: p }) => `
|
|
43
43
|
position: sticky;
|
|
44
44
|
top: calc(100% - ${r}px);
|
|
45
|
-
margin-top: -${
|
|
45
|
+
margin-top: -${p}px;
|
|
46
46
|
z-index: 1;
|
|
47
47
|
${e ? `
|
|
48
48
|
border-left: 1px solid ${o.GREY_2};
|
|
@@ -71,7 +71,7 @@ const $ = t(i)(({ $topOffset: o }) => `
|
|
|
71
71
|
top: ${e + c}px;
|
|
72
72
|
z-index: 2;
|
|
73
73
|
min-height: ${r}${typeof r == "number" ? "px" : ""};
|
|
74
|
-
padding-bottom: ${
|
|
74
|
+
padding-bottom: ${s / 2}px;
|
|
75
75
|
background-color: ${o.colors.WHITE_70};
|
|
76
76
|
border-left: 1px solid ${o.colors.GREY_2};
|
|
77
77
|
border-right: 1px solid ${o.colors.GREY_2};
|
|
@@ -86,14 +86,14 @@ const $ = t(i)(({ $topOffset: o }) => `
|
|
|
86
86
|
), W = t(i)`
|
|
87
87
|
position: absolute;
|
|
88
88
|
width: 100%;
|
|
89
|
-
bottom: ${
|
|
89
|
+
bottom: ${s}px;
|
|
90
90
|
left: 0;
|
|
91
|
-
`,
|
|
91
|
+
`, k = t(i)(({ theme: o }) => `
|
|
92
92
|
position: sticky;
|
|
93
93
|
top: 0;
|
|
94
94
|
left: 0;
|
|
95
95
|
z-index: ${o.zIndex.DESMOS_CALCULATOR};
|
|
96
|
-
`),
|
|
96
|
+
`), A = t(i)(
|
|
97
97
|
({ theme: o, $active: r }) => `
|
|
98
98
|
width: 36px;
|
|
99
99
|
height: 36px;
|
|
@@ -110,26 +110,35 @@ const $ = t(i)(({ $topOffset: o }) => `
|
|
|
110
110
|
stroke: ${r ? o.colors.WHITE : o.colors.BLACK};
|
|
111
111
|
}
|
|
112
112
|
`
|
|
113
|
-
),
|
|
113
|
+
), y = t(i)`
|
|
114
114
|
position: absolute;
|
|
115
115
|
bottom: 8px;
|
|
116
|
-
right: -${
|
|
116
|
+
right: -${a}px;
|
|
117
117
|
align-items: center;
|
|
118
118
|
z-index: 1;
|
|
119
|
+
`, G = d`
|
|
120
|
+
div[role="dialog"][aria-label="Math Response Modal"] {
|
|
121
|
+
width: 405px !important; /* Set the desired width */
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
button.lds-flexible-container__trigger--resize {
|
|
125
|
+
visibility: hidden !important; /* Hide the resize button */
|
|
126
|
+
}
|
|
119
127
|
`;
|
|
120
128
|
export {
|
|
121
|
-
|
|
129
|
+
I as ActionbarContainer,
|
|
122
130
|
R as ActionbarWrapper,
|
|
123
131
|
T as BlockerWrapper,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
+
k as DesmosCalcWrapper,
|
|
133
|
+
A as IconContainer,
|
|
134
|
+
G as LearnosityStyleOverrides,
|
|
135
|
+
h as NavigationContainer,
|
|
136
|
+
f as NavigationWrapper,
|
|
137
|
+
u as NudgeBannerIcon,
|
|
138
|
+
g as NudgeBannerWrapper,
|
|
139
|
+
_ as QuestionsWrapper,
|
|
140
|
+
y as StudentWorksheetSideBar,
|
|
132
141
|
W as SummaryWrapper,
|
|
133
|
-
|
|
142
|
+
E as WorksheetContainer
|
|
134
143
|
};
|
|
135
144
|
//# sourceMappingURL=worksheet-styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-styled.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport {\n ACTION_BAR_HEIGHT,\n QUESTIONS_GAP,\n SIDEBAR_WIDTH,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_CONTAINER_BORDER_RADIUS,\n} from './constants';\n\nconst NudgeBannerWrapper = styled(FlexView)<{ $topOffset: number }>(({ $topOffset }) => {\n return `\n position: sticky;\n top: ${$topOffset}px;\n z-index: 1;\n `;\n});\n\nconst NudgeBannerIcon = styled.div(({ theme }) => {\n const { colors } = theme;\n\n return `\n width: 16px;\n height: 16px;\n border-radius: 32px;\n border: 0.667px solid ${colors.BLACK_T_87}\n `;\n});\n\nconst WorksheetContainer = styled(FlexView)`\n position: relative;\n`;\n\ninterface IQuestionsWrapperProps {\n $actionbarHeight: number;\n $isCardView: boolean;\n}\n\nconst QuestionsWrapper = styled(FlexView)<IQuestionsWrapperProps>(\n ({ $isCardView, theme }) => `\n ${\n $isCardView\n ? `\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n `\n : ''\n }\n padding-top: ${QUESTIONS_GAP}px;\n z-index: 0;\n`,\n);\n\nconst NavigationContainer = styled(FlexView)<{ $topOffset: number }>(\n ({ theme, $topOffset }) => `\n position: sticky;\n top: ${$topOffset}px;\n width: 100%;\n z-index: 1;\n justify-content: flex-end;\n background-color: ${theme.colors.WHITE};\n`,\n);\n\nconst NavigationWrapper = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.GREY_2};\n border-top: 0px;\n border-radius: ${WORKSHEET_CONTAINER_BORDER_RADIUS}px ${WORKSHEET_CONTAINER_BORDER_RADIUS}px 0 0;\n overflow: hidden;\n`;\n\nconst ActionbarContainer = styled(FlexView)<{ $isCardView: boolean; $marginTop: string | number }>(\n ({ theme: { colors }, $height, $isCardView, $marginTop }) => `\n position: sticky;\n top: calc(100% - ${$height}px);\n margin-top: -${$marginTop}px;\n z-index: 1;\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n `\n : ''\n }\n `,\n);\n\nconst ActionbarWrapper = styled(FlexView)<{ $isCardView: boolean }>(\n ({ theme: { colors }, $isCardView }) => `\n align-items: center;\n justify-content: center;\n align-self: center;\n background-color: ${colors.WHITE};\n border-top: 1px solid ${colors.GREY_2};\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n `\n : ''\n }\n `,\n);\n\ninterface IBlockerWrapperProps {\n $minHeight: number | string;\n $topOffset: number;\n}\n\nconst BlockerWrapper = styled(FlexView)<IBlockerWrapperProps>(\n ({ theme, $minHeight, $topOffset }) => `\n box-sizing: content-box;\n position: sticky;\n width: calc(100% - 2px);\n top: ${$topOffset + TOP_NAVIGATION_HEIGHT}px;\n z-index: 2;\n min-height: ${$minHeight}${typeof $minHeight === 'number' ? 'px' : ''};\n padding-bottom: ${ACTION_BAR_HEIGHT / 2}px;\n background-color: ${theme.colors.WHITE_70};\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n backdrop-filter: blur(7px);\n align-items: center;\n justify-content: center;\n\n & * {\n box-sizing: border-box;\n }\n`,\n);\n\nconst SummaryWrapper = styled(FlexView)`\n position: absolute;\n width: 100%;\n bottom: ${ACTION_BAR_HEIGHT}px;\n left: 0;\n`;\n\nconst DesmosCalcWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: sticky;\n top: 0;\n left: 0;\n z-index: ${theme.zIndex.DESMOS_CALCULATOR};\n `;\n});\n\nconst IconContainer = styled(FlexView)<{ $active: boolean }>(\n ({ theme, $active }) => `\n width: 36px;\n height: 36px;\n border-radius: 50%;\n &:hover {\n cursor: pointer;\n background-color: ${theme.colors.BLACK};\n svg path {\n stroke: ${theme.colors.WHITE};\n }\n }\n background-color: ${$active ? theme.colors.BLACK : theme.colors.WHITE};\n svg path {\n stroke: ${$active ? theme.colors.WHITE : theme.colors.BLACK};\n }\n`,\n);\n\nconst StudentWorksheetSideBar = styled(FlexView)`\n position: absolute;\n bottom: 8px;\n right: -${SIDEBAR_WIDTH}px;\n align-items: center;\n z-index: 1;\n`;\n\nexport {\n NudgeBannerWrapper,\n NudgeBannerIcon,\n WorksheetContainer,\n QuestionsWrapper,\n NavigationContainer,\n ActionbarContainer,\n NavigationWrapper,\n ActionbarWrapper,\n BlockerWrapper,\n SummaryWrapper,\n IconContainer,\n DesmosCalcWrapper,\n StudentWorksheetSideBar,\n};\n"],"names":["NudgeBannerWrapper","styled","FlexView","$topOffset","NudgeBannerIcon","theme","colors","WorksheetContainer","QuestionsWrapper","$isCardView","QUESTIONS_GAP","NavigationContainer","NavigationWrapper","WORKSHEET_CONTAINER_BORDER_RADIUS","ActionbarContainer","$height","$marginTop","ActionbarWrapper","BlockerWrapper","$minHeight","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","SummaryWrapper","DesmosCalcWrapper","IconContainer","$active","StudentWorksheetSideBar","SIDEBAR_WIDTH"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worksheet-styled.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-styled.tsx"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport {\n ACTION_BAR_HEIGHT,\n QUESTIONS_GAP,\n SIDEBAR_WIDTH,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_CONTAINER_BORDER_RADIUS,\n} from './constants';\n\nconst NudgeBannerWrapper = styled(FlexView)<{ $topOffset: number }>(({ $topOffset }) => {\n return `\n position: sticky;\n top: ${$topOffset}px;\n z-index: 1;\n `;\n});\n\nconst NudgeBannerIcon = styled.div(({ theme }) => {\n const { colors } = theme;\n\n return `\n width: 16px;\n height: 16px;\n border-radius: 32px;\n border: 0.667px solid ${colors.BLACK_T_87}\n `;\n});\n\nconst WorksheetContainer = styled(FlexView)`\n position: relative;\n`;\n\ninterface IQuestionsWrapperProps {\n $actionbarHeight: number;\n $isCardView: boolean;\n}\n\nconst QuestionsWrapper = styled(FlexView)<IQuestionsWrapperProps>(\n ({ $isCardView, theme }) => `\n ${\n $isCardView\n ? `\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n `\n : ''\n }\n padding-top: ${QUESTIONS_GAP}px;\n z-index: 0;\n`,\n);\n\nconst NavigationContainer = styled(FlexView)<{ $topOffset: number }>(\n ({ theme, $topOffset }) => `\n position: sticky;\n top: ${$topOffset}px;\n width: 100%;\n z-index: 1;\n justify-content: flex-end;\n background-color: ${theme.colors.WHITE};\n`,\n);\n\nconst NavigationWrapper = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.GREY_2};\n border-top: 0px;\n border-radius: ${WORKSHEET_CONTAINER_BORDER_RADIUS}px ${WORKSHEET_CONTAINER_BORDER_RADIUS}px 0 0;\n overflow: hidden;\n`;\n\nconst ActionbarContainer = styled(FlexView)<{ $isCardView: boolean; $marginTop: string | number }>(\n ({ theme: { colors }, $height, $isCardView, $marginTop }) => `\n position: sticky;\n top: calc(100% - ${$height}px);\n margin-top: -${$marginTop}px;\n z-index: 1;\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n `\n : ''\n }\n `,\n);\n\nconst ActionbarWrapper = styled(FlexView)<{ $isCardView: boolean }>(\n ({ theme: { colors }, $isCardView }) => `\n align-items: center;\n justify-content: center;\n align-self: center;\n background-color: ${colors.WHITE};\n border-top: 1px solid ${colors.GREY_2};\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n `\n : ''\n }\n `,\n);\n\ninterface IBlockerWrapperProps {\n $minHeight: number | string;\n $topOffset: number;\n}\n\nconst BlockerWrapper = styled(FlexView)<IBlockerWrapperProps>(\n ({ theme, $minHeight, $topOffset }) => `\n box-sizing: content-box;\n position: sticky;\n width: calc(100% - 2px);\n top: ${$topOffset + TOP_NAVIGATION_HEIGHT}px;\n z-index: 2;\n min-height: ${$minHeight}${typeof $minHeight === 'number' ? 'px' : ''};\n padding-bottom: ${ACTION_BAR_HEIGHT / 2}px;\n background-color: ${theme.colors.WHITE_70};\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n backdrop-filter: blur(7px);\n align-items: center;\n justify-content: center;\n\n & * {\n box-sizing: border-box;\n }\n`,\n);\n\nconst SummaryWrapper = styled(FlexView)`\n position: absolute;\n width: 100%;\n bottom: ${ACTION_BAR_HEIGHT}px;\n left: 0;\n`;\n\nconst DesmosCalcWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: sticky;\n top: 0;\n left: 0;\n z-index: ${theme.zIndex.DESMOS_CALCULATOR};\n `;\n});\n\nconst IconContainer = styled(FlexView)<{ $active: boolean }>(\n ({ theme, $active }) => `\n width: 36px;\n height: 36px;\n border-radius: 50%;\n &:hover {\n cursor: pointer;\n background-color: ${theme.colors.BLACK};\n svg path {\n stroke: ${theme.colors.WHITE};\n }\n }\n background-color: ${$active ? theme.colors.BLACK : theme.colors.WHITE};\n svg path {\n stroke: ${$active ? theme.colors.WHITE : theme.colors.BLACK};\n }\n`,\n);\n\nconst StudentWorksheetSideBar = styled(FlexView)`\n position: absolute;\n bottom: 8px;\n right: -${SIDEBAR_WIDTH}px;\n align-items: center;\n z-index: 1;\n`;\n\nconst LearnosityStyleOverrides = createGlobalStyle`\n div[role=\"dialog\"][aria-label=\"Math Response Modal\"] {\n width: 405px !important; /* Set the desired width */\n }\n\n button.lds-flexible-container__trigger--resize {\n visibility: hidden !important; /* Hide the resize button */\n }\n`;\n\nexport {\n NudgeBannerWrapper,\n NudgeBannerIcon,\n WorksheetContainer,\n QuestionsWrapper,\n NavigationContainer,\n ActionbarContainer,\n NavigationWrapper,\n ActionbarWrapper,\n BlockerWrapper,\n SummaryWrapper,\n IconContainer,\n DesmosCalcWrapper,\n StudentWorksheetSideBar,\n LearnosityStyleOverrides,\n};\n"],"names":["NudgeBannerWrapper","styled","FlexView","$topOffset","NudgeBannerIcon","theme","colors","WorksheetContainer","QuestionsWrapper","$isCardView","QUESTIONS_GAP","NavigationContainer","NavigationWrapper","WORKSHEET_CONTAINER_BORDER_RADIUS","ActionbarContainer","$height","$marginTop","ActionbarWrapper","BlockerWrapper","$minHeight","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","SummaryWrapper","DesmosCalcWrapper","IconContainer","$active","StudentWorksheetSideBar","SIDEBAR_WIDTH","LearnosityStyleOverrides","createGlobalStyle"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as R, Fragment as lt, jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { captureMessage as Z } from "@sentry/browser";
|
|
3
|
-
import { memo as dt, forwardRef as ut, useMemo as Q, useState as
|
|
3
|
+
import { memo as dt, forwardRef as ut, useMemo as Q, useState as y, useCallback as T, useEffect as b, useLayoutEffect as mt } from "react";
|
|
4
4
|
import ft from "../../../assets/line-icons/icons/check2.js";
|
|
5
5
|
import pt from "../../../assets/line-icons/icons/info2.js";
|
|
6
6
|
import ht from "../../../helpers/get-device-details.js";
|
|
@@ -9,36 +9,35 @@ import ue from "../../ui/layout/flex-view.js";
|
|
|
9
9
|
import bt from "../../ui/text/text.js";
|
|
10
10
|
import It from "../constants/events.js";
|
|
11
11
|
import St from "../user-pointer-pin/user-pin.js";
|
|
12
|
-
import { WORKSHEET_NUDGE_BANNER_HEIGHT as me, TOP_NAVIGATION_HEIGHT as Ct, DESMOS_CALC_POSITION as
|
|
13
|
-
import
|
|
12
|
+
import { WORKSHEET_NUDGE_BANNER_HEIGHT as me, TOP_NAVIGATION_HEIGHT as Ct, DESMOS_CALC_POSITION as yt } from "./constants.js";
|
|
13
|
+
import Tt from "./hooks/use-create-imperative-handle.js";
|
|
14
14
|
import vt from "./hooks/use-get-active-question-id.js";
|
|
15
15
|
import $t from "./hooks/use-time-on-questions.js";
|
|
16
16
|
import Et from "./question-tips.js";
|
|
17
17
|
import _t from "./worksheet-action-bar/worksheet-action-bar.js";
|
|
18
18
|
import kt from "./worksheet-blocker/worksheet-blocker.js";
|
|
19
|
-
import { getWorksheetDimensions as wt, getQuestionsFromItems as Nt, getInitialResponses as At, getLastUnlockedQuestionIndex as fe, getRenderableQuestions as Bt, getInitialQuestionId as Wt, getQuestionMetadata as pe, scrollToQuestion as
|
|
19
|
+
import { getWorksheetDimensions as wt, getQuestionsFromItems as Nt, getInitialResponses as At, getLastUnlockedQuestionIndex as fe, getRenderableQuestions as Bt, getInitialQuestionId as Wt, getQuestionMetadata as pe, scrollToQuestion as L, getWorksheetNudgeBannerInfo as Ot } from "./worksheet-helpers.js";
|
|
20
20
|
import Rt from "./worksheet-navigation/worksheet-navigation.js";
|
|
21
21
|
import Dt from "./worksheet-question/worksheet-question.js";
|
|
22
22
|
import Vt from "./worksheet-sidebar/navigator.js";
|
|
23
23
|
import Mt from "./worksheet-sidebar/sidebar.js";
|
|
24
|
-
import {
|
|
25
|
-
import
|
|
26
|
-
|
|
27
|
-
const Xt = (ge, be) => {
|
|
24
|
+
import { LearnosityStyleOverrides as Ht, NudgeBannerWrapper as xt, NudgeBannerIcon as he, WorksheetContainer as qt, NavigationContainer as Pt, NavigationWrapper as Qt, BlockerWrapper as Lt, DesmosCalcWrapper as Gt, ActionbarContainer as Ft, ActionbarWrapper as jt, StudentWorksheetSideBar as Kt, QuestionsWrapper as Ut } from "./worksheet-styled.js";
|
|
25
|
+
import Xt from "./worksheet-summary/worksheet-summary.js";
|
|
26
|
+
const zt = (ge, be) => {
|
|
28
27
|
const {
|
|
29
28
|
userType: r,
|
|
30
29
|
studentName: Ie = "Student",
|
|
31
30
|
questionsSignedRequest: Se,
|
|
32
31
|
worksheetName: ee,
|
|
33
32
|
initialResponseId: Ce,
|
|
34
|
-
initialItemIndex:
|
|
33
|
+
initialItemIndex: ye,
|
|
35
34
|
learnosityActivityRef: _,
|
|
36
35
|
learnosityItems: k,
|
|
37
|
-
learnosityResponses:
|
|
36
|
+
learnosityResponses: Te,
|
|
38
37
|
layout: v,
|
|
39
38
|
background: ve,
|
|
40
39
|
behavior: a,
|
|
41
|
-
updatedResponses:
|
|
40
|
+
updatedResponses: G,
|
|
42
41
|
showNudgeBanner: $e,
|
|
43
42
|
markedAsCompleted: te,
|
|
44
43
|
onResponseChange: I,
|
|
@@ -70,8 +69,8 @@ const Xt = (ge, be) => {
|
|
|
70
69
|
canResolveDoubt: qe,
|
|
71
70
|
onResolveDoubt: Pe,
|
|
72
71
|
onSkip: Qe,
|
|
73
|
-
canToggleScribbling:
|
|
74
|
-
studentId:
|
|
72
|
+
canToggleScribbling: Le = !0,
|
|
73
|
+
studentId: Ge,
|
|
75
74
|
subjectiveProps: Fe,
|
|
76
75
|
canShowActionBar: je = !0
|
|
77
76
|
} = ge, { initialQuestion: Ke, navigationMode: p, teacherValidationEnabled: U } = a, {
|
|
@@ -87,14 +86,14 @@ const Xt = (ge, be) => {
|
|
|
87
86
|
} = v, { actionbarHeight: C, maxQuestionWidth: X, questionsContainerWidth: z } = Q(
|
|
88
87
|
() => wt(k, v),
|
|
89
88
|
[v, k]
|
|
90
|
-
), [t] =
|
|
89
|
+
), [t] = y(
|
|
91
90
|
() => Nt(k, {
|
|
92
91
|
sectioned: U && p !== "ADAPTIVE" && p !== "CURRENT",
|
|
93
92
|
adaptive: p === "ADAPTIVE"
|
|
94
93
|
})
|
|
95
|
-
), [c, N] =
|
|
96
|
-
() =>
|
|
97
|
-
), [se, Ze] =
|
|
94
|
+
), [c, N] = y(
|
|
95
|
+
() => Te ?? At(t)
|
|
96
|
+
), [se, Ze] = y(!1), h = Q(
|
|
98
97
|
() => p !== "OPEN" ? fe({
|
|
99
98
|
questions: t,
|
|
100
99
|
responses: c,
|
|
@@ -105,7 +104,7 @@ const Xt = (ge, be) => {
|
|
|
105
104
|
), et = Q(
|
|
106
105
|
() => Bt({ questions: t, lastUnlockedQuestionIndex: h, userType: r }),
|
|
107
106
|
[t, h, r]
|
|
108
|
-
), l = t[h], s = c[(l == null ? void 0 : l.response_id) ?? ""], { bannerBackgroundColor: tt, label: it } = Ot(r, !!te), [A] =
|
|
107
|
+
), l = t[h], s = c[(l == null ? void 0 : l.response_id) ?? ""], { bannerBackgroundColor: tt, label: it } = Ot(r, !!te), [A] = y(
|
|
109
108
|
() => Wt({
|
|
110
109
|
questions: t,
|
|
111
110
|
initialQuestion: Ke,
|
|
@@ -116,12 +115,12 @@ const Xt = (ge, be) => {
|
|
|
116
115
|
userType: r
|
|
117
116
|
}),
|
|
118
117
|
initialResponseId: Ce,
|
|
119
|
-
initialItemIndex:
|
|
118
|
+
initialItemIndex: ye
|
|
120
119
|
})
|
|
121
120
|
), { activeQuestionId: B, setActiveQuestionId: q, intersectionObserver: J } = vt(A), f = Q(
|
|
122
121
|
() => t.findIndex((e) => e.response_id === B),
|
|
123
122
|
[B, t]
|
|
124
|
-
), [g, Y] =
|
|
123
|
+
), [g, Y] = y(!1), [ae, W] = y(), [ce, le] = y(!1), de = $t(a, c, B), nt = T(
|
|
125
124
|
(e, i, n) => {
|
|
126
125
|
const d = i === "SIMULATION" ? "simState" : void 0;
|
|
127
126
|
d && (I ? N((u) => {
|
|
@@ -144,7 +143,7 @@ const Xt = (ge, be) => {
|
|
|
144
143
|
}) : j && j(e, i, n));
|
|
145
144
|
},
|
|
146
145
|
[j, I, t]
|
|
147
|
-
), ot =
|
|
146
|
+
), ot = T(
|
|
148
147
|
(e, i) => {
|
|
149
148
|
N((n) => {
|
|
150
149
|
const d = pe(t, e);
|
|
@@ -159,32 +158,32 @@ const Xt = (ge, be) => {
|
|
|
159
158
|
});
|
|
160
159
|
},
|
|
161
160
|
[t]
|
|
162
|
-
), O =
|
|
161
|
+
), O = T(() => {
|
|
163
162
|
W((e) => {
|
|
164
163
|
var i;
|
|
165
164
|
if (e) {
|
|
166
165
|
const n = (i = t[h]) == null ? void 0 : i.response_id;
|
|
167
166
|
n && setTimeout(() => {
|
|
168
|
-
|
|
167
|
+
L(n);
|
|
169
168
|
}, 50);
|
|
170
169
|
}
|
|
171
170
|
});
|
|
172
|
-
}, [h, t]), P =
|
|
171
|
+
}, [h, t]), P = T(
|
|
173
172
|
(e) => {
|
|
174
|
-
Y(!1), H ? requestAnimationFrame(() =>
|
|
173
|
+
Y(!1), H ? requestAnimationFrame(() => L(e)) : q(e);
|
|
175
174
|
},
|
|
176
175
|
[H, q]
|
|
177
|
-
), rt =
|
|
176
|
+
), rt = T(() => {
|
|
178
177
|
le(!1);
|
|
179
|
-
}, []), st =
|
|
178
|
+
}, []), st = T(() => {
|
|
180
179
|
le(!0);
|
|
181
|
-
}, []), at =
|
|
180
|
+
}, []), at = T(() => {
|
|
182
181
|
Y(!0);
|
|
183
182
|
}, []);
|
|
184
183
|
return b(() => {
|
|
185
184
|
const e = t[f];
|
|
186
185
|
e && K && K(e);
|
|
187
|
-
}, [K, t, f]),
|
|
186
|
+
}, [K, t, f]), Tt(be, {
|
|
188
187
|
behavior: a,
|
|
189
188
|
questions: t,
|
|
190
189
|
setResponses: N,
|
|
@@ -196,12 +195,12 @@ const Xt = (ge, be) => {
|
|
|
196
195
|
}, [J]), b(() => {
|
|
197
196
|
F && c && F(c);
|
|
198
197
|
}, [F, c]), b(() => {
|
|
199
|
-
|
|
200
|
-
}, [
|
|
198
|
+
G && N(G);
|
|
199
|
+
}, [G]), mt(() => {
|
|
201
200
|
let e;
|
|
202
201
|
return S && A && (ht().browser_name === "Safari" ? e = setTimeout(() => {
|
|
203
|
-
|
|
204
|
-
}, 400) :
|
|
202
|
+
L(A);
|
|
203
|
+
}, 400) : L(A)), () => {
|
|
205
204
|
clearTimeout(e);
|
|
206
205
|
};
|
|
207
206
|
}, [S, A, x]), b(() => {
|
|
@@ -275,8 +274,9 @@ const Xt = (ge, be) => {
|
|
|
275
274
|
}
|
|
276
275
|
});
|
|
277
276
|
}, [_, w, t, U]), S ? /* @__PURE__ */ R(lt, { children: [
|
|
277
|
+
/* @__PURE__ */ o(Ht, {}),
|
|
278
278
|
$e && /* @__PURE__ */ R(
|
|
279
|
-
|
|
279
|
+
xt,
|
|
280
280
|
{
|
|
281
281
|
$flexDirection: "row",
|
|
282
282
|
$justifyContent: "center",
|
|
@@ -295,8 +295,8 @@ const Xt = (ge, be) => {
|
|
|
295
295
|
]
|
|
296
296
|
}
|
|
297
297
|
),
|
|
298
|
-
/* @__PURE__ */ R(
|
|
299
|
-
ze === "top" && /* @__PURE__ */ o(
|
|
298
|
+
/* @__PURE__ */ R(qt, { $background: "WHITE", $width: Ue, children: [
|
|
299
|
+
ze === "top" && /* @__PURE__ */ o(Pt, { $topOffset: x, $height: Ct, children: /* @__PURE__ */ o(Qt, { children: /* @__PURE__ */ o(
|
|
300
300
|
Rt,
|
|
301
301
|
{
|
|
302
302
|
placement: "top",
|
|
@@ -310,7 +310,7 @@ const Xt = (ge, be) => {
|
|
|
310
310
|
summaryVisible: g
|
|
311
311
|
}
|
|
312
312
|
) }) }),
|
|
313
|
-
ae && l && /* @__PURE__ */ o(
|
|
313
|
+
ae && l && /* @__PURE__ */ o(Lt, { $minHeight: re, $topOffset: x, children: /* @__PURE__ */ o(ue, { $width: X, $justifyContent: "center", $alignItems: "center", children: /* @__PURE__ */ o(
|
|
314
314
|
kt,
|
|
315
315
|
{
|
|
316
316
|
blocker: ae,
|
|
@@ -333,9 +333,9 @@ const Xt = (ge, be) => {
|
|
|
333
333
|
userType: r
|
|
334
334
|
}
|
|
335
335
|
),
|
|
336
|
-
ce && /* @__PURE__ */ o(Gt, { children: /* @__PURE__ */ o(gt, { initialPosition:
|
|
336
|
+
ce && /* @__PURE__ */ o(Gt, { children: /* @__PURE__ */ o(gt, { initialPosition: yt, onClose: rt }) }),
|
|
337
337
|
/* @__PURE__ */ R(
|
|
338
|
-
|
|
338
|
+
Ft,
|
|
339
339
|
{
|
|
340
340
|
$marginTop: r === "TEACHER" && g ? "0" : C,
|
|
341
341
|
$height: C,
|
|
@@ -351,7 +351,7 @@ const Xt = (ge, be) => {
|
|
|
351
351
|
}
|
|
352
352
|
),
|
|
353
353
|
je && /* @__PURE__ */ o(
|
|
354
|
-
|
|
354
|
+
jt,
|
|
355
355
|
{
|
|
356
356
|
$height: C,
|
|
357
357
|
$width: M === "card" ? z - 32 : "100%",
|
|
@@ -397,19 +397,19 @@ const Xt = (ge, be) => {
|
|
|
397
397
|
showCalculator: ce,
|
|
398
398
|
loggerRef: w,
|
|
399
399
|
onSkip: Qe,
|
|
400
|
-
canToggleScribbling:
|
|
400
|
+
canToggleScribbling: Le
|
|
401
401
|
}
|
|
402
402
|
)
|
|
403
403
|
}
|
|
404
404
|
)
|
|
405
405
|
}
|
|
406
406
|
),
|
|
407
|
-
!g && H && r === "STUDENT" && /* @__PURE__ */ o(
|
|
407
|
+
!g && H && r === "STUDENT" && /* @__PURE__ */ o(Kt, { children: /* @__PURE__ */ o(Vt, {}) })
|
|
408
408
|
]
|
|
409
409
|
}
|
|
410
410
|
),
|
|
411
411
|
/* @__PURE__ */ R(
|
|
412
|
-
|
|
412
|
+
Ut,
|
|
413
413
|
{
|
|
414
414
|
$actionbarHeight: C,
|
|
415
415
|
$isCardView: M === "card",
|
|
@@ -450,7 +450,7 @@ const Xt = (ge, be) => {
|
|
|
450
450
|
setActiveQuestionId: q,
|
|
451
451
|
canResolveDoubt: qe,
|
|
452
452
|
onResolveDoubt: Pe,
|
|
453
|
-
studentId:
|
|
453
|
+
studentId: Ge,
|
|
454
454
|
subjectiveProps: Fe,
|
|
455
455
|
responses: c,
|
|
456
456
|
loggerRef: w
|
|
@@ -459,7 +459,7 @@ const Xt = (ge, be) => {
|
|
|
459
459
|
);
|
|
460
460
|
}),
|
|
461
461
|
g && /* @__PURE__ */ o(
|
|
462
|
-
|
|
462
|
+
Xt,
|
|
463
463
|
{
|
|
464
464
|
worksheetName: ee,
|
|
465
465
|
questions: t,
|
|
@@ -492,7 +492,7 @@ const Xt = (ge, be) => {
|
|
|
492
492
|
)
|
|
493
493
|
] })
|
|
494
494
|
] }) : null;
|
|
495
|
-
}, $i = dt(ut(
|
|
495
|
+
}, $i = dt(ut(zt));
|
|
496
496
|
export {
|
|
497
497
|
$i as default
|
|
498
498
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet.js","sources":["../../../../src/features/worksheet/worksheet/worksheet.tsx"],"sourcesContent":["import type { TWorksheetBlocker } from './worksheet-blocker/worksheet-blocker-types';\nimport type { IWorksheetProps, IWorksheetRef, IWorksheetResponse } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport Info2Icon from '../../../assets/line-icons/icons/info2';\nimport getDeviceDetails from '../../../helpers/get-device-details';\nimport DesmosCalculator from '../../sheet-tools/desmos-calculator/desmos-calculator';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport EVENTS from '../constants/events';\nimport UserPointer from '../user-pointer-pin/user-pin';\nimport {\n DESMOS_CALC_POSITION,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from './constants';\nimport useCreateImperativeHandle from './hooks/use-create-imperative-handle';\nimport useGetActiveQuestionId from './hooks/use-get-active-question-id';\nimport useTimeSpentOnQuestions from './hooks/use-time-on-questions';\nimport QuestionTips from './question-tips';\nimport WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetBlocker from './worksheet-blocker/worksheet-blocker';\nimport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n getWorksheetNudgeBannerInfo,\n scrollToQuestion,\n} from './worksheet-helpers';\nimport WorksheetNavigation from './worksheet-navigation/worksheet-navigation';\nimport WorksheetQuestion from './worksheet-question/worksheet-question';\nimport Navigator from './worksheet-sidebar/navigator';\nimport WorksheetSideBar from './worksheet-sidebar/sidebar';\nimport * as Styled from './worksheet-styled';\nimport WorksheetSummary from './worksheet-summary/worksheet-summary';\nimport './css/learnosity-override.css';\n\n/**\n *\n * @param learnosityItems cannot not be changed between the renders\n */\nconst WorksheetComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetProps> = (props, ref) => {\n const {\n userType,\n studentName = 'Student',\n questionsSignedRequest,\n worksheetName,\n initialResponseId,\n initialItemIndex,\n learnosityActivityRef,\n learnosityItems,\n learnosityResponses,\n layout,\n background,\n behavior,\n updatedResponses,\n showNudgeBanner,\n markedAsCompleted,\n onResponseChange,\n onBulkResponsesChange,\n onResponsesChange,\n onMediaStateChange,\n onTeacherValidation,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n learnosity,\n appendedQuestionIds,\n worksheetCompleted,\n userId,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n isCanvasEnabled,\n onHelp,\n onPublishMouseMove,\n onSubscribeMouseMove,\n onActiveQuestionChange,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n loggerRef,\n canResolveDoubt,\n onResolveDoubt,\n onSkip,\n canToggleScribbling = true,\n studentId,\n subjectiveProps,\n canShowActionBar = true,\n } = props;\n const { initialQuestion, navigationMode, teacherValidationEnabled } = behavior;\n const {\n containerStyle,\n containerWidth,\n minQuestionHeight,\n minSummaryHeight,\n questionsScrollable,\n navigationBar,\n topOffset,\n renderSideBar,\n showUserPointer = true,\n } = layout;\n\n const { actionbarHeight, maxQuestionWidth, questionsContainerWidth } = useMemo(\n () => getWorksheetDimensions(learnosityItems, layout),\n [layout, learnosityItems],\n );\n\n const [questions] = useState(() =>\n getQuestionsFromItems(learnosityItems, {\n sectioned:\n teacherValidationEnabled && navigationMode !== 'ADAPTIVE' && navigationMode !== 'CURRENT',\n adaptive: navigationMode === 'ADAPTIVE',\n }),\n );\n\n const [responses, setResponses] = useState<Record<string, IWorksheetResponse>>(\n () => learnosityResponses ?? getInitialResponses(questions),\n );\n const [isScribblingEnabled, setIsScribblingEnabled] = useState(false);\n const lastUnlockedQuestionIndex = useMemo(\n () =>\n navigationMode !== 'OPEN'\n ? getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n })\n : questions.length - 1,\n [behavior, navigationMode, questions, responses, userType],\n );\n\n const questionsToRender = useMemo(\n () => getRenderableQuestions({ questions, lastUnlockedQuestionIndex, userType }),\n [questions, lastUnlockedQuestionIndex, userType],\n );\n\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\n\n const { bannerBackgroundColor: nudgeBannerBackgroundColor, label: nudgeBannerLabel } =\n getWorksheetNudgeBannerInfo(userType, Boolean(markedAsCompleted));\n\n const [initialQuestionId] = useState(() =>\n getInitialQuestionId({\n questions,\n initialQuestion,\n lastUnlockedQuestionIndex: getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n }),\n initialResponseId,\n initialItemIndex,\n }),\n );\n\n const { activeQuestionId, setActiveQuestionId, intersectionObserver } =\n useGetActiveQuestionId(initialQuestionId);\n const activeQuestionIndex = useMemo(\n () => questions.findIndex(question => question.response_id === activeQuestionId),\n [activeQuestionId, questions],\n );\n const [summaryVisible, setSummaryVisible] = useState(false);\n const [blocker, setBlocker] = useState<TWorksheetBlocker>();\n\n const [showCalculator, setShowCalculator] = useState(false);\n const getTimeSpentOnQuestion = useTimeSpentOnQuestions(behavior, responses, activeQuestionId);\n\n const handleMediaStateChange = useCallback<NonNullable<typeof onMediaStateChange>>(\n (question, mediaType, mediaState) => {\n const key = mediaType === 'SIMULATION' ? 'simState' : undefined;\n\n if (!key) return;\n\n if (onResponseChange) {\n setResponses(prevResponses => {\n const questionId = question.response_id;\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n const updatedResponse = {\n ...questionMeta,\n ...prevResponses[questionId],\n [key]: mediaState,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: updatedResponse,\n isNewAttempt: false,\n question,\n });\n\n return {\n ...prevResponses,\n [questionId]: updatedResponse,\n };\n });\n } else if (onMediaStateChange) {\n onMediaStateChange(question, mediaType, mediaState);\n }\n },\n [onMediaStateChange, onResponseChange, questions],\n );\n\n const handleMarkForReview = useCallback(\n (questionId: string, markedForReview: boolean) => {\n setResponses(prevResponses => {\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n return {\n ...prevResponses,\n [questionId]: {\n ...questionMeta,\n ...prevResponses[questionId],\n markedForReview,\n },\n };\n });\n },\n [questions],\n );\n\n const handleBlockerClose = useCallback(() => {\n setBlocker(prevBlocker => {\n if (prevBlocker) {\n const lastUnlockedQuestionId = questions[lastUnlockedQuestionIndex]?.response_id;\n\n if (lastUnlockedQuestionId) {\n setTimeout(() => {\n scrollToQuestion(lastUnlockedQuestionId);\n }, 50);\n }\n }\n\n return undefined;\n });\n }, [lastUnlockedQuestionIndex, questions]);\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setSummaryVisible(false);\n\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n },\n [questionsScrollable, setActiveQuestionId],\n );\n\n const onCalculatorClose = useCallback(() => {\n setShowCalculator(false);\n }, []);\n\n const onCalculatorOpen = useCallback(() => {\n setShowCalculator(true);\n }, []);\n\n const handleOnGoToReview = useCallback(() => {\n setSummaryVisible(true);\n }, []);\n\n useEffect(() => {\n const activeQuestion = questions[activeQuestionIndex];\n\n if (activeQuestion && onActiveQuestionChange) {\n onActiveQuestionChange(activeQuestion);\n }\n }, [onActiveQuestionChange, questions, activeQuestionIndex]);\n\n useCreateImperativeHandle(ref, {\n behavior,\n questions,\n setResponses,\n onResponseChange,\n onBulkResponsesChange,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n useEffect(() => {\n if (onResponsesChange && responses) {\n onResponsesChange(responses);\n }\n }, [onResponsesChange, responses]);\n\n useEffect(() => {\n if (updatedResponses) {\n setResponses(updatedResponses);\n }\n }, [updatedResponses]);\n\n useLayoutEffect(() => {\n let timer: NodeJS.Timeout;\n\n if (learnosity && initialQuestionId) {\n if (getDeviceDetails().browser_name === 'Safari') {\n timer = setTimeout(() => {\n scrollToQuestion(initialQuestionId);\n }, 400);\n } else {\n scrollToQuestion(initialQuestionId);\n }\n }\n\n return () => {\n clearTimeout(timer);\n };\n }, [learnosity, initialQuestionId, topOffset]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus, is_optional } = lastUnlockedQuestion;\n\n if (userType === 'TEACHER') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (\n lastUnlockedQuestionResponse?.submittedByStudent &&\n !lastUnlockedQuestionResponse?.validatedByTeacher\n ) {\n setBlocker('exit-ticket-review-available');\n } else if (!lastUnlockedQuestionResponse?.validatedByTeacher) {\n setBlocker('exit-ticket-teacher-intervention');\n } else {\n handleBlockerClose();\n }\n } else if (is_optional) {\n if (!lastUnlockedQuestionResponse?.assignStatus) {\n setBlocker('optional-items-assignment');\n } else {\n handleBlockerClose();\n }\n } else if (!is_optional) {\n handleBlockerClose();\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n handleBlockerClose,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse,\n userType,\n ]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus } = lastUnlockedQuestion;\n\n if (userType === 'STUDENT') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (lastUnlockedQuestionResponse?.submittedByStudent) {\n onExitTicketSubmit?.();\n } else {\n onExitTicketStart?.();\n }\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse?.submittedByStudent,\n onExitTicketStart,\n onExitTicketSubmit,\n userType,\n ]);\n\n useEffect(() => {\n if (navigationMode === 'CURRENT') {\n learnosityItems.forEach(({ reference, questions: itemQuestions }) => {\n if (itemQuestions.length < 3) {\n captureMessage(`Diagnostics item has Less than 3 questions: ${reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-count-${reference}`], // Add unique fingerprint\n });\n } else if (\n itemQuestions[0]?.instructor_stimulus !== 'Try' ||\n itemQuestions[1]?.instructor_stimulus !== 'Learn' ||\n itemQuestions[2]?.instructor_stimulus !== 'Apply'\n ) {\n captureMessage(\n `Diagnostics questions sequence is incorrect expected [Try, Learn, Apply]: ${reference}`,\n {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-sequence-${reference}`], // Add unique fingerprint\n },\n );\n }\n });\n }\n }, [learnosityActivityRef, learnosityItems, navigationMode]);\n\n useEffect(() => {\n questions.forEach(question => {\n const { validation, item_reference, type, question_number, metadata } = question;\n const responseNeeded = teacherValidationEnabled ? type !== 'clozetext' : true;\n\n if (responseNeeded && validation?.valid_response) {\n const value = validation.valid_response.value ?? [];\n\n if (value?.length === 0) {\n const altResponses = validation.alt_responses ?? [];\n const hasAltResponse = altResponses.some(altResponse => altResponse.value.length > 0);\n\n if (!hasAltResponse) {\n captureMessage(`Question has no valid response: ${metadata.widget_reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': item_reference,\n 'question-number': question_number,\n 'widget-reference': metadata.widget_reference,\n },\n fingerprint: [`no-valid-response-${metadata.widget_reference}`], // Add unique fingerprint\n });\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_MISSING_VALIDATION, {\n item_reference: item_reference,\n widget_reference: metadata.widget_reference,\n question_type: type,\n question_number: question_number,\n });\n }\n }\n }\n });\n }, [learnosityActivityRef, loggerRef, questions, teacherValidationEnabled]);\n\n if (!learnosity) {\n return null;\n }\n\n return (\n <>\n {showNudgeBanner && (\n <Styled.NudgeBannerWrapper\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={1.75}\n $height={WORKSHEET_NUDGE_BANNER_HEIGHT}\n $gap={8}\n $gutter={8}\n $flexGap={8}\n $background={nudgeBannerBackgroundColor}\n $topOffset={layout.topOffset - WORKSHEET_NUDGE_BANNER_HEIGHT}\n >\n {markedAsCompleted ? (\n <Styled.NudgeBannerIcon>\n <Check2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n ) : (\n <Styled.NudgeBannerIcon>\n <Info2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n )}\n\n <Text $renderAs=\"ub3\">{nudgeBannerLabel}</Text>\n </Styled.NudgeBannerWrapper>\n )}\n\n <Styled.WorksheetContainer $background=\"WHITE\" $width={containerWidth}>\n {navigationBar === 'top' && (\n <Styled.NavigationContainer $topOffset={topOffset} $height={TOP_NAVIGATION_HEIGHT}>\n <Styled.NavigationWrapper>\n <WorksheetNavigation\n placement=\"top\"\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n behavior={behavior}\n onItemNumberClick={handleItemNumberClick}\n userType={userType}\n summaryVisible={summaryVisible}\n />\n </Styled.NavigationWrapper>\n </Styled.NavigationContainer>\n )}\n {blocker && lastUnlockedQuestion && (\n <Styled.BlockerWrapper $minHeight={minQuestionHeight} $topOffset={topOffset}>\n <FlexView $width={maxQuestionWidth} $justifyContent=\"center\" $alignItems=\"center\">\n <WorksheetBlocker\n blocker={blocker}\n lastUnlockedQuestion={lastUnlockedQuestion}\n studentName={studentName}\n onBlockerClose={handleBlockerClose}\n onOptionalItemAssignment={onOptionalItemAssignment}\n onOptionalItemSkip={onOptionalItemSkip}\n onTeacherValidation={onTeacherValidation}\n />\n </FlexView>\n </Styled.BlockerWrapper>\n )}\n {showUserPointer && (\n <UserPointer\n activeQuestionIndex={activeQuestionIndex}\n onClick={handleItemNumberClick}\n questions={questions}\n bottomOffset={actionbarHeight}\n topOffset={topOffset}\n userType={userType}\n />\n )}\n {showCalculator && (\n <Styled.DesmosCalcWrapper>\n <DesmosCalculator initialPosition={DESMOS_CALC_POSITION} onClose={onCalculatorClose} />\n </Styled.DesmosCalcWrapper>\n )}\n <Styled.ActionbarContainer\n $marginTop={userType === 'TEACHER' && summaryVisible ? '0' : actionbarHeight}\n $height={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n <QuestionTips\n width={questionsContainerWidth - 32}\n question={questions[activeQuestionIndex]}\n learnosity={learnosity}\n userType={userType}\n />\n {canShowActionBar && (\n <Styled.ActionbarWrapper\n $height={actionbarHeight}\n $width={containerStyle === 'card' ? questionsContainerWidth - 32 : '100%'}\n $isCardView={containerStyle === 'card'}\n >\n <FlexView\n $gutterX={1}\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $width={questionsContainerWidth - 32}\n >\n <WorksheetActionBar\n userType={userType}\n layout={layout}\n behavior={behavior}\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n onCalculatorOpen={onCalculatorOpen}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n appendedQuestionIds={appendedQuestionIds}\n learnosity={learnosity}\n isCanvasEnabled={isCanvasEnabled}\n canSubmitWorksheet={canSubmitWorksheet}\n isScribblingEnabled={isScribblingEnabled}\n isSummaryVisible={summaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n setSummaryVisible={setSummaryVisible}\n setBlocker={setBlocker}\n setIsScribblingEnabled={setIsScribblingEnabled}\n setActiveQuestionId={setActiveQuestionId}\n onItemNumberClick={handleItemNumberClick}\n onGoToReview={handleOnGoToReview}\n onResponseChange={onResponseChange}\n onHelp={onHelp}\n onTeacherValidation={onTeacherValidation}\n onSubmit={onSubmit}\n showCalculator={showCalculator}\n loggerRef={loggerRef}\n onSkip={onSkip}\n canToggleScribbling={canToggleScribbling}\n />\n </FlexView>\n </Styled.ActionbarWrapper>\n )}\n {!summaryVisible && questionsScrollable && userType === 'STUDENT' && (\n <Styled.StudentWorksheetSideBar>\n <Navigator />\n </Styled.StudentWorksheetSideBar>\n )}\n </Styled.ActionbarContainer>\n <Styled.QuestionsWrapper\n $actionbarHeight={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n {questionsToRender.map((question, questionIndex) => {\n const { response_id: responseId, is_optional } = question;\n const assignStatus = responses[responseId]?.assignStatus;\n\n if (behavior.teacherValidationEnabled) {\n if (assignStatus === 'skipped') return null;\n\n if (is_optional && assignStatus !== 'assigned' && userType === 'STUDENT') {\n return null;\n }\n }\n\n return (\n <WorksheetQuestion\n key={responseId}\n signedRequest={questionsSignedRequest}\n userType={userType}\n worksheetCompleted={worksheetCompleted}\n question={question}\n response={responses[responseId]}\n nextQuestionId={\n navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT'\n ? lastUnlockedQuestion?.response_id\n : questionIndex < lastUnlockedQuestionIndex\n ? questions[questionIndex + 1]?.response_id\n : undefined\n }\n maxQuestionWidth={maxQuestionWidth}\n learnosity={learnosity}\n isActive={responseId === activeQuestionId}\n isHidden={\n (!questionsScrollable && responseId !== activeQuestionId) || summaryVisible\n }\n canRender={\n activeQuestionIndex > -1 &&\n (questionIndex === activeQuestionIndex ||\n (navigationMode !== 'CURRENT' && questionIndex === activeQuestionIndex + 1))\n }\n background={background}\n appended={appendedQuestionIds.includes(responseId)}\n behavior={behavior}\n layout={layout}\n actionbarHeight={actionbarHeight}\n intersectionObserver={intersectionObserver}\n onMarkForReview={handleMarkForReview}\n onMediaStateChange={handleMediaStateChange}\n userId={userId}\n isScribblingEnabled={isScribblingEnabled}\n onPublishStrokes={onPublishStrokes}\n onReceiveStrokes={onReceiveStrokes}\n initialStrokesData={initialStrokesData}\n isCanvasEnabled={isCanvasEnabled}\n onPublishMouseMove={onPublishMouseMove}\n onSubscribeMouseMove={onSubscribeMouseMove}\n setActiveQuestionId={setActiveQuestionId}\n canResolveDoubt={canResolveDoubt}\n onResolveDoubt={onResolveDoubt}\n studentId={studentId}\n subjectiveProps={subjectiveProps}\n responses={responses}\n loggerRef={loggerRef}\n />\n );\n })}\n {summaryVisible && (\n <WorksheetSummary\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n behavior={behavior}\n minHeight={minSummaryHeight}\n summaryDescription={summaryDescription}\n summaryVisible={summaryVisible}\n />\n )}\n </Styled.QuestionsWrapper>\n {!summaryVisible && renderSideBar && (\n <WorksheetSideBar\n questionWidth={maxQuestionWidth}\n questions={questions}\n activeQuestionIndex={activeQuestionIndex}\n learnosity={learnosity}\n userType={userType}\n height={minQuestionHeight}\n actionbarHeight={actionbarHeight}\n openQuestionFeedbackModal={openQuestionFeedbackModal}\n loggerRef={loggerRef}\n />\n )}\n </Styled.WorksheetContainer>\n </>\n );\n};\n\nconst Worksheet = memo(forwardRef(WorksheetComp));\n\nexport default Worksheet;\n"],"names":["WorksheetComp","props","ref","userType","studentName","questionsSignedRequest","worksheetName","initialResponseId","initialItemIndex","learnosityActivityRef","learnosityItems","learnosityResponses","layout","background","behavior","updatedResponses","showNudgeBanner","markedAsCompleted","onResponseChange","onBulkResponsesChange","onResponsesChange","onMediaStateChange","onTeacherValidation","onOptionalItemAssignment","onOptionalItemSkip","onExitTicketStart","onExitTicketSubmit","onSubmit","learnosity","appendedQuestionIds","worksheetCompleted","userId","onPublishStrokes","onReceiveStrokes","initialStrokesData","isCanvasEnabled","onHelp","onPublishMouseMove","onSubscribeMouseMove","onActiveQuestionChange","openQuestionFeedbackModal","summaryDescription","canSubmitWorksheet","loggerRef","canResolveDoubt","onResolveDoubt","onSkip","canToggleScribbling","studentId","subjectiveProps","canShowActionBar","initialQuestion","navigationMode","teacherValidationEnabled","containerStyle","containerWidth","minQuestionHeight","minSummaryHeight","questionsScrollable","navigationBar","topOffset","renderSideBar","showUserPointer","actionbarHeight","maxQuestionWidth","questionsContainerWidth","useMemo","getWorksheetDimensions","questions","useState","getQuestionsFromItems","responses","setResponses","getInitialResponses","isScribblingEnabled","setIsScribblingEnabled","lastUnlockedQuestionIndex","getLastUnlockedQuestionIndex","questionsToRender","getRenderableQuestions","lastUnlockedQuestion","lastUnlockedQuestionResponse","nudgeBannerBackgroundColor","nudgeBannerLabel","getWorksheetNudgeBannerInfo","initialQuestionId","getInitialQuestionId","activeQuestionId","setActiveQuestionId","intersectionObserver","useGetActiveQuestionId","activeQuestionIndex","question","summaryVisible","setSummaryVisible","blocker","setBlocker","showCalculator","setShowCalculator","getTimeSpentOnQuestion","useTimeSpentOnQuestions","handleMediaStateChange","useCallback","mediaType","mediaState","key","prevResponses","questionId","questionMeta","getQuestionMetadata","updatedResponse","handleMarkForReview","markedForReview","handleBlockerClose","prevBlocker","lastUnlockedQuestionId","_a","scrollToQuestion","handleItemNumberClick","onCalculatorClose","onCalculatorOpen","handleOnGoToReview","useEffect","activeQuestion","useCreateImperativeHandle","useLayoutEffect","timer","getDeviceDetails","item_type","instructor_stimulus","is_optional","reference","itemQuestions","captureMessage","_b","_c","validation","item_reference","type","question_number","metadata","value","altResponse","EVENTS","jsxs","Fragment","Styled.NudgeBannerWrapper","WORKSHEET_NUDGE_BANNER_HEIGHT","jsx","Styled.NudgeBannerIcon","Check2Icon","Info2Icon","Text","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","Styled.BlockerWrapper","FlexView","WorksheetBlocker","UserPointer","Styled.DesmosCalcWrapper","DesmosCalculator","DESMOS_CALC_POSITION","Styled.ActionbarContainer","QuestionTips","Styled.ActionbarWrapper","WorksheetActionBar","Styled.StudentWorksheetSideBar","Navigator","Styled.QuestionsWrapper","questionIndex","responseId","assignStatus","WorksheetQuestion","WorksheetSummary","WorksheetSideBar","Worksheet","memo","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worksheet.js","sources":["../../../../src/features/worksheet/worksheet/worksheet.tsx"],"sourcesContent":["import type { TWorksheetBlocker } from './worksheet-blocker/worksheet-blocker-types';\nimport type { IWorksheetProps, IWorksheetRef, IWorksheetResponse } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport Info2Icon from '../../../assets/line-icons/icons/info2';\nimport getDeviceDetails from '../../../helpers/get-device-details';\nimport DesmosCalculator from '../../sheet-tools/desmos-calculator/desmos-calculator';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport EVENTS from '../constants/events';\nimport UserPointer from '../user-pointer-pin/user-pin';\nimport {\n DESMOS_CALC_POSITION,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from './constants';\nimport useCreateImperativeHandle from './hooks/use-create-imperative-handle';\nimport useGetActiveQuestionId from './hooks/use-get-active-question-id';\nimport useTimeSpentOnQuestions from './hooks/use-time-on-questions';\nimport QuestionTips from './question-tips';\nimport WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetBlocker from './worksheet-blocker/worksheet-blocker';\nimport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n getWorksheetNudgeBannerInfo,\n scrollToQuestion,\n} from './worksheet-helpers';\nimport WorksheetNavigation from './worksheet-navigation/worksheet-navigation';\nimport WorksheetQuestion from './worksheet-question/worksheet-question';\nimport Navigator from './worksheet-sidebar/navigator';\nimport WorksheetSideBar from './worksheet-sidebar/sidebar';\nimport * as Styled from './worksheet-styled';\nimport WorksheetSummary from './worksheet-summary/worksheet-summary';\n\n/**\n *\n * @param learnosityItems cannot not be changed between the renders\n */\nconst WorksheetComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetProps> = (props, ref) => {\n const {\n userType,\n studentName = 'Student',\n questionsSignedRequest,\n worksheetName,\n initialResponseId,\n initialItemIndex,\n learnosityActivityRef,\n learnosityItems,\n learnosityResponses,\n layout,\n background,\n behavior,\n updatedResponses,\n showNudgeBanner,\n markedAsCompleted,\n onResponseChange,\n onBulkResponsesChange,\n onResponsesChange,\n onMediaStateChange,\n onTeacherValidation,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n learnosity,\n appendedQuestionIds,\n worksheetCompleted,\n userId,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n isCanvasEnabled,\n onHelp,\n onPublishMouseMove,\n onSubscribeMouseMove,\n onActiveQuestionChange,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n loggerRef,\n canResolveDoubt,\n onResolveDoubt,\n onSkip,\n canToggleScribbling = true,\n studentId,\n subjectiveProps,\n canShowActionBar = true,\n } = props;\n const { initialQuestion, navigationMode, teacherValidationEnabled } = behavior;\n const {\n containerStyle,\n containerWidth,\n minQuestionHeight,\n minSummaryHeight,\n questionsScrollable,\n navigationBar,\n topOffset,\n renderSideBar,\n showUserPointer = true,\n } = layout;\n\n const { actionbarHeight, maxQuestionWidth, questionsContainerWidth } = useMemo(\n () => getWorksheetDimensions(learnosityItems, layout),\n [layout, learnosityItems],\n );\n\n const [questions] = useState(() =>\n getQuestionsFromItems(learnosityItems, {\n sectioned:\n teacherValidationEnabled && navigationMode !== 'ADAPTIVE' && navigationMode !== 'CURRENT',\n adaptive: navigationMode === 'ADAPTIVE',\n }),\n );\n\n const [responses, setResponses] = useState<Record<string, IWorksheetResponse>>(\n () => learnosityResponses ?? getInitialResponses(questions),\n );\n const [isScribblingEnabled, setIsScribblingEnabled] = useState(false);\n const lastUnlockedQuestionIndex = useMemo(\n () =>\n navigationMode !== 'OPEN'\n ? getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n })\n : questions.length - 1,\n [behavior, navigationMode, questions, responses, userType],\n );\n\n const questionsToRender = useMemo(\n () => getRenderableQuestions({ questions, lastUnlockedQuestionIndex, userType }),\n [questions, lastUnlockedQuestionIndex, userType],\n );\n\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\n\n const { bannerBackgroundColor: nudgeBannerBackgroundColor, label: nudgeBannerLabel } =\n getWorksheetNudgeBannerInfo(userType, Boolean(markedAsCompleted));\n\n const [initialQuestionId] = useState(() =>\n getInitialQuestionId({\n questions,\n initialQuestion,\n lastUnlockedQuestionIndex: getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n }),\n initialResponseId,\n initialItemIndex,\n }),\n );\n\n const { activeQuestionId, setActiveQuestionId, intersectionObserver } =\n useGetActiveQuestionId(initialQuestionId);\n const activeQuestionIndex = useMemo(\n () => questions.findIndex(question => question.response_id === activeQuestionId),\n [activeQuestionId, questions],\n );\n const [summaryVisible, setSummaryVisible] = useState(false);\n const [blocker, setBlocker] = useState<TWorksheetBlocker>();\n\n const [showCalculator, setShowCalculator] = useState(false);\n const getTimeSpentOnQuestion = useTimeSpentOnQuestions(behavior, responses, activeQuestionId);\n\n const handleMediaStateChange = useCallback<NonNullable<typeof onMediaStateChange>>(\n (question, mediaType, mediaState) => {\n const key = mediaType === 'SIMULATION' ? 'simState' : undefined;\n\n if (!key) return;\n\n if (onResponseChange) {\n setResponses(prevResponses => {\n const questionId = question.response_id;\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n const updatedResponse = {\n ...questionMeta,\n ...prevResponses[questionId],\n [key]: mediaState,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: updatedResponse,\n isNewAttempt: false,\n question,\n });\n\n return {\n ...prevResponses,\n [questionId]: updatedResponse,\n };\n });\n } else if (onMediaStateChange) {\n onMediaStateChange(question, mediaType, mediaState);\n }\n },\n [onMediaStateChange, onResponseChange, questions],\n );\n\n const handleMarkForReview = useCallback(\n (questionId: string, markedForReview: boolean) => {\n setResponses(prevResponses => {\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n return {\n ...prevResponses,\n [questionId]: {\n ...questionMeta,\n ...prevResponses[questionId],\n markedForReview,\n },\n };\n });\n },\n [questions],\n );\n\n const handleBlockerClose = useCallback(() => {\n setBlocker(prevBlocker => {\n if (prevBlocker) {\n const lastUnlockedQuestionId = questions[lastUnlockedQuestionIndex]?.response_id;\n\n if (lastUnlockedQuestionId) {\n setTimeout(() => {\n scrollToQuestion(lastUnlockedQuestionId);\n }, 50);\n }\n }\n\n return undefined;\n });\n }, [lastUnlockedQuestionIndex, questions]);\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setSummaryVisible(false);\n\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n },\n [questionsScrollable, setActiveQuestionId],\n );\n\n const onCalculatorClose = useCallback(() => {\n setShowCalculator(false);\n }, []);\n\n const onCalculatorOpen = useCallback(() => {\n setShowCalculator(true);\n }, []);\n\n const handleOnGoToReview = useCallback(() => {\n setSummaryVisible(true);\n }, []);\n\n useEffect(() => {\n const activeQuestion = questions[activeQuestionIndex];\n\n if (activeQuestion && onActiveQuestionChange) {\n onActiveQuestionChange(activeQuestion);\n }\n }, [onActiveQuestionChange, questions, activeQuestionIndex]);\n\n useCreateImperativeHandle(ref, {\n behavior,\n questions,\n setResponses,\n onResponseChange,\n onBulkResponsesChange,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n useEffect(() => {\n if (onResponsesChange && responses) {\n onResponsesChange(responses);\n }\n }, [onResponsesChange, responses]);\n\n useEffect(() => {\n if (updatedResponses) {\n setResponses(updatedResponses);\n }\n }, [updatedResponses]);\n\n useLayoutEffect(() => {\n let timer: NodeJS.Timeout;\n\n if (learnosity && initialQuestionId) {\n if (getDeviceDetails().browser_name === 'Safari') {\n timer = setTimeout(() => {\n scrollToQuestion(initialQuestionId);\n }, 400);\n } else {\n scrollToQuestion(initialQuestionId);\n }\n }\n\n return () => {\n clearTimeout(timer);\n };\n }, [learnosity, initialQuestionId, topOffset]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus, is_optional } = lastUnlockedQuestion;\n\n if (userType === 'TEACHER') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (\n lastUnlockedQuestionResponse?.submittedByStudent &&\n !lastUnlockedQuestionResponse?.validatedByTeacher\n ) {\n setBlocker('exit-ticket-review-available');\n } else if (!lastUnlockedQuestionResponse?.validatedByTeacher) {\n setBlocker('exit-ticket-teacher-intervention');\n } else {\n handleBlockerClose();\n }\n } else if (is_optional) {\n if (!lastUnlockedQuestionResponse?.assignStatus) {\n setBlocker('optional-items-assignment');\n } else {\n handleBlockerClose();\n }\n } else if (!is_optional) {\n handleBlockerClose();\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n handleBlockerClose,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse,\n userType,\n ]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus } = lastUnlockedQuestion;\n\n if (userType === 'STUDENT') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (lastUnlockedQuestionResponse?.submittedByStudent) {\n onExitTicketSubmit?.();\n } else {\n onExitTicketStart?.();\n }\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse?.submittedByStudent,\n onExitTicketStart,\n onExitTicketSubmit,\n userType,\n ]);\n\n useEffect(() => {\n if (navigationMode === 'CURRENT') {\n learnosityItems.forEach(({ reference, questions: itemQuestions }) => {\n if (itemQuestions.length < 3) {\n captureMessage(`Diagnostics item has Less than 3 questions: ${reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-count-${reference}`], // Add unique fingerprint\n });\n } else if (\n itemQuestions[0]?.instructor_stimulus !== 'Try' ||\n itemQuestions[1]?.instructor_stimulus !== 'Learn' ||\n itemQuestions[2]?.instructor_stimulus !== 'Apply'\n ) {\n captureMessage(\n `Diagnostics questions sequence is incorrect expected [Try, Learn, Apply]: ${reference}`,\n {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-sequence-${reference}`], // Add unique fingerprint\n },\n );\n }\n });\n }\n }, [learnosityActivityRef, learnosityItems, navigationMode]);\n\n useEffect(() => {\n questions.forEach(question => {\n const { validation, item_reference, type, question_number, metadata } = question;\n const responseNeeded = teacherValidationEnabled ? type !== 'clozetext' : true;\n\n if (responseNeeded && validation?.valid_response) {\n const value = validation.valid_response.value ?? [];\n\n if (value?.length === 0) {\n const altResponses = validation.alt_responses ?? [];\n const hasAltResponse = altResponses.some(altResponse => altResponse.value.length > 0);\n\n if (!hasAltResponse) {\n captureMessage(`Question has no valid response: ${metadata.widget_reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': item_reference,\n 'question-number': question_number,\n 'widget-reference': metadata.widget_reference,\n },\n fingerprint: [`no-valid-response-${metadata.widget_reference}`], // Add unique fingerprint\n });\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_MISSING_VALIDATION, {\n item_reference: item_reference,\n widget_reference: metadata.widget_reference,\n question_type: type,\n question_number: question_number,\n });\n }\n }\n }\n });\n }, [learnosityActivityRef, loggerRef, questions, teacherValidationEnabled]);\n\n if (!learnosity) {\n return null;\n }\n\n return (\n <>\n <Styled.LearnosityStyleOverrides />\n {showNudgeBanner && (\n <Styled.NudgeBannerWrapper\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={1.75}\n $height={WORKSHEET_NUDGE_BANNER_HEIGHT}\n $gap={8}\n $gutter={8}\n $flexGap={8}\n $background={nudgeBannerBackgroundColor}\n $topOffset={layout.topOffset - WORKSHEET_NUDGE_BANNER_HEIGHT}\n >\n {markedAsCompleted ? (\n <Styled.NudgeBannerIcon>\n <Check2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n ) : (\n <Styled.NudgeBannerIcon>\n <Info2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n )}\n\n <Text $renderAs=\"ub3\">{nudgeBannerLabel}</Text>\n </Styled.NudgeBannerWrapper>\n )}\n\n <Styled.WorksheetContainer $background=\"WHITE\" $width={containerWidth}>\n {navigationBar === 'top' && (\n <Styled.NavigationContainer $topOffset={topOffset} $height={TOP_NAVIGATION_HEIGHT}>\n <Styled.NavigationWrapper>\n <WorksheetNavigation\n placement=\"top\"\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n behavior={behavior}\n onItemNumberClick={handleItemNumberClick}\n userType={userType}\n summaryVisible={summaryVisible}\n />\n </Styled.NavigationWrapper>\n </Styled.NavigationContainer>\n )}\n {blocker && lastUnlockedQuestion && (\n <Styled.BlockerWrapper $minHeight={minQuestionHeight} $topOffset={topOffset}>\n <FlexView $width={maxQuestionWidth} $justifyContent=\"center\" $alignItems=\"center\">\n <WorksheetBlocker\n blocker={blocker}\n lastUnlockedQuestion={lastUnlockedQuestion}\n studentName={studentName}\n onBlockerClose={handleBlockerClose}\n onOptionalItemAssignment={onOptionalItemAssignment}\n onOptionalItemSkip={onOptionalItemSkip}\n onTeacherValidation={onTeacherValidation}\n />\n </FlexView>\n </Styled.BlockerWrapper>\n )}\n {showUserPointer && (\n <UserPointer\n activeQuestionIndex={activeQuestionIndex}\n onClick={handleItemNumberClick}\n questions={questions}\n bottomOffset={actionbarHeight}\n topOffset={topOffset}\n userType={userType}\n />\n )}\n {showCalculator && (\n <Styled.DesmosCalcWrapper>\n <DesmosCalculator initialPosition={DESMOS_CALC_POSITION} onClose={onCalculatorClose} />\n </Styled.DesmosCalcWrapper>\n )}\n <Styled.ActionbarContainer\n $marginTop={userType === 'TEACHER' && summaryVisible ? '0' : actionbarHeight}\n $height={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n <QuestionTips\n width={questionsContainerWidth - 32}\n question={questions[activeQuestionIndex]}\n learnosity={learnosity}\n userType={userType}\n />\n {canShowActionBar && (\n <Styled.ActionbarWrapper\n $height={actionbarHeight}\n $width={containerStyle === 'card' ? questionsContainerWidth - 32 : '100%'}\n $isCardView={containerStyle === 'card'}\n >\n <FlexView\n $gutterX={1}\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $width={questionsContainerWidth - 32}\n >\n <WorksheetActionBar\n userType={userType}\n layout={layout}\n behavior={behavior}\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n onCalculatorOpen={onCalculatorOpen}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n appendedQuestionIds={appendedQuestionIds}\n learnosity={learnosity}\n isCanvasEnabled={isCanvasEnabled}\n canSubmitWorksheet={canSubmitWorksheet}\n isScribblingEnabled={isScribblingEnabled}\n isSummaryVisible={summaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n setSummaryVisible={setSummaryVisible}\n setBlocker={setBlocker}\n setIsScribblingEnabled={setIsScribblingEnabled}\n setActiveQuestionId={setActiveQuestionId}\n onItemNumberClick={handleItemNumberClick}\n onGoToReview={handleOnGoToReview}\n onResponseChange={onResponseChange}\n onHelp={onHelp}\n onTeacherValidation={onTeacherValidation}\n onSubmit={onSubmit}\n showCalculator={showCalculator}\n loggerRef={loggerRef}\n onSkip={onSkip}\n canToggleScribbling={canToggleScribbling}\n />\n </FlexView>\n </Styled.ActionbarWrapper>\n )}\n {!summaryVisible && questionsScrollable && userType === 'STUDENT' && (\n <Styled.StudentWorksheetSideBar>\n <Navigator />\n </Styled.StudentWorksheetSideBar>\n )}\n </Styled.ActionbarContainer>\n <Styled.QuestionsWrapper\n $actionbarHeight={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n {questionsToRender.map((question, questionIndex) => {\n const { response_id: responseId, is_optional } = question;\n const assignStatus = responses[responseId]?.assignStatus;\n\n if (behavior.teacherValidationEnabled) {\n if (assignStatus === 'skipped') return null;\n\n if (is_optional && assignStatus !== 'assigned' && userType === 'STUDENT') {\n return null;\n }\n }\n\n return (\n <WorksheetQuestion\n key={responseId}\n signedRequest={questionsSignedRequest}\n userType={userType}\n worksheetCompleted={worksheetCompleted}\n question={question}\n response={responses[responseId]}\n nextQuestionId={\n navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT'\n ? lastUnlockedQuestion?.response_id\n : questionIndex < lastUnlockedQuestionIndex\n ? questions[questionIndex + 1]?.response_id\n : undefined\n }\n maxQuestionWidth={maxQuestionWidth}\n learnosity={learnosity}\n isActive={responseId === activeQuestionId}\n isHidden={\n (!questionsScrollable && responseId !== activeQuestionId) || summaryVisible\n }\n canRender={\n activeQuestionIndex > -1 &&\n (questionIndex === activeQuestionIndex ||\n (navigationMode !== 'CURRENT' && questionIndex === activeQuestionIndex + 1))\n }\n background={background}\n appended={appendedQuestionIds.includes(responseId)}\n behavior={behavior}\n layout={layout}\n actionbarHeight={actionbarHeight}\n intersectionObserver={intersectionObserver}\n onMarkForReview={handleMarkForReview}\n onMediaStateChange={handleMediaStateChange}\n userId={userId}\n isScribblingEnabled={isScribblingEnabled}\n onPublishStrokes={onPublishStrokes}\n onReceiveStrokes={onReceiveStrokes}\n initialStrokesData={initialStrokesData}\n isCanvasEnabled={isCanvasEnabled}\n onPublishMouseMove={onPublishMouseMove}\n onSubscribeMouseMove={onSubscribeMouseMove}\n setActiveQuestionId={setActiveQuestionId}\n canResolveDoubt={canResolveDoubt}\n onResolveDoubt={onResolveDoubt}\n studentId={studentId}\n subjectiveProps={subjectiveProps}\n responses={responses}\n loggerRef={loggerRef}\n />\n );\n })}\n {summaryVisible && (\n <WorksheetSummary\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n behavior={behavior}\n minHeight={minSummaryHeight}\n summaryDescription={summaryDescription}\n summaryVisible={summaryVisible}\n />\n )}\n </Styled.QuestionsWrapper>\n {!summaryVisible && renderSideBar && (\n <WorksheetSideBar\n questionWidth={maxQuestionWidth}\n questions={questions}\n activeQuestionIndex={activeQuestionIndex}\n learnosity={learnosity}\n userType={userType}\n height={minQuestionHeight}\n actionbarHeight={actionbarHeight}\n openQuestionFeedbackModal={openQuestionFeedbackModal}\n loggerRef={loggerRef}\n />\n )}\n </Styled.WorksheetContainer>\n </>\n );\n};\n\nconst Worksheet = memo(forwardRef(WorksheetComp));\n\nexport default Worksheet;\n"],"names":["WorksheetComp","props","ref","userType","studentName","questionsSignedRequest","worksheetName","initialResponseId","initialItemIndex","learnosityActivityRef","learnosityItems","learnosityResponses","layout","background","behavior","updatedResponses","showNudgeBanner","markedAsCompleted","onResponseChange","onBulkResponsesChange","onResponsesChange","onMediaStateChange","onTeacherValidation","onOptionalItemAssignment","onOptionalItemSkip","onExitTicketStart","onExitTicketSubmit","onSubmit","learnosity","appendedQuestionIds","worksheetCompleted","userId","onPublishStrokes","onReceiveStrokes","initialStrokesData","isCanvasEnabled","onHelp","onPublishMouseMove","onSubscribeMouseMove","onActiveQuestionChange","openQuestionFeedbackModal","summaryDescription","canSubmitWorksheet","loggerRef","canResolveDoubt","onResolveDoubt","onSkip","canToggleScribbling","studentId","subjectiveProps","canShowActionBar","initialQuestion","navigationMode","teacherValidationEnabled","containerStyle","containerWidth","minQuestionHeight","minSummaryHeight","questionsScrollable","navigationBar","topOffset","renderSideBar","showUserPointer","actionbarHeight","maxQuestionWidth","questionsContainerWidth","useMemo","getWorksheetDimensions","questions","useState","getQuestionsFromItems","responses","setResponses","getInitialResponses","isScribblingEnabled","setIsScribblingEnabled","lastUnlockedQuestionIndex","getLastUnlockedQuestionIndex","questionsToRender","getRenderableQuestions","lastUnlockedQuestion","lastUnlockedQuestionResponse","nudgeBannerBackgroundColor","nudgeBannerLabel","getWorksheetNudgeBannerInfo","initialQuestionId","getInitialQuestionId","activeQuestionId","setActiveQuestionId","intersectionObserver","useGetActiveQuestionId","activeQuestionIndex","question","summaryVisible","setSummaryVisible","blocker","setBlocker","showCalculator","setShowCalculator","getTimeSpentOnQuestion","useTimeSpentOnQuestions","handleMediaStateChange","useCallback","mediaType","mediaState","key","prevResponses","questionId","questionMeta","getQuestionMetadata","updatedResponse","handleMarkForReview","markedForReview","handleBlockerClose","prevBlocker","lastUnlockedQuestionId","_a","scrollToQuestion","handleItemNumberClick","onCalculatorClose","onCalculatorOpen","handleOnGoToReview","useEffect","activeQuestion","useCreateImperativeHandle","useLayoutEffect","timer","getDeviceDetails","item_type","instructor_stimulus","is_optional","reference","itemQuestions","captureMessage","_b","_c","validation","item_reference","type","question_number","metadata","value","altResponse","EVENTS","jsxs","Fragment","jsx","Styled.LearnosityStyleOverrides","Styled.NudgeBannerWrapper","WORKSHEET_NUDGE_BANNER_HEIGHT","Styled.NudgeBannerIcon","Check2Icon","Info2Icon","Text","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","Styled.BlockerWrapper","FlexView","WorksheetBlocker","UserPointer","Styled.DesmosCalcWrapper","DesmosCalculator","DESMOS_CALC_POSITION","Styled.ActionbarContainer","QuestionTips","Styled.ActionbarWrapper","WorksheetActionBar","Styled.StudentWorksheetSideBar","Navigator","Styled.QuestionsWrapper","questionIndex","responseId","assignStatus","WorksheetQuestion","WorksheetSummary","WorksheetSideBar","Worksheet","memo","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,MAAMA,KAA0E,CAACC,IAAOC,OAAQ;AACxF,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,aAAAC,KAAc;AAAA,IACd,wBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,qBAAAC,KAAsB;AAAA,IACtB,WAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC,KAAmB;AAAA,EACjB,IAAAjD,IACE,EAAE,iBAAAkD,IAAiB,gBAAAC,GAAgB,0BAAAC,EAAA,IAA6BvC,GAChE;AAAA,IACJ,gBAAAwC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC,KAAkB;AAAA,EAChB,IAAAlD,GAEE,EAAE,iBAAAmD,GAAiB,kBAAAC,GAAkB,yBAAAC,EAA4B,IAAAC;AAAA,IACrE,MAAMC,GAAuBzD,GAAiBE,CAAM;AAAA,IACpD,CAACA,GAAQF,CAAe;AAAA,EAAA,GAGpB,CAAC0D,CAAS,IAAIC;AAAA,IAAS,MAC3BC,GAAsB5D,GAAiB;AAAA,MACrC,WACE2C,KAA4BD,MAAmB,cAAcA,MAAmB;AAAA,MAClF,UAAUA,MAAmB;AAAA,IAAA,CAC9B;AAAA,EAAA,GAGG,CAACmB,GAAWC,CAAY,IAAIH;AAAA,IAChC,MAAM1D,MAAuB8D,GAAoBL,CAAS;AAAA,EAAA,GAEtD,CAACM,IAAqBC,EAAsB,IAAIN,EAAS,EAAK,GAC9DO,IAA4BV;AAAA,IAChC,MACEd,MAAmB,SACfyB,GAA6B;AAAA,MAC3B,WAAAT;AAAA,MACA,WAAAG;AAAA,MACA,UAAAzD;AAAA,MACA,UAAAX;AAAA,IAAA,CACD,IACDiE,EAAU,SAAS;AAAA,IACzB,CAACtD,GAAUsC,GAAgBgB,GAAWG,GAAWpE,CAAQ;AAAA,EAAA,GAGrD2E,KAAoBZ;AAAA,IACxB,MAAMa,GAAuB,EAAE,WAAAX,GAAW,2BAAAQ,GAA2B,UAAAzE,GAAU;AAAA,IAC/E,CAACiE,GAAWQ,GAA2BzE,CAAQ;AAAA,EAAA,GAG3C6E,IAAuBZ,EAAUQ,CAAyB,GAC1DK,IAA+BV,GAAUS,KAAA,gBAAAA,EAAsB,gBAAe,EAAE,GAEhF,EAAE,uBAAuBE,IAA4B,OAAOC,GAAA,IAChEC,GAA4BjF,GAAU,EAAQc,EAAkB,GAE5D,CAACoE,CAAiB,IAAIhB;AAAA,IAAS,MACnCiB,GAAqB;AAAA,MACnB,WAAAlB;AAAA,MACA,iBAAAjB;AAAA,MACA,2BAA2B0B,GAA6B;AAAA,QACtD,WAAAT;AAAA,QACA,WAAAG;AAAA,QACA,UAAAzD;AAAA,QACA,UAAAX;AAAA,MAAA,CACD;AAAA,MACD,mBAAAI;AAAA,MACA,kBAAAC;AAAA,IAAA,CACD;AAAA,EAAA,GAGG,EAAE,kBAAA+E,GAAkB,qBAAAC,GAAqB,sBAAAC,EAAqB,IAClEC,GAAuBL,CAAiB,GACpCM,IAAsBzB;AAAA,IAC1B,MAAME,EAAU,UAAU,CAAYwB,MAAAA,EAAS,gBAAgBL,CAAgB;AAAA,IAC/E,CAACA,GAAkBnB,CAAS;AAAA,EAAA,GAExB,CAACyB,GAAgBC,CAAiB,IAAIzB,EAAS,EAAK,GACpD,CAAC0B,IAASC,CAAU,IAAI3B,EAA4B,GAEpD,CAAC4B,IAAgBC,EAAiB,IAAI7B,EAAS,EAAK,GACpD8B,KAAyBC,GAAwBtF,GAAUyD,GAAWgB,CAAgB,GAEtFc,KAAyBC;AAAA,IAC7B,CAACV,GAAUW,GAAWC,MAAe;AAC7B,YAAAC,IAAMF,MAAc,eAAe,aAAa;AAEtD,MAAKE,MAEDvF,IACFsD,EAAa,CAAiBkC,MAAA;AAC5B,cAAMC,IAAaf,EAAS,aACtBgB,IAAeC,GAAoBzC,GAAWuC,CAAU;AAE1D,YAAA,CAACC,EAAqB,QAAAF;AAE1B,cAAMI,IAAkB;AAAA,UACtB,GAAGF;AAAA,UACH,GAAGF,EAAcC,CAAU;AAAA,UAC3B,CAACF,CAAG,GAAGD;AAAA,QAAA;AAGU,eAAAtF,KAAA,QAAAA,EAAA;AAAA,UACjB,YAAYyF;AAAA,UACZ,UAAUG;AAAA,UACV,cAAc;AAAA,UACd,UAAAlB;AAAA,QAAA,IAGK;AAAA,UACL,GAAGc;AAAA,UACH,CAACC,CAAU,GAAGG;AAAA,QAAA;AAAA,MAChB,CACD,IACQzF,KACUA,EAAAuE,GAAUW,GAAWC,CAAU;AAAA,IAEtD;AAAA,IACA,CAACnF,GAAoBH,GAAkBkD,CAAS;AAAA,EAAA,GAG5C2C,KAAsBT;AAAA,IAC1B,CAACK,GAAoBK,MAA6B;AAChD,MAAAxC,EAAa,CAAiBkC,MAAA;AACtB,cAAAE,IAAeC,GAAoBzC,GAAWuC,CAAU;AAE1D,eAACC,IAEE;AAAA,UACL,GAAGF;AAAA,UACH,CAACC,CAAU,GAAG;AAAA,YACZ,GAAGC;AAAA,YACH,GAAGF,EAAcC,CAAU;AAAA,YAC3B,iBAAAK;AAAA,UACF;AAAA,QAAA,IARwBN;AAAA,MAS1B,CACD;AAAA,IACH;AAAA,IACA,CAACtC,CAAS;AAAA,EAAA,GAGN6C,IAAqBX,EAAY,MAAM;AAC3C,IAAAN,EAAW,CAAekB,MAAA;;AACxB,UAAIA,GAAa;AACT,cAAAC,KAAyBC,IAAAhD,EAAUQ,CAAyB,MAAnC,gBAAAwC,EAAsC;AAErE,QAAID,KACF,WAAW,MAAM;AACf,UAAAE,EAAiBF,CAAsB;AAAA,WACtC,EAAE;AAAA,MAET;AAAA,IAEO,CACR;AAAA,EAAA,GACA,CAACvC,GAA2BR,CAAS,CAAC,GAEnCkD,IAAwBhB;AAAA,IAC5B,CAACK,MAAuB;AACtB,MAAAb,EAAkB,EAAK,GAEnBpC,IACoB,sBAAA,MAAM2D,EAAiBV,CAAU,CAAC,IAExDnB,EAAoBmB,CAAU;AAAA,IAElC;AAAA,IACA,CAACjD,GAAqB8B,CAAmB;AAAA,EAAA,GAGrC+B,KAAoBjB,EAAY,MAAM;AAC1C,IAAAJ,GAAkB,EAAK;AAAA,EACzB,GAAG,CAAE,CAAA,GAECsB,KAAmBlB,EAAY,MAAM;AACzC,IAAAJ,GAAkB,EAAI;AAAA,EACxB,GAAG,CAAE,CAAA,GAECuB,KAAqBnB,EAAY,MAAM;AAC3C,IAAAR,EAAkB,EAAI;AAAA,EACxB,GAAG,CAAE,CAAA;AAqLL,SAnLA4B,EAAU,MAAM;AACR,UAAAC,IAAiBvD,EAAUuB,CAAmB;AAEpD,IAAIgC,KAAkBpF,KACpBA,EAAuBoF,CAAc;AAAA,EAEtC,GAAA,CAACpF,GAAwB6B,GAAWuB,CAAmB,CAAC,GAE3DiC,GAA0B1H,IAAK;AAAA,IAC7B,UAAAY;AAAA,IACA,WAAAsD;AAAA,IACA,cAAAI;AAAA,IACA,kBAAAtD;AAAA,IACA,uBAAAC;AAAA,IACA,wBAAAgF;AAAA,EAAA,CACD,GAEDuB,EAAU,MACD,MAAM;AACX,IAAAjC,EAAqB,WAAW;AAAA,EAAA,GAEjC,CAACA,CAAoB,CAAC,GAEzBiC,EAAU,MAAM;AACd,IAAItG,KAAqBmD,KACvBnD,EAAkBmD,CAAS;AAAA,EAC7B,GACC,CAACnD,GAAmBmD,CAAS,CAAC,GAEjCmD,EAAU,MAAM;AACd,IAAI3G,KACFyD,EAAazD,CAAgB;AAAA,EAC/B,GACC,CAACA,CAAgB,CAAC,GAErB8G,GAAgB,MAAM;AAChB,QAAAC;AAEJ,WAAIlG,KAAcyD,MACZ0C,GAAA,EAAmB,iBAAiB,WACtCD,IAAQ,WAAW,MAAM;AACvB,MAAAT,EAAiBhC,CAAiB;AAAA,OACjC,GAAG,IAENgC,EAAiBhC,CAAiB,IAI/B,MAAM;AACX,mBAAayC,CAAK;AAAA,IAAA;AAAA,EAEnB,GAAA,CAAClG,GAAYyD,GAAmBzB,CAAS,CAAC,GAE7C8D,EAAU,MAAM;AACV,QAAA5G,EAAS,4BAA4BkE,GAAsB;AAC7D,YAAM,EAAE,WAAAgD,GAAW,qBAAAC,GAAqB,aAAAC,EAAA,IAAgBlD;AAExD,MAAI7E,MAAa,cACX6H,MAAc,iBAAiBC,MAAwB,gBAEvDhD,KAAA,QAAAA,EAA8B,sBAC9B,EAACA,KAAA,QAAAA,EAA8B,sBAE/Be,EAAW,8BAA8B,IAC/Bf,KAAA,QAAAA,EAA8B,qBAGrBgC,MAFnBjB,EAAW,kCAAkC,IAItCkC,IACJjD,KAAA,QAAAA,EAA8B,eAGdgC,MAFnBjB,EAAW,2BAA2B,IAI9BkC,KACSjB;IAGzB;AAAA,EAAA,GACC;AAAA,IACDnG,EAAS;AAAA,IACTmG;AAAA,IACAjC;AAAA,IACAC;AAAA,IACA9E;AAAA,EAAA,CACD,GAEDuH,EAAU,MAAM;AACV,QAAA5G,EAAS,4BAA4BkE,GAAsB;AACvD,YAAA,EAAE,WAAAgD,GAAW,qBAAAC,EAAwB,IAAAjD;AAE3C,MAAI7E,MAAa,aACX6H,MAAc,iBAAiBC,MAAwB,kBACrDhD,KAAA,QAAAA,EAA8B,qBACXvD,KAAA,QAAAA,MAEDD,KAAA,QAAAA;AAAA,IAI5B;AAAA,EAAA,GACC;AAAA,IACDX,EAAS;AAAA,IACTkE;AAAA,IACAC,KAAA,gBAAAA,EAA8B;AAAA,IAC9BxD;AAAA,IACAC;AAAA,IACAvB;AAAA,EAAA,CACD,GAEDuH,EAAU,MAAM;AACd,IAAItE,MAAmB,aACrB1C,EAAgB,QAAQ,CAAC,EAAE,WAAAyH,GAAW,WAAWC,QAAoB;;AAC/D,MAAAA,EAAc,SAAS,IACVC,EAAA,+CAA+CF,CAAS,IAAI;AAAA,QACzE,MAAM;AAAA,UACJ,gBAAgB;AAAA,UAChB,sBAAsB1H;AAAA,UACtB,kBAAkB0H;AAAA,QACpB;AAAA,QACA,aAAa,CAAC,oCAAoCA,CAAS,EAAE;AAAA;AAAA,MAAA,CAC9D,OAEDf,IAAAgB,EAAc,CAAC,MAAf,gBAAAhB,EAAkB,yBAAwB,WAC1CkB,IAAAF,EAAc,CAAC,MAAf,gBAAAE,EAAkB,yBAAwB,aAC1CC,IAAAH,EAAc,CAAC,MAAf,gBAAAG,EAAkB,yBAAwB,YAE1CF;AAAA,QACE,6EAA6EF,CAAS;AAAA,QACtF;AAAA,UACE,MAAM;AAAA,YACJ,gBAAgB;AAAA,YAChB,sBAAsB1H;AAAA,YACtB,kBAAkB0H;AAAA,UACpB;AAAA,UACA,aAAa,CAAC,uCAAuCA,CAAS,EAAE;AAAA;AAAA,QAClE;AAAA,MAAA;AAAA,IAEJ,CACD;AAAA,EAEF,GAAA,CAAC1H,GAAuBC,GAAiB0C,CAAc,CAAC,GAE3DsE,EAAU,MAAM;AACd,IAAAtD,EAAU,QAAQ,CAAYwB,MAAA;AAC5B,YAAM,EAAE,YAAA4C,GAAY,gBAAAC,GAAgB,MAAAC,GAAM,iBAAAC,GAAiB,UAAAC,EAAa,IAAAhD;AAGpE,WAFmBvC,IAA2BqF,MAAS,cAAc,QAEnDF,KAAA,QAAAA,EAAY,iBAAgB;AAChD,cAAMK,IAAQL,EAAW,eAAe,SAAS,CAAA;AAE7C,SAAAK,KAAA,gBAAAA,EAAO,YAAW,OACCL,EAAW,iBAAiB,IACb,KAAK,QAAeM,GAAY,MAAM,SAAS,CAAC,MAGnET,EAAA,mCAAmCO,EAAS,gBAAgB,IAAI;AAAA,UAC7E,MAAM;AAAA,YACJ,gBAAgB;AAAA,YAChB,sBAAsBnI;AAAA,YACtB,kBAAkBgI;AAAA,YAClB,mBAAmBE;AAAA,YACnB,oBAAoBC,EAAS;AAAA,UAC/B;AAAA,UACA,aAAa,CAAC,qBAAqBA,EAAS,gBAAgB,EAAE;AAAA;AAAA,QAAA,CAC/D,GACSjG,EAAA,QAAQoG,GAAO,0CAA0C;AAAA,UACjE,gBAAAN;AAAA,UACA,kBAAkBG,EAAS;AAAA,UAC3B,eAAeF;AAAA,UACf,iBAAAC;AAAA,QAAA,CACD;AAAA,MAGP;AAAA,IAAA,CACD;AAAA,KACA,CAAClI,GAAuBkC,GAAWyB,GAAWf,CAAwB,CAAC,GAErEzB,IAMD,gBAAAoH,EAAAC,IAAA,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,IAAA,EAAgC;AAAA,IAChCnI,MACC,gBAAAgI;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,QAAO;AAAA,QACP,UAAU;AAAA,QACV,SAASC;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,aAAanE;AAAA,QACb,YAAYtE,EAAO,YAAYyI;AAAA,QAE9B,UAAA;AAAA,UACCpI,KAAA,gBAAAiI,EAACI,IAAA,EACC,4BAACC,IAAW,EAAA,OAAO,IAAI,QAAQ,GAAI,CAAA,EAAA,CACrC,IAEC,gBAAAL,EAAAI,IAAA,EACC,UAAA,gBAAAJ,EAACM,MAAU,OAAO,IAAI,QAAQ,GAAA,CAAI,EACpC,CAAA;AAAA,UAGD,gBAAAN,EAAAO,IAAA,EAAK,WAAU,OAAO,UAAiBtE,IAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1C;AAAA,sBAGDuE,IAAA,EAA0B,aAAY,SAAQ,QAAQnG,IACpD,UAAA;AAAA,MAAAI,OAAkB,SACjB,gBAAAuF,EAACS,IAAA,EAA2B,YAAY/F,GAAW,SAASgG,IAC1D,UAAA,gBAAAV,EAACW,IAAA,EACC,UAAA,gBAAAX;AAAA,QAACY;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,WAAA1F;AAAA,UACA,WAAAG;AAAA,UACA,qBAAAoB;AAAA,UACA,2BAAAf;AAAA,UACA,UAAA9D;AAAA,UACA,mBAAmBwG;AAAA,UACnB,UAAAnH;AAAA,UACA,gBAAA0F;AAAA,QAAA;AAAA,SAEJ,EACF,CAAA;AAAA,MAEDE,MAAWf,KACV,gBAAAkE,EAACa,IAAA,EAAsB,YAAYvG,IAAmB,YAAYI,GAChE,4BAACoG,IAAS,EAAA,QAAQhG,GAAkB,iBAAgB,UAAS,aAAY,UACvE,UAAA,gBAAAkF;AAAA,QAACe;AAAA,QAAA;AAAA,UACC,SAAAlE;AAAA,UACA,sBAAAf;AAAA,UACA,aAAA5E;AAAA,UACA,gBAAgB6G;AAAA,UAChB,0BAAA1F;AAAA,UACA,oBAAAC;AAAA,UACA,qBAAAF;AAAA,QAAA;AAAA,SAEJ,EACF,CAAA;AAAA,MAEDwC,MACC,gBAAAoF;AAAA,QAACgB;AAAA,QAAA;AAAA,UACC,qBAAAvE;AAAA,UACA,SAAS2B;AAAA,UACT,WAAAlD;AAAA,UACA,cAAcL;AAAA,UACd,WAAAH;AAAA,UACA,UAAAzD;AAAA,QAAA;AAAA,MACF;AAAA,MAED8F,MACE,gBAAAiD,EAAAiB,IAAA,EACC,UAAC,gBAAAjB,EAAAkB,IAAA,EAAiB,iBAAiBC,IAAsB,SAAS9C,GAAA,CAAmB,EACvF,CAAA;AAAA,MAEF,gBAAAyB;AAAA,QAACsB;AAAAA,QAAA;AAAA,UACC,YAAYnK,MAAa,aAAa0F,IAAiB,MAAM9B;AAAA,UAC7D,SAASA;AAAA,UACT,aAAaT,MAAmB;AAAA,UAEhC,UAAA;AAAA,YAAA,gBAAA4F;AAAA,cAACqB;AAAA,cAAA;AAAA,gBACC,OAAOtG,IAA0B;AAAA,gBACjC,UAAUG,EAAUuB,CAAmB;AAAA,gBACvC,YAAA/D;AAAA,gBACA,UAAAzB;AAAA,cAAA;AAAA,YACF;AAAA,YACC+C,MACC,gBAAAgG;AAAA,cAACsB;AAAAA,cAAA;AAAA,gBACC,SAASzG;AAAA,gBACT,QAAQT,MAAmB,SAASW,IAA0B,KAAK;AAAA,gBACnE,aAAaX,MAAmB;AAAA,gBAEhC,UAAA,gBAAA4F;AAAA,kBAACc;AAAA,kBAAA;AAAA,oBACC,UAAU;AAAA,oBACV,gBAAe;AAAA,oBACf,iBAAgB;AAAA,oBAChB,aAAY;AAAA,oBACZ,QAAQ/F,IAA0B;AAAA,oBAElC,UAAA,gBAAAiF;AAAA,sBAACuB;AAAA,sBAAA;AAAA,wBACC,UAAAtK;AAAA,wBACA,QAAAS;AAAA,wBACA,UAAAE;AAAA,wBACA,eAAAR;AAAA,wBACA,WAAA8D;AAAA,wBACA,WAAAG;AAAA,wBACA,kBAAAiD;AAAA,wBACA,qBAAA7B;AAAA,wBACA,2BAAAf;AAAA,wBACA,qBAAA/C;AAAA,wBACA,YAAAD;AAAA,wBACA,iBAAAO;AAAA,wBACA,oBAAAO;AAAA,wBACA,qBAAAgC;AAAA,wBACA,kBAAkBmB;AAAA,wBAClB,cAAArB;AAAA,wBACA,wBAAA2B;AAAA,wBACA,mBAAAL;AAAA,wBACA,YAAAE;AAAA,wBACA,wBAAArB;AAAA,wBACA,qBAAAa;AAAA,wBACA,mBAAmB8B;AAAA,wBACnB,cAAcG;AAAA,wBACd,kBAAAvG;AAAA,wBACA,QAAAkB;AAAA,wBACA,qBAAAd;AAAA,wBACA,UAAAK;AAAA,wBACA,gBAAAsE;AAAA,wBACA,WAAAtD;AAAA,wBACA,QAAAG;AAAA,wBACA,qBAAAC;AAAA,sBAAA;AAAA,oBACF;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YACF;AAAA,YAED,CAAC8C,KAAkBnC,KAAuBvD,MAAa,aACrD,gBAAA+I,EAAAwB,IAAA,EACC,UAAC,gBAAAxB,EAAAyB,IAAA,CAAA,CAAU,EACb,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,gBAAA3B;AAAA,QAAC4B;AAAAA,QAAA;AAAA,UACC,kBAAkB7G;AAAA,UAClB,aAAaT,MAAmB;AAAA,UAE/B,UAAA;AAAA,YAAkBwB,GAAA,IAAI,CAACc,GAAUiF,MAAkB;;AAClD,oBAAM,EAAE,aAAaC,GAAY,aAAA5C,EAAA,IAAgBtC,GAC3CmF,KAAe3D,IAAA7C,EAAUuG,CAAU,MAApB,gBAAA1D,EAAuB;AAE5C,qBAAItG,EAAS,6BACPiK,MAAiB,aAEjB7C,KAAe6C,MAAiB,cAAc5K,MAAa,aACtD,OAKT,gBAAA+I;AAAA,gBAAC8B;AAAA,gBAAA;AAAA,kBAEC,eAAe3K;AAAA,kBACf,UAAAF;AAAA,kBACA,oBAAA2B;AAAA,kBACA,UAAA8D;AAAA,kBACA,UAAUrB,EAAUuG,CAAU;AAAA,kBAC9B,gBACE1H,MAAmB,cAAcA,MAAmB,YAChD4B,KAAA,gBAAAA,EAAsB,cACtB6F,IAAgBjG,KACd0D,IAAAlE,EAAUyG,IAAgB,CAAC,MAA3B,gBAAAvC,EAA8B,cAC9B;AAAA,kBAER,kBAAAtE;AAAA,kBACA,YAAApC;AAAA,kBACA,UAAUkJ,MAAevF;AAAA,kBACzB,UACG,CAAC7B,KAAuBoH,MAAevF,KAAqBM;AAAA,kBAE/D,WACEF,IAAsB,OACrBkF,MAAkBlF,KAChBvC,MAAmB,aAAayH,MAAkBlF,IAAsB;AAAA,kBAE7E,YAAA9E;AAAA,kBACA,UAAUgB,GAAoB,SAASiJ,CAAU;AAAA,kBACjD,UAAAhK;AAAA,kBACA,QAAAF;AAAA,kBACA,iBAAAmD;AAAA,kBACA,sBAAA0B;AAAA,kBACA,iBAAiBsB;AAAA,kBACjB,oBAAoBV;AAAA,kBACpB,QAAAtE;AAAA,kBACA,qBAAA2C;AAAA,kBACA,kBAAA1C;AAAA,kBACA,kBAAAC;AAAA,kBACA,oBAAAC;AAAA,kBACA,iBAAAC;AAAA,kBACA,oBAAAE;AAAA,kBACA,sBAAAC;AAAA,kBACA,qBAAAkD;AAAA,kBACA,iBAAA5C;AAAA,kBACA,gBAAAC;AAAA,kBACA,WAAAG;AAAA,kBACA,iBAAAC;AAAA,kBACA,WAAAsB;AAAA,kBACA,WAAA5B;AAAA,gBAAA;AAAA,gBA9CKmI;AAAA,cAAA;AAAA,YA+CP,CAEH;AAAA,YACAjF,KACC,gBAAAqD;AAAA,cAAC+B;AAAA,cAAA;AAAA,gBACC,eAAA3K;AAAA,gBACA,WAAA8D;AAAA,gBACA,WAAAG;AAAA,gBACA,qBAAAoB;AAAA,gBACA,2BAAAf;AAAA,gBACA,mBAAmB0C;AAAA,gBACnB,UAAAxG;AAAA,gBACA,WAAW2C;AAAA,gBACX,oBAAAhB;AAAA,gBACA,gBAAAoD;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QAAA;AAAA,MAEJ;AAAA,MACC,CAACA,KAAkBhC,MAClB,gBAAAqF;AAAA,QAACgC;AAAA,QAAA;AAAA,UACC,eAAelH;AAAA,UACf,WAAAI;AAAA,UACA,qBAAAuB;AAAA,UACA,YAAA/D;AAAA,UACA,UAAAzB;AAAA,UACA,QAAQqD;AAAA,UACR,iBAAAO;AAAA,UACA,2BAAAvB;AAAA,UACA,WAAAG;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,GAEJ;AAAA,EACF,EAAA,CAAA,IArPO;AAuPX,GAEMwI,KAAYC,GAAKC,GAAWrL,EAAa,CAAC;"}
|
package/package.json
CHANGED
package/dist/style.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
div[role=dialog][aria-label="Math Response Modal"]{width:405px!important}button.lds-flexible-container__trigger--resize{visibility:hidden!important}
|