@cuemath/leap 2.8.56-as1 → 2.8.56-hg1

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 (188) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -9
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/closed-eye.js +23 -0
  4. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -0
  5. package/dist/features/analytics-events/whitelist-events.js +9 -7
  6. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  7. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +33 -98
  8. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  9. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +47 -76
  10. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  11. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  12. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  13. package/dist/features/chapters/chapters-list/chapters-list.js +70 -65
  14. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  15. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +92 -0
  16. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -0
  17. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +25 -0
  18. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -0
  19. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +53 -51
  20. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  21. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +17 -9
  22. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +91 -116
  24. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  25. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +13 -0
  26. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +1 -0
  27. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +38 -0
  28. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -0
  29. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +121 -105
  30. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  31. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +173 -145
  32. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  33. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +10 -24
  34. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +81 -76
  36. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +22 -10
  38. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  39. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +53 -0
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -0
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +37 -70
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  43. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +174 -114
  44. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +25 -0
  46. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -0
  47. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +16 -29
  48. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  49. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +23 -19
  50. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  51. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +35 -23
  52. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  53. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +36 -34
  54. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  55. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  56. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  57. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +78 -96
  58. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  59. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +71 -0
  60. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -0
  61. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +31 -0
  62. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +1 -0
  63. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +34 -6
  64. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
  65. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +73 -73
  66. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +1 -1
  67. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +7 -8
  68. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +1 -1
  69. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +68 -77
  70. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
  71. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js +15 -0
  72. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js.map +1 -0
  73. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js +26 -0
  74. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -0
  75. package/dist/features/sheets/resources-list/resource-item/resource-item.js +179 -65
  76. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  77. package/dist/features/sheets/resources-list/resource-item/styled.js +38 -0
  78. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -0
  79. package/dist/features/sheets/resources-list/resource-item/utils.js +23 -0
  80. package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -0
  81. package/dist/features/sheets/resources-list/resources-list.js +5 -5
  82. package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
  83. package/dist/features/sheets/resources-list/styled.js +13 -9
  84. package/dist/features/sheets/resources-list/styled.js.map +1 -1
  85. package/dist/features/sheets/sheets-analytics-events.js +11 -0
  86. package/dist/features/sheets/sheets-analytics-events.js.map +1 -0
  87. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +3 -4
  88. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  89. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  90. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +29 -30
  91. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  92. package/dist/features/ui/constants/z-index.js +1 -1
  93. package/dist/features/ui/constants/z-index.js.map +1 -1
  94. package/dist/features/ui/context-menu/context-menu-styled.js +14 -28
  95. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  96. package/dist/features/ui/context-menu/context-menu.js +15 -30
  97. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  98. package/dist/features/ui/theme/button.js +102 -17
  99. package/dist/features/ui/theme/button.js.map +1 -1
  100. package/dist/index.d.ts +12 -200
  101. package/dist/index.js +469 -487
  102. package/dist/index.js.map +1 -1
  103. package/package.json +1 -1
  104. package/dist/assets/line-icons/icons/alarm.js +0 -41
  105. package/dist/assets/line-icons/icons/alarm.js.map +0 -1
  106. package/dist/assets/line-icons/icons/dart.js +0 -23
  107. package/dist/assets/line-icons/icons/dart.js.map +0 -1
  108. package/dist/assets/line-icons/icons/exclamation.js +0 -26
  109. package/dist/assets/line-icons/icons/exclamation.js.map +0 -1
  110. package/dist/assets/line-icons/icons/home2.js +0 -25
  111. package/dist/assets/line-icons/icons/home2.js.map +0 -1
  112. package/dist/assets/line-icons/icons/important.js +0 -23
  113. package/dist/assets/line-icons/icons/important.js.map +0 -1
  114. package/dist/assets/line-icons/icons/puzzle.js +0 -25
  115. package/dist/assets/line-icons/icons/puzzle.js.map +0 -1
  116. package/dist/assets/line-icons/icons/recap.js +0 -32
  117. package/dist/assets/line-icons/icons/recap.js.map +0 -1
  118. package/dist/assets/line-icons/icons/status.js +0 -41
  119. package/dist/assets/line-icons/icons/status.js.map +0 -1
  120. package/dist/assets/line-icons/icons/testtube.js +0 -33
  121. package/dist/assets/line-icons/icons/testtube.js.map +0 -1
  122. package/dist/features/chapters-v2/api/chapter.js +0 -10
  123. package/dist/features/chapters-v2/api/chapter.js.map +0 -1
  124. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +0 -112
  125. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +0 -1
  126. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +0 -26
  127. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +0 -1
  128. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +0 -69
  129. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +0 -1
  130. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +0 -90
  131. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +0 -1
  132. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +0 -97
  133. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +0 -1
  134. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +0 -52
  135. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +0 -1
  136. package/dist/features/chapters-v2/chapter-details/chapter-details.js +0 -103
  137. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +0 -1
  138. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +0 -13
  139. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +0 -1
  140. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +0 -153
  141. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +0 -1
  142. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +0 -16
  143. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +0 -1
  144. package/dist/features/chapters-v2/comps/node-card/node-card.js +0 -12
  145. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +0 -1
  146. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +0 -32
  147. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +0 -1
  148. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +0 -31
  149. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +0 -1
  150. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +0 -160
  151. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +0 -1
  152. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +0 -184
  153. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +0 -1
  154. package/dist/features/chapters-v2/comps/tag/tag-styled.js +0 -13
  155. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +0 -1
  156. package/dist/features/chapters-v2/comps/tag/tag.js +0 -28
  157. package/dist/features/chapters-v2/comps/tag/tag.js.map +0 -1
  158. package/dist/features/chapters-v2/constants/block-constants.js +0 -20
  159. package/dist/features/chapters-v2/constants/block-constants.js.map +0 -1
  160. package/dist/features/chapters-v2/constants/node-constants.js +0 -15
  161. package/dist/features/chapters-v2/constants/node-constants.js.map +0 -1
  162. package/dist/features/chapters-v2/utils/index.js +0 -41
  163. package/dist/features/chapters-v2/utils/index.js.map +0 -1
  164. package/dist/features/chapters-v2/utils/node-card-utils.js +0 -106
  165. package/dist/features/chapters-v2/utils/node-card-utils.js.map +0 -1
  166. package/dist/features/homework/card-menu-options.js +0 -36
  167. package/dist/features/homework/card-menu-options.js.map +0 -1
  168. package/dist/features/homework/homework-card.js +0 -136
  169. package/dist/features/homework/homework-card.js.map +0 -1
  170. package/dist/features/homework/styles.js +0 -114
  171. package/dist/features/homework/styles.js.map +0 -1
  172. package/dist/features/homework/utils.js +0 -28
  173. package/dist/features/homework/utils.js.map +0 -1
  174. package/dist/features/recent-chapters/api/get-recent-chapters.js +0 -9
  175. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +0 -1
  176. package/dist/features/recent-chapters/recent-chapters-styled.js +0 -23
  177. package/dist/features/recent-chapters/recent-chapters-styled.js.map +0 -1
  178. package/dist/features/recent-chapters/recent-chapters.js +0 -49
  179. package/dist/features/recent-chapters/recent-chapters.js.map +0 -1
  180. package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
  181. package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
  182. package/dist/static/node-learn-bg.b61f815c.svg +0 -1
  183. package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
  184. package/dist/static/node-project-bg.e6a33e28.svg +0 -1
  185. package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
  186. package/dist/static/node-recap-bg.546154e4.svg +0 -1
  187. package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
  188. package/dist/static/node-video-bg.3df3f73a.svg +0 -1
