@cuemath/leap 2.9.1 → 2.9.2-as2

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 (247) 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/alarm.js +41 -0
  4. package/dist/assets/line-icons/icons/alarm.js.map +1 -0
  5. package/dist/assets/line-icons/icons/bin2.js +7 -8
  6. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  7. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  8. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  9. package/dist/assets/line-icons/icons/dart.js +23 -0
  10. package/dist/assets/line-icons/icons/dart.js.map +1 -0
  11. package/dist/assets/line-icons/icons/exclamation.js +26 -0
  12. package/dist/assets/line-icons/icons/exclamation.js.map +1 -0
  13. package/dist/assets/line-icons/icons/home2.js +25 -0
  14. package/dist/assets/line-icons/icons/home2.js.map +1 -0
  15. package/dist/assets/line-icons/icons/important.js +23 -0
  16. package/dist/assets/line-icons/icons/important.js.map +1 -0
  17. package/dist/assets/line-icons/icons/puzzle.js +25 -0
  18. package/dist/assets/line-icons/icons/puzzle.js.map +1 -0
  19. package/dist/assets/line-icons/icons/recap.js +32 -0
  20. package/dist/assets/line-icons/icons/recap.js.map +1 -0
  21. package/dist/assets/line-icons/icons/skip-colored.js +43 -0
  22. package/dist/assets/line-icons/icons/skip-colored.js.map +1 -0
  23. package/dist/assets/line-icons/icons/status.js +41 -0
  24. package/dist/assets/line-icons/icons/status.js.map +1 -0
  25. package/dist/assets/line-icons/icons/testtube.js +33 -0
  26. package/dist/assets/line-icons/icons/testtube.js.map +1 -0
  27. package/dist/assets/lottie/lottie.js +9 -1
  28. package/dist/assets/lottie/lottie.js.map +1 -1
  29. package/dist/constants/api.js +3 -2
  30. package/dist/constants/api.js.map +1 -1
  31. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +99 -33
  32. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  33. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +92 -49
  34. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  35. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  36. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  37. package/dist/features/chapters/chapters-list/chapters-list.js +64 -70
  38. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  39. package/dist/features/chapters-v2/api/chapter.js +10 -0
  40. package/dist/features/chapters-v2/api/chapter.js.map +1 -0
  41. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +112 -0
  42. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -0
  43. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +26 -0
  44. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +1 -0
  45. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +73 -0
  46. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -0
  47. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +90 -0
  48. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -0
  49. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +97 -0
  50. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -0
  51. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +52 -0
  52. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +1 -0
  53. package/dist/features/chapters-v2/chapter-details/chapter-details.js +103 -0
  54. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -0
  55. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +13 -0
  56. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +1 -0
  57. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +153 -0
  58. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -0
  59. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +16 -0
  60. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -0
  61. package/dist/features/chapters-v2/comps/node-card/node-card.js +12 -0
  62. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -0
  63. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +32 -0
  64. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +1 -0
  65. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +31 -0
  66. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -0
  67. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +171 -0
  68. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -0
  69. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +192 -0
  70. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -0
  71. package/dist/features/chapters-v2/comps/tag/tag-styled.js +13 -0
  72. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +1 -0
  73. package/dist/features/chapters-v2/comps/tag/tag.js +28 -0
  74. package/dist/features/chapters-v2/comps/tag/tag.js.map +1 -0
  75. package/dist/features/chapters-v2/constants/block-constants.js +20 -0
  76. package/dist/features/chapters-v2/constants/block-constants.js.map +1 -0
  77. package/dist/features/chapters-v2/constants/node-constants.js +14 -0
  78. package/dist/features/chapters-v2/constants/node-constants.js.map +1 -0
  79. package/dist/features/chapters-v2/utils/index.js +41 -0
  80. package/dist/features/chapters-v2/utils/index.js.map +1 -0
  81. package/dist/features/chapters-v2/utils/node-card-utils.js +144 -0
  82. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -0
  83. package/dist/features/communication/pub-sub/constants.js +5 -2
  84. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  85. package/dist/features/homework/card-menu-options.js +38 -0
  86. package/dist/features/homework/card-menu-options.js.map +1 -0
  87. package/dist/features/homework/card-title.js +15 -0
  88. package/dist/features/homework/card-title.js.map +1 -0
  89. package/dist/features/homework/homework-card-view.js +131 -0
  90. package/dist/features/homework/homework-card-view.js.map +1 -0
  91. package/dist/features/homework/homework-card.js +206 -0
  92. package/dist/features/homework/homework-card.js.map +1 -0
  93. package/dist/features/homework/hw-card-list/api/get-homeworks.js +10 -0
  94. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -0
  95. package/dist/features/homework/hw-card-list/hw-card-list-styled.js +71 -0
  96. package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -0
  97. package/dist/features/homework/hw-card-list/hw-card-list.js +182 -0
  98. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -0
  99. package/dist/features/homework/node-progress.js +29 -0
  100. package/dist/features/homework/node-progress.js.map +1 -0
  101. package/dist/features/homework/styles.js +130 -0
  102. package/dist/features/homework/styles.js.map +1 -0
  103. package/dist/features/milestone/create/api/goal-submit.js +1 -1
  104. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  105. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js +42 -49
  106. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
  107. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +12 -4
  108. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  109. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +128 -105
  110. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  111. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +14 -20
  112. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
  113. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js +26 -50
  114. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
  115. package/dist/features/milestone/create/milestone-create.js +49 -43
  116. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  117. package/dist/features/milestone/create/utils/index.js +33 -38
  118. package/dist/features/milestone/create/utils/index.js.map +1 -1
  119. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
  120. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  121. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js +1 -1
  122. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js.map +1 -1
  123. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +51 -53
  124. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  125. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +42 -40
  126. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  127. package/dist/features/milestone/edit/goal-edit-container.js +64 -62
  128. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  129. package/dist/features/milestone/edit/goal-edit-helpers.js +50 -53
  130. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  131. package/dist/features/milestone/edit/milestone-edit-container.js +54 -52
  132. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  133. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js +1 -1
  134. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  135. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +9 -17
  136. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  137. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js +1 -1
  138. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  139. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +136 -104
  140. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  141. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +107 -123
  142. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  143. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +155 -175
  144. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  145. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +24 -10
  146. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  147. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +80 -86
  148. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  149. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +10 -22
  150. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  151. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +70 -37
  152. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  153. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +114 -176
  154. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  155. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +29 -16
  156. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  157. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +19 -23
  158. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  159. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +23 -35
  160. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  161. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +96 -100
  162. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  163. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  164. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  165. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +114 -112
  166. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  167. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +165 -0
  168. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -0
  169. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +25 -0
  170. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -0
  171. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +85 -0
  172. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -0
  173. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +16 -18
  174. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  175. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +6 -34
  176. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
  177. package/dist/features/recent-chapters/api/get-recent-chapters.js +9 -0
  178. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -0
  179. package/dist/features/recent-chapters/recent-chapters-styled.js +16 -0
  180. package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -0
  181. package/dist/features/recent-chapters/recent-chapters.js +34 -0
  182. package/dist/features/recent-chapters/recent-chapters.js.map +1 -0
  183. package/dist/features/sheet-v2/resource-list/resource-list.js +39 -0
  184. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -0
  185. package/dist/features/sheets/resources-list/resource-item/styled.js +1 -1
  186. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  187. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +4 -3
  188. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  189. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +30 -29
  190. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  191. package/dist/features/ui/constants/z-index.js +1 -1
  192. package/dist/features/ui/constants/z-index.js.map +1 -1
  193. package/dist/features/ui/context-menu/context-menu-styled.js +28 -14
  194. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  195. package/dist/features/ui/context-menu/context-menu.js +30 -15
  196. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  197. package/dist/features/ui/theme/button.js +22 -107
  198. package/dist/features/ui/theme/button.js.map +1 -1
  199. package/dist/index.d.ts +280 -29
  200. package/dist/index.js +496 -470
  201. package/dist/index.js.map +1 -1
  202. package/dist/node_modules/date-fns/differenceInDays.js +17 -0
  203. package/dist/node_modules/date-fns/differenceInDays.js.map +1 -0
  204. package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
  205. package/dist/static/competitive-arena.b9c40801.json +1 -0
  206. package/dist/static/learn.71b13323.json +1 -0
  207. package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
  208. package/dist/static/node-learn-bg.b61f815c.svg +1 -0
  209. package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
  210. package/dist/static/node-project-bg.e6a33e28.svg +1 -0
  211. package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
  212. package/dist/static/node-recap-bg.546154e4.svg +1 -0
  213. package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
  214. package/dist/static/node-video-bg.3df3f73a.svg +1 -0
  215. package/dist/static/practice.158dd488.json +1 -0
  216. package/dist/static/project.eb665827.json +1 -0
  217. package/dist/static/puzzle.b298c7e4.json +1 -0
  218. package/dist/static/recap.0dd2c1e2.json +1 -0
  219. package/dist/static/test.803d6036.json +1 -0
  220. package/dist/static/video.b41451e2.json +1 -0
  221. package/package.json +1 -1
  222. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +0 -92
  223. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +0 -1
  224. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +0 -25
  225. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +0 -1
  226. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +0 -13
  227. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +0 -1
  228. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +0 -38
  229. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +0 -1
  230. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +0 -53
  231. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +0 -1
  232. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +0 -25
  233. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +0 -1
  234. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +0 -71
  235. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +0 -1
  236. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +0 -31
  237. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +0 -1
  238. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +0 -79
  239. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +0 -1
  240. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +0 -18
  241. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +0 -1
  242. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js +0 -51
  243. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +0 -1
  244. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js +0 -11
  245. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js.map +0 -1
  246. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +0 -135
  247. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import type { IChaptersListProps } from './chapters-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport Plus2Icon from '../../../assets/line-icons/icons/plus2';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../ui/buttons/button/button';\nimport IconButton from '../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../ui/context/context';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(\n ({ milestoneId, canUpdatePlan, chapters, ...restChaptersList }) => {\n const { isGoalCreation, userType, onChapterClick, onAddChapter, isMilestoneActive } =\n restChaptersList;\n\n const canAddChapter = userType === 'TEACHER' && onAddChapter && canUpdatePlan;\n const { onClick: trackOnClick } = useUIContext();\n\n const handleOnAddChapter = useCallback(() => {\n trackOnClick({\n label: 'add_chapter_icon',\n props: {\n milestone_id: milestoneId,\n },\n });\n onAddChapter?.({ milestoneId, isGoalCreation });\n }, [milestoneId, isGoalCreation, onAddChapter, trackOnClick]);\n\n if (!chapters.length) {\n return (\n <Styled.ChaptersListContainer $gapX={6.75} $alignItems=\"center\" $justifyContent=\"center\">\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={isMilestoneActive}\n tooltipItem=\"Plan is completed\"\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Add chapter\"\n onClick={handleOnAddChapter}\n disabled={!isMilestoneActive || !canUpdatePlan}\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to add a chapter\n </Text>\n )}\n </Styled.ChaptersListContainer>\n );\n }\n\n return (\n <Styled.ChaptersListContainer>\n <Styled.ChaptersWrapper>\n {chapters.map((chapter, idx) => {\n const { id } = chapter;\n\n return (\n <ChapterItem\n key={id}\n milestoneId={milestoneId}\n userType={userType}\n chapter={chapter}\n onChapterClick={onChapterClick}\n itemIndex={idx}\n />\n );\n })}\n </Styled.ChaptersWrapper>\n {canAddChapter && (\n <Styled.AddChapterIconWrapper>\n <IconButton\n Icon={Plus2Icon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"add_chapter_icon\"\n onClick={handleOnAddChapter}\n />\n </Styled.AddChapterIconWrapper>\n )}\n </Styled.ChaptersListContainer>\n );\n },\n);\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","milestoneId","canUpdatePlan","chapters","restChaptersList","isGoalCreation","userType","onChapterClick","onAddChapter","isMilestoneActive","canAddChapter","trackOnClick","useUIContext","handleOnAddChapter","useCallback","jsxs","Styled.ChaptersListContainer","jsx","Styled.ChaptersWrapper","chapter","idx","id","ChapterItem","Styled.AddChapterIconWrapper","IconButton","Plus2Icon","IMAGES","Separator","Fragment","ArrowTooltip","Button","Text","ChaptersList$1"],"mappings":";;;;;;;;;;;;AAgBA,MAAMA,IAAuCC;AAAA,EAC3C,CAAC,EAAE,aAAAC,GAAa,eAAAC,GAAe,UAAAC,GAAU,GAAGC,QAAuB;AACjE,UAAM,EAAE,gBAAAC,GAAgB,UAAAC,GAAU,gBAAAC,GAAgB,cAAAC,GAAc,mBAAAC,EAC9D,IAAAL,GAEIM,IAAgBJ,MAAa,aAAaE,KAAgBN,GAC1D,EAAE,SAASS,EAAa,IAAIC,EAAa,GAEzCC,IAAqBC,EAAY,MAAM;AAC9B,MAAAH,EAAA;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,UACL,cAAcV;AAAA,QAChB;AAAA,MAAA,CACD,GACcO,KAAA,QAAAA,EAAA,EAAE,aAAAP,GAAa,gBAAAI,EAAA;AAAA,OAC7B,CAACJ,GAAaI,GAAgBG,GAAcG,CAAY,CAAC;AAExD,WAACR,EAAS,SAsCZ,gBAAAY,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EACE,YAAS,IAAI,CAACC,GAASC,MAAQ;AACxB,cAAA,EAAE,IAAAC,EAAO,IAAAF;AAGb,eAAA,gBAAAF;AAAA,UAACK;AAAA,UAAA;AAAA,YAEC,aAAArB;AAAA,YACA,UAAAK;AAAA,YACA,SAAAa;AAAA,YACA,gBAAAZ;AAAA,YACA,WAAWa;AAAA,UAAA;AAAA,UALNC;AAAA,QAAA;AAAA,MAQV,CAAA,GACH;AAAA,MACCX,KACC,gBAAAO,EAACM,GAAA,EACC,UAAA,gBAAAN;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,MAAMC;AAAA,UACN,UAAS;AAAA,UACT,MAAK;AAAA,UACL,gBAAe;AAAA,UACf,SAASZ;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAEJ,EAAA,CAAA,IAhEE,gBAAAE,EAACC,GAAA,EAA6B,OAAO,MAAM,aAAY,UAAS,iBAAgB,UAC9E,UAAA;AAAA,MAAA,gBAAAC,EAAC,OAAI,EAAA,KAAKS,EAAO,iBAAiB,KAAI,mBAAkB;AAAA,MACxD,gBAAAT,EAACU,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,MACtBrB,MAAa,YAEV,gBAAAS,EAAAa,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAX;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,UAAS;AAAA,YACT,QAAQpB;AAAA,YACR,aAAY;AAAA,YAEZ,UAAA,gBAAAQ;AAAA,cAACa;AAAA,cAAA;AAAA,gBACC,QAAQ;AAAA,gBACR,UAAS;AAAA,gBACT,OAAM;AAAA,gBACN,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,SAASjB;AAAA,gBACT,UAAU,CAACJ,KAAqB,CAACP;AAAA,gBACjC,gBAAgB;AAAA,kBACd,cAAcD;AAAA,gBAChB;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,QACA,gBAAAgB,EAACU,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,MAAA,EAAA,CACzB,IAEC,gBAAAV,EAAAc,GAAA,EAAK,WAAU,YAAW,QAAO,cAAa,UAE/C,yCAAA;AAAA,IAEJ,EAAA,CAAA;AAAA,EAmCN;AACF,GAEAC,IAAejC;"}
1
+ {"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import type { IChaptersListProps } from './chapters-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../ui/buttons/button/button';\nimport { useUIContext } from '../../ui/context/context';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(\n ({ milestoneId, canUpdatePlan, chapters, ...restChaptersList }) => {\n const { isGoalCreation, userType, onChapterClick, onAddChapter, isMilestoneActive } =\n restChaptersList;\n\n const { onClick: trackOnClick } = useUIContext();\n\n const handleOnAddChapter = useCallback(() => {\n trackOnClick({\n label: 'add_chapter_icon',\n props: {\n milestone_id: milestoneId,\n },\n });\n onAddChapter?.({ milestoneId, isGoalCreation });\n }, [milestoneId, isGoalCreation, onAddChapter, trackOnClick]);\n\n if (!chapters.length) {\n return (\n <Styled.ChaptersListContainer\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={isMilestoneActive}\n tooltipItem=\"Plan is completed\"\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Add chapter\"\n onClick={handleOnAddChapter}\n disabled={!isMilestoneActive || !canUpdatePlan}\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to add a chapter\n </Text>\n )}\n </Styled.ChaptersListContainer>\n );\n }\n\n return (\n <Styled.ChaptersListContainer>\n <Styled.ChaptersWrapper>\n {chapters.map((chapter, idx) => {\n const { id } = chapter;\n\n return (\n <ChapterItem\n key={id}\n milestoneId={milestoneId}\n chapter={chapter}\n onChapterClick={onChapterClick}\n itemIndex={idx}\n />\n );\n })}\n </Styled.ChaptersWrapper>\n </Styled.ChaptersListContainer>\n );\n },\n);\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","milestoneId","canUpdatePlan","chapters","restChaptersList","isGoalCreation","userType","onChapterClick","onAddChapter","isMilestoneActive","trackOnClick","useUIContext","handleOnAddChapter","useCallback","jsx","Styled.ChaptersListContainer","Styled.ChaptersWrapper","chapter","idx","id","ChapterItem","jsxs","IMAGES","Separator","Fragment","ArrowTooltip","Button","Text","ChaptersList$1"],"mappings":";;;;;;;;;;AAcA,MAAMA,IAAuCC;AAAA,EAC3C,CAAC,EAAE,aAAAC,GAAa,eAAAC,GAAe,UAAAC,GAAU,GAAGC,QAAuB;AACjE,UAAM,EAAE,gBAAAC,GAAgB,UAAAC,GAAU,gBAAAC,GAAgB,cAAAC,GAAc,mBAAAC,EAC9D,IAAAL,GAEI,EAAE,SAASM,EAAa,IAAIC,EAAa,GAEzCC,IAAqBC,EAAY,MAAM;AAC9B,MAAAH,EAAA;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,UACL,cAAcT;AAAA,QAChB;AAAA,MAAA,CACD,GACcO,KAAA,QAAAA,EAAA,EAAE,aAAAP,GAAa,gBAAAI,EAAA;AAAA,OAC7B,CAACJ,GAAaI,GAAgBG,GAAcE,CAAY,CAAC;AAExD,WAACP,EAAS,SA2CX,gBAAAW,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAE,GAAA,EACE,UAASb,EAAA,IAAI,CAACc,GAASC,MAAQ;AACxB,YAAA,EAAE,IAAAC,EAAO,IAAAF;AAGb,aAAA,gBAAAH;AAAA,QAACM;AAAA,QAAA;AAAA,UAEC,aAAAnB;AAAA,UACA,SAAAgB;AAAA,UACA,gBAAAV;AAAA,UACA,WAAWW;AAAA,QAAA;AAAA,QAJNC;AAAA,MAAA;AAAA,IAKP,CAEH,GACH,EACF,CAAA,IAzDE,gBAAAE;AAAA,MAACN;AAAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAI,EAAA,KAAKQ,EAAO,iBAAiB,KAAI,mBAAkB;AAAA,UACxD,gBAAAR,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,UACtBjB,MAAa,YAEV,gBAAAe,EAAAG,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAV;AAAA,cAACW;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,UAAS;AAAA,gBACT,QAAQhB;AAAA,gBACR,aAAY;AAAA,gBAEZ,UAAA,gBAAAK;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,QAAQ;AAAA,oBACR,UAAS;AAAA,oBACT,OAAM;AAAA,oBACN,MAAK;AAAA,oBACL,OAAM;AAAA,oBACN,SAASd;AAAA,oBACT,UAAU,CAACH,KAAqB,CAACP;AAAA,oBACjC,gBAAgB;AAAA,sBACd,cAAcD;AAAA,oBAChB;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAa,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,UAAA,EAAA,CACzB,IAEC,gBAAAT,EAAAa,GAAA,EAAK,WAAU,YAAW,QAAO,cAAa,UAE/C,yCAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAyBV;AACF,GAEAC,IAAe7B;"}
@@ -0,0 +1,10 @@
1
+ import { createGetAPI as r } from "@cuemath/rest-api";
2
+ import { BASE_URL_V3_1 as a } from "../../../constants/api.js";
3
+ const { useGet: p, invalidate: l } = r({
4
+ getURL: (e, s, { studentId: t }) => `${a}/users/${t}/user-chapters/${e} `
5
+ });
6
+ export {
7
+ l as invalidateGetChapterDetails,
8
+ p as useGetChapterDetails
9
+ };
10
+ //# sourceMappingURL=chapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chapter.js","sources":["../../../../src/features/chapters-v2/api/chapter.ts"],"sourcesContent":["import type { IUserChapterData } from '../chapter-details/chapter-details-types';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3_1 } from '../../../constants/api';\n\nconst { useGet: useGetChapterDetails, invalidate: invalidateGetChapterDetails } = createGetAPI<\n IUserChapterData,\n void,\n { studentId: string }\n>({\n getURL: (userChapterId: string, _, { studentId }) =>\n `${BASE_URL_V3_1}/users/${studentId}/user-chapters/${userChapterId} `,\n});\n\nexport { useGetChapterDetails, invalidateGetChapterDetails };\n"],"names":["useGetChapterDetails","invalidateGetChapterDetails","createGetAPI","userChapterId","_","studentId","BASE_URL_V3_1"],"mappings":";;AAMA,MAAM,EAAE,QAAQA,GAAsB,YAAYC,EAAA,IAAgCC,EAIhF;AAAA,EACA,QAAQ,CAACC,GAAuBC,GAAG,EAAE,WAAAC,EAAA,MACnC,GAAGC,CAAa,UAAUD,CAAS,kBAAkBF,CAAa;AACtE,CAAC;"}
@@ -0,0 +1,112 @@
1
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
+ import S from "../../../../assets/line-icons/icons/more-vertical.js";
3
+ import I from "../../../../assets/line-icons/icons/skip.js";
4
+ import O from "../../../ui/context-menu/context-menu.js";
5
+ import c from "../../../ui/layout/flex-view.js";
6
+ import u from "../../../ui/text/text.js";
7
+ import T from "../../comps/node-card/node-card.js";
8
+ import j from "../../comps/node-card/node-menu-options/node-menu-options.js";
9
+ import { BLOCK_NAME as k } from "../../constants/block-constants.js";
10
+ import { getSheetNLessonCount as y } from "../../utils/index.js";
11
+ import { BlockSectionWrapper as M, BlockOptionsWrapper as B, BlockSheetContainer as K } from "./block-sections-styled.js";
12
+ const q = ({
13
+ userType: o,
14
+ imageHue: m,
15
+ blockData: l,
16
+ lessonIdx: s,
17
+ isLastBlock: C,
18
+ isGoalBlock: r,
19
+ onNodeAttempt: g,
20
+ onNodeAttemptLocationChange: x,
21
+ onNodeMarkAsDone: _,
22
+ onNodeReattempt: b,
23
+ onNodeReview: E,
24
+ onNodeView: N,
25
+ onBlockSkipUnskip: i
26
+ }) => {
27
+ const { block_type: p, name: a, sheets: d, permissions: w } = l, { can_skip: h, can_un_skip: e } = w, f = k[p], A = y(e, d.length, r, s), L = [
28
+ {
29
+ id: "node-card-skip",
30
+ label: e ? "Revert 'Skip'" : "Skip",
31
+ icon: I,
32
+ disabled: !1,
33
+ onClick: () => i == null ? void 0 : i(l, h)
34
+ }
35
+ ];
36
+ return o === "STUDENT" && e ? null : /* @__PURE__ */ t(
37
+ M,
38
+ {
39
+ $background: r ? `${m}_1` : "WHITE_1",
40
+ $gutterX: 1,
41
+ $lastBlock: C,
42
+ $flexGap: 12,
43
+ children: /* @__PURE__ */ n(c, { $flexGap: 12, children: [
44
+ /* @__PURE__ */ n(c, { $flexDirection: "row", $alignItems: "center", $justifyContent: "space-between", children: [
45
+ /* @__PURE__ */ n(c, { $opacity: e ? 0.5 : 1, children: [
46
+ /* @__PURE__ */ n(
47
+ u,
48
+ {
49
+ $renderAs: "ac4",
50
+ $color: "BLACK_T_60",
51
+ $textDecoration: e ? "line-through" : "none",
52
+ children: [
53
+ f === "Puzzles" ? a : f,
54
+ " ",
55
+ A
56
+ ]
57
+ }
58
+ ),
59
+ r && (s ?? 0) > 0 && /* @__PURE__ */ t(
60
+ u,
61
+ {
62
+ $renderAs: "ab2-bold",
63
+ $color: "BLACK_1",
64
+ $textDecoration: e ? "line-through" : "none",
65
+ children: a
66
+ }
67
+ )
68
+ ] }),
69
+ o === "TEACHER" && (h || e) && /* @__PURE__ */ t(
70
+ O,
71
+ {
72
+ targetElement: /* @__PURE__ */ t(
73
+ B,
74
+ {
75
+ $width: 20,
76
+ $height: 20,
77
+ $justifyContent: "center",
78
+ $alignItems: "center",
79
+ children: /* @__PURE__ */ t(S, { width: 16, height: 16 })
80
+ }
81
+ ),
82
+ menuElement: /* @__PURE__ */ t(j, { options: L }),
83
+ menuOffset: 5,
84
+ menuZIndex: 4
85
+ }
86
+ )
87
+ ] }),
88
+ /* @__PURE__ */ t(K, { $opacity: e ? 0.5 : 1, children: d.map(($) => /* @__PURE__ */ t(
89
+ T,
90
+ {
91
+ imageHue: m || "BLUE",
92
+ userType: o,
93
+ nodeData: $,
94
+ blockType: p,
95
+ isSkipped: e,
96
+ onNodeAttempt: g,
97
+ onNodeAttemptLocationChange: x,
98
+ onNodeMarkAsDone: _,
99
+ onNodeReattempt: b,
100
+ onNodeReview: E,
101
+ onNodeView: N
102
+ },
103
+ $.node_id
104
+ )) })
105
+ ] })
106
+ }
107
+ );
108
+ };
109
+ export {
110
+ q as default
111
+ };
112
+ //# sourceMappingURL=block-section-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-section-view.js","sources":["../../../../../src/features/chapters-v2/chapter-details/block-sections/block-section-view.tsx"],"sourcesContent":["import type { INodeMenuOption } from '../../comps/node-card/node-menu-options/node-menu-options-types';\nimport type { IBlockSectionProps } from './block-sections-types';\nimport type { FC } from 'react';\n\nimport MoreVerticalIcon from '../../../../assets/line-icons/icons/more-vertical';\nimport SkipIcon from '../../../../assets/line-icons/icons/skip';\nimport ContextMenu from '../../../ui/context-menu/context-menu';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport NodeCard from '../../comps/node-card/node-card';\nimport NodeMenuOptions from '../../comps/node-card/node-menu-options/node-menu-options';\nimport { BLOCK_NAME } from '../../constants/block-constants';\nimport { getSheetNLessonCount } from '../../utils';\nimport * as Styled from './block-sections-styled';\n\nconst BlockSectionView: FC<IBlockSectionProps> = ({\n userType,\n imageHue,\n blockData,\n lessonIdx,\n isLastBlock,\n isGoalBlock,\n onNodeAttempt,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n onBlockSkipUnskip,\n}) => {\n const { block_type: blockType, name, sheets, permissions } = blockData;\n\n const { can_skip: canSkip, can_un_skip: canUnskip } = permissions;\n const blockName = BLOCK_NAME[blockType];\n\n const sheetNLessonCount = getSheetNLessonCount(canUnskip, sheets.length, isGoalBlock, lessonIdx);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-skip',\n label: canUnskip ? `Revert 'Skip'` : 'Skip',\n icon: SkipIcon,\n disabled: false,\n onClick: () => onBlockSkipUnskip?.(blockData, canSkip),\n },\n ];\n\n if (userType === 'STUDENT' && canUnskip) return null;\n\n return (\n <Styled.BlockSectionWrapper\n $background={isGoalBlock ? `${imageHue}_1` : 'WHITE_1'}\n $gutterX={1}\n $lastBlock={isLastBlock}\n $flexGap={12}\n >\n <FlexView $flexGap={12}>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <FlexView $opacity={canUnskip ? 0.5 : 1}>\n <Text\n $renderAs=\"ac4\"\n $color=\"BLACK_T_60\"\n $textDecoration={canUnskip ? 'line-through' : 'none'}\n >\n {blockName === 'Puzzles' ? name : blockName} {sheetNLessonCount}\n </Text>\n\n {isGoalBlock && (lessonIdx ?? 0) > 0 && (\n <Text\n $renderAs=\"ab2-bold\"\n $color=\"BLACK_1\"\n $textDecoration={canUnskip ? 'line-through' : 'none'}\n >\n {name}\n </Text>\n )}\n </FlexView>\n\n {userType === 'TEACHER' && (canSkip || canUnskip) && (\n <ContextMenu\n targetElement={\n <Styled.BlockOptionsWrapper\n $width={20}\n $height={20}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.BlockOptionsWrapper>\n }\n menuElement={<NodeMenuOptions options={menuOptions} />}\n menuOffset={5}\n menuZIndex={4}\n />\n )}\n </FlexView>\n\n <Styled.BlockSheetContainer $opacity={canUnskip ? 0.5 : 1}>\n {sheets.map(nodeData => (\n <NodeCard\n key={nodeData.node_id}\n imageHue={imageHue || 'BLUE'}\n userType={userType}\n nodeData={nodeData}\n blockType={blockType}\n isSkipped={canUnskip}\n onNodeAttempt={onNodeAttempt}\n onNodeAttemptLocationChange={onNodeAttemptLocationChange}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n />\n ))}\n </Styled.BlockSheetContainer>\n </FlexView>\n </Styled.BlockSectionWrapper>\n );\n};\n\nexport default BlockSectionView;\n"],"names":["BlockSectionView","userType","imageHue","blockData","lessonIdx","isLastBlock","isGoalBlock","onNodeAttempt","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeReattempt","onNodeReview","onNodeView","onBlockSkipUnskip","blockType","name","sheets","permissions","canSkip","canUnskip","blockName","BLOCK_NAME","sheetNLessonCount","getSheetNLessonCount","menuOptions","SkipIcon","jsx","Styled.BlockSectionWrapper","jsxs","FlexView","Text","ContextMenu","Styled.BlockOptionsWrapper","MoreVerticalIcon","NodeMenuOptions","Styled.BlockSheetContainer","nodeData","NodeCard"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import o from "styled-components";
2
+ import p from "../../../ui/layout/flex-view.js";
3
+ const i = o(p)(({ $lastBlock: r }) => `
4
+ padding-top: 32px;
5
+ ${r ? "padding-bottom: 32px;" : "padding-bottom: 0px;"}
6
+ `), n = o.div(({ $opacity: r }) => `
7
+ display: grid;
8
+ grid-template-columns: repeat(4, 1fr);
9
+ grid-row-gap: 12px;
10
+ grid-column-gap: 16px;
11
+ opacity: ${r ?? 1};
12
+
13
+ `), d = o(p)(({ theme: r }) => `
14
+ cursor: pointer;
15
+
16
+ &:hover {
17
+ border-radius: 50%;
18
+ background: ${r.colors.WHITE_4};
19
+ }
20
+ `);
21
+ export {
22
+ d as BlockOptionsWrapper,
23
+ i as BlockSectionWrapper,
24
+ n as BlockSheetContainer
25
+ };
26
+ //# sourceMappingURL=block-sections-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-sections-styled.js","sources":["../../../../../src/features/chapters-v2/chapter-details/block-sections/block-sections-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\ninterface IBlockSectionWrapper {\n $lastBlock?: boolean;\n}\n\nconst BlockSectionWrapper = styled(FlexView)<IBlockSectionWrapper>(({ $lastBlock }) => {\n return `\n padding-top: 32px;\n ${$lastBlock ? 'padding-bottom: 32px;' : 'padding-bottom: 0px;'}\n `;\n});\n\ninterface IBlockSheetContainer {\n $opacity?: number;\n}\n\nconst BlockSheetContainer = styled.div<IBlockSheetContainer>(({ $opacity }) => {\n return `\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n grid-row-gap: 12px;\n grid-column-gap: 16px;\n opacity: ${$opacity ?? 1};\n\n `;\n});\n\nconst BlockOptionsWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_4}; \n }\n `;\n});\n\nexport { BlockSectionWrapper, BlockSheetContainer, BlockOptionsWrapper };\n"],"names":["BlockSectionWrapper","styled","FlexView","$lastBlock","BlockSheetContainer","$opacity","BlockOptionsWrapper","theme"],"mappings":";;AAQA,MAAMA,IAAsBC,EAAOC,CAAQ,EAAwB,CAAC,EAAE,YAAAC,QAC7D;AAAA;AAAA,MAEHA,IAAa,0BAA0B,sBAAsB;AAAA,GAElE,GAMKC,IAAsBH,EAAO,IAA0B,CAAC,EAAE,UAAAI,QACvD;AAAA;AAAA;AAAA;AAAA;AAAA,eAKMA,KAAY,CAAC;AAAA;AAAA,GAG3B,GAEKC,IAAsBL,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAK,QACvC;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC;"}
@@ -0,0 +1,73 @@
1
+ import { jsxs as G, jsx as f } from "react/jsx-runtime";
2
+ import { memo as I } from "react";
3
+ import L from "../../../ui/layout/flex-view.js";
4
+ import u from "./block-section-view.js";
5
+ const b = I((A) => {
6
+ const {
7
+ blocks: t,
8
+ imageHue: n,
9
+ userType: i,
10
+ onNodeAttempt: s,
11
+ onNodeAttemptLocationChange: c,
12
+ onNodeMarkAsDone: l,
13
+ onNodeReattempt: r,
14
+ onNodeReview: d,
15
+ onNodeView: p,
16
+ onBlockSkipUnskip: m
17
+ } = A;
18
+ let k = 0;
19
+ const S = t.filter(
20
+ (o) => o.section_code === "GOALS" || o.section_code === "READINESS"
21
+ ), N = t.filter(
22
+ (o) => o.section_code !== "GOALS" && o.section_code !== "READINESS"
23
+ );
24
+ return /* @__PURE__ */ G(L, { $width: "100%", children: [
25
+ S.map((o, e) => {
26
+ const { block_type: _, block_id: B, is_skipped: w } = o;
27
+ let a = 0;
28
+ const x = e === S.length - 1;
29
+ return _ === "GOAL" && (w || (k += 1), a = k), /* @__PURE__ */ f(
30
+ u,
31
+ {
32
+ blockData: o,
33
+ userType: i,
34
+ isLastBlock: x,
35
+ lessonIdx: a,
36
+ imageHue: n,
37
+ isGoalBlock: !0,
38
+ onNodeAttempt: s,
39
+ onNodeAttemptLocationChange: c,
40
+ onNodeMarkAsDone: l,
41
+ onNodeReattempt: r,
42
+ onNodeReview: d,
43
+ onNodeView: p,
44
+ onBlockSkipUnskip: m
45
+ },
46
+ B
47
+ );
48
+ }),
49
+ N.map((o) => {
50
+ const { block_id: e } = o;
51
+ return /* @__PURE__ */ f(
52
+ u,
53
+ {
54
+ blockData: o,
55
+ userType: i,
56
+ imageHue: n,
57
+ onNodeAttempt: s,
58
+ onNodeAttemptLocationChange: c,
59
+ onNodeMarkAsDone: l,
60
+ onNodeReattempt: r,
61
+ onNodeReview: d,
62
+ onNodeView: p,
63
+ onBlockSkipUnskip: m
64
+ },
65
+ e
66
+ );
67
+ })
68
+ ] });
69
+ });
70
+ export {
71
+ b as default
72
+ };
73
+ //# sourceMappingURL=block-sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-sections.js","sources":["../../../../../src/features/chapters-v2/chapter-details/block-sections/block-sections.tsx"],"sourcesContent":["import type { IBlockSectionsProps } from './block-sections-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport BlockSectionView from './block-section-view';\n\nconst BlockSections: FC<IBlockSectionsProps> = memo(props => {\n const {\n blocks,\n imageHue,\n userType,\n onNodeAttempt,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n onBlockSkipUnskip,\n } = props;\n\n let lessonCount = 0;\n\n const goalBlocks = blocks.filter(\n block => block.section_code === 'GOALS' || block.section_code === 'READINESS',\n );\n\n const nonGoalBlocks = blocks.filter(\n block => block.section_code !== 'GOALS' && block.section_code !== 'READINESS',\n );\n\n return (\n <FlexView $width=\"100%\">\n {goalBlocks.map((blockData, idx) => {\n const { block_type: blockType, block_id: blockId, is_skipped: isSkipped } = blockData;\n let lessonIdx = 0;\n\n const isLastBlock = idx === goalBlocks.length - 1;\n\n if (blockType === 'GOAL') {\n if (!isSkipped) {\n lessonCount += 1;\n }\n\n lessonIdx = lessonCount;\n }\n\n return (\n <BlockSectionView\n blockData={blockData}\n userType={userType}\n isLastBlock={isLastBlock}\n key={blockId}\n lessonIdx={lessonIdx}\n imageHue={imageHue}\n isGoalBlock\n onNodeAttempt={onNodeAttempt}\n onNodeAttemptLocationChange={onNodeAttemptLocationChange}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onBlockSkipUnskip={onBlockSkipUnskip}\n />\n );\n })}\n\n {nonGoalBlocks.map(blockData => {\n const { block_id: blockId } = blockData;\n\n return (\n <BlockSectionView\n key={blockId}\n blockData={blockData}\n userType={userType}\n imageHue={imageHue}\n onNodeAttempt={onNodeAttempt}\n onNodeAttemptLocationChange={onNodeAttemptLocationChange}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onBlockSkipUnskip={onBlockSkipUnskip}\n />\n );\n })}\n </FlexView>\n );\n});\n\nexport default BlockSections;\n"],"names":["BlockSections","memo","props","blocks","imageHue","userType","onNodeAttempt","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeReattempt","onNodeReview","onNodeView","onBlockSkipUnskip","lessonCount","goalBlocks","block","nonGoalBlocks","jsxs","FlexView","blockData","idx","blockType","blockId","isSkipped","lessonIdx","isLastBlock","jsx","BlockSectionView"],"mappings":";;;;AAQM,MAAAA,IAAyCC,EAAK,CAASC,MAAA;AACrD,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,6BAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,EACE,IAAAV;AAEJ,MAAIW,IAAc;AAElB,QAAMC,IAAaX,EAAO;AAAA,IACxB,CAASY,MAAAA,EAAM,iBAAiB,WAAWA,EAAM,iBAAiB;AAAA,EAAA,GAG9DC,IAAgBb,EAAO;AAAA,IAC3B,CAASY,MAAAA,EAAM,iBAAiB,WAAWA,EAAM,iBAAiB;AAAA,EAAA;AAIlE,SAAA,gBAAAE,EAACC,GAAS,EAAA,QAAO,QACd,UAAA;AAAA,IAAWJ,EAAA,IAAI,CAACK,GAAWC,MAAQ;AAClC,YAAM,EAAE,YAAYC,GAAW,UAAUC,GAAS,YAAYC,EAAc,IAAAJ;AAC5E,UAAIK,IAAY;AAEV,YAAAC,IAAcL,MAAQN,EAAW,SAAS;AAEhD,aAAIO,MAAc,WACXE,MACYV,KAAA,IAGLW,IAAAX,IAIZ,gBAAAa;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAAR;AAAA,UACA,UAAAd;AAAA,UACA,aAAAoB;AAAA,UAEA,WAAAD;AAAA,UACA,UAAApB;AAAA,UACA,aAAW;AAAA,UACX,eAAAE;AAAA,UACA,6BAAAC;AAAA,UACA,kBAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,YAAAC;AAAA,UACA,mBAAAC;AAAA,QAAA;AAAA,QAVKU;AAAA,MAAA;AAAA,IAWP,CAEH;AAAA,IAEAN,EAAc,IAAI,CAAaG,MAAA;AACxB,YAAA,EAAE,UAAUG,EAAY,IAAAH;AAG5B,aAAA,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UAEC,WAAAR;AAAA,UACA,UAAAd;AAAA,UACA,UAAAD;AAAA,UACA,eAAAE;AAAA,UACA,6BAAAC;AAAA,UACA,kBAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,YAAAC;AAAA,UACA,mBAAAC;AAAA,QAAA;AAAA,QAVKU;AAAA,MAAA;AAAA,IAWP,CAEH;AAAA,EACH,EAAA,CAAA;AAEJ,CAAC;"}
@@ -0,0 +1,90 @@
1
+ import o from "styled-components";
2
+ import x from "../../../../assets/line-icons/icons/important.js";
3
+ import i from "../../../ui/layout/flex-view.js";
4
+ const f = o(i)(() => `
5
+ position: relative;
6
+ height: 168px;
7
+ `);
8
+ o.div`
9
+ width: 760px;
10
+ height: 100%;
11
+ position: relative;
12
+ `;
13
+ const m = o(i)`
14
+ position: absolute;
15
+ left: 73px;
16
+ top: 32px;
17
+ `, $ = o.img(({ theme: e }) => {
18
+ const { gutter: t } = e.layout;
19
+ return `
20
+ width: ${t * 6.625}px;
21
+ height: ${t * 6.625}px;
22
+ border-radius: 50%;
23
+ z-index: 1;
24
+ `;
25
+ }), y = o.svg(() => `
26
+ position: absolute;
27
+ inset: 50%;
28
+ transform: translate(-50%, -50%) rotate(-90deg);
29
+ z-index: 2;
30
+ `), I = o.circle(
31
+ ({ theme: e, $progressCircle: t, $progress: n, $progressBackground: s }) => {
32
+ const { colors: r, layout: l } = e, { WHITE_1: h } = r, { gutter: a } = l, p = a * 21, u = t ? p - n : n;
33
+ return `
34
+ stroke-dasharray: ${p};
35
+ stroke-dashoffset: ${u};
36
+ stroke: ${t ? r[s || "BLACK"] : h};
37
+
38
+ stroke-width: ${a * 0.1875}px;
39
+ fill: none;
40
+ `;
41
+ }
42
+ ), b = o(i)(({ theme: e }) => `
43
+ position: absolute;
44
+ top: 50%;
45
+ left: ${e.layout.gutter * 13.75}px;
46
+ transform: translateY(-50%);
47
+ z-index: 1;
48
+ `), k = o(x)(({
49
+ theme: e,
50
+ $progress: t,
51
+ $top: n,
52
+ $left: s
53
+ }) => {
54
+ const { gutter: r } = e.layout;
55
+ return t ? `
56
+ width: ${r * 1.25}px;
57
+ height: ${r * 1.25}px;
58
+ position: absolute;
59
+ top: ${n ?? 0}px;
60
+ left: ${s ?? 0}px;
61
+ transform: translate(-50%, -50%);
62
+ z-index: 2;
63
+ ` : `
64
+ width: ${r * 0.75}px;
65
+ height: ${r * 0.75}px;
66
+ `;
67
+ }), w = o.div(({ theme: e }) => {
68
+ const { layout: t } = e;
69
+ return `
70
+ position: absolute;
71
+ top: 6px;
72
+ right: 8px;
73
+ z-index: 2;
74
+
75
+ width: ${t.gutter * 1.25}px;
76
+ height: ${t.gutter * 1.25}px;
77
+ border-radius: 50%;
78
+ `;
79
+ });
80
+ export {
81
+ f as BannerContainer,
82
+ $ as BannerImage,
83
+ m as BannerImageWrapper,
84
+ b as BannerTitleWrapper,
85
+ y as ChapterProgressSVG,
86
+ I as ChapterProgressSVGCircle,
87
+ w as StyledCheckIcon,
88
+ k as StyledImportantIcon
89
+ };
90
+ //# sourceMappingURL=chapter-banner-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chapter-banner-styled.js","sources":["../../../../../src/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport styled from 'styled-components';\n\nimport ImportantIcon from '../../../../assets/line-icons/icons/important';\nimport FlexView from '../../../ui/layout/flex-view';\n\nconst BannerContainer = styled(FlexView)(() => {\n return `\n position: relative;\n height: 168px;\n `;\n});\n\nconst BannerContainerBg = styled.div`\n width: 760px;\n height: 100%;\n position: relative;\n`;\n\nconst BannerImageWrapper = styled(FlexView)`\n position: absolute;\n left: 73px;\n top: 32px;\n`;\n\nconst BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n width: ${gutter * 6.625}px;\n height: ${gutter * 6.625}px;\n border-radius: 50%;\n z-index: 1;\n `;\n});\n\nconst ChapterProgressSVG = styled.svg(() => {\n return `\n position: absolute;\n inset: 50%;\n transform: translate(-50%, -50%) rotate(-90deg);\n z-index: 2;\n `;\n});\n\ninterface IChapterProgressSVGCircleProps {\n $progressCircle?: boolean;\n $progress: number;\n $progressBackground?: TColorNames;\n}\n\nconst ChapterProgressSVGCircle = styled.circle<IChapterProgressSVGCircleProps>(\n ({ theme, $progressCircle, $progress, $progressBackground }) => {\n const { colors, layout } = theme;\n const { WHITE_1 } = colors;\n const { gutter } = layout;\n\n const strokeDashArray = gutter * 21;\n const strokeDashOffset = $progressCircle ? strokeDashArray - $progress : $progress;\n\n return `\n stroke-dasharray: ${strokeDashArray};\n stroke-dashoffset: ${strokeDashOffset};\n stroke: ${$progressCircle ? colors[$progressBackground || 'BLACK'] : WHITE_1};\n\n stroke-width: ${gutter * 0.1875}px;\n fill: none;\n `;\n },\n);\n\nconst BannerTitleWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: absolute;\n top: 50%;\n left: ${theme.layout.gutter * 13.75}px;\n transform: translateY(-50%);\n z-index: 1;\n `;\n});\n\ninterface IStyledImportantIconProps {\n $left?: number;\n $top?: number;\n $progress?: boolean;\n}\n\nconst StyledImportantIcon = styled(ImportantIcon)<IStyledImportantIconProps>(({\n theme,\n $progress,\n $top,\n $left,\n}) => {\n const { gutter } = theme.layout;\n\n if ($progress) {\n return `\n width: ${gutter * 1.25}px;\n height: ${gutter * 1.25}px;\n position: absolute;\n top: ${$top ?? 0}px;\n left: ${$left ?? 0}px;\n transform: translate(-50%, -50%);\n z-index: 2;\n `;\n }\n\n return `\n width: ${gutter * 0.75}px;\n height: ${gutter * 0.75}px;\n `;\n});\n\nconst StyledCheckIcon = styled.div(({ theme }) => {\n const { layout } = theme;\n\n return `\n position: absolute;\n top: 6px;\n right: 8px;\n z-index: 2;\n\n width: ${layout.gutter * 1.25}px;\n height: ${layout.gutter * 1.25}px;\n border-radius: 50%;\n `;\n});\n\nexport {\n BannerContainer,\n BannerContainerBg,\n BannerImageWrapper,\n BannerImage,\n ChapterProgressSVG,\n ChapterProgressSVGCircle,\n BannerTitleWrapper,\n StyledImportantIcon,\n StyledCheckIcon,\n};\n"],"names":["BannerContainer","styled","FlexView","BannerImageWrapper","BannerImage","theme","gutter","ChapterProgressSVG","ChapterProgressSVGCircle","$progressCircle","$progress","$progressBackground","colors","layout","WHITE_1","strokeDashArray","strokeDashOffset","BannerTitleWrapper","StyledImportantIcon","ImportantIcon","$top","$left","StyledCheckIcon"],"mappings":";;;AAOA,MAAMA,IAAkBC,EAAOC,CAAQ,EAAE,MAChC;AAAA;AAAA;AAAA,GAIR;AAEyBD,EAAO;AAAA;AAAA;AAAA;AAAA;AAM3B,MAAAE,IAAqBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCE,IAAcH,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AACtC,QAAA,EAAE,QAAAC,EAAO,IAAID,EAAM;AAElB,SAAA;AAAA,aACIC,IAAS,KAAK;AAAA,cACbA,IAAS,KAAK;AAAA;AAAA;AAAA;AAI5B,CAAC,GAEKC,IAAqBN,EAAO,IAAI,MAC7B;AAAA;AAAA;AAAA;AAAA;AAAA,GAMR,GAQKO,IAA2BP,EAAO;AAAA,EACtC,CAAC,EAAE,OAAAI,GAAO,iBAAAI,GAAiB,WAAAC,GAAW,qBAAAC,QAA0B;AACxD,UAAA,EAAE,QAAAC,GAAQ,QAAAC,EAAW,IAAAR,GACrB,EAAE,SAAAS,EAAY,IAAAF,GACd,EAAE,QAAAN,EAAW,IAAAO,GAEbE,IAAkBT,IAAS,IAC3BU,IAAmBP,IAAkBM,IAAkBL,IAAYA;AAElE,WAAA;AAAA,0BACeK,CAAe;AAAA,2BACdC,CAAgB;AAAA,gBAC3BP,IAAkBG,EAAOD,KAAuB,OAAO,IAAIG,CAAO;AAAA;AAAA,sBAE5DR,IAAS,MAAM;AAAA;AAAA;AAAA,EAGnC;AACF,GAEMW,IAAqBhB,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAG,QACtC;AAAA;AAAA;AAAA,YAGGA,EAAM,OAAO,SAAS,KAAK;AAAA;AAAA;AAAA,GAItC,GAQKa,IAAsBjB,EAAOkB,CAAa,EAA6B,CAAC;AAAA,EAC5E,OAAAd;AAAA,EACA,WAAAK;AAAA,EACA,MAAAU;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAf,EAAO,IAAID,EAAM;AAEzB,SAAIK,IACK;AAAA,eACIJ,IAAS,IAAI;AAAA,gBACZA,IAAS,IAAI;AAAA;AAAA,aAEhBc,KAAQ,CAAC;AAAA,cACRC,KAAS,CAAC;AAAA;AAAA;AAAA,QAMf;AAAA,aACIf,IAAS,IAAI;AAAA,cACZA,IAAS,IAAI;AAAA;AAE3B,CAAC,GAEKgB,IAAkBrB,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AAC1C,QAAA,EAAE,QAAAQ,EAAW,IAAAR;AAEZ,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMIQ,EAAO,SAAS,IAAI;AAAA,cACnBA,EAAO,SAAS,IAAI;AAAA;AAAA;AAGlC,CAAC;"}
@@ -0,0 +1,97 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ import { memo as B, useMemo as d } from "react";
3
+ import { ILLUSTRATIONS as D } from "../../../../assets/illustrations/illustrations.js";
4
+ import g from "../../../../assets/line-icons/icons/check2.js";
5
+ import V from "../../../ui/image/image.js";
6
+ import n from "../../../ui/layout/flex-view.js";
7
+ import i from "../../../ui/text/text.js";
8
+ import C from "../../comps/tag/tag.js";
9
+ import { getChapterCompletionPercentage as W } from "../../utils/index.js";
10
+ import { BannerContainer as b, BannerImageWrapper as M, BannerImage as O, ChapterProgressSVG as X, ChapterProgressSVGCircle as $, StyledImportantIcon as f, StyledCheckIcon as j, BannerTitleWrapper as H } from "./chapter-banner-styled.js";
11
+ const a = 52, l = 54, c = 54, ee = B((I) => {
12
+ const { progressStats: o, imageHue: S, title: x, imageUrl: u } = I, r = d(() => W(o), [o]), { iconTopVal: R, iconLeftVal: E } = d(() => {
13
+ const h = (-(r === 100 ? 60 : r) * 3.6 - 180) * Math.PI / 180, P = c + a * Math.sin(h), A = l + a * Math.cos(h);
14
+ return {
15
+ iconLeftVal: P,
16
+ iconTopVal: A
17
+ };
18
+ }, [r]);
19
+ if (!o) return null;
20
+ const { mandatory: _, optional: w, class_work: T } = o, { completed: k = 0, total: s = 0 } = _ || {}, { completed: y = 0, total: p = 0 } = w || {}, { completed: G = 0, total: m = 0 } = T || {}, L = m > 0 && G === m;
21
+ return /* @__PURE__ */ e(
22
+ b,
23
+ {
24
+ $flexDirection: "row",
25
+ $justifyContent: "center",
26
+ $alignItems: "center",
27
+ $widthX: 50,
28
+ $background: `${S}_4`,
29
+ children: /* @__PURE__ */ t(n, { $height: 168, $position: "relative", children: [
30
+ /* @__PURE__ */ e(
31
+ V,
32
+ {
33
+ width: "100%",
34
+ height: "168px",
35
+ src: D.CHAPTER_HEADER_BG,
36
+ alt: "Chapter header background",
37
+ withLoader: !0
38
+ }
39
+ ),
40
+ /* @__PURE__ */ t(M, { children: [
41
+ /* @__PURE__ */ e(O, { src: u, alt: "Chapter image" }),
42
+ /* @__PURE__ */ t(X, { width: "108px", height: "108px", children: [
43
+ /* @__PURE__ */ e(
44
+ $,
45
+ {
46
+ $progress: 0,
47
+ r: a,
48
+ cx: l,
49
+ cy: c
50
+ }
51
+ ),
52
+ /* @__PURE__ */ e(
53
+ $,
54
+ {
55
+ $progressCircle: !0,
56
+ $progressBackground: "BLACK",
57
+ $progress: 3.3 * r,
58
+ r: a,
59
+ cx: l,
60
+ cy: c
61
+ }
62
+ )
63
+ ] }),
64
+ r > 0 && /* @__PURE__ */ e(f, { $progress: !0, $top: R, $left: E }),
65
+ r === 100 && /* @__PURE__ */ e(j, { children: /* @__PURE__ */ e(C, { Icon: g }) })
66
+ ] }),
67
+ /* @__PURE__ */ t(H, { $flexGap: 4, children: [
68
+ /* @__PURE__ */ e(i, { $renderAs: "ah4-bold", children: x }),
69
+ /* @__PURE__ */ t(n, { $flexDirection: "row", $alignItems: "center", $flexGapX: 2.75, children: [
70
+ !!s && /* @__PURE__ */ t(n, { $position: "relative", $flexDirection: "row", children: [
71
+ /* @__PURE__ */ e(f, {}),
72
+ /* @__PURE__ */ t(n, { $flexDirection: "row", $alignItems: "center", $flexGap: 4, children: [
73
+ /* @__PURE__ */ t(i, { $renderAs: "ab2", children: [
74
+ "Core - ",
75
+ k,
76
+ "/",
77
+ s
78
+ ] }),
79
+ L && /* @__PURE__ */ e(C, { Icon: g, label: "CW" })
80
+ ] })
81
+ ] }),
82
+ p > 0 && /* @__PURE__ */ t(i, { $renderAs: "ab2", children: [
83
+ "Supplementary - ",
84
+ y,
85
+ "/",
86
+ p
87
+ ] })
88
+ ] })
89
+ ] })
90
+ ] })
91
+ }
92
+ );
93
+ });
94
+ export {
95
+ ee as default
96
+ };
97
+ //# sourceMappingURL=chapter-banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chapter-banner.js","sources":["../../../../../src/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.tsx"],"sourcesContent":["import type { IChapterBannerProps } from './chapter-banner-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport Tag from '../../comps/tag/tag';\nimport { getChapterCompletionPercentage } from '../../utils';\nimport * as Styled from './chapter-banner-styled';\n\nconst PROGRESS_CIRCLE_RADIUS = 52;\nconst PROGRESS_CIRCLE_CENTER_X = 54;\nconst PROGRESS_CIRCLE_CENTER_Y = 54;\n\n// This component renders a banner for a chapter, displaying its title, progress, and associated tags.\n// It includes an image, progress visualization, and details about the chapter's core and supplementary sheets.\n// It calculates the completion percentage and dynamically positions an icon based on progress.\nconst ChapterBanner: FC<IChapterBannerProps> = memo(props => {\n const { progressStats, imageHue, title, imageUrl } = props;\n\n const completionPercentage = useMemo(() => {\n return getChapterCompletionPercentage(progressStats);\n }, [progressStats]);\n\n const { iconTopVal, iconLeftVal } = useMemo(() => {\n //* Calculate the position of the important icon based on the completion percentage\n //* Convert degrees to radians\n const angleInDegree = completionPercentage === 100 ? 60 : completionPercentage;\n\n const angleInRadian = ((-angleInDegree * 3.6 - 180) * Math.PI) / 180;\n const positionX = PROGRESS_CIRCLE_CENTER_Y + PROGRESS_CIRCLE_RADIUS * Math.sin(angleInRadian);\n const positionY = PROGRESS_CIRCLE_CENTER_X + PROGRESS_CIRCLE_RADIUS * Math.cos(angleInRadian);\n\n return {\n iconLeftVal: positionX,\n iconTopVal: positionY,\n };\n }, [completionPercentage]);\n\n if (!progressStats) return null;\n\n const { mandatory, optional, class_work: classWork } = progressStats;\n const { completed: completedMandatorySheets = 0, total: totalMandatorySheets = 0 } =\n mandatory || {};\n const { completed: completedOptionalSheets = 0, total: totalOptionalSheets = 0 } = optional || {};\n const { completed: completedClassWorkSheets = 0, total: totalClassWorkSheets = 0 } =\n classWork || {};\n const showClassWorkTag =\n totalClassWorkSheets > 0 && completedClassWorkSheets === totalClassWorkSheets;\n\n return (\n <Styled.BannerContainer\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $widthX={50}\n $background={`${imageHue}_4`}\n >\n <FlexView $height={168} $position=\"relative\">\n <Image\n width=\"100%\"\n height=\"168px\"\n src={ILLUSTRATIONS.CHAPTER_HEADER_BG}\n alt=\"Chapter header background\"\n withLoader\n />\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n <Styled.ChapterProgressSVG width=\"108px\" height=\"108px\">\n <Styled.ChapterProgressSVGCircle\n $progress={0}\n r={PROGRESS_CIRCLE_RADIUS}\n cx={PROGRESS_CIRCLE_CENTER_X}\n cy={PROGRESS_CIRCLE_CENTER_Y}\n />\n <Styled.ChapterProgressSVGCircle\n $progressCircle\n $progressBackground={'BLACK'}\n $progress={3.3 * completionPercentage}\n r={PROGRESS_CIRCLE_RADIUS}\n cx={PROGRESS_CIRCLE_CENTER_X}\n cy={PROGRESS_CIRCLE_CENTER_Y}\n />\n </Styled.ChapterProgressSVG>\n\n {completionPercentage > 0 && (\n <Styled.StyledImportantIcon $progress $top={iconTopVal} $left={iconLeftVal} />\n )}\n\n {completionPercentage === 100 && (\n <Styled.StyledCheckIcon>\n <Tag Icon={Check2Icon} />\n </Styled.StyledCheckIcon>\n )}\n </Styled.BannerImageWrapper>\n <Styled.BannerTitleWrapper $flexGap={4}>\n <Text $renderAs=\"ah4-bold\">{title}</Text>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={2.75}>\n {!!totalMandatorySheets && (\n <FlexView $position=\"relative\" $flexDirection=\"row\">\n <Styled.StyledImportantIcon />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={4}>\n <Text $renderAs=\"ab2\">\n Core - {completedMandatorySheets}/{totalMandatorySheets}\n </Text>\n {showClassWorkTag && <Tag Icon={Check2Icon} label=\"CW\" />}\n </FlexView>\n </FlexView>\n )}\n {totalOptionalSheets > 0 && (\n <Text $renderAs=\"ab2\">\n Supplementary - {completedOptionalSheets}/{totalOptionalSheets}\n </Text>\n )}\n </FlexView>\n </Styled.BannerTitleWrapper>\n </FlexView>\n </Styled.BannerContainer>\n );\n});\n\nexport default ChapterBanner;\n"],"names":["PROGRESS_CIRCLE_RADIUS","PROGRESS_CIRCLE_CENTER_X","PROGRESS_CIRCLE_CENTER_Y","ChapterBanner","memo","props","progressStats","imageHue","title","imageUrl","completionPercentage","useMemo","getChapterCompletionPercentage","iconTopVal","iconLeftVal","angleInRadian","positionX","positionY","mandatory","optional","classWork","completedMandatorySheets","totalMandatorySheets","completedOptionalSheets","totalOptionalSheets","completedClassWorkSheets","totalClassWorkSheets","showClassWorkTag","jsx","Styled.BannerContainer","jsxs","FlexView","Image","ILLUSTRATIONS","Styled.BannerImageWrapper","Styled.BannerImage","Styled.ChapterProgressSVG","Styled.ChapterProgressSVGCircle","Styled.StyledImportantIcon","Styled.StyledCheckIcon","Tag","Check2Icon","Styled.BannerTitleWrapper","Text"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import o from "styled-components";
2
+ import r from "../../ui/layout/flex-view.js";
3
+ const a = o.div(({ theme: t }) => `
4
+ height: 100%;
5
+ position: absolute;
6
+ left: 0;
7
+ right: 0;
8
+ top: 0;
9
+ bottom: 0;
10
+ background: rgba(204, 204, 204, 0.25);
11
+ z-index: 2;
12
+
13
+ & * {
14
+ pointer-events: none;
15
+ }
16
+
17
+ & img {
18
+ top: 50%;
19
+ position: absolute;
20
+ left: 50%;
21
+ transform: translate(-50%, -50%);
22
+ width: ${t.layout.gutter * 5}px;
23
+ height: ${t.layout.gutter * 5}px;
24
+ filter: brightness(0);
25
+ }
26
+ `), p = o(r)(
27
+ ({ $disablePointerEvents: t, theme: e }) => `
28
+ position: relative;
29
+ margin: 0 auto;
30
+ pointer-events: ${t ? "none" : "auto"};
31
+ border: 1px solid ${e.colors.WHITE_5};
32
+ border-top: none;
33
+ padding-bottom: ${e.layout.gutter * 4}px;
34
+ `
35
+ ), s = o(r)`
36
+ position: absolute;
37
+ top: 0;
38
+ left: 0;
39
+ z-index: 6;
40
+ `, u = o(r)(({ theme: t }) => `
41
+ position: sticky;
42
+ top: ${t.layout.gutter}px;
43
+ transform: translateX(${t.layout.gutter}px);
44
+ z-index: 6;
45
+ `);
46
+ export {
47
+ s as BackButtonContainer,
48
+ u as BackButtonWrapper,
49
+ p as ContentWrapper,
50
+ a as LoaderWrapper
51
+ };
52
+ //# sourceMappingURL=chapter-details-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chapter-details-styled.js","sources":["../../../../src/features/chapters-v2/chapter-details/chapter-details-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\nconst LoaderWrapper = styled.div(({ theme }) => {\n return `\n height: 100%;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(204, 204, 204, 0.25);\n z-index: 2;\n\n & * {\n pointer-events: none;\n }\n\n & img {\n top: 50%;\n position: absolute;\n left: 50%;\n transform: translate(-50%, -50%);\n width: ${theme.layout.gutter * 5}px;\n height: ${theme.layout.gutter * 5}px;\n filter: brightness(0);\n }\n `;\n});\n\nconst ContentWrapper = styled(FlexView)<{ $disablePointerEvents: boolean }>(\n ({ $disablePointerEvents, theme }) => `\n position: relative;\n margin: 0 auto;\n pointer-events: ${$disablePointerEvents ? 'none' : 'auto'};\n border: 1px solid ${theme.colors.WHITE_5};\n border-top: none;\n padding-bottom: ${theme.layout.gutter * 4}px;\n `,\n);\n\nconst BackButtonContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n z-index: 6;\n`;\n\nconst BackButtonWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: sticky;\n top: ${theme.layout.gutter}px;\n transform: translateX(${theme.layout.gutter}px);\n z-index: 6;\n `;\n});\n\nexport { ContentWrapper, LoaderWrapper, BackButtonContainer, BackButtonWrapper };\n"],"names":["LoaderWrapper","styled","theme","ContentWrapper","FlexView","$disablePointerEvents","BackButtonContainer","BackButtonWrapper"],"mappings":";;AAIA,MAAMA,IAAgBC,EAAO,IAAI,CAAC,EAAE,OAAAC,QAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAmBMA,EAAM,OAAO,SAAS,CAAC;AAAA,gBACtBA,EAAM,OAAO,SAAS,CAAC;AAAA;AAAA;AAAA,GAItC,GAEKC,IAAiBF,EAAOG,CAAQ;AAAA,EACpC,CAAC,EAAE,uBAAAC,GAAuB,OAAAH,EAAA,MAAY;AAAA;AAAA;AAAA,wBAGhBG,IAAwB,SAAS,MAAM;AAAA,0BACrCH,EAAM,OAAO,OAAO;AAAA;AAAA,wBAEtBA,EAAM,OAAO,SAAS,CAAC;AAAA;AAE/C,GAEMI,IAAsBL,EAAOG,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAOrCG,IAAoBN,EAAOG,CAAQ,EAAE,CAAC,EAAE,OAAAF,QACrC;AAAA;AAAA,WAEEA,EAAM,OAAO,MAAM;AAAA,4BACFA,EAAM,OAAO,MAAM;AAAA;AAAA,GAG9C;"}