@cuemath/leap 4.0.0 → 4.0.1

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.
@@ -1,37 +1,41 @@
1
1
  import { useState as y, useEffect as B } from "react";
2
+ import { addBreadcrumb as R } from "@sentry/browser";
2
3
  import { LEARNOSITY_KEYBOARD_HEIGHT as p } from "../../constants.js";
3
- import { isConceptIntroWidget as H } from "../../worksheet-helpers.js";
4
- const K = ({
4
+ import { isConceptIntroWidget as _ } from "../../worksheet-helpers.js";
5
+ const F = ({
5
6
  appended: d,
6
- questionRef: m,
7
- question: f,
7
+ questionRef: f,
8
+ question: n,
8
9
  teacherValidationEnabled: g
9
10
  }) => {
10
11
  const [l, h] = y();
11
12
  return B(() => {
12
- const o = m.current, { instructor_stimulus: i, ui_style: r, type: b } = f, a = (t) => {
13
- const s = t.querySelector(".lrn_response_wrapper");
14
- if (H(i) || i === "SystemIntro" || !s)
13
+ const o = f.current, { instructor_stimulus: c, ui_style: s, type: b } = n, u = (e) => {
14
+ const i = e.querySelector(".lrn_response_wrapper");
15
+ if (_(c) || c === "SystemIntro" || !i)
15
16
  return 0;
16
- const c = t.getBoundingClientRect().bottom, n = s.getBoundingClientRect().bottom, e = Math.abs(c - n);
17
- return e < p ? p - e : 0;
17
+ const m = e.getBoundingClientRect().bottom, r = i.getBoundingClientRect().bottom, t = Math.abs(m - r);
18
+ return t < p ? p - t : 0;
18
19
  };
19
- d && o && h((t) => {
20
- const n = (r == null ? void 0 : r.type) === "floating-keyboard" && !(g && b === "clozetext"), e = o.clientHeight;
21
- if (e === 0)
22
- return t;
23
- if (!t)
20
+ d && o && h((e) => {
21
+ const r = (s == null ? void 0 : s.type) === "floating-keyboard" && !(g && b === "clozetext"), t = o.clientHeight;
22
+ if (t === 0)
23
+ return e;
24
+ if (!e)
24
25
  return Math.ceil(
25
- e + (n ? a(o) : 0)
26
+ t + (r ? u(o) : 0)
26
27
  );
27
- const u = Math.ceil(
28
- e + (n ? a(o) : 0)
28
+ const a = Math.ceil(
29
+ t + (r ? u(o) : 0)
29
30
  );
30
- return Math.abs(u - t) > 4 ? u : t;
31
+ return Math.abs(a - e) > 4 ? (R({
32
+ message: `Question height changed from ${e}px to ${a}px for Item Reference: ${n.item_reference}, ${n.question_number}`,
33
+ level: "info"
34
+ }), a) : e;
31
35
  });
32
36
  }), l;
33
37
  };
34
38
  export {
35
- K as default
39
+ F as default
36
40
  };
37
41
  //# sourceMappingURL=use-question-height.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-question-height.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/hooks/use-question-height.ts"],"sourcesContent":["import { useEffect, useState, type RefObject } from 'react';\n\nimport { LEARNOSITY_KEYBOARD_HEIGHT } from '../../constants';\nimport type { IWorksheetQuestion } from '../../worksheet-types';\nimport { isConceptIntroWidget } from '../../worksheet-helpers';\n\ninterface IUseQuestionHeightParams {\n appended: boolean;\n questionRef: RefObject<HTMLDivElement | null>;\n question: IWorksheetQuestion;\n teacherValidationEnabled: boolean;\n}\n\ninterface IUseQuestionHeight {\n (params: IUseQuestionHeightParams): number | undefined;\n}\n\n/**\n * Custom hook to calculate and manage the height of a question element.\n * Accounts for floating keyboards and dynamic content changes.\n *\n * @param params - Configuration object containing question refs and properties\n * @returns The calculated question height in pixels, or undefined if not yet calculated\n */\nconst useQuestionHeight: IUseQuestionHeight = ({\n appended,\n questionRef,\n question,\n teacherValidationEnabled,\n}) => {\n const [questionHeight, setQuestionHeight] = useState<number | undefined>();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n const $questionEl = questionRef.current;\n const { instructor_stimulus, ui_style, type } = question;\n\n const getExtraSpaceNeedForFloatingKeyboard = (questionEl: HTMLDivElement) => {\n const $responseWrapper = questionEl.querySelector('.lrn_response_wrapper');\n\n if (\n isConceptIntroWidget(instructor_stimulus) ||\n instructor_stimulus === 'SystemIntro' ||\n !$responseWrapper\n ) {\n return 0;\n }\n\n const questionBottom = questionEl.getBoundingClientRect().bottom;\n const responseWrapperBottom = $responseWrapper.getBoundingClientRect().bottom;\n const spaceFromResponseToBottom = Math.abs(questionBottom - responseWrapperBottom);\n\n if (spaceFromResponseToBottom < LEARNOSITY_KEYBOARD_HEIGHT) {\n return LEARNOSITY_KEYBOARD_HEIGHT - spaceFromResponseToBottom;\n }\n\n return 0;\n };\n\n if (appended && $questionEl) {\n setQuestionHeight(qHeight => {\n const hasFloatingKeyboard = ui_style?.type === 'floating-keyboard';\n const v3CodeHidden = teacherValidationEnabled && type === 'clozetext';\n const hasKeyboard = hasFloatingKeyboard && !v3CodeHidden;\n const height = $questionEl.clientHeight;\n\n if (height === 0) {\n return qHeight;\n }\n\n // If the question has a floating keyboard, we need to add the height of the keyboard to the question height\n if (!qHeight) {\n return Math.ceil(\n height + (hasKeyboard ? getExtraSpaceNeedForFloatingKeyboard($questionEl) : 0),\n );\n }\n\n const newQuestionHeight = Math.ceil(\n height + (hasKeyboard ? getExtraSpaceNeedForFloatingKeyboard($questionEl) : 0),\n );\n\n if (Math.abs(newQuestionHeight - qHeight) > 4) {\n return newQuestionHeight;\n }\n\n return qHeight;\n });\n }\n });\n\n return questionHeight;\n};\n\nexport default useQuestionHeight;\n"],"names":["useQuestionHeight","appended","questionRef","question","teacherValidationEnabled","questionHeight","setQuestionHeight","useState","useEffect","$questionEl","instructor_stimulus","ui_style","type","getExtraSpaceNeedForFloatingKeyboard","questionEl","$responseWrapper","isConceptIntroWidget","questionBottom","responseWrapperBottom","spaceFromResponseToBottom","LEARNOSITY_KEYBOARD_HEIGHT","qHeight","hasKeyboard","height","newQuestionHeight"],"mappings":";;;AAwBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,0BAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAA6B;AAGzE,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAcP,EAAY,SAC1B,EAAE,qBAAAQ,GAAqB,UAAAC,GAAU,MAAAC,EAAA,IAAST,GAE1CU,IAAuC,CAACC,MAA+B;AACrE,YAAAC,IAAmBD,EAAW,cAAc,uBAAuB;AAEzE,UACEE,EAAqBN,CAAmB,KACxCA,MAAwB,iBACxB,CAACK;AAEM,eAAA;AAGH,YAAAE,IAAiBH,EAAW,sBAAA,EAAwB,QACpDI,IAAwBH,EAAiB,sBAAA,EAAwB,QACjEI,IAA4B,KAAK,IAAIF,IAAiBC,CAAqB;AAEjF,aAAIC,IAA4BC,IACvBA,IAA6BD,IAG/B;AAAA,IAAA;AAGT,IAAIlB,KAAYQ,KACdH,EAAkB,CAAWe,MAAA;AAGrB,YAAAC,KAFsBX,KAAA,gBAAAA,EAAU,UAAS,uBAEJ,EADtBP,KAA4BQ,MAAS,cAEpDW,IAASd,EAAY;AAE3B,UAAIc,MAAW;AACN,eAAAF;AAIT,UAAI,CAACA;AACH,eAAO,KAAK;AAAA,UACVE,KAAUD,IAAcT,EAAqCJ,CAAW,IAAI;AAAA,QAAA;AAIhF,YAAMe,IAAoB,KAAK;AAAA,QAC7BD,KAAUD,IAAcT,EAAqCJ,CAAW,IAAI;AAAA,MAAA;AAG9E,aAAI,KAAK,IAAIe,IAAoBH,CAAO,IAAI,IACnCG,IAGFH;AAAA,IAAA,CACR;AAAA,EACH,CACD,GAEMhB;AACT;"}
1
+ {"version":3,"file":"use-question-height.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/hooks/use-question-height.ts"],"sourcesContent":["import { useEffect, useState, type RefObject } from 'react';\nimport { addBreadcrumb } from '@sentry/browser';\n\nimport { LEARNOSITY_KEYBOARD_HEIGHT } from '../../constants';\nimport type { IWorksheetQuestion } from '../../worksheet-types';\nimport { isConceptIntroWidget } from '../../worksheet-helpers';\n\ninterface IUseQuestionHeightParams {\n appended: boolean;\n questionRef: RefObject<HTMLDivElement | null>;\n question: IWorksheetQuestion;\n teacherValidationEnabled: boolean;\n}\n\ninterface IUseQuestionHeight {\n (params: IUseQuestionHeightParams): number | undefined;\n}\n\n/**\n * Custom hook to calculate and manage the height of a question element.\n * Accounts for floating keyboards and dynamic content changes.\n *\n * @param params - Configuration object containing question refs and properties\n * @returns The calculated question height in pixels, or undefined if not yet calculated\n */\nconst useQuestionHeight: IUseQuestionHeight = ({\n appended,\n questionRef,\n question,\n teacherValidationEnabled,\n}) => {\n const [questionHeight, setQuestionHeight] = useState<number | undefined>();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n const $questionEl = questionRef.current;\n const { instructor_stimulus, ui_style, type } = question;\n\n const getExtraSpaceNeedForFloatingKeyboard = (questionEl: HTMLDivElement) => {\n const $responseWrapper = questionEl.querySelector('.lrn_response_wrapper');\n\n if (\n isConceptIntroWidget(instructor_stimulus) ||\n instructor_stimulus === 'SystemIntro' ||\n !$responseWrapper\n ) {\n return 0;\n }\n\n const questionBottom = questionEl.getBoundingClientRect().bottom;\n const responseWrapperBottom = $responseWrapper.getBoundingClientRect().bottom;\n const spaceFromResponseToBottom = Math.abs(questionBottom - responseWrapperBottom);\n\n if (spaceFromResponseToBottom < LEARNOSITY_KEYBOARD_HEIGHT) {\n return LEARNOSITY_KEYBOARD_HEIGHT - spaceFromResponseToBottom;\n }\n\n return 0;\n };\n\n if (appended && $questionEl) {\n setQuestionHeight(qHeight => {\n const hasFloatingKeyboard = ui_style?.type === 'floating-keyboard';\n const v3CodeHidden = teacherValidationEnabled && type === 'clozetext';\n const hasKeyboard = hasFloatingKeyboard && !v3CodeHidden;\n const height = $questionEl.clientHeight;\n\n if (height === 0) {\n return qHeight;\n }\n\n // If the question has a floating keyboard, we need to add the height of the keyboard to the question height\n if (!qHeight) {\n return Math.ceil(\n height + (hasKeyboard ? getExtraSpaceNeedForFloatingKeyboard($questionEl) : 0),\n );\n }\n\n const newQuestionHeight = Math.ceil(\n height + (hasKeyboard ? getExtraSpaceNeedForFloatingKeyboard($questionEl) : 0),\n );\n\n if (Math.abs(newQuestionHeight - qHeight) > 4) {\n addBreadcrumb({\n message: `Question height changed from ${qHeight}px to ${newQuestionHeight}px for Item Reference: ${question.item_reference}, ${question.question_number}`,\n level: 'info',\n });\n\n return newQuestionHeight;\n }\n\n return qHeight;\n });\n }\n });\n\n return questionHeight;\n};\n\nexport default useQuestionHeight;\n"],"names":["useQuestionHeight","appended","questionRef","question","teacherValidationEnabled","questionHeight","setQuestionHeight","useState","useEffect","$questionEl","instructor_stimulus","ui_style","type","getExtraSpaceNeedForFloatingKeyboard","questionEl","$responseWrapper","isConceptIntroWidget","questionBottom","responseWrapperBottom","spaceFromResponseToBottom","LEARNOSITY_KEYBOARD_HEIGHT","qHeight","hasKeyboard","height","newQuestionHeight","addBreadcrumb"],"mappings":";;;;AAyBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,0BAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAA6B;AAGzE,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAcP,EAAY,SAC1B,EAAE,qBAAAQ,GAAqB,UAAAC,GAAU,MAAAC,EAAA,IAAST,GAE1CU,IAAuC,CAACC,MAA+B;AACrE,YAAAC,IAAmBD,EAAW,cAAc,uBAAuB;AAEzE,UACEE,EAAqBN,CAAmB,KACxCA,MAAwB,iBACxB,CAACK;AAEM,eAAA;AAGH,YAAAE,IAAiBH,EAAW,sBAAA,EAAwB,QACpDI,IAAwBH,EAAiB,sBAAA,EAAwB,QACjEI,IAA4B,KAAK,IAAIF,IAAiBC,CAAqB;AAEjF,aAAIC,IAA4BC,IACvBA,IAA6BD,IAG/B;AAAA,IAAA;AAGT,IAAIlB,KAAYQ,KACdH,EAAkB,CAAWe,MAAA;AAGrB,YAAAC,KAFsBX,KAAA,gBAAAA,EAAU,UAAS,uBAEJ,EADtBP,KAA4BQ,MAAS,cAEpDW,IAASd,EAAY;AAE3B,UAAIc,MAAW;AACN,eAAAF;AAIT,UAAI,CAACA;AACH,eAAO,KAAK;AAAA,UACVE,KAAUD,IAAcT,EAAqCJ,CAAW,IAAI;AAAA,QAAA;AAIhF,YAAMe,IAAoB,KAAK;AAAA,QAC7BD,KAAUD,IAAcT,EAAqCJ,CAAW,IAAI;AAAA,MAAA;AAG9E,aAAI,KAAK,IAAIe,IAAoBH,CAAO,IAAI,KAC5BI,EAAA;AAAA,QACZ,SAAS,gCAAgCJ,CAAO,SAASG,CAAiB,0BAA0BrB,EAAS,cAAc,KAAKA,EAAS,eAAe;AAAA,QACxJ,OAAO;AAAA,MAAA,CACR,GAEMqB,KAGFH;AAAA,IAAA,CACR;AAAA,EACH,CACD,GAEMhB;AACT;"}
@@ -1,6 +1,6 @@
1
- import { jsxs as h, Fragment as W, jsx as t } from "react/jsx-runtime";
2
- import { memo as V, forwardRef as w, useEffect as u } from "react";
3
- import S from "../../ui/layout/flex-view.js";
1
+ import { jsxs as u, Fragment as W, jsx as t } from "react/jsx-runtime";
2
+ import { memo as S, forwardRef as V, useEffect as h } from "react";
3
+ import w from "../../ui/layout/flex-view.js";
4
4
  import H from "../user-pointer-pin/user-pin.js";
5
5
  import { TOP_NAVIGATION_HEIGHT as _ } from "./constants.js";
6
6
  import N from "./hooks/use-create-imperative-handle.js";
@@ -10,24 +10,24 @@ import O from "./worksheet-action-bar/worksheet-action-bar.js";
10
10
  import A from "./worksheet-blocker/worksheet-blocker.js";
11
11
  import j from "./worksheet-calculator/worksheet-calculator.js";
12
12
  import P from "./worksheet-navigation/worksheet-navigation.js";
13
- import R from "./worksheet-nudge-banner/worksheet-nudge-banner.js";
14
- import D from "./worksheet-questions-controller/worksheet-questions-controller.js";
15
- import F from "./worksheet-questions-tools/worksheet-questions-tools.js";
16
- import G from "./worksheet-questions/worksheet-questions.js";
13
+ import D from "./worksheet-nudge-banner/worksheet-nudge-banner.js";
14
+ import F from "./worksheet-questions-controller/worksheet-questions-controller.js";
15
+ import G from "./worksheet-questions-tools/worksheet-questions-tools.js";
16
+ import R from "./worksheet-questions/worksheet-questions.js";
17
17
  import { WorksheetContainer as U, NavigationContainer as X, NavigationWrapper as z, ActionbarContainer as J } from "./worksheet-styled.js";
18
18
  import K from "./worksheet-summary-controller/worksheet-summary-controller.js";
19
19
  import L from "./worksheet-teaching-tools/worksheet-teaching-tools.js";
20
- const Te = V(
21
- w((M, k) => {
20
+ const Te = S(
21
+ V((M, k) => {
22
22
  const {
23
23
  behavior: r,
24
- layout: C,
25
- actionbarHeight: l,
26
- questionsContainerWidth: y,
24
+ layout: y,
25
+ actionbarHeight: c,
26
+ questionsContainerWidth: C,
27
27
  questions: I,
28
28
  responses: n,
29
29
  initialQuestionId: f,
30
- userType: c,
30
+ userType: l,
31
31
  summaryVisible: p,
32
32
  changeQuestion: s,
33
33
  onResponsesChange: d,
@@ -51,60 +51,60 @@ const Te = V(
51
51
  onExitTicketSubmit: e.onExitTicketSubmit,
52
52
  lastUnlockedQuestionIndex: e.lastUnlockedQuestionIndex,
53
53
  activeQuestionTool: e.activeQuestionTool
54
- })), { containerWidth: v, navigationBar: T, topOffset: E, showUserPointer: $ = !0 } = C, o = I[Q], i = n[(o == null ? void 0 : o.response_id) ?? ""], b = q();
54
+ })), { containerWidth: v, navigationBar: T, topOffset: E, showUserPointer: $ = !0 } = y, i = I[Q], o = n[(i == null ? void 0 : i.response_id) ?? ""], b = q();
55
55
  return N(k, {
56
56
  getTimeSpentOnQuestion: b
57
- }), u(() => {
58
- d && n && (console.log("WorksheetView - onResponsesChange - responses", n), d(n));
59
- }, [d, n]), u(() => {
57
+ }), h(() => {
58
+ d && n && d(n);
59
+ }, [d, n]), h(() => {
60
60
  s(f);
61
- }, [f, s]), u(() => {
62
- if (o && r.teacherValidationEnabled) {
61
+ }, [f, s]), h(() => {
62
+ if (i && r.teacherValidationEnabled) {
63
63
  const e = setTimeout(() => {
64
- s(o.response_id);
64
+ s(i.response_id);
65
65
  }, 1e3);
66
66
  return () => {
67
67
  clearTimeout(e);
68
68
  };
69
69
  }
70
- }, [o, r.teacherValidationEnabled, s]), u(() => {
71
- if (r.teacherValidationEnabled && o) {
72
- const { item_type: e, instructor_stimulus: x } = o;
73
- c === "STUDENT" && e === "exit-ticket" && x !== "SystemIntro" && (i != null && i.submittedByStudent ? m == null || m() : a == null || a());
70
+ }, [i, r.teacherValidationEnabled, s]), h(() => {
71
+ if (r.teacherValidationEnabled && i) {
72
+ const { item_type: e, instructor_stimulus: x } = i;
73
+ l === "STUDENT" && e === "exit-ticket" && x !== "SystemIntro" && (o != null && o.submittedByStudent ? m == null || m() : a == null || a());
74
74
  }
75
75
  }, [
76
76
  r.teacherValidationEnabled,
77
- o,
78
- i == null ? void 0 : i.submittedByStudent,
77
+ i,
78
+ o == null ? void 0 : o.submittedByStudent,
79
79
  a,
80
80
  m,
81
- c
82
- ]), /* @__PURE__ */ h(W, { children: [
83
- /* @__PURE__ */ t(R, {}),
84
- /* @__PURE__ */ h(U, { $background: "WHITE_1", $width: v, children: [
81
+ l
82
+ ]), /* @__PURE__ */ u(W, { children: [
83
+ /* @__PURE__ */ t(D, {}),
84
+ /* @__PURE__ */ u(U, { $background: "WHITE_1", $width: v, children: [
85
85
  T === "top" && /* @__PURE__ */ t(X, { $topOffset: E, $height: _, children: /* @__PURE__ */ t(z, { children: /* @__PURE__ */ t(P, { placement: "top" }) }) }),
86
86
  /* @__PURE__ */ t(A, {}),
87
87
  $ && /* @__PURE__ */ t(H, {}),
88
88
  /* @__PURE__ */ t(j, {}),
89
- /* @__PURE__ */ h(
89
+ /* @__PURE__ */ u(
90
90
  J,
91
91
  {
92
- $marginTop: c === "TEACHER" && p ? "0" : l,
93
- $height: l,
92
+ $marginTop: l === "TEACHER" && p ? "0" : c,
93
+ $height: c,
94
94
  children: [
95
95
  /* @__PURE__ */ t(
96
- S,
96
+ w,
97
97
  {
98
98
  $gutterX: 0.5,
99
99
  $flexDirection: p ? "row-reverse" : "row",
100
100
  $justifyContent: "space-between",
101
101
  $alignItems: "center",
102
- $width: y,
103
- $height: l,
104
- children: p ? /* @__PURE__ */ t(K, {}) : /* @__PURE__ */ h(W, { children: [
105
- /* @__PURE__ */ t(F, {}),
102
+ $width: C,
103
+ $height: c,
104
+ children: p ? /* @__PURE__ */ t(K, {}) : /* @__PURE__ */ u(W, { children: [
105
+ /* @__PURE__ */ t(G, {}),
106
106
  T === "bottom" && /* @__PURE__ */ t(O, {}),
107
- /* @__PURE__ */ t(D, { getTimeSpentOnQuestion: b })
107
+ /* @__PURE__ */ t(F, { getTimeSpentOnQuestion: b })
108
108
  ] })
109
109
  }
110
110
  ),
@@ -112,7 +112,7 @@ const Te = V(
112
112
  ]
113
113
  }
114
114
  ),
115
- /* @__PURE__ */ t(G, {})
115
+ /* @__PURE__ */ t(R, {})
116
116
  ] })
117
117
  ] });
118
118
  })
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-view.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-view.tsx"],"sourcesContent":["import { forwardRef, memo, useEffect } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport UserPointer from '../user-pointer-pin/user-pin';\nimport { TOP_NAVIGATION_HEIGHT } from './constants';\nimport useCreateImperativeHandle from './hooks/use-create-imperative-handle';\nimport useTimeSpentOnQuestions from './hooks/use-time-on-questions';\nimport { useWorksheetStore } from './hooks/use-worksheet-store';\n// import WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetBlocker from './worksheet-blocker/worksheet-blocker';\nimport WorksheetCalculator from './worksheet-calculator/worksheet-calculator';\nimport WorksheetNavigation from './worksheet-navigation/worksheet-navigation';\nimport WorksheetNudgeBanner from './worksheet-nudge-banner/worksheet-nudge-banner';\nimport WorksheetQuestionsController from './worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsTools from './worksheet-questions-tools/worksheet-questions-tools';\nimport WorksheetQuestions from './worksheet-questions/worksheet-questions';\nimport * as Styled from './worksheet-styled';\nimport WorksheetSummaryController from './worksheet-summary-controller/worksheet-summary-controller';\nimport WorksheetTeachingTools from './worksheet-teaching-tools/worksheet-teaching-tools';\nimport { type IWorksheetRef } from './worksheet-types';\n\nconst WorksheetView = memo(\n forwardRef<IWorksheetRef>((_, ref) => {\n const {\n behavior,\n layout,\n actionbarHeight,\n questionsContainerWidth,\n questions,\n responses,\n initialQuestionId,\n userType,\n summaryVisible,\n changeQuestion,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n lastUnlockedQuestionIndex,\n activeQuestionTool,\n } = useWorksheetStore(store => ({\n behavior: store.behavior,\n layout: store.layout,\n actionbarHeight: store.actionbarHeight,\n questionsContainerWidth: store.questionsContainerWidth,\n questions: store.questions,\n responses: store.responses,\n initialQuestionId: store.initialQuestionId,\n userType: store.userType,\n summaryVisible: store.summaryVisible,\n changeQuestion: store.changeQuestion,\n onResponsesChange: store.onResponsesChange,\n onExitTicketStart: store.onExitTicketStart,\n onExitTicketSubmit: store.onExitTicketSubmit,\n lastUnlockedQuestionIndex: store.lastUnlockedQuestionIndex,\n activeQuestionTool: store.activeQuestionTool,\n }));\n const { containerWidth, navigationBar, topOffset, showUserPointer = true } = layout;\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\n // TODO: This can be moved to worksheet-store and optimized to avoid re-renders\n const getTimeSpentOnQuestion = useTimeSpentOnQuestions();\n\n useCreateImperativeHandle(ref, {\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n if (onResponsesChange && responses) {\n // eslint-disable-next-line no-console\n console.log('WorksheetView - onResponsesChange - responses', responses);\n onResponsesChange(responses);\n }\n }, [onResponsesChange, responses]);\n\n useEffect(() => {\n changeQuestion(initialQuestionId);\n }, [initialQuestionId, changeQuestion]);\n\n useEffect(() => {\n if (lastUnlockedQuestion && behavior.teacherValidationEnabled) {\n const timer = setTimeout(() => {\n changeQuestion(lastUnlockedQuestion.response_id);\n }, 1000);\n\n return () => {\n clearTimeout(timer);\n };\n }\n }, [lastUnlockedQuestion, behavior.teacherValidationEnabled, changeQuestion]);\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 return (\n <>\n <WorksheetNudgeBanner />\n <Styled.WorksheetContainer $background=\"WHITE_1\" $width={containerWidth}>\n {navigationBar === 'top' && (\n <Styled.NavigationContainer $topOffset={topOffset} $height={TOP_NAVIGATION_HEIGHT}>\n <Styled.NavigationWrapper>\n <WorksheetNavigation placement=\"top\" />\n </Styled.NavigationWrapper>\n </Styled.NavigationContainer>\n )}\n <WorksheetBlocker />\n {showUserPointer && <UserPointer />}\n <WorksheetCalculator />\n <Styled.ActionbarContainer\n $marginTop={userType === 'TEACHER' && summaryVisible ? '0' : actionbarHeight}\n $height={actionbarHeight}\n >\n <FlexView\n $gutterX={0.5}\n $flexDirection={summaryVisible ? 'row-reverse' : 'row'}\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $width={questionsContainerWidth}\n $height={actionbarHeight}\n >\n {summaryVisible ? (\n <WorksheetSummaryController />\n ) : (\n <>\n <WorksheetQuestionsTools />\n {navigationBar === 'bottom' && <WorksheetActionBar />}\n <WorksheetQuestionsController getTimeSpentOnQuestion={getTimeSpentOnQuestion} />\n </>\n )}\n </FlexView>\n {activeQuestionTool && <WorksheetTeachingTools tool={activeQuestionTool} />}\n </Styled.ActionbarContainer>\n <WorksheetQuestions />\n </Styled.WorksheetContainer>\n </>\n );\n }),\n);\n\nexport default WorksheetView;\n"],"names":["WorksheetView","memo","forwardRef","_","ref","behavior","layout","actionbarHeight","questionsContainerWidth","questions","responses","initialQuestionId","userType","summaryVisible","changeQuestion","onResponsesChange","onExitTicketStart","onExitTicketSubmit","lastUnlockedQuestionIndex","activeQuestionTool","useWorksheetStore","store","containerWidth","navigationBar","topOffset","showUserPointer","lastUnlockedQuestion","lastUnlockedQuestionResponse","getTimeSpentOnQuestion","useTimeSpentOnQuestions","useCreateImperativeHandle","useEffect","timer","item_type","instructor_stimulus","jsxs","Fragment","jsx","WorksheetNudgeBanner","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","WorksheetBlocker","UserPointer","WorksheetCalculator","Styled.ActionbarContainer","FlexView","WorksheetSummaryController","WorksheetQuestionsTools","WorksheetActionBar","WorksheetQuestionsController","WorksheetTeachingTools","WorksheetQuestions"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-view.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-view.tsx"],"sourcesContent":["import { forwardRef, memo, useEffect } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport UserPointer from '../user-pointer-pin/user-pin';\nimport { TOP_NAVIGATION_HEIGHT } from './constants';\nimport useCreateImperativeHandle from './hooks/use-create-imperative-handle';\nimport useTimeSpentOnQuestions from './hooks/use-time-on-questions';\nimport { useWorksheetStore } from './hooks/use-worksheet-store';\n// import WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetBlocker from './worksheet-blocker/worksheet-blocker';\nimport WorksheetCalculator from './worksheet-calculator/worksheet-calculator';\nimport WorksheetNavigation from './worksheet-navigation/worksheet-navigation';\nimport WorksheetNudgeBanner from './worksheet-nudge-banner/worksheet-nudge-banner';\nimport WorksheetQuestionsController from './worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsTools from './worksheet-questions-tools/worksheet-questions-tools';\nimport WorksheetQuestions from './worksheet-questions/worksheet-questions';\nimport * as Styled from './worksheet-styled';\nimport WorksheetSummaryController from './worksheet-summary-controller/worksheet-summary-controller';\nimport WorksheetTeachingTools from './worksheet-teaching-tools/worksheet-teaching-tools';\nimport { type IWorksheetRef } from './worksheet-types';\n\nconst WorksheetView = memo(\n forwardRef<IWorksheetRef>((_, ref) => {\n const {\n behavior,\n layout,\n actionbarHeight,\n questionsContainerWidth,\n questions,\n responses,\n initialQuestionId,\n userType,\n summaryVisible,\n changeQuestion,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n lastUnlockedQuestionIndex,\n activeQuestionTool,\n } = useWorksheetStore(store => ({\n behavior: store.behavior,\n layout: store.layout,\n actionbarHeight: store.actionbarHeight,\n questionsContainerWidth: store.questionsContainerWidth,\n questions: store.questions,\n responses: store.responses,\n initialQuestionId: store.initialQuestionId,\n userType: store.userType,\n summaryVisible: store.summaryVisible,\n changeQuestion: store.changeQuestion,\n onResponsesChange: store.onResponsesChange,\n onExitTicketStart: store.onExitTicketStart,\n onExitTicketSubmit: store.onExitTicketSubmit,\n lastUnlockedQuestionIndex: store.lastUnlockedQuestionIndex,\n activeQuestionTool: store.activeQuestionTool,\n }));\n const { containerWidth, navigationBar, topOffset, showUserPointer = true } = layout;\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\n // TODO: This can be moved to worksheet-store and optimized to avoid re-renders\n const getTimeSpentOnQuestion = useTimeSpentOnQuestions();\n\n useCreateImperativeHandle(ref, {\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n if (onResponsesChange && responses) {\n onResponsesChange(responses);\n }\n }, [onResponsesChange, responses]);\n\n useEffect(() => {\n changeQuestion(initialQuestionId);\n }, [initialQuestionId, changeQuestion]);\n\n useEffect(() => {\n if (lastUnlockedQuestion && behavior.teacherValidationEnabled) {\n const timer = setTimeout(() => {\n changeQuestion(lastUnlockedQuestion.response_id);\n }, 1000);\n\n return () => {\n clearTimeout(timer);\n };\n }\n }, [lastUnlockedQuestion, behavior.teacherValidationEnabled, changeQuestion]);\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 return (\n <>\n <WorksheetNudgeBanner />\n <Styled.WorksheetContainer $background=\"WHITE_1\" $width={containerWidth}>\n {navigationBar === 'top' && (\n <Styled.NavigationContainer $topOffset={topOffset} $height={TOP_NAVIGATION_HEIGHT}>\n <Styled.NavigationWrapper>\n <WorksheetNavigation placement=\"top\" />\n </Styled.NavigationWrapper>\n </Styled.NavigationContainer>\n )}\n <WorksheetBlocker />\n {showUserPointer && <UserPointer />}\n <WorksheetCalculator />\n <Styled.ActionbarContainer\n $marginTop={userType === 'TEACHER' && summaryVisible ? '0' : actionbarHeight}\n $height={actionbarHeight}\n >\n <FlexView\n $gutterX={0.5}\n $flexDirection={summaryVisible ? 'row-reverse' : 'row'}\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $width={questionsContainerWidth}\n $height={actionbarHeight}\n >\n {summaryVisible ? (\n <WorksheetSummaryController />\n ) : (\n <>\n <WorksheetQuestionsTools />\n {navigationBar === 'bottom' && <WorksheetActionBar />}\n <WorksheetQuestionsController getTimeSpentOnQuestion={getTimeSpentOnQuestion} />\n </>\n )}\n </FlexView>\n {activeQuestionTool && <WorksheetTeachingTools tool={activeQuestionTool} />}\n </Styled.ActionbarContainer>\n <WorksheetQuestions />\n </Styled.WorksheetContainer>\n </>\n );\n }),\n);\n\nexport default WorksheetView;\n"],"names":["WorksheetView","memo","forwardRef","_","ref","behavior","layout","actionbarHeight","questionsContainerWidth","questions","responses","initialQuestionId","userType","summaryVisible","changeQuestion","onResponsesChange","onExitTicketStart","onExitTicketSubmit","lastUnlockedQuestionIndex","activeQuestionTool","useWorksheetStore","store","containerWidth","navigationBar","topOffset","showUserPointer","lastUnlockedQuestion","lastUnlockedQuestionResponse","getTimeSpentOnQuestion","useTimeSpentOnQuestions","useCreateImperativeHandle","useEffect","timer","item_type","instructor_stimulus","jsxs","Fragment","jsx","WorksheetNudgeBanner","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","WorksheetBlocker","UserPointer","WorksheetCalculator","Styled.ActionbarContainer","FlexView","WorksheetSummaryController","WorksheetQuestionsTools","WorksheetActionBar","WorksheetQuestionsController","WorksheetTeachingTools","WorksheetQuestions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"