@@ -1,79 +1,84 @@
1
- import { jsxs as m, jsx as r, Fragment as A } from "react/jsx-runtime";
2
- import { memo as T, useCallback as b } from "react";
1
+ import { jsxs as i, jsx as r, Fragment as T } from "react/jsx-runtime";
2
+ import { memo as b, useCallback as y } from "react";
3
3
  import { IMAGES as g } from "../../../assets/images/images.js";
4
- import k from "../../ui/arrow-tooltip/arrow-tooltip.js";
5
- import x from "../../ui/buttons/button/button.js";
4
+ import k from "../../../assets/line-icons/icons/plus2.js";
5
+ import x from "../../ui/arrow-tooltip/arrow-tooltip.js";
6
+ import E from "../../ui/buttons/button/button.js";
7
+ import I from "../../ui/buttons/icon-button/icon-button.js";
6
8
  import { useUIContext as $ } from "../../ui/context/context.js";
7
- import l from "../../ui/separator/separator.js";
8
- import y from "../../ui/text/text.js";
9
- import E from "./chapter-item/chapter-item.js";
10
- import { ChaptersListContainer as c, ChaptersWrapper as X } from "./chapters-list-styled.js";
11
- const I = T(
12
- ({ milestoneId: t, canUpdatePlan: d, chapters: o, ...h }) => {
13
- const { isGoalCreation: i, userType: a, onChapterClick: C, onAddChapter: e, isMilestoneActive: n } = h, { onClick: s } = $(), f = b(() => {
14
- s({
9
+ import d from "../../ui/separator/separator.js";
10
+ import L from "../../ui/text/text.js";
11
+ import X from "./chapter-item/chapter-item.js";
12
+ import { ChaptersListContainer as h, ChaptersWrapper as M, AddChapterIconWrapper as S } from "./chapters-list-styled.js";
13
+ const j = b(
14
+ ({ milestoneId: t, canUpdatePlan: n, chapters: a, ...C }) => {
15
+ const { isGoalCreation: s, userType: o, onChapterClick: f, onAddChapter: e, isMilestoneActive: p } = C, A = o === "TEACHER" && e && n, { onClick: c } = $(), m = y(() => {
16
+ c({
15
17
  label: "add_chapter_icon",
16
18
  props: {
17
19
  milestone_id: t
18
20
  }
19
- }), e == null || e({ milestoneId: t, isGoalCreation: i });
20
- }, [t, i, e, s]);
21
- return o.length ? /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(X, { children: o.map((p, u) => {
22
- const { id: _ } = p;
23
- return /* @__PURE__ */ r(
24
- E,
21
+ }), e == null || e({ milestoneId: t, isGoalCreation: s });
22
+ }, [t, s, e, c]);
23
+ return a.length ? /* @__PURE__ */ i(h, { children: [
24
+ /* @__PURE__ */ r(M, { children: a.map((l, u) => {
25
+ const { id: _ } = l;
26
+ return /* @__PURE__ */ r(
27
+ X,
28
+ {
29
+ milestoneId: t,
30
+ userType: o,
31
+ chapter: l,
32
+ onChapterClick: f,
33
+ itemIndex: u
34
+ },
35
+ _
36
+ );
37
+ }) }),
38
+ A && /* @__PURE__ */ r(S, { children: /* @__PURE__ */ r(
39
+ I,
25
40
  {
26
- milestoneId: t,
27
- userType: a,
28
- chapter: p,
29
- onChapterClick: C,
30
- itemIndex: u
31
- },
32
- _
33
- );
34
- }) }) }) : /* @__PURE__ */ m(
35
- c,
36
- {
37
- $gapX: 6.75,
38
- $alignItems: "center",
39
- $justifyContent: "center",
40
- $background: "WHITE",
41
- children: [
42
- /* @__PURE__ */ r("img", { src: g.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
43
- /* @__PURE__ */ r(l, { heightX: 2 }),
44
- a === "TEACHER" ? /* @__PURE__ */ m(A, { children: [
45
- /* @__PURE__ */ r(
46
- k,
41
+ Icon: k,
42
+ renderAs: "secondary",
43
+ size: "small",
44
+ analyticsLabel: "add_chapter_icon",
45
+ onClick: m
46
+ }
47
+ ) })
48
+ ] }) : /* @__PURE__ */ i(h, { $gapX: 6.75, $alignItems: "center", $justifyContent: "center", children: [
49
+ /* @__PURE__ */ r("img", { src: g.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
50
+ /* @__PURE__ */ r(d, { heightX: 2 }),
51
+ o === "TEACHER" ? /* @__PURE__ */ i(T, { children: [
52
+ /* @__PURE__ */ r(
53
+ x,
54
+ {
55
+ renderAs: "primary",
56
+ position: "bottom",
57
+ hidden: p,
58
+ tooltipItem: "Plan is completed",
59
+ children: /* @__PURE__ */ r(
60
+ E,
47
61
  {
62
+ widthX: 10,
48
63
  renderAs: "primary",
49
- position: "bottom",
50
- hidden: n,
51
- tooltipItem: "Plan is completed",
52
- children: /* @__PURE__ */ r(
53
- x,
54
- {
55
- widthX: 10,
56
- renderAs: "primary",
57
- shape: "square",
58
- size: "small",
59
- label: "Add chapter",
60
- onClick: f,
61
- disabled: !n || !d,
62
- analyticsProps: {
63
- milestone_id: t
64
- }
65
- }
66
- )
64
+ shape: "square",
65
+ size: "small",
66
+ label: "Add chapter",
67
+ onClick: m,
68
+ disabled: !p || !n,
69
+ analyticsProps: {
70
+ milestone_id: t
71
+ }
67
72
  }
68
- ),
69
- /* @__PURE__ */ r(l, { heightX: 2 })
70
- ] }) : /* @__PURE__ */ r(y, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to add a chapter" })
71
- ]
72
- }
73
- );
73
+ )
74
+ }
75
+ ),
76
+ /* @__PURE__ */ r(d, { heightX: 2 })
77
+ ] }) : /* @__PURE__ */ r(L, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to add a chapter" })
78
+ ] });
74
79
  }
75
- ), O = I;
80
+ ), K = j;
76
81
  export {
77
- O as default
82
+ K as default
78
83
  };
79
84
  //# sourceMappingURL=chapters-list.js.map
@@ -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 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 userType={userType}\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,UAAAK;AAAA,UACA,SAAAW;AAAA,UACA,gBAAAV;AAAA,UACA,WAAWW;AAAA,QAAA;AAAA,QALNC;AAAA,MAAA;AAAA,IAMP,CAEH,GACH,EACF,CAAA,IA1DE,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,EA0BV;AACF,GAEAC,IAAe7B;"}
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;"}
@@ -0,0 +1,92 @@
1
+ import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
+ import { memo as C, Fragment as D } from "react";
3
+ import { ILLUSTRATIONS as R } from "../../../../../assets/illustrations/illustrations.js";
4
+ import L from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
+ import $ from "../../../../ui/image/image.js";
6
+ import a from "../../../../ui/layout/flex-view.js";
7
+ import x from "../../../../ui/text/text.js";
8
+ import { getSheetCompletionPercentage as G } from "../milestone-progress/milestone-progress-utils.js";
9
+ import { Progress as u } from "./styled.js";
10
+ const {
11
+ PRACTICED_SHIELD_GREY: T,
12
+ PRACTICED_SHIELD_GREEN: b,
13
+ LEARNED_SHIELD_GRAY: N,
14
+ LEARNED_SHIELD_GREEN: H,
15
+ MASTERED_SHIELD_GRAY: k,
16
+ MASTERED_SHIELD_GREEN: y
17
+ } = R, B = C(
18
+ ({ milestoneId: d, showProgress: e, progressInfo: p }) => {
19
+ const {
20
+ familiar_sheets: n = 0,
21
+ proficient_sheets: m = 0,
22
+ mastered_sheets: s = 0,
23
+ total_core_sheets: o = 0
24
+ } = p || {}, i = o > 0, h = i && n === o, E = i && m === o, S = i && s === o, l = e ? 40 : 20, f = [
25
+ {
26
+ imageUrl: h ? H : N,
27
+ completedSheetsCount: n,
28
+ key: "milestone-widget-learned-badge-data"
29
+ },
30
+ {
31
+ imageUrl: E ? b : T,
32
+ completedSheetsCount: m,
33
+ key: "milestone-widget-practiced-badge-data"
34
+ },
35
+ {
36
+ imageUrl: S ? y : k,
37
+ completedSheetsCount: s,
38
+ key: "milestone-widget-mastered-badge-data"
39
+ }
40
+ ];
41
+ return /* @__PURE__ */ t(a, { $flexGapX: 2, id: `milestone-progress-${d}`, children: /* @__PURE__ */ t(
42
+ a,
43
+ {
44
+ $flexDirection: "row",
45
+ $flexGapX: e ? 1.5 : 0.75,
46
+ $flexWrap: !e,
47
+ children: f.map((_) => {
48
+ const { key: g, imageUrl: I, completedSheetsCount: A } = _, r = G(
49
+ A,
50
+ o
51
+ );
52
+ return /* @__PURE__ */ t(D, { children: /* @__PURE__ */ t(
53
+ L,
54
+ {
55
+ position: "bottom",
56
+ renderAs: "secondary",
57
+ tooltipItem: `${r}%`,
58
+ hidden: !e,
59
+ children: /* @__PURE__ */ c(
60
+ a,
61
+ {
62
+ $flexDirection: e ? "column" : "row",
63
+ $flexGapX: e ? 0.5 : 0.25,
64
+ $alignItems: "center",
65
+ $width: "100%",
66
+ children: [
67
+ /* @__PURE__ */ t($, { withLoader: !0, src: I, width: l, height: l }),
68
+ e ? /* @__PURE__ */ t(u, { $progress: r }) : /* @__PURE__ */ c(
69
+ x,
70
+ {
71
+ $renderAs: "ac4-black",
72
+ $color: r === 100 ? "GREEN_5" : "BLACK_T_60",
73
+ children: [
74
+ r,
75
+ "%"
76
+ ]
77
+ }
78
+ )
79
+ ]
80
+ }
81
+ )
82
+ }
83
+ ) }, g);
84
+ })
85
+ }
86
+ ) });
87
+ }
88
+ );
89
+ export {
90
+ B as default
91
+ };
92
+ //# sourceMappingURL=milestone-progress-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestone-progress-v2.js","sources":["../../../../../../src/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.tsx"],"sourcesContent":["import type { IMileStoneProgressInfoV2Props } from './types';\nimport type { FC } from 'react';\n\nimport { Fragment, memo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { getSheetCompletionPercentage } from '../milestone-progress/milestone-progress-utils';\nimport * as Styled from './styled';\n\nconst {\n PRACTICED_SHIELD_GREY,\n PRACTICED_SHIELD_GREEN,\n LEARNED_SHIELD_GRAY,\n LEARNED_SHIELD_GREEN,\n MASTERED_SHIELD_GRAY,\n MASTERED_SHIELD_GREEN,\n} = ILLUSTRATIONS;\n\nconst MilestoneProgressInfoV2: FC<IMileStoneProgressInfoV2Props> = memo(\n ({ milestoneId, showProgress, progressInfo }) => {\n const {\n familiar_sheets: familiarSheets = 0,\n proficient_sheets: proficientSheets = 0,\n mastered_sheets: masteredSheets = 0,\n total_core_sheets: totalCoreSheets = 0,\n } = progressInfo || {};\n\n const hasCoreSheets = totalCoreSheets > 0;\n\n const hasCompletedLearningSheets = hasCoreSheets && familiarSheets === totalCoreSheets;\n const hasCompletedPracticeSheets = hasCoreSheets && proficientSheets === totalCoreSheets;\n const hasMasteredAllSheets = hasCoreSheets && masteredSheets === totalCoreSheets;\n\n const badgeSize = showProgress ? 40 : 20;\n const badgesInfo = [\n {\n imageUrl: hasCompletedLearningSheets ? LEARNED_SHIELD_GREEN : LEARNED_SHIELD_GRAY,\n completedSheetsCount: familiarSheets,\n key: 'milestone-widget-learned-badge-data',\n },\n {\n imageUrl: hasCompletedPracticeSheets ? PRACTICED_SHIELD_GREEN : PRACTICED_SHIELD_GREY,\n completedSheetsCount: proficientSheets,\n key: 'milestone-widget-practiced-badge-data',\n },\n {\n imageUrl: hasMasteredAllSheets ? MASTERED_SHIELD_GREEN : MASTERED_SHIELD_GRAY,\n completedSheetsCount: masteredSheets,\n key: 'milestone-widget-mastered-badge-data',\n },\n ];\n\n return (\n <FlexView $flexGapX={2} id={`milestone-progress-${milestoneId}`}>\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={showProgress ? 1.5 : 0.75}\n $flexWrap={!showProgress}\n >\n {badgesInfo.map(badgeData => {\n const { key, imageUrl, completedSheetsCount } = badgeData;\n\n const progressPercentage = getSheetCompletionPercentage(\n completedSheetsCount,\n totalCoreSheets,\n );\n\n return (\n <Fragment key={key}>\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"secondary\"\n tooltipItem={`${progressPercentage}%`}\n hidden={!showProgress}\n >\n <FlexView\n $flexDirection={showProgress ? 'column' : 'row'}\n $flexGapX={showProgress ? 0.5 : 0.25}\n $alignItems=\"center\"\n $width=\"100%\"\n >\n <Image withLoader src={imageUrl} width={badgeSize} height={badgeSize} />\n\n {showProgress ? (\n <Styled.Progress $progress={progressPercentage} />\n ) : (\n <Text\n $renderAs=\"ac4-black\"\n $color={progressPercentage === 100 ? 'GREEN_5' : 'BLACK_T_60'}\n >\n {progressPercentage}%\n </Text>\n )}\n </FlexView>\n </ArrowTooltip>\n </Fragment>\n );\n })}\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default MilestoneProgressInfoV2;\n"],"names":["PRACTICED_SHIELD_GREY","PRACTICED_SHIELD_GREEN","LEARNED_SHIELD_GRAY","LEARNED_SHIELD_GREEN","MASTERED_SHIELD_GRAY","MASTERED_SHIELD_GREEN","ILLUSTRATIONS","MilestoneProgressInfoV2","memo","milestoneId","showProgress","progressInfo","familiarSheets","proficientSheets","masteredSheets","totalCoreSheets","hasCoreSheets","hasCompletedLearningSheets","hasCompletedPracticeSheets","hasMasteredAllSheets","badgeSize","badgesInfo","FlexView","jsx","badgeData","key","imageUrl","completedSheetsCount","progressPercentage","getSheetCompletionPercentage","Fragment","ArrowTooltip","jsxs","Image","Styled.Progress","Text"],"mappings":";;;;;;;;;AAaA,MAAM;AAAA,EACJ,uBAAAA;AAAA,EACA,wBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,uBAAAC;AACF,IAAIC,GAEEC,IAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,cAAAC,GAAc,cAAAC,QAAmB;AACzC,UAAA;AAAA,MACJ,iBAAiBC,IAAiB;AAAA,MAClC,mBAAmBC,IAAmB;AAAA,MACtC,iBAAiBC,IAAiB;AAAA,MAClC,mBAAmBC,IAAkB;AAAA,IAAA,IACnCJ,KAAgB,CAAA,GAEdK,IAAgBD,IAAkB,GAElCE,IAA6BD,KAAiBJ,MAAmBG,GACjEG,IAA6BF,KAAiBH,MAAqBE,GACnEI,IAAuBH,KAAiBF,MAAmBC,GAE3DK,IAAYV,IAAe,KAAK,IAChCW,IAAa;AAAA,MACjB;AAAA,QACE,UAAUJ,IAA6Bd,IAAuBD;AAAA,QAC9D,sBAAsBU;AAAA,QACtB,KAAK;AAAA,MACP;AAAA,MACA;AAAA,QACE,UAAUM,IAA6BjB,IAAyBD;AAAA,QAChE,sBAAsBa;AAAA,QACtB,KAAK;AAAA,MACP;AAAA,MACA;AAAA,QACE,UAAUM,IAAuBd,IAAwBD;AAAA,QACzD,sBAAsBU;AAAA,QACtB,KAAK;AAAA,MACP;AAAA,IAAA;AAGF,6BACGQ,GAAS,EAAA,WAAW,GAAG,IAAI,sBAAsBb,CAAW,IAC3D,UAAA,gBAAAc;AAAA,MAACD;AAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,WAAWZ,IAAe,MAAM;AAAA,QAChC,WAAW,CAACA;AAAA,QAEX,UAAAW,EAAW,IAAI,CAAaG,MAAA;AAC3B,gBAAM,EAAE,KAAAC,GAAK,UAAAC,GAAU,sBAAAC,EAAA,IAAyBH,GAE1CI,IAAqBC;AAAA,YACzBF;AAAA,YACAZ;AAAA,UAAA;AAGF,mCACGe,GACC,EAAA,UAAA,gBAAAP;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,aAAa,GAAGH,CAAkB;AAAA,cAClC,QAAQ,CAAClB;AAAA,cAET,UAAA,gBAAAsB;AAAA,gBAACV;AAAA,gBAAA;AAAA,kBACC,gBAAgBZ,IAAe,WAAW;AAAA,kBAC1C,WAAWA,IAAe,MAAM;AAAA,kBAChC,aAAY;AAAA,kBACZ,QAAO;AAAA,kBAEP,UAAA;AAAA,oBAAC,gBAAAa,EAAAU,GAAA,EAAM,YAAU,IAAC,KAAKP,GAAU,OAAON,GAAW,QAAQA,EAAW,CAAA;AAAA,oBAErEV,IACE,gBAAAa,EAAAW,GAAA,EAAgB,WAAWN,EAAoB,CAAA,IAEhD,gBAAAI;AAAA,sBAACG;AAAA,sBAAA;AAAA,wBACC,WAAU;AAAA,wBACV,QAAQP,MAAuB,MAAM,YAAY;AAAA,wBAEhD,UAAA;AAAA,0BAAAA;AAAA,0BAAmB;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBACtB;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAEJ;AAAA,YAAA;AAAA,UAAA,KAzBWH,CA2Bf;AAAA,QAAA,CAEH;AAAA,MAAA;AAAA,IAEL,EAAA,CAAA;AAAA,EAEJ;AACF;"}
@@ -0,0 +1,25 @@
1
+ import d from "styled-components";
2
+ const s = d.div(({ theme: r, $progress: o }) => {
3
+ const { BLACK_T_15: t, GREEN_5: i, BLACK_T_87: e } = r.colors;
4
+ return `
5
+ width: 100%;
6
+ height: 4px;
7
+ border-radius: 16px;
8
+ background-color: ${t};
9
+ position: relative;
10
+
11
+ &::after {
12
+ content: '';
13
+ position: absolute;
14
+ top: 0;
15
+ width: ${o}%;
16
+ height: 4px;
17
+ border-radius: 16px;
18
+ background-color: ${o === 100 ? i : e}
19
+ }
20
+ `;
21
+ });
22
+ export {
23
+ s as Progress
24
+ };
25
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sources":["../../../../../../src/features/milestone/create/comps/milestone-progress-v2/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\ntype TProgressProps = {\n $progress?: number;\n};\n\nconst Progress = styled.div<TProgressProps>(({ theme, $progress }) => {\n const { BLACK_T_15, GREEN_5, BLACK_T_87 } = theme.colors;\n\n return `\n width: 100%;\n height: 4px;\n border-radius: 16px;\n background-color: ${BLACK_T_15};\n position: relative;\n \n &::after {\n content: '';\n position: absolute;\n top: 0;\n width: ${$progress}%;\n height: 4px;\n border-radius: 16px;\n background-color: ${$progress === 100 ? GREEN_5 : BLACK_T_87}\n }\n `;\n});\n\nexport { Progress };\n"],"names":["Progress","styled","theme","$progress","BLACK_T_15","GREEN_5","BLACK_T_87"],"mappings":";AAMA,MAAMA,IAAWC,EAAO,IAAoB,CAAC,EAAE,OAAAC,GAAO,WAAAC,QAAgB;AACpE,QAAM,EAAE,YAAAC,GAAY,SAAAC,GAAS,YAAAC,EAAA,IAAeJ,EAAM;AAE3C,SAAA;AAAA;AAAA;AAAA;AAAA,0BAIiBE,CAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAOnBD,CAAS;AAAA;AAAA;AAAA,4BAGEA,MAAc,MAAME,IAAUC,CAAU;AAAA;AAAA;AAGpE,CAAC;"}
@@ -1,5 +1,5 @@
1
- import { jsxs as $, jsx as N } from "react/jsx-runtime";
2
- import { memo as q, useState as s, useMemo as f, useCallback as n } from "react";
1
+ import { jsxs as $, jsx as P } from "react/jsx-runtime";
2
+ import { memo as q, useState as s, useMemo as f, useCallback as i } from "react";
3
3
  import { EVENTS as z } from "../../../../communication/pub-sub/constants.js";
4
4
  import { useInClassActionDispatcher as B } from "../../../../communication/pub-sub/hooks.js";
5
5
  import G from "../../../../ui/context/context.js";
@@ -10,43 +10,45 @@ import X from "../delete-milestone/confirm-delete.js";
10
10
  import { useMilestonePatch as Z } from "./api/patch-milestone.js";
11
11
  import ee from "./edit-milestone.js";
12
12
  import { parse as te } from "../../../../../node_modules/date-fns/parse.js";
13
- const P = {
13
+ const v = {
14
14
  DELETE_CONFIRM: "delete_confirm",
15
15
  EDIT: "edit"
16
16
  }, oe = q(
17
17
  ({
18
- milestoneName: v,
18
+ milestoneName: I,
19
19
  milestoneId: e,
20
- milestoneDueDate: p,
21
- studentId: u,
22
- isMilestoneChaptersListEditable: I,
20
+ milestoneDueDate: u,
21
+ studentId: E,
22
+ isMilestoneChaptersListEditable: g,
23
23
  isMilestoneDateEditable: x,
24
- isClassOngoing: E,
24
+ isClassOngoing: a,
25
25
  onDelete: F,
26
- analyticsProps: M,
27
- canDelete: O,
28
- milestoneState: w,
29
- studentClassroomId: A,
30
- courseStream: _
26
+ analyticsProps: _,
27
+ canDelete: w,
28
+ milestoneState: A,
29
+ studentClassroomId: L,
30
+ courseStream: M
31
31
  }) => {
32
- const [D, L] = s("edit"), [t, R] = s(p), [i, h] = s(!1), [r, C] = s(!1), [c, l] = s(""), o = f(
32
+ const [D, O] = s("edit"), [t, R] = s(u), [r, h] = s(!1), [c, C] = s(!1), [l, m] = s(""), o = f(
33
33
  () => Math.floor((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0) / 1e3),
34
34
  []
35
- ), a = f(
35
+ ), n = f(
36
36
  () => o + K,
37
37
  [o]
38
- ), { dispatchInClassAction: T } = B({ studentClassroomId: A }), V = t !== p, g = n(() => {
39
- i && h(!1), r && C(!1);
40
- }, [i, r]), k = n(
41
- (m) => {
42
- if (m) {
38
+ ), { dispatchInClassAction: T } = B({ studentClassroomId: L }), V = t !== u, S = i(() => {
39
+ r && h(!1), c && C(!1);
40
+ }, [r, c]), k = i(
41
+ (d) => {
42
+ if (d) {
43
43
  C(!0);
44
44
  return;
45
45
  }
46
46
  Q({
47
47
  milestone_state_group: "LIVE",
48
- course_stream: _,
49
- student_id: u
48
+ with_plan: !0,
49
+ course_stream: M,
50
+ student_id: E,
51
+ in_class: a
50
52
  }), h(!0), T({
51
53
  eventName: z.MILESTONE_EDITED,
52
54
  eventPayload: {
@@ -54,59 +56,59 @@ const P = {
54
56
  }
55
57
  });
56
58
  },
57
- [T, e, u, _]
58
- ), { patch: S, isProcessing: b } = Z({
59
+ [T, a, e, E, M]
60
+ ), { patch: y, isProcessing: b } = Z({
59
61
  onComplete: k
60
- }), j = n(
61
- (m) => {
62
- g();
63
- const y = m.target.value;
64
- if (!y) return;
65
- const d = te(y, "yyyy-MM-dd", /* @__PURE__ */ new Date()).getTime() / 1e3;
66
- c && d >= o && d < a && l(""), R(d);
62
+ }), j = i(
63
+ (d) => {
64
+ S();
65
+ const N = d.target.value;
66
+ if (!N) return;
67
+ const p = te(N, "yyyy-MM-dd", /* @__PURE__ */ new Date()).getTime() / 1e3;
68
+ l && p >= o && p < n && m(""), R(p);
67
69
  },
68
- [c, g, a, o]
69
- ), U = n(() => {
70
- if (t < o || t > a) {
71
- t < o ? l("Please enter a future date") : l("Please select a date within the next year");
70
+ [l, S, n, o]
71
+ ), U = i(() => {
72
+ if (t < o || t > n) {
73
+ t < o ? m("Please enter a future date") : m("Please select a date within the next year");
72
74
  return;
73
75
  }
74
- S(e, {
76
+ y(e, {
75
77
  milestone_date_ts: t
76
78
  });
77
79
  }, [
78
80
  e,
79
81
  t,
80
- a,
82
+ n,
81
83
  o,
82
- S
84
+ y
83
85
  ]), Y = () => {
84
- L(P.DELETE_CONFIRM);
86
+ O(v.DELETE_CONFIRM);
85
87
  }, H = f(() => ({
86
- ...M,
88
+ ..._,
87
89
  milestone_id: e,
88
90
  temporary_milestone_id: e,
89
- is_student_class_ongoing: E
90
- }), [M, E, e]), W = J(H);
91
+ is_student_class_ongoing: a
92
+ }), [_, a, e]), W = J(H);
91
93
  return /* @__PURE__ */ $(G.Provider, { value: W, children: [
92
- D === P.DELETE_CONFIRM && /* @__PURE__ */ N(X, { milestoneId: e, onDelete: F }),
93
- D === "edit" && /* @__PURE__ */ N(
94
+ D === v.DELETE_CONFIRM && /* @__PURE__ */ P(X, { milestoneId: e, onDelete: F }),
95
+ D === "edit" && /* @__PURE__ */ P(
94
96
  ee,
95
97
  {
96
- inputMilestoneName: v,
98
+ inputMilestoneName: I,
97
99
  areDateUpdatesDisabled: !x,
98
100
  handleDateChange: j,
99
101
  inputMilestoneDate: t,
100
102
  anyFieldChanged: V,
101
103
  isProcessing: b,
102
- isDataPatched: i,
103
- isMilestoneChaptersListEditable: I,
104
+ isDataPatched: r,
105
+ isMilestoneChaptersListEditable: g,
104
106
  onSave: U,
105
- isPatchingFailed: r,
107
+ isPatchingFailed: c,
106
108
  onDeleteOptionClick: Y,
107
- errorMessage: c,
108
- canDelete: O,
109
- milestoneState: w
109
+ errorMessage: l,
110
+ canDelete: w,
111
+ milestoneState: A
110
112
  }
111
113
  )
112
114
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/features/milestone/edit/comps/edit-milestone-modal/index.tsx"],"sourcesContent":["import type { IEditMilestoneModalProps } from './edit-milestone-modal-types';\nimport type { ChangeEvent } from 'react';\n\nimport { parse } from 'date-fns';\nimport React, { memo, useCallback, useMemo, useState } from 'react';\n\nimport { EVENTS } from '../../../../communication/pub-sub/constants';\nimport { useInClassActionDispatcher } from '../../../../communication/pub-sub/hooks';\nimport UIContext from '../../../../ui/context/context';\nimport useTrackingContext from '../../../../ui/context/use-tracking-context';\nimport { ONE_YEAR_TIMESTAMP_IN_SECONDS } from '../../../constants';\nimport { invalidateMilestonesData } from '../../../milestone-list-container/api/get-milestones';\nimport ConfirmDelete from '../delete-milestone/confirm-delete';\nimport { useMilestonePatch } from './api/patch-milestone';\nimport EditMilestone from './edit-milestone';\n\nconst VIEWS = {\n DELETE_CONFIRM: 'delete_confirm',\n EDIT: 'edit',\n};\n\n// https://github.com/cuemath/package-leap/issues/409\nconst EditDeleteMilestone: React.FC<IEditMilestoneModalProps> = memo(\n ({\n milestoneName,\n milestoneId,\n milestoneDueDate,\n studentId,\n isMilestoneChaptersListEditable,\n isMilestoneDateEditable,\n isClassOngoing,\n onDelete,\n analyticsProps,\n canDelete,\n milestoneState,\n studentClassroomId,\n courseStream,\n }) => {\n const [view, setView] = useState<(typeof VIEWS)[keyof typeof VIEWS]>('edit');\n\n const [inputMilestoneDate, setMilestoneDate] = useState(milestoneDueDate);\n const [isDataPatched, setIsDataPatched] = useState(false);\n const [isPatchingFailed, setIsPatchingFailed] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const todayTimestampSeconds = useMemo(\n () => Math.floor(new Date().setHours(0, 0, 0, 0) / 1000),\n [],\n );\n const oneYearFutureTimestampSeconds = useMemo(\n () => todayTimestampSeconds + ONE_YEAR_TIMESTAMP_IN_SECONDS,\n [todayTimestampSeconds],\n );\n\n const { dispatchInClassAction } = useInClassActionDispatcher({ studentClassroomId });\n\n const anyFieldChanged = inputMilestoneDate !== milestoneDueDate;\n\n const handleClearState = useCallback(() => {\n if (isDataPatched) {\n setIsDataPatched(false);\n }\n\n if (isPatchingFailed) {\n setIsPatchingFailed(false);\n }\n }, [isDataPatched, isPatchingFailed]);\n\n const handleOnComplete = useCallback(\n (errorMsg: string | null) => {\n if (errorMsg) {\n setIsPatchingFailed(true);\n\n return;\n }\n\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n course_stream: courseStream,\n student_id: studentId,\n });\n setIsDataPatched(true);\n dispatchInClassAction({\n eventName: EVENTS.MILESTONE_EDITED,\n eventPayload: {\n milestoneId,\n },\n });\n },\n [dispatchInClassAction, milestoneId, studentId, courseStream],\n );\n\n const { patch: updateMilestone, isProcessing } = useMilestonePatch({\n onComplete: handleOnComplete,\n });\n\n const handleDateChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n handleClearState();\n const value = e.target.value;\n\n if (!value) return;\n\n const timestampInSeconds = parse(value, 'yyyy-MM-dd', new Date()).getTime() / 1000;\n\n if (\n errorMessage &&\n timestampInSeconds >= todayTimestampSeconds &&\n timestampInSeconds < oneYearFutureTimestampSeconds\n ) {\n setErrorMessage('');\n }\n\n setMilestoneDate(timestampInSeconds);\n },\n [errorMessage, handleClearState, oneYearFutureTimestampSeconds, todayTimestampSeconds],\n );\n\n const onSave = useCallback(() => {\n if (\n inputMilestoneDate < todayTimestampSeconds ||\n inputMilestoneDate > oneYearFutureTimestampSeconds\n ) {\n if (inputMilestoneDate < todayTimestampSeconds) {\n setErrorMessage('Please enter a future date');\n } else {\n setErrorMessage('Please select a date within the next year');\n }\n\n return;\n }\n\n updateMilestone(milestoneId, {\n milestone_date_ts: inputMilestoneDate,\n });\n }, [\n milestoneId,\n inputMilestoneDate,\n oneYearFutureTimestampSeconds,\n todayTimestampSeconds,\n updateMilestone,\n ]);\n\n const onDeleteOptionClick = () => {\n setView(VIEWS.DELETE_CONFIRM);\n };\n\n const commonAnalytics = useMemo(() => {\n return {\n ...analyticsProps,\n milestone_id: milestoneId,\n temporary_milestone_id: milestoneId,\n is_student_class_ongoing: isClassOngoing,\n };\n }, [analyticsProps, isClassOngoing, milestoneId]);\n\n const analyticsContext = useTrackingContext(commonAnalytics);\n\n return (\n <UIContext.Provider value={analyticsContext}>\n {view === VIEWS.DELETE_CONFIRM && (\n <ConfirmDelete milestoneId={milestoneId} onDelete={onDelete} />\n )}\n\n {view === 'edit' && (\n <EditMilestone\n inputMilestoneName={milestoneName}\n areDateUpdatesDisabled={!isMilestoneDateEditable}\n handleDateChange={handleDateChange}\n inputMilestoneDate={inputMilestoneDate}\n anyFieldChanged={anyFieldChanged}\n isProcessing={isProcessing}\n isDataPatched={isDataPatched}\n isMilestoneChaptersListEditable={isMilestoneChaptersListEditable}\n onSave={onSave}\n isPatchingFailed={isPatchingFailed}\n onDeleteOptionClick={onDeleteOptionClick}\n errorMessage={errorMessage}\n canDelete={canDelete}\n milestoneState={milestoneState}\n />\n )}\n </UIContext.Provider>\n );\n },\n);\n\nexport default EditDeleteMilestone;\n"],"names":["VIEWS","EditDeleteMilestone","memo","milestoneName","milestoneId","milestoneDueDate","studentId","isMilestoneChaptersListEditable","isMilestoneDateEditable","isClassOngoing","onDelete","analyticsProps","canDelete","milestoneState","studentClassroomId","courseStream","view","setView","useState","inputMilestoneDate","setMilestoneDate","isDataPatched","setIsDataPatched","isPatchingFailed","setIsPatchingFailed","errorMessage","setErrorMessage","todayTimestampSeconds","useMemo","oneYearFutureTimestampSeconds","ONE_YEAR_TIMESTAMP_IN_SECONDS","dispatchInClassAction","useInClassActionDispatcher","anyFieldChanged","handleClearState","useCallback","handleOnComplete","errorMsg","invalidateMilestonesData","EVENTS","updateMilestone","isProcessing","useMilestonePatch","handleDateChange","e","value","timestampInSeconds","parse","onSave","onDeleteOptionClick","commonAnalytics","analyticsContext","useTrackingContext","jsxs","UIContext","jsx","ConfirmDelete","EditMilestone","EditDeleteMilestone$1"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/features/milestone/edit/comps/edit-milestone-modal/index.tsx"],"sourcesContent":["import type { IEditMilestoneModalProps } from './edit-milestone-modal-types';\nimport type { ChangeEvent } from 'react';\n\nimport { parse } from 'date-fns';\nimport React, { memo, useCallback, useMemo, useState } from 'react';\n\nimport { EVENTS } from '../../../../communication/pub-sub/constants';\nimport { useInClassActionDispatcher } from '../../../../communication/pub-sub/hooks';\nimport UIContext from '../../../../ui/context/context';\nimport useTrackingContext from '../../../../ui/context/use-tracking-context';\nimport { ONE_YEAR_TIMESTAMP_IN_SECONDS } from '../../../constants';\nimport { invalidateMilestonesData } from '../../../milestone-list-container/api/get-milestones';\nimport ConfirmDelete from '../delete-milestone/confirm-delete';\nimport { useMilestonePatch } from './api/patch-milestone';\nimport EditMilestone from './edit-milestone';\n\nconst VIEWS = {\n DELETE_CONFIRM: 'delete_confirm',\n EDIT: 'edit',\n};\n\n// https://github.com/cuemath/package-leap/issues/409\nconst EditDeleteMilestone: React.FC<IEditMilestoneModalProps> = memo(\n ({\n milestoneName,\n milestoneId,\n milestoneDueDate,\n studentId,\n isMilestoneChaptersListEditable,\n isMilestoneDateEditable,\n isClassOngoing,\n onDelete,\n analyticsProps,\n canDelete,\n milestoneState,\n studentClassroomId,\n courseStream,\n }) => {\n const [view, setView] = useState<(typeof VIEWS)[keyof typeof VIEWS]>('edit');\n\n const [inputMilestoneDate, setMilestoneDate] = useState(milestoneDueDate);\n const [isDataPatched, setIsDataPatched] = useState(false);\n const [isPatchingFailed, setIsPatchingFailed] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const todayTimestampSeconds = useMemo(\n () => Math.floor(new Date().setHours(0, 0, 0, 0) / 1000),\n [],\n );\n const oneYearFutureTimestampSeconds = useMemo(\n () => todayTimestampSeconds + ONE_YEAR_TIMESTAMP_IN_SECONDS,\n [todayTimestampSeconds],\n );\n\n const { dispatchInClassAction } = useInClassActionDispatcher({ studentClassroomId });\n\n const anyFieldChanged = inputMilestoneDate !== milestoneDueDate;\n\n const handleClearState = useCallback(() => {\n if (isDataPatched) {\n setIsDataPatched(false);\n }\n\n if (isPatchingFailed) {\n setIsPatchingFailed(false);\n }\n }, [isDataPatched, isPatchingFailed]);\n\n const handleOnComplete = useCallback(\n (errorMsg: string | null) => {\n if (errorMsg) {\n setIsPatchingFailed(true);\n\n return;\n }\n\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n });\n setIsDataPatched(true);\n dispatchInClassAction({\n eventName: EVENTS.MILESTONE_EDITED,\n eventPayload: {\n milestoneId,\n },\n });\n },\n [dispatchInClassAction, isClassOngoing, milestoneId, studentId, courseStream],\n );\n\n const { patch: updateMilestone, isProcessing } = useMilestonePatch({\n onComplete: handleOnComplete,\n });\n\n const handleDateChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n handleClearState();\n const value = e.target.value;\n\n if (!value) return;\n\n const timestampInSeconds = parse(value, 'yyyy-MM-dd', new Date()).getTime() / 1000;\n\n if (\n errorMessage &&\n timestampInSeconds >= todayTimestampSeconds &&\n timestampInSeconds < oneYearFutureTimestampSeconds\n ) {\n setErrorMessage('');\n }\n\n setMilestoneDate(timestampInSeconds);\n },\n [errorMessage, handleClearState, oneYearFutureTimestampSeconds, todayTimestampSeconds],\n );\n\n const onSave = useCallback(() => {\n if (\n inputMilestoneDate < todayTimestampSeconds ||\n inputMilestoneDate > oneYearFutureTimestampSeconds\n ) {\n if (inputMilestoneDate < todayTimestampSeconds) {\n setErrorMessage('Please enter a future date');\n } else {\n setErrorMessage('Please select a date within the next year');\n }\n\n return;\n }\n\n updateMilestone(milestoneId, {\n milestone_date_ts: inputMilestoneDate,\n });\n }, [\n milestoneId,\n inputMilestoneDate,\n oneYearFutureTimestampSeconds,\n todayTimestampSeconds,\n updateMilestone,\n ]);\n\n const onDeleteOptionClick = () => {\n setView(VIEWS.DELETE_CONFIRM);\n };\n\n const commonAnalytics = useMemo(() => {\n return {\n ...analyticsProps,\n milestone_id: milestoneId,\n temporary_milestone_id: milestoneId,\n is_student_class_ongoing: isClassOngoing,\n };\n }, [analyticsProps, isClassOngoing, milestoneId]);\n\n const analyticsContext = useTrackingContext(commonAnalytics);\n\n return (\n <UIContext.Provider value={analyticsContext}>\n {view === VIEWS.DELETE_CONFIRM && (\n <ConfirmDelete milestoneId={milestoneId} onDelete={onDelete} />\n )}\n\n {view === 'edit' && (\n <EditMilestone\n inputMilestoneName={milestoneName}\n areDateUpdatesDisabled={!isMilestoneDateEditable}\n handleDateChange={handleDateChange}\n inputMilestoneDate={inputMilestoneDate}\n anyFieldChanged={anyFieldChanged}\n isProcessing={isProcessing}\n isDataPatched={isDataPatched}\n isMilestoneChaptersListEditable={isMilestoneChaptersListEditable}\n onSave={onSave}\n isPatchingFailed={isPatchingFailed}\n onDeleteOptionClick={onDeleteOptionClick}\n errorMessage={errorMessage}\n canDelete={canDelete}\n milestoneState={milestoneState}\n />\n )}\n </UIContext.Provider>\n );\n },\n);\n\nexport default EditDeleteMilestone;\n"],"names":["VIEWS","EditDeleteMilestone","memo","milestoneName","milestoneId","milestoneDueDate","studentId","isMilestoneChaptersListEditable","isMilestoneDateEditable","isClassOngoing","onDelete","analyticsProps","canDelete","milestoneState","studentClassroomId","courseStream","view","setView","useState","inputMilestoneDate","setMilestoneDate","isDataPatched","setIsDataPatched","isPatchingFailed","setIsPatchingFailed","errorMessage","setErrorMessage","todayTimestampSeconds","useMemo","oneYearFutureTimestampSeconds","ONE_YEAR_TIMESTAMP_IN_SECONDS","dispatchInClassAction","useInClassActionDispatcher","anyFieldChanged","handleClearState","useCallback","handleOnComplete","errorMsg","invalidateMilestonesData","EVENTS","updateMilestone","isProcessing","useMilestonePatch","handleDateChange","e","value","timestampInSeconds","parse","onSave","onDeleteOptionClick","commonAnalytics","analyticsContext","useTrackingContext","jsxs","UIContext","jsx","ConfirmDelete","EditMilestone","EditDeleteMilestone$1"],"mappings":";;;;;;;;;;;;AAgBA,MAAMA,IAAQ;AAAA,EACZ,gBAAgB;AAAA,EAChB,MAAM;AACR,GAGMC,KAA0DC;AAAA,EAC9D,CAAC;AAAA,IACC,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iCAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,MACI;AACJ,UAAM,CAACC,GAAMC,CAAO,IAAIC,EAA6C,MAAM,GAErE,CAACC,GAAoBC,CAAgB,IAAIF,EAASb,CAAgB,GAClE,CAACgB,GAAeC,CAAgB,IAAIJ,EAAS,EAAK,GAClD,CAACK,GAAkBC,CAAmB,IAAIN,EAAS,EAAK,GACxD,CAACO,GAAcC,CAAe,IAAIR,EAAS,EAAE,GAC7CS,IAAwBC;AAAA,MAC5B,MAAM,KAAK,OAAM,oBAAI,KAAK,GAAE,SAAS,GAAG,GAAG,GAAG,CAAC,IAAI,GAAI;AAAA,MACvD,CAAC;AAAA,IAAA,GAEGC,IAAgCD;AAAA,MACpC,MAAMD,IAAwBG;AAAA,MAC9B,CAACH,CAAqB;AAAA,IAAA,GAGlB,EAAE,uBAAAI,EAAsB,IAAIC,EAA2B,EAAE,oBAAAlB,EAAoB,CAAA,GAE7EmB,IAAkBd,MAAuBd,GAEzC6B,IAAmBC,EAAY,MAAM;AACzC,MAAId,KACFC,EAAiB,EAAK,GAGpBC,KACFC,EAAoB,EAAK;AAAA,IAC3B,GACC,CAACH,GAAeE,CAAgB,CAAC,GAE9Ba,IAAmBD;AAAA,MACvB,CAACE,MAA4B;AAC3B,YAAIA,GAAU;AACZ,UAAAb,EAAoB,EAAI;AAExB;AAAA,QACF;AAEyB,QAAAc,EAAA;AAAA,UACvB,uBAAuB;AAAA,UACvB,WAAW;AAAA,UACX,eAAevB;AAAA,UACf,YAAYT;AAAA,UACZ,UAAUG;AAAA,QAAA,CACX,GACDa,EAAiB,EAAI,GACCS,EAAA;AAAA,UACpB,WAAWQ,EAAO;AAAA,UAClB,cAAc;AAAA,YACZ,aAAAnC;AAAA,UACF;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MACA,CAAC2B,GAAuBtB,GAAgBL,GAAaE,GAAWS,CAAY;AAAA,IAAA,GAGxE,EAAE,OAAOyB,GAAiB,cAAAC,EAAA,IAAiBC,EAAkB;AAAA,MACjE,YAAYN;AAAA,IAAA,CACb,GAEKO,IAAmBR;AAAA,MACvB,CAACS,MAAqC;AACnB,QAAAV;AACX,cAAAW,IAAQD,EAAE,OAAO;AAEvB,YAAI,CAACC,EAAO;AAEN,cAAAC,IAAqBC,GAAMF,GAAO,kCAAkB,MAAM,EAAE,QAAY,IAAA;AAE9E,QACEpB,KACAqB,KAAsBnB,KACtBmB,IAAqBjB,KAErBH,EAAgB,EAAE,GAGpBN,EAAiB0B,CAAkB;AAAA,MACrC;AAAA,MACA,CAACrB,GAAcS,GAAkBL,GAA+BF,CAAqB;AAAA,IAAA,GAGjFqB,IAASb,EAAY,MAAM;AAE7B,UAAAhB,IAAqBQ,KACrBR,IAAqBU,GACrB;AACA,QAAIV,IAAqBQ,IACvBD,EAAgB,4BAA4B,IAE5CA,EAAgB,2CAA2C;AAG7D;AAAA,MACF;AAEA,MAAAc,EAAgBpC,GAAa;AAAA,QAC3B,mBAAmBe;AAAA,MAAA,CACpB;AAAA,IAAA,GACA;AAAA,MACDf;AAAA,MACAe;AAAA,MACAU;AAAA,MACAF;AAAA,MACAa;AAAA,IAAA,CACD,GAEKS,IAAsB,MAAM;AAChC,MAAAhC,EAAQjB,EAAM,cAAc;AAAA,IAAA,GAGxBkD,IAAkBtB,EAAQ,OACvB;AAAA,MACL,GAAGjB;AAAA,MACH,cAAcP;AAAA,MACd,wBAAwBA;AAAA,MACxB,0BAA0BK;AAAA,IAAA,IAE3B,CAACE,GAAgBF,GAAgBL,CAAW,CAAC,GAE1C+C,IAAmBC,EAAmBF,CAAe;AAE3D,WACG,gBAAAG,EAAAC,EAAU,UAAV,EAAmB,OAAOH,GACxB,UAAA;AAAA,MAAAnC,MAAShB,EAAM,kBACb,gBAAAuD,EAAAC,GAAA,EAAc,aAAApD,GAA0B,UAAAM,GAAoB;AAAA,MAG9DM,MAAS,UACR,gBAAAuC;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,oBAAoBtD;AAAA,UACpB,wBAAwB,CAACK;AAAA,UACzB,kBAAAmC;AAAA,UACA,oBAAAxB;AAAA,UACA,iBAAAc;AAAA,UACA,cAAAQ;AAAA,UACA,eAAApB;AAAA,UACA,iCAAAd;AAAA,UACA,QAAAyC;AAAA,UACA,kBAAAzB;AAAA,UACA,qBAAA0B;AAAA,UACA,cAAAxB;AAAA,UACA,WAAAb;AAAA,UACA,gBAAAC;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF,GAEA6C,KAAezD;"}
@@ -1,18 +1,26 @@
1
- import { createGetAllAPI as o } from "@cuemath/rest-api";
2
- import { BASE_URL_V3_1 as i } from "../../../../constants/api.js";
3
- import { stringify as a } from "../../../../helpers/query-string.js";
4
- const { useGetAll: u, invalidate: _ } = o({
1
+ import { createGetAllAPI as a } from "@cuemath/rest-api";
2
+ import { BASE_URL_V3 as l } from "../../../../constants/api.js";
3
+ import { stringify as n } from "../../../../helpers/query-string.js";
4
+ const { useGetAll: c, invalidate: p } = a({
5
5
  getURL: (e) => {
6
- const { milestone_state_group: t, student_id: s, course_stream: r } = e;
7
- return `${i}/user-milestones/users/${s}/course-streams/${r}/?${a(
6
+ const {
7
+ student_id: t,
8
+ course_stream: s,
9
+ milestone_state_group: r,
10
+ with_plan: i,
11
+ in_class: o = !1
12
+ } = e;
13
+ return `${l}/user-milestones/users/${t}/course-streams/${s}/?${n(
8
14
  {
9
- milestone_state_group: t
15
+ milestone_state_group: r,
16
+ with_plan: i,
17
+ in_class: o
10
18
  }
11
19
  )}`;
12
20
  }
13
21
  });
14
22
  export {
15
- _ as invalidateMilestonesData,
16
- u as useGetAllMilestonesdata
23
+ p as invalidateMilestonesData,
24
+ c as useGetAllMilestonesdata
17
25
  };
18
26
  //# sourceMappingURL=get-milestones.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-milestones.js","sources":["../../../../../src/features/milestone/milestone-list-container/api/get-milestones.ts"],"sourcesContent":["import type { TCourseStream } from '../../create/milestone-create-types';\nimport type { IMilestoneData } from '../milestone-list/milestone-list-types';\n\nimport { createGetAllAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3_1 } from '../../../../constants/api';\nimport { stringify } from '../../../../helpers/query-string';\n\ntype TQuery = {\n milestone_state_group: 'ALL' | 'DRAFT' | 'STUDENT_ALL' | 'LIVE' | 'STUDENT_LIVE' | 'INACTIVE';\n student_id: string;\n course_stream: TCourseStream;\n};\n\nconst { useGetAll: useGetAllMilestonesdata, invalidate: invalidateMilestonesData } =\n createGetAllAPI<IMilestoneData, TQuery>({\n getURL: query => {\n const { milestone_state_group, student_id, course_stream } = query;\n\n return `${BASE_URL_V3_1}/user-milestones/users/${student_id}/course-streams/${course_stream}/?${stringify(\n {\n milestone_state_group,\n },\n )}`;\n },\n });\n\nexport { useGetAllMilestonesdata, invalidateMilestonesData };\n"],"names":["useGetAllMilestonesdata","invalidateMilestonesData","createGetAllAPI","query","milestone_state_group","student_id","course_stream","BASE_URL_V3_1","stringify"],"mappings":";;;AAcA,MAAM,EAAE,WAAWA,GAAyB,YAAYC,EAAA,IACtDC,EAAwC;AAAA,EACtC,QAAQ,CAASC,MAAA;AACf,UAAM,EAAE,uBAAAC,GAAuB,YAAAC,GAAY,eAAAC,EAAA,IAAkBH;AAE7D,WAAO,GAAGI,CAAa,0BAA0BF,CAAU,mBAAmBC,CAAa,KAAKE;AAAA,MAC9F;AAAA,QACE,uBAAAJ;AAAA,MACF;AAAA,IACD,CAAA;AAAA,EACH;AACF,CAAC;"}
1
+ {"version":3,"file":"get-milestones.js","sources":["../../../../../src/features/milestone/milestone-list-container/api/get-milestones.ts"],"sourcesContent":["import type { TCourseStream } from '../../create/milestone-create-types';\nimport type { IMilestoneData } from '../milestone-list/milestone-list-types';\n\nimport { createGetAllAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../../constants/api';\nimport { stringify } from '../../../../helpers/query-string';\n\ntype TQuery = {\n milestone_state_group: 'ALL' | 'DRAFT' | 'STUDENT_ALL' | 'LIVE' | 'STUDENT_LIVE' | 'INACTIVE';\n with_plan: boolean;\n course_stream: TCourseStream;\n student_id: string;\n in_class?: boolean;\n};\n\nconst { useGetAll: useGetAllMilestonesdata, invalidate: invalidateMilestonesData } =\n createGetAllAPI<IMilestoneData, TQuery>({\n getURL: query => {\n const {\n student_id,\n course_stream,\n milestone_state_group,\n with_plan,\n in_class = false,\n } = query;\n\n return `${BASE_URL_V3}/user-milestones/users/${student_id}/course-streams/${course_stream}/?${stringify(\n {\n milestone_state_group,\n with_plan,\n in_class,\n },\n )}`;\n },\n });\n\nexport { useGetAllMilestonesdata, invalidateMilestonesData };\n"],"names":["useGetAllMilestonesdata","invalidateMilestonesData","createGetAllAPI","query","student_id","course_stream","milestone_state_group","with_plan","in_class","BASE_URL_V3","stringify"],"mappings":";;;AAgBA,MAAM,EAAE,WAAWA,GAAyB,YAAYC,EAAA,IACtDC,EAAwC;AAAA,EACtC,QAAQ,CAASC,MAAA;AACT,UAAA;AAAA,MACJ,YAAAC;AAAA,MACA,eAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,UAAAC,IAAW;AAAA,IACT,IAAAL;AAEJ,WAAO,GAAGM,CAAW,0BAA0BL,CAAU,mBAAmBC,CAAa,KAAKK;AAAA,MAC5F;AAAA,QACE,uBAAAJ;AAAA,QACA,WAAAC;AAAA,QACA,UAAAC;AAAA,MACF;AAAA,IACD,CAAA;AAAA,EACH;AACF,CAAC;"}