@cuemath/leap 3.1.17-hg3 → 3.1.18

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 (1304) 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/apple-icon.js.map +1 -1
  4. package/dist/assets/line-icons/icons/back.js +4 -4
  5. package/dist/assets/line-icons/icons/back.js.map +1 -1
  6. package/dist/assets/line-icons/icons/back2.js +3 -3
  7. package/dist/assets/line-icons/icons/back2.js.map +1 -1
  8. package/dist/assets/line-icons/icons/bin.js +8 -8
  9. package/dist/assets/line-icons/icons/bin.js.map +1 -1
  10. package/dist/assets/line-icons/icons/bin2.js +5 -5
  11. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  12. package/dist/assets/line-icons/icons/book-closed.js +3 -3
  13. package/dist/assets/line-icons/icons/book-closed.js.map +1 -1
  14. package/dist/assets/line-icons/icons/book.js +4 -4
  15. package/dist/assets/line-icons/icons/book.js.map +1 -1
  16. package/dist/assets/line-icons/icons/book2.js +3 -3
  17. package/dist/assets/line-icons/icons/book2.js.map +1 -1
  18. package/dist/assets/line-icons/icons/bookmark-stroke-icon.js.map +1 -1
  19. package/dist/assets/line-icons/icons/bookmark.js +2 -2
  20. package/dist/assets/line-icons/icons/bookmark.js.map +1 -1
  21. package/dist/assets/line-icons/icons/bulb.js +8 -8
  22. package/dist/assets/line-icons/icons/bulb.js.map +1 -1
  23. package/dist/assets/line-icons/icons/bulb2.js +3 -3
  24. package/dist/assets/line-icons/icons/bulb2.js.map +1 -1
  25. package/dist/assets/line-icons/icons/calculator.js.map +1 -1
  26. package/dist/assets/line-icons/icons/calendar.js +3 -3
  27. package/dist/assets/line-icons/icons/calendar.js.map +1 -1
  28. package/dist/assets/line-icons/icons/carat-left.js.map +1 -1
  29. package/dist/assets/line-icons/icons/carat-right.js.map +1 -1
  30. package/dist/assets/line-icons/icons/chat.js +4 -4
  31. package/dist/assets/line-icons/icons/chat.js.map +1 -1
  32. package/dist/assets/line-icons/icons/check.js +3 -3
  33. package/dist/assets/line-icons/icons/check.js.map +1 -1
  34. package/dist/assets/line-icons/icons/check2.js +3 -3
  35. package/dist/assets/line-icons/icons/check2.js.map +1 -1
  36. package/dist/assets/line-icons/icons/chevron-down.js +6 -6
  37. package/dist/assets/line-icons/icons/chevron-down.js.map +1 -1
  38. package/dist/assets/line-icons/icons/chevron-left.js +4 -4
  39. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  40. package/dist/assets/line-icons/icons/chevron-right.js +6 -6
  41. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  42. package/dist/assets/line-icons/icons/circle-back.js.map +1 -1
  43. package/dist/assets/line-icons/icons/clear-all.js.map +1 -1
  44. package/dist/assets/line-icons/icons/clipboard.js +5 -5
  45. package/dist/assets/line-icons/icons/clipboard.js.map +1 -1
  46. package/dist/assets/line-icons/icons/clock.js +3 -3
  47. package/dist/assets/line-icons/icons/clock.js.map +1 -1
  48. package/dist/assets/line-icons/icons/clock2.js +5 -5
  49. package/dist/assets/line-icons/icons/clock2.js.map +1 -1
  50. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -1
  51. package/dist/assets/line-icons/icons/code.js +3 -3
  52. package/dist/assets/line-icons/icons/code.js.map +1 -1
  53. package/dist/assets/line-icons/icons/copy.js +4 -4
  54. package/dist/assets/line-icons/icons/copy.js.map +1 -1
  55. package/dist/assets/line-icons/icons/cross.js +4 -4
  56. package/dist/assets/line-icons/icons/cross.js.map +1 -1
  57. package/dist/assets/line-icons/icons/cue-rocket.js +2 -2
  58. package/dist/assets/line-icons/icons/cue-rocket.js.map +1 -1
  59. package/dist/assets/line-icons/icons/cuemath-logo.js +2 -2
  60. package/dist/assets/line-icons/icons/cuemath-logo.js.map +1 -1
  61. package/dist/assets/line-icons/icons/cursor.js.map +1 -1
  62. package/dist/assets/line-icons/icons/dash-arrow.js +3 -3
  63. package/dist/assets/line-icons/icons/dash-arrow.js.map +1 -1
  64. package/dist/assets/line-icons/icons/down.js +2 -2
  65. package/dist/assets/line-icons/icons/down.js.map +1 -1
  66. package/dist/assets/line-icons/icons/download.js.map +1 -1
  67. package/dist/assets/line-icons/icons/draft.js +4 -4
  68. package/dist/assets/line-icons/icons/draft.js.map +1 -1
  69. package/dist/assets/line-icons/icons/drag.js +3 -3
  70. package/dist/assets/line-icons/icons/drag.js.map +1 -1
  71. package/dist/assets/line-icons/icons/edit-star.js +5 -5
  72. package/dist/assets/line-icons/icons/edit-star.js.map +1 -1
  73. package/dist/assets/line-icons/icons/edit.js +5 -5
  74. package/dist/assets/line-icons/icons/edit.js.map +1 -1
  75. package/dist/assets/line-icons/icons/edit2.js +2 -2
  76. package/dist/assets/line-icons/icons/edit2.js.map +1 -1
  77. package/dist/assets/line-icons/icons/equation.js.map +1 -1
  78. package/dist/assets/line-icons/icons/eraser.js +3 -3
  79. package/dist/assets/line-icons/icons/eraser.js.map +1 -1
  80. package/dist/assets/line-icons/icons/exclamation.js +2 -2
  81. package/dist/assets/line-icons/icons/exclamation.js.map +1 -1
  82. package/dist/assets/line-icons/icons/eye.js +4 -4
  83. package/dist/assets/line-icons/icons/eye.js.map +1 -1
  84. package/dist/assets/line-icons/icons/eye2.js +2 -2
  85. package/dist/assets/line-icons/icons/eye2.js.map +1 -1
  86. package/dist/assets/line-icons/icons/game.js +3 -3
  87. package/dist/assets/line-icons/icons/game.js.map +1 -1
  88. package/dist/assets/line-icons/icons/google-icon.js.map +1 -1
  89. package/dist/assets/line-icons/icons/hand.js +2 -2
  90. package/dist/assets/line-icons/icons/hand.js.map +1 -1
  91. package/dist/assets/line-icons/icons/help.js +3 -3
  92. package/dist/assets/line-icons/icons/help.js.map +1 -1
  93. package/dist/assets/line-icons/icons/highlighter.js +4 -4
  94. package/dist/assets/line-icons/icons/highlighter.js.map +1 -1
  95. package/dist/assets/line-icons/icons/home.js +3 -3
  96. package/dist/assets/line-icons/icons/home.js.map +1 -1
  97. package/dist/assets/line-icons/icons/home2.js.map +1 -1
  98. package/dist/assets/line-icons/icons/image.js +3 -3
  99. package/dist/assets/line-icons/icons/image.js.map +1 -1
  100. package/dist/assets/line-icons/icons/important.js.map +1 -1
  101. package/dist/assets/line-icons/icons/info.js +3 -3
  102. package/dist/assets/line-icons/icons/info.js.map +1 -1
  103. package/dist/assets/line-icons/icons/info2.js +3 -3
  104. package/dist/assets/line-icons/icons/info2.js.map +1 -1
  105. package/dist/assets/line-icons/icons/left.js +3 -3
  106. package/dist/assets/line-icons/icons/left.js.map +1 -1
  107. package/dist/assets/line-icons/icons/lock.js +3 -3
  108. package/dist/assets/line-icons/icons/lock.js.map +1 -1
  109. package/dist/assets/line-icons/icons/lock2.js +2 -2
  110. package/dist/assets/line-icons/icons/lock2.js.map +1 -1
  111. package/dist/assets/line-icons/icons/lock3.js +5 -5
  112. package/dist/assets/line-icons/icons/lock3.js.map +1 -1
  113. package/dist/assets/line-icons/icons/minus.js +2 -2
  114. package/dist/assets/line-icons/icons/minus.js.map +1 -1
  115. package/dist/assets/line-icons/icons/minus2.js +3 -3
  116. package/dist/assets/line-icons/icons/minus2.js.map +1 -1
  117. package/dist/assets/line-icons/icons/mistake.js +3 -3
  118. package/dist/assets/line-icons/icons/mistake.js.map +1 -1
  119. package/dist/assets/line-icons/icons/mobile.js +3 -3
  120. package/dist/assets/line-icons/icons/mobile.js.map +1 -1
  121. package/dist/assets/line-icons/icons/more-vertical.js +3 -3
  122. package/dist/assets/line-icons/icons/more-vertical.js.map +1 -1
  123. package/dist/assets/line-icons/icons/next.js +5 -5
  124. package/dist/assets/line-icons/icons/next.js.map +1 -1
  125. package/dist/assets/line-icons/icons/next2.js +4 -4
  126. package/dist/assets/line-icons/icons/next2.js.map +1 -1
  127. package/dist/assets/line-icons/icons/pan.js.map +1 -1
  128. package/dist/assets/line-icons/icons/pencil.js +3 -3
  129. package/dist/assets/line-icons/icons/pencil.js.map +1 -1
  130. package/dist/assets/line-icons/icons/play.js +5 -5
  131. package/dist/assets/line-icons/icons/play.js.map +1 -1
  132. package/dist/assets/line-icons/icons/play2.js +5 -5
  133. package/dist/assets/line-icons/icons/play2.js.map +1 -1
  134. package/dist/assets/line-icons/icons/plus.js +4 -4
  135. package/dist/assets/line-icons/icons/plus.js.map +1 -1
  136. package/dist/assets/line-icons/icons/plus2.js +3 -3
  137. package/dist/assets/line-icons/icons/plus2.js.map +1 -1
  138. package/dist/assets/line-icons/icons/pointer.js +2 -2
  139. package/dist/assets/line-icons/icons/pointer.js.map +1 -1
  140. package/dist/assets/line-icons/icons/practice.js +2 -2
  141. package/dist/assets/line-icons/icons/practice.js.map +1 -1
  142. package/dist/assets/line-icons/icons/progress.js +3 -3
  143. package/dist/assets/line-icons/icons/progress.js.map +1 -1
  144. package/dist/assets/line-icons/icons/question-letter.js +3 -3
  145. package/dist/assets/line-icons/icons/question-letter.js.map +1 -1
  146. package/dist/assets/line-icons/icons/question.js +5 -5
  147. package/dist/assets/line-icons/icons/question.js.map +1 -1
  148. package/dist/assets/line-icons/icons/redo.js +4 -4
  149. package/dist/assets/line-icons/icons/redo.js.map +1 -1
  150. package/dist/assets/line-icons/icons/right.js +3 -3
  151. package/dist/assets/line-icons/icons/right.js.map +1 -1
  152. package/dist/assets/line-icons/icons/ruler.js +3 -3
  153. package/dist/assets/line-icons/icons/ruler.js.map +1 -1
  154. package/dist/assets/line-icons/icons/scribble.js.map +1 -1
  155. package/dist/assets/line-icons/icons/search.js +3 -3
  156. package/dist/assets/line-icons/icons/search.js.map +1 -1
  157. package/dist/assets/line-icons/icons/share.js.map +1 -1
  158. package/dist/assets/line-icons/icons/sheet.js +9 -9
  159. package/dist/assets/line-icons/icons/sheet.js.map +1 -1
  160. package/dist/assets/line-icons/icons/sketch.js +4 -4
  161. package/dist/assets/line-icons/icons/sketch.js.map +1 -1
  162. package/dist/assets/line-icons/icons/skip-colored.js +5 -5
  163. package/dist/assets/line-icons/icons/skip-colored.js.map +1 -1
  164. package/dist/assets/line-icons/icons/skip.js +6 -6
  165. package/dist/assets/line-icons/icons/skip.js.map +1 -1
  166. package/dist/assets/line-icons/icons/skip2.js +4 -4
  167. package/dist/assets/line-icons/icons/skip2.js.map +1 -1
  168. package/dist/assets/line-icons/icons/square-dots.js.map +1 -1
  169. package/dist/assets/line-icons/icons/star.js +3 -3
  170. package/dist/assets/line-icons/icons/star.js.map +1 -1
  171. package/dist/assets/line-icons/icons/star2.js +3 -3
  172. package/dist/assets/line-icons/icons/star2.js.map +1 -1
  173. package/dist/assets/line-icons/icons/status.js +3 -3
  174. package/dist/assets/line-icons/icons/status.js.map +1 -1
  175. package/dist/assets/line-icons/icons/striked-eye.js +4 -4
  176. package/dist/assets/line-icons/icons/striked-eye.js.map +1 -1
  177. package/dist/assets/line-icons/icons/switch-icon.js +4 -4
  178. package/dist/assets/line-icons/icons/switch-icon.js.map +1 -1
  179. package/dist/assets/line-icons/icons/text-icon.js.map +1 -1
  180. package/dist/assets/line-icons/icons/tick.js +2 -2
  181. package/dist/assets/line-icons/icons/tick.js.map +1 -1
  182. package/dist/assets/line-icons/icons/tile.js.map +1 -1
  183. package/dist/assets/line-icons/icons/tri-dots.js.map +1 -1
  184. package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -1
  185. package/dist/assets/line-icons/icons/trophy.js +3 -3
  186. package/dist/assets/line-icons/icons/trophy.js.map +1 -1
  187. package/dist/assets/line-icons/icons/tutoring.js +4 -4
  188. package/dist/assets/line-icons/icons/tutoring.js.map +1 -1
  189. package/dist/assets/line-icons/icons/undo.js +4 -4
  190. package/dist/assets/line-icons/icons/undo.js.map +1 -1
  191. package/dist/assets/line-icons/icons/unlock.js +4 -4
  192. package/dist/assets/line-icons/icons/unlock.js.map +1 -1
  193. package/dist/assets/line-icons/icons/unlock2.js +4 -4
  194. package/dist/assets/line-icons/icons/unlock2.js.map +1 -1
  195. package/dist/assets/line-icons/icons/up.js +3 -3
  196. package/dist/assets/line-icons/icons/up.js.map +1 -1
  197. package/dist/assets/line-icons/icons/upload.js.map +1 -1
  198. package/dist/assets/line-icons/icons/user.js +3 -3
  199. package/dist/assets/line-icons/icons/user.js.map +1 -1
  200. package/dist/assets/line-icons/icons/user2.js +2 -2
  201. package/dist/assets/line-icons/icons/user2.js.map +1 -1
  202. package/dist/assets/line-icons/icons/zoom-in.js.map +1 -1
  203. package/dist/assets/line-icons/icons/zoom-out.js.map +1 -1
  204. package/dist/constants/country.js.map +1 -1
  205. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  206. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  207. package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js.map +1 -1
  208. package/dist/features/auth/comps/input-status-icon/input-status-icon.js.map +1 -1
  209. package/dist/features/auth/comps/overlay-loader/overlay-loader.js.map +1 -1
  210. package/dist/features/auth/comps/resend-otp/hooks/use-resend-timer.js.map +1 -1
  211. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  212. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  213. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  214. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  215. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  216. package/dist/features/auth/comps/user-list/user-list-constants.js.map +1 -1
  217. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  218. package/dist/features/auth/forgot-password/otp-form/otp-form.js.map +1 -1
  219. package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js.map +1 -1
  220. package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js.map +1 -1
  221. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
  222. package/dist/features/auth/login/login-constants.js.map +1 -1
  223. package/dist/features/auth/login/social-account-not-found/social-account-not-found.js +1 -1
  224. package/dist/features/auth/login/social-account-not-found/social-account-not-found.js.map +1 -1
  225. package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
  226. package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
  227. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  228. package/dist/features/auth/signup/claim-user-account/claim-user-account.js.map +1 -1
  229. package/dist/features/auth/signup/custom-input-field/country-selector/country-code-button.js.map +1 -1
  230. package/dist/features/auth/signup/custom-input-field/country-selector/country-list-menu.js.map +1 -1
  231. package/dist/features/auth/signup/custom-input-field/country-selector/country-selector.js.map +1 -1
  232. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  233. package/dist/features/auth/signup/custom-input-field/date-picker-input/date-picker-input.js.map +1 -1
  234. package/dist/features/auth/signup/custom-input-field/grade-input/grade-input.js.map +1 -1
  235. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
  236. package/dist/features/auth/signup/signup-constants.js.map +1 -1
  237. package/dist/features/auth/signup/signup-methods/signup-methods.js.map +1 -1
  238. package/dist/features/auth/signup/user-type-selector/user-type-card/user-type-card-styled.js.map +1 -1
  239. package/dist/features/auth/signup/user-type-selector/user-type-card/user-type-card.js.map +1 -1
  240. package/dist/features/auth/signup/user-type-selector/user-type-selector.js.map +1 -1
  241. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker-context.js.map +1 -1
  242. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js +14 -14
  243. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js.map +1 -1
  244. package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js +2 -2
  245. package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js.map +1 -1
  246. package/dist/features/chapters/api/chapter.js.map +1 -1
  247. package/dist/features/chapters/chapter/chapter.js +20 -20
  248. package/dist/features/chapters/chapter/chapter.js.map +1 -1
  249. package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner-styled.js.map +1 -1
  250. package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner.js.map +1 -1
  251. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons-styled.js.map +1 -1
  252. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
  253. package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources-styled.js.map +1 -1
  254. package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
  255. package/dist/features/chapters/chapter/comps/supplementary-resources/utils.js.map +1 -1
  256. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +3 -3
  257. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  258. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  259. package/dist/features/chapters/chapters-list/chapters-list.js +11 -11
  260. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  261. package/dist/features/chapters/lpar-chapter/block-section/block-section-styled.js.map +1 -1
  262. package/dist/features/chapters/lpar-chapter/block-section/block-section.js.map +1 -1
  263. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js.map +1 -1
  264. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js.map +1 -1
  265. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js +1 -1
  266. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js.map +1 -1
  267. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  268. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item-utils.js.map +1 -1
  269. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
  270. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +4 -4
  271. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
  272. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-utils.js.map +1 -1
  273. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +15 -15
  274. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
  275. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
  276. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js.map +1 -1
  277. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/teacher-actions/teacher-actions.js.map +1 -1
  278. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
  279. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.js.map +1 -1
  280. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions-styled.js.map +1 -1
  281. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions.js.map +1 -1
  282. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions-utils.js.map +1 -1
  283. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
  284. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +2 -2
  285. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  286. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-icon.js.map +1 -1
  287. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-utils.js.map +1 -1
  288. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  289. package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
  290. package/dist/features/chapters/lpar-chapter/comps/tab-section.js.map +1 -1
  291. package/dist/features/chapters/lpar-chapter/constants/index.js +22 -5
  292. package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
  293. package/dist/features/chapters/lpar-chapter/constants/puzzle-card.js.map +1 -1
  294. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js.map +1 -1
  295. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/lpar-chapter-banner-styled.js.map +1 -1
  296. package/dist/features/chapters/lpar-chapter/lpar-chapter-styled.js.map +1 -1
  297. package/dist/features/chapters/lpar-chapter/lpar-chapter.js +26 -26
  298. package/dist/features/chapters/lpar-chapter/lpar-chapter.js.map +1 -1
  299. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js.map +1 -1
  300. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card-styled.js.map +1 -1
  301. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js +1 -1
  302. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js.map +1 -1
  303. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section-utils.js.map +1 -1
  304. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js.map +1 -1
  305. package/dist/features/chapters/lpar-chapter/utils/index.js.map +1 -1
  306. package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.js.map +1 -1
  307. package/dist/features/chapters/lpar-milestone-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  308. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js.map +1 -1
  309. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/student-actions.js.map +1 -1
  310. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions.js.map +1 -1
  311. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js.map +1 -1
  312. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  313. package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js.map +1 -1
  314. package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js +21 -21
  315. package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js.map +1 -1
  316. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card-util.js.map +1 -1
  317. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js +1 -1
  318. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
  319. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js.map +1 -1
  320. package/dist/features/chapters-v2/api/chapter.js.map +1 -1
  321. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  322. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  323. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -1
  324. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -1
  325. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +1 -1
  326. package/dist/features/chapters-v2/chapter-details/chapter-details.js +21 -21
  327. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  328. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  329. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  330. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -1
  331. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-option.js.map +1 -1
  332. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -1
  333. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +1 -1
  334. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  335. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +1 -1
  336. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  337. package/dist/features/chapters-v2/comps/tag/tag.js.map +1 -1
  338. package/dist/features/chapters-v2/constants/node-constants.js +2 -0
  339. package/dist/features/chapters-v2/constants/node-constants.js.map +1 -1
  340. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  341. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  342. package/dist/features/circle-games/comps/info-bar/info-bar.js.map +1 -1
  343. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -1
  344. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
  345. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  346. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
  347. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +10 -10
  348. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  349. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
  350. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +1 -1
  351. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +1 -1
  352. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +6 -6
  353. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +4 -4
  354. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  355. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  356. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  357. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  358. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  359. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  360. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  361. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  362. package/dist/features/circle-games/leaderboard/comps/banner/banner-styled.js.map +1 -1
  363. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  364. package/dist/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.js.map +1 -1
  365. package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button.js.map +1 -1
  366. package/dist/features/circle-games/leaderboard/comps/progress-item/progress-item.js.map +1 -1
  367. package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js +1 -1
  368. package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js.map +1 -1
  369. package/dist/features/circle-games/leaderboard/comps/streak-reduction-infobar/streak-reduction-infobar.js.map +1 -1
  370. package/dist/features/circle-games/leaderboard/comps/timer/timer.js.map +1 -1
  371. package/dist/features/circle-games/leaderboard/comps/with-grade/with-grade.js.map +1 -1
  372. package/dist/features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.js.map +1 -1
  373. package/dist/features/circle-games/leaderboard/hooks/use-intersection-observer/use-intersection-observer.tsx.js.map +1 -1
  374. package/dist/features/circle-games/leaderboard/hooks/use-timer/use-timer.js.map +1 -1
  375. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  376. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  377. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  378. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  379. package/dist/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.js.map +1 -1
  380. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js +3 -3
  381. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js.map +1 -1
  382. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.styled.js.map +1 -1
  383. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen-styled.js +1 -1
  384. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  385. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
  386. package/dist/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.js.map +1 -1
  387. package/dist/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.js.map +1 -1
  388. package/dist/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.js.map +1 -1
  389. package/dist/features/circle-games/sign-up/helper.js.map +1 -1
  390. package/dist/features/circle-games/sign-up/sign-up.js +8 -8
  391. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  392. package/dist/features/circle-games/utils/streak-reduction-localstorage-util.js.map +1 -1
  393. package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js +18 -18
  394. package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js.map +1 -1
  395. package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js +11 -11
  396. package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js.map +1 -1
  397. package/dist/features/communication/pub-sub/core.js.map +1 -1
  398. package/dist/features/communication/pub-sub/hooks.js +1 -1
  399. package/dist/features/communication/pub-sub/hooks.js.map +1 -1
  400. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
  401. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  402. package/dist/features/cue-canvas/cue-canvas-core.js +3 -3
  403. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  404. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  405. package/dist/features/cue-canvas/cue-canvas-provider.js +11 -11
  406. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  407. package/dist/features/cue-canvas/cue-canvas.js +13 -13
  408. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  409. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  410. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +22 -22
  411. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  412. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  413. package/dist/features/cue-canvas/hooks/use-height-extender.js.map +1 -1
  414. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -1
  415. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -1
  416. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -1
  417. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -1
  418. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -1
  419. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -1
  420. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -1
  421. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -1
  422. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -1
  423. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -1
  424. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -1
  425. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -1
  426. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -1
  427. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +11 -10
  428. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -1
  429. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
  430. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -1
  431. package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -1
  432. package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
  433. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  434. package/dist/features/cue-canvas/toolbar/icon-map.js +7 -7
  435. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
  436. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  437. package/dist/features/cue-canvas/toolbar/toolbar.js +10 -10
  438. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  439. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  440. package/dist/features/extra-practice/extra-practice.js +21 -21
  441. package/dist/features/extra-practice/extra-practice.js.map +1 -1
  442. package/dist/features/extra-practice/list/list-constants.js.map +1 -1
  443. package/dist/features/extra-practice/list/list-styled.js.map +1 -1
  444. package/dist/features/extra-practice/list/list.js.map +1 -1
  445. package/dist/features/homework/card-menu-options.js.map +1 -1
  446. package/dist/features/homework/card-title.js.map +1 -1
  447. package/dist/features/homework/homework-card-view.js.map +1 -1
  448. package/dist/features/homework/homework-card.js +3 -3
  449. package/dist/features/homework/homework-card.js.map +1 -1
  450. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
  451. package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -1
  452. package/dist/features/homework/hw-card-list/hw-card-list-utils.js.map +1 -1
  453. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  454. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  455. package/dist/features/homework/node-progress.js.map +1 -1
  456. package/dist/features/homework/styles.js.map +1 -1
  457. package/dist/features/homework/utils.js.map +1 -1
  458. package/dist/features/hooks/use-audio-player.js.map +1 -1
  459. package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js +3 -3
  460. package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
  461. package/dist/features/hooks/use-debounce.js.map +1 -1
  462. package/dist/features/hooks/use-drag-helper.js.map +1 -1
  463. package/dist/features/hooks/use-force-reload.js +7 -7
  464. package/dist/features/hooks/use-force-reload.js.map +1 -1
  465. package/dist/features/hooks/use-is-unmounted.js.map +1 -1
  466. package/dist/features/hooks/use-lazy-ref.js.map +1 -1
  467. package/dist/features/hooks/use-previous.js.map +1 -1
  468. package/dist/features/hooks/use-viewport/use-viewport.js +5 -5
  469. package/dist/features/hooks/use-viewport/use-viewport.js.map +1 -1
  470. package/dist/features/hooks/use-zoom-disable.js +3 -3
  471. package/dist/features/hooks/use-zoom-disable.js.map +1 -1
  472. package/dist/features/journey/comps/coachmark/coachmark-styled.js.map +1 -1
  473. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  474. package/dist/features/journey/hooks/use-chapter-journey.js +1 -1
  475. package/dist/features/journey/hooks/use-chapter-journey.js.map +1 -1
  476. package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
  477. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  478. package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -1
  479. package/dist/features/journey/hooks/use-home-page-journey/styles.js.map +1 -1
  480. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
  481. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js +1 -1
  482. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -1
  483. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  484. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  485. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  486. package/dist/features/journey/user-journey-api/user-journey-api.js +3 -3
  487. package/dist/features/maintenance/maintenance.js +5 -5
  488. package/dist/features/maintenance/maintenance.js.map +1 -1
  489. package/dist/features/milestone/constants.js +15 -11
  490. package/dist/features/milestone/constants.js.map +1 -1
  491. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  492. package/dist/features/milestone/create/api/milestone-bulk.js.map +1 -1
  493. package/dist/features/milestone/create/api/milestone-submit.js.map +1 -1
  494. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  495. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  496. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  497. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
  498. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
  499. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters-styled.js.map +1 -1
  500. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
  501. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  502. package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
  503. package/dist/features/milestone/create/comps/chapter-item/chapter-item-styled.js.map +1 -1
  504. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
  505. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/category-card.js.map +1 -1
  506. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  507. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-styled.js.map +1 -1
  508. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-selection.js.map +1 -1
  509. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
  510. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +1 -1
  511. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  512. package/dist/features/milestone/create/comps/chapters-selection-step/use-chapter-list-update.js.map +1 -1
  513. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  514. package/dist/features/milestone/create/comps/class-details-step/class-details-selectors.js.map +1 -1
  515. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  516. package/dist/features/milestone/create/comps/class-details-step/class-details-styled.js.map +1 -1
  517. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  518. package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js +9 -9
  519. package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js.map +1 -1
  520. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation-utils.js.map +1 -1
  521. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js +14 -14
  522. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js.map +1 -1
  523. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-styled.js.map +1 -1
  524. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-view.js.map +1 -1
  525. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
  526. package/dist/features/milestone/create/comps/info-points/info-points.js.map +1 -1
  527. package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
  528. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
  529. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
  530. package/dist/features/milestone/create/comps/test-type-step/category-component-styled.js.map +1 -1
  531. package/dist/features/milestone/create/comps/test-type-step/category-component.js.map +1 -1
  532. package/dist/features/milestone/create/comps/test-type-step/test-type-step-constants.js.map +1 -1
  533. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  534. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  535. package/dist/features/milestone/create/milestone-create-constants.js.map +1 -1
  536. package/dist/features/milestone/create/milestone-create-container.js +25 -25
  537. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  538. package/dist/features/milestone/create/milestone-create-form-tree.js +2 -2
  539. package/dist/features/milestone/create/milestone-create-form-tree.js.map +1 -1
  540. package/dist/features/milestone/create/milestone-create-helpers.js +3 -3
  541. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  542. package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
  543. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  544. package/dist/features/milestone/create/milestone-create.js +18 -17
  545. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  546. package/dist/features/milestone/create/styled-comps/progressive-loader.js +1 -1
  547. package/dist/features/milestone/create/styled-comps/progressive-loader.js.map +1 -1
  548. package/dist/features/milestone/create/submit-modal/submit-modal.js +9 -9
  549. package/dist/features/milestone/create/submit-modal/submit-modal.js.map +1 -1
  550. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal-styled.js.map +1 -1
  551. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js.map +1 -1
  552. package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
  553. package/dist/features/milestone/create/utils/index.js.map +1 -1
  554. package/dist/features/milestone/edit/comps/delete-milestone/confirm-delete.js.map +1 -1
  555. package/dist/features/milestone/edit/comps/delete-milestone/styled.js.map +1 -1
  556. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
  557. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +35 -34
  558. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  559. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js.map +1 -1
  560. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader.js.map +1 -1
  561. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +12 -12
  562. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  563. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +1 -1
  564. package/dist/features/milestone/edit/goal-edit-container.js +21 -21
  565. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  566. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  567. package/dist/features/milestone/edit/milestone-edit-container.js +14 -14
  568. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  569. package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
  570. package/dist/features/milestone/hooks/use-submit-goal-creation.js.map +1 -1
  571. package/dist/features/milestone/milestone-action-widget/milestone-action-widget-styled.js.map +1 -1
  572. package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js +15 -15
  573. package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js.map +1 -1
  574. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  575. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  576. package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js.map +1 -1
  577. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  578. package/dist/features/milestone/milestone-list-container/filter-milestones.js.map +1 -1
  579. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  580. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-loader/milestone-loader.js.map +1 -1
  581. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  582. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-utils.js.map +1 -1
  583. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/use-goal-draft-publish.js.map +1 -1
  584. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +2 -2
  585. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  586. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  587. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  588. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  589. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  590. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  591. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  592. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  593. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  594. package/dist/features/milestone/milestone-list-container/milestone-list/no-active-milestone/no-active-milestone.js.map +1 -1
  595. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +29 -29
  596. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  597. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  598. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -1
  599. package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +1 -1
  600. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +1 -1
  601. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  602. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
  603. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +1 -1
  604. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
  605. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +1 -1
  606. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +55 -55
  607. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  608. package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +1 -1
  609. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  610. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  611. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  612. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -1
  613. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
  614. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
  615. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item-styled.js.map +1 -1
  616. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item.js.map +1 -1
  617. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  618. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  619. 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
  620. 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
  621. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  622. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  623. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +9 -9
  624. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  625. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  626. package/dist/features/milestone/outcome/api/milestone-achievement.js +3 -3
  627. package/dist/features/milestone/outcome/api/milestone-outcome.js.map +1 -1
  628. package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js.map +1 -1
  629. package/dist/features/milestone/outcome/comps/achievement/achievement-container-styled.js.map +1 -1
  630. package/dist/features/milestone/outcome/comps/achievement/achievement-container.js +3 -3
  631. package/dist/features/milestone/outcome/comps/achievement/achievement-container.js.map +1 -1
  632. package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js +13 -13
  633. package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js.map +1 -1
  634. package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js +20 -20
  635. package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js.map +1 -1
  636. package/dist/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.js.map +1 -1
  637. package/dist/features/milestone/outcome/comps/outcome-collection/input-descriptor.js.map +1 -1
  638. package/dist/features/milestone/outcome/comps/outcome-collection/input-handler.js.map +1 -1
  639. package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js.map +1 -1
  640. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.js.map +1 -1
  641. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form-helpers.js.map +1 -1
  642. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map +1 -1
  643. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-styled.js.map +1 -1
  644. package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js.map +1 -1
  645. package/dist/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.js.map +1 -1
  646. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
  647. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-form.js.map +1 -1
  648. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-styled.js.map +1 -1
  649. package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
  650. package/dist/features/milestone/outcome/milestone-outcome-container.js +23 -23
  651. package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
  652. package/dist/features/milestone/outcome/milestone-outcome-styled.js.map +1 -1
  653. package/dist/features/milestone/outcome/outcome-helpers.js.map +1 -1
  654. package/dist/features/milestone/start/milestone-start.js +3 -3
  655. package/dist/features/milestone/start/milestone-start.js.map +1 -1
  656. package/dist/features/pointer-sync/hooks/use-pointer-sync.js +13 -13
  657. package/dist/features/pointer-sync/hooks/use-pointer-sync.js.map +1 -1
  658. package/dist/features/pointer-sync/pointer.js +7 -7
  659. package/dist/features/pointer-sync/pointer.js.map +1 -1
  660. package/dist/features/post-game-stats/accuracy/accuracy-styled.js +5 -5
  661. package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
  662. package/dist/features/post-game-stats/accuracy/accuracy-utils.js.map +1 -1
  663. package/dist/features/post-game-stats/accuracy/accuracy.js +3 -3
  664. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  665. package/dist/features/post-game-stats/clock/clock-styled.js +1 -1
  666. package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
  667. package/dist/features/post-game-stats/clock/clock.js +3 -3
  668. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  669. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +4 -4
  670. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +1 -1
  671. package/dist/features/post-game-stats/digital-meter/digital-meter.js +13 -13
  672. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
  673. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -1
  674. package/dist/features/post-game-stats/points/points.js.map +1 -1
  675. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  676. package/dist/features/post-game-stats/streak/streak-styled.js +5 -5
  677. package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
  678. package/dist/features/post-game-stats/streak/streak.js +1 -1
  679. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  680. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -1
  681. package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -1
  682. package/dist/features/recent-chapters/recent-chapters.js +13 -13
  683. package/dist/features/recent-chapters/recent-chapters.js.map +1 -1
  684. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator-styled.js.map +1 -1
  685. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js +13 -13
  686. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
  687. package/dist/features/sheet-tools/tool-header/tool-header-styled.js.map +1 -1
  688. package/dist/features/sheet-tools/tool-header/tool-header.js +14 -14
  689. package/dist/features/sheet-tools/tool-header/tool-header.js.map +1 -1
  690. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
  691. package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
  692. package/dist/features/sheets/comps/sheet-button/styled.js.map +1 -1
  693. package/dist/features/sheets/comps/sheet-button/variant.js.map +1 -1
  694. package/dist/features/sheets/constants/sheet.js.map +1 -1
  695. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
  696. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element-styled.js.map +1 -1
  697. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element.js.map +1 -1
  698. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/target-element.js.map +1 -1
  699. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
  700. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-styled.js.map +1 -1
  701. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js +3 -4
  702. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js.map +1 -1
  703. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-view.js.map +1 -1
  704. package/dist/features/sheets/lessons-list/lesson-item/lesson-item.js.map +1 -1
  705. package/dist/features/sheets/lessons-list/lessons-list.js.map +1 -1
  706. package/dist/features/sheets/reference-sheet/reference-sheet.js +14 -14
  707. package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
  708. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js.map +1 -1
  709. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -1
  710. package/dist/features/sheets/resources-list/resource-item/resource-item.js +3 -3
  711. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  712. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  713. package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -1
  714. package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
  715. package/dist/features/sheets/resources-list/styled.js.map +1 -1
  716. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js.map +1 -1
  717. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/target-element/target-element.js.map +1 -1
  718. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-styled.js.map +1 -1
  719. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils.js.map +1 -1
  720. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js.map +1 -1
  721. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
  722. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +6 -3
  723. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  724. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  725. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-icon.js.map +1 -1
  726. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-styled.js.map +1 -1
  727. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js.map +1 -1
  728. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-utils.js.map +1 -1
  729. package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js.map +1 -1
  730. package/dist/features/sheets/sheets-list/sheets-list.js +15 -15
  731. package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
  732. package/dist/features/student-details/class-details/class-details-utils.js.map +1 -1
  733. package/dist/features/student-details/class-details/class-details.js.map +1 -1
  734. package/dist/features/student-details/student-details-styled.js.map +1 -1
  735. package/dist/features/student-details/student-details-utils.js.map +1 -1
  736. package/dist/features/student-details/student-details.js +17 -17
  737. package/dist/features/student-details/student-details.js.map +1 -1
  738. package/dist/features/student-details/wins-preview/wins-preview-styled.js.map +1 -1
  739. package/dist/features/student-details/wins-preview/wins-preview.js.map +1 -1
  740. package/dist/features/talk-meter/helper.js.map +1 -1
  741. package/dist/features/talk-meter/hooks/use-talk-meter.js.map +1 -1
  742. package/dist/features/talk-meter/ripple/index.js +1 -1
  743. package/dist/features/talk-meter/ripple/index.js.map +1 -1
  744. package/dist/features/talk-meter/talk-meter-styled.js +1 -1
  745. package/dist/features/talk-meter/talk-meter-styled.js.map +1 -1
  746. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js +14 -12
  747. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
  748. package/dist/features/talk-meter/talk-meter.js +23 -23
  749. package/dist/features/talk-meter/talk-meter.js.map +1 -1
  750. package/dist/features/trial-session/api/course-stream.js.map +1 -1
  751. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
  752. package/dist/features/trial-session/comps/about-cuemath/index.js.map +1 -1
  753. package/dist/features/trial-session/comps/additional-info/additional-info.js.map +1 -1
  754. package/dist/features/trial-session/comps/av-panels/student-av-panel/student-av-panel.js.map +1 -1
  755. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  756. package/dist/features/trial-session/comps/background-grid/background-grid-styled.js.map +1 -1
  757. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  758. package/dist/features/trial-session/comps/background-grid/background-grid.js.map +1 -1
  759. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  760. package/dist/features/trial-session/comps/clock/clock.js.map +1 -1
  761. package/dist/features/trial-session/comps/communication-slide/index.js.map +1 -1
  762. package/dist/features/trial-session/comps/countdown-progress-bar/countdown-progress-bar.js.map +1 -1
  763. package/dist/features/trial-session/comps/cue-tips/cues/cues-styled.js +6 -6
  764. package/dist/features/trial-session/comps/cue-tips/cues/index.js.map +1 -1
  765. package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
  766. package/dist/features/trial-session/comps/cue-tips/tips/tips-styled.js.map +1 -1
  767. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  768. package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
  769. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +1 -1
  770. package/dist/features/trial-session/comps/learning-session/learning-session-constants.js.map +1 -1
  771. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  772. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  773. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  774. package/dist/features/trial-session/comps/navigation-bar/navigation-bar-styled.js.map +1 -1
  775. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  776. package/dist/features/trial-session/comps/offering-information/offering-information-styled.js.map +1 -1
  777. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  778. package/dist/features/trial-session/comps/pricing/board-comp.js.map +1 -1
  779. package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +1 -1
  780. package/dist/features/trial-session/comps/pricing/pricing-cards.js.map +1 -1
  781. package/dist/features/trial-session/comps/pricing/pricing-styled.js.map +1 -1
  782. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  783. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  784. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  785. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  786. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  787. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
  788. package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
  789. package/dist/features/trial-session/comps/session-report/report-card.js.map +1 -1
  790. package/dist/features/trial-session/comps/session-report/session-report.js +3 -3
  791. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  792. package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
  793. package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
  794. package/dist/features/trial-session/comps/solutions/solutions.styled.js +5 -5
  795. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  796. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  797. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  798. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +3 -3
  799. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  800. package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
  801. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  802. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +7 -7
  803. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  804. package/dist/features/trial-session/comps/student-profile/student-profile-styled.js.map +1 -1
  805. package/dist/features/trial-session/comps/student-profile/student-profile-utils.js.map +1 -1
  806. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  807. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-constants.js.map +1 -1
  808. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  809. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  810. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.js.map +1 -1
  811. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  812. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  813. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  814. package/dist/features/trial-session/helper.js.map +1 -1
  815. package/dist/features/trial-session/hooks/use-class-time-alerts.js.map +1 -1
  816. package/dist/features/trial-session/hooks/use-left-panel-button-state.js.map +1 -1
  817. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  818. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  819. package/dist/features/trial-session/right-panel/index.js.map +1 -1
  820. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  821. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  822. package/dist/features/trial-session/trial-session.js +6 -6
  823. package/dist/features/trial-session/trial-session.js.map +1 -1
  824. package/dist/features/ui/accordion-section/accordion-section.js +13 -13
  825. package/dist/features/ui/accordion-section/accordion-section.js.map +1 -1
  826. package/dist/features/ui/animated-arc/animated-arc-helpers.js.map +1 -1
  827. package/dist/features/ui/animated-arc/animated-arc.js +12 -12
  828. package/dist/features/ui/animated-arc/animated-arc.js.map +1 -1
  829. package/dist/features/ui/arc-button/arc-button.js.map +1 -1
  830. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +21 -20
  831. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  832. package/dist/features/ui/arrow-tooltip/arrow-tooltip-util.js.map +1 -1
  833. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +14 -14
  834. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  835. package/dist/features/ui/avatar/avatar-types.js +5 -5
  836. package/dist/features/ui/avatar/avatar.js +11 -11
  837. package/dist/features/ui/avatar/avatar.js.map +1 -1
  838. package/dist/features/ui/avatar/layers/base/variant-1.js.map +1 -1
  839. package/dist/features/ui/avatar/layers/eyes/variant-1.js.map +1 -1
  840. package/dist/features/ui/avatar/layers/eyes/variant-10.js.map +1 -1
  841. package/dist/features/ui/avatar/layers/eyes/variant-11.js.map +1 -1
  842. package/dist/features/ui/avatar/layers/eyes/variant-12.js.map +1 -1
  843. package/dist/features/ui/avatar/layers/eyes/variant-13.js.map +1 -1
  844. package/dist/features/ui/avatar/layers/eyes/variant-14.js.map +1 -1
  845. package/dist/features/ui/avatar/layers/eyes/variant-15.js.map +1 -1
  846. package/dist/features/ui/avatar/layers/eyes/variant-16.js.map +1 -1
  847. package/dist/features/ui/avatar/layers/eyes/variant-17.js.map +1 -1
  848. package/dist/features/ui/avatar/layers/eyes/variant-18.js.map +1 -1
  849. package/dist/features/ui/avatar/layers/eyes/variant-2.js.map +1 -1
  850. package/dist/features/ui/avatar/layers/eyes/variant-3.js.map +1 -1
  851. package/dist/features/ui/avatar/layers/eyes/variant-4.js.map +1 -1
  852. package/dist/features/ui/avatar/layers/eyes/variant-5.js.map +1 -1
  853. package/dist/features/ui/avatar/layers/eyes/variant-6.js.map +1 -1
  854. package/dist/features/ui/avatar/layers/eyes/variant-7.js.map +1 -1
  855. package/dist/features/ui/avatar/layers/eyes/variant-8.js.map +1 -1
  856. package/dist/features/ui/avatar/layers/eyes/variant-9.js.map +1 -1
  857. package/dist/features/ui/avatar/layers/hair/variant-1.js.map +1 -1
  858. package/dist/features/ui/avatar/layers/hair/variant-10.js.map +1 -1
  859. package/dist/features/ui/avatar/layers/hair/variant-2.js.map +1 -1
  860. package/dist/features/ui/avatar/layers/hair/variant-3.js.map +1 -1
  861. package/dist/features/ui/avatar/layers/hair/variant-4.js.map +1 -1
  862. package/dist/features/ui/avatar/layers/hair/variant-5.js.map +1 -1
  863. package/dist/features/ui/avatar/layers/hair/variant-6.js.map +1 -1
  864. package/dist/features/ui/avatar/layers/hair/variant-7.js.map +1 -1
  865. package/dist/features/ui/avatar/layers/hair/variant-8.js.map +1 -1
  866. package/dist/features/ui/avatar/layers/hair/variant-9.js.map +1 -1
  867. package/dist/features/ui/avatar/layers/mouth/variant-1.js.map +1 -1
  868. package/dist/features/ui/avatar/layers/mouth/variant-10.js.map +1 -1
  869. package/dist/features/ui/avatar/layers/mouth/variant-11.js.map +1 -1
  870. package/dist/features/ui/avatar/layers/mouth/variant-12.js.map +1 -1
  871. package/dist/features/ui/avatar/layers/mouth/variant-13.js.map +1 -1
  872. package/dist/features/ui/avatar/layers/mouth/variant-14.js.map +1 -1
  873. package/dist/features/ui/avatar/layers/mouth/variant-15.js.map +1 -1
  874. package/dist/features/ui/avatar/layers/mouth/variant-16.js.map +1 -1
  875. package/dist/features/ui/avatar/layers/mouth/variant-17.js.map +1 -1
  876. package/dist/features/ui/avatar/layers/mouth/variant-18.js.map +1 -1
  877. package/dist/features/ui/avatar/layers/mouth/variant-2.js.map +1 -1
  878. package/dist/features/ui/avatar/layers/mouth/variant-3.js.map +1 -1
  879. package/dist/features/ui/avatar/layers/mouth/variant-4.js.map +1 -1
  880. package/dist/features/ui/avatar/layers/mouth/variant-5.js.map +1 -1
  881. package/dist/features/ui/avatar/layers/mouth/variant-6.js.map +1 -1
  882. package/dist/features/ui/avatar/layers/mouth/variant-7.js.map +1 -1
  883. package/dist/features/ui/avatar/layers/mouth/variant-8.js.map +1 -1
  884. package/dist/features/ui/avatar/layers/mouth/variant-9.js.map +1 -1
  885. package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
  886. package/dist/features/ui/buttons/button/button.js +25 -25
  887. package/dist/features/ui/buttons/button/button.js.map +1 -1
  888. package/dist/features/ui/buttons/clickable/clickable.js +9 -9
  889. package/dist/features/ui/buttons/clickable/clickable.js.map +1 -1
  890. package/dist/features/ui/buttons/icon-button/icon-button-styled.js.map +1 -1
  891. package/dist/features/ui/buttons/icon-button/icon-button.js +14 -14
  892. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  893. package/dist/features/ui/buttons/text-button/text-button-styled.js.map +1 -1
  894. package/dist/features/ui/buttons/text-button/text-button.js +19 -19
  895. package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
  896. package/dist/features/ui/callout/callout.js +10 -10
  897. package/dist/features/ui/callout/callout.js.map +1 -1
  898. package/dist/features/ui/context/context.js.map +1 -1
  899. package/dist/features/ui/context/use-tracking-context.js +2 -2
  900. package/dist/features/ui/context/use-tracking-context.js.map +1 -1
  901. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  902. package/dist/features/ui/context-menu/context-menu.js +19 -19
  903. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  904. package/dist/features/ui/error/error.js +24 -24
  905. package/dist/features/ui/error/error.js.map +1 -1
  906. package/dist/features/ui/grade-selector/grade-selector-styled.js.map +1 -1
  907. package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
  908. package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
  909. package/dist/features/ui/hooks/use-click-handler.js.map +1 -1
  910. package/dist/features/ui/hooks/use-context-menu-click-handler.js +17 -17
  911. package/dist/features/ui/hooks/use-context-menu-click-handler.js.map +1 -1
  912. package/dist/features/ui/hooks/use-response-handler.js.map +1 -1
  913. package/dist/features/ui/image/image.js +12 -12
  914. package/dist/features/ui/image/image.js.map +1 -1
  915. package/dist/features/ui/inputs/base-input/base-input-styled.js.map +1 -1
  916. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  917. package/dist/features/ui/inputs/base-select-input/base-select-input-styled.js.map +1 -1
  918. package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
  919. package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
  920. package/dist/features/ui/inputs/base-select-input/select-section/select-section-styled.js.map +1 -1
  921. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  922. package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js +23 -23
  923. package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js.map +1 -1
  924. package/dist/features/ui/inputs/checkbox-input/checkbox-input-styled.js.map +1 -1
  925. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +20 -20
  926. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  927. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +16 -16
  928. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  929. package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js +6 -6
  930. package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js.map +1 -1
  931. package/dist/features/ui/inputs/num-range-input/num-range-input.js +4 -4
  932. package/dist/features/ui/inputs/num-range-input/num-range-input.js.map +1 -1
  933. package/dist/features/ui/inputs/percentile-input/percentile-input.js +21 -21
  934. package/dist/features/ui/inputs/percentile-input/percentile-input.js.map +1 -1
  935. package/dist/features/ui/inputs/percentile-input/percentile-styled.js.map +1 -1
  936. package/dist/features/ui/inputs/radio-input/radio-input.js +14 -14
  937. package/dist/features/ui/inputs/radio-input/radio-input.js.map +1 -1
  938. package/dist/features/ui/inputs/radio-input/radio-option/radio-option-styled.js.map +1 -1
  939. package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js.map +1 -1
  940. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +1 -1
  941. package/dist/features/ui/inputs/searchable-input/searchable-input.js +3 -3
  942. package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -1
  943. package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js +17 -17
  944. package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js.map +1 -1
  945. package/dist/features/ui/inputs/searchable-select-input/use-filtered-options.js.map +1 -1
  946. package/dist/features/ui/inputs/select-input/select-input.js +3 -3
  947. package/dist/features/ui/inputs/select-input/select-input.js.map +1 -1
  948. package/dist/features/ui/inputs/text-input/text-input-styled.js.map +1 -1
  949. package/dist/features/ui/inputs/text-input/text-input.js +35 -35
  950. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  951. package/dist/features/ui/layout/flex-view.js +23 -23
  952. package/dist/features/ui/layout/flex-view.js.map +1 -1
  953. package/dist/features/ui/loader/app-loader/app-loader.js +3 -3
  954. package/dist/features/ui/loader/app-loader/app-loader.js.map +1 -1
  955. package/dist/features/ui/lottie-animation/helper.js.map +1 -1
  956. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  957. package/dist/features/ui/modals/modal-helpers.js.map +1 -1
  958. package/dist/features/ui/modals/modal-provider.js +15 -15
  959. package/dist/features/ui/modals/modal-provider.js.map +1 -1
  960. package/dist/features/ui/modals/modal-styled.js +1 -1
  961. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  962. package/dist/features/ui/modals/modal.js.map +1 -1
  963. package/dist/features/ui/modals/use-modal-actions.js +6 -6
  964. package/dist/features/ui/modals/use-modal-actions.js.map +1 -1
  965. package/dist/features/ui/modals/use-modal-params.js +5 -5
  966. package/dist/features/ui/modals/use-modal-params.js.map +1 -1
  967. package/dist/features/ui/nudge/nudge.js +9 -9
  968. package/dist/features/ui/nudge/nudge.js.map +1 -1
  969. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +1 -1
  970. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  971. package/dist/features/ui/perfect-hits/perfect-hits-styled.js +1 -1
  972. package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
  973. package/dist/features/ui/radio-cards/radio-card-option/radio-card-option-styled.js.map +1 -1
  974. package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js.map +1 -1
  975. package/dist/features/ui/radio-cards/radio-cards.js +15 -15
  976. package/dist/features/ui/radio-cards/radio-cards.js.map +1 -1
  977. package/dist/features/ui/section-list/section-list.js +11 -11
  978. package/dist/features/ui/section-list/section-list.js.map +1 -1
  979. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option-styled.js.map +1 -1
  980. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option.js.map +1 -1
  981. package/dist/features/ui/selection-cards/selection-cards.js +18 -18
  982. package/dist/features/ui/selection-cards/selection-cards.js.map +1 -1
  983. package/dist/features/ui/separator/separator.js +6 -6
  984. package/dist/features/ui/separator/separator.js.map +1 -1
  985. package/dist/features/ui/stepper/stepper-styled.js.map +1 -1
  986. package/dist/features/ui/stepper/stepper.js.map +1 -1
  987. package/dist/features/ui/streak-icon/streak-icon.js +14 -14
  988. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  989. package/dist/features/ui/superscript/superscript.js.map +1 -1
  990. package/dist/features/ui/tab/tab-styled.js.map +1 -1
  991. package/dist/features/ui/tab/tab.js +17 -17
  992. package/dist/features/ui/tab/tab.js.map +1 -1
  993. package/dist/features/ui/tag/tag-styled.js.map +1 -1
  994. package/dist/features/ui/tag/tag.js +4 -4
  995. package/dist/features/ui/tag/tag.js.map +1 -1
  996. package/dist/features/ui/text/text.js +24 -23
  997. package/dist/features/ui/text/text.js.map +1 -1
  998. package/dist/features/ui/theme/arrow-tooltip.js.map +1 -1
  999. package/dist/features/ui/theme/button.js.map +1 -1
  1000. package/dist/features/ui/theme/checkbox.js.map +1 -1
  1001. package/dist/features/ui/theme/get-theme.js.map +1 -1
  1002. package/dist/features/ui/theme/input.js.map +1 -1
  1003. package/dist/features/ui/theme/layout.js.map +1 -1
  1004. package/dist/features/ui/theme/tab.js.map +1 -1
  1005. package/dist/features/ui/theme/text-button.js.map +1 -1
  1006. package/dist/features/ui/theme/text.js.map +1 -1
  1007. package/dist/features/ui/time-left-timeline/time-left-timeline-styled.js.map +1 -1
  1008. package/dist/features/ui/time-left-timeline/time-left-timeline.js +16 -16
  1009. package/dist/features/ui/time-left-timeline/time-left-timeline.js.map +1 -1
  1010. package/dist/features/ui/timers/countdown-timer/countdown-timer.js +15 -15
  1011. package/dist/features/ui/timers/countdown-timer/countdown-timer.js.map +1 -1
  1012. package/dist/features/ui/video/index.js +3 -3
  1013. package/dist/features/ui/video/index.js.map +1 -1
  1014. package/dist/features/ui/video/styled.js.map +1 -1
  1015. package/dist/features/utils/load-script.js +9 -9
  1016. package/dist/features/utils/load-script.js.map +1 -1
  1017. package/dist/features/utils/utils.js.map +1 -1
  1018. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +47 -47
  1019. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
  1020. package/dist/features/worksheet/learnosity-preloader/use-download-script.js.map +1 -1
  1021. package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js +2 -2
  1022. package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js.map +1 -1
  1023. package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js.map +1 -1
  1024. package/dist/features/worksheet/user-pointer-pin/user-pin.js.map +1 -1
  1025. package/dist/features/worksheet/worksheet/constants.js +13 -12
  1026. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  1027. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
  1028. package/dist/features/worksheet/worksheet/hooks/use-get-active-question-id.js.map +1 -1
  1029. package/dist/features/worksheet/worksheet/hooks/use-learnosity-append.js.map +1 -1
  1030. package/dist/features/worksheet/worksheet/hooks/use-learnosity.js.map +1 -1
  1031. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  1032. package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js.map +1 -1
  1033. package/dist/features/worksheet/worksheet/hooks/use-worksheet-data-helper.js.map +1 -1
  1034. package/dist/features/worksheet/worksheet/question-tips.js.map +1 -1
  1035. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  1036. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
  1037. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
  1038. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
  1039. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
  1040. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
  1041. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
  1042. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
  1043. package/dist/features/worksheet/worksheet/worksheet-container.js +15 -15
  1044. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  1045. package/dist/features/worksheet/worksheet/worksheet-helpers.js +79 -76
  1046. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  1047. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js.map +1 -1
  1048. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number-styled.js.map +1 -1
  1049. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
  1050. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation-styled.js.map +1 -1
  1051. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  1052. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js +2 -2
  1053. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
  1054. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  1055. package/dist/features/worksheet/worksheet/worksheet-permissions/sheet-locked.js.map +1 -1
  1056. package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js.map +1 -1
  1057. package/dist/features/worksheet/worksheet/worksheet-question/header/header.js.map +1 -1
  1058. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  1059. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  1060. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js.map +1 -1
  1061. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
  1062. package/dist/features/worksheet/worksheet/worksheet-question/subjective-feedback.js.map +1 -1
  1063. package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
  1064. package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
  1065. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/advanced-practice-intro.js.map +1 -1
  1066. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js.map +1 -1
  1067. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/exit-ticket-intro.js.map +1 -1
  1068. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js.map +1 -1
  1069. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  1070. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  1071. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
  1072. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +94 -90
  1073. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
  1074. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  1075. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary-styled.js.map +1 -1
  1076. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
  1077. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
  1078. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
  1079. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
  1080. package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -1
  1081. package/dist/features/worksheet/worksheet/worksheet-styled.js +4 -4
  1082. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  1083. package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js.map +1 -1
  1084. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
  1085. package/dist/features/worksheet/worksheet/worksheet.js +4 -4
  1086. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  1087. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
  1088. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
  1089. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  1090. package/dist/features/worksheet/worksheet-preview/worksheet-preview-styled.js.map +1 -1
  1091. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  1092. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +16 -16
  1093. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  1094. package/dist/helpers/date-time.js.map +1 -1
  1095. package/dist/helpers/get-device-details.js.map +1 -1
  1096. package/dist/helpers/label-text.js.map +1 -1
  1097. package/dist/index.d.ts +2 -0
  1098. package/dist/index.js +576 -576
  1099. package/dist/node_modules/@cuemath/analytics-v2/dist/constants.js.map +1 -1
  1100. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +137 -138
  1101. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  1102. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +194 -220
  1103. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  1104. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +13 -15
  1105. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
  1106. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +11 -12
  1107. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -1
  1108. package/dist/node_modules/@floating-ui/{react-dom → react/node_modules/@floating-ui/react-dom}/dist/floating-ui.react-dom.js +56 -57
  1109. package/dist/node_modules/@floating-ui/react/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
  1110. package/dist/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +19 -0
  1111. package/dist/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
  1112. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +61 -64
  1113. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  1114. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  1115. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  1116. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  1117. package/dist/node_modules/date-fns/_lib/format/formatters.js +2 -0
  1118. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  1119. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  1120. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  1121. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  1122. package/dist/node_modules/date-fns/addDays.js.map +1 -1
  1123. package/dist/node_modules/date-fns/addMonths.js.map +1 -1
  1124. package/dist/node_modules/date-fns/constructNow.js.map +1 -1
  1125. package/dist/node_modules/date-fns/differenceInDays.js.map +1 -1
  1126. package/dist/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
  1127. package/dist/node_modules/date-fns/format.js.map +1 -1
  1128. package/dist/node_modules/date-fns/getDefaultOptions.js.map +1 -1
  1129. package/dist/node_modules/date-fns/getISODay.js.map +1 -1
  1130. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  1131. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
  1132. package/dist/node_modules/date-fns/isAfter.js.map +1 -1
  1133. package/dist/node_modules/date-fns/lastDayOfMonth.js.map +1 -1
  1134. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  1135. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  1136. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  1137. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  1138. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  1139. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  1140. package/dist/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
  1141. package/dist/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
  1142. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
  1143. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
  1144. package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
  1145. package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
  1146. package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
  1147. package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
  1148. package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
  1149. package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
  1150. package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
  1151. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
  1152. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
  1153. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
  1154. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
  1155. package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
  1156. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
  1157. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
  1158. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
  1159. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
  1160. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
  1161. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
  1162. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
  1163. package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
  1164. package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
  1165. package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
  1166. package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
  1167. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
  1168. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
  1169. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
  1170. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
  1171. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
  1172. package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
  1173. package/dist/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
  1174. package/dist/node_modules/date-fns/parse.js.map +1 -1
  1175. package/dist/node_modules/date-fns/setDay.js.map +1 -1
  1176. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  1177. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
  1178. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  1179. package/dist/node_modules/date-fns/transpose.js.map +1 -1
  1180. package/dist/node_modules/fast-equals/dist/esm/index.js +133 -174
  1181. package/dist/node_modules/fast-equals/dist/esm/index.js.map +1 -1
  1182. package/dist/node_modules/filter-obj/index.js.map +1 -1
  1183. package/dist/node_modules/humanize-plus/dist/humanize.js.map +1 -1
  1184. package/dist/node_modules/lodash.debounce/index.js.map +1 -1
  1185. package/dist/node_modules/lodash.isequal/index.js +1 -1
  1186. package/dist/node_modules/lodash.isequal/index.js.map +1 -1
  1187. package/dist/node_modules/lodash.throttle/index.js.map +1 -1
  1188. package/dist/node_modules/query-string/base.js +1 -1
  1189. package/dist/node_modules/query-string/base.js.map +1 -1
  1190. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  1191. package/dist/node_modules/react-datepicker/dist/index.es.js +311 -319
  1192. package/dist/node_modules/react-datepicker/dist/index.es.js.map +1 -1
  1193. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  1194. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  1195. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/formatters.js +2 -0
  1196. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  1197. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  1198. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  1199. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  1200. package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/normalizeDates.js.map +1 -1
  1201. package/dist/node_modules/react-datepicker/node_modules/date-fns/addDays.js.map +1 -1
  1202. package/dist/node_modules/react-datepicker/node_modules/date-fns/addMonths.js.map +1 -1
  1203. package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
  1204. package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarMonths.js.map +1 -1
  1205. package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarQuarters.js.map +1 -1
  1206. package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarYears.js.map +1 -1
  1207. package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInDays.js.map +1 -1
  1208. package/dist/node_modules/react-datepicker/node_modules/date-fns/endOfMonth.js.map +1 -1
  1209. package/dist/node_modules/react-datepicker/node_modules/date-fns/endOfWeek.js.map +1 -1
  1210. package/dist/node_modules/react-datepicker/node_modules/date-fns/endOfYear.js.map +1 -1
  1211. package/dist/node_modules/react-datepicker/node_modules/date-fns/format.js.map +1 -1
  1212. package/dist/node_modules/react-datepicker/node_modules/date-fns/getDate.js.map +1 -1
  1213. package/dist/node_modules/react-datepicker/node_modules/date-fns/getDay.js.map +1 -1
  1214. package/dist/node_modules/react-datepicker/node_modules/date-fns/getDaysInMonth.js.map +1 -1
  1215. package/dist/node_modules/react-datepicker/node_modules/date-fns/getDefaultOptions.js.map +1 -1
  1216. package/dist/node_modules/react-datepicker/node_modules/date-fns/getHours.js.map +1 -1
  1217. package/dist/node_modules/react-datepicker/node_modules/date-fns/getISODay.js.map +1 -1
  1218. package/dist/node_modules/react-datepicker/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  1219. package/dist/node_modules/react-datepicker/node_modules/date-fns/getMinutes.js.map +1 -1
  1220. package/dist/node_modules/react-datepicker/node_modules/date-fns/getMonth.js.map +1 -1
  1221. package/dist/node_modules/react-datepicker/node_modules/date-fns/getQuarter.js.map +1 -1
  1222. package/dist/node_modules/react-datepicker/node_modules/date-fns/getSeconds.js.map +1 -1
  1223. package/dist/node_modules/react-datepicker/node_modules/date-fns/getWeekYear.js.map +1 -1
  1224. package/dist/node_modules/react-datepicker/node_modules/date-fns/getYear.js.map +1 -1
  1225. package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameDay.js.map +1 -1
  1226. package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameMonth.js.map +1 -1
  1227. package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameQuarter.js.map +1 -1
  1228. package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameYear.js.map +1 -1
  1229. package/dist/node_modules/react-datepicker/node_modules/date-fns/isWithinInterval.js.map +1 -1
  1230. package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  1231. package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  1232. package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  1233. package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  1234. package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  1235. package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  1236. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
  1237. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
  1238. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
  1239. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
  1240. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
  1241. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
  1242. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
  1243. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
  1244. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
  1245. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
  1246. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
  1247. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
  1248. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
  1249. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
  1250. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
  1251. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
  1252. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
  1253. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
  1254. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
  1255. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
  1256. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
  1257. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
  1258. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
  1259. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
  1260. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
  1261. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
  1262. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
  1263. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
  1264. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
  1265. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
  1266. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
  1267. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
  1268. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
  1269. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
  1270. package/dist/node_modules/react-datepicker/node_modules/date-fns/parse.js.map +1 -1
  1271. package/dist/node_modules/react-datepicker/node_modules/date-fns/parseISO.js.map +1 -1
  1272. package/dist/node_modules/react-datepicker/node_modules/date-fns/setDay.js.map +1 -1
  1273. package/dist/node_modules/react-datepicker/node_modules/date-fns/setMonth.js.map +1 -1
  1274. package/dist/node_modules/react-datepicker/node_modules/date-fns/setQuarter.js.map +1 -1
  1275. package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  1276. package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfQuarter.js.map +1 -1
  1277. package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfWeek.js.map +1 -1
  1278. package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  1279. package/dist/node_modules/react-datepicker/node_modules/date-fns/subDays.js +4 -4
  1280. package/dist/node_modules/react-datepicker/node_modules/date-fns/subDays.js.map +1 -1
  1281. package/dist/node_modules/react-datepicker/node_modules/date-fns/subQuarters.js +3 -3
  1282. package/dist/node_modules/react-datepicker/node_modules/date-fns/subQuarters.js.map +1 -1
  1283. package/dist/node_modules/react-datepicker/node_modules/date-fns/subWeeks.js +4 -4
  1284. package/dist/node_modules/react-datepicker/node_modules/date-fns/subWeeks.js.map +1 -1
  1285. package/dist/node_modules/react-datepicker/node_modules/date-fns/transpose.js.map +1 -1
  1286. package/dist/node_modules/split-on-first/index.js.map +1 -1
  1287. package/dist/node_modules/ua-parser-js/src/ua-parser.js +3 -3
  1288. package/dist/node_modules/ua-parser-js/src/ua-parser.js.map +1 -1
  1289. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  1290. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  1291. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  1292. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  1293. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  1294. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  1295. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  1296. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  1297. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  1298. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  1299. package/package.json +4 -4
  1300. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +0 -1
  1301. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  1302. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  1303. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  1304. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sources":["../../../../src/features/communication/pub-sub/core.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TAction, TCallback } from './types';\n\nimport isEqual from 'lodash.isequal';\n\ninterface ISubscription {\n eventsMap: {\n [eventName: string]: Record<string, unknown> | null;\n };\n callback: TCallback;\n}\n\nclass EventListener {\n private _eventListener: {\n [subscriptionId: string]: ISubscription;\n } = {};\n\n unsubscribe(subscriptionId: string) {\n delete this._eventListener[subscriptionId];\n }\n\n subscribe(events: TAction[] | TAction, callback: TCallback, subscriptionId: string) {\n if (events.length === 0) return;\n\n const eventsList = (Array.isArray(events[0]) ? events : [events]) as TAction[];\n\n const subscriptionListener: ISubscription = { callback, eventsMap: {} };\n\n eventsList.forEach(event => {\n const [eventName, eventPayload] = event;\n\n subscriptionListener.eventsMap = {\n ...subscriptionListener.eventsMap,\n [eventName]: eventPayload ?? null,\n };\n });\n\n this._eventListener[subscriptionId] = subscriptionListener;\n }\n\n isPayloadMatched(matchPayload: Record<string, unknown>, eventPayload: Record<string, unknown>) {\n return Object.entries(matchPayload).some(([key, matchPayloadValue]) => {\n const eventPayloadValue = eventPayload[key];\n\n if (Array.isArray(eventPayloadValue)) {\n if (Array.isArray(matchPayloadValue)) {\n const isArraySubset = eventPayloadValue.every(i => matchPayloadValue.includes(i));\n\n if (isArraySubset) return true;\n }\n\n return false;\n }\n\n const areValuesEqual = isEqual(matchPayloadValue, eventPayloadValue);\n\n return areValuesEqual;\n });\n }\n\n notifySubscribers(subscriptionId: string, newMessages: TInclassMessage[]) {\n if (newMessages.length === 0) return;\n\n const { eventsMap, callback } = this._eventListener[subscriptionId] || {};\n const matchedMessages: TInclassMessage[] = [];\n\n if (eventsMap) {\n newMessages.forEach(message => {\n const { eventName, eventPayload } = message;\n const payload = eventsMap[eventName];\n\n if (payload === null) {\n matchedMessages.push(message);\n } else if (payload && this.isPayloadMatched(payload, eventPayload)) {\n matchedMessages.push(message);\n }\n });\n }\n\n if (matchedMessages.length > 0 && callback) {\n callback(matchedMessages);\n }\n }\n}\n\nconst eventListener = new EventListener();\n\nexport default eventListener;\n"],"names":["EventListener","__publicField","subscriptionId","events","callback","eventsList","subscriptionListener","event","eventName","eventPayload","matchPayload","key","matchPayloadValue","eventPayloadValue","i","isEqual","newMessages","eventsMap","matchedMessages","message","payload","eventListener"],"mappings":";;;;AAYA,MAAMA,EAAc;AAAA,EAApB;AACU,IAAAC,EAAA,wBAEJ,CAAC;AAAA;AAAA,EAEL,YAAYC,GAAwB;AAC3B,WAAA,KAAK,eAAeA,CAAc;AAAA,EAAA;AAAA,EAG3C,UAAUC,GAA6BC,GAAqBF,GAAwB;AAC9E,QAAAC,EAAO,WAAW,EAAG;AAEnB,UAAAE,IAAc,MAAM,QAAQF,EAAO,CAAC,CAAC,IAAIA,IAAS,CAACA,CAAM,GAEzDG,IAAsC,EAAE,UAAAF,GAAU,WAAW,CAAA,EAAG;AAEtE,IAAAC,EAAW,QAAQ,CAASE,MAAA;AACpB,YAAA,CAACC,GAAWC,CAAY,IAAIF;AAElC,MAAAD,EAAqB,YAAY;AAAA,QAC/B,GAAGA,EAAqB;AAAA,QACxB,CAACE,CAAS,GAAGC,KAAgB;AAAA,MAC/B;AAAA,IAAA,CACD,GAEI,KAAA,eAAeP,CAAc,IAAII;AAAA,EAAA;AAAA,EAGxC,iBAAiBI,GAAuCD,GAAuC;AACtF,WAAA,OAAO,QAAQC,CAAY,EAAE,KAAK,CAAC,CAACC,GAAKC,CAAiB,MAAM;AAC/D,YAAAC,IAAoBJ,EAAaE,CAAG;AAEtC,aAAA,MAAM,QAAQE,CAAiB,IAC7B,SAAM,QAAQD,CAAiB,KACXC,EAAkB,MAAM,OAAKD,EAAkB,SAASE,CAAC,CAAC,KAQ7DC,EAAQH,GAAmBC,CAAiB;AAAA,IAE5D,CACR;AAAA,EAAA;AAAA,EAGH,kBAAkBX,GAAwBc,GAAgC;AACpE,QAAAA,EAAY,WAAW,EAAG;AAExB,UAAA,EAAE,WAAAC,GAAW,UAAAb,EAAS,IAAI,KAAK,eAAeF,CAAc,KAAK,CAAC,GAClEgB,IAAqC,CAAC;AAE5C,IAAID,KACFD,EAAY,QAAQ,CAAWG,MAAA;AACvB,YAAA,EAAE,WAAAX,GAAW,cAAAC,EAAA,IAAiBU,GAC9BC,IAAUH,EAAUT,CAAS;AAEnC,OAAIY,MAAY,QAELA,KAAW,KAAK,iBAAiBA,GAASX,CAAY,MAC/DS,EAAgB,KAAKC,CAAO;AAAA,IAC9B,CACD,GAGCD,EAAgB,SAAS,KAAKd,KAChCA,EAASc,CAAe;AAAA,EAC1B;AAEJ;AAEM,MAAAG,IAAgB,IAAIrB,EAAc;"}
