@cuemath/leap 2.8.61-rj-12 → 2.8.61-rj-13

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 (1052) hide show
  1. package/dist/assets/line-icons/icons/alert.js +3 -3
  2. package/dist/assets/line-icons/icons/alert.js.map +1 -1
  3. package/dist/assets/line-icons/icons/back.js +4 -4
  4. package/dist/assets/line-icons/icons/back.js.map +1 -1
  5. package/dist/assets/line-icons/icons/back2.js +3 -3
  6. package/dist/assets/line-icons/icons/back2.js.map +1 -1
  7. package/dist/assets/line-icons/icons/bin.js +8 -8
  8. package/dist/assets/line-icons/icons/bin.js.map +1 -1
  9. package/dist/assets/line-icons/icons/bin2.js +4 -4
  10. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  11. package/dist/assets/line-icons/icons/book-closed.js +3 -3
  12. package/dist/assets/line-icons/icons/book-closed.js.map +1 -1
  13. package/dist/assets/line-icons/icons/book.js +4 -4
  14. package/dist/assets/line-icons/icons/book.js.map +1 -1
  15. package/dist/assets/line-icons/icons/book2.js +3 -3
  16. package/dist/assets/line-icons/icons/book2.js.map +1 -1
  17. package/dist/assets/line-icons/icons/bookmark-stroke-icon.js.map +1 -1
  18. package/dist/assets/line-icons/icons/bookmark.js +2 -2
  19. package/dist/assets/line-icons/icons/bookmark.js.map +1 -1
  20. package/dist/assets/line-icons/icons/bulb.js +8 -8
  21. package/dist/assets/line-icons/icons/bulb.js.map +1 -1
  22. package/dist/assets/line-icons/icons/bulb2.js +3 -3
  23. package/dist/assets/line-icons/icons/bulb2.js.map +1 -1
  24. package/dist/assets/line-icons/icons/calculator.js.map +1 -1
  25. package/dist/assets/line-icons/icons/calendar.js +3 -3
  26. package/dist/assets/line-icons/icons/calendar.js.map +1 -1
  27. package/dist/assets/line-icons/icons/carat-left.js.map +1 -1
  28. package/dist/assets/line-icons/icons/carat-right.js.map +1 -1
  29. package/dist/assets/line-icons/icons/chat.js +4 -4
  30. package/dist/assets/line-icons/icons/chat.js.map +1 -1
  31. package/dist/assets/line-icons/icons/check.js +4 -4
  32. package/dist/assets/line-icons/icons/check.js.map +1 -1
  33. package/dist/assets/line-icons/icons/check2.js +3 -3
  34. package/dist/assets/line-icons/icons/check2.js.map +1 -1
  35. package/dist/assets/line-icons/icons/chevron-down.js +6 -6
  36. package/dist/assets/line-icons/icons/chevron-down.js.map +1 -1
  37. package/dist/assets/line-icons/icons/chevron-left.js +4 -4
  38. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  39. package/dist/assets/line-icons/icons/chevron-right.js +6 -6
  40. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  41. package/dist/assets/line-icons/icons/circle-back.js.map +1 -1
  42. package/dist/assets/line-icons/icons/clear-all.js.map +1 -1
  43. package/dist/assets/line-icons/icons/clipboard.js +5 -5
  44. package/dist/assets/line-icons/icons/clipboard.js.map +1 -1
  45. package/dist/assets/line-icons/icons/clock.js +3 -3
  46. package/dist/assets/line-icons/icons/clock.js.map +1 -1
  47. package/dist/assets/line-icons/icons/clock2.js +5 -5
  48. package/dist/assets/line-icons/icons/clock2.js.map +1 -1
  49. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -1
  50. package/dist/assets/line-icons/icons/code.js +3 -3
  51. package/dist/assets/line-icons/icons/code.js.map +1 -1
  52. package/dist/assets/line-icons/icons/copy.js +4 -4
  53. package/dist/assets/line-icons/icons/copy.js.map +1 -1
  54. package/dist/assets/line-icons/icons/cross.js +4 -4
  55. package/dist/assets/line-icons/icons/cross.js.map +1 -1
  56. package/dist/assets/line-icons/icons/cue-rocket.js +2 -2
  57. package/dist/assets/line-icons/icons/cue-rocket.js.map +1 -1
  58. package/dist/assets/line-icons/icons/cuemath-logo.js +2 -2
  59. package/dist/assets/line-icons/icons/cuemath-logo.js.map +1 -1
  60. package/dist/assets/line-icons/icons/cursor.js.map +1 -1
  61. package/dist/assets/line-icons/icons/dash-arrow.js +3 -3
  62. package/dist/assets/line-icons/icons/dash-arrow.js.map +1 -1
  63. package/dist/assets/line-icons/icons/down.js +2 -2
  64. package/dist/assets/line-icons/icons/down.js.map +1 -1
  65. package/dist/assets/line-icons/icons/download.js.map +1 -1
  66. package/dist/assets/line-icons/icons/draft.js +4 -4
  67. package/dist/assets/line-icons/icons/draft.js.map +1 -1
  68. package/dist/assets/line-icons/icons/drag.js +3 -3
  69. package/dist/assets/line-icons/icons/drag.js.map +1 -1
  70. package/dist/assets/line-icons/icons/edit-star.js +5 -5
  71. package/dist/assets/line-icons/icons/edit-star.js.map +1 -1
  72. package/dist/assets/line-icons/icons/edit.js +5 -5
  73. package/dist/assets/line-icons/icons/edit.js.map +1 -1
  74. package/dist/assets/line-icons/icons/edit2.js +2 -2
  75. package/dist/assets/line-icons/icons/edit2.js.map +1 -1
  76. package/dist/assets/line-icons/icons/equation.js.map +1 -1
  77. package/dist/assets/line-icons/icons/eraser.js +3 -3
  78. package/dist/assets/line-icons/icons/eraser.js.map +1 -1
  79. package/dist/assets/line-icons/icons/eye.js +4 -4
  80. package/dist/assets/line-icons/icons/eye.js.map +1 -1
  81. package/dist/assets/line-icons/icons/eye2.js +2 -2
  82. package/dist/assets/line-icons/icons/eye2.js.map +1 -1
  83. package/dist/assets/line-icons/icons/game.js +3 -3
  84. package/dist/assets/line-icons/icons/game.js.map +1 -1
  85. package/dist/assets/line-icons/icons/hand.js +2 -2
  86. package/dist/assets/line-icons/icons/hand.js.map +1 -1
  87. package/dist/assets/line-icons/icons/help.js +3 -3
  88. package/dist/assets/line-icons/icons/help.js.map +1 -1
  89. package/dist/assets/line-icons/icons/highlighter.js +4 -4
  90. package/dist/assets/line-icons/icons/highlighter.js.map +1 -1
  91. package/dist/assets/line-icons/icons/home.js +3 -3
  92. package/dist/assets/line-icons/icons/home.js.map +1 -1
  93. package/dist/assets/line-icons/icons/image.js +3 -3
  94. package/dist/assets/line-icons/icons/image.js.map +1 -1
  95. package/dist/assets/line-icons/icons/info.js +3 -3
  96. package/dist/assets/line-icons/icons/info.js.map +1 -1
  97. package/dist/assets/line-icons/icons/info2.js +3 -3
  98. package/dist/assets/line-icons/icons/info2.js.map +1 -1
  99. package/dist/assets/line-icons/icons/left.js +3 -3
  100. package/dist/assets/line-icons/icons/left.js.map +1 -1
  101. package/dist/assets/line-icons/icons/lock.js +3 -3
  102. package/dist/assets/line-icons/icons/lock.js.map +1 -1
  103. package/dist/assets/line-icons/icons/lock2.js +2 -2
  104. package/dist/assets/line-icons/icons/lock2.js.map +1 -1
  105. package/dist/assets/line-icons/icons/minus.js +2 -2
  106. package/dist/assets/line-icons/icons/minus.js.map +1 -1
  107. package/dist/assets/line-icons/icons/minus2.js +3 -3
  108. package/dist/assets/line-icons/icons/minus2.js.map +1 -1
  109. package/dist/assets/line-icons/icons/mistake.js +3 -3
  110. package/dist/assets/line-icons/icons/mistake.js.map +1 -1
  111. package/dist/assets/line-icons/icons/mobile.js +3 -3
  112. package/dist/assets/line-icons/icons/mobile.js.map +1 -1
  113. package/dist/assets/line-icons/icons/more-vertical.js +3 -3
  114. package/dist/assets/line-icons/icons/more-vertical.js.map +1 -1
  115. package/dist/assets/line-icons/icons/next.js +5 -5
  116. package/dist/assets/line-icons/icons/next.js.map +1 -1
  117. package/dist/assets/line-icons/icons/next2.js +4 -4
  118. package/dist/assets/line-icons/icons/next2.js.map +1 -1
  119. package/dist/assets/line-icons/icons/pan.js.map +1 -1
  120. package/dist/assets/line-icons/icons/pencil.js +3 -3
  121. package/dist/assets/line-icons/icons/pencil.js.map +1 -1
  122. package/dist/assets/line-icons/icons/play.js +5 -5
  123. package/dist/assets/line-icons/icons/play.js.map +1 -1
  124. package/dist/assets/line-icons/icons/play2.js +5 -5
  125. package/dist/assets/line-icons/icons/play2.js.map +1 -1
  126. package/dist/assets/line-icons/icons/plus.js +4 -4
  127. package/dist/assets/line-icons/icons/plus.js.map +1 -1
  128. package/dist/assets/line-icons/icons/plus2.js +3 -3
  129. package/dist/assets/line-icons/icons/plus2.js.map +1 -1
  130. package/dist/assets/line-icons/icons/pointer.js +2 -2
  131. package/dist/assets/line-icons/icons/pointer.js.map +1 -1
  132. package/dist/assets/line-icons/icons/practice.js +2 -2
  133. package/dist/assets/line-icons/icons/practice.js.map +1 -1
  134. package/dist/assets/line-icons/icons/progress.js +3 -3
  135. package/dist/assets/line-icons/icons/progress.js.map +1 -1
  136. package/dist/assets/line-icons/icons/question-letter.js +3 -3
  137. package/dist/assets/line-icons/icons/question-letter.js.map +1 -1
  138. package/dist/assets/line-icons/icons/question.js +5 -5
  139. package/dist/assets/line-icons/icons/question.js.map +1 -1
  140. package/dist/assets/line-icons/icons/redo.js +4 -4
  141. package/dist/assets/line-icons/icons/redo.js.map +1 -1
  142. package/dist/assets/line-icons/icons/right.js +3 -3
  143. package/dist/assets/line-icons/icons/right.js.map +1 -1
  144. package/dist/assets/line-icons/icons/ruler.js +3 -3
  145. package/dist/assets/line-icons/icons/ruler.js.map +1 -1
  146. package/dist/assets/line-icons/icons/scribble.js.map +1 -1
  147. package/dist/assets/line-icons/icons/search.js +3 -3
  148. package/dist/assets/line-icons/icons/search.js.map +1 -1
  149. package/dist/assets/line-icons/icons/sheet.js +9 -9
  150. package/dist/assets/line-icons/icons/sheet.js.map +1 -1
  151. package/dist/assets/line-icons/icons/sketch.js +4 -4
  152. package/dist/assets/line-icons/icons/sketch.js.map +1 -1
  153. package/dist/assets/line-icons/icons/skip.js +6 -6
  154. package/dist/assets/line-icons/icons/skip.js.map +1 -1
  155. package/dist/assets/line-icons/icons/skip2.js +4 -4
  156. package/dist/assets/line-icons/icons/skip2.js.map +1 -1
  157. package/dist/assets/line-icons/icons/square-dots.js.map +1 -1
  158. package/dist/assets/line-icons/icons/star.js +3 -3
  159. package/dist/assets/line-icons/icons/star.js.map +1 -1
  160. package/dist/assets/line-icons/icons/star2.js +3 -3
  161. package/dist/assets/line-icons/icons/star2.js.map +1 -1
  162. package/dist/assets/line-icons/icons/striked-eye.js +4 -4
  163. package/dist/assets/line-icons/icons/striked-eye.js.map +1 -1
  164. package/dist/assets/line-icons/icons/switch-icon.js +4 -4
  165. package/dist/assets/line-icons/icons/switch-icon.js.map +1 -1
  166. package/dist/assets/line-icons/icons/text-icon.js.map +1 -1
  167. package/dist/assets/line-icons/icons/tick.js +2 -2
  168. package/dist/assets/line-icons/icons/tick.js.map +1 -1
  169. package/dist/assets/line-icons/icons/tri-dots.js.map +1 -1
  170. package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -1
  171. package/dist/assets/line-icons/icons/trophy.js +3 -3
  172. package/dist/assets/line-icons/icons/trophy.js.map +1 -1
  173. package/dist/assets/line-icons/icons/tutoring.js +4 -4
  174. package/dist/assets/line-icons/icons/tutoring.js.map +1 -1
  175. package/dist/assets/line-icons/icons/undo.js +4 -4
  176. package/dist/assets/line-icons/icons/undo.js.map +1 -1
  177. package/dist/assets/line-icons/icons/unlock.js +4 -4
  178. package/dist/assets/line-icons/icons/unlock.js.map +1 -1
  179. package/dist/assets/line-icons/icons/up.js +3 -3
  180. package/dist/assets/line-icons/icons/up.js.map +1 -1
  181. package/dist/assets/line-icons/icons/upload.js.map +1 -1
  182. package/dist/assets/line-icons/icons/user.js +3 -3
  183. package/dist/assets/line-icons/icons/user.js.map +1 -1
  184. package/dist/assets/line-icons/icons/user2.js +2 -2
  185. package/dist/assets/line-icons/icons/user2.js.map +1 -1
  186. package/dist/assets/line-icons/icons/zoom-in.js.map +1 -1
  187. package/dist/assets/line-icons/icons/zoom-out.js.map +1 -1
  188. package/dist/constants/country.js.map +1 -1
  189. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker-context.js.map +1 -1
  190. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js +14 -14
  191. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js.map +1 -1
  192. package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js +2 -2
  193. package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js.map +1 -1
  194. package/dist/features/chapters/api/chapter.js.map +1 -1
  195. package/dist/features/chapters/chapter/chapter.js +20 -20
  196. package/dist/features/chapters/chapter/chapter.js.map +1 -1
  197. package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner-styled.js.map +1 -1
  198. package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner.js.map +1 -1
  199. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons-styled.js.map +1 -1
  200. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
  201. package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources-styled.js.map +1 -1
  202. package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
  203. package/dist/features/chapters/chapter/comps/supplementary-resources/utils.js.map +1 -1
  204. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  205. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  206. package/dist/features/chapters/chapters-list/chapters-list.js +13 -13
  207. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  208. package/dist/features/chapters/lpar-chapter/block-section/block-section-styled.js.map +1 -1
  209. package/dist/features/chapters/lpar-chapter/block-section/block-section.js.map +1 -1
  210. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js.map +1 -1
  211. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js.map +1 -1
  212. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js +1 -1
  213. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js.map +1 -1
  214. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  215. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item-utils.js.map +1 -1
  216. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
  217. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +4 -4
  218. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
  219. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-utils.js.map +1 -1
  220. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +15 -15
  221. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
  222. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
  223. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js.map +1 -1
  224. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/teacher-actions/teacher-actions.js.map +1 -1
  225. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
  226. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.js.map +1 -1
  227. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions-styled.js.map +1 -1
  228. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions.js.map +1 -1
  229. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions-utils.js.map +1 -1
  230. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
  231. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +2 -2
  232. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  233. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-icon.js.map +1 -1
  234. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-utils.js.map +1 -1
  235. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  236. package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
  237. package/dist/features/chapters/lpar-chapter/comps/tab-section.js.map +1 -1
  238. package/dist/features/chapters/lpar-chapter/constants/index.js +5 -22
  239. package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
  240. package/dist/features/chapters/lpar-chapter/constants/puzzle-card.js.map +1 -1
  241. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js.map +1 -1
  242. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/lpar-chapter-banner-styled.js.map +1 -1
  243. package/dist/features/chapters/lpar-chapter/lpar-chapter-styled.js.map +1 -1
  244. package/dist/features/chapters/lpar-chapter/lpar-chapter.js +26 -26
  245. package/dist/features/chapters/lpar-chapter/lpar-chapter.js.map +1 -1
  246. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js.map +1 -1
  247. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card-styled.js.map +1 -1
  248. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js +1 -1
  249. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js.map +1 -1
  250. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section-utils.js.map +1 -1
  251. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js.map +1 -1
  252. package/dist/features/chapters/lpar-chapter/utils/index.js.map +1 -1
  253. package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.js.map +1 -1
  254. package/dist/features/chapters/lpar-milestone-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  255. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js.map +1 -1
  256. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/student-actions.js.map +1 -1
  257. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions.js.map +1 -1
  258. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js.map +1 -1
  259. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  260. package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js.map +1 -1
  261. package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js +21 -21
  262. package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js.map +1 -1
  263. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card-util.js.map +1 -1
  264. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js +1 -1
  265. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
  266. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js.map +1 -1
  267. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -1
  268. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
  269. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  270. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
  271. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +10 -10
  272. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  273. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
  274. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +1 -1
  275. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +1 -1
  276. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +6 -6
  277. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +4 -4
  278. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  279. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  280. package/dist/features/circle-games/game-launcher/game-launcher.js +47 -38
  281. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  282. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  283. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +37 -37
  284. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  285. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  286. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  287. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  288. package/dist/features/circle-games/leaderboard/comps/banner/banner-styled.js.map +1 -1
  289. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  290. package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar.js.map +1 -1
  291. package/dist/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.js.map +1 -1
  292. package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button.js.map +1 -1
  293. package/dist/features/circle-games/leaderboard/comps/progress-item/progress-item.js.map +1 -1
  294. package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js +1 -1
  295. package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js.map +1 -1
  296. package/dist/features/circle-games/leaderboard/comps/streak-reduction-infobar/streak-reduction-infobar.js.map +1 -1
  297. package/dist/features/circle-games/leaderboard/comps/timer/timer.js.map +1 -1
  298. package/dist/features/circle-games/leaderboard/comps/with-grade/with-grade.js.map +1 -1
  299. package/dist/features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.js.map +1 -1
  300. package/dist/features/circle-games/leaderboard/hooks/use-intersection-observer/use-intersection-observer.tsx.js.map +1 -1
  301. package/dist/features/circle-games/leaderboard/hooks/use-timer/use-timer.js.map +1 -1
  302. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  303. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  304. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  305. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  306. package/dist/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.js.map +1 -1
  307. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js +3 -3
  308. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js.map +1 -1
  309. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.styled.js.map +1 -1
  310. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen-styled.js +1 -1
  311. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  312. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
  313. package/dist/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.js.map +1 -1
  314. package/dist/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.js.map +1 -1
  315. package/dist/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.js.map +1 -1
  316. package/dist/features/circle-games/sign-up/helper.js.map +1 -1
  317. package/dist/features/circle-games/sign-up/sign-up.js +8 -8
  318. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  319. package/dist/features/circle-games/utils/streak-reduction-localstorage-util.js.map +1 -1
  320. package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js +18 -18
  321. package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js.map +1 -1
  322. package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js +11 -11
  323. package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js.map +1 -1
  324. package/dist/features/communication/pub-sub/core.js.map +1 -1
  325. package/dist/features/communication/pub-sub/hooks.js +1 -1
  326. package/dist/features/communication/pub-sub/hooks.js.map +1 -1
  327. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  328. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  329. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  330. package/dist/features/cue-canvas/cue-canvas-provider.js +8 -8
  331. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  332. package/dist/features/cue-canvas/cue-canvas.js +28 -28
  333. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  334. package/dist/features/cue-canvas/cue-cavas-styled.js +29 -29
  335. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  336. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +14 -14
  337. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  338. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  339. package/dist/features/cue-canvas/hooks/use-height-extender.js.map +1 -1
  340. package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -1
  341. package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
  342. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  343. package/dist/features/cue-canvas/toolbar/icon-map.js +7 -7
  344. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
  345. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  346. package/dist/features/cue-canvas/toolbar/toolbar.js +8 -8
  347. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  348. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  349. package/dist/features/extra-practice/extra-practice.js +21 -21
  350. package/dist/features/extra-practice/extra-practice.js.map +1 -1
  351. package/dist/features/extra-practice/list/list-constants.js.map +1 -1
  352. package/dist/features/extra-practice/list/list-styled.js.map +1 -1
  353. package/dist/features/extra-practice/list/list.js.map +1 -1
  354. package/dist/features/hooks/use-audio-player.js.map +1 -1
  355. package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js +3 -3
  356. package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
  357. package/dist/features/hooks/use-drag-helper.js.map +1 -1
  358. package/dist/features/hooks/use-force-reload.js +7 -7
  359. package/dist/features/hooks/use-force-reload.js.map +1 -1
  360. package/dist/features/hooks/use-is-unmounted.js.map +1 -1
  361. package/dist/features/hooks/use-lazy-ref.js.map +1 -1
  362. package/dist/features/hooks/use-previous.js.map +1 -1
  363. package/dist/features/hooks/use-zoom-disable.js +3 -3
  364. package/dist/features/hooks/use-zoom-disable.js.map +1 -1
  365. package/dist/features/journey/comps/coachmark/coachmark-styled.js.map +1 -1
  366. package/dist/features/journey/comps/coachmark/coachmark.js +1 -1
  367. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  368. package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
  369. package/dist/features/journey/use-journey/journey-context-provider.js +69 -71
  370. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  371. package/dist/features/journey/user-journey-api/user-journey-api.js +3 -3
  372. package/dist/features/maintenance/maintenance.js +5 -5
  373. package/dist/features/maintenance/maintenance.js.map +1 -1
  374. package/dist/features/milestone/constants.js +11 -15
  375. package/dist/features/milestone/constants.js.map +1 -1
  376. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  377. package/dist/features/milestone/create/api/milestone-bulk.js.map +1 -1
  378. package/dist/features/milestone/create/api/milestone-submit.js.map +1 -1
  379. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  380. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  381. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  382. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
  383. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
  384. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters-styled.js.map +1 -1
  385. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
  386. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  387. package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
  388. package/dist/features/milestone/create/comps/chapter-item/chapter-item-styled.js.map +1 -1
  389. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
  390. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/category-card.js.map +1 -1
  391. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  392. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-styled.js.map +1 -1
  393. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-selection.js.map +1 -1
  394. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
  395. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  396. package/dist/features/milestone/create/comps/chapters-selection-step/use-chapter-list-update.js.map +1 -1
  397. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  398. package/dist/features/milestone/create/comps/class-details-step/class-details-selectors.js.map +1 -1
  399. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  400. package/dist/features/milestone/create/comps/class-details-step/class-details-styled.js.map +1 -1
  401. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  402. package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js +9 -9
  403. package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js.map +1 -1
  404. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation-utils.js.map +1 -1
  405. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js +14 -14
  406. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js.map +1 -1
  407. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-styled.js.map +1 -1
  408. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-view.js.map +1 -1
  409. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
  410. package/dist/features/milestone/create/comps/info-points/info-points.js.map +1 -1
  411. package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
  412. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -1
  413. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -1
  414. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
  415. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
  416. package/dist/features/milestone/create/comps/test-type-step/category-component-styled.js.map +1 -1
  417. package/dist/features/milestone/create/comps/test-type-step/category-component.js.map +1 -1
  418. package/dist/features/milestone/create/comps/test-type-step/test-type-step-constants.js.map +1 -1
  419. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  420. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  421. package/dist/features/milestone/create/milestone-create-constants.js.map +1 -1
  422. package/dist/features/milestone/create/milestone-create-container.js +25 -25
  423. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  424. package/dist/features/milestone/create/milestone-create-form-tree.js +2 -2
  425. package/dist/features/milestone/create/milestone-create-form-tree.js.map +1 -1
  426. package/dist/features/milestone/create/milestone-create-helpers.js +3 -3
  427. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  428. package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
  429. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  430. package/dist/features/milestone/create/milestone-create.js +19 -20
  431. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  432. package/dist/features/milestone/create/styled-comps/progressive-loader.js +1 -1
  433. package/dist/features/milestone/create/styled-comps/progressive-loader.js.map +1 -1
  434. package/dist/features/milestone/create/submit-modal/submit-modal.js +9 -9
  435. package/dist/features/milestone/create/submit-modal/submit-modal.js.map +1 -1
  436. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal-styled.js.map +1 -1
  437. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js.map +1 -1
  438. package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
  439. package/dist/features/milestone/create/utils/index.js.map +1 -1
  440. package/dist/features/milestone/edit/comps/delete-milestone/confirm-delete.js.map +1 -1
  441. package/dist/features/milestone/edit/comps/delete-milestone/styled.js.map +1 -1
  442. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
  443. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +43 -44
  444. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  445. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js.map +1 -1
  446. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader.js.map +1 -1
  447. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +27 -27
  448. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  449. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +1 -1
  450. package/dist/features/milestone/edit/goal-edit-container.js +21 -21
  451. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  452. package/dist/features/milestone/edit/goal-edit-helpers.js +3 -3
  453. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  454. package/dist/features/milestone/edit/milestone-edit-container.js +23 -23
  455. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  456. package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
  457. package/dist/features/milestone/hooks/use-submit-goal-creation.js.map +1 -1
  458. package/dist/features/milestone/milestone-action-widget/milestone-action-widget-styled.js.map +1 -1
  459. package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js +15 -15
  460. package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js.map +1 -1
  461. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  462. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  463. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  464. package/dist/features/milestone/milestone-list-container/filter-milestones.js.map +1 -1
  465. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  466. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-loader/milestone-loader.js.map +1 -1
  467. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -1
  468. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  469. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-utils.js.map +1 -1
  470. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/use-goal-draft-publish.js.map +1 -1
  471. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  472. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  473. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  474. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  475. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +2 -2
  476. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -1
  477. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  478. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  479. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -1
  480. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  481. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  482. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  483. package/dist/features/milestone/milestone-list-container/milestone-list/no-active-milestone/no-active-milestone.js.map +1 -1
  484. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +21 -21
  485. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  486. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  487. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -1
  488. package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +1 -1
  489. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +1 -1
  490. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  491. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
  492. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +1 -1
  493. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
  494. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +1 -1
  495. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +39 -39
  496. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  497. package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +1 -1
  498. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  499. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  500. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
  501. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item-styled.js.map +1 -1
  502. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item.js.map +1 -1
  503. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  504. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  505. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
  506. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card-styled.js.map +1 -1
  507. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  508. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  509. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +28 -28
  510. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  511. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  512. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -1
  513. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +1 -1
  514. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
  515. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +1 -1
  516. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +1 -1
  517. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
  518. package/dist/features/milestone/outcome/api/milestone-achievement.js +3 -3
  519. package/dist/features/milestone/outcome/api/milestone-outcome.js.map +1 -1
  520. package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js.map +1 -1
  521. package/dist/features/milestone/outcome/comps/achievement/achievement-container-styled.js.map +1 -1
  522. package/dist/features/milestone/outcome/comps/achievement/achievement-container.js +3 -3
  523. package/dist/features/milestone/outcome/comps/achievement/achievement-container.js.map +1 -1
  524. package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js +13 -13
  525. package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js.map +1 -1
  526. package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js +20 -20
  527. package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js.map +1 -1
  528. package/dist/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.js.map +1 -1
  529. package/dist/features/milestone/outcome/comps/outcome-collection/input-descriptor.js.map +1 -1
  530. package/dist/features/milestone/outcome/comps/outcome-collection/input-handler.js.map +1 -1
  531. package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js.map +1 -1
  532. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.js.map +1 -1
  533. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form-helpers.js.map +1 -1
  534. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map +1 -1
  535. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-styled.js.map +1 -1
  536. package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js.map +1 -1
  537. package/dist/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.js.map +1 -1
  538. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
  539. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-form.js.map +1 -1
  540. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-styled.js.map +1 -1
  541. package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
  542. package/dist/features/milestone/outcome/milestone-outcome-container.js +23 -23
  543. package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
  544. package/dist/features/milestone/outcome/milestone-outcome-styled.js.map +1 -1
  545. package/dist/features/milestone/outcome/outcome-helpers.js.map +1 -1
  546. package/dist/features/milestone/start/milestone-start.js +3 -3
  547. package/dist/features/milestone/start/milestone-start.js.map +1 -1
  548. package/dist/features/pointer-sync/hooks/use-pointer-sync.js +13 -13
  549. package/dist/features/pointer-sync/hooks/use-pointer-sync.js.map +1 -1
  550. package/dist/features/pointer-sync/pointer.js +7 -7
  551. package/dist/features/pointer-sync/pointer.js.map +1 -1
  552. package/dist/features/post-game-stats/accuracy/accuracy-styled.js +5 -5
  553. package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
  554. package/dist/features/post-game-stats/accuracy/accuracy-utils.js.map +1 -1
  555. package/dist/features/post-game-stats/accuracy/accuracy.js +3 -3
  556. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  557. package/dist/features/post-game-stats/clock/clock-styled.js +1 -1
  558. package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
  559. package/dist/features/post-game-stats/clock/clock.js +3 -3
  560. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  561. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +12 -13
  562. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +1 -1
  563. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +11 -11
  564. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +1 -1
  565. package/dist/features/post-game-stats/digital-meter/digital-meter.js +7 -7
  566. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
  567. package/dist/features/post-game-stats/digital-meter/helper.js.map +1 -1
  568. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -1
  569. package/dist/features/post-game-stats/points/points.js.map +1 -1
  570. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  571. package/dist/features/post-game-stats/streak/streak-styled.js +5 -5
  572. package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
  573. package/dist/features/post-game-stats/streak/streak.js +1 -1
  574. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  575. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator-styled.js.map +1 -1
  576. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js +13 -13
  577. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
  578. package/dist/features/sheet-tools/tool-header/tool-header-styled.js.map +1 -1
  579. package/dist/features/sheet-tools/tool-header/tool-header.js +14 -14
  580. package/dist/features/sheet-tools/tool-header/tool-header.js.map +1 -1
  581. package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
  582. package/dist/features/sheets/comps/sheet-button/styled.js.map +1 -1
  583. package/dist/features/sheets/comps/sheet-button/variant.js.map +1 -1
  584. package/dist/features/sheets/constants/sheet.js.map +1 -1
  585. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
  586. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element-styled.js.map +1 -1
  587. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element.js.map +1 -1
  588. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/target-element.js.map +1 -1
  589. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
  590. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-styled.js.map +1 -1
  591. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js +4 -3
  592. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js.map +1 -1
  593. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-view.js.map +1 -1
  594. package/dist/features/sheets/lessons-list/lesson-item/lesson-item.js.map +1 -1
  595. package/dist/features/sheets/lessons-list/lessons-list.js.map +1 -1
  596. package/dist/features/sheets/reference-sheet/reference-sheet.js +14 -14
  597. package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
  598. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js.map +1 -1
  599. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -1
  600. package/dist/features/sheets/resources-list/resource-item/resource-item.js +3 -3
  601. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  602. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  603. package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -1
  604. package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
  605. package/dist/features/sheets/resources-list/styled.js.map +1 -1
  606. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js.map +1 -1
  607. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/target-element/target-element.js.map +1 -1
  608. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-styled.js.map +1 -1
  609. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils.js.map +1 -1
  610. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js.map +1 -1
  611. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
  612. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +0 -2
  613. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  614. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  615. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-icon.js.map +1 -1
  616. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-styled.js.map +1 -1
  617. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js.map +1 -1
  618. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-utils.js.map +1 -1
  619. package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js.map +1 -1
  620. package/dist/features/sheets/sheets-list/sheets-list.js +15 -15
  621. package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
  622. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  623. package/dist/features/student-details/class-details/class-details-utils.js.map +1 -1
  624. package/dist/features/student-details/class-details/class-details.js.map +1 -1
  625. package/dist/features/student-details/student-details-styled.js.map +1 -1
  626. package/dist/features/student-details/student-details-utils.js.map +1 -1
  627. package/dist/features/student-details/student-details.js +17 -17
  628. package/dist/features/student-details/student-details.js.map +1 -1
  629. package/dist/features/student-details/wins-preview/wins-preview-styled.js.map +1 -1
  630. package/dist/features/student-details/wins-preview/wins-preview.js.map +1 -1
  631. package/dist/features/talk-meter/helper.js.map +1 -1
  632. package/dist/features/talk-meter/hooks/use-talk-meter.js.map +1 -1
  633. package/dist/features/talk-meter/ripple/index.js +1 -1
  634. package/dist/features/talk-meter/ripple/index.js.map +1 -1
  635. package/dist/features/talk-meter/talk-meter-styled.js +1 -1
  636. package/dist/features/talk-meter/talk-meter-styled.js.map +1 -1
  637. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js +12 -14
  638. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
  639. package/dist/features/talk-meter/talk-meter.js +23 -23
  640. package/dist/features/talk-meter/talk-meter.js.map +1 -1
  641. package/dist/features/trial-session/api/course-stream.js.map +1 -1
  642. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
  643. package/dist/features/trial-session/comps/about-cuemath/index.js.map +1 -1
  644. package/dist/features/trial-session/comps/additional-info/additional-info.js.map +1 -1
  645. package/dist/features/trial-session/comps/av-panels/student-av-panel/student-av-panel.js.map +1 -1
  646. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  647. package/dist/features/trial-session/comps/background-grid/background-grid-styled.js.map +1 -1
  648. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  649. package/dist/features/trial-session/comps/background-grid/background-grid.js.map +1 -1
  650. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  651. package/dist/features/trial-session/comps/clock/clock.js.map +1 -1
  652. package/dist/features/trial-session/comps/communication-slide/index.js.map +1 -1
  653. package/dist/features/trial-session/comps/countdown-progress-bar/countdown-progress-bar.js.map +1 -1
  654. package/dist/features/trial-session/comps/cue-tips/cues/cues-styled.js +6 -6
  655. package/dist/features/trial-session/comps/cue-tips/cues/index.js.map +1 -1
  656. package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
  657. package/dist/features/trial-session/comps/cue-tips/tips/tips-styled.js.map +1 -1
  658. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  659. package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
  660. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +1 -1
  661. package/dist/features/trial-session/comps/learning-session/learning-session-constants.js.map +1 -1
  662. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  663. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  664. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  665. package/dist/features/trial-session/comps/navigation-bar/navigation-bar-styled.js.map +1 -1
  666. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  667. package/dist/features/trial-session/comps/offering-information/offering-information-styled.js.map +1 -1
  668. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  669. package/dist/features/trial-session/comps/pricing/board-comp.js.map +1 -1
  670. package/dist/features/trial-session/comps/pricing/pricing-styled.js.map +1 -1
  671. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  672. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  673. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  674. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  675. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  676. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
  677. package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
  678. package/dist/features/trial-session/comps/session-report/report-card.js.map +1 -1
  679. package/dist/features/trial-session/comps/session-report/session-report.js +3 -3
  680. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  681. package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
  682. package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
  683. package/dist/features/trial-session/comps/solutions/solutions.styled.js +5 -5
  684. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  685. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  686. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  687. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +3 -3
  688. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  689. package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
  690. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  691. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +7 -7
  692. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  693. package/dist/features/trial-session/comps/student-profile/student-profile-styled.js.map +1 -1
  694. package/dist/features/trial-session/comps/student-profile/student-profile-utils.js.map +1 -1
  695. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  696. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-constants.js.map +1 -1
  697. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  698. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  699. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.js.map +1 -1
  700. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  701. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  702. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  703. package/dist/features/trial-session/helper.js.map +1 -1
  704. package/dist/features/trial-session/hooks/use-class-time-alerts.js.map +1 -1
  705. package/dist/features/trial-session/hooks/use-left-panel-button-state.js.map +1 -1
  706. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  707. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  708. package/dist/features/trial-session/right-panel/index.js.map +1 -1
  709. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  710. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  711. package/dist/features/trial-session/trial-session.js +6 -6
  712. package/dist/features/trial-session/trial-session.js.map +1 -1
  713. package/dist/features/ui/accordion-section/accordion-section.js +13 -13
  714. package/dist/features/ui/accordion-section/accordion-section.js.map +1 -1
  715. package/dist/features/ui/arc-button/arc-button.js.map +1 -1
  716. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +20 -21
  717. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  718. package/dist/features/ui/arrow-tooltip/arrow-tooltip-util.js.map +1 -1
  719. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +14 -14
  720. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  721. package/dist/features/ui/avatar/avatar-types.js +5 -5
  722. package/dist/features/ui/avatar/avatar.js +11 -11
  723. package/dist/features/ui/avatar/avatar.js.map +1 -1
  724. package/dist/features/ui/avatar/layers/base/variant-1.js.map +1 -1
  725. package/dist/features/ui/avatar/layers/eyes/variant-1.js.map +1 -1
  726. package/dist/features/ui/avatar/layers/eyes/variant-10.js.map +1 -1
  727. package/dist/features/ui/avatar/layers/eyes/variant-11.js.map +1 -1
  728. package/dist/features/ui/avatar/layers/eyes/variant-12.js.map +1 -1
  729. package/dist/features/ui/avatar/layers/eyes/variant-13.js.map +1 -1
  730. package/dist/features/ui/avatar/layers/eyes/variant-14.js.map +1 -1
  731. package/dist/features/ui/avatar/layers/eyes/variant-15.js.map +1 -1
  732. package/dist/features/ui/avatar/layers/eyes/variant-16.js.map +1 -1
  733. package/dist/features/ui/avatar/layers/eyes/variant-17.js.map +1 -1
  734. package/dist/features/ui/avatar/layers/eyes/variant-18.js.map +1 -1
  735. package/dist/features/ui/avatar/layers/eyes/variant-2.js.map +1 -1
  736. package/dist/features/ui/avatar/layers/eyes/variant-3.js.map +1 -1
  737. package/dist/features/ui/avatar/layers/eyes/variant-4.js.map +1 -1
  738. package/dist/features/ui/avatar/layers/eyes/variant-5.js.map +1 -1
  739. package/dist/features/ui/avatar/layers/eyes/variant-6.js.map +1 -1
  740. package/dist/features/ui/avatar/layers/eyes/variant-7.js.map +1 -1
  741. package/dist/features/ui/avatar/layers/eyes/variant-8.js.map +1 -1
  742. package/dist/features/ui/avatar/layers/eyes/variant-9.js.map +1 -1
  743. package/dist/features/ui/avatar/layers/hair/variant-1.js.map +1 -1
  744. package/dist/features/ui/avatar/layers/hair/variant-10.js.map +1 -1
  745. package/dist/features/ui/avatar/layers/hair/variant-2.js.map +1 -1
  746. package/dist/features/ui/avatar/layers/hair/variant-3.js.map +1 -1
  747. package/dist/features/ui/avatar/layers/hair/variant-4.js.map +1 -1
  748. package/dist/features/ui/avatar/layers/hair/variant-5.js.map +1 -1
  749. package/dist/features/ui/avatar/layers/hair/variant-6.js.map +1 -1
  750. package/dist/features/ui/avatar/layers/hair/variant-7.js.map +1 -1
  751. package/dist/features/ui/avatar/layers/hair/variant-8.js.map +1 -1
  752. package/dist/features/ui/avatar/layers/hair/variant-9.js.map +1 -1
  753. package/dist/features/ui/avatar/layers/mouth/variant-1.js.map +1 -1
  754. package/dist/features/ui/avatar/layers/mouth/variant-10.js.map +1 -1
  755. package/dist/features/ui/avatar/layers/mouth/variant-11.js.map +1 -1
  756. package/dist/features/ui/avatar/layers/mouth/variant-12.js.map +1 -1
  757. package/dist/features/ui/avatar/layers/mouth/variant-13.js.map +1 -1
  758. package/dist/features/ui/avatar/layers/mouth/variant-14.js.map +1 -1
  759. package/dist/features/ui/avatar/layers/mouth/variant-15.js.map +1 -1
  760. package/dist/features/ui/avatar/layers/mouth/variant-16.js.map +1 -1
  761. package/dist/features/ui/avatar/layers/mouth/variant-17.js.map +1 -1
  762. package/dist/features/ui/avatar/layers/mouth/variant-18.js.map +1 -1
  763. package/dist/features/ui/avatar/layers/mouth/variant-2.js.map +1 -1
  764. package/dist/features/ui/avatar/layers/mouth/variant-3.js.map +1 -1
  765. package/dist/features/ui/avatar/layers/mouth/variant-4.js.map +1 -1
  766. package/dist/features/ui/avatar/layers/mouth/variant-5.js.map +1 -1
  767. package/dist/features/ui/avatar/layers/mouth/variant-6.js.map +1 -1
  768. package/dist/features/ui/avatar/layers/mouth/variant-7.js.map +1 -1
  769. package/dist/features/ui/avatar/layers/mouth/variant-8.js.map +1 -1
  770. package/dist/features/ui/avatar/layers/mouth/variant-9.js.map +1 -1
  771. package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
  772. package/dist/features/ui/buttons/button/button.js +25 -25
  773. package/dist/features/ui/buttons/button/button.js.map +1 -1
  774. package/dist/features/ui/buttons/clickable/clickable.js +9 -9
  775. package/dist/features/ui/buttons/clickable/clickable.js.map +1 -1
  776. package/dist/features/ui/buttons/icon-button/icon-button-styled.js.map +1 -1
  777. package/dist/features/ui/buttons/icon-button/icon-button.js +14 -14
  778. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  779. package/dist/features/ui/buttons/text-button/text-button-styled.js.map +1 -1
  780. package/dist/features/ui/buttons/text-button/text-button.js +19 -19
  781. package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
  782. package/dist/features/ui/callout/callout.js +10 -10
  783. package/dist/features/ui/callout/callout.js.map +1 -1
  784. package/dist/features/ui/context/context.js.map +1 -1
  785. package/dist/features/ui/context/use-tracking-context.js +2 -2
  786. package/dist/features/ui/context/use-tracking-context.js.map +1 -1
  787. package/dist/features/ui/context-menu/context-menu.js +13 -13
  788. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  789. package/dist/features/ui/error/error.js +11 -11
  790. package/dist/features/ui/error/error.js.map +1 -1
  791. package/dist/features/ui/grade-selector/grade-selector-styled.js.map +1 -1
  792. package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
  793. package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
  794. package/dist/features/ui/hooks/use-click-handler.js.map +1 -1
  795. package/dist/features/ui/hooks/use-context-menu-click-handler.js +17 -17
  796. package/dist/features/ui/hooks/use-context-menu-click-handler.js.map +1 -1
  797. package/dist/features/ui/hooks/use-response-handler.js.map +1 -1
  798. package/dist/features/ui/image/image.js.map +1 -1
  799. package/dist/features/ui/inputs/base-input/base-input-styled.js.map +1 -1
  800. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  801. package/dist/features/ui/inputs/base-select-input/base-select-input-styled.js.map +1 -1
  802. package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
  803. package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
  804. package/dist/features/ui/inputs/base-select-input/select-section/select-section-styled.js.map +1 -1
  805. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  806. package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js +23 -23
  807. package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js.map +1 -1
  808. package/dist/features/ui/inputs/checkbox-input/checkbox-input-styled.js.map +1 -1
  809. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +20 -20
  810. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  811. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +16 -16
  812. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  813. package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js +6 -6
  814. package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js.map +1 -1
  815. package/dist/features/ui/inputs/num-range-input/num-range-input.js +4 -4
  816. package/dist/features/ui/inputs/num-range-input/num-range-input.js.map +1 -1
  817. package/dist/features/ui/inputs/percentile-input/percentile-input.js +21 -21
  818. package/dist/features/ui/inputs/percentile-input/percentile-input.js.map +1 -1
  819. package/dist/features/ui/inputs/percentile-input/percentile-styled.js.map +1 -1
  820. package/dist/features/ui/inputs/radio-input/radio-input.js +14 -14
  821. package/dist/features/ui/inputs/radio-input/radio-input.js.map +1 -1
  822. package/dist/features/ui/inputs/radio-input/radio-option/radio-option-styled.js.map +1 -1
  823. package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js.map +1 -1
  824. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +1 -1
  825. package/dist/features/ui/inputs/searchable-input/searchable-input.js +3 -3
  826. package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -1
  827. package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js +17 -17
  828. package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js.map +1 -1
  829. package/dist/features/ui/inputs/searchable-select-input/use-filtered-options.js.map +1 -1
  830. package/dist/features/ui/inputs/select-input/select-input.js +3 -3
  831. package/dist/features/ui/inputs/select-input/select-input.js.map +1 -1
  832. package/dist/features/ui/inputs/text-input/text-input-styled.js.map +1 -1
  833. package/dist/features/ui/inputs/text-input/text-input.js +33 -33
  834. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  835. package/dist/features/ui/layout/flex-view.js +23 -23
  836. package/dist/features/ui/layout/flex-view.js.map +1 -1
  837. package/dist/features/ui/loader/app-loader/app-loader.js +3 -3
  838. package/dist/features/ui/loader/app-loader/app-loader.js.map +1 -1
  839. package/dist/features/ui/lottie-animation/helper.js.map +1 -1
  840. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  841. package/dist/features/ui/nudge/nudge.js +9 -9
  842. package/dist/features/ui/nudge/nudge.js.map +1 -1
  843. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +1 -1
  844. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  845. package/dist/features/ui/perfect-hits/perfect-hits-styled.js +1 -1
  846. package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
  847. package/dist/features/ui/radio-cards/radio-card-option/radio-card-option-styled.js.map +1 -1
  848. package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js.map +1 -1
  849. package/dist/features/ui/radio-cards/radio-cards.js +15 -15
  850. package/dist/features/ui/radio-cards/radio-cards.js.map +1 -1
  851. package/dist/features/ui/section-list/section-list.js +9 -9
  852. package/dist/features/ui/section-list/section-list.js.map +1 -1
  853. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option-styled.js.map +1 -1
  854. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option.js.map +1 -1
  855. package/dist/features/ui/selection-cards/selection-cards.js +18 -18
  856. package/dist/features/ui/selection-cards/selection-cards.js.map +1 -1
  857. package/dist/features/ui/separator/separator.js +6 -6
  858. package/dist/features/ui/separator/separator.js.map +1 -1
  859. package/dist/features/ui/stepper/stepper-styled.js.map +1 -1
  860. package/dist/features/ui/stepper/stepper.js +7 -7
  861. package/dist/features/ui/stepper/stepper.js.map +1 -1
  862. package/dist/features/ui/streak-icon/streak-icon.js +14 -14
  863. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  864. package/dist/features/ui/superscript/superscript.js.map +1 -1
  865. package/dist/features/ui/tab/tab-styled.js.map +1 -1
  866. package/dist/features/ui/tab/tab.js +17 -17
  867. package/dist/features/ui/tab/tab.js.map +1 -1
  868. package/dist/features/ui/tag/tag-styled.js.map +1 -1
  869. package/dist/features/ui/tag/tag.js +4 -4
  870. package/dist/features/ui/tag/tag.js.map +1 -1
  871. package/dist/features/ui/text/text.js +23 -24
  872. package/dist/features/ui/text/text.js.map +1 -1
  873. package/dist/features/ui/theme/arrow-tooltip.js.map +1 -1
  874. package/dist/features/ui/theme/button.js.map +1 -1
  875. package/dist/features/ui/theme/checkbox.js.map +1 -1
  876. package/dist/features/ui/theme/get-theme.js.map +1 -1
  877. package/dist/features/ui/theme/input.js.map +1 -1
  878. package/dist/features/ui/theme/layout.js.map +1 -1
  879. package/dist/features/ui/theme/tab.js.map +1 -1
  880. package/dist/features/ui/theme/text-button.js.map +1 -1
  881. package/dist/features/ui/theme/text.js.map +1 -1
  882. package/dist/features/ui/time-left-timeline/time-left-timeline-styled.js.map +1 -1
  883. package/dist/features/ui/time-left-timeline/time-left-timeline.js +16 -16
  884. package/dist/features/ui/time-left-timeline/time-left-timeline.js.map +1 -1
  885. package/dist/features/ui/timers/countdown-timer/countdown-timer.js +15 -15
  886. package/dist/features/ui/timers/countdown-timer/countdown-timer.js.map +1 -1
  887. package/dist/features/ui/video/index.js +3 -3
  888. package/dist/features/ui/video/index.js.map +1 -1
  889. package/dist/features/ui/video/styled.js.map +1 -1
  890. package/dist/features/utils/load-script.js +9 -9
  891. package/dist/features/utils/load-script.js.map +1 -1
  892. package/dist/features/utils/utils.js.map +1 -1
  893. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +25 -25
  894. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
  895. package/dist/features/worksheet/learnosity-preloader/use-download-script.js.map +1 -1
  896. package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js +2 -2
  897. package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js.map +1 -1
  898. package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js.map +1 -1
  899. package/dist/features/worksheet/user-pointer-pin/user-pin.js.map +1 -1
  900. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  901. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
  902. package/dist/features/worksheet/worksheet/hooks/use-get-active-question-id.js.map +1 -1
  903. package/dist/features/worksheet/worksheet/hooks/use-learnosity-append.js.map +1 -1
  904. package/dist/features/worksheet/worksheet/hooks/use-learnosity.js.map +1 -1
  905. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  906. package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js.map +1 -1
  907. package/dist/features/worksheet/worksheet/hooks/use-worksheet-data-helper.js.map +1 -1
  908. package/dist/features/worksheet/worksheet/question-tips.js.map +1 -1
  909. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  910. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
  911. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
  912. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
  913. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
  914. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
  915. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
  916. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
  917. package/dist/features/worksheet/worksheet/worksheet-container.js +17 -17
  918. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  919. package/dist/features/worksheet/worksheet/worksheet-helpers.js +4 -4
  920. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  921. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js.map +1 -1
  922. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number-styled.js.map +1 -1
  923. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
  924. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation-styled.js.map +1 -1
  925. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  926. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js +2 -2
  927. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
  928. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  929. package/dist/features/worksheet/worksheet/worksheet-permissions/sheet-locked.js.map +1 -1
  930. package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js.map +1 -1
  931. package/dist/features/worksheet/worksheet/worksheet-question/header/header.js.map +1 -1
  932. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  933. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  934. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js.map +1 -1
  935. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
  936. package/dist/features/worksheet/worksheet/worksheet-question/subjective-feedback.js.map +1 -1
  937. package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
  938. package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
  939. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/advanced-practice-intro.js.map +1 -1
  940. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js.map +1 -1
  941. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/exit-ticket-intro.js.map +1 -1
  942. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js.map +1 -1
  943. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  944. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  945. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
  946. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
  947. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  948. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary-styled.js.map +1 -1
  949. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
  950. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
  951. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
  952. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
  953. package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -1
  954. package/dist/features/worksheet/worksheet/worksheet-styled.js +4 -4
  955. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  956. package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js.map +1 -1
  957. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
  958. package/dist/features/worksheet/worksheet/worksheet.js +5 -5
  959. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  960. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
  961. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
  962. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  963. package/dist/features/worksheet/worksheet-preview/worksheet-preview-styled.js.map +1 -1
  964. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  965. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +16 -16
  966. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  967. package/dist/helpers/date-time.js.map +1 -1
  968. package/dist/helpers/get-device-details.js.map +1 -1
  969. package/dist/helpers/label-text.js.map +1 -1
  970. package/dist/index.d.ts +2 -1
  971. package/dist/index.js +481 -481
  972. package/dist/node_modules/@cuemath/analytics-v2/dist/constants.js.map +1 -1
  973. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  974. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  975. package/dist/node_modules/date-fns/_lib/format/formatters.js +0 -2
  976. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  977. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  978. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  979. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  980. package/dist/node_modules/date-fns/addDays.js.map +1 -1
  981. package/dist/node_modules/date-fns/addMonths.js.map +1 -1
  982. package/dist/node_modules/date-fns/constructNow.js.map +1 -1
  983. package/dist/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
  984. package/dist/node_modules/date-fns/format.js.map +1 -1
  985. package/dist/node_modules/date-fns/getDefaultOptions.js.map +1 -1
  986. package/dist/node_modules/date-fns/getISODay.js.map +1 -1
  987. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  988. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
  989. package/dist/node_modules/date-fns/isAfter.js.map +1 -1
  990. package/dist/node_modules/date-fns/lastDayOfMonth.js.map +1 -1
  991. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  992. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  993. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  994. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  995. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  996. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  997. package/dist/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
  998. package/dist/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
  999. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
  1000. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
  1001. package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
  1002. package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
  1003. package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
  1004. package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
  1005. package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
  1006. package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
  1007. package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
  1008. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
  1009. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
  1010. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
  1011. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
  1012. package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
  1013. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
  1014. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
  1015. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
  1016. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
  1017. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
  1018. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
  1019. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
  1020. package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
  1021. package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
  1022. package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
  1023. package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
  1024. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
  1025. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
  1026. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
  1027. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
  1028. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
  1029. package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
  1030. package/dist/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
  1031. package/dist/node_modules/date-fns/parse.js.map +1 -1
  1032. package/dist/node_modules/date-fns/setDay.js.map +1 -1
  1033. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  1034. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
  1035. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  1036. package/dist/node_modules/date-fns/transpose.js.map +1 -1
  1037. package/dist/node_modules/fast-equals/dist/esm/index.js +174 -133
  1038. package/dist/node_modules/fast-equals/dist/esm/index.js.map +1 -1
  1039. package/dist/node_modules/filter-obj/index.js.map +1 -1
  1040. package/dist/node_modules/humanize-plus/dist/humanize.js.map +1 -1
  1041. package/dist/node_modules/lodash.debounce/index.js.map +1 -1
  1042. package/dist/node_modules/lodash.isequal/index.js +1 -1
  1043. package/dist/node_modules/lodash.isequal/index.js.map +1 -1
  1044. package/dist/node_modules/lodash.throttle/index.js.map +1 -1
  1045. package/dist/node_modules/query-string/base.js.map +1 -1
  1046. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -1
  1047. package/dist/node_modules/split-on-first/index.js.map +1 -1
  1048. package/dist/node_modules/ua-parser-js/src/ua-parser.js +3 -3
  1049. package/dist/node_modules/ua-parser-js/src/ua-parser.js.map +1 -1
  1050. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  1051. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  1052. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-active-question-id.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-get-active-question-id.ts"],"sourcesContent":["import debounce from 'lodash.debounce';\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport {\n ACTION_BAR_HEIGHT,\n INTERSECTION_OBSERVER_THRESHOLD_POINTS,\n INTERSECTION_OBSERVER_THROTTLE_TIME,\n TOP_NAVIGATION_HEIGHT,\n} from '../constants';\n\ninterface IUseGetActiveQuestionId {\n (initialQuestionId: string): {\n activeQuestionId?: string;\n setActiveQuestionId: (activeQuestionId: string) => void;\n intersectionObserver: IntersectionObserver;\n };\n}\n\nconst getThresholds = () => {\n const thresholds = [];\n\n for (let i = 0; i <= INTERSECTION_OBSERVER_THRESHOLD_POINTS; i++) {\n thresholds.push(i / INTERSECTION_OBSERVER_THRESHOLD_POINTS);\n }\n\n return thresholds;\n};\n\nconst thresholds = getThresholds();\n\n/**\n * Returns the question's response id which is currently in view with the highest intersection ratio\n * @returns activeQuestionId\n */\nconst useGetActiveQuestionId: IUseGetActiveQuestionId = initialQuestionId => {\n const [activeQuestionId, setActiveQuestionId] = useState<string>(initialQuestionId);\n const throttledSetActiveQuestionId = useMemo(\n () =>\n debounce(setActiveQuestionId, INTERSECTION_OBSERVER_THROTTLE_TIME, {\n trailing: true,\n }),\n [],\n );\n const activeQuestionRef = useRef<{\n questionEl: Element;\n intersectionRatio: number;\n }>();\n const intersectionObserver = useMemo(\n () =>\n new IntersectionObserver(\n entries => {\n const maxHeight = entries.reduce((acc, { isIntersecting, target }) => {\n return Math.max(acc, isIntersecting ? target.clientHeight : acc);\n }, 0);\n const [questionEl, questionIntersectionRatio, questionNormalisedRatio] = entries.reduce(\n (acc, { isIntersecting, target, intersectionRatio }) => {\n if (\n target.getAttribute('data-response-id') ===\n activeQuestionRef.current?.questionEl.getAttribute('data-response-id')\n ) {\n activeQuestionRef.current = undefined;\n }\n\n if (isIntersecting) {\n const normalisedRatio = (target.clientHeight / maxHeight) * intersectionRatio;\n\n if (normalisedRatio >= acc[2]) {\n return [target, intersectionRatio, normalisedRatio];\n }\n }\n\n return acc;\n },\n [null, 0, 0] as [Element | null, number, number],\n );\n\n if (questionEl) {\n if (!activeQuestionRef.current) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n } else {\n const nRatio =\n (activeQuestionRef.current.questionEl.clientHeight / maxHeight) *\n activeQuestionRef.current.intersectionRatio;\n\n if (questionNormalisedRatio >= nRatio) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n }\n }\n }\n },\n {\n rootMargin: `-${TOP_NAVIGATION_HEIGHT}px 0px -${ACTION_BAR_HEIGHT}px 0px`,\n threshold: thresholds,\n },\n ),\n [throttledSetActiveQuestionId],\n );\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n return {\n intersectionObserver,\n activeQuestionId,\n setActiveQuestionId,\n };\n};\n\nexport default useGetActiveQuestionId;\n"],"names":["getThresholds","thresholds","i","INTERSECTION_OBSERVER_THRESHOLD_POINTS","useGetActiveQuestionId","initialQuestionId","activeQuestionId","setActiveQuestionId","useState","throttledSetActiveQuestionId","useMemo","debounce","INTERSECTION_OBSERVER_THROTTLE_TIME","activeQuestionRef","useRef","intersectionObserver","entries","maxHeight","acc","isIntersecting","target","questionEl","questionIntersectionRatio","questionNormalisedRatio","intersectionRatio","_a","normalisedRatio","nRatio","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","useEffect"],"mappings":";;;AAkBA,MAAMA,IAAgB,MAAM;AAC1B,QAAMC,IAAa,CAAA;AAEnB,WAASC,IAAI,GAAGA,KAAKC,GAAwCD;AAC3DD,IAAAA,EAAW,KAAKC,IAAIC,CAAsC;AAGrDF,SAAAA;AACT,GAEMA,IAAaD,EAAc,GAM3BI,IAAkD,CAAqBC,MAAA;AAC3E,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAiBH,CAAiB,GAC5EI,IAA+BC;AAAA,IACnC,MACEC,EAASJ,GAAqBK,GAAqC;AAAA,MACjE,UAAU;AAAA,IAAA,CACX;AAAA,IACH,CAAC;AAAA,EAAA,GAEGC,IAAoBC,KAIpBC,IAAuBL;AAAA,IAC3B,MACE,IAAI;AAAA,MACF,CAAWM,MAAA;AACH,cAAAC,IAAYD,EAAQ,OAAO,CAACE,GAAK,EAAE,gBAAAC,GAAgB,QAAAC,QAChD,KAAK,IAAIF,GAAKC,IAAiBC,EAAO,eAAeF,CAAG,GAC9D,CAAC,GACE,CAACG,GAAYC,GAA2BC,CAAuB,IAAIP,EAAQ;AAAA,UAC/E,CAACE,GAAK,EAAE,gBAAAC,GAAgB,QAAAC,GAAQ,mBAAAI,QAAwB;;AAQtD,gBANEJ,EAAO,aAAa,kBAAkB,QACtCK,IAAAZ,EAAkB,YAAlB,gBAAAY,EAA2B,WAAW,aAAa,yBAEnDZ,EAAkB,UAAU,SAG1BM,GAAgB;AACZ,oBAAAO,IAAmBN,EAAO,eAAeH,IAAaO;AAExD,kBAAAE,KAAmBR,EAAI,CAAC;AACnB,uBAAA,CAACE,GAAQI,GAAmBE,CAAe;AAAA,YAEtD;AAEO,mBAAAR;AAAA,UACT;AAAA,UACA,CAAC,MAAM,GAAG,CAAC;AAAA,QAAA;AAGb,YAAIG;AACE,cAAA,CAACR,EAAkB;AACrB,YAAAA,EAAkB,UAAU;AAAA,cAC1B,YAAAQ;AAAA,cACA,mBAAmBC;AAAA,YAAA,GAErBb,EAA6BY,EAAW,aAAa,kBAAkB,KAAK,EAAE;AAAA,eACzE;AACL,kBAAMM,IACHd,EAAkB,QAAQ,WAAW,eAAeI,IACrDJ,EAAkB,QAAQ;AAE5B,YAAIU,KAA2BI,MAC7Bd,EAAkB,UAAU;AAAA,cAC1B,YAAAQ;AAAA,cACA,mBAAmBC;AAAA,YAAA,GAErBb,EAA6BY,EAAW,aAAa,kBAAkB,KAAK,EAAE;AAAA,UAElF;AAAA,MAEJ;AAAA,MACA;AAAA,QACE,YAAY,IAAIO,CAAqB,WAAWC,CAAiB;AAAA,QACjE,WAAW5B;AAAA,MACb;AAAA,IACF;AAAA,IACF,CAACQ,CAA4B;AAAA,EAAA;AAG/B,SAAAqB,EAAU,MACD,MAAM;AACX,IAAAf,EAAqB,WAAW;AAAA,EAAA,GAEjC,CAACA,CAAoB,CAAC,GAElB;AAAA,IACL,sBAAAA;AAAA,IACA,kBAAAT;AAAA,IACA,qBAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"use-get-active-question-id.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-get-active-question-id.ts"],"sourcesContent":["import debounce from 'lodash.debounce';\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport {\n ACTION_BAR_HEIGHT,\n INTERSECTION_OBSERVER_THRESHOLD_POINTS,\n INTERSECTION_OBSERVER_THROTTLE_TIME,\n TOP_NAVIGATION_HEIGHT,\n} from '../constants';\n\ninterface IUseGetActiveQuestionId {\n (initialQuestionId: string): {\n activeQuestionId?: string;\n setActiveQuestionId: (activeQuestionId: string) => void;\n intersectionObserver: IntersectionObserver;\n };\n}\n\nconst getThresholds = () => {\n const thresholds = [];\n\n for (let i = 0; i <= INTERSECTION_OBSERVER_THRESHOLD_POINTS; i++) {\n thresholds.push(i / INTERSECTION_OBSERVER_THRESHOLD_POINTS);\n }\n\n return thresholds;\n};\n\nconst thresholds = getThresholds();\n\n/**\n * Returns the question's response id which is currently in view with the highest intersection ratio\n * @returns activeQuestionId\n */\nconst useGetActiveQuestionId: IUseGetActiveQuestionId = initialQuestionId => {\n const [activeQuestionId, setActiveQuestionId] = useState<string>(initialQuestionId);\n const throttledSetActiveQuestionId = useMemo(\n () =>\n debounce(setActiveQuestionId, INTERSECTION_OBSERVER_THROTTLE_TIME, {\n trailing: true,\n }),\n [],\n );\n const activeQuestionRef = useRef<{\n questionEl: Element;\n intersectionRatio: number;\n }>();\n const intersectionObserver = useMemo(\n () =>\n new IntersectionObserver(\n entries => {\n const maxHeight = entries.reduce((acc, { isIntersecting, target }) => {\n return Math.max(acc, isIntersecting ? target.clientHeight : acc);\n }, 0);\n const [questionEl, questionIntersectionRatio, questionNormalisedRatio] = entries.reduce(\n (acc, { isIntersecting, target, intersectionRatio }) => {\n if (\n target.getAttribute('data-response-id') ===\n activeQuestionRef.current?.questionEl.getAttribute('data-response-id')\n ) {\n activeQuestionRef.current = undefined;\n }\n\n if (isIntersecting) {\n const normalisedRatio = (target.clientHeight / maxHeight) * intersectionRatio;\n\n if (normalisedRatio >= acc[2]) {\n return [target, intersectionRatio, normalisedRatio];\n }\n }\n\n return acc;\n },\n [null, 0, 0] as [Element | null, number, number],\n );\n\n if (questionEl) {\n if (!activeQuestionRef.current) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n } else {\n const nRatio =\n (activeQuestionRef.current.questionEl.clientHeight / maxHeight) *\n activeQuestionRef.current.intersectionRatio;\n\n if (questionNormalisedRatio >= nRatio) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n }\n }\n }\n },\n {\n rootMargin: `-${TOP_NAVIGATION_HEIGHT}px 0px -${ACTION_BAR_HEIGHT}px 0px`,\n threshold: thresholds,\n },\n ),\n [throttledSetActiveQuestionId],\n );\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n return {\n intersectionObserver,\n activeQuestionId,\n setActiveQuestionId,\n };\n};\n\nexport default useGetActiveQuestionId;\n"],"names":["getThresholds","thresholds","i","INTERSECTION_OBSERVER_THRESHOLD_POINTS","useGetActiveQuestionId","initialQuestionId","activeQuestionId","setActiveQuestionId","useState","throttledSetActiveQuestionId","useMemo","debounce","INTERSECTION_OBSERVER_THROTTLE_TIME","activeQuestionRef","useRef","intersectionObserver","entries","maxHeight","acc","isIntersecting","target","questionEl","questionIntersectionRatio","questionNormalisedRatio","intersectionRatio","_a","normalisedRatio","nRatio","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","useEffect"],"mappings":";;;AAkBA,MAAMA,IAAgB,MAAM;AAC1B,QAAMC,IAAa,CAAC;AAEpB,WAASC,IAAI,GAAGA,KAAKC,GAAwCD;AAC3DD,IAAAA,EAAW,KAAKC,IAAIC,CAAsC;AAGrDF,SAAAA;AACT,GAEMA,IAAaD,EAAc,GAM3BI,IAAkD,CAAqBC,MAAA;AAC3E,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAiBH,CAAiB,GAC5EI,IAA+BC;AAAA,IACnC,MACEC,EAASJ,GAAqBK,GAAqC;AAAA,MACjE,UAAU;AAAA,IAAA,CACX;AAAA,IACH,CAAA;AAAA,EACF,GACMC,IAAoBC,EAGvB,GACGC,IAAuBL;AAAA,IAC3B,MACE,IAAI;AAAA,MACF,CAAWM,MAAA;AACH,cAAAC,IAAYD,EAAQ,OAAO,CAACE,GAAK,EAAE,gBAAAC,GAAgB,QAAAC,QAChD,KAAK,IAAIF,GAAKC,IAAiBC,EAAO,eAAeF,CAAG,GAC9D,CAAC,GACE,CAACG,GAAYC,GAA2BC,CAAuB,IAAIP,EAAQ;AAAA,UAC/E,CAACE,GAAK,EAAE,gBAAAC,GAAgB,QAAAC,GAAQ,mBAAAI,QAAwB;;AAQtD,gBANEJ,EAAO,aAAa,kBAAkB,QACtCK,IAAAZ,EAAkB,YAAlB,gBAAAY,EAA2B,WAAW,aAAa,yBAEnDZ,EAAkB,UAAU,SAG1BM,GAAgB;AACZ,oBAAAO,IAAmBN,EAAO,eAAeH,IAAaO;AAExD,kBAAAE,KAAmBR,EAAI,CAAC;AACnB,uBAAA,CAACE,GAAQI,GAAmBE,CAAe;AAAA,YACpD;AAGK,mBAAAR;AAAA,UACT;AAAA,UACA,CAAC,MAAM,GAAG,CAAC;AAAA,QACb;AAEA,YAAIG;AACE,cAAA,CAACR,EAAkB;AACrB,YAAAA,EAAkB,UAAU;AAAA,cAC1B,YAAAQ;AAAA,cACA,mBAAmBC;AAAA,YACrB,GACAb,EAA6BY,EAAW,aAAa,kBAAkB,KAAK,EAAE;AAAA,eACzE;AACL,kBAAMM,IACHd,EAAkB,QAAQ,WAAW,eAAeI,IACrDJ,EAAkB,QAAQ;AAE5B,YAAIU,KAA2BI,MAC7Bd,EAAkB,UAAU;AAAA,cAC1B,YAAAQ;AAAA,cACA,mBAAmBC;AAAA,YACrB,GACAb,EAA6BY,EAAW,aAAa,kBAAkB,KAAK,EAAE;AAAA,UAChF;AAAA,MAGN;AAAA,MACA;AAAA,QACE,YAAY,IAAIO,CAAqB,WAAWC,CAAiB;AAAA,QACjE,WAAW5B;AAAA,MAAA;AAAA,IAEf;AAAA,IACF,CAACQ,CAA4B;AAAA,EAC/B;AAEA,SAAAqB,EAAU,MACD,MAAM;AACX,IAAAf,EAAqB,WAAW;AAAA,EAClC,GACC,CAACA,CAAoB,CAAC,GAElB;AAAA,IACL,sBAAAA;AAAA,IACA,kBAAAT;AAAA,IACA,qBAAAC;AAAA,EACF;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-learnosity-append.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity-append.ts"],"sourcesContent":["import type {\n ILearnosityError,\n ILearnosityQuestionResponse,\n IWorksheetQuestion,\n} from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useCallback } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\n\ninterface IForceAppend {\n (options: {\n question: IWorksheetQuestion;\n response: ILearnosityQuestionResponse;\n callback: (error?: ILearnosityError) => void;\n }): void;\n}\n\ninterface IUseLearnosityAppend {\n (\n signedRequest: string,\n loggerRef?: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): { forceAppend: IForceAppend };\n}\n\nconst useLearnosityAppend: IUseLearnosityAppend = signedRequest => {\n const unmountedRef = useIsUnmounted();\n const forceAppend = useCallback<IForceAppend>(\n ({ question, response, callback }) => {\n const parsedRequest = JSON.parse(signedRequest);\n let readyListenerFiredOnce = false;\n\n parsedRequest.type = 'local_practice';\n\n const learnosity = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (unmountedRef.current) return;\n\n if (!readyListenerFiredOnce) {\n learnosity.append({\n questions: [question],\n responses: {\n [question.response_id]: {\n ...response,\n },\n },\n });\n } else {\n const q = learnosity.question(question.response_id);\n\n if (q) {\n q.disable();\n q.validate({\n showCorrectAnswers: true,\n });\n }\n\n learnosity.renderMath('mathjax');\n\n callback();\n }\n\n readyListenerFiredOnce = true;\n },\n errorListener: (error: ILearnosityError) => {\n if (unmountedRef.current) return;\n\n callback(error as ILearnosityError);\n },\n });\n },\n [signedRequest, unmountedRef],\n );\n\n return { forceAppend };\n};\n\nexport default useLearnosityAppend;\n"],"names":["useLearnosityAppend","signedRequest","unmountedRef","useIsUnmounted","useCallback","question","response","callback","parsedRequest","readyListenerFiredOnce","learnosity","q","error"],"mappings":";;AA0BA,MAAMA,IAA4C,CAAiBC,MAAA;AACjE,QAAMC,IAAeC;AAgDrB,SAAO,EAAE,aA/CWC;AAAA,IAClB,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,UAAAC,QAAe;AAC9B,YAAAC,IAAgB,KAAK,MAAMP,CAAa;AAC9C,UAAIQ,IAAyB;AAE7B,MAAAD,EAAc,OAAO;AAErB,YAAME,IAAa,OAAO,cAAc,KAAKF,GAAe;AAAA,QAC1D,eAAe,MAAM;AACnB,cAAI,CAAAN,EAAa,SAEjB;AAAA,gBAAI,CAACO;AACH,cAAAC,EAAW,OAAO;AAAA,gBAChB,WAAW,CAACL,CAAQ;AAAA,gBACpB,WAAW;AAAA,kBACT,CAACA,EAAS,WAAW,GAAG;AAAA,oBACtB,GAAGC;AAAA,kBACL;AAAA,gBACF;AAAA,cAAA,CACD;AAAA,iBACI;AACL,oBAAMK,IAAID,EAAW,SAASL,EAAS,WAAW;AAElD,cAAIM,MACFA,EAAE,QAAQ,GACVA,EAAE,SAAS;AAAA,gBACT,oBAAoB;AAAA,cAAA,CACrB,IAGHD,EAAW,WAAW,SAAS,GAEtBH;YACX;AAEyB,YAAAE,IAAA;AAAA;AAAA,QAC3B;AAAA,QACA,eAAe,CAACG,MAA4B;AAC1C,UAAIV,EAAa,WAEjBK,EAASK,CAAyB;AAAA,QACpC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACX,GAAeC,CAAY;AAAA,EAAA,EAGT;AACvB;"}
