@cuemath/leap 2.8.61-rj-21 → 2.8.61-rj-22

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 (1051) hide show
  1. package/dist/assets/line-icons/icons/alert.js +3 -3
  2. package/dist/assets/line-icons/icons/alert.js.map +1 -1
  3. package/dist/assets/line-icons/icons/back.js +4 -4
  4. package/dist/assets/line-icons/icons/back.js.map +1 -1
  5. package/dist/assets/line-icons/icons/back2.js +3 -3
  6. package/dist/assets/line-icons/icons/back2.js.map +1 -1
  7. package/dist/assets/line-icons/icons/bin.js +8 -8
  8. package/dist/assets/line-icons/icons/bin.js.map +1 -1
  9. package/dist/assets/line-icons/icons/bin2.js +4 -4
  10. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  11. package/dist/assets/line-icons/icons/book-closed.js +3 -3
  12. package/dist/assets/line-icons/icons/book-closed.js.map +1 -1
  13. package/dist/assets/line-icons/icons/book.js +4 -4
  14. package/dist/assets/line-icons/icons/book.js.map +1 -1
  15. package/dist/assets/line-icons/icons/book2.js +3 -3
  16. package/dist/assets/line-icons/icons/book2.js.map +1 -1
  17. package/dist/assets/line-icons/icons/bookmark-stroke-icon.js.map +1 -1
  18. package/dist/assets/line-icons/icons/bookmark.js +2 -2
  19. package/dist/assets/line-icons/icons/bookmark.js.map +1 -1
  20. package/dist/assets/line-icons/icons/bulb.js +8 -8
  21. package/dist/assets/line-icons/icons/bulb.js.map +1 -1
  22. package/dist/assets/line-icons/icons/bulb2.js +3 -3
  23. package/dist/assets/line-icons/icons/bulb2.js.map +1 -1
  24. package/dist/assets/line-icons/icons/calculator.js.map +1 -1
  25. package/dist/assets/line-icons/icons/calendar.js +3 -3
  26. package/dist/assets/line-icons/icons/calendar.js.map +1 -1
  27. package/dist/assets/line-icons/icons/carat-left.js.map +1 -1
  28. package/dist/assets/line-icons/icons/carat-right.js.map +1 -1
  29. package/dist/assets/line-icons/icons/chat.js +4 -4
  30. package/dist/assets/line-icons/icons/chat.js.map +1 -1
  31. package/dist/assets/line-icons/icons/check.js +4 -4
  32. package/dist/assets/line-icons/icons/check.js.map +1 -1
  33. package/dist/assets/line-icons/icons/check2.js +3 -3
  34. package/dist/assets/line-icons/icons/check2.js.map +1 -1
  35. package/dist/assets/line-icons/icons/chevron-down.js +6 -6
  36. package/dist/assets/line-icons/icons/chevron-down.js.map +1 -1
  37. package/dist/assets/line-icons/icons/chevron-left.js +4 -4
  38. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  39. package/dist/assets/line-icons/icons/chevron-right.js +6 -6
  40. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  41. package/dist/assets/line-icons/icons/circle-back.js.map +1 -1
  42. package/dist/assets/line-icons/icons/clear-all.js.map +1 -1
  43. package/dist/assets/line-icons/icons/clipboard.js +5 -5
  44. package/dist/assets/line-icons/icons/clipboard.js.map +1 -1
  45. package/dist/assets/line-icons/icons/clock.js +3 -3
  46. package/dist/assets/line-icons/icons/clock.js.map +1 -1
  47. package/dist/assets/line-icons/icons/clock2.js +5 -5
  48. package/dist/assets/line-icons/icons/clock2.js.map +1 -1
  49. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -1
  50. package/dist/assets/line-icons/icons/code.js +3 -3
  51. package/dist/assets/line-icons/icons/code.js.map +1 -1
  52. package/dist/assets/line-icons/icons/copy.js +4 -4
  53. package/dist/assets/line-icons/icons/copy.js.map +1 -1
  54. package/dist/assets/line-icons/icons/cross.js +4 -4
  55. package/dist/assets/line-icons/icons/cross.js.map +1 -1
  56. package/dist/assets/line-icons/icons/cue-rocket.js +2 -2
  57. package/dist/assets/line-icons/icons/cue-rocket.js.map +1 -1
  58. package/dist/assets/line-icons/icons/cuemath-logo.js +2 -2
  59. package/dist/assets/line-icons/icons/cuemath-logo.js.map +1 -1
  60. package/dist/assets/line-icons/icons/cursor.js.map +1 -1
  61. package/dist/assets/line-icons/icons/dash-arrow.js +3 -3
  62. package/dist/assets/line-icons/icons/dash-arrow.js.map +1 -1
  63. package/dist/assets/line-icons/icons/down.js +2 -2
  64. package/dist/assets/line-icons/icons/down.js.map +1 -1
  65. package/dist/assets/line-icons/icons/download.js.map +1 -1
  66. package/dist/assets/line-icons/icons/draft.js +4 -4
  67. package/dist/assets/line-icons/icons/draft.js.map +1 -1
  68. package/dist/assets/line-icons/icons/drag.js +3 -3
  69. package/dist/assets/line-icons/icons/drag.js.map +1 -1
  70. package/dist/assets/line-icons/icons/edit-star.js +5 -5
  71. package/dist/assets/line-icons/icons/edit-star.js.map +1 -1
  72. package/dist/assets/line-icons/icons/edit.js +5 -5
  73. package/dist/assets/line-icons/icons/edit.js.map +1 -1
  74. package/dist/assets/line-icons/icons/edit2.js +2 -2
  75. package/dist/assets/line-icons/icons/edit2.js.map +1 -1
  76. package/dist/assets/line-icons/icons/equation.js.map +1 -1
  77. package/dist/assets/line-icons/icons/eraser.js +3 -3
  78. package/dist/assets/line-icons/icons/eraser.js.map +1 -1
  79. package/dist/assets/line-icons/icons/eye.js +4 -4
  80. package/dist/assets/line-icons/icons/eye.js.map +1 -1
  81. package/dist/assets/line-icons/icons/eye2.js +2 -2
  82. package/dist/assets/line-icons/icons/eye2.js.map +1 -1
  83. package/dist/assets/line-icons/icons/game.js +3 -3
  84. package/dist/assets/line-icons/icons/game.js.map +1 -1
  85. package/dist/assets/line-icons/icons/hand.js +2 -2
  86. package/dist/assets/line-icons/icons/hand.js.map +1 -1
  87. package/dist/assets/line-icons/icons/help.js +3 -3
  88. package/dist/assets/line-icons/icons/help.js.map +1 -1
  89. package/dist/assets/line-icons/icons/highlighter.js +4 -4
  90. package/dist/assets/line-icons/icons/highlighter.js.map +1 -1
  91. package/dist/assets/line-icons/icons/home.js +3 -3
  92. package/dist/assets/line-icons/icons/home.js.map +1 -1
  93. package/dist/assets/line-icons/icons/image.js +3 -3
  94. package/dist/assets/line-icons/icons/image.js.map +1 -1
  95. package/dist/assets/line-icons/icons/info.js +3 -3
  96. package/dist/assets/line-icons/icons/info.js.map +1 -1
  97. package/dist/assets/line-icons/icons/info2.js +3 -3
  98. package/dist/assets/line-icons/icons/info2.js.map +1 -1
  99. package/dist/assets/line-icons/icons/left.js +3 -3
  100. package/dist/assets/line-icons/icons/left.js.map +1 -1
  101. package/dist/assets/line-icons/icons/lock.js +3 -3
  102. package/dist/assets/line-icons/icons/lock.js.map +1 -1
  103. package/dist/assets/line-icons/icons/lock2.js +2 -2
  104. package/dist/assets/line-icons/icons/lock2.js.map +1 -1
  105. package/dist/assets/line-icons/icons/minus.js +2 -2
  106. package/dist/assets/line-icons/icons/minus.js.map +1 -1
  107. package/dist/assets/line-icons/icons/minus2.js +3 -3
  108. package/dist/assets/line-icons/icons/minus2.js.map +1 -1
  109. package/dist/assets/line-icons/icons/mistake.js +3 -3
  110. package/dist/assets/line-icons/icons/mistake.js.map +1 -1
  111. package/dist/assets/line-icons/icons/mobile.js +3 -3
  112. package/dist/assets/line-icons/icons/mobile.js.map +1 -1
  113. package/dist/assets/line-icons/icons/more-vertical.js +3 -3
  114. package/dist/assets/line-icons/icons/more-vertical.js.map +1 -1
  115. package/dist/assets/line-icons/icons/next.js +5 -5
  116. package/dist/assets/line-icons/icons/next.js.map +1 -1
  117. package/dist/assets/line-icons/icons/next2.js +4 -4
  118. package/dist/assets/line-icons/icons/next2.js.map +1 -1
  119. package/dist/assets/line-icons/icons/pan.js.map +1 -1
  120. package/dist/assets/line-icons/icons/pencil.js +3 -3
  121. package/dist/assets/line-icons/icons/pencil.js.map +1 -1
  122. package/dist/assets/line-icons/icons/play.js +5 -5
  123. package/dist/assets/line-icons/icons/play.js.map +1 -1
  124. package/dist/assets/line-icons/icons/play2.js +5 -5
  125. package/dist/assets/line-icons/icons/play2.js.map +1 -1
  126. package/dist/assets/line-icons/icons/plus.js +4 -4
  127. package/dist/assets/line-icons/icons/plus.js.map +1 -1
  128. package/dist/assets/line-icons/icons/plus2.js +3 -3
  129. package/dist/assets/line-icons/icons/plus2.js.map +1 -1
  130. package/dist/assets/line-icons/icons/pointer.js +2 -2
  131. package/dist/assets/line-icons/icons/pointer.js.map +1 -1
  132. package/dist/assets/line-icons/icons/practice.js +2 -2
  133. package/dist/assets/line-icons/icons/practice.js.map +1 -1
  134. package/dist/assets/line-icons/icons/progress.js +3 -3
  135. package/dist/assets/line-icons/icons/progress.js.map +1 -1
  136. package/dist/assets/line-icons/icons/question-letter.js +3 -3
  137. package/dist/assets/line-icons/icons/question-letter.js.map +1 -1
  138. package/dist/assets/line-icons/icons/question.js +5 -5
  139. package/dist/assets/line-icons/icons/question.js.map +1 -1
  140. package/dist/assets/line-icons/icons/redo.js +4 -4
  141. package/dist/assets/line-icons/icons/redo.js.map +1 -1
  142. package/dist/assets/line-icons/icons/right.js +3 -3
  143. package/dist/assets/line-icons/icons/right.js.map +1 -1
  144. package/dist/assets/line-icons/icons/ruler.js +3 -3
  145. package/dist/assets/line-icons/icons/ruler.js.map +1 -1
  146. package/dist/assets/line-icons/icons/scribble.js.map +1 -1
  147. package/dist/assets/line-icons/icons/search.js +3 -3
  148. package/dist/assets/line-icons/icons/search.js.map +1 -1
  149. package/dist/assets/line-icons/icons/sheet.js +9 -9
  150. package/dist/assets/line-icons/icons/sheet.js.map +1 -1
  151. package/dist/assets/line-icons/icons/sketch.js +4 -4
  152. package/dist/assets/line-icons/icons/sketch.js.map +1 -1
  153. package/dist/assets/line-icons/icons/skip.js +6 -6
  154. package/dist/assets/line-icons/icons/skip.js.map +1 -1
  155. package/dist/assets/line-icons/icons/skip2.js +4 -4
  156. package/dist/assets/line-icons/icons/skip2.js.map +1 -1
  157. package/dist/assets/line-icons/icons/square-dots.js.map +1 -1
  158. package/dist/assets/line-icons/icons/star.js +3 -3
  159. package/dist/assets/line-icons/icons/star.js.map +1 -1
  160. package/dist/assets/line-icons/icons/star2.js +3 -3
  161. package/dist/assets/line-icons/icons/star2.js.map +1 -1
  162. package/dist/assets/line-icons/icons/striked-eye.js +4 -4
  163. package/dist/assets/line-icons/icons/striked-eye.js.map +1 -1
  164. package/dist/assets/line-icons/icons/switch-icon.js +4 -4
  165. package/dist/assets/line-icons/icons/switch-icon.js.map +1 -1
  166. package/dist/assets/line-icons/icons/text-icon.js.map +1 -1
  167. package/dist/assets/line-icons/icons/tick.js +2 -2
  168. package/dist/assets/line-icons/icons/tick.js.map +1 -1
  169. package/dist/assets/line-icons/icons/tri-dots.js.map +1 -1
  170. package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -1
  171. package/dist/assets/line-icons/icons/trophy.js +3 -3
  172. package/dist/assets/line-icons/icons/trophy.js.map +1 -1
  173. package/dist/assets/line-icons/icons/tutoring.js +4 -4
  174. package/dist/assets/line-icons/icons/tutoring.js.map +1 -1
  175. package/dist/assets/line-icons/icons/undo.js +4 -4
  176. package/dist/assets/line-icons/icons/undo.js.map +1 -1
  177. package/dist/assets/line-icons/icons/unlock.js +4 -4
  178. package/dist/assets/line-icons/icons/unlock.js.map +1 -1
  179. package/dist/assets/line-icons/icons/up.js +3 -3
  180. package/dist/assets/line-icons/icons/up.js.map +1 -1
  181. package/dist/assets/line-icons/icons/upload.js.map +1 -1
  182. package/dist/assets/line-icons/icons/user.js +3 -3
  183. package/dist/assets/line-icons/icons/user.js.map +1 -1
  184. package/dist/assets/line-icons/icons/user2.js +2 -2
  185. package/dist/assets/line-icons/icons/user2.js.map +1 -1
  186. package/dist/assets/line-icons/icons/zoom-in.js.map +1 -1
  187. package/dist/assets/line-icons/icons/zoom-out.js.map +1 -1
  188. package/dist/constants/country.js.map +1 -1
  189. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker-context.js.map +1 -1
  190. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js +14 -14
  191. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js.map +1 -1
  192. package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js +2 -2
  193. package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js.map +1 -1
  194. package/dist/features/chapters/api/chapter.js.map +1 -1
  195. package/dist/features/chapters/chapter/chapter.js +20 -20
  196. package/dist/features/chapters/chapter/chapter.js.map +1 -1
  197. package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner-styled.js.map +1 -1
  198. package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner.js.map +1 -1
  199. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons-styled.js.map +1 -1
  200. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
  201. package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources-styled.js.map +1 -1
  202. package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
  203. package/dist/features/chapters/chapter/comps/supplementary-resources/utils.js.map +1 -1
  204. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  205. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  206. package/dist/features/chapters/chapters-list/chapters-list.js +13 -13
  207. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  208. package/dist/features/chapters/lpar-chapter/block-section/block-section-styled.js.map +1 -1
  209. package/dist/features/chapters/lpar-chapter/block-section/block-section.js.map +1 -1
  210. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js.map +1 -1
  211. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js.map +1 -1
  212. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js +1 -1
  213. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js.map +1 -1
  214. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  215. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item-utils.js.map +1 -1
  216. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
  217. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +4 -4
  218. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
  219. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-utils.js.map +1 -1
  220. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +15 -15
  221. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
  222. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
  223. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js.map +1 -1
  224. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/teacher-actions/teacher-actions.js.map +1 -1
  225. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
  226. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.js.map +1 -1
  227. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions-styled.js.map +1 -1
  228. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions.js.map +1 -1
  229. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions-utils.js.map +1 -1
  230. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
  231. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +2 -2
  232. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  233. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-icon.js.map +1 -1
  234. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-utils.js.map +1 -1
  235. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  236. package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
  237. package/dist/features/chapters/lpar-chapter/comps/tab-section.js.map +1 -1
  238. package/dist/features/chapters/lpar-chapter/constants/index.js +22 -5
  239. package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
  240. package/dist/features/chapters/lpar-chapter/constants/puzzle-card.js.map +1 -1
  241. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js.map +1 -1
  242. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/lpar-chapter-banner-styled.js.map +1 -1
  243. package/dist/features/chapters/lpar-chapter/lpar-chapter-styled.js.map +1 -1
  244. package/dist/features/chapters/lpar-chapter/lpar-chapter.js +26 -26
  245. package/dist/features/chapters/lpar-chapter/lpar-chapter.js.map +1 -1
  246. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js.map +1 -1
  247. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card-styled.js.map +1 -1
  248. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js +1 -1
  249. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js.map +1 -1
  250. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section-utils.js.map +1 -1
  251. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js.map +1 -1
  252. package/dist/features/chapters/lpar-chapter/utils/index.js.map +1 -1
  253. package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.js.map +1 -1
  254. package/dist/features/chapters/lpar-milestone-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  255. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js.map +1 -1
  256. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/student-actions.js.map +1 -1
  257. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions.js.map +1 -1
  258. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js.map +1 -1
  259. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  260. package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js.map +1 -1
  261. package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js +21 -21
  262. package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js.map +1 -1
  263. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card-util.js.map +1 -1
  264. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js +1 -1
  265. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
  266. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js.map +1 -1
  267. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -1
  268. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
  269. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  270. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
  271. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +10 -10
  272. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  273. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
  274. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +1 -1
  275. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +1 -1
  276. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +6 -6
  277. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +4 -4
  278. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  279. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  280. package/dist/features/circle-games/game-launcher/game-launcher.js +96 -118
  281. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  282. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +87 -88
  283. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  284. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  285. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  286. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  287. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  288. package/dist/features/circle-games/leaderboard/comps/banner/banner-styled.js.map +1 -1
  289. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  290. package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar.js.map +1 -1
  291. package/dist/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.js.map +1 -1
  292. package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button.js.map +1 -1
  293. package/dist/features/circle-games/leaderboard/comps/progress-item/progress-item.js.map +1 -1
  294. package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js +1 -1
  295. package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js.map +1 -1
  296. package/dist/features/circle-games/leaderboard/comps/streak-reduction-infobar/streak-reduction-infobar.js.map +1 -1
  297. package/dist/features/circle-games/leaderboard/comps/timer/timer.js.map +1 -1
  298. package/dist/features/circle-games/leaderboard/comps/with-grade/with-grade.js.map +1 -1
  299. package/dist/features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.js.map +1 -1
  300. package/dist/features/circle-games/leaderboard/hooks/use-intersection-observer/use-intersection-observer.tsx.js.map +1 -1
  301. package/dist/features/circle-games/leaderboard/hooks/use-timer/use-timer.js.map +1 -1
  302. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  303. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  304. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  305. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  306. package/dist/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.js.map +1 -1
  307. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js +3 -3
  308. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js.map +1 -1
  309. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.styled.js.map +1 -1
  310. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen-styled.js +1 -1
  311. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  312. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
  313. package/dist/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.js.map +1 -1
  314. package/dist/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.js.map +1 -1
  315. package/dist/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.js.map +1 -1
  316. package/dist/features/circle-games/sign-up/helper.js.map +1 -1
  317. package/dist/features/circle-games/sign-up/sign-up.js +8 -8
  318. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  319. package/dist/features/circle-games/utils/streak-reduction-localstorage-util.js.map +1 -1
  320. package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js +18 -18
  321. package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js.map +1 -1
  322. package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js +11 -11
  323. package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js.map +1 -1
  324. package/dist/features/communication/pub-sub/core.js.map +1 -1
  325. package/dist/features/communication/pub-sub/hooks.js +1 -1
  326. package/dist/features/communication/pub-sub/hooks.js.map +1 -1
  327. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  328. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  329. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  330. package/dist/features/cue-canvas/cue-canvas-provider.js +8 -8
  331. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  332. package/dist/features/cue-canvas/cue-canvas.js +28 -28
  333. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  334. package/dist/features/cue-canvas/cue-cavas-styled.js +29 -29
  335. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  336. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +14 -14
  337. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  338. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  339. package/dist/features/cue-canvas/hooks/use-height-extender.js.map +1 -1
  340. package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -1
  341. package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
  342. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  343. package/dist/features/cue-canvas/toolbar/icon-map.js +7 -7
  344. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
  345. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  346. package/dist/features/cue-canvas/toolbar/toolbar.js +8 -8
  347. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  348. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  349. package/dist/features/extra-practice/extra-practice.js +21 -21
  350. package/dist/features/extra-practice/extra-practice.js.map +1 -1
  351. package/dist/features/extra-practice/list/list-constants.js.map +1 -1
  352. package/dist/features/extra-practice/list/list-styled.js.map +1 -1
  353. package/dist/features/extra-practice/list/list.js.map +1 -1
  354. package/dist/features/hooks/use-audio-player.js.map +1 -1
  355. package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js +3 -3
  356. package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
  357. package/dist/features/hooks/use-drag-helper.js.map +1 -1
  358. package/dist/features/hooks/use-force-reload.js +7 -7
  359. package/dist/features/hooks/use-force-reload.js.map +1 -1
  360. package/dist/features/hooks/use-is-unmounted.js.map +1 -1
  361. package/dist/features/hooks/use-lazy-ref.js.map +1 -1
  362. package/dist/features/hooks/use-previous.js.map +1 -1
  363. package/dist/features/hooks/use-zoom-disable.js +3 -3
  364. package/dist/features/hooks/use-zoom-disable.js.map +1 -1
  365. package/dist/features/journey/comps/coachmark/coachmark-styled.js.map +1 -1
  366. package/dist/features/journey/comps/coachmark/coachmark.js +1 -1
  367. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  368. package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
  369. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  370. package/dist/features/journey/user-journey-api/user-journey-api.js +3 -3
  371. package/dist/features/maintenance/maintenance.js +5 -5
  372. package/dist/features/maintenance/maintenance.js.map +1 -1
  373. package/dist/features/milestone/constants.js +15 -11
  374. package/dist/features/milestone/constants.js.map +1 -1
  375. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  376. package/dist/features/milestone/create/api/milestone-bulk.js.map +1 -1
  377. package/dist/features/milestone/create/api/milestone-submit.js.map +1 -1
  378. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  379. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  380. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  381. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
  382. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
  383. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters-styled.js.map +1 -1
  384. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
  385. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  386. package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
  387. package/dist/features/milestone/create/comps/chapter-item/chapter-item-styled.js.map +1 -1
  388. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
  389. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/category-card.js.map +1 -1
  390. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  391. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-styled.js.map +1 -1
  392. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-selection.js.map +1 -1
  393. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
  394. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  395. package/dist/features/milestone/create/comps/chapters-selection-step/use-chapter-list-update.js.map +1 -1
  396. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  397. package/dist/features/milestone/create/comps/class-details-step/class-details-selectors.js.map +1 -1
  398. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  399. package/dist/features/milestone/create/comps/class-details-step/class-details-styled.js.map +1 -1
  400. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  401. package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js +9 -9
  402. package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js.map +1 -1
  403. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation-utils.js.map +1 -1
  404. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js +14 -14
  405. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js.map +1 -1
  406. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-styled.js.map +1 -1
  407. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-view.js.map +1 -1
  408. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
  409. package/dist/features/milestone/create/comps/info-points/info-points.js.map +1 -1
  410. package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
  411. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -1
  412. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -1
  413. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
  414. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
  415. package/dist/features/milestone/create/comps/test-type-step/category-component-styled.js.map +1 -1
  416. package/dist/features/milestone/create/comps/test-type-step/category-component.js.map +1 -1
  417. package/dist/features/milestone/create/comps/test-type-step/test-type-step-constants.js.map +1 -1
  418. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  419. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  420. package/dist/features/milestone/create/milestone-create-constants.js.map +1 -1
  421. package/dist/features/milestone/create/milestone-create-container.js +25 -25
  422. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  423. package/dist/features/milestone/create/milestone-create-form-tree.js +2 -2
  424. package/dist/features/milestone/create/milestone-create-form-tree.js.map +1 -1
  425. package/dist/features/milestone/create/milestone-create-helpers.js +3 -3
  426. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  427. package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
  428. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  429. package/dist/features/milestone/create/milestone-create.js +20 -19
  430. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  431. package/dist/features/milestone/create/styled-comps/progressive-loader.js +1 -1
  432. package/dist/features/milestone/create/styled-comps/progressive-loader.js.map +1 -1
  433. package/dist/features/milestone/create/submit-modal/submit-modal.js +9 -9
  434. package/dist/features/milestone/create/submit-modal/submit-modal.js.map +1 -1
  435. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal-styled.js.map +1 -1
  436. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js.map +1 -1
  437. package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
  438. package/dist/features/milestone/create/utils/index.js.map +1 -1
  439. package/dist/features/milestone/edit/comps/delete-milestone/confirm-delete.js.map +1 -1
  440. package/dist/features/milestone/edit/comps/delete-milestone/styled.js.map +1 -1
  441. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
  442. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +44 -43
  443. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  444. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js.map +1 -1
  445. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader.js.map +1 -1
  446. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +27 -27
  447. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  448. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +1 -1
  449. package/dist/features/milestone/edit/goal-edit-container.js +21 -21
  450. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  451. package/dist/features/milestone/edit/goal-edit-helpers.js +3 -3
  452. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  453. package/dist/features/milestone/edit/milestone-edit-container.js +23 -23
  454. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  455. package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
  456. package/dist/features/milestone/hooks/use-submit-goal-creation.js.map +1 -1
  457. package/dist/features/milestone/milestone-action-widget/milestone-action-widget-styled.js.map +1 -1
  458. package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js +15 -15
  459. package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js.map +1 -1
  460. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  461. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  462. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  463. package/dist/features/milestone/milestone-list-container/filter-milestones.js.map +1 -1
  464. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  465. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-loader/milestone-loader.js.map +1 -1
  466. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -1
  467. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  468. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-utils.js.map +1 -1
  469. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/use-goal-draft-publish.js.map +1 -1
  470. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  471. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  472. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  473. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  474. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +2 -2
  475. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -1
  476. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  477. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  478. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -1
  479. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  480. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  481. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  482. package/dist/features/milestone/milestone-list-container/milestone-list/no-active-milestone/no-active-milestone.js.map +1 -1
  483. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +21 -21
  484. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  485. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  486. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -1
  487. package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +1 -1
  488. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +1 -1
  489. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  490. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
  491. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +1 -1
  492. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
  493. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +1 -1
  494. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +39 -39
  495. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  496. package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +1 -1
  497. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  498. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  499. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
  500. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item-styled.js.map +1 -1
  501. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item.js.map +1 -1
  502. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  503. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  504. 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
  505. 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
  506. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  507. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  508. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +28 -28
  509. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  510. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  511. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -1
  512. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +1 -1
  513. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
  514. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +1 -1
  515. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +1 -1
  516. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
  517. package/dist/features/milestone/outcome/api/milestone-achievement.js +3 -3
  518. package/dist/features/milestone/outcome/api/milestone-outcome.js.map +1 -1
  519. package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js.map +1 -1
  520. package/dist/features/milestone/outcome/comps/achievement/achievement-container-styled.js.map +1 -1
  521. package/dist/features/milestone/outcome/comps/achievement/achievement-container.js +3 -3
  522. package/dist/features/milestone/outcome/comps/achievement/achievement-container.js.map +1 -1
  523. package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js +13 -13
  524. package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js.map +1 -1
  525. package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js +20 -20
  526. package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js.map +1 -1
  527. package/dist/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.js.map +1 -1
  528. package/dist/features/milestone/outcome/comps/outcome-collection/input-descriptor.js.map +1 -1
  529. package/dist/features/milestone/outcome/comps/outcome-collection/input-handler.js.map +1 -1
  530. package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js.map +1 -1
  531. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.js.map +1 -1
  532. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form-helpers.js.map +1 -1
  533. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map +1 -1
  534. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-styled.js.map +1 -1
  535. package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js.map +1 -1
  536. package/dist/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.js.map +1 -1
  537. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
  538. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-form.js.map +1 -1
  539. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-styled.js.map +1 -1
  540. package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
  541. package/dist/features/milestone/outcome/milestone-outcome-container.js +23 -23
  542. package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
  543. package/dist/features/milestone/outcome/milestone-outcome-styled.js.map +1 -1
  544. package/dist/features/milestone/outcome/outcome-helpers.js.map +1 -1
  545. package/dist/features/milestone/start/milestone-start.js +3 -3
  546. package/dist/features/milestone/start/milestone-start.js.map +1 -1
  547. package/dist/features/pointer-sync/hooks/use-pointer-sync.js +13 -13
  548. package/dist/features/pointer-sync/hooks/use-pointer-sync.js.map +1 -1
  549. package/dist/features/pointer-sync/pointer.js +7 -7
  550. package/dist/features/pointer-sync/pointer.js.map +1 -1
  551. package/dist/features/post-game-stats/accuracy/accuracy-styled.js +5 -5
  552. package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
  553. package/dist/features/post-game-stats/accuracy/accuracy-utils.js.map +1 -1
  554. package/dist/features/post-game-stats/accuracy/accuracy.js +3 -3
  555. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  556. package/dist/features/post-game-stats/clock/clock-styled.js +1 -1
  557. package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
  558. package/dist/features/post-game-stats/clock/clock.js +3 -3
  559. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  560. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +13 -12
  561. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +1 -1
  562. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +11 -11
  563. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +1 -1
  564. package/dist/features/post-game-stats/digital-meter/digital-meter.js +7 -7
  565. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
  566. package/dist/features/post-game-stats/digital-meter/helper.js.map +1 -1
  567. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -1
  568. package/dist/features/post-game-stats/points/points.js.map +1 -1
  569. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  570. package/dist/features/post-game-stats/streak/streak-styled.js +5 -5
  571. package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
  572. package/dist/features/post-game-stats/streak/streak.js +1 -1
  573. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  574. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator-styled.js.map +1 -1
  575. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js +13 -13
  576. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
  577. package/dist/features/sheet-tools/tool-header/tool-header-styled.js.map +1 -1
  578. package/dist/features/sheet-tools/tool-header/tool-header.js +14 -14
  579. package/dist/features/sheet-tools/tool-header/tool-header.js.map +1 -1
  580. package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
  581. package/dist/features/sheets/comps/sheet-button/styled.js.map +1 -1
  582. package/dist/features/sheets/comps/sheet-button/variant.js.map +1 -1
  583. package/dist/features/sheets/constants/sheet.js.map +1 -1
  584. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
  585. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element-styled.js.map +1 -1
  586. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element.js.map +1 -1
  587. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/target-element.js.map +1 -1
  588. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
  589. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-styled.js.map +1 -1
  590. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js +3 -4
  591. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js.map +1 -1
  592. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-view.js.map +1 -1
  593. package/dist/features/sheets/lessons-list/lesson-item/lesson-item.js.map +1 -1
  594. package/dist/features/sheets/lessons-list/lessons-list.js.map +1 -1
  595. package/dist/features/sheets/reference-sheet/reference-sheet.js +14 -14
  596. package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
  597. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js.map +1 -1
  598. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -1
  599. package/dist/features/sheets/resources-list/resource-item/resource-item.js +3 -3
  600. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  601. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  602. package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -1
  603. package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
  604. package/dist/features/sheets/resources-list/styled.js.map +1 -1
  605. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js.map +1 -1
  606. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/target-element/target-element.js.map +1 -1
  607. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-styled.js.map +1 -1
  608. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils.js.map +1 -1
  609. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js.map +1 -1
  610. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
  611. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +2 -0
  612. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  613. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  614. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-icon.js.map +1 -1
  615. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-styled.js.map +1 -1
  616. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js.map +1 -1
  617. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-utils.js.map +1 -1
  618. package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js.map +1 -1
  619. package/dist/features/sheets/sheets-list/sheets-list.js +15 -15
  620. package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
  621. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  622. package/dist/features/student-details/class-details/class-details-utils.js.map +1 -1
  623. package/dist/features/student-details/class-details/class-details.js.map +1 -1
  624. package/dist/features/student-details/student-details-styled.js.map +1 -1
  625. package/dist/features/student-details/student-details-utils.js.map +1 -1
  626. package/dist/features/student-details/student-details.js +17 -17
  627. package/dist/features/student-details/student-details.js.map +1 -1
  628. package/dist/features/student-details/wins-preview/wins-preview-styled.js.map +1 -1
  629. package/dist/features/student-details/wins-preview/wins-preview.js.map +1 -1
  630. package/dist/features/talk-meter/helper.js.map +1 -1
  631. package/dist/features/talk-meter/hooks/use-talk-meter.js.map +1 -1
  632. package/dist/features/talk-meter/ripple/index.js +1 -1
  633. package/dist/features/talk-meter/ripple/index.js.map +1 -1
  634. package/dist/features/talk-meter/talk-meter-styled.js +1 -1
  635. package/dist/features/talk-meter/talk-meter-styled.js.map +1 -1
  636. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js +14 -12
  637. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
  638. package/dist/features/talk-meter/talk-meter.js +23 -23
  639. package/dist/features/talk-meter/talk-meter.js.map +1 -1
  640. package/dist/features/trial-session/api/course-stream.js.map +1 -1
  641. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
  642. package/dist/features/trial-session/comps/about-cuemath/index.js.map +1 -1
  643. package/dist/features/trial-session/comps/additional-info/additional-info.js.map +1 -1
  644. package/dist/features/trial-session/comps/av-panels/student-av-panel/student-av-panel.js.map +1 -1
  645. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  646. package/dist/features/trial-session/comps/background-grid/background-grid-styled.js.map +1 -1
  647. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  648. package/dist/features/trial-session/comps/background-grid/background-grid.js.map +1 -1
  649. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  650. package/dist/features/trial-session/comps/clock/clock.js.map +1 -1
  651. package/dist/features/trial-session/comps/communication-slide/index.js.map +1 -1
  652. package/dist/features/trial-session/comps/countdown-progress-bar/countdown-progress-bar.js.map +1 -1
  653. package/dist/features/trial-session/comps/cue-tips/cues/cues-styled.js +6 -6
  654. package/dist/features/trial-session/comps/cue-tips/cues/index.js.map +1 -1
  655. package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
  656. package/dist/features/trial-session/comps/cue-tips/tips/tips-styled.js.map +1 -1
  657. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  658. package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
  659. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +1 -1
  660. package/dist/features/trial-session/comps/learning-session/learning-session-constants.js.map +1 -1
  661. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  662. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  663. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  664. package/dist/features/trial-session/comps/navigation-bar/navigation-bar-styled.js.map +1 -1
  665. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  666. package/dist/features/trial-session/comps/offering-information/offering-information-styled.js.map +1 -1
  667. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  668. package/dist/features/trial-session/comps/pricing/board-comp.js.map +1 -1
  669. package/dist/features/trial-session/comps/pricing/pricing-styled.js.map +1 -1
  670. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  671. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  672. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  673. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  674. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  675. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
  676. package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
  677. package/dist/features/trial-session/comps/session-report/report-card.js.map +1 -1
  678. package/dist/features/trial-session/comps/session-report/session-report.js +3 -3
  679. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  680. package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
  681. package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
  682. package/dist/features/trial-session/comps/solutions/solutions.styled.js +5 -5
  683. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  684. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  685. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  686. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +3 -3
  687. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  688. package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
  689. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  690. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +7 -7
  691. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  692. package/dist/features/trial-session/comps/student-profile/student-profile-styled.js.map +1 -1
  693. package/dist/features/trial-session/comps/student-profile/student-profile-utils.js.map +1 -1
  694. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  695. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-constants.js.map +1 -1
  696. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  697. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  698. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.js.map +1 -1
  699. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  700. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  701. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  702. package/dist/features/trial-session/helper.js.map +1 -1
  703. package/dist/features/trial-session/hooks/use-class-time-alerts.js.map +1 -1
  704. package/dist/features/trial-session/hooks/use-left-panel-button-state.js.map +1 -1
  705. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  706. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  707. package/dist/features/trial-session/right-panel/index.js.map +1 -1
  708. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  709. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  710. package/dist/features/trial-session/trial-session.js +6 -6
  711. package/dist/features/trial-session/trial-session.js.map +1 -1
  712. package/dist/features/ui/accordion-section/accordion-section.js +13 -13
  713. package/dist/features/ui/accordion-section/accordion-section.js.map +1 -1
  714. package/dist/features/ui/arc-button/arc-button.js.map +1 -1
  715. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +21 -20
  716. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  717. package/dist/features/ui/arrow-tooltip/arrow-tooltip-util.js.map +1 -1
  718. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +14 -14
  719. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  720. package/dist/features/ui/avatar/avatar-types.js +5 -5
  721. package/dist/features/ui/avatar/avatar.js +11 -11
  722. package/dist/features/ui/avatar/avatar.js.map +1 -1
  723. package/dist/features/ui/avatar/layers/base/variant-1.js.map +1 -1
  724. package/dist/features/ui/avatar/layers/eyes/variant-1.js.map +1 -1
  725. package/dist/features/ui/avatar/layers/eyes/variant-10.js.map +1 -1
  726. package/dist/features/ui/avatar/layers/eyes/variant-11.js.map +1 -1
  727. package/dist/features/ui/avatar/layers/eyes/variant-12.js.map +1 -1
  728. package/dist/features/ui/avatar/layers/eyes/variant-13.js.map +1 -1
  729. package/dist/features/ui/avatar/layers/eyes/variant-14.js.map +1 -1
  730. package/dist/features/ui/avatar/layers/eyes/variant-15.js.map +1 -1
  731. package/dist/features/ui/avatar/layers/eyes/variant-16.js.map +1 -1
  732. package/dist/features/ui/avatar/layers/eyes/variant-17.js.map +1 -1
  733. package/dist/features/ui/avatar/layers/eyes/variant-18.js.map +1 -1
  734. package/dist/features/ui/avatar/layers/eyes/variant-2.js.map +1 -1
  735. package/dist/features/ui/avatar/layers/eyes/variant-3.js.map +1 -1
  736. package/dist/features/ui/avatar/layers/eyes/variant-4.js.map +1 -1
  737. package/dist/features/ui/avatar/layers/eyes/variant-5.js.map +1 -1
  738. package/dist/features/ui/avatar/layers/eyes/variant-6.js.map +1 -1
  739. package/dist/features/ui/avatar/layers/eyes/variant-7.js.map +1 -1
  740. package/dist/features/ui/avatar/layers/eyes/variant-8.js.map +1 -1
  741. package/dist/features/ui/avatar/layers/eyes/variant-9.js.map +1 -1
  742. package/dist/features/ui/avatar/layers/hair/variant-1.js.map +1 -1
  743. package/dist/features/ui/avatar/layers/hair/variant-10.js.map +1 -1
  744. package/dist/features/ui/avatar/layers/hair/variant-2.js.map +1 -1
  745. package/dist/features/ui/avatar/layers/hair/variant-3.js.map +1 -1
  746. package/dist/features/ui/avatar/layers/hair/variant-4.js.map +1 -1
  747. package/dist/features/ui/avatar/layers/hair/variant-5.js.map +1 -1
  748. package/dist/features/ui/avatar/layers/hair/variant-6.js.map +1 -1
  749. package/dist/features/ui/avatar/layers/hair/variant-7.js.map +1 -1
  750. package/dist/features/ui/avatar/layers/hair/variant-8.js.map +1 -1
  751. package/dist/features/ui/avatar/layers/hair/variant-9.js.map +1 -1
  752. package/dist/features/ui/avatar/layers/mouth/variant-1.js.map +1 -1
  753. package/dist/features/ui/avatar/layers/mouth/variant-10.js.map +1 -1
  754. package/dist/features/ui/avatar/layers/mouth/variant-11.js.map +1 -1
  755. package/dist/features/ui/avatar/layers/mouth/variant-12.js.map +1 -1
  756. package/dist/features/ui/avatar/layers/mouth/variant-13.js.map +1 -1
  757. package/dist/features/ui/avatar/layers/mouth/variant-14.js.map +1 -1
  758. package/dist/features/ui/avatar/layers/mouth/variant-15.js.map +1 -1
  759. package/dist/features/ui/avatar/layers/mouth/variant-16.js.map +1 -1
  760. package/dist/features/ui/avatar/layers/mouth/variant-17.js.map +1 -1
  761. package/dist/features/ui/avatar/layers/mouth/variant-18.js.map +1 -1
  762. package/dist/features/ui/avatar/layers/mouth/variant-2.js.map +1 -1
  763. package/dist/features/ui/avatar/layers/mouth/variant-3.js.map +1 -1
  764. package/dist/features/ui/avatar/layers/mouth/variant-4.js.map +1 -1
  765. package/dist/features/ui/avatar/layers/mouth/variant-5.js.map +1 -1
  766. package/dist/features/ui/avatar/layers/mouth/variant-6.js.map +1 -1
  767. package/dist/features/ui/avatar/layers/mouth/variant-7.js.map +1 -1
  768. package/dist/features/ui/avatar/layers/mouth/variant-8.js.map +1 -1
  769. package/dist/features/ui/avatar/layers/mouth/variant-9.js.map +1 -1
  770. package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
  771. package/dist/features/ui/buttons/button/button.js +25 -25
  772. package/dist/features/ui/buttons/button/button.js.map +1 -1
  773. package/dist/features/ui/buttons/clickable/clickable.js +9 -9
  774. package/dist/features/ui/buttons/clickable/clickable.js.map +1 -1
  775. package/dist/features/ui/buttons/icon-button/icon-button-styled.js.map +1 -1
  776. package/dist/features/ui/buttons/icon-button/icon-button.js +14 -14
  777. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  778. package/dist/features/ui/buttons/text-button/text-button-styled.js.map +1 -1
  779. package/dist/features/ui/buttons/text-button/text-button.js +19 -19
  780. package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
  781. package/dist/features/ui/callout/callout.js +10 -10
  782. package/dist/features/ui/callout/callout.js.map +1 -1
  783. package/dist/features/ui/context/context.js.map +1 -1
  784. package/dist/features/ui/context/use-tracking-context.js +2 -2
  785. package/dist/features/ui/context/use-tracking-context.js.map +1 -1
  786. package/dist/features/ui/context-menu/context-menu.js +13 -13
  787. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  788. package/dist/features/ui/error/error.js +11 -11
  789. package/dist/features/ui/error/error.js.map +1 -1
  790. package/dist/features/ui/grade-selector/grade-selector-styled.js.map +1 -1
  791. package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
  792. package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
  793. package/dist/features/ui/hooks/use-click-handler.js.map +1 -1
  794. package/dist/features/ui/hooks/use-context-menu-click-handler.js +17 -17
  795. package/dist/features/ui/hooks/use-context-menu-click-handler.js.map +1 -1
  796. package/dist/features/ui/hooks/use-response-handler.js.map +1 -1
  797. package/dist/features/ui/image/image.js.map +1 -1
  798. package/dist/features/ui/inputs/base-input/base-input-styled.js.map +1 -1
  799. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  800. package/dist/features/ui/inputs/base-select-input/base-select-input-styled.js.map +1 -1
  801. package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
  802. package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
  803. package/dist/features/ui/inputs/base-select-input/select-section/select-section-styled.js.map +1 -1
  804. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  805. package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js +23 -23
  806. package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js.map +1 -1
  807. package/dist/features/ui/inputs/checkbox-input/checkbox-input-styled.js.map +1 -1
  808. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +20 -20
  809. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  810. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +16 -16
  811. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  812. package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js +6 -6
  813. package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js.map +1 -1
  814. package/dist/features/ui/inputs/num-range-input/num-range-input.js +4 -4
  815. package/dist/features/ui/inputs/num-range-input/num-range-input.js.map +1 -1
  816. package/dist/features/ui/inputs/percentile-input/percentile-input.js +21 -21
  817. package/dist/features/ui/inputs/percentile-input/percentile-input.js.map +1 -1
  818. package/dist/features/ui/inputs/percentile-input/percentile-styled.js.map +1 -1
  819. package/dist/features/ui/inputs/radio-input/radio-input.js +14 -14
  820. package/dist/features/ui/inputs/radio-input/radio-input.js.map +1 -1
  821. package/dist/features/ui/inputs/radio-input/radio-option/radio-option-styled.js.map +1 -1
  822. package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js.map +1 -1
  823. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +1 -1
  824. package/dist/features/ui/inputs/searchable-input/searchable-input.js +3 -3
  825. package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -1
  826. package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js +17 -17
  827. package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js.map +1 -1
  828. package/dist/features/ui/inputs/searchable-select-input/use-filtered-options.js.map +1 -1
  829. package/dist/features/ui/inputs/select-input/select-input.js +3 -3
  830. package/dist/features/ui/inputs/select-input/select-input.js.map +1 -1
  831. package/dist/features/ui/inputs/text-input/text-input-styled.js.map +1 -1
  832. package/dist/features/ui/inputs/text-input/text-input.js +33 -33
  833. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  834. package/dist/features/ui/layout/flex-view.js +23 -23
  835. package/dist/features/ui/layout/flex-view.js.map +1 -1
  836. package/dist/features/ui/loader/app-loader/app-loader.js +3 -3
  837. package/dist/features/ui/loader/app-loader/app-loader.js.map +1 -1
  838. package/dist/features/ui/lottie-animation/helper.js.map +1 -1
  839. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  840. package/dist/features/ui/nudge/nudge.js +9 -9
  841. package/dist/features/ui/nudge/nudge.js.map +1 -1
  842. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +1 -1
  843. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  844. package/dist/features/ui/perfect-hits/perfect-hits-styled.js +1 -1
  845. package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
  846. package/dist/features/ui/radio-cards/radio-card-option/radio-card-option-styled.js.map +1 -1
  847. package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js.map +1 -1
  848. package/dist/features/ui/radio-cards/radio-cards.js +15 -15
  849. package/dist/features/ui/radio-cards/radio-cards.js.map +1 -1
  850. package/dist/features/ui/section-list/section-list.js +9 -9
  851. package/dist/features/ui/section-list/section-list.js.map +1 -1
  852. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option-styled.js.map +1 -1
  853. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option.js.map +1 -1
  854. package/dist/features/ui/selection-cards/selection-cards.js +18 -18
  855. package/dist/features/ui/selection-cards/selection-cards.js.map +1 -1
  856. package/dist/features/ui/separator/separator.js +6 -6
  857. package/dist/features/ui/separator/separator.js.map +1 -1
  858. package/dist/features/ui/stepper/stepper-styled.js.map +1 -1
  859. package/dist/features/ui/stepper/stepper.js +7 -7
  860. package/dist/features/ui/stepper/stepper.js.map +1 -1
  861. package/dist/features/ui/streak-icon/streak-icon.js +14 -14
  862. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  863. package/dist/features/ui/superscript/superscript.js.map +1 -1
  864. package/dist/features/ui/tab/tab-styled.js.map +1 -1
  865. package/dist/features/ui/tab/tab.js +17 -17
  866. package/dist/features/ui/tab/tab.js.map +1 -1
  867. package/dist/features/ui/tag/tag-styled.js.map +1 -1
  868. package/dist/features/ui/tag/tag.js +4 -4
  869. package/dist/features/ui/tag/tag.js.map +1 -1
  870. package/dist/features/ui/text/text.js +24 -23
  871. package/dist/features/ui/text/text.js.map +1 -1
  872. package/dist/features/ui/theme/arrow-tooltip.js.map +1 -1
  873. package/dist/features/ui/theme/button.js.map +1 -1
  874. package/dist/features/ui/theme/checkbox.js.map +1 -1
  875. package/dist/features/ui/theme/get-theme.js.map +1 -1
  876. package/dist/features/ui/theme/input.js.map +1 -1
  877. package/dist/features/ui/theme/layout.js.map +1 -1
  878. package/dist/features/ui/theme/tab.js.map +1 -1
  879. package/dist/features/ui/theme/text-button.js.map +1 -1
  880. package/dist/features/ui/theme/text.js.map +1 -1
  881. package/dist/features/ui/time-left-timeline/time-left-timeline-styled.js.map +1 -1
  882. package/dist/features/ui/time-left-timeline/time-left-timeline.js +16 -16
  883. package/dist/features/ui/time-left-timeline/time-left-timeline.js.map +1 -1
  884. package/dist/features/ui/timers/countdown-timer/countdown-timer.js +15 -15
  885. package/dist/features/ui/timers/countdown-timer/countdown-timer.js.map +1 -1
  886. package/dist/features/ui/video/index.js +3 -3
  887. package/dist/features/ui/video/index.js.map +1 -1
  888. package/dist/features/ui/video/styled.js.map +1 -1
  889. package/dist/features/utils/load-script.js +9 -9
  890. package/dist/features/utils/load-script.js.map +1 -1
  891. package/dist/features/utils/utils.js.map +1 -1
  892. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +25 -25
  893. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
  894. package/dist/features/worksheet/learnosity-preloader/use-download-script.js.map +1 -1
  895. package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js +2 -2
  896. package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js.map +1 -1
  897. package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js.map +1 -1
  898. package/dist/features/worksheet/user-pointer-pin/user-pin.js.map +1 -1
  899. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  900. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
  901. package/dist/features/worksheet/worksheet/hooks/use-get-active-question-id.js.map +1 -1
  902. package/dist/features/worksheet/worksheet/hooks/use-learnosity-append.js.map +1 -1
  903. package/dist/features/worksheet/worksheet/hooks/use-learnosity.js.map +1 -1
  904. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  905. package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js.map +1 -1
  906. package/dist/features/worksheet/worksheet/hooks/use-worksheet-data-helper.js.map +1 -1
  907. package/dist/features/worksheet/worksheet/question-tips.js.map +1 -1
  908. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  909. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
  910. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
  911. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
  912. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
  913. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
  914. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
  915. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
  916. package/dist/features/worksheet/worksheet/worksheet-container.js +17 -17
  917. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  918. package/dist/features/worksheet/worksheet/worksheet-helpers.js +4 -4
  919. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  920. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js.map +1 -1
  921. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number-styled.js.map +1 -1
  922. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
  923. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation-styled.js.map +1 -1
  924. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  925. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js +2 -2
  926. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
  927. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  928. package/dist/features/worksheet/worksheet/worksheet-permissions/sheet-locked.js.map +1 -1
  929. package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js.map +1 -1
  930. package/dist/features/worksheet/worksheet/worksheet-question/header/header.js.map +1 -1
  931. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  932. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  933. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js.map +1 -1
  934. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
  935. package/dist/features/worksheet/worksheet/worksheet-question/subjective-feedback.js.map +1 -1
  936. package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
  937. package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
  938. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/advanced-practice-intro.js.map +1 -1
  939. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js.map +1 -1
  940. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/exit-ticket-intro.js.map +1 -1
  941. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js.map +1 -1
  942. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  943. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  944. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
  945. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
  946. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  947. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary-styled.js.map +1 -1
  948. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
  949. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
  950. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
  951. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
  952. package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -1
  953. package/dist/features/worksheet/worksheet/worksheet-styled.js +4 -4
  954. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  955. package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js.map +1 -1
  956. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
  957. package/dist/features/worksheet/worksheet/worksheet.js +5 -5
  958. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  959. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
  960. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
  961. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  962. package/dist/features/worksheet/worksheet-preview/worksheet-preview-styled.js.map +1 -1
  963. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  964. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +16 -16
  965. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  966. package/dist/helpers/date-time.js.map +1 -1
  967. package/dist/helpers/get-device-details.js.map +1 -1
  968. package/dist/helpers/label-text.js.map +1 -1
  969. package/dist/index.d.ts +14 -1
  970. package/dist/index.js +481 -481
  971. package/dist/node_modules/@cuemath/analytics-v2/dist/constants.js.map +1 -1
  972. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  973. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  974. package/dist/node_modules/date-fns/_lib/format/formatters.js +2 -0
  975. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  976. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  977. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  978. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  979. package/dist/node_modules/date-fns/addDays.js.map +1 -1
  980. package/dist/node_modules/date-fns/addMonths.js.map +1 -1
  981. package/dist/node_modules/date-fns/constructNow.js.map +1 -1
  982. package/dist/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
  983. package/dist/node_modules/date-fns/format.js.map +1 -1
  984. package/dist/node_modules/date-fns/getDefaultOptions.js.map +1 -1
  985. package/dist/node_modules/date-fns/getISODay.js.map +1 -1
  986. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  987. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
  988. package/dist/node_modules/date-fns/isAfter.js.map +1 -1
  989. package/dist/node_modules/date-fns/lastDayOfMonth.js.map +1 -1
  990. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  991. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  992. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  993. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  994. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  995. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  996. package/dist/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
  997. package/dist/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
  998. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
  999. package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
  1000. package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
  1001. package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
  1002. package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
  1003. package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
  1004. package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
  1005. package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
  1006. package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
  1007. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
  1008. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
  1009. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
  1010. package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
  1011. package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
  1012. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
  1013. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
  1014. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
  1015. package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
  1016. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
  1017. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
  1018. package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
  1019. package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
  1020. package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
  1021. package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
  1022. package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
  1023. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
  1024. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
  1025. package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
  1026. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
  1027. package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
  1028. package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
  1029. package/dist/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
  1030. package/dist/node_modules/date-fns/parse.js.map +1 -1
  1031. package/dist/node_modules/date-fns/setDay.js.map +1 -1
  1032. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  1033. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
  1034. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  1035. package/dist/node_modules/date-fns/transpose.js.map +1 -1
  1036. package/dist/node_modules/fast-equals/dist/esm/index.js +133 -174
  1037. package/dist/node_modules/fast-equals/dist/esm/index.js.map +1 -1
  1038. package/dist/node_modules/filter-obj/index.js.map +1 -1
  1039. package/dist/node_modules/humanize-plus/dist/humanize.js.map +1 -1
  1040. package/dist/node_modules/lodash.debounce/index.js.map +1 -1
  1041. package/dist/node_modules/lodash.isequal/index.js +1 -1
  1042. package/dist/node_modules/lodash.isequal/index.js.map +1 -1
  1043. package/dist/node_modules/lodash.throttle/index.js.map +1 -1
  1044. package/dist/node_modules/query-string/base.js.map +1 -1
  1045. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -1
  1046. package/dist/node_modules/split-on-first/index.js.map +1 -1
  1047. package/dist/node_modules/ua-parser-js/src/ua-parser.js +3 -3
  1048. package/dist/node_modules/ua-parser-js/src/ua-parser.js.map +1 -1
  1049. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  1050. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  1051. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"username-input.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/username-input/username-input.tsx"],"sourcesContent":["import type { UsernameInputProps } from './username-input.types';\n\nimport debounce from 'lodash.debounce';\nimport { useRef } from 'react';\n\nimport { getTheme } from '../../../../ui/theme/get-theme';\nimport { useValidateUsernameDal } from '../../dal/validate-username-dal/validate-username-dal';\nimport {\n ErrorCode,\n type IValidateUsernameResponseDal,\n} from '../../dal/validate-username-dal/validate-username-dal-types';\nimport { InputWrapper } from '../input-wrapper/input-wrapper';\nimport { ErrorMessage, USERNAME_MAX_LENGTH } from './constants';\nimport * as S from './username-input-styled';\n\nexport const UsernameInput = ({\n circleUsername,\n username,\n error,\n isEdit,\n showSpinner,\n setError,\n setUsername,\n setShowSpinner,\n}: UsernameInputProps) => {\n const helperText = `Only letters, _ , & digits allowed.\\nUpto ${USERNAME_MAX_LENGTH} characters.`;\n\n const handleUsernameValidationResponse = (data: IValidateUsernameResponseDal | null) => {\n let err = '';\n\n if (data) {\n if (!data.isValid) {\n err = ErrorMessage.USERNAME_ALEADY_EXISTS;\n if (data.errorCode?.toString() === ErrorCode.USERNAME_NOT_ALLOWED) {\n err = ErrorMessage.USERNAME_NOT_ALLOWED;\n }\n } else {\n err = '';\n }\n } else {\n err = ErrorMessage.SOMETHING_WENT_WRONG;\n }\n\n setError(err);\n };\n\n const { validateUsernameExists } = useValidateUsernameDal(handleUsernameValidationResponse);\n\n const validateUserName = useRef(\n debounce(async (value: string) => {\n let err = '';\n\n setUsername(value);\n\n if (!err) {\n // by pass when new username is same as existing username in edit mode\n if (isEdit && circleUsername === value) {\n err = '';\n } else {\n validateUsernameExists(value);\n }\n }\n setError(err);\n setShowSpinner(false);\n }, 400),\n );\n\n const handleUsername = (value: string) => {\n const usernameRegex = /^[a-z0-9_]*$/; // only letters, numbers and underscore\n\n if (!usernameRegex.test(value)) {\n return;\n }\n setError('');\n\n if (value.length > USERNAME_MAX_LENGTH) {\n return;\n }\n setShowSpinner(true);\n setUsername(value);\n validateUserName.current(value);\n };\n\n return (\n <InputWrapper\n showSpinner={showSpinner}\n helperText={username.length >= USERNAME_MAX_LENGTH ? helperText : error || helperText}\n >\n <S.Input\n value={username}\n onChange={event => handleUsername(event.target.value)}\n autoFocus={true}\n placeholder={'loopy_circle'}\n color={error ? getTheme().colors.RED : showSpinner ? '' : getTheme().colors.GREEN_4}\n autoCapitalize=\"none\"\n />\n </InputWrapper>\n );\n};\n"],"names":["UsernameInput","circleUsername","username","error","isEdit","showSpinner","setError","setUsername","setShowSpinner","helperText","USERNAME_MAX_LENGTH","handleUsernameValidationResponse","data","err","ErrorMessage","_a","ErrorCode","validateUsernameExists","useValidateUsernameDal","validateUserName","useRef","debounce","value","handleUsername","jsx","InputWrapper","S.Input","event","getTheme"],"mappings":";;;;;;;;;AAeO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AACF,MAA0B;AACxB,QAAMC,IAAa;AAAA,OAA6CC,CAAmB,gBAE7EC,IAAmC,CAACC,MAA8C;;AACtF,QAAIC,IAAM;AAEV,IAAID,IACGA,EAAK,UAMFC,IAAA,MALNA,IAAMC,EAAa,0BACfC,IAAAH,EAAK,cAAL,gBAAAG,EAAgB,gBAAeC,EAAU,yBAC3CH,IAAMC,EAAa,yBAMvBD,IAAMC,EAAa,sBAGrBR,EAASO,CAAG;AAAA,EACd,GAEM,EAAE,wBAAAI,EAAA,IAA2BC,EAAuBP,CAAgC,GAEpFQ,IAAmBC;AAAA,IACvBC,EAAS,OAAOC,MAAkB;AAChC,UAAIT,IAAM;AAEV,MAAAN,EAAYe,CAAK,GAEZT,MAECT,KAAUH,MAAmBqB,IACzBT,IAAA,KAENI,EAAuBK,CAAK,IAGhChB,EAASO,CAAG,GACZL,EAAe,EAAK;AAAA,IAAA,GACnB,GAAG;AAAA,EACR,GAEMe,IAAiB,CAACD,MAAkB;AAGxC,IAFsB,eAEH,KAAKA,CAAK,MAG7BhB,EAAS,EAAE,GAEP,EAAAgB,EAAM,SAASZ,OAGnBF,EAAe,EAAI,GACnBD,EAAYe,CAAK,GACjBH,EAAiB,QAAQG,CAAK;AAAA,EAChC;AAGE,SAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAApB;AAAA,MACA,YAAYH,EAAS,UAAUQ,IAAsBD,IAAaN,KAASM;AAAA,MAE3E,UAAA,gBAAAe;AAAA,QAACE;AAAAA,QAAA;AAAA,UACC,OAAOxB;AAAA,UACP,UAAU,CAAAyB,MAASJ,EAAeI,EAAM,OAAO,KAAK;AAAA,UACpD,WAAW;AAAA,UACX,aAAa;AAAA,UACb,OAAOxB,IAAQyB,EAAW,EAAA,OAAO,MAAMvB,IAAc,KAAKuB,IAAW,OAAO;AAAA,UAC5E,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"username-input.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/username-input/username-input.tsx"],"sourcesContent":["import type { UsernameInputProps } from './username-input.types';\n\nimport debounce from 'lodash.debounce';\nimport { useRef } from 'react';\n\nimport { getTheme } from '../../../../ui/theme/get-theme';\nimport { useValidateUsernameDal } from '../../dal/validate-username-dal/validate-username-dal';\nimport {\n ErrorCode,\n type IValidateUsernameResponseDal,\n} from '../../dal/validate-username-dal/validate-username-dal-types';\nimport { InputWrapper } from '../input-wrapper/input-wrapper';\nimport { ErrorMessage, USERNAME_MAX_LENGTH } from './constants';\nimport * as S from './username-input-styled';\n\nexport const UsernameInput = ({\n circleUsername,\n username,\n error,\n isEdit,\n showSpinner,\n setError,\n setUsername,\n setShowSpinner,\n}: UsernameInputProps) => {\n const helperText = `Only letters, _ , & digits allowed.\\nUpto ${USERNAME_MAX_LENGTH} characters.`;\n\n const handleUsernameValidationResponse = (data: IValidateUsernameResponseDal | null) => {\n let err = '';\n\n if (data) {\n if (!data.isValid) {\n err = ErrorMessage.USERNAME_ALEADY_EXISTS;\n if (data.errorCode?.toString() === ErrorCode.USERNAME_NOT_ALLOWED) {\n err = ErrorMessage.USERNAME_NOT_ALLOWED;\n }\n } else {\n err = '';\n }\n } else {\n err = ErrorMessage.SOMETHING_WENT_WRONG;\n }\n\n setError(err);\n };\n\n const { validateUsernameExists } = useValidateUsernameDal(handleUsernameValidationResponse);\n\n const validateUserName = useRef(\n debounce(async (value: string) => {\n let err = '';\n\n setUsername(value);\n\n if (!err) {\n // by pass when new username is same as existing username in edit mode\n if (isEdit && circleUsername === value) {\n err = '';\n } else {\n validateUsernameExists(value);\n }\n }\n setError(err);\n setShowSpinner(false);\n }, 400),\n );\n\n const handleUsername = (value: string) => {\n const usernameRegex = /^[a-z0-9_]*$/; // only letters, numbers and underscore\n\n if (!usernameRegex.test(value)) {\n return;\n }\n setError('');\n\n if (value.length > USERNAME_MAX_LENGTH) {\n return;\n }\n setShowSpinner(true);\n setUsername(value);\n validateUserName.current(value);\n };\n\n return (\n <InputWrapper\n showSpinner={showSpinner}\n helperText={username.length >= USERNAME_MAX_LENGTH ? helperText : error || helperText}\n >\n <S.Input\n value={username}\n onChange={event => handleUsername(event.target.value)}\n autoFocus={true}\n placeholder={'loopy_circle'}\n color={error ? getTheme().colors.RED : showSpinner ? '' : getTheme().colors.GREEN_4}\n autoCapitalize=\"none\"\n />\n </InputWrapper>\n );\n};\n"],"names":["UsernameInput","circleUsername","username","error","isEdit","showSpinner","setError","setUsername","setShowSpinner","helperText","USERNAME_MAX_LENGTH","handleUsernameValidationResponse","data","err","ErrorMessage","_a","ErrorCode","validateUsernameExists","useValidateUsernameDal","validateUserName","useRef","debounce","value","handleUsername","jsx","InputWrapper","S.Input","event","getTheme"],"mappings":";;;;;;;;;AAeO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AACF,MAA0B;AACxB,QAAMC,IAAa;AAAA,OAA6CC,CAAmB,gBAE7EC,IAAmC,CAACC,MAA8C;;AACtF,QAAIC,IAAM;AAEV,IAAID,IACGA,EAAK,UAMFC,IAAA,MALNA,IAAMC,EAAa,0BACfC,IAAAH,EAAK,cAAL,gBAAAG,EAAgB,gBAAeC,EAAU,yBAC3CH,IAAMC,EAAa,yBAMvBD,IAAMC,EAAa,sBAGrBR,EAASO,CAAG;AAAA,EAAA,GAGR,EAAE,wBAAAI,EAAA,IAA2BC,EAAuBP,CAAgC,GAEpFQ,IAAmBC;AAAA,IACvBC,EAAS,OAAOC,MAAkB;AAChC,UAAIT,IAAM;AAEV,MAAAN,EAAYe,CAAK,GAEZT,MAECT,KAAUH,MAAmBqB,IACzBT,IAAA,KAENI,EAAuBK,CAAK,IAGhChB,EAASO,CAAG,GACZL,EAAe,EAAK;AAAA,OACnB,GAAG;AAAA,EAAA,GAGFe,IAAiB,CAACD,MAAkB;AAGxC,IAFsB,eAEH,KAAKA,CAAK,MAG7BhB,EAAS,EAAE,GAEP,EAAAgB,EAAM,SAASZ,OAGnBF,EAAe,EAAI,GACnBD,EAAYe,CAAK,GACjBH,EAAiB,QAAQG,CAAK;AAAA,EAAA;AAI9B,SAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAApB;AAAA,MACA,YAAYH,EAAS,UAAUQ,IAAsBD,IAAaN,KAASM;AAAA,MAE3E,UAAA,gBAAAe;AAAA,QAACE;AAAAA,QAAA;AAAA,UACC,OAAOxB;AAAA,UACP,UAAU,CAAAyB,MAASJ,EAAeI,EAAM,OAAO,KAAK;AAAA,UACpD,WAAW;AAAA,UACX,aAAa;AAAA,UACb,OAAOxB,IAAQyB,EAAW,EAAA,OAAO,MAAMvB,IAAc,KAAKuB,IAAW,OAAO;AAAA,UAC5E,gBAAe;AAAA,QAAA;AAAA,MACjB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-user-dal.js","sources":["../../../../../../src/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.ts"],"sourcesContent":["import type { ICreateUserPayloadDal, ICreateUserResponseDal } from './create-user-dal-types';\n\nimport { useCreateUser } from '../../api/use-create-user-api/use-create-user-api';\n\nexport const useCreateUserDal = (onCompleted: (data: ICreateUserResponseDal | null) => void) => {\n const {\n post: postCreateUser,\n isProcessing,\n ...rest\n } = useCreateUser({\n onComplete(_, response) {\n let data: ICreateUserResponseDal | null = null;\n\n if (response) {\n data = {\n id: response.id,\n grade: response.grade,\n phone: response.phone,\n username: response.username,\n studentId: response.student_id,\n parentUserId: response.parent_user_id,\n circleSunsetTs: response.circle_sunset_ts,\n circleEnrolledUser: response.circle_enrolled_user,\n circleOnLeapSignedUp: response.circle_on_leap_signed_up,\n circleOnLeapSignedUpOn: response.circle_on_leap_signed_up_on,\n circleOnLeapPremiumEnabled: response.circle_on_leap_premium_enabled,\n };\n }\n\n onCompleted(data);\n },\n });\n\n const createUser = ({\n circleOnLeapPremiumEnabled,\n grade,\n username,\n countryCode,\n studentId,\n }: ICreateUserPayloadDal) => {\n postCreateUser({\n action: 'create_user_v2',\n circle_on_leap_premium_enabled: circleOnLeapPremiumEnabled,\n grade,\n username,\n circle_on_leap_signed_up: true,\n country_code: countryCode ?? 'IN',\n intelenrollment_id: studentId,\n });\n };\n\n return {\n createUser,\n isProcessing,\n ...rest,\n };\n};\n"],"names":["useCreateUserDal","onCompleted","postCreateUser","isProcessing","rest","useCreateUser","_","response","data","circleOnLeapPremiumEnabled","grade","username","countryCode","studentId"],"mappings":";AAIa,MAAAA,IAAmB,CAACC,MAA+D;AACxF,QAAA;AAAA,IACJ,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,GAAGC;AAAA,MACDC,EAAc;AAAA,IAChB,WAAWC,GAAGC,GAAU;AACtB,UAAIC,IAAsC;AAE1C,MAAID,MACKC,IAAA;AAAA,QACL,IAAID,EAAS;AAAA,QACb,OAAOA,EAAS;AAAA,QAChB,OAAOA,EAAS;AAAA,QAChB,UAAUA,EAAS;AAAA,QACnB,WAAWA,EAAS;AAAA,QACpB,cAAcA,EAAS;AAAA,QACvB,gBAAgBA,EAAS;AAAA,QACzB,oBAAoBA,EAAS;AAAA,QAC7B,sBAAsBA,EAAS;AAAA,QAC/B,wBAAwBA,EAAS;AAAA,QACjC,4BAA4BA,EAAS;AAAA,MACvC,IAGFN,EAAYO,CAAI;AAAA,IAAA;AAAA,EAClB,CACD;AAoBM,SAAA;AAAA,IACL,YAnBiB,CAAC;AAAA,MAClB,4BAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,IAAA,MAC2B;AACZ,MAAAX,EAAA;AAAA,QACb,QAAQ;AAAA,QACR,gCAAgCO;AAAA,QAChC,OAAAC;AAAA,QACA,UAAAC;AAAA,QACA,0BAA0B;AAAA,QAC1B,cAAcC,KAAe;AAAA,QAC7B,oBAAoBC;AAAA,MAAA,CACrB;AAAA,IACH;AAAA,IAIE,cAAAV;AAAA,IACA,GAAGC;AAAA,EACL;AACF;"}
1
+ {"version":3,"file":"create-user-dal.js","sources":["../../../../../../src/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.ts"],"sourcesContent":["import type { ICreateUserPayloadDal, ICreateUserResponseDal } from './create-user-dal-types';\n\nimport { useCreateUser } from '../../api/use-create-user-api/use-create-user-api';\n\nexport const useCreateUserDal = (onCompleted: (data: ICreateUserResponseDal | null) => void) => {\n const {\n post: postCreateUser,\n isProcessing,\n ...rest\n } = useCreateUser({\n onComplete(_, response) {\n let data: ICreateUserResponseDal | null = null;\n\n if (response) {\n data = {\n id: response.id,\n grade: response.grade,\n phone: response.phone,\n username: response.username,\n studentId: response.student_id,\n parentUserId: response.parent_user_id,\n circleSunsetTs: response.circle_sunset_ts,\n circleEnrolledUser: response.circle_enrolled_user,\n circleOnLeapSignedUp: response.circle_on_leap_signed_up,\n circleOnLeapSignedUpOn: response.circle_on_leap_signed_up_on,\n circleOnLeapPremiumEnabled: response.circle_on_leap_premium_enabled,\n };\n }\n\n onCompleted(data);\n },\n });\n\n const createUser = ({\n circleOnLeapPremiumEnabled,\n grade,\n username,\n countryCode,\n studentId,\n }: ICreateUserPayloadDal) => {\n postCreateUser({\n action: 'create_user_v2',\n circle_on_leap_premium_enabled: circleOnLeapPremiumEnabled,\n grade,\n username,\n circle_on_leap_signed_up: true,\n country_code: countryCode ?? 'IN',\n intelenrollment_id: studentId,\n });\n };\n\n return {\n createUser,\n isProcessing,\n ...rest,\n };\n};\n"],"names":["useCreateUserDal","onCompleted","postCreateUser","isProcessing","rest","useCreateUser","_","response","data","circleOnLeapPremiumEnabled","grade","username","countryCode","studentId"],"mappings":";AAIa,MAAAA,IAAmB,CAACC,MAA+D;AACxF,QAAA;AAAA,IACJ,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,GAAGC;AAAA,MACDC,EAAc;AAAA,IAChB,WAAWC,GAAGC,GAAU;AACtB,UAAIC,IAAsC;AAE1C,MAAID,MACKC,IAAA;AAAA,QACL,IAAID,EAAS;AAAA,QACb,OAAOA,EAAS;AAAA,QAChB,OAAOA,EAAS;AAAA,QAChB,UAAUA,EAAS;AAAA,QACnB,WAAWA,EAAS;AAAA,QACpB,cAAcA,EAAS;AAAA,QACvB,gBAAgBA,EAAS;AAAA,QACzB,oBAAoBA,EAAS;AAAA,QAC7B,sBAAsBA,EAAS;AAAA,QAC/B,wBAAwBA,EAAS;AAAA,QACjC,4BAA4BA,EAAS;AAAA,MAAA,IAIzCN,EAAYO,CAAI;AAAA,IAClB;AAAA,EAAA,CACD;AAoBM,SAAA;AAAA,IACL,YAnBiB,CAAC;AAAA,MAClB,4BAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,IAAA,MAC2B;AACZ,MAAAX,EAAA;AAAA,QACb,QAAQ;AAAA,QACR,gCAAgCO;AAAA,QAChC,OAAAC;AAAA,QACA,UAAAC;AAAA,QACA,0BAA0B;AAAA,QAC1B,cAAcC,KAAe;AAAA,QAC7B,oBAAoBC;AAAA,MAAA,CACrB;AAAA,IAAA;AAAA,IAKD,cAAAV;AAAA,IACA,GAAGC;AAAA,EAAA;AAEP;"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-user-dal.js","sources":["../../../../../../src/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.ts"],"sourcesContent":["import type { IUpdateUserPayloadDal, IUpdateUserResponseDal } from './update-user-dal-types';\n\nimport { useUpdateUser } from '../../api/use-update-user-api/use-update-user-api';\n\nexport const useUpdateUserDal = (onCompleted: (data: IUpdateUserResponseDal | null) => void) => {\n const {\n post: postUpdateUser,\n isProcessing,\n ...rest\n } = useUpdateUser({\n onComplete(_, response) {\n let data: IUpdateUserResponseDal | null = null;\n\n if (response) {\n data = {\n id: response.id,\n grade: response.grade,\n phone: response.phone,\n username: response.username,\n studentId: response.student_id,\n parentUserId: response.parent_user_id,\n circleSunsetTs: response.circle_sunset_ts,\n circleEnrolledUser: response.circle_enrolled_user,\n circleOnLeapSignedUp: response.circle_on_leap_signed_up,\n circleOnLeapSignedUpOn: response.circle_on_leap_signed_up_on,\n circleOnLeapPremiumEnabled: response.circle_on_leap_premium_enabled,\n };\n }\n\n onCompleted(data);\n },\n });\n\n const updateUser = ({\n circleOnLeapPremiumEnabled,\n grade,\n username,\n studentId,\n }: IUpdateUserPayloadDal) => {\n postUpdateUser({\n action: 'update_user_v2',\n circle_on_leap_premium_enabled: circleOnLeapPremiumEnabled,\n circle_on_leap_signed_up: true,\n grade,\n username,\n intelenrollment_id: studentId,\n });\n };\n\n return {\n updateUser,\n isProcessing,\n ...rest,\n };\n};\n"],"names":["useUpdateUserDal","onCompleted","postUpdateUser","isProcessing","rest","useUpdateUser","response","data","circleOnLeapPremiumEnabled","grade","username","studentId"],"mappings":";AAIa,MAAAA,IAAmB,CAACC,MAA+D;AACxF,QAAA;AAAA,IACJ,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,GAAGC;AAAA,MACDC,EAAc;AAAA,IAChB,WAAW,GAAGC,GAAU;AACtB,UAAIC,IAAsC;AAE1C,MAAID,MACKC,IAAA;AAAA,QACL,IAAID,EAAS;AAAA,QACb,OAAOA,EAAS;AAAA,QAChB,OAAOA,EAAS;AAAA,QAChB,UAAUA,EAAS;AAAA,QACnB,WAAWA,EAAS;AAAA,QACpB,cAAcA,EAAS;AAAA,QACvB,gBAAgBA,EAAS;AAAA,QACzB,oBAAoBA,EAAS;AAAA,QAC7B,sBAAsBA,EAAS;AAAA,QAC/B,wBAAwBA,EAAS;AAAA,QACjC,4BAA4BA,EAAS;AAAA,MACvC,IAGFL,EAAYM,CAAI;AAAA,IAAA;AAAA,EAClB,CACD;AAkBM,SAAA;AAAA,IACL,YAjBiB,CAAC;AAAA,MAClB,4BAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,WAAAC;AAAA,IAAA,MAC2B;AACZ,MAAAT,EAAA;AAAA,QACb,QAAQ;AAAA,QACR,gCAAgCM;AAAA,QAChC,0BAA0B;AAAA,QAC1B,OAAAC;AAAA,QACA,UAAAC;AAAA,QACA,oBAAoBC;AAAA,MAAA,CACrB;AAAA,IACH;AAAA,IAIE,cAAAR;AAAA,IACA,GAAGC;AAAA,EACL;AACF;"}
1
+ {"version":3,"file":"update-user-dal.js","sources":["../../../../../../src/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.ts"],"sourcesContent":["import type { IUpdateUserPayloadDal, IUpdateUserResponseDal } from './update-user-dal-types';\n\nimport { useUpdateUser } from '../../api/use-update-user-api/use-update-user-api';\n\nexport const useUpdateUserDal = (onCompleted: (data: IUpdateUserResponseDal | null) => void) => {\n const {\n post: postUpdateUser,\n isProcessing,\n ...rest\n } = useUpdateUser({\n onComplete(_, response) {\n let data: IUpdateUserResponseDal | null = null;\n\n if (response) {\n data = {\n id: response.id,\n grade: response.grade,\n phone: response.phone,\n username: response.username,\n studentId: response.student_id,\n parentUserId: response.parent_user_id,\n circleSunsetTs: response.circle_sunset_ts,\n circleEnrolledUser: response.circle_enrolled_user,\n circleOnLeapSignedUp: response.circle_on_leap_signed_up,\n circleOnLeapSignedUpOn: response.circle_on_leap_signed_up_on,\n circleOnLeapPremiumEnabled: response.circle_on_leap_premium_enabled,\n };\n }\n\n onCompleted(data);\n },\n });\n\n const updateUser = ({\n circleOnLeapPremiumEnabled,\n grade,\n username,\n studentId,\n }: IUpdateUserPayloadDal) => {\n postUpdateUser({\n action: 'update_user_v2',\n circle_on_leap_premium_enabled: circleOnLeapPremiumEnabled,\n circle_on_leap_signed_up: true,\n grade,\n username,\n intelenrollment_id: studentId,\n });\n };\n\n return {\n updateUser,\n isProcessing,\n ...rest,\n };\n};\n"],"names":["useUpdateUserDal","onCompleted","postUpdateUser","isProcessing","rest","useUpdateUser","response","data","circleOnLeapPremiumEnabled","grade","username","studentId"],"mappings":";AAIa,MAAAA,IAAmB,CAACC,MAA+D;AACxF,QAAA;AAAA,IACJ,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,GAAGC;AAAA,MACDC,EAAc;AAAA,IAChB,WAAW,GAAGC,GAAU;AACtB,UAAIC,IAAsC;AAE1C,MAAID,MACKC,IAAA;AAAA,QACL,IAAID,EAAS;AAAA,QACb,OAAOA,EAAS;AAAA,QAChB,OAAOA,EAAS;AAAA,QAChB,UAAUA,EAAS;AAAA,QACnB,WAAWA,EAAS;AAAA,QACpB,cAAcA,EAAS;AAAA,QACvB,gBAAgBA,EAAS;AAAA,QACzB,oBAAoBA,EAAS;AAAA,QAC7B,sBAAsBA,EAAS;AAAA,QAC/B,wBAAwBA,EAAS;AAAA,QACjC,4BAA4BA,EAAS;AAAA,MAAA,IAIzCL,EAAYM,CAAI;AAAA,IAClB;AAAA,EAAA,CACD;AAkBM,SAAA;AAAA,IACL,YAjBiB,CAAC;AAAA,MAClB,4BAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,WAAAC;AAAA,IAAA,MAC2B;AACZ,MAAAT,EAAA;AAAA,QACb,QAAQ;AAAA,QACR,gCAAgCM;AAAA,QAChC,0BAA0B;AAAA,QAC1B,OAAAC;AAAA,QACA,UAAAC;AAAA,QACA,oBAAoBC;AAAA,MAAA,CACrB;AAAA,IAAA;AAAA,IAKD,cAAAR;AAAA,IACA,GAAGC;AAAA,EAAA;AAEP;"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-username-dal.js","sources":["../../../../../../src/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.ts"],"sourcesContent":["import type { ErrorCode, IValidateUsernameResponseDal } from './validate-username-dal-types';\n\nimport { useState } from 'react';\n\nimport { useValidateUserName } from '../../api/use-validate-username-api/use-validate-user-api';\n\nexport const useValidateUsernameDal = (\n onCompleted: (data: IValidateUsernameResponseDal | null) => void,\n) => {\n const [isValid, setIsValid] = useState<boolean | null>(null);\n\n const {\n post: validateUsername,\n isProcessing,\n ...rest\n } = useValidateUserName({\n onComplete(_, response) {\n let data: IValidateUsernameResponseDal | null = null;\n\n if (response) {\n data = {\n isValid: response.is_valid,\n errorCode: response.error_code as ErrorCode,\n message: response.message,\n };\n }\n\n onCompleted(data);\n },\n });\n\n const validateUsernameExists = (username: string) => {\n setIsValid(null);\n validateUsername({ username: username, action: 'validate_user_name_v2' });\n };\n\n return {\n validateUsernameExists,\n isValid,\n isProcessing,\n ...rest,\n };\n};\n"],"names":["useValidateUsernameDal","onCompleted","isValid","setIsValid","useState","validateUsername","isProcessing","rest","useValidateUserName","_","response","data","username"],"mappings":";;AAMa,MAAAA,IAAyB,CACpCC,MACG;AACH,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAyB,IAAI,GAErD;AAAA,IACJ,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,GAAGC;AAAA,MACDC,EAAoB;AAAA,IACtB,WAAWC,GAAGC,GAAU;AACtB,UAAIC,IAA4C;AAEhD,MAAID,MACKC,IAAA;AAAA,QACL,SAASD,EAAS;AAAA,QAClB,WAAWA,EAAS;AAAA,QACpB,SAASA,EAAS;AAAA,MACpB,IAGFT,EAAYU,CAAI;AAAA,IAAA;AAAA,EAClB,CACD;AAOM,SAAA;AAAA,IACL,wBAN6B,CAACC,MAAqB;AACnD,MAAAT,EAAW,IAAI,GACfE,EAAiB,EAAE,UAAAO,GAAoB,QAAQ,wBAAA,CAAyB;AAAA,IAC1E;AAAA,IAIE,SAAAV;AAAA,IACA,cAAAI;AAAA,IACA,GAAGC;AAAA,EACL;AACF;"}
1
+ {"version":3,"file":"validate-username-dal.js","sources":["../../../../../../src/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.ts"],"sourcesContent":["import type { ErrorCode, IValidateUsernameResponseDal } from './validate-username-dal-types';\n\nimport { useState } from 'react';\n\nimport { useValidateUserName } from '../../api/use-validate-username-api/use-validate-user-api';\n\nexport const useValidateUsernameDal = (\n onCompleted: (data: IValidateUsernameResponseDal | null) => void,\n) => {\n const [isValid, setIsValid] = useState<boolean | null>(null);\n\n const {\n post: validateUsername,\n isProcessing,\n ...rest\n } = useValidateUserName({\n onComplete(_, response) {\n let data: IValidateUsernameResponseDal | null = null;\n\n if (response) {\n data = {\n isValid: response.is_valid,\n errorCode: response.error_code as ErrorCode,\n message: response.message,\n };\n }\n\n onCompleted(data);\n },\n });\n\n const validateUsernameExists = (username: string) => {\n setIsValid(null);\n validateUsername({ username: username, action: 'validate_user_name_v2' });\n };\n\n return {\n validateUsernameExists,\n isValid,\n isProcessing,\n ...rest,\n };\n};\n"],"names":["useValidateUsernameDal","onCompleted","isValid","setIsValid","useState","validateUsername","isProcessing","rest","useValidateUserName","_","response","data","username"],"mappings":";;AAMa,MAAAA,IAAyB,CACpCC,MACG;AACH,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAyB,IAAI,GAErD;AAAA,IACJ,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,GAAGC;AAAA,MACDC,EAAoB;AAAA,IACtB,WAAWC,GAAGC,GAAU;AACtB,UAAIC,IAA4C;AAEhD,MAAID,MACKC,IAAA;AAAA,QACL,SAASD,EAAS;AAAA,QAClB,WAAWA,EAAS;AAAA,QACpB,SAASA,EAAS;AAAA,MAAA,IAItBT,EAAYU,CAAI;AAAA,IAClB;AAAA,EAAA,CACD;AAOM,SAAA;AAAA,IACL,wBAN6B,CAACC,MAAqB;AACnD,MAAAT,EAAW,IAAI,GACfE,EAAiB,EAAE,UAAAO,GAAoB,QAAQ,wBAAyB,CAAA;AAAA,IAAA;AAAA,IAKxE,SAAAV;AAAA,IACA,cAAAI;AAAA,IACA,GAAGC;AAAA,EAAA;AAEP;"}
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sources":["../../../../src/features/circle-games/sign-up/helper.ts"],"sourcesContent":["import type { State } from './sign-up-types';\n\nimport { userIsEnrolledCases, userIsOnTrialCases } from './constants';\n\nexport const getSplashScreenText = ({\n state,\n circleEnrolledUser,\n mathGymEnrolledUser,\n}: {\n state: State;\n circleEnrolledUser: boolean;\n mathGymEnrolledUser: boolean;\n}) => {\n if (userIsOnTrialCases.includes(state)) {\n return 'Welcome to Circle – Your Daily Dose of Math Games, Puzzles, and Skills!';\n }\n\n if (!mathGymEnrolledUser && !circleEnrolledUser) {\n return 'Welcome to Circle – Your Daily Dose of Math Games, Puzzles, and Skills!';\n }\n\n if (mathGymEnrolledUser && !circleEnrolledUser) {\n return 'We have launched Circle on our web app. Your points and streaks are safe.';\n }\n\n if (!mathGymEnrolledUser && circleEnrolledUser) {\n return 'We have merged Math gym and Circle. Your points and streaks are safe.';\n }\n\n if (mathGymEnrolledUser && circleEnrolledUser) {\n return 'We have upgraded your Math gym experience. Your points and streaks are safe.';\n }\n};\n\nexport const getTrialScreenUsername = (\n state: State,\n): {\n primaryText: string;\n secondaryText: string;\n} => {\n if (userIsEnrolledCases.includes(state)) {\n return {\n primaryText: 'All set! Enjoy ',\n secondaryText: 'Premium access with your enrollment',\n };\n }\n\n if (userIsOnTrialCases.includes(state)) {\n return {\n primaryText: 'We’ve unlocked',\n secondaryText: 'Premium access for you',\n };\n }\n\n return {\n primaryText: 'We’ve unlocked',\n secondaryText: 'Premium access for you',\n };\n};\n"],"names":["getSplashScreenText","state","circleEnrolledUser","mathGymEnrolledUser","userIsOnTrialCases","getTrialScreenUsername","userIsEnrolledCases"],"mappings":";AAIO,MAAMA,IAAsB,CAAC;AAAA,EAClC,OAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,qBAAAC;AACF,MAIM;AAKA,MAJAC,EAAmB,SAASH,CAAK,KAIjC,CAACE,KAAuB,CAACD;AACpB,WAAA;AAGL,MAAAC,KAAuB,CAACD;AACnB,WAAA;AAGL,MAAA,CAACC,KAAuBD;AACnB,WAAA;AAGT,MAAIC,KAAuBD;AAClB,WAAA;AAEX,GAEaG,IAAyB,CACpCJ,MAKIK,EAAoB,SAASL,CAAK,IAC7B;AAAA,EACL,aAAa;AAAA,EACb,eAAe;AACjB,IAGEG,EAAmB,SAASH,CAAK,IAC5B;AAAA,EACL,aAAa;AAAA,EACb,eAAe;AACjB,IAGK;AAAA,EACL,aAAa;AAAA,EACb,eAAe;AACjB;"}
1
+ {"version":3,"file":"helper.js","sources":["../../../../src/features/circle-games/sign-up/helper.ts"],"sourcesContent":["import type { State } from './sign-up-types';\n\nimport { userIsEnrolledCases, userIsOnTrialCases } from './constants';\n\nexport const getSplashScreenText = ({\n state,\n circleEnrolledUser,\n mathGymEnrolledUser,\n}: {\n state: State;\n circleEnrolledUser: boolean;\n mathGymEnrolledUser: boolean;\n}) => {\n if (userIsOnTrialCases.includes(state)) {\n return 'Welcome to Circle – Your Daily Dose of Math Games, Puzzles, and Skills!';\n }\n\n if (!mathGymEnrolledUser && !circleEnrolledUser) {\n return 'Welcome to Circle – Your Daily Dose of Math Games, Puzzles, and Skills!';\n }\n\n if (mathGymEnrolledUser && !circleEnrolledUser) {\n return 'We have launched Circle on our web app. Your points and streaks are safe.';\n }\n\n if (!mathGymEnrolledUser && circleEnrolledUser) {\n return 'We have merged Math gym and Circle. Your points and streaks are safe.';\n }\n\n if (mathGymEnrolledUser && circleEnrolledUser) {\n return 'We have upgraded your Math gym experience. Your points and streaks are safe.';\n }\n};\n\nexport const getTrialScreenUsername = (\n state: State,\n): {\n primaryText: string;\n secondaryText: string;\n} => {\n if (userIsEnrolledCases.includes(state)) {\n return {\n primaryText: 'All set! Enjoy ',\n secondaryText: 'Premium access with your enrollment',\n };\n }\n\n if (userIsOnTrialCases.includes(state)) {\n return {\n primaryText: 'We’ve unlocked',\n secondaryText: 'Premium access for you',\n };\n }\n\n return {\n primaryText: 'We’ve unlocked',\n secondaryText: 'Premium access for you',\n };\n};\n"],"names":["getSplashScreenText","state","circleEnrolledUser","mathGymEnrolledUser","userIsOnTrialCases","getTrialScreenUsername","userIsEnrolledCases"],"mappings":";AAIO,MAAMA,IAAsB,CAAC;AAAA,EAClC,OAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,qBAAAC;AACF,MAIM;AAKA,MAJAC,EAAmB,SAASH,CAAK,KAIjC,CAACE,KAAuB,CAACD;AACpB,WAAA;AAGL,MAAAC,KAAuB,CAACD;AACnB,WAAA;AAGL,MAAA,CAACC,KAAuBD;AACnB,WAAA;AAGT,MAAIC,KAAuBD;AAClB,WAAA;AAEX,GAEaG,IAAyB,CACpCJ,MAKIK,EAAoB,SAASL,CAAK,IAC7B;AAAA,EACL,aAAa;AAAA,EACb,eAAe;AAAA,IAIfG,EAAmB,SAASH,CAAK,IAC5B;AAAA,EACL,aAAa;AAAA,EACb,eAAe;AAAA,IAIZ;AAAA,EACL,aAAa;AAAA,EACb,eAAe;AAAA;"}
@@ -4,16 +4,16 @@ import { ILLUSTRATIONS as S } from "../../../assets/illustrations/illustrations.
4
4
  import E from "../../ui/image/image.js";
5
5
  import H from "../../ui/text/text.js";
6
6
  import { CircularSteps as ne } from "./comp/circular-steps/circular-steps.js";
7
- import { SelectUserGrade as oe, GradeInputBox as le } from "./comp/select-user-grade/select-user-grade.js";
7
+ import { GradeInputBox as oe, SelectUserGrade as le } from "./comp/select-user-grade/select-user-grade.js";
8
8
  import { Spinner as ie } from "./comp/spinner/spinner.js";
9
9
  import { SplashScreen as ae } from "./comp/splash-screen/splash-screen.js";
10
10
  import { ErrorMessage as $ } from "./comp/username-input/constants.js";
11
11
  import { UsernameInput as ue } from "./comp/username-input/username-input.js";
12
- import { GRADES as L, CONTAINER_HEIGHT as ce, CONTAINER_WIDTH as pe } from "./constants.js";
12
+ import { GRADES as L, CONTAINER_WIDTH as ce, CONTAINER_HEIGHT as pe } from "./constants.js";
13
13
  import { useCreateUserDal as de } from "./dal/create-user-dal/create-user-dal.js";
14
14
  import { useUpdateUserDal as Se } from "./dal/update-user-dal/update-user-dal.js";
15
15
  import { getTrialScreenUsername as me, getSplashScreenText as he } from "./helper.js";
16
- import { BottomButtonContainer as T, ThemeText as fe, SignupBtn as I, SmileyImage as ge, BackgroundOverlay as Ee, SignUpWrapper as Te, SignUpContainer as Ie, SignupText as Re } from "./sign-up-styled.js";
16
+ import { BottomButtonContainer as T, SignupBtn as I, SmileyImage as fe, ThemeText as ge, BackgroundOverlay as Ee, SignUpWrapper as Te, SignUpContainer as Ie, SignupText as Re } from "./sign-up-styled.js";
17
17
  const $e = ({
18
18
  mathGymEnrolledUser: R,
19
19
  circleEnrolledUser: b,
@@ -95,7 +95,7 @@ const $e = ({
95
95
  id: "step-1",
96
96
  label: "What’s your school grade?",
97
97
  custEle: null,
98
- custEleInsideStep: /* @__PURE__ */ t(le, { gradeInfo: r, showSpinner: d }),
98
+ custEleInsideStep: /* @__PURE__ */ t(oe, { gradeInfo: r, showSpinner: d }),
99
99
  background: /* @__PURE__ */ t(
100
100
  E,
101
101
  {
@@ -107,7 +107,7 @@ const $e = ({
107
107
  }
108
108
  ),
109
109
  custEleBelowStep: /* @__PURE__ */ t(
110
- oe,
110
+ le,
111
111
  {
112
112
  grades: L,
113
113
  selected: (r == null ? void 0 : r.key) || null,
@@ -160,7 +160,7 @@ const $e = ({
160
160
  id: "step-3",
161
161
  label: null,
162
162
  custEle: null,
163
- custEleInsideStep: /* @__PURE__ */ t(ge, { src: S.SMILEY, height: "100%", width: "100%", alt: "play" }),
163
+ custEleInsideStep: /* @__PURE__ */ t(fe, { src: S.SMILEY, height: "100%", width: "100%", alt: "play" }),
164
164
  background: /* @__PURE__ */ t(
165
165
  E,
166
166
  {
@@ -174,7 +174,7 @@ const $e = ({
174
174
  custEleBelowStep: /* @__PURE__ */ a(T, { children: [
175
175
  /* @__PURE__ */ a(H, { $renderAs: "ab1", $color: "WHITE", children: [
176
176
  G.primaryText,
177
- A && /* @__PURE__ */ a(fe, { children: [
177
+ A && /* @__PURE__ */ a(ge, { children: [
178
178
  " ",
179
179
  A,
180
180
  " days of FREE"
@@ -197,7 +197,7 @@ const $e = ({
197
197
  }, O = {
198
198
  steps: [z, J, Q, Z],
199
199
  currentStepIndex: 0,
200
- dimensions: { width: pe, height: ce }
200
+ dimensions: { width: ce, height: pe }
201
201
  };
202
202
  return se(() => () => {
203
203
  l(!1), u(""), w(null), p("");
@@ -1 +1 @@
1
- {"version":3,"file":"sign-up.js","sources":["../../../../src/features/circle-games/sign-up/sign-up.tsx"],"sourcesContent":["import type {\n ICircularSteps,\n ICircularStepsProps,\n} from './comp/circular-steps/circular-steps-types';\nimport type { Grade } from './comp/grade-input/grade-input-types';\nimport type { ICreateUserResponseDal } from './dal/create-user-dal/create-user-dal-types';\nimport type { IUpdateUserPayloadDal } from './dal/update-user-dal/update-user-dal-types';\nimport type { ISignUpProps } from './sign-up-types';\n\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport Image from '../../ui/image/image';\nimport Text from '../../ui/text/text';\nimport { CircularSteps } from './comp/circular-steps/circular-steps';\nimport { GradeInputBox, SelectUserGrade } from './comp/select-user-grade/select-user-grade';\nimport { Spinner } from './comp/spinner/spinner';\nimport { SplashScreen } from './comp/splash-screen/splash-screen';\nimport { ErrorMessage } from './comp/username-input/constants';\nimport { UsernameInput } from './comp/username-input/username-input';\nimport { CONTAINER_HEIGHT, CONTAINER_WIDTH, GRADES } from './constants';\nimport { useCreateUserDal } from './dal/create-user-dal/create-user-dal';\nimport { useUpdateUserDal } from './dal/update-user-dal/update-user-dal';\nimport { getSplashScreenText, getTrialScreenUsername } from './helper';\nimport * as Styled from './sign-up-styled';\n\nexport const SignUp = ({\n mathGymEnrolledUser,\n circleEnrolledUser,\n circleOnLeapPremiumDays,\n circleUsername,\n countryCode,\n grade: defaultGrade,\n state,\n circleOnLeapPremiumEnabled,\n studentId,\n isSignUpProcessing,\n onCreateUser,\n onUpdateUser,\n onSignupStepsComplete,\n}: ISignUpProps) => {\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const [username, setUsername] = useState(circleUsername);\n const [error, setError] = useState('');\n const [grade, setGrade] = useState<Grade | null>(\n GRADES.find(g => g.key === defaultGrade) ?? null,\n );\n const [showSpinner, setShowSpinner] = useState(false);\n const trialScreenContent = getTrialScreenUsername(state);\n\n const userCreateUpdateResponseData = useRef<\n ICreateUserResponseDal | IUpdateUserPayloadDal | null\n >(null);\n\n const [splashBtnVisible, setSplashBtnVisible] = useState(false);\n const [splashTxtVisible, setSplashTxtVisible] = useState(false);\n\n const handleCreateUserResponse = (data: ICreateUserResponseDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onCreateUser && onCreateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n const handleUpdateUserResponse = (data: IUpdateUserPayloadDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onUpdateUser && onUpdateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n\n const { createUser } = useCreateUserDal(handleCreateUserResponse);\n const { updateUser } = useUpdateUserDal(handleUpdateUserResponse);\n\n // Animate the text and btns after the splash animation is completed in splash screen\n const onSplashScreenBgAnimationComplete = () => {\n setSplashTxtVisible(true);\n setTimeout(() => {\n setSplashBtnVisible(true);\n }, 500);\n };\n\n const handleGradeSelect = async (_grade: Grade) => {\n setGrade(_grade);\n };\n\n const handleUsernameSubmit = useCallback(async () => {\n setShowSpinner(true);\n if (error !== '') {\n return;\n }\n\n if (circleUsername === '' || circleUsername === undefined || circleUsername === null) {\n createUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n countryCode,\n studentId,\n });\n } else {\n updateUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n studentId,\n });\n }\n }, [\n circleOnLeapPremiumEnabled,\n circleUsername,\n countryCode,\n createUser,\n error,\n grade?.key,\n studentId,\n updateUser,\n username,\n ]);\n\n const goToNextStep = () => {\n setCurrentStepIndex(prev => {\n if (prev === SignupProps.steps.length - 1) {\n onSignupStepsComplete(userCreateUpdateResponseData.current);\n\n return prev;\n }\n\n return prev + 1;\n });\n };\n\n const goToPrevStep = () => {\n if (showSpinner) {\n return;\n }\n setCurrentStepIndex(prev => {\n if (prev === 0) {\n return prev;\n }\n\n return prev - 1;\n });\n };\n\n const splashScreenStep: ICircularSteps = {\n id: 'step-0',\n label: null,\n custEle: null,\n custEleInsideStep: null,\n background: <SplashScreen animationCompleted={onSplashScreenBgAnimationComplete} />,\n custEleBelowStep: (\n <Styled.BottomButtonContainer paddingX={mathGymEnrolledUser && circleEnrolledUser ? 1 : 2.5}>\n {splashTxtVisible && (\n <Styled.SignupText $renderAs=\"ab2\" $color=\"WHITE\" $align=\"center\">\n {getSplashScreenText({ state, circleEnrolledUser, mathGymEnrolledUser })}\n </Styled.SignupText>\n )}\n {splashBtnVisible && (\n <Styled.SignupBtn\n label=\"Let’s start\"\n renderAs=\"secondary\"\n marginTop={24}\n width={144}\n isVisible={true}\n onClick={() => {\n goToNextStep();\n setSplashTxtVisible(false);\n setSplashBtnVisible(false);\n }}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n isProgressAnimationRequired: false,\n };\n\n const gradeStep: ICircularSteps = {\n id: 'step-1',\n label: 'What’s your school grade?',\n custEle: null,\n custEleInsideStep: <GradeInputBox gradeInfo={grade} showSpinner={showSpinner} />,\n background: (\n <Image\n src={ILLUSTRATIONS.GRADE_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <SelectUserGrade\n grades={GRADES}\n selected={grade?.key || null}\n onSelect={_grade => handleGradeSelect(_grade)}\n onNext={goToNextStep}\n />\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const usernameStep: ICircularSteps = {\n id: 'step-2',\n label: 'Claim your unique alias',\n custEle: null,\n custEleInsideStep: (\n <UsernameInput\n username={username}\n circleUsername={circleUsername}\n isEdit={false}\n error={error}\n setError={setError}\n showSpinner={showSpinner}\n setShowSpinner={setShowSpinner}\n setUsername={setUsername}\n />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_PROFILE_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n {username !== '' && (\n <Styled.SignupBtn\n label=\"Next\"\n disabled={showSpinner || error !== ''}\n renderAs=\"secondary\"\n onClick={() => handleUsernameSubmit()}\n marginTop={88}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const trialScreenStep: ICircularSteps = {\n id: 'step-3',\n label: null,\n custEle: null,\n custEleInsideStep: (\n <Styled.SmileyImage src={ILLUSTRATIONS.SMILEY} height={'100%'} width={'100%'} alt=\"play\" />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_CROWN_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.primaryText}\n {circleOnLeapPremiumDays && (\n <Styled.ThemeText> {circleOnLeapPremiumDays} days of FREE</Styled.ThemeText>\n )}\n </Text>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.secondaryText}\n </Text>\n {isSignUpProcessing ? (\n <Spinner marginY={24} />\n ) : (\n <Styled.SignupBtn\n label=\"Woohoo! Let me in!\"\n renderAs=\"secondary\"\n marginTop={24}\n width={250}\n onClick={() => goToNextStep()}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: isSignUpProcessing ? undefined : goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const SignupProps: ICircularStepsProps = {\n steps: [splashScreenStep, gradeStep, usernameStep, trialScreenStep],\n currentStepIndex: 0,\n dimensions: { width: CONTAINER_WIDTH, height: CONTAINER_HEIGHT },\n };\n\n // Reset states on unmount\n useEffect(() => {\n return () => {\n setShowSpinner(false);\n setUsername('');\n setGrade(null);\n setError('');\n };\n }, []);\n\n return (\n <>\n <Styled.BackgroundOverlay />\n <Styled.SignUpWrapper>\n <Styled.SignUpContainer>\n <CircularSteps {...SignupProps} currentStepIndex={currentStepIndex} />\n </Styled.SignUpContainer>\n </Styled.SignUpWrapper>\n </>\n );\n};\n"],"names":["SignUp","mathGymEnrolledUser","circleEnrolledUser","circleOnLeapPremiumDays","circleUsername","countryCode","defaultGrade","state","circleOnLeapPremiumEnabled","studentId","isSignUpProcessing","onCreateUser","onUpdateUser","onSignupStepsComplete","currentStepIndex","setCurrentStepIndex","useState","username","setUsername","error","setError","grade","setGrade","GRADES","g","showSpinner","setShowSpinner","trialScreenContent","getTrialScreenUsername","userCreateUpdateResponseData","useRef","splashBtnVisible","setSplashBtnVisible","splashTxtVisible","setSplashTxtVisible","handleCreateUserResponse","data","goToNextStep","ErrorMessage","handleUpdateUserResponse","createUser","useCreateUserDal","updateUser","useUpdateUserDal","onSplashScreenBgAnimationComplete","handleGradeSelect","_grade","handleUsernameSubmit","useCallback","prev","SignupProps","goToPrevStep","splashScreenStep","jsx","SplashScreen","Styled.BottomButtonContainer","Styled.SignupText","Styled.SignupBtn","gradeStep","GradeInputBox","Image","ILLUSTRATIONS","SelectUserGrade","usernameStep","UsernameInput","trialScreenStep","Styled.SmileyImage","jsxs","Text","Styled.ThemeText","Spinner","CONTAINER_WIDTH","CONTAINER_HEIGHT","useEffect","Fragment","Styled.BackgroundOverlay","Styled.SignUpWrapper","Styled.SignUpContainer","CircularSteps"],"mappings":"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"}
1
+ {"version":3,"file":"sign-up.js","sources":["../../../../src/features/circle-games/sign-up/sign-up.tsx"],"sourcesContent":["import type {\n ICircularSteps,\n ICircularStepsProps,\n} from './comp/circular-steps/circular-steps-types';\nimport type { Grade } from './comp/grade-input/grade-input-types';\nimport type { ICreateUserResponseDal } from './dal/create-user-dal/create-user-dal-types';\nimport type { IUpdateUserPayloadDal } from './dal/update-user-dal/update-user-dal-types';\nimport type { ISignUpProps } from './sign-up-types';\n\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport Image from '../../ui/image/image';\nimport Text from '../../ui/text/text';\nimport { CircularSteps } from './comp/circular-steps/circular-steps';\nimport { GradeInputBox, SelectUserGrade } from './comp/select-user-grade/select-user-grade';\nimport { Spinner } from './comp/spinner/spinner';\nimport { SplashScreen } from './comp/splash-screen/splash-screen';\nimport { ErrorMessage } from './comp/username-input/constants';\nimport { UsernameInput } from './comp/username-input/username-input';\nimport { CONTAINER_HEIGHT, CONTAINER_WIDTH, GRADES } from './constants';\nimport { useCreateUserDal } from './dal/create-user-dal/create-user-dal';\nimport { useUpdateUserDal } from './dal/update-user-dal/update-user-dal';\nimport { getSplashScreenText, getTrialScreenUsername } from './helper';\nimport * as Styled from './sign-up-styled';\n\nexport const SignUp = ({\n mathGymEnrolledUser,\n circleEnrolledUser,\n circleOnLeapPremiumDays,\n circleUsername,\n countryCode,\n grade: defaultGrade,\n state,\n circleOnLeapPremiumEnabled,\n studentId,\n isSignUpProcessing,\n onCreateUser,\n onUpdateUser,\n onSignupStepsComplete,\n}: ISignUpProps) => {\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const [username, setUsername] = useState(circleUsername);\n const [error, setError] = useState('');\n const [grade, setGrade] = useState<Grade | null>(\n GRADES.find(g => g.key === defaultGrade) ?? null,\n );\n const [showSpinner, setShowSpinner] = useState(false);\n const trialScreenContent = getTrialScreenUsername(state);\n\n const userCreateUpdateResponseData = useRef<\n ICreateUserResponseDal | IUpdateUserPayloadDal | null\n >(null);\n\n const [splashBtnVisible, setSplashBtnVisible] = useState(false);\n const [splashTxtVisible, setSplashTxtVisible] = useState(false);\n\n const handleCreateUserResponse = (data: ICreateUserResponseDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onCreateUser && onCreateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n const handleUpdateUserResponse = (data: IUpdateUserPayloadDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onUpdateUser && onUpdateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n\n const { createUser } = useCreateUserDal(handleCreateUserResponse);\n const { updateUser } = useUpdateUserDal(handleUpdateUserResponse);\n\n // Animate the text and btns after the splash animation is completed in splash screen\n const onSplashScreenBgAnimationComplete = () => {\n setSplashTxtVisible(true);\n setTimeout(() => {\n setSplashBtnVisible(true);\n }, 500);\n };\n\n const handleGradeSelect = async (_grade: Grade) => {\n setGrade(_grade);\n };\n\n const handleUsernameSubmit = useCallback(async () => {\n setShowSpinner(true);\n if (error !== '') {\n return;\n }\n\n if (circleUsername === '' || circleUsername === undefined || circleUsername === null) {\n createUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n countryCode,\n studentId,\n });\n } else {\n updateUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n studentId,\n });\n }\n }, [\n circleOnLeapPremiumEnabled,\n circleUsername,\n countryCode,\n createUser,\n error,\n grade?.key,\n studentId,\n updateUser,\n username,\n ]);\n\n const goToNextStep = () => {\n setCurrentStepIndex(prev => {\n if (prev === SignupProps.steps.length - 1) {\n onSignupStepsComplete(userCreateUpdateResponseData.current);\n\n return prev;\n }\n\n return prev + 1;\n });\n };\n\n const goToPrevStep = () => {\n if (showSpinner) {\n return;\n }\n setCurrentStepIndex(prev => {\n if (prev === 0) {\n return prev;\n }\n\n return prev - 1;\n });\n };\n\n const splashScreenStep: ICircularSteps = {\n id: 'step-0',\n label: null,\n custEle: null,\n custEleInsideStep: null,\n background: <SplashScreen animationCompleted={onSplashScreenBgAnimationComplete} />,\n custEleBelowStep: (\n <Styled.BottomButtonContainer paddingX={mathGymEnrolledUser && circleEnrolledUser ? 1 : 2.5}>\n {splashTxtVisible && (\n <Styled.SignupText $renderAs=\"ab2\" $color=\"WHITE\" $align=\"center\">\n {getSplashScreenText({ state, circleEnrolledUser, mathGymEnrolledUser })}\n </Styled.SignupText>\n )}\n {splashBtnVisible && (\n <Styled.SignupBtn\n label=\"Let’s start\"\n renderAs=\"secondary\"\n marginTop={24}\n width={144}\n isVisible={true}\n onClick={() => {\n goToNextStep();\n setSplashTxtVisible(false);\n setSplashBtnVisible(false);\n }}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n isProgressAnimationRequired: false,\n };\n\n const gradeStep: ICircularSteps = {\n id: 'step-1',\n label: 'What’s your school grade?',\n custEle: null,\n custEleInsideStep: <GradeInputBox gradeInfo={grade} showSpinner={showSpinner} />,\n background: (\n <Image\n src={ILLUSTRATIONS.GRADE_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <SelectUserGrade\n grades={GRADES}\n selected={grade?.key || null}\n onSelect={_grade => handleGradeSelect(_grade)}\n onNext={goToNextStep}\n />\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const usernameStep: ICircularSteps = {\n id: 'step-2',\n label: 'Claim your unique alias',\n custEle: null,\n custEleInsideStep: (\n <UsernameInput\n username={username}\n circleUsername={circleUsername}\n isEdit={false}\n error={error}\n setError={setError}\n showSpinner={showSpinner}\n setShowSpinner={setShowSpinner}\n setUsername={setUsername}\n />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_PROFILE_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n {username !== '' && (\n <Styled.SignupBtn\n label=\"Next\"\n disabled={showSpinner || error !== ''}\n renderAs=\"secondary\"\n onClick={() => handleUsernameSubmit()}\n marginTop={88}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const trialScreenStep: ICircularSteps = {\n id: 'step-3',\n label: null,\n custEle: null,\n custEleInsideStep: (\n <Styled.SmileyImage src={ILLUSTRATIONS.SMILEY} height={'100%'} width={'100%'} alt=\"play\" />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_CROWN_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.primaryText}\n {circleOnLeapPremiumDays && (\n <Styled.ThemeText> {circleOnLeapPremiumDays} days of FREE</Styled.ThemeText>\n )}\n </Text>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.secondaryText}\n </Text>\n {isSignUpProcessing ? (\n <Spinner marginY={24} />\n ) : (\n <Styled.SignupBtn\n label=\"Woohoo! Let me in!\"\n renderAs=\"secondary\"\n marginTop={24}\n width={250}\n onClick={() => goToNextStep()}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: isSignUpProcessing ? undefined : goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const SignupProps: ICircularStepsProps = {\n steps: [splashScreenStep, gradeStep, usernameStep, trialScreenStep],\n currentStepIndex: 0,\n dimensions: { width: CONTAINER_WIDTH, height: CONTAINER_HEIGHT },\n };\n\n // Reset states on unmount\n useEffect(() => {\n return () => {\n setShowSpinner(false);\n setUsername('');\n setGrade(null);\n setError('');\n };\n }, []);\n\n return (\n <>\n <Styled.BackgroundOverlay />\n <Styled.SignUpWrapper>\n <Styled.SignUpContainer>\n <CircularSteps {...SignupProps} currentStepIndex={currentStepIndex} />\n </Styled.SignUpContainer>\n </Styled.SignUpWrapper>\n </>\n );\n};\n"],"names":["SignUp","mathGymEnrolledUser","circleEnrolledUser","circleOnLeapPremiumDays","circleUsername","countryCode","defaultGrade","state","circleOnLeapPremiumEnabled","studentId","isSignUpProcessing","onCreateUser","onUpdateUser","onSignupStepsComplete","currentStepIndex","setCurrentStepIndex","useState","username","setUsername","error","setError","grade","setGrade","GRADES","g","showSpinner","setShowSpinner","trialScreenContent","getTrialScreenUsername","userCreateUpdateResponseData","useRef","splashBtnVisible","setSplashBtnVisible","splashTxtVisible","setSplashTxtVisible","handleCreateUserResponse","data","goToNextStep","ErrorMessage","handleUpdateUserResponse","createUser","useCreateUserDal","updateUser","useUpdateUserDal","onSplashScreenBgAnimationComplete","handleGradeSelect","_grade","handleUsernameSubmit","useCallback","prev","SignupProps","goToPrevStep","splashScreenStep","jsx","SplashScreen","Styled.BottomButtonContainer","Styled.SignupText","Styled.SignupBtn","gradeStep","GradeInputBox","Image","ILLUSTRATIONS","SelectUserGrade","usernameStep","UsernameInput","trialScreenStep","Styled.SmileyImage","jsxs","Text","Styled.ThemeText","Spinner","CONTAINER_WIDTH","CONTAINER_HEIGHT","useEffect","Fragment","Styled.BackgroundOverlay","Styled.SignUpWrapper","Styled.SignUpContainer","CircularSteps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streak-reduction-localstorage-util.js","sources":["../../../../src/features/circle-games/utils/streak-reduction-localstorage-util.ts"],"sourcesContent":["export class StreakReductionLocalStorageUtil {\n /**\n * Determines whether the streak reduction should be shown today.\n */\n static showStreakReduction(storeKey: string, startTimestamp: number): boolean {\n try {\n if (!startTimestamp) {\n return false;\n }\n\n const storedTimestamp = localStorage.getItem(storeKey);\n\n // If there's no stored timestamp, show the button\n if (!storedTimestamp) return true;\n\n // If stored timestamp is not from today, show the button\n const isSameDay = storedTimestamp === `${startTimestamp}`;\n\n if (!isSameDay) {\n return true;\n }\n\n return false;\n } catch (error) {\n return true;\n }\n }\n\n /**\n * Call this when the user has dismissed the streak reduction.\n */\n static markStreakReductionDismissed(storeKey: string, startTimestamp: number): void {\n localStorage.setItem(storeKey, startTimestamp.toString());\n }\n}\n"],"names":["StreakReductionLocalStorageUtil","storeKey","startTimestamp","storedTimestamp"],"mappings":"AAAO,MAAMA,EAAgC;AAAA;AAAA;AAAA;AAAA,EAI3C,OAAO,oBAAoBC,GAAkBC,GAAiC;AACxE,QAAA;AACF,UAAI,CAACA;AACI,eAAA;AAGH,YAAAC,IAAkB,aAAa,QAAQF,CAAQ;AAQrD,aALI,CAACE,KAKD,EAFcA,MAAoB,GAAGD,CAAc;AAAA,YAOzC;AACP,aAAA;AAAA,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAMF,OAAO,6BAA6BD,GAAkBC,GAA8B;AAClF,iBAAa,QAAQD,GAAUC,EAAe,SAAA,CAAU;AAAA,EAAA;AAE5D;"}
1
+ {"version":3,"file":"streak-reduction-localstorage-util.js","sources":["../../../../src/features/circle-games/utils/streak-reduction-localstorage-util.ts"],"sourcesContent":["export class StreakReductionLocalStorageUtil {\n /**\n * Determines whether the streak reduction should be shown today.\n */\n static showStreakReduction(storeKey: string, startTimestamp: number): boolean {\n try {\n if (!startTimestamp) {\n return false;\n }\n\n const storedTimestamp = localStorage.getItem(storeKey);\n\n // If there's no stored timestamp, show the button\n if (!storedTimestamp) return true;\n\n // If stored timestamp is not from today, show the button\n const isSameDay = storedTimestamp === `${startTimestamp}`;\n\n if (!isSameDay) {\n return true;\n }\n\n return false;\n } catch (error) {\n return true;\n }\n }\n\n /**\n * Call this when the user has dismissed the streak reduction.\n */\n static markStreakReductionDismissed(storeKey: string, startTimestamp: number): void {\n localStorage.setItem(storeKey, startTimestamp.toString());\n }\n}\n"],"names":["StreakReductionLocalStorageUtil","storeKey","startTimestamp","storedTimestamp"],"mappings":"AAAO,MAAMA,EAAgC;AAAA;AAAA;AAAA;AAAA,EAI3C,OAAO,oBAAoBC,GAAkBC,GAAiC;AACxE,QAAA;AACF,UAAI,CAACA;AACI,eAAA;AAGH,YAAAC,IAAkB,aAAa,QAAQF,CAAQ;AAQrD,aALI,CAACE,KAKD,EAFcA,MAAoB,GAAGD,CAAc;AAAA,YAOzC;AACP,aAAA;AAAA,IACT;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,6BAA6BD,GAAkBC,GAA8B;AAClF,iBAAa,QAAQD,GAAUC,EAAe,SAAU,CAAA;AAAA,EAC1D;AACF;"}
@@ -1,46 +1,46 @@
1
- import { useMessageBrokerChannel as S } from "@cuemath/cue-message-broker";
2
- import { useMemo as b, useCallback as o } from "react";
3
- const f = 3, y = (l) => {
4
- const { studentClassroomId: s, onMessageReceive: e, logger: n } = l, t = `inclass_${s}`, r = b(
1
+ import { useMessageBrokerChannel as k } from "@cuemath/cue-message-broker";
2
+ import { useMemo as I, useCallback as o } from "react";
3
+ const S = 3, b = (l) => {
4
+ const { studentClassroomId: a, onMessageReceive: e, logger: n } = l, t = `inclass_${a}`, r = I(
5
5
  () => ({
6
6
  channelId: t,
7
- ttl: f,
7
+ ttl: S,
8
8
  noHistory: !0,
9
9
  logger: n
10
10
  }),
11
11
  [t, n]
12
12
  ), c = o(
13
- (p, M) => {
13
+ (M, p) => {
14
14
  e == null || e(
15
- p.map((g) => g.message.payload),
16
- M
15
+ M.map((g) => g.message.payload),
16
+ p
17
17
  );
18
18
  },
19
19
  [e]
20
20
  ), {
21
- channel: a,
21
+ channel: s,
22
22
  publish: d,
23
23
  channelStatus: u,
24
24
  channelMetadata: m,
25
25
  setChannelMetadata: h,
26
- removeChannelMetadata: i
27
- } = S({
26
+ removeChannelMetadata: C
27
+ } = k({
28
28
  channelOptions: r,
29
29
  consumerFn: e ? c : void 0,
30
30
  metadataRequired: !0,
31
- enabled: s !== void 0
32
- }), C = o(() => {
33
- a == null || a.destroyChannel();
34
- }, [a]);
31
+ enabled: a !== void 0
32
+ }), i = o(() => {
33
+ s == null || s.destroyChannel();
34
+ }, [s]);
35
35
  return {
36
36
  channelStatus: u,
37
37
  channelMetadata: m,
38
38
  setChannelMetadata: h,
39
- removeChannelMetadata: i,
39
+ removeChannelMetadata: C,
40
40
  publish: d,
41
- closeChannel: C
41
+ closeChannel: i
42
42
  };
43
- };
43
+ }, y = b;
44
44
  export {
45
45
  y as default
46
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-inclass-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.ts"],"sourcesContent":["import type {\n IUseInclassMessageBroker,\n TInclassChannelMetadata,\n TInclassMessage,\n} from './use-inclass-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useInClassMessageBroker: IUseInclassMessageBroker = options => {\n const { studentClassroomId, onMessageReceive, logger } = options;\n const channelId = `inclass_${studentClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TInclassMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const {\n channel,\n publish,\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n } = useMessageBrokerChannel<TInclassMessage, TInclassChannelMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: studentClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n publish,\n closeChannel,\n };\n};\n\nexport default useInClassMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useInClassMessageBroker","options","studentClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","removeChannelMetadata","useMessageBrokerChannel","closeChannel"],"mappings":";;AASA,MAAMA,IAAuB,GAEvBC,IAAoD,CAAWC,MAAA;AACnE,QAAM,EAAE,oBAAAC,GAAoB,kBAAAC,GAAkB,QAAAC,EAAW,IAAAH,GACnDI,IAAY,WAAWH,CAAkB,IACzCI,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,WAAAF;AAAA,MACA,KAAKN;AAAA,MACL,WAAW;AAAA,MACX,QAAAK;AAAA,IAAA;AAAA,IAEF,CAACC,GAAWD,CAAM;AAAA,EACpB,GAEMI,IAAuBC;AAAA,IAC3B,CAACC,GAAsDC,MAA0B;AAC/E,MAAAR,KAAA,QAAAA;AAAA,QACEO,EAAY,IAAI,CAAkBE,MAAAA,EAAe,QAAQ,OAAO;AAAA,QAChED;AAAA;AAAA,IAEJ;AAAA,IACA,CAACR,CAAgB;AAAA,EACnB,GAEM;AAAA,IACJ,SAAAU;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,MACEC,EAAkE;AAAA,IACpE,gBAAAb;AAAA,IACA,YAAYH,IAAmBK,IAAuB;AAAA,IACtD,kBAAkB;AAAA,IAClB,SAASN,MAAuB;AAAA,EAAA,CACjC,GAEKkB,IAAeX,EAAY,MAAM;AACrC,IAAAI,KAAA,QAAAA,EAAS;AAAA,EAAe,GACvB,CAACA,CAAO,CAAC;AAEL,SAAA;AAAA,IACL,eAAAE;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,SAAAJ;AAAA,IACA,cAAAM;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"use-inclass-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.ts"],"sourcesContent":["import type {\n IUseInclassMessageBroker,\n TInclassChannelMetadata,\n TInclassMessage,\n} from './use-inclass-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useInClassMessageBroker: IUseInclassMessageBroker = options => {\n const { studentClassroomId, onMessageReceive, logger } = options;\n const channelId = `inclass_${studentClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TInclassMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const {\n channel,\n publish,\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n } = useMessageBrokerChannel<TInclassMessage, TInclassChannelMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: studentClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n publish,\n closeChannel,\n };\n};\n\nexport default useInClassMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useInClassMessageBroker","options","studentClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","removeChannelMetadata","useMessageBrokerChannel","closeChannel","useInClassMessageBroker$1"],"mappings":";;AASA,MAAMA,IAAuB,GAEvBC,IAAoD,CAAWC,MAAA;AACnE,QAAM,EAAE,oBAAAC,GAAoB,kBAAAC,GAAkB,QAAAC,EAAA,IAAWH,GACnDI,IAAY,WAAWH,CAAkB,IACzCI,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,WAAAF;AAAA,MACA,KAAKN;AAAA,MACL,WAAW;AAAA,MACX,QAAAK;AAAA,IAAA;AAAA,IAEF,CAACC,GAAWD,CAAM;AAAA,EAAA,GAGdI,IAAuBC;AAAA,IAC3B,CAACC,GAAsDC,MAA0B;AAC/E,MAAAR,KAAA,QAAAA;AAAA,QACEO,EAAY,IAAI,CAAkBE,MAAAA,EAAe,QAAQ,OAAO;AAAA,QAChED;AAAA;AAAA,IAEJ;AAAA,IACA,CAACR,CAAgB;AAAA,EAAA,GAGb;AAAA,IACJ,SAAAU;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,MACEC,EAAkE;AAAA,IACpE,gBAAAb;AAAA,IACA,YAAYH,IAAmBK,IAAuB;AAAA,IACtD,kBAAkB;AAAA,IAClB,SAASN,MAAuB;AAAA,EAAA,CACjC,GAEKkB,IAAeX,EAAY,MAAM;AACrC,IAAAI,KAAA,QAAAA,EAAS;AAAA,EAAe,GACvB,CAACA,CAAO,CAAC;AAEL,SAAA;AAAA,IACL,eAAAE;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,SAAAJ;AAAA,IACA,cAAAM;AAAA,EAAA;AAEJ,GAEAC,IAAerB;"}
@@ -1,10 +1,10 @@
1
1
  import { useMessageBrokerChannel as g } from "@cuemath/cue-message-broker";
2
2
  import { useMemo as S, useCallback as o } from "react";
3
- const _ = 3, k = (r) => {
4
- const { teacherClassroomId: s, onMessageReceive: e, logger: t } = r, n = `trial_v3_${s}`, l = S(
3
+ const k = 3, T = (r) => {
4
+ const { teacherClassroomId: a, onMessageReceive: e, logger: t } = r, n = `trial_v3_${a}`, l = S(
5
5
  () => ({
6
6
  channelId: n,
7
- ttl: _,
7
+ ttl: k,
8
8
  noHistory: !0,
9
9
  logger: t
10
10
  }),
@@ -17,23 +17,23 @@ const _ = 3, k = (r) => {
17
17
  );
18
18
  },
19
19
  [e]
20
- ), { channel: a, publish: d, channelStatus: u, channelMetadata: i, setChannelMetadata: h } = g({
20
+ ), { channel: s, publish: d, channelStatus: i, channelMetadata: u, setChannelMetadata: h } = g({
21
21
  channelOptions: l,
22
22
  consumerFn: e ? c : void 0,
23
23
  metadataRequired: !0,
24
- enabled: s !== void 0
24
+ enabled: a !== void 0
25
25
  }), m = o(() => {
26
- a == null || a.destroyChannel();
27
- }, [a]);
26
+ s == null || s.destroyChannel();
27
+ }, [s]);
28
28
  return {
29
29
  publish: d,
30
30
  closeChannel: m,
31
31
  setChannelMetadata: h,
32
- channelStatus: u,
33
- channelMetadata: i
32
+ channelStatus: i,
33
+ channelMetadata: u
34
34
  };
35
- };
35
+ }, f = T;
36
36
  export {
37
- k as default
37
+ f as default
38
38
  };
39
39
  //# sourceMappingURL=use-trial-session-message-broker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-trial-session-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.ts"],"sourcesContent":["import type {\n ITrialSessionMetadata,\n IUseTrialSessionMessageBroker,\n TTrialSessionMessage,\n} from './use-trial-session-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useTrialSessionMessageBroker: IUseTrialSessionMessageBroker = options => {\n const { teacherClassroomId, onMessageReceive, logger } = options;\n const channelId = `trial_v3_${teacherClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TTrialSessionMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const { channel, publish, channelStatus, channelMetadata, setChannelMetadata } =\n useMessageBrokerChannel<TTrialSessionMessage, ITrialSessionMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: teacherClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n publish,\n closeChannel,\n setChannelMetadata,\n channelStatus,\n channelMetadata,\n };\n};\n\nexport default useTrialSessionMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useTrialSessionMessageBroker","options","teacherClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","useMessageBrokerChannel","closeChannel"],"mappings":";;AASA,MAAMA,IAAuB,GAEvBC,IAA8D,CAAWC,MAAA;AAC7E,QAAM,EAAE,oBAAAC,GAAoB,kBAAAC,GAAkB,QAAAC,EAAW,IAAAH,GACnDI,IAAY,YAAYH,CAAkB,IAC1CI,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,WAAAF;AAAA,MACA,KAAKN;AAAA,MACL,WAAW;AAAA,MACX,QAAAK;AAAA,IAAA;AAAA,IAEF,CAACC,GAAWD,CAAM;AAAA,EACpB,GAEMI,IAAuBC;AAAA,IAC3B,CAACC,GAA2DC,MAA0B;AACpF,MAAAR,KAAA,QAAAA;AAAA,QACEO,EAAY,IAAI,CAAkBE,MAAAA,EAAe,QAAQ,OAAO;AAAA,QAChED;AAAA;AAAA,IAEJ;AAAA,IACA,CAACR,CAAgB;AAAA,EACnB,GAEM,EAAE,SAAAU,GAAS,SAAAC,GAAS,eAAAC,GAAe,iBAAAC,GAAiB,oBAAAC,MACxDC,EAAqE;AAAA,IACnE,gBAAAZ;AAAA,IACA,YAAYH,IAAmBK,IAAuB;AAAA,IACtD,kBAAkB;AAAA,IAClB,SAASN,MAAuB;AAAA,EAAA,CACjC,GAEGiB,IAAeV,EAAY,MAAM;AACrC,IAAAI,KAAA,QAAAA,EAAS;AAAA,EAAe,GACvB,CAACA,CAAO,CAAC;AAEL,SAAA;AAAA,IACL,SAAAC;AAAA,IACA,cAAAK;AAAA,IACA,oBAAAF;AAAA,IACA,eAAAF;AAAA,IACA,iBAAAC;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"use-trial-session-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.ts"],"sourcesContent":["import type {\n ITrialSessionMetadata,\n IUseTrialSessionMessageBroker,\n TTrialSessionMessage,\n} from './use-trial-session-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useTrialSessionMessageBroker: IUseTrialSessionMessageBroker = options => {\n const { teacherClassroomId, onMessageReceive, logger } = options;\n const channelId = `trial_v3_${teacherClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TTrialSessionMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const { channel, publish, channelStatus, channelMetadata, setChannelMetadata } =\n useMessageBrokerChannel<TTrialSessionMessage, ITrialSessionMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: teacherClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n publish,\n closeChannel,\n setChannelMetadata,\n channelStatus,\n channelMetadata,\n };\n};\n\nexport default useTrialSessionMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useTrialSessionMessageBroker","options","teacherClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","useMessageBrokerChannel","closeChannel","useTrialSessionMessageBroker$1"],"mappings":";;AASA,MAAMA,IAAuB,GAEvBC,IAA8D,CAAWC,MAAA;AAC7E,QAAM,EAAE,oBAAAC,GAAoB,kBAAAC,GAAkB,QAAAC,EAAA,IAAWH,GACnDI,IAAY,YAAYH,CAAkB,IAC1CI,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,WAAAF;AAAA,MACA,KAAKN;AAAA,MACL,WAAW;AAAA,MACX,QAAAK;AAAA,IAAA;AAAA,IAEF,CAACC,GAAWD,CAAM;AAAA,EAAA,GAGdI,IAAuBC;AAAA,IAC3B,CAACC,GAA2DC,MAA0B;AACpF,MAAAR,KAAA,QAAAA;AAAA,QACEO,EAAY,IAAI,CAAkBE,MAAAA,EAAe,QAAQ,OAAO;AAAA,QAChED;AAAA;AAAA,IAEJ;AAAA,IACA,CAACR,CAAgB;AAAA,EAAA,GAGb,EAAE,SAAAU,GAAS,SAAAC,GAAS,eAAAC,GAAe,iBAAAC,GAAiB,oBAAAC,MACxDC,EAAqE;AAAA,IACnE,gBAAAZ;AAAA,IACA,YAAYH,IAAmBK,IAAuB;AAAA,IACtD,kBAAkB;AAAA,IAClB,SAASN,MAAuB;AAAA,EAAA,CACjC,GAEGiB,IAAeV,EAAY,MAAM;AACrC,IAAAI,KAAA,QAAAA,EAAS;AAAA,EAAe,GACvB,CAACA,CAAO,CAAC;AAEL,SAAA;AAAA,IACL,SAAAC;AAAA,IACA,cAAAK;AAAA,IACA,oBAAAF;AAAA,IACA,eAAAF;AAAA,IACA,iBAAAC;AAAA,EAAA;AAEJ,GAEAI,IAAepB;"}
@@ -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":"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 activeSidebar: undefined,\n setActiveSidebar: () => 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,eAAe;AAAA,EACf,kBAAkB,MAAM;AAAA;AAC1B,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 activeSidebar: undefined,\n setActiveSidebar: () => 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,eAAe;AAAA,EACf,kBAAkB,MAAM;AAAA;AAC1B,CAAC;"}
@@ -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 TSubscribe,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { ICreateOptions } from './types/cue-canvas';\nimport type { IPolypad, IPolyPadInstance } from './types/polypad';\n\nimport debounce from 'lodash.debounce';\n\nimport {\n checkTextOrEquationTool,\n getReverseMap,\n getToolAndSubtool,\n removeMask,\n removeTileButton,\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 responseId: 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) => string;\n\n constructor(\n onPublish: TPublish,\n onSubscribe: TSubscribe,\n onUpdateActiveTool: (tool: TCueCanvasTool) => void,\n onUpdateHeight: (height: number) => void,\n uploadImageToS3: (file: File) => string,\n height: number,\n userId: string,\n responseId: string,\n userType: TUserTypes,\n renderAs: TRenderAs,\n ) {\n this.onUpdateHeight = onUpdateHeight;\n this.onUpdateActiveTool = onUpdateActiveTool;\n this.height = height;\n this.uploadImageToS3 = uploadImageToS3;\n this.userId = userId;\n this.responseId = responseId;\n this.publish = onPublish;\n this.userType = userType;\n this.renderAs = renderAs;\n this.debouncedViewportChange = debounce(this.onViewPortChange, 300);\n onSubscribe(this.responseId, 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'\n ? this.uploadFileToCanvas\n : undefined,\n });\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.toggleSidebar(false);\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 = (\n payload: TCueCanvasChangeDataObject,\n gridName?: TCueCanvasGridName,\n dimension?: IViewport,\n ) => {\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.responseId,\n gridName,\n dimension,\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 }\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 private 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 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 uploadFileToCanvas = async (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n this.uploadImageToS3\n ? resolve(this.uploadImageToS3(file))\n : reject(new Error('Upload function not provided'));\n });\n };\n\n private onViewPortChange = (e: IViewport): void => {\n if (!this.publish) return;\n\n const data = e as IViewport;\n\n this.publishToChannel({}, undefined, data);\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.addImageToCanvas;\n document.body.appendChild(this.fileInput);\n }\n\n this.fileInput.click();\n };\n\n private addImageToCanvas = 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 imageBase64 = await this.uploadImageToS3(file);\n const viewPort = this.polycanvas.getViewport();\n const imgJson = {\n name: 'image',\n href: imageBase64,\n x: viewPort.x + 88,\n y: viewPort.y + 88,\n };\n\n const key = this.polycanvas.add({\n ...imgJson,\n });\n\n this.publishToChannel({\n [key]: [undefined, { ...imgJson, status: 'locked' }],\n });\n\n target.value = '';\n };\n\n private updateCanvasConfig = (\n height: number,\n dimension: IViewport | undefined,\n gridName: TCueCanvasGridName | undefined,\n ) => {\n if (!this.polycanvas) return;\n\n if (height > this.height) {\n this.updateHeight(height);\n }\n\n if (dimension) {\n this.polycanvas.setViewport(dimension.x, dimension.y, dimension.zoom);\n }\n\n if (gridName) {\n this.polycanvas.setOptions({\n grid: gridName,\n });\n }\n };\n\n private updateCanvas = ({ data, userId }: IActionData) => {\n const canEditStroke = this.userType === 'TEACHER' || userId === this.userId;\n\n Object.entries(data).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\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 };\n\n toggleTiles = (val: boolean) => {\n this.polycanvas?.toggleSidebar(val);\n };\n\n resetViewPort = () => {\n if (this.polycanvas) {\n this.polycanvas.resetViewport();\n }\n };\n\n changeGrid = (gridName: TCueCanvasGridName) => {\n if (!this.polycanvas) return;\n\n this.polycanvas.setOptions({\n grid: gridName,\n });\n\n this.publishToChannel({}, gridName);\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 setTool = (tool: TCueCanvasTool) => {\n if (this.polycanvas) {\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 }\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 const lastDimension = payload.map(data => data.dimension).filter(Boolean)[payload.length - 1];\n const lastGrid = payload.map(data => data.gridName).filter(Boolean)[payload.length - 1];\n\n this.updateCanvasConfig(maxHeight, lastDimension, lastGrid);\n payload.forEach(item => this.updateCanvas(item));\n } else {\n this.updateCanvasConfig(payload.height, payload.dimension, payload?.gridName);\n this.updateCanvas(payload);\n }\n };\n\n setColor = (color: string) => {\n if (this.polycanvas) {\n this.polycanvas.setColor(color);\n }\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","responseId","userType","renderAs","__publicField","payload","gridName","dimension","e","checkTextOrEquationTool","data","undoData","getReverseMap","viewPort","image","downloadLink","file","resolve","reject","event","target","_a","imageBase64","imgJson","key","canEditStroke","value","_b","_c","val","allTiles","selectedItems","lockedTiles","updatedJson","unlockedTiles","item","tool","currTool","currSubTool","getToolAndSubtool","heights","maxHeight","lastDimension","lastGrid","color","debounce","canvasElementRef","canvasConfig","canvasSetting","initialData","removeTileButton","removeMask"],"mappings":";;;;;AAqCO,MAAMA,EAAc;AAAA,EAczB,YACEC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACA;AAxBM,IAAAC,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA,mBAAqC;AACrC,IAAAA,EAAA;AACA,IAAAA,EAAA;AAwDA,IAAAA,EAAA,0BAAmB,CACzBC,GACAC,GACAC,MACG;AACC,MAAC,KAAK,WAEV,KAAK,QAAQ;AAAA,QACX,WAAW;AAAA,QACX,cAAc;AAAA,UACZ,MAAMF;AAAA,UACN,QAAQ,KAAK;AAAA,UACb,QAAQ,KAAK;AAAA,UACb,YAAY,KAAK;AAAA,UACjB,UAAAC;AAAA,UACA,WAAAC;AAAA,QAAA;AAAA,MACF,CACD;AAAA,IACH;AAEQ,IAAAH,EAAA,kBAAW,CAACI,MAAe;AAEjC,YAAMH,IAAU,OAAO,YADVG,EAC2B,SAAS;AAE7C,MAAAC,EAAwBJ,CAAO,KACjC,KAAK,mBAAmB,MAAM,GAGhC,KAAK,iBAAiBA,CAAO;AAAA,IAC/B;AAEQ,IAAAD,EAAA,cAAO,MAAM;AACf,UAAA,CAAC,KAAK;AACR;AAGI,YAAAM,IAAO,KAAK,WAAW,KAAK;AAElC,UAAI,CAACA;AACH;AAGI,YAAAC,IAAWC,EAAcF,CAAI;AAEnC,WAAK,SAASC,CAAQ;AAAA,IACxB;AAEQ,IAAAP,EAAA,cAAO,MAAM;AACf,UAAA,CAAC,KAAK;AACR;AAGI,YAAAM,IAAO,KAAK,WAAW,KAAK;AAElC,MAAKA,KAIL,KAAK,SAASA,CAAI;AAAA,IACpB;AAEQ,IAAAN,EAAA,qBAAc,MAAM;AAC1B,MAAI,KAAK,cACP,KAAK,WAAW,MAAM;AAAA,IAE1B;AAEQ,IAAAA,EAAA,gBAAS,MAAM;AACjB,UAAA,CAAC,KAAK,WAAY;AAEhB,YAAAS,IAAW,KAAK,WAAW,YAAY;AAExC,WAAA,WAAW,YAAYA,EAAS,GAAGA,EAAS,GAAGA,EAAS,OAAO,GAAG;AAAA,IACzE;AAEQ,IAAAT,EAAA,iBAAU,MAAM;AAClB,UAAA,CAAC,KAAK,WAAY;AAEhB,YAAAS,IAAW,KAAK,WAAW,YAAY;AAExC,WAAA,WAAW,YAAYA,EAAS,GAAGA,EAAS,GAAGA,EAAS,OAAO,GAAG;AAAA,IACzE;AAEQ,IAAAT,EAAA,+BAAwB,YAAY;AACtC,UAAA,CAAC,KAAK,WAAY;AAEtB,YAAMU,IAAQ,MAAM,KAAK,WAAW,MAAM,KAAM,KAAM,KAAK;AAE3D,UAAI,CAACA,EAAO;AAEN,YAAAC,IAAe,SAAS,cAAc,GAAG;AAE/C,MAAAA,EAAa,OAAOD,GACpBC,EAAa,WAAW,kBAAkB,KAAK,IAAK,CAAA,QACpDA,EAAa,MAAM;AAAA,IACrB;AAEQ,IAAAX,EAAA,4BAAqB,OAAOY,MAC3B,IAAI,QAAQ,CAACC,GAASC,MAAW;AACjC,WAAA,kBACDD,EAAQ,KAAK,gBAAgBD,CAAI,CAAC,IAClCE,EAAO,IAAI,MAAM,8BAA8B,CAAC;AAAA,IAAA,CACrD;AAGK,IAAAd,EAAA,0BAAmB,CAACI,MAAuB;AAC7C,UAAA,CAAC,KAAK,QAAS;AAEnB,YAAME,IAAOF;AAEb,WAAK,iBAAiB,IAAI,QAAWE,CAAI;AAAA,IAC3C;AAEQ,IAAAN,EAAA,wBAAiB,MAAY;AAC/B,MAAC,KAAK,cACH,KAAA,YAAY,SAAS,cAAc,OAAO,GAC/C,KAAK,UAAU,OAAO,QACtB,KAAK,UAAU,SAAS,WACnB,KAAA,UAAU,MAAM,UAAU,QAC1B,KAAA,UAAU,WAAW,KAAK,kBACtB,SAAA,KAAK,YAAY,KAAK,SAAS,IAG1C,KAAK,UAAU,MAAM;AAAA,IACvB;AAEQ,IAAAA,EAAA,0BAAmB,OAAOe,MAAgC;;AAChE,YAAMC,IAASD,EAAM,QACfH,KAAOK,IAAAD,EAAO,UAAP,gBAAAC,EAAe;AAE5B,UAAI,CAACL,KAAQ,CAAC,KAAK,cAAc,CAAC,KAAK,gBAAiB;AAExD,YAAMM,IAAc,MAAM,KAAK,gBAAgBN,CAAI,GAC7CH,IAAW,KAAK,WAAW,YAAY,GACvCU,IAAU;AAAA,QACd,MAAM;AAAA,QACN,MAAMD;AAAA,QACN,GAAGT,EAAS,IAAI;AAAA,QAChB,GAAGA,EAAS,IAAI;AAAA,MAClB,GAEMW,IAAM,KAAK,WAAW,IAAI;AAAA,QAC9B,GAAGD;AAAA,MAAA,CACJ;AAED,WAAK,iBAAiB;AAAA,QACpB,CAACC,CAAG,GAAG,CAAC,QAAW,EAAE,GAAGD,GAAS,QAAQ,SAAU,CAAA;AAAA,MAAA,CACpD,GAEDH,EAAO,QAAQ;AAAA,IACjB;AAEQ,IAAAhB,EAAA,4BAAqB,CAC3BL,GACAQ,GACAD,MACG;AACC,MAAC,KAAK,eAENP,IAAS,KAAK,UAChB,KAAK,aAAaA,CAAM,GAGtBQ,KACF,KAAK,WAAW,YAAYA,EAAU,GAAGA,EAAU,GAAGA,EAAU,IAAI,GAGlED,KACF,KAAK,WAAW,WAAW;AAAA,QACzB,MAAMA;AAAA,MAAA,CACP;AAAA,IAEL;AAEQ,IAAAF,EAAA,sBAAe,CAAC,EAAE,MAAAM,GAAM,QAAAV,QAA0B;AACxD,YAAMyB,IAAgB,KAAK,aAAa,aAAazB,MAAW,KAAK;AAE9D,aAAA,QAAQU,CAAI,EAAE,QAAQ,CAAC,CAACc,GAAKE,CAAK,MAAM;;AAC7C,QAAI,CAACA,EAAM,CAAC,KAAKA,EAAM,CAAC,KACjBL,IAAA,KAAA,eAAA,QAAAA,EAAY,IAAI,EAAE,GAAGK,EAAM,CAAC,GAAG,YAAY,CAACD,EAAc,GAAGD,KACzDE,EAAM,CAAC,KAAK,CAACA,EAAM,CAAC,KACxBC,IAAA,KAAA,eAAA,QAAAA,EAAY,OAAOH,KACfE,EAAM,CAAC,KAAKA,EAAM,CAAC,OACvBE,IAAA,KAAA,eAAA,QAAAA,EAAY,OAAOJ,GAAK,EAAE,GAAGE,EAAM,CAAC;MAC3C,CACD;AAAA,IACH;AAEA,IAAAtB,EAAA,qBAAc,CAACyB,MAAiB;;AACzB,OAAAR,IAAA,KAAA,eAAA,QAAAA,EAAY,cAAcQ;AAAA,IACjC;AAEA,IAAAzB,EAAA,uBAAgB,MAAM;AACpB,MAAI,KAAK,cACP,KAAK,WAAW,cAAc;AAAA,IAElC;AAEA,IAAAA,EAAA,oBAAa,CAACE,MAAiC;AACzC,MAAC,KAAK,eAEV,KAAK,WAAW,WAAW;AAAA,QACzB,MAAMA;AAAA,MAAA,CACP,GAEI,KAAA,iBAAiB,CAAC,GAAGA,CAAQ;AAAA,IACpC;AAEA,IAAAF,EAAA,2BAAoB,MAAM;;AAClB,YAAA,EAAE,OAAO0B,EAAS,MAAIT,IAAA,KAAK,eAAL,gBAAAA,EAAiB,gBAAe,CAAC,GACvDU,MAAgBJ,IAAA,KAAK,eAAL,gBAAAA,EAAiB,mBAAkB,CAAC;AAEtD,UAAAI,EAAc,SAAS,KAAKD,GAAU;AACxC,cAAME,IAA0C,CAAC;AAEjD,QAAAD,EAAc,QAAQ,CAAOP,MAAA;;AAC3B,cAAI,GAACH,IAAAS,EAASN,CAAG,MAAZ,QAAAH,EAAe,MAAM;AAE1B,gBAAMY,IAAc,EAAE,GAAGH,EAASN,CAAG,GAAG,QAAQ,SAAkB;AAE7D,WAAAG,IAAA,KAAA,eAAA,QAAAA,EAAY,OAAOH,GAAKS,KACzBL,IAAAE,EAASN,CAAG,MAAZ,QAAAI,EAAe,SAAMI,EAAYR,CAAG,IAAI,CAACM,EAASN,CAAG,GAAGS,CAAW;AAAA,QAAA,CACxE,GAED,KAAK,iBAAiBD,CAAW;AAAA,MAAA;AAAA,IAErC;AAEA,IAAA5B,EAAA,wBAAiB,MAAM;AACjB,UAAA,CAAC,KAAK,WAAY;AAEtB,YAAM,EAAE,OAAO0B,EAAA,IAAa,KAAK,WAAW,UAAU,GAChDI,IAA4C,CAAC;AAEnD,MAAIJ,KAAY,OAAO,QAAQA,CAAQ,EAAE,SAAS,MACzC,OAAA,QAAQA,CAAQ,EAAE,QAAQ,CAAC,CAACN,GAAKW,CAAI,MAAM;;AAC5C,YAAAA,EAAK,WAAW,SAAU;AAE9B,cAAMF,IAAc,EAAE,GAAGE,GAAM,QAAQ,OAAU;AAE5C,SAAAd,IAAA,KAAA,eAAA,QAAAA,EAAY,OAAOG,GAAKS,IAC7BC,EAAcV,CAAG,IAAI,CAACW,GAAMF,CAAW;AAAA,MAAA,CACxC,GAED,KAAK,iBAAiBC,CAAa;AAAA,IAEvC;AAEA,IAAA9B,EAAA,iBAAU,CAACgC,MAAyB;AAClC,UAAI,KAAK,YAAY;AACnB,cAAM,CAACC,GAAUC,CAAW,IAAIC,EAAkBH,CAAI;AAEtD,gBAAQC,GAAU;AAAA,UAChB,KAAK;AACH,iBAAK,YAAY;AACjB;AAAA,UACF,KAAK;AACH,iBAAK,cAAc;AACnB;AAAA,UACF,KAAK;AACH,iBAAK,KAAK;AACV;AAAA,UACF,KAAK;AACH,iBAAK,KAAK;AACV;AAAA,UACF,KAAK;AACH,iBAAK,kBAAkB;AACvB;AAAA,UACF,KAAK;AACH,iBAAK,eAAe;AACpB;AAAA,UACF,KAAK;AACH,iBAAK,OAAO;AACZ;AAAA,UACF,KAAK;AACH,iBAAK,QAAQ;AACb;AAAA,UACF,KAAK;AACH,iBAAK,eAAe;AACpB;AAAA,UACF,KAAK;AACH,iBAAK,sBAAsB;AAC3B;AAAA,UACF,KAAK;AACH;AAAA,UACF;AACO,iBAAA,WAAW,QAAQA,GAAUC,CAAW;AAAA,QAAA;AAAA,MACjD;AAAA,IAEJ;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAlC,EAAA,gBAAS,CAACC,MAAyC;AAC7C,UAAA,MAAM,QAAQA,CAAO,GAAG;AACpB,cAAAmC,IAAUnC,EAAQ,IAAI,CAAAK,MAAQA,EAAK,MAAM,EAAE,OAAO,OAAO,GACzD+B,IAAY,KAAK,IAAI,GAAGD,CAAO,GAC/BE,IAAgBrC,EAAQ,IAAI,CAAAK,MAAQA,EAAK,SAAS,EAAE,OAAO,OAAO,EAAEL,EAAQ,SAAS,CAAC,GACtFsC,IAAWtC,EAAQ,IAAI,CAAAK,MAAQA,EAAK,QAAQ,EAAE,OAAO,OAAO,EAAEL,EAAQ,SAAS,CAAC;AAEjF,aAAA,mBAAmBoC,GAAWC,GAAeC,CAAQ,GAC1DtC,EAAQ,QAAQ,CAAA8B,MAAQ,KAAK,aAAaA,CAAI,CAAC;AAAA,MAAA;AAE/C,aAAK,mBAAmB9B,EAAQ,QAAQA,EAAQ,WAAWA,KAAA,gBAAAA,EAAS,QAAQ,GAC5E,KAAK,aAAaA,CAAO;AAAA,IAE7B;AAEA,IAAAD,EAAA,kBAAW,CAACwC,MAAkB;AAC5B,MAAI,KAAK,cACF,KAAA,WAAW,SAASA,CAAK;AAAA,IAElC;AAEA,IAAAxC,EAAA,sBAAe,CAACL,MAAmB;AACjC,WAAK,SAASA,GACd,KAAK,eAAeA,CAAM;AAAA,IAC5B;AAEA,IAAAK,EAAA,iBAAU,MAAM;AACd,MAAI,KAAK,eACP,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,GAC3C,KAAK,WAAW,QAAQ,GACxB,KAAK,wBAAwB,OAAO,GAEhC,KAAK,aAAa,gBAAgB,KAAK,aAAa,aACtD,KAAK,WAAW,IAAI,YAAY,KAAK,uBAAuB,GAE9D,KAAK,aAAa,QAEd,KAAK,aAAa,KAAK,UAAU,eACnC,KAAK,UAAU,WAAW,YAAY,KAAK,SAAS,GACpD,KAAK,YAAY;AAAA,IAGvB;AAnYE,SAAK,iBAAiBP,GACtB,KAAK,qBAAqBD,GAC1B,KAAK,SAASG,GACd,KAAK,kBAAkBD,GACvB,KAAK,SAASE,GACd,KAAK,aAAaC,GAClB,KAAK,UAAUP,GACf,KAAK,WAAWQ,GAChB,KAAK,WAAWC,GAChB,KAAK,0BAA0B0C,EAAS,KAAK,kBAAkB,GAAG,GACtDlD,EAAA,KAAK,YAAY,KAAK,MAAM;AAAA,EAAA;AAAA,EAG1C,MAAM,OAAO,EAAE,kBAAAmD,GAAkB,cAAAC,GAAc,eAAAC,GAAe,aAAAC,KAA+B;AACvF,QAAA,CAACH,EAAiB;AACd,YAAA,IAAI,MAAM,8CAA8C;AAEhE,SAAK,aAAa,MAAM,OAAO,QAAQ,OAAOA,EAAiB,SAAS;AAAA,MACtE,SAAS;AAAA,QACP,SAASC;AAAA,MACX;AAAA,MACA,GAAGC;AAAA,MACH,aACE,KAAK,aAAa,gBAAgB,KAAK,aAAa,YAChD,KAAK,qBACL;AAAA,IAAA,CACP,GAEG,KAAK,aAAa,gBAAgB,KAAK,aAAa,cACjD,KAAA,WAAW,cAAc,EAAK,GAEnCE,EAAiBJ,CAAgB,GACjC,KAAK,WAAW,GAAG,YAAY,KAAK,uBAAuB,IAG7DK,EAAWL,CAAgB,GAC3B,KAAK,WAAW,GAAG,UAAU,KAAK,QAAQ,GACtCG,KACF,KAAK,OAAOA,CAAW;AAAA,EACzB;AA6VJ;"}
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 TSubscribe,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { ICreateOptions } from './types/cue-canvas';\nimport type { IPolypad, IPolyPadInstance } from './types/polypad';\n\nimport debounce from 'lodash.debounce';\n\nimport {\n checkTextOrEquationTool,\n getReverseMap,\n getToolAndSubtool,\n removeMask,\n removeTileButton,\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 responseId: 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) => string;\n\n constructor(\n onPublish: TPublish,\n onSubscribe: TSubscribe,\n onUpdateActiveTool: (tool: TCueCanvasTool) => void,\n onUpdateHeight: (height: number) => void,\n uploadImageToS3: (file: File) => string,\n height: number,\n userId: string,\n responseId: string,\n userType: TUserTypes,\n renderAs: TRenderAs,\n ) {\n this.onUpdateHeight = onUpdateHeight;\n this.onUpdateActiveTool = onUpdateActiveTool;\n this.height = height;\n this.uploadImageToS3 = uploadImageToS3;\n this.userId = userId;\n this.responseId = responseId;\n this.publish = onPublish;\n this.userType = userType;\n this.renderAs = renderAs;\n this.debouncedViewportChange = debounce(this.onViewPortChange, 300);\n onSubscribe(this.responseId, 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'\n ? this.uploadFileToCanvas\n : undefined,\n });\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.toggleSidebar(false);\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 = (\n payload: TCueCanvasChangeDataObject,\n gridName?: TCueCanvasGridName,\n dimension?: IViewport,\n ) => {\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.responseId,\n gridName,\n dimension,\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 }\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 private 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 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 uploadFileToCanvas = async (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n this.uploadImageToS3\n ? resolve(this.uploadImageToS3(file))\n : reject(new Error('Upload function not provided'));\n });\n };\n\n private onViewPortChange = (e: IViewport): void => {\n if (!this.publish) return;\n\n const data = e as IViewport;\n\n this.publishToChannel({}, undefined, data);\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.addImageToCanvas;\n document.body.appendChild(this.fileInput);\n }\n\n this.fileInput.click();\n };\n\n private addImageToCanvas = 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 imageBase64 = await this.uploadImageToS3(file);\n const viewPort = this.polycanvas.getViewport();\n const imgJson = {\n name: 'image',\n href: imageBase64,\n x: viewPort.x + 88,\n y: viewPort.y + 88,\n };\n\n const key = this.polycanvas.add({\n ...imgJson,\n });\n\n this.publishToChannel({\n [key]: [undefined, { ...imgJson, status: 'locked' }],\n });\n\n target.value = '';\n };\n\n private updateCanvasConfig = (\n height: number,\n dimension: IViewport | undefined,\n gridName: TCueCanvasGridName | undefined,\n ) => {\n if (!this.polycanvas) return;\n\n if (height > this.height) {\n this.updateHeight(height);\n }\n\n if (dimension) {\n this.polycanvas.setViewport(dimension.x, dimension.y, dimension.zoom);\n }\n\n if (gridName) {\n this.polycanvas.setOptions({\n grid: gridName,\n });\n }\n };\n\n private updateCanvas = ({ data, userId }: IActionData) => {\n const canEditStroke = this.userType === 'TEACHER' || userId === this.userId;\n\n Object.entries(data).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\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 };\n\n toggleTiles = (val: boolean) => {\n this.polycanvas?.toggleSidebar(val);\n };\n\n resetViewPort = () => {\n if (this.polycanvas) {\n this.polycanvas.resetViewport();\n }\n };\n\n changeGrid = (gridName: TCueCanvasGridName) => {\n if (!this.polycanvas) return;\n\n this.polycanvas.setOptions({\n grid: gridName,\n });\n\n this.publishToChannel({}, gridName);\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 setTool = (tool: TCueCanvasTool) => {\n if (this.polycanvas) {\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 }\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 const lastDimension = payload.map(data => data.dimension).filter(Boolean)[payload.length - 1];\n const lastGrid = payload.map(data => data.gridName).filter(Boolean)[payload.length - 1];\n\n this.updateCanvasConfig(maxHeight, lastDimension, lastGrid);\n payload.forEach(item => this.updateCanvas(item));\n } else {\n this.updateCanvasConfig(payload.height, payload.dimension, payload?.gridName);\n this.updateCanvas(payload);\n }\n };\n\n setColor = (color: string) => {\n if (this.polycanvas) {\n this.polycanvas.setColor(color);\n }\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","responseId","userType","renderAs","__publicField","payload","gridName","dimension","e","checkTextOrEquationTool","data","undoData","getReverseMap","viewPort","image","downloadLink","file","resolve","reject","event","target","_a","imageBase64","imgJson","key","canEditStroke","value","_b","_c","val","allTiles","selectedItems","lockedTiles","updatedJson","unlockedTiles","item","tool","currTool","currSubTool","getToolAndSubtool","heights","maxHeight","lastDimension","lastGrid","color","debounce","canvasElementRef","canvasConfig","canvasSetting","initialData","removeTileButton","removeMask"],"mappings":"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"}