@cuemath/leap 3.2.15-beta-0.1 → 3.2.15-link.0

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 (306) hide show
  1. package/dist/assets/illustrations/illustrations.js +6 -1
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/after-noon.js +34 -0
  4. package/dist/assets/line-icons/icons/after-noon.js.map +1 -0
  5. package/dist/assets/line-icons/icons/apple-icon-white.js +42 -0
  6. package/dist/assets/line-icons/icons/apple-icon-white.js.map +1 -0
  7. package/dist/assets/line-icons/icons/evening.js +35 -0
  8. package/dist/assets/line-icons/icons/evening.js.map +1 -0
  9. package/dist/assets/line-icons/icons/morning.js +35 -0
  10. package/dist/assets/line-icons/icons/morning.js.map +1 -0
  11. package/dist/assets/line-icons/icons/star3.js +32 -0
  12. package/dist/assets/line-icons/icons/star3.js.map +1 -0
  13. package/dist/assets/lottie/lottie.js +11 -6
  14. package/dist/assets/lottie/lottie.js.map +1 -1
  15. package/dist/features/analytics-events/platform-events-student.js +1 -2
  16. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  17. package/dist/features/analytics-events/platform-events-teacher.js +4 -6
  18. package/dist/features/analytics-events/platform-events-teacher.js.map +1 -1
  19. package/dist/features/analytics-events/whitelist-events.js +8 -10
  20. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  21. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +9 -0
  22. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +1 -0
  23. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +65 -0
  24. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -0
  25. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +92 -0
  26. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -0
  27. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +18 -13
  28. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  29. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +12 -0
  30. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +1 -0
  31. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +34 -0
  32. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -0
  33. package/dist/features/auth/comps/otp-input/otp-input-styled.js +22 -0
  34. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +1 -0
  35. package/dist/features/auth/comps/otp-input/otp-input.js +51 -0
  36. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -0
  37. package/dist/features/auth/comps/pill-button/pill-button-styled.js +44 -0
  38. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -0
  39. package/dist/features/auth/comps/pill-button/pill-button.js +75 -0
  40. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -0
  41. package/dist/features/auth/comps/resend-otp/resend-otp.js +54 -47
  42. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  43. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +17 -0
  44. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +1 -0
  45. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +67 -0
  46. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +1 -0
  47. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +29 -17
  48. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  49. package/dist/features/auth/comps/tabs/tabs-styled.js +22 -10
  50. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  51. package/dist/features/auth/comps/tabs/tabs.js +5 -5
  52. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  53. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js +19 -0
  54. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js.map +1 -0
  55. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js +32 -0
  56. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js.map +1 -0
  57. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js +44 -0
  58. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js.map +1 -0
  59. package/dist/features/auth/signup-v2/signup-header/signup-header.js +54 -0
  60. package/dist/features/auth/signup-v2/signup-header/signup-header.js.map +1 -0
  61. package/dist/features/auth/signup-v2/signup-options/signup-options.js +83 -0
  62. package/dist/features/auth/signup-v2/signup-options/signup-options.js.map +1 -0
  63. package/dist/features/chapters-v2/utils/node-card-utils.js +9 -9
  64. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  65. package/dist/features/communication/pub-sub/constants.js +4 -7
  66. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  67. package/dist/features/homework/homework-card-view.js +97 -85
  68. package/dist/features/homework/homework-card-view.js.map +1 -1
  69. package/dist/features/homework/homework-card.js +42 -44
  70. package/dist/features/homework/homework-card.js.map +1 -1
  71. package/dist/features/homework/hw-card-list/hw-card-list-view.js +29 -31
  72. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  73. package/dist/features/homework/hw-card-list/hw-card-list.js +50 -57
  74. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  75. package/dist/features/homework/utils.js +27 -33
  76. package/dist/features/homework/utils.js.map +1 -1
  77. package/dist/features/journey/comps/coachmark/coachmark.js +28 -29
  78. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  79. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js +11 -17
  80. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
  81. package/dist/features/journey/journey-id/journey-id-student.js +2 -2
  82. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  83. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  84. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  85. package/dist/features/journey/use-journey/journey-context-provider.js +72 -73
  86. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  87. package/dist/features/journey/use-journey/journey-styled.js +4 -6
  88. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  89. package/dist/features/puzzles/comps/puzzle-card-styled.js +69 -24
  90. package/dist/features/puzzles/comps/puzzle-card-styled.js.map +1 -1
  91. package/dist/features/puzzles/comps/puzzle-card.js +30 -64
  92. package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
  93. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js +25 -55
  94. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js.map +1 -1
  95. package/dist/features/puzzles/puzzle-container/puzzle-container.js +107 -100
  96. package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
  97. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js +1 -1
  98. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js.map +1 -1
  99. package/dist/features/puzzles/utils/puzzle-pattern.js +13 -28
  100. package/dist/features/puzzles/utils/puzzle-pattern.js.map +1 -1
  101. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js +7 -50
  102. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js.map +1 -1
  103. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +15 -69
  104. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  105. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +49 -0
  106. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -0
  107. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +64 -0
  108. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -0
  109. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js +28 -0
  110. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js.map +1 -0
  111. package/dist/features/ui/accordion/accordion-items/accordion-items.js +83 -0
  112. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -0
  113. package/dist/features/ui/accordion/accordion.js +62 -0
  114. package/dist/features/ui/accordion/accordion.js.map +1 -0
  115. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +60 -12
  116. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  117. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +77 -72
  118. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  119. package/dist/features/ui/image/image.js +1 -1
  120. package/dist/features/ui/image/image.js.map +1 -1
  121. package/dist/features/ui/inputs/base-input/base-input.js +11 -11
  122. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  123. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  124. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  125. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +5 -5
  126. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  127. package/dist/features/ui/inputs/text-input/text-input.js +19 -18
  128. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  129. package/dist/features/ui/modals/modal-styled.js +43 -8
  130. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  131. package/dist/features/ui/modals/modal.js +37 -27
  132. package/dist/features/ui/modals/modal.js.map +1 -1
  133. package/dist/features/ui/nudge/nudge-styled.js +7 -14
  134. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  135. package/dist/features/ui/nudge/nudge.js +12 -13
  136. package/dist/features/ui/nudge/nudge.js.map +1 -1
  137. package/dist/features/ui/text/text.js +31 -29
  138. package/dist/features/ui/text/text.js.map +1 -1
  139. package/dist/features/ui/theme/button.js +78 -78
  140. package/dist/features/ui/theme/button.js.map +1 -1
  141. package/dist/features/worksheet/worksheet/worksheet-helpers.js +73 -75
  142. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  143. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +25 -29
  144. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  145. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +47 -101
  146. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  147. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +146 -149
  148. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  149. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +207 -242
  150. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  151. package/dist/features/worksheet/worksheet/worksheet-styled.js +37 -37
  152. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  153. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  154. package/dist/features/worksheet/worksheet/worksheet.js +313 -307
  155. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  156. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +1 -1
  157. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  158. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +35 -44
  159. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  160. package/dist/index.d.ts +155 -105
  161. package/dist/index.js +536 -520
  162. package/dist/index.js.map +1 -1
  163. package/dist/static/animated-avatar.1ad58b1d.json +1 -0
  164. package/dist/static/animated-avatar.69b07505.json +1 -0
  165. package/dist/static/animated-avatar.9c560b46.json +1 -0
  166. package/dist/static/calendar-purple.1a840b41.svg +1 -0
  167. package/dist/static/flying-disk.c7f6ed39.json +1 -0
  168. package/dist/static/graduation-cap.3be3340a.json +1 -0
  169. package/dist/static/handshake.287e7dfb.svg +1 -0
  170. package/dist/static/light-bulb.c6db0b23.json +1 -0
  171. package/dist/static/money.332aacf1.svg +1 -0
  172. package/dist/static/muscle.9bcfb8a7.json +1 -0
  173. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  174. package/dist/static/parent-avatar.822c7b9b.svg +1 -0
  175. package/dist/static/pencil.23df9da0.json +1 -0
  176. package/dist/static/plus-sign.de6af957.json +1 -0
  177. package/dist/static/racing-car.2cbf864e.json +1 -0
  178. package/dist/static/rocket.0a3ccab0.json +1 -0
  179. package/dist/static/shovel.abeec04c.json +1 -0
  180. package/dist/static/stripe-blurple.6abf422f.svg +1 -0
  181. package/dist/static/trustpilot.bd3d79e1.svg +1 -0
  182. package/package.json +2 -3
  183. package/dist/assets/line-icons/icons/hint-fill.js +0 -35
  184. package/dist/assets/line-icons/icons/hint-fill.js.map +0 -1
  185. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js +0 -72
  186. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js.map +0 -1
  187. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js +0 -59
  188. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js.map +0 -1
  189. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +0 -63
  190. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +0 -1
  191. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js +0 -67
  192. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js.map +0 -1
  193. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js +0 -70
  194. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js.map +0 -1
  195. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js +0 -59
  196. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js.map +0 -1
  197. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js +0 -59
  198. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js.map +0 -1
  199. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js +0 -70
  200. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js.map +0 -1
  201. package/dist/features/puzzles/api/puzzle-dashboard.js +0 -10
  202. package/dist/features/puzzles/api/puzzle-dashboard.js.map +0 -1
  203. package/dist/features/puzzles/app/puzzle-app-styled.js +0 -81
  204. package/dist/features/puzzles/app/puzzle-app-styled.js.map +0 -1
  205. package/dist/features/puzzles/app/puzzle-app-view.js +0 -120
  206. package/dist/features/puzzles/app/puzzle-app-view.js.map +0 -1
  207. package/dist/features/puzzles/app/puzzle-app.js +0 -82
  208. package/dist/features/puzzles/app/puzzle-app.js.map +0 -1
  209. package/dist/features/puzzles/constants/puzzle-container.js +0 -8
  210. package/dist/features/puzzles/constants/puzzle-container.js.map +0 -1
  211. package/dist/features/puzzles/puzzle-analytics-events.js +0 -11
  212. package/dist/features/puzzles/puzzle-analytics-events.js.map +0 -1
  213. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js +0 -55
  214. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +0 -1
  215. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js +0 -37
  216. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js.map +0 -1
  217. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js +0 -110
  218. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +0 -1
  219. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js +0 -6
  220. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js.map +0 -1
  221. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js +0 -63
  222. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +0 -1
  223. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js +0 -21
  224. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +0 -1
  225. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
  226. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
  227. package/dist/features/worksheet/worksheet/mocks/activity.js +0 -6
  228. package/dist/features/worksheet/worksheet/mocks/activity.js.map +0 -1
  229. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js +0 -38
  230. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js.map +0 -1
  231. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js +0 -38
  232. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js.map +0 -1
  233. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js +0 -38
  234. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js.map +0 -1
  235. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js +0 -38
  236. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js.map +0 -1
  237. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js +0 -38
  238. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js.map +0 -1
  239. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js +0 -95
  240. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js.map +0 -1
  241. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js +0 -38
  242. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js.map +0 -1
  243. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js +0 -38
  244. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js.map +0 -1
  245. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js +0 -38
  246. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js.map +0 -1
  247. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js +0 -38
  248. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js.map +0 -1
  249. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js +0 -38
  250. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js.map +0 -1
  251. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js +0 -41
  252. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js.map +0 -1
  253. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js +0 -38
  254. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js.map +0 -1
  255. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js +0 -41
  256. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js.map +0 -1
  257. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js +0 -39
  258. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js.map +0 -1
  259. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js +0 -39
  260. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js.map +0 -1
  261. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js +0 -39
  262. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js.map +0 -1
  263. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js +0 -39
  264. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js.map +0 -1
  265. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js +0 -39
  266. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js.map +0 -1
  267. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js +0 -38
  268. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js.map +0 -1
  269. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js +0 -38
  270. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js.map +0 -1
  271. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js +0 -38
  272. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js.map +0 -1
  273. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js +0 -38
  274. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js.map +0 -1
  275. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js +0 -39
  276. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js.map +0 -1
  277. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js +0 -38
  278. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js.map +0 -1
  279. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js +0 -38
  280. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js.map +0 -1
  281. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js +0 -38
  282. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js.map +0 -1
  283. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js +0 -38
  284. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js.map +0 -1
  285. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js +0 -38
  286. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js.map +0 -1
  287. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +0 -5
  288. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +0 -1
  289. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +0 -57
  290. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +0 -1
  291. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +0 -231
  292. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +0 -1
  293. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +0 -174
  294. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +0 -1
  295. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +0 -255
  296. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +0 -1
  297. package/dist/static/nudge-tap.0591aef4.json +0 -1
  298. package/dist/static/puzzle-blue-lottie.7017e2e8.json +0 -1
  299. package/dist/static/puzzle-blue-lottie.bf64ebc5.json +0 -12760
  300. package/dist/static/puzzle-dashboard-banner.b7956519.svg +0 -1
  301. package/dist/static/puzzle-green-lottie.1da90698.json +0 -1
  302. package/dist/static/puzzle-orange-lottie.cfcf3724.json +0 -1
  303. package/dist/static/puzzle-purple-lottie.e70de110.json +0 -9860
  304. package/dist/static/puzzle-yellow-lottie.275b5cf4.json +0 -1
  305. package/dist/types/models/worksheet.js +0 -5
  306. package/dist/types/models/worksheet.js.map +0 -1
