@cuemath/leap 3.5.30-gg4 → 3.5.30-j1

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 (271) hide show
  1. package/dist/assets/illustrations/illustrations.js +12 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/images/images.js +8 -0
  4. package/dist/assets/images/images.js.map +1 -1
  5. package/dist/assets/line-icons/icons/carat-right.js +26 -0
  6. package/dist/assets/line-icons/icons/carat-right.js.map +1 -0
  7. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js +3 -3
  8. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js.map +1 -1
  9. package/dist/features/circle-games/game-launcher/comps/carousel/carousel-styled.js +16 -32
  10. package/dist/features/circle-games/game-launcher/comps/carousel/carousel-styled.js.map +1 -1
  11. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js +88 -87
  12. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  13. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +35 -35
  14. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  15. package/dist/features/stickers/hooks/use-handle-sticker-send/use-handle-sticker-send.js +0 -1
  16. package/dist/features/stickers/hooks/use-handle-sticker-send/use-handle-sticker-send.js.map +1 -1
  17. package/dist/features/timeline/daily-timeline-styled.js +13 -9
  18. package/dist/features/timeline/daily-timeline-styled.js.map +1 -1
  19. package/dist/features/timeline/daily-timeline-view.js +9 -10
  20. package/dist/features/timeline/daily-timeline-view.js.map +1 -1
  21. package/dist/features/timeline/monthly-report/api/use-monthly-report-get.js +13 -0
  22. package/dist/features/timeline/monthly-report/api/use-monthly-report-get.js.map +1 -0
  23. package/dist/features/timeline/monthly-report/comps/achievements/achievements.js +68 -0
  24. package/dist/features/timeline/monthly-report/comps/achievements/achievements.js.map +1 -0
  25. package/dist/features/timeline/monthly-report/comps/achievements/achievements.styled.js +15 -0
  26. package/dist/features/timeline/monthly-report/comps/achievements/achievements.styled.js.map +1 -0
  27. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.js +128 -0
  28. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.js.map +1 -0
  29. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js +53 -0
  30. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js.map +1 -0
  31. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js +121 -0
  32. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js.map +1 -0
  33. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js +58 -0
  34. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js.map +1 -0
  35. package/dist/features/timeline/monthly-report/comps/activities/activities.js +27 -0
  36. package/dist/features/timeline/monthly-report/comps/activities/activities.js.map +1 -0
  37. package/dist/features/timeline/monthly-report/comps/activities/constants.js +95 -0
  38. package/dist/features/timeline/monthly-report/comps/activities/constants.js.map +1 -0
  39. package/dist/features/timeline/monthly-report/comps/activities/utils.js +15 -0
  40. package/dist/features/timeline/monthly-report/comps/activities/utils.js.map +1 -0
  41. package/dist/features/timeline/monthly-report/comps/attendance/attendance-constants.js +29 -0
  42. package/dist/features/timeline/monthly-report/comps/attendance/attendance-constants.js.map +1 -0
  43. package/dist/features/timeline/monthly-report/comps/attendance/attendance-utils.js +92 -0
  44. package/dist/features/timeline/monthly-report/comps/attendance/attendance-utils.js.map +1 -0
  45. package/dist/features/timeline/monthly-report/comps/attendance/attendance.js +44 -0
  46. package/dist/features/timeline/monthly-report/comps/attendance/attendance.js.map +1 -0
  47. package/dist/features/timeline/monthly-report/comps/attendance/attendance.styled.js +39 -0
  48. package/dist/features/timeline/monthly-report/comps/attendance/attendance.styled.js.map +1 -0
  49. package/dist/features/timeline/monthly-report/comps/attendance/attendence-view.js +52 -0
  50. package/dist/features/timeline/monthly-report/comps/attendance/attendence-view.js.map +1 -0
  51. package/dist/features/timeline/monthly-report/comps/feedback/feedback-styled.js +9 -0
  52. package/dist/features/timeline/monthly-report/comps/feedback/feedback-styled.js.map +1 -0
  53. package/dist/features/timeline/monthly-report/comps/feedback/feedback.js +94 -0
  54. package/dist/features/timeline/monthly-report/comps/feedback/feedback.js.map +1 -0
  55. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js +48 -0
  56. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js.map +1 -0
  57. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js +28 -0
  58. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js.map +1 -0
  59. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card.js +113 -0
  60. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -0
  61. package/dist/features/timeline/monthly-report/comps/goals/goals-constants.js +30 -0
  62. package/dist/features/timeline/monthly-report/comps/goals/goals-constants.js.map +1 -0
  63. package/dist/features/timeline/monthly-report/comps/goals/goals.js +22 -0
  64. package/dist/features/timeline/monthly-report/comps/goals/goals.js.map +1 -0
  65. package/dist/features/timeline/monthly-report/monthly-report-styled.js +14 -0
  66. package/dist/features/timeline/monthly-report/monthly-report-styled.js.map +1 -0
  67. package/dist/features/timeline/monthly-report/monthly-report-types.js +5 -0
  68. package/dist/features/timeline/monthly-report/monthly-report-types.js.map +1 -0
  69. package/dist/features/timeline/monthly-report/monthly-report.js +69 -0
  70. package/dist/features/timeline/monthly-report/monthly-report.js.map +1 -0
  71. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js +10 -0
  72. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js.map +1 -0
  73. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js +87 -0
  74. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js.map +1 -0
  75. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js +9 -0
  76. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js.map +1 -0
  77. package/dist/features/timeline/monthly-timeline/constants.js +41 -0
  78. package/dist/features/timeline/monthly-timeline/constants.js.map +1 -0
  79. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js +13 -0
  80. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js.map +1 -0
  81. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js +6 -0
  82. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js.map +1 -0
  83. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js +28 -0
  84. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js.map +1 -0
  85. package/dist/features/timeline/monthly-timeline/monthly-timeline.js +62 -0
  86. package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -0
  87. package/dist/features/timeline/ptm-report/api/use-ptm-report-get.js +9 -0
  88. package/dist/features/timeline/ptm-report/api/use-ptm-report-get.js.map +1 -0
  89. package/dist/features/timeline/ptm-report/comps/key-need/key-need-styled.js +9 -0
  90. package/dist/features/timeline/ptm-report/comps/key-need/key-need-styled.js.map +1 -0
  91. package/dist/features/timeline/ptm-report/comps/key-need/key-need.js +35 -0
  92. package/dist/features/timeline/ptm-report/comps/key-need/key-need.js.map +1 -0
  93. package/dist/features/timeline/ptm-report/comps/parent-support/parent-support.js +53 -0
  94. package/dist/features/timeline/ptm-report/comps/parent-support/parent-support.js.map +1 -0
  95. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js +19 -0
  96. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js.map +1 -0
  97. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.js +50 -0
  98. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.js.map +1 -0
  99. package/dist/features/timeline/ptm-report/comps/report-card/report-card-styled.js +9 -0
  100. package/dist/features/timeline/ptm-report/comps/report-card/report-card-styled.js.map +1 -0
  101. package/dist/features/timeline/ptm-report/comps/report-card/report-card.js +22 -0
  102. package/dist/features/timeline/ptm-report/comps/report-card/report-card.js.map +1 -0
  103. package/dist/features/timeline/ptm-report/comps/school-support/school-support-styled.js +9 -0
  104. package/dist/features/timeline/ptm-report/comps/school-support/school-support-styled.js.map +1 -0
  105. package/dist/features/timeline/ptm-report/comps/school-support/school-support.js +84 -0
  106. package/dist/features/timeline/ptm-report/comps/school-support/school-support.js.map +1 -0
  107. package/dist/features/timeline/ptm-report/comps/strategies/strategies-constant.js +11 -0
  108. package/dist/features/timeline/ptm-report/comps/strategies/strategies-constant.js.map +1 -0
  109. package/dist/features/timeline/ptm-report/comps/strategies/strategies.js +36 -0
  110. package/dist/features/timeline/ptm-report/comps/strategies/strategies.js.map +1 -0
  111. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card-styled.js +55 -0
  112. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card-styled.js.map +1 -0
  113. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card.js +35 -0
  114. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card.js.map +1 -0
  115. package/dist/features/timeline/ptm-report/comps/student-info/student-info-styled.js +21 -0
  116. package/dist/features/timeline/ptm-report/comps/student-info/student-info-styled.js.map +1 -0
  117. package/dist/features/timeline/ptm-report/comps/student-info/student-info.js +21 -0
  118. package/dist/features/timeline/ptm-report/comps/student-info/student-info.js.map +1 -0
  119. package/dist/features/timeline/ptm-report/comps/support-card/support-card-styled.js +9 -0
  120. package/dist/features/timeline/ptm-report/comps/support-card/support-card-styled.js.map +1 -0
  121. package/dist/features/timeline/ptm-report/comps/support-card/support-card.js +30 -0
  122. package/dist/features/timeline/ptm-report/comps/support-card/support-card.js.map +1 -0
  123. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js +9 -0
  124. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js.map +1 -0
  125. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations.js +56 -0
  126. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations.js.map +1 -0
  127. package/dist/features/timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js +15 -0
  128. package/dist/features/timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js.map +1 -0
  129. package/dist/features/timeline/ptm-report/ptm-report-constants.js +16 -0
  130. package/dist/features/timeline/ptm-report/ptm-report-constants.js.map +1 -0
  131. package/dist/features/timeline/ptm-report/ptm-report-helpers.js +8 -0
  132. package/dist/features/timeline/ptm-report/ptm-report-helpers.js.map +1 -0
  133. package/dist/features/timeline/ptm-report/ptm-report-styled.js +11 -0
  134. package/dist/features/timeline/ptm-report/ptm-report-styled.js.map +1 -0
  135. package/dist/features/timeline/ptm-report/ptm-report-types.js +5 -0
  136. package/dist/features/timeline/ptm-report/ptm-report-types.js.map +1 -0
  137. package/dist/features/timeline/ptm-report/ptm-report.js +113 -0
  138. package/dist/features/timeline/ptm-report/ptm-report.js.map +1 -0
  139. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js +5 -0
  140. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js.map +1 -0
  141. package/dist/features/timeline/timeline-tabs/timeline-tabs.js +42 -0
  142. package/dist/features/timeline/timeline-tabs/timeline-tabs.js.map +1 -0
  143. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js +37 -0
  144. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js.map +1 -0
  145. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +1 -1
  146. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js +11 -11
  147. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +1 -1
  148. package/dist/features/ui/swipable-carousel/swipable-carousel-styled.js +57 -0
  149. package/dist/features/ui/swipable-carousel/swipable-carousel-styled.js.map +1 -0
  150. package/dist/features/ui/swipable-carousel/swipable-carousel.js +132 -0
  151. package/dist/features/ui/swipable-carousel/swipable-carousel.js.map +1 -0
  152. package/dist/features/ui/swipeable-component/swipeable-component-styled.js.map +1 -0
  153. package/dist/features/ui/swipeable-component/swipeable-component.js +27 -0
  154. package/dist/features/ui/swipeable-component/swipeable-component.js.map +1 -0
  155. package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js +20 -21
  156. package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js.map +1 -1
  157. package/dist/features/worksheet/user-pointer-pin/user-pin.js +35 -37
  158. package/dist/features/worksheet/user-pointer-pin/user-pin.js.map +1 -1
  159. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js +132 -132
  160. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
  161. package/dist/features/worksheet/worksheet/hooks/use-get-active-question-id.js +62 -0
  162. package/dist/features/worksheet/worksheet/hooks/use-get-active-question-id.js.map +1 -0
  163. package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js +19 -24
  164. package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js.map +1 -1
  165. package/dist/features/worksheet/worksheet/question-tips.js +47 -48
  166. package/dist/features/worksheet/worksheet/question-tips.js.map +1 -1
  167. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +132 -88
  168. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  169. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js +55 -44
  170. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
  171. package/dist/features/worksheet/worksheet/worksheet-container.js +87 -0
  172. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -0
  173. package/dist/features/worksheet/worksheet/worksheet-helpers.js +112 -109
  174. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  175. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js +27 -25
  176. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js.map +1 -1
  177. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js +47 -47
  178. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
  179. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js +64 -66
  180. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  181. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js +40 -38
  182. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
  183. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  184. package/dist/features/worksheet/worksheet/worksheet-question/header/header.js +71 -73
  185. package/dist/features/worksheet/worksheet/worksheet-question/header/header.js.map +1 -1
  186. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +59 -61
  187. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  188. package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js +18 -21
  189. package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
  190. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +272 -269
  191. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  192. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js +31 -32
  193. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
  194. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +149 -147
  195. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
  196. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +223 -212
  197. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  198. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js +20 -22
  199. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
  200. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +55 -57
  201. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
  202. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +42 -47
  203. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
  204. package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -24
  205. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  206. package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js +12 -16
  207. package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js.map +1 -1
  208. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js +7 -8
  209. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
  210. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  211. package/dist/features/worksheet/worksheet/worksheet.js +441 -203
  212. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  213. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  214. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +1 -1
  215. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  216. package/dist/index.d.ts +276 -31
  217. package/dist/index.js +465 -451
  218. package/dist/index.js.map +1 -1
  219. package/dist/static/2021.0683b580.png +0 -0
  220. package/dist/static/2022.d34ad7a5.png +0 -0
  221. package/dist/static/2023.fce87149.png +0 -0
  222. package/dist/static/2024.a275ee85.png +0 -0
  223. package/dist/static/2025.677cc187.png +0 -0
  224. package/dist/static/2026.63763214.png +0 -0
  225. package/dist/static/2027.b82dc039.png +0 -0
  226. package/dist/static/2028.580b8cc0.png +0 -0
  227. package/dist/static/coding-report-icon.91a1e900.svg +1 -0
  228. package/dist/static/elp-icon.d45b457d.svg +1 -0
  229. package/dist/static/empty-reports.fe92faad.svg +1 -0
  230. package/dist/static/english-icon.50c2e005.svg +1 -0
  231. package/dist/static/full-report.00112c74.svg +1 -0
  232. package/dist/static/math-fit-grey.c32f37b3.svg +1 -0
  233. package/dist/static/no-report.4158fad3.svg +1 -0
  234. package/dist/static/ptm-report-icon.5089218f.svg +1 -0
  235. package/dist/static/sat-report-icon.4331be86.svg +1 -0
  236. package/dist/static/science-report-icon.a0014c40.svg +1 -0
  237. package/dist/static/thumps-down.a1192a62.svg +1 -0
  238. package/dist/static/thumps-up.caa35a98.svg +1 -0
  239. package/package.json +3 -4
  240. package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component-styled.js.map +0 -1
  241. package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component.js +0 -26
  242. package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component.js.map +0 -1
  243. package/dist/features/worksheet/worksheet/hooks/use-active-question-observer.js +0 -59
  244. package/dist/features/worksheet/worksheet/hooks/use-active-question-observer.js.map +0 -1
  245. package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js +0 -13
  246. package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js.map +0 -1
  247. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker-view.js +0 -68
  248. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker-view.js.map +0 -1
  249. package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js +0 -17
  250. package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js.map +0 -1
  251. package/dist/features/worksheet/worksheet/worksheet-nudge-banner/worksheet-nudge-banner-styled.js +0 -20
  252. package/dist/features/worksheet/worksheet/worksheet-nudge-banner/worksheet-nudge-banner-styled.js.map +0 -1
  253. package/dist/features/worksheet/worksheet/worksheet-nudge-banner/worksheet-nudge-banner.js +0 -49
  254. package/dist/features/worksheet/worksheet/worksheet-nudge-banner/worksheet-nudge-banner.js.map +0 -1
  255. package/dist/features/worksheet/worksheet/worksheet-provider.js +0 -21
  256. package/dist/features/worksheet/worksheet/worksheet-provider.js.map +0 -1
  257. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions-styled.js +0 -16
  258. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions-styled.js.map +0 -1
  259. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions.js +0 -73
  260. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions.js.map +0 -1
  261. package/dist/features/worksheet/worksheet/worksheet-store.js +0 -301
  262. package/dist/features/worksheet/worksheet/worksheet-store.js.map +0 -1
  263. package/dist/features/worksheet/worksheet/worksheet-view.js +0 -141
  264. package/dist/features/worksheet/worksheet/worksheet-view.js.map +0 -1
  265. package/dist/node_modules/zustand/esm/middleware.js +0 -22
  266. package/dist/node_modules/zustand/esm/middleware.js.map +0 -1
  267. package/dist/node_modules/zustand/esm/react/shallow.js +0 -13
  268. package/dist/node_modules/zustand/esm/react/shallow.js.map +0 -1
  269. package/dist/node_modules/zustand/esm/vanilla/shallow.js +0 -31
  270. package/dist/node_modules/zustand/esm/vanilla/shallow.js.map +0 -1
  271. /package/dist/features/{circle-games/game-launcher/comps/swipable-component → ui/swipeable-component}/swipeable-component-styled.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"use-handler-callbacks.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.ts"],"sourcesContent":["import { useCallback, type Dispatch, type SetStateAction } from 'react';\nimport { useErrorBoundary } from 'react-error-boundary';\n\nimport useAudioPlayer from '../../../hooks/use-audio-player';\nimport EVENTS from '../../constants/events';\nimport { SYSTEM_VALIDATION_AUDIO_LIST } from '../constants';\nimport { useWorksheetStore } from '../hooks/use-worksheet-store';\nimport {\n checkIsClozeFormulaResponseInvalid,\n getQuestionMetadata,\n isOkayTypeQuestion,\n} from '../worksheet-helpers';\nimport type { IWorksheetResponse } from '../worksheet-types';\nimport type { IWorksheetQuestionsControllerProps } from './worksheet-questions-controller-types';\n\ninterface IUseHandlerCallbacks {\n (\n options: Pick<IWorksheetQuestionsControllerProps, 'question' | 'getTimeSpentOnQuestion'> & {\n setSkipped: Dispatch<SetStateAction<boolean>>;\n },\n ): {\n handleResponseChange: () => void;\n handleHelpButtonClick?: () => void;\n handleHintButtonClick: () => void;\n handleBackButtonClick?: () => void;\n handleNextButtonClick: () => void;\n handleRetryButtonClick: () => void;\n handleCheckButtonClick: () => void;\n handleValidateButtonClick: () => void;\n handleStartButtonClick: () => void;\n handleReadyButtonClick: () => void;\n handleSkipSectionButtonClick: () => void;\n handleSkipButtonClick: () => void;\n };\n}\n\nconst useHandlerCallbacks: IUseHandlerCallbacks = options => {\n const {\n behavior,\n layout,\n questions,\n setResponses,\n questionIndex,\n updateResponse,\n onResponseChange,\n showSummary,\n changeQuestion,\n setBlocker,\n onTeacherValidation,\n learnosity,\n loggerRef,\n onHelp,\n } = useWorksheetStore(store => ({\n behavior: store.behavior,\n layout: store.layout,\n questions: store.questions,\n questionIndex: store.activeQuestionIndex,\n setResponses: store.setResponses,\n updateResponse: store.updateResponse,\n onResponseChange: store.onResponseChange,\n showSummary: store.showSummary,\n changeQuestion: store.changeQuestion,\n setBlocker: store.setBlocker,\n onTeacherValidation: store.onTeacherValidation,\n learnosity: store.learnosity,\n loggerRef: store.loggerRef,\n onHelp: store.onHelp,\n }));\n const { question, getTimeSpentOnQuestion, setSkipped } = options;\n const { questionsScrollable } = layout;\n const { response_id, item_type, question_number, item_number, total_questions } = question;\n const isExitTicket = item_type === 'exit-ticket';\n const { validation, teacherValidationEnabled } = behavior;\n const playNotifSound = useAudioPlayer(SYSTEM_VALIDATION_AUDIO_LIST);\n const { showBoundary } = useErrorBoundary();\n\n const playAudio = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance && validation && !isOkayTypeQuestion(questionInstance.getQuestion())) {\n questionInstance.getScore(sc => {\n const { max_score: maxScore, score: currentScore } = sc || {};\n\n if (maxScore) {\n if (maxScore === currentScore) {\n playNotifSound('CORRECT');\n } else {\n playNotifSound('INCORRECT');\n }\n }\n });\n }\n }, [learnosity, playNotifSound, response_id, validation]);\n\n const validateQuestion = useCallback(\n (questionId: string, rating?: number) => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, questionId),\n ...prevResponses[questionId],\n validatedByTeacher: true,\n rating,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: newResponse,\n question: questions.find(q => q.response_id === questionId)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [questionId]: newResponse,\n };\n });\n },\n [onResponseChange, questions, setResponses],\n );\n\n const handleHelpButtonClick = useCallback(() => {\n if (onHelp && question) {\n onHelp({\n questionId: response_id,\n questionNumber: `${item_number + 1}${\n total_questions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`,\n });\n }\n }, [item_number, onHelp, question, question_number, response_id, total_questions]);\n\n const handleHintButtonClick = useCallback(() => {\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n hintsUsed: (prevResponses[response_id]?.hintsUsed ?? 0) + 1,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n }, [loggerRef, onResponseChange, questions, response_id, setResponses]);\n\n const handleBackButtonClick = useCallback(() => {\n const questionId = questions[questionIndex - 1]?.response_id;\n\n if (questionId) {\n changeQuestion(questionId);\n }\n }, [changeQuestion, questionIndex, questions]);\n\n const handleNextButtonClick = useCallback(() => {\n const questionId = questions[questionIndex + 1]?.response_id;\n\n if (questionId) {\n changeQuestion(questionId);\n } else {\n showSummary();\n }\n }, [changeQuestion, questionIndex, questions, showSummary]);\n\n const handleSkipButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n skipped: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setSkipped(true);\n }, [onResponseChange, questions, response_id, setResponses, setSkipped]);\n\n const handleResponseChange = useCallback(\n (answerChecked?: boolean) => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n const lquestion = questionInstance.getQuestion();\n const questionResponse = questionInstance.getResponse();\n const shouldCheckAbuse =\n lquestion.type === 'clozeformula' && questionResponse && questionResponse?.value;\n const isInputExceedingMaxLength = shouldCheckAbuse\n ? checkIsClozeFormulaResponseInvalid(questionResponse)\n : false;\n\n if (isInputExceedingMaxLength) {\n showBoundary(new Error('CLOZE_FORMULA_RESPONSE_EXCEEDS_MAX_LENGTH'));\n }\n\n questionInstance.getScore(score => {\n updateResponse({\n responseId: response_id,\n response: questionResponse,\n score:\n isOkayTypeQuestion(lquestion) || !score\n ? {\n max_score: 0,\n score: 0,\n unscored: !score, // score will be null for unscored questions\n }\n : { ...score, score: score.score ?? 0 },\n answerChecked,\n timeSpent: getTimeSpentOnQuestion(response_id),\n });\n });\n }\n },\n [getTimeSpentOnQuestion, learnosity, response_id, showBoundary, updateResponse],\n );\n\n const handleRetryButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.enable();\n questionInstance.resetValidationUI();\n handleResponseChange();\n }\n }, [handleResponseChange, learnosity, response_id]);\n\n const handleValidate = useCallback(() => {\n playAudio();\n handleResponseChange(true);\n }, [handleResponseChange, playAudio]);\n\n const handleCheckButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.disable();\n questionInstance.validate(\n {\n feedbackAttempts: true,\n },\n handleValidate,\n );\n }\n }, [handleValidate, learnosity, response_id]);\n\n const handleValidateButtonClick = useCallback(() => {\n if (isExitTicket) {\n setBlocker('exit-ticket-review');\n } else {\n onTeacherValidation?.(response_id);\n }\n }, [isExitTicket, onTeacherValidation, response_id, setBlocker]);\n\n const handleStartButtonClick = useCallback(() => {\n validateQuestion(response_id);\n }, [response_id, validateQuestion]);\n\n const handleReadyButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse: IWorksheetResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n submittedByStudent: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setBlocker('exit-ticket-student-submission');\n }, [onResponseChange, questions, response_id, setBlocker, setResponses]);\n\n const handleSkipSectionButtonClick = useCallback(() => {\n setBlocker('optional-items-skip');\n }, [setBlocker]);\n\n return {\n handleResponseChange,\n handleHelpButtonClick: onHelp ? handleHelpButtonClick : undefined,\n handleHintButtonClick,\n handleBackButtonClick:\n !questionsScrollable && !teacherValidationEnabled ? handleBackButtonClick : undefined,\n handleNextButtonClick,\n handleRetryButtonClick,\n handleCheckButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleReadyButtonClick,\n handleSkipSectionButtonClick,\n handleSkipButtonClick,\n };\n};\n\nexport default useHandlerCallbacks;\n"],"names":["useHandlerCallbacks","options","behavior","layout","questions","setResponses","questionIndex","updateResponse","onResponseChange","showSummary","changeQuestion","setBlocker","onTeacherValidation","learnosity","loggerRef","onHelp","useWorksheetStore","store","question","getTimeSpentOnQuestion","setSkipped","questionsScrollable","response_id","item_type","question_number","item_number","total_questions","isExitTicket","validation","teacherValidationEnabled","playNotifSound","useAudioPlayer","SYSTEM_VALIDATION_AUDIO_LIST","showBoundary","useErrorBoundary","playAudio","useCallback","questionInstance","isOkayTypeQuestion","sc","maxScore","currentScore","validateQuestion","questionId","rating","prevResponses","newResponse","getQuestionMetadata","q","handleHelpButtonClick","handleHintButtonClick","EVENTS","_a","handleBackButtonClick","handleNextButtonClick","handleSkipButtonClick","handleResponseChange","answerChecked","lquestion","questionResponse","checkIsClozeFormulaResponseInvalid","score","handleRetryButtonClick","handleValidate","handleCheckButtonClick","handleValidateButtonClick","handleStartButtonClick","handleReadyButtonClick","handleSkipSectionButtonClick"],"mappings":"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"}