1
+ {"version":3,"file":"core.js","sources":["../../../../src/features/communication/pub-sub/core.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TAction, TCallback } from './types';\n\nimport isEqual from 'lodash.isequal';\n\ninterface ISubscription {\n eventsMap: {\n [eventName: string]: Record<string, unknown> | null;\n };\n callback: TCallback;\n}\n\nclass EventListener {\n private _eventListener: {\n [subscriptionId: string]: ISubscription;\n } = {};\n\n unsubscribe(subscriptionId: string) {\n delete this._eventListener[subscriptionId];\n }\n\n subscribe(events: TAction[] | TAction, callback: TCallback, subscriptionId: string) {\n if (events.length === 0) return;\n\n const eventsList = (Array.isArray(events[0]) ? events : [events]) as TAction[];\n\n const subscriptionListener: ISubscription = { callback, eventsMap: {} };\n\n eventsList.forEach(event => {\n const [eventName, eventPayload] = event;\n\n subscriptionListener.eventsMap = {\n ...subscriptionListener.eventsMap,\n [eventName]: eventPayload ?? null,\n };\n });\n\n this._eventListener[subscriptionId] = subscriptionListener;\n }\n\n isPayloadMatched(matchPayload: Record<string, unknown>, eventPayload: Record<string, unknown>) {\n return Object.entries(matchPayload).some(([key, matchPayloadValue]) => {\n const eventPayloadValue = eventPayload[key];\n\n if (Array.isArray(eventPayloadValue)) {\n if (Array.isArray(matchPayloadValue)) {\n const isArraySubset = eventPayloadValue.every(i => matchPayloadValue.includes(i));\n\n if (isArraySubset) return true;\n }\n\n return false;\n }\n\n const areValuesEqual = isEqual(matchPayloadValue, eventPayloadValue);\n\n return areValuesEqual;\n });\n }\n\n notifySubscribers(subscriptionId: string, newMessages: TInclassMessage[]) {\n if (newMessages.length === 0) return;\n\n const { eventsMap, callback } = this._eventListener[subscriptionId] || {};\n const matchedMessages: TInclassMessage[] = [];\n\n if (eventsMap) {\n newMessages.forEach(message => {\n const { eventName, eventPayload } = message;\n const payload = eventsMap[eventName];\n\n if (payload === null) {\n matchedMessages.push(message);\n } else if (payload && this.isPayloadMatched(payload, eventPayload)) {\n matchedMessages.push(message);\n }\n });\n }\n\n if (matchedMessages.length > 0 && callback) {\n callback(matchedMessages);\n }\n }\n}\n\nconst eventListener = new EventListener();\n\nexport default eventListener;\n"],"names":["EventListener","__publicField","subscriptionId","events","callback","eventsList","subscriptionListener","event","eventName","eventPayload","matchPayload","key","matchPayloadValue","eventPayloadValue","i","isEqual","newMessages","eventsMap","matchedMessages","message","payload","eventListener"],"mappings":";;;;AAYA,MAAMA,EAAc;AAAA,EAApB;AACU,IAAAC,EAAA,wBAEJ,CAAA;AAAA;AAAA,EAEJ,YAAYC,GAAwB;AAC3B,WAAA,KAAK,eAAeA,CAAc;AAAA,EAC3C;AAAA,EAEA,UAAUC,GAA6BC,GAAqBF,GAAwB;AAC9E,QAAAC,EAAO,WAAW,EAAG;AAEnB,UAAAE,IAAc,MAAM,QAAQF,EAAO,CAAC,CAAC,IAAIA,IAAS,CAACA,CAAM,GAEzDG,IAAsC,EAAE,UAAAF,GAAU,WAAW,CAAG,EAAA;AAEtE,IAAAC,EAAW,QAAQ,CAASE,MAAA;AACpB,YAAA,CAACC,GAAWC,CAAY,IAAIF;AAElC,MAAAD,EAAqB,YAAY;AAAA,QAC/B,GAAGA,EAAqB;AAAA,QACxB,CAACE,CAAS,GAAGC,KAAgB;AAAA,MAAA;AAAA,IAC/B,CACD,GAEI,KAAA,eAAeP,CAAc,IAAII;AAAA,EACxC;AAAA,EAEA,iBAAiBI,GAAuCD,GAAuC;AACtF,WAAA,OAAO,QAAQC,CAAY,EAAE,KAAK,CAAC,CAACC,GAAKC,CAAiB,MAAM;AAC/D,YAAAC,IAAoBJ,EAAaE,CAAG;AAEtC,aAAA,MAAM,QAAQE,CAAiB,IAC7B,SAAM,QAAQD,CAAiB,KACXC,EAAkB,MAAM,OAAKD,EAAkB,SAASE,CAAC,CAAC,KAQ7DC,EAAQH,GAAmBC,CAAiB;AAAA,IAE5D,CACR;AAAA,EACH;AAAA,EAEA,kBAAkBX,GAAwBc,GAAgC;AACpE,QAAAA,EAAY,WAAW,EAAG;AAExB,UAAA,EAAE,WAAAC,GAAW,UAAAb,EAAS,IAAI,KAAK,eAAeF,CAAc,KAAK,IACjEgB,IAAqC,CAAA;AAE3C,IAAID,KACFD,EAAY,QAAQ,CAAWG,MAAA;AACvB,YAAA,EAAE,WAAAX,GAAW,cAAAC,EAAiB,IAAAU,GAC9BC,IAAUH,EAAUT,CAAS;AAEnC,OAAIY,MAAY,QAELA,KAAW,KAAK,iBAAiBA,GAASX,CAAY,MAC/DS,EAAgB,KAAKC,CAAO;AAAA,IAC9B,CACD,GAGCD,EAAgB,SAAS,KAAKd,KAChCA,EAASc,CAAe;AAAA,EAE5B;AACF;AAEM,MAAAG,IAAgB,IAAIrB,EAAc;"}
@@ -1,4 +1,4 @@
1
- import { useCallback as i, useState as f, useEffect as m } from "react";
1
+ import { useState as f, useCallback as i, useEffect as m } from "react";
2
2
  import c from "../hooks/use-inclass-message-broker/use-inclass-message-broker.js";
