@cuemath/leap 3.5.58 → 3.5.59-link0

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 (172) hide show
  1. package/dist/features/chapters-v2/utils/node-card-utils.js +24 -24
  2. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  3. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
  4. package/dist/features/cue-canvas/sidebar/sidebar.js +4 -4
  5. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
  6. package/dist/features/cue-canvas/toolbar/toolbar.js +21 -17
  7. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  8. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +23 -13
  9. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  10. package/dist/features/journey/tracking-id/tracking-id-student.js +1 -1
  11. package/dist/features/journey/tracking-id/tracking-id-student.js.map +1 -1
  12. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js +43 -43
  13. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js.map +1 -1
  14. package/dist/features/milestone/create/api/milestone-config.js.map +1 -1
  15. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +1 -1
  16. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -1
  17. package/dist/features/sheets/constants/sheet.js +1 -0
  18. package/dist/features/sheets/constants/sheet.js.map +1 -1
  19. package/dist/features/sheets/utils/is-v3-worksheet.js +3 -2
  20. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  21. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +1 -1
  22. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -1
  23. package/dist/features/trial-session/api/trial-home.js +10 -16
  24. package/dist/features/trial-session/api/trial-home.js.map +1 -1
  25. package/dist/features/trial-session/api/trial-session-report.js +16 -0
  26. package/dist/features/trial-session/api/trial-session-report.js.map +1 -0
  27. package/dist/features/trial-session/api/trial-topics.js +9 -0
  28. package/dist/features/trial-session/api/trial-topics.js.map +1 -0
  29. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +62 -50
  30. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  31. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js +5 -14
  32. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js.map +1 -1
  33. package/dist/features/trial-session/comps/class-preference/class-preference.js +55 -53
  34. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  35. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js +3 -2
  36. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js.map +1 -1
  37. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js +27 -27
  38. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js.map +1 -1
  39. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js +19 -18
  40. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  41. package/dist/features/trial-session/comps/learning-session/learning-session.js +34 -43
  42. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  43. package/dist/features/trial-session/comps/navigation-bar/index.js +56 -58
  44. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  45. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +29 -6
  46. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  47. package/dist/features/trial-session/comps/offering-information/offering-information.js +74 -64
  48. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  49. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js +10 -9
  50. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js.map +1 -1
  51. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +40 -39
  52. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  53. package/dist/features/trial-session/comps/school-goals/school-goals.js +39 -37
  54. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  55. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js +12 -20
  56. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js.map +1 -1
  57. package/dist/features/trial-session/comps/session-insights/session-insights.js +64 -63
  58. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  59. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js +13 -12
  60. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  61. package/dist/features/trial-session/comps/session-overview/session-overview.js +6 -6
  62. package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
  63. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js +61 -0
  64. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js.map +1 -0
  65. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js +5 -0
  66. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js.map +1 -0
  67. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js +135 -0
  68. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js.map +1 -0
  69. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js +53 -0
  70. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js.map +1 -0
  71. package/dist/features/trial-session/comps/session-report/report-404/report-404.js +15 -16
  72. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -1
  73. package/dist/features/trial-session/comps/session-report/session-report.js +35 -33
  74. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  75. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js +9 -16
  76. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js.map +1 -1
  77. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +39 -37
  78. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  79. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js +10 -9
  80. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  81. package/dist/features/trial-session/comps/student-info/student-info-constants.js +35 -0
  82. package/dist/features/trial-session/comps/student-info/student-info-constants.js.map +1 -0
  83. package/dist/features/trial-session/comps/student-info/student-info-helpers.js +12 -0
  84. package/dist/features/trial-session/comps/student-info/student-info-helpers.js.map +1 -0
  85. package/dist/features/trial-session/comps/student-info/student-info-styled.js +26 -11
  86. package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
  87. package/dist/features/trial-session/comps/student-info/student-info.js +113 -78
  88. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  89. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +3 -12
  90. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
  91. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +34 -33
  92. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  93. package/dist/features/trial-session/comps/student-profile/student-profile.js +45 -44
  94. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  95. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +9 -8
  96. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  97. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js +11 -19
  98. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js.map +1 -1
  99. package/dist/features/trial-session/comps/test-prep/test-prep.js +31 -29
  100. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  101. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js +42 -0
  102. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js.map +1 -0
  103. package/dist/features/trial-session/comps/topic-selection/topic-selection.js +84 -0
  104. package/dist/features/trial-session/comps/topic-selection/topic-selection.js.map +1 -0
  105. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js +21 -0
  106. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js.map +1 -0
  107. package/dist/features/trial-session/comps/whiteboard/whiteboard.js +99 -0
  108. package/dist/features/trial-session/comps/whiteboard/whiteboard.js.map +1 -0
  109. package/dist/features/trial-session/comps/worksheet/worksheet.js +35 -33
  110. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  111. package/dist/features/trial-session/context/trial-session-context.js +2 -0
  112. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  113. package/dist/features/trial-session/helper.js +70 -64
  114. package/dist/features/trial-session/helper.js.map +1 -1
  115. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +184 -151
  116. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  117. package/dist/features/trial-session/right-panel/right-panel-styled.js +8 -8
  118. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  119. package/dist/features/trial-session/right-panel/slide-components-map.js +42 -36
  120. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  121. package/dist/features/trial-session/trial-session-constants.js +22 -18
  122. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  123. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  124. package/dist/features/trial-session/trial-session-view.js +82 -77
  125. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  126. package/dist/features/trial-session/trial-session.js +38 -38
  127. package/dist/features/trial-session/trial-session.js.map +1 -1
  128. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  129. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  130. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +12 -12
  131. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  132. package/dist/features/ui/theme/clrs.js +1 -0
  133. package/dist/features/ui/theme/clrs.js.map +1 -1
  134. package/dist/features/worksheet/worksheet/mocks/activity.js +6 -0
  135. package/dist/features/worksheet/worksheet/mocks/activity.js.map +1 -0
  136. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +5 -0
  137. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +1 -0
  138. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +57 -0
  139. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +1 -0
  140. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +263 -0
  141. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +1 -0
  142. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +177 -0
  143. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +1 -0
  144. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +267 -0
  145. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +1 -0
  146. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +2 -6
  147. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  148. package/dist/features/worksheet/worksheet/worksheet-helpers.js +38 -37
  149. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  150. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +35 -28
  151. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  152. package/dist/index.d.ts +12 -5
  153. package/dist/index.js +1 -1
  154. package/dist/node_modules/query-string/base.js +1 -1
  155. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  156. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  157. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  158. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  159. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  160. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  161. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  162. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  163. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  164. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  165. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  166. package/dist/types/models/worksheet.js +1 -1
  167. package/dist/types/models/worksheet.js.map +1 -1
  168. package/package.json +1 -1
  169. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  170. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  171. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  172. /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-helpers.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-helpers.ts"],"sourcesContent":["import Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport EditStarIcon from '../../../assets/line-icons/icons/edit-star';\nimport Edit2Icon from '../../../assets/line-icons/icons/edit2';\nimport PracticeIcon from '../../../assets/line-icons/icons/practice';\nimport QuestionLetterIcon from '../../../assets/line-icons/icons/question-letter';\nimport Star2Icon from '../../../assets/line-icons/icons/star2';\nimport { type NODE_TYPES } from '../../../types/models/worksheet';\nimport type { TColorNames, THueNames } from '../../ui/types';\nimport EVENTS from '../constants/events';\nimport {\n ACTION_BAR_HEIGHT,\n CLOZE_FORMULA_RESPONSE_LIMIT,\n QUESTION_WIDTH,\n SPLIT_QUESTION_WIDTH,\n} from './constants';\nimport type { TWorksheetQuestionPaperColor } from './worksheet-question/worksheet-question-types';\nimport {\n type ILearnosityItem,\n type ILearnosityQuestion,\n type ILearnosityQuestionResponse,\n type IWorksheetBehavior,\n type IWorksheetHeaderLayoutProps,\n type IWorksheetLayout,\n type IWorksheetQuestion,\n type IWorksheetResponse,\n type TInstructorStimulus,\n type TSectionName,\n} from './worksheet-types';\n\ninterface IGetInitialQuestionId {\n (params: {\n questions: IWorksheetQuestion[];\n initialQuestion: IWorksheetBehavior['initialQuestion'];\n lastUnlockedQuestionIndex: number;\n lastAttemptableQuestionIndex: number;\n initialResponseId?: string;\n initialItemIndex?: number;\n }): string;\n}\n\nconst getInitialQuestionId: IGetInitialQuestionId = ({\n questions,\n initialQuestion,\n initialResponseId,\n initialItemIndex,\n lastUnlockedQuestionIndex,\n lastAttemptableQuestionIndex,\n}) => {\n const unlockedQuestions = questions.slice(0, lastUnlockedQuestionIndex + 1);\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n const lastAttemptableQuestion = questions[lastAttemptableQuestionIndex]!;\n\n if (initialResponseId && unlockedQuestions.find(q => q.response_id === initialResponseId)) {\n return initialResponseId;\n }\n\n if (\n typeof initialItemIndex === 'number' &&\n initialItemIndex <= lastUnlockedQuestion.item_number\n ) {\n const question = questions.find(q => q.item_number === initialItemIndex);\n\n if (question?.response_id) {\n return question.response_id;\n }\n }\n\n if (initialQuestion === 'FIRST' && questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n if (initialQuestion === 'CURRENT') {\n return lastAttemptableQuestion.response_id;\n }\n\n if (questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n throw new Error('Initial question not found');\n};\n\ntype TQuestionMetadata = Pick<\n IWorksheetResponse,\n 'widgetReference' | 'itemReference' | 'itemPosition' | 'questionPosition' | 'isOkayTypeQuestion'\n>;\n\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion[],\n questionId: string,\n): TQuestionMetadata;\nfunction getQuestionMetadata(question: IWorksheetQuestion): TQuestionMetadata;\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion | IWorksheetQuestion[],\n questionId?: string,\n) {\n const question = Array.isArray(questions)\n ? questions.find(q => q.response_id === questionId)\n : questions;\n\n if (!question) {\n throw new Error(`Question with id ${questionId} not found`);\n }\n\n return {\n widgetReference: question.metadata.widget_reference,\n itemReference: question.item_reference,\n itemPosition: question.item_number,\n questionPosition: question.question_number,\n isOkayTypeQuestion: isOkayTypeQuestion(question),\n score: {\n max_score:\n question?.validation?.valid_response?.score ?? 0 * question.metadata.valid_response_count,\n },\n tags: {\n ...question.item_tags_map,\n instructor_stimulus: question.instructor_stimulus,\n },\n };\n}\n\ninterface IGetInitialResponses {\n (questions: IWorksheetQuestion[]): Record<string, IWorksheetResponse>;\n}\n\nconst getInitialResponses: IGetInitialResponses = questions => {\n return questions.reduce(\n (acc, question) => ({\n ...acc,\n [question.response_id]: getQuestionMetadata(questions, question.response_id),\n }),\n {},\n );\n};\n\ninterface IGetWorksheetDimensions {\n (\n items: ILearnosityItem[],\n layout: IWorksheetLayout,\n ): {\n questionsContainerWidth: number;\n maxQuestionWidth: number;\n actionbarHeight: number;\n };\n}\n\nconst getWorksheetDimensions: IGetWorksheetDimensions = (items, layout) => {\n const { actionBar } = layout;\n const isSingleColumn = !items.some(item =>\n item.questions.some(question => question.stimulus_review),\n );\n const actionbarHeight = actionBar === 'bottom' ? ACTION_BAR_HEIGHT : 0;\n\n return {\n questionsContainerWidth: isSingleColumn ? QUESTION_WIDTH : SPLIT_QUESTION_WIDTH,\n maxQuestionWidth: QUESTION_WIDTH,\n actionbarHeight,\n };\n};\n\ninterface IScrollToQuestion {\n (questionId: string, params?: { animation?: boolean; block?: 'start' | 'end' }): void;\n}\n\nconst scrollToQuestion: IScrollToQuestion = (\n questionId,\n { animation = false, block = 'start' } = {},\n) => {\n const $questionEl = document.querySelectorAll(`.widget-${questionId}`)[0];\n\n if ($questionEl) {\n $questionEl.scrollIntoView({\n block,\n behavior: animation ? 'smooth' : 'instant',\n });\n }\n};\n\ninterface IIsOkayTypeQuestion {\n (question: IWorksheetQuestion | ILearnosityQuestion): boolean;\n}\n\nconst isOkayTypeQuestion: IIsOkayTypeQuestion = question => {\n const { type, options, instructor_stimulus } = question;\n const itemType = 'item_type' in question ? question.item_type : undefined;\n\n if (\n itemType === 'overview' ||\n instructor_stimulus === 'Intro' ||\n instructor_stimulus === 'SystemIntro' ||\n instructor_stimulus === 'Concept-Intro'\n ) {\n return true;\n }\n\n return type === 'mcq' && options?.length === 1 ? true : false;\n};\n\ninterface IIsTeacherInterventionNeeded {\n (params: {\n attemptsAfterTeacherInterventionNeeded: number | undefined;\n attemptsHistory: IWorksheetResponse['attemptsHistory'];\n }): boolean;\n}\n\nconst isTeacherInterventionNeeded: IIsTeacherInterventionNeeded = ({\n attemptsAfterTeacherInterventionNeeded,\n attemptsHistory,\n}) => {\n if (\n attemptsAfterTeacherInterventionNeeded &&\n (attemptsHistory?.length ?? 0) >= attemptsAfterTeacherInterventionNeeded\n ) {\n const score = attemptsHistory?.slice(-1)[0]?.score;\n\n if (score && score.score === score.max_score) {\n return false;\n }\n\n return true;\n }\n\n return false;\n};\n\nconst setMathJaxConfigInWindow = (\n logger: (eventName: string, data?: Record<string, unknown>) => void,\n) => {\n window.MathJax = {\n options: {\n enableMenu: false,\n ignoreHtmlClass: 'lrn_noMath',\n compileError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_COMPILE_ERROR);\n doc.compileError(math, err);\n },\n typesetError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_TYPESET_ERROR);\n doc.typesetError(math, err);\n // throw new Error('typesetError');\n },\n },\n tex: {\n inlineMath: [\n ['\\\\(', '\\\\)'],\n ['$$', '$$'],\n ],\n displayMath: [['\\\\[', '\\\\]']],\n macros: {\n abs: ['{|#1|}', 1],\n degree: ['°'],\n longdiv: ['{\\\\enclose{longdiv}{#1}}', 1],\n atomic: ['{_{#1}^{#2}}', 2],\n polyatomic: ['{_{#2}{}^{#1}}', 2],\n circledot: ['{\\\\odot}'],\n parallelogram: ['\\\\unicode{x25B1}'],\n ngtr: ['\\\\unicode{x226F}'],\n nless: ['\\\\unicode{x226E}'],\n MathQuillVarField: ['#1', 1],\n overarc: ['{\\\\overparen{#1}}', 1],\n },\n formatError: (jax, err) => {\n logger(EVENTS.MATHJAX_FORMAT_ERROR, {\n id: err.id,\n message: err.message,\n });\n jax.formatError(err);\n },\n },\n chtml: {\n minScale: 1,\n matchFontHeight: false,\n },\n };\n};\n\ninterface IGetPaperColorByQuestion {\n (question: IWorksheetQuestion): TWorksheetQuestionPaperColor;\n}\n\nconst getPaperColorByQuestion: IGetPaperColorByQuestion = question => {\n const { item_type, instructor_stimulus } = question;\n const lowerCaseInstructorStimulus = instructor_stimulus?.toLowerCase();\n\n switch (item_type) {\n case 'overview':\n case 'learning':\n return 'blue';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n if (\n lowerCaseInstructorStimulus === 'instruction' ||\n lowerCaseInstructorStimulus === 'intro' ||\n lowerCaseInstructorStimulus === 'concept-intro'\n ) {\n return 'blue';\n }\n\n if (lowerCaseInstructorStimulus === 'task') {\n return 'green';\n }\n\n return 'yellow';\n case 'practice-basic':\n case 'practice-regular':\n return 'yellow';\n case 'exit-ticket':\n return 'purple';\n case 'advanced-practice':\n return 'orange';\n default:\n if (lowerCaseInstructorStimulus === 'learn') return 'blue';\n\n if (lowerCaseInstructorStimulus === 'try' || lowerCaseInstructorStimulus === 'apply')\n return 'green';\n\n return 'yellow';\n }\n};\n\nconst getQuestionBackgroundImage = (paperColor: TWorksheetQuestionPaperColor) => {\n return `https://cuemath-intel.s3.ap-southeast-1.amazonaws.com/media/math-canvas/paper-${paperColor}.png`;\n};\n\nconst getQuestionBorderColor = (\n paperColor: TWorksheetQuestionPaperColor,\n isActive?: boolean,\n): TColorNames => {\n if (!isActive) {\n return 'GREY_3';\n }\n\n switch (paperColor) {\n case 'orange':\n case 'white':\n return 'ORANGE_2';\n case 'blue':\n return 'BLUE_2';\n case 'green':\n return 'GREEN_2';\n case 'yellow':\n return 'YELLOW_2';\n case 'purple':\n return 'PURPLE_2';\n default:\n return 'GREY_3';\n }\n};\n\nconst getNavigationSectionBackgroundColor = (sectionName?: TSectionName): TColorNames => {\n switch (sectionName) {\n case 'learning':\n return 'BLUE_1';\n case 'practice':\n case 'practice-basic':\n case 'practice-regular':\n return 'YELLOW_1';\n case 'exit-ticket':\n return 'PURPLE_1';\n case 'advanced':\n return 'ORANGE_1';\n default:\n return 'YELLOW_1';\n }\n};\n\nconst getNavigationSectionName = (sectionName?: TSectionName): string => {\n switch (sectionName) {\n case 'learning':\n return 'Learning';\n case 'practice':\n return 'Practice';\n case 'practice-basic':\n return 'Basic practice';\n case 'practice-regular':\n return 'Regular practice';\n case 'exit-ticket':\n return 'Mini quiz';\n case 'advanced':\n return 'Advanced work';\n default:\n return '';\n }\n};\n\nconst getNavigationSectionIcon = (sectionName?: TSectionName) => {\n switch (sectionName) {\n case 'learning':\n return Bulb2Icon;\n case 'practice':\n return PracticeIcon;\n case 'practice-basic':\n return Edit2Icon;\n case 'practice-regular':\n return EditStarIcon;\n case 'exit-ticket':\n return QuestionLetterIcon;\n case 'advanced':\n return Star2Icon;\n default:\n return Bulb2Icon;\n }\n};\n\nconst isSATAssessmentNode = (nodeType: NODE_TYPES) =>\n nodeType === 'SAT_ENGLISH_ASSESSMENT' || nodeType === 'SAT_MATH_ASSESSMENT';\n\nconst checkIsClozeFormulaResponseInvalid = (response: ILearnosityQuestionResponse) => {\n if (Array.isArray(response.value)) {\n const isInvalid = response.value.some(\n item => typeof item === 'string' && item.length > CLOZE_FORMULA_RESPONSE_LIMIT,\n );\n\n return isInvalid;\n }\n\n return false;\n};\n\nconst getWorksheetHeaderLayout: IWorksheetHeaderLayoutProps = ({\n isPuzzleWorksheet,\n isTestWorksheet,\n imageHue = 'BLUE',\n}) => {\n if (isPuzzleWorksheet) {\n return {\n bgColor: `${imageHue}_3`,\n borderColor: `${imageHue}_4`,\n textColor: 'BLACK_T_87',\n };\n }\n\n if (isTestWorksheet) {\n return {\n bgColor: 'WHITE_3',\n borderColor: 'WHITE_4',\n textColor: 'BLACK_T_87',\n };\n }\n\n return {\n bgColor: 'BLACK',\n borderColor: 'BLACK_4',\n textColor: 'WHITE',\n };\n};\n\ninterface IGetPuzzleWorksheetBackgroundColor {\n (imageHue?: THueNames): TColorNames;\n}\n\nconst getPuzzleWorksheetBackgroundColor: IGetPuzzleWorksheetBackgroundColor = imageHue => {\n if (!imageHue) return 'BLUE_1';\n\n return `${imageHue}_1`;\n};\n\nconst isConceptIntroWidget = (instructorStimulus?: TInstructorStimulus) => {\n if (!instructorStimulus) {\n return false;\n }\n\n const lowerCaseInstructorStimulus = instructorStimulus.toLowerCase();\n\n return lowerCaseInstructorStimulus === 'intro' || lowerCaseInstructorStimulus === 'concept-intro';\n};\n\nexport {\n checkIsClozeFormulaResponseInvalid,\n getInitialQuestionId,\n getInitialResponses,\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n getPaperColorByQuestion,\n getPuzzleWorksheetBackgroundColor,\n getQuestionBackgroundImage,\n getQuestionBorderColor,\n getQuestionMetadata,\n getWorksheetDimensions,\n getWorksheetHeaderLayout,\n isConceptIntroWidget,\n isOkayTypeQuestion,\n isSATAssessmentNode,\n isTeacherInterventionNeeded,\n scrollToQuestion,\n setMathJaxConfigInWindow,\n};\n"],"names":["getInitialQuestionId","questions","initialQuestion","initialResponseId","initialItemIndex","lastUnlockedQuestionIndex","lastAttemptableQuestionIndex","unlockedQuestions","lastUnlockedQuestion","lastAttemptableQuestion","q","question","_a","_b","getQuestionMetadata","questionId","isOkayTypeQuestion","getInitialResponses","acc","getWorksheetDimensions","items","layout","actionBar","item","QUESTION_WIDTH","SPLIT_QUESTION_WIDTH","ACTION_BAR_HEIGHT","scrollToQuestion","animation","block","$questionEl","type","options","instructor_stimulus","isTeacherInterventionNeeded","attemptsAfterTeacherInterventionNeeded","attemptsHistory","score","setMathJaxConfigInWindow","logger","doc","math","err","EVENTS","jax","getPaperColorByQuestion","item_type","lowerCaseInstructorStimulus","getQuestionBackgroundImage","paperColor","getQuestionBorderColor","isActive","getNavigationSectionBackgroundColor","sectionName","getNavigationSectionName","getNavigationSectionIcon","Bulb2Icon","PracticeIcon","Edit2Icon","EditStarIcon","QuestionLetterIcon","Star2Icon","checkIsClozeFormulaResponseInvalid","response","CLOZE_FORMULA_RESPONSE_LIMIT","getWorksheetHeaderLayout","isPuzzleWorksheet","isTestWorksheet","imageHue","getPuzzleWorksheetBackgroundColor","isConceptIntroWidget","instructorStimulus"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-helpers.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-helpers.ts"],"sourcesContent":["import Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport EditStarIcon from '../../../assets/line-icons/icons/edit-star';\nimport Edit2Icon from '../../../assets/line-icons/icons/edit2';\nimport PracticeIcon from '../../../assets/line-icons/icons/practice';\nimport QuestionLetterIcon from '../../../assets/line-icons/icons/question-letter';\nimport Star2Icon from '../../../assets/line-icons/icons/star2';\nimport { type NODE_TYPES } from '../../../types/models/worksheet';\nimport type { TColorNames, THueNames } from '../../ui/types';\nimport EVENTS from '../constants/events';\nimport {\n ACTION_BAR_HEIGHT,\n CLOZE_FORMULA_RESPONSE_LIMIT,\n QUESTION_WIDTH,\n SPLIT_QUESTION_WIDTH,\n} from './constants';\nimport type { TWorksheetQuestionPaperColor } from './worksheet-question/worksheet-question-types';\nimport {\n type ILearnosityItem,\n type ILearnosityQuestion,\n type ILearnosityQuestionResponse,\n type IWorksheetBehavior,\n type IWorksheetHeaderLayoutProps,\n type IWorksheetLayout,\n type IWorksheetQuestion,\n type IWorksheetResponse,\n type TInstructorStimulus,\n type TSectionName,\n} from './worksheet-types';\n\ninterface IGetInitialQuestionId {\n (params: {\n questions: IWorksheetQuestion[];\n initialQuestion: IWorksheetBehavior['initialQuestion'];\n lastUnlockedQuestionIndex: number;\n lastAttemptableQuestionIndex: number;\n initialResponseId?: string;\n initialItemIndex?: number;\n }): string;\n}\n\nconst getInitialQuestionId: IGetInitialQuestionId = ({\n questions,\n initialQuestion,\n initialResponseId,\n initialItemIndex,\n lastUnlockedQuestionIndex,\n lastAttemptableQuestionIndex,\n}) => {\n const unlockedQuestions = questions.slice(0, lastUnlockedQuestionIndex + 1);\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n const lastAttemptableQuestion = questions[lastAttemptableQuestionIndex]!;\n\n if (initialResponseId && unlockedQuestions.find(q => q.response_id === initialResponseId)) {\n return initialResponseId;\n }\n\n if (\n typeof initialItemIndex === 'number' &&\n initialItemIndex <= lastUnlockedQuestion.item_number\n ) {\n const question = questions.find(q => q.item_number === initialItemIndex);\n\n if (question?.response_id) {\n return question.response_id;\n }\n }\n\n if (initialQuestion === 'FIRST' && questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n if (initialQuestion === 'CURRENT') {\n return lastAttemptableQuestion.response_id;\n }\n\n if (questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n throw new Error('Initial question not found');\n};\n\ntype TQuestionMetadata = Pick<\n IWorksheetResponse,\n 'widgetReference' | 'itemReference' | 'itemPosition' | 'questionPosition' | 'isOkayTypeQuestion'\n>;\n\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion[],\n questionId: string,\n): TQuestionMetadata;\nfunction getQuestionMetadata(question: IWorksheetQuestion): TQuestionMetadata;\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion | IWorksheetQuestion[],\n questionId?: string,\n) {\n const question = Array.isArray(questions)\n ? questions.find(q => q.response_id === questionId)\n : questions;\n\n if (!question) {\n throw new Error(`Question with id ${questionId} not found`);\n }\n\n return {\n widgetReference: question.metadata.widget_reference,\n itemReference: question.item_reference,\n itemPosition: question.item_number,\n questionPosition: question.question_number,\n isOkayTypeQuestion: isOkayTypeQuestion(question),\n score: {\n max_score:\n question?.validation?.valid_response?.score ?? 0 * question.metadata.valid_response_count,\n },\n tags: {\n ...question.item_tags_map,\n instructor_stimulus: question.instructor_stimulus,\n },\n };\n}\n\ninterface IGetInitialResponses {\n (questions: IWorksheetQuestion[]): Record<string, IWorksheetResponse>;\n}\n\nconst getInitialResponses: IGetInitialResponses = questions => {\n return questions.reduce(\n (acc, question) => ({\n ...acc,\n [question.response_id]: getQuestionMetadata(questions, question.response_id),\n }),\n {},\n );\n};\n\ninterface IGetWorksheetDimensions {\n (\n items: ILearnosityItem[],\n layout: IWorksheetLayout,\n ): {\n questionsContainerWidth: number;\n maxQuestionWidth: number;\n actionbarHeight: number;\n };\n}\n\nconst getWorksheetDimensions: IGetWorksheetDimensions = (items, layout) => {\n const { actionBar } = layout;\n const isSingleColumn = !items.some(item =>\n item.questions.some(question => question.stimulus_review),\n );\n const actionbarHeight = actionBar === 'bottom' ? ACTION_BAR_HEIGHT : 0;\n\n return {\n questionsContainerWidth: isSingleColumn ? QUESTION_WIDTH : SPLIT_QUESTION_WIDTH,\n maxQuestionWidth: QUESTION_WIDTH,\n actionbarHeight,\n };\n};\n\ninterface IScrollToQuestion {\n (questionId: string, params?: { animation?: boolean; block?: 'start' | 'end' }): void;\n}\n\nconst scrollToQuestion: IScrollToQuestion = (\n questionId,\n { animation = false, block = 'start' } = {},\n) => {\n const $questionEl = document.querySelectorAll(`.widget-${questionId}`)[0];\n\n if ($questionEl) {\n $questionEl.scrollIntoView({\n block,\n behavior: animation ? 'smooth' : 'instant',\n });\n }\n};\n\ninterface IIsOkayTypeQuestion {\n (question: IWorksheetQuestion | ILearnosityQuestion): boolean;\n}\n\nconst isOkayTypeQuestion: IIsOkayTypeQuestion = question => {\n const { type, options, instructor_stimulus } = question;\n const itemType = 'item_type' in question ? question.item_type : undefined;\n\n if (\n itemType === 'overview' ||\n instructor_stimulus === 'Intro' ||\n instructor_stimulus === 'SystemIntro' ||\n instructor_stimulus === 'Concept-Intro'\n ) {\n return true;\n }\n\n return type === 'mcq' && options?.length === 1 ? true : false;\n};\n\ninterface IIsTeacherInterventionNeeded {\n (params: {\n attemptsAfterTeacherInterventionNeeded: number | undefined;\n attemptsHistory: IWorksheetResponse['attemptsHistory'];\n }): boolean;\n}\n\nconst isTeacherInterventionNeeded: IIsTeacherInterventionNeeded = ({\n attemptsAfterTeacherInterventionNeeded,\n attemptsHistory,\n}) => {\n if (\n attemptsAfterTeacherInterventionNeeded &&\n (attemptsHistory?.length ?? 0) >= attemptsAfterTeacherInterventionNeeded\n ) {\n const score = attemptsHistory?.slice(-1)[0]?.score;\n\n if (score && score.score === score.max_score) {\n return false;\n }\n\n return true;\n }\n\n return false;\n};\n\nconst setMathJaxConfigInWindow = (\n logger: (eventName: string, data?: Record<string, unknown>) => void,\n) => {\n window.MathJax = {\n options: {\n enableMenu: false,\n ignoreHtmlClass: 'lrn_noMath',\n compileError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_COMPILE_ERROR);\n doc.compileError(math, err);\n },\n typesetError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_TYPESET_ERROR);\n doc.typesetError(math, err);\n // throw new Error('typesetError');\n },\n },\n tex: {\n inlineMath: [\n ['\\\\(', '\\\\)'],\n ['$$', '$$'],\n ],\n displayMath: [['\\\\[', '\\\\]']],\n macros: {\n abs: ['{|#1|}', 1],\n degree: ['°'],\n longdiv: ['{\\\\enclose{longdiv}{#1}}', 1],\n atomic: ['{_{#1}^{#2}}', 2],\n polyatomic: ['{_{#2}{}^{#1}}', 2],\n circledot: ['{\\\\odot}'],\n parallelogram: ['\\\\unicode{x25B1}'],\n ngtr: ['\\\\unicode{x226F}'],\n nless: ['\\\\unicode{x226E}'],\n MathQuillVarField: ['#1', 1],\n overarc: ['{\\\\overparen{#1}}', 1],\n },\n formatError: (jax, err) => {\n logger(EVENTS.MATHJAX_FORMAT_ERROR, {\n id: err.id,\n message: err.message,\n });\n jax.formatError(err);\n },\n },\n chtml: {\n minScale: 1,\n matchFontHeight: false,\n },\n };\n};\n\ninterface IGetPaperColorByQuestion {\n (question: IWorksheetQuestion): TWorksheetQuestionPaperColor;\n}\n\nconst getPaperColorByQuestion: IGetPaperColorByQuestion = question => {\n const { item_type, instructor_stimulus } = question;\n const lowerCaseInstructorStimulus = instructor_stimulus?.toLowerCase();\n\n switch (item_type) {\n case 'overview':\n case 'learning':\n return 'blue';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n if (\n lowerCaseInstructorStimulus === 'instruction' ||\n lowerCaseInstructorStimulus === 'intro' ||\n lowerCaseInstructorStimulus === 'concept-intro'\n ) {\n return 'blue';\n }\n\n if (lowerCaseInstructorStimulus === 'task') {\n return 'green';\n }\n\n return 'yellow';\n case 'practice-basic':\n case 'practice-regular':\n return 'yellow';\n case 'exit-ticket':\n return 'purple';\n case 'advanced-practice':\n return 'orange';\n default:\n if (lowerCaseInstructorStimulus === 'learn') return 'blue';\n\n if (lowerCaseInstructorStimulus === 'try' || lowerCaseInstructorStimulus === 'apply')\n return 'green';\n\n return 'yellow';\n }\n};\n\nconst getQuestionBackgroundImage = (paperColor: TWorksheetQuestionPaperColor) => {\n return `https://cuemath-intel.s3.ap-southeast-1.amazonaws.com/media/math-canvas/paper-${paperColor}.png`;\n};\n\nconst getQuestionBorderColor = (\n paperColor: TWorksheetQuestionPaperColor,\n isActive?: boolean,\n): TColorNames => {\n if (!isActive) {\n return 'GREY_3';\n }\n\n switch (paperColor) {\n case 'orange':\n case 'white':\n return 'ORANGE_2';\n case 'blue':\n return 'BLUE_2';\n case 'green':\n return 'GREEN_2';\n case 'yellow':\n return 'YELLOW_2';\n case 'purple':\n return 'PURPLE_2';\n default:\n return 'GREY_3';\n }\n};\n\nconst getNavigationSectionBackgroundColor = (sectionName?: TSectionName): TColorNames => {\n switch (sectionName) {\n case 'learning':\n return 'BLUE_1';\n case 'practice':\n case 'practice-basic':\n case 'practice-regular':\n return 'YELLOW_1';\n case 'exit-ticket':\n return 'PURPLE_1';\n case 'advanced':\n return 'ORANGE_1';\n default:\n return 'YELLOW_1';\n }\n};\n\nconst getNavigationSectionName = (sectionName?: TSectionName): string => {\n switch (sectionName) {\n case 'learning':\n return 'Learning';\n case 'practice':\n return 'Practice';\n case 'practice-basic':\n return 'Basic practice';\n case 'practice-regular':\n return 'Regular practice';\n case 'exit-ticket':\n return 'Mini quiz';\n case 'advanced':\n return 'Advanced work';\n default:\n return '';\n }\n};\n\nconst getNavigationSectionIcon = (sectionName?: TSectionName) => {\n switch (sectionName) {\n case 'learning':\n return Bulb2Icon;\n case 'practice':\n return PracticeIcon;\n case 'practice-basic':\n return Edit2Icon;\n case 'practice-regular':\n return EditStarIcon;\n case 'exit-ticket':\n return QuestionLetterIcon;\n case 'advanced':\n return Star2Icon;\n default:\n return Bulb2Icon;\n }\n};\n\nconst isSATAssessmentNode = (nodeType: NODE_TYPES) =>\n nodeType === 'SAT_ENGLISH_ASSESSMENT' || nodeType === 'SAT_MATH_ASSESSMENT';\n\nconst checkIsClozeFormulaResponseInvalid = (response: ILearnosityQuestionResponse) => {\n if (Array.isArray(response.value)) {\n const isInvalid = response.value.some(\n item => typeof item === 'string' && item.length > CLOZE_FORMULA_RESPONSE_LIMIT,\n );\n\n return isInvalid;\n }\n\n return false;\n};\n\nconst getWorksheetHeaderLayout: IWorksheetHeaderLayoutProps = ({\n isPuzzleWorksheet,\n isTestWorksheet,\n imageHue = 'BLUE',\n}) => {\n if (isPuzzleWorksheet) {\n return {\n bgColor: `${imageHue}_3`,\n borderColor: `${imageHue}_4`,\n textColor: 'BLACK_T_87',\n };\n }\n\n if (isTestWorksheet) {\n return {\n bgColor: 'WHITE_3',\n borderColor: 'WHITE_4',\n textColor: 'BLACK_T_87',\n };\n }\n\n return {\n bgColor: 'BLACK',\n borderColor: 'BLACK_4',\n textColor: 'WHITE',\n };\n};\n\ninterface IGetPuzzleWorksheetBackgroundColor {\n (imageHue?: THueNames): TColorNames;\n}\n\nconst getPuzzleWorksheetBackgroundColor: IGetPuzzleWorksheetBackgroundColor = imageHue => {\n if (!imageHue) return 'BLUE_1';\n\n return `${imageHue}_1`;\n};\n\nconst isConceptIntroWidget = (instructorStimulus?: TInstructorStimulus) => {\n if (!instructorStimulus) {\n return false;\n }\n\n const lowerCaseInstructorStimulus = instructorStimulus.toLowerCase();\n\n return lowerCaseInstructorStimulus === 'intro' || lowerCaseInstructorStimulus === 'concept-intro';\n};\n\nexport {\n checkIsClozeFormulaResponseInvalid,\n getInitialQuestionId,\n getInitialResponses,\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n getPaperColorByQuestion,\n getPuzzleWorksheetBackgroundColor,\n getQuestionBackgroundImage,\n getQuestionBorderColor,\n getQuestionMetadata,\n getWorksheetDimensions,\n getWorksheetHeaderLayout,\n isConceptIntroWidget,\n isOkayTypeQuestion,\n isSATAssessmentNode,\n isTeacherInterventionNeeded,\n scrollToQuestion,\n setMathJaxConfigInWindow,\n};\n"],"names":["getInitialQuestionId","questions","initialQuestion","initialResponseId","initialItemIndex","lastUnlockedQuestionIndex","lastAttemptableQuestionIndex","unlockedQuestions","lastUnlockedQuestion","lastAttemptableQuestion","q","question","_a","_b","getQuestionMetadata","questionId","isOkayTypeQuestion","getInitialResponses","acc","getWorksheetDimensions","items","layout","actionBar","item","QUESTION_WIDTH","SPLIT_QUESTION_WIDTH","ACTION_BAR_HEIGHT","scrollToQuestion","animation","block","$questionEl","type","options","instructor_stimulus","isTeacherInterventionNeeded","attemptsAfterTeacherInterventionNeeded","attemptsHistory","score","setMathJaxConfigInWindow","logger","doc","math","err","EVENTS","jax","getPaperColorByQuestion","item_type","lowerCaseInstructorStimulus","getQuestionBackgroundImage","paperColor","getQuestionBorderColor","isActive","getNavigationSectionBackgroundColor","sectionName","getNavigationSectionName","getNavigationSectionIcon","Bulb2Icon","PracticeIcon","Edit2Icon","EditStarIcon","QuestionLetterIcon","Star2Icon","isSATAssessmentNode","nodeType","checkIsClozeFormulaResponseInvalid","response","CLOZE_FORMULA_RESPONSE_LIMIT","getWorksheetHeaderLayout","isPuzzleWorksheet","isTestWorksheet","imageHue","getPuzzleWorksheetBackgroundColor","isConceptIntroWidget","instructorStimulus"],"mappings":"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"}