1
+ {"version":3,"file":"use-handler-callbacks.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.ts"],"sourcesContent":["import { useCallback, type Dispatch, type SetStateAction } from 'react';\nimport { useErrorBoundary } from 'react-error-boundary';\n\nimport useAudioPlayer from '../../../hooks/use-audio-player';\nimport EVENTS from '../../constants/events';\nimport { SYSTEM_VALIDATION_AUDIO_LIST } from '../constants';\nimport {\n getQuestionMetadata,\n isOkayTypeQuestion,\n scrollToQuestion,\n checkIsClozeFormulaResponseInvalid,\n} from '../worksheet-helpers';\nimport type {\n ILearnosityQuestionResponse,\n ILearnosityQuestionScore,\n IWorksheetResponse,\n} from '../worksheet-types';\nimport type { IWorksheetQuestionsControllerProps } from './worksheet-questions-controller-types';\n\ninterface IUseHandlerCallbacks {\n (\n options: Pick<\n IWorksheetQuestionsControllerProps,\n | 'learnosity'\n | 'layout'\n | 'questionIndex'\n | 'question'\n | 'questions'\n | 'setActiveQuestionId'\n | 'setResponses'\n | 'setSummaryVisible'\n | 'setBlocker'\n | 'onHelp'\n | 'onResponseChange'\n | 'onTeacherValidation'\n | 'behavior'\n | 'loggerRef'\n | 'getTimeSpentOnQuestion'\n > & {\n setSkipped: Dispatch<SetStateAction<boolean>>;\n },\n ): {\n handleResponseChange: () => void;\n handleHelpButtonClick?: () => void;\n handleHintButtonClick: () => void;\n handleBackButtonClick?: () => void;\n handleNextButtonClick: () => void;\n handleRetryButtonClick: () => void;\n handleCheckButtonClick: () => void;\n handleValidateButtonClick: () => void;\n handleStartButtonClick: () => void;\n handleReadyButtonClick: () => void;\n handleSkipSectionButtonClick: () => void;\n handleSkipButtonClick: () => void;\n };\n}\n\nconst useHandlerCallbacks: IUseHandlerCallbacks = options => {\n const {\n behavior,\n layout,\n learnosity,\n question,\n questionIndex,\n questions,\n getTimeSpentOnQuestion,\n } = options;\n const { setResponses, setSummaryVisible, setActiveQuestionId, setBlocker, setSkipped } = options;\n const { onHelp, onResponseChange, onTeacherValidation, loggerRef } = options;\n const { questionsScrollable } = layout;\n const { response_id, item_type, question_number, item_number, total_questions } = question;\n const isExitTicket = item_type === 'exit-ticket';\n const { validation, teacherValidationEnabled } = behavior;\n const playNotifSound = useAudioPlayer(SYSTEM_VALIDATION_AUDIO_LIST);\n const { showBoundary } = useErrorBoundary();\n\n const playAudio = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance && validation && !isOkayTypeQuestion(questionInstance.getQuestion())) {\n questionInstance.getScore(sc => {\n const { max_score: maxScore, score: currentScore } = sc || {};\n\n if (maxScore) {\n if (maxScore === currentScore) {\n playNotifSound('CORRECT');\n } else {\n playNotifSound('INCORRECT');\n }\n }\n });\n }\n }, [learnosity, playNotifSound, response_id, validation]);\n\n const updateResponse = useCallback(\n (\n questionId: string,\n response: ILearnosityQuestionResponse,\n score: ILearnosityQuestionScore,\n answerChecked?: boolean,\n ) => {\n const timeSpentOnQuestions = getTimeSpentOnQuestion(response_id);\n\n setResponses(prevResponses => {\n const prevResponse = prevResponses[questionId];\n const isNewAttempt = !!answerChecked;\n\n const newResponse = {\n ...getQuestionMetadata(questions, questionId),\n ...prevResponse,\n response,\n score,\n responseEdited: !isNewAttempt,\n attemptsHistory: isNewAttempt\n ? [...(prevResponse?.attemptsHistory ?? []), { response, score }]\n : prevResponse?.attemptsHistory,\n skipped: !response,\n timeSpent: timeSpentOnQuestions,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: newResponse,\n question: questions.find(q => q.response_id === questionId)!,\n isNewAttempt,\n });\n\n return {\n ...prevResponses,\n [questionId]: newResponse,\n };\n });\n },\n [getTimeSpentOnQuestion, onResponseChange, questions, response_id, setResponses],\n );\n\n const validateQuestion = useCallback(\n (questionId: string, rating?: number) => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, questionId),\n ...prevResponses[questionId],\n validatedByTeacher: true,\n rating,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: newResponse,\n question: questions.find(q => q.response_id === questionId)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [questionId]: newResponse,\n };\n });\n },\n [onResponseChange, questions, setResponses],\n );\n\n const handleHelpButtonClick = useCallback(() => {\n if (onHelp && question) {\n onHelp({\n questionId: response_id,\n questionNumber: `${item_number + 1}${\n total_questions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`,\n });\n }\n }, [item_number, onHelp, question, question_number, response_id, total_questions]);\n\n const handleHintButtonClick = useCallback(() => {\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n hintsUsed: (prevResponses[response_id]?.hintsUsed ?? 0) + 1,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n }, [loggerRef, onResponseChange, questions, response_id, setResponses]);\n\n const handleBackButtonClick = useCallback(() => {\n const questionId = questions[questionIndex - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n scrollToQuestion(questionId);\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questionIndex, questions, questionsScrollable, setActiveQuestionId]);\n\n const handleNextButtonClick = useCallback(() => {\n const questionId = questions[questionIndex + 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n scrollToQuestion(questionId);\n } else {\n setActiveQuestionId(questionId);\n }\n } else {\n setSummaryVisible(true);\n }\n }, [questionIndex, questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSkipButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n skipped: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setSkipped(true);\n }, [onResponseChange, questions, response_id, setResponses, setSkipped]);\n\n const handleResponseChange = useCallback(\n (answerChecked?: boolean) => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n const lquestion = questionInstance.getQuestion();\n const questionResponse = questionInstance.getResponse();\n const shouldCheckAbuse =\n lquestion.type === 'clozeformula' && questionResponse && questionResponse?.value;\n const isInputExceedingMaxLength = shouldCheckAbuse\n ? checkIsClozeFormulaResponseInvalid(questionResponse)\n : false;\n\n if (isInputExceedingMaxLength) {\n showBoundary(new Error('CLOZE_FORMULA_RESPONSE_EXCEEDS_MAX_LENGTH'));\n }\n\n questionInstance.getScore(score => {\n updateResponse(\n response_id,\n questionResponse,\n isOkayTypeQuestion(lquestion) || !score\n ? {\n max_score: 0,\n score: 0,\n unscored: !score, // score will be null for unscored questions\n }\n : { ...score, score: score.score ?? 0 },\n answerChecked,\n );\n });\n }\n },\n [learnosity, response_id, showBoundary, updateResponse],\n );\n\n const handleRetryButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.enable();\n questionInstance.resetValidationUI();\n handleResponseChange();\n }\n }, [handleResponseChange, learnosity, response_id]);\n\n const handleValidate = useCallback(() => {\n playAudio();\n handleResponseChange(true);\n }, [handleResponseChange, playAudio]);\n\n const handleCheckButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.disable();\n questionInstance.validate(\n {\n feedbackAttempts: true,\n },\n handleValidate,\n );\n }\n }, [handleValidate, learnosity, response_id]);\n\n const handleValidateButtonClick = useCallback(() => {\n if (isExitTicket) {\n setBlocker('exit-ticket-review');\n } else {\n onTeacherValidation?.(response_id);\n }\n }, [isExitTicket, onTeacherValidation, response_id, setBlocker]);\n\n const handleStartButtonClick = useCallback(() => {\n validateQuestion(response_id);\n }, [response_id, validateQuestion]);\n\n const handleReadyButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse: IWorksheetResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n submittedByStudent: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setBlocker('exit-ticket-student-submission');\n }, [onResponseChange, questions, response_id, setBlocker, setResponses]);\n\n const handleSkipSectionButtonClick = useCallback(() => {\n setBlocker('optional-items-skip');\n }, [setBlocker]);\n\n return {\n handleResponseChange,\n handleHelpButtonClick: onHelp ? handleHelpButtonClick : undefined,\n handleHintButtonClick,\n handleBackButtonClick:\n !questionsScrollable && !teacherValidationEnabled ? handleBackButtonClick : undefined,\n handleNextButtonClick,\n handleRetryButtonClick,\n handleCheckButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleReadyButtonClick,\n handleSkipSectionButtonClick,\n handleSkipButtonClick,\n };\n};\n\nexport default useHandlerCallbacks;\n"],"names":["useHandlerCallbacks","options","behavior","layout","learnosity","question","questionIndex","questions","getTimeSpentOnQuestion","setResponses","setSummaryVisible","setActiveQuestionId","setBlocker","setSkipped","onHelp","onResponseChange","onTeacherValidation","loggerRef","questionsScrollable","response_id","item_type","question_number","item_number","total_questions","isExitTicket","validation","teacherValidationEnabled","playNotifSound","useAudioPlayer","SYSTEM_VALIDATION_AUDIO_LIST","showBoundary","useErrorBoundary","playAudio","useCallback","questionInstance","isOkayTypeQuestion","sc","maxScore","currentScore","updateResponse","questionId","response","score","answerChecked","timeSpentOnQuestions","prevResponses","prevResponse","isNewAttempt","newResponse","getQuestionMetadata","q","validateQuestion","rating","handleHelpButtonClick","handleHintButtonClick","EVENTS","_a","handleBackButtonClick","scrollToQuestion","handleNextButtonClick","handleSkipButtonClick","handleResponseChange","lquestion","questionResponse","checkIsClozeFormulaResponseInvalid","handleRetryButtonClick","handleValidate","handleCheckButtonClick","handleValidateButtonClick","handleStartButtonClick","handleReadyButtonClick","handleSkipSectionButtonClick"],"mappings":"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"}