@cuemath/leap 3.1.0-gg2 → 3.1.1-beta-0.1

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 (405) hide show
  1. package/dist/assets/gif/gif.js +22 -22
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +128 -127
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/images/images.js +32 -32
  6. package/dist/assets/images/images.js.map +1 -1
  7. package/dist/assets/line-icons/icons/check.js +3 -3
  8. package/dist/assets/line-icons/icons/check.js.map +1 -1
  9. package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
  10. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
  11. package/dist/assets/line-icons/icons/share.js +48 -0
  12. package/dist/assets/line-icons/icons/share.js.map +1 -0
  13. package/dist/assets/line-icons/icons/tile.js +54 -0
  14. package/dist/assets/line-icons/icons/tile.js.map +1 -0
  15. package/dist/assets/lottie/lottie.js +86 -86
  16. package/dist/assets/lottie/lottie.js.map +1 -1
  17. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +34 -32
  18. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  19. package/dist/features/chapters-v2/chapter-details/chapter-details.js +47 -45
  20. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  21. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +11 -11
  22. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  23. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +47 -46
  24. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  25. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +165 -124
  26. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  27. package/dist/features/chapters-v2/utils/node-card-utils.js +41 -41
  28. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  29. package/dist/features/cue-canvas/bottombar/homework-controls.js +73 -0
  30. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
  31. package/dist/features/cue-canvas/cue-canvas-context.js +8 -5
  32. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  33. package/dist/features/cue-canvas/cue-canvas-core.js +80 -75
  34. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  35. package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
  36. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  37. package/dist/features/cue-canvas/cue-canvas-provider.js +14 -12
  38. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  39. package/dist/features/cue-canvas/cue-canvas.js +79 -65
  40. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  41. package/dist/features/cue-canvas/cue-cavas-styled.js +45 -42
  42. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  43. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +61 -54
  44. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  45. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +18 -14
  46. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  47. package/dist/features/cue-canvas/hooks/use-upload-helper.js +23 -0
  48. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -0
  49. package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
  50. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
  51. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
  52. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
  53. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +68 -0
  54. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
  55. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
  56. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
  57. package/dist/features/cue-canvas/sidebar/homework/homework.js +39 -0
  58. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
  59. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
  60. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
  61. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
  62. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
  63. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
  64. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
  65. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
  66. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
  67. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
  68. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
  69. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
  70. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
  71. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
  72. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
  73. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
  74. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
  75. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
  76. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
  77. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
  78. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
  79. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
  80. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
  81. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
  82. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
  83. package/dist/features/cue-canvas/sidebar/sidebar.js +29 -0
  84. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
  85. package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
  86. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
  87. package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
  88. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  89. package/dist/features/cue-canvas/toolbar/tool.js +22 -20
  90. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  91. package/dist/features/homework/homework-card-view.js +56 -54
  92. package/dist/features/homework/homework-card-view.js.map +1 -1
  93. package/dist/features/homework/homework-card.js +53 -52
  94. package/dist/features/homework/homework-card.js.map +1 -1
  95. package/dist/features/homework/hw-card-list/api/get-homeworks.js +1 -1
  96. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
  97. package/dist/features/homework/hw-card-list/hw-card-list-utils.js +12 -0
  98. package/dist/features/homework/hw-card-list/hw-card-list-utils.js.map +1 -0
  99. package/dist/features/homework/hw-card-list/hw-card-list-view.js +137 -107
  100. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  101. package/dist/features/homework/styles.js +5 -4
  102. package/dist/features/homework/styles.js.map +1 -1
  103. package/dist/features/hooks/use-debounce.js +16 -0
  104. package/dist/features/hooks/use-debounce.js.map +1 -0
  105. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +199 -262
  106. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  107. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js +15 -15
  108. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -1
  109. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +38 -36
  110. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  111. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +24 -22
  112. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  113. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +23 -22
  114. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  115. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +49 -47
  116. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  117. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +94 -87
  118. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  119. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +13 -12
  120. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  121. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +23 -21
  122. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  123. package/dist/features/milestone/create/milestone-create-helpers.js +165 -162
  124. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  125. package/dist/features/trial-session/comps/pricing/india-pricing/index.js +96 -0
  126. package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +1 -0
  127. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +59 -0
  128. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +1 -0
  129. package/dist/features/trial-session/comps/pricing/pricing.js +36 -35
  130. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  131. package/dist/features/ui/stepper/stepper.js +7 -7
  132. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +22 -19
  133. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  134. package/dist/index.d.ts +311 -260
  135. package/dist/index.js +184 -180
  136. package/dist/index.js.map +1 -1
  137. package/dist/static/accuracy-meter.99585cba.json +4218 -0
  138. package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
  139. package/dist/static/achievement_bg.0d0555ac.png +0 -0
  140. package/dist/static/advance-mode-segment-lottie.51ff6707.json +1 -0
  141. package/dist/static/alarm-clock-orange.31fb90d9.svg +1 -0
  142. package/dist/static/alarm-clock-purple.06d4911c.svg +1 -0
  143. package/dist/static/alien-1.fc7ba696.svg +1 -0
  144. package/dist/static/alien-2.15fdda07.svg +1 -0
  145. package/dist/static/alien-3.2664a37f.svg +1 -0
  146. package/dist/static/alien-4.06ac66da.svg +1 -0
  147. package/dist/static/ashta.0d3926b2.png +0 -0
  148. package/dist/static/avatar-selected.860ee923.json +1 -0
  149. package/dist/static/awesome.8e1cf046.png +0 -0
  150. package/dist/static/badge_success.2f6c8e65.png +0 -0
  151. package/dist/static/beginner1x.489908a7.json +3508 -0
  152. package/dist/static/bg_empty_resources.63b187fd.png +0 -0
  153. package/dist/static/blue-clip.87cc4543.svg +1 -0
  154. package/dist/static/bobwave.5603c70b.gif +0 -0
  155. package/dist/static/book-green.20f6eed3.svg +1 -0
  156. package/dist/static/book-open-blue.d4f8d08c.svg +5 -0
  157. package/dist/static/book-orange.04bdc75e.svg +1 -0
  158. package/dist/static/book-yellow.c210ac06.svg +1 -0
  159. package/dist/static/bronze-1.da4e4b5f.json +4176 -0
  160. package/dist/static/bronze-2.97f9c639.json +4433 -0
  161. package/dist/static/bronze-3.6a433ebd.json +4786 -0
  162. package/dist/static/bullet-yellow.2f892d88.svg +1 -0
  163. package/dist/static/calendar-blue.e0d52d09.svg +1 -0
  164. package/dist/static/calendar-gray.1c72682a.svg +1 -0
  165. package/dist/static/calendar-green.a2b6a393.svg +1 -0
  166. package/dist/static/caution.5766a967.svg +1 -0
  167. package/dist/static/chapter-1.8a1683a0.svg +1 -0
  168. package/dist/static/chapter-10.c97de4a5.svg +1 -0
  169. package/dist/static/chapter-2.71ac6dfc.svg +1 -0
  170. package/dist/static/chapter-3.003fc901.svg +1 -0
  171. package/dist/static/chapter-4.8abbacd8.svg +1 -0
  172. package/dist/static/chapter-5.c774b439.svg +1 -0
  173. package/dist/static/chapter-6.cb5cf1cb.svg +1 -0
  174. package/dist/static/chapter-7.57b0beb4.svg +1 -0
  175. package/dist/static/chapter-8.68d36477.svg +1 -0
  176. package/dist/static/chapter-9.0c00e26f.svg +1 -0
  177. package/dist/static/chapter-completed.1241399b.json +497 -0
  178. package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
  179. package/dist/static/chapter-header-bg.4ed173c2.svg +1 -0
  180. package/dist/static/chatva.d0c57a95.png +0 -0
  181. package/dist/static/circle-cuemath-logo-white.e9fafb91.svg +1 -0
  182. package/dist/static/circle-cuemath-logo.8bcb1ad4.svg +1 -0
  183. package/dist/static/circle-outercircle-bg.65f21460.svg +1 -0
  184. package/dist/static/circular-loader.a5a1a0a6.json +238 -0
  185. package/dist/static/clock-30min.eae818b8.json +1197 -0
  186. package/dist/static/clock-45min.df8adf51.json +1197 -0
  187. package/dist/static/clock-60min.2b48d875.json +1197 -0
  188. package/dist/static/clock-90min.3e557ed7.json +1407 -0
  189. package/dist/static/clock-orange.c144059b.svg +6 -0
  190. package/dist/static/color-1.45101b9a.json +4545 -0
  191. package/dist/static/color-2.ccdc7d0a.json +4828 -0
  192. package/dist/static/color-3.5e8e1422.json +5273 -0
  193. package/dist/static/community-bulb.3b42af21.svg +1 -0
  194. package/dist/static/competitive-arena.b9c40801.json +1 -0
  195. package/dist/static/congrats.75718de8.png +0 -0
  196. package/dist/static/cool.1893941c.png +0 -0
  197. package/dist/static/cosa.46c0c49b.png +0 -0
  198. package/dist/static/crosshair-circle.522a26ea.svg +1 -0
  199. package/dist/static/crown-overlay.11fb073c.svg +1 -0
  200. package/dist/static/crown.c18fa217.svg +1 -0
  201. package/dist/static/cuecoin-gold.bcb8085e.svg +1 -0
  202. package/dist/static/cuemath-app-qr-code.4beefe48.svg +1 -0
  203. package/dist/static/cuemath-app-qr-code.ba6cc09b.svg +1 -0
  204. package/dist/static/cuemath-app-qr-code.d0912fc7.png +0 -0
  205. package/dist/static/default-chapter.8ede1160.png +0 -0
  206. package/dist/static/desktop-with-purple-fill.dfec66cc.svg +1 -0
  207. package/dist/static/difficult.6846c064.json +2755 -0
  208. package/dist/static/dob.9ce3c15b.json +1 -0
  209. package/dist/static/doda.3103971c.png +0 -0
  210. package/dist/static/duration-30min-gray.f6442df4.svg +1 -0
  211. package/dist/static/duration-45min-gray.ad90fb23.svg +1 -0
  212. package/dist/static/duration-60min-gray.874e52a2.svg +1 -0
  213. package/dist/static/duration-90min-gray.32a04cef.svg +1 -0
  214. package/dist/static/dvi.fc7b32a5.png +0 -0
  215. package/dist/static/earth-green.e1329b7a.svg +1 -0
  216. package/dist/static/easy-rescheduling.3a6d1a00.gif +0 -0
  217. package/dist/static/easy.68242ddd.json +2658 -0
  218. package/dist/static/eka.b10a06fa.png +0 -0
  219. package/dist/static/elite-circle.3df58972.json +6876 -0
  220. package/dist/static/ellipse-clip.dfb25608.svg +1 -0
  221. package/dist/static/empty_mix_tests.1d251f07.png +0 -0
  222. package/dist/static/enrichment-mini.fc3c0f83.gif +0 -0
  223. package/dist/static/enrichment.571feac0.gif +0 -0
  224. package/dist/static/error-lottie.b3507a4b.json +5255 -0
  225. package/dist/static/error.cbe1ddde.json +1 -0
  226. package/dist/static/familiar1x.7c9c7f15.json +3046 -0
  227. package/dist/static/female-avatar.b8cd1012.svg +1 -0
  228. package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
  229. package/dist/static/five-min-clock.6be5cc41.json +721 -0
  230. package/dist/static/game-play.4982b0cb.svg +1 -0
  231. package/dist/static/games.47abcb18.gif +0 -0
  232. package/dist/static/globe-with-blue-fill.beae6ca4.svg +1 -0
  233. package/dist/static/gold-1.ab2489fe.json +4176 -0
  234. package/dist/static/gold-2.34045826.json +4441 -0
  235. package/dist/static/gold-3.d704698b.json +4810 -0
  236. package/dist/static/grade-grid-background.b17b4ccb.svg +1 -0
  237. package/dist/static/grade.b3730524.json +1 -0
  238. package/dist/static/graduate-hat.4b49eb44.svg +1 -0
  239. package/dist/static/graduate-icon-pink.01fbfb1b.svg +1 -0
  240. package/dist/static/graduate-pink-filled-bg.c91e9c53.svg +1 -0
  241. package/dist/static/great.2a5dcc34.png +0 -0
  242. package/dist/static/green-balloon.67ac8587.svg +1 -0
  243. package/dist/static/green-face.1b4dd82f.svg +1 -0
  244. package/dist/static/hexo.eab4b9f5.png +0 -0
  245. package/dist/static/infinite-button-bg.5909225e.json +1 -0
  246. package/dist/static/infinite-button-symbol.aa31350c.json +1 -0
  247. package/dist/static/jigii-wave.150a6d18.gif +0 -0
  248. package/dist/static/key.d6846476.json +1 -0
  249. package/dist/static/kudos.b7e2aeb6.png +0 -0
  250. package/dist/static/learn.71b13323.json +1 -0
  251. package/dist/static/learned-shield-gray.1495b0d5.svg +1 -0
  252. package/dist/static/learned-shield-green.7c26b423.svg +1 -0
  253. package/dist/static/learning-plan.72d64a61.png +0 -0
  254. package/dist/static/learning-session.71cc8f22.gif +0 -0
  255. package/dist/static/learnt.870c5e38.svg +1 -0
  256. package/dist/static/lesson-overview-banner.f5404af6.png +0 -0
  257. package/dist/static/levelup-rings.b1055283.json +549 -0
  258. package/dist/static/like.cb492460.svg +1 -0
  259. package/dist/static/live-session.a0d25c78.svg +1 -0
  260. package/dist/static/loader-1.6524355e.svg +1 -0
  261. package/dist/static/loader.52f8c35c.svg +1 -0
  262. package/dist/static/locked.0c3b7577.svg +1 -0
  263. package/dist/static/mail.c30e8708.json +1 -0
  264. package/dist/static/maintenance.a26aca65.svg +1 -0
  265. package/dist/static/male-avatar.2febc9eb.svg +1 -0
  266. package/dist/static/mastered-badge.81f156fb.svg +1 -0
  267. package/dist/static/mastered-shield-gray.a58cbe19.svg +1 -0
  268. package/dist/static/mastered-shield-green.070fa4eb.svg +1 -0
  269. package/dist/static/max-wave.44e002c9.gif +0 -0
  270. package/dist/static/medium.94c3829b.json +2289 -0
  271. package/dist/static/mental-math.3c95f169.svg +1 -0
  272. package/dist/static/milestone-intro-1.281a354c.svg +1 -0
  273. package/dist/static/milestone-intro-2.19faee69.svg +1 -0
  274. package/dist/static/milestone-intro-3.6f6055d6.svg +1 -0
  275. package/dist/static/mistake.476d1aa7.svg +1 -0
  276. package/dist/static/no-info.f4bfe437.png +0 -0
  277. package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
  278. package/dist/static/node-learn-bg.b61f815c.svg +1 -0
  279. package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
  280. package/dist/static/node-project-bg.e6a33e28.svg +1 -0
  281. package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
  282. package/dist/static/node-recap-bg.546154e4.svg +1 -0
  283. package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
  284. package/dist/static/node-video-bg.3df3f73a.svg +1 -0
  285. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  286. package/dist/static/number-1-orange.cbf526ed.svg +1 -0
  287. package/dist/static/number-2-orange.6f29eb72.svg +1 -0
  288. package/dist/static/number-3-orange.58baf717.svg +1 -0
  289. package/dist/static/number-4-orange.5ed1ec5e.svg +1 -0
  290. package/dist/static/octo.3020bd93.png +0 -0
  291. package/dist/static/one-star-filled.b6084257.svg +1 -0
  292. package/dist/static/orange-face.5824c2e9.svg +1 -0
  293. package/dist/static/otp.2d08f874.json +1 -0
  294. package/dist/static/otp.a3029760.json +1 -0
  295. package/dist/static/parent-avatar.772d53e0.json +1 -0
  296. package/dist/static/people-with-orange-fill.3835b8f1.svg +1 -0
  297. package/dist/static/phone-number.0be312ea.json +1 -0
  298. package/dist/static/phone-number.84f55562.json +1 -0
  299. package/dist/static/play-icon.13baaa7d.svg +1 -0
  300. package/dist/static/play.68d16dec.svg +1 -0
  301. package/dist/static/point1.b53831de.json +2942 -0
  302. package/dist/static/point10.7b5e536d.json +3179 -0
  303. package/dist/static/point100.1df16f82.json +3196 -0
  304. package/dist/static/point15.fea00c32.json +3179 -0
  305. package/dist/static/point2.7cec6e24.json +1 -0
  306. package/dist/static/point20.c88d776d.json +3178 -0
  307. package/dist/static/point25.a18c346a.json +3178 -0
  308. package/dist/static/point3.f96fe7aa.json +1 -0
  309. package/dist/static/point30.c5224b0b.json +3202 -0
  310. package/dist/static/point35.fad343dd.json +3058 -0
  311. package/dist/static/point4.fe04fb83.json +1 -0
  312. package/dist/static/point40.10a16f72.json +3082 -0
  313. package/dist/static/point45.2ad7561f.json +3082 -0
  314. package/dist/static/point5.da40ed1f.json +2948 -0
  315. package/dist/static/point50.5718cb3d.json +3046 -0
  316. package/dist/static/point60.17380d9f.json +3076 -0
  317. package/dist/static/points-sum.360e63de.svg +1 -0
  318. package/dist/static/practice.158dd488.json +1 -0
  319. package/dist/static/practiced-shield-green.90278855.svg +1 -0
  320. package/dist/static/practiced-shield-grey.16cf4fe0.svg +1 -0
  321. package/dist/static/proficient-badge.1a6dbb72.svg +1 -0
  322. package/dist/static/proficient1x.fa6e7b80.json +3430 -0
  323. package/dist/static/profile-board.4f4a17e6.svg +1 -0
  324. package/dist/static/project.eb665827.json +1 -0
  325. package/dist/static/puzzle-student.de530364.svg +1 -0
  326. package/dist/static/puzzle.5aad5cf8.svg +1 -0
  327. package/dist/static/puzzle.b298c7e4.json +1 -0
  328. package/dist/static/puzzle_card_easy.7d9439b5.png +0 -0
  329. package/dist/static/puzzle_card_hard.185a19c4.png +0 -0
  330. package/dist/static/puzzle_card_medium.17daef9c.png +0 -0
  331. package/dist/static/puzzles.1e269965.gif +0 -0
  332. package/dist/static/random-mode-segment-lottie.79cf1c07.json +1 -0
  333. package/dist/static/recap.0dd2c1e2.json +1 -0
  334. package/dist/static/refund-policy-with-headphone.589398e0.svg +1 -0
  335. package/dist/static/refund-policy.912dbb4c.svg +1 -0
  336. package/dist/static/report-404.dd67785c.svg +1 -0
  337. package/dist/static/rocket-broken.1f86fa43.svg +1 -0
  338. package/dist/static/rocket-yellow.62d27e15.svg +1 -0
  339. package/dist/static/school-success-mini.f74a852f.gif +0 -0
  340. package/dist/static/school-success.f9669771.gif +0 -0
  341. package/dist/static/score.41971107.svg +1 -0
  342. package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +1 -0
  343. package/dist/static/shared.3af01b49.png +0 -0
  344. package/dist/static/sheet-reference.9da7a09f.png +0 -0
  345. package/dist/static/silver-1.0396328a.json +4168 -0
  346. package/dist/static/silver-2.bf50615f.json +4433 -0
  347. package/dist/static/silver-3.13d66b84.json +4810 -0
  348. package/dist/static/skills.90ce4cbb.gif +0 -0
  349. package/dist/static/sleepy-boi.031a1165.json +1008 -0
  350. package/dist/static/smiley.49bb7d7c.svg +1 -0
  351. package/dist/static/speckie-wave.510639ce.gif +0 -0
  352. package/dist/static/spinner-white.639e0d87.json +122 -0
  353. package/dist/static/spiral_pattern.9fd3e6e9.png +0 -0
  354. package/dist/static/splash-screen.bbf567ce.json +2411 -0
  355. package/dist/static/star-orange-filled.a7ff9c8f.svg +1 -0
  356. package/dist/static/star-orange.a91a341f.svg +1 -0
  357. package/dist/static/star-with-green-fill.86877d41.svg +1 -0
  358. package/dist/static/stay-connected.371d3d9d.gif +0 -0
  359. package/dist/static/streak-green.b59bf4dd.svg +1 -0
  360. package/dist/static/streak-white.2cbdc9b8.svg +1 -0
  361. package/dist/static/student-avatar.524226bd.json +1 -0
  362. package/dist/static/table-mode-reveal.b44a82c3.json +1 -0
  363. package/dist/static/table-mode-star.b8a1d762.json +1 -0
  364. package/dist/static/table-segment-star.78e851d6.json +1 -0
  365. package/dist/static/target-achieved-text.053bd142.json +2830 -0
  366. package/dist/static/target-achieved-text.10db8475.json +1 -0
  367. package/dist/static/teacher-validation.7577ecdc.json +245 -0
  368. package/dist/static/tera-wave.2954a6a4.gif +0 -0
  369. package/dist/static/test-difficulty-easy.56df71dd.svg +1 -0
  370. package/dist/static/test-difficulty-hard.7250f1f4.svg +1 -0
  371. package/dist/static/test-difficulty-medium.2fd9686e.svg +1 -0
  372. package/dist/static/test-prep-mini.718e5734.gif +0 -0
  373. package/dist/static/test-prep.ea433f71.gif +0 -0
  374. package/dist/static/test.803d6036.json +1 -0
  375. package/dist/static/tetra.354ff2b9.png +0 -0
  376. package/dist/static/three-stars-filled.72b51f03.svg +1 -0
  377. package/dist/static/tick-green.a1654049.svg +1 -0
  378. package/dist/static/total-streak.d5ce7669.json +842 -0
  379. package/dist/static/total-time-spent.434005d3.json +200 -0
  380. package/dist/static/total-time.d979cbb9.json +24383 -0
  381. package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
  382. package/dist/static/track-progress.c75b1031.gif +0 -0
  383. package/dist/static/trophy-blue-filled.7e2b40ab.svg +1 -0
  384. package/dist/static/trophy-blue.e684ba4c.svg +1 -0
  385. package/dist/static/trophy-circle.b7b23e36.svg +1 -0
  386. package/dist/static/trophy-green.6c0741c8.svg +10 -0
  387. package/dist/static/two-stars-filled.a51a14b4.svg +1 -0
  388. package/dist/static/up-arrow.a6946bd3.svg +1 -0
  389. package/dist/static/user-crown-grid-background.c2875a73.svg +1 -0
  390. package/dist/static/user-down.a06f2f94.svg +1 -0
  391. package/dist/static/user-pin.5f334465.svg +1 -0
  392. package/dist/static/user-profile-background.199977a9.svg +1 -0
  393. package/dist/static/user-type-selector-grid-bg.3c9c8ad6.svg +1 -0
  394. package/dist/static/user-type-selector-grid-bg.3ce8142d.svg +1 -0
  395. package/dist/static/user-type-selector-grid-bg.aad0b059.svg +1 -0
  396. package/dist/static/user-up.2aecbbae.svg +1 -0
  397. package/dist/static/username.9e034d51.json +1 -0
  398. package/dist/static/video.b41451e2.json +1 -0
  399. package/dist/static/vinnie-wave.10734dd5.gif +0 -0
  400. package/dist/static/way-forward.1428093e.gif +0 -0
  401. package/dist/static/wow.864fbb02.png +0 -0
  402. package/dist/static/yellow-face.b7525a33.svg +1 -0
  403. package/dist/static/your-goals.63ffbee5.gif +0 -0
  404. package/dist/static/zodasa.336c3bb0.png +0 -0
  405. package/package.json +3 -2
