@cuemath/leap 3.2.11-j1 → 3.2.11-mb

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 (169) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -5
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +0 -10
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/auth/account-selector/account-selector.js +25 -26
  6. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  7. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +14 -20
  8. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  9. package/dist/features/auth/comps/resend-otp/resend-otp.js +47 -54
  10. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  11. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +17 -29
  12. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  13. package/dist/features/auth/comps/tabs/tabs-styled.js +10 -22
  14. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  15. package/dist/features/auth/comps/tabs/tabs.js +5 -5
  16. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  17. package/dist/features/auth/comps/user-list/user-item/user-item.js +31 -30
  18. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  19. package/dist/features/auth/comps/user-list/user-list.js +34 -35
  20. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  21. package/dist/features/auth/forgot-password/forgot-password-styled.js +15 -14
  22. package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
  23. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +7 -6
  24. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
  25. package/dist/features/auth/login/login-styled.js +9 -8
  26. package/dist/features/auth/login/login-styled.js.map +1 -1
  27. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +98 -121
  28. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  29. package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js +28 -29
  30. package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js.map +1 -1
  31. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +42 -43
  32. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  33. package/dist/features/circle-games/games/tutorial/tutorial.js +35 -43
  34. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  35. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js +2 -2
  36. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  37. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js +1 -1
  38. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  39. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js +24 -26
  40. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
  41. package/dist/features/circle-games/sign-up/constants.js +1 -3
  42. package/dist/features/circle-games/sign-up/constants.js.map +1 -1
  43. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +42 -42
  44. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  45. package/dist/features/hooks/use-viewport/use-viewport.js +22 -0
  46. package/dist/features/hooks/use-viewport/use-viewport.js.map +1 -0
  47. package/dist/features/journey/comps/coachmark/coachmark.js +17 -18
  48. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  49. package/dist/features/ui/error/error.js +27 -65
  50. package/dist/features/ui/error/error.js.map +1 -1
  51. package/dist/features/ui/image/image.js +1 -1
  52. package/dist/features/ui/image/image.js.map +1 -1
  53. package/dist/features/ui/modals/modal-styled.js +28 -35
  54. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  55. package/dist/features/ui/modals/modal.js +14 -40
  56. package/dist/features/ui/modals/modal.js.map +1 -1
  57. package/dist/features/ui/streak-icon/streak-icon-styled.js +13 -13
  58. package/dist/features/ui/streak-icon/streak-icon-styled.js.map +1 -1
  59. package/dist/features/ui/streak-icon/streak-icon.js +15 -17
  60. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  61. package/dist/features/ui/text/text.js +36 -40
  62. package/dist/features/ui/text/text.js.map +1 -1
  63. package/dist/features/ui/theme/button.js +78 -78
  64. package/dist/features/ui/theme/button.js.map +1 -1
  65. package/dist/features/ui/theme/constants.js +2 -4
  66. package/dist/features/ui/theme/constants.js.map +1 -1
  67. package/dist/features/ui/theme/get-device.js +3 -3
  68. package/dist/features/ui/theme/get-device.js.map +1 -1
  69. package/dist/features/worksheet/worksheet/constants.js +13 -12
  70. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  71. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +260 -246
  72. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  73. package/dist/features/worksheet/worksheet/worksheet-styled.js +28 -37
  74. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  75. package/dist/features/worksheet/worksheet/worksheet.js +164 -166
  76. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  77. package/dist/index.d.ts +15 -149
  78. package/dist/index.js +432 -458
  79. package/dist/index.js.map +1 -1
  80. package/dist/node_modules/query-string/base.js +1 -1
  81. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  82. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  83. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  84. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  85. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  86. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  87. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  88. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  89. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  90. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  91. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  92. package/package.json +1 -1
  93. package/dist/assets/line-icons/icons/after-noon.js +0 -34
  94. package/dist/assets/line-icons/icons/after-noon.js.map +0 -1
  95. package/dist/assets/line-icons/icons/apple-icon-white.js +0 -42
  96. package/dist/assets/line-icons/icons/apple-icon-white.js.map +0 -1
  97. package/dist/assets/line-icons/icons/evening.js +0 -35
  98. package/dist/assets/line-icons/icons/evening.js.map +0 -1
  99. package/dist/assets/line-icons/icons/morning.js +0 -35
  100. package/dist/assets/line-icons/icons/morning.js.map +0 -1
  101. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +0 -9
  102. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +0 -1
  103. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +0 -65
  104. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +0 -1
  105. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +0 -92
  106. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +0 -1
  107. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +0 -12
  108. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +0 -1
  109. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +0 -34
  110. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +0 -1
  111. package/dist/features/auth/comps/otp-input/otp-input-styled.js +0 -22
  112. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +0 -1
  113. package/dist/features/auth/comps/otp-input/otp-input.js +0 -51
  114. package/dist/features/auth/comps/otp-input/otp-input.js.map +0 -1
  115. package/dist/features/auth/comps/pill-button/pill-button-styled.js +0 -44
  116. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +0 -1
  117. package/dist/features/auth/comps/pill-button/pill-button.js +0 -75
  118. package/dist/features/auth/comps/pill-button/pill-button.js.map +0 -1
  119. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +0 -17
  120. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +0 -1
  121. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +0 -67
  122. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +0 -1
  123. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js +0 -19
  124. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js.map +0 -1
  125. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js +0 -32
  126. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js.map +0 -1
  127. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js +0 -44
  128. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js.map +0 -1
  129. package/dist/features/auth/signup-v2/signup-header/signup-header.js +0 -54
  130. package/dist/features/auth/signup-v2/signup-header/signup-header.js.map +0 -1
  131. package/dist/features/auth/signup-v2/signup-options/signup-options.js +0 -73
  132. package/dist/features/auth/signup-v2/signup-options/signup-options.js.map +0 -1
  133. package/dist/features/ui/sticker-grid/sticker-grid-styles.js +0 -86
  134. package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +0 -1
  135. package/dist/features/ui/sticker-grid/sticker-grid.js +0 -24
  136. package/dist/features/ui/sticker-grid/sticker-grid.js.map +0 -1
  137. package/dist/features/ui/sticker-grid/sticker.js +0 -57
  138. package/dist/features/ui/sticker-grid/sticker.js.map +0 -1
  139. package/dist/features/ui/stickers/constants.js +0 -6
  140. package/dist/features/ui/stickers/constants.js.map +0 -1
  141. package/dist/features/ui/stickers/stickers-effects.js +0 -64
  142. package/dist/features/ui/stickers/stickers-effects.js.map +0 -1
  143. package/dist/features/ui/stickers/stickers-styled.js +0 -29
  144. package/dist/features/ui/stickers/stickers-styled.js.map +0 -1
  145. package/dist/features/ui/stickers/stickers-utils.js +0 -91
  146. package/dist/features/ui/stickers/stickers-utils.js.map +0 -1
  147. package/dist/features/ui/stickers/stickers.js +0 -40
  148. package/dist/features/ui/stickers/stickers.js.map +0 -1
  149. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  150. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  151. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  152. package/dist/static/animated-avatar.1ad58b1d.json +0 -1
  153. package/dist/static/animated-avatar.69b07505.json +0 -1
  154. package/dist/static/animated-avatar.9c560b46.json +0 -1
  155. package/dist/static/calendar-purple.1a840b41.svg +0 -1
  156. package/dist/static/flying-disk.c7f6ed39.json +0 -1
  157. package/dist/static/graduation-cap.3be3340a.json +0 -1
  158. package/dist/static/handshake.287e7dfb.svg +0 -1
  159. package/dist/static/light-bulb.c6db0b23.json +0 -1
  160. package/dist/static/money.332aacf1.svg +0 -1
  161. package/dist/static/muscle.9bcfb8a7.json +0 -1
  162. package/dist/static/parent-avatar.822c7b9b.svg +0 -1
  163. package/dist/static/pencil.23df9da0.json +0 -1
  164. package/dist/static/plus-sign.de6af957.json +0 -1
  165. package/dist/static/racing-car.2cbf864e.json +0 -1
  166. package/dist/static/rocket.0a3ccab0.json +0 -1
  167. package/dist/static/shovel.abeec04c.json +0 -1
  168. package/dist/static/trustpilot.bd3d79e1.svg +0 -1
  169. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -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 onUnassign,\n onReview,\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 imageHue,\n } = layout;\n\n const { actionbarHeight, maxQuestionWidth, questionsContainerWidth } = useMemo(\n () => getWorksheetDimensions(learnosityItems, layout),\n [layout, learnosityItems],\n );\n\n const [questions] = useState(() =>\n getQuestionsFromItems(learnosityItems, {\n sectioned:\n teacherValidationEnabled && navigationMode !== 'ADAPTIVE' && navigationMode !== 'CURRENT',\n adaptive: navigationMode === 'ADAPTIVE',\n }),\n );\n\n const [responses, setResponses] = useState<Record<string, IWorksheetResponse>>(\n () => learnosityResponses ?? getInitialResponses(questions),\n );\n const [isScribblingEnabled, setIsScribblingEnabled] = useState(false);\n const lastUnlockedQuestionIndex = useMemo(\n () =>\n navigationMode !== 'OPEN'\n ? getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n })\n : questions.length - 1,\n [behavior, navigationMode, questions, responses, userType],\n );\n\n const questionsToRender = useMemo(\n () => getRenderableQuestions({ questions, lastUnlockedQuestionIndex, userType }),\n [questions, lastUnlockedQuestionIndex, userType],\n );\n\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex];\n const lastUnlockedQuestionResponse = responses[lastUnlockedQuestion?.response_id ?? ''];\n\n const { bannerBackgroundColor: nudgeBannerBackgroundColor, label: nudgeBannerLabel } =\n getWorksheetNudgeBannerInfo(userType, Boolean(markedAsCompleted));\n\n const [initialQuestionId] = useState(() =>\n getInitialQuestionId({\n questions,\n initialQuestion,\n lastUnlockedQuestionIndex: getLastUnlockedQuestionIndex({\n questions,\n responses,\n behavior,\n userType,\n }),\n initialResponseId,\n initialItemIndex,\n }),\n );\n\n const { activeQuestionId, setActiveQuestionId, intersectionObserver } =\n useGetActiveQuestionId(initialQuestionId);\n const activeQuestionIndex = useMemo(\n () => questions.findIndex(question => question.response_id === activeQuestionId),\n [activeQuestionId, questions],\n );\n const [summaryVisible, setSummaryVisible] = useState(false);\n const [blocker, setBlocker] = useState<TWorksheetBlocker>();\n\n const [showCalculator, setShowCalculator] = useState(false);\n const getTimeSpentOnQuestion = useTimeSpentOnQuestions(behavior, responses, activeQuestionId);\n\n const handleMediaStateChange = useCallback<NonNullable<typeof onMediaStateChange>>(\n (question, mediaType, mediaState) => {\n const key = mediaType === 'SIMULATION' ? 'simState' : undefined;\n\n if (!key) return;\n\n if (onResponseChange) {\n setResponses(prevResponses => {\n const questionId = question.response_id;\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n const updatedResponse = {\n ...questionMeta,\n ...prevResponses[questionId],\n [key]: mediaState,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: updatedResponse,\n isNewAttempt: false,\n question,\n });\n\n return {\n ...prevResponses,\n [questionId]: updatedResponse,\n };\n });\n } else if (onMediaStateChange) {\n onMediaStateChange(question, mediaType, mediaState);\n }\n },\n [onMediaStateChange, onResponseChange, questions],\n );\n\n const handleMarkForReview = useCallback(\n (questionId: string, markedForReview: boolean) => {\n setResponses(prevResponses => {\n const questionMeta = getQuestionMetadata(questions, questionId);\n\n if (!questionMeta) return prevResponses;\n\n return {\n ...prevResponses,\n [questionId]: {\n ...questionMeta,\n ...prevResponses[questionId],\n markedForReview,\n },\n };\n });\n },\n [questions],\n );\n\n const handleBlockerClose = useCallback(() => {\n setBlocker(prevBlocker => {\n if (prevBlocker) {\n const lastUnlockedQuestionId = questions[lastUnlockedQuestionIndex]?.response_id;\n\n if (lastUnlockedQuestionId) {\n setTimeout(() => {\n scrollToQuestion(lastUnlockedQuestionId);\n }, 50);\n }\n }\n\n return undefined;\n });\n }, [lastUnlockedQuestionIndex, questions]);\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setSummaryVisible(false);\n\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n },\n [questionsScrollable, setActiveQuestionId],\n );\n\n const onCalculatorClose = useCallback(() => {\n setShowCalculator(false);\n }, []);\n\n const onCalculatorOpen = useCallback(() => {\n setShowCalculator(true);\n }, []);\n\n const handleOnGoToReview = useCallback(() => {\n setSummaryVisible(true);\n }, []);\n\n useEffect(() => {\n const activeQuestion = questions[activeQuestionIndex];\n\n if (activeQuestion && onActiveQuestionChange) {\n onActiveQuestionChange(activeQuestion);\n }\n }, [onActiveQuestionChange, questions, activeQuestionIndex]);\n\n useCreateImperativeHandle(ref, {\n behavior,\n questions,\n setResponses,\n onResponseChange,\n onBulkResponsesChange,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n useEffect(() => {\n if (onResponsesChange && responses) {\n onResponsesChange(responses);\n }\n }, [onResponsesChange, responses]);\n\n useEffect(() => {\n if (updatedResponses) {\n setResponses(updatedResponses);\n }\n }, [updatedResponses]);\n\n useLayoutEffect(() => {\n let timer: NodeJS.Timeout;\n\n if (learnosity && initialQuestionId) {\n if (getDeviceDetails().browser_name === 'Safari') {\n timer = setTimeout(() => {\n scrollToQuestion(initialQuestionId);\n }, 400);\n } else {\n scrollToQuestion(initialQuestionId);\n }\n }\n\n return () => {\n clearTimeout(timer);\n };\n }, [learnosity, initialQuestionId, topOffset]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus, is_optional } = lastUnlockedQuestion;\n\n if (userType === 'TEACHER') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (\n lastUnlockedQuestionResponse?.submittedByStudent &&\n !lastUnlockedQuestionResponse?.validatedByTeacher\n ) {\n setBlocker('exit-ticket-review-available');\n } else if (!lastUnlockedQuestionResponse?.validatedByTeacher) {\n setBlocker('exit-ticket-teacher-intervention');\n } else {\n handleBlockerClose();\n }\n } else if (is_optional) {\n if (!lastUnlockedQuestionResponse?.assignStatus) {\n setBlocker('optional-items-assignment');\n } else {\n handleBlockerClose();\n }\n } else if (!is_optional) {\n handleBlockerClose();\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n handleBlockerClose,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse,\n userType,\n ]);\n\n useEffect(() => {\n if (behavior.teacherValidationEnabled && lastUnlockedQuestion) {\n const { item_type, instructor_stimulus } = lastUnlockedQuestion;\n\n if (userType === 'STUDENT') {\n if (item_type === 'exit-ticket' && instructor_stimulus !== 'SystemIntro') {\n if (lastUnlockedQuestionResponse?.submittedByStudent) {\n onExitTicketSubmit?.();\n } else {\n onExitTicketStart?.();\n }\n }\n }\n }\n }, [\n behavior.teacherValidationEnabled,\n lastUnlockedQuestion,\n lastUnlockedQuestionResponse?.submittedByStudent,\n onExitTicketStart,\n onExitTicketSubmit,\n userType,\n ]);\n\n useEffect(() => {\n if (navigationMode === 'CURRENT') {\n learnosityItems.forEach(({ reference, questions: itemQuestions }) => {\n if (itemQuestions.length < 3) {\n captureMessage(`Diagnostics item has Less than 3 questions: ${reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-count-${reference}`], // Add unique fingerprint\n });\n } else if (\n itemQuestions[0]?.instructor_stimulus !== 'Try' ||\n itemQuestions[1]?.instructor_stimulus !== 'Learn' ||\n itemQuestions[2]?.instructor_stimulus !== 'Apply'\n ) {\n captureMessage(\n `Diagnostics questions sequence is incorrect expected [Try, Learn, Apply]: ${reference}`,\n {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': reference,\n },\n fingerprint: [`diagnostics-item-questions-sequence-${reference}`], // Add unique fingerprint\n },\n );\n }\n });\n }\n }, [learnosityActivityRef, learnosityItems, navigationMode]);\n\n useEffect(() => {\n questions.forEach(question => {\n const { validation, item_reference, type, question_number, metadata } = question;\n const responseNeeded = teacherValidationEnabled ? type !== 'clozetext' : true;\n\n if (responseNeeded && validation?.valid_response) {\n const value = validation.valid_response.value ?? [];\n\n if (value?.length === 0) {\n const altResponses = validation.alt_responses ?? [];\n const hasAltResponse = altResponses.some(altResponse => altResponse.value.length > 0);\n\n if (!hasAltResponse) {\n captureMessage(`Question has no valid response: ${metadata.widget_reference}`, {\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': learnosityActivityRef,\n 'item-reference': item_reference,\n 'question-number': question_number,\n 'widget-reference': metadata.widget_reference,\n },\n fingerprint: [`no-valid-response-${metadata.widget_reference}`], // Add unique fingerprint\n });\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_MISSING_VALIDATION, {\n item_reference: item_reference,\n widget_reference: metadata.widget_reference,\n question_type: type,\n question_number: question_number,\n });\n }\n }\n }\n });\n }, [learnosityActivityRef, loggerRef, questions, teacherValidationEnabled]);\n\n if (!learnosity) {\n return null;\n }\n\n return (\n <>\n <Styled.LearnosityStyleOverrides />\n {showNudgeBanner && (\n <Styled.NudgeBannerWrapper\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={1.75}\n $height={WORKSHEET_NUDGE_BANNER_HEIGHT}\n $gap={8}\n $gutter={8}\n $flexGap={8}\n $background={nudgeBannerBackgroundColor}\n $topOffset={layout.topOffset - WORKSHEET_NUDGE_BANNER_HEIGHT}\n >\n {markedAsCompleted ? (\n <Styled.NudgeBannerIcon>\n <Check2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n ) : (\n <Styled.NudgeBannerIcon>\n <Info2Icon width={16} height={16} />\n </Styled.NudgeBannerIcon>\n )}\n\n <Text $renderAs=\"ub3\">{nudgeBannerLabel}</Text>\n </Styled.NudgeBannerWrapper>\n )}\n\n <Styled.WorksheetContainer\n $background={imageHue ? `${imageHue}_1` : 'WHITE'}\n $width={containerWidth}\n >\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 onUnassign={onUnassign}\n onReview={onReview}\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","onUnassign","onReview","canToggleScribbling","studentId","subjectiveProps","canShowActionBar","initialQuestion","navigationMode","teacherValidationEnabled","containerStyle","containerWidth","minQuestionHeight","minSummaryHeight","questionsScrollable","navigationBar","topOffset","renderSideBar","showUserPointer","imageHue","actionbarHeight","maxQuestionWidth","questionsContainerWidth","useMemo","getWorksheetDimensions","questions","useState","getQuestionsFromItems","responses","setResponses","getInitialResponses","isScribblingEnabled","setIsScribblingEnabled","lastUnlockedQuestionIndex","getLastUnlockedQuestionIndex","questionsToRender","getRenderableQuestions","lastUnlockedQuestion","lastUnlockedQuestionResponse","nudgeBannerBackgroundColor","nudgeBannerLabel","getWorksheetNudgeBannerInfo","initialQuestionId","getInitialQuestionId","activeQuestionId","setActiveQuestionId","intersectionObserver","useGetActiveQuestionId","activeQuestionIndex","question","summaryVisible","setSummaryVisible","blocker","setBlocker","showCalculator","setShowCalculator","getTimeSpentOnQuestion","useTimeSpentOnQuestions","handleMediaStateChange","useCallback","mediaType","mediaState","key","prevResponses","questionId","questionMeta","getQuestionMetadata","updatedResponse","handleMarkForReview","markedForReview","handleBlockerClose","prevBlocker","lastUnlockedQuestionId","_a","scrollToQuestion","handleItemNumberClick","onCalculatorClose","onCalculatorOpen","handleOnGoToReview","useEffect","activeQuestion","useCreateImperativeHandle","useLayoutEffect","timer","getDeviceDetails","item_type","instructor_stimulus","is_optional","reference","itemQuestions","captureMessage","_b","_c","validation","item_reference","type","question_number","metadata","value","altResponse","EVENTS","jsxs","Fragment","jsx","Styled.LearnosityStyleOverrides","Styled.NudgeBannerWrapper","WORKSHEET_NUDGE_BANNER_HEIGHT","Styled.NudgeBannerIcon","Check2Icon","Info2Icon","Text","Styled.WorksheetContainer","Styled.NavigationContainer","TOP_NAVIGATION_HEIGHT","Styled.NavigationWrapper","WorksheetNavigation","Styled.BlockerWrapper","FlexView","WorksheetBlocker","UserPointer","Styled.DesmosCalcWrapper","DesmosCalculator","DESMOS_CALC_POSITION","Styled.ActionbarContainer","QuestionTips","Styled.ActionbarWrapper","WorksheetActionBar","Styled.StudentWorksheetSideBar","Navigator","Styled.QuestionsWrapper","questionIndex","responseId","assignStatus","WorksheetQuestion","WorksheetSummary","WorksheetSideBar","Worksheet","memo","forwardRef"],"mappings":"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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 onUnassign,\n onReview,\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 imageHue,\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\n $background={imageHue ? `${imageHue}_1` : 'WHITE'}\n $width={containerWidth}\n >\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 onUnassign={onUnassign}\n onReview={onReview}\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","onUnassign","onReview","canToggleScribbling","studentId","subjectiveProps","canShowActionBar","initialQuestion","navigationMode","teacherValidationEnabled","containerStyle","containerWidth","minQuestionHeight","minSummaryHeight","questionsScrollable","navigationBar","topOffset","renderSideBar","showUserPointer","imageHue","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
@@ -52,14 +52,10 @@ export declare const AchievementNotShareReasonModal: React_2.FC<IShareInstructio
52
52
 
53
53
  export declare const AchievementShareInstructionModal: React_2.FC<IShareInstructionModalProps>;
54
54
 
55
- export declare const AfternoonIcon: React.FC<React.SVGProps<SVGSVGElement>>;
56
-
57
55
  export declare const AlertIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
58
56
 
59
57
  export declare const AnimatedArc: React_2.FC<IAnimatedArcProps>;
60
58
 
61
- export declare const AnimatedAvatarMessage: NamedExoticComponent<IAnimatedAvatarMessageProps>;
62
-
63
59
  export declare const AppLoader: FC<IAppLoaderProps>;
64
60
 
65
61
  export declare const ArcButton: NamedExoticComponent<IArcButtonProps & {
@@ -355,15 +351,6 @@ export declare enum EClassTimeAlertLevel {
355
351
  FIFTEEN_MIN = "15min"
356
352
  }
357
353
 
358
- export declare enum EDeviceType {
359
- MOBILE = 0,
360
- TABLET = 1,
361
- SMALL_DESKTOP = 2,
362
- DESKTOP = 3,
363
- LARGE_DEVICE = 4,
364
- XLARGE_DEVICE = 5
365
- }
366
-
367
354
  export declare const Edit2Icon: React.FC<React.SVGProps<SVGSVGElement>>;
368
355
 
369
356
  export declare const EditIcon: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -420,8 +407,6 @@ declare interface ErrorProps {
420
407
  handleClick: () => void;
421
408
  }
422
409
 
423
- export declare const EveningIcon: React.FC<React.SVGProps<SVGSVGElement>>;
424
-
425
410
  export declare const EVENTS: {
426
411
  PUZZLE_FEEDBACK_CELEBRATION: "PUZZLE_FEEDBACK_CELEBRATION";
427
412
  HOMEWORK_UNASSIGN: "HOMEWORK_UNASSIGN";
@@ -532,7 +517,7 @@ declare const getCheckboxConfig: IGetCheckboxConfig;
532
517
 
533
518
  declare function getColors(): TColorsMap;
534
519
 
535
- declare const getDevice: (width: number) => EDeviceType;
520
+ declare const getDevice: (width: number) => TDeviceType;
536
521
 
537
522
  declare const getInputConfig: IGetInputConfig;
538
523
 
@@ -644,20 +629,6 @@ declare interface IAnimatedArcProps {
644
629
  showAnimatedRainbowArc?: boolean;
645
630
  }
646
631
 
647
- declare interface IAnimatedAvatarMessageProps {
648
- message: string;
649
- onShowContent: (show: boolean) => void;
650
- confirmationFrames: [number, number];
651
- confirmationMessage?: string;
652
- isConfirmationVisible?: boolean;
653
- ref: React.Ref<IAnimatedAvatarMessageRef>;
654
- }
655
-
656
- export declare type IAnimatedAvatarMessageRef = {
657
- fadeOutMessage: () => Promise<void>;
658
- playConfirmationFrames: () => Promise<void>;
659
- };
660
-
661
632
  declare interface IAppLoaderProps {
662
633
  width?: string | number;
663
634
  height?: string | number;
@@ -702,7 +673,6 @@ declare interface IAuthPageLayoutProps {
702
673
  leftBlock: ReactElement;
703
674
  rightBlock?: ReactElement;
704
675
  isFullWidth?: boolean;
705
- rightBlockBg?: TColorNames;
706
676
  }
707
677
 
708
678
  declare interface IAuthStaticPanelProps {
@@ -1397,7 +1367,6 @@ declare interface IErrorProps {
1397
1367
  theme?: 'light' | 'dark';
1398
1368
  title?: string;
1399
1369
  description?: string;
1400
- size?: 'compact' | 'full';
1401
1370
  }
1402
1371
 
1403
1372
  declare interface IExpandableHeaderProps {
@@ -1618,7 +1587,7 @@ declare interface IIdentifierOtpFormProps {
1618
1587
  }
1619
1588
 
1620
1589
  declare interface IImageProps extends ImgHTMLAttributes<HTMLImageElement> {
1621
- withLoader?: boolean;
1590
+ withLoader: boolean;
1622
1591
  borderRadius?: number;
1623
1592
  borderColor?: TColorNames;
1624
1593
  }
@@ -1991,14 +1960,6 @@ export declare interface ILessonWebGameProps extends IBaseWebGameProps, ISyncabl
1991
1960
  targetQuestions: number;
1992
1961
  }
1993
1962
 
1994
- declare interface ILinearProgressBarProps {
1995
- percentage: number;
1996
- height?: number;
1997
- backgroundColor?: TColorNames;
1998
- fillColor?: TColorNames;
1999
- borderRadius?: number;
2000
- }
2001
-
2002
1963
  export declare const ILLUSTRATIONS: {
2003
1964
  ALARM_CLOCK_ORANGE: string;
2004
1965
  ALARM_CLOCK_PURPLE: string;
@@ -2015,7 +1976,6 @@ export declare const ILLUSTRATIONS: {
2015
1976
  CALENDAR_BLUE: string;
2016
1977
  CALENDAR_GRAY: string;
2017
1978
  CALENDAR_GREEN: string;
2018
- CALENDAR_PURPLE: string;
2019
1979
  CAUTION: string;
2020
1980
  CHAPTER_10: string;
2021
1981
  CHAPTER_1: string;
@@ -2055,7 +2015,6 @@ export declare const ILLUSTRATIONS: {
2055
2015
  GRADUATE_PINK_FILLED_BG: string;
2056
2016
  GREEN_BALLOON: string;
2057
2017
  GREEN_FACE: string;
2058
- HANDSHAKE: string;
2059
2018
  LEARNED_SHIELD_GRAY: string;
2060
2019
  LEARNED_SHIELD_GREEN: string;
2061
2020
  LEARNT: string;
@@ -2074,7 +2033,6 @@ export declare const ILLUSTRATIONS: {
2074
2033
  MILESTONE_INTRO_2: string;
2075
2034
  MILESTONE_INTRO_3: string;
2076
2035
  MISTAKE: string;
2077
- MONEY: string;
2078
2036
  NODE_ACTIVITY_BG: string;
2079
2037
  NODE_CUSTOM_TEST_BG: string;
2080
2038
  NODE_DOWNLOAD_BG: string;
@@ -2092,7 +2050,6 @@ export declare const ILLUSTRATIONS: {
2092
2050
  NUMBER_4_ORANGE: string;
2093
2051
  ONE_STAR_FILLED: string;
2094
2052
  ORANGE_FACE: string;
2095
- PARENT_AVATAR: string;
2096
2053
  PEOPLE_WITH_ORANGE_FILL: string;
2097
2054
  PLAY: string;
2098
2055
  PLAY_ICON: string;
@@ -2129,7 +2086,6 @@ export declare const ILLUSTRATIONS: {
2129
2086
  TROPHY_BLUE_FILLED: string;
2130
2087
  TROPHY_CIRCLE: string;
2131
2088
  TROPHY_GREEN: string;
2132
- TRUSTPILOT: string;
2133
2089
  TWO_STARS_FILLED: string;
2134
2090
  UP_ARROW: string;
2135
2091
  USER_CROWN_GRID_BACKGROUND: string;
@@ -2662,14 +2618,6 @@ declare interface IOpenImageReviewModalProps {
2662
2618
  image?: string;
2663
2619
  }
2664
2620
 
2665
- declare interface IOTPInputProps {
2666
- length?: number;
2667
- value: string;
2668
- onChange: (val: string) => void;
2669
- error?: string;
2670
- isBusy?: boolean;
2671
- }
2672
-
2673
2621
  declare interface IOTPResendProps {
2674
2622
  onResendOTP: () => void;
2675
2623
  onResendVoiceOTP?: () => void;
@@ -2678,8 +2626,6 @@ declare interface IOTPResendProps {
2678
2626
  disabled?: boolean;
2679
2627
  renderAs?: 'submit' | 'text';
2680
2628
  width?: number | string;
2681
- textButtonColor?: TColorNames;
2682
- size?: 'small' | 'xsmall';
2683
2629
  }
2684
2630
 
2685
2631
  declare interface IOutcomeConfig {
@@ -2717,18 +2663,6 @@ declare interface IPerfectHitsProps {
2717
2663
  value: number;
2718
2664
  }
2719
2665
 
2720
- declare interface IPillButtonProps {
2721
- id: string;
2722
- label: string;
2723
- selected?: boolean;
2724
- disabled?: boolean;
2725
- animatedLabel?: string;
2726
- icon?: string;
2727
- onClick: (val: string) => void;
2728
- tooltip?: string;
2729
- width?: number | string;
2730
- }
2731
-
2732
2666
  declare interface IPlaceholder {
2733
2667
  text?: string;
2734
2668
  marks?: string;
@@ -3107,15 +3041,6 @@ declare interface ISectionOption<Section = TDefaultSection> {
3107
3041
  data: Section[];
3108
3042
  }
3109
3043
 
3110
- declare interface ISelectableInfoCardProps {
3111
- id: string;
3112
- title: string;
3113
- description: string;
3114
- icon: string;
3115
- selected: boolean;
3116
- onClick: (val: string) => void;
3117
- }
3118
-
3119
3044
  declare interface ISelectInputProps<IDType extends string | number> extends Omit<IBaseSelectInputProps<IDType>, 'searchable' | 'searchText' | 'onSearchTextChange'> {
3120
3045
  }
3121
3046
 
@@ -3250,15 +3175,6 @@ declare interface ISignupMethodsProps {
3250
3175
  loadingProvider: TSocialAuthProvider | null;
3251
3176
  }
3252
3177
 
3253
- declare interface ISignupOptionsProps {
3254
- onEmailSignup: () => void;
3255
- onGoogleSignup: () => void;
3256
- onAppleSignup: () => void;
3257
- onGoToLogin: () => void;
3258
- loadingProvider: TSocialAuthProvider | null;
3259
- title?: string;
3260
- }
3261
-
3262
3178
  export declare interface ISignUpProps {
3263
3179
  circleOnLeapSignedUp: boolean;
3264
3180
  circleOnLeapPremiumEnabled: boolean;
@@ -3318,25 +3234,9 @@ declare interface IStepperProps {
3318
3234
  currentStep: number;
3319
3235
  }
3320
3236
 
3321
- declare interface IStickerData {
3322
- id: string;
3323
- emoji: string;
3324
- lottieUrl?: string;
3325
- name?: string;
3326
- }
3327
-
3328
- declare interface IStickerGridProps {
3329
- stickers: IStickerData[];
3330
- columns?: number;
3331
- gap?: number;
3332
- stickerSize?: number | string;
3333
- onStickerClick?: (sticker: IStickerData) => void;
3334
- }
3335
-
3336
3237
  declare interface IStreakIconProps extends React.HTMLProps<HTMLDivElement> {
3337
3238
  value: number;
3338
3239
  blink?: boolean;
3339
- isInteractive?: boolean;
3340
3240
  }
3341
3241
 
3342
3242
  export declare interface IStreakLeaderboardDetails extends IBaseLeaderboardDetails {
@@ -3414,8 +3314,6 @@ declare interface ISyncableWebGameProps {
3414
3314
  declare interface ITabItem {
3415
3315
  id: string;
3416
3316
  label: string;
3417
- iconPosition?: 'left' | 'right';
3418
- Icon?: React.FC<React.SVGProps<SVGSVGElement>>;
3419
3317
  }
3420
3318
 
3421
3319
  export declare interface ITable {
@@ -3487,7 +3385,6 @@ declare interface ITabsProps {
3487
3385
  selectedTab: string;
3488
3386
  onChange: (tab: string) => void;
3489
3387
  tabs: ITabItem[];
3490
- background?: TColorNames;
3491
3388
  }
3492
3389
 
3493
3390
  export declare interface ITabVariantConfig {
@@ -3892,6 +3789,12 @@ declare interface IUseTrialSessionMessageBroker {
3892
3789
  };
3893
3790
  }
3894
3791
 
3792
+ declare interface IUseViewportReturn {
3793
+ isCompact: boolean;
3794
+ isMobile: boolean;
3795
+ isDesktop: boolean;
3796
+ }
3797
+
3895
3798
  declare interface IUseWorksheetLayout {
3896
3799
  (options: {
3897
3800
  userType: TUserTypes;
@@ -4281,8 +4184,6 @@ declare const LESSON_TAG_TYPE: {
4281
4184
  readonly DEFAULT: "DEFAULT";
4282
4185
  };
4283
4186
 
4284
- export declare const LinearProgressBar: NamedExoticComponent<ILinearProgressBarProps>;
4285
-
4286
4187
  export declare const loadScript: ILoadScript;
4287
4188
 
4288
4189
  export declare const Lock2Icon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
@@ -4297,7 +4198,6 @@ export declare const LOTTIE: {
4297
4198
  ACTIVITY: string;
4298
4199
  ADVANCE_MODE_SEGMENT_LOTTIE: string;
4299
4200
  ALL_DONE: string;
4300
- ANIMATED_AVATAR: string;
4301
4201
  AVATAR_SELECTED: string;
4302
4202
  BEGINNER1X: string;
4303
4203
  BRONZE_1: string;
@@ -4329,14 +4229,12 @@ export declare const LOTTIE: {
4329
4229
  FAMILIAR1X: string;
4330
4230
  FIFTEEN_MIN_CLOCK: string;
4331
4231
  FIVE_MIN_CLOCK: string;
4332
- FLYING_DISK: string;
4333
4232
  GIFT: string;
4334
4233
  GOLD_1: string;
4335
4234
  GOLD_2: string;
4336
4235
  GOLD_3: string;
4337
4236
  GOLF: string;
4338
4237
  GRADE: string;
4339
- GRADUATION_CAP: string;
4340
4238
  HIGH_SCORE_CONFETTI: string;
4341
4239
  HIGH_SCORE_TEXT: string;
4342
4240
  INFINITE_BUTTON_BG: string;
@@ -4347,21 +4245,17 @@ export declare const LOTTIE: {
4347
4245
  LEVELUP_RINGS: string;
4348
4246
  LEVEL_1_ALLSTAR: string;
4349
4247
  LIGHTNING: string;
4350
- LIGHT_BULB: string;
4351
4248
  MAGICWAND: string;
4352
4249
  MAIL: string;
4353
4250
  MECHANICAL_ARM: string;
4354
4251
  MEDAL: string;
4355
4252
  MEDIUM: string;
4356
- MUSCLE: string;
4357
4253
  NUDGE_TAP: string;
4358
4254
  OTP: string;
4359
4255
  PARENT_AVATAR: string;
4360
4256
  PARTY_BALL: string;
4361
4257
  PARTY_POPPER: string;
4362
- PENCIL: string;
4363
4258
  PHONE_NUMBER: string;
4364
- PLUS_SIGN: string;
4365
4259
  POINT100: string;
4366
4260
  POINT10: string;
4367
4261
  POINT15: string;
@@ -4382,12 +4276,9 @@ export declare const LOTTIE: {
4382
4276
  PROFICIENT1X: string;
4383
4277
  PROJECT: string;
4384
4278
  PUZZLE: string;
4385
- RACING_CAR: string;
4386
4279
  RANDOM_MODE_SEGMENT_LOTTIE: string;
4387
4280
  RECAP: string;
4388
- ROCKET: string;
4389
4281
  SEQUENCE_MODE_SEGMENT_LOTTIE: string;
4390
- SHOVEL: string;
4391
4282
  SILVER_1: string;
4392
4283
  SILVER_2: string;
4393
4284
  SILVER_3: string;
@@ -4450,8 +4341,6 @@ export declare const ModalProvider: FC<IModalProviderProps>;
4450
4341
 
4451
4342
  export declare const MoreVerticalIcon: React.FC<React.SVGProps<SVGSVGElement>>;
4452
4343
 
4453
- export declare const MorningIcon: React.FC<React.SVGProps<SVGSVGElement>>;
4454
-
4455
4344
  export declare const MultiTabBlocker: FC<PropsWithChildren<IMultiTabBlockerProps>>;
4456
4345
 
4457
4346
  export declare const Next2Icon: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -4605,12 +4494,8 @@ declare interface NumRangeInputProps {
4605
4494
  endPlaceholder?: string;
4606
4495
  }
4607
4496
 
4608
- export declare const OnboardingGuide: () => JSX.Element;
4609
-
4610
4497
  export declare const OTPForm: MemoExoticComponent<({ onSubmit, onChange, value, error, isProcessing, isValid, helperText, }: ISingleFieldFormProps) => JSX.Element>;
4611
4498
 
4612
- export declare const OTPInput: NamedExoticComponent<IOTPInputProps>;
4613
-
4614
4499
  export declare type OutcomeStage = keyof typeof STAGES;
4615
4500
 
4616
4501
  export declare const OverlayLoader: MemoExoticComponent<({ isLoading }: {
@@ -4623,8 +4508,6 @@ export declare const PercentileInput: React_2.ForwardRefExoticComponent<IPercent
4623
4508
 
4624
4509
  export declare const PerfectHits: NamedExoticComponent<IPerfectHitsProps>;
4625
4510
 
4626
- export declare const PillButton: NamedExoticComponent<IPillButtonProps>;
4627
-
4628
4511
  /**
4629
4512
  ** Global/Platform specific events that needs to be tracked goes here
4630
4513
  ** Naming convention needs to be snake_case
@@ -4804,8 +4687,6 @@ declare enum SECTION_CODE {
4804
4687
 
4805
4688
  export declare const SectionList: <Section extends string | number | TDefaultSection>(props: ISectionList<Section>) => ReactElement;
4806
4689
 
4807
- export declare const SelectableInfoCard: MemoExoticComponent<({ id, title, description, icon, selected, onClick, }: ISelectableInfoCardProps) => JSX.Element>;
4808
-
4809
4690
  export declare const SelectInput: <IDType extends string | number>(props: ISelectInputProps<IDType>) => ReactElement;
4810
4691
 
4811
4692
  export declare const SelectionCards: <IDType extends string | number>({ options, value, values, onChange, analyticsLabel, analyticsProps, type, $background, $selectedBackground, $cardWidth, }: ISelectionCardListProps<IDType>) => JSX.Element;
@@ -4861,12 +4742,8 @@ export declare const SheetLocked: MemoExoticComponent<({ onHomeClick }: {
4861
4742
 
4862
4743
  export declare const SignUp: ({ mathGymEnrolledUser, circleEnrolledUser, circleOnLeapPremiumDays, circleUsername, countryCode, grade: defaultGrade, state, circleOnLeapPremiumEnabled, studentId, isSignUpProcessing, onCreateUser, onUpdateUser, onSignupStepsComplete, }: ISignUpProps) => JSX.Element;
4863
4744
 
4864
- export declare const SignupHeader: () => JSX.Element;
4865
-
4866
4745
  export declare const SignupMethods: NamedExoticComponent<ISignupMethodsProps>;
4867
4746
 
4868
- export declare const SignupOptions: NamedExoticComponent<ISignupOptionsProps>;
4869
-
4870
4747
  declare const SketchIcon: React.FC<React.SVGProps<SVGSVGElement>>;
4871
4748
  export { SketchIcon as ScribbleIcon }
4872
4749
  export { SketchIcon }
@@ -4920,19 +4797,6 @@ declare const STICKER_BADGE: {
4920
4797
  AWESOME: string;
4921
4798
  };
4922
4799
 
4923
- declare type StickerEffect = 'burst_from_edges' | 'pop_expand' | 'float_up' | 'fall_down';
4924
-
4925
- export declare const Stickers: React_2.NamedExoticComponent<StickersProps>;
4926
-
4927
- declare interface StickersProps {
4928
- stickers: string[];
4929
- effect: StickerEffect;
4930
- count: number;
4931
- duration: number;
4932
- }
4933
-
4934
- export declare const StickersSelector: React_2.NamedExoticComponent<IStickerGridProps>;
4935
-
4936
4800
  export declare const StreakIcon: React_2.FC<IStreakIconProps>;
4937
4801
 
4938
4802
  export declare class StreakReductionLocalStorageUtil {
@@ -4961,7 +4825,7 @@ declare const TAB_CODES: {
4961
4825
 
4962
4826
  export declare const TabComponent: React_2.FC<ITabProps>;
4963
4827
 
4964
- export declare const Tabs: MemoExoticComponent<({ selectedTab, onChange, tabs, background }: ITabsProps) => JSX.Element>;
4828
+ export declare const Tabs: MemoExoticComponent<({ selectedTab, onChange, tabs }: ITabsProps) => JSX.Element>;
4965
4829
 
4966
4830
  export declare type TAction = EventToPayload<TInclassMessage>;
4967
4831
 
@@ -5050,7 +4914,7 @@ declare type TBlockType = keyof typeof BLOCK_TYPE_2;
5050
4914
 
5051
4915
  export declare type TButtonSizes = 'xsmall' | 'small' | 'regular' | 'medium' | 'large';
5052
4916
 
5053
- export declare type TButtonVariants = 'primary' | 'secondary' | 'tertiary' | 'secondary-gray' | 'secondary-dark' | 'black' | 'black-dark' | 'yellow-dark';
4917
+ export declare type TButtonVariants = 'primary' | 'secondary' | 'tertiary' | 'secondary-gray' | 'secondary-dark';
5054
4918
 
5055
4919
  declare type TCallback = (messages: TInclassMessage[]) => void;
5056
4920
 
@@ -5171,6 +5035,8 @@ declare type TCueProgramData = {
5171
5035
 
5172
5036
  declare type TDefaultSection = Record<string, unknown>;
5173
5037
 
5038
+ export declare type TDeviceType = 'mobile' | 'tablet' | 'small-desktop' | 'desktop' | 'large-device' | 'xlarge-device';
5039
+
5174
5040
  declare type TDrawingData = ITile | IStroke | undefined;
5175
5041
 
5176
5042
  declare type TEnglishSectionSummary = {
@@ -5182,7 +5048,7 @@ declare type TEnrollmentTypes = (typeof ENROLLMENT_TYPES)[keyof typeof ENROLLMEN
5182
5048
  export declare const TestsCreation: FC<ITestsCreationProps>;
5183
5049
 
5184
5050
  /**
5185
- * @param $renderAs (fallback for any device), @param $renderOnMobileAs, @param $renderOnTabletAs - The text variant to render as (ah1-ah4, ab1-ab3, ac1-ac4, ub1-ub3), anything else is deprecated
5051
+ * @param $renderAs - The text variant to render as (ah1-ah4, ab1-ab3, ac1-ac4, ub1-ub3), anything else is deprecated
5186
5052
  */
5187
5053
  declare const Text_2: IStyledComponent<"web", Substitute<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, TextProps>>;
5188
5054
  export { Text_2 as Text }
@@ -5204,8 +5070,6 @@ declare interface TextProps {
5204
5070
  $inline?: boolean;
5205
5071
  $textDecoration?: string;
5206
5072
  $whiteSpace?: 'pre-line' | 'normal' | 'pre-wrap' | 'no-wrap' | 'pre' | 'break-spaces';
5207
- $renderOnMobileAs?: TTextVariants;
5208
- $renderOnTabletAs?: TTextVariants;
5209
5073
  }
5210
5074
 
5211
5075
  export declare type TFontFamilyNames = `${'Athletics'}-${'Light' | 'Regular' | 'Medium' | 'Bold' | 'Black'}` | `${'UntitledSans'}-${'Regular' | 'Medium'}`;
@@ -6305,6 +6169,8 @@ export declare const useTrialSessionMessageBroker: IUseTrialSessionMessageBroker
6305
6169
 
6306
6170
  export declare const useUIContext: () => UIContextProps;
6307
6171
 
6172
+ export declare const useViewport: () => IUseViewportReturn;
6173
+
6308
6174
  export declare const useWorksheetLayout: IUseWorksheetLayout;
6309
6175
 
6310
6176
  export declare const useZoomDisable: () => void;