1
+ {"version":3,"file":"use-learnosity-append.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity-append.ts"],"sourcesContent":["import type {\n ILearnosityError,\n ILearnosityQuestionResponse,\n IWorksheetQuestion,\n} from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useCallback } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\n\ninterface IForceAppend {\n (options: {\n question: IWorksheetQuestion;\n response: ILearnosityQuestionResponse;\n callback: (error?: ILearnosityError) => void;\n }): void;\n}\n\ninterface IUseLearnosityAppend {\n (\n signedRequest: string,\n loggerRef?: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): { forceAppend: IForceAppend };\n}\n\nconst useLearnosityAppend: IUseLearnosityAppend = signedRequest => {\n const unmountedRef = useIsUnmounted();\n const forceAppend = useCallback<IForceAppend>(\n ({ question, response, callback }) => {\n const parsedRequest = JSON.parse(signedRequest);\n let readyListenerFiredOnce = false;\n\n parsedRequest.type = 'local_practice';\n\n const learnosity = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (unmountedRef.current) return;\n\n if (!readyListenerFiredOnce) {\n learnosity.append({\n questions: [question],\n responses: {\n [question.response_id]: {\n ...response,\n },\n },\n });\n } else {\n const q = learnosity.question(question.response_id);\n\n if (q) {\n q.disable();\n q.validate({\n showCorrectAnswers: true,\n });\n }\n\n learnosity.renderMath('mathjax');\n\n callback();\n }\n\n readyListenerFiredOnce = true;\n },\n errorListener: (error: ILearnosityError) => {\n if (unmountedRef.current) return;\n\n callback(error as ILearnosityError);\n },\n });\n },\n [signedRequest, unmountedRef],\n );\n\n return { forceAppend };\n};\n\nexport default useLearnosityAppend;\n"],"names":["useLearnosityAppend","signedRequest","unmountedRef","useIsUnmounted","useCallback","question","response","callback","parsedRequest","readyListenerFiredOnce","learnosity","q","error"],"mappings":";;AA0BA,MAAMA,IAA4C,CAAiBC,MAAA;AACjE,QAAMC,IAAeC,EAAe;AAgDpC,SAAO,EAAE,aA/CWC;AAAA,IAClB,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,UAAAC,QAAe;AAC9B,YAAAC,IAAgB,KAAK,MAAMP,CAAa;AAC9C,UAAIQ,IAAyB;AAE7B,MAAAD,EAAc,OAAO;AAErB,YAAME,IAAa,OAAO,cAAc,KAAKF,GAAe;AAAA,QAC1D,eAAe,MAAM;AACnB,cAAI,CAAAN,EAAa,SAEjB;AAAA,gBAAI,CAACO;AACH,cAAAC,EAAW,OAAO;AAAA,gBAChB,WAAW,CAACL,CAAQ;AAAA,gBACpB,WAAW;AAAA,kBACT,CAACA,EAAS,WAAW,GAAG;AAAA,oBACtB,GAAGC;AAAA,kBAAA;AAAA,gBACL;AAAA,cACF,CACD;AAAA,iBACI;AACL,oBAAMK,IAAID,EAAW,SAASL,EAAS,WAAW;AAElD,cAAIM,MACFA,EAAE,QAAQ,GACVA,EAAE,SAAS;AAAA,gBACT,oBAAoB;AAAA,cAAA,CACrB,IAGHD,EAAW,WAAW,SAAS,GAEtBH,EAAA;AAAA,YAAA;AAGc,YAAAE,IAAA;AAAA;AAAA,QAC3B;AAAA,QACA,eAAe,CAACG,MAA4B;AAC1C,UAAIV,EAAa,WAEjBK,EAASK,CAAyB;AAAA,QAAA;AAAA,MACpC,CACD;AAAA,IACH;AAAA,IACA,CAACX,GAAeC,CAAY;AAAA,EAC9B,EAEqB;AACvB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-learnosity.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity.ts"],"sourcesContent":["declare global {\n interface Window {\n LearnosityApp: {\n init: (\n config: Record<string, unknown>,\n callbacks: {\n readyListener: (learnosity: ILearnosity) => void;\n errorListener: (error: ILearnosityError) => void;\n },\n ) => ILearnosity;\n };\n }\n}\n// https://help.learnosity.com/hc/en-us/articles/16458083654173-troubleshooting-Questions-API\nconst NON_RECOVERABLE_ERROR_CODES = [10001, 10002, 10003, 10005, 10007, 10010, 10015, 10016, 10018];\n\nimport type { ILearnosity, ILearnosityError, ILearnosityQuestion } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\n\ninterface IAppendQueue {\n response_id: string;\n toAppend: Parameters<ILearnosity['append']>[0];\n}\n\nconst patchLearnosity = (\n learnosity: ILearnosity,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n) => {\n let appendQueue: IAppendQueue[] = [];\n let isAppending = false;\n\n learnosity.appendQuestion = ({ questions, responses }) => {\n const firstQuestionId = questions[0]?.response_id;\n\n if (firstQuestionId) {\n if (!isAppending) {\n isAppending = true;\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionId: firstQuestionId,\n });\n learnosity.append({ questions, responses });\n } else if (appendQueue.filter(({ response_id }) => response_id !== firstQuestionId)) {\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING_QUEUED, {\n questionId: firstQuestionId,\n });\n appendQueue = [\n ...appendQueue.filter(({ response_id }) => response_id !== firstQuestionId),\n {\n response_id: firstQuestionId,\n toAppend: {\n questions,\n responses,\n },\n },\n ];\n }\n }\n };\n\n learnosity.ready = () => {\n setTimeout(() => {\n if (appendQueue.length > 0) {\n const questions: ILearnosityQuestion[] = [];\n const responses: Record<string, unknown> = {};\n\n appendQueue.forEach(({ response_id, toAppend }) => {\n questions.push(...toAppend.questions);\n const response = toAppend.responses?.[response_id];\n\n if (response) {\n responses[response_id] = response;\n }\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionIds: questions.map(({ response_id }) => response_id),\n });\n appendQueue = [];\n learnosity.append({\n questions,\n responses,\n });\n } else {\n isAppending = false;\n }\n }, 500);\n };\n};\n\ninterface IUseLearnosity {\n (\n signedRequest: string,\n onErrored: (error: ILearnosityError) => void,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): {\n learnosity?: ILearnosity;\n appendedQuestionIds: string[];\n };\n}\n\nconst useLearnosity: IUseLearnosity = (signedRequest, onErrored, loggerRef) => {\n const [learnosity, setLearnosity] = useState<ILearnosity>();\n const { scriptStatus } = useIsLearnosityLoaded();\n const [appendedQuestionIds, setAppendedQuestionIds] = useState<string[]>([]);\n const appendedQuestionIdsRef = useRef(appendedQuestionIds);\n const unmountedRef = useIsUnmounted();\n\n useEffect(() => {\n if (scriptStatus === 'loaded') {\n const parsedRequest = JSON.parse(signedRequest);\n\n parsedRequest.type = 'local_practice';\n\n loggerRef.current(EVENTS.WORKSHHEET_V3_LEANROSITY_INITIALIZING);\n const learnosityApp = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (!unmountedRef.current) {\n setLearnosity(prevLearnosity => {\n if (!prevLearnosity) {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_INITIALIZED);\n patchLearnosity(learnosityApp, loggerRef);\n } else {\n learnosityApp.ready();\n\n const questionIds = Object.keys(learnosityApp.questions());\n\n questionIds.forEach(questionId => {\n if (!appendedQuestionIdsRef.current.includes(questionId)) {\n const question = learnosityApp.question(questionId);\n\n if (question) {\n if (appendedQuestionIdsRef.current.length === 0)\n loggerRef.current(EVENTS.WORKSHEET_V3_FIRST_QUESTION_APPENDED, {\n questionId,\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDED, {\n questionId,\n });\n question.disable();\n }\n }\n });\n\n appendedQuestionIdsRef.current = questionIds;\n setAppendedQuestionIds(questionIds);\n }\n\n return learnosityApp;\n });\n }\n },\n errorListener: (error: ILearnosityError) => {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_FAILED, { error });\n\n // Block user only for NON_RECOVERABLE_ERROR_CODES\n if (NON_RECOVERABLE_ERROR_CODES.includes(error.code)) {\n onErrored(error as ILearnosityError);\n }\n },\n });\n\n return () => {\n learnosityApp.reset();\n };\n }\n\n return () => {};\n }, [loggerRef, onErrored, scriptStatus, signedRequest, unmountedRef]);\n\n return {\n learnosity,\n appendedQuestionIds,\n };\n};\n\nexport default useLearnosity;\n"],"names":["NON_RECOVERABLE_ERROR_CODES","patchLearnosity","learnosity","loggerRef","appendQueue","isAppending","questions","responses","firstQuestionId","_a","response_id","EVENTS","toAppend","response","useLearnosity","signedRequest","onErrored","setLearnosity","useState","scriptStatus","useIsLearnosityLoaded","appendedQuestionIds","setAppendedQuestionIds","appendedQuestionIdsRef","useRef","unmountedRef","useIsUnmounted","useEffect","parsedRequest","learnosityApp","prevLearnosity","questionIds","questionId","question","error"],"mappings":";;;;AAcA,MAAMA,IAA8B,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAgB5FC,IAAkB,CACtBC,GACAC,MACG;AACH,MAAIC,IAA8B,CAAA,GAC9BC,IAAc;AAElB,EAAAH,EAAW,iBAAiB,CAAC,EAAE,WAAAI,GAAW,WAAAC,QAAgB;;AAClD,UAAAC,KAAkBC,IAAAH,EAAU,CAAC,MAAX,gBAAAG,EAAc;AAEtC,IAAID,MACGH,IAMMD,EAAY,OAAO,CAAC,EAAE,aAAAM,QAAkBA,MAAgBF,CAAe,MACtEL,EAAA,QAAQQ,EAAO,wCAAwC;AAAA,MAC/D,YAAYH;AAAA,IAAA,CACb,GACaJ,IAAA;AAAA,MACZ,GAAGA,EAAY,OAAO,CAAC,EAAE,aAAAM,EAAY,MAAMA,MAAgBF,CAAe;AAAA,MAC1E;AAAA,QACE,aAAaA;AAAA,QACb,UAAU;AAAA,UACR,WAAAF;AAAA,UACA,WAAAC;AAAA,QACF;AAAA,MACF;AAAA,IAAA,MAjBYF,IAAA,IACJF,EAAA,QAAQQ,EAAO,iCAAiC;AAAA,MACxD,YAAYH;AAAA,IAAA,CACb,GACDN,EAAW,OAAO,EAAE,WAAAI,GAAW,WAAAC,EAAW,CAAA;AAAA,EAgB9C,GAGFL,EAAW,QAAQ,MAAM;AACvB,eAAW,MAAM;AACX,UAAAE,EAAY,SAAS,GAAG;AAC1B,cAAME,IAAmC,CAAA,GACnCC,IAAqC,CAAA;AAE3C,QAAAH,EAAY,QAAQ,CAAC,EAAE,aAAAM,GAAa,UAAAE,QAAe;;AACvC,UAAAN,EAAA,KAAK,GAAGM,EAAS,SAAS;AAC9B,gBAAAC,KAAWJ,IAAAG,EAAS,cAAT,gBAAAH,EAAqBC;AAEtC,UAAIG,MACFN,EAAUG,CAAW,IAAIG;AAAA,QAC3B,CACD,GAESV,EAAA,QAAQQ,EAAO,iCAAiC;AAAA,UACxD,aAAaL,EAAU,IAAI,CAAC,EAAE,aAAAI,EAAA,MAAkBA,CAAW;AAAA,QAAA,CAC5D,GACDN,IAAc,CAAA,GACdF,EAAW,OAAO;AAAA,UAChB,WAAAI;AAAA,UACA,WAAAC;AAAA,QAAA,CACD;AAAA,MAAA;AAEa,QAAAF,IAAA;AAAA,OAEf,GAAG;AAAA,EAAA;AAEV,GAaMS,IAAgC,CAACC,GAAeC,GAAWb,MAAc;AAC7E,QAAM,CAACD,GAAYe,CAAa,IAAIC,EAAsB,GACpD,EAAE,cAAAC,MAAiBC,KACnB,CAACC,GAAqBC,CAAsB,IAAIJ,EAAmB,CAAE,CAAA,GACrEK,IAAyBC,EAAOH,CAAmB,GACnDI,IAAeC;AAErB,SAAAC,EAAU,MAAM;AACd,QAAIR,MAAiB,UAAU;AACvB,YAAAS,IAAgB,KAAK,MAAMb,CAAa;AAE9C,MAAAa,EAAc,OAAO,kBAEXzB,EAAA,QAAQQ,EAAO,qCAAqC;AAC9D,YAAMkB,IAAgB,OAAO,cAAc,KAAKD,GAAe;AAAA,QAC7D,eAAe,MAAM;AACf,UAACH,EAAa,WAChBR,EAAc,CAAkBa,MAAA;AAC9B,gBAAI,CAACA;AACO,cAAA3B,EAAA,QAAQQ,EAAO,mCAAmC,GAC5DV,EAAgB4B,GAAe1B,CAAS;AAAA,iBACnC;AACL,cAAA0B,EAAc,MAAM;AAEpB,oBAAME,IAAc,OAAO,KAAKF,EAAc,UAAW,CAAA;AAEzD,cAAAE,EAAY,QAAQ,CAAcC,MAAA;AAChC,oBAAI,CAACT,EAAuB,QAAQ,SAASS,CAAU,GAAG;AAClD,wBAAAC,IAAWJ,EAAc,SAASG,CAAU;AAElD,kBAAIC,MACEV,EAAuB,QAAQ,WAAW,KAClCpB,EAAA,QAAQQ,EAAO,sCAAsC;AAAA,oBAC7D,YAAAqB;AAAA,kBAAA,CACD,GAEO7B,EAAA,QAAQQ,EAAO,gCAAgC;AAAA,oBACvD,YAAAqB;AAAA,kBAAA,CACD,GACDC,EAAS,QAAQ;AAAA,gBAErB;AAAA,cAAA,CACD,GAEDV,EAAuB,UAAUQ,GACjCT,EAAuBS,CAAW;AAAA,YACpC;AAEO,mBAAAF;AAAA,UAAA,CACR;AAAA,QAEL;AAAA,QACA,eAAe,CAACK,MAA4B;AAC1C,UAAA/B,EAAU,QAAQQ,EAAO,gCAAgC,EAAE,OAAAuB,EAAO,CAAA,GAG9DlC,EAA4B,SAASkC,EAAM,IAAI,KACjDlB,EAAUkB,CAAyB;AAAA,QAEvC;AAAA,MAAA,CACD;AAED,aAAO,MAAM;AACX,QAAAL,EAAc,MAAM;AAAA,MAAA;AAAA,IAExB;AAEA,WAAO,MAAM;AAAA,IAAA;AAAA,EAAC,GACb,CAAC1B,GAAWa,GAAWG,GAAcJ,GAAeU,CAAY,CAAC,GAE7D;AAAA,IACL,YAAAvB;AAAA,IACA,qBAAAmB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"use-learnosity.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity.ts"],"sourcesContent":["declare global {\n interface Window {\n LearnosityApp: {\n init: (\n config: Record<string, unknown>,\n callbacks: {\n readyListener: (learnosity: ILearnosity) => void;\n errorListener: (error: ILearnosityError) => void;\n },\n ) => ILearnosity;\n };\n }\n}\n// https://help.learnosity.com/hc/en-us/articles/16458083654173-troubleshooting-Questions-API\nconst NON_RECOVERABLE_ERROR_CODES = [10001, 10002, 10003, 10005, 10007, 10010, 10015, 10016, 10018];\n\nimport type { ILearnosity, ILearnosityError, ILearnosityQuestion } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\n\ninterface IAppendQueue {\n response_id: string;\n toAppend: Parameters<ILearnosity['append']>[0];\n}\n\nconst patchLearnosity = (\n learnosity: ILearnosity,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n) => {\n let appendQueue: IAppendQueue[] = [];\n let isAppending = false;\n\n learnosity.appendQuestion = ({ questions, responses }) => {\n const firstQuestionId = questions[0]?.response_id;\n\n if (firstQuestionId) {\n if (!isAppending) {\n isAppending = true;\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionId: firstQuestionId,\n });\n learnosity.append({ questions, responses });\n } else if (appendQueue.filter(({ response_id }) => response_id !== firstQuestionId)) {\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING_QUEUED, {\n questionId: firstQuestionId,\n });\n appendQueue = [\n ...appendQueue.filter(({ response_id }) => response_id !== firstQuestionId),\n {\n response_id: firstQuestionId,\n toAppend: {\n questions,\n responses,\n },\n },\n ];\n }\n }\n };\n\n learnosity.ready = () => {\n setTimeout(() => {\n if (appendQueue.length > 0) {\n const questions: ILearnosityQuestion[] = [];\n const responses: Record<string, unknown> = {};\n\n appendQueue.forEach(({ response_id, toAppend }) => {\n questions.push(...toAppend.questions);\n const response = toAppend.responses?.[response_id];\n\n if (response) {\n responses[response_id] = response;\n }\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionIds: questions.map(({ response_id }) => response_id),\n });\n appendQueue = [];\n learnosity.append({\n questions,\n responses,\n });\n } else {\n isAppending = false;\n }\n }, 500);\n };\n};\n\ninterface IUseLearnosity {\n (\n signedRequest: string,\n onErrored: (error: ILearnosityError) => void,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): {\n learnosity?: ILearnosity;\n appendedQuestionIds: string[];\n };\n}\n\nconst useLearnosity: IUseLearnosity = (signedRequest, onErrored, loggerRef) => {\n const [learnosity, setLearnosity] = useState<ILearnosity>();\n const { scriptStatus } = useIsLearnosityLoaded();\n const [appendedQuestionIds, setAppendedQuestionIds] = useState<string[]>([]);\n const appendedQuestionIdsRef = useRef(appendedQuestionIds);\n const unmountedRef = useIsUnmounted();\n\n useEffect(() => {\n if (scriptStatus === 'loaded') {\n const parsedRequest = JSON.parse(signedRequest);\n\n parsedRequest.type = 'local_practice';\n\n loggerRef.current(EVENTS.WORKSHHEET_V3_LEANROSITY_INITIALIZING);\n const learnosityApp = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (!unmountedRef.current) {\n setLearnosity(prevLearnosity => {\n if (!prevLearnosity) {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_INITIALIZED);\n patchLearnosity(learnosityApp, loggerRef);\n } else {\n learnosityApp.ready();\n\n const questionIds = Object.keys(learnosityApp.questions());\n\n questionIds.forEach(questionId => {\n if (!appendedQuestionIdsRef.current.includes(questionId)) {\n const question = learnosityApp.question(questionId);\n\n if (question) {\n if (appendedQuestionIdsRef.current.length === 0)\n loggerRef.current(EVENTS.WORKSHEET_V3_FIRST_QUESTION_APPENDED, {\n questionId,\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDED, {\n questionId,\n });\n question.disable();\n }\n }\n });\n\n appendedQuestionIdsRef.current = questionIds;\n setAppendedQuestionIds(questionIds);\n }\n\n return learnosityApp;\n });\n }\n },\n errorListener: (error: ILearnosityError) => {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_FAILED, { error });\n\n // Block user only for NON_RECOVERABLE_ERROR_CODES\n if (NON_RECOVERABLE_ERROR_CODES.includes(error.code)) {\n onErrored(error as ILearnosityError);\n }\n },\n });\n\n return () => {\n learnosityApp.reset();\n };\n }\n\n return () => {};\n }, [loggerRef, onErrored, scriptStatus, signedRequest, unmountedRef]);\n\n return {\n learnosity,\n appendedQuestionIds,\n };\n};\n\nexport default useLearnosity;\n"],"names":["NON_RECOVERABLE_ERROR_CODES","patchLearnosity","learnosity","loggerRef","appendQueue","isAppending","questions","responses","firstQuestionId","_a","response_id","EVENTS","toAppend","response","useLearnosity","signedRequest","onErrored","setLearnosity","useState","scriptStatus","useIsLearnosityLoaded","appendedQuestionIds","setAppendedQuestionIds","appendedQuestionIdsRef","useRef","unmountedRef","useIsUnmounted","useEffect","parsedRequest","learnosityApp","prevLearnosity","questionIds","questionId","question","error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-s3-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-s3-helper.ts"],"sourcesContent":["import type { IFile } from '../worksheet-question/subjective-review';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { useAwsSignedKey } from '../api/subjective-review';\n\ninterface IUseS3helper {\n (params: {\n studentId: string;\n query: {\n type: string;\n };\n }): (props: IUploadImageProps) => void;\n}\n\ninterface IUploadImageProps {\n images: IFile[];\n onSuccess: (urls: string[]) => void;\n onError: () => void;\n fileKey: string;\n fileName?: string;\n}\n\nconst useS3ImageUploadHelper: IUseS3helper = props => {\n const { studentId, query } = props;\n const { data: awsSignedKey, get: getAwsSignedKey } = useAwsSignedKey();\n\n useEffect(() => {\n getAwsSignedKey(studentId, query);\n }, [query, getAwsSignedKey, studentId]);\n\n const uploadImagesToS3 = useCallback(\n async ({ images, onSuccess, onError, fileKey, fileName }: IUploadImageProps) => {\n if (!awsSignedKey) return;\n\n const url = `https://${awsSignedKey.bucketName}.s3.amazonaws.com/`;\n\n try {\n const uploadPromises = images.map(async (item: { file: string | Blob }) => {\n const formData = new FormData();\n const key = `${fileKey}${fileName ?? uuidv4()}`;\n\n formData.append('key', key);\n formData.append('AWSAccessKeyId', awsSignedKey.awsKey);\n formData.append('acl', 'public-read');\n formData.append('success_action_redirect', '');\n formData.append('policy', awsSignedKey.policy);\n formData.append('signature', awsSignedKey.signature);\n formData.append('Content-Type', 'image/jpeg');\n formData.append('file', item.file);\n\n const res = await fetch(url, {\n method: 'POST',\n body: formData,\n });\n\n if (!res.ok) {\n throw new Error('Upload failed');\n }\n\n return `${url}${key}`;\n });\n\n const uploadedUrls = await Promise.all(uploadPromises);\n\n onSuccess(uploadedUrls);\n } catch (error) {\n onError();\n }\n },\n [awsSignedKey],\n );\n\n return uploadImagesToS3;\n};\n\nexport default useS3ImageUploadHelper;\n"],"names":["useS3ImageUploadHelper","props","studentId","query","awsSignedKey","getAwsSignedKey","useAwsSignedKey","useEffect","useCallback","images","onSuccess","onError","fileKey","fileName","url","uploadPromises","item","formData","key","uuidv4","uploadedUrls"],"mappings":";;;AAwBA,MAAMA,IAAuC,CAASC,MAAA;AAC9C,QAAA,EAAE,WAAAC,GAAW,OAAAC,EAAU,IAAAF,GACvB,EAAE,MAAMG,GAAc,KAAKC,EAAA,IAAoBC;AAErD,SAAAC,EAAU,MAAM;AACd,IAAAF,EAAgBH,GAAWC,CAAK;AAAA,EAC/B,GAAA,CAACA,GAAOE,GAAiBH,CAAS,CAAC,GAEbM;AAAA,IACvB,OAAO,EAAE,QAAAC,GAAQ,WAAAC,GAAW,SAAAC,GAAS,SAAAC,GAAS,UAAAC,QAAkC;AAC9E,UAAI,CAACT,EAAc;AAEb,YAAAU,IAAM,WAAWV,EAAa,UAAU;AAE1C,UAAA;AACF,cAAMW,IAAiBN,EAAO,IAAI,OAAOO,MAAkC;AACnE,gBAAAC,IAAW,IAAI,YACfC,IAAM,GAAGN,CAAO,GAAGC,KAAYM,EAAQ,CAAA;AAgBzC,cAdKF,EAAA,OAAO,OAAOC,CAAG,GACjBD,EAAA,OAAO,kBAAkBb,EAAa,MAAM,GAC5Ca,EAAA,OAAO,OAAO,aAAa,GAC3BA,EAAA,OAAO,2BAA2B,EAAE,GACpCA,EAAA,OAAO,UAAUb,EAAa,MAAM,GACpCa,EAAA,OAAO,aAAab,EAAa,SAAS,GAC1Ca,EAAA,OAAO,gBAAgB,YAAY,GACnCA,EAAA,OAAO,QAAQD,EAAK,IAAI,GAO7B,EALQ,MAAM,MAAMF,GAAK;AAAA,YAC3B,QAAQ;AAAA,YACR,MAAMG;AAAA,UAAA,CACP,GAEQ;AACD,kBAAA,IAAI,MAAM,eAAe;AAG1B,iBAAA,GAAGH,CAAG,GAAGI,CAAG;AAAA,QAAA,CACpB,GAEKE,IAAe,MAAM,QAAQ,IAAIL,CAAc;AAErD,QAAAL,EAAUU,CAAY;AAAA,cACR;AACN,QAAAT;MACV;AAAA,IACF;AAAA,IACA,CAACP,CAAY;AAAA,EAAA;AAIjB;"}
1
+ {"version":3,"file":"use-s3-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-s3-helper.ts"],"sourcesContent":["import type { IFile } from '../worksheet-question/subjective-review';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { useAwsSignedKey } from '../api/subjective-review';\n\ninterface IUseS3helper {\n (params: {\n studentId: string;\n query: {\n type: string;\n };\n }): (props: IUploadImageProps) => void;\n}\n\ninterface IUploadImageProps {\n images: IFile[];\n onSuccess: (urls: string[]) => void;\n onError: () => void;\n fileKey: string;\n fileName?: string;\n}\n\nconst useS3ImageUploadHelper: IUseS3helper = props => {\n const { studentId, query } = props;\n const { data: awsSignedKey, get: getAwsSignedKey } = useAwsSignedKey();\n\n useEffect(() => {\n getAwsSignedKey(studentId, query);\n }, [query, getAwsSignedKey, studentId]);\n\n const uploadImagesToS3 = useCallback(\n async ({ images, onSuccess, onError, fileKey, fileName }: IUploadImageProps) => {\n if (!awsSignedKey) return;\n\n const url = `https://${awsSignedKey.bucketName}.s3.amazonaws.com/`;\n\n try {\n const uploadPromises = images.map(async (item: { file: string | Blob }) => {\n const formData = new FormData();\n const key = `${fileKey}${fileName ?? uuidv4()}`;\n\n formData.append('key', key);\n formData.append('AWSAccessKeyId', awsSignedKey.awsKey);\n formData.append('acl', 'public-read');\n formData.append('success_action_redirect', '');\n formData.append('policy', awsSignedKey.policy);\n formData.append('signature', awsSignedKey.signature);\n formData.append('Content-Type', 'image/jpeg');\n formData.append('file', item.file);\n\n const res = await fetch(url, {\n method: 'POST',\n body: formData,\n });\n\n if (!res.ok) {\n throw new Error('Upload failed');\n }\n\n return `${url}${key}`;\n });\n\n const uploadedUrls = await Promise.all(uploadPromises);\n\n onSuccess(uploadedUrls);\n } catch (error) {\n onError();\n }\n },\n [awsSignedKey],\n );\n\n return uploadImagesToS3;\n};\n\nexport default useS3ImageUploadHelper;\n"],"names":["useS3ImageUploadHelper","props","studentId","query","awsSignedKey","getAwsSignedKey","useAwsSignedKey","useEffect","useCallback","images","onSuccess","onError","fileKey","fileName","url","uploadPromises","item","formData","key","uuidv4","uploadedUrls"],"mappings":";;;AAwBA,MAAMA,IAAuC,CAASC,MAAA;AAC9C,QAAA,EAAE,WAAAC,GAAW,OAAAC,EAAA,IAAUF,GACvB,EAAE,MAAMG,GAAc,KAAKC,EAAA,IAAoBC,EAAgB;AAErE,SAAAC,EAAU,MAAM;AACd,IAAAF,EAAgBH,GAAWC,CAAK;AAAA,EAC/B,GAAA,CAACA,GAAOE,GAAiBH,CAAS,CAAC,GAEbM;AAAA,IACvB,OAAO,EAAE,QAAAC,GAAQ,WAAAC,GAAW,SAAAC,GAAS,SAAAC,GAAS,UAAAC,QAAkC;AAC9E,UAAI,CAACT,EAAc;AAEb,YAAAU,IAAM,WAAWV,EAAa,UAAU;AAE1C,UAAA;AACF,cAAMW,IAAiBN,EAAO,IAAI,OAAOO,MAAkC;AACnE,gBAAAC,IAAW,IAAI,SAAS,GACxBC,IAAM,GAAGN,CAAO,GAAGC,KAAYM,GAAQ;AAgBzC,cAdKF,EAAA,OAAO,OAAOC,CAAG,GACjBD,EAAA,OAAO,kBAAkBb,EAAa,MAAM,GAC5Ca,EAAA,OAAO,OAAO,aAAa,GAC3BA,EAAA,OAAO,2BAA2B,EAAE,GACpCA,EAAA,OAAO,UAAUb,EAAa,MAAM,GACpCa,EAAA,OAAO,aAAab,EAAa,SAAS,GAC1Ca,EAAA,OAAO,gBAAgB,YAAY,GACnCA,EAAA,OAAO,QAAQD,EAAK,IAAI,GAO7B,EALQ,MAAM,MAAMF,GAAK;AAAA,YAC3B,QAAQ;AAAA,YACR,MAAMG;AAAA,UAAA,CACP,GAEQ;AACD,kBAAA,IAAI,MAAM,eAAe;AAG1B,iBAAA,GAAGH,CAAG,GAAGI,CAAG;AAAA,QAAA,CACpB,GAEKE,IAAe,MAAM,QAAQ,IAAIL,CAAc;AAErD,QAAAL,EAAUU,CAAY;AAAA,cACR;AACN,QAAAT,EAAA;AAAA,MAAA;AAAA,IAEZ;AAAA,IACA,CAACP,CAAY;AAAA,EACf;AAGF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-time-on-questions.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-time-on-questions.ts"],"sourcesContent":["import type { IWorksheetBehavior, IWorksheetResponse } from '../worksheet-types';\n\nimport { useEffect, useRef, useCallback } from 'react';\n\nimport usePrevious from '../../../hooks/use-previous';\n\nconst useTimeSpentOnQuestions = (\n behavior: IWorksheetBehavior,\n responses: Record<string, IWorksheetResponse>,\n questionId?: string,\n) => {\n const timeSpentRef = useRef<Record<string, number>>(\n Object.entries(responses).reduce((acc: Record<string, number>, [qId, res]) => {\n acc[qId] = res?.timeSpent ?? 0;\n\n return acc;\n }, {}),\n );\n const currentQuestionIdRef = useRef<string | undefined>(questionId);\n\n const startTimeRef = useRef<number | null>(Date.now());\n const previousQuestionId = usePrevious(questionId);\n\n const { canAttempt } = behavior;\n\n const getTimeSpentOnQuestion = useCallback(\n (qId: string) => {\n if (qId !== currentQuestionIdRef.current) {\n return timeSpentRef.current[qId] ?? 0;\n }\n\n if (qId && startTimeRef.current && canAttempt) {\n return (timeSpentRef.current[qId] ?? 0) + (Date.now() - startTimeRef.current);\n }\n\n return timeSpentRef.current[qId] ?? 0;\n },\n [canAttempt],\n );\n\n useEffect(() => {\n currentQuestionIdRef.current = questionId;\n }, [questionId]);\n\n const handleVisibilityChange = useCallback(() => {\n if (\n document.visibilityState === 'hidden' &&\n startTimeRef.current &&\n currentQuestionIdRef.current\n ) {\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[currentQuestionIdRef.current] =\n (timeSpentRef.current[currentQuestionIdRef.current] ?? 0) + timeSpentInMs;\n startTimeRef.current = null;\n } else if (document.visibilityState === 'visible' && !startTimeRef.current) {\n startTimeRef.current = Date.now();\n }\n }, []);\n\n useEffect(() => {\n if (!canAttempt) return;\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n };\n }, [canAttempt, handleVisibilityChange]);\n\n useEffect(() => {\n if (!questionId || !canAttempt) return;\n\n if (previousQuestionId !== questionId) {\n if (startTimeRef.current && previousQuestionId) {\n const prevTimeSpent = timeSpentRef.current[previousQuestionId] ?? 0;\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[previousQuestionId] = prevTimeSpent + timeSpentInMs;\n }\n startTimeRef.current = Date.now();\n }\n }, [canAttempt, previousQuestionId, questionId]);\n\n return getTimeSpentOnQuestion;\n};\n\nexport default useTimeSpentOnQuestions;\n"],"names":["useTimeSpentOnQuestions","behavior","responses","questionId","timeSpentRef","useRef","acc","qId","res","currentQuestionIdRef","startTimeRef","previousQuestionId","usePrevious","canAttempt","getTimeSpentOnQuestion","useCallback","useEffect","handleVisibilityChange","timeSpentInMs","prevTimeSpent"],"mappings":";;AAMA,MAAMA,IAA0B,CAC9BC,GACAC,GACAC,MACG;AACH,QAAMC,IAAeC;AAAA,IACnB,OAAO,QAAQH,CAAS,EAAE,OAAO,CAACI,GAA6B,CAACC,GAAKC,CAAG,OAClEF,EAAAC,CAAG,KAAIC,KAAA,gBAAAA,EAAK,cAAa,GAEtBF,IACN,EAAE;AAAA,EAAA,GAEDG,IAAuBJ,EAA2BF,CAAU,GAE5DO,IAAeL,EAAsB,KAAK,IAAK,CAAA,GAC/CM,IAAqBC,EAAYT,CAAU,GAE3C,EAAE,YAAAU,EAAe,IAAAZ,GAEjBa,IAAyBC;AAAA,IAC7B,CAACR,MACKA,MAAQE,EAAqB,UACxBL,EAAa,QAAQG,CAAG,KAAK,IAGlCA,KAAOG,EAAa,WAAWG,KACzBT,EAAa,QAAQG,CAAG,KAAK,MAAM,KAAK,QAAQG,EAAa,WAGhEN,EAAa,QAAQG,CAAG,KAAK;AAAA,IAEtC,CAACM,CAAU;AAAA,EAAA;AAGb,EAAAG,EAAU,MAAM;AACd,IAAAP,EAAqB,UAAUN;AAAA,EAAA,GAC9B,CAACA,CAAU,CAAC;AAET,QAAAc,IAAyBF,EAAY,MAAM;AAC/C,QACE,SAAS,oBAAoB,YAC7BL,EAAa,WACbD,EAAqB,SACrB;AACA,YAAMS,IAAgB,KAAK,IAAI,IAAIR,EAAa;AAEnC,MAAAN,EAAA,QAAQK,EAAqB,OAAO,KAC9CL,EAAa,QAAQK,EAAqB,OAAO,KAAK,KAAKS,GAC9DR,EAAa,UAAU;AAAA,IAAA,OACd,SAAS,oBAAoB,aAAa,CAACA,EAAa,YACpDA,EAAA,UAAU,KAAK;EAEhC,GAAG,CAAE,CAAA;AAEL,SAAAM,EAAU,MAAM;AACd,QAAKH;AACI,sBAAA,iBAAiB,oBAAoBI,CAAsB,GAE7D,MAAM;AACF,iBAAA,oBAAoB,oBAAoBA,CAAsB;AAAA,MAAA;AAAA,EACzE,GACC,CAACJ,GAAYI,CAAsB,CAAC,GAEvCD,EAAU,MAAM;AACV,QAAA,GAACb,KAAc,CAACU,MAEhBF,MAAuBR,GAAY;AACjC,UAAAO,EAAa,WAAWC,GAAoB;AAC9C,cAAMQ,IAAgBf,EAAa,QAAQO,CAAkB,KAAK,GAC5DO,IAAgB,KAAK,IAAI,IAAIR,EAAa;AAEnC,QAAAN,EAAA,QAAQO,CAAkB,IAAIQ,IAAgBD;AAAA,MAC7D;AACa,MAAAR,EAAA,UAAU,KAAK;IAC9B;AAAA,EACC,GAAA,CAACG,GAAYF,GAAoBR,CAAU,CAAC,GAExCW;AACT;"}
1
+ {"version":3,"file":"use-time-on-questions.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-time-on-questions.ts"],"sourcesContent":["import type { IWorksheetBehavior, IWorksheetResponse } from '../worksheet-types';\n\nimport { useEffect, useRef, useCallback } from 'react';\n\nimport usePrevious from '../../../hooks/use-previous';\n\nconst useTimeSpentOnQuestions = (\n behavior: IWorksheetBehavior,\n responses: Record<string, IWorksheetResponse>,\n questionId?: string,\n) => {\n const timeSpentRef = useRef<Record<string, number>>(\n Object.entries(responses).reduce((acc: Record<string, number>, [qId, res]) => {\n acc[qId] = res?.timeSpent ?? 0;\n\n return acc;\n }, {}),\n );\n const currentQuestionIdRef = useRef<string | undefined>(questionId);\n\n const startTimeRef = useRef<number | null>(Date.now());\n const previousQuestionId = usePrevious(questionId);\n\n const { canAttempt } = behavior;\n\n const getTimeSpentOnQuestion = useCallback(\n (qId: string) => {\n if (qId !== currentQuestionIdRef.current) {\n return timeSpentRef.current[qId] ?? 0;\n }\n\n if (qId && startTimeRef.current && canAttempt) {\n return (timeSpentRef.current[qId] ?? 0) + (Date.now() - startTimeRef.current);\n }\n\n return timeSpentRef.current[qId] ?? 0;\n },\n [canAttempt],\n );\n\n useEffect(() => {\n currentQuestionIdRef.current = questionId;\n }, [questionId]);\n\n const handleVisibilityChange = useCallback(() => {\n if (\n document.visibilityState === 'hidden' &&\n startTimeRef.current &&\n currentQuestionIdRef.current\n ) {\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[currentQuestionIdRef.current] =\n (timeSpentRef.current[currentQuestionIdRef.current] ?? 0) + timeSpentInMs;\n startTimeRef.current = null;\n } else if (document.visibilityState === 'visible' && !startTimeRef.current) {\n startTimeRef.current = Date.now();\n }\n }, []);\n\n useEffect(() => {\n if (!canAttempt) return;\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n };\n }, [canAttempt, handleVisibilityChange]);\n\n useEffect(() => {\n if (!questionId || !canAttempt) return;\n\n if (previousQuestionId !== questionId) {\n if (startTimeRef.current && previousQuestionId) {\n const prevTimeSpent = timeSpentRef.current[previousQuestionId] ?? 0;\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[previousQuestionId] = prevTimeSpent + timeSpentInMs;\n }\n startTimeRef.current = Date.now();\n }\n }, [canAttempt, previousQuestionId, questionId]);\n\n return getTimeSpentOnQuestion;\n};\n\nexport default useTimeSpentOnQuestions;\n"],"names":["useTimeSpentOnQuestions","behavior","responses","questionId","timeSpentRef","useRef","acc","qId","res","currentQuestionIdRef","startTimeRef","previousQuestionId","usePrevious","canAttempt","getTimeSpentOnQuestion","useCallback","useEffect","handleVisibilityChange","timeSpentInMs","prevTimeSpent"],"mappings":";;AAMA,MAAMA,IAA0B,CAC9BC,GACAC,GACAC,MACG;AACH,QAAMC,IAAeC;AAAA,IACnB,OAAO,QAAQH,CAAS,EAAE,OAAO,CAACI,GAA6B,CAACC,GAAKC,CAAG,OAClEF,EAAAC,CAAG,KAAIC,KAAA,gBAAAA,EAAK,cAAa,GAEtBF,IACN,CAAE,CAAA;AAAA,EACP,GACMG,IAAuBJ,EAA2BF,CAAU,GAE5DO,IAAeL,EAAsB,KAAK,IAAA,CAAK,GAC/CM,IAAqBC,EAAYT,CAAU,GAE3C,EAAE,YAAAU,MAAeZ,GAEjBa,IAAyBC;AAAA,IAC7B,CAACR,MACKA,MAAQE,EAAqB,UACxBL,EAAa,QAAQG,CAAG,KAAK,IAGlCA,KAAOG,EAAa,WAAWG,KACzBT,EAAa,QAAQG,CAAG,KAAK,MAAM,KAAK,IAAA,IAAQG,EAAa,WAGhEN,EAAa,QAAQG,CAAG,KAAK;AAAA,IAEtC,CAACM,CAAU;AAAA,EACb;AAEA,EAAAG,EAAU,MAAM;AACd,IAAAP,EAAqB,UAAUN;AAAA,EAAA,GAC9B,CAACA,CAAU,CAAC;AAET,QAAAc,IAAyBF,EAAY,MAAM;AAC/C,QACE,SAAS,oBAAoB,YAC7BL,EAAa,WACbD,EAAqB,SACrB;AACA,YAAMS,IAAgB,KAAK,IAAI,IAAIR,EAAa;AAEnC,MAAAN,EAAA,QAAQK,EAAqB,OAAO,KAC9CL,EAAa,QAAQK,EAAqB,OAAO,KAAK,KAAKS,GAC9DR,EAAa,UAAU;AAAA,IAAA,OACd,SAAS,oBAAoB,aAAa,CAACA,EAAa,YACpDA,EAAA,UAAU,KAAK,IAAI;AAAA,EAEpC,GAAG,EAAE;AAEL,SAAAM,EAAU,MAAM;AACd,QAAKH;AACI,sBAAA,iBAAiB,oBAAoBI,CAAsB,GAE7D,MAAM;AACF,iBAAA,oBAAoB,oBAAoBA,CAAsB;AAAA,MACzE;AAAA,EAAA,GACC,CAACJ,GAAYI,CAAsB,CAAC,GAEvCD,EAAU,MAAM;AACV,QAAA,GAACb,KAAc,CAACU,MAEhBF,MAAuBR,GAAY;AACjC,UAAAO,EAAa,WAAWC,GAAoB;AAC9C,cAAMQ,IAAgBf,EAAa,QAAQO,CAAkB,KAAK,GAC5DO,IAAgB,KAAK,IAAI,IAAIR,EAAa;AAEnC,QAAAN,EAAA,QAAQO,CAAkB,IAAIQ,IAAgBD;AAAA,MAAA;AAEhD,MAAAR,EAAA,UAAU,KAAK,IAAI;AAAA,IAAA;AAAA,EAEjC,GAAA,CAACG,GAAYF,GAAoBR,CAAU,CAAC,GAExCW;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-worksheet-data-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-worksheet-data-helper.ts"],"sourcesContent":["import type { ILearnosityItem, IWorksheetResponse, TItemType } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\nimport { useGetAttemptResponses } from '../api/attempt-responses';\n\ntype TLoadingState = 'loading' | 'success' | 'error';\ninterface IUseWorksheetDataHelper {\n (params: {\n attemptId?: string;\n signedRequest: string;\n loggerRef: MutableRefObject<(event: string, data?: Record<string, unknown>) => void>;\n }): {\n loadingState: TLoadingState;\n error?: string;\n data?: {\n learnosityItems: ILearnosityItem[];\n responses?: Record<string, IWorksheetResponse>;\n };\n learnosityActivityRef?: string;\n };\n}\n\ninterface ILearnosityActivityError {\n meta: {\n code: number;\n message: string;\n };\n}\n\ninterface ILearnosityActivityData {\n data: {\n apiActivity: {\n items: ILearnosityItem[];\n tags: Record<string, string[]>;\n };\n };\n}\n\nconst useWorksheetDataHelper: IUseWorksheetDataHelper = ({\n attemptId,\n signedRequest,\n loggerRef,\n}) => {\n const [error, setError] = useState<string>();\n const { scriptStatus, loadedAPIURL, downloadScript } = useIsLearnosityLoaded();\n const prevScriptStatusRef = useRef<typeof scriptStatus>();\n const [learnosityItems, setLearnosityItems] = useState<ILearnosityItem[]>();\n const [learnosityActivityRef, setLearnosityActivityRef] = useState<string>();\n\n const {\n isProcessed: isAttempsDataFetched,\n data: responsesData,\n get: getAttemptResponses,\n error: attemptResponsesError,\n } = useGetAttemptResponses(attemptId);\n\n const fetchLearnosityItems = useCallback(\n async (apiURL: string) => {\n const { security, request } = JSON.parse(signedRequest) as {\n security: {\n consumer_key: string;\n };\n request: {\n session_id: string;\n activity_template_id?: string;\n };\n };\n const bodyData = new URLSearchParams();\n\n bodyData.append('action', 'get');\n bodyData.append('security', JSON.stringify(security));\n bodyData.append('request', JSON.stringify(request));\n\n try {\n const url = apiURL.replace('questions', 'items').replace('?v', 'v');\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADING);\n const response = await fetch(\n `${url}/activity?&a=get&c=${security.consumer_key}&s=${request.session_id}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n },\n body: bodyData.toString(),\n },\n );\n\n if (!response.ok) {\n const err: ILearnosityActivityError = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: true,\n activity_template_id: request.activity_template_id,\n error_message: err.meta.message,\n error_code: err.meta.code,\n });\n\n captureMessage(err.meta.message, {\n extra: {\n error_code: err.meta.code,\n },\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': request.activity_template_id,\n },\n fingerprint: [`invalid-activity-${request.activity_template_id}`], // Add unique fingerprint\n });\n\n setError('Failed to fetch Learnosity items');\n\n return;\n }\n\n const json: ILearnosityActivityData = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADED);\n setLearnosityActivityRef(request.activity_template_id);\n setLearnosityItems(() => {\n const { items, tags: allTags } = json.data.apiActivity;\n\n return items.map(item => {\n const tags = allTags[item.reference];\n\n const itemType = tags?.find(tag => tag.startsWith('Item Type:'))?.split(':')[1] as\n | TItemType\n | undefined;\n\n return {\n ...item,\n itemType: itemType,\n tags: tags ?? [],\n };\n });\n });\n } catch (err) {\n const errorMessage =\n err instanceof Error ? err.message : 'Failed to fetch Learnosity items';\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: false,\n activity_template_id: request.activity_template_id,\n error_message: errorMessage,\n });\n setError('Failed to fetch Learnosity items');\n }\n },\n [loggerRef, signedRequest],\n );\n\n useEffect(() => {\n if (scriptStatus === 'loaded' && loadedAPIURL) {\n loggerRef.current(EVENTS.WORKSHEET_V3_SCRIPT_READY);\n fetchLearnosityItems(loadedAPIURL);\n }\n }, [fetchLearnosityItems, loadedAPIURL, loggerRef, scriptStatus]);\n\n useEffect(() => {\n if (attemptId) {\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADING);\n getAttemptResponses(attemptId);\n }\n }, [getAttemptResponses, attemptId, loggerRef]);\n\n useEffect(() => {\n if (isAttempsDataFetched) loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADED);\n }, [isAttempsDataFetched, loggerRef]);\n\n useEffect(() => {\n if (attemptResponsesError)\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_FAILED, {\n errorMessage: attemptResponsesError.message,\n });\n }, [attemptResponsesError, loggerRef]);\n\n useEffect(() => {\n // Only on mount and if script failed to load handle the download\n if (prevScriptStatusRef.current === undefined && scriptStatus === 'error') {\n downloadScript();\n }\n }, [downloadScript, scriptStatus]);\n\n useEffect(() => {\n // Save the previous script status only if it's not undefined or if the current status is not error\n if (\n prevScriptStatusRef.current !== undefined ||\n (scriptStatus !== 'error' && prevScriptStatusRef.current === undefined)\n ) {\n prevScriptStatusRef.current = scriptStatus;\n }\n }, [scriptStatus]);\n\n if (learnosityItems && (!attemptId || isAttempsDataFetched)) {\n return {\n loadingState: 'success',\n learnosityActivityRef,\n data: {\n learnosityItems,\n responses: responsesData ?? undefined,\n },\n };\n }\n\n if (\n error ||\n attemptResponsesError ||\n (prevScriptStatusRef.current !== undefined && scriptStatus === 'error')\n ) {\n return {\n loadingState: 'error',\n error:\n scriptStatus === 'error'\n ? 'Learnosity script failed to load'\n : error ?? attemptResponsesError?.message ?? 'Error loading worksheet',\n };\n }\n\n return {\n loadingState: 'loading',\n };\n};\n\nexport default useWorksheetDataHelper;\n"],"names":["useWorksheetDataHelper","attemptId","signedRequest","loggerRef","error","setError","useState","scriptStatus","loadedAPIURL","downloadScript","useIsLearnosityLoaded","prevScriptStatusRef","useRef","learnosityItems","setLearnosityItems","learnosityActivityRef","setLearnosityActivityRef","isAttempsDataFetched","responsesData","getAttemptResponses","attemptResponsesError","useGetAttemptResponses","fetchLearnosityItems","useCallback","apiURL","security","request","bodyData","url","EVENTS","response","err","captureMessage","json","items","allTags","item","tags","itemType","_a","tag","errorMessage","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-worksheet-data-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-worksheet-data-helper.ts"],"sourcesContent":["import type { ILearnosityItem, IWorksheetResponse, TItemType } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\nimport { useGetAttemptResponses } from '../api/attempt-responses';\n\ntype TLoadingState = 'loading' | 'success' | 'error';\ninterface IUseWorksheetDataHelper {\n (params: {\n attemptId?: string;\n signedRequest: string;\n loggerRef: MutableRefObject<(event: string, data?: Record<string, unknown>) => void>;\n }): {\n loadingState: TLoadingState;\n error?: string;\n data?: {\n learnosityItems: ILearnosityItem[];\n responses?: Record<string, IWorksheetResponse>;\n };\n learnosityActivityRef?: string;\n };\n}\n\ninterface ILearnosityActivityError {\n meta: {\n code: number;\n message: string;\n };\n}\n\ninterface ILearnosityActivityData {\n data: {\n apiActivity: {\n items: ILearnosityItem[];\n tags: Record<string, string[]>;\n };\n };\n}\n\nconst useWorksheetDataHelper: IUseWorksheetDataHelper = ({\n attemptId,\n signedRequest,\n loggerRef,\n}) => {\n const [error, setError] = useState<string>();\n const { scriptStatus, loadedAPIURL, downloadScript } = useIsLearnosityLoaded();\n const prevScriptStatusRef = useRef<typeof scriptStatus>();\n const [learnosityItems, setLearnosityItems] = useState<ILearnosityItem[]>();\n const [learnosityActivityRef, setLearnosityActivityRef] = useState<string>();\n\n const {\n isProcessed: isAttempsDataFetched,\n data: responsesData,\n get: getAttemptResponses,\n error: attemptResponsesError,\n } = useGetAttemptResponses(attemptId);\n\n const fetchLearnosityItems = useCallback(\n async (apiURL: string) => {\n const { security, request } = JSON.parse(signedRequest) as {\n security: {\n consumer_key: string;\n };\n request: {\n session_id: string;\n activity_template_id?: string;\n };\n };\n const bodyData = new URLSearchParams();\n\n bodyData.append('action', 'get');\n bodyData.append('security', JSON.stringify(security));\n bodyData.append('request', JSON.stringify(request));\n\n try {\n const url = apiURL.replace('questions', 'items').replace('?v', 'v');\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADING);\n const response = await fetch(\n `${url}/activity?&a=get&c=${security.consumer_key}&s=${request.session_id}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n },\n body: bodyData.toString(),\n },\n );\n\n if (!response.ok) {\n const err: ILearnosityActivityError = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: true,\n activity_template_id: request.activity_template_id,\n error_message: err.meta.message,\n error_code: err.meta.code,\n });\n\n captureMessage(err.meta.message, {\n extra: {\n error_code: err.meta.code,\n },\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': request.activity_template_id,\n },\n fingerprint: [`invalid-activity-${request.activity_template_id}`], // Add unique fingerprint\n });\n\n setError('Failed to fetch Learnosity items');\n\n return;\n }\n\n const json: ILearnosityActivityData = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADED);\n setLearnosityActivityRef(request.activity_template_id);\n setLearnosityItems(() => {\n const { items, tags: allTags } = json.data.apiActivity;\n\n return items.map(item => {\n const tags = allTags[item.reference];\n\n const itemType = tags?.find(tag => tag.startsWith('Item Type:'))?.split(':')[1] as\n | TItemType\n | undefined;\n\n return {\n ...item,\n itemType: itemType,\n tags: tags ?? [],\n };\n });\n });\n } catch (err) {\n const errorMessage =\n err instanceof Error ? err.message : 'Failed to fetch Learnosity items';\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: false,\n activity_template_id: request.activity_template_id,\n error_message: errorMessage,\n });\n setError('Failed to fetch Learnosity items');\n }\n },\n [loggerRef, signedRequest],\n );\n\n useEffect(() => {\n if (scriptStatus === 'loaded' && loadedAPIURL) {\n loggerRef.current(EVENTS.WORKSHEET_V3_SCRIPT_READY);\n fetchLearnosityItems(loadedAPIURL);\n }\n }, [fetchLearnosityItems, loadedAPIURL, loggerRef, scriptStatus]);\n\n useEffect(() => {\n if (attemptId) {\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADING);\n getAttemptResponses(attemptId);\n }\n }, [getAttemptResponses, attemptId, loggerRef]);\n\n useEffect(() => {\n if (isAttempsDataFetched) loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADED);\n }, [isAttempsDataFetched, loggerRef]);\n\n useEffect(() => {\n if (attemptResponsesError)\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_FAILED, {\n errorMessage: attemptResponsesError.message,\n });\n }, [attemptResponsesError, loggerRef]);\n\n useEffect(() => {\n // Only on mount and if script failed to load handle the download\n if (prevScriptStatusRef.current === undefined && scriptStatus === 'error') {\n downloadScript();\n }\n }, [downloadScript, scriptStatus]);\n\n useEffect(() => {\n // Save the previous script status only if it's not undefined or if the current status is not error\n if (\n prevScriptStatusRef.current !== undefined ||\n (scriptStatus !== 'error' && prevScriptStatusRef.current === undefined)\n ) {\n prevScriptStatusRef.current = scriptStatus;\n }\n }, [scriptStatus]);\n\n if (learnosityItems && (!attemptId || isAttempsDataFetched)) {\n return {\n loadingState: 'success',\n learnosityActivityRef,\n data: {\n learnosityItems,\n responses: responsesData ?? undefined,\n },\n };\n }\n\n if (\n error ||\n attemptResponsesError ||\n (prevScriptStatusRef.current !== undefined && scriptStatus === 'error')\n ) {\n return {\n loadingState: 'error',\n error:\n scriptStatus === 'error'\n ? 'Learnosity script failed to load'\n : error ?? attemptResponsesError?.message ?? 'Error loading worksheet',\n };\n }\n\n return {\n loadingState: 'loading',\n };\n};\n\nexport default useWorksheetDataHelper;\n"],"names":["useWorksheetDataHelper","attemptId","signedRequest","loggerRef","error","setError","useState","scriptStatus","loadedAPIURL","downloadScript","useIsLearnosityLoaded","prevScriptStatusRef","useRef","learnosityItems","setLearnosityItems","learnosityActivityRef","setLearnosityActivityRef","isAttempsDataFetched","responsesData","getAttemptResponses","attemptResponsesError","useGetAttemptResponses","fetchLearnosityItems","useCallback","apiURL","security","request","bodyData","url","EVENTS","response","err","captureMessage","json","items","allTags","item","tags","itemType","_a","tag","errorMessage","useEffect"],"mappings":";;;;;AA2CA,MAAMA,IAAkD,CAAC;AAAA,EACvD,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAiB,GACrC,EAAE,cAAAC,GAAc,cAAAC,GAAc,gBAAAC,EAAA,IAAmBC,EAAsB,GACvEC,IAAsBC,EAA4B,GAClD,CAACC,GAAiBC,CAAkB,IAAIR,EAA4B,GACpE,CAACS,GAAuBC,CAAwB,IAAIV,EAAiB,GAErE;AAAA,IACJ,aAAaW;AAAA,IACb,MAAMC;AAAA,IACN,KAAKC;AAAA,IACL,OAAOC;AAAA,EAAA,IACLC,EAAuBpB,CAAS,GAE9BqB,IAAuBC;AAAA,IAC3B,OAAOC,MAAmB;AACxB,YAAM,EAAE,UAAAC,GAAU,SAAAC,EAAA,IAAY,KAAK,MAAMxB,CAAa,GAShDyB,IAAW,IAAI,gBAAgB;AAE5B,MAAAA,EAAA,OAAO,UAAU,KAAK,GAC/BA,EAAS,OAAO,YAAY,KAAK,UAAUF,CAAQ,CAAC,GACpDE,EAAS,OAAO,WAAW,KAAK,UAAUD,CAAO,CAAC;AAE9C,UAAA;AACI,cAAAE,IAAMJ,EAAO,QAAQ,aAAa,OAAO,EAAE,QAAQ,MAAM,GAAG;AAExD,QAAArB,EAAA,QAAQ0B,EAAO,0BAA0B;AACnD,cAAMC,IAAW,MAAM;AAAA,UACrB,GAAGF,CAAG,sBAAsBH,EAAS,YAAY,MAAMC,EAAQ,UAAU;AAAA,UACzE;AAAA,YACE,QAAQ;AAAA,YACR,SAAS;AAAA,cACP,gBAAgB;AAAA,YAClB;AAAA,YACA,MAAMC,EAAS,SAAS;AAAA,UAAA;AAAA,QAE5B;AAEI,YAAA,CAACG,EAAS,IAAI;AACV,gBAAAC,IAAgC,MAAMD,EAAS,KAAK;AAEhD,UAAA3B,EAAA,QAAQ0B,EAAO,2BAA2B;AAAA,YAClD,qBAAqB;AAAA,YACrB,sBAAsBH,EAAQ;AAAA,YAC9B,eAAeK,EAAI,KAAK;AAAA,YACxB,YAAYA,EAAI,KAAK;AAAA,UAAA,CACtB,GAEcC,EAAAD,EAAI,KAAK,SAAS;AAAA,YAC/B,OAAO;AAAA,cACL,YAAYA,EAAI,KAAK;AAAA,YACvB;AAAA,YACA,MAAM;AAAA,cACJ,gBAAgB;AAAA,cAChB,sBAAsBL,EAAQ;AAAA,YAChC;AAAA,YACA,aAAa,CAAC,oBAAoBA,EAAQ,oBAAoB,EAAE;AAAA;AAAA,UAAA,CACjE,GAEDrB,EAAS,kCAAkC;AAE3C;AAAA,QAAA;AAGI,cAAA4B,IAAgC,MAAMH,EAAS,KAAK;AAEhD,QAAA3B,EAAA,QAAQ0B,EAAO,yBAAyB,GAClDb,EAAyBU,EAAQ,oBAAoB,GACrDZ,EAAmB,MAAM;AACvB,gBAAM,EAAE,OAAAoB,GAAO,MAAMC,EAAQ,IAAIF,EAAK,KAAK;AAEpC,iBAAAC,EAAM,IAAI,CAAQE,MAAA;;AACjB,kBAAAC,IAAOF,EAAQC,EAAK,SAAS,GAE7BE,KAAWC,IAAAF,KAAA,gBAAAA,EAAM,KAAK,CAAAG,MAAOA,EAAI,WAAW,YAAY,OAA7C,gBAAAD,EAAiD,MAAM,KAAK;AAItE,mBAAA;AAAA,cACL,GAAGH;AAAA,cACH,UAAAE;AAAA,cACA,MAAMD,KAAQ,CAAA;AAAA,YAChB;AAAA,UAAA,CACD;AAAA,QAAA,CACF;AAAA,eACMN,GAAK;AACZ,cAAMU,IACJV,aAAe,QAAQA,EAAI,UAAU;AAE7B,QAAA5B,EAAA,QAAQ0B,EAAO,2BAA2B;AAAA,UAClD,qBAAqB;AAAA,UACrB,sBAAsBH,EAAQ;AAAA,UAC9B,eAAee;AAAA,QAAA,CAChB,GACDpC,EAAS,kCAAkC;AAAA,MAAA;AAAA,IAE/C;AAAA,IACA,CAACF,GAAWD,CAAa;AAAA,EAC3B;AA4CI,SA1CJwC,EAAU,MAAM;AACV,IAAAnC,MAAiB,YAAYC,MACrBL,EAAA,QAAQ0B,EAAO,yBAAyB,GAClDP,EAAqBd,CAAY;AAAA,KAElC,CAACc,GAAsBd,GAAcL,GAAWI,CAAY,CAAC,GAEhEmC,EAAU,MAAM;AACd,IAAIzC,MACQE,EAAA,QAAQ0B,EAAO,sCAAsC,GAC/DV,EAAoBlB,CAAS;AAAA,EAE9B,GAAA,CAACkB,GAAqBlB,GAAWE,CAAS,CAAC,GAE9CuC,EAAU,MAAM;AACd,IAAIzB,KAAsBd,EAAU,QAAQ0B,EAAO,qCAAqC;AAAA,EAAA,GACvF,CAACZ,GAAsBd,CAAS,CAAC,GAEpCuC,EAAU,MAAM;AACV,IAAAtB,KACQjB,EAAA,QAAQ0B,EAAO,uCAAuC;AAAA,MAC9D,cAAcT,EAAsB;AAAA,IAAA,CACrC;AAAA,EAAA,GACF,CAACA,GAAuBjB,CAAS,CAAC,GAErCuC,EAAU,MAAM;AAEd,IAAI/B,EAAoB,YAAY,UAAaJ,MAAiB,WACjDE,EAAA;AAAA,EACjB,GACC,CAACA,GAAgBF,CAAY,CAAC,GAEjCmC,EAAU,MAAM;AAEd,KACE/B,EAAoB,YAAY,UAC/BJ,MAAiB,WAAWI,EAAoB,YAAY,YAE7DA,EAAoB,UAAUJ;AAAA,EAChC,GACC,CAACA,CAAY,CAAC,GAEbM,MAAoB,CAACZ,KAAagB,KAC7B;AAAA,IACL,cAAc;AAAA,IACd,uBAAAF;AAAA,IACA,MAAM;AAAA,MACJ,iBAAAF;AAAA,MACA,WAAWK,KAAiB;AAAA,IAAA;AAAA,EAEhC,IAIAd,KACAgB,KACCT,EAAoB,YAAY,UAAaJ,MAAiB,UAExD;AAAA,IACL,cAAc;AAAA,IACd,OACEA,MAAiB,UACb,qCACAH,MAASgB,KAAA,gBAAAA,EAAuB,YAAW;AAAA,EACnD,IAGK;AAAA,IACL,cAAc;AAAA,EAChB;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"question-tips.js","sources":["../../../../src/features/worksheet/worksheet/question-tips.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { ILearnosity, IWorksheetQuestion } from './worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport UpIcon from '../../../assets/line-icons/icons/up';\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { ACTION_BAR_HEIGHT } from './constants';\nimport { CustomElement } from './worksheet-question/worksheet-question-styled';\n\ntype TStyledComponentProps = {\n $isExpanded: boolean;\n};\n\nconst Wrapper = styled(FlexView)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n const { layout, colors, zIndex } = theme;\n\n return `\n position: absolute;\n bottom: 0px;\n z-index: ${zIndex.QUESTION_TIPS};\n max-height: calc(${layout.gutter * 2}px + ${ACTION_BAR_HEIGHT}px);\n \n border-radius: 6px 6px 0px 0px;\n background: ${colors.REAL_BLACK_60};\n backdrop-filter: blur(8px);\n align-self: center;\n \n ${\n $isExpanded &&\n `\n max-height: calc(${layout.gutter * 15.625}px + ${ACTION_BAR_HEIGHT}px);\n overflow-y: auto;\n\n @supports selector(::-webkit-scrollbar) {\n &::-webkit-scrollbar {\n border-top-right-radius: 6px;\n width: 8px;\n background-color: ${colors.WHITE};\n }\n \n &::-webkit-scrollbar-thumb {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n background: ${colors.REAL_BLACK_60};\n }\n }\n `\n }\n `;\n});\n\nconst Header = styled(FlexView)`\n padding: 8px 12px;\n\n & * {\n background-color: transparent !important;\n }\n`;\n\nconst TipText = styled(CustomElement)<TStyledComponentProps>(\n ({ theme, $isExpanded }) => `\n color: ${theme.colors.WHITE};\n padding: 0px 0px ${ACTION_BAR_HEIGHT}px;\n ${$isExpanded ? '' : `& > * { display: inline; }`}\n font-family: 'UntitledSans-Regular';\n\n &::before {\n content: 'CUE DON’T TELL:';\n font-family: 'Athletics-Bold';\n margin-right: 8px;\n ${$isExpanded ? ` display: block; margin-bottom: 8px;` : ''}\n }\n `,\n);\n\nconst ChevIconWrapper = styled(FlexView)`\n position: sticky;\n top: 8px;\n`;\n\nconst ChevIcon = styled(UpIcon)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n return `\n transform: rotate(${$isExpanded ? 180 : 0}deg);\n transition: transform 0.3s ease;\n color: ${theme.colors.WHITE};\n cursor: pointer;\n `;\n});\n\ninterface IQuestionTips {\n width: number | string;\n userType: TUserTypes;\n learnosity: ILearnosity;\n question?: IWorksheetQuestion;\n}\n\nconst QuestionTips: FC<IQuestionTips> = memo(({ width, question, userType, learnosity }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const tipRef = useRef<HTMLDivElement>(null);\n const tipContentRef = useRef<string | null>('');\n\n const [menuVisible, setMenuVisible] = useState(false);\n\n const { teacher_tips: tips } = question?.metadata || {};\n\n const tipsMemoized = useMemo(() => {\n return tips?.toString();\n }, [tips]);\n\n const handleClick = useCallback(() => {\n if (tipContentRef.current && tipRef.current) {\n setMenuVisible(prev => !prev);\n }\n }, []);\n\n useLayoutEffect(() => {\n if (tipRef.current && tips) {\n tipContentRef.current = tipRef.current.textContent;\n\n learnosity.renderMath('mathjax');\n }\n }, [learnosity, tips]);\n\n useEffect(() => {\n if (!tipsMemoized) {\n setMenuVisible(false);\n }\n }, [tipsMemoized]);\n\n if (userType !== 'TEACHER' || !tipsMemoized) return null;\n\n return (\n <Wrapper ref={containerRef} $width={width} $isExpanded={menuVisible}>\n <Clickable label=\"Teacher Tip\" onClick={!menuVisible ? handleClick : undefined}>\n <Header $flexDirection=\"row\" $flexGap={10} $justifyContent=\"space-between\">\n <FlexView $flexDirection=\"row\" $flexGap={5}>\n <TipText\n ref={tipRef}\n dangerouslySetInnerHTML={{ __html: tipsMemoized }}\n $isExpanded={menuVisible}\n />\n </FlexView>\n\n <ChevIconWrapper $width={20} $height={20}>\n <ChevIcon $isExpanded={menuVisible} onClick={menuVisible ? handleClick : undefined} />\n </ChevIconWrapper>\n </Header>\n </Clickable>\n </Wrapper>\n );\n});\n\nexport default QuestionTips;\n"],"names":["Wrapper","styled","FlexView","$isExpanded","theme","layout","colors","zIndex","ACTION_BAR_HEIGHT","Header","TipText","CustomElement","ChevIconWrapper","ChevIcon","UpIcon","QuestionTips","memo","width","question","userType","learnosity","containerRef","useRef","tipRef","tipContentRef","menuVisible","setMenuVisible","useState","tips","tipsMemoized","useMemo","handleClick","useCallback","prev","useLayoutEffect","useEffect","jsx","Clickable","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"question-tips.js","sources":["../../../../src/features/worksheet/worksheet/question-tips.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { ILearnosity, IWorksheetQuestion } from './worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport UpIcon from '../../../assets/line-icons/icons/up';\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { ACTION_BAR_HEIGHT } from './constants';\nimport { CustomElement } from './worksheet-question/worksheet-question-styled';\n\ntype TStyledComponentProps = {\n $isExpanded: boolean;\n};\n\nconst Wrapper = styled(FlexView)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n const { layout, colors, zIndex } = theme;\n\n return `\n position: absolute;\n bottom: 0px;\n z-index: ${zIndex.QUESTION_TIPS};\n max-height: calc(${layout.gutter * 2}px + ${ACTION_BAR_HEIGHT}px);\n \n border-radius: 6px 6px 0px 0px;\n background: ${colors.REAL_BLACK_60};\n backdrop-filter: blur(8px);\n align-self: center;\n \n ${\n $isExpanded &&\n `\n max-height: calc(${layout.gutter * 15.625}px + ${ACTION_BAR_HEIGHT}px);\n overflow-y: auto;\n\n @supports selector(::-webkit-scrollbar) {\n &::-webkit-scrollbar {\n border-top-right-radius: 6px;\n width: 8px;\n background-color: ${colors.WHITE};\n }\n \n &::-webkit-scrollbar-thumb {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n background: ${colors.REAL_BLACK_60};\n }\n }\n `\n }\n `;\n});\n\nconst Header = styled(FlexView)`\n padding: 8px 12px;\n\n & * {\n background-color: transparent !important;\n }\n`;\n\nconst TipText = styled(CustomElement)<TStyledComponentProps>(\n ({ theme, $isExpanded }) => `\n color: ${theme.colors.WHITE};\n padding: 0px 0px ${ACTION_BAR_HEIGHT}px;\n ${$isExpanded ? '' : `& > * { display: inline; }`}\n font-family: 'UntitledSans-Regular';\n\n &::before {\n content: 'CUE DON’T TELL:';\n font-family: 'Athletics-Bold';\n margin-right: 8px;\n ${$isExpanded ? ` display: block; margin-bottom: 8px;` : ''}\n }\n `,\n);\n\nconst ChevIconWrapper = styled(FlexView)`\n position: sticky;\n top: 8px;\n`;\n\nconst ChevIcon = styled(UpIcon)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n return `\n transform: rotate(${$isExpanded ? 180 : 0}deg);\n transition: transform 0.3s ease;\n color: ${theme.colors.WHITE};\n cursor: pointer;\n `;\n});\n\ninterface IQuestionTips {\n width: number | string;\n userType: TUserTypes;\n learnosity: ILearnosity;\n question?: IWorksheetQuestion;\n}\n\nconst QuestionTips: FC<IQuestionTips> = memo(({ width, question, userType, learnosity }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const tipRef = useRef<HTMLDivElement>(null);\n const tipContentRef = useRef<string | null>('');\n\n const [menuVisible, setMenuVisible] = useState(false);\n\n const { teacher_tips: tips } = question?.metadata || {};\n\n const tipsMemoized = useMemo(() => {\n return tips?.toString();\n }, [tips]);\n\n const handleClick = useCallback(() => {\n if (tipContentRef.current && tipRef.current) {\n setMenuVisible(prev => !prev);\n }\n }, []);\n\n useLayoutEffect(() => {\n if (tipRef.current && tips) {\n tipContentRef.current = tipRef.current.textContent;\n\n learnosity.renderMath('mathjax');\n }\n }, [learnosity, tips]);\n\n useEffect(() => {\n if (!tipsMemoized) {\n setMenuVisible(false);\n }\n }, [tipsMemoized]);\n\n if (userType !== 'TEACHER' || !tipsMemoized) return null;\n\n return (\n <Wrapper ref={containerRef} $width={width} $isExpanded={menuVisible}>\n <Clickable label=\"Teacher Tip\" onClick={!menuVisible ? handleClick : undefined}>\n <Header $flexDirection=\"row\" $flexGap={10} $justifyContent=\"space-between\">\n <FlexView $flexDirection=\"row\" $flexGap={5}>\n <TipText\n ref={tipRef}\n dangerouslySetInnerHTML={{ __html: tipsMemoized }}\n $isExpanded={menuVisible}\n />\n </FlexView>\n\n <ChevIconWrapper $width={20} $height={20}>\n <ChevIcon $isExpanded={menuVisible} onClick={menuVisible ? handleClick : undefined} />\n </ChevIconWrapper>\n </Header>\n </Clickable>\n </Wrapper>\n );\n});\n\nexport default QuestionTips;\n"],"names":["Wrapper","styled","FlexView","$isExpanded","theme","layout","colors","zIndex","ACTION_BAR_HEIGHT","Header","TipText","CustomElement","ChevIconWrapper","ChevIcon","UpIcon","QuestionTips","memo","width","question","userType","learnosity","containerRef","useRef","tipRef","tipContentRef","menuVisible","setMenuVisible","useState","tips","tipsMemoized","useMemo","handleClick","useCallback","prev","useLayoutEffect","useEffect","jsx","Clickable","jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":";;;;;;;;;;;;;;AAkBM,MAAAA,KAAmDC,EAAK,CAASC,MAAA;AAC/D,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,qBAAAC;AAAA,EAAA,IACE/B,GACE,EAAE,eAAAgC,GAAe,qBAAAC,EAAA,IAAwB/B,GACzCgC,IAAiB7B,EAAUE,CAAmB,GAC9C,EAAE,aAAa4B,EAAiB,IAAID,KAAkB,CAAC,GACvD,CAACE,GAAiBC,CAAkB,IAAIC,EAAS,EAAK,GACtDC,IAAaJ,IAAmB1B,EAAoB,SAAS0B,CAAgB,IAAI,IAEjFK,IAAwBC;AAAA,IAC5B,CAACC,MAAuB;AACtB,MAAAL,EAAmB,EAAK,GACxBhB,EAAkBqB,CAAU;AAAA,IAC9B;AAAA,IACA,CAACrB,CAAiB;AAAA,EACpB,GAEMsB,IAAqBF,EAAY,MAAM;AAC3C,IAAAJ,EAAmB,EAAK,GACXd,EAAA;AAAA,EAAA,GACZ,CAACA,CAAY,CAAC,GAEXqB,IAA2BH,EAAY,MAAM;AAC9B,IAAAJ,EAAA,CAAAQ,MAAQ,CAACA,CAAI;AAAA,EAClC,GAAG,EAAE,GAECC,IAAwBL,EAAY,MAAM;;AAC9C,IAAAtB,EAAkB,EAAK;AAEvB,UAAMuB,KAAaK,IAAA1C,EAAUA,EAAU,SAAS,CAAC,MAA9B,gBAAA0C,EAAiC;AAEpD,IAAIL,MACET,IACoB,sBAAA,MAAMe,GAAiBN,CAAU,CAAC,IAExD3B,EAAoB2B,CAAU;AAAA,KAGjC,CAACrC,GAAW4B,GAAqBlB,GAAqBI,CAAiB,CAAC,GAErE8B,IAA+BR,EAAY,MAAM;AACrD,IAAAf,KAAA,QAAAA,EAAWpB;AAAA,EAAS,GACnB,CAACoB,GAAUpB,CAAS,CAAC;AAExB,SAAIO,IAEA,gBAAAqC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAQL;AAAA,MACR,UAAA3C;AAAA,MACA,UAAU8C;AAAA,MACV,oBAAoB,CAAC,CAACrB;AAAA,IAAA;AAAA,EACxB,IAMA,gBAAAwB,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD,EAACE,IAAS,EAAA,gBAAe,OAAM,UAAU,IACvC,UAAA;AAAA,MAAA,gBAAAJ;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,qBAAA3C;AAAA,UACA,wBAAAE;AAAA,UACA,iBAAAH;AAAA,UACA,WAAAkB;AAAA,UACA,qBAAAE;AAAA,QAAA;AAAA,MACF;AAAA,MACC5B,EAAS,qBACR,gBAAA+C;AAAA,QAACM;AAAAA,QAAA;AAAA,UACC,SAASpC;AAAA,UACT,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,SAASO;AAAA,UAET,4BAAC8B,GAAe,CAAA,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB,GAEJ;AAAA,IACC7C,KAAuB,gBAAAsC,EAACQ,IAAQ,EAAA,UAAAzD,GAAoB,UAAS,UAAS;AAAA,IACtE+B,MAAkB,YAEd,gBAAAoB,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAAjB,KACE,gBAAAc,EAAAS,IAAA,EAAsB,aAAY,UACjC,UAAA,gBAAAT;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,qBAAArD;AAAA,UACA,2BAAAC;AAAA,UACA,mBAAmBgC;AAAA,UACnB,WAAAnC;AAAA,UACA,WAAAC;AAAA,UACA,eAAAF;AAAA,UACA,UAAAD;AAAA,UACA,UAAAF;AAAA,UACA,SAAS2C;AAAA,UACT,cAAcD;AAAA,UACd,gBAAgB9B;AAAA,QAAA;AAAA,MAAA,GAEpB;AAAA,MAEF,gBAAAqC;AAAA,QAACW;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,QAAQ;AAAA,UACR,OAAO,YAAYtD,IAAsB,CAAC,OAAOF,EAAU,MAAM;AAAA,UACjE,MAAK;AAAA,UACL,MAAM+B,IAAkB0B,IAAWC;AAAA,UACnC,cAAa;AAAA,UACb,gBAAe;AAAA,UACf,SAASnB;AAAA,QAAA;AAAA,MAAA;AAAA,IACX,GACF;AAAA,IAEDV,KAAkBC,KACjB,gBAAAe;AAAA,MAACc;AAAA,MAAA;AAAA,QACC,YAAAtD;AAAA,QACA,UAAUwB;AAAA,QACV,WAAA7B;AAAA,QACA,WAAAC;AAAA,QACA,oBAAAsB;AAAA,QACA,eAAerB;AAAA,QACf,oBAAoBgC;AAAA,QACpB,oBAAoBhC,KAAuBC;AAAA,QAC3C,UAAUF,EAAU6B,CAAgB;AAAA,QACpC,UAAAhC;AAAA,QACA,UAAAF;AAAA,QACA,QAAAC;AAAA,QACA,kBAAAsB;AAAA,QACA,qBAAAF;AAAA,QACA,QAAAG;AAAA,QACA,UAAUwB;AAAA,QACV,qBAAAlC;AAAA,QACA,YAAAG;AAAA,QACA,mBAAAC;AAAA,QACA,cAAAH;AAAA,QACA,wBAAAC;AAAA,QACA,WAAAY;AAAA,QACA,QAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"exit-ticket-intervention.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketInterventionProps {\n studentName: string;\n onViewExitTicket: () => void;\n}\n\nconst ExitTicketIntervention: FC<IExitTicketInterventionProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n return (\n <FlexView $widthX={34} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Please don’t discuss the quiz until {studentName} attempts it all.\n </Text>\n <Button renderAs=\"primary\" label=\"View quiz\" widthX={11} onClick={onViewExitTicket} />\n </FlexView>\n );\n },\n);\n\nexport default ExitTicketIntervention;\n"],"names":["ExitTicketIntervention","memo","studentName","onViewExitTicket","jsxs","FlexView","Text","jsx","Button"],"mappings":";;;;;AAaA,MAAMA,IAA2DC;AAAA,EAC/D,CAAC,EAAE,aAAAC,GAAa,kBAAAC,QAEX,gBAAAC,EAAAC,GAAA,EAAS,SAAS,IAAI,aAAY,UACjC,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACpBJ;AAAA,MAAY;AAAA,IAAA,GACnD;AAAA,IACA,gBAAAK,EAACC,KAAO,UAAS,WAAU,OAAM,aAAY,QAAQ,IAAI,SAASL,EAAkB,CAAA;AAAA,EACtF,EAAA,CAAA;AAGN;"}
1
+ {"version":3,"file":"exit-ticket-intervention.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketInterventionProps {\n studentName: string;\n onViewExitTicket: () => void;\n}\n\nconst ExitTicketIntervention: FC<IExitTicketInterventionProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n return (\n <FlexView $widthX={34} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Please don’t discuss the quiz until {studentName} attempts it all.\n </Text>\n <Button renderAs=\"primary\" label=\"View quiz\" widthX={11} onClick={onViewExitTicket} />\n </FlexView>\n );\n },\n);\n\nexport default ExitTicketIntervention;\n"],"names":["ExitTicketIntervention","memo","studentName","onViewExitTicket","jsxs","FlexView","Text","jsx","Button"],"mappings":";;;;;AAaA,MAAMA,IAA2DC;AAAA,EAC/D,CAAC,EAAE,aAAAC,GAAa,kBAAAC,QAEX,gBAAAC,EAAAC,GAAA,EAAS,SAAS,IAAI,aAAY,UACjC,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACpBJ;AAAA,MAAY;AAAA,IAAA,GACnD;AAAA,IACA,gBAAAK,EAACC,KAAO,UAAS,WAAU,OAAM,aAAY,QAAQ,IAAI,SAASL,EAAkB,CAAA;AAAA,EAAA,GACtF;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"exit-ticket-review-available.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketReviewAvailableProps {\n studentName: string;\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketReviewAvailable: FC<IExitTicketReviewAvailableProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={1.5}>\n Quiz Completed\n </Text>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n You can now review {studentName}’s attempts\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketReviewAvailable;\n"],"names":["ExitTicketReviewAvailable","memo","studentName","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAWA,MAAMA,IAAiEC;AAAA,EACrE,CAAC,EAAE,aAAAC,GAAa,kBAAAC,SACdC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAE,CAAA;AAAA,OAClB,GAAI;AAEA,WAAA,MAAM,aAAaE,CAAK;AAAA,EAAA,GAC9B,CAACF,CAAgB,CAAC,GAIjB,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,MAAK,QAAO,UAAS,gBAAgB,KAAK,UAE1D,iBAAA,CAAA;AAAA,sBACCA,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACrCP;AAAA,MAAY;AAAA,IAAA,GAClC;AAAA,sBACCO,GAAK,EAAA,WAAU,MAAK,QAAO,UAAS,UAErC,sBAAA;AAAA,EACF,EAAA,CAAA;AAGN;"}
1
+ {"version":3,"file":"exit-ticket-review-available.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketReviewAvailableProps {\n studentName: string;\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketReviewAvailable: FC<IExitTicketReviewAvailableProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={1.5}>\n Quiz Completed\n </Text>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n You can now review {studentName}’s attempts\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketReviewAvailable;\n"],"names":["ExitTicketReviewAvailable","memo","studentName","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAWA,MAAMA,IAAiEC;AAAA,EACrE,CAAC,EAAE,aAAAC,GAAa,kBAAAC,SACdC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAA,CAAE;AAAA,OAClB,GAAI;AAEA,WAAA,MAAM,aAAaE,CAAK;AAAA,EAAA,GAC9B,CAACF,CAAgB,CAAC,GAIjB,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,MAAK,QAAO,UAAS,gBAAgB,KAAK,UAE1D,iBAAA,CAAA;AAAA,sBACCA,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACrCP;AAAA,MAAY;AAAA,IAAA,GAClC;AAAA,sBACCO,GAAK,EAAA,WAAU,MAAK,QAAO,UAAS,UAErC,qBAAA,CAAA;AAAA,EAAA,GACF;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"exit-ticket-review.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport RadioInput from '../../../../ui/inputs/radio-input/radio-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { EXIT_TICKET_RATING_OPTIONS } from '../../constants';\n\ninterface IExitTicketReviewProps {\n studentName: string;\n onViewExitValidate: (rating: keyof typeof QUESTIONS_RATING) => void;\n}\n\nconst ExitTicketReview: FC<IExitTicketReviewProps> = memo(({ studentName, onViewExitValidate }) => {\n const [rating, setRating] = useState<keyof typeof QUESTIONS_RATING>();\n\n const handleSubmit = useCallback(() => {\n rating && onViewExitValidate(rating);\n }, [onViewExitValidate, rating]);\n\n return (\n <>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Rate {studentName}’s quiz performance\n </Text>\n <FlexView $widthX={24} $marginBottomX={4}>\n <RadioInput options={EXIT_TICKET_RATING_OPTIONS} value={rating} onChange={setRating} />\n </FlexView>\n <Button\n renderAs=\"primary\"\n widthX={11}\n label=\"Submit\"\n disabled={!rating}\n onClick={handleSubmit}\n />\n </>\n );\n});\n\nexport default ExitTicketReview;\n"],"names":["ExitTicketReview","memo","studentName","onViewExitValidate","rating","setRating","useState","handleSubmit","useCallback","jsxs","Fragment","Text","jsx","FlexView","RadioInput","EXIT_TICKET_RATING_OPTIONS","Button"],"mappings":";;;;;;;AAgBA,MAAMA,IAA+CC,EAAK,CAAC,EAAE,aAAAC,GAAa,oBAAAC,QAAyB;AACjG,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAwC,GAE9DC,IAAeC,EAAY,MAAM;AACrC,IAAAJ,KAAUD,EAAmBC,CAAM;AAAA,EAAA,GAClC,CAACD,GAAoBC,CAAM,CAAC;AAE/B,SAEI,gBAAAK,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACnDT;AAAA,MAAY;AAAA,IAAA,GACpB;AAAA,IACC,gBAAAU,EAAAC,GAAA,EAAS,SAAS,IAAI,gBAAgB,GACrC,UAAA,gBAAAD,EAACE,GAAW,EAAA,SAASC,GAA4B,OAAOX,GAAQ,UAAUC,EAAW,CAAA,GACvF;AAAA,IACA,gBAAAO;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAM;AAAA,QACN,UAAU,CAACZ;AAAA,QACX,SAASG;AAAA,MAAA;AAAA,IACX;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"exit-ticket-review.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport RadioInput from '../../../../ui/inputs/radio-input/radio-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { EXIT_TICKET_RATING_OPTIONS } from '../../constants';\n\ninterface IExitTicketReviewProps {\n studentName: string;\n onViewExitValidate: (rating: keyof typeof QUESTIONS_RATING) => void;\n}\n\nconst ExitTicketReview: FC<IExitTicketReviewProps> = memo(({ studentName, onViewExitValidate }) => {\n const [rating, setRating] = useState<keyof typeof QUESTIONS_RATING>();\n\n const handleSubmit = useCallback(() => {\n rating && onViewExitValidate(rating);\n }, [onViewExitValidate, rating]);\n\n return (\n <>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Rate {studentName}’s quiz performance\n </Text>\n <FlexView $widthX={24} $marginBottomX={4}>\n <RadioInput options={EXIT_TICKET_RATING_OPTIONS} value={rating} onChange={setRating} />\n </FlexView>\n <Button\n renderAs=\"primary\"\n widthX={11}\n label=\"Submit\"\n disabled={!rating}\n onClick={handleSubmit}\n />\n </>\n );\n});\n\nexport default ExitTicketReview;\n"],"names":["ExitTicketReview","memo","studentName","onViewExitValidate","rating","setRating","useState","handleSubmit","useCallback","jsxs","Fragment","Text","jsx","FlexView","RadioInput","EXIT_TICKET_RATING_OPTIONS","Button"],"mappings":";;;;;;;AAgBA,MAAMA,IAA+CC,EAAK,CAAC,EAAE,aAAAC,GAAa,oBAAAC,QAAyB;AACjG,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAwC,GAE9DC,IAAeC,EAAY,MAAM;AACrC,IAAAJ,KAAUD,EAAmBC,CAAM;AAAA,EAAA,GAClC,CAACD,GAAoBC,CAAM,CAAC;AAE/B,SAEI,gBAAAK,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACnDT;AAAA,MAAY;AAAA,IAAA,GACpB;AAAA,IACC,gBAAAU,EAAAC,GAAA,EAAS,SAAS,IAAI,gBAAgB,GACrC,UAAA,gBAAAD,EAACE,GAAW,EAAA,SAASC,GAA4B,OAAOX,GAAQ,UAAUC,EAAW,CAAA,GACvF;AAAA,IACA,gBAAAO;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAM;AAAA,QACN,UAAU,CAACZ;AAAA,QACX,SAASG;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACF;AAEJ,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"exit-ticket-student-submission.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketStudentSubmissionProps {\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketStudentSubmission: FC<IExitTicketStudentSubmissionProps> = memo(\n ({ onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={4}>\n Let’s get these questions reviewed by your teacher.\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketStudentSubmission;\n"],"names":["ExitTicketStudentSubmission","memo","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAUA,MAAMA,IAAqEC;AAAA,EACzE,CAAC,EAAE,kBAAAC,EAAA,OACDC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAE,CAAA;AAAA,OAClB,GAAI;AAEA,WAAA,MAAM,aAAaE,CAAK;AAAA,EAAA,GAC9B,CAACF,CAAgB,CAAC,GAIjB,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,MAAK,QAAO,UAAS,gBAAgB,GAAG,UAExD,sDAAA,CAAA;AAAA,sBACCA,GAAK,EAAA,WAAU,MAAK,QAAO,UAAS,UAErC,sBAAA;AAAA,EACF,EAAA,CAAA;AAGN;"}
1
+ {"version":3,"file":"exit-ticket-student-submission.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketStudentSubmissionProps {\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketStudentSubmission: FC<IExitTicketStudentSubmissionProps> = memo(\n ({ onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={4}>\n Let’s get these questions reviewed by your teacher.\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketStudentSubmission;\n"],"names":["ExitTicketStudentSubmission","memo","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAUA,MAAMA,IAAqEC;AAAA,EACzE,CAAC,EAAE,kBAAAC,EAAA,OACDC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAA,CAAE;AAAA,OAClB,GAAI;AAEA,WAAA,MAAM,aAAaE,CAAK;AAAA,EAAA,GAC9B,CAACF,CAAgB,CAAC,GAIjB,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,MAAK,QAAO,UAAS,gBAAgB,GAAG,UAExD,sDAAA,CAAA;AAAA,sBACCA,GAAK,EAAA,WAAU,MAAK,QAAO,UAAS,UAErC,qBAAA,CAAA;AAAA,EAAA,GACF;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"optional-items-assignment.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsAssignmentProps {\n studentName: string;\n itemType: TItemType;\n onAssign?: (itemType: TItemType) => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsAssignment: FC<IOptionalItemsAssignmentProps> = memo(\n ({ studentName, itemType, onAssign, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n const handleAssign = useCallback(() => {\n onAssign?.(itemType);\n }, [itemType, onAssign]);\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Should ${studentName} do more practice before the next section?`\n : `Should ${studentName} work on advanced concepts?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button\n renderAs=\"secondary\"\n label={isPractice ? 'Yes, add it' : 'Yes, add them'}\n widthX={14}\n onClick={handleAssign}\n />\n <Button\n renderAs=\"primary\"\n label={isPractice ? 'Skip to next section' : 'No, finish lesson'}\n widthX={14}\n onClick={handleSkip}\n />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsAssignment;\n"],"names":["OptionalItemsAssignment","memo","studentName","itemType","onAssign","onSkip","isPractice","handleAssign","useCallback","handleSkip","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BACnDI,IAAeC,EAAY,MAAM;AACrC,MAAAJ,KAAA,QAAAA,EAAWD;AAAA,IAAQ,GAClB,CAACA,GAAUC,CAAQ,CAAC,GAEjBK,IAAaD,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAK,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAP,IACG,UAAUJ,CAAW,+CACrB,UAAUA,CAAW,+BAC3B;AAAA,MACC,gBAAAQ,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,gBAAgB;AAAA,YACpC,QAAQ;AAAA,YACR,SAASC;AAAA,UAAA;AAAA,QACX;AAAA,QACA,gBAAAK;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,yBAAyB;AAAA,YAC7C,QAAQ;AAAA,YACR,SAASG;AAAA,UAAA;AAAA,QACX;AAAA,MAAA,GACF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"optional-items-assignment.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsAssignmentProps {\n studentName: string;\n itemType: TItemType;\n onAssign?: (itemType: TItemType) => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsAssignment: FC<IOptionalItemsAssignmentProps> = memo(\n ({ studentName, itemType, onAssign, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n const handleAssign = useCallback(() => {\n onAssign?.(itemType);\n }, [itemType, onAssign]);\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Should ${studentName} do more practice before the next section?`\n : `Should ${studentName} work on advanced concepts?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button\n renderAs=\"secondary\"\n label={isPractice ? 'Yes, add it' : 'Yes, add them'}\n widthX={14}\n onClick={handleAssign}\n />\n <Button\n renderAs=\"primary\"\n label={isPractice ? 'Skip to next section' : 'No, finish lesson'}\n widthX={14}\n onClick={handleSkip}\n />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsAssignment;\n"],"names":["OptionalItemsAssignment","memo","studentName","itemType","onAssign","onSkip","isPractice","handleAssign","useCallback","handleSkip","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BACnDI,IAAeC,EAAY,MAAM;AACrC,MAAAJ,KAAA,QAAAA,EAAWD;AAAA,IAAQ,GAClB,CAACA,GAAUC,CAAQ,CAAC,GAEjBK,IAAaD,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAK,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAP,IACG,UAAUJ,CAAW,+CACrB,UAAUA,CAAW,+BAC3B;AAAA,MACC,gBAAAQ,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,gBAAgB;AAAA,YACpC,QAAQ;AAAA,YACR,SAASC;AAAA,UAAA;AAAA,QACX;AAAA,QACA,gBAAAK;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,yBAAyB;AAAA,YAC7C,QAAQ;AAAA,YACR,SAASG;AAAA,UAAA;AAAA,QAAA;AAAA,MACX,EACF,CAAA;AAAA,IAAA,GACF;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"optional-items-skip.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsSkipProps {\n studentName: string;\n itemType: TItemType;\n onCancel: () => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsSkip: FC<IOptionalItemsSkipProps> = memo(\n ({ studentName, itemType, onCancel, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Remove additional practice for ${studentName}?`\n : `Remove advanced work for ${studentName}?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button renderAs=\"secondary\" label=\"Cancel\" widthX={14} onClick={onCancel} />\n <Button renderAs=\"primary\" label=\"Yes, remove\" widthX={14} onClick={handleSkip} />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsSkip;\n"],"names":["OptionalItemsSkip","memo","studentName","itemType","onCancel","onSkip","isPractice","handleSkip","useCallback","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAAiDC;AAAA,EACrD,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BAEnDI,IAAaC,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAI,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAN,IACG,kCAAkCJ,CAAW,MAC7C,4BAA4BA,CAAW,KAC7C;AAAA,MACC,gBAAAO,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAC,gBAAAC,EAAAE,GAAA,EAAO,UAAS,aAAY,OAAM,UAAS,QAAQ,IAAI,SAAST,EAAU,CAAA;AAAA,QAC3E,gBAAAO,EAACE,KAAO,UAAS,WAAU,OAAM,eAAc,QAAQ,IAAI,SAASN,EAAY,CAAA;AAAA,MAAA,GAClF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"optional-items-skip.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsSkipProps {\n studentName: string;\n itemType: TItemType;\n onCancel: () => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsSkip: FC<IOptionalItemsSkipProps> = memo(\n ({ studentName, itemType, onCancel, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Remove additional practice for ${studentName}?`\n : `Remove advanced work for ${studentName}?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button renderAs=\"secondary\" label=\"Cancel\" widthX={14} onClick={onCancel} />\n <Button renderAs=\"primary\" label=\"Yes, remove\" widthX={14} onClick={handleSkip} />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsSkip;\n"],"names":["OptionalItemsSkip","memo","studentName","itemType","onCancel","onSkip","isPractice","handleSkip","useCallback","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAAiDC;AAAA,EACrD,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BAEnDI,IAAaC,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAI,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAN,IACG,kCAAkCJ,CAAW,MAC7C,4BAA4BA,CAAW,KAC7C;AAAA,MACC,gBAAAO,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAC,gBAAAC,EAAAE,GAAA,EAAO,UAAS,aAAY,OAAM,UAAS,QAAQ,IAAI,SAAST,EAAU,CAAA;AAAA,QAC3E,gBAAAO,EAACE,KAAO,UAAS,WAAU,OAAM,eAAc,QAAQ,IAAI,SAASN,EAAY,CAAA;AAAA,MAAA,EAClF,CAAA;AAAA,IAAA,GACF;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-blocker.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../worksheet-types';\nimport type { IWorksheetBlockerProps } from './worksheet-blocker-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport ExitTicketIntervention from './blockers/exit-ticket-intervention';\nimport ExitTicketReview from './blockers/exit-ticket-review';\nimport ExitTicketReviewAvailable from './blockers/exit-ticket-review-available';\nimport ExitTicketStudentSubmission from './blockers/exit-ticket-student-submission';\nimport OptionalItemsAssignment from './blockers/optional-items-assignment';\nimport OptionalItemsSkip from './blockers/optional-items-skip';\n\nconst WorksheetBlocker: FC<IWorksheetBlockerProps> = memo(props => {\n const {\n studentName,\n lastUnlockedQuestion,\n blocker,\n onBlockerClose,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n } = props;\n const { item_type, response_id } = lastUnlockedQuestion;\n\n const handleExitTicketValidate = useCallback(\n (rating: keyof typeof QUESTIONS_RATING) => {\n onTeacherValidation?.(response_id, rating);\n },\n [onTeacherValidation, response_id],\n );\n\n switch (blocker) {\n case 'exit-ticket-teacher-intervention':\n return <ExitTicketIntervention studentName={studentName} onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-student-submission':\n return <ExitTicketStudentSubmission onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-review-available':\n return (\n <ExitTicketReviewAvailable studentName={studentName} onViewExitTicket={onBlockerClose} />\n );\n case 'exit-ticket-review':\n return (\n <ExitTicketReview studentName={studentName} onViewExitValidate={handleExitTicketValidate} />\n );\n case 'optional-items-assignment':\n return (\n <OptionalItemsAssignment\n studentName={studentName}\n itemType={item_type!}\n onAssign={onOptionalItemAssignment}\n onSkip={onOptionalItemSkip}\n />\n );\n case 'optional-items-skip':\n return (\n <OptionalItemsSkip\n studentName={studentName}\n itemType={item_type!}\n onSkip={onOptionalItemSkip}\n onCancel={onBlockerClose}\n />\n );\n\n default:\n return null;\n }\n});\n\nexport default WorksheetBlocker;\n"],"names":["WorksheetBlocker","memo","props","studentName","lastUnlockedQuestion","blocker","onBlockerClose","onOptionalItemAssignment","onOptionalItemSkip","onTeacherValidation","item_type","response_id","handleExitTicketValidate","useCallback","rating","jsx","ExitTicketIntervention","ExitTicketStudentSubmission","ExitTicketReviewAvailable","ExitTicketReview","OptionalItemsAssignment","OptionalItemsSkip"],"mappings":";;;;;;;;AAaM,MAAAA,IAA+CC,EAAK,CAASC,MAAA;AAC3D,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,qBAAAC;AAAA,EACE,IAAAP,GACE,EAAE,WAAAQ,GAAW,aAAAC,EAAgB,IAAAP,GAE7BQ,IAA2BC;AAAA,IAC/B,CAACC,MAA0C;AACzC,MAAAL,KAAA,QAAAA,EAAsBE,GAAaG;AAAA,IACrC;AAAA,IACA,CAACL,GAAqBE,CAAW;AAAA,EAAA;AAGnC,UAAQN,GAAS;AAAA,IACf,KAAK;AACH,aAAQ,gBAAAU,EAAAC,GAAA,EAAuB,aAAAb,GAA0B,kBAAkBG,EAAgB,CAAA;AAAA,IAC7F,KAAK;AACI,aAAA,gBAAAS,EAACE,GAA4B,EAAA,kBAAkBX,EAAgB,CAAA;AAAA,IACxE,KAAK;AACH,aACG,gBAAAS,EAAAG,GAAA,EAA0B,aAAAf,GAA0B,kBAAkBG,EAAgB,CAAA;AAAA,IAE3F,KAAK;AACH,aACG,gBAAAS,EAAAI,GAAA,EAAiB,aAAAhB,GAA0B,oBAAoBS,EAA0B,CAAA;AAAA,IAE9F,KAAK;AAED,aAAA,gBAAAG;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,aAAAjB;AAAA,UACA,UAAUO;AAAA,UACV,UAAUH;AAAA,UACV,QAAQC;AAAA,QAAA;AAAA,MAAA;AAAA,IAGd,KAAK;AAED,aAAA,gBAAAO;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,aAAAlB;AAAA,UACA,UAAUO;AAAA,UACV,QAAQF;AAAA,UACR,UAAUF;AAAA,QAAA;AAAA,MAAA;AAAA,IAIhB;AACS,aAAA;AAAA,EACX;AACF,CAAC;"}
1
+ {"version":3,"file":"worksheet-blocker.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../worksheet-types';\nimport type { IWorksheetBlockerProps } from './worksheet-blocker-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport ExitTicketIntervention from './blockers/exit-ticket-intervention';\nimport ExitTicketReview from './blockers/exit-ticket-review';\nimport ExitTicketReviewAvailable from './blockers/exit-ticket-review-available';\nimport ExitTicketStudentSubmission from './blockers/exit-ticket-student-submission';\nimport OptionalItemsAssignment from './blockers/optional-items-assignment';\nimport OptionalItemsSkip from './blockers/optional-items-skip';\n\nconst WorksheetBlocker: FC<IWorksheetBlockerProps> = memo(props => {\n const {\n studentName,\n lastUnlockedQuestion,\n blocker,\n onBlockerClose,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n } = props;\n const { item_type, response_id } = lastUnlockedQuestion;\n\n const handleExitTicketValidate = useCallback(\n (rating: keyof typeof QUESTIONS_RATING) => {\n onTeacherValidation?.(response_id, rating);\n },\n [onTeacherValidation, response_id],\n );\n\n switch (blocker) {\n case 'exit-ticket-teacher-intervention':\n return <ExitTicketIntervention studentName={studentName} onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-student-submission':\n return <ExitTicketStudentSubmission onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-review-available':\n return (\n <ExitTicketReviewAvailable studentName={studentName} onViewExitTicket={onBlockerClose} />\n );\n case 'exit-ticket-review':\n return (\n <ExitTicketReview studentName={studentName} onViewExitValidate={handleExitTicketValidate} />\n );\n case 'optional-items-assignment':\n return (\n <OptionalItemsAssignment\n studentName={studentName}\n itemType={item_type!}\n onAssign={onOptionalItemAssignment}\n onSkip={onOptionalItemSkip}\n />\n );\n case 'optional-items-skip':\n return (\n <OptionalItemsSkip\n studentName={studentName}\n itemType={item_type!}\n onSkip={onOptionalItemSkip}\n onCancel={onBlockerClose}\n />\n );\n\n default:\n return null;\n }\n});\n\nexport default WorksheetBlocker;\n"],"names":["WorksheetBlocker","memo","props","studentName","lastUnlockedQuestion","blocker","onBlockerClose","onOptionalItemAssignment","onOptionalItemSkip","onTeacherValidation","item_type","response_id","handleExitTicketValidate","useCallback","rating","jsx","ExitTicketIntervention","ExitTicketStudentSubmission","ExitTicketReviewAvailable","ExitTicketReview","OptionalItemsAssignment","OptionalItemsSkip"],"mappings":";;;;;;;;AAaM,MAAAA,IAA+CC,EAAK,CAASC,MAAA;AAC3D,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,qBAAAC;AAAA,EAAA,IACEP,GACE,EAAE,WAAAQ,GAAW,aAAAC,EAAA,IAAgBP,GAE7BQ,IAA2BC;AAAA,IAC/B,CAACC,MAA0C;AACzC,MAAAL,KAAA,QAAAA,EAAsBE,GAAaG;AAAA,IACrC;AAAA,IACA,CAACL,GAAqBE,CAAW;AAAA,EACnC;AAEA,UAAQN,GAAS;AAAA,IACf,KAAK;AACH,aAAQ,gBAAAU,EAAAC,GAAA,EAAuB,aAAAb,GAA0B,kBAAkBG,EAAgB,CAAA;AAAA,IAC7F,KAAK;AACI,aAAA,gBAAAS,EAACE,GAA4B,EAAA,kBAAkBX,EAAgB,CAAA;AAAA,IACxE,KAAK;AACH,aACG,gBAAAS,EAAAG,GAAA,EAA0B,aAAAf,GAA0B,kBAAkBG,EAAgB,CAAA;AAAA,IAE3F,KAAK;AACH,aACG,gBAAAS,EAAAI,GAAA,EAAiB,aAAAhB,GAA0B,oBAAoBS,EAA0B,CAAA;AAAA,IAE9F,KAAK;AAED,aAAA,gBAAAG;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,aAAAjB;AAAA,UACA,UAAUO;AAAA,UACV,UAAUH;AAAA,UACV,QAAQC;AAAA,QAAA;AAAA,MACV;AAAA,IAEJ,KAAK;AAED,aAAA,gBAAAO;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,aAAAlB;AAAA,UACA,UAAUO;AAAA,UACV,QAAQF;AAAA,UACR,UAAUF;AAAA,QAAA;AAAA,MACZ;AAAA,IAGJ;AACS,aAAA;AAAA,EAAA;AAEb,CAAC;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
- import { memo as W, forwardRef as S, useCallback as q, useEffect as m } from "react";
2
+ import { memo as S, forwardRef as W, useCallback as q, useEffect as a } from "react";
3
3
  import L from "../../cue-canvas/cue-canvas-provider.js";
4
4
  import v from "../constants/events.js";
5
5
  import I from "./hooks/use-learnosity.js";
@@ -12,15 +12,15 @@ const x = (u, l) => {
12
12
  questionsSignedRequest: p,
13
13
  onLoaded: r,
14
14
  onErrored: t,
15
- onResponsesLoaded: a,
15
+ onResponsesLoaded: m,
16
16
  loggerRef: o,
17
- userType: c,
17
+ userType: d,
18
18
  ...E
19
- } = u, { loadingState: s, learnosityActivityRef: h, data: e, error: d } = T({
19
+ } = u, { loadingState: s, learnosityActivityRef: y, data: e, error: c } = T({
20
20
  attemptId: R,
21
21
  signedRequest: g,
22
22
  loggerRef: o
23
- }), y = q(
23
+ }), h = q(
24
24
  (i) => {
25
25
  t({
26
26
  code: i.code,
@@ -30,38 +30,38 @@ const x = (u, l) => {
30
30
  [t]
31
31
  ), { learnosity: n, appendedQuestionIds: k } = I(
32
32
  p,
33
- y,
33
+ h,
34
34
  o
35
35
  );
36
- if (m(() => {
36
+ if (a(() => {
37
37
  s === "error" && t({
38
- message: d ?? "Error loading worksheet"
38
+ message: c ?? "Error loading worksheet"
39
39
  });
40
- }, [s, d, r, t]), m(() => {
40
+ }, [s, c, r, t]), a(() => {
41
41
  n && s === "success" && r && (o.current(v.WORKSHEET_V3_READY), r());
42
- }, [n, s, o, r]), m(() => {
43
- e != null && e.responses && a && a(e.responses ?? {});
44
- }, [e == null ? void 0 : e.responses, a]), s === "success" && e && n) {
42
+ }, [n, s, o, r]), a(() => {
43
+ e != null && e.responses && m && m(e.responses ?? {});
44
+ }, [e == null ? void 0 : e.responses, m]), s === "success" && e && n) {
45
45
  const { learnosityItems: i, responses: C } = e;
46
- return /* @__PURE__ */ f(L, { userType: c, children: /* @__PURE__ */ f(
46
+ return /* @__PURE__ */ f(L, { userType: d, children: /* @__PURE__ */ f(
47
47
  w,
48
48
  {
49
49
  ref: l,
50
50
  questionsSignedRequest: p,
51
51
  learnosity: n,
52
52
  appendedQuestionIds: k,
53
- learnosityActivityRef: h,
53
+ learnosityActivityRef: y,
54
54
  learnosityItems: i,
55
55
  learnosityResponses: C,
56
56
  loggerRef: o,
57
- userType: c,
57
+ userType: d,
58
58
  ...E
59
59
  }
60
60
  ) });
61
61
  }
62
62
  return null;
63
- }, A = W(S(x)), N = A;
63
+ }, K = S(W(x));
64
64
  export {
65
- N as default
65
+ K as default
66
66
  };
67
67
  //# sourceMappingURL=worksheet-container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-container.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-container.tsx"],"sourcesContent":["import type { IWorksheetRef } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { forwardRef, memo, useCallback, useEffect } from 'react';\n\nimport CueCanvasProvider from '../../cue-canvas/cue-canvas-provider';\nimport EVENTS from '../constants/events';\nimport useLearnosity from './hooks/use-learnosity';\nimport useWorksheetDataHelper from './hooks/use-worksheet-data-helper';\nimport Worksheet from './worksheet';\nimport { type ILearnosityError, type IWorksheetContainerProps } from './worksheet-types';\n\nconst WorksheetContainerComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetContainerProps> = (\n props,\n ref,\n) => {\n const {\n attemptId,\n itemsSignedRequest,\n questionsSignedRequest,\n onLoaded,\n onErrored,\n onResponsesLoaded,\n loggerRef,\n userType,\n ...other\n } = props;\n\n const { loadingState, learnosityActivityRef, data, error } = useWorksheetDataHelper({\n attemptId,\n signedRequest: itemsSignedRequest,\n loggerRef,\n });\n\n const onLearnosityErrored = useCallback(\n (err: ILearnosityError) => {\n onErrored({\n code: err.code,\n message: err.detail,\n });\n },\n [onErrored],\n );\n\n const { learnosity, appendedQuestionIds } = useLearnosity(\n questionsSignedRequest,\n onLearnosityErrored,\n loggerRef,\n );\n\n useEffect(() => {\n if (loadingState === 'error') {\n onErrored({\n message: error ?? 'Error loading worksheet',\n });\n }\n }, [loadingState, error, onLoaded, onErrored]);\n\n useEffect(() => {\n if (learnosity && loadingState === 'success' && onLoaded) {\n loggerRef.current(EVENTS.WORKSHEET_V3_READY);\n onLoaded();\n }\n }, [learnosity, loadingState, loggerRef, onLoaded]);\n\n useEffect(() => {\n if (data?.responses && onResponsesLoaded) {\n onResponsesLoaded(data.responses ?? {});\n }\n }, [data?.responses, onResponsesLoaded]);\n\n if (loadingState === 'success' && data && learnosity) {\n const { learnosityItems, responses } = data;\n\n return (\n <CueCanvasProvider userType={userType}>\n <Worksheet\n ref={ref}\n questionsSignedRequest={questionsSignedRequest}\n learnosity={learnosity}\n appendedQuestionIds={appendedQuestionIds}\n learnosityActivityRef={learnosityActivityRef}\n learnosityItems={learnosityItems}\n learnosityResponses={responses}\n loggerRef={loggerRef}\n userType={userType}\n {...other}\n />\n </CueCanvasProvider>\n );\n }\n\n return null;\n};\n\nconst WorksheetContainer = memo(forwardRef(WorksheetContainerComp));\n\nexport default WorksheetContainer;\n"],"names":["WorksheetContainerComp","props","ref","attemptId","itemsSignedRequest","questionsSignedRequest","onLoaded","onErrored","onResponsesLoaded","loggerRef","userType","other","loadingState","learnosityActivityRef","data","error","useWorksheetDataHelper","onLearnosityErrored","useCallback","err","learnosity","appendedQuestionIds","useLearnosity","useEffect","EVENTS","learnosityItems","responses","jsx","CueCanvasProvider","Worksheet","WorksheetContainer","memo","forwardRef","WorksheetContainer$1"],"mappings":";;;;;;;AAYA,MAAMA,IAA4F,CAChGC,GACAC,MACG;AACG,QAAA;AAAA,IACJ,WAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EACD,IAAAV,GAEE,EAAE,cAAAW,GAAc,uBAAAC,GAAuB,MAAAC,GAAM,OAAAC,EAAA,IAAUC,EAAuB;AAAA,IAClF,WAAAb;AAAA,IACA,eAAeC;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKQ,IAAsBC;AAAA,IAC1B,CAACC,MAA0B;AACf,MAAAZ,EAAA;AAAA,QACR,MAAMY,EAAI;AAAA,QACV,SAASA,EAAI;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAACZ,CAAS;AAAA,EAAA,GAGN,EAAE,YAAAa,GAAY,qBAAAC,EAAA,IAAwBC;AAAA,IAC1CjB;AAAA,IACAY;AAAA,IACAR;AAAA,EAAA;AAwBE,MArBJc,EAAU,MAAM;AACd,IAAIX,MAAiB,WACTL,EAAA;AAAA,MACR,SAASQ,KAAS;AAAA,IAAA,CACnB;AAAA,KAEF,CAACH,GAAcG,GAAOT,GAAUC,CAAS,CAAC,GAE7CgB,EAAU,MAAM;AACV,IAAAH,KAAcR,MAAiB,aAAaN,MACpCG,EAAA,QAAQe,EAAO,kBAAkB,GAClClB;KAEV,CAACc,GAAYR,GAAcH,GAAWH,CAAQ,CAAC,GAElDiB,EAAU,MAAM;AACV,IAAAT,KAAA,QAAAA,EAAM,aAAaN,KACHA,EAAAM,EAAK,aAAa,CAAA,CAAE;AAAA,EAEvC,GAAA,CAACA,KAAA,gBAAAA,EAAM,WAAWN,CAAiB,CAAC,GAEnCI,MAAiB,aAAaE,KAAQM,GAAY;AAC9C,UAAA,EAAE,iBAAAK,GAAiB,WAAAC,EAAc,IAAAZ;AAGrC,WAAA,gBAAAa,EAACC,KAAkB,UAAAlB,GACjB,UAAA,gBAAAiB;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAA3B;AAAA,QACA,wBAAAG;AAAA,QACA,YAAAe;AAAA,QACA,qBAAAC;AAAA,QACA,uBAAAR;AAAA,QACA,iBAAAY;AAAA,QACA,qBAAqBC;AAAA,QACrB,WAAAjB;AAAA,QACA,UAAAC;AAAA,QACC,GAAGC;AAAA,MAAA;AAAA,IAER,EAAA,CAAA;AAAA,EAEJ;AAEO,SAAA;AACT,GAEMmB,IAAqBC,EAAKC,EAAWhC,CAAsB,CAAC,GAElEiC,IAAeH;"}
1
+ {"version":3,"file":"worksheet-container.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-container.tsx"],"sourcesContent":["import type { IWorksheetRef } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { forwardRef, memo, useCallback, useEffect } from 'react';\n\nimport CueCanvasProvider from '../../cue-canvas/cue-canvas-provider';\nimport EVENTS from '../constants/events';\nimport useLearnosity from './hooks/use-learnosity';\nimport useWorksheetDataHelper from './hooks/use-worksheet-data-helper';\nimport Worksheet from './worksheet';\nimport { type ILearnosityError, type IWorksheetContainerProps } from './worksheet-types';\n\nconst WorksheetContainerComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetContainerProps> = (\n props,\n ref,\n) => {\n const {\n attemptId,\n itemsSignedRequest,\n questionsSignedRequest,\n onLoaded,\n onErrored,\n onResponsesLoaded,\n loggerRef,\n userType,\n ...other\n } = props;\n\n const { loadingState, learnosityActivityRef, data, error } = useWorksheetDataHelper({\n attemptId,\n signedRequest: itemsSignedRequest,\n loggerRef,\n });\n\n const onLearnosityErrored = useCallback(\n (err: ILearnosityError) => {\n onErrored({\n code: err.code,\n message: err.detail,\n });\n },\n [onErrored],\n );\n\n const { learnosity, appendedQuestionIds } = useLearnosity(\n questionsSignedRequest,\n onLearnosityErrored,\n loggerRef,\n );\n\n useEffect(() => {\n if (loadingState === 'error') {\n onErrored({\n message: error ?? 'Error loading worksheet',\n });\n }\n }, [loadingState, error, onLoaded, onErrored]);\n\n useEffect(() => {\n if (learnosity && loadingState === 'success' && onLoaded) {\n loggerRef.current(EVENTS.WORKSHEET_V3_READY);\n onLoaded();\n }\n }, [learnosity, loadingState, loggerRef, onLoaded]);\n\n useEffect(() => {\n if (data?.responses && onResponsesLoaded) {\n onResponsesLoaded(data.responses ?? {});\n }\n }, [data?.responses, onResponsesLoaded]);\n\n if (loadingState === 'success' && data && learnosity) {\n const { learnosityItems, responses } = data;\n\n return (\n <CueCanvasProvider userType={userType}>\n <Worksheet\n ref={ref}\n questionsSignedRequest={questionsSignedRequest}\n learnosity={learnosity}\n appendedQuestionIds={appendedQuestionIds}\n learnosityActivityRef={learnosityActivityRef}\n learnosityItems={learnosityItems}\n learnosityResponses={responses}\n loggerRef={loggerRef}\n userType={userType}\n {...other}\n />\n </CueCanvasProvider>\n );\n }\n\n return null;\n};\n\nconst WorksheetContainer = memo(forwardRef(WorksheetContainerComp));\n\nexport default WorksheetContainer;\n"],"names":["WorksheetContainerComp","props","ref","attemptId","itemsSignedRequest","questionsSignedRequest","onLoaded","onErrored","onResponsesLoaded","loggerRef","userType","other","loadingState","learnosityActivityRef","data","error","useWorksheetDataHelper","onLearnosityErrored","useCallback","err","learnosity","appendedQuestionIds","useLearnosity","useEffect","EVENTS","learnosityItems","responses","jsx","CueCanvasProvider","Worksheet","WorksheetContainer","memo","forwardRef"],"mappings":";;;;;;;AAYA,MAAMA,IAA4F,CAChGC,GACAC,MACG;AACG,QAAA;AAAA,IACJ,WAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDV,GAEE,EAAE,cAAAW,GAAc,uBAAAC,GAAuB,MAAAC,GAAM,OAAAC,EAAA,IAAUC,EAAuB;AAAA,IAClF,WAAAb;AAAA,IACA,eAAeC;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKQ,IAAsBC;AAAA,IAC1B,CAACC,MAA0B;AACf,MAAAZ,EAAA;AAAA,QACR,MAAMY,EAAI;AAAA,QACV,SAASA,EAAI;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAACZ,CAAS;AAAA,EACZ,GAEM,EAAE,YAAAa,GAAY,qBAAAC,EAAA,IAAwBC;AAAA,IAC1CjB;AAAA,IACAY;AAAA,IACAR;AAAA,EACF;AAuBI,MArBJc,EAAU,MAAM;AACd,IAAIX,MAAiB,WACTL,EAAA;AAAA,MACR,SAASQ,KAAS;AAAA,IAAA,CACnB;AAAA,KAEF,CAACH,GAAcG,GAAOT,GAAUC,CAAS,CAAC,GAE7CgB,EAAU,MAAM;AACV,IAAAH,KAAcR,MAAiB,aAAaN,MACpCG,EAAA,QAAQe,EAAO,kBAAkB,GAClClB,EAAA;AAAA,KAEV,CAACc,GAAYR,GAAcH,GAAWH,CAAQ,CAAC,GAElDiB,EAAU,MAAM;AACV,IAAAT,KAAA,QAAAA,EAAM,aAAaN,KACHA,EAAAM,EAAK,aAAa,EAAE;AAAA,EAEvC,GAAA,CAACA,KAAA,gBAAAA,EAAM,WAAWN,CAAiB,CAAC,GAEnCI,MAAiB,aAAaE,KAAQM,GAAY;AAC9C,UAAA,EAAE,iBAAAK,GAAiB,WAAAC,EAAA,IAAcZ;AAGrC,WAAA,gBAAAa,EAACC,KAAkB,UAAAlB,GACjB,UAAA,gBAAAiB;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAA3B;AAAA,QACA,wBAAAG;AAAA,QACA,YAAAe;AAAA,QACA,qBAAAC;AAAA,QACA,uBAAAR;AAAA,QACA,iBAAAY;AAAA,QACA,qBAAqBC;AAAA,QACrB,WAAAjB;AAAA,QACA,UAAAC;AAAA,QACC,GAAGC;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,EAAA;AAIG,SAAA;AACT,GAEMmB,IAAqBC,EAAKC,EAAWhC,CAAsB,CAAC;"}
@@ -4,7 +4,7 @@ import R from "../../../assets/line-icons/icons/edit2.js";
4
4
  import k from "../../../assets/line-icons/icons/question-letter.js";
5
5
  import C from "../../../assets/line-icons/icons/star2.js";
6
6
  import w from "../constants/events.js";
7
- import { OPTIONAL_ITEM_TYPES as A, ACTION_BAR_HEIGHT as N, QUESTION_WIDTH as y, SPLIT_QUESTION_WIDTH as Q } from "./constants.js";
7
+ import { ACTION_BAR_HEIGHT as A, QUESTION_WIDTH as y, SPLIT_QUESTION_WIDTH as N, OPTIONAL_ITEM_TYPES as Q } from "./constants.js";
8
8
  import { QUESTION_TAGS as E } from "./worksheet-types.js";
9
9
  const x = (e) => {
10
10
  switch (e) {
@@ -61,7 +61,7 @@ const x = (e) => {
61
61
  item_display_number: g,
62
62
  section_name: l,
63
63
  item_type: r ? o : void 0,
64
- is_optional: o ? A.includes(o) : !1,
64
+ is_optional: o ? Q.includes(o) : !1,
65
65
  item_tags: a.tags ?? [],
66
66
  item_tags_map: I(a.tags ?? []),
67
67
  question_number: h - (d ? 1 : 0),
@@ -217,9 +217,9 @@ const K = (e) => e.reduce(
217
217
  return {
218
218
  questionsContainerWidth: !e.some(
219
219
  (a) => a.questions.some((c) => c.stimulus_review)
220
- ) ? y : Q,
220
+ ) ? y : N,
221
221
  maxQuestionWidth: y,
222
- actionbarHeight: t === "bottom" ? N : 0
222
+ actionbarHeight: t === "bottom" ? A : 0
223
223
  };
224
224
  }, z = ({
225
225
  questions: e,