@cuemath/leap 3.1.48-aa3 → 3.1.48-beta-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.
Files changed (35) hide show
  1. package/dist/assets/lottie/lottie.js +0 -15
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/features/worksheet/worksheet/constants.js +13 -12
  4. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  5. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +245 -227
  6. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  7. package/dist/features/worksheet/worksheet/worksheet-styled.js +28 -37
  8. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  9. package/dist/features/worksheet/worksheet/worksheet.js +210 -216
  10. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  11. package/dist/index.d.ts +0 -24
  12. package/dist/index.js +74 -76
  13. package/dist/index.js.map +1 -1
  14. package/package.json +1 -1
  15. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration-styled.js +0 -10
  16. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration-styled.js.map +0 -1
  17. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js +0 -44
  18. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js.map +0 -1
  19. package/dist/features/puzzles/utils/puzzle-feedback-celebration.js +0 -44
  20. package/dist/features/puzzles/utils/puzzle-feedback-celebration.js.map +0 -1
  21. package/dist/static/cent.3a07ef13.json +0 -5576
  22. package/dist/static/clap.aa0b824b.json +0 -12684
  23. package/dist/static/dart.60f73d0f.json +0 -4207
  24. package/dist/static/diamond.8c91431a.json +0 -6716
  25. package/dist/static/dice.eb192df8.json +0 -16260
  26. package/dist/static/golf.55585049.json +0 -2832
  27. package/dist/static/magicwand.75ac8f1b.json +0 -3879
  28. package/dist/static/mechanical-arm.7561628e.json +0 -4428
  29. package/dist/static/medal.782dab23.json +0 -4134
  30. package/dist/static/party-ball.e19caed6.json +0 -11578
  31. package/dist/static/party-popper.9f7992e8.json +0 -6416
  32. package/dist/static/slot-machine.ba8014dd.json +0 -7779
  33. package/dist/static/super.7fad19f6.json +0 -3720
  34. package/dist/static/trophy.a8ea85ef.json +0 -6813
  35. package/dist/static/victory.2ca41d92.json +0 -9959
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet.js","sources":["../../../../src/features/worksheet/worksheet/worksheet.tsx"],"sourcesContent":["import type { TWorksheetBlocker } from './worksheet-blocker/worksheet-blocker-types';\nimport type { IWorksheetProps, IWorksheetRef, IWorksheetResponse } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport Info2Icon from '../../../assets/line-icons/icons/info2';\nimport getDeviceDetails from '../../../helpers/get-device-details';\nimport DesmosCalculator from '../../sheet-tools/desmos-calculator/desmos-calculator';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport EVENTS from '../constants/events';\nimport UserPointer from '../user-pointer-pin/user-pin';\nimport {\n DESMOS_CALC_POSITION,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from './constants';\nimport useCreateImperativeHandle from './hooks/use-create-imperative-handle';\nimport useGetActiveQuestionId from './hooks/use-get-active-question-id';\nimport useTimeSpentOnQuestions from './hooks/use-time-on-questions';\nimport QuestionTips from './question-tips';\nimport WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetBlocker from './worksheet-blocker/worksheet-blocker';\nimport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n getWorksheetNudgeBannerInfo,\n scrollToQuestion,\n} from './worksheet-helpers';\nimport WorksheetNavigation from './worksheet-navigation/worksheet-navigation';\nimport WorksheetQuestion from './worksheet-question/worksheet-question';\nimport Navigator from './worksheet-sidebar/navigator';\nimport WorksheetSideBar from './worksheet-sidebar/sidebar';\nimport * as Styled from './worksheet-styled';\nimport WorksheetSummary from './worksheet-summary/worksheet-summary';\n\n/**\n *\n * @param learnosityItems cannot not be changed between the renders\n */\nconst WorksheetComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetProps> = (props, ref) => {\n const {\n userType,\n studentName = 'Student',\n questionsSignedRequest,\n worksheetName,\n initialResponseId,\n initialItemIndex,\n learnosityActivityRef,\n learnosityItems,\n learnosityResponses,\n layout,\n background,\n behavior,\n updatedResponses,\n showNudgeBanner,\n markedAsCompleted,\n onResponseChange,\n onBulkResponsesChange,\n onResponsesChange,\n onMediaStateChange,\n onTeacherValidation,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n learnosity,\n appendedQuestionIds,\n worksheetCompleted,\n userId,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n isCanvasEnabled,\n onHelp,\n onPublishMouseMove,\n onSubscribeMouseMove,\n onActiveQuestionChange,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n loggerRef,\n canResolveDoubt,\n onResolveDoubt,\n onSkip,\n canToggleScribbling = true,\n studentId,\n subjectiveProps,\n canShowActionBar = true,\n } = props;\n const { initialQuestion, navigationMode, teacherValidationEnabled } = behavior;\n const {\n containerStyle,\n containerWidth,\n minQuestionHeight,\n minSummaryHeight,\n questionsScrollable,\n navigationBar,\n topOffset,\n renderSideBar,\n showUserPointer = true,\n } = layout;\n\n const { actionbarHeight, maxQuestionWidth, questionsContainerWidth } = useMemo(\n () => getWorksheetDimensions(learnosityItems, layout),\n [layout, learnosityItems],\n );\n\n const [questions] = useState(() =>\n getQuestionsFromItems(learnosityItems, {\n sectioned:\n teacherValidationEnabled && navigationMode !== 'ADAPTIVE' && navigationMode !== 'CURRENT',\n adaptive: navigationMode === 'ADAPTIVE',\n }),\n );\n\n const [responses, setResponses] = useState<Record<string, IWorksheetResponse>>(\n () => learnosityResponses ?? getInitialResponses(questions),\n );\n const [isScribblingEnabled, setIsScribblingEnabled] = useState(false);\n const lastUnlockedQuestionIndex = useMemo(\n () =>\n navigationMode !== 'OPEN'\n ? getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n })\n : questions.length - 1,\n [behavior, navigationMode, questions, responses, userType],\n );\n\n const questionsToRender = useMemo(\n () => getRenderableQuestions({ questions, lastUnlockedQuestionIndex, userType }),\n [questions, lastUnlockedQuestionIndex, userType],\n );\n\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\n\n const { bannerBackgroundColor: nudgeBannerBackgroundColor, label: nudgeBannerLabel } =\n getWorksheetNudgeBannerInfo(userType, Boolean(markedAsCompleted));\n\n const [initialQuestionId] = useState(() =>\n getInitialQuestionId({\n questions,\n initialQuestion,\n lastUnlockedQuestionIndex: getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n }),\n initialResponseId,\n initialItemIndex,\n }),\n );\n\n const { activeQuestionId, setActiveQuestionId, intersectionObserver } =\n useGetActiveQuestionId(initialQuestionId);\n const activeQuestionIndex = useMemo(\n () => questions.findIndex(question => question.response_id === activeQuestionId),\n [activeQuestionId, questions],\n );\n const [summaryVisible, setSummaryVisible] = useState(false);\n const [blocker, setBlocker] = useState<TWorksheetBlocker>();\n\n const [showCalculator, setShowCalculator] = useState(false);\n const getTimeSpentOnQuestion = useTimeSpentOnQuestions(behavior, responses, activeQuestionId);\n\n const handleMediaStateChange = useCallback<NonNullable<typeof onMediaStateChange>>(\n (question, mediaType, mediaState) => {\n const key = mediaType === 'SIMULATION' ? 'simState' : undefined;\n\n if (!key) return;\n\n if (onResponseChange) {\n setResponses(prevResponses => {\n const questionId = question.response_id;\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n const updatedResponse = {\n ...questionMeta,\n ...prevResponses[questionId],\n [key]: mediaState,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: updatedResponse,\n isNewAttempt: false,\n question,\n });\n\n return {\n ...prevResponses,\n [questionId]: updatedResponse,\n };\n });\n } else if (onMediaStateChange) {\n onMediaStateChange(question, mediaType, mediaState);\n }\n },\n [onMediaStateChange, onResponseChange, questions],\n );\n\n const handleMarkForReview = useCallback(\n (questionId: string, markedForReview: boolean) => {\n setResponses(prevResponses => {\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n return {\n ...prevResponses,\n [questionId]: {\n ...questionMeta,\n ...prevResponses[questionId],\n markedForReview,\n },\n };\n });\n },\n [questions],\n );\n\n const handleBlockerClose = useCallback(() => {\n setBlocker(prevBlocker => {\n if (prevBlocker) {\n const lastUnlockedQuestionId = questions[lastUnlockedQuestionIndex]?.response_id;\n\n if (lastUnlockedQuestionId) {\n setTimeout(() => {\n scrollToQuestion(lastUnlockedQuestionId);\n }, 50);\n }\n }\n\n return undefined;\n });\n }, [lastUnlockedQuestionIndex, questions]);\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setSummaryVisible(false);\n\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n },\n [questionsScrollable, setActiveQuestionId],\n );\n\n const onCalculatorClose = useCallback(() => {\n setShowCalculator(false);\n }, []);\n\n const onCalculatorOpen = useCallback(() => {\n setShowCalculator(true);\n }, []);\n\n const handleOnGoToReview = useCallback(() => {\n setSummaryVisible(true);\n }, []);\n\n useEffect(() => {\n const activeQuestion = questions[activeQuestionIndex];\n\n if (activeQuestion && onActiveQuestionChange) {\n onActiveQuestionChange(activeQuestion);\n const modal = document.querySelector('div[role=\"dialog\"][aria-label=\"Math Response Modal\"]');\n\n if (modal) {\n modal.classList.add('lds-flexible-container--hide');\n }\n }\n }, [onActiveQuestionChange, questions, activeQuestionIndex]);\n\n useCreateImperativeHandle(ref, {\n behavior,\n questions,\n setResponses,\n onResponseChange,\n onBulkResponsesChange,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n useEffect(() => {\n if (onResponsesChange && responses) {\n onResponsesChange(responses);\n }\n }, [onResponsesChange, responses]);\n\n useEffect(() => {\n if (updatedResponses) {\n setResponses(updatedResponses);\n }\n }, [updatedResponses]);\n\n useLayoutEffect(() => {\n let timer: NodeJS.Timeout;\n\n if (learnosity && initialQuestionId) {\n if (getDeviceDetails().browser_name === 'Safari') {\n timer = setTimeout(() => {\n scrollToQuestion(initialQuestionId);\n }, 400);\n } else {\n scrollToQuestion(initialQuestionId);\n }\n }\n\n return () => {\n clearTimeout(timer);\n };\n }, [learnosity, initialQuestionId, topOffset]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus, is_optional } = lastUnlockedQuestion;\n\n if (userType === 'TEACHER') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (\n lastUnlockedQuestionResponse?.submittedByStudent &&\n !lastUnlockedQuestionResponse?.validatedByTeacher\n ) {\n setBlocker('exit-ticket-review-available');\n } else if (!lastUnlockedQuestionResponse?.validatedByTeacher) {\n setBlocker('exit-ticket-teacher-intervention');\n } else {\n handleBlockerClose();\n }\n } else if (is_optional) {\n if (!lastUnlockedQuestionResponse?.assignStatus) {\n setBlocker('optional-items-assignment');\n } else {\n handleBlockerClose();\n }\n } else if (!is_optional) {\n handleBlockerClose();\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n handleBlockerClose,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse,\n userType,\n ]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus } = lastUnlockedQuestion;\n\n if (userType === 'STUDENT') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (lastUnlockedQuestionResponse?.submittedByStudent) {\n onExitTicketSubmit?.();\n } else {\n onExitTicketStart?.();\n }\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse?.submittedByStudent,\n onExitTicketStart,\n onExitTicketSubmit,\n userType,\n ]);\n\n useEffect(() => {\n if (navigationMode === 'CURRENT') {\n learnosityItems.forEach(({ reference, questions: itemQuestions }) => {\n if (itemQuestions.length < 3) {\n captureMessage(`Diagnostics item has Less than 3 questions: ${reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-count-${reference}`], // Add unique fingerprint\n });\n } else if (\n itemQuestions[0]?.instructor_stimulus !== 'Try' ||\n itemQuestions[1]?.instructor_stimulus !== 'Learn' ||\n itemQuestions[2]?.instructor_stimulus !== 'Apply'\n ) {\n captureMessage(\n `Diagnostics questions sequence is incorrect expected [Try, Learn, Apply]: ${reference}`,\n {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-sequence-${reference}`], // Add unique fingerprint\n },\n );\n }\n });\n }\n }, [learnosityActivityRef, learnosityItems, navigationMode]);\n\n useEffect(() => {\n questions.forEach(question => {\n const { validation, item_reference, type, question_number, metadata } = question;\n const responseNeeded = teacherValidationEnabled ? type !== 'clozetext' : true;\n\n if (responseNeeded && validation?.valid_response) {\n const value = validation.valid_response.value ?? [];\n\n if (value?.length === 0) {\n const altResponses = validation.alt_responses ?? [];\n const hasAltResponse = altResponses.some(altResponse => altResponse.value.length > 0);\n\n if (!hasAltResponse) {\n captureMessage(`Question has no valid response: ${metadata.widget_reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': item_reference,\n 'question-number': question_number,\n 'widget-reference': metadata.widget_reference,\n },\n fingerprint: [`no-valid-response-${metadata.widget_reference}`], // Add unique fingerprint\n });\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_MISSING_VALIDATION, {\n item_reference: item_reference,\n widget_reference: metadata.widget_reference,\n question_type: type,\n question_number: question_number,\n });\n }\n }\n }\n });\n }, [learnosityActivityRef, loggerRef, questions, teacherValidationEnabled]);\n\n if (!learnosity) {\n return null;\n }\n\n return (\n <>\n <Styled.LearnosityStyleOverrides />\n {showNudgeBanner && (\n <Styled.NudgeBannerWrapper\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={1.75}\n $height={WORKSHEET_NUDGE_BANNER_HEIGHT}\n $gap={8}\n $gutter={8}\n $flexGap={8}\n $background={nudgeBannerBackgroundColor}\n $topOffset={layout.topOffset - WORKSHEET_NUDGE_BANNER_HEIGHT}\n >\n {markedAsCompleted ? (\n <Styled.NudgeBannerIcon>\n <Check2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n ) : (\n <Styled.NudgeBannerIcon>\n <Info2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n )}\n\n <Text $renderAs=\"ub3\">{nudgeBannerLabel}</Text>\n </Styled.NudgeBannerWrapper>\n )}\n\n <Styled.WorksheetContainer $background=\"WHITE\" $width={containerWidth}>\n {navigationBar === 'top' && (\n <Styled.NavigationContainer $topOffset={topOffset} $height={TOP_NAVIGATION_HEIGHT}>\n <Styled.NavigationWrapper>\n <WorksheetNavigation\n placement=\"top\"\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n behavior={behavior}\n onItemNumberClick={handleItemNumberClick}\n userType={userType}\n summaryVisible={summaryVisible}\n />\n </Styled.NavigationWrapper>\n </Styled.NavigationContainer>\n )}\n {blocker && lastUnlockedQuestion && (\n <Styled.BlockerWrapper $minHeight={minQuestionHeight} $topOffset={topOffset}>\n <FlexView $width={maxQuestionWidth} $justifyContent=\"center\" $alignItems=\"center\">\n <WorksheetBlocker\n blocker={blocker}\n lastUnlockedQuestion={lastUnlockedQuestion}\n studentName={studentName}\n onBlockerClose={handleBlockerClose}\n onOptionalItemAssignment={onOptionalItemAssignment}\n onOptionalItemSkip={onOptionalItemSkip}\n onTeacherValidation={onTeacherValidation}\n />\n </FlexView>\n </Styled.BlockerWrapper>\n )}\n {showUserPointer && (\n <UserPointer\n activeQuestionIndex={activeQuestionIndex}\n onClick={handleItemNumberClick}\n questions={questions}\n bottomOffset={actionbarHeight}\n topOffset={topOffset}\n userType={userType}\n />\n )}\n {showCalculator && (\n <Styled.DesmosCalcWrapper>\n <DesmosCalculator initialPosition={DESMOS_CALC_POSITION} onClose={onCalculatorClose} />\n </Styled.DesmosCalcWrapper>\n )}\n <Styled.ActionbarContainer\n $marginTop={userType === 'TEACHER' && summaryVisible ? '0' : actionbarHeight}\n $height={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n <QuestionTips\n width={questionsContainerWidth - 32}\n question={questions[activeQuestionIndex]}\n learnosity={learnosity}\n userType={userType}\n />\n {canShowActionBar && (\n <Styled.ActionbarWrapper\n $height={actionbarHeight}\n $width={containerStyle === 'card' ? questionsContainerWidth - 32 : '100%'}\n $isCardView={containerStyle === 'card'}\n >\n <FlexView\n $gutterX={1}\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $width={questionsContainerWidth - 32}\n >\n <WorksheetActionBar\n userType={userType}\n layout={layout}\n behavior={behavior}\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n onCalculatorOpen={onCalculatorOpen}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n appendedQuestionIds={appendedQuestionIds}\n learnosity={learnosity}\n isCanvasEnabled={isCanvasEnabled}\n canSubmitWorksheet={canSubmitWorksheet}\n isScribblingEnabled={isScribblingEnabled}\n isSummaryVisible={summaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n setSummaryVisible={setSummaryVisible}\n setBlocker={setBlocker}\n setIsScribblingEnabled={setIsScribblingEnabled}\n setActiveQuestionId={setActiveQuestionId}\n onItemNumberClick={handleItemNumberClick}\n onGoToReview={handleOnGoToReview}\n onResponseChange={onResponseChange}\n onHelp={onHelp}\n onTeacherValidation={onTeacherValidation}\n onSubmit={onSubmit}\n showCalculator={showCalculator}\n loggerRef={loggerRef}\n onSkip={onSkip}\n canToggleScribbling={canToggleScribbling}\n />\n </FlexView>\n </Styled.ActionbarWrapper>\n )}\n {!summaryVisible && questionsScrollable && userType === 'STUDENT' && (\n <Styled.StudentWorksheetSideBar>\n <Navigator />\n </Styled.StudentWorksheetSideBar>\n )}\n </Styled.ActionbarContainer>\n <Styled.QuestionsWrapper\n $actionbarHeight={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n {questionsToRender.map((question, questionIndex) => {\n const { response_id: responseId, is_optional } = question;\n const assignStatus = responses[responseId]?.assignStatus;\n\n if (behavior.teacherValidationEnabled) {\n if (assignStatus === 'skipped') return null;\n\n if (is_optional && assignStatus !== 'assigned' && userType === 'STUDENT') {\n return null;\n }\n }\n\n return (\n <WorksheetQuestion\n key={responseId}\n signedRequest={questionsSignedRequest}\n userType={userType}\n worksheetCompleted={worksheetCompleted}\n question={question}\n response={responses[responseId]}\n nextQuestionId={\n navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT'\n ? lastUnlockedQuestion?.response_id\n : questionIndex < lastUnlockedQuestionIndex\n ? questions[questionIndex + 1]?.response_id\n : undefined\n }\n maxQuestionWidth={maxQuestionWidth}\n learnosity={learnosity}\n isActive={responseId === activeQuestionId}\n isHidden={\n (!questionsScrollable && responseId !== activeQuestionId) || summaryVisible\n }\n canRender={\n activeQuestionIndex > -1 &&\n (questionIndex === activeQuestionIndex ||\n (navigationMode !== 'CURRENT' && questionIndex === activeQuestionIndex + 1))\n }\n background={background}\n appended={appendedQuestionIds.includes(responseId)}\n behavior={behavior}\n layout={layout}\n actionbarHeight={actionbarHeight}\n intersectionObserver={intersectionObserver}\n onMarkForReview={handleMarkForReview}\n onMediaStateChange={handleMediaStateChange}\n userId={userId}\n isScribblingEnabled={isScribblingEnabled}\n onPublishStrokes={onPublishStrokes}\n onReceiveStrokes={onReceiveStrokes}\n initialStrokesData={initialStrokesData}\n isCanvasEnabled={isCanvasEnabled}\n onPublishMouseMove={onPublishMouseMove}\n onSubscribeMouseMove={onSubscribeMouseMove}\n setActiveQuestionId={setActiveQuestionId}\n canResolveDoubt={canResolveDoubt}\n onResolveDoubt={onResolveDoubt}\n studentId={studentId}\n subjectiveProps={subjectiveProps}\n responses={responses}\n loggerRef={loggerRef}\n />\n );\n })}\n {summaryVisible && (\n <WorksheetSummary\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n behavior={behavior}\n minHeight={minSummaryHeight}\n summaryDescription={summaryDescription}\n summaryVisible={summaryVisible}\n />\n )}\n </Styled.QuestionsWrapper>\n {!summaryVisible && renderSideBar && (\n <WorksheetSideBar\n questionWidth={maxQuestionWidth}\n questions={questions}\n activeQuestionIndex={activeQuestionIndex}\n learnosity={learnosity}\n userType={userType}\n height={minQuestionHeight}\n actionbarHeight={actionbarHeight}\n openQuestionFeedbackModal={openQuestionFeedbackModal}\n loggerRef={loggerRef}\n />\n )}\n </Styled.WorksheetContainer>\n </>\n );\n};\n\nconst Worksheet = memo(forwardRef(WorksheetComp));\n\nexport default Worksheet;\n"],"names":["WorksheetComp","props","ref","userType","studentName","questionsSignedRequest","worksheetName","initialResponseId","initialItemIndex","learnosityActivityRef","learnosityItems","learnosityResponses","layout","background","behavior","updatedResponses","showNudgeBanner","markedAsCompleted","onResponseChange","onBulkResponsesChange","onResponsesChange","onMediaStateChange","onTeacherValidation","onOptionalItemAssignment","onOptionalItemSkip","onExitTicketStart","onExitTicketSubmit","onSubmit","learnosity","appendedQuestionIds","worksheetCompleted","userId","onPublishStrokes","onReceiveStrokes","initialStrokesData","isCanvasEnabled","onHelp","onPublishMouseMove","onSubscribeMouseMove","onActiveQuestionChange","openQuestionFeedbackModal","summaryDescription","canSubmitWorksheet","loggerRef","canResolveDoubt","onResolveDoubt","onSkip","canToggleScribbling","studentId","subjectiveProps","canShowActionBar","initialQuestion","navigationMode","teacherValidationEnabled","containerStyle","containerWidth","minQuestionHeight","minSummaryHeight","questionsScrollable","navigationBar","topOffset","renderSideBar","showUserPointer","actionbarHeight","maxQuestionWidth","questionsContainerWidth","useMemo","getWorksheetDimensions","questions","useState","getQuestionsFromItems","responses","setResponses","getInitialResponses","isScribblingEnabled","setIsScribblingEnabled","lastUnlockedQuestionIndex","getLastUnlockedQuestionIndex","questionsToRender","getRenderableQuestions","lastUnlockedQuestion","lastUnlockedQuestionResponse","nudgeBannerBackgroundColor","nudgeBannerLabel","getWorksheetNudgeBannerInfo","initialQuestionId","getInitialQuestionId","activeQuestionId","setActiveQuestionId","intersectionObserver","useGetActiveQuestionId","activeQuestionIndex","question","summaryVisible","setSummaryVisible","blocker","setBlocker","showCalculator","setShowCalculator","getTimeSpentOnQuestion","useTimeSpentOnQuestions","handleMediaStateChange","useCallback","mediaType","mediaState","key","prevResponses","questionId","questionMeta","getQuestionMetadata","updatedResponse","handleMarkForReview","markedForReview","handleBlockerClose","prevBlocker","lastUnlockedQuestionId","_a","scrollToQuestion","handleItemNumberClick","onCalculatorClose","onCalculatorOpen","handleOnGoToReview","useEffect","activeQuestion","modal","useCreateImperativeHandle","useLayoutEffect","timer","getDeviceDetails","item_type","instructor_stimulus","is_optional","reference","itemQuestions","captureMessage","_b","_c","validation","item_reference","type","question_number","metadata","value","altResponse","EVENTS","jsxs","Fragment","jsx","Styled.LearnosityStyleOverrides","Styled.NudgeBannerWrapper","WORKSHEET_NUDGE_BANNER_HEIGHT","Styled.NudgeBannerIcon","Check2Icon","Info2Icon","Text","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","Styled.BlockerWrapper","FlexView","WorksheetBlocker","UserPointer","Styled.DesmosCalcWrapper","DesmosCalculator","DESMOS_CALC_POSITION","Styled.ActionbarContainer","QuestionTips","Styled.ActionbarWrapper","WorksheetActionBar","Styled.StudentWorksheetSideBar","Navigator","Styled.QuestionsWrapper","questionIndex","responseId","assignStatus","WorksheetQuestion","WorksheetSummary","WorksheetSideBar","Worksheet","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet.js","sources":["../../../../src/features/worksheet/worksheet/worksheet.tsx"],"sourcesContent":["import type { TWorksheetBlocker } from './worksheet-blocker/worksheet-blocker-types';\nimport type { IWorksheetProps, IWorksheetRef, IWorksheetResponse } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport Info2Icon from '../../../assets/line-icons/icons/info2';\nimport getDeviceDetails from '../../../helpers/get-device-details';\nimport DesmosCalculator from '../../sheet-tools/desmos-calculator/desmos-calculator';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport EVENTS from '../constants/events';\nimport UserPointer from '../user-pointer-pin/user-pin';\nimport {\n DESMOS_CALC_POSITION,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from './constants';\nimport useCreateImperativeHandle from './hooks/use-create-imperative-handle';\nimport useGetActiveQuestionId from './hooks/use-get-active-question-id';\nimport useTimeSpentOnQuestions from './hooks/use-time-on-questions';\nimport QuestionTips from './question-tips';\nimport WorksheetActionBar from './worksheet-action-bar/worksheet-action-bar';\nimport WorksheetBlocker from './worksheet-blocker/worksheet-blocker';\nimport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n getWorksheetNudgeBannerInfo,\n scrollToQuestion,\n} from './worksheet-helpers';\nimport WorksheetNavigation from './worksheet-navigation/worksheet-navigation';\nimport WorksheetQuestion from './worksheet-question/worksheet-question';\nimport Navigator from './worksheet-sidebar/navigator';\nimport WorksheetSideBar from './worksheet-sidebar/sidebar';\nimport * as Styled from './worksheet-styled';\nimport WorksheetSummary from './worksheet-summary/worksheet-summary';\n\n/**\n *\n * @param learnosityItems cannot not be changed between the renders\n */\nconst WorksheetComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetProps> = (props, ref) => {\n const {\n userType,\n studentName = 'Student',\n questionsSignedRequest,\n worksheetName,\n initialResponseId,\n initialItemIndex,\n learnosityActivityRef,\n learnosityItems,\n learnosityResponses,\n layout,\n background,\n behavior,\n updatedResponses,\n showNudgeBanner,\n markedAsCompleted,\n onResponseChange,\n onBulkResponsesChange,\n onResponsesChange,\n onMediaStateChange,\n onTeacherValidation,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onExitTicketStart,\n onExitTicketSubmit,\n onSubmit,\n learnosity,\n appendedQuestionIds,\n worksheetCompleted,\n userId,\n onPublishStrokes,\n onReceiveStrokes,\n initialStrokesData,\n isCanvasEnabled,\n onHelp,\n onPublishMouseMove,\n onSubscribeMouseMove,\n onActiveQuestionChange,\n openQuestionFeedbackModal,\n summaryDescription,\n canSubmitWorksheet,\n loggerRef,\n canResolveDoubt,\n onResolveDoubt,\n onSkip,\n canToggleScribbling = true,\n studentId,\n subjectiveProps,\n canShowActionBar = true,\n } = props;\n const { initialQuestion, navigationMode, teacherValidationEnabled } = behavior;\n const {\n containerStyle,\n containerWidth,\n minQuestionHeight,\n minSummaryHeight,\n questionsScrollable,\n navigationBar,\n topOffset,\n renderSideBar,\n showUserPointer = true,\n } = layout;\n\n const { actionbarHeight, maxQuestionWidth, questionsContainerWidth } = useMemo(\n () => getWorksheetDimensions(learnosityItems, layout),\n [layout, learnosityItems],\n );\n\n const [questions] = useState(() =>\n getQuestionsFromItems(learnosityItems, {\n sectioned:\n teacherValidationEnabled && navigationMode !== 'ADAPTIVE' && navigationMode !== 'CURRENT',\n adaptive: navigationMode === 'ADAPTIVE',\n }),\n );\n\n const [responses, setResponses] = useState<Record<string, IWorksheetResponse>>(\n () => learnosityResponses ?? getInitialResponses(questions),\n );\n const [isScribblingEnabled, setIsScribblingEnabled] = useState(false);\n const lastUnlockedQuestionIndex = useMemo(\n () =>\n navigationMode !== 'OPEN'\n ? getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n })\n : questions.length - 1,\n [behavior, navigationMode, questions, responses, userType],\n );\n\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\n\n const { bannerBackgroundColor: nudgeBannerBackgroundColor, label: nudgeBannerLabel } =\n getWorksheetNudgeBannerInfo(userType, Boolean(markedAsCompleted));\n\n const [initialQuestionId] = useState(() =>\n getInitialQuestionId({\n questions,\n initialQuestion,\n lastUnlockedQuestionIndex: getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n }),\n initialResponseId,\n initialItemIndex,\n }),\n );\n\n const { activeQuestionId, setActiveQuestionId, intersectionObserver } =\n useGetActiveQuestionId(initialQuestionId);\n const activeQuestionIndex = useMemo(\n () => questions.findIndex(question => question.response_id === activeQuestionId),\n [activeQuestionId, questions],\n );\n const [summaryVisible, setSummaryVisible] = useState(false);\n const [blocker, setBlocker] = useState<TWorksheetBlocker>();\n\n const [showCalculator, setShowCalculator] = useState(false);\n const getTimeSpentOnQuestion = useTimeSpentOnQuestions(behavior, responses, activeQuestionId);\n\n const handleMediaStateChange = useCallback<NonNullable<typeof onMediaStateChange>>(\n (question, mediaType, mediaState) => {\n const key = mediaType === 'SIMULATION' ? 'simState' : undefined;\n\n if (!key) return;\n\n if (onResponseChange) {\n setResponses(prevResponses => {\n const questionId = question.response_id;\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n const updatedResponse = {\n ...questionMeta,\n ...prevResponses[questionId],\n [key]: mediaState,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: updatedResponse,\n isNewAttempt: false,\n question,\n });\n\n return {\n ...prevResponses,\n [questionId]: updatedResponse,\n };\n });\n } else if (onMediaStateChange) {\n onMediaStateChange(question, mediaType, mediaState);\n }\n },\n [onMediaStateChange, onResponseChange, questions],\n );\n\n const handleMarkForReview = useCallback(\n (questionId: string, markedForReview: boolean) => {\n setResponses(prevResponses => {\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n return {\n ...prevResponses,\n [questionId]: {\n ...questionMeta,\n ...prevResponses[questionId],\n markedForReview,\n },\n };\n });\n },\n [questions],\n );\n\n const handleBlockerClose = useCallback(() => {\n setBlocker(prevBlocker => {\n if (prevBlocker) {\n const lastUnlockedQuestionId = questions[lastUnlockedQuestionIndex]?.response_id;\n\n if (lastUnlockedQuestionId) {\n setTimeout(() => {\n scrollToQuestion(lastUnlockedQuestionId);\n }, 50);\n }\n }\n\n return undefined;\n });\n }, [lastUnlockedQuestionIndex, questions]);\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setSummaryVisible(false);\n\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n },\n [questionsScrollable, setActiveQuestionId],\n );\n\n const onCalculatorClose = useCallback(() => {\n setShowCalculator(false);\n }, []);\n\n const onCalculatorOpen = useCallback(() => {\n setShowCalculator(true);\n }, []);\n\n const handleOnGoToReview = useCallback(() => {\n setSummaryVisible(true);\n }, []);\n\n useEffect(() => {\n const activeQuestion = questions[activeQuestionIndex];\n\n if (activeQuestion && onActiveQuestionChange) {\n onActiveQuestionChange(activeQuestion);\n }\n }, [onActiveQuestionChange, questions, activeQuestionIndex]);\n\n useCreateImperativeHandle(ref, {\n behavior,\n questions,\n setResponses,\n onResponseChange,\n onBulkResponsesChange,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n useEffect(() => {\n if (onResponsesChange && responses) {\n onResponsesChange(responses);\n }\n }, [onResponsesChange, responses]);\n\n useEffect(() => {\n if (updatedResponses) {\n setResponses(updatedResponses);\n }\n }, [updatedResponses]);\n\n useLayoutEffect(() => {\n let timer: NodeJS.Timeout;\n\n if (learnosity && initialQuestionId) {\n if (getDeviceDetails().browser_name === 'Safari') {\n timer = setTimeout(() => {\n scrollToQuestion(initialQuestionId);\n }, 400);\n } else {\n scrollToQuestion(initialQuestionId);\n }\n }\n\n return () => {\n clearTimeout(timer);\n };\n }, [learnosity, initialQuestionId, topOffset]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus, is_optional } = lastUnlockedQuestion;\n\n if (userType === 'TEACHER') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (\n lastUnlockedQuestionResponse?.submittedByStudent &&\n !lastUnlockedQuestionResponse?.validatedByTeacher\n ) {\n setBlocker('exit-ticket-review-available');\n } else if (!lastUnlockedQuestionResponse?.validatedByTeacher) {\n setBlocker('exit-ticket-teacher-intervention');\n } else {\n handleBlockerClose();\n }\n } else if (is_optional) {\n if (!lastUnlockedQuestionResponse?.assignStatus) {\n setBlocker('optional-items-assignment');\n } else {\n handleBlockerClose();\n }\n } else if (!is_optional) {\n handleBlockerClose();\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n handleBlockerClose,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse,\n userType,\n ]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus } = lastUnlockedQuestion;\n\n if (userType === 'STUDENT') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (lastUnlockedQuestionResponse?.submittedByStudent) {\n onExitTicketSubmit?.();\n } else {\n onExitTicketStart?.();\n }\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse?.submittedByStudent,\n onExitTicketStart,\n onExitTicketSubmit,\n userType,\n ]);\n\n useEffect(() => {\n if (navigationMode === 'CURRENT') {\n learnosityItems.forEach(({ reference, questions: itemQuestions }) => {\n if (itemQuestions.length < 3) {\n captureMessage(`Diagnostics item has Less than 3 questions: ${reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-count-${reference}`], // Add unique fingerprint\n });\n } else if (\n itemQuestions[0]?.instructor_stimulus !== 'Try' ||\n itemQuestions[1]?.instructor_stimulus !== 'Learn' ||\n itemQuestions[2]?.instructor_stimulus !== 'Apply'\n ) {\n captureMessage(\n `Diagnostics questions sequence is incorrect expected [Try, Learn, Apply]: ${reference}`,\n {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-sequence-${reference}`], // Add unique fingerprint\n },\n );\n }\n });\n }\n }, [learnosityActivityRef, learnosityItems, navigationMode]);\n\n useEffect(() => {\n questions.forEach(question => {\n const { validation, item_reference, type, question_number, metadata } = question;\n const responseNeeded = teacherValidationEnabled ? type !== 'clozetext' : true;\n\n if (responseNeeded && validation?.valid_response) {\n const value = validation.valid_response.value ?? [];\n\n if (value?.length === 0) {\n const altResponses = validation.alt_responses ?? [];\n const hasAltResponse = altResponses.some(altResponse => altResponse.value.length > 0);\n\n if (!hasAltResponse) {\n captureMessage(`Question has no valid response: ${metadata.widget_reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': item_reference,\n 'question-number': question_number,\n 'widget-reference': metadata.widget_reference,\n },\n fingerprint: [`no-valid-response-${metadata.widget_reference}`], // Add unique fingerprint\n });\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_MISSING_VALIDATION, {\n item_reference: item_reference,\n widget_reference: metadata.widget_reference,\n question_type: type,\n question_number: question_number,\n });\n }\n }\n }\n });\n }, [learnosityActivityRef, loggerRef, questions, teacherValidationEnabled]);\n\n if (!learnosity) {\n return null;\n }\n\n return (\n <>\n {showNudgeBanner && (\n <Styled.NudgeBannerWrapper\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={1.75}\n $height={WORKSHEET_NUDGE_BANNER_HEIGHT}\n $gap={8}\n $gutter={8}\n $flexGap={8}\n $background={nudgeBannerBackgroundColor}\n $topOffset={layout.topOffset - WORKSHEET_NUDGE_BANNER_HEIGHT}\n >\n {markedAsCompleted ? (\n <Styled.NudgeBannerIcon>\n <Check2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n ) : (\n <Styled.NudgeBannerIcon>\n <Info2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n )}\n\n <Text $renderAs=\"ub3\">{nudgeBannerLabel}</Text>\n </Styled.NudgeBannerWrapper>\n )}\n\n <Styled.WorksheetContainer $background=\"WHITE\" $width={containerWidth}>\n {navigationBar === 'top' && (\n <Styled.NavigationContainer $topOffset={topOffset} $height={TOP_NAVIGATION_HEIGHT}>\n <Styled.NavigationWrapper>\n <WorksheetNavigation\n placement=\"top\"\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n behavior={behavior}\n onItemNumberClick={handleItemNumberClick}\n userType={userType}\n summaryVisible={summaryVisible}\n />\n </Styled.NavigationWrapper>\n </Styled.NavigationContainer>\n )}\n {blocker && lastUnlockedQuestion && (\n <Styled.BlockerWrapper $minHeight={minQuestionHeight} $topOffset={topOffset}>\n <FlexView $width={maxQuestionWidth} $justifyContent=\"center\" $alignItems=\"center\">\n <WorksheetBlocker\n blocker={blocker}\n lastUnlockedQuestion={lastUnlockedQuestion}\n studentName={studentName}\n onBlockerClose={handleBlockerClose}\n onOptionalItemAssignment={onOptionalItemAssignment}\n onOptionalItemSkip={onOptionalItemSkip}\n onTeacherValidation={onTeacherValidation}\n />\n </FlexView>\n </Styled.BlockerWrapper>\n )}\n {showUserPointer && (\n <UserPointer\n activeQuestionIndex={activeQuestionIndex}\n onClick={handleItemNumberClick}\n questions={questions}\n bottomOffset={actionbarHeight}\n topOffset={topOffset}\n userType={userType}\n />\n )}\n {showCalculator && (\n <Styled.DesmosCalcWrapper>\n <DesmosCalculator initialPosition={DESMOS_CALC_POSITION} onClose={onCalculatorClose} />\n </Styled.DesmosCalcWrapper>\n )}\n <Styled.ActionbarContainer\n $marginTop={userType === 'TEACHER' && summaryVisible ? '0' : actionbarHeight}\n $height={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n <QuestionTips\n width={questionsContainerWidth - 32}\n question={questions[activeQuestionIndex]}\n learnosity={learnosity}\n userType={userType}\n />\n {canShowActionBar && (\n <Styled.ActionbarWrapper\n $height={actionbarHeight}\n $width={containerStyle === 'card' ? questionsContainerWidth - 32 : '100%'}\n $isCardView={containerStyle === 'card'}\n >\n <FlexView\n $gutterX={1}\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $width={questionsContainerWidth - 32}\n >\n <WorksheetActionBar\n userType={userType}\n layout={layout}\n behavior={behavior}\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n onCalculatorOpen={onCalculatorOpen}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n appendedQuestionIds={appendedQuestionIds}\n learnosity={learnosity}\n isCanvasEnabled={isCanvasEnabled}\n canSubmitWorksheet={canSubmitWorksheet}\n isScribblingEnabled={isScribblingEnabled}\n isSummaryVisible={summaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n setSummaryVisible={setSummaryVisible}\n setBlocker={setBlocker}\n setIsScribblingEnabled={setIsScribblingEnabled}\n setActiveQuestionId={setActiveQuestionId}\n onItemNumberClick={handleItemNumberClick}\n onGoToReview={handleOnGoToReview}\n onResponseChange={onResponseChange}\n onHelp={onHelp}\n onTeacherValidation={onTeacherValidation}\n onSubmit={onSubmit}\n showCalculator={showCalculator}\n loggerRef={loggerRef}\n onSkip={onSkip}\n canToggleScribbling={canToggleScribbling}\n />\n </FlexView>\n </Styled.ActionbarWrapper>\n )}\n {!summaryVisible && questionsScrollable && userType === 'STUDENT' && (\n <Styled.StudentWorksheetSideBar>\n <Navigator />\n </Styled.StudentWorksheetSideBar>\n )}\n </Styled.ActionbarContainer>\n <Styled.QuestionsWrapper\n $actionbarHeight={actionbarHeight}\n $isCardView={containerStyle === 'card'}\n >\n {getRenderableQuestions({ questions, lastUnlockedQuestionIndex, userType }).map(\n (question, questionIndex) => {\n const { response_id: responseId, is_optional } = question;\n const assignStatus = responses[responseId]?.assignStatus;\n\n if (behavior.teacherValidationEnabled) {\n if (assignStatus === 'skipped') return null;\n\n if (is_optional && assignStatus !== 'assigned' && userType === 'STUDENT') {\n return null;\n }\n }\n\n return (\n <WorksheetQuestion\n key={responseId}\n signedRequest={questionsSignedRequest}\n userType={userType}\n worksheetCompleted={worksheetCompleted}\n question={question}\n response={responses[responseId]}\n nextQuestionId={\n navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT'\n ? lastUnlockedQuestion?.response_id\n : questionIndex < lastUnlockedQuestionIndex\n ? questions[questionIndex + 1]?.response_id\n : undefined\n }\n maxQuestionWidth={maxQuestionWidth}\n learnosity={learnosity}\n isActive={responseId === activeQuestionId}\n isHidden={\n (!questionsScrollable && responseId !== activeQuestionId) || summaryVisible\n }\n canRender={\n activeQuestionIndex > -1 &&\n (questionIndex === activeQuestionIndex ||\n (navigationMode !== 'CURRENT' && questionIndex === activeQuestionIndex + 1))\n }\n background={background}\n appended={appendedQuestionIds.includes(responseId)}\n behavior={behavior}\n layout={layout}\n actionbarHeight={actionbarHeight}\n intersectionObserver={intersectionObserver}\n onMarkForReview={handleMarkForReview}\n onMediaStateChange={handleMediaStateChange}\n userId={userId}\n isScribblingEnabled={isScribblingEnabled}\n onPublishStrokes={onPublishStrokes}\n onReceiveStrokes={onReceiveStrokes}\n initialStrokesData={initialStrokesData}\n isCanvasEnabled={isCanvasEnabled}\n onPublishMouseMove={onPublishMouseMove}\n onSubscribeMouseMove={onSubscribeMouseMove}\n setActiveQuestionId={setActiveQuestionId}\n canResolveDoubt={canResolveDoubt}\n onResolveDoubt={onResolveDoubt}\n studentId={studentId}\n subjectiveProps={subjectiveProps}\n responses={responses}\n loggerRef={loggerRef}\n />\n );\n },\n )}\n {summaryVisible && (\n <WorksheetSummary\n worksheetName={worksheetName}\n questions={questions}\n responses={responses}\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n behavior={behavior}\n minHeight={minSummaryHeight}\n summaryDescription={summaryDescription}\n summaryVisible={summaryVisible}\n />\n )}\n </Styled.QuestionsWrapper>\n {!summaryVisible && renderSideBar && (\n <WorksheetSideBar\n questionWidth={maxQuestionWidth}\n questions={questions}\n activeQuestionIndex={activeQuestionIndex}\n learnosity={learnosity}\n userType={userType}\n height={minQuestionHeight}\n actionbarHeight={actionbarHeight}\n openQuestionFeedbackModal={openQuestionFeedbackModal}\n loggerRef={loggerRef}\n />\n )}\n </Styled.WorksheetContainer>\n </>\n );\n};\n\nconst Worksheet = memo(forwardRef(WorksheetComp));\n\nexport default Worksheet;\n"],"names":["WorksheetComp","props","ref","userType","studentName","questionsSignedRequest","worksheetName","initialResponseId","initialItemIndex","learnosityActivityRef","learnosityItems","learnosityResponses","layout","background","behavior","updatedResponses","showNudgeBanner","markedAsCompleted","onResponseChange","onBulkResponsesChange","onResponsesChange","onMediaStateChange","onTeacherValidation","onOptionalItemAssignment","onOptionalItemSkip","onExitTicketStart","onExitTicketSubmit","onSubmit","learnosity","appendedQuestionIds","worksheetCompleted","userId","onPublishStrokes","onReceiveStrokes","initialStrokesData","isCanvasEnabled","onHelp","onPublishMouseMove","onSubscribeMouseMove","onActiveQuestionChange","openQuestionFeedbackModal","summaryDescription","canSubmitWorksheet","loggerRef","canResolveDoubt","onResolveDoubt","onSkip","canToggleScribbling","studentId","subjectiveProps","canShowActionBar","initialQuestion","navigationMode","teacherValidationEnabled","containerStyle","containerWidth","minQuestionHeight","minSummaryHeight","questionsScrollable","navigationBar","topOffset","renderSideBar","showUserPointer","actionbarHeight","maxQuestionWidth","questionsContainerWidth","useMemo","getWorksheetDimensions","questions","useState","getQuestionsFromItems","responses","setResponses","getInitialResponses","isScribblingEnabled","setIsScribblingEnabled","lastUnlockedQuestionIndex","getLastUnlockedQuestionIndex","lastUnlockedQuestion","lastUnlockedQuestionResponse","nudgeBannerBackgroundColor","nudgeBannerLabel","getWorksheetNudgeBannerInfo","initialQuestionId","getInitialQuestionId","activeQuestionId","setActiveQuestionId","intersectionObserver","useGetActiveQuestionId","activeQuestionIndex","question","summaryVisible","setSummaryVisible","blocker","setBlocker","showCalculator","setShowCalculator","getTimeSpentOnQuestion","useTimeSpentOnQuestions","handleMediaStateChange","useCallback","mediaType","mediaState","key","prevResponses","questionId","questionMeta","getQuestionMetadata","updatedResponse","handleMarkForReview","markedForReview","handleBlockerClose","prevBlocker","lastUnlockedQuestionId","_a","scrollToQuestion","handleItemNumberClick","onCalculatorClose","onCalculatorOpen","handleOnGoToReview","useEffect","activeQuestion","useCreateImperativeHandle","useLayoutEffect","timer","getDeviceDetails","item_type","instructor_stimulus","is_optional","reference","itemQuestions","captureMessage","_b","_c","validation","item_reference","type","question_number","metadata","value","altResponse","EVENTS","jsxs","Fragment","Styled.NudgeBannerWrapper","WORKSHEET_NUDGE_BANNER_HEIGHT","jsx","Styled.NudgeBannerIcon","Check2Icon","Info2Icon","Text","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","Styled.BlockerWrapper","FlexView","WorksheetBlocker","UserPointer","Styled.DesmosCalcWrapper","DesmosCalculator","DESMOS_CALC_POSITION","Styled.ActionbarContainer","QuestionTips","Styled.ActionbarWrapper","WorksheetActionBar","Styled.StudentWorksheetSideBar","Navigator","Styled.QuestionsWrapper","getRenderableQuestions","questionIndex","responseId","assignStatus","WorksheetQuestion","WorksheetSummary","WorksheetSideBar","Worksheet","memo","forwardRef"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4147,10 +4147,8 @@ export declare const LOTTIE: {
4147
4147
  BRONZE_1: string;
4148
4148
  BRONZE_2: string;
4149
4149
  BRONZE_3: string;
4150
- CENT: string;
4151
4150
  CHAPTER_COMPLETED: string;
4152
4151
  CIRCULAR_LOADER: string;
4153
- CLAP: string;
4154
4152
  CLOCK_30MIN: string;
4155
4153
  CLOCK_45MIN: string;
4156
4154
  CLOCK_60MIN: string;
@@ -4159,9 +4157,6 @@ export declare const LOTTIE: {
4159
4157
  COLOR_2: string;
4160
4158
  COLOR_3: string;
4161
4159
  COMPETITIVE_ARENA: string;
4162
- DART: string;
4163
- DIAMOND: string;
4164
- DICE: string;
4165
4160
  DIFFICULT: string;
4166
4161
  DOB: string;
4167
4162
  DOWNLOAD: string;
@@ -4175,7 +4170,6 @@ export declare const LOTTIE: {
4175
4170
  GOLD_1: string;
4176
4171
  GOLD_2: string;
4177
4172
  GOLD_3: string;
4178
- GOLF: string;
4179
4173
  GRADE: string;
4180
4174
  HIGH_SCORE_CONFETTI: string;
4181
4175
  HIGH_SCORE_TEXT: string;
@@ -4184,16 +4178,11 @@ export declare const LOTTIE: {
4184
4178
  KEY: string;
4185
4179
  LEARN: string;
4186
4180
  LEVELUP_RINGS: string;
4187
- MAGICWAND: string;
4188
4181
  MAIL: string;
4189
- MECHANICAL_ARM: string;
4190
- MEDAL: string;
4191
4182
  MEDIUM: string;
4192
4183
  NUDGE_TAP: string;
4193
4184
  OTP: string;
4194
4185
  PARENT_AVATAR: string;
4195
- PARTY_BALL: string;
4196
- PARTY_POPPER: string;
4197
4186
  PHONE_NUMBER: string;
4198
4187
  POINT100: string;
4199
4188
  POINT10: string;
@@ -4222,12 +4211,10 @@ export declare const LOTTIE: {
4222
4211
  SILVER_2: string;
4223
4212
  SILVER_3: string;
4224
4213
  SLEEPY_BOI: string;
4225
- SLOT_MACHINE: string;
4226
4214
  SPINNER_WHITE: string;
4227
4215
  SPLASH_SCREEN: string;
4228
4216
  STUDENT_AVATAR: string;
4229
4217
  SUBJECTIVE: string;
4230
- SUPER: string;
4231
4218
  TABLE_MODE_REVEAL: string;
4232
4219
  TABLE_MODE_STAR: string;
4233
4220
  TABLE_SEGMENT_STAR: string;
@@ -4238,9 +4225,7 @@ export declare const LOTTIE: {
4238
4225
  TOTAL_TIME: string;
4239
4226
  TOTAL_TIME_SPENT: string;
4240
4227
  TOURNAMENT_RIPPLE: string;
4241
- TROPHY: string;
4242
4228
  USERNAME: string;
4243
- VICTORY: string;
4244
4229
  VIDEO: string;
4245
4230
  };
4246
4231
 
@@ -4546,8 +4531,6 @@ declare const PUZZLE_CARDS: "puzzle_cards";
4546
4531
 
4547
4532
  export declare const PuzzleCard: FC<IPuzzleCardContainerProps>;
4548
4533
 
4549
- export declare const PuzzleFeedbackCelebration: FC;
4550
-
4551
4534
  export declare const PuzzleIcon: React.FC<React.SVGProps<SVGSVGElement>>;
4552
4535
 
4553
4536
  export declare const PYTHON_NODE_TYPES: {
@@ -5591,13 +5574,6 @@ declare type TPublishMouseMove = (points: IPointerData) => void;
5591
5574
 
5592
5575
  declare type TPuzzleCardBlockStatus = keyof typeof PUZZLE_CARD_STATE | '';
5593
5576
 
5594
- export declare type TPuzzleRewards = {
5595
- type: 'stickers';
5596
- sticker: TPuzzleStickers;
5597
- };
5598
-
5599
- declare type TPuzzleStickers = 'NICE' | 'DIAMOND' | 'WAND' | 'ARM' | 'SLOT_MACHINE' | 'MEDAL' | 'TROPHY' | 'DIRECT_HIT' | 'DICE' | 'HUNDRED_PERCENT' | 'VICTORY' | 'PARTY_POPPER' | 'CLAP' | 'FLAG_IN_HOLE' | 'CONFETTI';
5600
-
5601
5577
  declare type TQuery = {
5602
5578
  milestone_state_group: 'ALL' | 'DRAFT' | 'STUDENT_ALL' | 'LIVE' | 'STUDENT_LIVE' | 'INACTIVE';
5603
5579
  student_id: string;