3
3
  import r from "./core.js";
4
4
  import p from "../../../node_modules/uuid/dist/esm-browser/v4.js";
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../../src/features/communication/pub-sub/hooks.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TActionListenerOptions } from './types';\n\nimport { useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useInClassMessageBroker from '../hooks/use-inclass-message-broker/use-inclass-message-broker';\nimport eventListener from './core';\n\nconst useInClassActionListener = (\n { studentClassroomId, actions, callback }: TActionListenerOptions,\n enabled: boolean = true,\n) => {\n const [subscriptionId] = useState(uuidv4);\n\n const onMessagesReceived = useCallback(\n (newMessages: TInclassMessage[]) => {\n eventListener.notifySubscribers(subscriptionId, newMessages);\n },\n [subscriptionId],\n );\n\n useEffect(() => {\n if (enabled === false) {\n eventListener.unsubscribe(subscriptionId);\n } else {\n eventListener.subscribe(actions, callback, subscriptionId);\n }\n\n return () => {\n eventListener.unsubscribe(subscriptionId);\n };\n }, [actions, callback, enabled, subscriptionId]);\n\n useInClassMessageBroker({ studentClassroomId, onMessageReceive: onMessagesReceived });\n};\n\nconst useInClassActionDispatcher = ({\n studentClassroomId,\n}: {\n studentClassroomId: string | undefined;\n}) => {\n const { publish } = useInClassMessageBroker({ studentClassroomId });\n\n const dispatchInClassAction = useCallback(\n (message: TInclassMessage) => {\n publish?.(message);\n },\n [publish],\n );\n\n return { dispatchInClassAction };\n};\n\nexport { useInClassActionDispatcher, useInClassActionListener };\n"],"names":["useInClassActionListener","studentClassroomId","actions","callback","enabled","subscriptionId","useState","uuidv4","onMessagesReceived","useCallback","newMessages","eventListener","useEffect","useInClassMessageBroker","useInClassActionDispatcher","publish","message"],"mappings":";;;;AASM,MAAAA,IAA2B,CAC/B,EAAE,oBAAAC,GAAoB,SAAAC,GAAS,UAAAC,EAAS,GACxCC,IAAmB,OAChB;AACH,QAAM,CAACC,CAAc,IAAIC,EAASC,CAAM,GAElCC,IAAqBC;AAAA,IACzB,CAACC,MAAmC;AACpB,MAAAC,EAAA,kBAAkBN,GAAgBK,CAAW;AAAA,IAC7D;AAAA,IACA,CAACL,CAAc;AAAA,EACjB;AAEA,EAAAO,EAAU,OACJR,MAAY,KACdO,EAAc,YAAYN,CAAc,IAE1BM,EAAA,UAAUT,GAASC,GAAUE,CAAc,GAGpD,MAAM;AACX,IAAAM,EAAc,YAAYN,CAAc;AAAA,EAC1C,IACC,CAACH,GAASC,GAAUC,GAASC,CAAc,CAAC,GAE/CQ,EAAwB,EAAE,oBAAAZ,GAAoB,kBAAkBO,EAAA,CAAoB;AACtF,GAEMM,IAA6B,CAAC;AAAA,EAClC,oBAAAb;AACF,MAEM;AACJ,QAAM,EAAE,SAAAc,EAAQ,IAAIF,EAAwB,EAAE,oBAAAZ,GAAoB;AASlE,SAAO,EAAE,uBAPqBQ;AAAA,IAC5B,CAACO,MAA6B;AAC5B,MAAAD,KAAA,QAAAA,EAAUC;AAAA,IACZ;AAAA,IACA,CAACD,CAAO;AAAA,EACV,EAE+B;AACjC;"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../../src/features/communication/pub-sub/hooks.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TActionListenerOptions } from './types';\n\nimport { useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useInClassMessageBroker from '../hooks/use-inclass-message-broker/use-inclass-message-broker';\nimport eventListener from './core';\n\nconst useInClassActionListener = (\n { studentClassroomId, actions, callback }: TActionListenerOptions,\n enabled: boolean = true,\n) => {\n const [subscriptionId] = useState(uuidv4);\n\n const onMessagesReceived = useCallback(\n (newMessages: TInclassMessage[]) => {\n eventListener.notifySubscribers(subscriptionId, newMessages);\n },\n [subscriptionId],\n );\n\n useEffect(() => {\n if (enabled === false) {\n eventListener.unsubscribe(subscriptionId);\n } else {\n eventListener.subscribe(actions, callback, subscriptionId);\n }\n\n return () => {\n eventListener.unsubscribe(subscriptionId);\n };\n }, [actions, callback, enabled, subscriptionId]);\n\n useInClassMessageBroker({ studentClassroomId, onMessageReceive: onMessagesReceived });\n};\n\nconst useInClassActionDispatcher = ({\n studentClassroomId,\n}: {\n studentClassroomId: string | undefined;\n}) => {\n const { publish } = useInClassMessageBroker({ studentClassroomId });\n\n const dispatchInClassAction = useCallback(\n (message: TInclassMessage) => {\n publish?.(message);\n },\n [publish],\n );\n\n return { dispatchInClassAction };\n};\n\nexport { useInClassActionDispatcher, useInClassActionListener };\n"],"names":["useInClassActionListener","studentClassroomId","actions","callback","enabled","subscriptionId","useState","uuidv4","onMessagesReceived","useCallback","newMessages","eventListener","useEffect","useInClassMessageBroker","useInClassActionDispatcher","publish","message"],"mappings":";;;;AASM,MAAAA,IAA2B,CAC/B,EAAE,oBAAAC,GAAoB,SAAAC,GAAS,UAAAC,EAAS,GACxCC,IAAmB,OAChB;AACH,QAAM,CAACC,CAAc,IAAIC,EAASC,CAAM,GAElCC,IAAqBC;AAAA,IACzB,CAACC,MAAmC;AACpB,MAAAC,EAAA,kBAAkBN,GAAgBK,CAAW;AAAA,IAC7D;AAAA,IACA,CAACL,CAAc;AAAA,EAAA;AAGjB,EAAAO,EAAU,OACJR,MAAY,KACdO,EAAc,YAAYN,CAAc,IAE1BM,EAAA,UAAUT,GAASC,GAAUE,CAAc,GAGpD,MAAM;AACX,IAAAM,EAAc,YAAYN,CAAc;AAAA,EAAA,IAEzC,CAACH,GAASC,GAAUC,GAASC,CAAc,CAAC,GAE/CQ,EAAwB,EAAE,oBAAAZ,GAAoB,kBAAkBO,EAAoB,CAAA;AACtF,GAEMM,IAA6B,CAAC;AAAA,EAClC,oBAAAb;AACF,MAEM;AACJ,QAAM,EAAE,SAAAc,EAAQ,IAAIF,EAAwB,EAAE,oBAAAZ,EAAoB,CAAA;AASlE,SAAO,EAAE,uBAPqBQ;AAAA,IAC5B,CAACO,MAA6B;AAC5B,MAAAD,KAAA,QAAAA,EAAUC;AAAA,IACZ;AAAA,IACA,CAACD,CAAO;AAAA,EAAA,EAGqB;AACjC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"homework-controls.js","sources":["../../../../src/features/cue-canvas/bottombar/homework-controls.tsx"],"sourcesContent":["import type { IHomeWorkControllerProps } from './bottombar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CheckIcon from '../../../assets/line-icons/icons/check';\nimport ShareIcon from '../../../assets/line-icons/icons/share';\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 { dataURIToBlob } from '../cue-canvas-helpers';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\n\nconst HomeworkController: FC<IHomeWorkControllerProps> = props => {\n const { width, onSendImageToChat, onMarkAsResolved } = props;\n const { homeworkId, activeInstance, setHomeworkId } = useCueCanvasActions();\n const [isBusy, setIsBusy] = useState(false);\n\n const onSuccess = useCallback(() => {\n activeInstance?.clearCanvas();\n setHomeworkId(undefined);\n setIsBusy(false);\n }, [activeInstance, setHomeworkId]);\n\n const getBoardSnapshot = useCallback(async () => {\n if (!activeInstance) return;\n\n const snapshot = await activeInstance?.getCanvasAsImage();\n\n if (!snapshot) {\n return;\n }\n\n const blobdata = dataURIToBlob(snapshot);\n\n return [blobdata];\n }, [activeInstance]);\n\n const handleSendImageToChat = useCallback(async () => {\n const snapshot = await getBoardSnapshot();\n\n if (!homeworkId || !onSendImageToChat || !snapshot) return;\n\n onSendImageToChat?.(homeworkId, snapshot, onSuccess);\n }, [getBoardSnapshot, homeworkId, onSendImageToChat, onSuccess]);\n\n const handleMarkAsResolved = useCallback(() => {\n if (!homeworkId) return;\n setIsBusy(true);\n onMarkAsResolved?.(homeworkId, onSuccess);\n }, [homeworkId, onMarkAsResolved, onSuccess]);\n\n if (!homeworkId) return null;\n\n if (isBusy) {\n return (\n <FlexView\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Text $renderAs=\"body3\" $color=\"BLACK\">\n Resolving....\n </Text>\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Button\n label=\"Mark as reolved\"\n onClick={handleMarkAsResolved}\n renderAs={'primary'}\n Icon={CheckIcon}\n busy={isBusy}\n />\n <Separator width={16} />\n <Button\n label=\"Send CueBoard image to chat\"\n onClick={handleSendImageToChat}\n renderAs={'primary'}\n Icon={ShareIcon}\n />\n </FlexView>\n );\n};\n\nexport default memo(HomeworkController);\n"],"names":["HomeworkController","props","width","onSendImageToChat","onMarkAsResolved","homeworkId","activeInstance","setHomeworkId","useCueCanvasActions","isBusy","setIsBusy","useState","onSuccess","useCallback","getBoardSnapshot","snapshot","dataURIToBlob","handleSendImageToChat","handleMarkAsResolved","jsx","FlexView","Text","jsxs","Button","CheckIcon","Separator","ShareIcon","homeworkControls","memo"],"mappings":";;;;;;;;;;AAcA,MAAMA,IAAmD,CAASC,MAAA;AAChE,QAAM,EAAE,OAAAC,GAAO,mBAAAC,GAAmB,kBAAAC,EAAqB,IAAAH,GACjD,EAAE,YAAAI,GAAY,gBAAAC,GAAgB,eAAAC,EAAA,IAAkBC,EAAoB,GACpE,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCC,IAAYC,EAAY,MAAM;AAClC,IAAAP,KAAA,QAAAA,EAAgB,eAChBC,EAAc,MAAS,GACvBG,EAAU,EAAK;AAAA,EAAA,GACd,CAACJ,GAAgBC,CAAa,CAAC,GAE5BO,IAAmBD,EAAY,YAAY;AAC/C,QAAI,CAACP,EAAgB;AAEf,UAAAS,IAAW,OAAMT,KAAA,gBAAAA,EAAgB;AAEvC,WAAKS,IAME,CAFUC,EAAcD,CAAQ,CAEvB,IALd;AAAA,EAKc,GACf,CAACT,CAAc,CAAC,GAEbW,IAAwBJ,EAAY,YAAY;AAC9C,UAAAE,IAAW,MAAMD,EAAiB;AAExC,IAAI,CAACT,KAAc,CAACF,KAAqB,CAACY,KAEtBZ,KAAA,QAAAA,EAAAE,GAAYU,GAAUH;AAAA,KACzC,CAACE,GAAkBT,GAAYF,GAAmBS,CAAS,CAAC,GAEzDM,IAAuBL,EAAY,MAAM;AAC7C,IAAKR,MACLK,EAAU,EAAI,GACdN,KAAA,QAAAA,EAAmBC,GAAYO;AAAA,EAC9B,GAAA,CAACP,GAAYD,GAAkBQ,CAAS,CAAC;AAExC,SAACP,IAEDI,IAEA,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,4BAACmB,GAAK,EAAA,WAAU,SAAQ,QAAO,SAAQ,UAEvC,gBAAA,CAAA;AAAA,IAAA;AAAA,EACF,IAKF,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASL;AAAA,YACT,UAAU;AAAA,YACV,MAAMM;AAAA,YACN,MAAMf;AAAA,UAAA;AAAA,QACR;AAAA,QACA,gBAAAU,EAACM,GAAU,EAAA,OAAO,GAAI,CAAA;AAAA,QACtB,gBAAAN;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASN;AAAA,YACT,UAAU;AAAA,YACV,MAAMS;AAAA,UAAA;AAAA,QAAA;AAAA,MACR;AAAA,IAAA;AAAA,EACF,IA3CsB;AA6C1B,GAEeC,IAAAC,EAAK5B,CAAkB;"}
1
+ {"version":3,"file":"homework-controls.js","sources":["../../../../src/features/cue-canvas/bottombar/homework-controls.tsx"],"sourcesContent":["import type { IHomeWorkControllerProps } from './bottombar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CheckIcon from '../../../assets/line-icons/icons/check';\nimport ShareIcon from '../../../assets/line-icons/icons/share';\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 { dataURIToBlob } from '../cue-canvas-helpers';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\n\nconst HomeworkController: FC<IHomeWorkControllerProps> = props => {\n const { width, onSendImageToChat, onMarkAsResolved } = props;\n const { homeworkId, activeInstance, setHomeworkId } = useCueCanvasActions();\n const [isBusy, setIsBusy] = useState(false);\n\n const onSuccess = useCallback(() => {\n activeInstance?.clearCanvas();\n setHomeworkId(undefined);\n setIsBusy(false);\n }, [activeInstance, setHomeworkId]);\n\n const getBoardSnapshot = useCallback(async () => {\n if (!activeInstance) return;\n\n const snapshot = await activeInstance?.getCanvasAsImage();\n\n if (!snapshot) {\n return;\n }\n\n const blobdata = dataURIToBlob(snapshot);\n\n return [blobdata];\n }, [activeInstance]);\n\n const handleSendImageToChat = useCallback(async () => {\n const snapshot = await getBoardSnapshot();\n\n if (!homeworkId || !onSendImageToChat || !snapshot) return;\n\n onSendImageToChat?.(homeworkId, snapshot, onSuccess);\n }, [getBoardSnapshot, homeworkId, onSendImageToChat, onSuccess]);\n\n const handleMarkAsResolved = useCallback(() => {\n if (!homeworkId) return;\n setIsBusy(true);\n onMarkAsResolved?.(homeworkId, onSuccess);\n }, [homeworkId, onMarkAsResolved, onSuccess]);\n\n if (!homeworkId) return null;\n\n if (isBusy) {\n return (\n <FlexView\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Text $renderAs=\"body3\" $color=\"BLACK\">\n Resolving....\n </Text>\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Button\n label=\"Mark as reolved\"\n onClick={handleMarkAsResolved}\n renderAs={'primary'}\n Icon={CheckIcon}\n busy={isBusy}\n />\n <Separator width={16} />\n <Button\n label=\"Send CueBoard image to chat\"\n onClick={handleSendImageToChat}\n renderAs={'primary'}\n Icon={ShareIcon}\n />\n </FlexView>\n );\n};\n\nexport default memo(HomeworkController);\n"],"names":["HomeworkController","props","width","onSendImageToChat","onMarkAsResolved","homeworkId","activeInstance","setHomeworkId","useCueCanvasActions","isBusy","setIsBusy","useState","onSuccess","useCallback","getBoardSnapshot","snapshot","dataURIToBlob","handleSendImageToChat","handleMarkAsResolved","jsx","FlexView","Text","jsxs","Button","CheckIcon","Separator","ShareIcon","homeworkControls","memo"],"mappings":";;;;;;;;;;AAcA,MAAMA,IAAmD,CAASC,MAAA;AAChE,QAAM,EAAE,OAAAC,GAAO,mBAAAC,GAAmB,kBAAAC,EAAA,IAAqBH,GACjD,EAAE,YAAAI,GAAY,gBAAAC,GAAgB,eAAAC,MAAkBC,EAAoB,GACpE,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCC,IAAYC,EAAY,MAAM;AAClC,IAAAP,KAAA,QAAAA,EAAgB,eAChBC,EAAc,MAAS,GACvBG,EAAU,EAAK;AAAA,EAAA,GACd,CAACJ,GAAgBC,CAAa,CAAC,GAE5BO,IAAmBD,EAAY,YAAY;AAC/C,QAAI,CAACP,EAAgB;AAEf,UAAAS,IAAW,OAAMT,KAAA,gBAAAA,EAAgB;AAEvC,WAAKS,IAME,CAFUC,EAAcD,CAAQ,CAEvB,IALd;AAAA,EAKc,GACf,CAACT,CAAc,CAAC,GAEbW,IAAwBJ,EAAY,YAAY;AAC9C,UAAAE,IAAW,MAAMD;AAEvB,IAAI,CAACT,KAAc,CAACF,KAAqB,CAACY,KAEtBZ,KAAA,QAAAA,EAAAE,GAAYU,GAAUH;AAAA,KACzC,CAACE,GAAkBT,GAAYF,GAAmBS,CAAS,CAAC,GAEzDM,IAAuBL,EAAY,MAAM;AAC7C,IAAKR,MACLK,EAAU,EAAI,GACdN,KAAA,QAAAA,EAAmBC,GAAYO;AAAA,EAC9B,GAAA,CAACP,GAAYD,GAAkBQ,CAAS,CAAC;AAExC,SAACP,IAEDI,IAEA,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,4BAACmB,GAAK,EAAA,WAAU,SAAQ,QAAO,SAAQ,UAEvC,iBAAA;AAAA,IAAA;AAAA,EAAA,IAMJ,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASL;AAAA,YACT,UAAU;AAAA,YACV,MAAMM;AAAA,YACN,MAAMf;AAAA,UAAA;AAAA,QACR;AAAA,QACA,gBAAAU,EAACM,GAAU,EAAA,OAAO,GAAI,CAAA;AAAA,QACtB,gBAAAN;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASN;AAAA,YACT,UAAU;AAAA,YACV,MAAMS;AAAA,UAAA;AAAA,QACR;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IA1CoB;AA6C1B,GAEeC,IAAAC,EAAK5B,CAAkB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cue-canvas-context.js","sources":["../../../src/features/cue-canvas/cue-canvas-context.tsx"],"sourcesContent":["import type { TPolyContextValue } from './types/context';\nimport type { TCueCanvasColors } from './types/cue-canvas';\n\nimport { createContext } from 'react';\n\nimport { CANVAS_COLORS } from './constants/constants';\n\nconst PolyContext = createContext<TPolyContextValue>({\n activeInstance: undefined,\n setActiveInstance: () => undefined,\n activeTool: 'pen',\n setActiveTool: () => undefined,\n activeColor: Object.keys(CANVAS_COLORS)[0] as TCueCanvasColors,\n setActiveColor: () => undefined,\n homeworkId: undefined,\n setHomeworkId: () => undefined,\n});\n\nexport default PolyContext;\n"],"names":["PolyContext","createContext","CANVAS_COLORS"],"mappings":";;AAOA,MAAMA,IAAcC,EAAiC;AAAA,EACnD,gBAAgB;AAAA,EAChB,mBAAmB,MAAA;AAAA;AAAA,EACnB,YAAY;AAAA,EACZ,eAAe,MAAA;AAAA;AAAA,EACf,aAAa,OAAO,KAAKC,CAAa,EAAE,CAAC;AAAA,EACzC,gBAAgB,MAAA;AAAA;AAAA,EAChB,YAAY;AAAA,EACZ,eAAe,MAAM;AAAA;AACvB,CAAC;"}
1
+ {"version":3,"file":"cue-canvas-context.js","sources":["../../../src/features/cue-canvas/cue-canvas-context.tsx"],"sourcesContent":["import type { TPolyContextValue } from './types/context';\nimport type { TCueCanvasColors } from './types/cue-canvas';\n\nimport { createContext } from 'react';\n\nimport { CANVAS_COLORS } from './constants/constants';\n\nconst PolyContext = createContext<TPolyContextValue>({\n activeInstance: undefined,\n setActiveInstance: () => undefined,\n activeTool: 'pen',\n setActiveTool: () => undefined,\n activeColor: Object.keys(CANVAS_COLORS)[0] as TCueCanvasColors,\n setActiveColor: () => undefined,\n homeworkId: undefined,\n setHomeworkId: () => undefined,\n});\n\nexport default PolyContext;\n"],"names":["PolyContext","createContext","CANVAS_COLORS"],"mappings":";;AAOA,MAAMA,IAAcC,EAAiC;AAAA,EACnD,gBAAgB;AAAA,EAChB,mBAAmB,MAAM;AAAA;AAAA,EACzB,YAAY;AAAA,EACZ,eAAe,MAAM;AAAA;AAAA,EACrB,aAAa,OAAO,KAAKC,CAAa,EAAE,CAAC;AAAA,EACzC,gBAAgB,MAAM;AAAA;AAAA,EACtB,YAAY;AAAA,EACZ,eAAe,MAAM;AAAA;AACvB,CAAC;"}
@@ -4,7 +4,7 @@ var s = (c, t, e) => g(c, typeof t != "symbol" ? t + "" : t, e);
4
4
  import { captureMessage as f } from "@sentry/browser";
