@cuemath/leap 2.8.60-aa3 → 2.8.60-ag1

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 (227) 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/dart.js +23 -0
  8. package/dist/assets/line-icons/icons/dart.js.map +1 -0
  9. package/dist/assets/line-icons/icons/exclamation.js +26 -0
  10. package/dist/assets/line-icons/icons/exclamation.js.map +1 -0
  11. package/dist/assets/line-icons/icons/home2.js +25 -0
  12. package/dist/assets/line-icons/icons/home2.js.map +1 -0
  13. package/dist/assets/line-icons/icons/important.js +23 -0
  14. package/dist/assets/line-icons/icons/important.js.map +1 -0
  15. package/dist/assets/line-icons/icons/puzzle.js +25 -0
  16. package/dist/assets/line-icons/icons/puzzle.js.map +1 -0
  17. package/dist/assets/line-icons/icons/recap.js +32 -0
  18. package/dist/assets/line-icons/icons/recap.js.map +1 -0
  19. package/dist/assets/line-icons/icons/skip-colored.js +43 -0
  20. package/dist/assets/line-icons/icons/skip-colored.js.map +1 -0
  21. package/dist/assets/line-icons/icons/status.js +41 -0
  22. package/dist/assets/line-icons/icons/status.js.map +1 -0
  23. package/dist/assets/line-icons/icons/testtube.js +33 -0
  24. package/dist/assets/line-icons/icons/testtube.js.map +1 -0
  25. package/dist/constants/api.js +3 -2
  26. package/dist/constants/api.js.map +1 -1
  27. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +98 -33
  28. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  29. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +76 -47
  30. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  31. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  32. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  33. package/dist/features/chapters/chapters-list/chapters-list.js +65 -70
  34. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  35. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js +18 -18
  36. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
  37. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +10 -10
  38. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.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 +69 -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 +164 -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 +184 -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 +15 -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 +105 -0
  82. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -0
  83. package/dist/features/cue-canvas/cue-canvas-provider.js +8 -9
  84. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  85. package/dist/features/homework/card-menu-options.js +23 -0
  86. package/dist/features/homework/card-menu-options.js.map +1 -0
  87. package/dist/features/homework/homework-card.js +209 -0
  88. package/dist/features/homework/homework-card.js.map +1 -0
  89. package/dist/features/homework/styles.js +114 -0
  90. package/dist/features/homework/styles.js.map +1 -0
  91. package/dist/features/milestone/create/api/goal-submit.js +1 -1
  92. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  93. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +12 -4
  94. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  95. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +128 -105
  96. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  97. package/dist/features/milestone/create/milestone-create.js +49 -43
  98. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  99. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
  100. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  101. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js +1 -1
  102. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js.map +1 -1
  103. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +51 -53
  104. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  105. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +42 -40
  106. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  107. package/dist/features/milestone/edit/goal-edit-container.js +64 -62
  108. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  109. package/dist/features/milestone/edit/milestone-edit-container.js +54 -52
  110. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  111. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  112. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +9 -17
  113. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  114. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  115. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +136 -104
  116. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  117. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +107 -123
  118. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  119. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +157 -176
  120. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  121. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +24 -10
  122. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  123. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +76 -83
  124. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  125. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +10 -22
  126. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  127. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +70 -37
  128. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  129. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +114 -176
  130. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  131. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +29 -16
  132. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  133. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +19 -23
  134. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  135. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +23 -35
  136. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  137. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +96 -100
  138. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  139. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  140. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  141. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +114 -112
  142. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  143. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +165 -0
  144. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -0
  145. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +25 -0
  146. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -0
  147. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +82 -0
  148. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -0
  149. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +16 -18
  150. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  151. package/dist/features/recent-chapters/api/get-recent-chapters.js +9 -0
  152. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -0
  153. package/dist/features/recent-chapters/recent-chapters-styled.js +16 -0
  154. package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -0
  155. package/dist/features/recent-chapters/recent-chapters.js +40 -0
  156. package/dist/features/recent-chapters/recent-chapters.js.map +1 -0
  157. package/dist/features/sheet-v2/resource-list/resource-list.js +49 -0
  158. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -0
  159. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js +41 -41
  160. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
  161. package/dist/features/sheets/resources-list/resource-item/resource-item.js +20 -20
  162. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  163. package/dist/features/sheets/resources-list/resource-item/styled.js +1 -1
  164. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  165. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js +33 -33
  166. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
  167. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +4 -3
  168. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  169. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js +30 -30
  170. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  171. package/dist/features/sheets/utils/is-v3-worksheet.js +14 -9
  172. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  173. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +30 -29
  174. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  175. package/dist/features/ui/constants/z-index.js +1 -1
  176. package/dist/features/ui/constants/z-index.js.map +1 -1
  177. package/dist/features/ui/context-menu/context-menu-styled.js +28 -14
  178. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  179. package/dist/features/ui/context-menu/context-menu.js +30 -15
  180. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  181. package/dist/features/ui/theme/button.js +22 -107
  182. package/dist/features/ui/theme/button.js.map +1 -1
  183. package/dist/index.d.ts +223 -27
  184. package/dist/index.js +489 -470
  185. package/dist/index.js.map +1 -1
  186. package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
  187. package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
  188. package/dist/static/node-learn-bg.b61f815c.svg +1 -0
  189. package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
  190. package/dist/static/node-project-bg.e6a33e28.svg +1 -0
  191. package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
  192. package/dist/static/node-recap-bg.546154e4.svg +1 -0
  193. package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
  194. package/dist/static/node-video-bg.3df3f73a.svg +1 -0
  195. package/package.json +2 -4
  196. package/dist/assets/line-icons/icons/closed-eye.js +0 -23
  197. package/dist/assets/line-icons/icons/closed-eye.js.map +0 -1
  198. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +0 -92
  199. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +0 -1
  200. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +0 -25
  201. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +0 -1
  202. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +0 -13
  203. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +0 -1
  204. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +0 -38
  205. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +0 -1
  206. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +0 -53
  207. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +0 -1
  208. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +0 -25
  209. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +0 -1
  210. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +0 -71
  211. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +0 -1
  212. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +0 -31
  213. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +0 -1
  214. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +0 -38
  215. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +0 -1
  216. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +0 -79
  217. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +0 -1
  218. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +0 -18
  219. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +0 -1
  220. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js +0 -51
  221. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +0 -1
  222. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js +0 -11
  223. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js.map +0 -1
  224. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +0 -135
  225. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +0 -1
  226. package/dist/library/polypad.js +0 -24965
  227. package/dist/library/polypad.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { h as c } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