@@ -1,18 +1,18 @@
1
1
  import { jsxs as x, jsx as t } from "react/jsx-runtime";
2
- import { memo as ie, useRef as L, useCallback as w, useMemo as ne } from "react";
2
+ import { memo as te, useRef as L, useCallback as w, useMemo as ie } from "react";
3
3
  import P from "../../assets/line-icons/icons/eye2.js";
4
- import ce from "../../assets/line-icons/icons/home2.js";
5
- import oe from "../../assets/line-icons/icons/more-vertical.js";
4
+ import ne from "../../assets/line-icons/icons/home2.js";
5
+ import ce from "../../assets/line-icons/icons/more-vertical.js";
6
6
  import X from "../../assets/line-icons/icons/redo.js";
7
7
  import H from "../ui/arrow-tooltip/arrow-tooltip.js";
8
- import se from "../ui/buttons/clickable/clickable.js";
8
+ import oe from "../ui/buttons/clickable/clickable.js";
9
9
  import j from "../ui/hooks/use-context-menu-click-handler.js";
10
- import ae from "../ui/layout/flex-view.js";
10
+ import se from "../ui/layout/flex-view.js";
11
11
  import z from "./card-menu-options.js";
12
- import le from "./homework-card-view.js";
13
- import { CardContainer as ue, MenuWrapper as de, CardKebabMenuWrapper as he, BlurContainer as me, BlurFlexView as fe, StyledMinus2Icon as pe } from "./styles.js";
14
- import { getCardAnalyticProps as be } from "./utils.js";
15
- const we = ({
12
+ import ae from "./homework-card-view.js";
13
+ import { CardContainer as le, MenuWrapper as ue, CardKebabMenuWrapper as de, BlurContainer as he, BlurFlexView as me, StyledMinus2Icon as fe } from "./styles.js";
14
+ import { getCardAnalyticProps as pe } from "./utils.js";
15
+ const be = ({
16
16
  // callbacks
17
17
  nodeData: e,
18
18
  onNodeAttempt: C,
@@ -28,24 +28,23 @@ const we = ({
28
28
  studentId: I,
29
29
  subHeader: K,
30
30
  userMilestoneId: Z,
31
- userType: v,
32
- puzzleHWCardRef: Y
31
+ userType: v
33
32
  }) => {
34
33
  const i = E === "homework", {
35
34
  node_type: m,
36
35
  state: R,
37
- permissions: q,
36
+ permissions: Y,
38
37
  user_node_id: c,
39
- user_milestone_id: G,
38
+ user_milestone_id: q,
40
39
  homework_id: o
41
- } = e, r = Z || G || "", g = m === "PUZZLE_CARD", J = R === "LOCKED", _ = L(null), M = L(null), { menuVisible: S, onMenuClick: Q } = j(_), { menuVisible: U, onMenuClick: V } = j(M), {
40
+ } = e, r = Z || q || "", g = m === "PUZZLE_CARD", G = R === "LOCKED", _ = L(null), M = L(null), { menuVisible: S, onMenuClick: J } = j(_), { menuVisible: Q, onMenuClick: V } = j(M), {
42
41
  can_start: f,
43
42
  can_resume: p,
44
43
  can_review: s,
45
- can_unassign: A,
44
+ can_unassign: U,
46
45
  can_reset: O,
47
- can_assign_as_homework: D
48
- } = q, a = v === "STUDENT", b = w(() => {
46
+ can_assign_as_homework: A
47
+ } = Y, a = v === "STUDENT", b = w(() => {
49
48
  if (s) {
50
49
  if (typeof n != "function")
51
50
  throw new Error("onReview must be a function");
@@ -54,7 +53,7 @@ const we = ({
54
53
  n(e, r);
55
54
  return;
56
55
  }
57
- }, [s, n, c, e, r]), N = w(() => {
56
+ }, [s, n, c, e, r]), D = w(() => {
58
57
  if (f || p) {
59
58
  if (typeof C != "function")
60
59
  throw new Error("onNodeAttempt must be a function");
@@ -120,7 +119,7 @@ const we = ({
120
119
  y,
121
120
  r
122
121
  ]
123
- ), ee = [
122
+ ), N = [
124
123
  {
125
124
  id: "teacher-card-view",
126
125
  label: s ? "Review" : "View",
@@ -131,8 +130,8 @@ const we = ({
131
130
  {
132
131
  id: "teacher-card-unassign",
133
132
  label: "Unassign",
134
- icon: pe,
135
- disabled: i ? m === "MASTERY" : !A,
133
+ icon: fe,
134
+ disabled: i ? m === "MASTERY" : !U,
136
135
  onClick: l
137
136
  },
138
137
  {
@@ -145,11 +144,11 @@ const we = ({
145
144
  {
146
145
  id: "teacher-card-assign-as-hw",
147
146
  label: "Assign as HW",
148
- icon: ce,
149
- disabled: !D,
147
+ icon: ne,
148
+ disabled: !A,
150
149
  onClick: l
151
150
  }
152
- ], re = [
151
+ ], ee = [
153
152
  {
154
153
  id: "student-card-view",
155
154
  label: "Review",
@@ -164,8 +163,8 @@ const we = ({
164
163
  disabled: !O,
165
164
  onClick: l
166
165
  }
167
- ], T = ne(
168
- () => be({
166
+ ], T = ie(
167
+ () => pe({
169
168
  canResume: p,
170
169
  canStart: f,
171
170
  homeworkId: o,
@@ -187,18 +186,18 @@ const we = ({
187
186
  c,
188
187
  r
189
188
  ]
190
- ), te = a && g && J;
191
- return /* @__PURE__ */ x(ue, { $position: "relative", $width: "fit-content", children: [
189
+ ), re = a && g && G;
190
+ return /* @__PURE__ */ x(le, { $position: "relative", $width: "fit-content", children: [
192
191
  /* @__PURE__ */ t(
193
- se,
192
+ oe,
194
193
  {
195
- onClick: a ? N : y,
194
+ onClick: a ? D : y,
196
195
  label: "homework-card",
197
196
  analyticsLabel: T.analyticsLabel,
198
197
  analyticsProps: T.analyticsProps,
199
- disabled: te,
198
+ disabled: re,
200
199
  children: /* @__PURE__ */ t(
201
- le,
200
+ ae,
202
201
  {
203
202
  header: F,
204
203
  isInQueue: $,
@@ -206,8 +205,7 @@ const we = ({
206
205
  studentContainerRef: M,
207
206
  subHeader: K,
208
207
  userType: v,
209
- isMilestone: E === "milestone",
210
- puzzleHWCardRef: Y
208
+ isMilestone: E === "milestone"
211
209
  }
212
210
  )
213
211
  }
@@ -216,13 +214,13 @@ const we = ({
216
214
  z,
217
215
  {
218
216
  $width: 200,
219
- options: re,
217
+ options: ee,
220
218
  triggerRef: M,
221
- visible: U,
219
+ visible: Q,
222
220
  shouldOpenOnRight: !1
223
221
  }
224
222
  ),
225
- !a && !g && /* @__PURE__ */ x(de, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
223
+ !a && !g && /* @__PURE__ */ x(ue, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
226
224
  /* @__PURE__ */ t(
227
225
  H,
228
226
  {
@@ -233,13 +231,13 @@ const we = ({
233
231
  parentWidth: "100%",
234
232
  hidden: S || R !== "WAIT_FOR_REVIEW" && i,
235
233
  children: /* @__PURE__ */ t(
236
- he,
234
+ de,
237
235
  {
238
236
  $alignItems: "center",
239
237
  $justifyContent: "center",
240
238
  ref: _,
241
- onClick: Q,
242
- children: /* @__PURE__ */ t(oe, { width: 16, height: 16 })
239
+ onClick: J,
240
+ children: /* @__PURE__ */ t(ce, { width: 16, height: 16 })
243
241
  }
244
242
  )
245
243
  }
@@ -247,7 +245,7 @@ const we = ({
247
245
  /* @__PURE__ */ t(
248
246
  z,
249
247
  {
250
- options: ee,
248
+ options: N,
251
249
  triggerRef: _,
252
250
  visible: S,
253
251
  shouldOpenOnRight: B,
@@ -255,10 +253,10 @@ const we = ({
255
253
  }
256
254
  )
257
255
  ] }),
258
- $ && /* @__PURE__ */ t(me, { $background: "WHITE_5", children: /* @__PURE__ */ t(fe, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(H, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(ae, { $heightX: 1, $widthX: 6 }) }) }) })
256
+ $ && /* @__PURE__ */ t(he, { $background: "WHITE_5", children: /* @__PURE__ */ t(me, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(H, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(se, { $heightX: 1, $widthX: 6 }) }) }) })
259
257
  ] });
260
- }, Te = ie(we);
258
+ }, Oe = te(be);
261
259
  export {
262
- Te as default
260
+ Oe as default
263
261
  };
264
262
  //# sourceMappingURL=homework-card.js.map
@@ -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';\nimport type { FC } from 'react';\n\nimport React, { 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 puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n}\n\nconst HomeworkCard: FC<IHomeworkCardProps> = ({\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 puzzleHWCardRef,\n}) => {\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 const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isSheetLocked = state === 'LOCKED';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const studentContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\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 const isClickableDisabled = isStudent && isPuzzleCard && isSheetLocked;\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 disabled={isClickableDisabled}\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 puzzleHWCardRef={puzzleHWCardRef}\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 && !isPuzzleCard && (\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","puzzleHWCardRef","isHomeWork","nodeType","state","permissions","userNodeId","nodeDataMilestoneId","homeworkId","milestoneId","isPuzzleCard","isSheetLocked","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","isClickableDisabled","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":";;;;;;;;;;;;;;AAmCA,MAAMA,KAAuC,CAAC;AAAA;AAAA,EAE5C,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,wBAAAC;AAAA,EAEA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AACF,MAAM;AACJ,QAAMC,IAAaP,MAAa,YAC1B;AAAA,IACJ,WAAWQ;AAAA,IACX,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAcC;AAAA,IACd,mBAAmBC;AAAA,IACnB,aAAaC;AAAA,EACX,IAAAtB,GAEEuB,IAAcV,KAAmBQ,KAAuB,IACxDG,IAAeP,MAAa,eAC5BQ,IAAgBP,MAAU,UAE1BQ,IAAsBC,EAAuB,IAAI,GACjDC,IAAsBD,EAAuB,IAAI,GACjD,EAAE,aAAaE,GAAoB,aAAaC,MACpDC,EAA2BL,CAAmB,GAC1C,EAAE,aAAaM,GAAoB,aAAaC,MACpDF,EAA2BH,CAAmB,GAE1C;AAAA,IACJ,WAAWM;AAAA,IACX,YAAYC;AAAA,IACZ,YAAYC;AAAA,IACZ,cAAcC;AAAA,IACd,WAAWC;AAAA,IACX,wBAAwBC;AAAA,EACtB,IAAApB,GACEqB,IAAY1B,MAAa,WAEzB2B,IAAqBC,EAAY,MAAM;AAC3C,QAAIN,GAAW;AACT,UAAA,OAAOjC,KAAiB;AACpB,cAAA,IAAI,MAAM,6BAA6B;AAG/C,UAAI,CAACiB;AACG,cAAA,IAAI,MAAM,kDAAkD;AAEpE,MAAAjB,EAAaH,GAAUuB,CAAW;AAElC;AAAA,IACF;AAAA,EAAA,GACC,CAACa,GAAWjC,GAAciB,GAAYpB,GAAUuB,CAAW,CAAC,GAEzDoB,IAAqBD,EAAY,MAAM;AAC3C,QAAIR,KAAYC,GAAW;AACrB,UAAA,OAAOlC,KAAkB;AACrB,cAAA,IAAI,MAAM,kCAAkC;AAGtC,MAAAA,EAAAD,GAAUuB,GAAaD,CAAU;AAE/C;AAAA,IACF;AAEA,QAAI,CAACN,GAAY;AACI,MAAAiB;AAEnB;AAAA,IACF;AACmB,IAAAQ;EAAA,GAClB;AAAA,IACDP;AAAA,IACAC;AAAA,IACAnB;AAAA,IACAyB;AAAA,IACAxC;AAAA,IACAD;AAAA,IACAuB;AAAA,IACAD;AAAA,IACAW;AAAA,EAAA,CACD,GAEKW,IAAqBF,EAAY,MAAM;AAC3C,QAAIN,GAAW;AACT,UAAA,OAAOjC,KAAiB;AACpB,cAAA,IAAI,MAAM,iCAAiC;AAGnD,UAAI,CAACiB;AACG,cAAA,IAAI,MAAM,kDAAkD;AAEvD,MAAAjB,EAAAH,GAAUuB,GAAaD,CAAU;AAE9C;AAAA,IACF;AAEI,QAAA,OAAOjB,KAAe;AAClB,YAAA,IAAI,MAAM,+BAA+B;AAGjD,IAAAA,EAAWL,GAAUuB,CAAW;AAAA,EAAA,GAC/B,CAACa,GAAW/B,GAAYL,GAAUuB,GAAapB,GAAciB,GAAYE,CAAU,CAAC,GAEjFuB,IAA0BH;AAAA,IAC9B,CAACI,MAAqB;AACpB,cAAQA,GAAU;AAAA,QAChB,KAAK;AACgB,UAAAF;AAEnB;AAAA,QACF,KAAK;AACgB,UAAAH;AAEnB;AAAA,QACF,KAAK;AACH,UAAArC,KAAA,QAAAA,EAAiBJ,GAAUuB;AAE3B;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,UAAArB,KAAA,QAAAA,EAAkBF,GAAUuB;AAE5B;AAAA,QAEF,KAAK;AACH,UAAAjB,KAAA,QAAAA,EAAyBN,GAAUuB;AAEnC;AAAA,QAEF;AACE,gBAAM,IAAI,MAAM,4BAA4BuB,CAAQ,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,IACA;AAAA,MACE9C;AAAA,MACAM;AAAA,MACAJ;AAAA,MACAE;AAAA,MACAqC;AAAA,MACAG;AAAA,MACArB;AAAA,IACF;AAAA,EAAA,GAGIwB,KAAiB;AAAA,IACrB;AAAA,MACE,IAAI;AAAA,MACJ,OAAOX,IAAY,WAAW;AAAA,MAC9B,MAAMY;AAAA,MACN,UAAU;AAAA,MACV,SAASH;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMI;AAAAA,MACN,UAAUjC,IAAaC,MAAa,YAAY,CAACoB;AAAA,MACjD,SAASQ;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMK;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASO;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMM;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASM;AAAA,IACX;AAAA,EAAA,GAGIO,KAAiB;AAAA,IACrB;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMJ;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASS;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMK;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASO;AAAA,IACX;AAAA,EAAA,GAGIQ,IAAiBC;AAAA,IACrB,MACEC,GAAqB;AAAA,MACnB,WAAApB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAZ;AAAA,MACA,YAAAN;AAAA,MACA,WAAAwB;AAAA,MACA,aAAAjB;AAAA,MACA,UAAAN;AAAA,MACA,WAAAN;AAAA,MACA,YAAAS;AAAA,IAAA,CACD;AAAA,IACH;AAAA,MACEoB;AAAA,MACAxB;AAAA,MACAL;AAAA,MACAM;AAAA,MACAiB;AAAA,MACAC;AAAA,MACAb;AAAA,MACAF;AAAA,MACAG;AAAA,IACF;AAAA,EAAA,GAGIiC,KAAsBhB,KAAahB,KAAgBC;AAEzD,2BACGgC,IAAA,EAAqB,WAAU,YAAW,QAAO,eAChD,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAASnB,IAAYG,IAAqBC;AAAA,QAC1C,OAAM;AAAA,QACN,gBAAgBS,EAAe;AAAA,QAC/B,gBAAgBA,EAAe;AAAA,QAC/B,UAAUG;AAAA,QAEV,UAAA,gBAAAE;AAAA,UAACE;AAAAA,UAAA;AAAA,YACC,QAAArD;AAAA,YACA,WAAAC;AAAA,YACA,UAAAR;AAAA,YACA,qBAAA4B;AAAA,YACA,WAAAhB;AAAA,YACA,UAAAE;AAAA,YACA,aAAaL,MAAa;AAAA,YAC1B,iBAAAM;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,IACCyB,KAAa,CAACxB,KACb,gBAAA0C;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAST;AAAA,QACT,YAAYxB;AAAA,QACZ,SAASI;AAAA,QACT,mBAAmB;AAAA,MAAA;AAAA,IACrB;AAAA,IAED,CAACQ,KAAa,CAAChB,KACb,gBAAAsC,EAAAC,IAAA,EAAmB,WAAU,YAAW,QAAO,eAAc,gBAAgB,GAC5E,UAAA;AAAA,MAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,aAAY;AAAA,UACZ,UAAS;AAAA,UACT,QAAQ;AAAA,UACR,aAAY;AAAA,UACZ,QAAQnC,KAAuBX,MAAU,qBAAqBF;AAAA,UAE9D,UAAA,gBAAA0C;AAAA,YAACO;AAAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,iBAAgB;AAAA,cAChB,KAAKvC;AAAA,cACL,SAASI;AAAA,cAET,UAAC,gBAAA4B,EAAAQ,IAAA,EAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,YAAA;AAAA,UAC3C;AAAA,QAAA;AAAA,MACF;AAAA,MACA,gBAAAR;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAASd;AAAA,UACT,YAAYrB;AAAA,UACZ,SAASG;AAAA,UACT,mBAAAnB;AAAA,UACA,QAAQ;AAAA,QAAA;AAAA,MACV;AAAA,IAAA,GACF;AAAA,IAEDF,KACC,gBAAAkD,EAACS,IAAA,EAAqB,aAAY,WAChC,UAAA,gBAAAT,EAACU,IAAA,EAAoB,UAAU,GAAG,SAAS,GACzC,UAAC,gBAAAV,EAAAM,GAAA,EAAa,UAAS,WAAU,aAAY,0BAAyB,UAAS,UAC7E,UAAA,gBAAAN,EAACW,IAAS,EAAA,UAAU,GAAG,SAAS,EAAG,CAAA,EACrC,CAAA,EACF,CAAA,GACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEeC,KAAAC,GAAKxE,EAAY;"}
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';\nimport type { FC } from 'react';\n\nimport React, { 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: FC<IHomeworkCardProps> = ({\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}) => {\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 const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isSheetLocked = state === 'LOCKED';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const studentContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\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 const isClickableDisabled = isStudent && isPuzzleCard && isSheetLocked;\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 disabled={isClickableDisabled}\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 && !isPuzzleCard && (\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","isPuzzleCard","isSheetLocked","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","isClickableDisabled","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,13 +1,13 @@
1
1
  import { jsxs as l, jsx as r } from "react/jsx-runtime";
2
- import { memo as Q, useState as y, useRef as V, useMemo as S, useCallback as d, useEffect as B } from "react";
3
- import F from "../../../assets/line-icons/icons/chevron-left.js";
4
- import q from "../../../assets/line-icons/icons/chevron-right.js";
2
+ import { memo as O, useState as y, useRef as Q, useMemo as S, useCallback as d, useEffect as B } from "react";
3
+ import V from "../../../assets/line-icons/icons/chevron-left.js";
4
+ import F from "../../../assets/line-icons/icons/chevron-right.js";
5
5
  import u from "../../ui/layout/flex-view.js";
6
6
  import g from "../../ui/text/text.js";
7
7
  import E from "../homework-card.js";
8
- import { ContentWrapper as Y, ScrollButton as W, ScrollContainer as z, QueueWrapper as J, QueueText as P } from "./hw-card-list-styled.js";
9
- import { getWaitForReviewSheetsCount as Z } from "./hw-card-list-utils.js";
10
- const U = ({
8
+ import { ContentWrapper as q, ScrollButton as W, ScrollContainer as Y, QueueWrapper as z, QueueText as J } from "./hw-card-list-styled.js";
9
+ import { getWaitForReviewSheetsCount as P } from "./hw-card-list-utils.js";
10
+ const Z = ({
11
11
  userType: C,
12
12
  studentId: _,
13
13
  isHwProcessing: K,
@@ -18,24 +18,23 @@ const U = ({
18
18
  onNodeView: x,
19
19
  onTestReview: H,
20
20
  onNodeReview: L,
21
- onNodeUnassign: A,
22
- puzzleHWCardRef: T
21
+ onNodeUnassign: A
23
22
  }) => {
24
- const [j, a] = y(!1), [D, I] = y(!1), t = V(null), { assigned_homeworks: h = [], queued_homeworks: f = [] } = s || {}, R = S(
23
+ const [T, a] = y(!1), [j, I] = y(!1), t = Q(null), { assigned_homeworks: h = [], queued_homeworks: f = [] } = s || {}, R = S(
25
24
  () => h.length + f.length,
26
25
  [h, f]
27
- ), G = S(() => Z(s), [s]), o = d(() => {
26
+ ), D = S(() => P(s), [s]), o = d(() => {
28
27
  if (t.current) {
29
28
  const { scrollLeft: e, scrollWidth: i, clientWidth: c } = t.current;
30
29
  e > 1 && a(!0), e < i - c - 1 && I(!0);
31
30
  }
32
- }, []), M = d(() => {
31
+ }, []), G = d(() => {
33
32
  t.current && o();
34
- }, [o]), N = d(() => {
33
+ }, [o]), M = d(() => {
35
34
  a(!1), I(!1);
36
- }, []), X = d(() => {
35
+ }, []), N = d(() => {
37
36
  t.current && (t.current.scrollBy({ left: -200, behavior: "smooth" }), o());
38
- }, [o]), O = d(() => {
37
+ }, [o]), X = d(() => {
39
38
  t.current && (t.current.scrollBy({ left: 200, behavior: "smooth" }), o());
40
39
  }, [o]);
41
40
  return B(() => {
@@ -52,10 +51,10 @@ const U = ({
52
51
  }, [o]), R === 0 ? /* @__PURE__ */ l(u, { $flexRowGapX: 1, children: [
53
52
  /* @__PURE__ */ r(g, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Homework (0)" }),
54
53
  /* @__PURE__ */ r(g, { $renderAs: "ab2", $color: "BLACK_T_60", children: "No Homework assigned yet" })
55
- ] }) : /* @__PURE__ */ l(Y, { $flexRowGapX: 1, $disablePointerEvents: K, children: [
54
+ ] }) : /* @__PURE__ */ l(q, { $flexRowGapX: 1, $disablePointerEvents: K, children: [
56
55
  /* @__PURE__ */ l(g, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
57
56
  "Homework (",
58
- G,
57
+ D,
59
58
  "/",
60
59
  R,
61
60
  ")"
@@ -64,8 +63,8 @@ const U = ({
64
63
  u,
65
64
  {
66
65
  $position: "relative",
67
- onMouseEnter: M,
68
- onMouseLeave: N,
66
+ onMouseEnter: G,
67
+ onMouseLeave: M,
69
68
  children: [
70
69
  /* @__PURE__ */ r(
71
70
  W,
@@ -75,14 +74,14 @@ const U = ({
75
74
  $justifyContent: "center",
76
75
  $alignItems: "center",
77
76
  $height: "100%",
78
- onClick: X,
79
- $visible: j,
77
+ onClick: N,
78
+ $visible: T,
80
79
  left: "0px",
81
80
  right: "auto",
82
- children: /* @__PURE__ */ r(F, { width: 24, height: 24 })
81
+ children: /* @__PURE__ */ r(V, { width: 24, height: 24 })
83
82
  }
84
83
  ),
85
- /* @__PURE__ */ r(z, { ref: t, children: /* @__PURE__ */ l(u, { $flexDirection: "row", $flexGapX: 1, children: [
84
+ /* @__PURE__ */ r(Y, { ref: t, children: /* @__PURE__ */ l(u, { $flexDirection: "row", $flexGapX: 1, children: [
86
85
  h.map((e, i) => {
87
86
  const {
88
87
  node_id: c,
@@ -109,8 +108,7 @@ const U = ({
109
108
  shouldOpenOnRight: !0,
110
109
  onNodeView: n ? b : x,
111
110
  onNodeReview: n ? H : L,
112
- onNodeUnassign: A,
113
- puzzleHWCardRef: T
111
+ onNodeUnassign: A
114
112
  }
115
113
  )
116
114
  },
@@ -132,13 +130,13 @@ const U = ({
132
130
  $flexGapX: 1,
133
131
  children: [
134
132
  i === 0 && /* @__PURE__ */ r(
135
- J,
133
+ z,
136
134
  {
137
135
  $background: "BLACK_4",
138
136
  $justifyContent: "center",
139
137
  $gutter: 4,
140
138
  $gap: 8,
141
- children: /* @__PURE__ */ r(P, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
139
+ children: /* @__PURE__ */ r(J, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
142
140
  }
143
141
  ),
144
142
  /* @__PURE__ */ r(
@@ -173,19 +171,19 @@ const U = ({
173
171
  $background: "BLACK_T_60",
174
172
  $justifyContent: "center",
175
173
  $alignItems: "center",
176
- onClick: O,
177
- $visible: D,
174
+ onClick: X,
175
+ $visible: j,
178
176
  left: "auto",
179
177
  right: "0px",
180
- children: /* @__PURE__ */ r(q, { width: 24, height: 24 })
178
+ children: /* @__PURE__ */ r(F, { width: 24, height: 24 })
181
179
  }
182
180
  )
183
181
  ]
184
182
  }
185
183
  )
186
184
  ] });
187
- }, de = Q(U);
185
+ }, ce = O(Z);
188
186
  export {
189
- de as default
187
+ ce as default
190
188
  };
191
189
  //# sourceMappingURL=hw-card-list-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IHomeworkDetails } from './api/get-homeworks';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport * as Styled from './hw-card-list-styled';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\n\ninterface IHwCardListView extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n isHwProcessing: boolean;\n hwDetails?: IHomeworkDetails;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n}\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n puzzleHWCardRef,\n}) => {\n const [isLeftHovered, setIsLeftHovered] = useState(false);\n const [isRightHovered, setIsRightHovered] = useState(false);\n const scrollRef = useRef<HTMLDivElement>(null);\n\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n const totalHWSheetsCount = useMemo(\n () => assignedHomeworks.length + queuedHomeworks.length,\n [assignedHomeworks, queuedHomeworks],\n );\n const waitForReviewSheets = useMemo(() => getWaitForReviewSheetsCount(hwDetails), [hwDetails]);\n\n const updatedCanScroll = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n\n if (scrollLeft < scrollWidth - clientWidth - 1) {\n setIsRightHovered(true);\n }\n }\n }, []);\n const handleHoverEnter = useCallback(() => {\n if (!scrollRef.current) return;\n\n updatedCanScroll();\n }, [updatedCanScroll]);\n\n const handleHoverLeave = useCallback(() => {\n setIsLeftHovered(false);\n setIsRightHovered(false);\n }, []);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n useEffect(() => {\n if (hwDetails && scrollRef.current) {\n const { scrollLeft } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n }\n }, [hwDetails]);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n scrollElement.addEventListener('scroll', updatedCanScroll);\n\n return () => {\n scrollElement.removeEventListener('scroll', updatedCanScroll);\n };\n }\n }, [updatedCanScroll]);\n\n if (totalHWSheetsCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({waitForReviewSheets}/{totalHWSheetsCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleHoverEnter}\n onMouseLeave={handleHoverLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={isLeftHovered}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {assignedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n <HomeworkCard\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n puzzleHWCardRef={puzzleHWCardRef}\n />\n </FlexView>\n );\n })}\n\n {queuedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n <HomeworkCard\n isInQueue\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.ScrollContainer>\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={isRightHovered}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","puzzleHWCardRef","isLeftHovered","setIsLeftHovered","useState","isRightHovered","setIsRightHovered","scrollRef","useRef","assignedHomeworks","queuedHomeworks","totalHWSheetsCount","useMemo","waitForReviewSheets","getWaitForReviewSheetsCount","updatedCanScroll","useCallback","scrollLeft","scrollWidth","clientWidth","handleHoverEnter","handleHoverLeave","handleScrollLeft","handleScrollRight","useEffect","scrollElement","jsxs","FlexView","jsx","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","sheet","idx","nodeId","worksheetId","nodeType","title","subtext","isDynamicSheet","HomeworkCard","Styled.QueueWrapper","Styled.QueueText","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IHomeworkDetails } from './api/get-homeworks';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport * as Styled from './hw-card-list-styled';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\n\ninterface IHwCardListView extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n isHwProcessing: boolean;\n hwDetails?: IHomeworkDetails;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n}\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n}) => {\n const [isLeftHovered, setIsLeftHovered] = useState(false);\n const [isRightHovered, setIsRightHovered] = useState(false);\n const scrollRef = useRef<HTMLDivElement>(null);\n\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n const totalHWSheetsCount = useMemo(\n () => assignedHomeworks.length + queuedHomeworks.length,\n [assignedHomeworks, queuedHomeworks],\n );\n const waitForReviewSheets = useMemo(() => getWaitForReviewSheetsCount(hwDetails), [hwDetails]);\n\n const updatedCanScroll = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n\n if (scrollLeft < scrollWidth - clientWidth - 1) {\n setIsRightHovered(true);\n }\n }\n }, []);\n const handleHoverEnter = useCallback(() => {\n if (!scrollRef.current) return;\n\n updatedCanScroll();\n }, [updatedCanScroll]);\n\n const handleHoverLeave = useCallback(() => {\n setIsLeftHovered(false);\n setIsRightHovered(false);\n }, []);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n useEffect(() => {\n if (hwDetails && scrollRef.current) {\n const { scrollLeft } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n }\n }, [hwDetails]);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n scrollElement.addEventListener('scroll', updatedCanScroll);\n\n return () => {\n scrollElement.removeEventListener('scroll', updatedCanScroll);\n };\n }\n }, [updatedCanScroll]);\n\n if (totalHWSheetsCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({waitForReviewSheets}/{totalHWSheetsCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleHoverEnter}\n onMouseLeave={handleHoverLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={isLeftHovered}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {assignedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n <HomeworkCard\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n\n {queuedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n <HomeworkCard\n isInQueue\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.ScrollContainer>\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={isRightHovered}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","isLeftHovered","setIsLeftHovered","useState","isRightHovered","setIsRightHovered","scrollRef","useRef","assignedHomeworks","queuedHomeworks","totalHWSheetsCount","useMemo","waitForReviewSheets","getWaitForReviewSheetsCount","updatedCanScroll","useCallback","scrollLeft","scrollWidth","clientWidth","handleHoverEnter","handleHoverLeave","handleScrollLeft","handleScrollRight","useEffect","scrollElement","jsxs","FlexView","jsx","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","sheet","idx","nodeId","worksheetId","nodeType","title","subtext","isDynamicSheet","HomeworkCard","Styled.QueueWrapper","Styled.QueueText","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
@@ -1,74 +1,67 @@
1
- import { jsx as C } from "react/jsx-runtime";
2
- import { memo as A, useEffect as e, useCallback as W } from "react";
3
- import { usePuzzleAssignedJourney as b } from "../../journey/hooks/use-puzzles-journey/use-puzzle-assigned.js";
4
- import { useJourney as j } from "../../journey/use-journey/use-journey.js";
5
- import { getPuzzleCardData as E } from "../utils.js";
6
- import { useGetHomeworks as F } from "./api/get-homeworks.js";
7
- import G from "./hw-card-list-view.js";
8
- const J = ({
9
- userType: f,
10
- studentId: o,
11
- stream: i,
12
- onTestStart: g,
13
- onNodeAttempt: H,
14
- onTestPreview: d,
15
- onNodeView: h,
16
- onTestReview: k,
17
- onNodeReview: P,
1
+ import { jsx as h } from "react/jsx-runtime";
2
+ import { memo as b, useEffect as e, useCallback as j } from "react";
3
+ import { useJourney as A } from "../../journey/use-journey/use-journey.js";
4
+ import { useGetHomeworks as D } from "./api/get-homeworks.js";
5
+ import E from "./hw-card-list-view.js";
6
+ const F = ({
7
+ userType: r,
8
+ studentId: i,
9
+ stream: o,
10
+ onTestStart: k,
11
+ onNodeAttempt: p,
12
+ onTestPreview: C,
13
+ onNodeView: H,
14
+ onTestReview: a,
15
+ onNodeReview: g,
18
16
  onNodeUnassign: v,
19
- homeworkRef: D,
20
- startHomePageJourney: t,
21
- canStartJourney: n,
22
- canStartPuzzleAssignedJourney: a
17
+ homeworkRef: L,
18
+ startHomePageJourney: c,
19
+ canStartJourney: m
23
20
  }) => {
24
21
  const {
25
- get: w,
26
- data: c,
27
- isProcessingFailed: L,
28
- isProcessing: m,
29
- isProcessed: p,
30
- isStale: u
31
- } = F(o), { isJourneyActive: r } = j(), { puzzleHWCardRef: x, startJourney: l } = b();
22
+ get: l,
23
+ data: x,
24
+ isProcessingFailed: P,
25
+ isProcessing: f,
26
+ isProcessed: w,
27
+ isStale: t
28
+ } = D(i), { isJourneyActive: n } = A();
32
29
  e(() => {
33
- p && t && !r && n && t({ studentId: o, stream: i, userType: f });
30
+ w && c && !n && m && c({ studentId: i, stream: o, userType: r });
34
31
  }, [
32
+ m,
35
33
  n,
36
- r,
37
- p,
38
- t,
39
- i,
34
+ w,
35
+ c,
40
36
  o,
41
- f
37
+ i,
38
+ r
42
39
  ]);
43
- const s = W(() => {
44
- w(o, void 0, { stream: i });
45
- }, [w, i, o]);
40
+ const s = j(() => {
41
+ l(i, void 0, { stream: o });
42
+ }, [l, o, i]);
46
43
  return e(() => {
47
- !m && u && s();
48
- }, [s, m, u]), e(() => {
44
+ !f && t && s();
45
+ }, [s, f, t]), e(() => {
49
46
  s();
50
- }, [s]), e(() => {
51
- const z = E(c);
52
- a && !r && l && z && l(z);
53
- }, [a, c, r, l]), L ? null : /* @__PURE__ */ C("div", { ref: D, children: /* @__PURE__ */ C(
54
- G,
47
+ }, [s]), P ? null : /* @__PURE__ */ h("div", { ref: L, children: /* @__PURE__ */ h(
48
+ E,
55
49
  {
56
- isHwProcessing: m,
57
- hwDetails: c,
58
- onTestStart: g,
59
- onNodeAttempt: H,
60
- onTestPreview: d,
61
- onNodeView: h,
62
- onTestReview: k,
63
- onNodeReview: P,
50
+ isHwProcessing: f,
51
+ hwDetails: x,
52
+ onTestStart: k,
53
+ onNodeAttempt: p,
54
+ onTestPreview: C,
55
+ onNodeView: H,
56
+ onTestReview: a,
57
+ onNodeReview: g,
64
58
  onNodeUnassign: v,
65
- userType: f,
66
- studentId: o,
67
- puzzleHWCardRef: x
59
+ userType: r,
60
+ studentId: i
68
61
  }
69
62
  ) });
70
- }, O = A(J);
63
+ }, u = b(F);
71
64
  export {
72
- O as default
65
+ u as default
73
66
  };
74
67
  //# sourceMappingURL=hw-card-list.js.map