@cuemath/leap 2.9.11 → 3.0.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 (282) hide show
  1. package/dist/assets/illustrations/illustrations.js +9 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/bin2.js +7 -8
  4. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  5. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  6. package/dist/assets/line-icons/icons/exclamation.js +26 -0
  7. package/dist/assets/line-icons/icons/exclamation.js.map +1 -0
  8. package/dist/assets/line-icons/icons/home2.js +25 -0
  9. package/dist/assets/line-icons/icons/home2.js.map +1 -0
  10. package/dist/assets/line-icons/icons/important.js +23 -0
  11. package/dist/assets/line-icons/icons/important.js.map +1 -0
  12. package/dist/assets/line-icons/icons/skip-colored.js +43 -0
  13. package/dist/assets/line-icons/icons/skip-colored.js.map +1 -0
  14. package/dist/assets/line-icons/icons/status.js +41 -0
  15. package/dist/assets/line-icons/icons/status.js.map +1 -0
  16. package/dist/assets/lottie/lottie.js +9 -1
  17. package/dist/assets/lottie/lottie.js.map +1 -1
  18. package/dist/constants/api.js +3 -2
  19. package/dist/constants/api.js.map +1 -1
  20. package/dist/features/analytics-events/platform-events-student.js +3 -3
  21. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  22. package/dist/features/analytics-events/whitelist-events.js +13 -11
  23. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  24. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +99 -33
  25. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  26. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +92 -49
  27. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  28. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  29. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  30. package/dist/features/chapters/chapters-list/chapters-list.js +64 -70
  31. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  32. package/dist/features/chapters-v2/api/chapter.js +10 -0
  33. package/dist/features/chapters-v2/api/chapter.js.map +1 -0
  34. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +112 -0
  35. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -0
  36. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +35 -0
  37. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +1 -0
  38. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +83 -0
  39. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -0
  40. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +90 -0
  41. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -0
  42. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +98 -0
  43. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -0
  44. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +51 -0
  45. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +1 -0
  46. package/dist/features/chapters-v2/chapter-details/chapter-details.js +129 -0
  47. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -0
  48. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +159 -0
  49. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -0
  50. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +16 -0
  51. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -0
  52. package/dist/features/chapters-v2/comps/node-card/node-card.js +12 -0
  53. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -0
  54. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-option.js +30 -0
  55. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-option.js.map +1 -0
  56. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +32 -0
  57. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +1 -0
  58. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +9 -0
  59. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -0
  60. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +187 -0
  61. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -0
  62. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +192 -0
  63. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -0
  64. package/dist/features/chapters-v2/comps/tag/tag-styled.js +13 -0
  65. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +1 -0
  66. package/dist/features/chapters-v2/comps/tag/tag.js +28 -0
  67. package/dist/features/chapters-v2/comps/tag/tag.js.map +1 -0
  68. package/dist/features/chapters-v2/constants/block-constants.js +20 -0
  69. package/dist/features/chapters-v2/constants/block-constants.js.map +1 -0
  70. package/dist/features/chapters-v2/constants/node-constants.js +14 -0
  71. package/dist/features/chapters-v2/constants/node-constants.js.map +1 -0
  72. package/dist/features/chapters-v2/utils/index.js +45 -0
  73. package/dist/features/chapters-v2/utils/index.js.map +1 -0
  74. package/dist/features/chapters-v2/utils/node-card-utils.js +169 -0
  75. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -0
  76. package/dist/features/communication/pub-sub/constants.js +12 -6
  77. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  78. package/dist/features/homework/card-menu-option.js +28 -0
  79. package/dist/features/homework/card-menu-option.js.map +1 -0
  80. package/dist/features/homework/card-menu-options.js +22 -0
  81. package/dist/features/homework/card-menu-options.js.map +1 -0
  82. package/dist/features/homework/card-title.js +16 -0
  83. package/dist/features/homework/card-title.js.map +1 -0
  84. package/dist/features/homework/homework-analytics-events.js +10 -0
  85. package/dist/features/homework/homework-analytics-events.js.map +1 -0
  86. package/dist/features/homework/homework-card-view.js +143 -0
  87. package/dist/features/homework/homework-card-view.js.map +1 -0
  88. package/dist/features/homework/homework-card.js +245 -0
  89. package/dist/features/homework/homework-card.js.map +1 -0
  90. package/dist/features/homework/hw-card-list/api/get-homeworks.js +10 -0
  91. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -0
  92. package/dist/features/homework/hw-card-list/hw-card-list-styled.js +63 -0
  93. package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -0
  94. package/dist/features/homework/hw-card-list/hw-card-list-view.js +157 -0
  95. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -0
  96. package/dist/features/homework/hw-card-list/hw-card-list.js +67 -0
  97. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -0
  98. package/dist/features/homework/node-progress.js +29 -0
  99. package/dist/features/homework/node-progress.js.map +1 -0
  100. package/dist/features/homework/styles.js +130 -0
  101. package/dist/features/homework/styles.js.map +1 -0
  102. package/dist/features/homework/utils.js +48 -0
  103. package/dist/features/homework/utils.js.map +1 -0
  104. package/dist/features/journey/comps/coachmark/coachmark.js +24 -24
  105. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  106. package/dist/features/journey/hooks/use-chapter-journey.js +173 -0
  107. package/dist/features/journey/hooks/use-chapter-journey.js.map +1 -0
  108. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +268 -0
  109. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -0
  110. package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js +513 -0
  111. package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -0
  112. package/dist/features/journey/hooks/use-home-page-journey/styles.js +23 -0
  113. package/dist/features/journey/hooks/use-home-page-journey/styles.js.map +1 -0
  114. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js +22 -0
  115. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -0
  116. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js +270 -0
  117. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -0
  118. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  119. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  120. package/dist/features/journey/journey-id/journey-id-teacher.js +5 -0
  121. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -0
  122. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +584 -0
  123. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -0
  124. package/dist/features/journey/use-journey/journey-context-provider.js +36 -28
  125. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  126. package/dist/features/journey/use-journey/journey-styled.js +10 -5
  127. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  128. package/dist/features/milestone/create/api/goal-submit.js +1 -1
  129. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  130. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js +42 -49
  131. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
  132. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +12 -4
  133. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  134. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +128 -105
  135. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  136. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +14 -20
  137. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
  138. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js +26 -50
  139. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
  140. package/dist/features/milestone/create/milestone-create.js +49 -43
  141. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  142. package/dist/features/milestone/create/utils/index.js +33 -38
  143. package/dist/features/milestone/create/utils/index.js.map +1 -1
  144. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
  145. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  146. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js +1 -1
  147. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js.map +1 -1
  148. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +51 -53
  149. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  150. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +42 -40
  151. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  152. package/dist/features/milestone/edit/goal-edit-container.js +64 -62
  153. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  154. package/dist/features/milestone/edit/goal-edit-helpers.js +50 -53
  155. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  156. package/dist/features/milestone/edit/milestone-edit-container.js +54 -52
  157. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  158. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js +1 -1
  159. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  160. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +9 -17
  161. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  162. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js +1 -1
  163. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  164. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +138 -105
  165. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  166. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +107 -123
  167. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  168. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +157 -176
  169. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  170. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +24 -10
  171. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  172. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +80 -86
  173. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  174. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +10 -22
  175. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  176. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +70 -37
  177. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  178. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +114 -176
  179. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  180. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +29 -16
  181. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  182. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +17 -25
  183. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  184. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +23 -35
  185. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  186. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +110 -113
  187. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  188. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js +1 -1
  189. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -1
  190. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +8 -8
  191. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  192. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  193. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  194. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +116 -113
  195. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  196. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +165 -0
  197. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -0
  198. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +25 -0
  199. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -0
  200. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +87 -0
  201. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -0
  202. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js +5 -5
  203. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
  204. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item.js.map +1 -1
  205. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +46 -50
  206. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  207. package/dist/features/recent-chapters/api/get-recent-chapters.js +9 -0
  208. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -0
  209. package/dist/features/recent-chapters/recent-chapters-styled.js +16 -0
  210. package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -0
  211. package/dist/features/recent-chapters/recent-chapters.js +39 -0
  212. package/dist/features/recent-chapters/recent-chapters.js.map +1 -0
  213. package/dist/features/sheet-v2/resource-list/resource-list.js +45 -0
  214. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -0
  215. package/dist/features/sheets/resources-list/resource-item/styled.js +1 -1
  216. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  217. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +4 -3
  218. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  219. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  220. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +30 -29
  221. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  222. package/dist/features/ui/constants/z-index.js +1 -1
  223. package/dist/features/ui/constants/z-index.js.map +1 -1
  224. package/dist/features/ui/context-menu/context-menu-styled.js +28 -14
  225. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  226. package/dist/features/ui/context-menu/context-menu.js +25 -17
  227. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  228. package/dist/features/ui/lottie-animation/lottie-animation.js +32 -24
  229. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  230. package/dist/features/ui/theme/button.js +24 -7
  231. package/dist/features/ui/theme/button.js.map +1 -1
  232. package/dist/index.d.ts +341 -34
  233. package/dist/index.js +447 -425
  234. package/dist/index.js.map +1 -1
  235. package/dist/node_modules/date-fns/differenceInDays.js +17 -0
  236. package/dist/node_modules/date-fns/differenceInDays.js.map +1 -0
  237. package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
  238. package/dist/static/competitive-arena.b9c40801.json +1 -0
  239. package/dist/static/learn.71b13323.json +1 -0
  240. package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
  241. package/dist/static/node-learn-bg.b61f815c.svg +1 -0
  242. package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
  243. package/dist/static/node-project-bg.e6a33e28.svg +1 -0
  244. package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
  245. package/dist/static/node-recap-bg.546154e4.svg +1 -0
  246. package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
  247. package/dist/static/node-video-bg.3df3f73a.svg +1 -0
  248. package/dist/static/practice.158dd488.json +1 -0
  249. package/dist/static/project.eb665827.json +1 -0
  250. package/dist/static/puzzle.b298c7e4.json +1 -0
  251. package/dist/static/recap.0dd2c1e2.json +1 -0
  252. package/dist/static/test.803d6036.json +1 -0
  253. package/dist/static/video.b41451e2.json +1 -0
  254. package/package.json +1 -1
  255. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +0 -92
  256. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +0 -1
  257. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +0 -25
  258. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +0 -1
  259. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +0 -13
  260. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +0 -1
  261. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +0 -38
  262. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +0 -1
  263. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +0 -53
  264. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +0 -1
  265. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +0 -25
  266. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +0 -1
  267. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +0 -71
  268. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +0 -1
  269. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +0 -31
  270. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +0 -1
  271. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +0 -38
  272. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +0 -1
  273. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +0 -79
  274. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +0 -1
  275. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +0 -18
  276. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +0 -1
  277. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js +0 -51
  278. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +0 -1
  279. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js +0 -11
  280. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js.map +0 -1
  281. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +0 -135
  282. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"student-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/student-actions/student-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\n\nimport { memo, useCallback, useRef, type FC } from 'react';\n\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../../ui/context-menu/context-menu';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\n// import BorderPathAnimation from '../border-path-animation';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst StudentActions: FC<Omit<INodeCardProps, 'userType'>> = memo(props => {\n const {\n nodeData,\n imageHue,\n blockType,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n isStudent,\n } = props;\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n marked_as_completed: teacherMarkedAsCompleted,\n } = nodeData;\n const {\n can_review: canReview,\n can_start: canStart,\n can_resume: canResume,\n can_reset: canReset,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const sheetInProgress = state === NODE_CARD_STATES.IN_PROGRESS;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canStartOrResume = canStart || canResume;\n\n const showCardAnimation = !isOptional && (sheetInProgress || sheetNotStarted);\n const renderOptions = !canStartOrResume && (canReset || canReview);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-review':\n teacherMarkedAsCompleted ? onNodeView?.(nodeData) : onNodeReview?.(nodeData);\n\n return;\n\n case 'node-card-reattempt':\n onNodeReattempt?.(nodeData);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [nodeData, onNodeReattempt, onNodeReview, onNodeView, teacherMarkedAsCompleted],\n );\n\n const handleOnNodeCardClick = useCallback(() => {\n if (renderOptions || sheetLocked) return;\n\n if (canStart || canResume) {\n onNodeAttempt?.(nodeData);\n } else if (teacherMarkedAsCompleted) {\n onNodeView?.(nodeData);\n }\n }, [\n canResume,\n canStart,\n nodeData,\n onNodeAttempt,\n onNodeView,\n renderOptions,\n sheetLocked,\n teacherMarkedAsCompleted,\n ]);\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-review',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <ContextMenu\n targetElement={\n <Styled.NodeCardContainer\n $showOutline={!showCardAnimation}\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={!sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={sheetLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n {/* {showCardAnimation && <BorderPathAnimation />} */}\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n isStudent={isStudent}\n />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper $background=\"WHITE_1\" $heightX={4}>\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n }\n startLeft\n menuWidth=\"100%\"\n menuZIndex={6}\n menuOffset={2}\n menuElement={renderOptions ? <NodeMenuOptions options={menuOptions} /> : <></>}\n />\n );\n});\n\nexport default StudentActions;\n"],"names":["renderSettings","StudentActions","memo","props","nodeData","imageHue","blockType","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeView","isStudent","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","teacherMarkedAsCompleted","canReview","canStart","canResume","canReset","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","sheetInProgress","inClassSheet","canStartOrResume","showCardAnimation","renderOptions","animationRef","useRef","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","handleOnNodeCardClick","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","RedoIcon","jsx","ContextMenu","Styled.NodeCardContainer","jsxs","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","NodeMenuOptions","Fragment"],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
