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

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 +52 -43
  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":"worksheet-helpers.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-helpers.ts"],"sourcesContent":["import type { NODE_TYPES } from '../../../types/models/worksheet';\nimport type { TColorNames, TUserTypes } from '../../ui/types';\nimport type { TWorksheetQuestionPaperColor } from './worksheet-question/worksheet-question-types';\n\nimport Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport EditStarIcon from '../../../assets/line-icons/icons/edit-star';\nimport Edit2Icon from '../../../assets/line-icons/icons/edit2';\nimport QuestionLetterIcon from '../../../assets/line-icons/icons/question-letter';\nimport Star2Icon from '../../../assets/line-icons/icons/star2';\nimport EVENTS from '../constants/events';\nimport {\n ACTION_BAR_HEIGHT,\n OPTIONAL_ITEM_TYPES,\n QUESTION_WIDTH,\n SPLIT_QUESTION_WIDTH,\n} from './constants';\nimport {\n QUESTION_TAGS,\n type ILearnosityItem,\n type ILearnosityQuestion,\n type ISheetNudgeBannerInfo,\n type IWorksheetBehavior,\n type IWorksheetProps,\n type IWorksheetQuestion,\n type IWorksheetResponse,\n type TInstructorStimulus,\n type TItemType,\n type TSectionName,\n} from './worksheet-types';\n\ninterface IGetSectionNameFromItemType {\n (itemType?: TItemType): TSectionName | undefined;\n}\n\nconst getSectionNameFromItemType: IGetSectionNameFromItemType = itemType => {\n switch (itemType) {\n case 'overview':\n return 'overview';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n return 'learning';\n case 'practice-basic':\n case 'practice-basic-optional':\n return 'practice-basic';\n case 'practice-regular':\n case 'practice-regular-optional':\n return 'practice-regular';\n case 'exit-ticket':\n return 'exit-ticket';\n case 'advanced-explore':\n case 'advanced-we-do':\n case 'advanced-your-turn':\n case 'advanced-practice':\n return 'advanced';\n default:\n return undefined;\n }\n};\n\nconst isConceptIntroWidget = (instructorStimulus?: TInstructorStimulus) => {\n if (!instructorStimulus) {\n return false;\n }\n\n const lowerCaseInstructorStimulus = instructorStimulus.toLowerCase();\n\n return lowerCaseInstructorStimulus === 'intro' || lowerCaseInstructorStimulus === 'concept-intro';\n};\n\nconst getTagsMap = (tags: string[]): Record<string, string> => {\n return tags.reduce((acc, tag) => {\n const [key, value] = tag.split(':');\n const trimmedKey = key?.trim();\n const trimmedValue = value?.trim();\n\n if (!trimmedKey || !trimmedValue) {\n return acc;\n }\n\n return {\n ...acc,\n [trimmedKey.toLowerCase()]: trimmedValue,\n };\n }, {});\n};\n\ninterface IGetQuestionsFromItems {\n (\n items: ILearnosityItem[],\n options: {\n sectioned?: boolean;\n adaptive?: boolean;\n },\n ): IWorksheetQuestion[];\n}\nconst getQuestionsFromItems: IGetQuestionsFromItems = (\n items,\n { sectioned = false, adaptive = false },\n) => {\n if (sectioned) {\n return items.reduce((acc, item, itemIndex) => {\n let hasIntroWidget = false;\n const { content, questions, itemType } = item;\n const sectionName = getSectionNameFromItemType(itemType);\n const prevItem = acc[acc.length - 1];\n const itemDisplayNumber =\n sectionName === prevItem?.section_name && prevItem?.item_display_number\n ? prevItem.item_display_number + 1\n : 1;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map((responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n hasIntroWidget = hasIntroWidget || isConceptIntroWidget(question.instructor_stimulus);\n\n return {\n ...question,\n // Some questions are set to limited number of attempts which can show feedback which is causing the question to be stuck in the errored state\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemDisplayNumber,\n section_name: sectionName,\n item_type: sectioned ? itemType : undefined,\n is_optional: itemType ? OPTIONAL_ITEM_TYPES.includes(itemType) : false,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex - (hasIntroWidget ? 1 : 0),\n total_questions: orderedQuestionIds.length,\n } as IWorksheetQuestion;\n });\n\n hasIntroWidget = false;\n\n if (orderedQuestions?.[0] && itemIndex > 0 && items.length > 0) {\n const prevItemType = items[itemIndex - 1]?.itemType;\n const itemTypeDerived = itemType?.startsWith('advanced-') ? 'advanced' : itemType;\n const prevItemTypeDerived = prevItemType?.startsWith('advanced-')\n ? 'advanced'\n : prevItemType;\n\n if (\n (itemTypeDerived === 'practice-basic' ||\n itemTypeDerived === 'practice-regular' ||\n itemTypeDerived === 'exit-ticket' ||\n itemTypeDerived === 'advanced') &&\n itemTypeDerived !== prevItemTypeDerived\n ) {\n return [\n ...acc,\n {\n ...orderedQuestions[0],\n metadata: {\n ...orderedQuestions[0].metadata,\n teacher_tips: undefined,\n hints: undefined,\n solution: undefined,\n },\n instructor_stimulus: 'SystemIntro',\n response_id: `${itemType}-system-intro`,\n is_optional: itemType?.startsWith('advanced-'),\n },\n ...(orderedQuestions ?? []),\n ];\n }\n }\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n }\n\n const finalQuestions = items.reduce((acc, item, itemIndex) => {\n const { content, questions } = item;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map<IWorksheetQuestion>(\n (responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n return {\n ...question,\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemIndex + 1,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex,\n total_questions: orderedQuestionIds.length,\n };\n },\n );\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n\n if (adaptive) {\n const topics: string[] = [];\n const topicsOrder: Record<string, number> = {};\n\n return finalQuestions\n .sort((a, b) => {\n const aTopic = a.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n const bTopic = b.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n\n if (aTopic && topicsOrder[aTopic] === undefined) {\n topicsOrder[aTopic] = topics.length;\n topics.push(aTopic);\n }\n\n if (bTopic && topicsOrder[bTopic] === undefined) {\n topicsOrder[bTopic] = topics.length;\n topics.push(bTopic);\n }\n\n if (!aTopic || !bTopic) {\n return 0;\n }\n\n const aSortKey = `${topicsOrder[aTopic]}-${\n a.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n const bSortKey = `${topicsOrder[bTopic]}-${\n b.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n\n return aSortKey > bSortKey ? 1 : -1;\n })\n .map(question => {\n const topicOrder =\n topicsOrder[question.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC] ?? ''] ?? 0;\n const questionCode = question.item_tags_map[QUESTION_TAGS.QUESTION_CODE] ?? '';\n\n return {\n ...question,\n item_display_number: topicOrder * 3 + questionCode.length,\n };\n });\n }\n\n return finalQuestions;\n};\n\ninterface IGetInitialQuestionId {\n (params: {\n questions: IWorksheetQuestion[];\n initialQuestion: IWorksheetBehavior['initialQuestion'];\n lastUnlockedQuestionIndex: number;\n initialResponseId?: string;\n initialItemIndex?: number;\n }): string;\n}\n\nconst getInitialQuestionId: IGetInitialQuestionId = ({\n questions,\n initialQuestion,\n initialResponseId,\n initialItemIndex,\n lastUnlockedQuestionIndex,\n}) => {\n const unlockedQuestions = questions.slice(0, lastUnlockedQuestionIndex + 1);\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n\n if (initialResponseId && unlockedQuestions.find(q => q.response_id === initialResponseId)) {\n return initialResponseId;\n }\n\n if (\n typeof initialItemIndex === 'number' &&\n initialItemIndex <= lastUnlockedQuestion.item_number\n ) {\n const question = questions.find(q => q.item_number === initialItemIndex);\n\n if (question?.response_id) {\n return question.response_id;\n }\n }\n\n if (initialQuestion === 'FIRST' && questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n if (initialQuestion === 'CURRENT') {\n return lastUnlockedQuestion.response_id;\n }\n\n if (questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n throw new Error('Initial question not found');\n};\n\ninterface IGetLastUnlockedQuestionIndex {\n (options: {\n questions: IWorksheetQuestion[];\n responses: Record<string, IWorksheetResponse>;\n behavior: IWorksheetBehavior;\n userType: TUserTypes;\n }): number;\n}\n\nconst getLastUnlockedQuestionIndex: IGetLastUnlockedQuestionIndex = ({\n questions,\n responses,\n behavior,\n userType,\n}) => {\n const { maximumAttempts, teacherValidationEnabled, validation, navigationMode } = behavior;\n const questionIndex = [...questions].reverse().findIndex(q => {\n const qResp = responses[q.response_id];\n\n const { attemptsHistory, validatedByTeacher, assignStatus } = qResp ?? {};\n\n if (teacherValidationEnabled) {\n if (validatedByTeacher) {\n return true;\n }\n\n if (assignStatus === 'skipped') {\n return true;\n }\n\n return false;\n }\n\n const lastAttemptScore = attemptsHistory?.slice(-1)[0]?.score;\n\n if (lastAttemptScore) {\n if ((lastAttemptScore.score ?? 0) === lastAttemptScore.max_score) {\n return true;\n }\n\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n return maximumAttemptsReached;\n }\n\n if (!validation && navigationMode === 'LINEAR' && (qResp?.response || qResp?.skipped)) {\n return true;\n }\n\n return false;\n });\n\n if (questionIndex === -1) {\n return 0;\n }\n\n if (questionIndex === 0) {\n if (teacherValidationEnabled) {\n const unskippedQuestionIndex = [...questions].reverse().findIndex(q => {\n return responses[q.response_id]?.assignStatus !== 'skipped';\n });\n\n return questions.length - unskippedQuestionIndex - 1;\n }\n\n return questions.length - 1;\n }\n\n if (teacherValidationEnabled && userType === 'STUDENT') {\n const lastUnlockedQuestionIndex = questions.length - questionIndex;\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n const { assignStatus } = responses[lastUnlockedQuestion.response_id] ?? {};\n\n if (lastUnlockedQuestion.is_optional && !assignStatus) {\n return lastUnlockedQuestionIndex - 1;\n }\n\n return lastUnlockedQuestionIndex;\n }\n\n return questions.length - questionIndex;\n};\n\ntype TQuestionMetadata = Pick<\n IWorksheetResponse,\n 'widgetReference' | 'itemReference' | 'itemPosition' | 'questionPosition' | 'isOkayTypeQuestion'\n>;\n\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion[],\n questionId: string,\n): TQuestionMetadata;\nfunction getQuestionMetadata(question: IWorksheetQuestion): TQuestionMetadata;\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion | IWorksheetQuestion[],\n questionId?: string,\n) {\n const question = Array.isArray(questions)\n ? questions.find(q => q.response_id === questionId)\n : questions;\n\n if (!question) {\n throw new Error(`Question with id ${questionId} not found`);\n }\n\n return {\n widgetReference: question.metadata.widget_reference,\n itemReference: question.item_reference,\n itemPosition: question.item_number,\n questionPosition: question.question_number,\n isOkayTypeQuestion: isOkayTypeQuestion(question),\n score: {\n max_score:\n question?.validation?.valid_response?.score ?? 0 * question.metadata.valid_response_count,\n },\n tags: {\n ...question.item_tags_map,\n instructor_stimulus: question.instructor_stimulus,\n },\n };\n}\n\ninterface IGetInitialResponses {\n (questions: IWorksheetQuestion[]): Record<string, IWorksheetResponse>;\n}\n\nconst getInitialResponses: IGetInitialResponses = questions => {\n return questions.reduce(\n (acc, question) => ({\n ...acc,\n [question.response_id]: getQuestionMetadata(questions, question.response_id),\n }),\n {},\n );\n};\n\ninterface IGetWorksheetDimensions {\n (\n items: ILearnosityItem[],\n layout: IWorksheetProps['layout'],\n ): {\n questionsContainerWidth: number;\n maxQuestionWidth: number;\n actionbarHeight: number;\n };\n}\n\nconst getWorksheetDimensions: IGetWorksheetDimensions = (items, layout) => {\n const { actionBar } = layout;\n const isSingleColumn = !items.some(item =>\n item.questions.some(question => question.stimulus_review),\n );\n const actionbarHeight = actionBar === 'bottom' ? ACTION_BAR_HEIGHT : 0;\n\n return {\n questionsContainerWidth: isSingleColumn ? QUESTION_WIDTH : SPLIT_QUESTION_WIDTH,\n maxQuestionWidth: QUESTION_WIDTH,\n actionbarHeight,\n };\n};\n\ninterface IGetRenderableQuestions {\n (options: {\n questions: IWorksheetQuestion[];\n lastUnlockedQuestionIndex: number;\n userType: TUserTypes;\n }): IWorksheetQuestion[];\n}\nconst getRenderableQuestions: IGetRenderableQuestions = ({\n questions,\n lastUnlockedQuestionIndex,\n userType,\n}) => {\n if (userType === 'STUDENT') return questions.slice(0, lastUnlockedQuestionIndex + 1);\n\n return questions;\n};\n\ninterface IScrollToQuestion {\n (questionId: string, params?: { animation?: boolean }): void;\n}\n\nconst scrollToQuestion: IScrollToQuestion = (questionId, { animation = false } = {}) => {\n const $questionEl = document.querySelectorAll(`.widget-${questionId}`)[0];\n\n if ($questionEl) {\n $questionEl.scrollIntoView({\n block: 'start',\n behavior: animation ? 'smooth' : 'instant',\n });\n }\n};\n\ninterface IIsOkayTypeQuestion {\n (question: IWorksheetQuestion | ILearnosityQuestion): boolean;\n}\n\nconst isOkayTypeQuestion: IIsOkayTypeQuestion = question => {\n const { type, options, instructor_stimulus } = question;\n const itemType = 'item_type' in question ? question.item_type : undefined;\n\n if (\n itemType === 'overview' ||\n instructor_stimulus === 'Intro' ||\n instructor_stimulus === 'SystemIntro' ||\n instructor_stimulus === 'Concept-Intro'\n ) {\n return true;\n }\n\n return type === 'mcq' && options?.length === 1 ? true : false;\n};\n\nconst setMathJaxConfigInWindow = (\n logger: (eventName: string, data?: Record<string, unknown>) => void,\n) => {\n window.MathJax = {\n options: {\n enableMenu: false,\n ignoreHtmlClass: 'lrn_noMath',\n compileError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_COMPILE_ERROR);\n doc.compileError(math, err);\n },\n typesetError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_TYPESET_ERROR);\n doc.typesetError(math, err);\n // throw new Error('typesetError');\n },\n },\n tex: {\n inlineMath: [\n ['\\\\(', '\\\\)'],\n ['$$', '$$'],\n ],\n displayMath: [['\\\\[', '\\\\]']],\n macros: {\n abs: ['{|#1|}', 1],\n degree: ['°'],\n longdiv: ['{\\\\enclose{longdiv}{#1}}', 1],\n atomic: ['{_{#1}^{#2}}', 2],\n polyatomic: ['{_{#2}{}^{#1}}', 2],\n circledot: ['{\\\\odot}'],\n parallelogram: ['\\\\unicode{x25B1}'],\n ngtr: ['\\\\unicode{x226F}'],\n nless: ['\\\\unicode{x226E}'],\n MathQuillVarField: ['#1', 1],\n overarc: ['{\\\\overparen{#1}}', 1],\n },\n formatError: (jax, err) => {\n logger(EVENTS.MATHJAX_FORMAT_ERROR, {\n id: err.id,\n message: err.message,\n });\n jax.formatError(err);\n },\n },\n chtml: {\n minScale: 1,\n matchFontHeight: false,\n },\n };\n};\n\ninterface IGetPaperColorByQuestion {\n (question: IWorksheetQuestion): TWorksheetQuestionPaperColor;\n}\n\nconst getPaperColorByQuestion: IGetPaperColorByQuestion = question => {\n const { item_type, instructor_stimulus } = question;\n const lowerCaseInstructorStimulus = instructor_stimulus?.toLowerCase();\n\n switch (item_type) {\n case 'overview':\n return 'white';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n if (\n lowerCaseInstructorStimulus === 'instruction' ||\n lowerCaseInstructorStimulus === 'intro' ||\n lowerCaseInstructorStimulus === 'concept-intro'\n ) {\n return 'blue';\n }\n\n if (lowerCaseInstructorStimulus === 'task') {\n return 'green';\n }\n\n return 'yellow';\n case 'practice-basic':\n case 'practice-regular':\n return 'yellow';\n case 'exit-ticket':\n return 'purple';\n case 'advanced-practice':\n return 'orange';\n default:\n if (lowerCaseInstructorStimulus === 'learn') return 'blue';\n\n if (lowerCaseInstructorStimulus === 'try' || lowerCaseInstructorStimulus === 'apply')\n return 'green';\n\n return 'yellow';\n }\n};\n\nconst getQuestionBackgroundImage = (paperColor: TWorksheetQuestionPaperColor) => {\n return `https://cuemath-intel.s3.ap-southeast-1.amazonaws.com/media/math-canvas/paper-${paperColor}.png`;\n};\n\nconst getQuestionBorderColor = (\n paperColor: TWorksheetQuestionPaperColor,\n isActive?: boolean,\n): TColorNames => {\n if (!isActive) {\n return 'GREY_3';\n }\n\n switch (paperColor) {\n case 'orange':\n case 'white':\n return 'ORANGE_2';\n case 'blue':\n return 'BLUE_2';\n case 'green':\n return 'GREEN_2';\n case 'yellow':\n return 'YELLOW_2';\n case 'purple':\n return 'PURPLE_2';\n default:\n return 'GREY_3';\n }\n};\n\nconst getNavigationSectionBackgroundColor = (sectionName?: TSectionName): TColorNames => {\n switch (sectionName) {\n case 'learning':\n return 'BLUE_1';\n case 'practice-basic':\n case 'practice-regular':\n return 'YELLOW_1';\n case 'exit-ticket':\n return 'PURPLE_1';\n case 'advanced':\n return 'ORANGE_1';\n default:\n return 'YELLOW_1';\n }\n};\n\nconst getNavigationSectionName = (sectionName?: TSectionName): string => {\n switch (sectionName) {\n case 'learning':\n return 'Learning';\n case 'practice-basic':\n return 'Basic practice';\n case 'practice-regular':\n return 'Regular practice';\n case 'exit-ticket':\n return 'Mini quiz';\n case 'advanced':\n return 'Advanced work';\n default:\n return '';\n }\n};\n\nconst getNavigationSectionIcon = (sectionName?: TSectionName) => {\n switch (sectionName) {\n case 'learning':\n return Bulb2Icon;\n case 'practice-basic':\n return Edit2Icon;\n case 'practice-regular':\n return EditStarIcon;\n case 'exit-ticket':\n return QuestionLetterIcon;\n case 'advanced':\n return Star2Icon;\n default:\n return Bulb2Icon;\n }\n};\n\nconst isSATAssessmentNode = (nodeType: NODE_TYPES) =>\n nodeType === 'SAT_ENGLISH_ASSESSMENT' || nodeType === 'SAT_MATH_ASSESSMENT';\n\nconst getWorksheetNudgeBannerInfo = (\n userType: TUserTypes,\n markedAsCompleted: boolean,\n): ISheetNudgeBannerInfo => {\n const isTeacher = userType === 'TEACHER';\n\n if (markedAsCompleted) {\n return {\n bannerBackgroundColor: 'GREEN_4',\n label: isTeacher\n ? 'This sheet was marked as completed.'\n : 'Marked as completed by the teacher',\n };\n }\n\n return {\n bannerBackgroundColor: 'ORANGE_2',\n label: 'Complete this with your tutor in class',\n };\n};\n\nexport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n getPaperColorByQuestion,\n getQuestionBackgroundImage,\n getQuestionBorderColor,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n isConceptIntroWidget,\n isSATAssessmentNode,\n isOkayTypeQuestion,\n scrollToQuestion,\n setMathJaxConfigInWindow,\n getWorksheetNudgeBannerInfo,\n};\n"],"names":["getSectionNameFromItemType","itemType","isConceptIntroWidget","instructorStimulus","lowerCaseInstructorStimulus","getTagsMap","tags","acc","tag","key","value","trimmedKey","trimmedValue","getQuestionsFromItems","items","sectioned","adaptive","item","itemIndex","hasIntroWidget","content","questions","sectionName","prevItem","itemDisplayNumber","orderedQuestionIds","orderedQuestions","responseId","widgetIndex","question","respId","OPTIONAL_ITEM_TYPES","prevItemType","_a","itemTypeDerived","prevItemTypeDerived","finalQuestions","topics","topicsOrder","a","b","aTopic","QUESTION_TAGS","bTopic","aSortKey","bSortKey","_b","topicOrder","questionCode","getInitialQuestionId","initialQuestion","initialResponseId","initialItemIndex","lastUnlockedQuestionIndex","unlockedQuestions","lastUnlockedQuestion","q","getLastUnlockedQuestionIndex","responses","behavior","userType","maximumAttempts","teacherValidationEnabled","validation","navigationMode","questionIndex","qResp","attemptsHistory","validatedByTeacher","assignStatus","lastAttemptScore","unskippedQuestionIndex","getQuestionMetadata","questionId","isOkayTypeQuestion","getInitialResponses","getWorksheetDimensions","layout","actionBar","QUESTION_WIDTH","SPLIT_QUESTION_WIDTH","ACTION_BAR_HEIGHT","getRenderableQuestions","scrollToQuestion","animation","$questionEl","type","options","instructor_stimulus","setMathJaxConfigInWindow","logger","doc","math","err","EVENTS","jax","getPaperColorByQuestion","item_type","getQuestionBackgroundImage","paperColor","getQuestionBorderColor","isActive","getNavigationSectionBackgroundColor","getNavigationSectionName","getNavigationSectionIcon","Bulb2Icon","Edit2Icon","EditStarIcon","QuestionLetterIcon","Star2Icon","getWorksheetNudgeBannerInfo","markedAsCompleted","isTeacher"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-helpers.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-helpers.ts"],"sourcesContent":["import type { NODE_TYPES } from '../../../types/models/worksheet';\nimport type { TColorNames, TUserTypes } from '../../ui/types';\nimport type { TWorksheetQuestionPaperColor } from './worksheet-question/worksheet-question-types';\n\nimport Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport EditStarIcon from '../../../assets/line-icons/icons/edit-star';\nimport Edit2Icon from '../../../assets/line-icons/icons/edit2';\nimport QuestionLetterIcon from '../../../assets/line-icons/icons/question-letter';\nimport Star2Icon from '../../../assets/line-icons/icons/star2';\nimport EVENTS from '../constants/events';\nimport {\n ACTION_BAR_HEIGHT,\n OPTIONAL_ITEM_TYPES,\n QUESTION_WIDTH,\n SPLIT_QUESTION_WIDTH,\n} from './constants';\nimport {\n QUESTION_TAGS,\n type ILearnosityItem,\n type ILearnosityQuestion,\n type ISheetNudgeBannerInfo,\n type IWorksheetBehavior,\n type IWorksheetProps,\n type IWorksheetQuestion,\n type IWorksheetResponse,\n type TInstructorStimulus,\n type TItemType,\n type TSectionName,\n} from './worksheet-types';\n\ninterface IGetSectionNameFromItemType {\n (itemType?: TItemType): TSectionName | undefined;\n}\n\nconst getSectionNameFromItemType: IGetSectionNameFromItemType = itemType => {\n switch (itemType) {\n case 'overview':\n return 'overview';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n return 'learning';\n case 'practice-basic':\n case 'practice-basic-optional':\n return 'practice-basic';\n case 'practice-regular':\n case 'practice-regular-optional':\n return 'practice-regular';\n case 'exit-ticket':\n return 'exit-ticket';\n case 'advanced-explore':\n case 'advanced-we-do':\n case 'advanced-your-turn':\n case 'advanced-practice':\n return 'advanced';\n default:\n return undefined;\n }\n};\n\nconst isConceptIntroWidget = (instructorStimulus?: TInstructorStimulus) => {\n if (!instructorStimulus) {\n return false;\n }\n\n const lowerCaseInstructorStimulus = instructorStimulus.toLowerCase();\n\n return lowerCaseInstructorStimulus === 'intro' || lowerCaseInstructorStimulus === 'concept-intro';\n};\n\nconst getTagsMap = (tags: string[]): Record<string, string> => {\n return tags.reduce((acc, tag) => {\n const [key, value] = tag.split(':');\n const trimmedKey = key?.trim();\n const trimmedValue = value?.trim();\n\n if (!trimmedKey || !trimmedValue) {\n return acc;\n }\n\n return {\n ...acc,\n [trimmedKey.toLowerCase()]: trimmedValue,\n };\n }, {});\n};\n\ninterface IGetQuestionsFromItems {\n (\n items: ILearnosityItem[],\n options: {\n sectioned?: boolean;\n adaptive?: boolean;\n },\n ): IWorksheetQuestion[];\n}\nconst getQuestionsFromItems: IGetQuestionsFromItems = (\n items,\n { sectioned = false, adaptive = false },\n) => {\n if (sectioned) {\n return items.reduce((acc, item, itemIndex) => {\n let hasIntroWidget = false;\n const { content, questions, itemType } = item;\n const sectionName = getSectionNameFromItemType(itemType);\n const prevItem = acc[acc.length - 1];\n const itemDisplayNumber =\n sectionName === prevItem?.section_name && prevItem?.item_display_number\n ? prevItem.item_display_number + 1\n : 1;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map((responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n hasIntroWidget = hasIntroWidget || isConceptIntroWidget(question.instructor_stimulus);\n\n return {\n ...question,\n // Some questions are set to limited number of attempts which can show feedback which is causing the question to be stuck in the errored state\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemDisplayNumber,\n section_name: sectionName,\n item_type: sectioned ? itemType : undefined,\n is_optional: itemType ? OPTIONAL_ITEM_TYPES.includes(itemType) : false,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex - (hasIntroWidget ? 1 : 0),\n total_questions: orderedQuestionIds.length,\n } as IWorksheetQuestion;\n });\n\n hasIntroWidget = false;\n\n if (orderedQuestions?.[0] && itemIndex > 0 && items.length > 0) {\n const prevItemType = items[itemIndex - 1]?.itemType;\n const itemTypeDerived = itemType?.startsWith('advanced-') ? 'advanced' : itemType;\n const prevItemTypeDerived = prevItemType?.startsWith('advanced-')\n ? 'advanced'\n : prevItemType;\n\n if (\n (itemTypeDerived === 'practice-basic' ||\n itemTypeDerived === 'practice-regular' ||\n itemTypeDerived === 'exit-ticket' ||\n itemTypeDerived === 'advanced') &&\n itemTypeDerived !== prevItemTypeDerived\n ) {\n return [\n ...acc,\n {\n ...orderedQuestions[0],\n metadata: {\n ...orderedQuestions[0].metadata,\n teacher_tips: undefined,\n hints: undefined,\n solution: undefined,\n },\n instructor_stimulus: 'SystemIntro',\n response_id: `${itemType}-system-intro`,\n is_optional: itemType?.startsWith('advanced-'),\n },\n ...(orderedQuestions ?? []),\n ];\n }\n }\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n }\n\n const finalQuestions = items.reduce((acc, item, itemIndex) => {\n const { content, questions } = item;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map<IWorksheetQuestion>(\n (responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n return {\n ...question,\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemIndex + 1,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex,\n total_questions: orderedQuestionIds.length,\n };\n },\n );\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n\n if (adaptive) {\n const topics: string[] = [];\n const topicsOrder: Record<string, number> = {};\n\n return finalQuestions\n .sort((a, b) => {\n const aTopic = a.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n const bTopic = b.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n\n if (aTopic && topicsOrder[aTopic] === undefined) {\n topicsOrder[aTopic] = topics.length;\n topics.push(aTopic);\n }\n\n if (bTopic && topicsOrder[bTopic] === undefined) {\n topicsOrder[bTopic] = topics.length;\n topics.push(bTopic);\n }\n\n if (!aTopic || !bTopic) {\n return 0;\n }\n\n const aSortKey = `${topicsOrder[aTopic]}-${\n a.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n const bSortKey = `${topicsOrder[bTopic]}-${\n b.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n\n return aSortKey > bSortKey ? 1 : -1;\n })\n .map(question => {\n const topicOrder =\n topicsOrder[question.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC] ?? ''] ?? 0;\n const questionCode = question.item_tags_map[QUESTION_TAGS.QUESTION_CODE] ?? '';\n\n return {\n ...question,\n item_display_number: topicOrder * 3 + questionCode.length,\n };\n });\n }\n\n return finalQuestions;\n};\n\ninterface IGetInitialQuestionId {\n (params: {\n questions: IWorksheetQuestion[];\n initialQuestion: IWorksheetBehavior['initialQuestion'];\n lastUnlockedQuestionIndex: number;\n initialResponseId?: string;\n initialItemIndex?: number;\n }): string;\n}\n\nconst getInitialQuestionId: IGetInitialQuestionId = ({\n questions,\n initialQuestion,\n initialResponseId,\n initialItemIndex,\n lastUnlockedQuestionIndex,\n}) => {\n const unlockedQuestions = questions.slice(0, lastUnlockedQuestionIndex + 1);\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n\n if (initialResponseId && unlockedQuestions.find(q => q.response_id === initialResponseId)) {\n return initialResponseId;\n }\n\n if (\n typeof initialItemIndex === 'number' &&\n initialItemIndex <= lastUnlockedQuestion.item_number\n ) {\n const question = questions.find(q => q.item_number === initialItemIndex);\n\n if (question?.response_id) {\n return question.response_id;\n }\n }\n\n if (initialQuestion === 'FIRST' && questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n if (initialQuestion === 'CURRENT') {\n return lastUnlockedQuestion.response_id;\n }\n\n if (questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n throw new Error('Initial question not found');\n};\n\ninterface IGetLastUnlockedQuestionIndex {\n (options: {\n questions: IWorksheetQuestion[];\n responses: Record<string, IWorksheetResponse>;\n behavior: IWorksheetBehavior;\n userType: TUserTypes;\n }): number;\n}\n\nconst getLastUnlockedQuestionIndex: IGetLastUnlockedQuestionIndex = ({\n questions,\n responses,\n behavior,\n userType,\n}) => {\n const { maximumAttempts, teacherValidationEnabled, validation, navigationMode } = behavior;\n const questionIndex = [...questions].reverse().findIndex(q => {\n const qResp = responses[q.response_id];\n\n const { attemptsHistory, validatedByTeacher, assignStatus } = qResp ?? {};\n\n if (teacherValidationEnabled) {\n if (validatedByTeacher) {\n return true;\n }\n\n if (assignStatus === 'skipped') {\n return true;\n }\n\n return false;\n }\n\n const lastAttemptScore = attemptsHistory?.slice(-1)[0]?.score;\n\n if (lastAttemptScore) {\n if ((lastAttemptScore.score ?? 0) === lastAttemptScore.max_score) {\n return true;\n }\n\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n return maximumAttemptsReached;\n }\n\n if (!validation && navigationMode === 'LINEAR' && (qResp?.response || qResp?.skipped)) {\n return true;\n }\n\n return false;\n });\n\n if (questionIndex === -1) {\n return 0;\n }\n\n if (questionIndex === 0) {\n if (teacherValidationEnabled) {\n const unskippedQuestionIndex = [...questions].reverse().findIndex(q => {\n return responses[q.response_id]?.assignStatus !== 'skipped';\n });\n\n return questions.length - unskippedQuestionIndex - 1;\n }\n\n return questions.length - 1;\n }\n\n if (teacherValidationEnabled && userType === 'STUDENT') {\n const lastUnlockedQuestionIndex = questions.length - questionIndex;\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n const { assignStatus } = responses[lastUnlockedQuestion.response_id] ?? {};\n\n if (lastUnlockedQuestion.is_optional && !assignStatus) {\n return lastUnlockedQuestionIndex - 1;\n }\n\n return lastUnlockedQuestionIndex;\n }\n\n return questions.length - questionIndex;\n};\n\ntype TQuestionMetadata = Pick<\n IWorksheetResponse,\n 'widgetReference' | 'itemReference' | 'itemPosition' | 'questionPosition' | 'isOkayTypeQuestion'\n>;\n\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion[],\n questionId: string,\n): TQuestionMetadata;\nfunction getQuestionMetadata(question: IWorksheetQuestion): TQuestionMetadata;\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion | IWorksheetQuestion[],\n questionId?: string,\n) {\n const question = Array.isArray(questions)\n ? questions.find(q => q.response_id === questionId)\n : questions;\n\n if (!question) {\n throw new Error(`Question with id ${questionId} not found`);\n }\n\n return {\n widgetReference: question.metadata.widget_reference,\n itemReference: question.item_reference,\n itemPosition: question.item_number,\n questionPosition: question.question_number,\n isOkayTypeQuestion: isOkayTypeQuestion(question),\n score: {\n max_score:\n question?.validation?.valid_response?.score ?? 0 * question.metadata.valid_response_count,\n },\n tags: {\n ...question.item_tags_map,\n instructor_stimulus: question.instructor_stimulus,\n },\n };\n}\n\ninterface IGetInitialResponses {\n (questions: IWorksheetQuestion[]): Record<string, IWorksheetResponse>;\n}\n\nconst getInitialResponses: IGetInitialResponses = questions => {\n return questions.reduce(\n (acc, question) => ({\n ...acc,\n [question.response_id]: getQuestionMetadata(questions, question.response_id),\n }),\n {},\n );\n};\n\ninterface IGetWorksheetDimensions {\n (\n items: ILearnosityItem[],\n layout: IWorksheetProps['layout'],\n ): {\n questionsContainerWidth: number;\n maxQuestionWidth: number;\n actionbarHeight: number;\n };\n}\n\nconst getWorksheetDimensions: IGetWorksheetDimensions = (items, layout) => {\n const { actionBar } = layout;\n const isSingleColumn = !items.some(item =>\n item.questions.some(question => question.stimulus_review),\n );\n const actionbarHeight = actionBar === 'bottom' ? ACTION_BAR_HEIGHT : 0;\n\n return {\n questionsContainerWidth: isSingleColumn ? QUESTION_WIDTH : SPLIT_QUESTION_WIDTH,\n maxQuestionWidth: QUESTION_WIDTH,\n actionbarHeight,\n };\n};\n\ninterface IGetRenderableQuestions {\n (options: {\n questions: IWorksheetQuestion[];\n lastUnlockedQuestionIndex: number;\n userType: TUserTypes;\n }): IWorksheetQuestion[];\n}\nconst getRenderableQuestions: IGetRenderableQuestions = ({\n questions,\n lastUnlockedQuestionIndex,\n userType,\n}) => {\n if (userType === 'STUDENT') return questions.slice(0, lastUnlockedQuestionIndex + 1);\n\n return questions;\n};\n\ninterface IScrollToQuestion {\n (questionId: string, params?: { animation?: boolean }): void;\n}\n\nconst scrollToQuestion: IScrollToQuestion = (questionId, { animation = false } = {}) => {\n const $questionEl = document.querySelectorAll(`.widget-${questionId}`)[0];\n\n if ($questionEl) {\n $questionEl.scrollIntoView({\n block: 'start',\n behavior: animation ? 'smooth' : 'instant',\n });\n }\n};\n\ninterface IIsOkayTypeQuestion {\n (question: IWorksheetQuestion | ILearnosityQuestion): boolean;\n}\n\nconst isOkayTypeQuestion: IIsOkayTypeQuestion = question => {\n const { type, options, instructor_stimulus } = question;\n const itemType = 'item_type' in question ? question.item_type : undefined;\n\n if (\n itemType === 'overview' ||\n instructor_stimulus === 'Intro' ||\n instructor_stimulus === 'SystemIntro' ||\n instructor_stimulus === 'Concept-Intro'\n ) {\n return true;\n }\n\n return type === 'mcq' && options?.length === 1 ? true : false;\n};\n\nconst setMathJaxConfigInWindow = (\n logger: (eventName: string, data?: Record<string, unknown>) => void,\n) => {\n window.MathJax = {\n options: {\n enableMenu: false,\n ignoreHtmlClass: 'lrn_noMath',\n compileError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_COMPILE_ERROR);\n doc.compileError(math, err);\n },\n typesetError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_TYPESET_ERROR);\n doc.typesetError(math, err);\n // throw new Error('typesetError');\n },\n },\n tex: {\n inlineMath: [\n ['\\\\(', '\\\\)'],\n ['$$', '$$'],\n ],\n displayMath: [['\\\\[', '\\\\]']],\n macros: {\n abs: ['{|#1|}', 1],\n degree: ['°'],\n longdiv: ['{\\\\enclose{longdiv}{#1}}', 1],\n atomic: ['{_{#1}^{#2}}', 2],\n polyatomic: ['{_{#2}{}^{#1}}', 2],\n circledot: ['{\\\\odot}'],\n parallelogram: ['\\\\unicode{x25B1}'],\n ngtr: ['\\\\unicode{x226F}'],\n nless: ['\\\\unicode{x226E}'],\n MathQuillVarField: ['#1', 1],\n overarc: ['{\\\\overparen{#1}}', 1],\n },\n formatError: (jax, err) => {\n logger(EVENTS.MATHJAX_FORMAT_ERROR, {\n id: err.id,\n message: err.message,\n });\n jax.formatError(err);\n },\n },\n chtml: {\n minScale: 1,\n matchFontHeight: false,\n },\n };\n};\n\ninterface IGetPaperColorByQuestion {\n (question: IWorksheetQuestion): TWorksheetQuestionPaperColor;\n}\n\nconst getPaperColorByQuestion: IGetPaperColorByQuestion = question => {\n const { item_type, instructor_stimulus } = question;\n const lowerCaseInstructorStimulus = instructor_stimulus?.toLowerCase();\n\n switch (item_type) {\n case 'overview':\n return 'white';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n if (\n lowerCaseInstructorStimulus === 'instruction' ||\n lowerCaseInstructorStimulus === 'intro' ||\n lowerCaseInstructorStimulus === 'concept-intro'\n ) {\n return 'blue';\n }\n\n if (lowerCaseInstructorStimulus === 'task') {\n return 'green';\n }\n\n return 'yellow';\n case 'practice-basic':\n case 'practice-regular':\n return 'yellow';\n case 'exit-ticket':\n return 'purple';\n case 'advanced-practice':\n return 'orange';\n default:\n if (lowerCaseInstructorStimulus === 'learn') return 'blue';\n\n if (lowerCaseInstructorStimulus === 'try' || lowerCaseInstructorStimulus === 'apply')\n return 'green';\n\n return 'yellow';\n }\n};\n\nconst getQuestionBackgroundImage = (paperColor: TWorksheetQuestionPaperColor) => {\n return `https://cuemath-intel.s3.ap-southeast-1.amazonaws.com/media/math-canvas/paper-${paperColor}.png`;\n};\n\nconst getQuestionBorderColor = (\n paperColor: TWorksheetQuestionPaperColor,\n isActive?: boolean,\n): TColorNames => {\n if (!isActive) {\n return 'GREY_3';\n }\n\n switch (paperColor) {\n case 'orange':\n case 'white':\n return 'ORANGE_2';\n case 'blue':\n return 'BLUE_2';\n case 'green':\n return 'GREEN_2';\n case 'yellow':\n return 'YELLOW_2';\n case 'purple':\n return 'PURPLE_2';\n default:\n return 'GREY_3';\n }\n};\n\nconst getNavigationSectionBackgroundColor = (sectionName?: TSectionName): TColorNames => {\n switch (sectionName) {\n case 'learning':\n return 'BLUE_1';\n case 'practice-basic':\n case 'practice-regular':\n return 'YELLOW_1';\n case 'exit-ticket':\n return 'PURPLE_1';\n case 'advanced':\n return 'ORANGE_1';\n default:\n return 'YELLOW_1';\n }\n};\n\nconst getNavigationSectionName = (sectionName?: TSectionName): string => {\n switch (sectionName) {\n case 'learning':\n return 'Learning';\n case 'practice-basic':\n return 'Basic practice';\n case 'practice-regular':\n return 'Regular practice';\n case 'exit-ticket':\n return 'Mini quiz';\n case 'advanced':\n return 'Advanced work';\n default:\n return '';\n }\n};\n\nconst getNavigationSectionIcon = (sectionName?: TSectionName) => {\n switch (sectionName) {\n case 'learning':\n return Bulb2Icon;\n case 'practice-basic':\n return Edit2Icon;\n case 'practice-regular':\n return EditStarIcon;\n case 'exit-ticket':\n return QuestionLetterIcon;\n case 'advanced':\n return Star2Icon;\n default:\n return Bulb2Icon;\n }\n};\n\nconst isSATAssessmentNode = (nodeType: NODE_TYPES) =>\n nodeType === 'SAT_ENGLISH_ASSESSMENT' || nodeType === 'SAT_MATH_ASSESSMENT';\n\nconst getWorksheetNudgeBannerInfo = (\n userType: TUserTypes,\n markedAsCompleted: boolean,\n): ISheetNudgeBannerInfo => {\n const isTeacher = userType === 'TEACHER';\n\n if (markedAsCompleted) {\n return {\n bannerBackgroundColor: 'GREEN_4',\n label: isTeacher\n ? 'This sheet was marked as completed.'\n : 'Marked as completed by the teacher',\n };\n }\n\n return {\n bannerBackgroundColor: 'ORANGE_2',\n label: 'Complete this with your tutor in class',\n };\n};\n\nexport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n getPaperColorByQuestion,\n getQuestionBackgroundImage,\n getQuestionBorderColor,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n isConceptIntroWidget,\n isSATAssessmentNode,\n isOkayTypeQuestion,\n scrollToQuestion,\n setMathJaxConfigInWindow,\n getWorksheetNudgeBannerInfo,\n};\n"],"names":["getSectionNameFromItemType","itemType","isConceptIntroWidget","instructorStimulus","lowerCaseInstructorStimulus","getTagsMap","tags","acc","tag","key","value","trimmedKey","trimmedValue","getQuestionsFromItems","items","sectioned","adaptive","item","itemIndex","hasIntroWidget","content","questions","sectionName","prevItem","itemDisplayNumber","orderedQuestionIds","orderedQuestions","responseId","widgetIndex","question","respId","OPTIONAL_ITEM_TYPES","prevItemType","_a","itemTypeDerived","prevItemTypeDerived","finalQuestions","topics","topicsOrder","a","b","aTopic","QUESTION_TAGS","bTopic","aSortKey","bSortKey","_b","topicOrder","questionCode","getInitialQuestionId","initialQuestion","initialResponseId","initialItemIndex","lastUnlockedQuestionIndex","unlockedQuestions","lastUnlockedQuestion","q","getLastUnlockedQuestionIndex","responses","behavior","userType","maximumAttempts","teacherValidationEnabled","validation","navigationMode","questionIndex","qResp","attemptsHistory","validatedByTeacher","assignStatus","lastAttemptScore","unskippedQuestionIndex","getQuestionMetadata","questionId","isOkayTypeQuestion","getInitialResponses","getWorksheetDimensions","layout","actionBar","QUESTION_WIDTH","SPLIT_QUESTION_WIDTH","ACTION_BAR_HEIGHT","getRenderableQuestions","scrollToQuestion","animation","$questionEl","type","options","instructor_stimulus","setMathJaxConfigInWindow","logger","doc","math","err","EVENTS","jax","getPaperColorByQuestion","item_type","getQuestionBackgroundImage","paperColor","getQuestionBorderColor","isActive","getNavigationSectionBackgroundColor","getNavigationSectionName","getNavigationSectionIcon","Bulb2Icon","Edit2Icon","EditStarIcon","QuestionLetterIcon","Star2Icon","getWorksheetNudgeBannerInfo","markedAsCompleted","isTeacher"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-item-navigation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.tsx"],"sourcesContent":["import type { IWorksheetItemNavigationProps } from '../worksheet-navigation-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport LeftIcon from '../../../../../assets/line-icons/icons/left';\nimport RightIcon from '../../../../../assets/line-icons/icons/right';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { TOP_NAVIGATION_ARROW_WIDTH } from '../../constants';\nimport WorksheetItemNumber from '../worksheet-item-number/worksheet-item-number';\nimport * as Styled from '../worksheet-navigation-styled';\n\nconst WorksheetItemNavigation: FC<IWorksheetItemNavigationProps> = memo(props => {\n const {\n items,\n responses,\n validation,\n activeItemNumber,\n peerItemNumber,\n onItemNumberClick,\n summaryVisible,\n maximumAttempts,\n } = props;\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [visibleSection, setVisibleSection] = useState<'left' | 'right'>('left');\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const toggleVisibleSection = useCallback(() => {\n setVisibleSection(prevVisibleSection => (prevVisibleSection === 'left' ? 'right' : 'left'));\n }, []);\n\n useLayoutEffect(() => {\n const containerEl = containerRef.current;\n const contentEl = contentRef.current;\n\n if (containerEl && contentEl) {\n if (contentEl.clientWidth > containerEl.clientWidth) {\n setIsOverflowing(true);\n }\n }\n }, []);\n\n useEffect(() => {\n const contentEl = contentRef.current;\n\n if (activeItemNumber !== undefined && isOverflowing && contentEl) {\n const itemNumberEl = contentEl.querySelector(`.worksheet-item-number-${activeItemNumber}`);\n\n if (itemNumberEl) {\n setVisibleSection(prevVisibleSection => {\n const { left, right } = itemNumberEl.getBoundingClientRect();\n\n if (\n prevVisibleSection === 'left' &&\n right + TOP_NAVIGATION_ARROW_WIDTH + 16 > contentEl.clientWidth\n ) {\n return 'right';\n }\n\n if (prevVisibleSection === 'right' && left - TOP_NAVIGATION_ARROW_WIDTH - 16 < 0) {\n return 'left';\n }\n\n return prevVisibleSection;\n });\n }\n }\n }, [activeItemNumber, isOverflowing]);\n\n return (\n <Styled.Container\n ref={containerRef}\n $background=\"YELLOW_1\"\n $alignItems={isOverflowing ? `flex-${visibleSection === 'left' ? 'start' : 'end'}` : 'center'}\n >\n <FlexView ref={contentRef} $gutterX={1} $flexGapX={1} $flexDirection=\"row\">\n {items.map(item => {\n const {\n firstQuestion: { response_id, item_number },\n } = item;\n\n return (\n <WorksheetItemNumber\n key={response_id}\n item={item}\n summaryVisible={summaryVisible}\n responses={responses}\n validation={validation}\n placement=\"top\"\n onItemNumberClick={onItemNumberClick}\n canShowUserPin={item_number === peerItemNumber}\n maximumAttempts={maximumAttempts}\n />\n );\n })}\n </FlexView>\n {isOverflowing && visibleSection === 'left' && (\n <Clickable label=\"Worksheet Nav Right Arrow\" onClick={toggleVisibleSection}>\n <Styled.RightArrowWrapper $justifyContent=\"center\">\n <RightIcon width={24} height={24} />\n </Styled.RightArrowWrapper>\n </Clickable>\n )}\n {isOverflowing && visibleSection === 'right' && (\n <Clickable label=\"Worksheet Nav Left Arrow\" onClick={toggleVisibleSection}>\n <Styled.LeftArrowWrapper $justifyContent=\"center\">\n <LeftIcon width={24} height={24} />\n </Styled.LeftArrowWrapper>\n </Clickable>\n )}\n </Styled.Container>\n );\n});\n\nexport default WorksheetItemNavigation;\n"],"names":["WorksheetItemNavigation","memo","props","items","responses","validation","activeItemNumber","peerItemNumber","onItemNumberClick","summaryVisible","maximumAttempts","isOverflowing","setIsOverflowing","useState","visibleSection","setVisibleSection","containerRef","useRef","contentRef","toggleVisibleSection","useCallback","prevVisibleSection","useLayoutEffect","containerEl","contentEl","useEffect","itemNumberEl","left","right","TOP_NAVIGATION_ARROW_WIDTH","jsxs","Styled.Container","jsx","FlexView","item","response_id","item_number","WorksheetItemNumber","Clickable","Styled.RightArrowWrapper","RightIcon","Styled.LeftArrowWrapper","LeftIcon"],"mappings":";;;;;;;;;AAaM,MAAAA,IAA6DC,EAAK,CAASC,MAAA;AACzE,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,iBAAAC;AAAA,EACE,IAAAR,GACE,CAACS,GAAeC,CAAgB,IAAIC,EAAS,EAAK,GAClD,CAACC,GAAgBC,CAAiB,IAAIF,EAA2B,MAAM,GACvEG,IAAeC,EAAuB,IAAI,GAC1CC,IAAaD,EAAuB,IAAI,GAExCE,IAAuBC,EAAY,MAAM;AAC7C,IAAAL,EAAkB,CAAuBM,MAAAA,MAAuB,SAAS,UAAU,MAAO;AAAA,EAC5F,GAAG,CAAE,CAAA;AAEL,SAAAC,EAAgB,MAAM;AACpB,UAAMC,IAAcP,EAAa,SAC3BQ,IAAYN,EAAW;AAE7B,IAAIK,KAAeC,KACbA,EAAU,cAAcD,EAAY,eACtCX,EAAiB,EAAI;AAAA,EAG3B,GAAG,CAAE,CAAA,GAELa,EAAU,MAAM;AACd,UAAMD,IAAYN,EAAW;AAEzB,QAAAZ,MAAqB,UAAaK,KAAiBa,GAAW;AAChE,YAAME,IAAeF,EAAU,cAAc,0BAA0BlB,CAAgB,EAAE;AAEzF,MAAIoB,KACFX,EAAkB,CAAsBM,MAAA;AACtC,cAAM,EAAE,MAAAM,GAAM,OAAAC,EAAM,IAAIF,EAAa,sBAAsB;AAE3D,eACEL,MAAuB,UACvBO,IAAQC,IAA6B,KAAKL,EAAU,cAE7C,UAGLH,MAAuB,WAAWM,IAAOE,IAA6B,KAAK,IACtE,SAGFR;AAAA,MAAA,CACR;AAAA,IAEL;AAAA,EAAA,GACC,CAACf,GAAkBK,CAAa,CAAC,GAGlC,gBAAAmB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKf;AAAA,MACL,aAAY;AAAA,MACZ,aAAaL,IAAgB,QAAQG,MAAmB,SAAS,UAAU,KAAK,KAAK;AAAA,MAErF,UAAA;AAAA,QAAC,gBAAAkB,EAAAC,GAAA,EAAS,KAAKf,GAAY,UAAU,GAAG,WAAW,GAAG,gBAAe,OAClE,UAAMf,EAAA,IAAI,CAAQ+B,MAAA;AACX,gBAAA;AAAA,YACJ,eAAe,EAAE,aAAAC,GAAa,aAAAC,EAAY;AAAA,UACxC,IAAAF;AAGF,iBAAA,gBAAAF;AAAA,YAACK;AAAA,YAAA;AAAA,cAEC,MAAAH;AAAA,cACA,gBAAAzB;AAAA,cACA,WAAAL;AAAA,cACA,YAAAC;AAAA,cACA,WAAU;AAAA,cACV,mBAAAG;AAAA,cACA,gBAAgB4B,MAAgB7B;AAAA,cAChC,iBAAAG;AAAA,YAAA;AAAA,YARKyB;AAAA,UAAA;AAAA,QAWV,CAAA,GACH;AAAA,QACCxB,KAAiBG,MAAmB,UACnC,gBAAAkB,EAACM,KAAU,OAAM,6BAA4B,SAASnB,GACpD,UAAC,gBAAAa,EAAAO,GAAA,EAAyB,iBAAgB,UACxC,UAAC,gBAAAP,EAAAQ,GAAA,EAAU,OAAO,IAAI,QAAQ,IAAI,EAAA,CACpC,EACF,CAAA;AAAA,QAED7B,KAAiBG,MAAmB,WACnC,gBAAAkB,EAACM,KAAU,OAAM,4BAA2B,SAASnB,GACnD,UAAC,gBAAAa,EAAAS,GAAA,EAAwB,iBAAgB,UACvC,UAAC,gBAAAT,EAAAU,GAAA,EAAS,OAAO,IAAI,QAAQ,IAAI,EAAA,CACnC,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
1
+ {"version":3,"file":"worksheet-item-navigation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.tsx"],"sourcesContent":["import type { IWorksheetItemNavigationProps } from '../worksheet-navigation-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport LeftIcon from '../../../../../assets/line-icons/icons/left';\nimport RightIcon from '../../../../../assets/line-icons/icons/right';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { TOP_NAVIGATION_ARROW_WIDTH } from '../../constants';\nimport WorksheetItemNumber from '../worksheet-item-number/worksheet-item-number';\nimport * as Styled from '../worksheet-navigation-styled';\n\nconst WorksheetItemNavigation: FC<IWorksheetItemNavigationProps> = memo(props => {\n const {\n items,\n responses,\n validation,\n activeItemNumber,\n peerItemNumber,\n onItemNumberClick,\n summaryVisible,\n maximumAttempts,\n } = props;\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [visibleSection, setVisibleSection] = useState<'left' | 'right'>('left');\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const toggleVisibleSection = useCallback(() => {\n setVisibleSection(prevVisibleSection => (prevVisibleSection === 'left' ? 'right' : 'left'));\n }, []);\n\n useLayoutEffect(() => {\n const containerEl = containerRef.current;\n const contentEl = contentRef.current;\n\n if (containerEl && contentEl) {\n if (contentEl.clientWidth > containerEl.clientWidth) {\n setIsOverflowing(true);\n }\n }\n }, []);\n\n useEffect(() => {\n const contentEl = contentRef.current;\n\n if (activeItemNumber !== undefined && isOverflowing && contentEl) {\n const itemNumberEl = contentEl.querySelector(`.worksheet-item-number-${activeItemNumber}`);\n\n if (itemNumberEl) {\n setVisibleSection(prevVisibleSection => {\n const { left, right } = itemNumberEl.getBoundingClientRect();\n\n if (\n prevVisibleSection === 'left' &&\n right + TOP_NAVIGATION_ARROW_WIDTH + 16 > contentEl.clientWidth\n ) {\n return 'right';\n }\n\n if (prevVisibleSection === 'right' && left - TOP_NAVIGATION_ARROW_WIDTH - 16 < 0) {\n return 'left';\n }\n\n return prevVisibleSection;\n });\n }\n }\n }, [activeItemNumber, isOverflowing]);\n\n return (\n <Styled.Container\n ref={containerRef}\n $background=\"YELLOW_1\"\n $alignItems={isOverflowing ? `flex-${visibleSection === 'left' ? 'start' : 'end'}` : 'center'}\n >\n <FlexView ref={contentRef} $gutterX={1} $flexGapX={1} $flexDirection=\"row\">\n {items.map(item => {\n const {\n firstQuestion: { response_id, item_number },\n } = item;\n\n return (\n <WorksheetItemNumber\n key={response_id}\n item={item}\n summaryVisible={summaryVisible}\n responses={responses}\n validation={validation}\n placement=\"top\"\n onItemNumberClick={onItemNumberClick}\n canShowUserPin={item_number === peerItemNumber}\n maximumAttempts={maximumAttempts}\n />\n );\n })}\n </FlexView>\n {isOverflowing && visibleSection === 'left' && (\n <Clickable label=\"Worksheet Nav Right Arrow\" onClick={toggleVisibleSection}>\n <Styled.RightArrowWrapper $justifyContent=\"center\">\n <RightIcon width={24} height={24} />\n </Styled.RightArrowWrapper>\n </Clickable>\n )}\n {isOverflowing && visibleSection === 'right' && (\n <Clickable label=\"Worksheet Nav Left Arrow\" onClick={toggleVisibleSection}>\n <Styled.LeftArrowWrapper $justifyContent=\"center\">\n <LeftIcon width={24} height={24} />\n </Styled.LeftArrowWrapper>\n </Clickable>\n )}\n </Styled.Container>\n );\n});\n\nexport default WorksheetItemNavigation;\n"],"names":["WorksheetItemNavigation","memo","props","items","responses","validation","activeItemNumber","peerItemNumber","onItemNumberClick","summaryVisible","maximumAttempts","isOverflowing","setIsOverflowing","useState","visibleSection","setVisibleSection","containerRef","useRef","contentRef","toggleVisibleSection","useCallback","prevVisibleSection","useLayoutEffect","containerEl","contentEl","useEffect","itemNumberEl","left","right","TOP_NAVIGATION_ARROW_WIDTH","jsxs","Styled.Container","jsx","FlexView","item","response_id","item_number","WorksheetItemNumber","Clickable","Styled.RightArrowWrapper","RightIcon","Styled.LeftArrowWrapper","LeftIcon"],"mappings":";;;;;;;;;AAaM,MAAAA,IAA6DC,EAAK,CAASC,MAAA;AACzE,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACER,GACE,CAACS,GAAeC,CAAgB,IAAIC,EAAS,EAAK,GAClD,CAACC,GAAgBC,CAAiB,IAAIF,EAA2B,MAAM,GACvEG,IAAeC,EAAuB,IAAI,GAC1CC,IAAaD,EAAuB,IAAI,GAExCE,IAAuBC,EAAY,MAAM;AAC7C,IAAAL,EAAkB,CAAuBM,MAAAA,MAAuB,SAAS,UAAU,MAAO;AAAA,EAC5F,GAAG,EAAE;AAEL,SAAAC,EAAgB,MAAM;AACpB,UAAMC,IAAcP,EAAa,SAC3BQ,IAAYN,EAAW;AAE7B,IAAIK,KAAeC,KACbA,EAAU,cAAcD,EAAY,eACtCX,EAAiB,EAAI;AAAA,EAG3B,GAAG,EAAE,GAELa,EAAU,MAAM;AACd,UAAMD,IAAYN,EAAW;AAEzB,QAAAZ,MAAqB,UAAaK,KAAiBa,GAAW;AAChE,YAAME,IAAeF,EAAU,cAAc,0BAA0BlB,CAAgB,EAAE;AAEzF,MAAIoB,KACFX,EAAkB,CAAsBM,MAAA;AACtC,cAAM,EAAE,MAAAM,GAAM,OAAAC,MAAUF,EAAa,sBAAsB;AAE3D,eACEL,MAAuB,UACvBO,IAAQC,IAA6B,KAAKL,EAAU,cAE7C,UAGLH,MAAuB,WAAWM,IAAOE,IAA6B,KAAK,IACtE,SAGFR;AAAA,MAAA,CACR;AAAA,IACH;AAAA,EACF,GACC,CAACf,GAAkBK,CAAa,CAAC,GAGlC,gBAAAmB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKf;AAAA,MACL,aAAY;AAAA,MACZ,aAAaL,IAAgB,QAAQG,MAAmB,SAAS,UAAU,KAAK,KAAK;AAAA,MAErF,UAAA;AAAA,QAAC,gBAAAkB,EAAAC,GAAA,EAAS,KAAKf,GAAY,UAAU,GAAG,WAAW,GAAG,gBAAe,OAClE,UAAMf,EAAA,IAAI,CAAQ+B,MAAA;AACX,gBAAA;AAAA,YACJ,eAAe,EAAE,aAAAC,GAAa,aAAAC,EAAY;AAAA,UAAA,IACxCF;AAGF,iBAAA,gBAAAF;AAAA,YAACK;AAAA,YAAA;AAAA,cAEC,MAAAH;AAAA,cACA,gBAAAzB;AAAA,cACA,WAAAL;AAAA,cACA,YAAAC;AAAA,cACA,WAAU;AAAA,cACV,mBAAAG;AAAA,cACA,gBAAgB4B,MAAgB7B;AAAA,cAChC,iBAAAG;AAAA,YAAA;AAAA,YARKyB;AAAA,UASP;AAAA,QAEH,CAAA,GACH;AAAA,QACCxB,KAAiBG,MAAmB,UACnC,gBAAAkB,EAACM,KAAU,OAAM,6BAA4B,SAASnB,GACpD,UAAC,gBAAAa,EAAAO,GAAA,EAAyB,iBAAgB,UACxC,UAAC,gBAAAP,EAAAQ,GAAA,EAAU,OAAO,IAAI,QAAQ,IAAI,EAAA,CACpC,EACF,CAAA;AAAA,QAED7B,KAAiBG,MAAmB,WACnC,gBAAAkB,EAACM,KAAU,OAAM,4BAA2B,SAASnB,GACnD,UAAC,gBAAAa,EAAAS,GAAA,EAAwB,iBAAgB,UACvC,UAAC,gBAAAT,EAAAU,GAAA,EAAS,OAAO,IAAI,QAAQ,GAAI,CAAA,EACnC,CAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-item-number-styled.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type { TItemState } from './worksheet-item-number-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst ItemBackgroundColorMap: Record<TItemState, TColorNames> = {\n correct: 'GREEN_2',\n incorrect: 'ORANGE_2',\n answered: 'BLACK',\n unanswered: 'GREY_1',\n disabled: 'GREY_2',\n skipped: 'GREY_1',\n};\n\ninterface IItemNumberWrapperProps {\n $itemState: TItemState;\n $isActive: boolean;\n $placement: 'top' | 'bottom';\n $summaryVisible?: boolean;\n}\n\nconst ItemNumberWrapper = styled(FlexView)<IItemNumberWrapperProps>(\n ({ $itemState, $isActive, $placement, $summaryVisible, theme: { colors } }) => `\n position: relative;\n width: ${$placement === 'top' ? 24 : 40}px;\n height: ${$placement === 'top' ? 24 : 40}px;\n border-radius: ${$placement === 'top' ? '50%' : '0px'};\n background-color: ${\n colors[$isActive && !$summaryVisible ? 'YELLOW_2' : ItemBackgroundColorMap[$itemState]]\n };\n ${\n $itemState === 'unanswered' && $placement === 'bottom'\n ? `\n border: 1px dashed ${colors.GREY_2};\n background-color: ${colors.WHITE};\n `\n : ''\n }\n\n `,\n);\n\nconst BookmarkWrapper = styled.div(\n ({ theme: { colors } }) => `\n position: absolute;\n top: -5px;\n right: -8px;\n color: ${colors.ORANGE_4};\n `,\n);\n\nconst OptionalTag = styled.div(\n ({ theme }) => `\n position: absolute;\n top: -2px;\n right: -1px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: ${theme.colors.BLACK};\n\n &:after {\n content: '';\n display: block;\n width: 4px;\n height: 4px;\n border-radius: 50%;\n border: 1px solid ${theme.colors.WHITE};\n margin: 2px 0 0 2px;\n }\n`,\n);\n\nconst UserPin = styled.img`\n position: absolute;\n top: -8px;\n right: -8px;\n`;\n\nconst ItemStatus = styled.img`\n position: absolute;\n top: -8px;\n left: -8px;\n`;\n\nexport { ItemNumberWrapper, BookmarkWrapper, UserPin, ItemStatus, OptionalTag };\n"],"names":["ItemBackgroundColorMap","ItemNumberWrapper","styled","FlexView","$itemState","$isActive","$placement","$summaryVisible","colors","BookmarkWrapper","OptionalTag","theme","UserPin","ItemStatus"],"mappings":";;AAOA,MAAMA,IAA0D;AAAA,EAC9D,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,SAAS;AACX,GASMC,IAAoBC,EAAOC,CAAQ;AAAA,EACvC,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,YAAAC,GAAY,iBAAAC,GAAiB,OAAO,EAAE,QAAAC,EAAO,EAAA,MAAQ;AAAA;AAAA,aAEpEF,MAAe,QAAQ,KAAK,EAAE;AAAA,cAC7BA,MAAe,QAAQ,KAAK,EAAE;AAAA,qBACvBA,MAAe,QAAQ,QAAQ,KAAK;AAAA,wBAEnDE,EAAOH,KAAa,CAACE,IAAkB,aAAaP,EAAuBI,CAAU,CAAC,CACxF;AAAA,MAEEA,MAAe,gBAAgBE,MAAe,WAC1C;AAAA,+BACqBE,EAAO,MAAM;AAAA,8BACdA,EAAO,KAAK;AAAA,YAEhC,EACN;AAAA;AAAA;AAGJ,GAEMC,IAAkBP,EAAO;AAAA,EAC7B,CAAC,EAAE,OAAO,EAAE,QAAAM,EAAA,EAAe,MAAA;AAAA;AAAA;AAAA;AAAA,aAIhBA,EAAO,QAAQ;AAAA;AAE5B,GAEME,IAAcR,EAAO;AAAA,EACzB,CAAC,EAAE,OAAAS,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOKA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQhBA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAI1C,GAEMC,IAAUV,EAAO;AAAA;AAAA;AAAA;AAAA,GAMjBW,IAAaX,EAAO;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"worksheet-item-number-styled.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type { TItemState } from './worksheet-item-number-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst ItemBackgroundColorMap: Record<TItemState, TColorNames> = {\n correct: 'GREEN_2',\n incorrect: 'ORANGE_2',\n answered: 'BLACK',\n unanswered: 'GREY_1',\n disabled: 'GREY_2',\n skipped: 'GREY_1',\n};\n\ninterface IItemNumberWrapperProps {\n $itemState: TItemState;\n $isActive: boolean;\n $placement: 'top' | 'bottom';\n $summaryVisible?: boolean;\n}\n\nconst ItemNumberWrapper = styled(FlexView)<IItemNumberWrapperProps>(\n ({ $itemState, $isActive, $placement, $summaryVisible, theme: { colors } }) => `\n position: relative;\n width: ${$placement === 'top' ? 24 : 40}px;\n height: ${$placement === 'top' ? 24 : 40}px;\n border-radius: ${$placement === 'top' ? '50%' : '0px'};\n background-color: ${\n colors[$isActive && !$summaryVisible ? 'YELLOW_2' : ItemBackgroundColorMap[$itemState]]\n };\n ${\n $itemState === 'unanswered' && $placement === 'bottom'\n ? `\n border: 1px dashed ${colors.GREY_2};\n background-color: ${colors.WHITE};\n `\n : ''\n }\n\n `,\n);\n\nconst BookmarkWrapper = styled.div(\n ({ theme: { colors } }) => `\n position: absolute;\n top: -5px;\n right: -8px;\n color: ${colors.ORANGE_4};\n `,\n);\n\nconst OptionalTag = styled.div(\n ({ theme }) => `\n position: absolute;\n top: -2px;\n right: -1px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: ${theme.colors.BLACK};\n\n &:after {\n content: '';\n display: block;\n width: 4px;\n height: 4px;\n border-radius: 50%;\n border: 1px solid ${theme.colors.WHITE};\n margin: 2px 0 0 2px;\n }\n`,\n);\n\nconst UserPin = styled.img`\n position: absolute;\n top: -8px;\n right: -8px;\n`;\n\nconst ItemStatus = styled.img`\n position: absolute;\n top: -8px;\n left: -8px;\n`;\n\nexport { ItemNumberWrapper, BookmarkWrapper, UserPin, ItemStatus, OptionalTag };\n"],"names":["ItemBackgroundColorMap","ItemNumberWrapper","styled","FlexView","$itemState","$isActive","$placement","$summaryVisible","colors","BookmarkWrapper","OptionalTag","theme","UserPin","ItemStatus"],"mappings":";;AAOA,MAAMA,IAA0D;AAAA,EAC9D,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,SAAS;AACX,GASMC,IAAoBC,EAAOC,CAAQ;AAAA,EACvC,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,YAAAC,GAAY,iBAAAC,GAAiB,OAAO,EAAE,QAAAC,EAAO,QAAQ;AAAA;AAAA,aAEpEF,MAAe,QAAQ,KAAK,EAAE;AAAA,cAC7BA,MAAe,QAAQ,KAAK,EAAE;AAAA,qBACvBA,MAAe,QAAQ,QAAQ,KAAK;AAAA,wBAEnDE,EAAOH,KAAa,CAACE,IAAkB,aAAaP,EAAuBI,CAAU,CAAC,CACxF;AAAA,MAEEA,MAAe,gBAAgBE,MAAe,WAC1C;AAAA,+BACqBE,EAAO,MAAM;AAAA,8BACdA,EAAO,KAAK;AAAA,YAEhC,EACN;AAAA;AAAA;AAGJ,GAEMC,IAAkBP,EAAO;AAAA,EAC7B,CAAC,EAAE,OAAO,EAAE,QAAAM,EAAA,QAAe;AAAA;AAAA;AAAA;AAAA,aAIhBA,EAAO,QAAQ;AAAA;AAE5B,GAEME,IAAcR,EAAO;AAAA,EACzB,CAAC,EAAE,OAAAS,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOKA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQhBA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAI1C,GAEMC,IAAUV,EAAO;AAAA;AAAA;AAAA;AAAA,GAMjBW,IAAaX,EAAO;AAAA;AAAA;AAAA;AAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-item-number.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.tsx"],"sourcesContent":["import type { IWorksheetItemNumberProps, TItemState } from './worksheet-item-number-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport BookmarkIcon from '../../../../../assets/line-icons/icons/bookmark';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { TOP_NAVIGATION_HEIGHT } from '../../constants';\nimport * as Styled from './worksheet-item-number-styled';\n\nconst WorksheetItemNumber: FC<IWorksheetItemNumberProps> = memo(\n ({\n placement,\n item,\n isOptional,\n responses,\n validation,\n onItemNumberClick,\n canShowUserPin,\n teacherValidationEnabled,\n summaryVisible,\n maximumAttempts,\n }) => {\n const { firstQuestion, isActive, isUnlocked, questionIds } = item;\n const { item_number, item_display_number } = firstQuestion;\n const { itemState, markedForReview }: { itemState: TItemState; markedForReview: boolean } =\n useMemo(() => {\n const totalQuestion = questionIds.length;\n let state: TItemState = 'unanswered';\n const {\n correctQuestions,\n incorrectQuestions,\n editedQuestions,\n markedForReviewQuestions,\n skippedQuestions,\n } = questionIds.reduce(\n (acc, questionId) => {\n const response = responses[questionId];\n\n if (!response) {\n return acc;\n }\n\n const { responseEdited, score: responseScore, validatedByTeacher } = response;\n const isAttempted =\n responseScore && 'score' in responseScore && 'max_score' in responseScore;\n const isCorrect = responseScore?.score === responseScore?.max_score;\n\n if (validation) {\n if (responseEdited && maximumAttempts !== -1) {\n acc.editedQuestions++;\n } else if (teacherValidationEnabled) {\n if (validatedByTeacher) acc.correctQuestions++;\n else if (isAttempted) {\n acc[isCorrect ? 'correctQuestions' : 'incorrectQuestions']++;\n }\n } else if (isAttempted) {\n acc[isCorrect ? 'correctQuestions' : 'incorrectQuestions']++;\n }\n } else {\n if (responseEdited) {\n acc.editedQuestions++;\n }\n }\n\n if (response.markedForReview) acc.markedForReviewQuestions++;\n\n if (response.skipped) acc.skippedQuestions++;\n\n return acc;\n },\n {\n correctQuestions: 0,\n incorrectQuestions: 0,\n editedQuestions: 0,\n markedForReviewQuestions: 0,\n skippedQuestions: 0,\n },\n );\n\n if (editedQuestions > 0) state = 'answered';\n else if (skippedQuestions > 0) state = 'skipped';\n else if (incorrectQuestions > 0) state = validation ? 'incorrect' : 'answered';\n else if (correctQuestions === totalQuestion) state = validation ? 'correct' : 'answered';\n else if (correctQuestions > 0 && correctQuestions < totalQuestion) state = 'answered';\n\n return {\n itemState: state,\n markedForReview: markedForReviewQuestions > 0,\n };\n }, [maximumAttempts, questionIds, responses, teacherValidationEnabled, validation]);\n\n const handleItemNumberClick = useCallback(() => {\n onItemNumberClick(firstQuestion.response_id);\n }, [firstQuestion.response_id, onItemNumberClick]);\n\n const itemTextColor = useMemo(\n () => ((!isActive || summaryVisible) && itemState === 'answered' ? 'WHITE' : 'BLACK'),\n [isActive, itemState, summaryVisible],\n );\n\n return (\n <Clickable label=\"Item Number\" disabled={!isUnlocked} onClick={handleItemNumberClick}>\n <FlexView $height={TOP_NAVIGATION_HEIGHT} $justifyContent=\"center\">\n <Styled.ItemNumberWrapper\n className={`worksheet-item-number-${item_number}`}\n $itemState={isUnlocked ? itemState : 'disabled'}\n $isActive={isActive}\n $placement={placement}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $summaryVisible={summaryVisible}\n >\n <Text\n $renderAs={placement === 'top' ? 'body3' : 'body1'}\n $color={itemTextColor}\n $opacity={isUnlocked ? 1 : 0.5}\n >\n {item_display_number}\n </Text>\n {markedForReview && (\n <Styled.BookmarkWrapper>\n <BookmarkIcon />\n </Styled.BookmarkWrapper>\n )}\n {canShowUserPin && (\n <Styled.UserPin width={20} height={20} src={ILLUSTRATIONS.USER_PIN} />\n )}\n {itemState === 'correct' && <Styled.ItemStatus src={ILLUSTRATIONS.TICK_GREEN} />}\n {['incorrect', 'skipped'].includes(itemState) && (\n <Styled.ItemStatus src={ILLUSTRATIONS.CAUTION} />\n )}\n {itemState === 'unanswered' && isOptional && <Styled.OptionalTag />}\n </Styled.ItemNumberWrapper>\n </FlexView>\n </Clickable>\n );\n },\n);\n\nexport default WorksheetItemNumber;\n"],"names":["WorksheetItemNumber","memo","placement","item","isOptional","responses","validation","onItemNumberClick","canShowUserPin","teacherValidationEnabled","summaryVisible","maximumAttempts","firstQuestion","isActive","isUnlocked","questionIds","item_number","item_display_number","itemState","markedForReview","useMemo","totalQuestion","state","correctQuestions","incorrectQuestions","editedQuestions","markedForReviewQuestions","skippedQuestions","acc","questionId","response","responseEdited","responseScore","validatedByTeacher","isAttempted","isCorrect","handleItemNumberClick","useCallback","itemTextColor","jsx","Clickable","FlexView","TOP_NAVIGATION_HEIGHT","jsxs","Styled.ItemNumberWrapper","Text","Styled.BookmarkWrapper","BookmarkIcon","Styled.UserPin","ILLUSTRATIONS","Styled.ItemStatus","Styled.OptionalTag"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-item-number.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.tsx"],"sourcesContent":["import type { IWorksheetItemNumberProps, TItemState } from './worksheet-item-number-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport BookmarkIcon from '../../../../../assets/line-icons/icons/bookmark';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { TOP_NAVIGATION_HEIGHT } from '../../constants';\nimport * as Styled from './worksheet-item-number-styled';\n\nconst WorksheetItemNumber: FC<IWorksheetItemNumberProps> = memo(\n ({\n placement,\n item,\n isOptional,\n responses,\n validation,\n onItemNumberClick,\n canShowUserPin,\n teacherValidationEnabled,\n summaryVisible,\n maximumAttempts,\n }) => {\n const { firstQuestion, isActive, isUnlocked, questionIds } = item;\n const { item_number, item_display_number } = firstQuestion;\n const { itemState, markedForReview }: { itemState: TItemState; markedForReview: boolean } =\n useMemo(() => {\n const totalQuestion = questionIds.length;\n let state: TItemState = 'unanswered';\n const {\n correctQuestions,\n incorrectQuestions,\n editedQuestions,\n markedForReviewQuestions,\n skippedQuestions,\n } = questionIds.reduce(\n (acc, questionId) => {\n const response = responses[questionId];\n\n if (!response) {\n return acc;\n }\n\n const { responseEdited, score: responseScore, validatedByTeacher } = response;\n const isAttempted =\n responseScore && 'score' in responseScore && 'max_score' in responseScore;\n const isCorrect = responseScore?.score === responseScore?.max_score;\n\n if (validation) {\n if (responseEdited && maximumAttempts !== -1) {\n acc.editedQuestions++;\n } else if (teacherValidationEnabled) {\n if (validatedByTeacher) acc.correctQuestions++;\n else if (isAttempted) {\n acc[isCorrect ? 'correctQuestions' : 'incorrectQuestions']++;\n }\n } else if (isAttempted) {\n acc[isCorrect ? 'correctQuestions' : 'incorrectQuestions']++;\n }\n } else {\n if (responseEdited) {\n acc.editedQuestions++;\n }\n }\n\n if (response.markedForReview) acc.markedForReviewQuestions++;\n\n if (response.skipped) acc.skippedQuestions++;\n\n return acc;\n },\n {\n correctQuestions: 0,\n incorrectQuestions: 0,\n editedQuestions: 0,\n markedForReviewQuestions: 0,\n skippedQuestions: 0,\n },\n );\n\n if (editedQuestions > 0) state = 'answered';\n else if (skippedQuestions > 0) state = 'skipped';\n else if (incorrectQuestions > 0) state = validation ? 'incorrect' : 'answered';\n else if (correctQuestions === totalQuestion) state = validation ? 'correct' : 'answered';\n else if (correctQuestions > 0 && correctQuestions < totalQuestion) state = 'answered';\n\n return {\n itemState: state,\n markedForReview: markedForReviewQuestions > 0,\n };\n }, [maximumAttempts, questionIds, responses, teacherValidationEnabled, validation]);\n\n const handleItemNumberClick = useCallback(() => {\n onItemNumberClick(firstQuestion.response_id);\n }, [firstQuestion.response_id, onItemNumberClick]);\n\n const itemTextColor = useMemo(\n () => ((!isActive || summaryVisible) && itemState === 'answered' ? 'WHITE' : 'BLACK'),\n [isActive, itemState, summaryVisible],\n );\n\n return (\n <Clickable label=\"Item Number\" disabled={!isUnlocked} onClick={handleItemNumberClick}>\n <FlexView $height={TOP_NAVIGATION_HEIGHT} $justifyContent=\"center\">\n <Styled.ItemNumberWrapper\n className={`worksheet-item-number-${item_number}`}\n $itemState={isUnlocked ? itemState : 'disabled'}\n $isActive={isActive}\n $placement={placement}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $summaryVisible={summaryVisible}\n >\n <Text\n $renderAs={placement === 'top' ? 'body3' : 'body1'}\n $color={itemTextColor}\n $opacity={isUnlocked ? 1 : 0.5}\n >\n {item_display_number}\n </Text>\n {markedForReview && (\n <Styled.BookmarkWrapper>\n <BookmarkIcon />\n </Styled.BookmarkWrapper>\n )}\n {canShowUserPin && (\n <Styled.UserPin width={20} height={20} src={ILLUSTRATIONS.USER_PIN} />\n )}\n {itemState === 'correct' && <Styled.ItemStatus src={ILLUSTRATIONS.TICK_GREEN} />}\n {['incorrect', 'skipped'].includes(itemState) && (\n <Styled.ItemStatus src={ILLUSTRATIONS.CAUTION} />\n )}\n {itemState === 'unanswered' && isOptional && <Styled.OptionalTag />}\n </Styled.ItemNumberWrapper>\n </FlexView>\n </Clickable>\n );\n },\n);\n\nexport default WorksheetItemNumber;\n"],"names":["WorksheetItemNumber","memo","placement","item","isOptional","responses","validation","onItemNumberClick","canShowUserPin","teacherValidationEnabled","summaryVisible","maximumAttempts","firstQuestion","isActive","isUnlocked","questionIds","item_number","item_display_number","itemState","markedForReview","useMemo","totalQuestion","state","correctQuestions","incorrectQuestions","editedQuestions","markedForReviewQuestions","skippedQuestions","acc","questionId","response","responseEdited","responseScore","validatedByTeacher","isAttempted","isCorrect","handleItemNumberClick","useCallback","itemTextColor","jsx","Clickable","FlexView","TOP_NAVIGATION_HEIGHT","jsxs","Styled.ItemNumberWrapper","Text","Styled.BookmarkWrapper","BookmarkIcon","Styled.UserPin","ILLUSTRATIONS","Styled.ItemStatus","Styled.OptionalTag"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-navigation-styled.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport { TOP_NAVIGATION_ARROW_WIDTH } from '../constants';\n\nconst Container = styled(FlexView)`\n position: relative;\n overflow: hidden;\n`;\n\nconst BackgroundLayer = styled(FlexView)`\n position: absolute;\n top: 0;\n width: 50%;\n height: 100%;\n z-index: -1;\n`;\n\nconst LeftContainerBackground = styled(BackgroundLayer)`\n left: 0;\n`;\n\nconst RightContainerBackground = styled(BackgroundLayer)`\n right: 0;\n`;\n\nconst SectionWrapper = styled(FlexView)<{ $hasBorder: boolean }>(\n ({ theme, $hasBorder }) => `\n align-items: center;\n border-left: ${$hasBorder ? `2px solid ${theme.colors.WHITE}` : 'none'};\n`,\n);\n\nconst ArrowWrapper = styled(FlexView)`\n position: absolute;\n top: 0;\n bottom: 0;\n backdrop-filter: blur(20px);\n align-items: center;\n width: ${TOP_NAVIGATION_ARROW_WIDTH}px;\n`;\n\nconst LeftArrowWrapper = styled(ArrowWrapper)`\n left: 0;\n border-right: 2px solid white;\n`;\n\nconst RightArrowWrapper = styled(ArrowWrapper)`\n right: 0;\n border-left: 2px solid white;\n`;\n\nexport {\n Container,\n LeftContainerBackground,\n RightContainerBackground,\n SectionWrapper,\n LeftArrowWrapper,\n RightArrowWrapper,\n};\n"],"names":["Container","styled","FlexView","BackgroundLayer","LeftContainerBackground","RightContainerBackground","SectionWrapper","theme","$hasBorder","ArrowWrapper","TOP_NAVIGATION_ARROW_WIDTH","LeftArrowWrapper","RightArrowWrapper"],"mappings":";;;AAKM,MAAAA,IAAYC,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAK3BC,IAAkBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQjCE,IAA0BH,EAAOE,CAAe;AAAA;AAAA,GAIhDE,IAA2BJ,EAAOE,CAAe;AAAA;AAAA,GAIjDG,IAAiBL,EAAOC,CAAQ;AAAA,EACpC,CAAC,EAAE,OAAAK,GAAO,YAAAC,EAAA,MAAiB;AAAA;AAAA,iBAEZA,IAAa,aAAaD,EAAM,OAAO,KAAK,KAAK,MAAM;AAAA;AAExE,GAEME,IAAeR,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAMzBQ,CAA0B;AAAA,GAG/BC,IAAmBV,EAAOQ,CAAY;AAAA;AAAA;AAAA,GAKtCG,IAAoBX,EAAOQ,CAAY;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"worksheet-navigation-styled.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport { TOP_NAVIGATION_ARROW_WIDTH } from '../constants';\n\nconst Container = styled(FlexView)`\n position: relative;\n overflow: hidden;\n`;\n\nconst BackgroundLayer = styled(FlexView)`\n position: absolute;\n top: 0;\n width: 50%;\n height: 100%;\n z-index: -1;\n`;\n\nconst LeftContainerBackground = styled(BackgroundLayer)`\n left: 0;\n`;\n\nconst RightContainerBackground = styled(BackgroundLayer)`\n right: 0;\n`;\n\nconst SectionWrapper = styled(FlexView)<{ $hasBorder: boolean }>(\n ({ theme, $hasBorder }) => `\n align-items: center;\n border-left: ${$hasBorder ? `2px solid ${theme.colors.WHITE}` : 'none'};\n`,\n);\n\nconst ArrowWrapper = styled(FlexView)`\n position: absolute;\n top: 0;\n bottom: 0;\n backdrop-filter: blur(20px);\n align-items: center;\n width: ${TOP_NAVIGATION_ARROW_WIDTH}px;\n`;\n\nconst LeftArrowWrapper = styled(ArrowWrapper)`\n left: 0;\n border-right: 2px solid white;\n`;\n\nconst RightArrowWrapper = styled(ArrowWrapper)`\n right: 0;\n border-left: 2px solid white;\n`;\n\nexport {\n Container,\n LeftContainerBackground,\n RightContainerBackground,\n SectionWrapper,\n LeftArrowWrapper,\n RightArrowWrapper,\n};\n"],"names":["Container","styled","FlexView","BackgroundLayer","LeftContainerBackground","RightContainerBackground","SectionWrapper","theme","$hasBorder","ArrowWrapper","TOP_NAVIGATION_ARROW_WIDTH","LeftArrowWrapper","RightArrowWrapper"],"mappings":";;;AAKM,MAAAA,IAAYC,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAK3BC,IAAkBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQjCE,IAA0BH,EAAOE,CAAe;AAAA;AAAA,GAIhDE,IAA2BJ,EAAOE,CAAe;AAAA;AAAA,GAIjDG,IAAiBL,EAAOC,CAAQ;AAAA,EACpC,CAAC,EAAE,OAAAK,GAAO,YAAAC,QAAiB;AAAA;AAAA,iBAEZA,IAAa,aAAaD,EAAM,OAAO,KAAK,KAAK,MAAM;AAAA;AAExE,GAEME,IAAeR,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAMzBQ,CAA0B;AAAA,GAG/BC,IAAmBV,EAAOQ,CAAY;AAAA;AAAA;AAAA,GAKtCG,IAAoBX,EAAOQ,CAAY;AAAA;AAAA;AAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-navigation.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.tsx"],"sourcesContent":["import type { IWorksheetItemNumberProps } from './worksheet-item-number/worksheet-item-number-types';\nimport type { IWorksheetNavigationProps } from './worksheet-navigation-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport useRemoteUserLocation from '../../user-pointer-pin/hooks/use-user-location';\nimport WorksheetItemNavigation from './worksheet-item-navigation/worksheet-item-navigation';\nimport WorksheetItemNumber from './worksheet-item-number/worksheet-item-number';\nimport WorksheetSectionNavigation from './worksheet-section-navigation/worksheet-section-navigation';\n\nconst WorksheetNavigation: FC<IWorksheetNavigationProps> = memo(\n ({\n placement,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n behavior,\n onItemNumberClick,\n userType,\n summaryVisible,\n }) => {\n const { validation, teacherValidationEnabled, maximumAttempts } = behavior;\n const activeItemNumber = questions[activeQuestionIndex]?.item_number;\n const { peerItemNumber } = useRemoteUserLocation({\n questions,\n activeQuestionIndex,\n userType,\n });\n\n const items = useMemo(\n () =>\n questions.reduce(\n (acc, question, questionIndex) => {\n const { item_number, response_id } = question;\n const item = acc[item_number];\n const isUnlocked =\n userType === 'TEACHER' ? true : questionIndex <= lastUnlockedQuestionIndex;\n\n if (!item) {\n acc.push({\n firstQuestion: question,\n isActive: questionIndex === activeQuestionIndex,\n isUnlocked,\n questionIds: [response_id],\n });\n } else {\n item.isActive = item.isActive || questionIndex === activeQuestionIndex;\n item.isUnlocked = item.isUnlocked || isUnlocked;\n item.questionIds.push(response_id);\n }\n\n return acc;\n },\n [] as IWorksheetItemNumberProps['item'][],\n ),\n [activeQuestionIndex, lastUnlockedQuestionIndex, questions, userType],\n );\n\n if (placement === 'bottom') {\n return (\n <FlexView $flexGapX={1} $flexDirection=\"row\" $flexWrap>\n {items.map(item => (\n <WorksheetItemNumber\n key={item.firstQuestion.response_id}\n responses={responses}\n validation={validation}\n placement={placement}\n item={item}\n onItemNumberClick={onItemNumberClick}\n summaryVisible={summaryVisible}\n maximumAttempts={maximumAttempts}\n />\n ))}\n </FlexView>\n );\n }\n\n if (teacherValidationEnabled) {\n return (\n <WorksheetSectionNavigation\n userType={userType}\n activeItemNumber={activeItemNumber}\n items={items}\n responses={responses}\n validation={validation}\n peerItemNumber={peerItemNumber}\n onItemNumberClick={onItemNumberClick}\n maximumAttempts={maximumAttempts}\n />\n );\n }\n\n return (\n <WorksheetItemNavigation\n activeItemNumber={activeItemNumber}\n items={items}\n responses={responses}\n validation={validation}\n peerItemNumber={peerItemNumber}\n summaryVisible={summaryVisible}\n onItemNumberClick={onItemNumberClick}\n maximumAttempts={maximumAttempts}\n />\n );\n },\n);\n\nexport default WorksheetNavigation;\n"],"names":["WorksheetNavigation","memo","placement","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","behavior","onItemNumberClick","userType","summaryVisible","validation","teacherValidationEnabled","maximumAttempts","activeItemNumber","_a","peerItemNumber","useRemoteUserLocation","items","useMemo","acc","question","questionIndex","item_number","response_id","item","isUnlocked","jsx","FlexView","WorksheetItemNumber","WorksheetSectionNavigation","WorksheetItemNavigation"],"mappings":";;;;;;;AAYA,MAAMA,IAAqDC;AAAA,EACzD,CAAC;AAAA,IACC,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;;AACJ,UAAM,EAAE,YAAAC,GAAY,0BAAAC,GAA0B,iBAAAC,EAAA,IAAoBN,GAC5DO,KAAmBC,IAAAZ,EAAUE,CAAmB,MAA7B,gBAAAU,EAAgC,aACnD,EAAE,gBAAAC,EAAe,IAAIC,EAAsB;AAAA,MAC/C,WAAAd;AAAA,MACA,qBAAAE;AAAA,MACA,UAAAI;AAAA,IAAA,CACD,GAEKS,IAAQC;AAAA,MACZ,MACEhB,EAAU;AAAA,QACR,CAACiB,GAAKC,GAAUC,MAAkB;AAC1B,gBAAA,EAAE,aAAAC,GAAa,aAAAC,EAAgB,IAAAH,GAC/BI,IAAOL,EAAIG,CAAW,GACtBG,IACJjB,MAAa,YAAY,KAAOa,KAAiBhB;AAEnD,iBAAKmB,KAQEA,EAAA,WAAWA,EAAK,YAAYH,MAAkBjB,GAC9CoB,EAAA,aAAaA,EAAK,cAAcC,GAChCD,EAAA,YAAY,KAAKD,CAAW,KATjCJ,EAAI,KAAK;AAAA,YACP,eAAeC;AAAA,YACf,UAAUC,MAAkBjB;AAAA,YAC5B,YAAAqB;AAAA,YACA,aAAa,CAACF,CAAW;AAAA,UAAA,CAC1B,GAOIJ;AAAA,QACT;AAAA,QACA,CAAC;AAAA,MACH;AAAA,MACF,CAACf,GAAqBC,GAA2BH,GAAWM,CAAQ;AAAA,IAAA;AAGtE,WAAIP,MAAc,WAEd,gBAAAyB,EAACC,GAAS,EAAA,WAAW,GAAG,gBAAe,OAAM,WAAS,IACnD,UAAMV,EAAA,IAAI,CACTO,MAAA,gBAAAE;AAAA,MAACE;AAAA,MAAA;AAAA,QAEC,WAAAzB;AAAA,QACA,YAAAO;AAAA,QACA,WAAAT;AAAA,QACA,MAAAuB;AAAA,QACA,mBAAAjB;AAAA,QACA,gBAAAE;AAAA,QACA,iBAAAG;AAAA,MAAA;AAAA,MAPKY,EAAK,cAAc;AAAA,IAS3B,CAAA,EACH,CAAA,IAIAb,IAEA,gBAAAe;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,UAAArB;AAAA,QACA,kBAAAK;AAAA,QACA,OAAAI;AAAA,QACA,WAAAd;AAAA,QACA,YAAAO;AAAA,QACA,gBAAAK;AAAA,QACA,mBAAAR;AAAA,QACA,iBAAAK;AAAA,MAAA;AAAA,IAAA,IAMJ,gBAAAc;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,kBAAAjB;AAAA,QACA,OAAAI;AAAA,QACA,WAAAd;AAAA,QACA,YAAAO;AAAA,QACA,gBAAAK;AAAA,QACA,gBAAAN;AAAA,QACA,mBAAAF;AAAA,QACA,iBAAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
1
+ {"version":3,"file":"worksheet-navigation.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.tsx"],"sourcesContent":["import type { IWorksheetItemNumberProps } from './worksheet-item-number/worksheet-item-number-types';\nimport type { IWorksheetNavigationProps } from './worksheet-navigation-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport useRemoteUserLocation from '../../user-pointer-pin/hooks/use-user-location';\nimport WorksheetItemNavigation from './worksheet-item-navigation/worksheet-item-navigation';\nimport WorksheetItemNumber from './worksheet-item-number/worksheet-item-number';\nimport WorksheetSectionNavigation from './worksheet-section-navigation/worksheet-section-navigation';\n\nconst WorksheetNavigation: FC<IWorksheetNavigationProps> = memo(\n ({\n placement,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n behavior,\n onItemNumberClick,\n userType,\n summaryVisible,\n }) => {\n const { validation, teacherValidationEnabled, maximumAttempts } = behavior;\n const activeItemNumber = questions[activeQuestionIndex]?.item_number;\n const { peerItemNumber } = useRemoteUserLocation({\n questions,\n activeQuestionIndex,\n userType,\n });\n\n const items = useMemo(\n () =>\n questions.reduce(\n (acc, question, questionIndex) => {\n const { item_number, response_id } = question;\n const item = acc[item_number];\n const isUnlocked =\n userType === 'TEACHER' ? true : questionIndex <= lastUnlockedQuestionIndex;\n\n if (!item) {\n acc.push({\n firstQuestion: question,\n isActive: questionIndex === activeQuestionIndex,\n isUnlocked,\n questionIds: [response_id],\n });\n } else {\n item.isActive = item.isActive || questionIndex === activeQuestionIndex;\n item.isUnlocked = item.isUnlocked || isUnlocked;\n item.questionIds.push(response_id);\n }\n\n return acc;\n },\n [] as IWorksheetItemNumberProps['item'][],\n ),\n [activeQuestionIndex, lastUnlockedQuestionIndex, questions, userType],\n );\n\n if (placement === 'bottom') {\n return (\n <FlexView $flexGapX={1} $flexDirection=\"row\" $flexWrap>\n {items.map(item => (\n <WorksheetItemNumber\n key={item.firstQuestion.response_id}\n responses={responses}\n validation={validation}\n placement={placement}\n item={item}\n onItemNumberClick={onItemNumberClick}\n summaryVisible={summaryVisible}\n maximumAttempts={maximumAttempts}\n />\n ))}\n </FlexView>\n );\n }\n\n if (teacherValidationEnabled) {\n return (\n <WorksheetSectionNavigation\n userType={userType}\n activeItemNumber={activeItemNumber}\n items={items}\n responses={responses}\n validation={validation}\n peerItemNumber={peerItemNumber}\n onItemNumberClick={onItemNumberClick}\n maximumAttempts={maximumAttempts}\n />\n );\n }\n\n return (\n <WorksheetItemNavigation\n activeItemNumber={activeItemNumber}\n items={items}\n responses={responses}\n validation={validation}\n peerItemNumber={peerItemNumber}\n summaryVisible={summaryVisible}\n onItemNumberClick={onItemNumberClick}\n maximumAttempts={maximumAttempts}\n />\n );\n },\n);\n\nexport default WorksheetNavigation;\n"],"names":["WorksheetNavigation","memo","placement","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","behavior","onItemNumberClick","userType","summaryVisible","validation","teacherValidationEnabled","maximumAttempts","activeItemNumber","_a","peerItemNumber","useRemoteUserLocation","items","useMemo","acc","question","questionIndex","item_number","response_id","item","isUnlocked","jsx","FlexView","WorksheetItemNumber","WorksheetSectionNavigation","WorksheetItemNavigation"],"mappings":";;;;;;;AAYA,MAAMA,IAAqDC;AAAA,EACzD,CAAC;AAAA,IACC,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;;AACJ,UAAM,EAAE,YAAAC,GAAY,0BAAAC,GAA0B,iBAAAC,EAAoB,IAAAN,GAC5DO,KAAmBC,IAAAZ,EAAUE,CAAmB,MAA7B,gBAAAU,EAAgC,aACnD,EAAE,gBAAAC,EAAe,IAAIC,EAAsB;AAAA,MAC/C,WAAAd;AAAA,MACA,qBAAAE;AAAA,MACA,UAAAI;AAAA,IAAA,CACD,GAEKS,IAAQC;AAAA,MACZ,MACEhB,EAAU;AAAA,QACR,CAACiB,GAAKC,GAAUC,MAAkB;AAC1B,gBAAA,EAAE,aAAAC,GAAa,aAAAC,EAAA,IAAgBH,GAC/BI,IAAOL,EAAIG,CAAW,GACtBG,IACJjB,MAAa,YAAY,KAAOa,KAAiBhB;AAEnD,iBAAKmB,KAQEA,EAAA,WAAWA,EAAK,YAAYH,MAAkBjB,GAC9CoB,EAAA,aAAaA,EAAK,cAAcC,GAChCD,EAAA,YAAY,KAAKD,CAAW,KATjCJ,EAAI,KAAK;AAAA,YACP,eAAeC;AAAA,YACf,UAAUC,MAAkBjB;AAAA,YAC5B,YAAAqB;AAAA,YACA,aAAa,CAACF,CAAW;AAAA,UAAA,CAC1B,GAOIJ;AAAA,QACT;AAAA,QACA,CAAA;AAAA,MACF;AAAA,MACF,CAACf,GAAqBC,GAA2BH,GAAWM,CAAQ;AAAA,IACtE;AAEA,WAAIP,MAAc,WAEd,gBAAAyB,EAACC,GAAS,EAAA,WAAW,GAAG,gBAAe,OAAM,WAAS,IACnD,UAAMV,EAAA,IAAI,CACTO,MAAA,gBAAAE;AAAA,MAACE;AAAA,MAAA;AAAA,QAEC,WAAAzB;AAAA,QACA,YAAAO;AAAA,QACA,WAAAT;AAAA,QACA,MAAAuB;AAAA,QACA,mBAAAjB;AAAA,QACA,gBAAAE;AAAA,QACA,iBAAAG;AAAA,MAAA;AAAA,MAPKY,EAAK,cAAc;AAAA,IAS3B,CAAA,GACH,IAIAb,IAEA,gBAAAe;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,UAAArB;AAAA,QACA,kBAAAK;AAAA,QACA,OAAAI;AAAA,QACA,WAAAd;AAAA,QACA,YAAAO;AAAA,QACA,gBAAAK;AAAA,QACA,mBAAAR;AAAA,QACA,iBAAAK;AAAA,MAAA;AAAA,IACF,IAKF,gBAAAc;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,kBAAAjB;AAAA,QACA,OAAAI;AAAA,QACA,WAAAd;AAAA,QACA,YAAAO;AAAA,QACA,gBAAAK;AAAA,QACA,gBAAAN;AAAA,QACA,mBAAAF;AAAA,QACA,iBAAAK;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;"}
@@ -6,7 +6,7 @@ import J from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
6
6
  import y from "../../../../ui/buttons/clickable/clickable.js";
7
7
  import K from "../../../../ui/layout/flex-view.js";
8
8
  import { TOP_NAVIGATION_ARROW_WIDTH as O } from "../../constants.js";
9
- import { getNavigationSectionBackgroundColor as S, getNavigationSectionIcon as Y, getNavigationSectionName as Z } from "../../worksheet-helpers.js";
9
+ import { getNavigationSectionBackgroundColor as S, getNavigationSectionName as Y, getNavigationSectionIcon as Z } from "../../worksheet-helpers.js";
10
10
  import tt from "../worksheet-item-number/worksheet-item-number.js";
11
11
  import { Container as et, LeftContainerBackground as it, RightContainerBackground as nt, SectionWrapper as ot, RightArrowWrapper as rt, LeftArrowWrapper as st } from "../worksheet-navigation-styled.js";
12
12
  const wt = X((B) => {
@@ -73,7 +73,7 @@ const wt = X((B) => {
73
73
  ),
74
74
  /* @__PURE__ */ i(K, { ref: g, $flexDirection: "row", children: c.map(({ sectionName: t, items: e }, o) => {
75
75
  var u, f;
76
- const r = Y(t), a = Z(t), n = (u = e[0]) == null ? void 0 : u.firstQuestion;
76
+ const r = Z(t), a = Y(t), n = (u = e[0]) == null ? void 0 : u.firstQuestion;
77
77
  return (n == null ? void 0 : n.is_optional) && ((f = s[n.response_id]) == null ? void 0 : f.assignStatus) === "skipped" ? null : /* @__PURE__ */ E(
78
78
  ot,
79
79
  {
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-section-navigation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.tsx"],"sourcesContent":["import type { TSectionName } from '../../worksheet-types';\nimport type { IWorksheetItemNavigationProps } from '../worksheet-navigation-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport LeftIcon from '../../../../../assets/line-icons/icons/left';\nimport RightIcon from '../../../../../assets/line-icons/icons/right';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { TOP_NAVIGATION_ARROW_WIDTH } from '../../constants';\nimport {\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n} from '../../worksheet-helpers';\nimport WorksheetItemNumber from '../worksheet-item-number/worksheet-item-number';\nimport * as Styled from '../worksheet-navigation-styled';\n\nconst WorksheetSectionNavigation: FC<IWorksheetItemNavigationProps> = memo(props => {\n const {\n activeItemNumber,\n items,\n responses,\n validation,\n userType,\n peerItemNumber,\n onItemNumberClick,\n maximumAttempts,\n } = props;\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [visibleSection, setVisibleSection] = useState<'left' | 'right'>('left');\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const sections = useMemo(() => {\n return items.reduce(\n (acc, item, itemIndex) => {\n const { section_name } = item.firstQuestion;\n const prevItemSectionName = items[itemIndex - 1]?.firstQuestion.section_name;\n const lastSection = acc[acc.length - 1];\n\n if (section_name === 'overview') {\n return acc;\n }\n\n if (section_name !== prevItemSectionName) {\n if (\n !item.firstQuestion.is_optional ||\n userType === 'TEACHER' ||\n responses[item.firstQuestion.response_id]?.assignStatus === 'assigned'\n ) {\n return [\n ...acc,\n {\n sectionName: section_name,\n items: [item],\n },\n ];\n }\n\n return acc;\n }\n\n if (\n !item.firstQuestion.is_optional ||\n userType === 'TEACHER' ||\n responses[item.firstQuestion.response_id]?.assignStatus === 'assigned'\n ) {\n lastSection?.items.push(item);\n }\n\n return acc;\n },\n [] as Array<{\n sectionName?: TSectionName;\n items: (typeof items)[number][];\n }>,\n );\n }, [items, responses, userType]);\n const visibleItemsCount = useMemo(\n () => sections.reduce((acc, section) => acc + section.items.length, 0),\n [sections],\n );\n const activeSectionName = activeItemNumber\n ? items[activeItemNumber]?.firstQuestion.section_name\n : undefined;\n\n const toggleVisibleSection = useCallback(() => {\n setVisibleSection(prevVisibleSection => (prevVisibleSection === 'left' ? 'right' : 'left'));\n }, []);\n\n useLayoutEffect(() => {\n const containerEl = containerRef.current;\n const contentEl = contentRef.current;\n\n if (containerEl && contentEl) {\n if (contentEl.clientWidth > containerEl.clientWidth) {\n setIsOverflowing(true);\n }\n }\n }, [visibleItemsCount]);\n\n useEffect(() => {\n const contentEl = contentRef.current;\n\n if (activeSectionName !== undefined && isOverflowing && contentEl) {\n const sectionEl = contentEl.querySelector(`.worksheet-section-${activeSectionName}`);\n\n if (sectionEl) {\n setVisibleSection(prevVisibleSection => {\n const { left, right } = sectionEl.getBoundingClientRect();\n\n if (\n prevVisibleSection === 'left' &&\n right + TOP_NAVIGATION_ARROW_WIDTH + 16 > contentEl.clientWidth\n ) {\n return 'right';\n }\n\n if (prevVisibleSection === 'right' && left - TOP_NAVIGATION_ARROW_WIDTH - 16 < 0) {\n return 'left';\n }\n\n return prevVisibleSection;\n });\n }\n }\n }, [activeSectionName, isOverflowing]);\n\n return (\n <Styled.Container\n ref={containerRef}\n $alignItems={isOverflowing ? `flex-${visibleSection === 'left' ? 'start' : 'end'}` : 'center'}\n >\n <Styled.LeftContainerBackground\n $background={getNavigationSectionBackgroundColor(sections[0]?.sectionName)}\n />\n <Styled.RightContainerBackground\n $background={getNavigationSectionBackgroundColor(\n sections[sections.length - 1]?.sectionName,\n )}\n />\n <FlexView ref={contentRef} $flexDirection=\"row\">\n {sections.map(({ sectionName, items: sectionItems }, sectionIndex) => {\n const SectionIcon = getNavigationSectionIcon(sectionName);\n const sectionTooltip = getNavigationSectionName(sectionName);\n const firstQuestion = sectionItems[0]?.firstQuestion;\n const sectionSkipped =\n firstQuestion?.is_optional &&\n responses[firstQuestion.response_id]?.assignStatus === 'skipped';\n\n if (sectionSkipped) {\n return null;\n }\n\n return (\n <Styled.SectionWrapper\n key={sectionName}\n className={`worksheet-section-${sectionName}`}\n $background={getNavigationSectionBackgroundColor(sectionName)}\n $hasBorder={sectionIndex > 0}\n $gutterX={1}\n $flexDirection=\"row\"\n $flexGapX={0.75}\n >\n <ArrowTooltip tooltipItem={sectionTooltip} position=\"bottom\" renderAs=\"primary\">\n <SectionIcon width={24} height={24} />\n </ArrowTooltip>\n {sectionItems.map(item => {\n const {\n firstQuestion: { response_id, item_number, is_optional },\n } = item;\n const isSkipped = is_optional\n ? responses[response_id]?.assignStatus === 'skipped'\n : false;\n\n if (isSkipped) {\n return null;\n }\n\n return (\n <WorksheetItemNumber\n key={response_id}\n item={item}\n responses={responses}\n validation={validation}\n placement=\"top\"\n onItemNumberClick={onItemNumberClick}\n canShowUserPin={item_number === peerItemNumber}\n isOptional={is_optional}\n teacherValidationEnabled\n maximumAttempts={maximumAttempts}\n />\n );\n })}\n </Styled.SectionWrapper>\n );\n })}\n </FlexView>\n {isOverflowing && visibleSection === 'left' && (\n <Clickable label=\"Worksheet Nav Right Arrow\" onClick={toggleVisibleSection}>\n <Styled.RightArrowWrapper $justifyContent=\"center\">\n <RightIcon width={24} height={24} />\n </Styled.RightArrowWrapper>\n </Clickable>\n )}\n {isOverflowing && visibleSection === 'right' && (\n <Clickable label=\"Worksheet Nav Left Arrow\" onClick={toggleVisibleSection}>\n <Styled.LeftArrowWrapper $justifyContent=\"center\">\n <LeftIcon width={24} height={24} />\n </Styled.LeftArrowWrapper>\n </Clickable>\n )}\n </Styled.Container>\n );\n});\n\nexport default WorksheetSectionNavigation;\n"],"names":["WorksheetSectionNavigation","memo","props","activeItemNumber","items","responses","validation","userType","peerItemNumber","onItemNumberClick","maximumAttempts","isOverflowing","setIsOverflowing","useState","visibleSection","setVisibleSection","containerRef","useRef","contentRef","sections","useMemo","acc","item","itemIndex","section_name","prevItemSectionName","_a","lastSection","_b","_c","visibleItemsCount","section","activeSectionName","toggleVisibleSection","useCallback","prevVisibleSection","useLayoutEffect","containerEl","contentEl","useEffect","sectionEl","left","right","TOP_NAVIGATION_ARROW_WIDTH","jsxs","Styled.Container","jsx","Styled.LeftContainerBackground","getNavigationSectionBackgroundColor","Styled.RightContainerBackground","FlexView","sectionName","sectionItems","sectionIndex","SectionIcon","getNavigationSectionIcon","sectionTooltip","getNavigationSectionName","firstQuestion","Styled.SectionWrapper","ArrowTooltip","response_id","item_number","is_optional","WorksheetItemNumber","Clickable","Styled.RightArrowWrapper","RightIcon","Styled.LeftArrowWrapper","LeftIcon"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-section-navigation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.tsx"],"sourcesContent":["import type { TSectionName } from '../../worksheet-types';\nimport type { IWorksheetItemNavigationProps } from '../worksheet-navigation-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport LeftIcon from '../../../../../assets/line-icons/icons/left';\nimport RightIcon from '../../../../../assets/line-icons/icons/right';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { TOP_NAVIGATION_ARROW_WIDTH } from '../../constants';\nimport {\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n} from '../../worksheet-helpers';\nimport WorksheetItemNumber from '../worksheet-item-number/worksheet-item-number';\nimport * as Styled from '../worksheet-navigation-styled';\n\nconst WorksheetSectionNavigation: FC<IWorksheetItemNavigationProps> = memo(props => {\n const {\n activeItemNumber,\n items,\n responses,\n validation,\n userType,\n peerItemNumber,\n onItemNumberClick,\n maximumAttempts,\n } = props;\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [visibleSection, setVisibleSection] = useState<'left' | 'right'>('left');\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const sections = useMemo(() => {\n return items.reduce(\n (acc, item, itemIndex) => {\n const { section_name } = item.firstQuestion;\n const prevItemSectionName = items[itemIndex - 1]?.firstQuestion.section_name;\n const lastSection = acc[acc.length - 1];\n\n if (section_name === 'overview') {\n return acc;\n }\n\n if (section_name !== prevItemSectionName) {\n if (\n !item.firstQuestion.is_optional ||\n userType === 'TEACHER' ||\n responses[item.firstQuestion.response_id]?.assignStatus === 'assigned'\n ) {\n return [\n ...acc,\n {\n sectionName: section_name,\n items: [item],\n },\n ];\n }\n\n return acc;\n }\n\n if (\n !item.firstQuestion.is_optional ||\n userType === 'TEACHER' ||\n responses[item.firstQuestion.response_id]?.assignStatus === 'assigned'\n ) {\n lastSection?.items.push(item);\n }\n\n return acc;\n },\n [] as Array<{\n sectionName?: TSectionName;\n items: (typeof items)[number][];\n }>,\n );\n }, [items, responses, userType]);\n const visibleItemsCount = useMemo(\n () => sections.reduce((acc, section) => acc + section.items.length, 0),\n [sections],\n );\n const activeSectionName = activeItemNumber\n ? items[activeItemNumber]?.firstQuestion.section_name\n : undefined;\n\n const toggleVisibleSection = useCallback(() => {\n setVisibleSection(prevVisibleSection => (prevVisibleSection === 'left' ? 'right' : 'left'));\n }, []);\n\n useLayoutEffect(() => {\n const containerEl = containerRef.current;\n const contentEl = contentRef.current;\n\n if (containerEl && contentEl) {\n if (contentEl.clientWidth > containerEl.clientWidth) {\n setIsOverflowing(true);\n }\n }\n }, [visibleItemsCount]);\n\n useEffect(() => {\n const contentEl = contentRef.current;\n\n if (activeSectionName !== undefined && isOverflowing && contentEl) {\n const sectionEl = contentEl.querySelector(`.worksheet-section-${activeSectionName}`);\n\n if (sectionEl) {\n setVisibleSection(prevVisibleSection => {\n const { left, right } = sectionEl.getBoundingClientRect();\n\n if (\n prevVisibleSection === 'left' &&\n right + TOP_NAVIGATION_ARROW_WIDTH + 16 > contentEl.clientWidth\n ) {\n return 'right';\n }\n\n if (prevVisibleSection === 'right' && left - TOP_NAVIGATION_ARROW_WIDTH - 16 < 0) {\n return 'left';\n }\n\n return prevVisibleSection;\n });\n }\n }\n }, [activeSectionName, isOverflowing]);\n\n return (\n <Styled.Container\n ref={containerRef}\n $alignItems={isOverflowing ? `flex-${visibleSection === 'left' ? 'start' : 'end'}` : 'center'}\n >\n <Styled.LeftContainerBackground\n $background={getNavigationSectionBackgroundColor(sections[0]?.sectionName)}\n />\n <Styled.RightContainerBackground\n $background={getNavigationSectionBackgroundColor(\n sections[sections.length - 1]?.sectionName,\n )}\n />\n <FlexView ref={contentRef} $flexDirection=\"row\">\n {sections.map(({ sectionName, items: sectionItems }, sectionIndex) => {\n const SectionIcon = getNavigationSectionIcon(sectionName);\n const sectionTooltip = getNavigationSectionName(sectionName);\n const firstQuestion = sectionItems[0]?.firstQuestion;\n const sectionSkipped =\n firstQuestion?.is_optional &&\n responses[firstQuestion.response_id]?.assignStatus === 'skipped';\n\n if (sectionSkipped) {\n return null;\n }\n\n return (\n <Styled.SectionWrapper\n key={sectionName}\n className={`worksheet-section-${sectionName}`}\n $background={getNavigationSectionBackgroundColor(sectionName)}\n $hasBorder={sectionIndex > 0}\n $gutterX={1}\n $flexDirection=\"row\"\n $flexGapX={0.75}\n >\n <ArrowTooltip tooltipItem={sectionTooltip} position=\"bottom\" renderAs=\"primary\">\n <SectionIcon width={24} height={24} />\n </ArrowTooltip>\n {sectionItems.map(item => {\n const {\n firstQuestion: { response_id, item_number, is_optional },\n } = item;\n const isSkipped = is_optional\n ? responses[response_id]?.assignStatus === 'skipped'\n : false;\n\n if (isSkipped) {\n return null;\n }\n\n return (\n <WorksheetItemNumber\n key={response_id}\n item={item}\n responses={responses}\n validation={validation}\n placement=\"top\"\n onItemNumberClick={onItemNumberClick}\n canShowUserPin={item_number === peerItemNumber}\n isOptional={is_optional}\n teacherValidationEnabled\n maximumAttempts={maximumAttempts}\n />\n );\n })}\n </Styled.SectionWrapper>\n );\n })}\n </FlexView>\n {isOverflowing && visibleSection === 'left' && (\n <Clickable label=\"Worksheet Nav Right Arrow\" onClick={toggleVisibleSection}>\n <Styled.RightArrowWrapper $justifyContent=\"center\">\n <RightIcon width={24} height={24} />\n </Styled.RightArrowWrapper>\n </Clickable>\n )}\n {isOverflowing && visibleSection === 'right' && (\n <Clickable label=\"Worksheet Nav Left Arrow\" onClick={toggleVisibleSection}>\n <Styled.LeftArrowWrapper $justifyContent=\"center\">\n <LeftIcon width={24} height={24} />\n </Styled.LeftArrowWrapper>\n </Clickable>\n )}\n </Styled.Container>\n );\n});\n\nexport default WorksheetSectionNavigation;\n"],"names":["WorksheetSectionNavigation","memo","props","activeItemNumber","items","responses","validation","userType","peerItemNumber","onItemNumberClick","maximumAttempts","isOverflowing","setIsOverflowing","useState","visibleSection","setVisibleSection","containerRef","useRef","contentRef","sections","useMemo","acc","item","itemIndex","section_name","prevItemSectionName","_a","lastSection","_b","_c","visibleItemsCount","section","activeSectionName","toggleVisibleSection","useCallback","prevVisibleSection","useLayoutEffect","containerEl","contentEl","useEffect","sectionEl","left","right","TOP_NAVIGATION_ARROW_WIDTH","jsxs","Styled.Container","jsx","Styled.LeftContainerBackground","getNavigationSectionBackgroundColor","Styled.RightContainerBackground","FlexView","sectionName","sectionItems","sectionIndex","SectionIcon","getNavigationSectionIcon","sectionTooltip","getNavigationSectionName","firstQuestion","Styled.SectionWrapper","ArrowTooltip","response_id","item_number","is_optional","WorksheetItemNumber","Clickable","Styled.RightArrowWrapper","RightIcon","Styled.LeftArrowWrapper","LeftIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-permissions/error.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { BaseWrapper } from './styles';\n\ninterface ErrorProps {\n buttonLabel?: string;\n error: string;\n handleClick: () => void;\n}\n\nconst Error: React.FC<ErrorProps> = ({ buttonLabel = 'Home', error, handleClick }) => (\n <BaseWrapper $background=\"BLACK_75\">\n <FlexView $alignItems=\"center\">\n <Separator heightX={4} />\n <LottieAnimation src={LOTTIE.ERROR_LOTTIE} height={320} width={320} />\n <Text $renderAs=\"h6\" $color=\"WHITE\" $align=\"center\">\n {error || 'Oh No! Error detected...'}\n </Text>\n <Separator heightX={1} />\n <Button\n label={buttonLabel}\n onClick={handleClick}\n renderAs=\"primary\"\n size=\"regular\"\n widthX={14}\n />\n </FlexView>\n </BaseWrapper>\n);\n\nexport default memo(Error);\n"],"names":["Error","buttonLabel","error","handleClick","jsx","BaseWrapper","jsxs","FlexView","Separator","LottieAnimation","LOTTIE","Text","Button","memo"],"mappings":";;;;;;;;;AAgBA,MAAMA,IAA8B,CAAC,EAAE,aAAAC,IAAc,QAAQ,OAAAC,GAAO,aAAAC,EAAA,MAClE,gBAAAC,EAACC,KAAY,aAAY,YACvB,UAAC,gBAAAC,EAAAC,GAAA,EAAS,aAAY,UACpB,UAAA;AAAA,EAAC,gBAAAH,EAAAI,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,EACvB,gBAAAJ,EAACK,KAAgB,KAAKC,EAAO,cAAc,QAAQ,KAAK,OAAO,KAAK;AAAA,EACpE,gBAAAN,EAACO,KAAK,WAAU,MAAK,QAAO,SAAQ,QAAO,UACxC,UAAAT,KAAS,2BACZ,CAAA;AAAA,EACA,gBAAAE,EAACI,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACvB,gBAAAJ;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,OAAOX;AAAA,MACP,SAASE;AAAA,MACT,UAAS;AAAA,MACT,MAAK;AAAA,MACL,QAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EACF,CAAA,EACF,CAAA,GAGaD,IAAAW,EAAKb,CAAK;"}
1
+ {"version":3,"file":"error.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-permissions/error.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { BaseWrapper } from './styles';\n\ninterface ErrorProps {\n buttonLabel?: string;\n error: string;\n handleClick: () => void;\n}\n\nconst Error: React.FC<ErrorProps> = ({ buttonLabel = 'Home', error, handleClick }) => (\n <BaseWrapper $background=\"BLACK_75\">\n <FlexView $alignItems=\"center\">\n <Separator heightX={4} />\n <LottieAnimation src={LOTTIE.ERROR_LOTTIE} height={320} width={320} />\n <Text $renderAs=\"h6\" $color=\"WHITE\" $align=\"center\">\n {error || 'Oh No! Error detected...'}\n </Text>\n <Separator heightX={1} />\n <Button\n label={buttonLabel}\n onClick={handleClick}\n renderAs=\"primary\"\n size=\"regular\"\n widthX={14}\n />\n </FlexView>\n </BaseWrapper>\n);\n\nexport default memo(Error);\n"],"names":["Error","buttonLabel","error","handleClick","jsx","BaseWrapper","jsxs","FlexView","Separator","LottieAnimation","LOTTIE","Text","Button","memo"],"mappings":";;;;;;;;;AAgBA,MAAMA,IAA8B,CAAC,EAAE,aAAAC,IAAc,QAAQ,OAAAC,GAAO,aAAAC,EAAA,MAClE,gBAAAC,EAACC,KAAY,aAAY,YACvB,UAAC,gBAAAC,EAAAC,GAAA,EAAS,aAAY,UACpB,UAAA;AAAA,EAAC,gBAAAH,EAAAI,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,EACvB,gBAAAJ,EAACK,KAAgB,KAAKC,EAAO,cAAc,QAAQ,KAAK,OAAO,KAAK;AAAA,EACpE,gBAAAN,EAACO,KAAK,WAAU,MAAK,QAAO,SAAQ,QAAO,UACxC,UAAAT,KAAS,2BACZ,CAAA;AAAA,EACA,gBAAAE,EAACI,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACvB,gBAAAJ;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,OAAOX;AAAA,MACP,SAASE;AAAA,MACT,UAAS;AAAA,MACT,MAAK;AAAA,MACL,QAAQ;AAAA,IAAA;AAAA,EAAA;AACV,EAAA,CACF,EACF,CAAA,GAGaD,IAAAW,EAAKb,CAAK;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-locked.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-permissions/sheet-locked.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { BaseWrapper } from './styles';\n\nconst SheetLocked = ({ onHomeClick }: { onHomeClick: () => void }) => {\n const {\n layout: { gutter },\n } = useTheme();\n\n return (\n <BaseWrapper $background=\"BLACK_75\">\n <FlexView $alignItems=\"center\">\n <Separator heightX={4} />\n <img\n alt=\"locked-img\"\n src={ILLUSTRATIONS.LOCKED}\n width={gutter * 12.5}\n height={gutter * 12.5}\n />\n <Text $renderAs=\"h6\" $color=\"WHITE\">\n The sheet is locked. Come back later\n </Text>\n <Separator heightX={1} />\n <Button label=\"Home\" onClick={onHomeClick} renderAs=\"primary\" size=\"regular\" widthX={14} />\n </FlexView>\n </BaseWrapper>\n );\n};\n\nexport default memo(SheetLocked);\n"],"names":["SheetLocked","onHomeClick","gutter","useTheme","BaseWrapper","jsxs","FlexView","jsx","Separator","ILLUSTRATIONS","Text","Button","sheetLocked","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,IAAc,CAAC,EAAE,aAAAC,QAA+C;AAC9D,QAAA;AAAA,IACJ,QAAQ,EAAE,QAAAC,EAAO;AAAA,MACfC,EAAS;AAEb,2BACGC,GAAY,EAAA,aAAY,YACvB,UAAC,gBAAAC,EAAAC,GAAA,EAAS,aAAY,UACpB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,IACvB,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAI;AAAA,QACJ,KAAKE,EAAc;AAAA,QACnB,OAAOP,IAAS;AAAA,QAChB,QAAQA,IAAS;AAAA,MAAA;AAAA,IACnB;AAAA,sBACCQ,GAAK,EAAA,WAAU,MAAK,QAAO,SAAQ,UAEpC,wCAAA;AAAA,IACA,gBAAAH,EAACC,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,IACvB,gBAAAD,EAACI,GAAO,EAAA,OAAM,QAAO,SAASV,GAAa,UAAS,WAAU,MAAK,WAAU,QAAQ,GAAI,CAAA;AAAA,EAAA,EAC3F,CAAA,EACF,CAAA;AAEJ,GAEeW,IAAAC,EAAKb,CAAW;"}
1
+ {"version":3,"file":"sheet-locked.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-permissions/sheet-locked.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { BaseWrapper } from './styles';\n\nconst SheetLocked = ({ onHomeClick }: { onHomeClick: () => void }) => {\n const {\n layout: { gutter },\n } = useTheme();\n\n return (\n <BaseWrapper $background=\"BLACK_75\">\n <FlexView $alignItems=\"center\">\n <Separator heightX={4} />\n <img\n alt=\"locked-img\"\n src={ILLUSTRATIONS.LOCKED}\n width={gutter * 12.5}\n height={gutter * 12.5}\n />\n <Text $renderAs=\"h6\" $color=\"WHITE\">\n The sheet is locked. Come back later\n </Text>\n <Separator heightX={1} />\n <Button label=\"Home\" onClick={onHomeClick} renderAs=\"primary\" size=\"regular\" widthX={14} />\n </FlexView>\n </BaseWrapper>\n );\n};\n\nexport default memo(SheetLocked);\n"],"names":["SheetLocked","onHomeClick","gutter","useTheme","BaseWrapper","jsxs","FlexView","jsx","Separator","ILLUSTRATIONS","Text","Button","sheetLocked","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,IAAc,CAAC,EAAE,aAAAC,QAA+C;AAC9D,QAAA;AAAA,IACJ,QAAQ,EAAE,QAAAC,EAAO;AAAA,MACfC,EAAS;AAEb,2BACGC,GAAY,EAAA,aAAY,YACvB,UAAC,gBAAAC,EAAAC,GAAA,EAAS,aAAY,UACpB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,IACvB,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAI;AAAA,QACJ,KAAKE,EAAc;AAAA,QACnB,OAAOP,IAAS;AAAA,QAChB,QAAQA,IAAS;AAAA,MAAA;AAAA,IACnB;AAAA,sBACCQ,GAAK,EAAA,WAAU,MAAK,QAAO,SAAQ,UAEpC,wCAAA;AAAA,IACA,gBAAAH,EAACC,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,IACvB,gBAAAD,EAACI,GAAO,EAAA,OAAM,QAAO,SAASV,GAAa,UAAS,WAAU,MAAK,WAAU,QAAQ,GAAI,CAAA;AAAA,EAAA,EAAA,CAC3F,EACF,CAAA;AAEJ,GAEeW,IAAAC,EAAKb,CAAW;"}
@@ -1 +1 @@
1
- {"version":3,"file":"header-tags.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/header-tags.tsx"],"sourcesContent":["import type { TInstructorStimulus, TItemType } from '../../worksheet-types';\nimport type { TWorksheetQuestionPaperColor } from '../worksheet-question-types';\n\nimport { memo, useMemo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { getQuestionBorderColor } from '../../worksheet-helpers';\n\ninterface IHeaderTag {\n itemType?: TItemType;\n paperColor?: TWorksheetQuestionPaperColor;\n instructorStimulus?: TInstructorStimulus;\n}\n\nconst getItemType = (itemType?: string, instructorStimulus?: TInstructorStimulus) => {\n switch (itemType) {\n case 'learning-we-do':\n return 'We Do';\n case 'learning-your-turn':\n return 'Your Turn';\n case 'learning-explore':\n return 'Explore';\n }\n\n switch (instructorStimulus?.toLowerCase()) {\n case 'try':\n return 'Try';\n case 'learn':\n return 'Learn';\n case 'apply':\n return 'Apply';\n }\n\n return null;\n};\n\nconst HeaderTag: FC<IHeaderTag> = memo(({ itemType, paperColor, instructorStimulus }) => {\n const itemTypeLabel = useMemo(\n () => getItemType(itemType, instructorStimulus),\n [instructorStimulus, itemType],\n );\n\n if (itemTypeLabel) {\n return (\n <>\n <Separator width={4} />\n <FlexView\n $borderRadius={12}\n $background={getQuestionBorderColor(paperColor ?? 'yellow', true)}\n $gutter={8}\n $height=\"fit-content\"\n >\n <Separator height={2} />\n <Text $renderAs=\"eyebrow2\">{itemTypeLabel}</Text>\n </FlexView>\n </>\n );\n }\n\n return null;\n});\n\nexport default HeaderTag;\n"],"names":["getItemType","itemType","instructorStimulus","HeaderTag","memo","paperColor","itemTypeLabel","useMemo","jsxs","Fragment","jsx","Separator","FlexView","getQuestionBorderColor","Text"],"mappings":";;;;;;AAgBA,MAAMA,IAAc,CAACC,GAAmBC,MAA6C;AACnF,UAAQD,GAAU;AAAA,IAChB,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,EACX;AAEQ,UAAAC,KAAA,gBAAAA,EAAoB,eAAe;AAAA,IACzC,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,EACX;AAEO,SAAA;AACT,GAEMC,IAA4BC,EAAK,CAAC,EAAE,UAAAH,GAAU,YAAAI,GAAY,oBAAAH,QAAyB;AACvF,QAAMI,IAAgBC;AAAA,IACpB,MAAMP,EAAYC,GAAUC,CAAkB;AAAA,IAC9C,CAACA,GAAoBD,CAAQ;AAAA,EAAA;AAG/B,SAAIK,IAGE,gBAAAE,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,OAAO,EAAG,CAAA;AAAA,IACrB,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,eAAe;AAAA,QACf,aAAaC,EAAuBR,KAAc,UAAU,EAAI;AAAA,QAChE,SAAS;AAAA,QACT,SAAQ;AAAA,QAER,UAAA;AAAA,UAAC,gBAAAK,EAAAC,GAAA,EAAU,QAAQ,EAAG,CAAA;AAAA,UACrB,gBAAAD,EAAAI,GAAA,EAAK,WAAU,YAAY,UAAcR,GAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC5C;AAAA,EACF,EAAA,CAAA,IAIG;AACT,CAAC;"}
1
+ {"version":3,"file":"header-tags.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/header-tags.tsx"],"sourcesContent":["import type { TInstructorStimulus, TItemType } from '../../worksheet-types';\nimport type { TWorksheetQuestionPaperColor } from '../worksheet-question-types';\n\nimport { memo, useMemo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { getQuestionBorderColor } from '../../worksheet-helpers';\n\ninterface IHeaderTag {\n itemType?: TItemType;\n paperColor?: TWorksheetQuestionPaperColor;\n instructorStimulus?: TInstructorStimulus;\n}\n\nconst getItemType = (itemType?: string, instructorStimulus?: TInstructorStimulus) => {\n switch (itemType) {\n case 'learning-we-do':\n return 'We Do';\n case 'learning-your-turn':\n return 'Your Turn';\n case 'learning-explore':\n return 'Explore';\n }\n\n switch (instructorStimulus?.toLowerCase()) {\n case 'try':\n return 'Try';\n case 'learn':\n return 'Learn';\n case 'apply':\n return 'Apply';\n }\n\n return null;\n};\n\nconst HeaderTag: FC<IHeaderTag> = memo(({ itemType, paperColor, instructorStimulus }) => {\n const itemTypeLabel = useMemo(\n () => getItemType(itemType, instructorStimulus),\n [instructorStimulus, itemType],\n );\n\n if (itemTypeLabel) {\n return (\n <>\n <Separator width={4} />\n <FlexView\n $borderRadius={12}\n $background={getQuestionBorderColor(paperColor ?? 'yellow', true)}\n $gutter={8}\n $height=\"fit-content\"\n >\n <Separator height={2} />\n <Text $renderAs=\"eyebrow2\">{itemTypeLabel}</Text>\n </FlexView>\n </>\n );\n }\n\n return null;\n});\n\nexport default HeaderTag;\n"],"names":["getItemType","itemType","instructorStimulus","HeaderTag","memo","paperColor","itemTypeLabel","useMemo","jsxs","Fragment","jsx","Separator","FlexView","getQuestionBorderColor","Text"],"mappings":";;;;;;AAgBA,MAAMA,IAAc,CAACC,GAAmBC,MAA6C;AACnF,UAAQD,GAAU;AAAA,IAChB,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,EAAA;AAGH,UAAAC,KAAA,gBAAAA,EAAoB,eAAe;AAAA,IACzC,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,EAAA;AAGJ,SAAA;AACT,GAEMC,IAA4BC,EAAK,CAAC,EAAE,UAAAH,GAAU,YAAAI,GAAY,oBAAAH,QAAyB;AACvF,QAAMI,IAAgBC;AAAA,IACpB,MAAMP,EAAYC,GAAUC,CAAkB;AAAA,IAC9C,CAACA,GAAoBD,CAAQ;AAAA,EAC/B;AAEA,SAAIK,IAGE,gBAAAE,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,OAAO,EAAG,CAAA;AAAA,IACrB,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,eAAe;AAAA,QACf,aAAaC,EAAuBR,KAAc,UAAU,EAAI;AAAA,QAChE,SAAS;AAAA,QACT,SAAQ;AAAA,QAER,UAAA;AAAA,UAAC,gBAAAK,EAAAC,GAAA,EAAU,QAAQ,EAAG,CAAA;AAAA,UACrB,gBAAAD,EAAAI,GAAA,EAAK,WAAU,YAAY,UAAcR,EAAA,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5C,GACF,IAIG;AACT,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/header.tsx"],"sourcesContent":["import type { IQuestionHeaderProps } from '../worksheet-question-types';\n\nimport { memo, useCallback, useMemo, type FC } from 'react';\n\nimport BookmarkIcon from '../../../../../assets/line-icons/icons/bookmark';\nimport BookmarkStrokeIcon from '../../../../../assets/line-icons/icons/bookmark-stroke-icon';\nimport MistakeIcon from '../../../../../assets/line-icons/icons/mistake';\nimport Skip2Icon from '../../../../../assets/line-icons/icons/skip2';\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { TOP_NAVIGATION_HEIGHT } from '../../constants';\nimport { getQuestionBorderColor } from '../../worksheet-helpers';\nimport * as Styled from '../worksheet-question-styled';\nimport HeaderTag from './header-tags';\nimport ValidatedAnimation from './validated-animation';\n\nconst QuestionHeader: FC<IQuestionHeaderProps> = memo(\n ({\n paperColor,\n actionbarHeight,\n behavior,\n onMarkForReview,\n question,\n response,\n userType,\n onResolveDoubt,\n canResolveDoubt,\n layout,\n worksheetCompleted,\n }) => {\n const { topOffset, questionsScrollable, navigationBar } = layout;\n const teacherValidated = response?.validatedByTeacher ?? false;\n const markedForReview = response?.markedForReview ?? false;\n const attempts = (response?.attemptsHistory || []).length ?? 0;\n const { canMarkForReview, teacherValidationEnabled } = behavior;\n const {\n item_display_number,\n question_number,\n total_questions: totalQuestions,\n response_id: responseId,\n item_type: itemType,\n instructor_stimulus: instructorStimulus,\n } = question;\n\n const questionNumber = `${item_display_number}${\n totalQuestions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`;\n\n const handleMarkForReview = useCallback(\n () => onMarkForReview(responseId, true),\n [onMarkForReview, responseId],\n );\n\n const handleUnmarkForReview = useCallback(\n () => onMarkForReview(responseId, false),\n [onMarkForReview, responseId],\n );\n\n const canShowResolveButton = useMemo(() => {\n const { score, max_score: maxScore } = response?.score || {};\n\n if (worksheetCompleted && onResolveDoubt && !response?.doubtResolved) {\n if (response?.skipped) {\n return true;\n }\n\n if (response?.responseEdited && score !== maxScore) {\n return true;\n }\n\n return false;\n }\n }, [onResolveDoubt, response, worksheetCompleted]);\n\n const handleDoubtResolve = useCallback(() => {\n if (onResolveDoubt) {\n onResolveDoubt(responseId);\n }\n }, [onResolveDoubt, responseId]);\n\n if (questionsScrollable || !canMarkForReview) {\n return (\n <Styled.QuestionHeaderWrapper\n $flexDirection=\"row\"\n $topOffset={topOffset + navigationBar === 'top' ? TOP_NAVIGATION_HEIGHT : 0}\n $actionbarHeight={actionbarHeight}\n $justifyContent=\"space-between\"\n >\n <FlexView $flexDirection=\"row\">\n <FlexView\n $position=\"relative\"\n $background={getQuestionBorderColor(paperColor ?? 'yellow', true)}\n $widthX={2.5}\n $heightX={2.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={0.5}\n $marginBottom={18}\n >\n <Text $renderAs=\"body1Medium\">{questionNumber}</Text>\n {teacherValidationEnabled && (\n <Styled.QuestionValidationAnimationWrapper>\n <ValidatedAnimation validated={teacherValidated} />\n </Styled.QuestionValidationAnimationWrapper>\n )}\n </FlexView>\n {canShowResolveButton && (\n <FlexView $gutterX={0.5} $gapX={0.2}>\n <Button\n renderAs=\"secondary\"\n label={`Mark as Resolved`}\n onClick={handleDoubtResolve}\n disabled={!canResolveDoubt}\n size=\"xsmall\"\n iconPosition=\"left\"\n Icon={response?.skipped ? Skip2Icon : MistakeIcon}\n />\n </FlexView>\n )}\n <Separator width={5} />\n {!!attempts && userType === 'TEACHER' && (\n <FlexView\n $flexDirection=\"row\"\n $background=\"WHITE\"\n $flexGapX={0.25}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={0.5}\n $marginBottom={18}\n $gutterX={0.5}\n >\n <Text $renderAs=\"body1\">Attempts:</Text>\n <Text $renderAs=\"body1Medium\">{attempts}</Text>\n </FlexView>\n )}\n <HeaderTag\n itemType={itemType}\n instructorStimulus={instructorStimulus}\n paperColor={paperColor}\n />\n </FlexView>\n </Styled.QuestionHeaderWrapper>\n );\n }\n\n return (\n <Styled.ItemHeader\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $background=\"YELLOW_1\"\n $marginBottom={18}\n >\n <Styled.ItemHeaderTag>\n <Text $renderAs=\"eyebrow1\">Question {item_display_number}</Text>\n </Styled.ItemHeaderTag>\n {canMarkForReview && (\n <Button\n renderAs=\"secondary\"\n label={`Mark${markedForReview ? 'ed' : ''} for review`}\n onClick={markedForReview ? handleUnmarkForReview : handleMarkForReview}\n size=\"xsmall\"\n iconPosition=\"left\"\n Icon={markedForReview ? BookmarkIcon : BookmarkStrokeIcon}\n />\n )}\n </Styled.ItemHeader>\n );\n },\n);\n\nexport default QuestionHeader;\n"],"names":["QuestionHeader","memo","paperColor","actionbarHeight","behavior","onMarkForReview","question","response","userType","onResolveDoubt","canResolveDoubt","layout","worksheetCompleted","topOffset","questionsScrollable","navigationBar","teacherValidated","markedForReview","attempts","canMarkForReview","teacherValidationEnabled","item_display_number","question_number","totalQuestions","responseId","itemType","instructorStimulus","questionNumber","handleMarkForReview","useCallback","handleUnmarkForReview","canShowResolveButton","useMemo","score","maxScore","handleDoubtResolve","jsx","Styled.QuestionHeaderWrapper","TOP_NAVIGATION_HEIGHT","jsxs","FlexView","getQuestionBorderColor","Text","Styled.QuestionValidationAnimationWrapper","ValidatedAnimation","Button","Skip2Icon","MistakeIcon","Separator","HeaderTag","Styled.ItemHeader","Styled.ItemHeaderTag","BookmarkIcon","BookmarkStrokeIcon"],"mappings":"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"}
1
+ {"version":3,"file":"header.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/header.tsx"],"sourcesContent":["import type { IQuestionHeaderProps } from '../worksheet-question-types';\n\nimport { memo, useCallback, useMemo, type FC } from 'react';\n\nimport BookmarkIcon from '../../../../../assets/line-icons/icons/bookmark';\nimport BookmarkStrokeIcon from '../../../../../assets/line-icons/icons/bookmark-stroke-icon';\nimport MistakeIcon from '../../../../../assets/line-icons/icons/mistake';\nimport Skip2Icon from '../../../../../assets/line-icons/icons/skip2';\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { TOP_NAVIGATION_HEIGHT } from '../../constants';\nimport { getQuestionBorderColor } from '../../worksheet-helpers';\nimport * as Styled from '../worksheet-question-styled';\nimport HeaderTag from './header-tags';\nimport ValidatedAnimation from './validated-animation';\n\nconst QuestionHeader: FC<IQuestionHeaderProps> = memo(\n ({\n paperColor,\n actionbarHeight,\n behavior,\n onMarkForReview,\n question,\n response,\n userType,\n onResolveDoubt,\n canResolveDoubt,\n layout,\n worksheetCompleted,\n }) => {\n const { topOffset, questionsScrollable, navigationBar } = layout;\n const teacherValidated = response?.validatedByTeacher ?? false;\n const markedForReview = response?.markedForReview ?? false;\n const attempts = (response?.attemptsHistory || []).length ?? 0;\n const { canMarkForReview, teacherValidationEnabled } = behavior;\n const {\n item_display_number,\n question_number,\n total_questions: totalQuestions,\n response_id: responseId,\n item_type: itemType,\n instructor_stimulus: instructorStimulus,\n } = question;\n\n const questionNumber = `${item_display_number}${\n totalQuestions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`;\n\n const handleMarkForReview = useCallback(\n () => onMarkForReview(responseId, true),\n [onMarkForReview, responseId],\n );\n\n const handleUnmarkForReview = useCallback(\n () => onMarkForReview(responseId, false),\n [onMarkForReview, responseId],\n );\n\n const canShowResolveButton = useMemo(() => {\n const { score, max_score: maxScore } = response?.score || {};\n\n if (worksheetCompleted && onResolveDoubt && !response?.doubtResolved) {\n if (response?.skipped) {\n return true;\n }\n\n if (response?.responseEdited && score !== maxScore) {\n return true;\n }\n\n return false;\n }\n }, [onResolveDoubt, response, worksheetCompleted]);\n\n const handleDoubtResolve = useCallback(() => {\n if (onResolveDoubt) {\n onResolveDoubt(responseId);\n }\n }, [onResolveDoubt, responseId]);\n\n if (questionsScrollable || !canMarkForReview) {\n return (\n <Styled.QuestionHeaderWrapper\n $flexDirection=\"row\"\n $topOffset={topOffset + navigationBar === 'top' ? TOP_NAVIGATION_HEIGHT : 0}\n $actionbarHeight={actionbarHeight}\n $justifyContent=\"space-between\"\n >\n <FlexView $flexDirection=\"row\">\n <FlexView\n $position=\"relative\"\n $background={getQuestionBorderColor(paperColor ?? 'yellow', true)}\n $widthX={2.5}\n $heightX={2.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={0.5}\n $marginBottom={18}\n >\n <Text $renderAs=\"body1Medium\">{questionNumber}</Text>\n {teacherValidationEnabled && (\n <Styled.QuestionValidationAnimationWrapper>\n <ValidatedAnimation validated={teacherValidated} />\n </Styled.QuestionValidationAnimationWrapper>\n )}\n </FlexView>\n {canShowResolveButton && (\n <FlexView $gutterX={0.5} $gapX={0.2}>\n <Button\n renderAs=\"secondary\"\n label={`Mark as Resolved`}\n onClick={handleDoubtResolve}\n disabled={!canResolveDoubt}\n size=\"xsmall\"\n iconPosition=\"left\"\n Icon={response?.skipped ? Skip2Icon : MistakeIcon}\n />\n </FlexView>\n )}\n <Separator width={5} />\n {!!attempts && userType === 'TEACHER' && (\n <FlexView\n $flexDirection=\"row\"\n $background=\"WHITE\"\n $flexGapX={0.25}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={0.5}\n $marginBottom={18}\n $gutterX={0.5}\n >\n <Text $renderAs=\"body1\">Attempts:</Text>\n <Text $renderAs=\"body1Medium\">{attempts}</Text>\n </FlexView>\n )}\n <HeaderTag\n itemType={itemType}\n instructorStimulus={instructorStimulus}\n paperColor={paperColor}\n />\n </FlexView>\n </Styled.QuestionHeaderWrapper>\n );\n }\n\n return (\n <Styled.ItemHeader\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $background=\"YELLOW_1\"\n $marginBottom={18}\n >\n <Styled.ItemHeaderTag>\n <Text $renderAs=\"eyebrow1\">Question {item_display_number}</Text>\n </Styled.ItemHeaderTag>\n {canMarkForReview && (\n <Button\n renderAs=\"secondary\"\n label={`Mark${markedForReview ? 'ed' : ''} for review`}\n onClick={markedForReview ? handleUnmarkForReview : handleMarkForReview}\n size=\"xsmall\"\n iconPosition=\"left\"\n Icon={markedForReview ? BookmarkIcon : BookmarkStrokeIcon}\n />\n )}\n </Styled.ItemHeader>\n );\n },\n);\n\nexport default QuestionHeader;\n"],"names":["QuestionHeader","memo","paperColor","actionbarHeight","behavior","onMarkForReview","question","response","userType","onResolveDoubt","canResolveDoubt","layout","worksheetCompleted","topOffset","questionsScrollable","navigationBar","teacherValidated","markedForReview","attempts","canMarkForReview","teacherValidationEnabled","item_display_number","question_number","totalQuestions","responseId","itemType","instructorStimulus","questionNumber","handleMarkForReview","useCallback","handleUnmarkForReview","canShowResolveButton","useMemo","score","maxScore","handleDoubtResolve","jsx","Styled.QuestionHeaderWrapper","TOP_NAVIGATION_HEIGHT","jsxs","FlexView","getQuestionBorderColor","Text","Styled.QuestionValidationAnimationWrapper","ValidatedAnimation","Button","Skip2Icon","MistakeIcon","Separator","HeaderTag","Styled.ItemHeader","Styled.ItemHeaderTag","BookmarkIcon","BookmarkStrokeIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validated-animation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/validated-animation.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useState } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\n\ninterface IValidatedAnimationProps {\n validated: boolean;\n}\n\nconst animationSettings = { name: 'validated', loop: false };\n\nconst ValidatedAnimation: FC<IValidatedAnimationProps> = memo(({ validated }) => {\n const [validatedOnMount] = useState(validated);\n\n if (validatedOnMount) {\n return (\n <FlexView $width={40} $height={40} $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView\n $borderRadius={10}\n $background=\"REAL_BLACK\"\n $width={20}\n $height={20}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <Check2Icon color=\"WHITE\" width={16} height={16} />\n </FlexView>\n </FlexView>\n );\n }\n\n if (!validatedOnMount && validated) {\n return <LottieAnimation src={LOTTIE.TEACHER_VALIDATION} settings={animationSettings} />;\n }\n\n return null;\n});\n\nexport default ValidatedAnimation;\n"],"names":["animationSettings","ValidatedAnimation","memo","validated","validatedOnMount","useState","jsx","FlexView","Check2Icon","LottieAnimation","LOTTIE"],"mappings":";;;;;;AAaA,MAAMA,IAAoB,EAAE,MAAM,aAAa,MAAM,GAAM,GAErDC,IAAmDC,EAAK,CAAC,EAAE,WAAAC,QAAgB;AAC/E,QAAM,CAACC,CAAgB,IAAIC,EAASF,CAAS;AAE7C,SAAIC,IAEA,gBAAAE,EAACC,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAAS,iBAAgB,UACtE,UAAA,gBAAAD;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAe;AAAA,MACf,aAAY;AAAA,MACZ,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEhB,4BAACC,GAAW,EAAA,OAAM,SAAQ,OAAO,IAAI,QAAQ,IAAI;AAAA,IAAA;AAAA,EAErD,EAAA,CAAA,IAIA,CAACJ,KAAoBD,sBACfM,GAAgB,EAAA,KAAKC,EAAO,oBAAoB,UAAUV,EAAmB,CAAA,IAGhF;AACT,CAAC;"}
1
+ {"version":3,"file":"validated-animation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/validated-animation.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useState } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\n\ninterface IValidatedAnimationProps {\n validated: boolean;\n}\n\nconst animationSettings = { name: 'validated', loop: false };\n\nconst ValidatedAnimation: FC<IValidatedAnimationProps> = memo(({ validated }) => {\n const [validatedOnMount] = useState(validated);\n\n if (validatedOnMount) {\n return (\n <FlexView $width={40} $height={40} $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView\n $borderRadius={10}\n $background=\"REAL_BLACK\"\n $width={20}\n $height={20}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <Check2Icon color=\"WHITE\" width={16} height={16} />\n </FlexView>\n </FlexView>\n );\n }\n\n if (!validatedOnMount && validated) {\n return <LottieAnimation src={LOTTIE.TEACHER_VALIDATION} settings={animationSettings} />;\n }\n\n return null;\n});\n\nexport default ValidatedAnimation;\n"],"names":["animationSettings","ValidatedAnimation","memo","validated","validatedOnMount","useState","jsx","FlexView","Check2Icon","LottieAnimation","LOTTIE"],"mappings":";;;;;;AAaA,MAAMA,IAAoB,EAAE,MAAM,aAAa,MAAM,GAAM,GAErDC,IAAmDC,EAAK,CAAC,EAAE,WAAAC,QAAgB;AAC/E,QAAM,CAACC,CAAgB,IAAIC,EAASF,CAAS;AAE7C,SAAIC,IAEA,gBAAAE,EAACC,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAAS,iBAAgB,UACtE,UAAA,gBAAAD;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAe;AAAA,MACf,aAAY;AAAA,MACZ,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEhB,4BAACC,GAAW,EAAA,OAAM,SAAQ,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,IAAA;AAAA,EAAA,GAErD,IAIA,CAACJ,KAAoBD,sBACfM,GAAgB,EAAA,KAAKC,EAAO,oBAAoB,UAAUV,GAAmB,IAGhF;AACT,CAAC;"}