@cuemath/leap 2.8.60-beta-0.1 → 2.8.60

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 (152) 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/chapters/chapters-list/chapter-item/chapter-item-styled.js +33 -98
  6. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  7. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +47 -76
  8. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  9. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  10. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  11. package/dist/features/chapters/chapters-list/chapters-list.js +70 -65
  12. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  13. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +62 -75
  14. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  15. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +127 -110
  16. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  17. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +92 -0
  18. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -0
  19. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +25 -0
  20. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -0
  21. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +53 -51
  22. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +17 -9
  24. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  25. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +91 -116
  26. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  27. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +13 -0
  28. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +1 -0
  29. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +38 -0
  30. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -0
  31. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +121 -105
  32. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  33. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +173 -145
  34. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +10 -24
  36. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +81 -76
  38. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  39. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +22 -10
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +53 -0
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -0
  43. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +37 -70
  44. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +174 -114
  46. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  47. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +25 -0
  48. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -0
  49. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +16 -29
  50. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  51. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +23 -19
  52. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  53. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +35 -23
  54. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  55. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +36 -34
  56. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  57. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  58. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  59. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +78 -96
  60. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  61. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +68 -77
  62. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
  63. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +3 -4
  64. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  65. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  66. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +29 -30
  67. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  68. package/dist/features/ui/constants/z-index.js +1 -1
  69. package/dist/features/ui/constants/z-index.js.map +1 -1
  70. package/dist/features/ui/context-menu/context-menu-styled.js +14 -28
  71. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  72. package/dist/features/ui/context-menu/context-menu.js +15 -30
  73. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  74. package/dist/features/ui/lottie-animation/lottie-animation.js +39 -24
  75. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  76. package/dist/features/ui/theme/button.js +102 -17
  77. package/dist/features/ui/theme/button.js.map +1 -1
  78. package/dist/index.d.ts +12 -187
  79. package/dist/index.js +471 -487
  80. package/dist/index.js.map +1 -1
  81. package/package.json +1 -1
  82. package/dist/assets/line-icons/icons/alarm.js +0 -41
  83. package/dist/assets/line-icons/icons/alarm.js.map +0 -1
  84. package/dist/assets/line-icons/icons/dart.js +0 -23
  85. package/dist/assets/line-icons/icons/dart.js.map +0 -1
  86. package/dist/assets/line-icons/icons/exclamation.js +0 -26
  87. package/dist/assets/line-icons/icons/exclamation.js.map +0 -1
  88. package/dist/assets/line-icons/icons/home2.js +0 -25
  89. package/dist/assets/line-icons/icons/home2.js.map +0 -1
  90. package/dist/assets/line-icons/icons/important.js +0 -23
  91. package/dist/assets/line-icons/icons/important.js.map +0 -1
  92. package/dist/assets/line-icons/icons/puzzle.js +0 -25
  93. package/dist/assets/line-icons/icons/puzzle.js.map +0 -1
  94. package/dist/assets/line-icons/icons/recap.js +0 -32
  95. package/dist/assets/line-icons/icons/recap.js.map +0 -1
  96. package/dist/assets/line-icons/icons/status.js +0 -41
  97. package/dist/assets/line-icons/icons/status.js.map +0 -1
  98. package/dist/assets/line-icons/icons/testtube.js +0 -33
  99. package/dist/assets/line-icons/icons/testtube.js.map +0 -1
  100. package/dist/features/chapters-v2/api/chapter.js +0 -10
  101. package/dist/features/chapters-v2/api/chapter.js.map +0 -1
  102. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +0 -112
  103. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +0 -1
  104. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +0 -26
  105. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +0 -1
  106. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +0 -69
  107. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +0 -1
  108. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +0 -90
  109. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +0 -1
  110. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +0 -97
  111. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +0 -1
  112. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +0 -52
  113. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +0 -1
  114. package/dist/features/chapters-v2/chapter-details/chapter-details.js +0 -103
  115. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +0 -1
  116. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +0 -13
  117. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +0 -1
  118. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +0 -154
  119. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +0 -1
  120. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +0 -12
  121. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +0 -1
  122. package/dist/features/chapters-v2/comps/node-card/node-card.js +0 -12
  123. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +0 -1
  124. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +0 -32
  125. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +0 -1
  126. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +0 -31
  127. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +0 -1
  128. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +0 -160
  129. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +0 -1
  130. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +0 -184
  131. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +0 -1
  132. package/dist/features/chapters-v2/comps/tag/tag-styled.js +0 -13
  133. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +0 -1
  134. package/dist/features/chapters-v2/comps/tag/tag.js +0 -28
  135. package/dist/features/chapters-v2/comps/tag/tag.js.map +0 -1
  136. package/dist/features/chapters-v2/constants/block-constants.js +0 -20
  137. package/dist/features/chapters-v2/constants/block-constants.js.map +0 -1
  138. package/dist/features/chapters-v2/constants/node-constants.js +0 -15
  139. package/dist/features/chapters-v2/constants/node-constants.js.map +0 -1
  140. package/dist/features/chapters-v2/utils/index.js +0 -40
  141. package/dist/features/chapters-v2/utils/index.js.map +0 -1
  142. package/dist/features/chapters-v2/utils/node-card-utils.js +0 -78
  143. package/dist/features/chapters-v2/utils/node-card-utils.js.map +0 -1
  144. package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
  145. package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
  146. package/dist/static/node-learn-bg.b61f815c.svg +0 -1
  147. package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
  148. package/dist/static/node-project-bg.e6a33e28.svg +0 -1
  149. package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
  150. package/dist/static/node-recap-bg.546154e4.svg +0 -1
  151. package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
  152. package/dist/static/node-video-bg.3df3f73a.svg +0 -1