+ import { memo as U, useRef as S, useCallback as $ } from "react";
3
+ import Y from "../../../../../assets/line-icons/icons/check2.js";
4
+ import q from "../../../../../assets/line-icons/icons/eye2.js";
5
+ import J from "../../../../../assets/line-icons/icons/home2.js";
6
+ import k from "../../../../../assets/line-icons/icons/more-vertical.js";
7
+ import N from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
8
+ import Q from "../../../../ui/hooks/use-context-menu-click-handler.js";
9
+ import V from "../../../../ui/layout/flex-view.js";
10
+ import Z from "../../../../ui/lottie-animation/lottie-animation.js";
11
+ import D from "../../../../ui/text/text.js";
12
+ import { BLOCK_TYPE as ee } from "../../../constants/block-constants.js";
13
+ import { NODE_CARD_STATES as C, TEACHER_MENU_LABELS as te } from "../../../constants/node-constants.js";
14
+ import { getNodeTypeBasedBgImage as re } from "../../../utils/index.js";
15
+ import { getNodeCardBasedIcon as ne } from "../../../utils/node-card-utils.js";
16
+ import { NodeCardContainer as ie, NodeCardInfoWrapper as oe, IconWrapper as ae, StyledImportantIcon as ce, NodeKebabMenuWrapper as O, NodeCardContentWrapper as se, NodeCardTitle as le, NodeMenuOptionsWrapper as de } from "../node-card-styled.js";
17
+ import me from "../node-card-tags.js";
18
+ import pe from "../node-menu-options/node-menu-options.js";
19
+ const he = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: fe, REVIEW: ue, VIEW: $e, MARK_AS_DONE: Ce } = te, Ge = U(
20
+ ({
21
+ nodeData: r,
22
+ imageHue: T,
23
+ blockType: y,
24
+ isSkipped: x,
25
+ onNodeAttemptLocationChange: o,
26
+ onNodeMarkAsDone: a,
27
+ onNodeView: c,
28
+ onNodeReview: s
29
+ }) => {
30
+ const d = S(null), { menuVisible: A, onMenuClick: _ } = Q(d), {
31
+ accuracy: W,
32
+ attempt_location: w,
33
+ node_type: m,
34
+ card_header: L,
35
+ title: B,
36
+ state: l,
37
+ is_optional: I,
38
+ sheet_statement: g,
39
+ permissions: M,
40
+ user_attempt_id: p
41
+ } = r, { lottie: H } = ne(m), h = S(null), {
42
+ can_change_attempt_location: G,
43
+ can_mark_familiar: K,
44
+ can_review: f
45
+ } = M, b = y === ee.GOAL, n = l === C.LOCKED, R = l === C.NOT_STARTED, j = l === C.IN_PROGRESS, E = w === "INCLASS", v = !I && (j || R), X = re(m), u = $(
46
+ (t) => {
47
+ switch (t) {
48
+ case "node-card-view":
49
+ f && p ? s == null || s(r) : c == null || c(r);
50
+ return;
51
+ case "node-card-assign-as-hw":
52
+ o == null || o(r);
53
+ return;
54
+ case "node-card-mark-as-done":
55
+ a == null || a(r);
56
+ return;
57
+ default:
58
+ throw new Error(`No callback function for ${t}`);
59
+ }
60
+ },
61
+ [
62
+ f,
63
+ r,
64
+ o,
65
+ a,
66
+ s,
67
+ c,
68
+ p
69
+ ]
70
+ ), P = $(() => {
71
+ var t;
72
+ n || (t = h.current) == null || t.play();
73
+ }, [n]), F = $(() => {
74
+ var t;
75
+ (t = h.current) == null || t.stop();
76
+ }, []), z = [
77
+ {
78
+ id: "node-card-view",
79
+ label: f && p ? ue : $e,
80
+ icon: q,
81
+ disabled: !1,
82
+ onClick: u
83
+ },
84
+ {
85
+ id: "node-card-assign-as-hw",
86
+ label: fe,
87
+ icon: J,
88
+ disabled: !G || !E,
89
+ onClick: u
90
+ },
91
+ {
92
+ id: "node-card-mark-as-done",
93
+ label: Ce,
94
+ icon: Y,
95
+ disabled: !K,
96
+ onClick: u
97
+ }
98
+ ];
99
+ return /* @__PURE__ */ i(
100
+ ie,
101
+ {
102
+ $showOutline: !v,
103
+ $isSheetLocked: n,
104
+ $background: `${T}_2`,
105
+ $disabled: !!x,
106
+ children: [
107
+ /* @__PURE__ */ i(
108
+ N,
109
+ {
110
+ renderAs: "primary",
111
+ tooltipItem: g,
112
+ position: "bottom",
113
+ zIndex: 5,
114
+ hidden: !g,
115
+ parentWidth: "100%",
116
+ widthX: 11.25,
117
+ children: [
118
+ /* @__PURE__ */ i(
119
+ oe,
120
+ {
121
+ $flexDirection: "row",
122
+ $alignItems: "center",
123
+ $width: "100%",
124
+ $heightX: 3.5,
125
+ $bgImage: X,
126
+ $gutterX: 0.78125,
127
+ $flexGap: 8.5,
128
+ onMouseEnter: P,
129
+ onMouseLeave: F,
130
+ children: [
131
+ /* @__PURE__ */ i(
132
+ ae,
133
+ {
134
+ $width: 31,
135
+ $height: 31,
136
+ $background: "WHITE_1",
137
+ $position: "relative",
138
+ $alignItems: "center",
139
+ $justifyContent: "center",
140
+ $opacity: n ? 0.5 : 1,
141
+ children: [
142
+ /* @__PURE__ */ e(Z, { src: H, ref: h, settings: he }),
143
+ !I && /* @__PURE__ */ e(ce, {})
144
+ ]
145
+ }
146
+ ),
147
+ /* @__PURE__ */ i(D, { $renderAs: "ac4-black", $color: "BLACK", $opacity: n ? 0.5 : 1, children: [
148
+ L,
149
+ " ",
150
+ E && "• CW"
151
+ ] }),
152
+ /* @__PURE__ */ e(V, { className: "context-menu", children: b && /* @__PURE__ */ e(O, { ref: d, onClick: _, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) }) })
153
+ ]
154
+ }
155
+ ),
156
+ /* @__PURE__ */ e(me, { nodeType: m, state: l, accuracy: W }),
157
+ !b && /* @__PURE__ */ i(
158
+ se,
159
+ {
160
+ $flexDirection: "row",
161
+ $alignItems: "center",
162
+ $background: "WHITE_1",
163
+ $flexGap: 8,
164
+ $heightX: 4,
165
+ $justifyContent: "space-between",
166
+ children: [
167
+ /* @__PURE__ */ e(
168
+ le,
169
+ {
170
+ $renderAs: "ab3",
171
+ $color: "BLACK_1",
172
+ $opacity: n ? 0.5 : 1,
173
+ children: B
174
+ }
175
+ ),
176
+ /* @__PURE__ */ e(O, { ref: d, onClick: _, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) })
177
+ ]
178
+ }
179
+ )
180
+ ]
181
+ }
182
+ ),
183
+ /* @__PURE__ */ e(de, { $visible: A, children: /* @__PURE__ */ e(pe, { options: z }) })
184
+ ]
185
+ }
186
+ );
187
+ }
188
+ );
189
+ export {
190
+ Ge as default
191
+ };
192
+ //# sourceMappingURL=teacher-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\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 ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\n// import BorderPathAnimation from '../border-path-animation';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_change_attempt_location: canChangeAttemptLocation,\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const sheetInProgress = state === NODE_CARD_STATES.IN_PROGRESS;\n const inClassSheet = attemptLocation === 'INCLASS';\n\n const showCardAnimation = !isOptional && (sheetInProgress || sheetNotStarted);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAttemptLocationChange?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReview,\n onNodeView,\n userAttemptId,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canChangeAttemptLocation || !inClassSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Styled.NodeCardContainer\n $showOutline={!showCardAnimation}\n $isSheetLocked={sheetLocked}\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped)}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={!sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n\n {/* {showCardAnimation && !isSkipped && <BorderPathAnimation />} */}\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </Styled.NodeCardContainer>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeView","onNodeReview","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canChangeAttemptLocation","canMarkFamiliar","canReview","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","sheetInProgress","inClassSheet","showCardAnimation","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","Home2Icon","Check2Icon","jsxs","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","jsx","LottieAnimation","Styled.StyledImportantIcon","Text","FlexView","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import e from "styled-components";
2
+ import i from "../../../ui/layout/flex-view.js";
3
+ const p = e(i)(({ $onlyIcon: t, theme: o }) => `
4
+ ${!t && "padding-left: 2px;"}
5
+
6
+ max-height: 20px;
7
+ height: fit-content;
8
+ outline: 1px solid ${o.colors.BLACK_1};
9
+ `);
10
+ export {
11
+ p as TagContainer
12
+ };
13
+ //# sourceMappingURL=tag-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-styled.js","sources":["../../../../../src/features/chapters-v2/comps/tag/tag-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\ninterface ITagContainer {\n $onlyIcon?: boolean;\n}\n\nconst TagContainer = styled(FlexView)<ITagContainer>(({ $onlyIcon, theme }) => {\n return `\n ${!$onlyIcon && 'padding-left: 2px;'}\n\n max-height: 20px;\n height: fit-content;\n outline: 1px solid ${theme.colors.BLACK_1};\n `;\n});\n\nexport { TagContainer };\n"],"names":["TagContainer","styled","FlexView","$onlyIcon","theme"],"mappings":";;AAQM,MAAAA,IAAeC,EAAOC,CAAQ,EAAiB,CAAC,EAAE,WAAAC,GAAW,OAAAC,QAC1D;AAAA,MACH,CAACD,KAAa,oBAAoB;AAAA;AAAA;AAAA;AAAA,yBAIfC,EAAM,OAAO,OAAO;AAAA,GAE5C;"}
@@ -0,0 +1,28 @@
1
+ import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
+ import { memo as i } from "react";
3
+ import s from "../../../ui/text/text.js";
4
+ import { TagContainer as c } from "./tag-styled.js";
5
+ const f = i(({ label: r, Icon: e }) => {
6
+ const t = !r;
7
+ return /* @__PURE__ */ n(
8
+ c,
9
+ {
10
+ $flexDirection: "row",
11
+ $alignItems: "center",
12
+ $justifyContent: "center",
13
+ $borderRadius: 50,
14
+ $gap: t ? 0 : 6,
15
+ $gutter: t ? 0 : 6,
16
+ $background: "WHITE_1",
17
+ $onlyIcon: t,
18
+ children: [
19
+ !!e && /* @__PURE__ */ o(e, { width: 20, height: 20 }),
20
+ !!r && /* @__PURE__ */ o(s, { $renderAs: "ac4-black", children: r })
21
+ ]
22
+ }
23
+ );
24
+ });
25
+ export {
26
+ f as default
27
+ };
28
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sources":["../../../../../src/features/chapters-v2/comps/tag/tag.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport React, { memo } from 'react';\n\nimport Text from '../../../ui/text/text';\nimport * as Styled from './tag-styled';\n\ninterface ITagProps {\n label?: string;\n Icon?: FC<React.SVGProps<SVGSVGElement>>;\n}\n\nconst Tag: FC<ITagProps> = memo(({ label, Icon }) => {\n const isOnlyIconPresent = !label;\n\n return (\n <Styled.TagContainer\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={50}\n $gap={isOnlyIconPresent ? 0 : 6}\n $gutter={isOnlyIconPresent ? 0 : 6}\n $background=\"WHITE_1\"\n $onlyIcon={isOnlyIconPresent}\n >\n {!!Icon && <Icon width={20} height={20} />}\n {!!label && <Text $renderAs=\"ac4-black\">{label}</Text>}\n </Styled.TagContainer>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","memo","label","Icon","isOnlyIconPresent","jsxs","Styled.TagContainer","jsx","Text"],"mappings":";;;;AAYA,MAAMA,IAAqBC,EAAK,CAAC,EAAE,OAAAC,GAAO,MAAAC,QAAW;AACnD,QAAMC,IAAoB,CAACF;AAGzB,SAAA,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,MAAMF,IAAoB,IAAI;AAAA,MAC9B,SAASA,IAAoB,IAAI;AAAA,MACjC,aAAY;AAAA,MACZ,WAAWA;AAAA,MAEV,UAAA;AAAA,QAAA,CAAC,CAACD,KAAQ,gBAAAI,EAACJ,KAAK,OAAO,IAAI,QAAQ,IAAI;AAAA,QACvC,CAAC,CAACD,uBAAUM,GAAK,EAAA,WAAU,aAAa,UAAMN,GAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGrD,CAAC;"}
@@ -0,0 +1,20 @@
1
+ var A = /* @__PURE__ */ ((S) => (S.DEFAULT = "DEFAULT", S.PREREQ = "PREREQ", S.RECAP = "RECAP", S.GOAL = "GOAL", S.TESTS = "TESTS", S.PLAYLIST = "PLAYLIST", S.SOLUTIONS = "SOLUTIONS", S.NOTES = "NOTES", S.FLASHCARDS = "FLASHCARDS", S.SUBJECTIVES = "SUBJECTIVES", S.PUZZLE_CARDS = "PUZZLE_CARDS", S.SAT_MOCK_TEST = "SAT_MOCK_TEST", S))(A || {});
2
+ const T = {
3
+ DEFAULT: "Default",
4
+ PREREQ: "Prerequisite",
5
+ RECAP: "Recap",
6
+ GOAL: "Lesson",
7
+ TESTS: "Tests",
8
+ PLAYLIST: "Videos",
9
+ SOLUTIONS: "Solutions",
10
+ NOTES: "Notes",
11
+ FLASHCARDS: "Flashcards",
12
+ SUBJECTIVES: "Subjective Questions",
13
+ PUZZLE_CARDS: "Puzzles",
14
+ SAT_MOCK_TEST: "SAT Mock Test"
15
+ };
16
+ export {
17
+ T as BLOCK_NAME,
18
+ A as BLOCK_TYPE
19
+ };
20
+ //# sourceMappingURL=block-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-constants.js","sources":["../../../../src/features/chapters-v2/constants/block-constants.ts"],"sourcesContent":["export enum BLOCK_TYPE {\n DEFAULT = 'DEFAULT',\n PREREQ = 'PREREQ',\n RECAP = 'RECAP',\n GOAL = 'GOAL',\n TESTS = 'TESTS',\n PLAYLIST = 'PLAYLIST',\n SOLUTIONS = 'SOLUTIONS',\n NOTES = 'NOTES',\n FLASHCARDS = 'FLASHCARDS',\n SUBJECTIVES = 'SUBJECTIVES',\n PUZZLE_CARDS = 'PUZZLE_CARDS',\n SAT_MOCK_TEST = 'SAT_MOCK_TEST',\n}\n\nexport enum SECTION_CODE {\n READINESS = 'READINESS',\n GOALS = 'GOALS',\n TESTS = 'TESTS',\n ENRICHMENT = 'ENRICHMENT',\n SUBJECTIVE = 'SUBJECTIVE',\n VIDEOS = 'VIDEOS',\n NOTES = 'NOTES',\n FLASHCARDS = 'FLASHCARDS',\n PUZZLE_CARDS = 'PUZZLE_CARDS',\n}\n\nexport const BLOCK_NAME: Record<BLOCK_TYPE, string> = {\n [BLOCK_TYPE.DEFAULT]: 'Default',\n [BLOCK_TYPE.PREREQ]: 'Prerequisite',\n [BLOCK_TYPE.RECAP]: 'Recap',\n [BLOCK_TYPE.GOAL]: 'Lesson',\n [BLOCK_TYPE.TESTS]: 'Tests',\n [BLOCK_TYPE.PLAYLIST]: 'Videos',\n [BLOCK_TYPE.SOLUTIONS]: 'Solutions',\n [BLOCK_TYPE.NOTES]: 'Notes',\n [BLOCK_TYPE.FLASHCARDS]: 'Flashcards',\n [BLOCK_TYPE.SUBJECTIVES]: 'Subjective Questions',\n [BLOCK_TYPE.PUZZLE_CARDS]: 'Puzzles',\n [BLOCK_TYPE.SAT_MOCK_TEST]: 'SAT Mock Test',\n};\n"],"names":["BLOCK_TYPE","BLOCK_NAME"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UACTA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,aAAa,cACbA,EAAA,cAAc,eACdA,EAAA,eAAe,gBACfA,EAAA,gBAAgB,iBAZNA,IAAAA,KAAA,CAAA,CAAA;AA2BL,MAAMC,IAAyC;AAAA,EACnD,SAAqB;AAAA,EACrB,QAAoB;AAAA,EACpB,OAAmB;AAAA,EACnB,MAAkB;AAAA,EAClB,OAAmB;AAAA,EACnB,UAAsB;AAAA,EACtB,WAAuB;AAAA,EACvB,OAAmB;AAAA,EACnB,YAAwB;AAAA,EACxB,aAAyB;AAAA,EACzB,cAA0B;AAAA,EAC1B,eAA2B;AAC9B;"}
@@ -0,0 +1,14 @@
1
+ const I = {
2
+ ASSIGN_AS_HW: "Assign as HW",
3
+ MARK_AS_DONE: "Mark as Done",
4
+ SKIP: "Skip",
5
+ REVERT_SKIP: "Revert Skip",
6
+ REVIEW: "Review",
7
+ VIEW: "View"
8
+ };
9
+ var R = /* @__PURE__ */ ((E) => (E.LOCKED = "LOCKED", E.NOT_STARTED = "NOT_STARTED", E.WAIT_FOR_REVIEW = "WAIT_FOR_REVIEW", E.IN_PROGRESS = "IN_PROGRESS", E.COMPLETED = "COMPLETED", E))(R || {});
10
+ export {
11
+ R as NODE_CARD_STATES,
12
+ I as TEACHER_MENU_LABELS
13
+ };
14
+ //# sourceMappingURL=node-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-constants.js","sources":["../../../../src/features/chapters-v2/constants/node-constants.ts"],"sourcesContent":["export const TEACHER_MENU_LABELS = {\n ASSIGN_AS_HW: 'Assign as HW',\n MARK_AS_DONE: 'Mark as Done',\n SKIP: 'Skip',\n REVERT_SKIP: 'Revert Skip',\n REVIEW: 'Review',\n VIEW: 'View',\n};\n\nexport enum NODE_CARD_STATES {\n LOCKED = 'LOCKED',\n NOT_STARTED = 'NOT_STARTED',\n WAIT_FOR_REVIEW = 'WAIT_FOR_REVIEW',\n IN_PROGRESS = 'IN_PROGRESS',\n COMPLETED = 'COMPLETED',\n}\n\nexport enum NODE_CARD_COURSE_TYPES {\n PROGRAM = 'PROGRAM',\n REMEDIAL = 'REMEDIAL',\n TEST_SERIES = 'TEST_SERIES',\n EXAM = 'EXAM',\n}\n"],"names":["TEACHER_MENU_LABELS","NODE_CARD_STATES"],"mappings":"AAAO,MAAMA,IAAsB;AAAA,EACjC,cAAc;AAAA,EACd,cAAc;AAAA,EACd,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,MAAM;AACR;AAEY,IAAAC,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,cAAc,eACdA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,YAAY,aALFA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -0,0 +1,45 @@
1
+ import { ILLUSTRATIONS as e } from "../../../assets/illustrations/illustrations.js";
2
+ const s = (E) => {
3
+ if (!E) return 0;
4
+ const { mandatory: r } = E, { completed: c, total: t } = r;
5
+ return t === 0 ? 0 : Math.floor(c / t * 100);
6
+ }, _ = (E) => {
7
+ switch (E) {
8
+ case "LEARNING":
9
+ case "LEVEL2":
10
+ case "LEVEL3":
11
+ return e.NODE_LEARN_BG;
12
+ case "RECAP":
13
+ case "REMEDIAL":
14
+ case "REVISION":
15
+ return e.NODE_RECAP_BG;
16
+ case "DYNAMIC":
17
+ case "ASSESSMENT":
18
+ case "CHAPTER_ASSESSMENT":
19
+ case "DIAGNOSTIC":
20
+ return e.NODE_CUSTOM_TEST_BG;
21
+ case "PRACTICE":
22
+ case "EXTRA_PRACTICE":
23
+ case "TARGET_PRACTICE":
24
+ case "MASTERY":
25
+ return e.NODE_PRACTICE_BG;
26
+ case "PUZZLE":
27
+ case "PUZZLE_EASY":
28
+ case "PUZZLE_MEDIUM":
29
+ case "PUZZLE_HARD":
30
+ return e.NODE_PUZZLE_BG;
31
+ case "VIDEO":
32
+ return e.NODE_VIDEO_BG;
33
+ default:
34
+ return e.NODE_CUSTOM_TEST_BG;
35
+ }
36
+ }, T = (E, r, c, t) => {
37
+ if (!(E || !t))
38
+ return c ? `${t}` : `(${r})`;
39
+ };
40
+ export {
41
+ s as getChapterCompletionPercentage,
42
+ _ as getNodeTypeBasedBgImage,
43
+ T as getSheetNLessonCount
44
+ };
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEARNING':\n case 'LEVEL2':\n case 'LEVEL3':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n default:\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n }\n};\n\nconst getSheetNLessonCount = (\n isSkipped: boolean,\n sheetsLength: number,\n isGoalBlock?: boolean,\n lessonIdx?: number,\n) => {\n if (isSkipped || !lessonIdx) return undefined;\n\n if (!isGoalBlock) return `(${sheetsLength})`;\n\n return `${lessonIdx}`;\n};\n\nexport { getChapterCompletionPercentage, getNodeTypeBasedBgImage, getSheetNLessonCount };\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx"],"mappings":";AASM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAEMC,IAAuB,CAC3BC,GACAC,GACAC,GACAC,MACG;AACC,MAAA,EAAAH,KAAa,CAACG;AAElB,WAAKD,IAEE,GAAGC,CAAS,KAFM,IAAIF,CAAY;AAG3C;"}
@@ -0,0 +1,169 @@
1
+ import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
+ import p from "../../../assets/line-icons/icons/check2.js";
3
+ import T from "../../../assets/line-icons/icons/exclamation.js";
4
+ import f from "../../../assets/line-icons/icons/lock2.js";
5
+ import u from "../../../assets/line-icons/icons/status.js";
6
+ import { LOTTIE as o } from "../../../assets/lottie/lottie.js";
7
+ import R from "../../ui/layout/flex-view.js";
8
+ import a from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
+ import d from "../../ui/text/text.js";
10
+ import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
11
+ import I from "../comps/tag/tag.js";
12
+ const A = 60 * 60 * 24, h = ["NOT_STARTED", "IN_PROGRESS"], $ = (t) => {
13
+ if (!t)
14
+ return { isOverdue: !1, daysText: "", differenceInDays: 0 };
15
+ const i = Math.floor(Date.now() / 1e3), c = t - i, n = Math.ceil(c / A), s = n < 0, r = n > 0 ? `${Math.abs(n)}D` : "";
16
+ return { isOverdue: s, daysText: r, differenceInDays: n };
17
+ }, y = (t, i, c, n) => {
18
+ const { isOverdue: s, daysText: r, differenceInDays: E } = $(n);
19
+ if (s && h.includes(t))
20
+ return {
21
+ icon: /* @__PURE__ */ e(
22
+ a,
23
+ {
24
+ renderAs: "primary",
25
+ position: "bottom",
26
+ tooltipItem: "Complete now",
27
+ zIndex: 10,
28
+ hidden: !i,
29
+ parentWidth: "fit-content",
30
+ children: /* @__PURE__ */ e(R, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(d, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
31
+ }
32
+ ),
33
+ top: -10,
34
+ right: -10
35
+ };
36
+ switch (t) {
37
+ case "NOT_STARTED":
38
+ return {
39
+ icon: /* @__PURE__ */ e(
40
+ a,
41
+ {
42
+ renderAs: "primary",
43
+ position: "bottom",
44
+ tooltipItem: E > 1 ? `${E} days left` : "Complete it today",
45
+ zIndex: 10,
46
+ hidden: !i,
47
+ children: /* @__PURE__ */ e(
48
+ l,
49
+ {
50
+ $flexDirection: "row",
51
+ $alignItems: "center",
52
+ $justifyContent: "center",
53
+ $borderRadius: 16,
54
+ $paddingRight: 6,
55
+ $paddingLeft: 6,
56
+ children: r && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: r })
57
+ }
58
+ )
59
+ }
60
+ ),
61
+ top: 0,
62
+ right: 0
63
+ };
64
+ case "LOCKED":
65
+ return {
66
+ icon: /* @__PURE__ */ e(f, { width: 32, height: 32 }),
67
+ top: -12,
68
+ right: -12
69
+ };
70
+ case "IN_PROGRESS":
71
+ return {
72
+ icon: /* @__PURE__ */ m(
73
+ l,
74
+ {
75
+ $flexDirection: "row",
76
+ $alignItems: "center",
77
+ $justifyContent: "center",
78
+ $borderRadius: 16,
79
+ $paddingRight: 0,
80
+ $paddingLeft: r ? 6 : 0,
81
+ children: [
82
+ r && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: r }),
83
+ /* @__PURE__ */ e(u, {})
84
+ ]
85
+ }
86
+ )
87
+ };
88
+ case "COMPLETED":
89
+ return {
90
+ icon: /* @__PURE__ */ e(
91
+ I,
92
+ {
93
+ Icon: p,
94
+ label: typeof c == "number" ? `${c}%` : void 0
95
+ }
96
+ ),
97
+ top: -10,
98
+ right: -10
99
+ };
100
+ case "WAIT_FOR_REVIEW":
101
+ return {
102
+ icon: /* @__PURE__ */ e(
103
+ a,
104
+ {
105
+ renderAs: "primary",
106
+ position: "bottom",
107
+ tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
108
+ zIndex: 10,
109
+ children: /* @__PURE__ */ e(I, { Icon: T })
110
+ }
111
+ ),
112
+ top: -10,
113
+ right: -10
114
+ };
115
+ default:
116
+ return {
117
+ icon: void 0
118
+ };
119
+ }
120
+ }, w = (t) => {
121
+ switch (t) {
122
+ case "LEARNING":
123
+ case "LEVEL2":
124
+ case "LEVEL3":
125
+ return {
126
+ lottie: o.LEARN
127
+ };
128
+ case "RECAP":
129
+ case "REMEDIAL":
130
+ case "REVISION":
131
+ return {
132
+ lottie: o.RECAP
133
+ };
134
+ case "DYNAMIC":
135
+ case "ASSESSMENT":
136
+ case "CHAPTER_ASSESSMENT":
137
+ case "DIAGNOSTIC":
138
+ return {
139
+ lottie: o.TEST
140
+ };
141
+ case "PRACTICE":
142
+ case "EXTRA_PRACTICE":
143
+ case "TARGET_PRACTICE":
144
+ case "MASTERY":
145
+ return {
146
+ lottie: o.PRACTICE
147
+ };
148
+ case "PUZZLE":
149
+ case "PUZZLE_EASY":
150
+ case "PUZZLE_MEDIUM":
151
+ case "PUZZLE_HARD":
152
+ return {
153
+ lottie: o.PUZZLE
154
+ };
155
+ case "VIDEO":
156
+ return {
157
+ lottie: o.VIDEO
158
+ };
159
+ default:
160
+ return {
161
+ lottie: o.PROJECT
162
+ };
163
+ }
164
+ };
165
+ export {
166
+ w as getNodeCardBasedIcon,
167
+ y as getNodeStateBasedTagInfo
168
+ };
169
+ //# sourceMappingURL=node-card-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null): DueDateInfo => {\n if (!dueDateTs) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs);\n\n if (isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEARNING':\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
@@ -7,13 +7,15 @@ const E = {
7
7
  EXTRA_PRACTICE_ASSIGNED: "EXTRA_PRACTICE_ASSIGNED",
8
8
  CHANGE_LOCATION: "CHANGE_LOCATION",
9
9
  SHEET_STARTED: "SHEET_STARTED",
10
- SHEET_UNASSIGNED: "SHEET_UNASSIGNED"
10
+ SHEET_UNASSIGNED: "SHEET_UNASSIGNED",
11
+ SHEET_REATTEMPTED: "SHEET_REATTEMPTED",
12
+ INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION: "INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION"
11
13
  }, S = {
12
14
  GOAL_CREATED: "GOAL_CREATED",
13
15
  GOAL_EDITED: "GOAL_EDITED",
14
16
  GOAL_DELETED: "GOAL_DELETED",
15
17
  GOAL_OUTCOME_ADDED: "GOAL_OUTCOME_ADDED"
16
- }, _ = {
18
+ }, T = {
17
19
  MILESTONE_NAME_UPDATED: "MILESTONE_NAME_UPDATED",
18
20
  MILESTONE_DATE_UPDATED: "MILESTONE_DATE_UPDATED",
19
21
  MILESTONE_DELETED: "MILESTONE_DELETED",
@@ -23,12 +25,16 @@ const E = {
23
25
  MILESTONE_RESOURCE_RESET: "MILESTONE_RESOURCE_RESET",
24
26
  PAST_MILESTONE_OUTCOME_ADDED: "PAST_MILESTONE_OUTCOME_ADDED",
25
27
  MILESTONE_TEST_ASSIGNED: "MILESTONE_TEST_ASSIGNED"
26
- }, T = {
28
+ }, _ = {
29
+ HOMEWORK_UNASSIGN: "HOMEWORK_UNASSIGN",
30
+ INVALIDATE_HOMEWORK: "INVALIDATE_HOMEWORK"
31
+ }, A = {
27
32
  ...E,
28
- ..._,
29
- ...S
33
+ ...T,
34
+ ...S,
35
+ ..._
30
36
  };
31
37
  export {
32
- T as EVENTS
38
+ A as EVENTS
33
39
  };
34
40
  //# sourceMappingURL=constants.js.map