+ import { memo as p } from "react";
4
+ import u from "styled-components";
5
+ import l from "../../homework/homework-card.js";
6
+ import f from "../../ui/layout/flex-view.js";
7
+ const E = u.div`
8
+ display: grid;
9
+ grid-template-columns: repeat(3, 200px);
10
+ grid-gap: 32px;
11
+ justify-content: center;
12
+ padding: 32px 0;
13
+ `, _ = (r) => {
14
+ const {
15
+ sheet_time: t,
16
+ node_type: o,
17
+ total_questions: e
18
+ } = r || {};
19
+ switch (o) {
20
+ case "ASSESSMENT":
21
+ case "MASTERY":
22
+ case "DYNAMIC":
23
+ return `${typeof e == "number" ? `${e} ${c.pluralize(e, "Question")}, ${t ? `${t / 60} min` : ""}` : ""}`;
24
+ case "PUZZLE_EASY":
25
+ case "PUZZLE_HARD":
26
+ case "PUZZLE_MEDIUM":
27
+ case "PUZZLE":
28
+ return "";
29
+ default:
30
+ return "";
31
+ }
32
+ }, $ = ({ sheets: r, userType: t, ...o }) => /* @__PURE__ */ s(f, { children: /* @__PURE__ */ s(E, { children: r.map((e, i) => {
33
+ const { title: n, node_id: a, worksheet_id: d } = e, m = _(e);
34
+ return /* @__PURE__ */ s(
35
+ l,
36
+ {
37
+ header: n,
38
+ subHeader: m,
39
+ userType: t,
40
+ nodeData: e,
41
+ ...o
42
+ },
43
+ `${d}_${a}_${i}`
44
+ );
45
+ }) }) }), y = p($);
46
+ export {
47
+ y as default
48
+ };
49
+ //# sourceMappingURL=resource-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-list.js","sources":["../../../../src/features/sheet-v2/resource-list/resource-list.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { IResourcesListProps } from './types';\nimport type { FC } from 'react';\n\nimport { pluralize } from 'humanize-plus';\nimport { memo } from 'react';\nimport styled from 'styled-components';\n\nimport HomeworkCard from '../../homework/homework-card';\nimport FlexView from '../../ui/layout/flex-view';\n\nconst ResourceItemListWrapper = styled.div`\n display: grid;\n grid-template-columns: repeat(3, 200px);\n grid-gap: 32px;\n justify-content: center;\n padding: 32px 0;\n`;\n\nconst getSubHeader = (sheet: INodeDataProps) => {\n const {\n sheet_time: sheetTime,\n node_type: nodeType,\n total_questions: totalQuestions,\n } = sheet || {};\n\n switch (nodeType) {\n case 'ASSESSMENT':\n case 'MASTERY':\n case 'DYNAMIC':\n return `${\n typeof totalQuestions === 'number'\n ? `${totalQuestions} ${pluralize(totalQuestions, 'Question')}, ${\n sheetTime ? `${sheetTime / 60} min` : ''\n }`\n : ''\n }`;\n case 'PUZZLE_EASY':\n case 'PUZZLE_HARD':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE':\n return '';\n default:\n return '';\n }\n};\n\nconst ResourcesList: FC<IResourcesListProps> = ({ sheets, userType, ...sheetCallBacks }) => (\n <FlexView>\n <ResourceItemListWrapper>\n {sheets.map((sheet, idx) => {\n const { title, node_id: nodeId, worksheet_id: worksheetId } = sheet;\n const subHeader = getSubHeader(sheet);\n\n return (\n <HomeworkCard\n key={`${worksheetId}_${nodeId}_${idx}`}\n header={title}\n subHeader={subHeader}\n userType={userType}\n nodeData={sheet}\n {...sheetCallBacks}\n />\n );\n })}\n </ResourceItemListWrapper>\n </FlexView>\n);\n\nexport default memo(ResourcesList);\n"],"names":["ResourceItemListWrapper","styled","getSubHeader","sheet","sheetTime","nodeType","totalQuestions","pluralize","ResourcesList","sheets","userType","sheetCallBacks","jsx","FlexView","idx","title","nodeId","worksheetId","subHeader","HomeworkCard","ResourcesList$1","memo"],"mappings":";;;;;;AAWA,MAAMA,IAA0BC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQjCC,IAAe,CAACC,MAA0B;AACxC,QAAA;AAAA,IACJ,YAAYC;AAAA,IACZ,WAAWC;AAAA,IACX,iBAAiBC;AAAA,EAAA,IACfH,KAAS,CAAA;AAEb,UAAQE,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,GACL,OAAOC,KAAmB,WACtB,GAAGA,CAAc,IAAIC,YAAUD,GAAgB,UAAU,CAAC,KACxDF,IAAY,GAAGA,IAAY,EAAE,SAAS,EACxC,KACA,EACN;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,IACT;AACS,aAAA;AAAA,EACX;AACF,GAEMI,IAAyC,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,GAAGC,EAAe,MACnF,gBAAAC,EAAAC,GAAA,EACC,4BAACb,GACE,EAAA,UAAAS,EAAO,IAAI,CAACN,GAAOW,MAAQ;AAC1B,QAAM,EAAE,OAAAC,GAAO,SAASC,GAAQ,cAAcC,EAAgB,IAAAd,GACxDe,IAAYhB,EAAaC,CAAK;AAGlC,SAAA,gBAAAS;AAAA,IAACO;AAAA,IAAA;AAAA,MAEC,QAAQJ;AAAA,MACR,WAAAG;AAAA,MACA,UAAAR;AAAA,MACA,UAAUP;AAAA,MACT,GAAGQ;AAAA,IAAA;AAAA,IALC,GAAGM,CAAW,IAAID,CAAM,IAAIF,CAAG;AAAA,EAAA;AAQ1C,CAAC,GACH,EACF,CAAA,GAGaM,IAAAC,EAAKb,CAAa;"}
@@ -1,20 +1,20 @@
1
- import { jsx as f } from "react/jsx-runtime";
1
+ import { jsx as p } from "react/jsx-runtime";
2
2
  import { memo as O, useMemo as $, useCallback as M, Fragment as V } from "react";
3
3
  import B from "../../../../assets/line-icons/icons/bulb2.js";
4
4
  import F from "../../../../assets/line-icons/icons/practice.js";
5
- import { IS_CHAPTER_COMPLETED_STATES as I } from "../../../milestone/create/milestone-create-constants.js";
5
+ import { IS_CHAPTER_COMPLETED_STATES as b } from "../../../milestone/create/milestone-create-constants.js";
6
6
  import H from "../../../ui/arrow-tooltip/arrow-tooltip.js";
7
7
  import j from "../../../ui/layout/flex-view.js";
8
8
  import K from "../../comps/sheet-button/index.js";
9
9
  import { NODE_TYPE as U, SHEET_STATE as W } from "../../constants/sheet.js";
10
10
  import { isV3Worksheet as i } from "../../utils/is-v3-worksheet.js";
