@cuemath/leap 2.8.61-rj-11 → 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 -39
  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":"scribble-switch.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.tsx"],"sourcesContent":["import React, { memo, useCallback } from 'react';\nimport styled from 'styled-components';\n\nimport ScribbleIcon from '../../../../assets/line-icons/icons/scribble';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport EVENTS from '../../constants/events';\n\ninterface IScribbleSwitchProps {\n isScribblingEnabled: boolean;\n setIsScribblingEnabled: (enabled: boolean) => void;\n isCanvasEnabled: boolean;\n loggerRef: React.MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>;\n canToggleScribbling?: boolean;\n}\n\nconst IconWrapper = styled(FlexView)<{ $active: boolean }>(\n ({ theme, $active }) => `\n width: 36px;\n height: 36px;\n border-radius: 50%;\n border: 1px solid black;\n &:hover {\n background-color: ${theme.colors.BLACK};\n svg path {\n stroke: ${theme.colors.WHITE};\n }\n }\n background-color: ${$active ? theme.colors.BLACK : theme.colors.WHITE};\n justify-content: center;\n align-items: center;\n svg path {\n stroke: ${$active ? theme.colors.WHITE : theme.colors.BLACK};\n }\n`,\n);\n\nconst ScribbleSwitch: React.FC<IScribbleSwitchProps> = memo(\n ({\n isScribblingEnabled,\n setIsScribblingEnabled,\n isCanvasEnabled,\n loggerRef,\n canToggleScribbling = true,\n }) => {\n const handleToggleScribble = useCallback(() => {\n setIsScribblingEnabled(!isScribblingEnabled);\n loggerRef.current(EVENTS.WORKSHEET_V3_SCRIBBLE_TOGGLE, {\n scribbling_enabled: !isScribblingEnabled,\n });\n }, [isScribblingEnabled, loggerRef, setIsScribblingEnabled]);\n\n if (!isCanvasEnabled) {\n // This is done to center align the QuestionNavBar for worksheets for whom scribbling is not enabled.\n return <FlexView $widthX={15.25} />;\n }\n\n return (\n <Clickable\n label=\"ScribbleSwitch Toggled\"\n onClick={handleToggleScribble}\n disabled={!canToggleScribbling}\n >\n <IconWrapper $active={isScribblingEnabled}>\n <ScribbleIcon />\n </IconWrapper>\n </Clickable>\n );\n },\n);\n\nexport default ScribbleSwitch;\n"],"names":["IconWrapper","styled","FlexView","theme","$active","ScribbleSwitch","memo","isScribblingEnabled","setIsScribblingEnabled","isCanvasEnabled","loggerRef","canToggleScribbling","handleToggleScribble","useCallback","EVENTS","jsx","Clickable","ScribbleIcon"],"mappings":";;;;;;;AAgBA,MAAMA,IAAcC,EAAOC,CAAQ;AAAA,EACjC,CAAC,EAAE,OAAAC,GAAO,SAAAC,EAAA,MAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMFD,EAAM,OAAO,KAAK;AAAA;AAAA,gBAE1BA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,sBAGZC,IAAUD,EAAM,OAAO,QAAQA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIzDC,IAAUD,EAAM,OAAO,QAAQA,EAAM,OAAO,KAAK;AAAA;AAAA;AAG/D,GAEME,IAAiDC;AAAA,EACrD,CAAC;AAAA,IACC,qBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC,IAAsB;AAAA,EAAA,MAClB;AACE,UAAAC,IAAuBC,EAAY,MAAM;AAC7C,MAAAL,EAAuB,CAACD,CAAmB,GACjCG,EAAA,QAAQI,EAAO,8BAA8B;AAAA,QACrD,oBAAoB,CAACP;AAAA,MAAA,CACtB;AAAA,IACA,GAAA,CAACA,GAAqBG,GAAWF,CAAsB,CAAC;AAE3D,WAAKC,IAMH,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,SAASJ;AAAA,QACT,UAAU,CAACD;AAAA,QAEX,4BAACX,GAAY,EAAA,SAASO,GACpB,UAAA,gBAAAQ,EAACE,IAAa,CAAA,GAChB;AAAA,MAAA;AAAA,IAAA,IAXK,gBAAAF,EAACb,GAAS,EAAA,SAAS,MAAO,CAAA;AAAA,EAcrC;AACF;"}
1
+ {"version":3,"file":"scribble-switch.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.tsx"],"sourcesContent":["import React, { memo, useCallback } from 'react';\nimport styled from 'styled-components';\n\nimport ScribbleIcon from '../../../../assets/line-icons/icons/scribble';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport EVENTS from '../../constants/events';\n\ninterface IScribbleSwitchProps {\n isScribblingEnabled: boolean;\n setIsScribblingEnabled: (enabled: boolean) => void;\n isCanvasEnabled: boolean;\n loggerRef: React.MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>;\n canToggleScribbling?: boolean;\n}\n\nconst IconWrapper = styled(FlexView)<{ $active: boolean }>(\n ({ theme, $active }) => `\n width: 36px;\n height: 36px;\n border-radius: 50%;\n border: 1px solid black;\n &:hover {\n background-color: ${theme.colors.BLACK};\n svg path {\n stroke: ${theme.colors.WHITE};\n }\n }\n background-color: ${$active ? theme.colors.BLACK : theme.colors.WHITE};\n justify-content: center;\n align-items: center;\n svg path {\n stroke: ${$active ? theme.colors.WHITE : theme.colors.BLACK};\n }\n`,\n);\n\nconst ScribbleSwitch: React.FC<IScribbleSwitchProps> = memo(\n ({\n isScribblingEnabled,\n setIsScribblingEnabled,\n isCanvasEnabled,\n loggerRef,\n canToggleScribbling = true,\n }) => {\n const handleToggleScribble = useCallback(() => {\n setIsScribblingEnabled(!isScribblingEnabled);\n loggerRef.current(EVENTS.WORKSHEET_V3_SCRIBBLE_TOGGLE, {\n scribbling_enabled: !isScribblingEnabled,\n });\n }, [isScribblingEnabled, loggerRef, setIsScribblingEnabled]);\n\n if (!isCanvasEnabled) {\n // This is done to center align the QuestionNavBar for worksheets for whom scribbling is not enabled.\n return <FlexView $widthX={15.25} />;\n }\n\n return (\n <Clickable\n label=\"ScribbleSwitch Toggled\"\n onClick={handleToggleScribble}\n disabled={!canToggleScribbling}\n >\n <IconWrapper $active={isScribblingEnabled}>\n <ScribbleIcon />\n </IconWrapper>\n </Clickable>\n );\n },\n);\n\nexport default ScribbleSwitch;\n"],"names":["IconWrapper","styled","FlexView","theme","$active","ScribbleSwitch","memo","isScribblingEnabled","setIsScribblingEnabled","isCanvasEnabled","loggerRef","canToggleScribbling","handleToggleScribble","useCallback","EVENTS","jsx","Clickable","ScribbleIcon"],"mappings":";;;;;;;AAgBA,MAAMA,IAAcC,EAAOC,CAAQ;AAAA,EACjC,CAAC,EAAE,OAAAC,GAAO,SAAAC,QAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMFD,EAAM,OAAO,KAAK;AAAA;AAAA,gBAE1BA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,sBAGZC,IAAUD,EAAM,OAAO,QAAQA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIzDC,IAAUD,EAAM,OAAO,QAAQA,EAAM,OAAO,KAAK;AAAA;AAAA;AAG/D,GAEME,IAAiDC;AAAA,EACrD,CAAC;AAAA,IACC,qBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC,IAAsB;AAAA,EAAA,MAClB;AACE,UAAAC,IAAuBC,EAAY,MAAM;AAC7C,MAAAL,EAAuB,CAACD,CAAmB,GACjCG,EAAA,QAAQI,EAAO,8BAA8B;AAAA,QACrD,oBAAoB,CAACP;AAAA,MAAA,CACtB;AAAA,IACA,GAAA,CAACA,GAAqBG,GAAWF,CAAsB,CAAC;AAE3D,WAAKC,IAMH,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,SAASJ;AAAA,QACT,UAAU,CAACD;AAAA,QAEX,4BAACX,GAAY,EAAA,SAASO,GACpB,UAAA,gBAAAQ,EAACE,KAAa,EAChB,CAAA;AAAA,MAAA;AAAA,IACF,IAZO,gBAAAF,EAACb,GAAS,EAAA,SAAS,MAAO,CAAA;AAAA,EAYjC;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-handler-callbacks.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.ts"],"sourcesContent":["import type {\n ILearnosityQuestionResponse,\n ILearnosityQuestionScore,\n IWorksheetResponse,\n} from '../worksheet-types';\nimport type { IWorksheetQuestionsControllerProps } from './worksheet-questions-controller-types';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport { useCallback } from 'react';\n\nimport useAudioPlayer from '../../../hooks/use-audio-player';\nimport EVENTS from '../../constants/events';\nimport { SYSTEM_VALIDATION_AUDIO_LIST } from '../constants';\nimport { getQuestionMetadata, isOkayTypeQuestion, scrollToQuestion } from '../worksheet-helpers';\n\ninterface IUseHandlerCallbacks {\n (\n options: Pick<\n IWorksheetQuestionsControllerProps,\n | 'learnosity'\n | 'layout'\n | 'questionIndex'\n | 'question'\n | 'questions'\n | 'setActiveQuestionId'\n | 'setResponses'\n | 'setSummaryVisible'\n | 'setBlocker'\n | 'onHelp'\n | 'onResponseChange'\n | 'onTeacherValidation'\n | 'behavior'\n | 'loggerRef'\n | 'getTimeSpentOnQuestion'\n > & {\n setSkipped: Dispatch<SetStateAction<boolean>>;\n },\n ): {\n handleResponseChange: () => void;\n handleHelpButtonClick?: () => void;\n handleHintButtonClick: () => void;\n handleBackButtonClick?: () => void;\n handleNextButtonClick: () => void;\n handleRetryButtonClick: () => void;\n handleCheckButtonClick: () => void;\n handleValidateButtonClick: () => void;\n handleStartButtonClick: () => void;\n handleReadyButtonClick: () => void;\n handleSkipSectionButtonClick: () => void;\n handleSkipButtonClick: () => void;\n };\n}\n\nconst useHandlerCallbacks: IUseHandlerCallbacks = options => {\n const {\n behavior,\n layout,\n learnosity,\n question,\n questionIndex,\n questions,\n getTimeSpentOnQuestion,\n } = options;\n const { setResponses, setSummaryVisible, setActiveQuestionId, setBlocker, setSkipped } = options;\n const { onHelp, onResponseChange, onTeacherValidation, loggerRef } = options;\n const { questionsScrollable } = layout;\n const { response_id, item_type, question_number, item_number, total_questions } = question;\n const isExitTicket = item_type === 'exit-ticket';\n const { validation, teacherValidationEnabled } = behavior;\n const playNotifSound = useAudioPlayer(SYSTEM_VALIDATION_AUDIO_LIST);\n\n const playAudio = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance && validation && !isOkayTypeQuestion(questionInstance.getQuestion())) {\n questionInstance.getScore(sc => {\n const { max_score: maxScore, score: currentScore } = sc || {};\n\n if (maxScore) {\n if (maxScore === currentScore) {\n playNotifSound('CORRECT');\n } else {\n playNotifSound('INCORRECT');\n }\n }\n });\n }\n }, [learnosity, playNotifSound, response_id, validation]);\n\n const updateResponse = useCallback(\n (\n questionId: string,\n response: ILearnosityQuestionResponse,\n score: ILearnosityQuestionScore,\n answerChecked?: boolean,\n ) => {\n const timeSpentOnQuestions = getTimeSpentOnQuestion(response_id);\n\n setResponses(prevResponses => {\n const prevResponse = prevResponses[questionId];\n const isNewAttempt = !!answerChecked;\n\n const newResponse = {\n ...getQuestionMetadata(questions, questionId),\n ...prevResponse,\n response,\n score,\n responseEdited: !isNewAttempt,\n attemptsHistory: isNewAttempt\n ? [...(prevResponse?.attemptsHistory ?? []), { response, score }]\n : prevResponse?.attemptsHistory,\n skipped: !response,\n timeSpent: timeSpentOnQuestions,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: newResponse,\n question: questions.find(q => q.response_id === questionId)!,\n isNewAttempt,\n });\n\n return {\n ...prevResponses,\n [questionId]: newResponse,\n };\n });\n },\n [getTimeSpentOnQuestion, onResponseChange, questions, response_id, setResponses],\n );\n\n const validateQuestion = useCallback(\n (questionId: string, rating?: number) => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, questionId),\n ...prevResponses[questionId],\n validatedByTeacher: true,\n rating,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: newResponse,\n question: questions.find(q => q.response_id === questionId)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [questionId]: newResponse,\n };\n });\n },\n [onResponseChange, questions, setResponses],\n );\n\n const handleHelpButtonClick = useCallback(() => {\n if (onHelp && question) {\n onHelp({\n questionId: response_id,\n questionNumber: `${item_number + 1}${\n total_questions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`,\n });\n }\n }, [item_number, onHelp, question, question_number, response_id, total_questions]);\n\n const handleHintButtonClick = useCallback(() => {\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n hintsUsed: (prevResponses[response_id]?.hintsUsed ?? 0) + 1,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n }, [loggerRef, onResponseChange, questions, response_id, setResponses]);\n\n const handleBackButtonClick = useCallback(() => {\n const questionId = questions[questionIndex - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n scrollToQuestion(questionId);\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questionIndex, questions, questionsScrollable, setActiveQuestionId]);\n\n const handleNextButtonClick = useCallback(() => {\n const questionId = questions[questionIndex + 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n scrollToQuestion(questionId);\n } else {\n setActiveQuestionId(questionId);\n }\n } else {\n setSummaryVisible(true);\n }\n }, [questionIndex, questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSkipButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n skipped: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setSkipped(true);\n }, [onResponseChange, questions, response_id, setResponses, setSkipped]);\n\n const handleResponseChange = useCallback(\n (answerChecked?: boolean) => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.getScore(score => {\n updateResponse(\n response_id,\n questionInstance.getResponse(),\n isOkayTypeQuestion(questionInstance.getQuestion()) || !score\n ? {\n max_score: 0,\n score: 0,\n unscored: !score, // score will be null for unscored questions\n }\n : { ...score, score: score.score ?? 0 },\n answerChecked,\n );\n });\n }\n },\n [learnosity, response_id, updateResponse],\n );\n\n const handleRetryButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.enable();\n questionInstance.resetValidationUI();\n handleResponseChange();\n }\n }, [handleResponseChange, learnosity, response_id]);\n\n const handleValidate = useCallback(() => {\n playAudio();\n handleResponseChange(true);\n }, [handleResponseChange, playAudio]);\n\n const handleCheckButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.disable();\n questionInstance.validate(\n {\n feedbackAttempts: true,\n },\n handleValidate,\n );\n }\n }, [handleValidate, learnosity, response_id]);\n\n const handleValidateButtonClick = useCallback(() => {\n if (isExitTicket) {\n setBlocker('exit-ticket-review');\n } else {\n onTeacherValidation?.(response_id);\n }\n }, [isExitTicket, onTeacherValidation, response_id, setBlocker]);\n\n const handleStartButtonClick = useCallback(() => {\n validateQuestion(response_id);\n }, [response_id, validateQuestion]);\n\n const handleReadyButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse: IWorksheetResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n submittedByStudent: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setBlocker('exit-ticket-student-submission');\n }, [onResponseChange, questions, response_id, setBlocker, setResponses]);\n\n const handleSkipSectionButtonClick = useCallback(() => {\n setBlocker('optional-items-skip');\n }, [setBlocker]);\n\n return {\n handleResponseChange,\n handleHelpButtonClick: onHelp ? handleHelpButtonClick : undefined,\n handleHintButtonClick,\n handleBackButtonClick:\n !questionsScrollable && !teacherValidationEnabled ? handleBackButtonClick : undefined,\n handleNextButtonClick,\n handleRetryButtonClick,\n handleCheckButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleReadyButtonClick,\n handleSkipSectionButtonClick,\n handleSkipButtonClick,\n };\n};\n\nexport default useHandlerCallbacks;\n"],"names":["useHandlerCallbacks","options","behavior","layout","learnosity","question","questionIndex","questions","getTimeSpentOnQuestion","setResponses","setSummaryVisible","setActiveQuestionId","setBlocker","setSkipped","onHelp","onResponseChange","onTeacherValidation","loggerRef","questionsScrollable","response_id","item_type","question_number","item_number","total_questions","isExitTicket","validation","teacherValidationEnabled","playNotifSound","useAudioPlayer","SYSTEM_VALIDATION_AUDIO_LIST","playAudio","useCallback","questionInstance","isOkayTypeQuestion","sc","maxScore","currentScore","updateResponse","questionId","response","score","answerChecked","timeSpentOnQuestions","prevResponses","prevResponse","isNewAttempt","newResponse","getQuestionMetadata","q","validateQuestion","rating","handleHelpButtonClick","handleHintButtonClick","EVENTS","_a","handleBackButtonClick","scrollToQuestion","handleNextButtonClick","handleSkipButtonClick","handleResponseChange","handleRetryButtonClick","handleValidate","handleCheckButtonClick","handleValidateButtonClick","handleStartButtonClick","handleReadyButtonClick","handleSkipSectionButtonClick"],"mappings":";;;;;AAqDA,MAAMA,KAA4C,CAAWC,MAAA;AACrD,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,wBAAAC;AAAA,EACE,IAAAP,GACE,EAAE,cAAAQ,GAAc,mBAAAC,GAAmB,qBAAAC,GAAqB,YAAAC,GAAY,YAAAC,EAAe,IAAAZ,GACnF,EAAE,QAAAa,GAAQ,kBAAAC,GAAkB,qBAAAC,GAAqB,WAAAC,MAAchB,GAC/D,EAAE,qBAAAiB,EAAwB,IAAAf,GAC1B,EAAE,aAAAgB,GAAa,WAAAC,GAAW,iBAAAC,GAAiB,aAAAC,GAAa,iBAAAC,EAAoB,IAAAlB,GAC5EmB,IAAeJ,MAAc,eAC7B,EAAE,YAAAK,GAAY,0BAAAC,EAA6B,IAAAxB,GAC3CyB,IAAiBC,GAAeC,EAA4B,GAE5DC,IAAYC,EAAY,MAAM;AAC5B,UAAAC,IAAmB5B,EAAW,SAASe,CAAW;AAExD,IAAIa,KAAoBP,KAAc,CAACQ,EAAmBD,EAAiB,YAAA,CAAa,KACtFA,EAAiB,SAAS,CAAME,MAAA;AAC9B,YAAM,EAAE,WAAWC,GAAU,OAAOC,EAAa,IAAIF,KAAM;AAE3D,MAAIC,KAEAR,EADEQ,MAAaC,IACA,YAEA,WAFS;AAAA,IAI5B,CACD;AAAA,KAEF,CAAChC,GAAYuB,GAAgBR,GAAaM,CAAU,CAAC,GAElDY,IAAiBN;AAAA,IACrB,CACEO,GACAC,GACAC,GACAC,MACG;AACG,YAAAC,IAAuBlC,EAAuBW,CAAW;AAE/D,MAAAV,EAAa,CAAiBkC,MAAA;AACtB,cAAAC,IAAeD,EAAcL,CAAU,GACvCO,IAAe,CAAC,CAACJ,GAEjBK,IAAc;AAAA,UAClB,GAAGC,EAAoBxC,GAAW+B,CAAU;AAAA,UAC5C,GAAGM;AAAA,UACH,UAAAL;AAAA,UACA,OAAAC;AAAA,UACA,gBAAgB,CAACK;AAAA,UACjB,iBAAiBA,IACb,CAAC,IAAID,KAAA,gBAAAA,EAAc,oBAAmB,IAAK,EAAE,UAAAL,GAAU,OAAAC,GAAO,IAC9DI,KAAA,gBAAAA,EAAc;AAAA,UAClB,SAAS,CAACL;AAAA,UACV,WAAWG;AAAA,QAAA;AAGM,eAAA3B,KAAA,QAAAA,EAAA;AAAA,UACjB,YAAYuB;AAAA,UACZ,UAAUQ;AAAA,UACV,UAAUvC,EAAU,KAAK,CAAKyC,OAAAA,GAAE,gBAAgBV,CAAU;AAAA,UAC1D,cAAAO;AAAA,QAAA,IAGK;AAAA,UACL,GAAGF;AAAA,UACH,CAACL,CAAU,GAAGQ;AAAA,QAAA;AAAA,MAChB,CACD;AAAA,IACH;AAAA,IACA,CAACtC,GAAwBO,GAAkBR,GAAWY,GAAaV,CAAY;AAAA,EAAA,GAG3EwC,IAAmBlB;AAAA,IACvB,CAACO,GAAoBY,MAAoB;AACvC,MAAAzC,EAAa,CAAiBkC,MAAA;AAC5B,cAAMG,IAAc;AAAA,UAClB,GAAGC,EAAoBxC,GAAW+B,CAAU;AAAA,UAC5C,GAAGK,EAAcL,CAAU;AAAA,UAC3B,oBAAoB;AAAA,UACpB,QAAAY;AAAA,QAAA;AAGiB,eAAAnC,KAAA,QAAAA,EAAA;AAAA,UACjB,YAAYuB;AAAA,UACZ,UAAUQ;AAAA,UACV,UAAUvC,EAAU,KAAK,CAAKyC,MAAAA,EAAE,gBAAgBV,CAAU;AAAA,UAC1D,cAAc;AAAA,QAAA,IAGT;AAAA,UACL,GAAGK;AAAA,UACH,CAACL,CAAU,GAAGQ;AAAA,QAAA;AAAA,MAChB,CACD;AAAA,IACH;AAAA,IACA,CAAC/B,GAAkBR,GAAWE,CAAY;AAAA,EAAA,GAGtC0C,IAAwBpB,EAAY,MAAM;AAC9C,IAAIjB,KAAUT,KACLS,EAAA;AAAA,MACL,YAAYK;AAAA,MACZ,gBAAgB,GAAGG,IAAc,CAAC,GAChCC,IAAkB,IAAI,OAAO,aAAa,KAAoBF,CAAe,IAAI,EACnF;AAAA,IAAA,CACD;AAAA,EACH,GACC,CAACC,GAAaR,GAAQT,GAAUgB,GAAiBF,GAAaI,CAAe,CAAC,GAE3E6B,IAAwBrB,EAAY,MAAM;AACpC,IAAAd,EAAA,QAAQoC,GAAO,sBAAsB,GAC/C5C,EAAa,CAAiBkC,MAAA;;AAC5B,YAAMG,IAAc;AAAA,QAClB,GAAGC,EAAoBxC,GAAWY,CAAW;AAAA,QAC7C,GAAGwB,EAAcxB,CAAW;AAAA,QAC5B,cAAYmC,IAAAX,EAAcxB,CAAW,MAAzB,gBAAAmC,EAA4B,cAAa,KAAK;AAAA,MAAA;AAGzC,aAAAvC,KAAA,QAAAA,EAAA;AAAA,QACjB,YAAYI;AAAA,QACZ,UAAU2B;AAAA,QACV,UAAUvC,EAAU,KAAK,CAAKyC,MAAAA,EAAE,gBAAgB7B,CAAW;AAAA,QAC3D,cAAc;AAAA,MAAA,IAGT;AAAA,QACL,GAAGwB;AAAA,QACH,CAACxB,CAAW,GAAG2B;AAAA,MAAA;AAAA,IACjB,CACD;AAAA,EAAA,GACA,CAAC7B,GAAWF,GAAkBR,GAAWY,GAAaV,CAAY,CAAC,GAEhE8C,IAAwBxB,EAAY,MAAM;;AAC9C,UAAMO,KAAagB,IAAA/C,EAAUD,IAAgB,CAAC,MAA3B,gBAAAgD,EAA8B;AAEjD,IAAIhB,MACEpB,IACFsC,EAAiBlB,CAAU,IAE3B3B,EAAoB2B,CAAU;AAAA,KAGjC,CAAChC,GAAeC,GAAWW,GAAqBP,CAAmB,CAAC,GAEjE8C,IAAwB1B,EAAY,MAAM;;AAC9C,UAAMO,KAAagB,IAAA/C,EAAUD,IAAgB,CAAC,MAA3B,gBAAAgD,EAA8B;AAEjD,IAAIhB,IACEpB,IACFsC,EAAiBlB,CAAU,IAE3B3B,EAAoB2B,CAAU,IAGhC5B,EAAkB,EAAI;AAAA,EACxB,GACC,CAACJ,GAAeC,GAAWW,GAAqBP,GAAqBD,CAAiB,CAAC,GAEpFgD,IAAwB3B,EAAY,MAAM;AAC9C,IAAAtB,EAAa,CAAiBkC,MAAA;AAC5B,YAAMG,IAAc;AAAA,QAClB,GAAGC,EAAoBxC,GAAWY,CAAW;AAAA,QAC7C,GAAGwB,EAAcxB,CAAW;AAAA,QAC5B,SAAS;AAAA,MAAA;AAGQ,aAAAJ,KAAA,QAAAA,EAAA;AAAA,QACjB,YAAYI;AAAA,QACZ,UAAU2B;AAAA,QACV,UAAUvC,EAAU,KAAK,CAAKyC,MAAAA,EAAE,gBAAgB7B,CAAW;AAAA,QAC3D,cAAc;AAAA,MAAA,IAGT;AAAA,QACL,GAAGwB;AAAA,QACH,CAACxB,CAAW,GAAG2B;AAAA,MAAA;AAAA,IACjB,CACD,GACDjC,EAAW,EAAI;AAAA,EAAA,GACd,CAACE,GAAkBR,GAAWY,GAAaV,GAAcI,CAAU,CAAC,GAEjE8C,IAAuB5B;AAAA,IAC3B,CAACU,MAA4B;AACrB,YAAAT,IAAmB5B,EAAW,SAASe,CAAW;AAExD,MAAIa,KACFA,EAAiB,SAAS,CAASQ,MAAA;AACjC,QAAAH;AAAA,UACElB;AAAA,UACAa,EAAiB,YAAY;AAAA,UAC7BC,EAAmBD,EAAiB,aAAa,KAAK,CAACQ,IACnD;AAAA,YACE,WAAW;AAAA,YACX,OAAO;AAAA,YACP,UAAU,CAACA;AAAA;AAAA,UAAA,IAEb,EAAE,GAAGA,GAAO,OAAOA,EAAM,SAAS,EAAE;AAAA,UACxCC;AAAA,QAAA;AAAA,MACF,CACD;AAAA,IAEL;AAAA,IACA,CAACrC,GAAYe,GAAakB,CAAc;AAAA,EAAA,GAGpCuB,IAAyB7B,EAAY,MAAM;AACzC,UAAAC,IAAmB5B,EAAW,SAASe,CAAW;AAExD,IAAIa,MACFA,EAAiB,OAAO,GACxBA,EAAiB,kBAAkB,GACd2B;EAEtB,GAAA,CAACA,GAAsBvD,GAAYe,CAAW,CAAC,GAE5C0C,IAAiB9B,EAAY,MAAM;AAC7B,IAAAD,KACV6B,EAAqB,EAAI;AAAA,EAAA,GACxB,CAACA,GAAsB7B,CAAS,CAAC,GAE9BgC,IAAyB/B,EAAY,MAAM;AACzC,UAAAC,IAAmB5B,EAAW,SAASe,CAAW;AAExD,IAAIa,MACFA,EAAiB,QAAQ,GACRA,EAAA;AAAA,MACf;AAAA,QACE,kBAAkB;AAAA,MACpB;AAAA,MACA6B;AAAA,IAAA;AAAA,EAGH,GAAA,CAACA,GAAgBzD,GAAYe,CAAW,CAAC,GAEtC4C,IAA4BhC,EAAY,MAAM;AAClD,IAAIP,IACFZ,EAAW,oBAAoB,IAE/BI,KAAA,QAAAA,EAAsBG;AAAA,KAEvB,CAACK,GAAcR,GAAqBG,GAAaP,CAAU,CAAC,GAEzDoD,IAAyBjC,EAAY,MAAM;AAC/C,IAAAkB,EAAiB9B,CAAW;AAAA,EAAA,GAC3B,CAACA,GAAa8B,CAAgB,CAAC,GAE5BgB,KAAyBlC,EAAY,MAAM;AAC/C,IAAAtB,EAAa,CAAiBkC,MAAA;AAC5B,YAAMG,IAAkC;AAAA,QACtC,GAAGC,EAAoBxC,GAAWY,CAAW;AAAA,QAC7C,GAAGwB,EAAcxB,CAAW;AAAA,QAC5B,oBAAoB;AAAA,MAAA;AAGH,aAAAJ,KAAA,QAAAA,EAAA;AAAA,QACjB,YAAYI;AAAA,QACZ,UAAU2B;AAAA,QACV,UAAUvC,EAAU,KAAK,CAAKyC,MAAAA,EAAE,gBAAgB7B,CAAW;AAAA,QAC3D,cAAc;AAAA,MAAA,IAGT;AAAA,QACL,GAAGwB;AAAA,QACH,CAACxB,CAAW,GAAG2B;AAAA,MAAA;AAAA,IACjB,CACD,GACDlC,EAAW,gCAAgC;AAAA,EAAA,GAC1C,CAACG,GAAkBR,GAAWY,GAAaP,GAAYH,CAAY,CAAC,GAEjEyD,KAA+BnC,EAAY,MAAM;AACrD,IAAAnB,EAAW,qBAAqB;AAAA,EAAA,GAC/B,CAACA,CAAU,CAAC;AAER,SAAA;AAAA,IACL,sBAAA+C;AAAA,IACA,uBAAuB7C,IAASqC,IAAwB;AAAA,IACxD,uBAAAC;AAAA,IACA,uBACE,CAAClC,KAAuB,CAACQ,IAA2B6B,IAAwB;AAAA,IAC9E,uBAAAE;AAAA,IACA,wBAAAG;AAAA,IACA,wBAAAE;AAAA,IACA,2BAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,uBAAAR;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"use-handler-callbacks.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.ts"],"sourcesContent":["import type {\n ILearnosityQuestionResponse,\n ILearnosityQuestionScore,\n IWorksheetResponse,\n} from '../worksheet-types';\nimport type { IWorksheetQuestionsControllerProps } from './worksheet-questions-controller-types';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport { useCallback } from 'react';\n\nimport useAudioPlayer from '../../../hooks/use-audio-player';\nimport EVENTS from '../../constants/events';\nimport { SYSTEM_VALIDATION_AUDIO_LIST } from '../constants';\nimport { getQuestionMetadata, isOkayTypeQuestion, scrollToQuestion } from '../worksheet-helpers';\n\ninterface IUseHandlerCallbacks {\n (\n options: Pick<\n IWorksheetQuestionsControllerProps,\n | 'learnosity'\n | 'layout'\n | 'questionIndex'\n | 'question'\n | 'questions'\n | 'setActiveQuestionId'\n | 'setResponses'\n | 'setSummaryVisible'\n | 'setBlocker'\n | 'onHelp'\n | 'onResponseChange'\n | 'onTeacherValidation'\n | 'behavior'\n | 'loggerRef'\n | 'getTimeSpentOnQuestion'\n > & {\n setSkipped: Dispatch<SetStateAction<boolean>>;\n },\n ): {\n handleResponseChange: () => void;\n handleHelpButtonClick?: () => void;\n handleHintButtonClick: () => void;\n handleBackButtonClick?: () => void;\n handleNextButtonClick: () => void;\n handleRetryButtonClick: () => void;\n handleCheckButtonClick: () => void;\n handleValidateButtonClick: () => void;\n handleStartButtonClick: () => void;\n handleReadyButtonClick: () => void;\n handleSkipSectionButtonClick: () => void;\n handleSkipButtonClick: () => void;\n };\n}\n\nconst useHandlerCallbacks: IUseHandlerCallbacks = options => {\n const {\n behavior,\n layout,\n learnosity,\n question,\n questionIndex,\n questions,\n getTimeSpentOnQuestion,\n } = options;\n const { setResponses, setSummaryVisible, setActiveQuestionId, setBlocker, setSkipped } = options;\n const { onHelp, onResponseChange, onTeacherValidation, loggerRef } = options;\n const { questionsScrollable } = layout;\n const { response_id, item_type, question_number, item_number, total_questions } = question;\n const isExitTicket = item_type === 'exit-ticket';\n const { validation, teacherValidationEnabled } = behavior;\n const playNotifSound = useAudioPlayer(SYSTEM_VALIDATION_AUDIO_LIST);\n\n const playAudio = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance && validation && !isOkayTypeQuestion(questionInstance.getQuestion())) {\n questionInstance.getScore(sc => {\n const { max_score: maxScore, score: currentScore } = sc || {};\n\n if (maxScore) {\n if (maxScore === currentScore) {\n playNotifSound('CORRECT');\n } else {\n playNotifSound('INCORRECT');\n }\n }\n });\n }\n }, [learnosity, playNotifSound, response_id, validation]);\n\n const updateResponse = useCallback(\n (\n questionId: string,\n response: ILearnosityQuestionResponse,\n score: ILearnosityQuestionScore,\n answerChecked?: boolean,\n ) => {\n const timeSpentOnQuestions = getTimeSpentOnQuestion(response_id);\n\n setResponses(prevResponses => {\n const prevResponse = prevResponses[questionId];\n const isNewAttempt = !!answerChecked;\n\n const newResponse = {\n ...getQuestionMetadata(questions, questionId),\n ...prevResponse,\n response,\n score,\n responseEdited: !isNewAttempt,\n attemptsHistory: isNewAttempt\n ? [...(prevResponse?.attemptsHistory ?? []), { response, score }]\n : prevResponse?.attemptsHistory,\n skipped: !response,\n timeSpent: timeSpentOnQuestions,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: newResponse,\n question: questions.find(q => q.response_id === questionId)!,\n isNewAttempt,\n });\n\n return {\n ...prevResponses,\n [questionId]: newResponse,\n };\n });\n },\n [getTimeSpentOnQuestion, onResponseChange, questions, response_id, setResponses],\n );\n\n const validateQuestion = useCallback(\n (questionId: string, rating?: number) => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, questionId),\n ...prevResponses[questionId],\n validatedByTeacher: true,\n rating,\n };\n\n onResponseChange?.({\n responseId: questionId,\n response: newResponse,\n question: questions.find(q => q.response_id === questionId)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [questionId]: newResponse,\n };\n });\n },\n [onResponseChange, questions, setResponses],\n );\n\n const handleHelpButtonClick = useCallback(() => {\n if (onHelp && question) {\n onHelp({\n questionId: response_id,\n questionNumber: `${item_number + 1}${\n total_questions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`,\n });\n }\n }, [item_number, onHelp, question, question_number, response_id, total_questions]);\n\n const handleHintButtonClick = useCallback(() => {\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n hintsUsed: (prevResponses[response_id]?.hintsUsed ?? 0) + 1,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n }, [loggerRef, onResponseChange, questions, response_id, setResponses]);\n\n const handleBackButtonClick = useCallback(() => {\n const questionId = questions[questionIndex - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n scrollToQuestion(questionId);\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questionIndex, questions, questionsScrollable, setActiveQuestionId]);\n\n const handleNextButtonClick = useCallback(() => {\n const questionId = questions[questionIndex + 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n scrollToQuestion(questionId);\n } else {\n setActiveQuestionId(questionId);\n }\n } else {\n setSummaryVisible(true);\n }\n }, [questionIndex, questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSkipButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n skipped: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setSkipped(true);\n }, [onResponseChange, questions, response_id, setResponses, setSkipped]);\n\n const handleResponseChange = useCallback(\n (answerChecked?: boolean) => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.getScore(score => {\n updateResponse(\n response_id,\n questionInstance.getResponse(),\n isOkayTypeQuestion(questionInstance.getQuestion()) || !score\n ? {\n max_score: 0,\n score: 0,\n unscored: !score, // score will be null for unscored questions\n }\n : { ...score, score: score.score ?? 0 },\n answerChecked,\n );\n });\n }\n },\n [learnosity, response_id, updateResponse],\n );\n\n const handleRetryButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.enable();\n questionInstance.resetValidationUI();\n handleResponseChange();\n }\n }, [handleResponseChange, learnosity, response_id]);\n\n const handleValidate = useCallback(() => {\n playAudio();\n handleResponseChange(true);\n }, [handleResponseChange, playAudio]);\n\n const handleCheckButtonClick = useCallback(() => {\n const questionInstance = learnosity.question(response_id);\n\n if (questionInstance) {\n questionInstance.disable();\n questionInstance.validate(\n {\n feedbackAttempts: true,\n },\n handleValidate,\n );\n }\n }, [handleValidate, learnosity, response_id]);\n\n const handleValidateButtonClick = useCallback(() => {\n if (isExitTicket) {\n setBlocker('exit-ticket-review');\n } else {\n onTeacherValidation?.(response_id);\n }\n }, [isExitTicket, onTeacherValidation, response_id, setBlocker]);\n\n const handleStartButtonClick = useCallback(() => {\n validateQuestion(response_id);\n }, [response_id, validateQuestion]);\n\n const handleReadyButtonClick = useCallback(() => {\n setResponses(prevResponses => {\n const newResponse: IWorksheetResponse = {\n ...getQuestionMetadata(questions, response_id),\n ...prevResponses[response_id],\n submittedByStudent: true,\n };\n\n onResponseChange?.({\n responseId: response_id,\n response: newResponse,\n question: questions.find(q => q.response_id === response_id)!,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [response_id]: newResponse,\n };\n });\n setBlocker('exit-ticket-student-submission');\n }, [onResponseChange, questions, response_id, setBlocker, setResponses]);\n\n const handleSkipSectionButtonClick = useCallback(() => {\n setBlocker('optional-items-skip');\n }, [setBlocker]);\n\n return {\n handleResponseChange,\n handleHelpButtonClick: onHelp ? handleHelpButtonClick : undefined,\n handleHintButtonClick,\n handleBackButtonClick:\n !questionsScrollable && !teacherValidationEnabled ? handleBackButtonClick : undefined,\n handleNextButtonClick,\n handleRetryButtonClick,\n handleCheckButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleReadyButtonClick,\n handleSkipSectionButtonClick,\n handleSkipButtonClick,\n };\n};\n\nexport default useHandlerCallbacks;\n"],"names":["useHandlerCallbacks","options","behavior","layout","learnosity","question","questionIndex","questions","getTimeSpentOnQuestion","setResponses","setSummaryVisible","setActiveQuestionId","setBlocker","setSkipped","onHelp","onResponseChange","onTeacherValidation","loggerRef","questionsScrollable","response_id","item_type","question_number","item_number","total_questions","isExitTicket","validation","teacherValidationEnabled","playNotifSound","useAudioPlayer","SYSTEM_VALIDATION_AUDIO_LIST","playAudio","useCallback","questionInstance","isOkayTypeQuestion","sc","maxScore","currentScore","updateResponse","questionId","response","score","answerChecked","timeSpentOnQuestions","prevResponses","prevResponse","isNewAttempt","newResponse","getQuestionMetadata","q","validateQuestion","rating","handleHelpButtonClick","handleHintButtonClick","EVENTS","_a","handleBackButtonClick","scrollToQuestion","handleNextButtonClick","handleSkipButtonClick","handleResponseChange","handleRetryButtonClick","handleValidate","handleCheckButtonClick","handleValidateButtonClick","handleStartButtonClick","handleReadyButtonClick","handleSkipSectionButtonClick"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-questions-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.tsx"],"sourcesContent":["import type {\n IButtonTypes,\n IWorksheetQuestionsControllerProps,\n} from './worksheet-questions-controller-types';\nimport type { FC } from 'react';\n\nimport { deepEqual } from 'fast-equals';\nimport { memo, useEffect, useMemo, useState } from 'react';\n\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport HandIcon from '../../../../assets/line-icons/icons/hand';\nimport QuestionIcon from '../../../../assets/line-icons/icons/question';\nimport SkipIcon from '../../../../assets/line-icons/icons/skip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport useHandlerCallbacks from './use-handler-callbacks';\n\nconst WorksheetQuestionsController: FC<IWorksheetQuestionsControllerProps> = memo(props => {\n const {\n layout,\n learnosity,\n question,\n questions,\n responses,\n questionIndex,\n canSubmitWorksheet,\n isQuestionUnlocked,\n isQuestionAppended,\n response,\n behavior,\n userType,\n setActiveQuestionId,\n setSummaryVisible,\n setBlocker,\n setResponses,\n getTimeSpentOnQuestion,\n onSubmit,\n onSkip,\n } = props;\n\n const { onHelp, onResponseChange, onTeacherValidation, loggerRef } = props;\n const {\n navigationMode,\n canAttempt,\n hints,\n checkButtonLabel,\n retryButtonLabel,\n validation,\n maximumAttempts,\n canExceedAttempts,\n teacherValidationEnabled,\n canTeacherValidate,\n hintsTimer,\n skippableTime,\n skippable,\n } = behavior;\n\n const { response_id, item_type, type, instructor_stimulus, is_optional } = question;\n const hintsAvailable = !hints\n ? 0\n : learnosity.question(response_id)?.getMetadata()?.hints?.length ?? 0;\n\n const isSystemIntro = instructor_stimulus === 'SystemIntro';\n const isExitTicket = item_type === 'exit-ticket';\n const hintsRemaining = canAttempt && hintsAvailable - (response?.hintsUsed ?? 0) > 0;\n const [showHintsButton, setShowHintsButton] = useState(false);\n const [skipped, setSkipped] = useState(false);\n const [showSkipButton, setShowSkipButton] = useState(false);\n\n useEffect(() => {\n if (hintsTimer && hintsRemaining) {\n const timeoutId = setTimeout(() => {\n setShowHintsButton(true);\n }, hintsTimer * 1000);\n\n return () => clearTimeout(timeoutId);\n }\n setShowHintsButton(hintsRemaining);\n }, [hintsTimer, hintsRemaining]);\n\n useEffect(() => {\n const canShowSkip = !response?.response && !response?.skipped;\n\n //* If hints are available and user has exhausted all hints then we show skip button.\n //* If hints are not available and user has not given any response or have not skipped a question then we show skip button after skippableTime/ 90 seconds.\n //* Else skip button is hidden.\n if (skippable) {\n if (hintsAvailable > 0 && !hintsRemaining) {\n setShowSkipButton(canShowSkip);\n } else if (hintsAvailable === 0 && canShowSkip) {\n const timeoutId = setTimeout(\n () => {\n setShowSkipButton(canShowSkip);\n },\n (skippableTime ?? 0) * 1000,\n );\n\n return () => clearTimeout(timeoutId);\n } else {\n setShowSkipButton(false);\n }\n }\n }, [hintsAvailable, hintsRemaining, response, skippable, skippableTime]);\n\n const {\n checkButton,\n checkButtonDisabled,\n hintsButton,\n retryButton,\n nextButton,\n nextButtonDisabled,\n startButton,\n readyButton,\n validateButton,\n skipSectionButton,\n submitAttemptButton,\n skipButton,\n } = useMemo<IButtonTypes>(() => {\n const showSkipSectionButton =\n canTeacherValidate && is_optional && response?.assignStatus === 'assigned';\n const getSystemValidationButtons = (): IButtonTypes => {\n if (!canAttempt) {\n return {\n nextButton: true,\n };\n }\n\n if (!validation && behavior.navigationMode === 'LINEAR') {\n return {\n nextButton: true,\n nextButtonDisabled: !response?.response,\n hintsButton: showHintsButton,\n skipButton: showSkipButton,\n };\n }\n\n if (!validation) {\n return {\n nextButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if (!response || !response.response || !response.score) {\n return {\n checkButton: true,\n checkButtonDisabled: true,\n hintsButton: showHintsButton,\n };\n }\n\n const { responseEdited, score, attemptsHistory } = response;\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n if (maximumAttemptsReached && !canExceedAttempts) {\n return {\n nextButton: true,\n };\n }\n\n if (responseEdited) {\n const lastAttemptResponse = attemptsHistory?.slice(-1)[0]?.response;\n\n return {\n nextButton: maximumAttemptsReached,\n checkButton: true,\n checkButtonDisabled: deepEqual(response.response, lastAttemptResponse),\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) < score.max_score) {\n return {\n nextButton: maximumAttemptsReached,\n retryButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) === score.max_score) {\n return {\n nextButton: true,\n };\n }\n\n return {};\n };\n\n const isPendingTeacherValidation = () =>\n questions.some(({ response_id: questionId }) => {\n const { assignStatus, validatedByTeacher } = responses[questionId] ?? {};\n\n return assignStatus === 'skipped' ? false : validatedByTeacher !== true;\n });\n\n if (teacherValidationEnabled) {\n const { validatedByTeacher } = response ?? {};\n\n // TODO: change the condition to if teacher validator is needed or not\n if (navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT') {\n if (userType === 'STUDENT') {\n return {\n hintsButton: showHintsButton,\n validateButton: false,\n };\n }\n\n return {\n validateButton: false,\n };\n }\n\n if (validatedByTeacher) {\n return {\n validateButton: true,\n submitAttemptButton:\n canTeacherValidate && canAttempt && userType === 'STUDENT' && canSubmitWorksheet\n ? !isPendingTeacherValidation()\n : false,\n };\n }\n\n if (!isQuestionUnlocked) {\n return {};\n }\n\n if (userType === 'STUDENT') {\n if (isSystemIntro) {\n return {\n startButton: canTeacherValidate && canAttempt,\n };\n }\n\n if (type !== 'clozetext') {\n return {\n ...getSystemValidationButtons(),\n nextButton: false,\n };\n }\n\n return {\n hintsButton: showHintsButton,\n readyButton: canTeacherValidate && isExitTicket && !response?.submittedByStudent,\n };\n }\n\n if (isSystemIntro) {\n return {\n skipSectionButton: showSkipSectionButton,\n };\n }\n\n if (type !== 'clozetext') {\n const { responseEdited, score } = response ?? {};\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton:\n responseEdited || !canTeacherValidate\n ? false\n : !!(score?.score && score?.max_score && !((score.score ?? 0) < score.max_score)),\n };\n }\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton: canTeacherValidate && (isExitTicket ? response?.submittedByStudent : true),\n };\n }\n\n return getSystemValidationButtons();\n }, [\n canTeacherValidate,\n is_optional,\n response,\n teacherValidationEnabled,\n canAttempt,\n validation,\n behavior.navigationMode,\n maximumAttempts,\n canExceedAttempts,\n showHintsButton,\n showSkipButton,\n questions,\n responses,\n navigationMode,\n isQuestionUnlocked,\n userType,\n isSystemIntro,\n type,\n isExitTicket,\n canSubmitWorksheet,\n ]);\n\n const {\n handleResponseChange,\n handleHelpButtonClick,\n handleBackButtonClick,\n handleNextButtonClick,\n handleCheckButtonClick,\n handleRetryButtonClick,\n handleHintButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleSkipSectionButtonClick,\n handleReadyButtonClick,\n handleSkipButtonClick,\n } = useHandlerCallbacks({\n layout,\n question,\n questions,\n learnosity,\n questionIndex,\n setActiveQuestionId,\n setSummaryVisible,\n setBlocker,\n setResponses,\n onResponseChange,\n onTeacherValidation,\n onHelp,\n behavior,\n loggerRef,\n setSkipped,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n if (skipped) {\n setSkipped(false);\n setShowSkipButton(false);\n handleNextButtonClick();\n if (onSkip) {\n onSkip(question.item_display_number, question.question_number);\n }\n }\n }, [\n handleNextButtonClick,\n onSkip,\n question.item_display_number,\n question.question_number,\n skipped,\n ]);\n\n useEffect(() => {\n const questionInstance = isQuestionAppended ? learnosity.question(response_id) : undefined;\n\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.on('changed', handleResponseChange);\n questionInstance.enable();\n }\n\n return () => {\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.off('changed', handleResponseChange);\n questionInstance.disable();\n }\n };\n }, [\n canAttempt,\n checkButton,\n handleResponseChange,\n isQuestionAppended,\n learnosity,\n response_id,\n validation,\n ]);\n\n return (\n <FlexView\n $background=\"WHITE\"\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"flex-end\"\n >\n {hintsButton && (\n <IconButton\n Icon={QuestionIcon}\n analyticsLabel=\"Hint\"\n renderAs=\"secondary\"\n disabled={!isQuestionAppended}\n onClick={handleHintButtonClick}\n />\n )}\n {!hintsButton && handleHelpButtonClick && (checkButton || retryButton) && (\n <IconButton\n Icon={HandIcon}\n analyticsLabel=\"Ask for help\"\n renderAs=\"secondary\"\n onClick={handleHelpButtonClick}\n />\n )}\n {handleBackButtonClick && (\n <Button\n widthX={6}\n renderAs=\"secondary\"\n size=\"small\"\n label=\"Back\"\n disabled={questionIndex === 0}\n onClick={handleBackButtonClick}\n />\n )}\n {skipButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Skip\"\n onClick={handleSkipButtonClick}\n />\n )}\n {nextButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Next\"\n onClick={handleNextButtonClick}\n disabled={nextButtonDisabled === true}\n />\n )}\n {retryButton && (\n <Button\n widthX={6}\n renderAs=\"primary\"\n size=\"small\"\n label={retryButtonLabel}\n disabled={!isQuestionAppended}\n onClick={handleRetryButtonClick}\n />\n )}\n {checkButton && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label={checkButtonLabel}\n disabled={checkButtonDisabled === true || !isQuestionAppended}\n onClick={handleCheckButtonClick}\n />\n )}\n {startButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Start\" onClick={handleStartButtonClick} />\n )}\n {readyButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={handleReadyButtonClick} />\n )}\n {skipSectionButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={SkipIcon}\n analyticsLabel=\"Skip Section\"\n onClick={handleSkipSectionButtonClick}\n />\n )}\n {!submitAttemptButton && validateButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={Check2Icon}\n disabled={response?.validatedByTeacher}\n analyticsLabel=\"Validate\"\n onClick={handleValidateButtonClick}\n />\n )}\n {submitAttemptButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={onSubmit} />\n )}\n </FlexView>\n );\n});\n\nexport default WorksheetQuestionsController;\n"],"names":["WorksheetQuestionsController","memo","props","layout","learnosity","question","questions","responses","questionIndex","canSubmitWorksheet","isQuestionUnlocked","isQuestionAppended","response","behavior","userType","setActiveQuestionId","setSummaryVisible","setBlocker","setResponses","getTimeSpentOnQuestion","onSubmit","onSkip","onHelp","onResponseChange","onTeacherValidation","loggerRef","navigationMode","canAttempt","hints","checkButtonLabel","retryButtonLabel","validation","maximumAttempts","canExceedAttempts","teacherValidationEnabled","canTeacherValidate","hintsTimer","skippableTime","skippable","response_id","item_type","type","instructor_stimulus","is_optional","hintsAvailable","_c","_b","_a","isSystemIntro","isExitTicket","hintsRemaining","showHintsButton","setShowHintsButton","useState","skipped","setSkipped","showSkipButton","setShowSkipButton","useEffect","timeoutId","canShowSkip","checkButton","checkButtonDisabled","hintsButton","retryButton","nextButton","nextButtonDisabled","startButton","readyButton","validateButton","skipSectionButton","submitAttemptButton","skipButton","useMemo","showSkipSectionButton","getSystemValidationButtons","responseEdited","score","attemptsHistory","maximumAttemptsReached","lastAttemptResponse","deepEqual","isPendingTeacherValidation","questionId","assignStatus","validatedByTeacher","handleResponseChange","handleHelpButtonClick","handleBackButtonClick","handleNextButtonClick","handleCheckButtonClick","handleRetryButtonClick","handleHintButtonClick","handleValidateButtonClick","handleStartButtonClick","handleSkipSectionButtonClick","handleReadyButtonClick","handleSkipButtonClick","useHandlerCallbacks","questionInstance","jsxs","FlexView","jsx","IconButton","QuestionIcon","HandIcon","Button","SkipIcon","Check2Icon"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-questions-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.tsx"],"sourcesContent":["import type {\n IButtonTypes,\n IWorksheetQuestionsControllerProps,\n} from './worksheet-questions-controller-types';\nimport type { FC } from 'react';\n\nimport { deepEqual } from 'fast-equals';\nimport { memo, useEffect, useMemo, useState } from 'react';\n\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport HandIcon from '../../../../assets/line-icons/icons/hand';\nimport QuestionIcon from '../../../../assets/line-icons/icons/question';\nimport SkipIcon from '../../../../assets/line-icons/icons/skip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport useHandlerCallbacks from './use-handler-callbacks';\n\nconst WorksheetQuestionsController: FC<IWorksheetQuestionsControllerProps> = memo(props => {\n const {\n layout,\n learnosity,\n question,\n questions,\n responses,\n questionIndex,\n canSubmitWorksheet,\n isQuestionUnlocked,\n isQuestionAppended,\n response,\n behavior,\n userType,\n setActiveQuestionId,\n setSummaryVisible,\n setBlocker,\n setResponses,\n getTimeSpentOnQuestion,\n onSubmit,\n onSkip,\n } = props;\n\n const { onHelp, onResponseChange, onTeacherValidation, loggerRef } = props;\n const {\n navigationMode,\n canAttempt,\n hints,\n checkButtonLabel,\n retryButtonLabel,\n validation,\n maximumAttempts,\n canExceedAttempts,\n teacherValidationEnabled,\n canTeacherValidate,\n hintsTimer,\n skippableTime,\n skippable,\n } = behavior;\n\n const { response_id, item_type, type, instructor_stimulus, is_optional } = question;\n const hintsAvailable = !hints\n ? 0\n : learnosity.question(response_id)?.getMetadata()?.hints?.length ?? 0;\n\n const isSystemIntro = instructor_stimulus === 'SystemIntro';\n const isExitTicket = item_type === 'exit-ticket';\n const hintsRemaining = canAttempt && hintsAvailable - (response?.hintsUsed ?? 0) > 0;\n const [showHintsButton, setShowHintsButton] = useState(false);\n const [skipped, setSkipped] = useState(false);\n const [showSkipButton, setShowSkipButton] = useState(false);\n\n useEffect(() => {\n if (hintsTimer && hintsRemaining) {\n const timeoutId = setTimeout(() => {\n setShowHintsButton(true);\n }, hintsTimer * 1000);\n\n return () => clearTimeout(timeoutId);\n }\n setShowHintsButton(hintsRemaining);\n }, [hintsTimer, hintsRemaining]);\n\n useEffect(() => {\n const canShowSkip = !response?.response && !response?.skipped;\n\n //* If hints are available and user has exhausted all hints then we show skip button.\n //* If hints are not available and user has not given any response or have not skipped a question then we show skip button after skippableTime/ 90 seconds.\n //* Else skip button is hidden.\n if (skippable) {\n if (hintsAvailable > 0 && !hintsRemaining) {\n setShowSkipButton(canShowSkip);\n } else if (hintsAvailable === 0 && canShowSkip) {\n const timeoutId = setTimeout(\n () => {\n setShowSkipButton(canShowSkip);\n },\n (skippableTime ?? 0) * 1000,\n );\n\n return () => clearTimeout(timeoutId);\n } else {\n setShowSkipButton(false);\n }\n }\n }, [hintsAvailable, hintsRemaining, response, skippable, skippableTime]);\n\n const {\n checkButton,\n checkButtonDisabled,\n hintsButton,\n retryButton,\n nextButton,\n nextButtonDisabled,\n startButton,\n readyButton,\n validateButton,\n skipSectionButton,\n submitAttemptButton,\n skipButton,\n } = useMemo<IButtonTypes>(() => {\n const showSkipSectionButton =\n canTeacherValidate && is_optional && response?.assignStatus === 'assigned';\n const getSystemValidationButtons = (): IButtonTypes => {\n if (!canAttempt) {\n return {\n nextButton: true,\n };\n }\n\n if (!validation && behavior.navigationMode === 'LINEAR') {\n return {\n nextButton: true,\n nextButtonDisabled: !response?.response,\n hintsButton: showHintsButton,\n skipButton: showSkipButton,\n };\n }\n\n if (!validation) {\n return {\n nextButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if (!response || !response.response || !response.score) {\n return {\n checkButton: true,\n checkButtonDisabled: true,\n hintsButton: showHintsButton,\n };\n }\n\n const { responseEdited, score, attemptsHistory } = response;\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n if (maximumAttemptsReached && !canExceedAttempts) {\n return {\n nextButton: true,\n };\n }\n\n if (responseEdited) {\n const lastAttemptResponse = attemptsHistory?.slice(-1)[0]?.response;\n\n return {\n nextButton: maximumAttemptsReached,\n checkButton: true,\n checkButtonDisabled: deepEqual(response.response, lastAttemptResponse),\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) < score.max_score) {\n return {\n nextButton: maximumAttemptsReached,\n retryButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) === score.max_score) {\n return {\n nextButton: true,\n };\n }\n\n return {};\n };\n\n const isPendingTeacherValidation = () =>\n questions.some(({ response_id: questionId }) => {\n const { assignStatus, validatedByTeacher } = responses[questionId] ?? {};\n\n return assignStatus === 'skipped' ? false : validatedByTeacher !== true;\n });\n\n if (teacherValidationEnabled) {\n const { validatedByTeacher } = response ?? {};\n\n // TODO: change the condition to if teacher validator is needed or not\n if (navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT') {\n if (userType === 'STUDENT') {\n return {\n hintsButton: showHintsButton,\n validateButton: false,\n };\n }\n\n return {\n validateButton: false,\n };\n }\n\n if (validatedByTeacher) {\n return {\n validateButton: true,\n submitAttemptButton:\n canTeacherValidate && canAttempt && userType === 'STUDENT' && canSubmitWorksheet\n ? !isPendingTeacherValidation()\n : false,\n };\n }\n\n if (!isQuestionUnlocked) {\n return {};\n }\n\n if (userType === 'STUDENT') {\n if (isSystemIntro) {\n return {\n startButton: canTeacherValidate && canAttempt,\n };\n }\n\n if (type !== 'clozetext') {\n return {\n ...getSystemValidationButtons(),\n nextButton: false,\n };\n }\n\n return {\n hintsButton: showHintsButton,\n readyButton: canTeacherValidate && isExitTicket && !response?.submittedByStudent,\n };\n }\n\n if (isSystemIntro) {\n return {\n skipSectionButton: showSkipSectionButton,\n };\n }\n\n if (type !== 'clozetext') {\n const { responseEdited, score } = response ?? {};\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton:\n responseEdited || !canTeacherValidate\n ? false\n : !!(score?.score && score?.max_score && !((score.score ?? 0) < score.max_score)),\n };\n }\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton: canTeacherValidate && (isExitTicket ? response?.submittedByStudent : true),\n };\n }\n\n return getSystemValidationButtons();\n }, [\n canTeacherValidate,\n is_optional,\n response,\n teacherValidationEnabled,\n canAttempt,\n validation,\n behavior.navigationMode,\n maximumAttempts,\n canExceedAttempts,\n showHintsButton,\n showSkipButton,\n questions,\n responses,\n navigationMode,\n isQuestionUnlocked,\n userType,\n isSystemIntro,\n type,\n isExitTicket,\n canSubmitWorksheet,\n ]);\n\n const {\n handleResponseChange,\n handleHelpButtonClick,\n handleBackButtonClick,\n handleNextButtonClick,\n handleCheckButtonClick,\n handleRetryButtonClick,\n handleHintButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleSkipSectionButtonClick,\n handleReadyButtonClick,\n handleSkipButtonClick,\n } = useHandlerCallbacks({\n layout,\n question,\n questions,\n learnosity,\n questionIndex,\n setActiveQuestionId,\n setSummaryVisible,\n setBlocker,\n setResponses,\n onResponseChange,\n onTeacherValidation,\n onHelp,\n behavior,\n loggerRef,\n setSkipped,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n if (skipped) {\n setSkipped(false);\n setShowSkipButton(false);\n handleNextButtonClick();\n if (onSkip) {\n onSkip(question.item_display_number, question.question_number);\n }\n }\n }, [\n handleNextButtonClick,\n onSkip,\n question.item_display_number,\n question.question_number,\n skipped,\n ]);\n\n useEffect(() => {\n const questionInstance = isQuestionAppended ? learnosity.question(response_id) : undefined;\n\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.on('changed', handleResponseChange);\n questionInstance.enable();\n }\n\n return () => {\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.off('changed', handleResponseChange);\n questionInstance.disable();\n }\n };\n }, [\n canAttempt,\n checkButton,\n handleResponseChange,\n isQuestionAppended,\n learnosity,\n response_id,\n validation,\n ]);\n\n return (\n <FlexView\n $background=\"WHITE\"\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"flex-end\"\n >\n {hintsButton && (\n <IconButton\n Icon={QuestionIcon}\n analyticsLabel=\"Hint\"\n renderAs=\"secondary\"\n disabled={!isQuestionAppended}\n onClick={handleHintButtonClick}\n />\n )}\n {!hintsButton && handleHelpButtonClick && (checkButton || retryButton) && (\n <IconButton\n Icon={HandIcon}\n analyticsLabel=\"Ask for help\"\n renderAs=\"secondary\"\n onClick={handleHelpButtonClick}\n />\n )}\n {handleBackButtonClick && (\n <Button\n widthX={6}\n renderAs=\"secondary\"\n size=\"small\"\n label=\"Back\"\n disabled={questionIndex === 0}\n onClick={handleBackButtonClick}\n />\n )}\n {skipButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Skip\"\n onClick={handleSkipButtonClick}\n />\n )}\n {nextButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Next\"\n onClick={handleNextButtonClick}\n disabled={nextButtonDisabled === true}\n />\n )}\n {retryButton && (\n <Button\n widthX={6}\n renderAs=\"primary\"\n size=\"small\"\n label={retryButtonLabel}\n disabled={!isQuestionAppended}\n onClick={handleRetryButtonClick}\n />\n )}\n {checkButton && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label={checkButtonLabel}\n disabled={checkButtonDisabled === true || !isQuestionAppended}\n onClick={handleCheckButtonClick}\n />\n )}\n {startButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Start\" onClick={handleStartButtonClick} />\n )}\n {readyButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={handleReadyButtonClick} />\n )}\n {skipSectionButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={SkipIcon}\n analyticsLabel=\"Skip Section\"\n onClick={handleSkipSectionButtonClick}\n />\n )}\n {!submitAttemptButton && validateButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={Check2Icon}\n disabled={response?.validatedByTeacher}\n analyticsLabel=\"Validate\"\n onClick={handleValidateButtonClick}\n />\n )}\n {submitAttemptButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={onSubmit} />\n )}\n </FlexView>\n );\n});\n\nexport default WorksheetQuestionsController;\n"],"names":["WorksheetQuestionsController","memo","props","layout","learnosity","question","questions","responses","questionIndex","canSubmitWorksheet","isQuestionUnlocked","isQuestionAppended","response","behavior","userType","setActiveQuestionId","setSummaryVisible","setBlocker","setResponses","getTimeSpentOnQuestion","onSubmit","onSkip","onHelp","onResponseChange","onTeacherValidation","loggerRef","navigationMode","canAttempt","hints","checkButtonLabel","retryButtonLabel","validation","maximumAttempts","canExceedAttempts","teacherValidationEnabled","canTeacherValidate","hintsTimer","skippableTime","skippable","response_id","item_type","type","instructor_stimulus","is_optional","hintsAvailable","_c","_b","_a","isSystemIntro","isExitTicket","hintsRemaining","showHintsButton","setShowHintsButton","useState","skipped","setSkipped","showSkipButton","setShowSkipButton","useEffect","timeoutId","canShowSkip","checkButton","checkButtonDisabled","hintsButton","retryButton","nextButton","nextButtonDisabled","startButton","readyButton","validateButton","skipSectionButton","submitAttemptButton","skipButton","useMemo","showSkipSectionButton","getSystemValidationButtons","responseEdited","score","attemptsHistory","maximumAttemptsReached","lastAttemptResponse","deepEqual","isPendingTeacherValidation","questionId","assignStatus","validatedByTeacher","handleResponseChange","handleHelpButtonClick","handleBackButtonClick","handleNextButtonClick","handleCheckButtonClick","handleRetryButtonClick","handleHintButtonClick","handleValidateButtonClick","handleStartButtonClick","handleSkipSectionButtonClick","handleReadyButtonClick","handleSkipButtonClick","useHandlerCallbacks","questionInstance","jsxs","FlexView","jsx","IconButton","QuestionIcon","HandIcon","Button","SkipIcon","Check2Icon"],"mappings":";;;;;;;;;;;AAkBM,MAAAA,KAAuEC,GAAK,CAASC,MAAA;;AACnF,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,EAAA,IACEnB,GAEE,EAAE,QAAAoB,IAAQ,kBAAAC,IAAkB,qBAAAC,IAAqB,WAAAC,GAAc,IAAAvB,GAC/D;AAAA,IACJ,gBAAAwB;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,IACEzB,GAEE,EAAE,aAAA0B,GAAa,WAAAC,IAAW,MAAAC,GAAM,qBAAAC,IAAqB,aAAAC,MAAgBtC,GACrEuC,IAAkBhB,OAEpBiB,MAAAC,MAAAC,KAAA3C,EAAW,SAASmC,CAAW,MAA/B,gBAAAQ,GAAkC,kBAAlC,gBAAAD,GAAiD,UAAjD,gBAAAD,GAAwD,WAAU,IADlE,GAGEG,IAAgBN,OAAwB,eACxCO,IAAeT,OAAc,eAC7BU,IAAiBvB,KAAciB,MAAkBhC,KAAA,gBAAAA,EAAU,cAAa,KAAK,GAC7E,CAACuC,GAAiBC,CAAkB,IAAIC,EAAS,EAAK,GACtD,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GACtC,CAACG,GAAgBC,CAAiB,IAAIJ,EAAS,EAAK;AAE1D,EAAAK,EAAU,MAAM;AACd,QAAItB,KAAcc,GAAgB;AAC1B,YAAAS,IAAY,WAAW,MAAM;AACjC,QAAAP,EAAmB,EAAI;AAAA,MAAA,GACtBhB,IAAa,GAAI;AAEb,aAAA,MAAM,aAAauB,CAAS;AAAA,IAAA;AAErC,IAAAP,EAAmBF,CAAc;AAAA,EAAA,GAChC,CAACd,GAAYc,CAAc,CAAC,GAE/BQ,EAAU,MAAM;AACd,UAAME,IAAc,EAAChD,KAAA,QAAAA,EAAU,aAAY,EAACA,KAAA,QAAAA,EAAU;AAKtD,QAAI0B;AACE,UAAAM,IAAiB,KAAK,CAACM;AACzB,QAAAO,EAAkBG,CAAW;AAAA,eACpBhB,MAAmB,KAAKgB,GAAa;AAC9C,cAAMD,IAAY;AAAA,UAChB,MAAM;AACJ,YAAAF,EAAkBG,CAAW;AAAA,UAC/B;AAAA,WACCvB,KAAiB,KAAK;AAAA,QACzB;AAEO,eAAA,MAAM,aAAasB,CAAS;AAAA,MAAA;AAEnC,QAAAF,EAAkB,EAAK;AAAA,EAE3B,GACC,CAACb,GAAgBM,GAAgBtC,GAAU0B,GAAWD,CAAa,CAAC;AAEjE,QAAA;AAAA,IACJ,aAAAwB;AAAA,IACA,qBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,EACF,IAAIC,GAAsB,MAAM;AAC9B,UAAMC,IACJvC,KAAsBQ,MAAe/B,KAAA,gBAAAA,EAAU,kBAAiB,YAC5D+D,IAA6B,MAAoB;;AACrD,UAAI,CAAChD;AACI,eAAA;AAAA,UACL,YAAY;AAAA,QACd;AAGF,UAAI,CAACI,KAAclB,EAAS,mBAAmB;AACtC,eAAA;AAAA,UACL,YAAY;AAAA,UACZ,oBAAoB,EAACD,KAAA,QAAAA,EAAU;AAAA,UAC/B,aAAauC;AAAA,UACb,YAAYK;AAAA,QACd;AAGF,UAAI,CAACzB;AACI,eAAA;AAAA,UACL,YAAY;AAAA,UACZ,aAAaoB;AAAA,QACf;AAGF,UAAI,CAACvC,KAAY,CAACA,EAAS,YAAY,CAACA,EAAS;AACxC,eAAA;AAAA,UACL,aAAa;AAAA,UACb,qBAAqB;AAAA,UACrB,aAAauC;AAAA,QACf;AAGF,YAAM,EAAE,gBAAAyB,GAAgB,OAAAC,GAAO,iBAAAC,EAAoB,IAAAlE,GAC7CmE,MAA0BD,KAAA,gBAAAA,EAAiB,WAAU,MAAM9C;AAE7D,UAAA+C,KAA0B,CAAC9C;AACtB,eAAA;AAAA,UACL,YAAY;AAAA,QACd;AAGF,UAAI2C,GAAgB;AAClB,cAAMI,MAAsBjC,KAAA+B,KAAA,gBAAAA,EAAiB,MAAM,IAAI,OAA3B,gBAAA/B,GAA+B;AAEpD,eAAA;AAAA,UACL,YAAYgC;AAAA,UACZ,aAAa;AAAA,UACb,qBAAqBE,GAAUrE,EAAS,UAAUoE,EAAmB;AAAA,UACrE,aAAa7B;AAAA,QACf;AAAA,MAAA;AAGF,cAAK0B,EAAM,SAAS,KAAKA,EAAM,YACtB;AAAA,QACL,YAAYE;AAAA,QACZ,aAAa;AAAA,QACb,aAAa5B;AAAA,MACf,KAGG0B,EAAM,SAAS,OAAOA,EAAM,YACxB;AAAA,QACL,YAAY;AAAA,MACd,IAGK,CAAC;AAAA,IACV,GAEMK,KAA6B,MACjC5E,EAAU,KAAK,CAAC,EAAE,aAAa6E,QAAiB;AAC9C,YAAM,EAAE,cAAAC,GAAc,oBAAAC,EAAA,IAAuB9E,EAAU4E,CAAU,KAAK,CAAC;AAEhE,aAAAC,MAAiB,YAAY,KAAQC,MAAuB;AAAA,IAAA,CACpE;AAEH,QAAInD,GAA0B;AAC5B,YAAM,EAAE,oBAAAmD,MAAuBzE,KAAY,CAAC;AAGxC,UAAAc,MAAmB,cAAcA,MAAmB;AACtD,eAAIZ,MAAa,YACR;AAAA,UACL,aAAaqC;AAAA,UACb,gBAAgB;AAAA,QAClB,IAGK;AAAA,UACL,gBAAgB;AAAA,QAClB;AAGF,UAAIkC;AACK,eAAA;AAAA,UACL,gBAAgB;AAAA,UAChB,qBACElD,KAAsBR,KAAcb,MAAa,aAAaL,IAC1D,CAACyE,OACD;AAAA,QACR;AAGF,UAAI,CAACxE;AACH,eAAO,CAAC;AAGV,UAAII,MAAa;AACf,eAAIkC,IACK;AAAA,UACL,aAAab,KAAsBR;AAAA,QACrC,IAGEc,MAAS,cACJ;AAAA,UACL,GAAGkC,EAA2B;AAAA,UAC9B,YAAY;AAAA,QACd,IAGK;AAAA,UACL,aAAaxB;AAAA,UACb,aAAahB,KAAsBc,KAAgB,EAACrC,KAAA,QAAAA,EAAU;AAAA,QAChE;AAGF,UAAIoC;AACK,eAAA;AAAA,UACL,mBAAmB0B;AAAA,QACrB;AAGF,UAAIjC,MAAS,aAAa;AACxB,cAAM,EAAE,gBAAAmC,GAAgB,OAAAC,EAAM,IAAIjE,KAAY,CAAC;AAExC,eAAA;AAAA,UACL,mBAAmB8D;AAAA,UACnB,gBACEE,KAAkB,CAACzC,IACf,KACA,CAAC,EAAE0C,KAAA,QAAAA,EAAO,UAASA,KAAA,QAAAA,EAAO,cAAa,GAAGA,EAAM,SAAS,KAAKA,EAAM;AAAA,QAC5E;AAAA,MAAA;AAGK,aAAA;AAAA,QACL,mBAAmBH;AAAA,QACnB,gBAAgBvC,MAAuBc,IAAerC,KAAA,gBAAAA,EAAU,qBAAqB;AAAA,MACvF;AAAA,IAAA;AAGF,WAAO+D,EAA2B;AAAA,EAAA,GACjC;AAAA,IACDxC;AAAA,IACAQ;AAAA,IACA/B;AAAA,IACAsB;AAAA,IACAP;AAAA,IACAI;AAAA,IACAlB,EAAS;AAAA,IACTmB;AAAA,IACAC;AAAA,IACAkB;AAAA,IACAK;AAAA,IACAlD;AAAA,IACAC;AAAA,IACAmB;AAAA,IACAhB;AAAA,IACAI;AAAA,IACAkC;AAAA,IACAP;AAAA,IACAQ;AAAA,IACAxC;AAAA,EAAA,CACD,GAEK;AAAA,IACJ,sBAAA6E;AAAA,IACA,uBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,uBAAAC;AAAA,MACEC,GAAoB;AAAA,IACtB,QAAA/F;AAAA,IACA,UAAAE;AAAA,IACA,WAAAC;AAAA,IACA,YAAAF;AAAA,IACA,eAAAI;AAAA,IACA,qBAAAO;AAAA,IACA,mBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAK;AAAA,IACA,qBAAAC;AAAA,IACA,QAAAF;AAAA,IACA,UAAAT;AAAA,IACA,WAAAY;AAAA,IACA,YAAA8B;AAAA,IACA,wBAAApC;AAAA,EAAA,CACD;AAED,SAAAuC,EAAU,MAAM;AACd,IAAIJ,MACFC,EAAW,EAAK,GAChBE,EAAkB,EAAK,GACDgC,EAAA,GAClBpE,KACKA,EAAAhB,EAAS,qBAAqBA,EAAS,eAAe;AAAA,EAEjE,GACC;AAAA,IACDoF;AAAA,IACApE;AAAA,IACAhB,EAAS;AAAA,IACTA,EAAS;AAAA,IACTiD;AAAA,EAAA,CACD,GAEDI,EAAU,MAAM;AACd,UAAMyC,IAAmBxF,IAAqBP,EAAW,SAASmC,CAAW,IAAI;AAEjF,WAAI4D,KAAoBxE,MAAe,CAACI,KAAc8B,OACnCsC,EAAA,GAAG,WAAWb,CAAoB,GACnDa,EAAiB,OAAO,IAGnB,MAAM;AACX,MAAIA,KAAoBxE,MAAe,CAACI,KAAc8B,OACnCsC,EAAA,IAAI,WAAWb,CAAoB,GACpDa,EAAiB,QAAQ;AAAA,IAE7B;AAAA,EAAA,GACC;AAAA,IACDxE;AAAA,IACAkC;AAAA,IACAyB;AAAA,IACA3E;AAAA,IACAP;AAAA,IACAmC;AAAA,IACAR;AAAA,EAAA,CACD,GAGC,gBAAAqE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,gBAAe;AAAA,MACf,WAAW;AAAA,MACX,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEf,UAAA;AAAA,QACCtC,KAAA,gBAAAuC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAMC;AAAA,YACN,gBAAe;AAAA,YACf,UAAS;AAAA,YACT,UAAU,CAAC7F;AAAA,YACX,SAASiF;AAAA,UAAA;AAAA,QACX;AAAA,QAED,CAAC7B,KAAewB,MAA0B1B,KAAeG,MACxD,gBAAAsC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAME;AAAA,YACN,gBAAe;AAAA,YACf,UAAS;AAAA,YACT,SAASlB;AAAA,UAAA;AAAA,QACX;AAAA,QAEDC,MACC,gBAAAc;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,QAAQ;AAAA,YACR,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAM;AAAA,YACN,UAAUlG,MAAkB;AAAA,YAC5B,SAASgF;AAAA,UAAA;AAAA,QACX;AAAA,QAEDhB,MACC,gBAAA8B;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,QAAQ;AAAA,YACR,UAAU1C,IAAc,cAAc;AAAA,YACtC,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASiC;AAAA,UAAA;AAAA,QACX;AAAA,QAEDhC,MACC,gBAAAqC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,QAAQ;AAAA,YACR,UAAU1C,IAAc,cAAc;AAAA,YACtC,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASyB;AAAA,YACT,UAAUvB,OAAuB;AAAA,UAAA;AAAA,QACnC;AAAA,QAEDF,KACC,gBAAAsC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,QAAQ;AAAA,YACR,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAO5E;AAAA,YACP,UAAU,CAACnB;AAAA,YACX,SAASgF;AAAA,UAAA;AAAA,QACX;AAAA,QAED9B,KACC,gBAAAyC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAO7E;AAAA,YACP,UAAUiC,OAAwB,MAAQ,CAACnD;AAAA,YAC3C,SAAS+E;AAAA,UAAA;AAAA,QACX;AAAA,QAEDvB,MACE,gBAAAmC,EAAAI,GAAA,EAAO,UAAS,WAAU,MAAK,SAAQ,OAAM,SAAQ,SAASZ,GAAwB,CAAA;AAAA,QAExF1B,MACE,gBAAAkC,EAAAI,GAAA,EAAO,UAAS,WAAU,MAAK,SAAQ,OAAM,UAAS,SAASV,GAAwB,CAAA;AAAA,QAEzF1B,MACC,gBAAAgC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAMI;AAAA,YACN,gBAAe;AAAA,YACf,SAASZ;AAAA,UAAA;AAAA,QACX;AAAA,QAED,CAACxB,KAAuBF,MACvB,gBAAAiC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAMK;AAAA,YACN,UAAUhG,KAAA,gBAAAA,EAAU;AAAA,YACpB,gBAAe;AAAA,YACf,SAASiF;AAAA,UAAA;AAAA,QACX;AAAA,QAEDtB,KACE,gBAAA+B,EAAAI,GAAA,EAAO,UAAS,WAAU,MAAK,SAAQ,OAAM,UAAS,SAAStF,GAAU,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAE9E;AAEJ,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-questions-summary-styled.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\ninterface ISummaryWrapperProps {\n $shadow?: boolean;\n}\n\nconst SummaryWrapper = styled(FlexView)<ISummaryWrapperProps>(\n ({ $shadow }) => `\n ${$shadow ? `box-shadow: 0px 4px 17px 0px rgba(43, 43, 43, 0.10);` : ''}\n`,\n);\n\nconst CloseIconWrapper = styled.div(\n ({\n theme: {\n layout: { gutter },\n },\n }) => `\n position: absolute;\n top: ${gutter}px;\n right: ${gutter}px;\n`,\n);\n\nexport { SummaryWrapper, CloseIconWrapper };\n"],"names":["SummaryWrapper","styled","FlexView","$shadow","CloseIconWrapper","gutter"],"mappings":";;AAQM,MAAAA,IAAiBC,EAAOC,CAAQ;AAAA,EACpC,CAAC,EAAE,SAAAC,EAAA,MAAc;AAAA,IACfA,IAAU,yDAAyD,EAAE;AAAA;AAEzE,GAEMC,IAAmBH,EAAO;AAAA,EAC9B,CAAC;AAAA,IACC,OAAO;AAAA,MACL,QAAQ,EAAE,QAAAI,EAAO;AAAA,IACnB;AAAA,EAAA,MACI;AAAA;AAAA,SAECA,CAAM;AAAA,WACJA,CAAM;AAAA;AAEjB;"}
1
+ {"version":3,"file":"worksheet-questions-summary-styled.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\ninterface ISummaryWrapperProps {\n $shadow?: boolean;\n}\n\nconst SummaryWrapper = styled(FlexView)<ISummaryWrapperProps>(\n ({ $shadow }) => `\n ${$shadow ? `box-shadow: 0px 4px 17px 0px rgba(43, 43, 43, 0.10);` : ''}\n`,\n);\n\nconst CloseIconWrapper = styled.div(\n ({\n theme: {\n layout: { gutter },\n },\n }) => `\n position: absolute;\n top: ${gutter}px;\n right: ${gutter}px;\n`,\n);\n\nexport { SummaryWrapper, CloseIconWrapper };\n"],"names":["SummaryWrapper","styled","FlexView","$shadow","CloseIconWrapper","gutter"],"mappings":";;AAQM,MAAAA,IAAiBC,EAAOC,CAAQ;AAAA,EACpC,CAAC,EAAE,SAAAC,EAAA,MAAc;AAAA,IACfA,IAAU,yDAAyD,EAAE;AAAA;AAEzE,GAEMC,IAAmBH,EAAO;AAAA,EAC9B,CAAC;AAAA,IACC,OAAO;AAAA,MACL,QAAQ,EAAE,QAAAI,EAAO;AAAA,IAAA;AAAA,EACnB,MACI;AAAA;AAAA,SAECA,CAAM;AAAA,WACJA,CAAM;AAAA;AAEjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-questions-summary.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.tsx"],"sourcesContent":["import type { IWorksheetQuestionsSummaryProps } from './worksheet-questions-summary-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport Button from '../../../ui/buttons/button/button';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport WorksheetNavigation from '../worksheet-navigation/worksheet-navigation';\nimport * as Styled from './worksheet-questions-summary-styled';\n\nconst WorksheetQuestionsSummary: FC<IWorksheetQuestionsSummaryProps> = memo(\n ({ worksheetName, onClose, onGoToReview, ...other }) => {\n return (\n <Styled.SummaryWrapper\n $position=\"relative\"\n $widthX={40}\n $gutterX={1.5}\n $gapX={1.5}\n $borderRadiusX={0.75}\n $borderColor=\"GREY_2\"\n $background=\"WHITE\"\n $shadow={!!onClose}\n >\n <Text $renderAs=\"body1Medium\" $marginBottomX={1.5} $align=\"center\">\n {worksheetName}\n </Text>\n {onClose && (\n <Styled.CloseIconWrapper>\n <Clickable label=\"Questions Summary Close\" onClick={onClose}>\n <CrossIcon color=\"black\" />\n </Clickable>\n </Styled.CloseIconWrapper>\n )}\n <WorksheetNavigation {...other} placement=\"bottom\" />\n {onGoToReview && (\n <>\n <Separator heightX={1.5} />\n <Button\n alignSelf=\"flex-end\"\n renderAs=\"secondary\"\n size=\"xsmall\"\n label=\"Go to review page\"\n onClick={onGoToReview}\n />\n </>\n )}\n </Styled.SummaryWrapper>\n );\n },\n);\n\nexport default WorksheetQuestionsSummary;\n"],"names":["WorksheetQuestionsSummary","memo","worksheetName","onClose","onGoToReview","other","jsxs","Styled.SummaryWrapper","jsx","Text","Styled.CloseIconWrapper","Clickable","CrossIcon","WorksheetNavigation","Fragment","Separator","Button"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAiEC;AAAA,EACrE,CAAC,EAAE,eAAAC,GAAe,SAAAC,GAAS,cAAAC,GAAc,GAAGC,QAExC,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,SAAS,CAAC,CAACJ;AAAA,MAEX,UAAA;AAAA,QAAA,gBAAAK,EAACC,KAAK,WAAU,eAAc,gBAAgB,KAAK,QAAO,UACvD,UACHP,EAAA,CAAA;AAAA,QACCC,KACE,gBAAAK,EAAAE,GAAA,EACC,4BAACC,GAAU,EAAA,OAAM,2BAA0B,SAASR,GAClD,UAAC,gBAAAK,EAAAI,GAAA,EAAU,OAAM,QAAA,CAAQ,EAC3B,CAAA,GACF;AAAA,QAED,gBAAAJ,EAAAK,GAAA,EAAqB,GAAGR,GAAO,WAAU,SAAS,CAAA;AAAA,QAClDD,KAEG,gBAAAE,EAAAQ,GAAA,EAAA,UAAA;AAAA,UAAC,gBAAAN,EAAAO,GAAA,EAAU,SAAS,IAAK,CAAA;AAAA,UACzB,gBAAAP;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAASZ;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAKV;"}
1
+ {"version":3,"file":"worksheet-questions-summary.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.tsx"],"sourcesContent":["import type { IWorksheetQuestionsSummaryProps } from './worksheet-questions-summary-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport Button from '../../../ui/buttons/button/button';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport WorksheetNavigation from '../worksheet-navigation/worksheet-navigation';\nimport * as Styled from './worksheet-questions-summary-styled';\n\nconst WorksheetQuestionsSummary: FC<IWorksheetQuestionsSummaryProps> = memo(\n ({ worksheetName, onClose, onGoToReview, ...other }) => {\n return (\n <Styled.SummaryWrapper\n $position=\"relative\"\n $widthX={40}\n $gutterX={1.5}\n $gapX={1.5}\n $borderRadiusX={0.75}\n $borderColor=\"GREY_2\"\n $background=\"WHITE\"\n $shadow={!!onClose}\n >\n <Text $renderAs=\"body1Medium\" $marginBottomX={1.5} $align=\"center\">\n {worksheetName}\n </Text>\n {onClose && (\n <Styled.CloseIconWrapper>\n <Clickable label=\"Questions Summary Close\" onClick={onClose}>\n <CrossIcon color=\"black\" />\n </Clickable>\n </Styled.CloseIconWrapper>\n )}\n <WorksheetNavigation {...other} placement=\"bottom\" />\n {onGoToReview && (\n <>\n <Separator heightX={1.5} />\n <Button\n alignSelf=\"flex-end\"\n renderAs=\"secondary\"\n size=\"xsmall\"\n label=\"Go to review page\"\n onClick={onGoToReview}\n />\n </>\n )}\n </Styled.SummaryWrapper>\n );\n },\n);\n\nexport default WorksheetQuestionsSummary;\n"],"names":["WorksheetQuestionsSummary","memo","worksheetName","onClose","onGoToReview","other","jsxs","Styled.SummaryWrapper","jsx","Text","Styled.CloseIconWrapper","Clickable","CrossIcon","WorksheetNavigation","Fragment","Separator","Button"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAiEC;AAAA,EACrE,CAAC,EAAE,eAAAC,GAAe,SAAAC,GAAS,cAAAC,GAAc,GAAGC,QAExC,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,SAAS,CAAC,CAACJ;AAAA,MAEX,UAAA;AAAA,QAAA,gBAAAK,EAACC,KAAK,WAAU,eAAc,gBAAgB,KAAK,QAAO,UACvD,UACHP,EAAA,CAAA;AAAA,QACCC,KACE,gBAAAK,EAAAE,GAAA,EACC,4BAACC,GAAU,EAAA,OAAM,2BAA0B,SAASR,GAClD,UAAC,gBAAAK,EAAAI,GAAA,EAAU,OAAM,QAAA,CAAQ,EAC3B,CAAA,GACF;AAAA,QAED,gBAAAJ,EAAAK,GAAA,EAAqB,GAAGR,GAAO,WAAU,SAAS,CAAA;AAAA,QAClDD,KAEG,gBAAAE,EAAAQ,GAAA,EAAA,UAAA;AAAA,UAAC,gBAAAN,EAAAO,GAAA,EAAU,SAAS,IAAK,CAAA;AAAA,UACzB,gBAAAP;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAASZ;AAAA,YAAA;AAAA,UAAA;AAAA,QACX,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigator.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/navigator.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\n\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport Separator from '../../../ui/separator/separator';\nimport { GuideContainer } from './worksheet-sidebar-styled';\n\nconst Navigator: React.FC = () => {\n const handleClick = useCallback((val: 'up' | 'down') => {\n const liveScrollView = document.getElementById('live-sheet-scroll-wrapper');\n const tabScrollView = document.getElementById('tab-content-container');\n const position = {\n top: val === 'up' ? -100 : 100,\n behavior: 'smooth',\n } as const;\n\n if (liveScrollView) {\n liveScrollView.scrollBy(position);\n } else if (tabScrollView) {\n tabScrollView.scrollBy(position);\n } else {\n window.scrollBy(position);\n }\n }, []);\n\n return (\n <GuideContainer $background=\"WHITE\">\n <Clickable label=\"up\" onClick={() => handleClick('up')}>\n <UpIcon />\n </Clickable>\n <Separator height={16} />\n <Clickable label=\"down\" onClick={() => handleClick('down')}>\n <DownIcon />\n </Clickable>\n </GuideContainer>\n );\n};\n\nexport default Navigator;\n"],"names":["Navigator","handleClick","useCallback","val","liveScrollView","tabScrollView","position","jsxs","GuideContainer","jsx","Clickable","UpIcon","Separator","DownIcon"],"mappings":";;;;;;;AAQA,MAAMA,IAAsB,MAAM;AAC1B,QAAAC,IAAcC,EAAY,CAACC,MAAuB;AAChD,UAAAC,IAAiB,SAAS,eAAe,2BAA2B,GACpEC,IAAgB,SAAS,eAAe,uBAAuB,GAC/DC,IAAW;AAAA,MACf,KAAKH,MAAQ,OAAO,OAAO;AAAA,MAC3B,UAAU;AAAA,IAAA;AAGZ,IAAIC,IACFA,EAAe,SAASE,CAAQ,IACvBD,IACTA,EAAc,SAASC,CAAQ,IAE/B,OAAO,SAASA,CAAQ;AAAA,EAE5B,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAC,EAACC,GAAe,EAAA,aAAY,SAC1B,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,OAAM,MAAK,SAAS,MAAMT,EAAY,IAAI,GACnD,UAAC,gBAAAQ,EAAAE,GAAA,CAAA,CAAO,EACV,CAAA;AAAA,IACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAH,EAACC,GAAU,EAAA,OAAM,QAAO,SAAS,MAAMT,EAAY,MAAM,GACvD,UAAC,gBAAAQ,EAAAI,GAAA,CAAA,CAAS,EACZ,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"navigator.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/navigator.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\n\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport Separator from '../../../ui/separator/separator';\nimport { GuideContainer } from './worksheet-sidebar-styled';\n\nconst Navigator: React.FC = () => {\n const handleClick = useCallback((val: 'up' | 'down') => {\n const liveScrollView = document.getElementById('live-sheet-scroll-wrapper');\n const tabScrollView = document.getElementById('tab-content-container');\n const position = {\n top: val === 'up' ? -100 : 100,\n behavior: 'smooth',\n } as const;\n\n if (liveScrollView) {\n liveScrollView.scrollBy(position);\n } else if (tabScrollView) {\n tabScrollView.scrollBy(position);\n } else {\n window.scrollBy(position);\n }\n }, []);\n\n return (\n <GuideContainer $background=\"WHITE\">\n <Clickable label=\"up\" onClick={() => handleClick('up')}>\n <UpIcon />\n </Clickable>\n <Separator height={16} />\n <Clickable label=\"down\" onClick={() => handleClick('down')}>\n <DownIcon />\n </Clickable>\n </GuideContainer>\n );\n};\n\nexport default Navigator;\n"],"names":["Navigator","handleClick","useCallback","val","liveScrollView","tabScrollView","position","jsxs","GuideContainer","jsx","Clickable","UpIcon","Separator","DownIcon"],"mappings":";;;;;;;AAQA,MAAMA,IAAsB,MAAM;AAC1B,QAAAC,IAAcC,EAAY,CAACC,MAAuB;AAChD,UAAAC,IAAiB,SAAS,eAAe,2BAA2B,GACpEC,IAAgB,SAAS,eAAe,uBAAuB,GAC/DC,IAAW;AAAA,MACf,KAAKH,MAAQ,OAAO,OAAO;AAAA,MAC3B,UAAU;AAAA,IACZ;AAEA,IAAIC,IACFA,EAAe,SAASE,CAAQ,IACvBD,IACTA,EAAc,SAASC,CAAQ,IAE/B,OAAO,SAASA,CAAQ;AAAA,EAE5B,GAAG,EAAE;AAGH,SAAA,gBAAAC,EAACC,GAAe,EAAA,aAAY,SAC1B,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,OAAM,MAAK,SAAS,MAAMT,EAAY,IAAI,GACnD,UAAC,gBAAAQ,EAAAE,GAAA,CAAA,CAAO,EACV,CAAA;AAAA,IACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAH,EAACC,GAAU,EAAA,OAAM,QAAO,SAAS,MAAMT,EAAY,MAAM,GACvD,UAAC,gBAAAQ,EAAAI,GAAA,CAAS,CAAA,EACZ,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"question-guide.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/question-guide.tsx"],"sourcesContent":["import type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\n\nimport React, { memo, useCallback, useEffect, useMemo, useState, useRef } from 'react';\n\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport EVENTS from '../../constants/events';\nimport {\n Section,\n GuideContainer,\n CloseIcon,\n SolIcon,\n HintIcon,\n SectionContainer,\n Guide,\n Pointer,\n} from './worksheet-sidebar-styled';\n\ntype TSections = 'HINT' | 'SOL';\n\ninterface IQuestionGuideProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n actionbarHeight: number;\n}\n\nconst QuestionGuide: React.FC<IQuestionGuideProps> = memo(\n ({ questionWidth, questions, activeQuestionIndex, learnosity, actionbarHeight, loggerRef }) => {\n const [activeSection, setActiveSection] = useState<TSections | undefined>();\n const [pointerPosition, setPointerPosition] = useState({\n top: 0,\n left: 0,\n });\n const { top, left } = pointerPosition;\n\n const handleHintClick = useCallback(() => {\n setActiveSection('HINT');\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n }, [loggerRef]);\n const handleSolClick = useCallback(() => {\n setActiveSection('SOL');\n loggerRef.current(EVENTS.WORKSHEET_V3_SOLUTION_SEEN);\n }, [loggerRef]);\n const handleClose = useCallback(() => {\n setActiveSection(() => undefined);\n }, []);\n\n const { hints, solution } = questions[activeQuestionIndex]?.metadata || {};\n\n const activeSectionData = useMemo(() => {\n return activeSection === undefined ? undefined : activeSection === 'HINT' ? hints : solution;\n }, [activeSection, hints, solution]);\n\n const sqlRef = useRef<HTMLDivElement>(null);\n const hintRef = useRef<HTMLDivElement>(null);\n\n const updatePointerPosition = useCallback((ref: React.RefObject<HTMLDivElement>) => {\n if (ref.current) {\n const rect = ref.current.getBoundingClientRect();\n\n setPointerPosition({\n top: rect.top + rect.height / 2 - 8,\n left: rect.right - 78, // 52px (sidebar width) + 16px (gutter) + 10px\n });\n }\n }, []);\n\n useEffect(() => {\n if (!activeSectionData) {\n setActiveSection(undefined);\n }\n learnosity.renderMath('mathjax');\n }, [activeSectionData, learnosity]);\n\n useEffect(() => {\n if (activeSection === 'HINT') {\n updatePointerPosition(hintRef);\n } else if (activeSection === 'SOL') {\n updatePointerPosition(sqlRef);\n }\n }, [activeSection, updatePointerPosition]);\n\n return (\n <GuideContainer $background=\"WHITE\">\n <Clickable label=\"hints\" onClick={handleHintClick} disabled={!hints}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={hintRef}>\n <HintIcon width={32} height={32} $disabled={!hints} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n HINT\n </Text>\n <FlexView $gap={8} $alignItems=\"center\">\n <Separator width={24} height={1} background=\"GREY_2\" />\n </FlexView>\n </FlexView>\n </Clickable>\n <Clickable label=\"solution\" onClick={handleSolClick} disabled={!solution}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={sqlRef}>\n <SolIcon width={32} height={32} $disabled={!solution} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n SOL\n </Text>\n </FlexView>\n </Clickable>\n {activeSection && top && left && <Pointer topValue={top} leftValue={left} />}\n {activeSection && (\n <SectionContainer\n $background=\"WHITE\"\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n $borderRadius={10}\n >\n <Section\n $gutterX={1}\n $gapX={1}\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n >\n <Clickable label=\"close\" onClick={handleClose}>\n <CloseIcon />\n </Clickable>\n <FlexView $gutterX={0.5}>\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection === 'HINT' ? 'HINTS:' : 'SOLUTION:'}\n </Text>\n </FlexView>\n {activeSectionData &&\n activeSectionData.map((item, index) => (\n <FlexView $gutterX={0.5} $gapX={0.5} key={index.toString()}>\n {activeSectionData.length > 1 && (\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection} {index + 1}:\n </Text>\n )}\n <Guide\n dangerouslySetInnerHTML={{\n __html: item,\n }}\n />\n </FlexView>\n ))}\n </Section>\n </SectionContainer>\n )}\n </GuideContainer>\n );\n },\n);\n\nexport default QuestionGuide;\n"],"names":["QuestionGuide","memo","questionWidth","questions","activeQuestionIndex","learnosity","actionbarHeight","loggerRef","activeSection","setActiveSection","useState","pointerPosition","setPointerPosition","top","left","handleHintClick","useCallback","EVENTS","handleSolClick","handleClose","hints","solution","_a","activeSectionData","useMemo","sqlRef","useRef","hintRef","updatePointerPosition","ref","rect","useEffect","jsxs","GuideContainer","jsx","Clickable","FlexView","HintIcon","Text","Separator","SolIcon","Pointer","SectionContainer","Section","CloseIcon","item","index","Guide"],"mappings":"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"}
1
+ {"version":3,"file":"question-guide.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/question-guide.tsx"],"sourcesContent":["import type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\n\nimport React, { memo, useCallback, useEffect, useMemo, useState, useRef } from 'react';\n\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport EVENTS from '../../constants/events';\nimport {\n Section,\n GuideContainer,\n CloseIcon,\n SolIcon,\n HintIcon,\n SectionContainer,\n Guide,\n Pointer,\n} from './worksheet-sidebar-styled';\n\ntype TSections = 'HINT' | 'SOL';\n\ninterface IQuestionGuideProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n actionbarHeight: number;\n}\n\nconst QuestionGuide: React.FC<IQuestionGuideProps> = memo(\n ({ questionWidth, questions, activeQuestionIndex, learnosity, actionbarHeight, loggerRef }) => {\n const [activeSection, setActiveSection] = useState<TSections | undefined>();\n const [pointerPosition, setPointerPosition] = useState({\n top: 0,\n left: 0,\n });\n const { top, left } = pointerPosition;\n\n const handleHintClick = useCallback(() => {\n setActiveSection('HINT');\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n }, [loggerRef]);\n const handleSolClick = useCallback(() => {\n setActiveSection('SOL');\n loggerRef.current(EVENTS.WORKSHEET_V3_SOLUTION_SEEN);\n }, [loggerRef]);\n const handleClose = useCallback(() => {\n setActiveSection(() => undefined);\n }, []);\n\n const { hints, solution } = questions[activeQuestionIndex]?.metadata || {};\n\n const activeSectionData = useMemo(() => {\n return activeSection === undefined ? undefined : activeSection === 'HINT' ? hints : solution;\n }, [activeSection, hints, solution]);\n\n const sqlRef = useRef<HTMLDivElement>(null);\n const hintRef = useRef<HTMLDivElement>(null);\n\n const updatePointerPosition = useCallback((ref: React.RefObject<HTMLDivElement>) => {\n if (ref.current) {\n const rect = ref.current.getBoundingClientRect();\n\n setPointerPosition({\n top: rect.top + rect.height / 2 - 8,\n left: rect.right - 78, // 52px (sidebar width) + 16px (gutter) + 10px\n });\n }\n }, []);\n\n useEffect(() => {\n if (!activeSectionData) {\n setActiveSection(undefined);\n }\n learnosity.renderMath('mathjax');\n }, [activeSectionData, learnosity]);\n\n useEffect(() => {\n if (activeSection === 'HINT') {\n updatePointerPosition(hintRef);\n } else if (activeSection === 'SOL') {\n updatePointerPosition(sqlRef);\n }\n }, [activeSection, updatePointerPosition]);\n\n return (\n <GuideContainer $background=\"WHITE\">\n <Clickable label=\"hints\" onClick={handleHintClick} disabled={!hints}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={hintRef}>\n <HintIcon width={32} height={32} $disabled={!hints} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n HINT\n </Text>\n <FlexView $gap={8} $alignItems=\"center\">\n <Separator width={24} height={1} background=\"GREY_2\" />\n </FlexView>\n </FlexView>\n </Clickable>\n <Clickable label=\"solution\" onClick={handleSolClick} disabled={!solution}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={sqlRef}>\n <SolIcon width={32} height={32} $disabled={!solution} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n SOL\n </Text>\n </FlexView>\n </Clickable>\n {activeSection && top && left && <Pointer topValue={top} leftValue={left} />}\n {activeSection && (\n <SectionContainer\n $background=\"WHITE\"\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n $borderRadius={10}\n >\n <Section\n $gutterX={1}\n $gapX={1}\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n >\n <Clickable label=\"close\" onClick={handleClose}>\n <CloseIcon />\n </Clickable>\n <FlexView $gutterX={0.5}>\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection === 'HINT' ? 'HINTS:' : 'SOLUTION:'}\n </Text>\n </FlexView>\n {activeSectionData &&\n activeSectionData.map((item, index) => (\n <FlexView $gutterX={0.5} $gapX={0.5} key={index.toString()}>\n {activeSectionData.length > 1 && (\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection} {index + 1}:\n </Text>\n )}\n <Guide\n dangerouslySetInnerHTML={{\n __html: item,\n }}\n />\n </FlexView>\n ))}\n </Section>\n </SectionContainer>\n )}\n </GuideContainer>\n );\n },\n);\n\nexport default QuestionGuide;\n"],"names":["QuestionGuide","memo","questionWidth","questions","activeQuestionIndex","learnosity","actionbarHeight","loggerRef","activeSection","setActiveSection","useState","pointerPosition","setPointerPosition","top","left","handleHintClick","useCallback","EVENTS","handleSolClick","handleClose","hints","solution","_a","activeSectionData","useMemo","sqlRef","useRef","hintRef","updatePointerPosition","ref","rect","useEffect","jsxs","GuideContainer","jsx","Clickable","FlexView","HintIcon","Text","Separator","SolIcon","Pointer","SectionContainer","Section","CloseIcon","item","index","Guide"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/sidebar.tsx"],"sourcesContent":["import type { TUserTypes } from '../../../ui/types';\nimport type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\n\nimport { memo, useCallback } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport { SIDEBAR_WIDTH } from '../constants';\nimport Navigator from './navigator';\nimport QuestionGuide from './question-guide';\nimport {\n SideBarContainer,\n UnderlinedText,\n UnderlinedTextWrapper,\n} from './worksheet-sidebar-styled';\n\ninterface IWorksheetSideBarProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n userType: TUserTypes;\n height: number | string;\n actionbarHeight: number;\n openQuestionFeedbackModal?: (itemRef: string) => void;\n}\n\nconst WorksheetSideBar: React.FC<IWorksheetSideBarProps> = memo(\n ({\n questionWidth,\n questions,\n activeQuestionIndex,\n learnosity,\n userType,\n height,\n actionbarHeight,\n openQuestionFeedbackModal,\n loggerRef,\n }) => {\n const activeQuestion = questions[activeQuestionIndex];\n const { item_reference: itemRef } = activeQuestion ?? {};\n\n const onFeedbackClick = useCallback(() => {\n if (openQuestionFeedbackModal) {\n openQuestionFeedbackModal(itemRef || '');\n }\n }, [itemRef, openQuestionFeedbackModal]);\n\n if (userType !== 'TEACHER' || !openQuestionFeedbackModal) return null;\n\n return (\n <SideBarContainer\n $width={SIDEBAR_WIDTH}\n $questionWidth={questionWidth}\n $height={height}\n $justifyContent=\"space-between\"\n >\n <UnderlinedTextWrapper $width={SIDEBAR_WIDTH} $alignItems=\"flex-start\" $gapX={0.5}>\n <UnderlinedText $renderAs=\"cta1\" onClick={onFeedbackClick}>\n Question Feedback\n </UnderlinedText>\n </UnderlinedTextWrapper>\n\n <FlexView>\n <QuestionGuide\n questionWidth={questionWidth}\n questions={questions}\n activeQuestionIndex={activeQuestionIndex}\n learnosity={learnosity}\n actionbarHeight={actionbarHeight}\n loggerRef={loggerRef}\n />\n <Separator heightX={0.5} />\n <Navigator />\n </FlexView>\n </SideBarContainer>\n );\n },\n);\n\nexport default WorksheetSideBar;\n"],"names":["WorksheetSideBar","memo","questionWidth","questions","activeQuestionIndex","learnosity","userType","height","actionbarHeight","openQuestionFeedbackModal","loggerRef","activeQuestion","itemRef","onFeedbackClick","useCallback","jsxs","SideBarContainer","SIDEBAR_WIDTH","jsx","UnderlinedTextWrapper","UnderlinedText","FlexView","QuestionGuide","Separator","Navigator"],"mappings":";;;;;;;;AA2BA,MAAMA,IAAqDC;AAAA,EACzD,CAAC;AAAA,IACC,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAiBR,EAAUC,CAAmB,GAC9C,EAAE,gBAAgBQ,MAAYD,KAAkB,CAAA,GAEhDE,IAAkBC,EAAY,MAAM;AACxC,MAAIL,KACFA,EAA0BG,KAAW,EAAE;AAAA,IACzC,GACC,CAACA,GAASH,CAAyB,CAAC;AAEvC,WAAIH,MAAa,aAAa,CAACG,IAAkC,OAG/D,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,QAAQC;AAAA,QACR,gBAAgBf;AAAA,QAChB,SAASK;AAAA,QACT,iBAAgB;AAAA,QAEhB,UAAA;AAAA,UAAA,gBAAAW,EAACC,GAAsB,EAAA,QAAQF,GAAe,aAAY,cAAa,OAAO,KAC5E,UAAC,gBAAAC,EAAAE,GAAA,EAAe,WAAU,QAAO,SAASP,GAAiB,8BAE3D,CAAA,GACF;AAAA,4BAECQ,GACC,EAAA,UAAA;AAAA,YAAA,gBAAAH;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,eAAApB;AAAA,gBACA,WAAAC;AAAA,gBACA,qBAAAC;AAAA,gBACA,YAAAC;AAAA,gBACA,iBAAAG;AAAA,gBACA,WAAAE;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAQ,EAACK,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,8BACxBC,GAAU,EAAA;AAAA,UAAA,GACb;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
1
+ {"version":3,"file":"sidebar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/sidebar.tsx"],"sourcesContent":["import type { TUserTypes } from '../../../ui/types';\nimport type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\n\nimport { memo, useCallback } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport { SIDEBAR_WIDTH } from '../constants';\nimport Navigator from './navigator';\nimport QuestionGuide from './question-guide';\nimport {\n SideBarContainer,\n UnderlinedText,\n UnderlinedTextWrapper,\n} from './worksheet-sidebar-styled';\n\ninterface IWorksheetSideBarProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n userType: TUserTypes;\n height: number | string;\n actionbarHeight: number;\n openQuestionFeedbackModal?: (itemRef: string) => void;\n}\n\nconst WorksheetSideBar: React.FC<IWorksheetSideBarProps> = memo(\n ({\n questionWidth,\n questions,\n activeQuestionIndex,\n learnosity,\n userType,\n height,\n actionbarHeight,\n openQuestionFeedbackModal,\n loggerRef,\n }) => {\n const activeQuestion = questions[activeQuestionIndex];\n const { item_reference: itemRef } = activeQuestion ?? {};\n\n const onFeedbackClick = useCallback(() => {\n if (openQuestionFeedbackModal) {\n openQuestionFeedbackModal(itemRef || '');\n }\n }, [itemRef, openQuestionFeedbackModal]);\n\n if (userType !== 'TEACHER' || !openQuestionFeedbackModal) return null;\n\n return (\n <SideBarContainer\n $width={SIDEBAR_WIDTH}\n $questionWidth={questionWidth}\n $height={height}\n $justifyContent=\"space-between\"\n >\n <UnderlinedTextWrapper $width={SIDEBAR_WIDTH} $alignItems=\"flex-start\" $gapX={0.5}>\n <UnderlinedText $renderAs=\"cta1\" onClick={onFeedbackClick}>\n Question Feedback\n </UnderlinedText>\n </UnderlinedTextWrapper>\n\n <FlexView>\n <QuestionGuide\n questionWidth={questionWidth}\n questions={questions}\n activeQuestionIndex={activeQuestionIndex}\n learnosity={learnosity}\n actionbarHeight={actionbarHeight}\n loggerRef={loggerRef}\n />\n <Separator heightX={0.5} />\n <Navigator />\n </FlexView>\n </SideBarContainer>\n );\n },\n);\n\nexport default WorksheetSideBar;\n"],"names":["WorksheetSideBar","memo","questionWidth","questions","activeQuestionIndex","learnosity","userType","height","actionbarHeight","openQuestionFeedbackModal","loggerRef","activeQuestion","itemRef","onFeedbackClick","useCallback","jsxs","SideBarContainer","SIDEBAR_WIDTH","jsx","UnderlinedTextWrapper","UnderlinedText","FlexView","QuestionGuide","Separator","Navigator"],"mappings":";;;;;;;;AA2BA,MAAMA,IAAqDC;AAAA,EACzD,CAAC;AAAA,IACC,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAiBR,EAAUC,CAAmB,GAC9C,EAAE,gBAAgBQ,EAAQ,IAAID,KAAkB,CAAC,GAEjDE,IAAkBC,EAAY,MAAM;AACxC,MAAIL,KACFA,EAA0BG,KAAW,EAAE;AAAA,IACzC,GACC,CAACA,GAASH,CAAyB,CAAC;AAEvC,WAAIH,MAAa,aAAa,CAACG,IAAkC,OAG/D,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,QAAQC;AAAA,QACR,gBAAgBf;AAAA,QAChB,SAASK;AAAA,QACT,iBAAgB;AAAA,QAEhB,UAAA;AAAA,UAAA,gBAAAW,EAACC,GAAsB,EAAA,QAAQF,GAAe,aAAY,cAAa,OAAO,KAC5E,UAAC,gBAAAC,EAAAE,GAAA,EAAe,WAAU,QAAO,SAASP,GAAiB,8BAE3D,CAAA,GACF;AAAA,4BAECQ,GACC,EAAA,UAAA;AAAA,YAAA,gBAAAH;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,eAAApB;AAAA,gBACA,WAAAC;AAAA,gBACA,qBAAAC;AAAA,gBACA,YAAAC;AAAA,gBACA,iBAAAG;AAAA,gBACA,WAAAE;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAQ,EAACK,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,8BACxBC,GAAU,CAAA,CAAA;AAAA,UAAA,EACb,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-sidebar-styled.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport BulbIcon from '../../../../assets/line-icons/icons/bulb';\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport InfoIcon from '../../../../assets/line-icons/icons/info';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { CustomElement } from '../worksheet-question/worksheet-question-styled';\n\nexport const Circle = styled(FlexView)`\n border: 2px solid #000;\n`;\nexport const SectionContainer = styled(FlexView)<{\n $questionWidth: number;\n $actionbarHeight: number;\n}>(\n ({ $questionWidth, $actionbarHeight, theme }) => `\n position: absolute;\n bottom: ${$actionbarHeight}px;\n right: 80px; //52px(sidebar(width) +12px(gutter) + (16px)\n width: calc(${$questionWidth}px - 32px); // 32px is the left + right padding\n height: 30%;\n display: flex;\n border: 1px solid ${theme.colors.GREY_2};\n overflow: hidden;\n`,\n);\n\nexport const UnderlinedTextWrapper = styled(FlexView)`\n cursor: pointer;\n`;\n\nexport const UnderlinedText = styled(Text)`\n text-decoration: underline;\n white-space: nowrap;\n writing-mode: vertical-rl;\n text-align: right;\n`;\n\nexport const getMinHeightFromString = (minHeight: string) => {\n if (minHeight.startsWith('calc(')) {\n return minHeight.replace(')', ' - 0px)');\n }\n\n return minHeight;\n};\n\nconst negateString = (expression: string) => {\n const terms = expression.trim().split(/\\s+(?=[+-])/);\n const negatedTerms = terms.map(term => {\n if (term.startsWith('-')) {\n return `+${term.slice(1)}`; // change - to +\n }\n\n if (term.startsWith('+')) {\n return `-${term.slice(1)}`; // change + to -\n }\n\n return `-${term}`; // add leading '-'\n });\n\n return negatedTerms.join(' ');\n};\n\nexport const negateExpression = (expression: string) => {\n if (expression.startsWith('calc(') && expression.endsWith(')')) {\n expression = expression.slice(5, -1); // Remove 'calc(' and ')'\n const negatedTerms = negateString(expression);\n\n return `calc(${negatedTerms})`;\n }\n\n return negateString(expression);\n};\n\nexport const Section = styled(FlexView)<{\n $questionWidth: number;\n $actionbarHeight: number;\n}>(\n ({ $questionWidth }) => `\n width: calc(${$questionWidth}px - 32px); // 32px is the left + right padding\n overflow-y: auto;\n height: 100%;\n display: flex;\n`,\n);\nexport const SideBarContainer = styled(FlexView)<{\n $questionWidth: number;\n $height: number | string;\n}>(({ $questionWidth, $height }) => {\n return `\n margin-top: ${\n typeof $height === 'number'\n ? `${-$height}px`\n : negateExpression(getMinHeightFromString($height))\n };\n position: sticky;\n left: calc((100% - ${$questionWidth}px ) *.5 + ${$questionWidth}px + 12px);\n bottom: 16px;\n align-items: center;\n height: ${typeof $height === 'number' ? `${$height}px` : getMinHeightFromString($height)};\n z-index: 1;\n`;\n});\n\nexport const GuideContainer = styled(FlexView)(\n ({ theme }) => `\n width: 100%;\n border-radius: 8px;\n border: 1px solid ${theme.colors.GREY_2};\n justify-content: center;\n align-items: center;\n padding: 10px;\n`,\n);\n\nexport const Pointer = styled.div<{ topValue: number; leftValue: number }>`\n position: fixed;\n top: ${({ topValue }) => `${topValue}px`};\n left: ${({ leftValue }) => `${leftValue}px`};\n width: 15px;\n height: 15px;\n transform: rotate(45deg);\n background: white;\n border-top: 1px solid #e0e0e0;\n border-right: 1px solid #e0e0e0;\n`;\n\nexport const CloseIcon = styled(CrossIcon)`\n position: absolute;\n top: 8px;\n right: 16px;\n`;\n\nexport const HintIcon = styled(InfoIcon)<{ $disabled: boolean }>(({ theme, $disabled }) => {\n return `\n & path {\n stroke: ${$disabled ? theme.colors.GREY_4 : theme.colors.BLACK};\n }\n `;\n});\n\nexport const SolIcon = styled(BulbIcon)<{ $disabled: boolean }>(({ theme, $disabled }) => {\n return `\n & path {\n stroke: ${$disabled ? theme.colors.GREY_4 : theme.colors.BLACK};\n }\n `;\n});\n\nexport const Guide = styled(CustomElement)``;\n"],"names":["styled","FlexView","SectionContainer","$questionWidth","$actionbarHeight","theme","UnderlinedTextWrapper","UnderlinedText","Text","getMinHeightFromString","minHeight","negateString","expression","term","negateExpression","Section","SideBarContainer","$height","GuideContainer","Pointer","topValue","leftValue","CloseIcon","CrossIcon","HintIcon","InfoIcon","$disabled","SolIcon","BulbIcon","Guide","CustomElement"],"mappings":";;;;;;;AASsBA,EAAOC,CAAQ;AAAA;AAAA;AAGxB,MAAAC,IAAmBF,EAAOC,CAAQ;AAAA,EAI7C,CAAC,EAAE,gBAAAE,GAAgB,kBAAAC,GAAkB,OAAAC,EAAY,MAAA;AAAA;AAAA,YAEvCD,CAAgB;AAAA;AAAA,gBAEZD,CAAc;AAAA;AAAA;AAAA,sBAGRE,EAAM,OAAO,MAAM;AAAA;AAAA;AAGzC,GAEaC,IAAwBN,EAAOC,CAAQ;AAAA;AAAA,GAIvCM,IAAiBP,EAAOQ,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA,GAO5BC,IAAyB,CAACC,MACjCA,EAAU,WAAW,OAAO,IACvBA,EAAU,QAAQ,KAAK,SAAS,IAGlCA,GAGHC,IAAe,CAACC,MACNA,EAAW,KAAK,EAAE,MAAM,aAAa,EACxB,IAAI,CAAQC,MACjCA,EAAK,WAAW,GAAG,IACd,IAAIA,EAAK,MAAM,CAAC,CAAC,KAGtBA,EAAK,WAAW,GAAG,IACd,IAAIA,EAAK,MAAM,CAAC,CAAC,KAGnB,IAAIA,CAAI,EAChB,EAEmB,KAAK,GAAG,GAGjBC,IAAmB,CAACF,MAC3BA,EAAW,WAAW,OAAO,KAAKA,EAAW,SAAS,GAAG,KAC9CA,IAAAA,EAAW,MAAM,GAAG,EAAE,GAG5B,QAFcD,EAAaC,CAAU,CAEjB,OAGtBD,EAAaC,CAAU,GAGnBG,IAAUf,EAAOC,CAAQ;AAAA,EAIpC,CAAC,EAAE,gBAAAE,EAAA,MAAqB;AAAA,gBACVA,CAAc;AAAA;AAAA;AAAA;AAAA;AAK9B,GACaa,IAAmBhB,EAAOC,CAAQ,EAG5C,CAAC,EAAE,gBAAAE,GAAgB,SAAAc,QACb;AAAA,gBAEL,OAAOA,KAAY,WACf,GAAG,CAACA,CAAO,OACXH,EAAiBL,EAAuBQ,CAAO,CAAC,CACtD;AAAA;AAAA,uBAEqBd,CAAc,cAAcA,CAAc;AAAA;AAAA;AAAA,YAGrD,OAAOc,KAAY,WAAW,GAAGA,CAAO,OAAOR,EAAuBQ,CAAO,CAAC;AAAA;AAAA,CAGzF,GAEYC,IAAiBlB,EAAOC,CAAQ;AAAA,EAC3C,CAAC,EAAE,OAAAI,EAAA,MAAY;AAAA;AAAA;AAAA,sBAGKA,EAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAKzC,GAEac,IAAUnB,EAAO;AAAA;AAAA,SAErB,CAAC,EAAE,UAAAoB,EAAe,MAAA,GAAGA,CAAQ,IAAI;AAAA,UAChC,CAAC,EAAE,WAAAC,EAAgB,MAAA,GAAGA,CAAS,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAShCC,IAAYtB,EAAOuB,CAAS;AAAA;AAAA;AAAA;AAAA,GAM5BC,IAAWxB,EAAOyB,CAAQ,EAA0B,CAAC,EAAE,OAAApB,GAAO,WAAAqB,QAClE;AAAA;AAAA,gBAEOA,IAAYrB,EAAM,OAAO,SAASA,EAAM,OAAO,KAAK;AAAA;AAAA,GAGnE,GAEYsB,IAAU3B,EAAO4B,CAAQ,EAA0B,CAAC,EAAE,OAAAvB,GAAO,WAAAqB,QACjE;AAAA;AAAA,gBAEOA,IAAYrB,EAAM,OAAO,SAASA,EAAM,OAAO,KAAK;AAAA;AAAA,GAGnE,GAEYwB,IAAQ7B,EAAO8B,CAAa;"}
1
+ {"version":3,"file":"worksheet-sidebar-styled.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport BulbIcon from '../../../../assets/line-icons/icons/bulb';\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport InfoIcon from '../../../../assets/line-icons/icons/info';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { CustomElement } from '../worksheet-question/worksheet-question-styled';\n\nexport const Circle = styled(FlexView)`\n border: 2px solid #000;\n`;\nexport const SectionContainer = styled(FlexView)<{\n $questionWidth: number;\n $actionbarHeight: number;\n}>(\n ({ $questionWidth, $actionbarHeight, theme }) => `\n position: absolute;\n bottom: ${$actionbarHeight}px;\n right: 80px; //52px(sidebar(width) +12px(gutter) + (16px)\n width: calc(${$questionWidth}px - 32px); // 32px is the left + right padding\n height: 30%;\n display: flex;\n border: 1px solid ${theme.colors.GREY_2};\n overflow: hidden;\n`,\n);\n\nexport const UnderlinedTextWrapper = styled(FlexView)`\n cursor: pointer;\n`;\n\nexport const UnderlinedText = styled(Text)`\n text-decoration: underline;\n white-space: nowrap;\n writing-mode: vertical-rl;\n text-align: right;\n`;\n\nexport const getMinHeightFromString = (minHeight: string) => {\n if (minHeight.startsWith('calc(')) {\n return minHeight.replace(')', ' - 0px)');\n }\n\n return minHeight;\n};\n\nconst negateString = (expression: string) => {\n const terms = expression.trim().split(/\\s+(?=[+-])/);\n const negatedTerms = terms.map(term => {\n if (term.startsWith('-')) {\n return `+${term.slice(1)}`; // change - to +\n }\n\n if (term.startsWith('+')) {\n return `-${term.slice(1)}`; // change + to -\n }\n\n return `-${term}`; // add leading '-'\n });\n\n return negatedTerms.join(' ');\n};\n\nexport const negateExpression = (expression: string) => {\n if (expression.startsWith('calc(') && expression.endsWith(')')) {\n expression = expression.slice(5, -1); // Remove 'calc(' and ')'\n const negatedTerms = negateString(expression);\n\n return `calc(${negatedTerms})`;\n }\n\n return negateString(expression);\n};\n\nexport const Section = styled(FlexView)<{\n $questionWidth: number;\n $actionbarHeight: number;\n}>(\n ({ $questionWidth }) => `\n width: calc(${$questionWidth}px - 32px); // 32px is the left + right padding\n overflow-y: auto;\n height: 100%;\n display: flex;\n`,\n);\nexport const SideBarContainer = styled(FlexView)<{\n $questionWidth: number;\n $height: number | string;\n}>(({ $questionWidth, $height }) => {\n return `\n margin-top: ${\n typeof $height === 'number'\n ? `${-$height}px`\n : negateExpression(getMinHeightFromString($height))\n };\n position: sticky;\n left: calc((100% - ${$questionWidth}px ) *.5 + ${$questionWidth}px + 12px);\n bottom: 16px;\n align-items: center;\n height: ${typeof $height === 'number' ? `${$height}px` : getMinHeightFromString($height)};\n z-index: 1;\n`;\n});\n\nexport const GuideContainer = styled(FlexView)(\n ({ theme }) => `\n width: 100%;\n border-radius: 8px;\n border: 1px solid ${theme.colors.GREY_2};\n justify-content: center;\n align-items: center;\n padding: 10px;\n`,\n);\n\nexport const Pointer = styled.div<{ topValue: number; leftValue: number }>`\n position: fixed;\n top: ${({ topValue }) => `${topValue}px`};\n left: ${({ leftValue }) => `${leftValue}px`};\n width: 15px;\n height: 15px;\n transform: rotate(45deg);\n background: white;\n border-top: 1px solid #e0e0e0;\n border-right: 1px solid #e0e0e0;\n`;\n\nexport const CloseIcon = styled(CrossIcon)`\n position: absolute;\n top: 8px;\n right: 16px;\n`;\n\nexport const HintIcon = styled(InfoIcon)<{ $disabled: boolean }>(({ theme, $disabled }) => {\n return `\n & path {\n stroke: ${$disabled ? theme.colors.GREY_4 : theme.colors.BLACK};\n }\n `;\n});\n\nexport const SolIcon = styled(BulbIcon)<{ $disabled: boolean }>(({ theme, $disabled }) => {\n return `\n & path {\n stroke: ${$disabled ? theme.colors.GREY_4 : theme.colors.BLACK};\n }\n `;\n});\n\nexport const Guide = styled(CustomElement)``;\n"],"names":["styled","FlexView","SectionContainer","$questionWidth","$actionbarHeight","theme","UnderlinedTextWrapper","UnderlinedText","Text","getMinHeightFromString","minHeight","negateString","expression","term","negateExpression","Section","SideBarContainer","$height","GuideContainer","Pointer","topValue","leftValue","CloseIcon","CrossIcon","HintIcon","InfoIcon","$disabled","SolIcon","BulbIcon","Guide","CustomElement"],"mappings":";;;;;;;AASsBA,EAAOC,CAAQ;AAAA;AAAA;AAGxB,MAAAC,IAAmBF,EAAOC,CAAQ;AAAA,EAI7C,CAAC,EAAE,gBAAAE,GAAgB,kBAAAC,GAAkB,OAAAC,QAAY;AAAA;AAAA,YAEvCD,CAAgB;AAAA;AAAA,gBAEZD,CAAc;AAAA;AAAA;AAAA,sBAGRE,EAAM,OAAO,MAAM;AAAA;AAAA;AAGzC,GAEaC,IAAwBN,EAAOC,CAAQ;AAAA;AAAA,GAIvCM,IAAiBP,EAAOQ,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA,GAO5BC,IAAyB,CAACC,MACjCA,EAAU,WAAW,OAAO,IACvBA,EAAU,QAAQ,KAAK,SAAS,IAGlCA,GAGHC,IAAe,CAACC,MACNA,EAAW,KAAK,EAAE,MAAM,aAAa,EACxB,IAAI,CAAQC,MACjCA,EAAK,WAAW,GAAG,IACd,IAAIA,EAAK,MAAM,CAAC,CAAC,KAGtBA,EAAK,WAAW,GAAG,IACd,IAAIA,EAAK,MAAM,CAAC,CAAC,KAGnB,IAAIA,CAAI,EAChB,EAEmB,KAAK,GAAG,GAGjBC,IAAmB,CAACF,MAC3BA,EAAW,WAAW,OAAO,KAAKA,EAAW,SAAS,GAAG,KAC9CA,IAAAA,EAAW,MAAM,GAAG,EAAE,GAG5B,QAFcD,EAAaC,CAAU,CAEjB,OAGtBD,EAAaC,CAAU,GAGnBG,IAAUf,EAAOC,CAAQ;AAAA,EAIpC,CAAC,EAAE,gBAAAE,EAAA,MAAqB;AAAA,gBACVA,CAAc;AAAA;AAAA;AAAA;AAAA;AAK9B,GACaa,IAAmBhB,EAAOC,CAAQ,EAG5C,CAAC,EAAE,gBAAAE,GAAgB,SAAAc,QACb;AAAA,gBAEL,OAAOA,KAAY,WACf,GAAG,CAACA,CAAO,OACXH,EAAiBL,EAAuBQ,CAAO,CAAC,CACtD;AAAA;AAAA,uBAEqBd,CAAc,cAAcA,CAAc;AAAA;AAAA;AAAA,YAGrD,OAAOc,KAAY,WAAW,GAAGA,CAAO,OAAOR,EAAuBQ,CAAO,CAAC;AAAA;AAAA,CAGzF,GAEYC,IAAiBlB,EAAOC,CAAQ;AAAA,EAC3C,CAAC,EAAE,OAAAI,EAAA,MAAY;AAAA;AAAA;AAAA,sBAGKA,EAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAKzC,GAEac,IAAUnB,EAAO;AAAA;AAAA,SAErB,CAAC,EAAE,UAAAoB,EAAe,MAAA,GAAGA,CAAQ,IAAI;AAAA,UAChC,CAAC,EAAE,WAAAC,EAAgB,MAAA,GAAGA,CAAS,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAShCC,IAAYtB,EAAOuB,CAAS;AAAA;AAAA;AAAA;AAAA,GAM5BC,IAAWxB,EAAOyB,CAAQ,EAA0B,CAAC,EAAE,OAAApB,GAAO,WAAAqB,QAClE;AAAA;AAAA,gBAEOA,IAAYrB,EAAM,OAAO,SAASA,EAAM,OAAO,KAAK;AAAA;AAAA,GAGnE,GAEYsB,IAAU3B,EAAO4B,CAAQ,EAA0B,CAAC,EAAE,OAAAvB,GAAO,WAAAqB,QACjE;AAAA;AAAA,gBAEOA,IAAYrB,EAAM,OAAO,SAASA,EAAM,OAAO,KAAK;AAAA;AAAA,GAGnE,GAEYwB,IAAQ7B,EAAO8B,CAAa;"}
@@ -1,6 +1,6 @@
1
1
  import t from "styled-components";
2
2
  import i from "../../ui/layout/flex-view.js";
3
- import { QUESTIONS_GAP as d, WORKSHEET_CONTAINER_BORDER_RADIUS as n, TOP_NAVIGATION_HEIGHT as c, ACTION_BAR_HEIGHT as p, SIDEBAR_WIDTH as l } from "./constants.js";
3
+ import { WORKSHEET_CONTAINER_BORDER_RADIUS as n, TOP_NAVIGATION_HEIGHT as d, ACTION_BAR_HEIGHT as p, SIDEBAR_WIDTH as c, QUESTIONS_GAP as l } from "./constants.js";
4
4
  const $ = t(i)(({ $topOffset: o }) => `
5
5
  position: sticky;
6
6
  top: ${o}px;
@@ -21,7 +21,7 @@ const $ = t(i)(({ $topOffset: o }) => `
21
21
  border-left: 1px solid ${r.colors.GREY_2};
22
22
  border-right: 1px solid ${r.colors.GREY_2};
23
23
  ` : ""}
24
- padding-top: ${d}px;
24
+ padding-top: ${l}px;
25
25
  z-index: 0;
26
26
  `
27
27
  ), _ = t(i)(
@@ -68,7 +68,7 @@ const $ = t(i)(({ $topOffset: o }) => `
68
68
  box-sizing: content-box;
69
69
  position: sticky;
70
70
  width: calc(100% - 2px);
71
- top: ${e + c}px;
71
+ top: ${e + d}px;
72
72
  z-index: 2;
73
73
  min-height: ${r}${typeof r == "number" ? "px" : ""};
74
74
  padding-bottom: ${p / 2}px;
@@ -113,7 +113,7 @@ const $ = t(i)(({ $topOffset: o }) => `
113
113
  ), A = t(i)`
114
114
  position: absolute;
115
115
  bottom: 8px;
116
- right: -${l}px;
116
+ right: -${c}px;
117
117
  align-items: center;
118
118
  z-index: 1;
119
119
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-styled.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport {\n ACTION_BAR_HEIGHT,\n QUESTIONS_GAP,\n SIDEBAR_WIDTH,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_CONTAINER_BORDER_RADIUS,\n} from './constants';\n\nconst NudgeBannerWrapper = styled(FlexView)<{ $topOffset: number }>(({ $topOffset }) => {\n return `\n position: sticky;\n top: ${$topOffset}px;\n z-index: 1;\n `;\n});\n\nconst NudgeBannerIcon = styled.div(({ theme }) => {\n const { colors } = theme;\n\n return `\n width: 16px;\n height: 16px;\n border-radius: 32px;\n border: 0.667px solid ${colors.BLACK_T_87}\n `;\n});\n\nconst WorksheetContainer = styled(FlexView)`\n position: relative;\n`;\n\ninterface IQuestionsWrapperProps {\n $actionbarHeight: number;\n $isCardView: boolean;\n}\n\nconst QuestionsWrapper = styled(FlexView)<IQuestionsWrapperProps>(\n ({ $isCardView, theme }) => `\n ${\n $isCardView\n ? `\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n `\n : ''\n }\n padding-top: ${QUESTIONS_GAP}px;\n z-index: 0;\n`,\n);\n\nconst NavigationContainer = styled(FlexView)<{ $topOffset: number }>(\n ({ theme, $topOffset }) => `\n position: sticky;\n top: ${$topOffset}px;\n width: 100%;\n z-index: 1;\n justify-content: flex-end;\n background-color: ${theme.colors.WHITE};\n`,\n);\n\nconst NavigationWrapper = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.GREY_2};\n border-top: 0px;\n border-radius: ${WORKSHEET_CONTAINER_BORDER_RADIUS}px ${WORKSHEET_CONTAINER_BORDER_RADIUS}px 0 0;\n overflow: hidden;\n`;\n\nconst ActionbarContainer = styled(FlexView)<{ $isCardView: boolean; $marginTop: string | number }>(\n ({ theme: { colors }, $height, $isCardView, $marginTop }) => `\n position: sticky;\n top: calc(100% - ${$height}px);\n margin-top: -${$marginTop}px;\n z-index: 1;\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n `\n : ''\n }\n `,\n);\n\nconst ActionbarWrapper = styled(FlexView)<{ $isCardView: boolean }>(\n ({ theme: { colors }, $isCardView }) => `\n align-items: center;\n justify-content: center;\n align-self: center;\n background-color: ${colors.WHITE};\n border-top: 1px solid ${colors.GREY_2};\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n `\n : ''\n }\n `,\n);\n\ninterface IBlockerWrapperProps {\n $minHeight: number | string;\n $topOffset: number;\n}\n\nconst BlockerWrapper = styled(FlexView)<IBlockerWrapperProps>(\n ({ theme, $minHeight, $topOffset }) => `\n box-sizing: content-box;\n position: sticky;\n width: calc(100% - 2px);\n top: ${$topOffset + TOP_NAVIGATION_HEIGHT}px;\n z-index: 2;\n min-height: ${$minHeight}${typeof $minHeight === 'number' ? 'px' : ''};\n padding-bottom: ${ACTION_BAR_HEIGHT / 2}px;\n background-color: ${theme.colors.WHITE_70};\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n backdrop-filter: blur(7px);\n align-items: center;\n justify-content: center;\n\n & * {\n box-sizing: border-box;\n }\n`,\n);\n\nconst SummaryWrapper = styled(FlexView)`\n position: absolute;\n width: 100%;\n bottom: ${ACTION_BAR_HEIGHT}px;\n left: 0;\n`;\n\nconst DesmosCalcWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: sticky;\n top: 0;\n left: 0;\n z-index: ${theme.zIndex.DESMOS_CALCULATOR};\n `;\n});\n\nconst IconContainer = styled(FlexView)<{ $active: boolean }>(\n ({ theme, $active }) => `\n width: 36px;\n height: 36px;\n border-radius: 50%;\n &:hover {\n cursor: pointer;\n background-color: ${theme.colors.BLACK};\n svg path {\n stroke: ${theme.colors.WHITE};\n }\n }\n background-color: ${$active ? theme.colors.BLACK : theme.colors.WHITE};\n svg path {\n stroke: ${$active ? theme.colors.WHITE : theme.colors.BLACK};\n }\n`,\n);\n\nconst StudentWorksheetSideBar = styled(FlexView)`\n position: absolute;\n bottom: 8px;\n right: -${SIDEBAR_WIDTH}px;\n align-items: center;\n z-index: 1;\n`;\n\nexport {\n NudgeBannerWrapper,\n NudgeBannerIcon,\n WorksheetContainer,\n QuestionsWrapper,\n NavigationContainer,\n ActionbarContainer,\n NavigationWrapper,\n ActionbarWrapper,\n BlockerWrapper,\n SummaryWrapper,\n IconContainer,\n DesmosCalcWrapper,\n StudentWorksheetSideBar,\n};\n"],"names":["NudgeBannerWrapper","styled","FlexView","$topOffset","NudgeBannerIcon","theme","colors","WorksheetContainer","QuestionsWrapper","$isCardView","QUESTIONS_GAP","NavigationContainer","NavigationWrapper","WORKSHEET_CONTAINER_BORDER_RADIUS","ActionbarContainer","$height","$marginTop","ActionbarWrapper","BlockerWrapper","$minHeight","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","SummaryWrapper","DesmosCalcWrapper","IconContainer","$active","StudentWorksheetSideBar","SIDEBAR_WIDTH"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-styled.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport {\n ACTION_BAR_HEIGHT,\n QUESTIONS_GAP,\n SIDEBAR_WIDTH,\n TOP_NAVIGATION_HEIGHT,\n WORKSHEET_CONTAINER_BORDER_RADIUS,\n} from './constants';\n\nconst NudgeBannerWrapper = styled(FlexView)<{ $topOffset: number }>(({ $topOffset }) => {\n return `\n position: sticky;\n top: ${$topOffset}px;\n z-index: 1;\n `;\n});\n\nconst NudgeBannerIcon = styled.div(({ theme }) => {\n const { colors } = theme;\n\n return `\n width: 16px;\n height: 16px;\n border-radius: 32px;\n border: 0.667px solid ${colors.BLACK_T_87}\n `;\n});\n\nconst WorksheetContainer = styled(FlexView)`\n position: relative;\n`;\n\ninterface IQuestionsWrapperProps {\n $actionbarHeight: number;\n $isCardView: boolean;\n}\n\nconst QuestionsWrapper = styled(FlexView)<IQuestionsWrapperProps>(\n ({ $isCardView, theme }) => `\n ${\n $isCardView\n ? `\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n `\n : ''\n }\n padding-top: ${QUESTIONS_GAP}px;\n z-index: 0;\n`,\n);\n\nconst NavigationContainer = styled(FlexView)<{ $topOffset: number }>(\n ({ theme, $topOffset }) => `\n position: sticky;\n top: ${$topOffset}px;\n width: 100%;\n z-index: 1;\n justify-content: flex-end;\n background-color: ${theme.colors.WHITE};\n`,\n);\n\nconst NavigationWrapper = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.GREY_2};\n border-top: 0px;\n border-radius: ${WORKSHEET_CONTAINER_BORDER_RADIUS}px ${WORKSHEET_CONTAINER_BORDER_RADIUS}px 0 0;\n overflow: hidden;\n`;\n\nconst ActionbarContainer = styled(FlexView)<{ $isCardView: boolean; $marginTop: string | number }>(\n ({ theme: { colors }, $height, $isCardView, $marginTop }) => `\n position: sticky;\n top: calc(100% - ${$height}px);\n margin-top: -${$marginTop}px;\n z-index: 1;\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n `\n : ''\n }\n `,\n);\n\nconst ActionbarWrapper = styled(FlexView)<{ $isCardView: boolean }>(\n ({ theme: { colors }, $isCardView }) => `\n align-items: center;\n justify-content: center;\n align-self: center;\n background-color: ${colors.WHITE};\n border-top: 1px solid ${colors.GREY_2};\n ${\n $isCardView\n ? `\n border-left: 1px solid ${colors.GREY_2};\n border-right: 1px solid ${colors.GREY_2};\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n `\n : ''\n }\n `,\n);\n\ninterface IBlockerWrapperProps {\n $minHeight: number | string;\n $topOffset: number;\n}\n\nconst BlockerWrapper = styled(FlexView)<IBlockerWrapperProps>(\n ({ theme, $minHeight, $topOffset }) => `\n box-sizing: content-box;\n position: sticky;\n width: calc(100% - 2px);\n top: ${$topOffset + TOP_NAVIGATION_HEIGHT}px;\n z-index: 2;\n min-height: ${$minHeight}${typeof $minHeight === 'number' ? 'px' : ''};\n padding-bottom: ${ACTION_BAR_HEIGHT / 2}px;\n background-color: ${theme.colors.WHITE_70};\n border-left: 1px solid ${theme.colors.GREY_2};\n border-right: 1px solid ${theme.colors.GREY_2};\n backdrop-filter: blur(7px);\n align-items: center;\n justify-content: center;\n\n & * {\n box-sizing: border-box;\n }\n`,\n);\n\nconst SummaryWrapper = styled(FlexView)`\n position: absolute;\n width: 100%;\n bottom: ${ACTION_BAR_HEIGHT}px;\n left: 0;\n`;\n\nconst DesmosCalcWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: sticky;\n top: 0;\n left: 0;\n z-index: ${theme.zIndex.DESMOS_CALCULATOR};\n `;\n});\n\nconst IconContainer = styled(FlexView)<{ $active: boolean }>(\n ({ theme, $active }) => `\n width: 36px;\n height: 36px;\n border-radius: 50%;\n &:hover {\n cursor: pointer;\n background-color: ${theme.colors.BLACK};\n svg path {\n stroke: ${theme.colors.WHITE};\n }\n }\n background-color: ${$active ? theme.colors.BLACK : theme.colors.WHITE};\n svg path {\n stroke: ${$active ? theme.colors.WHITE : theme.colors.BLACK};\n }\n`,\n);\n\nconst StudentWorksheetSideBar = styled(FlexView)`\n position: absolute;\n bottom: 8px;\n right: -${SIDEBAR_WIDTH}px;\n align-items: center;\n z-index: 1;\n`;\n\nexport {\n NudgeBannerWrapper,\n NudgeBannerIcon,\n WorksheetContainer,\n QuestionsWrapper,\n NavigationContainer,\n ActionbarContainer,\n NavigationWrapper,\n ActionbarWrapper,\n BlockerWrapper,\n SummaryWrapper,\n IconContainer,\n DesmosCalcWrapper,\n StudentWorksheetSideBar,\n};\n"],"names":["NudgeBannerWrapper","styled","FlexView","$topOffset","NudgeBannerIcon","theme","colors","WorksheetContainer","QuestionsWrapper","$isCardView","QUESTIONS_GAP","NavigationContainer","NavigationWrapper","WORKSHEET_CONTAINER_BORDER_RADIUS","ActionbarContainer","$height","$marginTop","ActionbarWrapper","BlockerWrapper","$minHeight","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","SummaryWrapper","DesmosCalcWrapper","IconContainer","$active","StudentWorksheetSideBar","SIDEBAR_WIDTH"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-summary.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-summary/worksheet-summary.tsx"],"sourcesContent":["import type { IWorksheetSummaryProps } from './worksheet-summary-types';\nimport type { FC } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from './worksheet-summary-styled';\n\nconst WorksheetSummary: FC<IWorksheetSummaryProps> = ({\n minHeight,\n worksheetName,\n summaryDescription,\n ...other\n}) => {\n return (\n <Styled.SummaryWrapper $alignItems=\"center\" $minHeight={minHeight} $background=\"WHITE\">\n {summaryDescription ? (\n summaryDescription\n ) : (\n <FlexView $widthX={40} $gapX={2}>\n <Text $renderAs=\"h4\" $marginBottomX={0.75}>\n Check your work\n </Text>\n <WorksheetQuestionsSummary worksheetName={worksheetName} {...other} />\n </FlexView>\n )}\n </Styled.SummaryWrapper>\n );\n};\n\nexport default WorksheetSummary;\n"],"names":["WorksheetSummary","minHeight","worksheetName","summaryDescription","other","Styled.SummaryWrapper","jsxs","FlexView","jsx","Text","WorksheetQuestionsSummary"],"mappings":";;;;;AAQA,MAAMA,IAA+C,CAAC;AAAA,EACpD,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,GAAGC;AACL,wBAEKC,GAAA,EAAsB,aAAY,UAAS,YAAYJ,GAAW,aAAY,SAC5E,eAGC,gBAAAK,EAACC,KAAS,SAAS,IAAI,OAAO,GAC5B,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,MAAK,gBAAgB,MAAM,UAE3C,mBAAA;AAAA,EACC,gBAAAD,EAAAE,GAAA,EAA0B,eAAAR,GAA+B,GAAGE,EAAO,CAAA;AAAA,EACtE,CAAA,EAEJ,CAAA;"}
1
+ {"version":3,"file":"worksheet-summary.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-summary/worksheet-summary.tsx"],"sourcesContent":["import type { IWorksheetSummaryProps } from './worksheet-summary-types';\nimport type { FC } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from './worksheet-summary-styled';\n\nconst WorksheetSummary: FC<IWorksheetSummaryProps> = ({\n minHeight,\n worksheetName,\n summaryDescription,\n ...other\n}) => {\n return (\n <Styled.SummaryWrapper $alignItems=\"center\" $minHeight={minHeight} $background=\"WHITE\">\n {summaryDescription ? (\n summaryDescription\n ) : (\n <FlexView $widthX={40} $gapX={2}>\n <Text $renderAs=\"h4\" $marginBottomX={0.75}>\n Check your work\n </Text>\n <WorksheetQuestionsSummary worksheetName={worksheetName} {...other} />\n </FlexView>\n )}\n </Styled.SummaryWrapper>\n );\n};\n\nexport default WorksheetSummary;\n"],"names":["WorksheetSummary","minHeight","worksheetName","summaryDescription","other","Styled.SummaryWrapper","jsxs","FlexView","jsx","Text","WorksheetQuestionsSummary"],"mappings":";;;;;AAQA,MAAMA,IAA+C,CAAC;AAAA,EACpD,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,GAAGC;AACL,wBAEKC,GAAA,EAAsB,aAAY,UAAS,YAAYJ,GAAW,aAAY,SAC5E,eAGC,gBAAAK,EAACC,KAAS,SAAS,IAAI,OAAO,GAC5B,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,MAAK,gBAAgB,MAAM,UAE3C,mBAAA;AAAA,EACC,gBAAAD,EAAAE,GAAA,EAA0B,eAAAR,GAA+B,GAAGE,EAAO,CAAA;AAAA,EAAA,CACtE,EAEJ,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-summary-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.tsx"],"sourcesContent":["import type { IWorksheetSummaryControllerProps } from './worksheet-summary-controller-types';\nimport 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 Separator from '../../../ui/separator/separator';\n\nconst WorksheetSummaryController: FC<IWorksheetSummaryControllerProps> = memo(\n ({ onBack, onSubmit, behavior, canSubmitWorksheet }) => {\n const { canAttempt } = behavior;\n\n return (\n <>\n <Separator height={0} width={0} />\n <FlexView\n $background=\"WHITE\"\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $justifyContent=\"flex-end\"\n >\n <Button renderAs=\"secondary\" size=\"small\" widthX={6} label=\"Back\" onClick={onBack} />\n {canAttempt && canSubmitWorksheet && (\n <Button renderAs=\"primary\" size=\"small\" widthX={6} label=\"Submit\" onClick={onSubmit} />\n )}\n </FlexView>\n </>\n );\n },\n);\n\nexport default WorksheetSummaryController;\n"],"names":["WorksheetSummaryController","memo","onBack","onSubmit","behavior","canSubmitWorksheet","canAttempt","jsxs","Fragment","jsx","Separator","FlexView","Button"],"mappings":";;;;;AASA,MAAMA,IAAmEC;AAAA,EACvE,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,UAAAC,GAAU,oBAAAC,QAAyB;AAChD,UAAA,EAAE,YAAAC,EAAe,IAAAF;AAEvB,WAEI,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAU,EAAA,QAAQ,GAAG,OAAO,GAAG;AAAA,MAChC,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,aAAY;AAAA,UACZ,gBAAe;AAAA,UACf,WAAW;AAAA,UACX,iBAAgB;AAAA,UAEhB,UAAA;AAAA,YAAC,gBAAAF,EAAAG,GAAA,EAAO,UAAS,aAAY,MAAK,SAAQ,QAAQ,GAAG,OAAM,QAAO,SAASV,EAAQ,CAAA;AAAA,YAClFI,KAAcD,KACZ,gBAAAI,EAAAG,GAAA,EAAO,UAAS,WAAU,MAAK,SAAQ,QAAQ,GAAG,OAAM,UAAS,SAAST,GAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MAEzF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"worksheet-summary-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.tsx"],"sourcesContent":["import type { IWorksheetSummaryControllerProps } from './worksheet-summary-controller-types';\nimport 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 Separator from '../../../ui/separator/separator';\n\nconst WorksheetSummaryController: FC<IWorksheetSummaryControllerProps> = memo(\n ({ onBack, onSubmit, behavior, canSubmitWorksheet }) => {\n const { canAttempt } = behavior;\n\n return (\n <>\n <Separator height={0} width={0} />\n <FlexView\n $background=\"WHITE\"\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $justifyContent=\"flex-end\"\n >\n <Button renderAs=\"secondary\" size=\"small\" widthX={6} label=\"Back\" onClick={onBack} />\n {canAttempt && canSubmitWorksheet && (\n <Button renderAs=\"primary\" size=\"small\" widthX={6} label=\"Submit\" onClick={onSubmit} />\n )}\n </FlexView>\n </>\n );\n },\n);\n\nexport default WorksheetSummaryController;\n"],"names":["WorksheetSummaryController","memo","onBack","onSubmit","behavior","canSubmitWorksheet","canAttempt","jsxs","Fragment","jsx","Separator","FlexView","Button"],"mappings":";;;;;AASA,MAAMA,IAAmEC;AAAA,EACvE,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,UAAAC,GAAU,oBAAAC,QAAyB;AAChD,UAAA,EAAE,YAAAC,MAAeF;AAEvB,WAEI,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAU,EAAA,QAAQ,GAAG,OAAO,GAAG;AAAA,MAChC,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,aAAY;AAAA,UACZ,gBAAe;AAAA,UACf,WAAW;AAAA,UACX,iBAAgB;AAAA,UAEhB,UAAA;AAAA,YAAC,gBAAAF,EAAAG,GAAA,EAAO,UAAS,aAAY,MAAK,SAAQ,QAAQ,GAAG,OAAM,QAAO,SAASV,EAAQ,CAAA;AAAA,YAClFI,KAAcD,KACZ,gBAAAI,EAAAG,GAAA,EAAO,UAAS,WAAU,MAAK,SAAQ,QAAQ,GAAG,OAAM,UAAS,SAAST,EAAU,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEzF,GACF;AAAA,EAAA;AAGN;"}
@@ -16,7 +16,7 @@ import Ct from "./hooks/use-time-on-questions.js";
16
16
  import vt from "./question-tips.js";
17
17
  import yt from "./worksheet-action-bar/worksheet-action-bar.js";
18
18
  import Tt from "./worksheet-blocker/worksheet-blocker.js";
19
- import { getWorksheetDimensions as $t, getQuestionsFromItems as Et, getInitialResponses as _t, getLastUnlockedQuestionIndex as me, getInitialQuestionId as kt, getQuestionMetadata as wt, scrollToQuestion as M, getRenderableQuestions as Nt, getWorksheetNudgeBannerInfo as At } from "./worksheet-helpers.js";
19
+ import { getWorksheetDimensions as $t, getQuestionsFromItems as Et, getInitialResponses as _t, getLastUnlockedQuestionIndex as me, getWorksheetNudgeBannerInfo as kt, getInitialQuestionId as wt, getQuestionMetadata as Nt, scrollToQuestion as M, getRenderableQuestions as At } from "./worksheet-helpers.js";
20
20
  import Bt from "./worksheet-navigation/worksheet-navigation.js";
21
21
  import Rt from "./worksheet-question/worksheet-question.js";
22
22
  import Wt from "./worksheet-sidebar/navigator.js";
@@ -100,8 +100,8 @@ const jt = (fe, he) => {
100
100
  userType: s
101
101
  }) : t.length - 1,
102
102
  [a, u, t, c, s]
103
- ), l = t[p], r = c[(l == null ? void 0 : l.response_id) ?? ""], { bannerBackgroundColor: Ye, label: Ze } = At(s, !!Z), [_] = C(
104
- () => kt({
103
+ ), l = t[p], r = c[(l == null ? void 0 : l.response_id) ?? ""], { bannerBackgroundColor: Ye, label: Ze } = kt(s, !!Z), [_] = C(
104
+ () => wt({
105
105
  questions: t,
106
106
  initialQuestion: Fe,
107
107
  lastUnlockedQuestionIndex: me({
@@ -119,7 +119,7 @@ const jt = (fe, he) => {
119
119
  ), [f, K] = C(!1), [se, w] = C(), [ae, ce] = C(!1), le = Ct(a, c, k), et = y(
120
120
  (e, i) => {
121
121
  V((o) => {
122
- const m = wt(t, e);
122
+ const m = Nt(t, e);
123
123
  return m ? {
124
124
  ...o,
125
125
  [e]: {
@@ -386,7 +386,7 @@ const jt = (fe, he) => {
386
386
  $actionbarHeight: I,
387
387
  $isCardView: W === "card",
388
388
  children: [
389
- Nt({ questions: t, lastUnlockedQuestionIndex: p, userType: s }).map(
389
+ At({ questions: t, lastUnlockedQuestionIndex: p, userType: s }).map(
390
390
  (e, i) => {
391
391
  var S, X;
392
392
  const { response_id: o, is_optional: m } = e, h = (S = c[o]) == null ? void 0 : S.assignStatus;