@cuemath/leap 3.5.47-gg6 → 3.5.48-link.0
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/assets/line-icons/icons/bulb.js +10 -10
- package/dist/assets/line-icons/icons/bulb.js.map +1 -1
- package/dist/assets/line-icons/icons/hand.js.map +1 -1
- package/dist/assets/line-icons/icons/scribble.js +36 -13
- package/dist/assets/line-icons/icons/scribble.js.map +1 -1
- package/dist/assets/line-icons/icons/sticker.js +9 -9
- package/dist/assets/line-icons/icons/sticker.js.map +1 -1
- package/dist/features/analytics-events/whitelist-events.js +14 -16
- package/dist/features/analytics-events/whitelist-events.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view-analytics-events.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +6 -6
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js +2 -2
- package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -1
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +29 -64
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +9 -9
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals-styled.js +8 -5
- package/dist/features/trial-session/comps/school-goals/school-goals-styled.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js +35 -32
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals.js +47 -45
- package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +44 -51
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
- package/dist/features/trial-session/comps/test-prep/test-prep.js +39 -46
- package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js +120 -144
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
- package/dist/features/trial-session/helper.js +49 -54
- package/dist/features/trial-session/helper.js.map +1 -1
- package/dist/features/trial-session/hooks/use-slide-config-update.js +65 -62
- package/dist/features/trial-session/hooks/use-slide-config-update.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js +45 -48
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/ui/tabs/tabs.js +15 -15
- package/dist/features/ui/tabs/tabs.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +1 -0
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
- package/dist/features/worksheet/worksheet/constants.js +13 -12
- package/dist/features/worksheet/worksheet/constants.js.map +1 -1
- package/dist/features/worksheet/worksheet/question-tips.js +100 -0
- package/dist/features/worksheet/worksheet/question-tips.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +109 -40
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +7 -7
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js +22 -17
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +24 -23
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +220 -192
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js +53 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +103 -73
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +251 -213
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js +20 -33
- package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +112 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +61 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js +91 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-store.js +132 -138
- package/dist/features/worksheet/worksheet/worksheet-store.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-styled.js +83 -29
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js +24 -45
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js +2 -3
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-view.js +99 -88
- package/dist/features/worksheet/worksheet/worksheet-view.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +95 -96
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +29 -29
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +24 -24
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/index.d.ts +14 -32
- package/dist/index.js +745 -760
- package/dist/index.js.map +1 -1
- package/dist/types/models/worksheet.js +1 -2
- package/dist/types/models/worksheet.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/chevron-up.js +0 -28
- package/dist/assets/line-icons/icons/chevron-up.js.map +0 -1
- package/dist/assets/line-icons/icons/close.js +0 -28
- package/dist/assets/line-icons/icons/close.js.map +0 -1
- package/dist/assets/line-icons/icons/cursor2.js +0 -24
- package/dist/assets/line-icons/icons/cursor2.js.map +0 -1
- package/dist/assets/line-icons/icons/hints.js +0 -25
- package/dist/assets/line-icons/icons/hints.js.map +0 -1
- package/dist/assets/line-icons/icons/question-feedback.js +0 -30
- package/dist/assets/line-icons/icons/question-feedback.js.map +0 -1
- package/dist/assets/line-icons/icons/teaching-tools.js +0 -40
- package/dist/assets/line-icons/icons/teaching-tools.js.map +0 -1
- package/dist/assets/line-icons/icons/tval-question.js +0 -32
- package/dist/assets/line-icons/icons/tval-question.js.map +0 -1
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-analytics-events.js +0 -11
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-analytics-events.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js +0 -49
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js +0 -184
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js +0 -65
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js +0 -9
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js +0 -38
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js +0 -66
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-view.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-view.tsx"],"sourcesContent":["import { forwardRef, memo, useEffect, useLayoutEffect } from 'react';\n\nimport getDeviceDetails from '../../../helpers/get-device-details';\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 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 WorksheetTeachingTools from './worksheet-teaching-tools/worksheet-teaching-tools';\nimport { type IWorksheetRef } from './worksheet-types';\nimport WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetSummaryController from './worksheet-summary-controller/worksheet-summary-controller';\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 canShowActionBar,\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 canShowActionBar: store.canShowActionBar,\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 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 useLayoutEffect(() => {\n if (!behavior.teacherValidationEnabled) {\n changeQuestion(\n initialQuestionId,\n true,\n getDeviceDetails().browser_name === 'Safari' ? 400 : 0,\n );\n }\n }, [initialQuestionId, changeQuestion, behavior.teacherValidationEnabled]);\n\n useLayoutEffect(() => {\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 {canShowActionBar && (\n <FlexView\n $gutterX={1}\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 )}\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","canShowActionBar","lastUnlockedQuestionIndex","activeQuestionTool","useWorksheetStore","store","containerWidth","navigationBar","topOffset","showUserPointer","lastUnlockedQuestion","lastUnlockedQuestionResponse","getTimeSpentOnQuestion","useTimeSpentOnQuestions","useCreateImperativeHandle","useEffect","useLayoutEffect","getDeviceDetails","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, useLayoutEffect } from 'react';\n\nimport getDeviceDetails from '../../../helpers/get-device-details';\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';\nimport QuestionTips from './question-tips';\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 Navigator from './worksheet-sidebar/navigator';\nimport WorksheetSideBar from './worksheet-sidebar/sidebar';\nimport * as Styled from './worksheet-styled';\nimport WorksheetQuestions from './worksheet-questions/worksheet-questions';\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 canShowActionBar,\n lastUnlockedQuestionIndex,\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 canShowActionBar: store.canShowActionBar,\n lastUnlockedQuestionIndex: store.lastUnlockedQuestionIndex,\n }));\n const { maximumAttempts } = behavior;\n const {\n containerStyle,\n containerWidth,\n questionsScrollable,\n navigationBar,\n topOffset,\n renderSideBar,\n showUserPointer = true,\n } = layout;\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\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 useLayoutEffect(() => {\n if (!behavior.teacherValidationEnabled) {\n changeQuestion(\n initialQuestionId,\n true,\n getDeviceDetails().browser_name === 'Safari' ? 400 : 0,\n );\n }\n }, [initialQuestionId, changeQuestion, behavior.teacherValidationEnabled]);\n\n useLayoutEffect(() => {\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 $isCardView={containerStyle === 'card'}\n >\n {maximumAttempts !== -2 && <QuestionTips />}\n {canShowActionBar && (\n <Styled.ActionbarWrapper\n $height={actionbarHeight}\n $width={\n containerStyle === 'card' || maximumAttempts === -2\n ? questionsContainerWidth - 32\n : '100%'\n }\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 getTimeSpentOnQuestion={getTimeSpentOnQuestion} />\n </FlexView>\n </Styled.ActionbarWrapper>\n )}\n {!summaryVisible && questionsScrollable && userType === 'STUDENT' && (\n <Styled.StudentWorksheetSideBar>\n <Navigator />\n </Styled.StudentWorksheetSideBar>\n )}\n </Styled.ActionbarContainer>\n <WorksheetQuestions />\n {!summaryVisible && renderSideBar && <WorksheetSideBar />}\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","canShowActionBar","lastUnlockedQuestionIndex","useWorksheetStore","store","maximumAttempts","containerStyle","containerWidth","questionsScrollable","navigationBar","topOffset","renderSideBar","showUserPointer","lastUnlockedQuestion","lastUnlockedQuestionResponse","getTimeSpentOnQuestion","useTimeSpentOnQuestions","useCreateImperativeHandle","useEffect","useLayoutEffect","getDeviceDetails","timer","item_type","instructor_stimulus","jsxs","Fragment","jsx","WorksheetNudgeBanner","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","WorksheetBlocker","UserPointer","WorksheetCalculator","Styled.ActionbarContainer","QuestionTips","Styled.ActionbarWrapper","FlexView","WorksheetActionBar","Styled.StudentWorksheetSideBar","Navigator","WorksheetQuestions","WorksheetSideBar"],"mappings":"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"}
|
|
@@ -1,75 +1,74 @@
|
|
|
1
1
|
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
2
|
+
import { memo as pe, forwardRef as he, useMemo as ie, useCallback as ke, useEffect as l } from "react";
|
|
3
3
|
import fe from "../../cue-canvas/cue-canvas-provider.js";
|
|
4
4
|
import Se from "../constants/events.js";
|
|
5
5
|
import ge from "./hooks/use-learnosity.js";
|
|
6
6
|
import Re from "./hooks/use-worksheet-data-helper.js";
|
|
7
|
-
import
|
|
8
|
-
import { getWorksheetBehaviour as
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
he((l, ae) => {
|
|
7
|
+
import be from "./worksheet-view.js";
|
|
8
|
+
import { getWorksheetBehaviour as ve } from "./worksheet-behavior-helper.js";
|
|
9
|
+
import Ee from "./worksheet-provider.js";
|
|
10
|
+
const Ce = pe(
|
|
11
|
+
he((p, ae) => {
|
|
13
12
|
const {
|
|
14
13
|
attemptId: ue,
|
|
15
|
-
itemsSignedRequest:
|
|
16
|
-
questionsSignedRequest:
|
|
14
|
+
itemsSignedRequest: de,
|
|
15
|
+
questionsSignedRequest: d,
|
|
17
16
|
onLoaded: r,
|
|
18
17
|
onErrored: i,
|
|
19
|
-
onResponsesLoaded:
|
|
18
|
+
onResponsesLoaded: m,
|
|
20
19
|
loggerRef: s,
|
|
21
20
|
userType: n,
|
|
22
21
|
worksheetCompleted: a,
|
|
23
22
|
inClass: h,
|
|
24
23
|
nodeType: k,
|
|
25
24
|
mode: f,
|
|
26
|
-
|
|
25
|
+
isLessonV3Enabled: S = !1,
|
|
27
26
|
isDesmosEnabled: g = !1,
|
|
28
|
-
...
|
|
29
|
-
} =
|
|
27
|
+
...me
|
|
28
|
+
} = p, {
|
|
30
29
|
onResponseChange: R,
|
|
31
|
-
onMediaStateChange:
|
|
32
|
-
onActiveQuestionChange:
|
|
33
|
-
studentName:
|
|
34
|
-
onOptionalItemAssignment:
|
|
35
|
-
onOptionalItemSkip:
|
|
36
|
-
onTeacherValidation:
|
|
37
|
-
onPublishStrokes:
|
|
30
|
+
onMediaStateChange: b,
|
|
31
|
+
onActiveQuestionChange: v,
|
|
32
|
+
studentName: E,
|
|
33
|
+
onOptionalItemAssignment: C,
|
|
34
|
+
onOptionalItemSkip: w,
|
|
35
|
+
onTeacherValidation: I,
|
|
36
|
+
onPublishStrokes: y,
|
|
38
37
|
onReceiveStrokes: W,
|
|
39
38
|
initialStrokesData: A,
|
|
40
|
-
onPublishMouseMove:
|
|
41
|
-
onSubscribeMouseMove:
|
|
42
|
-
canResolveDoubt:
|
|
43
|
-
onResolveDoubt:
|
|
44
|
-
userId:
|
|
45
|
-
studentId:
|
|
46
|
-
subjectiveProps:
|
|
47
|
-
worksheetName:
|
|
48
|
-
onBulkResponsesChange:
|
|
39
|
+
onPublishMouseMove: B,
|
|
40
|
+
onSubscribeMouseMove: D,
|
|
41
|
+
canResolveDoubt: M,
|
|
42
|
+
onResolveDoubt: T,
|
|
43
|
+
userId: P,
|
|
44
|
+
studentId: x,
|
|
45
|
+
subjectiveProps: L,
|
|
46
|
+
worksheetName: N,
|
|
47
|
+
onBulkResponsesChange: V,
|
|
49
48
|
onResponsesChange: q,
|
|
50
|
-
onExitTicketStart:
|
|
51
|
-
onExitTicketSubmit:
|
|
49
|
+
onExitTicketStart: H,
|
|
50
|
+
onExitTicketSubmit: O,
|
|
52
51
|
onSubmit: Q,
|
|
53
|
-
onHelp:
|
|
54
|
-
openQuestionFeedbackModal:
|
|
52
|
+
onHelp: j,
|
|
53
|
+
openQuestionFeedbackModal: _,
|
|
55
54
|
summaryDescription: F,
|
|
56
55
|
canSubmitWorksheet: K,
|
|
57
56
|
onSkip: Y,
|
|
58
|
-
canShowActionBar:
|
|
59
|
-
actionBarRightElement:
|
|
60
|
-
plugins:
|
|
61
|
-
} =
|
|
62
|
-
updatedResponses:
|
|
63
|
-
layout:
|
|
64
|
-
initialResponseId:
|
|
65
|
-
initialItemIndex:
|
|
57
|
+
canShowActionBar: z,
|
|
58
|
+
actionBarRightElement: G,
|
|
59
|
+
plugins: J
|
|
60
|
+
} = me, {
|
|
61
|
+
updatedResponses: U,
|
|
62
|
+
layout: X,
|
|
63
|
+
initialResponseId: Z,
|
|
64
|
+
initialItemIndex: $,
|
|
66
65
|
showNudgeBanner: ee,
|
|
67
66
|
markedAsCompleted: oe
|
|
68
|
-
} =
|
|
69
|
-
() =>
|
|
67
|
+
} = p, se = ie(
|
|
68
|
+
() => ve({
|
|
70
69
|
nodeType: k,
|
|
71
70
|
inClass: h,
|
|
72
|
-
isLessonV3Enabled: S
|
|
71
|
+
isLessonV3Enabled: S,
|
|
73
72
|
isDesmosEnabled: g,
|
|
74
73
|
mode: f,
|
|
75
74
|
userType: n,
|
|
@@ -78,7 +77,7 @@ const Ce = le(
|
|
|
78
77
|
[k, h, S, g, f, n, a]
|
|
79
78
|
), { loadingState: o, data: e, error: te } = Re({
|
|
80
79
|
attemptId: ue,
|
|
81
|
-
signedRequest:
|
|
80
|
+
signedRequest: de,
|
|
82
81
|
loggerRef: s
|
|
83
82
|
}), ce = ke(
|
|
84
83
|
(u) => {
|
|
@@ -89,59 +88,59 @@ const Ce = le(
|
|
|
89
88
|
},
|
|
90
89
|
[i]
|
|
91
90
|
), { learnosity: t, appendedQuestionIds: ne } = ge(
|
|
92
|
-
|
|
91
|
+
d,
|
|
93
92
|
ce,
|
|
94
93
|
s
|
|
95
94
|
), re = ie(() => {
|
|
96
95
|
if (o === "success" && e && t) {
|
|
97
|
-
const { learnosityItems: u, responses:
|
|
96
|
+
const { learnosityItems: u, responses: le } = e;
|
|
98
97
|
return {
|
|
99
98
|
learnosityItems: u,
|
|
100
|
-
learnosityResponses:
|
|
101
|
-
updatedResponses:
|
|
102
|
-
layout:
|
|
99
|
+
learnosityResponses: le,
|
|
100
|
+
updatedResponses: U,
|
|
101
|
+
layout: X,
|
|
103
102
|
behavior: se,
|
|
104
103
|
userType: n,
|
|
105
|
-
initialResponseId:
|
|
106
|
-
initialItemIndex:
|
|
107
|
-
questionsSignedRequest:
|
|
104
|
+
initialResponseId: Z,
|
|
105
|
+
initialItemIndex: $,
|
|
106
|
+
questionsSignedRequest: d,
|
|
108
107
|
onResponseChange: R,
|
|
109
|
-
onMediaStateChange:
|
|
108
|
+
onMediaStateChange: b,
|
|
110
109
|
showNudgeBanner: ee,
|
|
111
110
|
markedAsCompleted: oe,
|
|
112
|
-
onActiveQuestionChange:
|
|
113
|
-
studentName:
|
|
114
|
-
onOptionalItemAssignment:
|
|
115
|
-
onOptionalItemSkip:
|
|
116
|
-
onTeacherValidation:
|
|
111
|
+
onActiveQuestionChange: v,
|
|
112
|
+
studentName: E ?? "Student",
|
|
113
|
+
onOptionalItemAssignment: C,
|
|
114
|
+
onOptionalItemSkip: w,
|
|
115
|
+
onTeacherValidation: I,
|
|
117
116
|
worksheetCompleted: a,
|
|
118
117
|
learnosity: t,
|
|
119
|
-
onPublishStrokes:
|
|
118
|
+
onPublishStrokes: y,
|
|
120
119
|
onReceiveStrokes: W,
|
|
121
120
|
initialStrokesData: A,
|
|
122
|
-
onPublishMouseMove:
|
|
123
|
-
onSubscribeMouseMove:
|
|
124
|
-
canResolveDoubt:
|
|
125
|
-
onResolveDoubt:
|
|
126
|
-
userId:
|
|
127
|
-
studentId:
|
|
128
|
-
subjectiveProps:
|
|
121
|
+
onPublishMouseMove: B,
|
|
122
|
+
onSubscribeMouseMove: D,
|
|
123
|
+
canResolveDoubt: M,
|
|
124
|
+
onResolveDoubt: T,
|
|
125
|
+
userId: P,
|
|
126
|
+
studentId: x,
|
|
127
|
+
subjectiveProps: L,
|
|
129
128
|
loggerRef: s,
|
|
130
|
-
worksheetName:
|
|
131
|
-
onBulkResponsesChange:
|
|
129
|
+
worksheetName: N,
|
|
130
|
+
onBulkResponsesChange: V,
|
|
132
131
|
onResponsesChange: q,
|
|
133
|
-
onExitTicketStart:
|
|
134
|
-
onExitTicketSubmit:
|
|
132
|
+
onExitTicketStart: H,
|
|
133
|
+
onExitTicketSubmit: O,
|
|
135
134
|
onSubmit: Q,
|
|
136
135
|
appendedQuestionIds: ne,
|
|
137
|
-
onHelp:
|
|
138
|
-
openQuestionFeedbackModal:
|
|
136
|
+
onHelp: j,
|
|
137
|
+
openQuestionFeedbackModal: _,
|
|
139
138
|
summaryDescription: F,
|
|
140
139
|
canSubmitWorksheet: K,
|
|
141
140
|
onSkip: Y,
|
|
142
|
-
canShowActionBar:
|
|
143
|
-
actionBarRightElement:
|
|
144
|
-
plugins:
|
|
141
|
+
canShowActionBar: z ?? !0,
|
|
142
|
+
actionBarRightElement: G,
|
|
143
|
+
plugins: J
|
|
145
144
|
};
|
|
146
145
|
}
|
|
147
146
|
return null;
|
|
@@ -149,59 +148,59 @@ const Ce = le(
|
|
|
149
148
|
o,
|
|
150
149
|
e,
|
|
151
150
|
t,
|
|
152
|
-
J,
|
|
153
151
|
U,
|
|
152
|
+
X,
|
|
154
153
|
se,
|
|
155
154
|
n,
|
|
156
|
-
X,
|
|
157
155
|
Z,
|
|
158
|
-
|
|
156
|
+
$,
|
|
157
|
+
d,
|
|
159
158
|
R,
|
|
160
|
-
|
|
159
|
+
b,
|
|
161
160
|
ee,
|
|
162
161
|
oe,
|
|
162
|
+
v,
|
|
163
163
|
E,
|
|
164
|
-
b,
|
|
165
|
-
y,
|
|
166
164
|
C,
|
|
167
165
|
w,
|
|
168
|
-
a,
|
|
169
166
|
I,
|
|
167
|
+
a,
|
|
168
|
+
y,
|
|
170
169
|
W,
|
|
171
170
|
A,
|
|
172
|
-
T,
|
|
173
171
|
B,
|
|
174
172
|
D,
|
|
175
173
|
M,
|
|
176
|
-
|
|
177
|
-
N,
|
|
174
|
+
T,
|
|
178
175
|
P,
|
|
176
|
+
x,
|
|
177
|
+
L,
|
|
179
178
|
s,
|
|
179
|
+
N,
|
|
180
180
|
V,
|
|
181
|
-
x,
|
|
182
181
|
q,
|
|
183
|
-
O,
|
|
184
182
|
H,
|
|
183
|
+
O,
|
|
185
184
|
Q,
|
|
186
185
|
ne,
|
|
187
|
-
_,
|
|
188
186
|
j,
|
|
187
|
+
_,
|
|
189
188
|
F,
|
|
190
189
|
K,
|
|
191
190
|
Y,
|
|
192
|
-
$,
|
|
193
191
|
z,
|
|
194
|
-
G
|
|
192
|
+
G,
|
|
193
|
+
J
|
|
195
194
|
]);
|
|
196
|
-
return
|
|
195
|
+
return l(() => {
|
|
197
196
|
o === "error" && i({
|
|
198
197
|
message: te ?? "Error loading worksheet"
|
|
199
198
|
});
|
|
200
|
-
}, [o, te, r, i]),
|
|
199
|
+
}, [o, te, r, i]), l(() => {
|
|
201
200
|
t && o === "success" && r && (s.current(Se.WORKSHEET_V3_READY), r());
|
|
202
|
-
}, [t, o, s, r]),
|
|
203
|
-
e != null && e.responses &&
|
|
204
|
-
}, [e == null ? void 0 : e.responses,
|
|
201
|
+
}, [t, o, s, r]), l(() => {
|
|
202
|
+
e != null && e.responses && m && m(e.responses ?? {});
|
|
203
|
+
}, [e == null ? void 0 : e.responses, m]), o === "success" && e && t && re ? /* @__PURE__ */ c(Ee, { ...re, children: /* @__PURE__ */ c(fe, { userType: n, renderAs: "canvas", children: /* @__PURE__ */ c(be, { ref: ae }) }) }) : null;
|
|
205
204
|
})
|
|
206
205
|
), Pe = Ce;
|
|
207
206
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet.js","sources":["../../../../src/features/worksheet/worksheet/worksheet.tsx"],"sourcesContent":["import { forwardRef, memo, useCallback, useEffect, useMemo } from 'react';\n\nimport CueCanvasProvider from '../../cue-canvas/cue-canvas-provider';\nimport EVENTS from '../constants/events';\nimport useLearnosity from './hooks/use-learnosity';\nimport useWorksheetDataHelper from './hooks/use-worksheet-data-helper';\nimport WorksheetView from './worksheet-view';\nimport { getWorksheetBehaviour } from './worksheet-behavior-helper';\nimport type {\n ILearnosityError,\n IWorksheetProps,\n IWorksheetRef,\n TWorksheetStoreProps,\n} from './worksheet-types';\nimport WorksheetProvider from './worksheet-provider';\nimport { EWorksheetActivity } from '../../../types/models/worksheet';\n\nconst Worksheet = memo(\n forwardRef<IWorksheetRef, IWorksheetProps>((props, ref) => {\n const {\n attemptId,\n itemsSignedRequest,\n questionsSignedRequest,\n onLoaded,\n onErrored,\n onResponsesLoaded,\n loggerRef,\n userType,\n worksheetCompleted,\n inClass,\n nodeType,\n mode,\n activityType,\n isDesmosEnabled = false,\n ...other\n } = props;\n const {\n onResponseChange,\n onMediaStateChange,\n onActiveQuestionChange,\n studentName,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n onPublishMouseMove,\n onSubscribeMouseMove,\n canResolveDoubt,\n onResolveDoubt,\n userId,\n studentId,\n subjectiveProps,\n worksheetName,\n onBulkResponsesChange,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n onHelp,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n onSkip,\n canShowActionBar,\n actionBarRightElement,\n plugins,\n } = other;\n const {\n updatedResponses,\n layout,\n initialResponseId,\n initialItemIndex,\n showNudgeBanner,\n markedAsCompleted,\n } = props;\n\n const worksheetBehavior = useMemo(\n () =>\n getWorksheetBehaviour({\n nodeType,\n inClass,\n isLessonV3Enabled: activityType === EWorksheetActivity.LESSON_V3,\n isDesmosEnabled,\n mode,\n userType,\n worksheetCompleted,\n }),\n [nodeType, inClass, activityType, isDesmosEnabled, mode, userType, worksheetCompleted],\n );\n\n const { loadingState, data, error } = useWorksheetDataHelper({\n attemptId,\n signedRequest: itemsSignedRequest,\n loggerRef,\n });\n\n const onLearnosityErrored = useCallback(\n (err: ILearnosityError) => {\n onErrored({\n code: err.code,\n message: err.detail,\n });\n },\n [onErrored],\n );\n\n const { learnosity, appendedQuestionIds } = useLearnosity(\n questionsSignedRequest,\n onLearnosityErrored,\n loggerRef,\n );\n\n const worksheetStoreProps = useMemo<TWorksheetStoreProps | null>(() => {\n if (loadingState === 'success' && data && learnosity) {\n const { learnosityItems, responses } = data;\n\n return {\n learnosityItems,\n learnosityResponses: responses,\n updatedResponses,\n layout,\n behavior: worksheetBehavior,\n userType,\n initialResponseId,\n initialItemIndex,\n questionsSignedRequest,\n onResponseChange,\n onMediaStateChange,\n showNudgeBanner,\n markedAsCompleted,\n onActiveQuestionChange,\n studentName: studentName ?? 'Student',\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n worksheetCompleted,\n learnosity,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n onPublishMouseMove,\n onSubscribeMouseMove,\n canResolveDoubt,\n onResolveDoubt,\n userId,\n studentId,\n subjectiveProps,\n loggerRef,\n worksheetName,\n onBulkResponsesChange,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n appendedQuestionIds,\n onHelp,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n onSkip,\n canShowActionBar: canShowActionBar ?? true,\n actionBarRightElement,\n plugins,\n };\n }\n\n return null;\n }, [\n loadingState,\n data,\n learnosity,\n updatedResponses,\n layout,\n worksheetBehavior,\n userType,\n initialResponseId,\n initialItemIndex,\n questionsSignedRequest,\n onResponseChange,\n onMediaStateChange,\n showNudgeBanner,\n markedAsCompleted,\n onActiveQuestionChange,\n studentName,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n worksheetCompleted,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n onPublishMouseMove,\n onSubscribeMouseMove,\n canResolveDoubt,\n onResolveDoubt,\n userId,\n studentId,\n subjectiveProps,\n loggerRef,\n worksheetName,\n onBulkResponsesChange,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n appendedQuestionIds,\n onHelp,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n onSkip,\n canShowActionBar,\n actionBarRightElement,\n plugins,\n ]);\n\n useEffect(() => {\n if (loadingState === 'error') {\n onErrored({\n message: error ?? 'Error loading worksheet',\n });\n }\n }, [loadingState, error, onLoaded, onErrored]);\n\n useEffect(() => {\n if (learnosity && loadingState === 'success' && onLoaded) {\n loggerRef.current(EVENTS.WORKSHEET_V3_READY);\n onLoaded();\n }\n }, [learnosity, loadingState, loggerRef, onLoaded]);\n\n useEffect(() => {\n if (data?.responses && onResponsesLoaded) {\n onResponsesLoaded(data.responses ?? {});\n }\n }, [data?.responses, onResponsesLoaded]);\n\n if (loadingState === 'success' && data && learnosity && worksheetStoreProps) {\n return (\n <WorksheetProvider {...worksheetStoreProps}>\n <CueCanvasProvider userType={userType} renderAs=\"canvas\">\n <WorksheetView ref={ref} />\n </CueCanvasProvider>\n </WorksheetProvider>\n );\n }\n\n return null;\n }),\n);\n\nexport default Worksheet;\n"],"names":["Worksheet","memo","forwardRef","props","ref","attemptId","itemsSignedRequest","questionsSignedRequest","onLoaded","onErrored","onResponsesLoaded","loggerRef","userType","worksheetCompleted","inClass","nodeType","mode","activityType","isDesmosEnabled","other","onResponseChange","onMediaStateChange","onActiveQuestionChange","studentName","onOptionalItemAssignment","onOptionalItemSkip","onTeacherValidation","onPublishStrokes","onReceiveStrokes","initialStrokesData","onPublishMouseMove","onSubscribeMouseMove","canResolveDoubt","onResolveDoubt","userId","studentId","subjectiveProps","worksheetName","onBulkResponsesChange","onResponsesChange","onExitTicketStart","onExitTicketSubmit","onSubmit","onHelp","openQuestionFeedbackModal","summaryDescription","canSubmitWorksheet","onSkip","canShowActionBar","actionBarRightElement","plugins","updatedResponses","layout","initialResponseId","initialItemIndex","showNudgeBanner","markedAsCompleted","worksheetBehavior","useMemo","getWorksheetBehaviour","EWorksheetActivity","loadingState","data","error","useWorksheetDataHelper","onLearnosityErrored","useCallback","err","learnosity","appendedQuestionIds","useLearnosity","worksheetStoreProps","learnosityItems","responses","useEffect","EVENTS","jsx","WorksheetProvider","CueCanvasProvider","WorksheetView","Worksheet$1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worksheet.js","sources":["../../../../src/features/worksheet/worksheet/worksheet.tsx"],"sourcesContent":["import { forwardRef, memo, useCallback, useEffect, useMemo } from 'react';\n\nimport CueCanvasProvider from '../../cue-canvas/cue-canvas-provider';\nimport EVENTS from '../constants/events';\nimport useLearnosity from './hooks/use-learnosity';\nimport useWorksheetDataHelper from './hooks/use-worksheet-data-helper';\nimport WorksheetView from './worksheet-view';\nimport { getWorksheetBehaviour } from './worksheet-behavior-helper';\nimport type {\n ILearnosityError,\n IWorksheetProps,\n IWorksheetRef,\n TWorksheetStoreProps,\n} from './worksheet-types';\nimport WorksheetProvider from './worksheet-provider';\n\nconst WorksheetContainer = memo(\n forwardRef<IWorksheetRef, IWorksheetProps>((props, ref) => {\n const {\n attemptId,\n itemsSignedRequest,\n questionsSignedRequest,\n onLoaded,\n onErrored,\n onResponsesLoaded,\n loggerRef,\n userType,\n worksheetCompleted,\n inClass,\n nodeType,\n mode,\n isLessonV3Enabled = false,\n isDesmosEnabled = false,\n ...other\n } = props;\n const {\n onResponseChange,\n onMediaStateChange,\n onActiveQuestionChange,\n studentName,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n onPublishMouseMove,\n onSubscribeMouseMove,\n canResolveDoubt,\n onResolveDoubt,\n userId,\n studentId,\n subjectiveProps,\n worksheetName,\n onBulkResponsesChange,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n onHelp,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n onSkip,\n canShowActionBar,\n actionBarRightElement,\n plugins,\n } = other;\n const {\n updatedResponses,\n layout,\n initialResponseId,\n initialItemIndex,\n showNudgeBanner,\n markedAsCompleted,\n } = props;\n\n const worksheetBehavior = useMemo(\n () =>\n getWorksheetBehaviour({\n nodeType,\n inClass,\n isLessonV3Enabled,\n isDesmosEnabled,\n mode,\n userType,\n worksheetCompleted,\n }),\n [nodeType, inClass, isLessonV3Enabled, isDesmosEnabled, mode, userType, worksheetCompleted],\n );\n\n const { loadingState, data, error } = useWorksheetDataHelper({\n attemptId,\n signedRequest: itemsSignedRequest,\n loggerRef,\n });\n\n const onLearnosityErrored = useCallback(\n (err: ILearnosityError) => {\n onErrored({\n code: err.code,\n message: err.detail,\n });\n },\n [onErrored],\n );\n\n const { learnosity, appendedQuestionIds } = useLearnosity(\n questionsSignedRequest,\n onLearnosityErrored,\n loggerRef,\n );\n\n const worksheetStoreProps = useMemo<TWorksheetStoreProps | null>(() => {\n if (loadingState === 'success' && data && learnosity) {\n const { learnosityItems, responses } = data;\n\n return {\n learnosityItems,\n learnosityResponses: responses,\n updatedResponses,\n layout,\n behavior: worksheetBehavior,\n userType,\n initialResponseId,\n initialItemIndex,\n questionsSignedRequest,\n onResponseChange,\n onMediaStateChange,\n showNudgeBanner,\n markedAsCompleted,\n onActiveQuestionChange,\n studentName: studentName ?? 'Student',\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n worksheetCompleted,\n learnosity,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n onPublishMouseMove,\n onSubscribeMouseMove,\n canResolveDoubt,\n onResolveDoubt,\n userId,\n studentId,\n subjectiveProps,\n loggerRef,\n worksheetName,\n onBulkResponsesChange,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n appendedQuestionIds,\n onHelp,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n onSkip,\n canShowActionBar: canShowActionBar ?? true,\n actionBarRightElement,\n plugins,\n };\n }\n\n return null;\n }, [\n loadingState,\n data,\n learnosity,\n updatedResponses,\n layout,\n worksheetBehavior,\n userType,\n initialResponseId,\n initialItemIndex,\n questionsSignedRequest,\n onResponseChange,\n onMediaStateChange,\n showNudgeBanner,\n markedAsCompleted,\n onActiveQuestionChange,\n studentName,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n worksheetCompleted,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n onPublishMouseMove,\n onSubscribeMouseMove,\n canResolveDoubt,\n onResolveDoubt,\n userId,\n studentId,\n subjectiveProps,\n loggerRef,\n worksheetName,\n onBulkResponsesChange,\n onResponsesChange,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n appendedQuestionIds,\n onHelp,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n onSkip,\n canShowActionBar,\n actionBarRightElement,\n plugins,\n ]);\n\n useEffect(() => {\n if (loadingState === 'error') {\n onErrored({\n message: error ?? 'Error loading worksheet',\n });\n }\n }, [loadingState, error, onLoaded, onErrored]);\n\n useEffect(() => {\n if (learnosity && loadingState === 'success' && onLoaded) {\n loggerRef.current(EVENTS.WORKSHEET_V3_READY);\n onLoaded();\n }\n }, [learnosity, loadingState, loggerRef, onLoaded]);\n\n useEffect(() => {\n if (data?.responses && onResponsesLoaded) {\n onResponsesLoaded(data.responses ?? {});\n }\n }, [data?.responses, onResponsesLoaded]);\n\n if (loadingState === 'success' && data && learnosity && worksheetStoreProps) {\n return (\n <WorksheetProvider {...worksheetStoreProps}>\n <CueCanvasProvider userType={userType} renderAs=\"canvas\">\n <WorksheetView ref={ref} />\n </CueCanvasProvider>\n </WorksheetProvider>\n );\n }\n\n return null;\n }),\n);\n\nexport default WorksheetContainer;\n"],"names":["WorksheetContainer","memo","forwardRef","props","ref","attemptId","itemsSignedRequest","questionsSignedRequest","onLoaded","onErrored","onResponsesLoaded","loggerRef","userType","worksheetCompleted","inClass","nodeType","mode","isLessonV3Enabled","isDesmosEnabled","other","onResponseChange","onMediaStateChange","onActiveQuestionChange","studentName","onOptionalItemAssignment","onOptionalItemSkip","onTeacherValidation","onPublishStrokes","onReceiveStrokes","initialStrokesData","onPublishMouseMove","onSubscribeMouseMove","canResolveDoubt","onResolveDoubt","userId","studentId","subjectiveProps","worksheetName","onBulkResponsesChange","onResponsesChange","onExitTicketStart","onExitTicketSubmit","onSubmit","onHelp","openQuestionFeedbackModal","summaryDescription","canSubmitWorksheet","onSkip","canShowActionBar","actionBarRightElement","plugins","updatedResponses","layout","initialResponseId","initialItemIndex","showNudgeBanner","markedAsCompleted","worksheetBehavior","useMemo","getWorksheetBehaviour","loadingState","data","error","useWorksheetDataHelper","onLearnosityErrored","useCallback","err","learnosity","appendedQuestionIds","useLearnosity","worksheetStoreProps","learnosityItems","responses","useEffect","EVENTS","jsx","WorksheetProvider","CueCanvasProvider","WorksheetView","Worksheet"],"mappings":"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"}
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
import { jsx as t, jsxs as A } from "react/jsx-runtime";
|
|
2
|
-
import { memo as z, useMemo as C, useCallback as S, useEffect as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import { memo as z, useMemo as C, useCallback as S, useEffect as $ } from "react";
|
|
3
|
+
import x from "../../../ui/buttons/button/button.js";
|
|
4
|
+
import E from "../../../ui/layout/flex-view.js";
|
|
5
5
|
import I from "../../../ui/loader/app-loader/app-loader.js";
|
|
6
|
-
import
|
|
7
|
-
import { useGetDynamicSheetData as
|
|
8
|
-
import
|
|
9
|
-
const
|
|
10
|
-
function(
|
|
11
|
-
const { studentId: i, userNodeId: n, studentName: a, onBackIconClick: h, actionBarRightElement: l } =
|
|
6
|
+
import T from "../../../ui/text/text.js";
|
|
7
|
+
import { useGetDynamicSheetData as b } from "../api/get-dynamic-sheet.js";
|
|
8
|
+
import B from "../worksheet-preview.js";
|
|
9
|
+
const R = z(
|
|
10
|
+
function(r) {
|
|
11
|
+
const { studentId: i, userNodeId: n, studentName: a, onBackIconClick: h, actionBarRightElement: l } = r, { onOpenQuestionFeedbackModal: f } = r, {
|
|
12
12
|
get: m,
|
|
13
|
-
data:
|
|
14
|
-
isProcessing:
|
|
15
|
-
isProcessingFailed:
|
|
13
|
+
data: p,
|
|
14
|
+
isProcessing: g,
|
|
15
|
+
isProcessingFailed: y,
|
|
16
16
|
error: o
|
|
17
|
-
} =
|
|
17
|
+
} = b(), {
|
|
18
18
|
items: k = [],
|
|
19
19
|
title: c,
|
|
20
|
-
node_type:
|
|
20
|
+
node_type: d = "DYNAMIC",
|
|
21
21
|
worksheet: w
|
|
22
|
-
} =
|
|
22
|
+
} = p || {}, { image_hue: D } = w || {}, u = k.map(({ ref: P }) => P), e = d === "PUZZLE_CARD", v = C(() => e ? `${a} hasn't attempted the puzzle yet` : c, [e, a, c]), s = S(() => {
|
|
23
23
|
i && n && m(n);
|
|
24
24
|
}, [m, i, n]);
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
}, [
|
|
28
|
-
/* @__PURE__ */ t(
|
|
25
|
+
return $(() => {
|
|
26
|
+
s();
|
|
27
|
+
}, [s]), g ? /* @__PURE__ */ t(I, { height: "100%" }) : y ? /* @__PURE__ */ A(E, { $flexGapX: 1.5, $height: "100vh", $justifyContent: "center", $alignItems: "center", children: [
|
|
28
|
+
/* @__PURE__ */ t(T, { $renderAs: "h6", children: (o == null ? void 0 : o.message) || "Oops! Something went wrong. Please try again later." }),
|
|
29
29
|
/* @__PURE__ */ t(
|
|
30
|
-
|
|
30
|
+
x,
|
|
31
31
|
{
|
|
32
32
|
widthX: 14,
|
|
33
33
|
size: "small",
|
|
34
34
|
shape: "square",
|
|
35
35
|
renderAs: "primary",
|
|
36
36
|
label: "Try again",
|
|
37
|
-
onClick:
|
|
37
|
+
onClick: s
|
|
38
38
|
}
|
|
39
39
|
)
|
|
40
|
-
] }) :
|
|
41
|
-
|
|
40
|
+
] }) : u ? /* @__PURE__ */ t(
|
|
41
|
+
B,
|
|
42
42
|
{
|
|
43
43
|
activityReference: e ? "puzzle" : "test",
|
|
44
|
-
nodeType:
|
|
44
|
+
nodeType: d,
|
|
45
45
|
userType: "TEACHER",
|
|
46
46
|
studentId: i ?? "student-id",
|
|
47
|
-
|
|
47
|
+
isLessonV3Enabled: !1,
|
|
48
48
|
worksheetName: v,
|
|
49
|
-
items:
|
|
49
|
+
items: u,
|
|
50
50
|
onBackIconClick: h,
|
|
51
51
|
imageHue: D ?? void 0,
|
|
52
52
|
actionBarRightElement: l,
|
|
53
53
|
canShowActionBar: !0,
|
|
54
54
|
mode: "preview",
|
|
55
|
-
openQuestionFeedbackModal:
|
|
55
|
+
openQuestionFeedbackModal: f,
|
|
56
56
|
topOffset: e ? 112 : void 0
|
|
57
57
|
}
|
|
58
58
|
) : null;
|
|
59
59
|
}
|
|
60
|
-
),
|
|
60
|
+
), G = R;
|
|
61
61
|
export {
|
|
62
|
-
|
|
62
|
+
G as default
|
|
63
63
|
};
|
|
64
64
|
//# sourceMappingURL=dynamic-worksheet-preview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-worksheet-preview.js","sources":["../../../../../src/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type FC } from 'react';\n\nimport type { TNodeTypes } from '../../../../types/models/worksheet';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetDynamicSheetData } from '../api/get-dynamic-sheet';\nimport PreviewWorksheet from '../worksheet-preview';\nimport type { IDynamicWorksheetPreview } from './dynamic-worksheet-types';\n\nconst DynamicWorksheetPreview: FC<IDynamicWorksheetPreview> = memo(\n function DynamicWorksheetPreview(props) {\n const { studentId, userNodeId, studentName, onBackIconClick, actionBarRightElement } = props;\n const { onOpenQuestionFeedbackModal } = props;\n\n const {\n get: getDynamicSheetData,\n data: dynamicSheetData,\n isProcessing,\n isProcessingFailed,\n error,\n } = useGetDynamicSheetData();\n\n const {\n items: itemsToBeAssigned = [],\n title,\n node_type: nodeType = 'DYNAMIC',\n worksheet,\n } = dynamicSheetData || {};\n const { image_hue: imageHue } = worksheet || {};\n const itemRefs = itemsToBeAssigned.map(({ ref }) => ref);\n\n const isPuzzleSheet = nodeType === 'PUZZLE_CARD';\n\n const worksheetName = useMemo(() => {\n if (isPuzzleSheet) return `${studentName} hasn't attempted the puzzle yet`;\n\n return title;\n }, [isPuzzleSheet, studentName, title]);\n\n const fetchDynamicSheetData = useCallback(() => {\n if (studentId && userNodeId) {\n getDynamicSheetData(userNodeId);\n }\n }, [getDynamicSheetData, studentId, userNodeId]);\n\n useEffect(() => {\n fetchDynamicSheetData();\n }, [fetchDynamicSheetData]);\n\n if (isProcessing) {\n return <AppLoader height=\"100%\" />;\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $flexGapX={1.5} $height=\"100vh\" $justifyContent=\"center\" $alignItems=\"center\">\n <Text $renderAs=\"h6\">\n {error?.message || 'Oops! Something went wrong. Please try again later.'}\n </Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={fetchDynamicSheetData}\n />\n </FlexView>\n );\n }\n\n if (!itemRefs) {\n return null;\n }\n\n return (\n <PreviewWorksheet\n activityReference={isPuzzleSheet ? 'puzzle' : 'test'}\n nodeType={nodeType as TNodeTypes}\n userType=\"TEACHER\"\n studentId={studentId ?? 'student-id'}\n
|
|
1
|
+
{"version":3,"file":"dynamic-worksheet-preview.js","sources":["../../../../../src/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type FC } from 'react';\n\nimport type { TNodeTypes } from '../../../../types/models/worksheet';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetDynamicSheetData } from '../api/get-dynamic-sheet';\nimport PreviewWorksheet from '../worksheet-preview';\nimport type { IDynamicWorksheetPreview } from './dynamic-worksheet-types';\n\nconst DynamicWorksheetPreview: FC<IDynamicWorksheetPreview> = memo(\n function DynamicWorksheetPreview(props) {\n const { studentId, userNodeId, studentName, onBackIconClick, actionBarRightElement } = props;\n const { onOpenQuestionFeedbackModal } = props;\n\n const {\n get: getDynamicSheetData,\n data: dynamicSheetData,\n isProcessing,\n isProcessingFailed,\n error,\n } = useGetDynamicSheetData();\n\n const {\n items: itemsToBeAssigned = [],\n title,\n node_type: nodeType = 'DYNAMIC',\n worksheet,\n } = dynamicSheetData || {};\n const { image_hue: imageHue } = worksheet || {};\n const itemRefs = itemsToBeAssigned.map(({ ref }) => ref);\n\n const isPuzzleSheet = nodeType === 'PUZZLE_CARD';\n\n const worksheetName = useMemo(() => {\n if (isPuzzleSheet) return `${studentName} hasn't attempted the puzzle yet`;\n\n return title;\n }, [isPuzzleSheet, studentName, title]);\n\n const fetchDynamicSheetData = useCallback(() => {\n if (studentId && userNodeId) {\n getDynamicSheetData(userNodeId);\n }\n }, [getDynamicSheetData, studentId, userNodeId]);\n\n useEffect(() => {\n fetchDynamicSheetData();\n }, [fetchDynamicSheetData]);\n\n if (isProcessing) {\n return <AppLoader height=\"100%\" />;\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $flexGapX={1.5} $height=\"100vh\" $justifyContent=\"center\" $alignItems=\"center\">\n <Text $renderAs=\"h6\">\n {error?.message || 'Oops! Something went wrong. Please try again later.'}\n </Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={fetchDynamicSheetData}\n />\n </FlexView>\n );\n }\n\n if (!itemRefs) {\n return null;\n }\n\n return (\n <PreviewWorksheet\n activityReference={isPuzzleSheet ? 'puzzle' : 'test'}\n nodeType={nodeType as TNodeTypes}\n userType=\"TEACHER\"\n studentId={studentId ?? 'student-id'}\n isLessonV3Enabled={false}\n worksheetName={worksheetName}\n items={itemRefs}\n onBackIconClick={onBackIconClick}\n imageHue={imageHue ?? undefined}\n actionBarRightElement={actionBarRightElement}\n canShowActionBar\n mode=\"preview\"\n openQuestionFeedbackModal={onOpenQuestionFeedbackModal}\n topOffset={isPuzzleSheet ? 112 : undefined}\n />\n );\n },\n);\n\nexport default DynamicWorksheetPreview;\n"],"names":["DynamicWorksheetPreview","memo","props","studentId","userNodeId","studentName","onBackIconClick","actionBarRightElement","onOpenQuestionFeedbackModal","getDynamicSheetData","dynamicSheetData","isProcessing","isProcessingFailed","error","useGetDynamicSheetData","itemsToBeAssigned","title","nodeType","worksheet","imageHue","itemRefs","ref","isPuzzleSheet","worksheetName","useMemo","fetchDynamicSheetData","useCallback","useEffect","jsx","AppLoader","jsxs","FlexView","Text","Button","PreviewWorksheet","DynamicWorksheetPreview$1"],"mappings":";;;;;;;;AAWA,MAAMA,IAAwDC;AAAA,EAC5D,SAAiCC,GAAO;AACtC,UAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,aAAAC,GAAa,iBAAAC,GAAiB,uBAAAC,EAA0B,IAAAL,GACjF,EAAE,6BAAAM,EAAgC,IAAAN,GAElC;AAAA,MACJ,KAAKO;AAAA,MACL,MAAMC;AAAA,MACN,cAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,OAAAC;AAAA,QACEC,EAAuB,GAErB;AAAA,MACJ,OAAOC,IAAoB,CAAC;AAAA,MAC5B,OAAAC;AAAA,MACA,WAAWC,IAAW;AAAA,MACtB,WAAAC;AAAA,IAAA,IACER,KAAoB,CAAA,GAClB,EAAE,WAAWS,MAAaD,KAAa,CAAA,GACvCE,IAAWL,EAAkB,IAAI,CAAC,EAAE,KAAAM,EAAA,MAAUA,CAAG,GAEjDC,IAAgBL,MAAa,eAE7BM,IAAgBC,EAAQ,MACxBF,IAAsB,GAAGjB,CAAW,qCAEjCW,GACN,CAACM,GAAejB,GAAaW,CAAK,CAAC,GAEhCS,IAAwBC,EAAY,MAAM;AAC9C,MAAIvB,KAAaC,KACfK,EAAoBL,CAAU;AAAA,IAE/B,GAAA,CAACK,GAAqBN,GAAWC,CAAU,CAAC;AAM/C,WAJAuB,EAAU,MAAM;AACQ,MAAAF;IAAA,GACrB,CAACA,CAAqB,CAAC,GAEtBd,IACK,gBAAAiB,EAACC,GAAU,EAAA,QAAO,OAAO,CAAA,IAG9BjB,IAEA,gBAAAkB,EAACC,KAAS,WAAW,KAAK,SAAQ,SAAQ,iBAAgB,UAAS,aAAY,UAC7E,UAAA;AAAA,MAAA,gBAAAH,EAACI,GAAK,EAAA,WAAU,MACb,WAAAnB,KAAA,gBAAAA,EAAO,YAAW,uDACrB;AAAA,MACA,gBAAAe;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,QAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,UACN,UAAS;AAAA,UACT,OAAM;AAAA,UACN,SAASR;AAAA,QAAA;AAAA,MACX;AAAA,IACF,EAAA,CAAA,IAICL,IAKH,gBAAAQ;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,mBAAmBZ,IAAgB,WAAW;AAAA,QAC9C,UAAAL;AAAA,QACA,UAAS;AAAA,QACT,WAAWd,KAAa;AAAA,QACxB,mBAAmB;AAAA,QACnB,eAAAoB;AAAA,QACA,OAAOH;AAAA,QACP,iBAAAd;AAAA,QACA,UAAUa,KAAY;AAAA,QACtB,uBAAAZ;AAAA,QACA,kBAAgB;AAAA,QAChB,MAAK;AAAA,QACL,2BAA2BC;AAAA,QAC3B,WAAWc,IAAgB,MAAM;AAAA,MAAA;AAAA,IAAA,IAlB5B;AAAA,EAqBX;AACF,GAEAa,IAAenC;"}
|
|
@@ -26,7 +26,7 @@ const e = ({
|
|
|
26
26
|
containerStyle: o || r ? "none" : "card",
|
|
27
27
|
//* The width of the container is set based on the user type and whether it is a SAT assessment
|
|
28
28
|
//* For Puzzle sheets, on student side we are showing a header with 800px fixed width.
|
|
29
|
-
containerWidth: o ? "1024px" : c === "TEACHER" ? "
|
|
29
|
+
containerWidth: o ? "1024px" : c === "TEACHER" ? "960px" : "824px",
|
|
30
30
|
actionBar: "bottom",
|
|
31
31
|
topOffset: i,
|
|
32
32
|
navigationBar: I,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-worksheet-layout.js","sources":["../../../../../src/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport type { THueNames, TUserTypes } from '../../../ui/types';\nimport {\n QUESTIONS_GAP,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from '../../worksheet/constants';\nimport type { IWorksheetLayout } from '../../worksheet/worksheet-types';\n\ninterface IUseWorksheetLayout {\n (options: {\n userType: TUserTypes;\n nodeType: IResumeWorksheetModel['node_type'];\n isSATAssessment: boolean;\n showNudgeBanner?: boolean;\n topOffset: number;\n imageHue?: THueNames;\n }): IWorksheetLayout;\n}\n\nconst useWorksheetLayout: IUseWorksheetLayout = ({\n userType,\n nodeType,\n isSATAssessment,\n showNudgeBanner,\n topOffset,\n imageHue,\n}) => {\n const isPuzzleSheet = nodeType === 'PUZZLE_CARD';\n\n const navigationBar = useMemo<IWorksheetLayout['navigationBar']>(() => {\n if (isSATAssessment) return 'bottom';\n\n switch (nodeType) {\n case 'PUZZLE_CARD':\n case 'TRIAL_DIAGNOSTIC':\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return 'none';\n default:\n return 'top';\n }\n }, [isSATAssessment, nodeType]);\n\n const navHeight = navigationBar === 'top' ? TOP_NAVIGATION_HEIGHT : 0;\n const minQuestionHeight = `calc(100vh - ${topOffset + navHeight + QUESTIONS_GAP * 2}px)`;\n const minSummaryHeight = `calc(100vh - ${topOffset + navHeight + QUESTIONS_GAP}px)`;\n const tOffset = showNudgeBanner ? topOffset + WORKSHEET_NUDGE_BANNER_HEIGHT : topOffset;\n\n return useMemo<IWorksheetLayout>(\n () => ({\n containerStyle: isSATAssessment || isPuzzleSheet ? 'none' : 'card',\n //* The width of the container is set based on the user type and whether it is a SAT assessment\n //* For Puzzle sheets, on student side we are showing a header with 800px fixed width.\n containerWidth: isSATAssessment ? '1024px' : userType === 'TEACHER' ? '
|
|
1
|
+
{"version":3,"file":"use-worksheet-layout.js","sources":["../../../../../src/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport type { THueNames, TUserTypes } from '../../../ui/types';\nimport {\n QUESTIONS_GAP,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from '../../worksheet/constants';\nimport type { IWorksheetLayout } from '../../worksheet/worksheet-types';\n\ninterface IUseWorksheetLayout {\n (options: {\n userType: TUserTypes;\n nodeType: IResumeWorksheetModel['node_type'];\n isSATAssessment: boolean;\n showNudgeBanner?: boolean;\n topOffset: number;\n imageHue?: THueNames;\n }): IWorksheetLayout;\n}\n\nconst useWorksheetLayout: IUseWorksheetLayout = ({\n userType,\n nodeType,\n isSATAssessment,\n showNudgeBanner,\n topOffset,\n imageHue,\n}) => {\n const isPuzzleSheet = nodeType === 'PUZZLE_CARD';\n\n const navigationBar = useMemo<IWorksheetLayout['navigationBar']>(() => {\n if (isSATAssessment) return 'bottom';\n\n switch (nodeType) {\n case 'PUZZLE_CARD':\n case 'TRIAL_DIAGNOSTIC':\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return 'none';\n default:\n return 'top';\n }\n }, [isSATAssessment, nodeType]);\n\n const navHeight = navigationBar === 'top' ? TOP_NAVIGATION_HEIGHT : 0;\n const minQuestionHeight = `calc(100vh - ${topOffset + navHeight + QUESTIONS_GAP * 2}px)`;\n const minSummaryHeight = `calc(100vh - ${topOffset + navHeight + QUESTIONS_GAP}px)`;\n const tOffset = showNudgeBanner ? topOffset + WORKSHEET_NUDGE_BANNER_HEIGHT : topOffset;\n\n return useMemo<IWorksheetLayout>(\n () => ({\n containerStyle: isSATAssessment || isPuzzleSheet ? 'none' : 'card',\n //* The width of the container is set based on the user type and whether it is a SAT assessment\n //* For Puzzle sheets, on student side we are showing a header with 800px fixed width.\n containerWidth: isSATAssessment ? '1024px' : userType === 'TEACHER' ? '960px' : '824px',\n actionBar: 'bottom',\n topOffset: tOffset,\n navigationBar,\n questionsScrollable: !(\n isSATAssessment ||\n nodeType === 'TRIAL_DIAGNOSTIC' ||\n nodeType === 'TRIAL_BASIC' ||\n nodeType === 'TRIAL_INTERMEDIATE' ||\n nodeType === 'TRIAL_ADVANCED'\n ),\n minQuestionHeight,\n minSummaryHeight,\n renderSideBar: userType === 'TEACHER' && !isSATAssessment,\n renderQuestionHeader: !isPuzzleSheet,\n imageHue,\n background: isSATAssessment || isPuzzleSheet ? 'none' : 'paper',\n questionPadding: isPuzzleSheet ? 0 : QUESTIONS_GAP,\n }),\n [\n isSATAssessment,\n isPuzzleSheet,\n userType,\n tOffset,\n navigationBar,\n nodeType,\n minQuestionHeight,\n minSummaryHeight,\n imageHue,\n ],\n );\n};\n\nexport default useWorksheetLayout;\n"],"names":["useWorksheetLayout","userType","nodeType","isSATAssessment","showNudgeBanner","topOffset","imageHue","isPuzzleSheet","navigationBar","useMemo","navHeight","TOP_NAVIGATION_HEIGHT","minQuestionHeight","QUESTIONS_GAP","minSummaryHeight","tOffset","WORKSHEET_NUDGE_BANNER_HEIGHT","useWorksheetLayout$1"],"mappings":";;AAsBA,MAAMA,IAA0C,CAAC;AAAA,EAC/C,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAMC,IAAgBL,MAAa,eAE7BM,IAAgBC,EAA2C,MAAM;AACrE,QAAIN,EAAwB,QAAA;AAE5B,YAAQD,GAAU;AAAA,MAChB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA,GACC,CAACC,GAAiBD,CAAQ,CAAC,GAExBQ,IAAYF,MAAkB,QAAQG,IAAwB,GAC9DC,IAAoB,gBAAgBP,IAAYK,IAAYG,IAAgB,CAAC,OAC7EC,IAAmB,gBAAgBT,IAAYK,IAAYG,CAAa,OACxEE,IAAUX,IAAkBC,IAAYW,IAAgCX;AAEvE,SAAAI;AAAA,IACL,OAAO;AAAA,MACL,gBAAgBN,KAAmBI,IAAgB,SAAS;AAAA;AAAA;AAAA,MAG5D,gBAAgBJ,IAAkB,WAAWF,MAAa,YAAY,UAAU;AAAA,MAChF,WAAW;AAAA,MACX,WAAWc;AAAA,MACX,eAAAP;AAAA,MACA,qBAAqB,EACnBL,KACAD,MAAa,sBACbA,MAAa,iBACbA,MAAa,wBACbA,MAAa;AAAA,MAEf,mBAAAU;AAAA,MACA,kBAAAE;AAAA,MACA,eAAeb,MAAa,aAAa,CAACE;AAAA,MAC1C,sBAAsB,CAACI;AAAA,MACvB,UAAAD;AAAA,MACA,YAAYH,KAAmBI,IAAgB,SAAS;AAAA,MACxD,iBAAiBA,IAAgB,IAAIM;AAAA,IAAA;AAAA,IAEvC;AAAA,MACEV;AAAA,MACAI;AAAA,MACAN;AAAA,MACAc;AAAA,MACAP;AAAA,MACAN;AAAA,MACAU;AAAA,MACAE;AAAA,MACAR;AAAA,IACF;AAAA,EAAA;AAEJ,GAEAW,IAAejB;"}
|