11
- const { TARGET_PRACTICE: b, PRACTICE: y, LEARNING: X } = U, { COMPLETED: v, IN_PROGRESS: Y } = W, q = (n, o, a) => {
12
- if (n === v || I.some((p) => p === n))
11
+ const { TARGET_PRACTICE: v, PRACTICE: y, LEARNING: X } = U, { COMPLETED: P, IN_PROGRESS: Y } = W, q = (n, o, a) => {
12
+ if (n === P || b.some((d) => d === n))
13
13
  return {
14
14
  state: "completed",
15
15
  renderAs: "secondary_black"
16
16
  };
17
- if ((o === y || o === b) && a === "PENDING_TARGET_PRACTICE")
17
+ if ((o === y || o === v) && a === "PENDING_TARGET_PRACTICE")
18
18
  return {
19
19
  state: "overdue",
20
20
  renderAs: "tertiary"
@@ -25,80 +25,80 @@ const { TARGET_PRACTICE: b, PRACTICE: y, LEARNING: X } = U, { COMPLETED: v, IN_P
25
25
  renderAs: "primary"
26
26
  };
27
27
  }, me = O(
28
- ({ sheetsListData: n, userType: o, isLessonDisabled: a, ...S }) => {
29
- const { lessonTagType: p, onStart: d, onResume: u, onReattempt: l, onReview: _, onPreview: E } = S, r = $(() => o === "STUDENT", [o]), P = M(
30
- (s) => {
31
- const { permissions: h, node_id: t, user_node_id: e } = s, {
28
+ ({ sheetsListData: n, userType: o, isLessonDisabled: a, ...h }) => {
29
+ const { lessonTagType: d, onStart: u, onResume: f, onReattempt: l, onReview: _, onPreview: w } = h, s = $(() => o === "STUDENT", [o]), I = M(
30
+ (e) => {
31
+ const { permissions: E, node_id: r, user_node_id: t } = e, {
32
32
  can_start: c,
33
33
  can_resume: m,
34
- can_reattempt: w,
35
- can_review: C,
36
- can_teacher_review: R
37
- } = h, T = r ? C : R;
38
- if (r) {
34
+ can_reattempt: C,
35
+ can_review: R,
36
+ can_teacher_review: T
37
+ } = E, S = s ? R : T;
38
+ if (s) {
39
39
  if (c || m) {
40
- if (c && typeof d == "function") {
41
- d(t, i(), e);
40
+ if (c && typeof u == "function") {
41
+ u(r, i(e), t);
42
42
  return;
43
43
  }
44
- if (m && typeof u == "function") {
45
- u(t, i(), e);
44
+ if (m && typeof f == "function") {
45
+ f(r, i(e), t);
46
46
  return;
47
47
  }
48
48
  throw new Error("No callback is available");
49
- } else if (w) {
49
+ } else if (C) {
50
50
  if (typeof l != "function")
51
51
  throw new Error("canReattempt must be a function");
52
- l(t, i(), e);
52
+ l(r, i(e), t);
53
53
  return;
54
54
  }
55
55
  }
56
- if (T) {
56
+ if (S) {
57
57
  if (typeof _ != "function")
58
58
  throw new Error("onReview must be a function");
59
- if (!e)
59
+ if (!t)
60
60
  throw new Error("user node id must be present to review the sheet");
61
- _(e, i());
61
+ _(t, i(e, "review"));
62
62
  return;
63
63
  }
64
- if (typeof E != "function")
64
+ if (typeof w != "function")
65
65
  throw new Error("onPreview must be a function");
66
- E(s, i());
66
+ w(e, i(e));
67
67
  },
68
- [r, _, d, E, l, u]
68
+ [s, _, u, w, l, f]
69
69
  );
70
- return /* @__PURE__ */ f(j, { $flexDirection: "row", $flexGapX: 1, $alignItems: "center", children: n.map((s, h) => {
70
+ return /* @__PURE__ */ p(j, { $flexDirection: "row", $flexGapX: 1, $alignItems: "center", children: n.map((e, E) => {
71
71
  const {
72
- node_type: t,
73
- state: e,
72
+ node_type: r,
73
+ state: t,
74
74
  permissions: c,
75
75
  sheet_statement: m
76
- } = s, {
77
- can_start: w,
78
- can_resume: C,
79
- can_reattempt: R,
80
- can_review: T
81
- } = c, A = t === b ? y : t, N = t === X, D = e === "LOCKED", g = q(e, t, p), { state: k, renderAs: L } = g || {}, x = !(e === v || I.some((G) => G === e)) && !(w || C || T || R);
82
- return /* @__PURE__ */ f(V, { children: /* @__PURE__ */ f(
76
+ } = e, {
77
+ can_start: C,
78
+ can_resume: R,
79
+ can_reattempt: T,
80
+ can_review: S
81
+ } = c, A = r === v ? y : r, N = r === X, D = t === "LOCKED", g = q(t, r, d), { state: k, renderAs: L } = g || {}, x = !(t === P || b.some((G) => G === t)) && !(C || R || S || T);
82
+ return /* @__PURE__ */ p(V, { children: /* @__PURE__ */ p(
83
83
  H,
84
84
  {
85
85
  renderAs: "secondary",
86
86
  position: "bottom",
87
87
  tooltipItem: m,
88
88
  textVariant: "ab3",
89
- children: /* @__PURE__ */ f(
89
+ children: /* @__PURE__ */ p(
90
90
  K,
91
91
  {
92
- renderAs: L ?? (a || !r && D ? "secondary_grey" : "primary"),
92
+ renderAs: L ?? (a || !s && D ? "secondary_grey" : "primary"),
93
93
  label: A,
94
94
  Icon: N ? B : F,
95
- onClick: () => P(s),
96
- disabled: r && (a || x),
95
+ onClick: () => I(e),
96
+ disabled: s && (a || x),
97
97
  state: k
98
98
  }
99
99
  )
100
100
  }
101
- ) }, `${A}__lesson_button__${h}`);
101
+ ) }, `${A}__lesson_button__${E}`);
102
102
  }) });
103
103
  }
104
104
  );
@@ -1 +1 @@
1
- {"version":3,"file":"lesson-item-cta-info.js","sources":["../../../../../src/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.tsx"],"sourcesContent":["import type { TSheetButtonVariant } from '../../comps/sheet-button/types';\nimport type { ISheetDataProps } from '../../sheets-list/sheet-item/sheet-item-types';\nimport type { IGetLessonCtaInfo, ILessonItemCtaInfoProps } from './lesson-item-types';\nimport type { FC } from 'react';\n\nimport { Fragment, memo, useCallback, useMemo } from 'react';\n\nimport Bulb2Icon from '../../../../assets/line-icons/icons/bulb2';\nimport PracticeIcon from '../../../../assets/line-icons/icons/practice';\nimport { IS_CHAPTER_COMPLETED_STATES } from '../../../milestone/create/milestone-create-constants';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../ui/layout/flex-view';\nimport SheetButton from '../../comps/sheet-button';\nimport { NODE_TYPE, SHEET_STATE } from '../../constants/sheet';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\n\nconst { TARGET_PRACTICE, PRACTICE, LEARNING } = NODE_TYPE;\nconst { COMPLETED, IN_PROGRESS } = SHEET_STATE;\n\nconst getLessonCtaInfo: IGetLessonCtaInfo = (state, nodeType, lessonTagType) => {\n const isSheetCompleted =\n state === COMPLETED || IS_CHAPTER_COMPLETED_STATES.some(sheetState => sheetState === state);\n\n if (isSheetCompleted) {\n return {\n state: 'completed',\n renderAs: 'secondary_black',\n };\n }\n\n if (\n (nodeType === PRACTICE || nodeType === TARGET_PRACTICE) &&\n lessonTagType === 'PENDING_TARGET_PRACTICE'\n ) {\n return {\n state: 'overdue',\n renderAs: 'tertiary',\n };\n }\n\n if (state === IN_PROGRESS) {\n return {\n state: 'in_progress',\n renderAs: 'primary',\n };\n }\n\n return undefined;\n};\n\nconst LessonItemCtaInfo: FC<ILessonItemCtaInfoProps> = memo(\n ({ sheetsListData, userType, isLessonDisabled, ...restLessonItemCtaInfoProps }) => {\n const { lessonTagType, onStart, onResume, onReattempt, onReview, onPreview } =\n restLessonItemCtaInfoProps;\n\n const isStudent = useMemo(() => userType === 'STUDENT', [userType]);\n\n const handleOnClick = useCallback(\n (sheetInfo: ISheetDataProps) => {\n const { permissions, node_id: nodeId, user_node_id: userNodeId } = sheetInfo;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_reattempt: canReattempt,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n } = permissions;\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n if (isStudent) {\n //* Student actions\n\n if (canStart || canResume) {\n if (canStart && typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheetInfo), userNodeId);\n\n return;\n }\n\n if (canResume && typeof onResume === 'function') {\n onResume(nodeId, isV3Worksheet(sheetInfo), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n } else if (canReattempt) {\n if (typeof onReattempt !== 'function') {\n throw new Error('canReattempt must be a function');\n }\n\n onReattempt(nodeId, isV3Worksheet(sheetInfo), userNodeId);\n\n return;\n }\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheetInfo, 'review'));\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheetInfo, isV3Worksheet(sheetInfo));\n\n return;\n },\n [isStudent, onReview, onStart, onPreview, onReattempt, onResume],\n );\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1} $alignItems=\"center\">\n {sheetsListData.map((sheet, idx) => {\n const {\n node_type: nodeType,\n state,\n permissions,\n sheet_statement: sheetStatement,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_reattempt: canReattempt,\n can_review: canReview,\n } = permissions;\n const sheetType = nodeType === TARGET_PRACTICE ? PRACTICE : nodeType;\n const isLearningNodeType = nodeType === LEARNING;\n const isSheetLocked = state === 'LOCKED';\n\n const lessonCtaInfo = getLessonCtaInfo(state, nodeType, lessonTagType);\n const { state: lessonCtaState, renderAs } = lessonCtaInfo || {};\n\n const isSheetCompleted =\n state === COMPLETED ||\n IS_CHAPTER_COMPLETED_STATES.some(sheetState => sheetState === state);\n const sheetPermissionDisability =\n !isSheetCompleted && !(canStart || canResume || canReview || canReattempt);\n const disableCta = isStudent && (isLessonDisabled || sheetPermissionDisability);\n const sheetCtaDefaultRenderAs: TSheetButtonVariant =\n isLessonDisabled || (!isStudent && isSheetLocked) ? 'secondary_grey' : 'primary';\n\n return (\n <Fragment key={`${sheetType}__lesson_button__${idx}`}>\n <ArrowTooltip\n renderAs=\"secondary\"\n position=\"bottom\"\n tooltipItem={sheetStatement}\n textVariant=\"ab3\"\n >\n <SheetButton\n renderAs={renderAs ?? sheetCtaDefaultRenderAs}\n label={sheetType}\n Icon={isLearningNodeType ? Bulb2Icon : PracticeIcon}\n onClick={() => handleOnClick(sheet)}\n disabled={disableCta}\n state={lessonCtaState}\n />\n </ArrowTooltip>\n </Fragment>\n );\n })}\n </FlexView>\n );\n },\n);\n\nexport default LessonItemCtaInfo;\n"],"names":["TARGET_PRACTICE","PRACTICE","LEARNING","NODE_TYPE","COMPLETED","IN_PROGRESS","SHEET_STATE","getLessonCtaInfo","state","nodeType","lessonTagType","IS_CHAPTER_COMPLETED_STATES","sheetState","LessonItemCtaInfo","memo","sheetsListData","userType","isLessonDisabled","restLessonItemCtaInfoProps","onStart","onResume","onReattempt","onReview","onPreview","isStudent","useMemo","handleOnClick","useCallback","sheetInfo","permissions","nodeId","userNodeId","canStart","canResume","canReattempt","canReview","canTeacherReview","canReviewSheet","isV3Worksheet","jsx","FlexView","sheet","idx","sheetStatement","sheetType","isLearningNodeType","isSheetLocked","lessonCtaInfo","lessonCtaState","renderAs","sheetPermissionDisability","Fragment","ArrowTooltip","SheetButton","Bulb2Icon","PracticeIcon"],"mappings":"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"}
1
+ {"version":3,"file":"lesson-item-cta-info.js","sources":["../../../../../src/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.tsx"],"sourcesContent":["import type { TSheetButtonVariant } from '../../comps/sheet-button/types';\nimport type { ISheetDataProps } from '../../sheets-list/sheet-item/sheet-item-types';\nimport type { IGetLessonCtaInfo, ILessonItemCtaInfoProps } from './lesson-item-types';\nimport type { FC } from 'react';\n\nimport { Fragment, memo, useCallback, useMemo } from 'react';\n\nimport Bulb2Icon from '../../../../assets/line-icons/icons/bulb2';\nimport PracticeIcon from '../../../../assets/line-icons/icons/practice';\nimport { IS_CHAPTER_COMPLETED_STATES } from '../../../milestone/create/milestone-create-constants';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../ui/layout/flex-view';\nimport SheetButton from '../../comps/sheet-button';\nimport { NODE_TYPE, SHEET_STATE } from '../../constants/sheet';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\n\nconst { TARGET_PRACTICE, PRACTICE, LEARNING } = NODE_TYPE;\nconst { COMPLETED, IN_PROGRESS } = SHEET_STATE;\n\nconst getLessonCtaInfo: IGetLessonCtaInfo = (state, nodeType, lessonTagType) => {\n const isSheetCompleted =\n state === COMPLETED || IS_CHAPTER_COMPLETED_STATES.some(sheetState => sheetState === state);\n\n if (isSheetCompleted) {\n return {\n state: 'completed',\n renderAs: 'secondary_black',\n };\n }\n\n if (\n (nodeType === PRACTICE || nodeType === TARGET_PRACTICE) &&\n lessonTagType === 'PENDING_TARGET_PRACTICE'\n ) {\n return {\n state: 'overdue',\n renderAs: 'tertiary',\n };\n }\n\n if (state === IN_PROGRESS) {\n return {\n state: 'in_progress',\n renderAs: 'primary',\n };\n }\n\n return undefined;\n};\n\nconst LessonItemCtaInfo: FC<ILessonItemCtaInfoProps> = memo(\n ({ sheetsListData, userType, isLessonDisabled, ...restLessonItemCtaInfoProps }) => {\n const { lessonTagType, onStart, onResume, onReattempt, onReview, onPreview } =\n restLessonItemCtaInfoProps;\n\n const isStudent = useMemo(() => userType === 'STUDENT', [userType]);\n\n const handleOnClick = useCallback(\n (sheetInfo: ISheetDataProps) => {\n const { permissions, node_id: nodeId, user_node_id: userNodeId } = sheetInfo;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_reattempt: canReattempt,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n } = permissions;\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n if (isStudent) {\n //* Student actions\n\n if (canStart || canResume) {\n if (canStart && typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheetInfo), userNodeId);\n\n return;\n }\n\n if (canResume && typeof onResume === 'function') {\n onResume(nodeId, isV3Worksheet(sheetInfo), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n } else if (canReattempt) {\n if (typeof onReattempt !== 'function') {\n throw new Error('canReattempt must be a function');\n }\n\n onReattempt(nodeId, isV3Worksheet(sheetInfo), userNodeId);\n\n return;\n }\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheetInfo, 'review'));\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheetInfo, isV3Worksheet(sheetInfo));\n\n return;\n },\n [isStudent, onReview, onStart, onPreview, onReattempt, onResume],\n );\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1} $alignItems=\"center\">\n {sheetsListData.map((sheet, idx) => {\n const {\n node_type: nodeType,\n state,\n permissions,\n sheet_statement: sheetStatement,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_reattempt: canReattempt,\n can_review: canReview,\n } = permissions;\n const sheetType = nodeType === TARGET_PRACTICE ? PRACTICE : nodeType;\n const isLearningNodeType = nodeType === LEARNING;\n const isSheetLocked = state === 'LOCKED';\n\n const lessonCtaInfo = getLessonCtaInfo(state, nodeType, lessonTagType);\n const { state: lessonCtaState, renderAs } = lessonCtaInfo || {};\n\n const isSheetCompleted =\n state === COMPLETED ||\n IS_CHAPTER_COMPLETED_STATES.some(sheetState => sheetState === state);\n const sheetPermissionDisability =\n !isSheetCompleted && !(canStart || canResume || canReview || canReattempt);\n const disableCta = isStudent && (isLessonDisabled || sheetPermissionDisability);\n const sheetCtaDefaultRenderAs: TSheetButtonVariant =\n isLessonDisabled || (!isStudent && isSheetLocked) ? 'secondary_grey' : 'primary';\n\n return (\n <Fragment key={`${sheetType}__lesson_button__${idx}`}>\n <ArrowTooltip\n renderAs=\"secondary\"\n position=\"bottom\"\n tooltipItem={sheetStatement}\n textVariant=\"ab3\"\n >\n <SheetButton\n renderAs={renderAs ?? sheetCtaDefaultRenderAs}\n label={sheetType}\n Icon={isLearningNodeType ? Bulb2Icon : PracticeIcon}\n onClick={() => handleOnClick(sheet)}\n disabled={disableCta}\n state={lessonCtaState}\n />\n </ArrowTooltip>\n </Fragment>\n );\n })}\n </FlexView>\n );\n },\n);\n\nexport default LessonItemCtaInfo;\n"],"names":["TARGET_PRACTICE","PRACTICE","LEARNING","NODE_TYPE","COMPLETED","IN_PROGRESS","SHEET_STATE","getLessonCtaInfo","state","nodeType","lessonTagType","IS_CHAPTER_COMPLETED_STATES","sheetState","LessonItemCtaInfo","memo","sheetsListData","userType","isLessonDisabled","restLessonItemCtaInfoProps","onStart","onResume","onReattempt","onReview","onPreview","isStudent","useMemo","handleOnClick","useCallback","sheetInfo","permissions","nodeId","userNodeId","canStart","canResume","canReattempt","canReview","canTeacherReview","canReviewSheet","isV3Worksheet","jsx","FlexView","sheet","idx","sheetStatement","sheetType","isLearningNodeType","isSheetLocked","lessonCtaInfo","lessonCtaState","renderAs","sheetPermissionDisability","Fragment","ArrowTooltip","SheetButton","Bulb2Icon","PracticeIcon"],"mappings":"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"}
@@ -1,26 +1,26 @@
1
- import { jsxs as A, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as v, jsx as e } from "react/jsx-runtime";
2
2
  import { memo as J, useRef as Q, useState as Z, useMemo as ee, useCallback as d, useLayoutEffect as te } from "react";
3
3
  import oe from "../../../../assets/line-icons/icons/minus2.js";
4
4
  import re from "../../../../assets/line-icons/icons/plus2.js";
5
5
  import ne from "../../../../assets/line-icons/icons/redo.js";
6
- import k from "../../../ui/arrow-tooltip/arrow-tooltip.js";
6
+ import A from "../../../ui/arrow-tooltip/arrow-tooltip.js";
7
7
  import ie from "../../../ui/context-menu/context-menu.js";
8
8
  import { useUIContext as ce } from "../../../ui/context/context.js";
9
9
  import se from "../../../ui/layout/flex-view.js";
10
10
  import ae from "../../comps/sheet-button/index.js";
11
11
  import ue from "../../lessons-list/lesson-item/context-menu-helper/target-element.js";
12
- import { SHEETS_ANALYTICS_EVENTS as v } from "../../sheets-analytics-events.js";
12
+ import { SHEETS_ANALYTICS_EVENTS as k } from "../../sheets-analytics-events.js";
13
13
  import { TEACHER_MENU_OPTIONS as me } from "../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js";
14
14
  import { isV3Worksheet as h } from "../../utils/is-v3-worksheet.js";
15
15
  import le from "./context-menu-helper/menu-element.js";
16
16
  import { ResourceItemCard as pe, ResourceItemTitle as fe, IconButtonWrapper as de } from "./styled.js";
17
- import { getResourceItemCtaState as he, getResourceItemCtaInfo as _e, getResourceItemBackgroundColor as we } from "./utils.js";
17
+ import { getResourceItemCtaState as he, getResourceItemCtaInfo as we, getResourceItemBackgroundColor as _e } from "./utils.js";
18
18
  const { UNASSIGN: x, REDO: N } = me, Me = J(
19
19
  ({
20
20
  sheet: t,
21
21
  userType: O,
22
- isMilestoneWidget: _,
23
- userMilestoneId: w,
22
+ isMilestoneWidget: w,
23
+ userMilestoneId: _,
24
24
  onUnlock: i,
25
25
  onUnAssignSheet: u,
26
26
  onReset: m,
@@ -46,7 +46,7 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
46
46
  can_teacher_review: L,
47
47
  can_unassign: B,
48
48
  can_reset: U
49
- } = X, V = typeof b == "number" ? `${b}%` : void 0, n = O === "STUDENT", R = n ? H : L, P = he(E), { label: W, Icon: F } = _e(G) || {}, a = ee(
49
+ } = X, V = typeof b == "number" ? `${b}%` : void 0, n = O === "STUDENT", R = n ? H : L, P = he(E), { label: W, Icon: F } = we(G) || {}, a = ee(
50
50
  () => ({
51
51
  node_id: o,
52
52
  node_type: y
@@ -54,13 +54,13 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
54
54
  [o, y]
55
55
  ), K = d(() => {
56
56
  c({
57
- analyticsLabel: v.RESOURCE_ASSIGNED,
57
+ analyticsLabel: k.RESOURCE_ASSIGNED,
58
58
  props: a
59
59
  }), i == null || i(o);
60
60
  }, [i, o, c, a]), Y = d(() => {
61
61
  if (n && (I || S)) {
62
62
  if (typeof f == "function") {
63
- f(o, h(), s);
63
+ f(o, h(t), s);
64
64
  return;
65
65
  }
66
66
  throw new Error("No callback is available");
@@ -70,12 +70,12 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
70
70
  throw new Error("onReview must be a function");
71
71
  if (!s)
72
72
  throw new Error("user node id must be present to review the sheet");
73
- p(s, h(), w);
73
+ p(s, h(t, "review"), _);
74
74
  return;
75
75
  }
76
76
  if (typeof l != "function")
77
77
  throw new Error("onPreview must be a function");
78
- l(t, h());
78
+ l(t, h(t));
79
79
  }, [
80
80
  S,
81
81
  R,
@@ -83,7 +83,7 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
83
83
  n,
84
84
  o,
85
85
  t,
86
- w,
86
+ _,
87
87
  s,
88
88
  f,
89
89
  p,
@@ -95,7 +95,7 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
95
95
  if (typeof u != "function")
96
96
  throw new Error("onUnassignSheet must be a function");
97
97
  c({
98
- analyticsLabel: v.RESOURCE_UNASSIGNED,
98
+ analyticsLabel: k.RESOURCE_UNASSIGNED,
99
99
  props: a
100
100
  }), u(t);
101
101
  return;
@@ -128,13 +128,13 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
128
128
  visible: U,
129
129
  onClick: T
130
130
  }
131
- ], $ = we(
131
+ ], $ = _e(
132
132
  E,
133
133
  n,
134
134
  g,
135
- !!_
135
+ !!w
136
136
  );
137
- return /* @__PURE__ */ A(
137
+ return /* @__PURE__ */ v(
138
138
  pe,
139
139
  {
140
140
  $gapX: 1,
@@ -143,10 +143,10 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
143
143
  $background: $,
144
144
  $justifyContent: "space-between",
145
145
  $heightX: 8,
146
- $isMilestoneWidget: _,
146
+ $isMilestoneWidget: w,
147
147
  children: [
148
148
  /* @__PURE__ */ e(
149
- k,
149
+ A,
150
150
  {
151
151
  renderAs: "primary",
152
152
  position: "bottom",
@@ -156,8 +156,8 @@ const { UNASSIGN: x, REDO: N } = me, Me = J(
156
156
  children: /* @__PURE__ */ e(fe, { ref: r, $renderAs: "ab2", $color: "BLACK_T_87", children: C })
157
157
  }
158
158
  ),
159
- /* @__PURE__ */ A(se, { $flexDirection: "row", $justifyContent: "space-between", $alignItems: "center", children: [
160
- /* @__PURE__ */ e(k, { position: "bottom", tooltipItem: j, renderAs: "secondary", children: /* @__PURE__ */ e(
159
+ /* @__PURE__ */ v(se, { $flexDirection: "row", $justifyContent: "space-between", $alignItems: "center", children: [
160
+ /* @__PURE__ */ e(A, { position: "bottom", tooltipItem: j, renderAs: "secondary", children: /* @__PURE__ */ e(
161
161
  ae,
162
162
  {
163
163
  renderAs: "primary",
@@ -1 +1 @@
1
- {"version":3,"file":"resource-item.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/resource-item.tsx"],"sourcesContent":["import type { IMenuOptionsProps } from './context-menu-helper/menu-element-types';\nimport type { IResourceItemProps } from './types';\nimport type { FC } from 'react';\n\nimport { useCallback, useLayoutEffect, useRef, memo, useState, useMemo } from 'react';\n\nimport Minus2Icon from '../../../../assets/line-icons/icons/minus2';\nimport Plus2Icon from '../../../../assets/line-icons/icons/plus2';\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 { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport SheetButton from '../../comps/sheet-button';\nimport ContextMenuTargetElement from '../../lessons-list/lesson-item/context-menu-helper/target-element';\nimport { SHEETS_ANALYTICS_EVENTS } from '../../sheets-analytics-events';\nimport { TEACHER_MENU_OPTIONS } from '../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\nimport ContextMenuElement from './context-menu-helper/menu-element';\nimport * as Styled from './styled';\nimport {\n getResourceItemBackgroundColor,\n getResourceItemCtaInfo,\n getResourceItemCtaState,\n} from './utils';\n\nconst { UNASSIGN, REDO } = TEACHER_MENU_OPTIONS;\n\nconst ResourceItem: FC<IResourceItemProps> = memo(\n ({\n sheet,\n userType,\n isMilestoneWidget,\n userMilestoneId,\n onUnlock,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onStart,\n }) => {\n const { onClick: trackClick } = useUIContext();\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n accuracy,\n permissions,\n title,\n sheet_statement: sheetStatement,\n state: sheetState,\n node_id: nodeId,\n user_node_id: userNodeId,\n node_sub_group: nodeSubGroup,\n node_type: nodeType,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_unlock: canUnlock,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions;\n\n const sheetAccuracy = typeof accuracy === 'number' ? `${accuracy}%` : undefined;\n const isStudent = userType === 'STUDENT';\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n const ctaState = getResourceItemCtaState(sheetState);\n const { label, Icon } = getResourceItemCtaInfo(nodeSubGroup) || {};\n\n const analyticsProps = useMemo(\n () => ({\n node_id: nodeId,\n node_type: nodeType,\n }),\n [nodeId, nodeType],\n );\n\n const handleAssignSheet = useCallback(() => {\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_ASSIGNED,\n props: analyticsProps,\n });\n\n onUnlock?.(nodeId);\n }, [onUnlock, nodeId, trackClick, analyticsProps]);\n\n const handleOnClick = useCallback(() => {\n if (isStudent && (canStart || canResume)) {\n if (typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'), userMilestoneId);\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheet, isV3Worksheet(sheet));\n }, [\n canResume,\n canReviewSheet,\n canStart,\n isStudent,\n nodeId,\n sheet,\n userMilestoneId,\n userNodeId,\n onStart,\n onReview,\n onPreview,\n ]);\n\n const handleMenuOptionClick = useCallback(\n (selectedOption: string) => {\n switch (selectedOption) {\n case UNASSIGN:\n if (typeof onUnAssignSheet !== 'function') {\n throw new Error('onUnassignSheet must be a function');\n }\n\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_UNASSIGNED,\n props: analyticsProps,\n });\n\n onUnAssignSheet(sheet);\n\n return;\n\n case REDO:\n if (typeof onReset !== 'function') {\n throw new Error('onReset must be a function');\n }\n\n onReset(sheet);\n\n return;\n }\n },\n [sheet, onUnAssignSheet, onReset, analyticsProps, trackClick],\n );\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const menuOptions: IMenuOptionsProps[] = [\n {\n id: 'supplementary_resources_unassign',\n label: 'Unassign',\n icon: <Minus2Icon width={20} height={20} />,\n option: UNASSIGN,\n visible: canUnassign,\n onClick: handleMenuOptionClick,\n },\n {\n id: 'supplementary_resources_redo',\n label: 'Redo',\n icon: <RedoIcon />,\n option: REDO,\n visible: canReset,\n onClick: handleMenuOptionClick,\n },\n ];\n\n const backgroundColor = getResourceItemBackgroundColor(\n sheetState,\n isStudent,\n canUnlock,\n !!isMilestoneWidget,\n );\n\n return (\n <Styled.ResourceItemCard\n $gapX={1}\n $gutterX={1}\n $flexGapX={1.25}\n $background={backgroundColor}\n $justifyContent=\"space-between\"\n $heightX={8}\n $isMilestoneWidget={isMilestoneWidget}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={title}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <Styled.ResourceItemTitle ref={titleTextRef} $renderAs=\"ab2\" $color=\"BLACK_T_87\">\n {title}\n </Styled.ResourceItemTitle>\n </ArrowTooltip>\n\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $alignItems=\"center\">\n <ArrowTooltip position=\"bottom\" tooltipItem={sheetStatement} renderAs=\"secondary\">\n <SheetButton\n renderAs=\"primary\"\n label={label ?? ''}\n Icon={Icon}\n backgroundColor={backgroundColor}\n state={ctaState}\n hoverActive={false}\n onClick={handleOnClick}\n accuracy={sheetAccuracy}\n widthX={8.5}\n />\n </ArrowTooltip>\n\n {!isStudent &&\n (canUnlock ? (\n <Styled.IconButtonWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n onClick={handleAssignSheet}\n >\n <Plus2Icon />\n </Styled.IconButtonWrapper>\n ) : (\n <ContextMenu\n targetElement={<ContextMenuTargetElement invertHover />}\n menuElement={<ContextMenuElement menuOptions={menuOptions} />}\n />\n ))}\n </FlexView>\n </Styled.ResourceItemCard>\n );\n },\n);\n\nexport default ResourceItem;\n"],"names":["UNASSIGN","REDO","TEACHER_MENU_OPTIONS","ResourceItem","memo","sheet","userType","isMilestoneWidget","userMilestoneId","onUnlock","onUnAssignSheet","onReset","onPreview","onReview","onStart","trackClick","useUIContext","titleTextRef","useRef","showTitleTooltip","setShowTitleTooltip","useState","accuracy","permissions","title","sheetStatement","sheetState","nodeId","userNodeId","nodeSubGroup","nodeType","canStart","canResume","canUnlock","canReview","canTeacherReview","canUnassign","canReset","sheetAccuracy","isStudent","canReviewSheet","ctaState","getResourceItemCtaState","label","Icon","getResourceItemCtaInfo","analyticsProps","useMemo","handleAssignSheet","useCallback","SHEETS_ANALYTICS_EVENTS","handleOnClick","isV3Worksheet","handleMenuOptionClick","selectedOption","useLayoutEffect","menuOptions","jsx","Minus2Icon","RedoIcon","backgroundColor","getResourceItemBackgroundColor","jsxs","Styled.ResourceItemCard","ArrowTooltip","Styled.ResourceItemTitle","FlexView","SheetButton","Styled.IconButtonWrapper","Plus2Icon","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":"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"}
1
+ {"version":3,"file":"resource-item.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/resource-item.tsx"],"sourcesContent":["import type { IMenuOptionsProps } from './context-menu-helper/menu-element-types';\nimport type { IResourceItemProps } from './types';\nimport type { FC } from 'react';\n\nimport { useCallback, useLayoutEffect, useRef, memo, useState, useMemo } from 'react';\n\nimport Minus2Icon from '../../../../assets/line-icons/icons/minus2';\nimport Plus2Icon from '../../../../assets/line-icons/icons/plus2';\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 { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport SheetButton from '../../comps/sheet-button';\nimport ContextMenuTargetElement from '../../lessons-list/lesson-item/context-menu-helper/target-element';\nimport { SHEETS_ANALYTICS_EVENTS } from '../../sheets-analytics-events';\nimport { TEACHER_MENU_OPTIONS } from '../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\nimport ContextMenuElement from './context-menu-helper/menu-element';\nimport * as Styled from './styled';\nimport {\n getResourceItemBackgroundColor,\n getResourceItemCtaInfo,\n getResourceItemCtaState,\n} from './utils';\n\nconst { UNASSIGN, REDO } = TEACHER_MENU_OPTIONS;\n\nconst ResourceItem: FC<IResourceItemProps> = memo(\n ({\n sheet,\n userType,\n isMilestoneWidget,\n userMilestoneId,\n onUnlock,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onStart,\n }) => {\n const { onClick: trackClick } = useUIContext();\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n accuracy,\n permissions,\n title,\n sheet_statement: sheetStatement,\n state: sheetState,\n node_id: nodeId,\n user_node_id: userNodeId,\n node_sub_group: nodeSubGroup,\n node_type: nodeType,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_unlock: canUnlock,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions;\n\n const sheetAccuracy = typeof accuracy === 'number' ? `${accuracy}%` : undefined;\n const isStudent = userType === 'STUDENT';\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n const ctaState = getResourceItemCtaState(sheetState);\n const { label, Icon } = getResourceItemCtaInfo(nodeSubGroup) || {};\n\n const analyticsProps = useMemo(\n () => ({\n node_id: nodeId,\n node_type: nodeType,\n }),\n [nodeId, nodeType],\n );\n\n const handleAssignSheet = useCallback(() => {\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_ASSIGNED,\n props: analyticsProps,\n });\n\n onUnlock?.(nodeId);\n }, [onUnlock, nodeId, trackClick, analyticsProps]);\n\n const handleOnClick = useCallback(() => {\n if (isStudent && (canStart || canResume)) {\n if (typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'), userMilestoneId);\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheet, isV3Worksheet(sheet));\n }, [\n canResume,\n canReviewSheet,\n canStart,\n isStudent,\n nodeId,\n sheet,\n userMilestoneId,\n userNodeId,\n onStart,\n onReview,\n onPreview,\n ]);\n\n const handleMenuOptionClick = useCallback(\n (selectedOption: string) => {\n switch (selectedOption) {\n case UNASSIGN:\n if (typeof onUnAssignSheet !== 'function') {\n throw new Error('onUnassignSheet must be a function');\n }\n\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_UNASSIGNED,\n props: analyticsProps,\n });\n\n onUnAssignSheet(sheet);\n\n return;\n\n case REDO:\n if (typeof onReset !== 'function') {\n throw new Error('onReset must be a function');\n }\n\n onReset(sheet);\n\n return;\n }\n },\n [sheet, onUnAssignSheet, onReset, analyticsProps, trackClick],\n );\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const menuOptions: IMenuOptionsProps[] = [\n {\n id: 'supplementary_resources_unassign',\n label: 'Unassign',\n icon: <Minus2Icon width={20} height={20} />,\n option: UNASSIGN,\n visible: canUnassign,\n onClick: handleMenuOptionClick,\n },\n {\n id: 'supplementary_resources_redo',\n label: 'Redo',\n icon: <RedoIcon />,\n option: REDO,\n visible: canReset,\n onClick: handleMenuOptionClick,\n },\n ];\n\n const backgroundColor = getResourceItemBackgroundColor(\n sheetState,\n isStudent,\n canUnlock,\n !!isMilestoneWidget,\n );\n\n return (\n <Styled.ResourceItemCard\n $gapX={1}\n $gutterX={1}\n $flexGapX={1.25}\n $background={backgroundColor}\n $justifyContent=\"space-between\"\n $heightX={8}\n $isMilestoneWidget={isMilestoneWidget}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={title}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <Styled.ResourceItemTitle ref={titleTextRef} $renderAs=\"ab2\" $color=\"BLACK_T_87\">\n {title}\n </Styled.ResourceItemTitle>\n </ArrowTooltip>\n\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $alignItems=\"center\">\n <ArrowTooltip position=\"bottom\" tooltipItem={sheetStatement} renderAs=\"secondary\">\n <SheetButton\n renderAs=\"primary\"\n label={label ?? ''}\n Icon={Icon}\n backgroundColor={backgroundColor}\n state={ctaState}\n hoverActive={false}\n onClick={handleOnClick}\n accuracy={sheetAccuracy}\n widthX={8.5}\n />\n </ArrowTooltip>\n\n {!isStudent &&\n (canUnlock ? (\n <Styled.IconButtonWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n onClick={handleAssignSheet}\n >\n <Plus2Icon />\n </Styled.IconButtonWrapper>\n ) : (\n <ContextMenu\n targetElement={<ContextMenuTargetElement invertHover />}\n menuElement={<ContextMenuElement menuOptions={menuOptions} />}\n />\n ))}\n </FlexView>\n </Styled.ResourceItemCard>\n );\n },\n);\n\nexport default ResourceItem;\n"],"names":["UNASSIGN","REDO","TEACHER_MENU_OPTIONS","ResourceItem","memo","sheet","userType","isMilestoneWidget","userMilestoneId","onUnlock","onUnAssignSheet","onReset","onPreview","onReview","onStart","trackClick","useUIContext","titleTextRef","useRef","showTitleTooltip","setShowTitleTooltip","useState","accuracy","permissions","title","sheetStatement","sheetState","nodeId","userNodeId","nodeSubGroup","nodeType","canStart","canResume","canUnlock","canReview","canTeacherReview","canUnassign","canReset","sheetAccuracy","isStudent","canReviewSheet","ctaState","getResourceItemCtaState","label","Icon","getResourceItemCtaInfo","analyticsProps","useMemo","handleAssignSheet","useCallback","SHEETS_ANALYTICS_EVENTS","handleOnClick","isV3Worksheet","handleMenuOptionClick","selectedOption","useLayoutEffect","menuOptions","jsx","Minus2Icon","RedoIcon","backgroundColor","getResourceItemBackgroundColor","jsxs","Styled.ResourceItemCard","ArrowTooltip","Styled.ResourceItemTitle","FlexView","SheetButton","Styled.IconButtonWrapper","Plus2Icon","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":"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"}
@@ -8,7 +8,7 @@ const c = e(i)(({ theme: r, $isMilestoneWidget: o }) => {
8
8
  ${o && `
9
9
  border-top-width: 0;
10
10
  border-left-width: 0;
11
-
11
+
12
12
  &:nth-child(even) {
13
13
  border-right-width: 0;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\ninterface IResourceItemCard {\n $isMilestoneWidget?: boolean;\n}\n\nconst ResourceItemCard = styled(FlexView)<IResourceItemCard>(({ theme, $isMilestoneWidget }) => {\n const { WHITE_5 } = theme.colors;\n\n return `\n border: 1px solid ${WHITE_5};\n ${\n $isMilestoneWidget &&\n `\n border-top-width: 0;\n border-left-width: 0;\n\n &:nth-child(even) {\n border-right-width: 0;\n }\n `\n }\n `;\n});\n\nconst ResourceItemTitle = styled(Text)(() => {\n return `\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n `;\n});\n\nconst IconButtonWrapper = styled(FlexView)(({ theme }) => {\n const { gutter } = theme.layout;\n const { BLACK_T_87 } = theme.colors;\n\n return `\n width: ${gutter * 2}px;\n height: ${gutter * 2}px;\n border: 1px solid ${BLACK_T_87};\n border-radius: 50%;\n cursor: pointer;\n `;\n});\n\nexport { ResourceItemCard, ResourceItemTitle, IconButtonWrapper };\n"],"names":["ResourceItemCard","styled","FlexView","theme","$isMilestoneWidget","WHITE_5","ResourceItemTitle","Text","IconButtonWrapper","gutter","BLACK_T_87"],"mappings":";;;AASM,MAAAA,IAAmBC,EAAOC,CAAQ,EAAqB,CAAC,EAAE,OAAAC,GAAO,oBAAAC,QAAyB;AACxF,QAAA,EAAE,SAAAC,EAAQ,IAAIF,EAAM;AAEnB,SAAA;AAAA,0BACiBE,CAAO;AAAA,QAEzBD,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQF;AAAA;AAEN,CAAC,GAEKE,IAAoBL,EAAOM,CAAI,EAAE,MAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOR,GAEKC,IAAoBP,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAClD,QAAA,EAAE,QAAAM,EAAO,IAAIN,EAAM,QACnB,EAAE,YAAAO,EAAW,IAAIP,EAAM;AAEtB,SAAA;AAAA,eACMM,IAAS,CAAC;AAAA,gBACTA,IAAS,CAAC;AAAA,0BACAC,CAAU;AAAA;AAAA;AAAA;AAIpC,CAAC;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\ninterface IResourceItemCard {\n $isMilestoneWidget?: boolean;\n}\n\nconst ResourceItemCard = styled(FlexView)<IResourceItemCard>(({ theme, $isMilestoneWidget }) => {\n const { WHITE_5 } = theme.colors;\n\n return `\n border: 1px solid ${WHITE_5};\n ${\n $isMilestoneWidget &&\n `\n border-top-width: 0;\n border-left-width: 0;\n \n &:nth-child(even) {\n border-right-width: 0;\n }\n `\n }\n `;\n});\n\nconst ResourceItemTitle = styled(Text)(() => {\n return `\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n `;\n});\n\nconst IconButtonWrapper = styled(FlexView)(({ theme }) => {\n const { gutter } = theme.layout;\n const { BLACK_T_87 } = theme.colors;\n\n return `\n width: ${gutter * 2}px;\n height: ${gutter * 2}px;\n border: 1px solid ${BLACK_T_87};\n border-radius: 50%;\n cursor: pointer;\n `;\n});\n\nexport { ResourceItemCard, ResourceItemTitle, IconButtonWrapper };\n"],"names":["ResourceItemCard","styled","FlexView","theme","$isMilestoneWidget","WHITE_5","ResourceItemTitle","Text","IconButtonWrapper","gutter","BLACK_T_87"],"mappings":";;;AASM,MAAAA,IAAmBC,EAAOC,CAAQ,EAAqB,CAAC,EAAE,OAAAC,GAAO,oBAAAC,QAAyB;AACxF,QAAA,EAAE,SAAAC,EAAQ,IAAIF,EAAM;AAEnB,SAAA;AAAA,0BACiBE,CAAO;AAAA,QAEzBD,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQF;AAAA;AAEN,CAAC,GAEKE,IAAoBL,EAAOM,CAAI,EAAE,MAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOR,GAEKC,IAAoBP,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAClD,QAAA,EAAE,QAAAM,EAAO,IAAIN,EAAM,QACnB,EAAE,YAAAO,EAAW,IAAIP,EAAM;AAEtB,SAAA;AAAA,eACMM,IAAS,CAAC;AAAA,gBACTA,IAAS,CAAC;AAAA,0BACAC,CAAU;AAAA;AAAA;AAAA;AAIpC,CAAC;"}
@@ -1,68 +1,68 @@
1
1
  import { jsxs as A, Fragment as g, jsx as s } from "react/jsx-runtime";
2
- import { useMemo as v, useCallback as C } from "react";
2
+ import { useMemo as I, useCallback as C } from "react";
3
3
  import V from "../../../../../ui/buttons/button/button.js";
4
4
  import W from "../../../../../ui/context-menu/context-menu.js";
5
5
  import { useUIContext as j } from "../../../../../ui/context/context.js";
6
6
  import { NODE_TYPE as U } from "../../../../constants/sheet.js";
7
- import { isV3Worksheet as a } from "../../../../utils/is-v3-worksheet.js";
7
+ import { isV3Worksheet as m } from "../../../../utils/is-v3-worksheet.js";
8
8
  import Y from "../context-menu-helper/menu-element/menu-element.js";
9
9
  import z from "../context-menu-helper/target-element/target-element.js";
10
10
  import { MENU_OPTIONS as R } from "./student-actions-constant.js";
11
11
  const $ = ({
12
- sheet: m,
12
+ sheet: t,
13
13
  isDefocused: o,
14
14
  isLastSheet: N,
15
15
  ...x
16
16
  }) => {
17
- const { teacherId: b, milestoneId: d, section: c, onStart: u, onResume: p, onReattempt: l, onReview: f } = x, { permissions: M, node_id: h, user_node_id: e, node_type: T } = m, {
18
- can_start: r,
19
- can_resume: w,
20
- can_review: E,
17
+ const { teacherId: b, milestoneId: d, section: c, onStart: u, onResume: p, onReattempt: l, onReview: f } = x, { permissions: M, node_id: w, user_node_id: e, node_type: T } = t, {
18
+ can_start: i,
19
+ can_resume: E,
20
+ can_review: h,
21
21
  can_reattempt: _,
22
22
  is_review_disabled: y
23
- } = M, t = T === U.DYNAMIC ? e : h, { onEvent: I } = j(), i = v(() => {
24
- const n = {
23
+ } = M, n = T === U.DYNAMIC ? e : w, { onEvent: v } = j(), a = I(() => {
24
+ const r = {
25
25
  teacher_id: b,
26
- node_id: h,
26
+ node_id: w,
27
27
  user_node_id: e
28
28
  };
29
- return d && (n.milestone_id = d), c && (n.section = c), n;
30
- }, [d, h, c, b, e]), k = C(() => {
31
- if (!t)
29
+ return d && (r.milestone_id = d), c && (r.section = c), r;
30
+ }, [d, w, c, b, e]), k = C(() => {
31
+ if (!n)
32
32
  throw new Error("No required id is present to open the sheet.");
33
- if (r && typeof u == "function") {
34
- u(t, a(), e);
33
+ if (i && typeof u == "function") {
34
+ u(n, m(t), e);
35
35
  return;
36
36
  }
37
- if (w && typeof p == "function") {
38
- p(t, a(), e);
37
+ if (E && typeof p == "function") {
38
+ p(n, m(t), e);
39
39
  return;
40
40
  }
41
41
  throw new Error("No callback provided. If provided it must be a function");
42
- }, [w, r, t, p, u, m, e]), S = C(
43
- (n) => {
44
- if (I("clicked", {
45
- ...i,
46
- cta: n
47
- }), n === R.REVIEW) {
42
+ }, [E, i, n, p, u, t, e]), S = C(
43
+ (r) => {
44
+ if (v("clicked", {
45
+ ...a,
46
+ cta: r
47
+ }), r === R.REVIEW) {
48
48
  if (!e)
49
49
  throw new Error("No required id is present to open the sheet.");
50
50
  if (typeof f != "function")
51
51
  throw new Error("onReview must be a function");
52
- f(e, a());
52
+ f(e, m(t, "review"));
53
53
  return;
54
54
  }
55
- if (!t)
55
+ if (!n)
56
56
  throw new Error("No required id is present to open the sheet.");
57
57
  if (typeof l != "function")
58
58
  throw new Error("onReattempt must be a function");
59
- l(t, a(), e);
59
+ l(n, m(t), e);
60
60
  },
61
- [i, t, l, f, m, I, e]
62
- ), O = r || w, P = !o && _ || E, q = v(
61
+ [a, n, l, f, t, v, e]
62
+ ), O = i || E, P = !o && _ || h, q = I(
63
63
  () => [
64
64
  {
65
- show: E,
65
+ show: h,
66
66
  label: R.REVIEW,
67
67
  disable: y
68
68
  },
@@ -71,26 +71,26 @@ const $ = ({
71
71
  label: R.REATTEMPT
72
72
  }
73
73
  ],
74
- [_, E, o, y]
74
+ [_, h, o, y]
75
75
  );
76
76
  return /* @__PURE__ */ A(g, { children: [
77
77
  O && /* @__PURE__ */ s(
78
78
  V,
79
79
  {
80
- label: r ? "Start" : "Resume",
80
+ label: i ? "Start" : "Resume",
81
81
  widthX: 7,
82
82
  renderAs: "primary",
83
83
  size: "xsmall",
84
84
  onClick: k,
85
85
  disabled: o,
86
- analyticsProps: i,
86
+ analyticsProps: a,
87
87
  shape: "square"
88
88
  }
89
89
  ),
90
90
  P && /* @__PURE__ */ s(
91
91
  W,
92
92
  {
93
- targetElement: /* @__PURE__ */ s(z, { analyticsLabel: "Sheet menu", analyticsProps: i }),
93
+ targetElement: /* @__PURE__ */ s(z, { analyticsLabel: "Sheet menu", analyticsProps: a }),
94
94
  menuElement: /* @__PURE__ */ s(
95
95
  Y,
96
96
  {