@@ -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":"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"}
@@ -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;"}
@@ -1,147 +1,122 @@
1
- import { jsxs as t, Fragment as te, jsx as o } from "react/jsx-runtime";
2
- import ne, { memo as oe, useState as ie, useCallback as A } from "react";
3
- import se from "../../../hooks/use-lazy-ref.js";
4
- import C from "../../../ui/buttons/text-button/text-button.js";
5
- import c from "../../../ui/layout/flex-view.js";
6
- import g from "../../../ui/text/text.js";
7
- import re from "./milestone-widget/milestone-widget.js";
8
- import { StyledDownIcon as ae } from "./milestone-widget/milestone-widget-styled.js";
9
- import le from "./no-active-milestone/no-active-milestone.js";
10
- import ce from "../../../../node_modules/uuid/dist/esm-browser/v4.js";
11
- const xe = oe(
12
- ({ milestones: e, studentId: M, milestoneType: r, ...x }) => {
13
- const [a, T] = ie(!1), {
14
- canCreatePlan: m,
15
- isClassOngoing: v,
16
- isFiltersAdded: I,
17
- isStudentPresent: $,
18
- onAddChapter: R,
19
- onAddOutcome: i,
20
- onChapterClick: w,
21
- onCreatePlan: s,
22
- onDelete: E,
23
- onDraftPublish: P,
1
+ import { jsxs as s, Fragment as J, jsx as i } from "react/jsx-runtime";
2
+ import K, { memo as Q, useState as Y } from "react";
3
+ import m from "../../../ui/layout/flex-view.js";
4
+ import Z from "../../../ui/text/text.js";
5
+ import ee from "./milestone-widget/milestone-widget.js";
6
+ import { StyledDownIcon as te } from "./milestone-widget/milestone-widget-styled.js";
7
+ import ne from "./no-active-milestone/no-active-milestone.js";
8
+ const de = Q(
9
+ ({ milestones: e, studentId: f, milestoneType: n, ...p }) => {
10
+ const [o, A] = Y(!1), {
11
+ canCreatePlan: u,
12
+ isClassOngoing: g,
13
+ isFiltersAdded: M,
14
+ isStudentPresent: h,
15
+ onAddChapter: C,
16
+ onAddOutcome: v,
17
+ onChapterClick: I,
18
+ onCreatePlan: P,
19
+ onDelete: T,
20
+ onDraftPublish: x,
24
21
  onEdit: S,
25
- onExpandPastMilestones: f,
26
- onCreateMilestoneTest: D,
27
- onPreview: b,
28
- onReattempt: N,
29
- onReset: F,
30
- onResume: k,
31
- onReview: j,
32
- onStart: G,
33
- onAssignResources: L,
22
+ onExpandPastMilestones: a,
23
+ onCreateMilestoneTest: R,
24
+ onPreview: w,
25
+ onReattempt: E,
26
+ onReset: D,
27
+ onResume: N,
28
+ onReview: $,
29
+ onStart: F,
30
+ onAssignResources: b,
34
31
  onUnAssignSheet: O,
35
32
  onTestPreview: V,
36
33
  onTestReview: _,
37
- onTestStart: y,
38
- activeMilestoneId: z,
39
- activeTabId: B,
34
+ onTestStart: j,
35
+ activeMilestoneId: L,
36
+ activeTabId: k,
40
37
  onWidgetTabSelection: U,
41
- studentName: p,
38
+ studentName: l,
42
39
  teacherName: W,
43
- parentName: X,
44
- userType: d,
45
- courseStream: H
46
- } = x, l = r === "ACTIVE", h = r === "DRAFT", u = se(ce), q = A(() => {
47
- s == null || s(u);
48
- }, [s, u]), J = () => {
49
- !a && f && f(), T(!a);
50
- }, K = A(() => {
51
- i == null || i();
52
- }, [i]);
53
- if (!e) return null;
54
- const Q = e.some(
55
- (n) => n.milestone_state === "ACTIVE"
56
- ), Y = e.some(
57
- (n) => n.milestone_state === "DRAFT"
40
+ parentName: y,
41
+ userType: c,
42
+ courseStream: B
43
+ } = p;
44
+ if (!e)
45
+ return null;
46
+ const r = n === "ACTIVE", d = n === "DRAFT", G = () => {
47
+ !o && a && a(), A(!o);
48
+ }, X = e.some(
49
+ (t) => t.milestone_state === "ACTIVE"
50
+ ), q = e.some(
51
+ (t) => t.milestone_state === "DRAFT"
58
52
  );
59
- return /* @__PURE__ */ t(te, { children: [
60
- l && !Q && /* @__PURE__ */ o(
61
- le,
53
+ return /* @__PURE__ */ s(J, { children: [
54
+ r && !X && /* @__PURE__ */ i(
55
+ ne,
62
56
  {
63
- canCreatePlan: m,
64
- isDraftMilestonePresent: Y,
65
- isFiltersAdded: I,
66
- onCreatePlan: s,
67
- studentName: p,
68
- userType: d
57
+ canCreatePlan: u,
58
+ isDraftMilestonePresent: q,
59
+ isFiltersAdded: M,
60
+ onCreatePlan: P,
61
+ studentName: l,
62
+ userType: c
69
63
  }
70
64
  ),
71
- l && /* @__PURE__ */ t(c, { $flexDirection: "row", $justifyContent: "space-between", $marginBottom: 10, children: [
72
- /* @__PURE__ */ t(g, { $renderAs: "ac4", children: [
73
- "Goals (",
74
- e.length,
75
- ")"
76
- ] }),
77
- d === "TEACHER" && /* @__PURE__ */ t(c, { $flexDirection: "row", $flexGapX: 1, children: [
78
- /* @__PURE__ */ o(
79
- C,
80
- {
81
- label: "Create Goal",
82
- size: "small",
83
- onClick: q,
84
- disabled: !m
85
- }
86
- ),
87
- /* @__PURE__ */ o(C, { label: "Add Milestone", size: "small", onClick: K })
88
- ] })
89
- ] }),
90
- r === "INACTIVE" && !!e.length && /* @__PURE__ */ t(c, { $flexDirection: "row", $alignItems: "center", $justifyContent: "space-between", children: [
91
- /* @__PURE__ */ t(g, { $renderAs: "ac4", children: [
65
+ n === "INACTIVE" && !!e.length && /* @__PURE__ */ s(m, { $flexDirection: "row", $alignItems: "center", $justifyContent: "space-between", children: [
66
+ /* @__PURE__ */ s(Z, { $renderAs: "eyebrow1", children: [
92
67
  "PAST LEARNING PLANS & OUTCOMES (",
93
68
  e.length,
94
69
  ")"
95
70
  ] }),
96
- /* @__PURE__ */ o(ae, { onClick: J, $expanded: a })
71
+ /* @__PURE__ */ i(te, { onClick: G, $expanded: o })
97
72
  ] }),
98
- (h || l || a) && e.map((n, Z) => {
99
- const { id: ee } = n;
100
- return /* @__PURE__ */ t(ne.Fragment, { children: [
101
- /* @__PURE__ */ o(
102
- re,
73
+ (d || r || o) && e.map((t, z) => {
74
+ const { id: H } = t;
75
+ return /* @__PURE__ */ s(K.Fragment, { children: [
76
+ /* @__PURE__ */ i(
77
+ ee,
103
78
  {
104
- milestone: n,
105
- studentId: M,
106
- studentName: p,
107
- parentName: X,
79
+ milestone: t,
80
+ studentId: f,
81
+ studentName: l,
82
+ parentName: y,
108
83
  teacherName: W,
109
- userType: d,
110
- onAddOutcome: i,
111
- onChapterClick: w,
112
- isMilestoneActive: l || h,
113
- milestoneType: r,
84
+ userType: c,
85
+ onAddOutcome: v,
86
+ onChapterClick: I,
87
+ isMilestoneActive: r || d,
88
+ milestoneType: n,
114
89
  onEdit: S,
115
- onCreateMilestoneTest: D,
116
- onPreview: b,
117
- onReattempt: N,
118
- onReset: F,
119
- onResume: k,
120
- onReview: j,
121
- onStart: G,
122
- onAddChapter: R,
123
- onDelete: E,
124
- onDraftPublish: P,
125
- isClassOngoing: v,
126
- isStudentPresent: $,
127
- onAssignResources: L,
90
+ onCreateMilestoneTest: R,
91
+ onPreview: w,
92
+ onReattempt: E,
93
+ onReset: D,
94
+ onResume: N,
95
+ onReview: $,
96
+ onStart: F,
97
+ onAddChapter: C,
98
+ onDelete: T,
99
+ onDraftPublish: x,
100
+ isClassOngoing: g,
101
+ isStudentPresent: h,
102
+ onAssignResources: b,
128
103
  onUnAssignSheet: O,
129
104
  onTestPreview: V,
130
105
  onTestReview: _,
131
- onTestStart: y,
132
- courseStream: H,
133
- activeMilestoneId: z,
134
- activeTabId: B,
106
+ onTestStart: j,
107
+ courseStream: B,
108
+ activeMilestoneId: L,
109
+ activeTabId: k,
135
110
  onWidgetTabSelection: U
136
111
  }
137
112
  ),
138
- Z !== e.length - 1 && /* @__PURE__ */ o(c, { $heightX: 2.625 })
139
- ] }, `milestone=${ee}`);
113
+ z !== e.length - 1 && /* @__PURE__ */ i(m, { $heightX: 2.625 })
114
+ ] }, `milestone=${H}`);
140
115
  })
141
116
  ] });
142
117
  }
143
118
  );
144
119
  export {
145
- xe as default
120
+ de as default
146
121
  };
147
122
  //# sourceMappingURL=milestone-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import type { IMilestoneListProps } from './milestone-list-types';\n\nimport React, { memo, useCallback, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useLazyRef from '../../../hooks/use-lazy-ref';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport { StyledDownIcon } from './milestone-widget/milestone-widget-styled';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: React.FC<IMilestoneListProps> = memo(\n ({ milestones, studentId, milestoneType, ...restMilestoneListProps }) => {\n const [expandInactiveMilestones, setExpandInactiveMilestones] = useState(false);\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onExpandPastMilestones,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n activeMilestoneId,\n activeTabId,\n onWidgetTabSelection,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n } = restMilestoneListProps;\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n const temporaryMilestoneId = useLazyRef(uuidv4);\n\n const handleCreatePlan = useCallback(() => {\n onCreatePlan?.(temporaryMilestoneId);\n }, [onCreatePlan, temporaryMilestoneId]);\n\n const toggleExpand = () => {\n if (!expandInactiveMilestones && onExpandPastMilestones) {\n onExpandPastMilestones();\n }\n setExpandInactiveMilestones(!expandInactiveMilestones);\n };\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.();\n }, [onAddOutcome]);\n\n if (!milestones) return null;\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'DRAFT',\n );\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n )}\n\n {isMilestoneActive && (\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $marginBottom={10}>\n <Text $renderAs=\"ac4\">Goals ({milestones.length})</Text>\n\n {userType === 'TEACHER' && (\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <TextButton\n label=\"Create Goal\"\n size=\"small\"\n onClick={handleCreatePlan}\n disabled={!canCreatePlan}\n />\n <TextButton label=\"Add Milestone\" size=\"small\" onClick={handleOnAddOutcome} />\n </FlexView>\n )}\n </FlexView>\n )}\n\n {milestoneType === 'INACTIVE' && Boolean(milestones.length) && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <Text $renderAs=\"ac4\">PAST LEARNING PLANS & OUTCOMES ({milestones.length})</Text>\n <StyledDownIcon onClick={toggleExpand} $expanded={expandInactiveMilestones} />\n </FlexView>\n )}\n\n {(isDraftMilestone || isMilestoneActive || expandInactiveMilestones) &&\n milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <React.Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n {idx !== milestones.length - 1 && <FlexView $heightX={2.625} />}\n </React.Fragment>\n );\n })}\n </>\n );\n },\n);\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","restMilestoneListProps","expandInactiveMilestones","setExpandInactiveMilestones","useState","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onExpandPastMilestones","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","activeMilestoneId","activeTabId","onWidgetTabSelection","studentName","teacherName","parentName","userType","courseStream","isMilestoneActive","isDraftMilestone","temporaryMilestoneId","useLazyRef","uuidv4","handleCreatePlan","useCallback","toggleExpand","handleOnAddOutcome","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","NoActiveMilestone","FlexView","Text","TextButton","StyledDownIcon","idx","milestoneId","React","MilestoneWidget"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import type { IMilestoneListProps } from './milestone-list-types';\n\nimport React, { memo, useState } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport { StyledDownIcon } from './milestone-widget/milestone-widget-styled';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: React.FC<IMilestoneListProps> = memo(\n ({ milestones, studentId, milestoneType, ...restMilestoneListProps }) => {\n const [expandInactiveMilestones, setExpandInactiveMilestones] = useState(false);\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onExpandPastMilestones,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n activeMilestoneId,\n activeTabId,\n onWidgetTabSelection,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n } = restMilestoneListProps;\n\n if (!milestones) {\n return null;\n }\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n\n const toggleExpand = () => {\n if (!expandInactiveMilestones && onExpandPastMilestones) {\n onExpandPastMilestones();\n }\n setExpandInactiveMilestones(!expandInactiveMilestones);\n };\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'DRAFT',\n );\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n )}\n\n {milestoneType === 'INACTIVE' && Boolean(milestones.length) && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <Text $renderAs=\"eyebrow1\">PAST LEARNING PLANS & OUTCOMES ({milestones.length})</Text>\n <StyledDownIcon onClick={toggleExpand} $expanded={expandInactiveMilestones} />\n </FlexView>\n )}\n\n {(isDraftMilestone || isMilestoneActive || expandInactiveMilestones) &&\n milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <React.Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n {idx !== milestones.length - 1 && <FlexView $heightX={2.625} />}\n </React.Fragment>\n );\n })}\n </>\n );\n },\n);\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","restMilestoneListProps","expandInactiveMilestones","setExpandInactiveMilestones","useState","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onExpandPastMilestones","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","activeMilestoneId","activeTabId","onWidgetTabSelection","studentName","teacherName","parentName","userType","courseStream","isMilestoneActive","isDraftMilestone","toggleExpand","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","NoActiveMilestone","FlexView","Text","StyledDownIcon","idx","milestoneId","React","MilestoneWidget"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import r from "styled-components";
2
+ import t from "../../../../../ui/layout/flex-view.js";
3
+ const n = r(t)(({ theme: o }) => `
4
+ box-shadow: 0px 4px 15px 0px ${o.colors.BLACK_T_20};
5
+ `), x = r(t)(({ $disabled: o }) => `
6
+ cursor: ${o ? "not-allowed" : "pointer"};
7
+ opacity: ${o ? 0.38 : 1};
8
+ `);
9
+ export {
10
+ n as MenuElementWrapper,
11
+ x as MenuOption
12
+ };
13
+ //# sourceMappingURL=menu-element-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-element-styled.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nconst MenuElementWrapper = styled(FlexView)(({ theme }) => {\n return `\n box-shadow: 0px 4px 15px 0px ${theme.colors.BLACK_T_20};\n `;\n});\n\ninterface IMenuOption {\n $disabled: boolean;\n}\n\nconst MenuOption = styled(FlexView)<IMenuOption>(({ $disabled }) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n opacity: ${$disabled ? 0.38 : 1};\n `;\n});\n\nexport { MenuElementWrapper, MenuOption };\n"],"names":["MenuElementWrapper","styled","FlexView","theme","MenuOption","$disabled"],"mappings":";;AAIA,MAAMA,IAAqBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QACtC;AAAA,mCAC0BA,EAAM,OAAO,UAAU;AAAA,GAEzD,GAMKC,IAAaH,EAAOC,CAAQ,EAAe,CAAC,EAAE,WAAAG,QAC3C;AAAA,gBACOA,IAAY,gBAAgB,SAAS;AAAA,iBACpCA,IAAY,OAAO,CAAC;AAAA,KAEpC;"}