5
5
  import y from "../../node_modules/lodash.debounce/index.js";
6
6
  import { CANVAS_COLORS as d } from "./constants/constants.js";
7
- import { getColorsForUser as C, removeTileButton as m, removeMask as T, checkTextOrEquationTool as w, getReverseMap as I, getToolAndSubtool as b, STATELESS_TOOLS as E } from "./cue-canvas-helpers.js";
7
+ import { getColorsForUser as C, removeTileButton as m, removeMask as T, checkTextOrEquationTool as w, getReverseMap as I, STATELESS_TOOLS as b, getToolAndSubtool as E } from "./cue-canvas-helpers.js";
8
8
  class U {
9
9
  constructor({
10
10
  onPublish: t,
@@ -182,7 +182,7 @@ class U {
182
182
  });
183
183
  s(this, "setTool", (t) => {
184
184
  if (!this.polycanvas || t === this.activeTool) return;
185
- const [e, a] = b(t);
185
+ const [e, a] = E(t);
186
186
  switch (e) {
187
187
  case "clearAll":
188
188
  this.clearCanvas();
@@ -219,7 +219,7 @@ class U {
219
219
  default:
220
220
  this.polycanvas.setTool(e, a);
221
221
  }
222
- E.has(t) || (this.activeTool = t);
222
+ b.has(t) || (this.activeTool = t);
223
223
  });
224
224
  /**
225
225
  * The `update` method is called in two cases:
@@ -1 +1 @@
1
- {"version":3,"file":"cue-canvas-core.js","sources":["../../../src/features/cue-canvas/cue-canvas-core.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n IActionData,\n IViewport,\n TCueCanvasChangeData,\n TCueCanvasGridName,\n TCueCanvasTool,\n TPublish,\n TRenderAs,\n TCueCanvasChangeDataObject,\n IReplaceCanvas,\n ICueCanvasCoreProps,\n TUpdateCanvasConfig,\n TCueCanvasColors,\n} from './types/cue-canvas';\nimport type { ICreateOptions } from './types/cue-canvas';\nimport type { IPolypad, IPolyPadInstance } from './types/polypad';\n\nimport { captureMessage } from '@sentry/browser';\nimport debounce from 'lodash.debounce';\n\nimport { CANVAS_COLORS } from './constants/constants';\nimport {\n checkTextOrEquationTool,\n getColorsForUser,\n getReverseMap,\n getToolAndSubtool,\n removeMask,\n removeTileButton,\n STATELESS_TOOLS,\n} from './cue-canvas-helpers';\n\ndeclare global {\n interface Window {\n Polypad: IPolypad;\n }\n}\n\n/**\n * The CueCanvasCore class manages the canvas state and tool synchronization.\n * When text or equations are added, Polypad automatically switches to 'move' tool.\n * onUpdateActiveTool ensures the UI reflects this automatic tool change.\n */\n\nexport class CueCanvasCore {\n private polycanvas: IPolyPadInstance | undefined;\n private publish?: TPublish;\n private height: number;\n private onUpdateActiveTool: (tool: TCueCanvasTool) => void;\n private onUpdateHeight?: (height: number) => void;\n private userId: string;\n private canvasId: string;\n private userType: TUserTypes;\n private renderAs: TRenderAs;\n private fileInput: HTMLInputElement | null = null;\n private debouncedViewportChange: ReturnType<typeof debounce>;\n private uploadImageToS3?: (file: File) => Promise<string>;\n private updateCanvasConfigChange?: TUpdateCanvasConfig;\n private gridName?: TCueCanvasGridName;\n private activeColor: TCueCanvasColors;\n private activeTool: TCueCanvasTool | undefined;\n\n constructor({\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n canvasId,\n userType,\n renderAs,\n updateCanvasConfig,\n }: ICueCanvasCoreProps) {\n this.onUpdateHeight = onUpdateHeight;\n this.onUpdateActiveTool = onUpdateActiveTool;\n this.height = height;\n this.uploadImageToS3 = uploadImageToS3;\n this.userId = userId;\n this.canvasId = canvasId;\n this.publish = onPublish;\n this.userType = userType;\n this.renderAs = renderAs;\n this.debouncedViewportChange = debounce(this.onViewPortChange, 300);\n this.updateCanvasConfigChange = updateCanvasConfig;\n this.activeColor = getColorsForUser(userType, renderAs)[0] as TCueCanvasColors;\n this.activeTool = undefined; // Default to first color in the palette\n onSubscribe?.(this.canvasId, this.update);\n }\n\n async create({ canvasElementRef, canvasConfig, canvasSetting, initialData }: ICreateOptions) {\n if (!canvasElementRef.current) {\n throw new Error('PolyCanvas: Div Element Not found for canvas');\n }\n this.polycanvas = await window.Polypad.create(canvasElementRef.current, {\n initial: {\n options: canvasConfig,\n },\n ...canvasSetting,\n imageUpload:\n this.renderAs === 'whiteboard' && this.userType === 'TEACHER' && this.uploadImageToS3\n ? this.uploadImageToS3\n : undefined,\n });\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.toggleSidebar(false);\n this.polycanvas.bindKeyboardEvents({});\n\n removeTileButton(canvasElementRef);\n this.polycanvas.on('viewport', this.debouncedViewportChange);\n }\n\n removeMask(canvasElementRef);\n this.polycanvas.on('change', this.onChange);\n if (initialData) {\n this.update(initialData);\n }\n }\n\n private publishToChannel = (payload: TCueCanvasChangeDataObject) => {\n if (!this.publish) return;\n\n this.publish({\n eventName: 'cue_canvas_changed',\n eventPayload: {\n data: payload,\n height: this.height,\n userId: this.userId,\n responseId: this.canvasId,\n },\n });\n };\n\n private onChange = (e: unknown) => {\n const data = e as TCueCanvasChangeData;\n const payload = Object.fromEntries(data.entries());\n\n if (checkTextOrEquationTool(payload)) {\n this.onUpdateActiveTool('move');\n this.setTool('move');\n }\n\n this.publishToChannel(payload);\n };\n\n private undo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.undo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n const undoData = getReverseMap(data);\n\n this.onChange(undoData);\n };\n\n private redo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.redo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n this.onChange(data);\n };\n\n clearCanvas = () => {\n if (this.polycanvas) {\n this.polycanvas.clear();\n }\n };\n\n private zoomIn = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 1.1);\n };\n\n private zoomOut = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 0.9);\n };\n\n getCanvasAsImage = async () => {\n if (!this.polycanvas) return;\n\n const image = await this.polycanvas.image(3000, 3000, 'png');\n\n return image;\n };\n\n private downloadCanvasAsImage = async () => {\n if (!this.polycanvas) return;\n\n const image = await this.polycanvas.image(3000, 3000, 'png');\n\n if (!image) return;\n\n const downloadLink = document.createElement('a');\n\n downloadLink.href = image;\n downloadLink.download = `canvas-drawing-${Date.now()}.png`;\n downloadLink.click();\n };\n\n private onViewPortChange = (e: IViewport): void => {\n if (!this.updateCanvasConfigChange) return;\n\n this.updateCanvasConfigChange({ dimesion: e });\n };\n\n private openFileUpload = (): void => {\n if (!this.fileInput) {\n this.fileInput = document.createElement('input');\n this.fileInput.type = 'file';\n this.fileInput.accept = 'image/*';\n this.fileInput.style.display = 'none';\n this.fileInput.onchange = this.onSelectImage;\n document.body.appendChild(this.fileInput);\n }\n\n this.fileInput.click();\n };\n\n addImageToCanvas = (imageUrl: string): void => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n const imgJson = {\n name: 'image',\n href: imageUrl,\n x: viewPort.x + 24,\n y: viewPort.y + 24,\n width: 500,\n };\n\n const key = this.polycanvas.add({\n ...imgJson,\n });\n\n this.publishToChannel({\n [key]: [undefined, { ...imgJson, status: 'locked' }],\n });\n };\n\n private onSelectImage = async (event: Event): Promise<void> => {\n const target = event.target as HTMLInputElement;\n const file = target.files?.[0];\n\n if (!file || !this.polycanvas || !this.uploadImageToS3) return;\n\n const imageUrl = await this.uploadImageToS3(file);\n\n if (imageUrl === 'error') {\n return;\n }\n\n this.addImageToCanvas(imageUrl);\n\n target.value = '';\n };\n\n private updateCanvas = ({ data, userId }: IActionData) => {\n const canEditStroke = this.userType === 'TEACHER' || userId === this.userId;\n\n try {\n Object.entries(data).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\n if ('name' in value[1] && value[1].name === 'image') {\n value[1].status = this.userType === 'STUDENT' ? 'locked' : undefined; // Lock only images for students\n }\n this.polycanvas?.add({ ...value[1], cannotEdit: !canEditStroke }, key);\n } else if (value[0] && !value[1]) {\n this.polycanvas?.delete(key);\n } else if (value[0] && value[1]) {\n this.polycanvas?.update(key, { ...value[1] });\n }\n });\n } catch (error) {\n captureMessage('Error Updating Canvas', data);\n }\n };\n\n toggleTiles = (val: boolean) => {\n this.polycanvas?.toggleSidebar(val);\n };\n\n setViewPort = ({ x, y, zoom }: IViewport) => {\n if (this.polycanvas) {\n const cv = this.polycanvas?.getViewport();\n\n if (cv.x === x && cv.y === y && cv.zoom === zoom) {\n return; // No change needed\n }\n\n this.polycanvas.setViewport(x, y, zoom);\n }\n };\n\n resetViewPort = () => {\n if (this.polycanvas) {\n this.polycanvas.resetViewport();\n }\n };\n\n changeGrid = (gridName: TCueCanvasGridName) => {\n if (!this.polycanvas || this.gridName === gridName) return;\n\n this.polycanvas.setOptions({\n grid: gridName,\n });\n this.gridName = gridName;\n if (this.updateCanvasConfigChange) {\n this.updateCanvasConfigChange({ gridName: gridName });\n }\n };\n\n lockSelectedTiles = () => {\n const { tiles: allTiles } = this.polycanvas?.serialize() || {};\n const selectedItems = this.polycanvas?.getSelection() || [];\n\n if (selectedItems.length > 0 && allTiles) {\n const lockedTiles: TCueCanvasChangeDataObject = {};\n\n selectedItems.forEach(key => {\n if (!allTiles[key]?.name) return;\n\n const updatedJson = { ...allTiles[key], status: 'locked' as const };\n\n this.polycanvas?.update(key, updatedJson);\n if (allTiles[key]?.name) lockedTiles[key] = [allTiles[key], updatedJson];\n });\n\n this.publishToChannel(lockedTiles);\n }\n };\n\n unlockAllTiles = () => {\n if (!this.polycanvas) return;\n\n const { tiles: allTiles } = this.polycanvas.serialize();\n const unlockedTiles: TCueCanvasChangeDataObject = {};\n\n if (allTiles && Object.entries(allTiles).length > 0) {\n Object.entries(allTiles).forEach(([key, item]) => {\n if (item.status !== 'locked') return;\n\n const updatedJson = { ...item, status: undefined };\n\n this.polycanvas?.update(key, updatedJson);\n unlockedTiles[key] = [item, updatedJson];\n });\n\n this.publishToChannel(unlockedTiles);\n }\n };\n\n replaceCanvas = (data: IReplaceCanvas) => {\n if (!this.polycanvas) return;\n\n const { data: canvasData, gridName } = data;\n\n this.polycanvas.clear();\n if (gridName) {\n this.changeGrid(gridName);\n }\n\n Object.entries(canvasData).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\n this.polycanvas?.add({ ...value[1] }, key);\n\n return;\n }\n });\n\n this.publishToChannel(canvasData);\n };\n\n setTool = (tool: TCueCanvasTool) => {\n if (!this.polycanvas || tool === this.activeTool) return;\n\n const [currTool, currSubTool] = getToolAndSubtool(tool);\n\n switch (currTool) {\n case 'clearAll':\n this.clearCanvas();\n break;\n case 'home':\n this.resetViewPort();\n break;\n case 'undo':\n this.undo();\n break;\n case 'redo':\n this.redo();\n break;\n case 'lock':\n this.lockSelectedTiles();\n break;\n case 'unlock':\n this.unlockAllTiles();\n break;\n case 'zoomIn':\n this.zoomIn();\n break;\n case 'zoomOut':\n this.zoomOut();\n break;\n case 'upload':\n this.openFileUpload();\n break;\n case 'download':\n this.downloadCanvasAsImage();\n break;\n case 'grid':\n break;\n default:\n this.polycanvas.setTool(currTool, currSubTool);\n }\n if (!STATELESS_TOOLS.has(tool)) {\n this.activeTool = tool;\n }\n };\n\n /**\n * The `update` method is called in two cases:\n * 1. When receiving initial data to update the canvas content.\n * 2. When receiving strokes from other peers to update the canvas content.\n * Each item can contain multiple actions, which are applied to the canvas.\n *\n * The method checks if the payload is an array or a single object.\n * If it's an array, it iterates over each item and updates the canvas accordingly.\n * If it's a single object, it directly updates the canvas.\n *\n * Additionally, if the payload contains a height greater than the current height of the canvas, the `updateHeight` method is called to update the canvas height.\n */\n update = (payload: IActionData | IActionData[]) => {\n if (Array.isArray(payload)) {\n const heights = payload.map(data => data.height).filter(Boolean);\n const maxHeight = Math.max(...heights);\n\n if (maxHeight > this.height) {\n this.updateHeight(maxHeight);\n }\n payload.forEach(item => this.updateCanvas(item));\n } else {\n if (payload.height > this.height) {\n this.updateHeight(payload.height);\n }\n this.updateCanvas(payload);\n }\n };\n\n getSelections = () => {\n return this.polycanvas ? this.polycanvas.getSelection() : [];\n };\n\n setColor = (color: TCueCanvasColors) => {\n if (!this.polycanvas || !this.activeColor) return;\n\n const selectedColor = CANVAS_COLORS[color];\n\n const selections = this.getSelections();\n\n if (selections && selections.length > 0) {\n selections.forEach((key: string) => {\n this.polycanvas?.update(key, { color: selectedColor });\n this.onChange(\n new Map([[key, [{ color: CANVAS_COLORS[this.activeColor] }, { color: selectedColor }]]]),\n );\n });\n }\n this.polycanvas.setColor(selectedColor);\n this.activeColor = color;\n };\n\n updateHeight = (height: number) => {\n this.height = height;\n this.onUpdateHeight?.(height);\n };\n\n destroy = () => {\n if (this.polycanvas) {\n this.polycanvas.off('change', this.onChange);\n this.polycanvas.destroy();\n this.debouncedViewportChange.cancel();\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.off('viewport', this.debouncedViewportChange);\n }\n this.polycanvas = undefined;\n\n if (this.fileInput && this.fileInput.parentNode) {\n this.fileInput.parentNode.removeChild(this.fileInput);\n this.fileInput = null;\n }\n }\n };\n}\n"],"names":["CueCanvasCore","onPublish","onSubscribe","onUpdateActiveTool","onUpdateHeight","uploadImageToS3","height","userId","canvasId","userType","renderAs","updateCanvasConfig","__publicField","payload","e","checkTextOrEquationTool","data","undoData","getReverseMap","viewPort","image","downloadLink","imageUrl","imgJson","key","event","target","file","_a","canEditStroke","value","_b","_c","captureMessage","val","x","y","zoom","cv","gridName","allTiles","selectedItems","lockedTiles","updatedJson","unlockedTiles","item","canvasData","tool","currTool","currSubTool","getToolAndSubtool","STATELESS_TOOLS","heights","maxHeight","color","selectedColor","CANVAS_COLORS","selections","debounce","getColorsForUser","canvasElementRef","canvasConfig","canvasSetting","initialData","removeTileButton","removeMask"],"mappings":"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"}
1
+ {"version":3,"file":"cue-canvas-core.js","sources":["../../../src/features/cue-canvas/cue-canvas-core.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n IActionData,\n IViewport,\n TCueCanvasChangeData,\n TCueCanvasGridName,\n TCueCanvasTool,\n TPublish,\n TRenderAs,\n TCueCanvasChangeDataObject,\n IReplaceCanvas,\n ICueCanvasCoreProps,\n TUpdateCanvasConfig,\n TCueCanvasColors,\n} from './types/cue-canvas';\nimport type { ICreateOptions } from './types/cue-canvas';\nimport type { IPolypad, IPolyPadInstance } from './types/polypad';\n\nimport { captureMessage } from '@sentry/browser';\nimport debounce from 'lodash.debounce';\n\nimport { CANVAS_COLORS } from './constants/constants';\nimport {\n checkTextOrEquationTool,\n getColorsForUser,\n getReverseMap,\n getToolAndSubtool,\n removeMask,\n removeTileButton,\n STATELESS_TOOLS,\n} from './cue-canvas-helpers';\n\ndeclare global {\n interface Window {\n Polypad: IPolypad;\n }\n}\n\n/**\n * The CueCanvasCore class manages the canvas state and tool synchronization.\n * When text or equations are added, Polypad automatically switches to 'move' tool.\n * onUpdateActiveTool ensures the UI reflects this automatic tool change.\n */\n\nexport class CueCanvasCore {\n private polycanvas: IPolyPadInstance | undefined;\n private publish?: TPublish;\n private height: number;\n private onUpdateActiveTool: (tool: TCueCanvasTool) => void;\n private onUpdateHeight?: (height: number) => void;\n private userId: string;\n private canvasId: string;\n private userType: TUserTypes;\n private renderAs: TRenderAs;\n private fileInput: HTMLInputElement | null = null;\n private debouncedViewportChange: ReturnType<typeof debounce>;\n private uploadImageToS3?: (file: File) => Promise<string>;\n private updateCanvasConfigChange?: TUpdateCanvasConfig;\n private gridName?: TCueCanvasGridName;\n private activeColor: TCueCanvasColors;\n private activeTool: TCueCanvasTool | undefined;\n\n constructor({\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n canvasId,\n userType,\n renderAs,\n updateCanvasConfig,\n }: ICueCanvasCoreProps) {\n this.onUpdateHeight = onUpdateHeight;\n this.onUpdateActiveTool = onUpdateActiveTool;\n this.height = height;\n this.uploadImageToS3 = uploadImageToS3;\n this.userId = userId;\n this.canvasId = canvasId;\n this.publish = onPublish;\n this.userType = userType;\n this.renderAs = renderAs;\n this.debouncedViewportChange = debounce(this.onViewPortChange, 300);\n this.updateCanvasConfigChange = updateCanvasConfig;\n this.activeColor = getColorsForUser(userType, renderAs)[0] as TCueCanvasColors;\n this.activeTool = undefined; // Default to first color in the palette\n onSubscribe?.(this.canvasId, this.update);\n }\n\n async create({ canvasElementRef, canvasConfig, canvasSetting, initialData }: ICreateOptions) {\n if (!canvasElementRef.current) {\n throw new Error('PolyCanvas: Div Element Not found for canvas');\n }\n this.polycanvas = await window.Polypad.create(canvasElementRef.current, {\n initial: {\n options: canvasConfig,\n },\n ...canvasSetting,\n imageUpload:\n this.renderAs === 'whiteboard' && this.userType === 'TEACHER' && this.uploadImageToS3\n ? this.uploadImageToS3\n : undefined,\n });\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.toggleSidebar(false);\n this.polycanvas.bindKeyboardEvents({});\n\n removeTileButton(canvasElementRef);\n this.polycanvas.on('viewport', this.debouncedViewportChange);\n }\n\n removeMask(canvasElementRef);\n this.polycanvas.on('change', this.onChange);\n if (initialData) {\n this.update(initialData);\n }\n }\n\n private publishToChannel = (payload: TCueCanvasChangeDataObject) => {\n if (!this.publish) return;\n\n this.publish({\n eventName: 'cue_canvas_changed',\n eventPayload: {\n data: payload,\n height: this.height,\n userId: this.userId,\n responseId: this.canvasId,\n },\n });\n };\n\n private onChange = (e: unknown) => {\n const data = e as TCueCanvasChangeData;\n const payload = Object.fromEntries(data.entries());\n\n if (checkTextOrEquationTool(payload)) {\n this.onUpdateActiveTool('move');\n this.setTool('move');\n }\n\n this.publishToChannel(payload);\n };\n\n private undo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.undo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n const undoData = getReverseMap(data);\n\n this.onChange(undoData);\n };\n\n private redo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.redo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n this.onChange(data);\n };\n\n clearCanvas = () => {\n if (this.polycanvas) {\n this.polycanvas.clear();\n }\n };\n\n private zoomIn = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 1.1);\n };\n\n private zoomOut = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 0.9);\n };\n\n getCanvasAsImage = async () => {\n if (!this.polycanvas) return;\n\n const image = await this.polycanvas.image(3000, 3000, 'png');\n\n return image;\n };\n\n private downloadCanvasAsImage = async () => {\n if (!this.polycanvas) return;\n\n const image = await this.polycanvas.image(3000, 3000, 'png');\n\n if (!image) return;\n\n const downloadLink = document.createElement('a');\n\n downloadLink.href = image;\n downloadLink.download = `canvas-drawing-${Date.now()}.png`;\n downloadLink.click();\n };\n\n private onViewPortChange = (e: IViewport): void => {\n if (!this.updateCanvasConfigChange) return;\n\n this.updateCanvasConfigChange({ dimesion: e });\n };\n\n private openFileUpload = (): void => {\n if (!this.fileInput) {\n this.fileInput = document.createElement('input');\n this.fileInput.type = 'file';\n this.fileInput.accept = 'image/*';\n this.fileInput.style.display = 'none';\n this.fileInput.onchange = this.onSelectImage;\n document.body.appendChild(this.fileInput);\n }\n\n this.fileInput.click();\n };\n\n addImageToCanvas = (imageUrl: string): void => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n const imgJson = {\n name: 'image',\n href: imageUrl,\n x: viewPort.x + 24,\n y: viewPort.y + 24,\n width: 500,\n };\n\n const key = this.polycanvas.add({\n ...imgJson,\n });\n\n this.publishToChannel({\n [key]: [undefined, { ...imgJson, status: 'locked' }],\n });\n };\n\n private onSelectImage = async (event: Event): Promise<void> => {\n const target = event.target as HTMLInputElement;\n const file = target.files?.[0];\n\n if (!file || !this.polycanvas || !this.uploadImageToS3) return;\n\n const imageUrl = await this.uploadImageToS3(file);\n\n if (imageUrl === 'error') {\n return;\n }\n\n this.addImageToCanvas(imageUrl);\n\n target.value = '';\n };\n\n private updateCanvas = ({ data, userId }: IActionData) => {\n const canEditStroke = this.userType === 'TEACHER' || userId === this.userId;\n\n try {\n Object.entries(data).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\n if ('name' in value[1] && value[1].name === 'image') {\n value[1].status = this.userType === 'STUDENT' ? 'locked' : undefined; // Lock only images for students\n }\n this.polycanvas?.add({ ...value[1], cannotEdit: !canEditStroke }, key);\n } else if (value[0] && !value[1]) {\n this.polycanvas?.delete(key);\n } else if (value[0] && value[1]) {\n this.polycanvas?.update(key, { ...value[1] });\n }\n });\n } catch (error) {\n captureMessage('Error Updating Canvas', data);\n }\n };\n\n toggleTiles = (val: boolean) => {\n this.polycanvas?.toggleSidebar(val);\n };\n\n setViewPort = ({ x, y, zoom }: IViewport) => {\n if (this.polycanvas) {\n const cv = this.polycanvas?.getViewport();\n\n if (cv.x === x && cv.y === y && cv.zoom === zoom) {\n return; // No change needed\n }\n\n this.polycanvas.setViewport(x, y, zoom);\n }\n };\n\n resetViewPort = () => {\n if (this.polycanvas) {\n this.polycanvas.resetViewport();\n }\n };\n\n changeGrid = (gridName: TCueCanvasGridName) => {\n if (!this.polycanvas || this.gridName === gridName) return;\n\n this.polycanvas.setOptions({\n grid: gridName,\n });\n this.gridName = gridName;\n if (this.updateCanvasConfigChange) {\n this.updateCanvasConfigChange({ gridName: gridName });\n }\n };\n\n lockSelectedTiles = () => {\n const { tiles: allTiles } = this.polycanvas?.serialize() || {};\n const selectedItems = this.polycanvas?.getSelection() || [];\n\n if (selectedItems.length > 0 && allTiles) {\n const lockedTiles: TCueCanvasChangeDataObject = {};\n\n selectedItems.forEach(key => {\n if (!allTiles[key]?.name) return;\n\n const updatedJson = { ...allTiles[key], status: 'locked' as const };\n\n this.polycanvas?.update(key, updatedJson);\n if (allTiles[key]?.name) lockedTiles[key] = [allTiles[key], updatedJson];\n });\n\n this.publishToChannel(lockedTiles);\n }\n };\n\n unlockAllTiles = () => {\n if (!this.polycanvas) return;\n\n const { tiles: allTiles } = this.polycanvas.serialize();\n const unlockedTiles: TCueCanvasChangeDataObject = {};\n\n if (allTiles && Object.entries(allTiles).length > 0) {\n Object.entries(allTiles).forEach(([key, item]) => {\n if (item.status !== 'locked') return;\n\n const updatedJson = { ...item, status: undefined };\n\n this.polycanvas?.update(key, updatedJson);\n unlockedTiles[key] = [item, updatedJson];\n });\n\n this.publishToChannel(unlockedTiles);\n }\n };\n\n replaceCanvas = (data: IReplaceCanvas) => {\n if (!this.polycanvas) return;\n\n const { data: canvasData, gridName } = data;\n\n this.polycanvas.clear();\n if (gridName) {\n this.changeGrid(gridName);\n }\n\n Object.entries(canvasData).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\n this.polycanvas?.add({ ...value[1] }, key);\n\n return;\n }\n });\n\n this.publishToChannel(canvasData);\n };\n\n setTool = (tool: TCueCanvasTool) => {\n if (!this.polycanvas || tool === this.activeTool) return;\n\n const [currTool, currSubTool] = getToolAndSubtool(tool);\n\n switch (currTool) {\n case 'clearAll':\n this.clearCanvas();\n break;\n case 'home':\n this.resetViewPort();\n break;\n case 'undo':\n this.undo();\n break;\n case 'redo':\n this.redo();\n break;\n case 'lock':\n this.lockSelectedTiles();\n break;\n case 'unlock':\n this.unlockAllTiles();\n break;\n case 'zoomIn':\n this.zoomIn();\n break;\n case 'zoomOut':\n this.zoomOut();\n break;\n case 'upload':\n this.openFileUpload();\n break;\n case 'download':\n this.downloadCanvasAsImage();\n break;\n case 'grid':\n break;\n default:\n this.polycanvas.setTool(currTool, currSubTool);\n }\n if (!STATELESS_TOOLS.has(tool)) {\n this.activeTool = tool;\n }\n };\n\n /**\n * The `update` method is called in two cases:\n * 1. When receiving initial data to update the canvas content.\n * 2. When receiving strokes from other peers to update the canvas content.\n * Each item can contain multiple actions, which are applied to the canvas.\n *\n * The method checks if the payload is an array or a single object.\n * If it's an array, it iterates over each item and updates the canvas accordingly.\n * If it's a single object, it directly updates the canvas.\n *\n * Additionally, if the payload contains a height greater than the current height of the canvas, the `updateHeight` method is called to update the canvas height.\n */\n update = (payload: IActionData | IActionData[]) => {\n if (Array.isArray(payload)) {\n const heights = payload.map(data => data.height).filter(Boolean);\n const maxHeight = Math.max(...heights);\n\n if (maxHeight > this.height) {\n this.updateHeight(maxHeight);\n }\n payload.forEach(item => this.updateCanvas(item));\n } else {\n if (payload.height > this.height) {\n this.updateHeight(payload.height);\n }\n this.updateCanvas(payload);\n }\n };\n\n getSelections = () => {\n return this.polycanvas ? this.polycanvas.getSelection() : [];\n };\n\n setColor = (color: TCueCanvasColors) => {\n if (!this.polycanvas || !this.activeColor) return;\n\n const selectedColor = CANVAS_COLORS[color];\n\n const selections = this.getSelections();\n\n if (selections && selections.length > 0) {\n selections.forEach((key: string) => {\n this.polycanvas?.update(key, { color: selectedColor });\n this.onChange(\n new Map([[key, [{ color: CANVAS_COLORS[this.activeColor] }, { color: selectedColor }]]]),\n );\n });\n }\n this.polycanvas.setColor(selectedColor);\n this.activeColor = color;\n };\n\n updateHeight = (height: number) => {\n this.height = height;\n this.onUpdateHeight?.(height);\n };\n\n destroy = () => {\n if (this.polycanvas) {\n this.polycanvas.off('change', this.onChange);\n this.polycanvas.destroy();\n this.debouncedViewportChange.cancel();\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.off('viewport', this.debouncedViewportChange);\n }\n this.polycanvas = undefined;\n\n if (this.fileInput && this.fileInput.parentNode) {\n this.fileInput.parentNode.removeChild(this.fileInput);\n this.fileInput = null;\n }\n }\n };\n}\n"],"names":["CueCanvasCore","onPublish","onSubscribe","onUpdateActiveTool","onUpdateHeight","uploadImageToS3","height","userId","canvasId","userType","renderAs","updateCanvasConfig","__publicField","payload","e","checkTextOrEquationTool","data","undoData","getReverseMap","viewPort","image","downloadLink","imageUrl","imgJson","key","event","target","file","_a","canEditStroke","value","_b","_c","captureMessage","val","x","y","zoom","cv","gridName","allTiles","selectedItems","lockedTiles","updatedJson","unlockedTiles","item","canvasData","tool","currTool","currSubTool","getToolAndSubtool","STATELESS_TOOLS","heights","maxHeight","color","selectedColor","CANVAS_COLORS","selections","debounce","getColorsForUser","canvasElementRef","canvasConfig","canvasSetting","initialData","removeTileButton","removeMask"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cue-canvas-helpers.js","sources":["../../../src/features/cue-canvas/cue-canvas-helpers.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n TCueCanvasColors,\n TCueCanvasChangeData,\n TCueCanvasTool,\n TCueCanvasToolOption,\n TDrawingData,\n TRenderAs,\n TCueCanvasGridName,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { IPolypadCreateOptions, IPolypadOptions } from './types/polypad';\n\nimport { CANVAS_COLORS } from './constants/constants';\n\nexport const GRID_NAMES: TCueCanvasGridName[] = [\n 'none',\n 'square2-grid',\n 'square-checked',\n 'square-dots',\n 'tri-dots',\n 'tri2-dots',\n 'square-grid',\n 'tri-grid',\n 'tri2-grid',\n];\n\nexport const STATELESS_TOOLS = new Set<TCueCanvasTool>([\n 'undo',\n 'redo',\n 'clearAll',\n 'home',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'upload',\n 'download',\n]);\n\nexport const removeMask = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n\n if (shadowRoot) {\n const xPolypad = shadowRoot.querySelectorAll('x-polypad');\n\n if (xPolypad[0]) {\n const svgCanvas = xPolypad[0].querySelector('svg.canvas');\n const maskPath = svgCanvas?.querySelector('path.mask');\n\n maskPath?.setAttribute('stroke', 'transparent');\n maskPath?.setAttribute('fill', 'transparent');\n maskPath?.removeAttribute('style');\n }\n }\n\n return undefined;\n};\n\nexport const removeTileButton = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n const sidebar = shadowRoot?.querySelector('x-pp-sidebar') as HTMLElement;\n const tabsHeader = sidebar?.getElementsByClassName('tabs-header');\n const tabsBody = sidebar?.getElementsByClassName('tabs-body');\n\n sidebar?.setAttribute('style', 'display: none;');\n sidebar?.setAttribute('style', 'height: 30px;');\n\n if (tabsHeader && tabsHeader.length > 0) {\n const firstTabHeader = tabsHeader[0] as HTMLElement;\n\n firstTabHeader.style.display = 'none';\n }\n\n if (tabsBody && tabsBody.length > 0) {\n const firstTabBody = tabsBody[0] as HTMLElement;\n\n firstTabBody.style.top = '48px';\n }\n sidebar?.setAttribute('style', 'display: block;');\n};\n\nexport const getCanvasConfig = (\n width: number,\n height: number,\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadOptions => {\n return renderAs === 'canvas'\n ? {\n canvas: 'notebook',\n canvasX: width,\n canvasY: height,\n noPinchPan: true,\n grid: 'none',\n background: 'transparent',\n noSnapping: true,\n }\n : {\n canvas: 'infinite',\n canvasX: width,\n canvasY: height,\n grid: 'none',\n noPinchPan: userType === 'STUDENT',\n noDeleting: userType === 'STUDENT',\n noCopyPaste: userType === 'STUDENT',\n noMusic: true,\n noAudio: true,\n };\n};\n\nexport const getCanvasSettings = (\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadCreateOptions => {\n return renderAs === 'canvas'\n ? {\n sidebarTiles: false,\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n canvasMargin: 0,\n }\n : {\n sidebarTiles: userType === 'TEACHER',\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n };\n};\n\nexport const getReverseAction = (action: TDrawingData[]) => [action[1], action[0]];\n\nexport const getReverseMap = (data: TCueCanvasChangeData) => {\n const newData = new Map<string, TDrawingData[]>();\n\n data.forEach((value, key) => {\n newData.set(key, getReverseAction(value));\n });\n\n return newData;\n};\n\nexport const getToolAndSubtool = (\n tool: TCueCanvasTool,\n): [\n Exclude<TCueCanvasTool, 'marker' | 'highlighter' | 'ruler' | 'equation'>,\n TCueCanvasToolOption | undefined,\n] => {\n switch (tool) {\n case 'pen':\n return ['pen', 'pen'];\n case 'marker':\n return ['pen', 'marker'];\n case 'highlighter':\n return ['pen', 'highlighter'];\n case 'ruler':\n return ['pen', 'ruler'];\n case 'equation':\n return ['text', 'equation'];\n default:\n return [tool, undefined];\n }\n};\n\nconst TEACHER_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'pan',\n 'clearAll',\n 'text',\n 'equation',\n 'grid',\n 'home',\n 'undo',\n 'redo',\n\n 'upload',\n 'download',\n];\n\nconst STUDENT_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'text',\n 'undo',\n 'redo',\n 'download',\n];\n\nconst TEACHER_DEFAULT_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'undo',\n 'redo',\n];\n\nconst STUDENT_DEFAULT_TOOLS: TCueCanvasTool[] = ['pen', 'ruler', 'eraser', 'move', 'undo', 'redo'];\n\nexport const getUserTools = (userType: TUserTypes, renderAs: TRenderAs): TCueCanvasTool[] => {\n if (renderAs === 'whiteboard') {\n return userType === 'TEACHER' ? TEACHER_WHITEBOARD_TOOLS : STUDENT_WHITEBOARD_TOOLS;\n }\n\n return userType === 'TEACHER' ? TEACHER_DEFAULT_TOOLS : STUDENT_DEFAULT_TOOLS;\n};\n\nexport const getColorsForUser = (userType: TUserTypes, renderAs: TRenderAs = 'canvas') => {\n if (renderAs === 'whiteboard') {\n return Object.keys(CANVAS_COLORS).filter(\n color => !color.startsWith('CANVAS'),\n ) as TCueCanvasColors[];\n }\n\n return userType === 'TEACHER'\n ? (['CANVAS_RED', 'CANVAS_YELLOW', 'CANVAS_GREEN'] as TCueCanvasColors[])\n : (['CANVAS_BLUE', 'CANVAS_PURPLE', 'CANVAS_PINK'] as TCueCanvasColors[]);\n};\n\nexport const getIsWritingTool = (penTool: string) => {\n return ['pen', 'ruler', 'marker', 'highlighter'].includes(penTool);\n};\n\nexport const checkTextOrEquationTool = (payload: TCueCanvasChangeDataObject) => {\n return Object.values(payload).some(value => {\n if (\n !value[0] &&\n value[1] &&\n 'name' in value[1] &&\n (value[1].name === 'text' || value[1].name === 'equation')\n ) {\n return true;\n }\n\n return false;\n });\n};\n\nexport const dataURIToBlob = (dataURI: string): Blob => {\n const parts = dataURI.split(',');\n const metadata = parts[0] ?? '';\n const base64Data = parts[1] ?? '';\n\n const isBase64 = metadata.includes('base64');\n const byteString = isBase64 ? atob(base64Data) : decodeURIComponent(base64Data);\n\n const mimeTypeMatch = metadata.match(/:(.*?);/);\n const mimeType = mimeTypeMatch ? mimeTypeMatch[1] : 'application/octet-stream';\n\n const byteArray = new Uint8Array(byteString.length);\n\n for (let i = 0; i < byteString.length; i++) {\n byteArray[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([byteArray], { type: mimeType });\n};\n\nexport const jsonToBlob = (json: unknown) => {\n const data = JSON.stringify(json);\n\n return new Blob([data], {\n type: 'application/json',\n });\n};\n"],"names":["GRID_NAMES","STATELESS_TOOLS","removeMask","canvasElementRef","shadowRoot","_a","xPolypad","svgCanvas","maskPath","removeTileButton","sidebar","tabsHeader","tabsBody","firstTabHeader","firstTabBody","getCanvasConfig","width","height","renderAs","userType","getCanvasSettings","getReverseAction","action","getReverseMap","data","newData","value","key","getToolAndSubtool","tool","TEACHER_WHITEBOARD_TOOLS","STUDENT_WHITEBOARD_TOOLS","TEACHER_DEFAULT_TOOLS","STUDENT_DEFAULT_TOOLS","getUserTools","getColorsForUser","CANVAS_COLORS","color","getIsWritingTool","penTool","checkTextOrEquationTool","payload","dataURIToBlob","dataURI","parts","metadata","base64Data","byteString","mimeTypeMatch","mimeType","byteArray","i"],"mappings":"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"}
1
+ {"version":3,"file":"cue-canvas-helpers.js","sources":["../../../src/features/cue-canvas/cue-canvas-helpers.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n TCueCanvasColors,\n TCueCanvasChangeData,\n TCueCanvasTool,\n TCueCanvasToolOption,\n TDrawingData,\n TRenderAs,\n TCueCanvasGridName,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { IPolypadCreateOptions, IPolypadOptions } from './types/polypad';\n\nimport { CANVAS_COLORS } from './constants/constants';\n\nexport const GRID_NAMES: TCueCanvasGridName[] = [\n 'none',\n 'square2-grid',\n 'square-checked',\n 'square-dots',\n 'tri-dots',\n 'tri2-dots',\n 'square-grid',\n 'tri-grid',\n 'tri2-grid',\n];\n\nexport const STATELESS_TOOLS = new Set<TCueCanvasTool>([\n 'undo',\n 'redo',\n 'clearAll',\n 'home',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'upload',\n 'download',\n]);\n\nexport const removeMask = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n\n if (shadowRoot) {\n const xPolypad = shadowRoot.querySelectorAll('x-polypad');\n\n if (xPolypad[0]) {\n const svgCanvas = xPolypad[0].querySelector('svg.canvas');\n const maskPath = svgCanvas?.querySelector('path.mask');\n\n maskPath?.setAttribute('stroke', 'transparent');\n maskPath?.setAttribute('fill', 'transparent');\n maskPath?.removeAttribute('style');\n }\n }\n\n return undefined;\n};\n\nexport const removeTileButton = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n const sidebar = shadowRoot?.querySelector('x-pp-sidebar') as HTMLElement;\n const tabsHeader = sidebar?.getElementsByClassName('tabs-header');\n const tabsBody = sidebar?.getElementsByClassName('tabs-body');\n\n sidebar?.setAttribute('style', 'display: none;');\n sidebar?.setAttribute('style', 'height: 30px;');\n\n if (tabsHeader && tabsHeader.length > 0) {\n const firstTabHeader = tabsHeader[0] as HTMLElement;\n\n firstTabHeader.style.display = 'none';\n }\n\n if (tabsBody && tabsBody.length > 0) {\n const firstTabBody = tabsBody[0] as HTMLElement;\n\n firstTabBody.style.top = '48px';\n }\n sidebar?.setAttribute('style', 'display: block;');\n};\n\nexport const getCanvasConfig = (\n width: number,\n height: number,\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadOptions => {\n return renderAs === 'canvas'\n ? {\n canvas: 'notebook',\n canvasX: width,\n canvasY: height,\n noPinchPan: true,\n grid: 'none',\n background: 'transparent',\n noSnapping: true,\n }\n : {\n canvas: 'infinite',\n canvasX: width,\n canvasY: height,\n grid: 'none',\n noPinchPan: userType === 'STUDENT',\n noDeleting: userType === 'STUDENT',\n noCopyPaste: userType === 'STUDENT',\n noMusic: true,\n noAudio: true,\n };\n};\n\nexport const getCanvasSettings = (\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadCreateOptions => {\n return renderAs === 'canvas'\n ? {\n sidebarTiles: false,\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n canvasMargin: 0,\n }\n : {\n sidebarTiles: userType === 'TEACHER',\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n };\n};\n\nexport const getReverseAction = (action: TDrawingData[]) => [action[1], action[0]];\n\nexport const getReverseMap = (data: TCueCanvasChangeData) => {\n const newData = new Map<string, TDrawingData[]>();\n\n data.forEach((value, key) => {\n newData.set(key, getReverseAction(value));\n });\n\n return newData;\n};\n\nexport const getToolAndSubtool = (\n tool: TCueCanvasTool,\n): [\n Exclude<TCueCanvasTool, 'marker' | 'highlighter' | 'ruler' | 'equation'>,\n TCueCanvasToolOption | undefined,\n] => {\n switch (tool) {\n case 'pen':\n return ['pen', 'pen'];\n case 'marker':\n return ['pen', 'marker'];\n case 'highlighter':\n return ['pen', 'highlighter'];\n case 'ruler':\n return ['pen', 'ruler'];\n case 'equation':\n return ['text', 'equation'];\n default:\n return [tool, undefined];\n }\n};\n\nconst TEACHER_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'pan',\n 'clearAll',\n 'text',\n 'equation',\n 'grid',\n 'home',\n 'undo',\n 'redo',\n\n 'upload',\n 'download',\n];\n\nconst STUDENT_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'text',\n 'undo',\n 'redo',\n 'download',\n];\n\nconst TEACHER_DEFAULT_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'undo',\n 'redo',\n];\n\nconst STUDENT_DEFAULT_TOOLS: TCueCanvasTool[] = ['pen', 'ruler', 'eraser', 'move', 'undo', 'redo'];\n\nexport const getUserTools = (userType: TUserTypes, renderAs: TRenderAs): TCueCanvasTool[] => {\n if (renderAs === 'whiteboard') {\n return userType === 'TEACHER' ? TEACHER_WHITEBOARD_TOOLS : STUDENT_WHITEBOARD_TOOLS;\n }\n\n return userType === 'TEACHER' ? TEACHER_DEFAULT_TOOLS : STUDENT_DEFAULT_TOOLS;\n};\n\nexport const getColorsForUser = (userType: TUserTypes, renderAs: TRenderAs = 'canvas') => {\n if (renderAs === 'whiteboard') {\n return Object.keys(CANVAS_COLORS).filter(\n color => !color.startsWith('CANVAS'),\n ) as TCueCanvasColors[];\n }\n\n return userType === 'TEACHER'\n ? (['CANVAS_RED', 'CANVAS_YELLOW', 'CANVAS_GREEN'] as TCueCanvasColors[])\n : (['CANVAS_BLUE', 'CANVAS_PURPLE', 'CANVAS_PINK'] as TCueCanvasColors[]);\n};\n\nexport const getIsWritingTool = (penTool: string) => {\n return ['pen', 'ruler', 'marker', 'highlighter'].includes(penTool);\n};\n\nexport const checkTextOrEquationTool = (payload: TCueCanvasChangeDataObject) => {\n return Object.values(payload).some(value => {\n if (\n !value[0] &&\n value[1] &&\n 'name' in value[1] &&\n (value[1].name === 'text' || value[1].name === 'equation')\n ) {\n return true;\n }\n\n return false;\n });\n};\n\nexport const dataURIToBlob = (dataURI: string): Blob => {\n const parts = dataURI.split(',');\n const metadata = parts[0] ?? '';\n const base64Data = parts[1] ?? '';\n\n const isBase64 = metadata.includes('base64');\n const byteString = isBase64 ? atob(base64Data) : decodeURIComponent(base64Data);\n\n const mimeTypeMatch = metadata.match(/:(.*?);/);\n const mimeType = mimeTypeMatch ? mimeTypeMatch[1] : 'application/octet-stream';\n\n const byteArray = new Uint8Array(byteString.length);\n\n for (let i = 0; i < byteString.length; i++) {\n byteArray[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([byteArray], { type: mimeType });\n};\n\nexport const jsonToBlob = (json: unknown) => {\n const data = JSON.stringify(json);\n\n return new Blob([data], {\n type: 'application/json',\n });\n};\n"],"names":["GRID_NAMES","STATELESS_TOOLS","removeMask","canvasElementRef","shadowRoot","_a","xPolypad","svgCanvas","maskPath","removeTileButton","sidebar","tabsHeader","tabsBody","firstTabHeader","firstTabBody","getCanvasConfig","width","height","renderAs","userType","getCanvasSettings","getReverseAction","action","getReverseMap","data","newData","value","key","getToolAndSubtool","tool","TEACHER_WHITEBOARD_TOOLS","STUDENT_WHITEBOARD_TOOLS","TEACHER_DEFAULT_TOOLS","STUDENT_DEFAULT_TOOLS","getUserTools","getColorsForUser","CANVAS_COLORS","color","getIsWritingTool","penTool","checkTextOrEquationTool","payload","dataURIToBlob","dataURI","parts","metadata","base64Data","byteString","mimeTypeMatch","mimeType","byteArray","i"],"mappings":"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"}
@@ -1,24 +1,24 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import { memo as d, useMemo as m, useState as o } from "react";
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import { memo as p, useMemo as a, useState as o } from "react";
3
3
  import x from "./cue-canvas-context.js";
4
4
  import { getColorsForUser as I } from "./cue-canvas-helpers.js";
5
- const g = d(({ children: a, userType: t, renderAs: e }) => {
6
- const i = m(() => I(t, e), [t, e]), [r, l] = o(), [s, v] = o("pen"), [c, u] = o(i[0]), [n, C] = o(), f = m(
5
+ const P = p(({ children: i, userType: t, renderAs: e }) => {
6
+ const m = a(() => I(t, e), [t, e]), [r, v] = o(), [s, l] = o("pen"), [c, C] = o(m[0]), [n, u] = o(), d = a(
7
7
  () => ({
8
8
  activeInstance: r,
9
- setActiveInstance: l,
9
+ setActiveInstance: v,
10
10
  activeTool: s,
11
- setActiveTool: v,
11
+ setActiveTool: l,
12
12
  activeColor: c,
13
- setActiveColor: u,
13
+ setActiveColor: C,
14
14
  homeworkId: n,
15
- setHomeworkId: C
15
+ setHomeworkId: u
16
16
  }),
17
17
  [c, r, s, n]
18
18
  );
19
- return /* @__PURE__ */ p(x.Provider, { value: f, children: a });
20
- });
19
+ return /* @__PURE__ */ f(x.Provider, { value: d, children: i });
20
+ }), h = P;
21
21
  export {
22
- g as default
22
+ h as default
23
23
  };
24
24
  //# sourceMappingURL=cue-canvas-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cue-canvas-provider.js","sources":["../../../src/features/cue-canvas/cue-canvas-provider.tsx"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type { CueCanvasCore } from './cue-canvas-core';\nimport type { TCueCanvasColors, TCueCanvasTool, TRenderAs } from './types/cue-canvas';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport { useState, memo, useMemo } from 'react';\n\nimport CueCanvasContext from './cue-canvas-context';\nimport { getColorsForUser } from './cue-canvas-helpers';\n\nconst CueCanvasProvider: FC<PropsWithChildren<{ userType: TUserTypes; renderAs: TRenderAs }>> =\n memo(({ children, userType, renderAs }) => {\n const colors = useMemo(() => getColorsForUser(userType, renderAs), [userType, renderAs]);\n\n const [activeInstance, setActiveInstance] = useState<CueCanvasCore>();\n const [activeTool, setActiveTool] = useState<TCueCanvasTool>('pen');\n const [activeColor, setActiveColor] = useState<TCueCanvasColors>(colors[0] as TCueCanvasColors);\n const [homeworkId, setHomeworkId] = useState<string>();\n\n const contextValue = useMemo(\n () => ({\n activeInstance: activeInstance,\n setActiveInstance: setActiveInstance,\n activeTool: activeTool,\n setActiveTool: setActiveTool,\n activeColor,\n setActiveColor,\n homeworkId,\n setHomeworkId,\n }),\n [activeColor, activeInstance, activeTool, homeworkId],\n );\n\n return <CueCanvasContext.Provider value={contextValue}>{children}</CueCanvasContext.Provider>;\n });\n\nexport default CueCanvasProvider;\n"],"names":["CueCanvasProvider","memo","children","userType","renderAs","colors","useMemo","getColorsForUser","activeInstance","setActiveInstance","useState","activeTool","setActiveTool","activeColor","setActiveColor","homeworkId","setHomeworkId","contextValue","CueCanvasContext"],"mappings":";;;;AAUA,MAAMA,IACJC,EAAK,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,UAAAC,QAAe;AACnC,QAAAC,IAASC,EAAQ,MAAMC,EAAiBJ,GAAUC,CAAQ,GAAG,CAACD,GAAUC,CAAQ,CAAC,GAEjF,CAACI,GAAgBC,CAAiB,IAAIC,EAAwB,GAC9D,CAACC,GAAYC,CAAa,IAAIF,EAAyB,KAAK,GAC5D,CAACG,GAAaC,CAAc,IAAIJ,EAA2BL,EAAO,CAAC,CAAqB,GACxF,CAACU,GAAYC,CAAa,IAAIN,EAAiB,GAE/CO,IAAeX;AAAA,IACnB,OAAO;AAAA,MACL,gBAAAE;AAAA,MACA,mBAAAC;AAAA,MACA,YAAAE;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,eAAAC;AAAA,IAAA;AAAA,IAEF,CAACH,GAAaL,GAAgBG,GAAYI,CAAU;AAAA,EACtD;AAEA,2BAAQG,EAAiB,UAAjB,EAA0B,OAAOD,GAAe,UAAAf,GAAS;AACnE,CAAC;"}
1
+ {"version":3,"file":"cue-canvas-provider.js","sources":["../../../src/features/cue-canvas/cue-canvas-provider.tsx"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type { CueCanvasCore } from './cue-canvas-core';\nimport type { TCueCanvasColors, TCueCanvasTool, TRenderAs } from './types/cue-canvas';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport { useState, memo, useMemo } from 'react';\n\nimport CueCanvasContext from './cue-canvas-context';\nimport { getColorsForUser } from './cue-canvas-helpers';\n\nconst CueCanvasProvider: FC<PropsWithChildren<{ userType: TUserTypes; renderAs: TRenderAs }>> =\n memo(({ children, userType, renderAs }) => {\n const colors = useMemo(() => getColorsForUser(userType, renderAs), [userType, renderAs]);\n\n const [activeInstance, setActiveInstance] = useState<CueCanvasCore>();\n const [activeTool, setActiveTool] = useState<TCueCanvasTool>('pen');\n const [activeColor, setActiveColor] = useState<TCueCanvasColors>(colors[0] as TCueCanvasColors);\n const [homeworkId, setHomeworkId] = useState<string>();\n\n const contextValue = useMemo(\n () => ({\n activeInstance: activeInstance,\n setActiveInstance: setActiveInstance,\n activeTool: activeTool,\n setActiveTool: setActiveTool,\n activeColor,\n setActiveColor,\n homeworkId,\n setHomeworkId,\n }),\n [activeColor, activeInstance, activeTool, homeworkId],\n );\n\n return <CueCanvasContext.Provider value={contextValue}>{children}</CueCanvasContext.Provider>;\n });\n\nexport default CueCanvasProvider;\n"],"names":["CueCanvasProvider","memo","children","userType","renderAs","colors","useMemo","getColorsForUser","activeInstance","setActiveInstance","useState","activeTool","setActiveTool","activeColor","setActiveColor","homeworkId","setHomeworkId","contextValue","CueCanvasContext","CueCanvasProvider$1"],"mappings":";;;;AAUA,MAAMA,IACJC,EAAK,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,UAAAC,QAAe;AACnC,QAAAC,IAASC,EAAQ,MAAMC,EAAiBJ,GAAUC,CAAQ,GAAG,CAACD,GAAUC,CAAQ,CAAC,GAEjF,CAACI,GAAgBC,CAAiB,IAAIC,EAAwB,GAC9D,CAACC,GAAYC,CAAa,IAAIF,EAAyB,KAAK,GAC5D,CAACG,GAAaC,CAAc,IAAIJ,EAA2BL,EAAO,CAAC,CAAqB,GACxF,CAACU,GAAYC,CAAa,IAAIN,EAAiB,GAE/CO,IAAeX;AAAA,IACnB,OAAO;AAAA,MACL,gBAAAE;AAAA,MACA,mBAAAC;AAAA,MACA,YAAAE;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,eAAAC;AAAA,IAAA;AAAA,IAEF,CAACH,GAAaL,GAAgBG,GAAYI,CAAU;AAAA,EAAA;AAGtD,2BAAQG,EAAiB,UAAjB,EAA0B,OAAOD,GAAe,UAAAf,EAAS,CAAA;AACnE,CAAC,GAEHiB,IAAenB;"}
@@ -2,18 +2,18 @@ import { jsx as j } from "react/jsx-runtime";
2
2
  import { memo as k, useRef as x, useCallback as I, useEffect as n } from "react";
3
3
  import P from "../worksheet/learnosity-preloader/use-is-learnosity-loaded.js";
4
4
  import { CueCanvasCore as W } from "./cue-canvas-core.js";
5
- import { getCanvasSettings as q, getCanvasConfig as y } from "./cue-canvas-helpers.js";
5
+ import { getCanvasConfig as q, getCanvasSettings as y } from "./cue-canvas-helpers.js";
6
6
  import { CueCanvasWrapper as z } from "./cue-cavas-styled.js";
7
7
  import A from "./hooks/use-config-updater.js";
8
8
  import { useCueCanvasActions as B } from "./hooks/use-cue-canvas-actions.js";
9
9
  import F from "./hooks/use-height-extender.js";
10
10
  import G from "./hooks/use-upload-helper.js";
11
- const _ = k(
11
+ const J = k(
12
12
  ({
13
13
  canvasId: i,
14
14
  width: u,
15
15
  height: o,
16
- canRender: f,
16
+ canRender: C,
17
17
  onUpdateHeight: E,
18
18
  initialData: a,
19
19
  onPublish: p,
@@ -26,14 +26,14 @@ const _ = k(
26
26
  canvasConfig: U,
27
27
  updateCanvasConfig: H
28
28
  }) => {
29
- const C = x(null), { setActiveInstance: c, setActiveTool: w } = B(), L = G({ userId: g, renderAs: e, userType: s }), { scriptStatus: d } = P(), t = x(null), R = I(
29
+ const f = x(null), { setActiveInstance: c, setActiveTool: w } = B(), L = G({ userId: g, renderAs: e, userType: s }), { scriptStatus: d } = P(), t = x(null), R = I(
30
30
  (m) => {
31
31
  w(m);
32
32
  },
33
33
  [w]
34
34
  );
35
35
  return F({
36
- canvasElementRef: C,
36
+ canvasElementRef: f,
37
37
  cueCanvasRef: t,
38
38
  canScribble: r
39
39
  }), A(U, e), n(() => {
@@ -43,8 +43,8 @@ const _ = k(
43
43
  }, [a]), n(() => {
44
44
  o && t.current && t.current.resetViewPort();
45
45
  }, [o, u]), n(() => {
46
- if (f && $ && !t.current && d === "loaded") {
47
- const m = y(u, o, e, s), V = q(e, s), v = new W({
46
+ if (C && $ && !t.current && d === "loaded") {
47
+ const m = q(u, o, e, s), V = y(e, s), v = new W({
48
48
  onPublish: p,
49
49
  onSubscribe: l,
50
50
  onUpdateActiveTool: R,
@@ -59,30 +59,30 @@ const _ = k(
59
59
  });
60
60
  (async () => {
61
61
  await v.create({
62
- canvasElementRef: C,
62
+ canvasElementRef: f,
63
63
  canvasConfig: m,
64
64
  canvasSetting: V,
65
65
  initialData: a
66
66
  }), t.current = v, r && c(v);
67
67
  })();
68
68
  }
69
- }, [p, l, c, f, $, d]), n(() => () => {
69
+ }, [p, l, c, C, $, d]), n(() => () => {
70
70
  t.current && (t.current.destroy(), t.current = null);
71
71
  }, []), /* @__PURE__ */ j(
72
72
  z,
73
73
  {
74
74
  id: e === "whiteboard" ? "canvasContainer" : i,
75
- ref: C,
75
+ ref: f,
76
76
  $width: u,
77
77
  $height: o,
78
78
  $canScribble: r,
79
- $canRender: f,
79
+ $canRender: C,
80
80
  $renderAs: e
81
81
  }
82
82
  );
83
83
  }
84
- );
84
+ ), D = J;
85
85
  export {
86
- _ as default
86
+ D as default
87
87
  };
88
88
  //# sourceMappingURL=cue-canvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cue-canvas.js","sources":["../../../src/features/cue-canvas/cue-canvas.tsx"],"sourcesContent":["import type { ICueCanvas, TCueCanvasTool } from './types/cue-canvas';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport useIsLearnosityLoaded from '../worksheet/learnosity-preloader/use-is-learnosity-loaded';\nimport { CueCanvasCore } from './cue-canvas-core';\nimport { getCanvasConfig, getCanvasSettings } from './cue-canvas-helpers';\nimport { CueCanvasWrapper } from './cue-cavas-styled';\nimport useConfigUpdater from './hooks/use-config-updater';\nimport { useCueCanvasActions } from './hooks/use-cue-canvas-actions';\nimport useHeightExtender from './hooks/use-height-extender';\nimport useUploadHelper from './hooks/use-upload-helper';\n\nconst CueCanvas: React.FC<ICueCanvas> = memo(\n ({\n canvasId,\n width,\n height,\n canRender,\n onUpdateHeight,\n initialData,\n onPublish,\n onSubscribe,\n userId,\n appended,\n canScribble,\n userType,\n renderAs = 'canvas',\n canvasConfig,\n updateCanvasConfig,\n }) => {\n const canvasElementRef = useRef<HTMLDivElement>(null);\n const { setActiveInstance: setActiveCueCanvas, setActiveTool } = useCueCanvasActions();\n const uploadImageToS3 = useUploadHelper({ userId, renderAs, userType });\n const { scriptStatus } = useIsLearnosityLoaded(); // This hook checks if the Polypad script is loaded + (additional scripts)\n\n const cueCanvasRef = useRef<CueCanvasCore | null>(null);\n\n const onUpdateActiveTool = useCallback(\n (tool: TCueCanvasTool) => {\n setActiveTool(tool);\n },\n [setActiveTool],\n );\n\n useHeightExtender({\n canvasElementRef,\n cueCanvasRef,\n canScribble,\n });\n useConfigUpdater(canvasConfig, renderAs);\n\n useEffect(() => {\n if (canScribble && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n\n setActiveCueCanvas(cueCanvasRef.current);\n }\n }, [canScribble, setActiveCueCanvas]);\n\n useEffect(() => {\n if (initialData && cueCanvasRef.current) {\n cueCanvasRef.current.update(initialData);\n }\n }, [initialData]);\n\n useEffect(() => {\n if (height && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n }\n }, [height, width]);\n\n useEffect(() => {\n if (canRender && appended && !cueCanvasRef.current && scriptStatus === 'loaded') {\n const canvasCreateConfig = getCanvasConfig(width, height, renderAs, userType);\n const canvasSetting = getCanvasSettings(renderAs, userType);\n const cueCanvasCore = new CueCanvasCore({\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n canvasId,\n userType,\n renderAs,\n updateCanvasConfig,\n });\n\n const createCueCanvas = async () => {\n await cueCanvasCore.create({\n canvasElementRef,\n canvasConfig: canvasCreateConfig,\n canvasSetting,\n initialData,\n });\n cueCanvasRef.current = cueCanvasCore;\n\n if (canScribble) {\n setActiveCueCanvas(cueCanvasCore);\n }\n };\n\n createCueCanvas();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onPublish, onSubscribe, setActiveCueCanvas, canRender, appended, scriptStatus]);\n\n useEffect(() => {\n return () => {\n if (cueCanvasRef.current) {\n cueCanvasRef.current.destroy();\n cueCanvasRef.current = null;\n }\n };\n }, []);\n\n return (\n <CueCanvasWrapper\n id={renderAs === 'whiteboard' ? 'canvasContainer' : canvasId}\n ref={canvasElementRef}\n $width={width}\n $height={height}\n $canScribble={canScribble}\n $canRender={canRender}\n $renderAs={renderAs}\n />\n );\n },\n);\n\nexport default CueCanvas;\n"],"names":["CueCanvas","memo","canvasId","width","height","canRender","onUpdateHeight","initialData","onPublish","onSubscribe","userId","appended","canScribble","userType","renderAs","canvasConfig","updateCanvasConfig","canvasElementRef","useRef","setActiveCueCanvas","setActiveTool","useCueCanvasActions","uploadImageToS3","useUploadHelper","scriptStatus","useIsLearnosityLoaded","cueCanvasRef","onUpdateActiveTool","useCallback","tool","useHeightExtender","useConfigUpdater","useEffect","canvasCreateConfig","getCanvasConfig","canvasSetting","getCanvasSettings","cueCanvasCore","CueCanvasCore","jsx","CueCanvasWrapper"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAkCC;AAAA,EACtC,CAAC;AAAA,IACC,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,cAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAmBC,EAAuB,IAAI,GAC9C,EAAE,mBAAmBC,GAAoB,eAAAC,EAAA,IAAkBC,EAAoB,GAC/EC,IAAkBC,EAAgB,EAAE,QAAAb,GAAQ,UAAAI,GAAU,UAAAD,GAAU,GAChE,EAAE,cAAAW,EAAa,IAAIC,EAAsB,GAEzCC,IAAeR,EAA6B,IAAI,GAEhDS,IAAqBC;AAAA,MACzB,CAACC,MAAyB;AACxB,QAAAT,EAAcS,CAAI;AAAA,MACpB;AAAA,MACA,CAACT,CAAa;AAAA,IAChB;AAEkB,WAAAU,EAAA;AAAA,MAChB,kBAAAb;AAAA,MACA,cAAAS;AAAA,MACA,aAAAd;AAAA,IAAA,CACD,GACDmB,EAAiBhB,GAAcD,CAAQ,GAEvCkB,EAAU,MAAM;AACV,MAAApB,KAAec,EAAa,YAC9BA,EAAa,QAAQ,cAAc,GAEnCP,EAAmBO,EAAa,OAAO;AAAA,IACzC,GACC,CAACd,GAAaO,CAAkB,CAAC,GAEpCa,EAAU,MAAM;AACV,MAAAzB,KAAemB,EAAa,WACjBA,EAAA,QAAQ,OAAOnB,CAAW;AAAA,IACzC,GACC,CAACA,CAAW,CAAC,GAEhByB,EAAU,MAAM;AACV,MAAA5B,KAAUsB,EAAa,WACzBA,EAAa,QAAQ,cAAc;AAAA,IACrC,GACC,CAACtB,GAAQD,CAAK,CAAC,GAElB6B,EAAU,MAAM;AACd,UAAI3B,KAAaM,KAAY,CAACe,EAAa,WAAWF,MAAiB,UAAU;AAC/E,cAAMS,IAAqBC,EAAgB/B,GAAOC,GAAQU,GAAUD,CAAQ,GACtEsB,IAAgBC,EAAkBtB,GAAUD,CAAQ,GACpDwB,IAAgB,IAAIC,EAAc;AAAA,UACtC,WAAA9B;AAAA,UACA,aAAAC;AAAA,UACA,oBAAAkB;AAAA,UACA,gBAAArB;AAAA,UACA,iBAAAgB;AAAA,UACA,QAAAlB;AAAA,UACA,QAAAM;AAAA,UACA,UAAAR;AAAA,UACA,UAAAW;AAAA,UACA,UAAAC;AAAA,UACA,oBAAAE;AAAA,QAAA,CACD;AAgBe,SAdQ,YAAY;AAClC,gBAAMqB,EAAc,OAAO;AAAA,YACzB,kBAAApB;AAAA,YACA,cAAcgB;AAAA,YACd,eAAAE;AAAA,YACA,aAAA5B;AAAA,UAAA,CACD,GACDmB,EAAa,UAAUW,GAEnBzB,KACFO,EAAmBkB,CAAa;AAAA,QAEpC,GAEgB;AAAA,MAAA;AAAA,IAClB,GAEC,CAAC7B,GAAWC,GAAaU,GAAoBd,GAAWM,GAAUa,CAAY,CAAC,GAElFQ,EAAU,MACD,MAAM;AACX,MAAIN,EAAa,YACfA,EAAa,QAAQ,QAAQ,GAC7BA,EAAa,UAAU;AAAA,IAE3B,GACC,EAAE,GAGH,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAI1B,MAAa,eAAe,oBAAoBZ;AAAA,QACpD,KAAKe;AAAA,QACL,QAAQd;AAAA,QACR,SAASC;AAAA,QACT,cAAcQ;AAAA,QACd,YAAYP;AAAA,QACZ,WAAWS;AAAA,MAAA;AAAA,IACb;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"cue-canvas.js","sources":["../../../src/features/cue-canvas/cue-canvas.tsx"],"sourcesContent":["import type { ICueCanvas, TCueCanvasTool } from './types/cue-canvas';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport useIsLearnosityLoaded from '../worksheet/learnosity-preloader/use-is-learnosity-loaded';\nimport { CueCanvasCore } from './cue-canvas-core';\nimport { getCanvasConfig, getCanvasSettings } from './cue-canvas-helpers';\nimport { CueCanvasWrapper } from './cue-cavas-styled';\nimport useConfigUpdater from './hooks/use-config-updater';\nimport { useCueCanvasActions } from './hooks/use-cue-canvas-actions';\nimport useHeightExtender from './hooks/use-height-extender';\nimport useUploadHelper from './hooks/use-upload-helper';\n\nconst CueCanvas: React.FC<ICueCanvas> = memo(\n ({\n canvasId,\n width,\n height,\n canRender,\n onUpdateHeight,\n initialData,\n onPublish,\n onSubscribe,\n userId,\n appended,\n canScribble,\n userType,\n renderAs = 'canvas',\n canvasConfig,\n updateCanvasConfig,\n }) => {\n const canvasElementRef = useRef<HTMLDivElement>(null);\n const { setActiveInstance: setActiveCueCanvas, setActiveTool } = useCueCanvasActions();\n const uploadImageToS3 = useUploadHelper({ userId, renderAs, userType });\n const { scriptStatus } = useIsLearnosityLoaded(); // This hook checks if the Polypad script is loaded + (additional scripts)\n\n const cueCanvasRef = useRef<CueCanvasCore | null>(null);\n\n const onUpdateActiveTool = useCallback(\n (tool: TCueCanvasTool) => {\n setActiveTool(tool);\n },\n [setActiveTool],\n );\n\n useHeightExtender({\n canvasElementRef,\n cueCanvasRef,\n canScribble,\n });\n useConfigUpdater(canvasConfig, renderAs);\n\n useEffect(() => {\n if (canScribble && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n\n setActiveCueCanvas(cueCanvasRef.current);\n }\n }, [canScribble, setActiveCueCanvas]);\n\n useEffect(() => {\n if (initialData && cueCanvasRef.current) {\n cueCanvasRef.current.update(initialData);\n }\n }, [initialData]);\n\n useEffect(() => {\n if (height && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n }\n }, [height, width]);\n\n useEffect(() => {\n if (canRender && appended && !cueCanvasRef.current && scriptStatus === 'loaded') {\n const canvasCreateConfig = getCanvasConfig(width, height, renderAs, userType);\n const canvasSetting = getCanvasSettings(renderAs, userType);\n const cueCanvasCore = new CueCanvasCore({\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n canvasId,\n userType,\n renderAs,\n updateCanvasConfig,\n });\n\n const createCueCanvas = async () => {\n await cueCanvasCore.create({\n canvasElementRef,\n canvasConfig: canvasCreateConfig,\n canvasSetting,\n initialData,\n });\n cueCanvasRef.current = cueCanvasCore;\n\n if (canScribble) {\n setActiveCueCanvas(cueCanvasCore);\n }\n };\n\n createCueCanvas();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onPublish, onSubscribe, setActiveCueCanvas, canRender, appended, scriptStatus]);\n\n useEffect(() => {\n return () => {\n if (cueCanvasRef.current) {\n cueCanvasRef.current.destroy();\n cueCanvasRef.current = null;\n }\n };\n }, []);\n\n return (\n <CueCanvasWrapper\n id={renderAs === 'whiteboard' ? 'canvasContainer' : canvasId}\n ref={canvasElementRef}\n $width={width}\n $height={height}\n $canScribble={canScribble}\n $canRender={canRender}\n $renderAs={renderAs}\n />\n );\n },\n);\n\nexport default CueCanvas;\n"],"names":["CueCanvas","memo","canvasId","width","height","canRender","onUpdateHeight","initialData","onPublish","onSubscribe","userId","appended","canScribble","userType","renderAs","canvasConfig","updateCanvasConfig","canvasElementRef","useRef","setActiveCueCanvas","setActiveTool","useCueCanvasActions","uploadImageToS3","useUploadHelper","scriptStatus","useIsLearnosityLoaded","cueCanvasRef","onUpdateActiveTool","useCallback","tool","useHeightExtender","useConfigUpdater","useEffect","canvasCreateConfig","getCanvasConfig","canvasSetting","getCanvasSettings","cueCanvasCore","CueCanvasCore","jsx","CueCanvasWrapper","CueCanvas$1"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAkCC;AAAA,EACtC,CAAC;AAAA,IACC,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,cAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAmBC,EAAuB,IAAI,GAC9C,EAAE,mBAAmBC,GAAoB,eAAAC,MAAkBC,EAAoB,GAC/EC,IAAkBC,EAAgB,EAAE,QAAAb,GAAQ,UAAAI,GAAU,UAAAD,GAAU,GAChE,EAAE,cAAAW,MAAiBC,KAEnBC,IAAeR,EAA6B,IAAI,GAEhDS,IAAqBC;AAAA,MACzB,CAACC,MAAyB;AACxB,QAAAT,EAAcS,CAAI;AAAA,MACpB;AAAA,MACA,CAACT,CAAa;AAAA,IAAA;AAGE,WAAAU,EAAA;AAAA,MAChB,kBAAAb;AAAA,MACA,cAAAS;AAAA,MACA,aAAAd;AAAA,IAAA,CACD,GACDmB,EAAiBhB,GAAcD,CAAQ,GAEvCkB,EAAU,MAAM;AACV,MAAApB,KAAec,EAAa,YAC9BA,EAAa,QAAQ,iBAErBP,EAAmBO,EAAa,OAAO;AAAA,IACzC,GACC,CAACd,GAAaO,CAAkB,CAAC,GAEpCa,EAAU,MAAM;AACV,MAAAzB,KAAemB,EAAa,WACjBA,EAAA,QAAQ,OAAOnB,CAAW;AAAA,IACzC,GACC,CAACA,CAAW,CAAC,GAEhByB,EAAU,MAAM;AACV,MAAA5B,KAAUsB,EAAa,WACzBA,EAAa,QAAQ;IACvB,GACC,CAACtB,GAAQD,CAAK,CAAC,GAElB6B,EAAU,MAAM;AACd,UAAI3B,KAAaM,KAAY,CAACe,EAAa,WAAWF,MAAiB,UAAU;AAC/E,cAAMS,IAAqBC,EAAgB/B,GAAOC,GAAQU,GAAUD,CAAQ,GACtEsB,IAAgBC,EAAkBtB,GAAUD,CAAQ,GACpDwB,IAAgB,IAAIC,EAAc;AAAA,UACtC,WAAA9B;AAAA,UACA,aAAAC;AAAA,UACA,oBAAAkB;AAAA,UACA,gBAAArB;AAAA,UACA,iBAAAgB;AAAA,UACA,QAAAlB;AAAA,UACA,QAAAM;AAAA,UACA,UAAAR;AAAA,UACA,UAAAW;AAAA,UACA,UAAAC;AAAA,UACA,oBAAAE;AAAA,QAAA,CACD;AAgBe,SAdQ,YAAY;AAClC,gBAAMqB,EAAc,OAAO;AAAA,YACzB,kBAAApB;AAAA,YACA,cAAcgB;AAAA,YACd,eAAAE;AAAA,YACA,aAAA5B;AAAA,UAAA,CACD,GACDmB,EAAa,UAAUW,GAEnBzB,KACFO,EAAmBkB,CAAa;AAAA,QAClC;MAIJ;AAAA,IAAA,GAEC,CAAC7B,GAAWC,GAAaU,GAAoBd,GAAWM,GAAUa,CAAY,CAAC,GAElFQ,EAAU,MACD,MAAM;AACX,MAAIN,EAAa,YACfA,EAAa,QAAQ,WACrBA,EAAa,UAAU;AAAA,IACzB,GAED,CAAE,CAAA,GAGH,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAI1B,MAAa,eAAe,oBAAoBZ;AAAA,QACpD,KAAKe;AAAA,QACL,QAAQd;AAAA,QACR,SAASC;AAAA,QACT,cAAcQ;AAAA,QACd,YAAYP;AAAA,QACZ,WAAWS;AAAA,MAAA;AAAA,IAAA;AAAA,EAGjB;AACF,GAEA2B,IAAezC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cue-cavas-styled.js","sources":["../../../src/features/cue-canvas/cue-cavas-styled.tsx"],"sourcesContent":["import type { ICueCanvasWrapper, TCueCanvasColors } from './types/cue-canvas';\n\nimport styled, { css } from 'styled-components';\n\nimport TickIcon from '../../assets/line-icons/icons/check';\nimport DownIcon from '../../assets/line-icons/icons/down';\nimport HighlighterIcon from '../../assets/line-icons/icons/highlighter';\nimport LockIcon from '../../assets/line-icons/icons/lock';\nimport PencilIcon from '../../assets/line-icons/icons/pencil';\nimport RulerIcon from '../../assets/line-icons/icons/ruler';\nimport SketchIcon from '../../assets/line-icons/icons/sketch';\nimport UndoIcon from '../../assets/line-icons/icons/undo';\nimport UnlockIcon from '../../assets/line-icons/icons/unlock';\nimport FlexView from '../ui/layout/flex-view';\nimport { CANVAS_COLORS } from './constants/constants';\n\ninterface IToolProps {\n $active: boolean;\n $activeColor: TCueCanvasColors;\n $shouldAnimate: boolean;\n}\nexport const HWWrapper = styled(FlexView)`\n border: 2px solid;\n`;\n\nexport const StyledPencilIcon = styled(PencilIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n cursor: ${$active ? 'auto' : 'pointer'};\n .pencil-dark-shade {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .pencil-light-shade {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.3 : 1};\n }\n\n ${!$active &&\n css`\n &:hover {\n .pencil-dark-shade {\n fill: ${colors.GREY_4};\n }\n .pencil-light-shade {\n fill: ${colors.GREY_2};\n }\n }\n `}\n `;\n});\n\nexport const StyledRulerIcon = styled(RulerIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n .ruler-rect-color {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .ruler-stripe-base {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.2 : 1};\n }\n\n .ruler-small-stripe {\n fill: ${colors.REAL_BLACK};\n }\n\n ${!$active &&\n css`\n &:hover {\n .ruler-rect-color {\n fill: ${colors.GREY_4};\n }\n .ruler-stripe-base {\n fill: ${colors.GREY_3};\n }\n }\n `}\n `;\n});\n\nexport const StyledHighlighterWrapper = styled(HighlighterIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n ${!$active &&\n css`\n &:hover {\n .highlighter-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .highlighter-stripe {\n fill: ${theme.colors.BLACK_50};\n }\n\n .highlighter-light-body {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n .highlighter-tip {\n fill: ${color};\n }\n\n .highlighter-stripe {\n fill: ${color};\n opacity: 0.6;\n }\n\n .highlighter-light-body {\n fill: ${color};\n opacity: 0.2;\n }\n `}\n `;\n});\n\nexport const StyledSketchWrapper = styled(SketchIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n ${!$active &&\n css`\n &:hover {\n .pen-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .pen-dark-shade {\n fill: ${theme.colors.BLACK_50};\n }\n\n .pen-light-shade {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n cursor: ${$active ? 'auto' : 'pointer'};\n .pen-tip {\n fill: ${color};\n }\n\n .pen-dark-shade {\n fill: ${color};\n opacity: 0.6;\n }\n\n .pen-light-shade {\n fill: ${color};\n opacity: 0.4;\n }\n `}\n `;\n});\n\nexport const StyledLockIcon = styled(LockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledUnlockIcon = styled(UnlockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledWrapper = styled(FlexView)<Omit<IToolProps, '$activeColor' | '$shouldAnimate'>>(\n ({ theme, $active }) => {\n const { colors } = theme;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n width: 32px;\n height: 32px;\n justify-content: center;\n align-items: center;\n border: 1px solid ${colors.WHITE};\n border-radius: 50%;\n transition: all 100ms ease-in-out;\n border: 1px solid ${colors.GREY_1};\n\n ${!$active &&\n css`\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\n }\n `}\n\n ${$active &&\n css`\n cursor: auto;\n background: ${colors.BLACK};\n .tile-icon {\n fill: ${colors.BLACK};\n }\n svg {\n path,\n rect,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-eraser {\n stroke: none;\n fill: ${colors.WHITE};\n }\n }\n `}\n `;\n },\n);\n\nexport const StyledCheckIcon = styled(TickIcon)`\n path {\n stroke: ${'white'};\n }\n`;\n\nexport const RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nexport const PaletteWrapper = styled(FlexView)<{ $top: number }>`\n position: absolute;\n top: ${({ $top }) => $top}px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n`;\n\nexport const CueCanvasWrapper = styled(FlexView)<ICueCanvasWrapper>(\n ({ $canScribble, $canRender, $renderAs }) => `\n display: ${$canRender ? 'block' : 'none'};\n opacity: ${$canScribble ? 1 : 0.5};\n pointer-events: ${$canScribble ? 'auto' : 'none'};\n\n ${\n $renderAs === 'canvas' &&\n $canScribble &&\n `\n background-image: radial-gradient(rgb(43 43 43 / 8%) 2px, transparent 10%);\n background-position:0 0,32px 32px;\n background-size: 30px 32px;\n `\n }\n \n`,\n);\n\nexport const ColorPicker = styled(FlexView)<{ $color: TCueCanvasColors }>(\n ({ $color }) => `\nbackground: ${CANVAS_COLORS[$color]};\n`,\n);\n\nexport const StyledDownIcon = styled(DownIcon)<{ $isAnimating: boolean }>`\n pointer-events: none;\n transition: transform 0.5s ease;\n transform: ${({ $isAnimating }) => ($isAnimating ? 'rotate(180deg)' : 'rotate(0deg)')};\n`;\n\nexport const PenIconWrapper = styled(FlexView)`\n overflow: hidden;\n border-right: 1px solid ${({ theme }) => theme.colors.GREY_1};\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n padding: 8px 8px 0 8px;\n overflow: hidden;\n bottom: 58px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n\n :hover {\n cursor: pointer;\n }\n`;\n"],"names":["HWWrapper","styled","FlexView","StyledPencilIcon","PencilIcon","theme","$active","$activeColor","$shouldAnimate","colors","color","CANVAS_COLORS","css","StyledRulerIcon","RulerIcon","StyledHighlighterWrapper","HighlighterIcon","StyledSketchWrapper","SketchIcon","StyledLockIcon","LockIcon","StyledUnlockIcon","UnlockIcon","StyledWrapper","StyledCheckIcon","TickIcon","RedoIcon","UndoIcon","PaletteWrapper","$top","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color","StyledDownIcon","DownIcon","$isAnimating","PenIconWrapper","MenuWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"cue-cavas-styled.js","sources":["../../../src/features/cue-canvas/cue-cavas-styled.tsx"],"sourcesContent":["import type { ICueCanvasWrapper, TCueCanvasColors } from './types/cue-canvas';\n\nimport styled, { css } from 'styled-components';\n\nimport TickIcon from '../../assets/line-icons/icons/check';\nimport DownIcon from '../../assets/line-icons/icons/down';\nimport HighlighterIcon from '../../assets/line-icons/icons/highlighter';\nimport LockIcon from '../../assets/line-icons/icons/lock';\nimport PencilIcon from '../../assets/line-icons/icons/pencil';\nimport RulerIcon from '../../assets/line-icons/icons/ruler';\nimport SketchIcon from '../../assets/line-icons/icons/sketch';\nimport UndoIcon from '../../assets/line-icons/icons/undo';\nimport UnlockIcon from '../../assets/line-icons/icons/unlock';\nimport FlexView from '../ui/layout/flex-view';\nimport { CANVAS_COLORS } from './constants/constants';\n\ninterface IToolProps {\n $active: boolean;\n $activeColor: TCueCanvasColors;\n $shouldAnimate: boolean;\n}\nexport const HWWrapper = styled(FlexView)`\n border: 2px solid;\n`;\n\nexport const StyledPencilIcon = styled(PencilIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n cursor: ${$active ? 'auto' : 'pointer'};\n .pencil-dark-shade {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .pencil-light-shade {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.3 : 1};\n }\n\n ${!$active &&\n css`\n &:hover {\n .pencil-dark-shade {\n fill: ${colors.GREY_4};\n }\n .pencil-light-shade {\n fill: ${colors.GREY_2};\n }\n }\n `}\n `;\n});\n\nexport const StyledRulerIcon = styled(RulerIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n .ruler-rect-color {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .ruler-stripe-base {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.2 : 1};\n }\n\n .ruler-small-stripe {\n fill: ${colors.REAL_BLACK};\n }\n\n ${!$active &&\n css`\n &:hover {\n .ruler-rect-color {\n fill: ${colors.GREY_4};\n }\n .ruler-stripe-base {\n fill: ${colors.GREY_3};\n }\n }\n `}\n `;\n});\n\nexport const StyledHighlighterWrapper = styled(HighlighterIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n ${!$active &&\n css`\n &:hover {\n .highlighter-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .highlighter-stripe {\n fill: ${theme.colors.BLACK_50};\n }\n\n .highlighter-light-body {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n .highlighter-tip {\n fill: ${color};\n }\n\n .highlighter-stripe {\n fill: ${color};\n opacity: 0.6;\n }\n\n .highlighter-light-body {\n fill: ${color};\n opacity: 0.2;\n }\n `}\n `;\n});\n\nexport const StyledSketchWrapper = styled(SketchIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n ${!$active &&\n css`\n &:hover {\n .pen-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .pen-dark-shade {\n fill: ${theme.colors.BLACK_50};\n }\n\n .pen-light-shade {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n cursor: ${$active ? 'auto' : 'pointer'};\n .pen-tip {\n fill: ${color};\n }\n\n .pen-dark-shade {\n fill: ${color};\n opacity: 0.6;\n }\n\n .pen-light-shade {\n fill: ${color};\n opacity: 0.4;\n }\n `}\n `;\n});\n\nexport const StyledLockIcon = styled(LockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledUnlockIcon = styled(UnlockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledWrapper = styled(FlexView)<Omit<IToolProps, '$activeColor' | '$shouldAnimate'>>(\n ({ theme, $active }) => {\n const { colors } = theme;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n width: 32px;\n height: 32px;\n justify-content: center;\n align-items: center;\n border: 1px solid ${colors.WHITE};\n border-radius: 50%;\n transition: all 100ms ease-in-out;\n border: 1px solid ${colors.GREY_1};\n\n ${!$active &&\n css`\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\n }\n `}\n\n ${$active &&\n css`\n cursor: auto;\n background: ${colors.BLACK};\n .tile-icon {\n fill: ${colors.BLACK};\n }\n svg {\n path,\n rect,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-eraser {\n stroke: none;\n fill: ${colors.WHITE};\n }\n }\n `}\n `;\n },\n);\n\nexport const StyledCheckIcon = styled(TickIcon)`\n path {\n stroke: ${'white'};\n }\n`;\n\nexport const RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nexport const PaletteWrapper = styled(FlexView)<{ $top: number }>`\n position: absolute;\n top: ${({ $top }) => $top}px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n`;\n\nexport const CueCanvasWrapper = styled(FlexView)<ICueCanvasWrapper>(\n ({ $canScribble, $canRender, $renderAs }) => `\n display: ${$canRender ? 'block' : 'none'};\n opacity: ${$canScribble ? 1 : 0.5};\n pointer-events: ${$canScribble ? 'auto' : 'none'};\n\n ${\n $renderAs === 'canvas' &&\n $canScribble &&\n `\n background-image: radial-gradient(rgb(43 43 43 / 8%) 2px, transparent 10%);\n background-position:0 0,32px 32px;\n background-size: 30px 32px;\n `\n }\n \n`,\n);\n\nexport const ColorPicker = styled(FlexView)<{ $color: TCueCanvasColors }>(\n ({ $color }) => `\nbackground: ${CANVAS_COLORS[$color]};\n`,\n);\n\nexport const StyledDownIcon = styled(DownIcon)<{ $isAnimating: boolean }>`\n pointer-events: none;\n transition: transform 0.5s ease;\n transform: ${({ $isAnimating }) => ($isAnimating ? 'rotate(180deg)' : 'rotate(0deg)')};\n`;\n\nexport const PenIconWrapper = styled(FlexView)`\n overflow: hidden;\n border-right: 1px solid ${({ theme }) => theme.colors.GREY_1};\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n padding: 8px 8px 0 8px;\n overflow: hidden;\n bottom: 58px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n\n :hover {\n cursor: pointer;\n }\n`;\n"],"names":["HWWrapper","styled","FlexView","StyledPencilIcon","PencilIcon","theme","$active","$activeColor","$shouldAnimate","colors","color","CANVAS_COLORS","css","StyledRulerIcon","RulerIcon","StyledHighlighterWrapper","HighlighterIcon","StyledSketchWrapper","SketchIcon","StyledLockIcon","LockIcon","StyledUnlockIcon","UnlockIcon","StyledWrapper","StyledCheckIcon","TickIcon","RedoIcon","UndoIcon","PaletteWrapper","$top","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color","StyledDownIcon","DownIcon","$isAnimating","PenIconWrapper","MenuWrapper"],"mappings":"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"}