@@ -1,14 +1,14 @@
1
- import { jsxs as O, jsx as t } from "react/jsx-runtime";
2
- import { memo as N, useRef as T, useCallback as w, useMemo as ee } from "react";
3
- import W from "../../assets/line-icons/icons/eye2.js";
1
+ import { jsxs as T, jsx as t } from "react/jsx-runtime";
2
+ import { memo as N, useRef as W, useCallback as w, useMemo as ee } from "react";
3
+ import x from "../../assets/line-icons/icons/eye2.js";
4
4
  import re from "../../assets/line-icons/icons/home2.js";
5
5
  import te from "../../assets/line-icons/icons/more-vertical.js";
6
- import x from "../../assets/line-icons/icons/redo.js";
7
- import X from "../ui/arrow-tooltip/arrow-tooltip.js";
6
+ import X from "../../assets/line-icons/icons/redo.js";
7
+ import H from "../ui/arrow-tooltip/arrow-tooltip.js";
8
8
  import ie from "../ui/buttons/clickable/clickable.js";
9
- import H from "../ui/hooks/use-context-menu-click-handler.js";
9
+ import j from "../ui/hooks/use-context-menu-click-handler.js";
10
10
  import ne from "../ui/layout/flex-view.js";
11
- import j from "./card-menu-options.js";
11
+ import F from "./card-menu-options.js";
12
12
  import ce from "./homework-card-view.js";