@@ -1,18 +1,19 @@
1
- import { useMemo as i } from "react";
2
- import { QUESTIONS_GAP as L, WORKSHEET_NUDGE_BANNER_HEIGHT as N, TOP_NAVIGATION_HEIGHT as D } from "../../worksheet/constants.js";
3
- const e = ({
4
- userType: c,
5
- nodeType: t,
1
+ import { useMemo as _ } from "react";
2
+ import { QUESTIONS_GAP as L, WORKSHEET_NUDGE_BANNER_HEIGHT as N, TOP_NAVIGATION_HEIGHT as T } from "../../worksheet/constants.js";
3
+ const l = ({
4
+ userType: r,
5
+ nodeType: a,
6
6
  isSATAssessment: o,
7
7
  showNudgeBanner: A,
8
- topOffset: a,
9
- imageHue: n
8
+ topOffset: n,
9
+ imageHue: e
10
10
  }) => {
11
- const r = t === "PUZZLE_CARD", I = i(() => {
11
+ const t = a === "PUZZLE_CARD", c = _(() => {
12
12
  if (o) return "bottom";
13
- switch (t) {
13
+ switch (a) {
14
14
  case "PUZZLE_CARD":
15
15
  case "TRIAL_DIAGNOSTIC":
16
+ case "TRIAL":
16
17
  case "TRIAL_BASIC":
17
18
  case "TRIAL_INTERMEDIATE":
18
19
  case "TRIAL_ADVANCED":
@@ -20,39 +21,45 @@ const e = ({
20
21
  default:
21
22
  return "top";
22
23
  }
23
- }, [o, t]), E = I === "top" ? D : 0, R = `calc(100vh - ${a + E}px)`, _ = `calc(100vh - ${a + E}px)`, u = A ? a + N : a;
24
- return i(
24
+ }, [o, a]), E = c === "top" ? T : 0, i = `calc(100vh - ${n + E}px)`, R = `calc(100vh - ${n + E}px)`, u = A ? n + N : n, I = [
25
+ "TRIAL_DIAGNOSTIC",
26
+ "TRIAL",
27
+ "TRIAL_BASIC",
28
+ "TRIAL_INTERMEDIATE",
29
+ "TRIAL_ADVANCED"
30
+ ].includes(a);
31
+ return _(
25
32
  () => ({
26
- containerStyle: o || r ? "none" : "card",
33
+ containerStyle: o || t ? "none" : "card",
27
34
  //* The width of the container is set based on the user type and whether it is a SAT assessment
28
35
  //* For Puzzle sheets, on student side we are showing a header with 800px fixed width.
29
- containerWidth: o ? "1024px" : c === "TEACHER" ? "100%" : "800px",
36
+ containerWidth: o ? "1024px" : r === "TEACHER" ? "100%" : "800px",
30
37
  actionBar: "bottom",
31
38
  topOffset: u,
32
- navigationBar: I,
33
- questionsScrollable: !(o || t === "TRIAL_DIAGNOSTIC" || t === "TRIAL_BASIC" || t === "TRIAL_INTERMEDIATE" || t === "TRIAL_ADVANCED"),
34
- minQuestionHeight: R,
35
- minSummaryHeight: _,
36
- renderSideBar: c === "TEACHER" && !o,
37
- renderQuestionHeader: !r,
38
- imageHue: n,
39
- background: o || r ? "none" : "paper",
40
- questionPadding: r ? 0 : L
39
+ navigationBar: c,
40
+ questionsScrollable: !(o || I),
41
+ minQuestionHeight: i,
42
+ minSummaryHeight: R,
43
+ renderSideBar: r === "TEACHER" && !o,
44
+ renderQuestionHeader: !t,
45
+ imageHue: e,
46
+ background: o || t ? "none" : "paper",
47
+ questionPadding: t || I ? 0 : L
41
48
  }),
42
49
  [
43
50
  o,
51
+ t,
44
52
  r,
45
- c,
46
53
  u,
54
+ c,
47
55
  I,
48
- t,
56
+ i,
49
57
  R,
50
- _,
51
- n
58
+ e
52
59
  ]
53
60
  );
54
- }, H = e;
61
+ }, h = l;
55
62
  export {
56
- H as default
63
+ h as default
57
64
  };
58
65
  //# sourceMappingURL=use-worksheet-layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-worksheet-layout.js","sources":["../../../../../src/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport type { THueNames, TUserTypes } from '../../../ui/types';\nimport {\n QUESTIONS_GAP,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from '../../worksheet/constants';\nimport type { IWorksheetLayout } from '../../worksheet/worksheet-types';\n\ninterface IUseWorksheetLayout {\n (options: {\n userType: TUserTypes;\n nodeType: IResumeWorksheetModel['node_type'];\n isSATAssessment: boolean;\n showNudgeBanner?: boolean;\n topOffset: number;\n imageHue?: THueNames;\n }): IWorksheetLayout;\n}\n\nconst useWorksheetLayout: IUseWorksheetLayout = ({\n userType,\n nodeType,\n isSATAssessment,\n showNudgeBanner,\n topOffset,\n imageHue,\n}) => {\n const isPuzzleSheet = nodeType === 'PUZZLE_CARD';\n\n const navigationBar = useMemo<IWorksheetLayout['navigationBar']>(() => {\n if (isSATAssessment) return 'bottom';\n\n switch (nodeType) {\n case 'PUZZLE_CARD':\n case 'TRIAL_DIAGNOSTIC':\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return 'none';\n default:\n return 'top';\n }\n }, [isSATAssessment, nodeType]);\n\n const navHeight = navigationBar === 'top' ? TOP_NAVIGATION_HEIGHT : 0;\n const minQuestionHeight = `calc(100vh - ${topOffset + navHeight}px)`;\n const minSummaryHeight = `calc(100vh - ${topOffset + navHeight}px)`;\n const tOffset = showNudgeBanner ? topOffset + WORKSHEET_NUDGE_BANNER_HEIGHT : topOffset;\n\n return useMemo<IWorksheetLayout>(\n () => ({\n containerStyle: isSATAssessment || isPuzzleSheet ? 'none' : 'card',\n //* The width of the container is set based on the user type and whether it is a SAT assessment\n //* For Puzzle sheets, on student side we are showing a header with 800px fixed width.\n containerWidth: isSATAssessment ? '1024px' : userType === 'TEACHER' ? '100%' : '800px',\n actionBar: 'bottom',\n topOffset: tOffset,\n navigationBar,\n questionsScrollable: !(\n isSATAssessment ||\n nodeType === 'TRIAL_DIAGNOSTIC' ||\n nodeType === 'TRIAL_BASIC' ||\n nodeType === 'TRIAL_INTERMEDIATE' ||\n nodeType === 'TRIAL_ADVANCED'\n ),\n minQuestionHeight,\n minSummaryHeight,\n renderSideBar: userType === 'TEACHER' && !isSATAssessment,\n renderQuestionHeader: !isPuzzleSheet,\n imageHue,\n background: isSATAssessment || isPuzzleSheet ? 'none' : 'paper',\n questionPadding: isPuzzleSheet ? 0 : QUESTIONS_GAP,\n }),\n [\n isSATAssessment,\n isPuzzleSheet,\n userType,\n tOffset,\n navigationBar,\n nodeType,\n minQuestionHeight,\n minSummaryHeight,\n imageHue,\n ],\n );\n};\n\nexport default useWorksheetLayout;\n"],"names":["useWorksheetLayout","userType","nodeType","isSATAssessment","showNudgeBanner","topOffset","imageHue","isPuzzleSheet","navigationBar","useMemo","navHeight","TOP_NAVIGATION_HEIGHT","minQuestionHeight","minSummaryHeight","tOffset","WORKSHEET_NUDGE_BANNER_HEIGHT","QUESTIONS_GAP","useWorksheetLayout$1"],"mappings":";;AAsBA,MAAMA,IAA0C,CAAC;AAAA,EAC/C,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAMC,IAAgBL,MAAa,eAE7BM,IAAgBC,EAA2C,MAAM;AACrE,QAAIN,EAAwB,QAAA;AAE5B,YAAQD,GAAU;AAAA,MAChB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA,GACC,CAACC,GAAiBD,CAAQ,CAAC,GAExBQ,IAAYF,MAAkB,QAAQG,IAAwB,GAC9DC,IAAoB,gBAAgBP,IAAYK,CAAS,OACzDG,IAAmB,gBAAgBR,IAAYK,CAAS,OACxDI,IAAUV,IAAkBC,IAAYU,IAAgCV;AAEvE,SAAAI;AAAA,IACL,OAAO;AAAA,MACL,gBAAgBN,KAAmBI,IAAgB,SAAS;AAAA;AAAA;AAAA,MAG5D,gBAAgBJ,IAAkB,WAAWF,MAAa,YAAY,SAAS;AAAA,MAC/E,WAAW;AAAA,MACX,WAAWa;AAAA,MACX,eAAAN;AAAA,MACA,qBAAqB,EACnBL,KACAD,MAAa,sBACbA,MAAa,iBACbA,MAAa,wBACbA,MAAa;AAAA,MAEf,mBAAAU;AAAA,MACA,kBAAAC;AAAA,MACA,eAAeZ,MAAa,aAAa,CAACE;AAAA,MAC1C,sBAAsB,CAACI;AAAA,MACvB,UAAAD;AAAA,MACA,YAAYH,KAAmBI,IAAgB,SAAS;AAAA,MACxD,iBAAiBA,IAAgB,IAAIS;AAAA,IAAA;AAAA,IAEvC;AAAA,MACEb;AAAA,MACAI;AAAA,MACAN;AAAA,MACAa;AAAA,MACAN;AAAA,MACAN;AAAA,MACAU;AAAA,MACAC;AAAA,MACAP;AAAA,IACF;AAAA,EAAA;AAEJ,GAEAW,IAAejB;"}
1
+ {"version":3,"file":"use-worksheet-layout.js","sources":["../../../../../src/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport type { THueNames, TUserTypes } from '../../../ui/types';\nimport {\n QUESTIONS_GAP,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_NUDGE_BANNER_HEIGHT,\n} from '../../worksheet/constants';\nimport type { IWorksheetLayout } from '../../worksheet/worksheet-types';\n\ninterface IUseWorksheetLayout {\n (options: {\n userType: TUserTypes;\n nodeType: IResumeWorksheetModel['node_type'];\n isSATAssessment: boolean;\n showNudgeBanner?: boolean;\n topOffset: number;\n imageHue?: THueNames;\n }): IWorksheetLayout;\n}\n\nconst useWorksheetLayout: IUseWorksheetLayout = ({\n userType,\n nodeType,\n isSATAssessment,\n showNudgeBanner,\n topOffset,\n imageHue,\n}) => {\n const isPuzzleSheet = nodeType === 'PUZZLE_CARD';\n\n const navigationBar = useMemo<IWorksheetLayout['navigationBar']>(() => {\n if (isSATAssessment) return 'bottom';\n\n switch (nodeType) {\n case 'PUZZLE_CARD':\n case 'TRIAL_DIAGNOSTIC':\n case 'TRIAL':\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return 'none';\n default:\n return 'top';\n }\n }, [isSATAssessment, nodeType]);\n\n const navHeight = navigationBar === 'top' ? TOP_NAVIGATION_HEIGHT : 0;\n const minQuestionHeight = `calc(100vh - ${topOffset + navHeight}px)`;\n const minSummaryHeight = `calc(100vh - ${topOffset + navHeight}px)`;\n const tOffset = showNudgeBanner ? topOffset + WORKSHEET_NUDGE_BANNER_HEIGHT : topOffset;\n const isTrialSessionNodes = [\n 'TRIAL_DIAGNOSTIC',\n 'TRIAL',\n 'TRIAL_BASIC',\n 'TRIAL_INTERMEDIATE',\n 'TRIAL_ADVANCED',\n ].includes(nodeType);\n\n return useMemo<IWorksheetLayout>(\n () => ({\n containerStyle: isSATAssessment || isPuzzleSheet ? 'none' : 'card',\n //* The width of the container is set based on the user type and whether it is a SAT assessment\n //* For Puzzle sheets, on student side we are showing a header with 800px fixed width.\n containerWidth: isSATAssessment ? '1024px' : userType === 'TEACHER' ? '100%' : '800px',\n actionBar: 'bottom',\n topOffset: tOffset,\n navigationBar,\n questionsScrollable: !(isSATAssessment || isTrialSessionNodes),\n minQuestionHeight,\n minSummaryHeight,\n renderSideBar: userType === 'TEACHER' && !isSATAssessment,\n renderQuestionHeader: !isPuzzleSheet,\n imageHue,\n background: isSATAssessment || isPuzzleSheet ? 'none' : 'paper',\n questionPadding: isPuzzleSheet || isTrialSessionNodes ? 0 : QUESTIONS_GAP,\n }),\n [\n isSATAssessment,\n isPuzzleSheet,\n userType,\n tOffset,\n navigationBar,\n isTrialSessionNodes,\n minQuestionHeight,\n minSummaryHeight,\n imageHue,\n ],\n );\n};\n\nexport default useWorksheetLayout;\n"],"names":["useWorksheetLayout","userType","nodeType","isSATAssessment","showNudgeBanner","topOffset","imageHue","isPuzzleSheet","navigationBar","useMemo","navHeight","TOP_NAVIGATION_HEIGHT","minQuestionHeight","minSummaryHeight","tOffset","WORKSHEET_NUDGE_BANNER_HEIGHT","isTrialSessionNodes","QUESTIONS_GAP","useWorksheetLayout$1"],"mappings":";;AAsBA,MAAMA,IAA0C,CAAC;AAAA,EAC/C,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAMC,IAAgBL,MAAa,eAE7BM,IAAgBC,EAA2C,MAAM;AACrE,QAAIN,EAAwB,QAAA;AAE5B,YAAQD,GAAU;AAAA,MAChB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA,GACC,CAACC,GAAiBD,CAAQ,CAAC,GAExBQ,IAAYF,MAAkB,QAAQG,IAAwB,GAC9DC,IAAoB,gBAAgBP,IAAYK,CAAS,OACzDG,IAAmB,gBAAgBR,IAAYK,CAAS,OACxDI,IAAUV,IAAkBC,IAAYU,IAAgCV,GACxEW,IAAsB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,SAASd,CAAQ;AAEZ,SAAAO;AAAA,IACL,OAAO;AAAA,MACL,gBAAgBN,KAAmBI,IAAgB,SAAS;AAAA;AAAA;AAAA,MAG5D,gBAAgBJ,IAAkB,WAAWF,MAAa,YAAY,SAAS;AAAA,MAC/E,WAAW;AAAA,MACX,WAAWa;AAAA,MACX,eAAAN;AAAA,MACA,qBAAqB,EAAEL,KAAmBa;AAAA,MAC1C,mBAAAJ;AAAA,MACA,kBAAAC;AAAA,MACA,eAAeZ,MAAa,aAAa,CAACE;AAAA,MAC1C,sBAAsB,CAACI;AAAA,MACvB,UAAAD;AAAA,MACA,YAAYH,KAAmBI,IAAgB,SAAS;AAAA,MACxD,iBAAiBA,KAAiBS,IAAsB,IAAIC;AAAA,IAAA;AAAA,IAE9D;AAAA,MACEd;AAAA,MACAI;AAAA,MACAN;AAAA,MACAa;AAAA,MACAN;AAAA,MACAQ;AAAA,MACAJ;AAAA,MACAC;AAAA,MACAP;AAAA,IACF;AAAA,EAAA;AAEJ,GAEAY,IAAelB;"}
package/dist/index.d.ts CHANGED
@@ -275,6 +275,7 @@ declare enum CARD_TYPE {
275
275
  'monthly_mastery_test' = "monthly_mastery_test",
276
276
  'supplementary_mastery_test' = "supplementary_mastery_test",
277
277
  'trial_diagnostic' = "trial_diagnostic",
278
+ 'trial' = "trial",
278
279
  'trial_basic' = "trial_basic",
279
280
  'trial_intermediate' = "trial_intermediate",
280
281
  'trial_advanced' = "trial_advanced",
@@ -4713,6 +4714,7 @@ export declare interface ITodaysContentTimeStamps {
4713
4714
  declare interface IToolbarProps {
4714
4715
  userType: TUserTypes;
4715
4716
  renderAs: TRenderAs_2;
4717
+ withGutter?: boolean;
4716
4718
  }
4717
4719
 
4718
4720
  export declare interface ITrackEvent {
@@ -4724,6 +4726,7 @@ export declare interface ITrialSessionFormFields {
4724
4726
  id: string;
4725
4727
  name?: string;
4726
4728
  grade?: string;
4729
+ course?: string;
4727
4730
  curriculum?: string;
4728
4731
  goals?: TGoals[];
4729
4732
  studentProfile?: {
@@ -4755,6 +4758,7 @@ export declare interface ITrialSessionFormFields {
4755
4758
  numberInNameError?: boolean;
4756
4759
  confirmationModalActive?: boolean;
4757
4760
  resetAttempt: boolean;
4761
+ selectedTopics?: string[];
4758
4762
  }
4759
4763
 
4760
4764
  declare interface ITrialSessionMetadata {
@@ -4763,6 +4767,7 @@ declare interface ITrialSessionMetadata {
4763
4767
 
4764
4768
  declare interface ITrialSessionProps {
4765
4769
  classStartedOn?: Date;
4770
+ demoType: string;
4766
4771
  height?: string | number;
4767
4772
  userType: TUserTypes;
4768
4773
  studentId: string;
@@ -5758,6 +5763,7 @@ export declare const NODE_TYPE: {
5758
5763
  readonly MASTERY: "MASTERY";
5759
5764
  readonly TRIAL_DIAGNOSTIC: "TRIAL_DIAGNOSTIC";
5760
5765
  readonly PDF: "PDF";
5766
+ readonly TRIAL: "TRIAL";
5761
5767
  readonly TRIAL_BASIC: "TRIAL_BASIC";
5762
5768
  readonly TRIAL_INTERMEDIATE: "TRIAL_INTERMEDIATE";
5763
5769
  readonly TRIAL_ADVANCED: "TRIAL_ADVANCED";
@@ -5789,6 +5795,7 @@ export declare enum NODE_TYPES {
5789
5795
  'CHAPTER_ASSESSMENT' = "CHAPTER_ASSESSMENT",
5790
5796
  'ASSESSMENT' = "ASSESSMENT",
5791
5797
  'TRIAL_DIAGNOSTIC' = "TRIAL_DIAGNOSTIC",
5798
+ 'TRIAL' = "TRIAL",
5792
5799
  'TRIAL_BASIC' = "TRIAL_BASIC",
5793
5800
  'TRIAL_INTERMEDIATE' = "TRIAL_INTERMEDIATE",
5794
5801
  'TRIAL_ADVANCED' = "TRIAL_ADVANCED",
@@ -6516,7 +6523,7 @@ export declare type TCheckboxVariants = 'black' | 'black-dark';
6516
6523
  */
6517
6524
  export declare type TCoachmarkJourneyProps = Omit<ICoachmarkProps, 'isActive'>;
6518
6525
 
6519
- export declare type TColorNames = `${THueNames}_${'1' | '2' | '3' | '4' | '5' | '6'}` | `${'BLACK' | 'WHITE'}_${'1' | '2' | '3' | '4' | '5'}` | `${'GREY'}_${'1' | '2' | '3' | '4'}` | `${'BLACK_T'}_${'02' | '04' | '08' | '15' | '20' | '38' | '60' | '87'}` | `${'WHITE_T'}_${'03' | '05' | '10' | '15' | '38' | '60' | '87'}` | 'BLACK' | `${'BLACK'}_${'50' | '65' | '75' | '10'}` | 'REAL_BLACK' | `${'REAL_BLACK'}_${'10' | '15' | '30' | '50' | '60'}` | 'WHITE' | `${'WHITE'}_${'10' | '20' | '30' | '70'}` | 'RED' | 'TRANSPARENT' | 'FLOWER' | `${'GREEN' | 'PURPLE'}_20`;
6526
+ export declare type TColorNames = `${THueNames}_${'1' | '2' | '3' | '4' | '5' | '6'}` | `${'BLACK' | 'WHITE'}_${'1' | '2' | '3' | '4' | '5'}` | `${'GREY'}_${'1' | '2' | '3' | '4'}` | `${'BLACK_T'}_${'02' | '04' | '08' | '15' | '20' | '38' | '60' | '87'}` | `${'WHITE_T'}_${'03' | '05' | '10' | '15' | '38' | '60' | '87'}` | 'BLACK' | `${'BLACK'}_${'50' | '65' | '75' | '10'}` | 'REAL_BLACK' | `${'REAL_BLACK'}_${'10' | '15' | '30' | '50' | '60'}` | 'WHITE' | `${'WHITE'}_${'10' | '20' | '30' | '70'}` | 'RED' | `${'RED'}_${'4'}` | 'TRANSPARENT' | 'FLOWER' | `${'GREEN' | 'PURPLE'}_20`;
6520
6527
 
6521
6528
  export declare type TColorsMap = Record<TColorNames, string>;
6522
6529
 
@@ -7220,7 +7227,7 @@ declare type TNodeSubGroupProps = keyof typeof NODE_SUB_GROUP;
7220
7227
 
7221
7228
  declare type TNodeTypeProps = keyof typeof NODE_TYPE | keyof typeof PYTHON_NODE_TYPES | keyof typeof SAT_NODE_TYPE;
7222
7229
 
7223
- export declare type TNodeTypes = 'LEGACY' | 'LEARNING' | 'REMEDIAL' | 'GENERAL' | 'SAT_MATH_RECAP' | 'SAT_MATH_LEARNING' | 'SAT_MATH_ASSESSMENT' | 'SAT_ENGLISH_RECAP' | 'SAT_ENGLISH_LEARNING' | 'SAT_ENGLISH_ASSESSMENT' | 'LEVEL3' | 'RECAP' | 'REVISION' | 'LEVEL2' | 'TARGET_PRACTICE' | 'PRACTICE' | 'EXTRA_PRACTICE' | 'PUZZLE_EASY' | 'PUZZLE_MEDIUM' | 'PUZZLE_HARD' | 'CHAPTER_ASSESSMENT' | 'ASSESSMENT' | 'TRIAL_DIAGNOSTIC' | 'TRIAL_BASIC' | 'TRIAL_INTERMEDIATE' | 'TRIAL_ADVANCED' | 'MASTERY' | 'DYNAMIC' | 'TURING_ASSESSMENT' | 'TURING_SUBJECTIVE' | 'TURING_PRACTICE' | 'DIAGNOSTIC' | 'SUBJECTIVE' | 'VIDEO' | 'PUZZLE_CARD';
7230
+ export declare type TNodeTypes = 'LEGACY' | 'LEARNING' | 'REMEDIAL' | 'GENERAL' | 'SAT_MATH_RECAP' | 'SAT_MATH_LEARNING' | 'SAT_MATH_ASSESSMENT' | 'SAT_ENGLISH_RECAP' | 'SAT_ENGLISH_LEARNING' | 'SAT_ENGLISH_ASSESSMENT' | 'LEVEL3' | 'RECAP' | 'REVISION' | 'LEVEL2' | 'TARGET_PRACTICE' | 'PRACTICE' | 'EXTRA_PRACTICE' | 'PUZZLE_EASY' | 'PUZZLE_MEDIUM' | 'PUZZLE_HARD' | 'CHAPTER_ASSESSMENT' | 'ASSESSMENT' | 'TRIAL_DIAGNOSTIC' | 'TRIAL' | 'TRIAL_BASIC' | 'TRIAL_INTERMEDIATE' | 'TRIAL_ADVANCED' | 'MASTERY' | 'DYNAMIC' | 'TURING_ASSESSMENT' | 'TURING_SUBJECTIVE' | 'TURING_PRACTICE' | 'DIAGNOSTIC' | 'SUBJECTIVE' | 'VIDEO' | 'PUZZLE_CARD';
7224
7231
 
7225
7232
  declare type TNodeTypes_2 = keyof typeof NODE_TYPE | keyof typeof PYTHON_NODE_TYPES | keyof typeof SAT_NODE_TYPE;
7226
7233
 
@@ -7296,7 +7303,7 @@ declare type TQuestionByQuestionOverviewList = {
7296
7303
 
7297
7304
  export declare enum TRACKING_ID_STUDENT {
7298
7305
  INFO_ABOUT_GAME_ACTIVITIES = "INFO_ABOUT_GAME_ACTIVITIES",
7299
- CIRCLE_ONBOARDING_IS_COMPLETED = "CIRCLE_ONBOARDING_IS_COMPLETED"
7306
+ CIRCLE_ONBOARDING_COMPLETED = "CIRCLE_ONBOARDING_COMPLETED"
7300
7307
  }
7301
7308
 
7302
7309
  export declare enum TRACKING_ID_TEACHER {
@@ -7742,10 +7749,10 @@ export declare const useGetLeaderboardDal: (userId: string) => Omit<ReturnType<t
7742
7749
  };
7743
7750
 
7744
7751
  export declare const useGetMileStoneConfig: (initialId?: string, initialQuery?: {
7745
- demo_type?: "TRIAL_V3";
7752
+ demo_type?: string;
7746
7753
  } | undefined) => {
7747
7754
  get: (id: string, query: {
7748
- demo_type?: "TRIAL_V3";
7755
+ demo_type?: string;
7749
7756
  } | undefined, meta: void) => Promise<void>;
7750
7757
  resource: ResourceModel<IMilestoneConfig> | undefined;
7751
7758
  data: IMilestoneConfig | undefined;
package/dist/index.js CHANGED
@@ -268,7 +268,7 @@ import { default as ep } from "./features/trial-session/comps/session-report/rep
268
268
  import { default as rp } from "./features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js";
269
269
  import { EClassTimeAlertLevel as ap } from "./features/trial-session/trial-session-types.js";
270
270
  import { ESessionStatus as sp } from "./features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-types.js";
271
- import { useGetSessionReports as up } from "./features/trial-session/api/trial-home.js";
271
+ import { useGetSessionReports as up } from "./features/trial-session/api/trial-session-report.js";
272
272
  import { useClassTimeAlerts as mp } from "./features/trial-session/hooks/use-class-time-alerts.js";
273
273
  import { default as xp } from "./features/timeline/daily-timeline/daily-timeline.js";
274
274
  import { USER_TYPE as ip } from "./features/timeline/daily-timeline/daily-timeline-types.js";
@@ -1,4 +1,4 @@
1
- import b from "../decode-uri-component/index.js";
1
+ import b from "./node_modules/decode-uri-component/index.js";
2
2
  import l from "../split-on-first/index.js";
3
3
  import { includeKeys as N } from "../filter-obj/index.js";
4
4
  const j = (r) => r == null, A = (r) => encodeURIComponent(r).replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), u = Symbol("encodeFragmentIdentifier");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../node_modules/query-string/node_modules/decode-uri-component/index.js"],"sourcesContent":["const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n"],"names":["token","singleMatcher","multiMatcher","decodeComponents","components","split","left","right","decode","input","tokens","i","customDecodeURIComponent","replaceMap","match","result","entries","key","decodeUriComponent","encodedURI"],"mappings":"AAAA,MAAMA,IAAQ,gBACRC,IAAgB,IAAI,OAAO,MAAMD,IAAQ,cAAc,IAAI,GAC3DE,IAAe,IAAI,OAAO,MAAMF,IAAQ,MAAM,IAAI;AAExD,SAASG,EAAiBC,GAAYC,GAAO;AAC5C,MAAI;AAEH,WAAO,CAAC,mBAAmBD,EAAW,KAAK,EAAE,CAAC,CAAC;AAAA,EACjD,QAAS;AAAA,EAEP;AAED,MAAIA,EAAW,WAAW;AACzB,WAAOA;AAGR,EAAAC,IAAQA,KAAS;AAGjB,QAAMC,IAAOF,EAAW,MAAM,GAAGC,CAAK,GAChCE,IAAQH,EAAW,MAAMC,CAAK;AAEpC,SAAO,MAAM,UAAU,OAAO,KAAK,CAAA,GAAIF,EAAiBG,CAAI,GAAGH,EAAiBI,CAAK,CAAC;AACvF;AAEA,SAASC,EAAOC,GAAO;AACtB,MAAI;AACH,WAAO,mBAAmBA,CAAK;AAAA,EACjC,QAAS;AACP,QAAIC,IAASD,EAAM,MAAMR,CAAa,KAAK,CAAA;AAE3C,aAASU,IAAI,GAAGA,IAAID,EAAO,QAAQC;AAClC,MAAAF,IAAQN,EAAiBO,GAAQC,CAAC,EAAE,KAAK,EAAE,GAE3CD,IAASD,EAAM,MAAMR,CAAa,KAAK,CAAA;AAGxC,WAAOQ;AAAA,EACP;AACF;AAEA,SAASG,EAAyBH,GAAO;AAExC,QAAMI,IAAa;AAAA,IAClB,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAEC,MAAIC,IAAQZ,EAAa,KAAKO,CAAK;AACnC,SAAOK,KAAO;AACb,QAAI;AAEH,MAAAD,EAAWC,EAAM,CAAC,CAAC,IAAI,mBAAmBA,EAAM,CAAC,CAAC;AAAA,IACrD,QAAU;AACP,YAAMC,IAASP,EAAOM,EAAM,CAAC,CAAC;AAE9B,MAAIC,MAAWD,EAAM,CAAC,MACrBD,EAAWC,EAAM,CAAC,CAAC,IAAIC;AAAA,IAExB;AAED,IAAAD,IAAQZ,EAAa,KAAKO,CAAK;AAAA,EAC/B;AAGD,EAAAI,EAAW,KAAK,IAAI;AAEpB,QAAMG,IAAU,OAAO,KAAKH,CAAU;AAEtC,aAAWI,KAAOD;AAEjB,IAAAP,IAAQA,EAAM,QAAQ,IAAI,OAAOQ,GAAK,GAAG,GAAGJ,EAAWI,CAAG,CAAC;AAG5D,SAAOR;AACR;AAEe,SAASS,EAAmBC,GAAY;AACtD,MAAI,OAAOA,KAAe;AACzB,UAAM,IAAI,UAAU,wDAAwD,OAAOA,IAAa,GAAG;AAGpG,MAAI;AAEH,WAAO,mBAAmBA,CAAU;AAAA,EACtC,QAAS;AAEP,WAAOP,EAAyBO,CAAU;AAAA,EAC1C;AACF;","x_google_ignoreList":[0]}
@@ -0,0 +1,5 @@
1
+ const a = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
2
+ export {
3
+ a as default
4
+ };
5
+ //# sourceMappingURL=regex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/regex.js"],"sourcesContent":["export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;"],"names":["REGEX"],"mappings":"AAAA,MAAAA,IAAe;","x_google_ignoreList":[0]}
@@ -1,7 +1,6 @@
1
- let t;
2
- const e = new Uint8Array(16);
1
+ var t, e = new Uint8Array(16);
3
2
  function o() {
4
- if (!t && (t = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !t))
3
+ if (!t && (t = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto), !t))
5
4
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
6
5
  return t(e);
7
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rng.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAGA,IAAIA;AACJ,MAAMC,IAAQ,IAAI,WAAW,EAAE;AAChB,SAASC,IAAM;AAE5B,MAAI,CAACF,MAEHA,IAAkB,OAAO,SAAW,OAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM,GAE3G,CAACA;AACH,UAAM,IAAI,MAAM,0GAA0G;AAI9H,SAAOA,EAAgBC,CAAK;AAC9B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"rng.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAGA,IAAIA,GACAC,IAAQ,IAAI,WAAW,EAAE;AACd,SAASC,IAAM;AAE5B,MAAI,CAACF,MAGHA,IAAkB,OAAO,SAAW,OAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM,KAAK,OAAO,WAAa,OAAe,OAAO,SAAS,mBAAoB,cAAc,SAAS,gBAAgB,KAAK,QAAQ,GAE3O,CAACA;AACH,UAAM,IAAI,MAAM,0GAA0G;AAI9H,SAAOA,EAAgBC,CAAK;AAC9B;","x_google_ignoreList":[0]}
@@ -1,10 +1,14 @@
1
- const i = [];
2
- for (let n = 0; n < 256; ++n)
3
- i.push((n + 256).toString(16).slice(1));
4
- function c(n, u = 0) {
5
- return (i[n[u + 0]] + i[n[u + 1]] + i[n[u + 2]] + i[n[u + 3]] + "-" + i[n[u + 4]] + i[n[u + 5]] + "-" + i[n[u + 6]] + i[n[u + 7]] + "-" + i[n[u + 8]] + i[n[u + 9]] + "-" + i[n[u + 10]] + i[n[u + 11]] + i[n[u + 12]] + i[n[u + 13]] + i[n[u + 14]] + i[n[u + 15]]).toLowerCase();
1
+ import s from "./validate.js";
2
+ var t = [];
3
+ for (var n = 0; n < 256; ++n)
4
+ t.push((n + 256).toString(16).substr(1));
5
+ function f(e) {
6
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, o = (t[e[i + 0]] + t[e[i + 1]] + t[e[i + 2]] + t[e[i + 3]] + "-" + t[e[i + 4]] + t[e[i + 5]] + "-" + t[e[i + 6]] + t[e[i + 7]] + "-" + t[e[i + 8]] + t[e[i + 9]] + "-" + t[e[i + 10]] + t[e[i + 11]] + t[e[i + 12]] + t[e[i + 13]] + t[e[i + 14]] + t[e[i + 15]]).toLowerCase();
7
+ if (!s(o))
8
+ throw TypeError("Stringified UUID is invalid");
9
+ return o;
6
10
  }
7
11
  export {
8
- c as unsafeStringify
12
+ f as default
9
13
  };
10
14
  //# sourceMappingURL=stringify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;"],"names":["byteToHex","i","unsafeStringify","arr","offset"],"mappings":"AAMA,MAAMA,IAAY,CAAA;AAElB,SAASC,IAAI,GAAGA,IAAI,KAAK,EAAEA;AACzB,EAAAD,EAAU,MAAMC,IAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AAG3C,SAASC,EAAgBC,GAAKC,IAAS,GAAG;AAG/C,UAAQJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,GAAG;AACvf;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"stringify.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;"],"names":["byteToHex","i","stringify","arr","offset","uuid","validate"],"mappings":";AAMA,IAAIA,IAAY,CAAA;AAEhB,SAASC,IAAI,GAAGA,IAAI,KAAK,EAAEA;AACzB,EAAAD,EAAU,MAAMC,IAAI,KAAO,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;AAGnD,SAASC,EAAUC,GAAK;AACtB,MAAIC,IAAS,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,GAG7EC,KAAQL,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,GAAG;AAMzf,MAAI,CAACE,EAASD,CAAI;AAChB,UAAM,UAAU,6BAA6B;AAG/C,SAAOA;AACT;","x_google_ignoreList":[0]}
@@ -1,20 +1,17 @@
1
- import e from "./native.js";
2
- import i from "./rng.js";
3
- import { unsafeStringify as d } from "./stringify.js";
4
- function g(n, m, t) {
5
- if (e.randomUUID && !m && !n)
6
- return e.randomUUID();
1
+ import d from "./rng.js";
2
+ import f from "./stringify.js";
3
+ function v(n, m, x) {
7
4
  n = n || {};
8
- const r = n.random || (n.rng || i)();
5
+ var r = n.random || (n.rng || d)();
9
6
  if (r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, m) {
10
- t = t || 0;
11
- for (let a = 0; a < 16; ++a)
12
- m[t + a] = r[a];
7
+ x = x || 0;
8
+ for (var a = 0; a < 16; ++a)
9
+ m[x + a] = r[a];
13
10
  return m;
14
11
  }
15
- return d(r);
12
+ return f(r);
16
13
  }
17
14
  export {
18
- g as default
15
+ v as default
19
16
  };
20
17
  //# sourceMappingURL=v4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v4.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","native","rnds","rng","i","unsafeStringify"],"mappings":";;;AAIA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,MAAIC,EAAO,cAAc,CAACF,KAAO,CAACD;AAChC,WAAOG,EAAO;AAGhB,EAAAH,IAAUA,KAAW;AACrB,QAAMI,IAAOJ,EAAQ,WAAWA,EAAQ,OAAOK;AAK/C,MAHAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBH,GAAK;AACP,IAAAC,IAASA,KAAU;AAEnB,aAASI,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAL,EAAIC,IAASI,CAAC,IAAIF,EAAKE,CAAC;AAG1B,WAAOL;AAAA,EACR;AAED,SAAOM,EAAgBH,CAAI;AAC7B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"v4.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","rnds","rng","i","stringify"],"mappings":";;AAGA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,EAAAF,IAAUA,KAAW;AACrB,MAAIG,IAAOH,EAAQ,WAAWA,EAAQ,OAAOI;AAK7C,MAHAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBF,GAAK;AACP,IAAAC,IAASA,KAAU;AAEnB,aAASG,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAJ,EAAIC,IAASG,CAAC,IAAIF,EAAKE,CAAC;AAG1B,WAAOJ;AAAA,EACR;AAED,SAAOK,EAAUH,CAAI;AACvB;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import e from "./regex.js";
2
+ function o(t) {
3
+ return typeof t == "string" && e.test(t);
4
+ }
5
+ export {
6
+ o as default
7
+ };
8
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/validate.js"],"sourcesContent":["import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;"],"names":["validate","uuid","REGEX"],"mappings":";AAEA,SAASA,EAASC,GAAM;AACtB,SAAO,OAAOA,KAAS,YAAYC,EAAM,KAAKD,CAAI;AACpD;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- var R = /* @__PURE__ */ ((A) => (A.LEGACY = "LEGACY", A.LEARNING = "LEARNING", A.REMEDIAL = "REMEDIAL", A.GENERAL = "GENERAL", A.SAT_MATH_RECAP = "SAT_MATH_RECAP", A.SAT_MATH_LEARNING = "SAT_MATH_LEARNING", A.SAT_MATH_ASSESSMENT = "SAT_MATH_ASSESSMENT", A.SAT_ENGLISH_RECAP = "SAT_ENGLISH_RECAP", A.SAT_ENGLISH_LEARNING = "SAT_ENGLISH_LEARNING", A.SAT_ENGLISH_ASSESSMENT = "SAT_ENGLISH_ASSESSMENT", A.LEVEL3 = "LEVEL3", A.RECAP = "RECAP", A.REVISION = "REVISION", A.LEVEL2 = "LEVEL2", A.TARGET_PRACTICE = "TARGET_PRACTICE", A.PRACTICE = "PRACTICE", A.EXTRA_PRACTICE = "EXTRA_PRACTICE", A.PUZZLE_EASY = "PUZZLE_EASY", A.PUZZLE_MEDIUM = "PUZZLE_MEDIUM", A.PUZZLE_HARD = "PUZZLE_HARD", A.CHAPTER_ASSESSMENT = "CHAPTER_ASSESSMENT", A.ASSESSMENT = "ASSESSMENT", A.TRIAL_DIAGNOSTIC = "TRIAL_DIAGNOSTIC", A.TRIAL_BASIC = "TRIAL_BASIC", A.TRIAL_INTERMEDIATE = "TRIAL_INTERMEDIATE", A.TRIAL_ADVANCED = "TRIAL_ADVANCED", A.MASTERY = "MASTERY", A.PUZZLE_CARD = "PUZZLE_CARD", A))(R || {}), I = /* @__PURE__ */ ((A) => (A.LESSON_V3 = "lesson-v3", A.LESSON_V3_1 = "lesson-v3.1", A))(I || {});
1
+ var R = /* @__PURE__ */ ((A) => (A.LEGACY = "LEGACY", A.LEARNING = "LEARNING", A.REMEDIAL = "REMEDIAL", A.GENERAL = "GENERAL", A.SAT_MATH_RECAP = "SAT_MATH_RECAP", A.SAT_MATH_LEARNING = "SAT_MATH_LEARNING", A.SAT_MATH_ASSESSMENT = "SAT_MATH_ASSESSMENT", A.SAT_ENGLISH_RECAP = "SAT_ENGLISH_RECAP", A.SAT_ENGLISH_LEARNING = "SAT_ENGLISH_LEARNING", A.SAT_ENGLISH_ASSESSMENT = "SAT_ENGLISH_ASSESSMENT", A.LEVEL3 = "LEVEL3", A.RECAP = "RECAP", A.REVISION = "REVISION", A.LEVEL2 = "LEVEL2", A.TARGET_PRACTICE = "TARGET_PRACTICE", A.PRACTICE = "PRACTICE", A.EXTRA_PRACTICE = "EXTRA_PRACTICE", A.PUZZLE_EASY = "PUZZLE_EASY", A.PUZZLE_MEDIUM = "PUZZLE_MEDIUM", A.PUZZLE_HARD = "PUZZLE_HARD", A.CHAPTER_ASSESSMENT = "CHAPTER_ASSESSMENT", A.ASSESSMENT = "ASSESSMENT", A.TRIAL_DIAGNOSTIC = "TRIAL_DIAGNOSTIC", A.TRIAL = "TRIAL", A.TRIAL_BASIC = "TRIAL_BASIC", A.TRIAL_INTERMEDIATE = "TRIAL_INTERMEDIATE", A.TRIAL_ADVANCED = "TRIAL_ADVANCED", A.MASTERY = "MASTERY", A.PUZZLE_CARD = "PUZZLE_CARD", A))(R || {}), I = /* @__PURE__ */ ((A) => (A.LESSON_V3 = "lesson-v3", A.LESSON_V3_1 = "lesson-v3.1", A))(I || {});
2
2
  export {
3
3
  I as EWorksheetActivity,
4
4
  R as NODE_TYPES
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet.js","sources":["../../../src/types/models/worksheet.ts"],"sourcesContent":["import type { IChannelMessage } from '@cuemath/cue-message-broker';\n\nimport type { TLPARSheetAttemptState } from '../../features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-type';\nimport type {\n TSheetAttemptLocation,\n TSheetStateProps,\n} from '../../features/sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { THueNames } from '../../features/ui/types';\nimport { type TCourseType } from '../../features/chapters-v2/comps/node-card/node-card-types';\n\nexport type TNodeTypes =\n | 'LEGACY'\n | 'LEARNING'\n | 'REMEDIAL'\n | 'GENERAL'\n | 'SAT_MATH_RECAP'\n | 'SAT_MATH_LEARNING'\n | 'SAT_MATH_ASSESSMENT'\n | 'SAT_ENGLISH_RECAP'\n | 'SAT_ENGLISH_LEARNING'\n | 'SAT_ENGLISH_ASSESSMENT'\n | 'LEVEL3'\n | 'RECAP'\n | 'REVISION'\n | 'LEVEL2'\n | 'TARGET_PRACTICE'\n | 'PRACTICE'\n | 'EXTRA_PRACTICE'\n | 'PUZZLE_EASY'\n | 'PUZZLE_MEDIUM'\n | 'PUZZLE_HARD'\n | 'CHAPTER_ASSESSMENT'\n | 'ASSESSMENT'\n | 'TRIAL_DIAGNOSTIC'\n | 'TRIAL_BASIC'\n | 'TRIAL_INTERMEDIATE'\n | 'TRIAL_ADVANCED'\n | 'MASTERY'\n | 'DYNAMIC'\n | 'TURING_ASSESSMENT'\n | 'TURING_SUBJECTIVE'\n | 'TURING_PRACTICE'\n | 'DIAGNOSTIC'\n | 'SUBJECTIVE'\n | 'VIDEO'\n | 'PUZZLE_CARD';\n\nexport enum NODE_TYPES {\n 'LEGACY' = 'LEGACY',\n 'LEARNING' = 'LEARNING',\n 'REMEDIAL' = 'REMEDIAL',\n 'GENERAL' = 'GENERAL',\n 'SAT_MATH_RECAP' = 'SAT_MATH_RECAP',\n 'SAT_MATH_LEARNING' = 'SAT_MATH_LEARNING',\n 'SAT_MATH_ASSESSMENT' = 'SAT_MATH_ASSESSMENT',\n 'SAT_ENGLISH_RECAP' = 'SAT_ENGLISH_RECAP',\n 'SAT_ENGLISH_LEARNING' = 'SAT_ENGLISH_LEARNING',\n 'SAT_ENGLISH_ASSESSMENT' = 'SAT_ENGLISH_ASSESSMENT',\n 'LEVEL3' = 'LEVEL3',\n 'RECAP' = 'RECAP',\n 'REVISION' = 'REVISION',\n 'LEVEL2' = 'LEVEL2',\n 'TARGET_PRACTICE' = 'TARGET_PRACTICE',\n 'PRACTICE' = 'PRACTICE',\n 'EXTRA_PRACTICE' = 'EXTRA_PRACTICE',\n 'PUZZLE_EASY' = 'PUZZLE_EASY',\n 'PUZZLE_MEDIUM' = 'PUZZLE_MEDIUM',\n 'PUZZLE_HARD' = 'PUZZLE_HARD',\n 'CHAPTER_ASSESSMENT' = 'CHAPTER_ASSESSMENT',\n 'ASSESSMENT' = 'ASSESSMENT',\n 'TRIAL_DIAGNOSTIC' = 'TRIAL_DIAGNOSTIC',\n 'TRIAL_BASIC' = 'TRIAL_BASIC',\n 'TRIAL_INTERMEDIATE' = 'TRIAL_INTERMEDIATE',\n 'TRIAL_ADVANCED' = 'TRIAL_ADVANCED',\n 'MASTERY' = 'MASTERY',\n 'PUZZLE_CARD' = 'PUZZLE_CARD',\n}\n\nexport interface IWorksheetModel {\n name: string;\n learnosity_activity_ref: string;\n activity_type: EWorksheetActivity | null;\n desmos_calculator_enabled: boolean;\n image_hue: THueNames | null;\n}\n\nexport enum EWorksheetActivity {\n LESSON_V3 = 'lesson-v3',\n LESSON_V3_1 = 'lesson-v3.1',\n}\n\nexport interface IWorksheetAttemptModel {\n id: string; // userAttemptId\n node_id: string;\n user_node_id: string;\n node_type: TNodeTypes;\n is_timed: boolean;\n timer_type: 'FLEXIBLE' | 'FIXED' | null;\n sheet_time: number;\n time_spent: number;\n course_type: TCourseType;\n vm_time_spent: number | null;\n started_on_ts: number | null; // epoch time\n created_on_ts: number | null; // epoch time\n completed_on_ts: number | null; // epoch time\n scheduled_start_ts: number | null; // epoch time\n scheduled_end_ts: number | null; // epoch time\n break_interval: number;\n chapter_name: string | null;\n is_worksheet_v3: boolean | null;\n activity_type: EWorksheetActivity | null;\n user_chapter_id?: string | null;\n desmos_calculator_enabled: boolean;\n due_date: number | null;\n state: TLPARSheetAttemptState;\n canvas_data?: Array<IChannelMessage>;\n image_hue?: THueNames | null;\n feedback_comments?: string | null;\n user_block_id?: string | null;\n}\n\nexport interface IWorksheetModelV3 extends IWorksheetAttemptModel {\n permissions: {\n can_attempt: boolean;\n can_change_attempt_location: boolean;\n can_mark_familiar: boolean;\n can_reattempt: boolean;\n can_reset: boolean;\n can_resume: boolean;\n can_review: boolean;\n can_start: boolean;\n can_teacher_review: boolean;\n can_teacher_score: boolean;\n can_unlock: boolean;\n can_view_solution: boolean;\n is_review_disabled: boolean;\n };\n}\n\ninterface IWorksheetPermissionV2 {\n access: boolean;\n code: string;\n reason: string;\n}\n\nexport interface IResumeWorksheetModel extends IWorksheetAttemptModel {\n worksheet_name: string;\n signed_request: string;\n questions_signed_request: string;\n player_config: {\n minimumAccuracy: number;\n validation: boolean;\n }; // this is needed as we are using thsi in submit\n user_attempt_id: string;\n permissions: {\n can_access: IWorksheetPermissionV2;\n can_do: IWorksheetPermissionV2;\n };\n learnosity_activity_ref: string;\n}\n\ntype TWorksheetItems = {\n ref: string;\n};\n\nexport interface IReviewWorksheetModel {\n signed_request: string;\n questions_signed_request: string;\n attempt: IWorksheetAttemptModel;\n worksheet: IWorksheetModel;\n chapter_name?: string;\n course_type?: TCourseType;\n created_on_ts?: number;\n node_id?: string;\n sheet_time?: number;\n time_spent?: number;\n is_timed?: boolean;\n attempt_location: TSheetAttemptLocation;\n state?: TSheetStateProps;\n marked_as_completed?: boolean;\n mastery_summary: Record<string, unknown>;\n title?: string;\n worksheet_id?: string;\n node_type: TNodeTypes;\n items?: TWorksheetItems[];\n}\n\nexport interface IPreviewWorksheetModel {\n signed_request: string;\n questions_signed_request: string;\n worksheet_name: string;\n}\n"],"names":["NODE_TYPES","EWorksheetActivity"],"mappings":"AA+CY,IAAAA,sBAAAA,OACVA,EAAA,SAAW,UACXA,EAAA,WAAa,YACbA,EAAA,WAAa,YACbA,EAAA,UAAY,WACZA,EAAA,iBAAmB,kBACnBA,EAAA,oBAAsB,qBACtBA,EAAA,sBAAwB,uBACxBA,EAAA,oBAAsB,qBACtBA,EAAA,uBAAyB,wBACzBA,EAAA,yBAA2B,0BAC3BA,EAAA,SAAW,UACXA,EAAA,QAAU,SACVA,EAAA,WAAa,YACbA,EAAA,SAAW,UACXA,EAAA,kBAAoB,mBACpBA,EAAA,WAAa,YACbA,EAAA,iBAAmB,kBACnBA,EAAA,cAAgB,eAChBA,EAAA,gBAAkB,iBAClBA,EAAA,cAAgB,eAChBA,EAAA,qBAAuB,sBACvBA,EAAA,aAAe,cACfA,EAAA,mBAAqB,oBACrBA,EAAA,cAAgB,eAChBA,EAAA,qBAAuB,sBACvBA,EAAA,iBAAmB,kBACnBA,EAAA,UAAY,WACZA,EAAA,cAAgB,eA5BNA,IAAAA,KAAA,CAAA,CAAA,GAuCAC,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,cAAc,eAFJA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"worksheet.js","sources":["../../../src/types/models/worksheet.ts"],"sourcesContent":["import type { IChannelMessage } from '@cuemath/cue-message-broker';\n\nimport type { TLPARSheetAttemptState } from '../../features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-type';\nimport type {\n TSheetAttemptLocation,\n TSheetStateProps,\n} from '../../features/sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { THueNames } from '../../features/ui/types';\nimport { type TCourseType } from '../../features/chapters-v2/comps/node-card/node-card-types';\n\nexport type TNodeTypes =\n | 'LEGACY'\n | 'LEARNING'\n | 'REMEDIAL'\n | 'GENERAL'\n | 'SAT_MATH_RECAP'\n | 'SAT_MATH_LEARNING'\n | 'SAT_MATH_ASSESSMENT'\n | 'SAT_ENGLISH_RECAP'\n | 'SAT_ENGLISH_LEARNING'\n | 'SAT_ENGLISH_ASSESSMENT'\n | 'LEVEL3'\n | 'RECAP'\n | 'REVISION'\n | 'LEVEL2'\n | 'TARGET_PRACTICE'\n | 'PRACTICE'\n | 'EXTRA_PRACTICE'\n | 'PUZZLE_EASY'\n | 'PUZZLE_MEDIUM'\n | 'PUZZLE_HARD'\n | 'CHAPTER_ASSESSMENT'\n | 'ASSESSMENT'\n | 'TRIAL_DIAGNOSTIC'\n | 'TRIAL'\n | 'TRIAL_BASIC'\n | 'TRIAL_INTERMEDIATE'\n | 'TRIAL_ADVANCED'\n | 'MASTERY'\n | 'DYNAMIC'\n | 'TURING_ASSESSMENT'\n | 'TURING_SUBJECTIVE'\n | 'TURING_PRACTICE'\n | 'DIAGNOSTIC'\n | 'SUBJECTIVE'\n | 'VIDEO'\n | 'PUZZLE_CARD';\n\nexport enum NODE_TYPES {\n 'LEGACY' = 'LEGACY',\n 'LEARNING' = 'LEARNING',\n 'REMEDIAL' = 'REMEDIAL',\n 'GENERAL' = 'GENERAL',\n 'SAT_MATH_RECAP' = 'SAT_MATH_RECAP',\n 'SAT_MATH_LEARNING' = 'SAT_MATH_LEARNING',\n 'SAT_MATH_ASSESSMENT' = 'SAT_MATH_ASSESSMENT',\n 'SAT_ENGLISH_RECAP' = 'SAT_ENGLISH_RECAP',\n 'SAT_ENGLISH_LEARNING' = 'SAT_ENGLISH_LEARNING',\n 'SAT_ENGLISH_ASSESSMENT' = 'SAT_ENGLISH_ASSESSMENT',\n 'LEVEL3' = 'LEVEL3',\n 'RECAP' = 'RECAP',\n 'REVISION' = 'REVISION',\n 'LEVEL2' = 'LEVEL2',\n 'TARGET_PRACTICE' = 'TARGET_PRACTICE',\n 'PRACTICE' = 'PRACTICE',\n 'EXTRA_PRACTICE' = 'EXTRA_PRACTICE',\n 'PUZZLE_EASY' = 'PUZZLE_EASY',\n 'PUZZLE_MEDIUM' = 'PUZZLE_MEDIUM',\n 'PUZZLE_HARD' = 'PUZZLE_HARD',\n 'CHAPTER_ASSESSMENT' = 'CHAPTER_ASSESSMENT',\n 'ASSESSMENT' = 'ASSESSMENT',\n 'TRIAL_DIAGNOSTIC' = 'TRIAL_DIAGNOSTIC',\n 'TRIAL' = 'TRIAL',\n 'TRIAL_BASIC' = 'TRIAL_BASIC',\n 'TRIAL_INTERMEDIATE' = 'TRIAL_INTERMEDIATE',\n 'TRIAL_ADVANCED' = 'TRIAL_ADVANCED',\n 'MASTERY' = 'MASTERY',\n 'PUZZLE_CARD' = 'PUZZLE_CARD',\n}\n\nexport interface IWorksheetModel {\n name: string;\n learnosity_activity_ref: string;\n activity_type: EWorksheetActivity | null;\n desmos_calculator_enabled: boolean;\n image_hue: THueNames | null;\n}\n\nexport enum EWorksheetActivity {\n LESSON_V3 = 'lesson-v3',\n LESSON_V3_1 = 'lesson-v3.1',\n}\n\nexport interface IWorksheetAttemptModel {\n id: string; // userAttemptId\n node_id: string;\n user_node_id: string;\n node_type: TNodeTypes;\n is_timed: boolean;\n timer_type: 'FLEXIBLE' | 'FIXED' | null;\n sheet_time: number;\n time_spent: number;\n course_type: TCourseType;\n vm_time_spent: number | null;\n started_on_ts: number | null; // epoch time\n created_on_ts: number | null; // epoch time\n completed_on_ts: number | null; // epoch time\n scheduled_start_ts: number | null; // epoch time\n scheduled_end_ts: number | null; // epoch time\n break_interval: number;\n chapter_name: string | null;\n is_worksheet_v3: boolean | null;\n activity_type: EWorksheetActivity | null;\n user_chapter_id?: string | null;\n desmos_calculator_enabled: boolean;\n due_date: number | null;\n state: TLPARSheetAttemptState;\n canvas_data?: Array<IChannelMessage>;\n image_hue?: THueNames | null;\n feedback_comments?: string | null;\n user_block_id?: string | null;\n}\n\nexport interface IWorksheetModelV3 extends IWorksheetAttemptModel {\n permissions: {\n can_attempt: boolean;\n can_change_attempt_location: boolean;\n can_mark_familiar: boolean;\n can_reattempt: boolean;\n can_reset: boolean;\n can_resume: boolean;\n can_review: boolean;\n can_start: boolean;\n can_teacher_review: boolean;\n can_teacher_score: boolean;\n can_unlock: boolean;\n can_view_solution: boolean;\n is_review_disabled: boolean;\n };\n}\n\ninterface IWorksheetPermissionV2 {\n access: boolean;\n code: string;\n reason: string;\n}\n\nexport interface IResumeWorksheetModel extends IWorksheetAttemptModel {\n worksheet_name: string;\n signed_request: string;\n questions_signed_request: string;\n player_config: {\n minimumAccuracy: number;\n validation: boolean;\n }; // this is needed as we are using thsi in submit\n user_attempt_id: string;\n permissions: {\n can_access: IWorksheetPermissionV2;\n can_do: IWorksheetPermissionV2;\n };\n learnosity_activity_ref: string;\n}\n\ntype TWorksheetItems = {\n ref: string;\n};\n\nexport interface IReviewWorksheetModel {\n signed_request: string;\n questions_signed_request: string;\n attempt: IWorksheetAttemptModel;\n worksheet: IWorksheetModel;\n chapter_name?: string;\n course_type?: TCourseType;\n created_on_ts?: number;\n node_id?: string;\n sheet_time?: number;\n time_spent?: number;\n is_timed?: boolean;\n attempt_location: TSheetAttemptLocation;\n state?: TSheetStateProps;\n marked_as_completed?: boolean;\n mastery_summary: Record<string, unknown>;\n title?: string;\n worksheet_id?: string;\n node_type: TNodeTypes;\n items?: TWorksheetItems[];\n}\n\nexport interface IPreviewWorksheetModel {\n signed_request: string;\n questions_signed_request: string;\n worksheet_name: string;\n}\n"],"names":["NODE_TYPES","EWorksheetActivity"],"mappings":"AAgDY,IAAAA,sBAAAA,OACVA,EAAA,SAAW,UACXA,EAAA,WAAa,YACbA,EAAA,WAAa,YACbA,EAAA,UAAY,WACZA,EAAA,iBAAmB,kBACnBA,EAAA,oBAAsB,qBACtBA,EAAA,sBAAwB,uBACxBA,EAAA,oBAAsB,qBACtBA,EAAA,uBAAyB,wBACzBA,EAAA,yBAA2B,0BAC3BA,EAAA,SAAW,UACXA,EAAA,QAAU,SACVA,EAAA,WAAa,YACbA,EAAA,SAAW,UACXA,EAAA,kBAAoB,mBACpBA,EAAA,WAAa,YACbA,EAAA,iBAAmB,kBACnBA,EAAA,cAAgB,eAChBA,EAAA,gBAAkB,iBAClBA,EAAA,cAAgB,eAChBA,EAAA,qBAAuB,sBACvBA,EAAA,aAAe,cACfA,EAAA,mBAAqB,oBACrBA,EAAA,QAAU,SACVA,EAAA,cAAgB,eAChBA,EAAA,qBAAuB,sBACvBA,EAAA,iBAAmB,kBACnBA,EAAA,UAAY,WACZA,EAAA,cAAgB,eA7BNA,IAAAA,KAAA,CAAA,CAAA,GAwCAC,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,cAAc,eAFJA,IAAAA,KAAA,CAAA,CAAA;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.5.58",
3
+ "version": "3.5.59-link0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/decode-uri-component/index.js"],"sourcesContent":["const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n"],"names":["token","singleMatcher","multiMatcher","decodeComponents","components","split","left","right","decode","input","tokens","i","customDecodeURIComponent","replaceMap","match","result","entries","key","decodeUriComponent","encodedURI"],"mappings":"AAAA,MAAMA,IAAQ,gBACRC,IAAgB,IAAI,OAAO,MAAMD,IAAQ,cAAc,IAAI,GAC3DE,IAAe,IAAI,OAAO,MAAMF,IAAQ,MAAM,IAAI;AAExD,SAASG,EAAiBC,GAAYC,GAAO;AAC5C,MAAI;AAEH,WAAO,CAAC,mBAAmBD,EAAW,KAAK,EAAE,CAAC,CAAC;AAAA,EACjD,QAAS;AAAA,EAEP;AAED,MAAIA,EAAW,WAAW;AACzB,WAAOA;AAGR,EAAAC,IAAQA,KAAS;AAGjB,QAAMC,IAAOF,EAAW,MAAM,GAAGC,CAAK,GAChCE,IAAQH,EAAW,MAAMC,CAAK;AAEpC,SAAO,MAAM,UAAU,OAAO,KAAK,CAAA,GAAIF,EAAiBG,CAAI,GAAGH,EAAiBI,CAAK,CAAC;AACvF;AAEA,SAASC,EAAOC,GAAO;AACtB,MAAI;AACH,WAAO,mBAAmBA,CAAK;AAAA,EACjC,QAAS;AACP,QAAIC,IAASD,EAAM,MAAMR,CAAa,KAAK,CAAA;AAE3C,aAASU,IAAI,GAAGA,IAAID,EAAO,QAAQC;AAClC,MAAAF,IAAQN,EAAiBO,GAAQC,CAAC,EAAE,KAAK,EAAE,GAE3CD,IAASD,EAAM,MAAMR,CAAa,KAAK,CAAA;AAGxC,WAAOQ;AAAA,EACP;AACF;AAEA,SAASG,EAAyBH,GAAO;AAExC,QAAMI,IAAa;AAAA,IAClB,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAEC,MAAIC,IAAQZ,EAAa,KAAKO,CAAK;AACnC,SAAOK,KAAO;AACb,QAAI;AAEH,MAAAD,EAAWC,EAAM,CAAC,CAAC,IAAI,mBAAmBA,EAAM,CAAC,CAAC;AAAA,IACrD,QAAU;AACP,YAAMC,IAASP,EAAOM,EAAM,CAAC,CAAC;AAE9B,MAAIC,MAAWD,EAAM,CAAC,MACrBD,EAAWC,EAAM,CAAC,CAAC,IAAIC;AAAA,IAExB;AAED,IAAAD,IAAQZ,EAAa,KAAKO,CAAK;AAAA,EAC/B;AAGD,EAAAI,EAAW,KAAK,IAAI;AAEpB,QAAMG,IAAU,OAAO,KAAKH,CAAU;AAEtC,aAAWI,KAAOD;AAEjB,IAAAP,IAAQA,EAAM,QAAQ,IAAI,OAAOQ,GAAK,GAAG,GAAGJ,EAAWI,CAAG,CAAC;AAG5D,SAAOR;AACR;AAEe,SAASS,EAAmBC,GAAY;AACtD,MAAI,OAAOA,KAAe;AACzB,UAAM,IAAI,UAAU,wDAAwD,OAAOA,IAAa,GAAG;AAGpG,MAAI;AAEH,WAAO,mBAAmBA,CAAU;AAAA,EACtC,QAAS;AAEP,WAAOP,EAAyBO,CAAU;AAAA,EAC1C;AACF;","x_google_ignoreList":[0]}
@@ -1,7 +0,0 @@
1
- const o = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), t = {
2
- randomUUID: o
3
- };
4
- export {
5
- t as default
6
- };
7
- //# sourceMappingURL=native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/native.js"],"sourcesContent":["const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};"],"names":["randomUUID","native"],"mappings":"AAAA,MAAMA,IAAa,OAAO,SAAW,OAAe,OAAO,cAAc,OAAO,WAAW,KAAK,MAAM,GACvFC,IAAA;AAAA,EACb,YAAAD;AACF;","x_google_ignoreList":[0]}