13
13
  import { CardContainer as oe, MenuWrapper as se, CardKebabMenuWrapper as ae, BlurContainer as le, BlurFlexView as ue, StyledMinus2Icon as de } from "./styles.js";
14
14
  import { getCardAnalyticProps as he } from "./utils.js";
@@ -21,30 +21,30 @@ const me = ({
21
21
  onNodeUnassign: d,
22
22
  onNodeView: C,
23
23
  onNodeAssignAsHomework: h,
24
- header: F,
24
+ header: L,
25
25
  isInQueue: $,
26
- renderAs: L,
26
+ renderAs: E,
27
27
  shouldOpenOnRight: P,
28
- studentId: E,
28
+ studentId: I,
29
29
  subHeader: B,
30
30
  userMilestoneId: z,
31
- userType: I
31
+ userType: v
32
32
  }) => {
33
- const i = L === "homework", {
33
+ const i = E === "homework", {
34
34
  node_type: k,
35
35
  state: K,
36
36
  permissions: Y,
37
37
  user_node_id: c,
38
38
  user_milestone_id: q,
39
39
  homework_id: o
40
- } = e, r = z || q || "", _ = T(null), y = T(null), { menuVisible: v, onMenuClick: G } = H(_), { menuVisible: J, onMenuClick: g } = H(y), {
40
+ } = e, r = z || q || "", M = W(null), _ = W(null), { menuVisible: g, onMenuClick: G } = j(M), { menuVisible: J, onMenuClick: R } = j(_), {
41
41
  can_start: m,
42
42
  can_resume: f,
43
43
  can_review: s,
44
44
  can_unassign: Z,
45
- can_reset: R,
45
+ can_reset: V,
46
46
  can_assign_as_homework: Q
47
- } = Y, l = I === "STUDENT", p = w(() => {
47
+ } = Y, l = v === "STUDENT", p = w(() => {
48
48
  if (s) {
49
49
  if (typeof n != "function")
50
50
  throw new Error("onReview must be a function");
@@ -53,7 +53,7 @@ const me = ({
53
53
  n(e, r);
54
54
  return;
55
55
  }
56
- }, [s, n, c, e, r]), A = w(() => {
56
+ }, [s, n, c, e, r]), U = w(() => {
57
57
  if (m || f) {
58
58
  if (typeof b != "function")
59
59
  throw new Error("onNodeAttempt must be a function");
@@ -61,7 +61,7 @@ const me = ({
61
61
  return;
62
62
  }
63
63
  if (!i) {
64
- g();
64
+ R();
65
65
  return;
66
66
  }
67
67
  p();
@@ -74,8 +74,8 @@ const me = ({
74
74
  e,
75
75
  r,
76
76
  o,
77
- g
78
- ]), M = w(() => {
77
+ R
78
+ ]), y = w(() => {
79
79
  if (s) {
80
80
  if (typeof n != "function")
81
81
  throw new Error("onNodeReview must be a function");
@@ -88,10 +88,10 @@ const me = ({
88
88
  throw new Error("onNodeView must be a function");
89
89
  C(e, r);
90
90
  }, [s, C, e, r, n, c, o]), a = w(
91
- (S) => {
92
- switch (S) {
91
+ (O) => {
92
+ switch (O) {
93
93
  case "teacher-card-view":
94
- M();
94
+ y();
95
95
  return;
96
96
  case "student-card-view":
97
97
  p();
@@ -107,7 +107,7 @@ const me = ({
107
107
  h == null || h(e, r);
108
108
  return;
109
109
  default:
110
- throw new Error(`No callback function for ${S}`);
110
+ throw new Error(`No callback function for ${O}`);
111
111
  }
112
112
  },
113
113
  [
@@ -116,14 +116,14 @@ const me = ({
116
116
  u,
117
117
  d,
118
118
  p,
119
- M,
119
+ y,
120
120
  r
121
121
  ]
122
- ), U = [
122
+ ), A = [
123
123
  {
124
124
  id: "teacher-card-view",
125
125
  label: s ? "Review" : "View",
126
- icon: W,
126
+ icon: x,
127
127
  disabled: !1,
128
128
  onClick: a
129
129
  },
@@ -137,8 +137,8 @@ const me = ({
137
137
  {
138
138
  id: "teacher-card-redo",
139
139
  label: "Redo",
140
- icon: x,
141
- disabled: !R,
140
+ icon: X,
141
+ disabled: !V,
142
142
  onClick: a
143
143
  },
144
144
  {
@@ -152,18 +152,18 @@ const me = ({
152
152
  {
153
153
  id: "student-card-view",
154
154
  label: "Review",
155
- icon: W,
155
+ icon: x,
156
156
  disabled: !s,
157
157
  onClick: a
158
158
  },
159
159
  {
160
160
  id: "student-card-reattempt",
161
161
  label: "Reattempt",
162
- icon: x,
163
- disabled: !R,
162
+ icon: X,
163
+ disabled: !V,
164
164
  onClick: a
165
165
  }
166
- ], V = ee(
166
+ ], S = ee(
167
167
  () => he({
168
168
  canResume: f,
169
169
  canStart: m,
@@ -172,13 +172,13 @@ const me = ({
172
172
  isStudent: l,
173
173
  milestoneId: r,
174
174
  nodeType: k,
175
- studentId: E,
175
+ studentId: I,
176
176
  userNodeId: c
177
177
  }),
178
178
  [
179
179
  l,
180
180
  i,
181
- E,
181
+ I,
182
182
  k,
183
183
  m,
184
184
  f,
@@ -187,53 +187,54 @@ const me = ({
187
187
  r
188
188
  ]
189
189
  );
190
- return /* @__PURE__ */ O(oe, { $position: "relative", $width: "fit-content", children: [
190
+ return /* @__PURE__ */ T(oe, { $position: "relative", $width: "fit-content", children: [
191
191
  /* @__PURE__ */ t(
192
192
  ie,
193
193
  {
194
- onClick: l ? A : M,
194
+ onClick: l ? U : y,
195
195
  label: "homework-card",
196
- analyticsLabel: V.analyticsLabel,
197
- analyticsProps: V.analyticsProps,
196
+ analyticsLabel: S.analyticsLabel,
197
+ analyticsProps: S.analyticsProps,
198
198
  children: /* @__PURE__ */ t(
199
199
  ce,
200
200
  {
201
- header: F,
201
+ header: L,
202
202
  isInQueue: $,
203
203
  nodeData: e,
204
- studentContainerRef: y,
204
+ studentContainerRef: _,
205
205
  subHeader: B,
206
- userType: I
206
+ userType: v,
207
+ isMilestone: E === "milestone"
207
208
  }
208
209
  )
209
210
  }
210
211
  ),
211
212
  l && !i && /* @__PURE__ */ t(
212
- j,
213
+ F,
213
214
  {
214
215
  $width: 200,
215
216
  options: D,
216
- triggerRef: y,
217
+ triggerRef: _,
217
218
  visible: J,
218
219
  shouldOpenOnRight: !1
219
220
  }
220
221
  ),
221
- !l && /* @__PURE__ */ O(se, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
222
+ !l && /* @__PURE__ */ T(se, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
222
223
  /* @__PURE__ */ t(
223
- X,
224
+ H,
224
225
  {
225
226
  renderAs: "primary",
226
227
  tooltipItem: "Review",
227
228
  position: "bottom",
228
229
  zIndex: 6,
229
230
  parentWidth: "100%",
230
- hidden: v || K !== "WAIT_FOR_REVIEW" && i,
231
+ hidden: g || K !== "WAIT_FOR_REVIEW" && i,
231
232
  children: /* @__PURE__ */ t(
232
233
  ae,
233
234
  {
234
235
  $alignItems: "center",
235
236
  $justifyContent: "center",
236
- ref: _,
237
+ ref: M,
237
238
  onClick: G,
238
239
  children: /* @__PURE__ */ t(te, { width: 16, height: 16 })
239
240
  }
@@ -241,17 +242,17 @@ const me = ({
241
242
  }
242
243
  ),
243
244
  /* @__PURE__ */ t(
244
- j,
245
+ F,
245
246
  {
246
- options: U,
247
- triggerRef: _,
248
- visible: v,
247
+ options: A,
248
+ triggerRef: M,
249
+ visible: g,
249
250
  shouldOpenOnRight: P,
250
251
  $width: 144
251
252
  }
252
253
  )
253
254
  ] }),
254
- $ && /* @__PURE__ */ t(le, { $background: "WHITE_5", children: /* @__PURE__ */ t(ue, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(X, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(ne, { $heightX: 1, $widthX: 6 }) }) }) })
255
+ $ && /* @__PURE__ */ t(le, { $background: "WHITE_5", children: /* @__PURE__ */ t(ue, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(H, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(ne, { $heightX: 1, $widthX: 6 }) }) }) })
255
256
  ] });
256
257
  }, Re = N(me);
257
258
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../ui/types';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: TUserTypes;\n studentId: string;\n userMilestoneId?: string;\n renderAs: 'homework' | 'milestone';\n shouldOpenOnRight: boolean;\n isInQueue?: boolean;\n}\n\nconst HomeworkCard = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n\n header,\n isInQueue,\n renderAs,\n shouldOpenOnRight,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n}: IHomeworkCardProps) => {\n const isHomeWork = renderAs === 'homework';\n const {\n node_type: nodeType,\n state,\n permissions,\n user_node_id: userNodeId,\n user_milestone_id: nodeDataMilestoneId,\n homework_id: homeworkId,\n } = nodeData;\n\n const milestoneId = userMilestoneId || nodeDataMilestoneId || '';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null);\n const studentContainerRef = useRef<HTMLDivElement>(null);\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, milestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canStart,\n canResume,\n isHomeWork,\n onStudentViewSheet,\n onNodeAttempt,\n nodeData,\n milestoneId,\n homeworkId,\n onStudentMenuClick,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, milestoneId);\n }, [canReview, onNodeView, nodeData, milestoneId, onNodeReview, userNodeId, homeworkId]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, milestoneId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, milestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, milestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n milestoneId,\n ],\n );\n\n const teacherOptions = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const studentOptions = [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n isStudent,\n isHomeWork,\n studentId,\n nodeType,\n canStart,\n canResume,\n homeworkId,\n userNodeId,\n milestoneId,\n ],\n );\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n >\n <HomeworkView\n header={header}\n isInQueue={isInQueue}\n nodeData={nodeData}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n />\n </Clickable>\n {isStudent && !isHomeWork && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {!isStudent && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","header","isInQueue","renderAs","shouldOpenOnRight","studentId","subHeader","userMilestoneId","userType","isHomeWork","nodeType","state","permissions","userNodeId","nodeDataMilestoneId","homeworkId","milestoneId","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../ui/types';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: TUserTypes;\n studentId: string;\n userMilestoneId?: string;\n renderAs: 'homework' | 'milestone';\n shouldOpenOnRight: boolean;\n isInQueue?: boolean;\n}\n\nconst HomeworkCard = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n\n header,\n isInQueue,\n renderAs,\n shouldOpenOnRight,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n}: IHomeworkCardProps) => {\n const isHomeWork = renderAs === 'homework';\n const {\n node_type: nodeType,\n state,\n permissions,\n user_node_id: userNodeId,\n user_milestone_id: nodeDataMilestoneId,\n homework_id: homeworkId,\n } = nodeData;\n\n const milestoneId = userMilestoneId || nodeDataMilestoneId || '';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null);\n const studentContainerRef = useRef<HTMLDivElement>(null);\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, milestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canStart,\n canResume,\n isHomeWork,\n onStudentViewSheet,\n onNodeAttempt,\n nodeData,\n milestoneId,\n homeworkId,\n onStudentMenuClick,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, milestoneId);\n }, [canReview, onNodeView, nodeData, milestoneId, onNodeReview, userNodeId, homeworkId]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, milestoneId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, milestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, milestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n milestoneId,\n ],\n );\n\n const teacherOptions = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const studentOptions = [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n isStudent,\n isHomeWork,\n studentId,\n nodeType,\n canStart,\n canResume,\n homeworkId,\n userNodeId,\n milestoneId,\n ],\n );\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n >\n <HomeworkView\n header={header}\n isInQueue={isInQueue}\n nodeData={nodeData}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n isMilestone={renderAs === 'milestone'}\n />\n </Clickable>\n {isStudent && !isHomeWork && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {!isStudent && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","header","isInQueue","renderAs","shouldOpenOnRight","studentId","subHeader","userMilestoneId","userType","isHomeWork","nodeType","state","permissions","userNodeId","nodeDataMilestoneId","homeworkId","milestoneId","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { createGetAPI as r } from "@cuemath/rest-api";
2
- import { BASE_URL_V3 as t } from "../../../../constants/api.js";
2
+ import { BASE_URL_V3_1 as t } from "../../../../constants/api.js";
3
3
  const { useGet: i, invalidate: u } = r({
4
4
  getURL: (e, s, { stream: o }) => `${t}/users/${e}/course-streams/${o}/homework`
5
5
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get-homeworks.js","sources":["../../../../../src/features/homework/hw-card-list/api/get-homeworks.ts"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../../constants/api';\n\nconst { useGet: useGetHomeworks, invalidate: invalidateHomeworks } = createGetAPI<\n INodeDataProps[],\n void,\n { stream: string }\n>({\n getURL: (studentId: string, _, { stream }) =>\n `${BASE_URL_V3}/users/${studentId}/course-streams/${stream}/homework`,\n});\n\nexport { useGetHomeworks, invalidateHomeworks };\n"],"names":["useGetHomeworks","invalidateHomeworks","createGetAPI","studentId","_","stream","BASE_URL_V3"],"mappings":";;AAMA,MAAM,EAAE,QAAQA,GAAiB,YAAYC,EAAA,IAAwBC,EAInE;AAAA,EACA,QAAQ,CAACC,GAAmBC,GAAG,EAAE,QAAAC,EAAA,MAC/B,GAAGC,CAAW,UAAUH,CAAS,mBAAmBE,CAAM;AAC9D,CAAC;"}
1
+ {"version":3,"file":"get-homeworks.js","sources":["../../../../../src/features/homework/hw-card-list/api/get-homeworks.ts"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3_1 } from '../../../../constants/api';\n\nexport interface IHomeworkDetails {\n assigned_homeworks: INodeDataProps[];\n queued_homeworks: INodeDataProps[];\n}\n\nconst { useGet: useGetHomeworks, invalidate: invalidateHomeworks } = createGetAPI<\n IHomeworkDetails,\n void,\n { stream: string }\n>({\n getURL: (studentId: string, _, { stream }) =>\n `${BASE_URL_V3_1}/users/${studentId}/course-streams/${stream}/homework`,\n});\n\nexport { useGetHomeworks, invalidateHomeworks };\n"],"names":["useGetHomeworks","invalidateHomeworks","createGetAPI","studentId","_","stream","BASE_URL_V3_1"],"mappings":";;AAWA,MAAM,EAAE,QAAQA,GAAiB,YAAYC,EAAA,IAAwBC,EAInE;AAAA,EACA,QAAQ,CAACC,GAAmBC,GAAG,EAAE,QAAAC,EAAA,MAC/B,GAAGC,CAAa,UAAUH,CAAS,mBAAmBE,CAAM;AAChE,CAAC;"}
@@ -0,0 +1,12 @@
1
+ const n = (e) => {
2
+ const { assigned_homeworks: o = [], queued_homeworks: t = [] } = e || {};
3
+ return o.length + t.length;
4
+ }, r = (e) => {
5
+ const { assigned_homeworks: o = [], queued_homeworks: t = [] } = e || {};
6
+ return o.filter((s) => s.state === "WAIT_FOR_REVIEW").length + t.filter((s) => s.state === "WAIT_FOR_REVIEW").length;
7
+ };
8
+ export {
9
+ n as getTotalHWSheetsCount,
10
+ r as getWaitForReviewSheetsCount
11
+ };
12
+ //# sourceMappingURL=hw-card-list-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-card-list-utils.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-utils.ts"],"sourcesContent":["import type { IHomeworkDetails } from './api/get-homeworks';\n\nconst getTotalHWSheetsCount = (hwDetails: IHomeworkDetails | undefined): number => {\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n return assignedHomeworks.length + queuedHomeworks.length;\n};\n\nconst getWaitForReviewSheetsCount = (hwDetails: IHomeworkDetails | undefined): number => {\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n return (\n assignedHomeworks.filter(hw => hw.state === 'WAIT_FOR_REVIEW').length +\n queuedHomeworks.filter(hw => hw.state === 'WAIT_FOR_REVIEW').length\n );\n};\n\nexport { getWaitForReviewSheetsCount, getTotalHWSheetsCount };\n"],"names":["getTotalHWSheetsCount","hwDetails","assignedHomeworks","queuedHomeworks","getWaitForReviewSheetsCount","hw"],"mappings":"AAEM,MAAAA,IAAwB,CAACC,MAAoD;AAC3E,QAAA,EAAE,oBAAoBC,IAAoB,IAAI,kBAAkBC,IAAkB,CAAC,EAAA,IACvFF,KAAa;AAER,SAAAC,EAAkB,SAASC,EAAgB;AACpD,GAEMC,IAA8B,CAACH,MAAoD;AACjF,QAAA,EAAE,oBAAoBC,IAAoB,IAAI,kBAAkBC,IAAkB,CAAC,EAAA,IACvFF,KAAa;AAEf,SACEC,EAAkB,OAAO,CAAMG,MAAAA,EAAG,UAAU,iBAAiB,EAAE,SAC/DF,EAAgB,OAAO,CAAAE,MAAMA,EAAG,UAAU,iBAAiB,EAAE;AAEjE;"}