@cuemath/leap 2.8.38-hg4 → 2.8.39

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 (140) hide show
  1. package/dist/assets/line-icons/icons/sheet.js +54 -0
  2. package/dist/assets/line-icons/icons/sheet.js.map +1 -0
  3. package/dist/assets/lottie/lottie.js +0 -6
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/analytics-events/whitelist-events.js +15 -13
  6. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  7. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js +3 -3
  8. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js.map +1 -1
  9. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js +35 -29
  10. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
  11. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js +11 -0
  12. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js.map +1 -0
  13. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js +16 -0
  14. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js.map +1 -0
  15. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +42 -35
  16. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js.map +1 -1
  17. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +212 -223
  18. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  19. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js +7 -8
  20. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js.map +1 -1
  21. package/dist/features/circle-games/game-launcher/game-launcher.js +24 -25
  22. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  23. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  24. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js +3 -8
  25. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js.map +1 -1
  26. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js +2 -2
  27. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js.map +1 -1
  28. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +17 -22
  29. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  30. package/dist/features/communication/pub-sub/constants.js +2 -1
  31. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  32. package/dist/features/milestone/create/milestone-create-styled.js +11 -9
  33. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  34. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js +6 -8
  35. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js.map +1 -1
  36. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +130 -117
  37. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  38. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +205 -0
  39. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -0
  40. package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js +11 -0
  41. package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +1 -0
  42. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js +9 -0
  43. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -0
  44. package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js +9 -0
  45. package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +1 -0
  46. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js +19 -0
  47. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +1 -0
  48. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +47 -0
  49. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -0
  50. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js +22 -0
  51. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js.map +1 -0
  52. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +60 -0
  53. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -0
  54. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js +6 -0
  55. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js.map +1 -0
  56. package/dist/features/milestone/milestone-resources/resources-assign/constant.js +6 -0
  57. package/dist/features/milestone/milestone-resources/resources-assign/constant.js.map +1 -0
  58. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js +19 -0
  59. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js.map +1 -0
  60. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js +32 -0
  61. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +1 -0
  62. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js +19 -0
  63. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js.map +1 -0
  64. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +85 -0
  65. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -0
  66. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js +65 -0
  67. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +1 -0
  68. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +233 -0
  69. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -0
  70. package/dist/features/milestone/milestone-resources/resources-assign/utils.js +12 -0
  71. package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +1 -0
  72. package/dist/features/post-game-stats/enums/post-game-stats-enum.js +1 -1
  73. package/dist/features/post-game-stats/enums/post-game-stats-enum.js.map +1 -1
  74. package/dist/features/post-game-stats/points/points.js +10 -15
  75. package/dist/features/post-game-stats/points/points.js.map +1 -1
  76. package/dist/features/post-game-stats/post-game-stats.js +61 -83
  77. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  78. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js +1 -1
  79. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
  80. package/dist/features/trial-session/comps/class-preference/class-preference.js +10 -10
  81. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  82. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +7 -7
  83. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  84. package/dist/features/trial-session/comps/session-report/session-report.js +23 -21
  85. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  86. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +5 -5
  87. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  88. package/dist/features/trial-session/comps/student-profile/student-profile.js +37 -39
  89. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  90. package/dist/features/trial-session/comps/test-prep/test-prep.js +11 -11
  91. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  92. package/dist/features/trial-session/left-panel/index.js +1 -1
  93. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  94. package/dist/features/ui/grade-selector/grade-tab.js +15 -15
  95. package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
  96. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js +28 -0
  97. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +1 -0
  98. package/dist/features/ui/inputs/searchable-input/searchable-input.js +101 -0
  99. package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -0
  100. package/dist/features/ui/tab/tab-styled.js +7 -8
  101. package/dist/features/ui/tab/tab-styled.js.map +1 -1
  102. package/dist/features/ui/tab/tab.js +36 -31
  103. package/dist/features/ui/tab/tab.js.map +1 -1
  104. package/dist/features/ui/theme/tab.js +3 -3
  105. package/dist/features/ui/theme/tab.js.map +1 -1
  106. package/dist/index.d.ts +46 -53
  107. package/dist/index.js +345 -343
  108. package/dist/index.js.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.js +0 -25
  111. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.js.map +0 -1
  112. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js +0 -57
  113. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +0 -1
  114. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star-styled.js +0 -27
  115. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star-styled.js.map +0 -1
  116. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js +0 -37
  117. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +0 -1
  118. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js +0 -17
  119. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js.map +0 -1
  120. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +0 -47
  121. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +0 -1
  122. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js +0 -6
  123. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js.map +0 -1
  124. package/dist/features/post-game-stats/digital-meter/constants.js +0 -16
  125. package/dist/features/post-game-stats/digital-meter/constants.js.map +0 -1
  126. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +0 -87
  127. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +0 -1
  128. package/dist/features/post-game-stats/digital-meter/digital-meter.js +0 -188
  129. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +0 -1
  130. package/dist/features/post-game-stats/digital-meter/helper.js +0 -33
  131. package/dist/features/post-game-stats/digital-meter/helper.js.map +0 -1
  132. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js +0 -27
  133. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +0 -1
  134. package/dist/static/point2.7cec6e24.json +0 -1
  135. package/dist/static/point3.f96fe7aa.json +0 -1
  136. package/dist/static/point4.fe04fb83.json +0 -1
  137. package/dist/static/table-mode-star.b8a1d762.json +0 -1
  138. package/dist/static/table-segment-star.78e851d6.json +0 -1
  139. package/dist/static/target-achieved-text.053bd142.json +0 -2830
  140. package/dist/static/target-achieved-text.10db8475.json +0 -1
@@ -1,80 +1,81 @@
1
- import { jsx as i, jsxs as I, Fragment as ne } from "react/jsx-runtime";
1
+ import { jsx as E, jsxs as R, Fragment as ne } from "react/jsx-runtime";
2
2
  import { h as re } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
- import { memo as ie, useMemo as ae, useState as O, useCallback as Ee, useEffect as R } from "react";
3
+ import { memo as ie, useMemo as ae, useState as p, useCallback as Ee, useEffect as f } from "react";
4
4
  import { ILLUSTRATIONS as le } from "../../../assets/illustrations/illustrations.js";
5
5
  import { EVENTS as e } from "../../communication/pub-sub/constants.js";
6
6
  import { useInClassActionListener as Se } from "../../communication/pub-sub/hooks.js";
7
7
  import me from "../../ui/separator/separator.js";
8
8
  import { invalidateMilestoneResources as ce } from "./api/get-milestone-resources.js";
9
- import { useGetAllMilestonesdata as Te, invalidateMilestonesData as Ae } from "./api/get-milestones.js";
10
- import _e from "./filter-milestones.js";
11
- import de from "./milestone-list/milestone-list.js";
12
- import De from "./milestone-list/milestone-loader/milestone-loader.js";
13
- import { ContentWrapper as Le, LoaderWrapper as Me } from "./styled.js";
14
- const ue = (S) => {
15
- Ae(S);
16
- }, Ce = ie(
17
- ({ studentName: S, studentId: m, studentClassroomId: p, ...f }) => {
9
+ import { useGetAllMilestonesdata as Te, invalidateMilestonesData as de } from "./api/get-milestones.js";
10
+ import { invalidateTestHelpData as _e } from "./api/get-tests-list.js";
11
+ import Ae from "./filter-milestones.js";
12
+ import De from "./milestone-list/milestone-list.js";
13
+ import Ne from "./milestone-list/milestone-loader/milestone-loader.js";
14
+ import { ContentWrapper as Ie, LoaderWrapper as Me } from "./styled.js";
15
+ const ue = (T) => {
16
+ de(T);
17
+ }, Le = ie(
18
+ ({ studentName: T, studentId: d, studentClassroomId: h, ...P }) => {
18
19
  const {
19
- milestoneType: s,
20
- isStudentPresent: d,
21
- isClassOngoing: c,
22
- userType: T,
23
- canCreatePlan: h,
24
- teacherName: P,
25
- parentName: U,
26
- courseStream: A,
20
+ milestoneType: o,
21
+ isStudentPresent: N,
22
+ isClassOngoing: _,
23
+ userType: A,
24
+ canCreatePlan: G,
25
+ teacherName: U,
26
+ parentName: v,
27
+ courseStream: D,
27
28
  onExpandPastMilestones: g,
28
- onAddOutcome: G,
29
- onChapterClick: v,
30
- onEdit: F,
31
- onCreateMilestoneTest: w,
32
- onPreview: x,
33
- onReattempt: V,
34
- onReset: b,
35
- onResume: y,
36
- onReview: H,
37
- onStart: k,
38
- onDraftPublish: K,
39
- onAddChapter: j,
40
- onCreatePlan: W,
41
- onDelete: X,
42
- onAssignResources: $,
43
- onUnAssignSheet: q,
44
- onTestPreview: z,
45
- onTestReview: B,
46
- onTestStart: J
47
- } = f, n = ae(
29
+ onAddOutcome: F,
30
+ onChapterClick: w,
31
+ onEdit: x,
32
+ onCreateMilestoneTest: V,
33
+ onPreview: y,
34
+ onReattempt: b,
35
+ onReset: H,
36
+ onResume: k,
37
+ onReview: K,
38
+ onStart: j,
39
+ onDraftPublish: W,
40
+ onAddChapter: X,
41
+ onCreatePlan: $,
42
+ onDelete: q,
43
+ onAssignResources: z,
44
+ onUnAssignSheet: B,
45
+ onTestPreview: J,
46
+ onTestReview: Q,
47
+ onTestStart: Y
48
+ } = P, n = ae(
48
49
  () => ({
49
- milestone_state_group: s === "ACTIVE" ? T === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
50
+ milestone_state_group: o === "ACTIVE" ? A === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : o,
50
51
  with_plan: !0,
51
- course_stream: A,
52
- student_id: m,
53
- in_class: c
52
+ course_stream: D,
53
+ student_id: d,
54
+ in_class: _
54
55
  }),
55
- [c, s, A, m, T]
56
+ [_, o, D, d, A]
56
57
  ), {
57
58
  data: t,
58
- getAll: l,
59
- isStale: D,
60
- isProcessing: a
61
- } = Te(n), [L, M] = O(), [u, C] = O(!1), Q = Ee(
62
- (_) => {
63
- const { searchText: o, selectedBoard: r, selectedGrade: E } = _ || {};
64
- (o || r || E) && C(!0);
65
- const Z = t == null ? void 0 : t.filter((ee) => {
66
- const { milestone_name: te, board: se, grade: oe } = ee || {};
67
- return (o ? te.toLowerCase().includes(o.toLowerCase()) : !0) && (r ? se === r : !0) && (E ? oe === E : !0);
59
+ getAll: S,
60
+ isStale: I,
61
+ isProcessing: l
62
+ } = Te(n), [M, u] = p(), [L, C] = p(!1), Z = Ee(
63
+ (m) => {
64
+ const { searchText: r, selectedBoard: i, selectedGrade: a } = m || {};
65
+ (r || i || a) && C(!0);
66
+ const c = t == null ? void 0 : t.filter((s) => {
67
+ const { milestone_name: te, board: se, grade: oe } = s || {};
68
+ return (r ? te.toLowerCase().includes(r.toLowerCase()) : !0) && (i ? se === i : !0) && (a ? oe === a : !0);
68
69
  });
69
- M(Z);
70
+ u(c);
70
71
  },
71
72
  [t]
72
- ), Y = () => {
73
- C(!1), M(void 0);
73
+ ), ee = () => {
74
+ C(!1), u(void 0);
74
75
  };
75
76
  if (Se(
76
77
  {
77
- studentClassroomId: p,
78
+ studentClassroomId: h,
78
79
  actions: [
79
80
  [e.CHAPTER_UPDATED],
80
81
  [e.LESSONS_MARKED_AS_FAMILIAR],
@@ -94,79 +95,91 @@ const ue = (S) => {
94
95
  [e.GOAL_EDITED],
95
96
  [e.GOAL_DELETED],
96
97
  [e.GOAL_OUTCOME_ADDED],
97
- [e.PAST_MILESTONE_OUTCOME_ADDED]
98
+ [e.PAST_MILESTONE_OUTCOME_ADDED],
99
+ [e.MILESTONE_TEST_ASSIGNED]
98
100
  ],
99
- callback: (_) => {
100
- const o = _.find(
101
- (E) => E.eventName === e.MILESTONE_RESOURCE_ASSIGNED || e.MILESTONE_RESOURCE_UNASSIGNED
102
- ), { milestoneId: r } = (o == null ? void 0 : o.eventPayload) || {};
103
- r && ce(r), ue(n);
101
+ callback: (m) => {
102
+ var a, c;
103
+ const r = (a = m.find(
104
+ (s) => s.eventName === e.MILESTONE_RESOURCE_ASSIGNED || e.MILESTONE_RESOURCE_UNASSIGNED
105
+ )) == null ? void 0 : a.eventPayload, i = (c = m.find(
106
+ (s) => s.eventName === e.MILESTONE_TEST_ASSIGNED
107
+ )) == null ? void 0 : c.eventPayload;
108
+ if (r) {
109
+ const { milestoneId: s } = r || {};
110
+ ce(s);
111
+ }
112
+ if (i) {
113
+ const { milestoneId: s } = i;
114
+ _e(s);
115
+ }
116
+ ue(n);
104
117
  }
105
118
  },
106
- (s === "ACTIVE" || s === "INACTIVE") && d
107
- ), R(() => {
108
- l(n);
109
- }, [l, n]), R(() => {
110
- !a && D && l(n);
111
- }, [l, n, D, a]), a && !t)
112
- return /* @__PURE__ */ i(De, { numMilestones: 2 });
113
- const N = s === "ACTIVE" && t && t.length > 6;
114
- return /* @__PURE__ */ I(Le, { $disablePointerEvents: a, children: [
115
- a && /* @__PURE__ */ i(Me, { children: /* @__PURE__ */ i("img", { src: le.LOADER_1, alt: "loading" }) }),
116
- N && /* @__PURE__ */ I(ne, { children: [
117
- /* @__PURE__ */ i(
118
- _e,
119
+ (o === "ACTIVE" || o === "INACTIVE") && N
120
+ ), f(() => {
121
+ S(n);
122
+ }, [S, n]), f(() => {
123
+ !l && I && S(n);
124
+ }, [S, n, I, l]), l && !t)
125
+ return /* @__PURE__ */ E(Ne, { numMilestones: 2 });
126
+ const O = o === "ACTIVE" && t && t.length > 6;
127
+ return /* @__PURE__ */ R(Ie, { $disablePointerEvents: l, children: [
128
+ l && /* @__PURE__ */ E(Me, { children: /* @__PURE__ */ E("img", { src: le.LOADER_1, alt: "loading" }) }),
129
+ O && /* @__PURE__ */ R(ne, { children: [
130
+ /* @__PURE__ */ E(
131
+ Ae,
119
132
  {
120
- filteredMilestones: L,
133
+ filteredMilestones: M,
121
134
  milestones: t,
122
- handleFilterMilestones: Q,
123
- handleClearFilter: Y
135
+ handleFilterMilestones: Z,
136
+ handleClearFilter: ee
124
137
  }
125
138
  ),
126
- /* @__PURE__ */ i(me, { heightX: 1.5 })
139
+ /* @__PURE__ */ E(me, { heightX: 1.5 })
127
140
  ] }),
128
- /* @__PURE__ */ i(
129
- de,
141
+ /* @__PURE__ */ E(
142
+ De,
130
143
  {
131
- showFilters: !!N,
132
- canCreatePlan: h,
133
- isClassOngoing: c,
134
- isFiltersAdded: u,
135
- isStudentPresent: d,
136
- milestoneType: s,
137
- milestones: u ? L : t,
138
- onAddChapter: j,
139
- onAddOutcome: G,
140
- onChapterClick: v,
141
- onCreatePlan: W,
142
- onDelete: X,
143
- onDraftPublish: K,
144
- onEdit: F,
144
+ showFilters: !!O,
145
+ canCreatePlan: G,
146
+ isClassOngoing: _,
147
+ isFiltersAdded: L,
148
+ isStudentPresent: N,
149
+ milestoneType: o,
150
+ milestones: L ? M : t,
151
+ onAddChapter: X,
152
+ onAddOutcome: F,
153
+ onChapterClick: w,
154
+ onCreatePlan: $,
155
+ onDelete: q,
156
+ onDraftPublish: W,
157
+ onEdit: x,
145
158
  onExpandPastMilestones: g,
146
- onCreateMilestoneTest: w,
147
- onPreview: x,
148
- onReattempt: V,
149
- onReset: b,
150
- onResume: y,
151
- onReview: H,
152
- onStart: k,
153
- onAssignResources: $,
154
- onUnAssignSheet: q,
155
- onTestPreview: z,
156
- onTestReview: B,
157
- onTestStart: J,
158
- studentId: m,
159
- studentName: re.titleCase(S),
160
- teacherName: P,
161
- parentName: U,
162
- userType: T,
163
- courseStream: A
159
+ onCreateMilestoneTest: V,
160
+ onPreview: y,
161
+ onReattempt: b,
162
+ onReset: H,
163
+ onResume: k,
164
+ onReview: K,
165
+ onStart: j,
166
+ onAssignResources: z,
167
+ onUnAssignSheet: B,
168
+ onTestPreview: J,
169
+ onTestReview: Q,
170
+ onTestStart: Y,
171
+ studentId: d,
172
+ studentName: re.titleCase(T),
173
+ teacherName: U,
174
+ parentName: v,
175
+ userType: A,
176
+ courseStream: D
164
177
  }
165
178
  )
166
179
  ] });
167
180
  }
168
- ), be = Ce;
181
+ ), He = Le;
169
182
  export {
170
- be as default
183
+ He as default
171
184
  };
172
185
  //# sourceMappingURL=milestone-list-container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n }) as const,\n [isClassOngoing, milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n ],\n callback: messages => {\n const milestoneResourceEvent = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n );\n const { milestoneId } =\n (milestoneResourceEvent?.eventPayload as { milestoneId: string }) || {};\n\n if (milestoneId) {\n invalidateMilestoneResources(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEvent","message","milestoneId","invalidateMilestoneResources","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n }) as const,\n [isClassOngoing, milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ import { jsxs as c, Fragment as h, jsx as t } from "react/jsx-runtime";
2
+ import { memo as x, useState as y, useMemo as $, useCallback as S, Fragment as U } from "react";
3
+ import B from "../../../../assets/line-icons/icons/sheet.js";
4
+ import { useUIContext as N } from "../../../ui/context/context.js";
5
+ import _ from "../../../ui/layout/flex-view.js";
6
+ import X from "../../../ui/separator/separator.js";
7
+ import g from "../../../ui/text/text.js";
8
+ import G from "./comps/filter-item/filter-item.js";
9
+ import W from "./comps/resource-item/resource-item.js";
10
+ import { RESOURCE_ASSIGN_ANALYTICS_EVENTS as i } from "./resource-assign-analytics-events.js";
11
+ import { HeaderWrapper as j, FilterTabWrapper as w, ResourceCountWrapper as P, FilterListWrapper as V } from "./resources-assign-styled.js";
12
+ const Y = [
13
+ {
14
+ id: "resource-filters",
15
+ label: "Filters"
16
+ },
17
+ {
18
+ id: "resource-added",
19
+ label: "Added"
20
+ }
21
+ ], H = {
22
+ LEARNING: "Learning",
23
+ PRACTICE: "Practice",
24
+ ASSESSMENT: "Assessment",
25
+ LEVEL2: "Advanced",
26
+ LEVEL3: "Advanced",
27
+ SUBJECTIVE: "Subjective"
28
+ }, oe = x((T) => {
29
+ const {
30
+ resourceFilters: f,
31
+ selectedResources: R,
32
+ onResourceDeSelection: b,
33
+ onFilterUpdate: n,
34
+ onViewResource: L
35
+ } = T, { boards: s, grades: a, node_types: d } = f, { onEvent: o } = N(), [A, D] = y("resource-filters"), E = R.length, p = $(() => {
36
+ var e;
37
+ return (e = s.find((r) => r.applied)) == null ? void 0 : e.name;
38
+ }, [s]), u = $(() => {
39
+ var e;
40
+ return (e = a.find((r) => r.applied)) == null ? void 0 : e.name;
41
+ }, [a]), m = $(() => {
42
+ var e;
43
+ return (e = d.find((r) => r.applied)) == null ? void 0 : e.name;
44
+ }, [d]), I = S(
45
+ (e) => {
46
+ const r = p === e;
47
+ o(
48
+ r ? i.RESOURCE_BOARD_DESELECTED : i.RESOURCE_BOARD_SELECTED,
49
+ {
50
+ board: e
51
+ }
52
+ ), n({ board: r ? "" : e });
53
+ },
54
+ [o, n, p]
55
+ ), O = S(
56
+ (e) => {
57
+ const r = u === e;
58
+ o(
59
+ r ? i.RESOURCE_GRADE_DESELECTED : i.RESOURCE_GRADE_SELECTED,
60
+ {
61
+ grade: e
62
+ }
63
+ ), n({ grade: r ? "" : e });
64
+ },
65
+ [o, n, u]
66
+ ), v = S(
67
+ (e) => {
68
+ const r = m === e;
69
+ o(
70
+ r ? i.RESOURCE_NODE_TYPE_DESELECTED : i.RESOURCE_NODE_TYPE_SELECTED,
71
+ {
72
+ node_type: e
73
+ }
74
+ ), n({ node_type: r ? "" : e });
75
+ },
76
+ [o, n, m]
77
+ ), k = [
78
+ {
79
+ title: "Curriculum",
80
+ options: s.map(({ code: e, name: r }) => ({
81
+ id: e,
82
+ label: r,
83
+ value: r
84
+ })),
85
+ value: p,
86
+ onClick: I
87
+ },
88
+ {
89
+ title: "Grade",
90
+ options: a.map(({ code: e, name: r }) => ({
91
+ id: e,
92
+ label: e,
93
+ value: r
94
+ })),
95
+ value: u,
96
+ onClick: O
97
+ },
98
+ {
99
+ title: "Type",
100
+ options: d.map(({ code: e, name: r }) => ({
101
+ id: e,
102
+ label: H[r] || "",
103
+ value: r || ""
104
+ })),
105
+ value: m,
106
+ onClick: v
107
+ }
108
+ ];
109
+ return /* @__PURE__ */ c(h, { children: [
110
+ /* @__PURE__ */ t(
111
+ j,
112
+ {
113
+ $heightX: 4,
114
+ $background: "WHITE_3",
115
+ $flexDirection: "row",
116
+ $alignItems: "end",
117
+ $noBorder: !0,
118
+ children: Y.map((e) => {
119
+ const { id: r, label: C } = e, l = r === A;
120
+ return /* @__PURE__ */ c(
121
+ w,
122
+ {
123
+ $flexDirection: "row",
124
+ $width: "100%",
125
+ $alignItems: "center",
126
+ $justifyContent: "center",
127
+ $gapX: 0.5,
128
+ $selected: l,
129
+ onClick: () => D(r),
130
+ $flexGap: 4,
131
+ $heightX: 2.5,
132
+ children: [
133
+ /* @__PURE__ */ t(
134
+ g,
135
+ {
136
+ $renderAs: l ? "ub3-bold" : "ub3",
137
+ $align: "center",
138
+ $color: l ? "BLACK_T_87" : "BLACK_T_38",
139
+ children: C
140
+ }
141
+ ),
142
+ E > 0 && r === "resource-added" && /* @__PURE__ */ t(
143
+ P,
144
+ {
145
+ $borderRadius: 50,
146
+ $background: "YELLOW_4",
147
+ $gutter: 4,
148
+ $justifyContent: "center",
149
+ $alignItems: "center",
150
+ $heightX: 1.25,
151
+ children: /* @__PURE__ */ t(g, { $renderAs: "ac4-black", children: E })
152
+ }
153
+ )
154
+ ]
155
+ },
156
+ r
157
+ );
158
+ })
159
+ }
160
+ ),
161
+ /* @__PURE__ */ t(V, { children: A === "resource-filters" ? /* @__PURE__ */ t(h, { children: k.map((e) => {
162
+ const { title: r, value: C, options: l, onClick: F } = e;
163
+ return /* @__PURE__ */ c(U, { children: [
164
+ /* @__PURE__ */ t(
165
+ G,
166
+ {
167
+ title: r,
168
+ value: C ?? "",
169
+ options: l,
170
+ onClick: F
171
+ }
172
+ ),
173
+ /* @__PURE__ */ t(X, { height: 1, background: "WHITE_5" })
174
+ ] }, r);
175
+ }) }) : /* @__PURE__ */ c(h, { children: [
176
+ R.map((e) => /* @__PURE__ */ t(_, { $gapX: 1, $gutterX: 1, children: /* @__PURE__ */ t(
177
+ W,
178
+ {
179
+ resource: e,
180
+ onViewResource: L,
181
+ onResourceAdditionOrDeletion: b,
182
+ selected: !0
183
+ }
184
+ ) }, e.id)),
185
+ E === 0 && /* @__PURE__ */ c(
186
+ _,
187
+ {
188
+ $alignItems: "center",
189
+ $justifyContent: "center",
190
+ $gapX: 2,
191
+ $height: "100%",
192
+ $flexGap: 8,
193
+ children: [
194
+ /* @__PURE__ */ t(B, { opacity: 0.38 }),
195
+ /* @__PURE__ */ t(_, { $widthX: 15, children: /* @__PURE__ */ t(g, { $renderAs: "ub1-bold", $color: "BLACK_T_38", $align: "center", children: "No sheets added" }) })
196
+ ]
197
+ }
198
+ )
199
+ ] }) })
200
+ ] });
201
+ });
202
+ export {
203
+ oe as default
204
+ };
205
+ //# sourceMappingURL=added-resource-and-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"added-resource-and-filters.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.tsx"],"sourcesContent":["import type { IAddedResourceAndFilters } from './resources-assign-type';\nimport type { FC } from 'react';\n\nimport { Fragment, memo, useCallback, useMemo, useState } from 'react';\n\nimport SheetIcon from '../../../../assets/line-icons/icons/sheet';\nimport { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport FilterItem from './comps/filter-item/filter-item';\nimport ResourceItem from './comps/resource-item/resource-item';\nimport { RESOURCE_ASSIGN_ANALYTICS_EVENTS } from './resource-assign-analytics-events';\nimport * as Styled from './resources-assign-styled';\n\nconst TABS = [\n {\n id: 'resource-filters',\n label: 'Filters',\n },\n {\n id: 'resource-added',\n label: 'Added',\n },\n];\n\nconst EXTRA_PRACTICE_LABEL_MAP: Record<string, string> = {\n LEARNING: 'Learning',\n PRACTICE: 'Practice',\n ASSESSMENT: 'Assessment',\n LEVEL2: 'Advanced',\n LEVEL3: 'Advanced',\n SUBJECTIVE: 'Subjective',\n};\n\nconst AddedResourceAndFilters: FC<IAddedResourceAndFilters> = memo(props => {\n const {\n resourceFilters,\n selectedResources,\n onResourceDeSelection,\n onFilterUpdate,\n onViewResource,\n } = props;\n\n const { boards, grades, node_types: nodeTypes } = resourceFilters;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const [selectedTab, setSelectedTab] = useState('resource-filters');\n\n const addedResourceCount = selectedResources.length;\n const appliedBoard = useMemo(() => boards.find(board => board.applied)?.name, [boards]);\n const appliedGrade = useMemo(() => grades.find(grade => grade.applied)?.name, [grades]);\n const appliedNodeType = useMemo(() => nodeTypes.find(grade => grade.applied)?.name, [nodeTypes]);\n\n const handleOnBoardChange = useCallback(\n (updatedBoard: string) => {\n const boardSelection = appliedBoard === updatedBoard;\n\n trackEvent(\n boardSelection\n ? RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_BOARD_DESELECTED\n : RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_BOARD_SELECTED,\n {\n board: updatedBoard,\n },\n );\n onFilterUpdate({ board: boardSelection ? '' : updatedBoard });\n },\n [trackEvent, onFilterUpdate, appliedBoard],\n );\n\n const handleOnGradeChange = useCallback(\n (updatedGrade: string) => {\n const gradeSelection = appliedGrade === updatedGrade;\n\n trackEvent(\n gradeSelection\n ? RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_GRADE_DESELECTED\n : RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_GRADE_SELECTED,\n {\n grade: updatedGrade,\n },\n );\n onFilterUpdate({ grade: gradeSelection ? '' : updatedGrade });\n },\n [trackEvent, onFilterUpdate, appliedGrade],\n );\n\n const handleOnNodeTypeChange = useCallback(\n (updatedNodeType: string) => {\n const nodeTypeSelection = appliedNodeType === updatedNodeType;\n\n trackEvent(\n nodeTypeSelection\n ? RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_NODE_TYPE_DESELECTED\n : RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_NODE_TYPE_SELECTED,\n {\n node_type: updatedNodeType,\n },\n );\n onFilterUpdate({ node_type: nodeTypeSelection ? '' : updatedNodeType });\n },\n [trackEvent, onFilterUpdate, appliedNodeType],\n );\n\n const filterItemList = [\n {\n title: 'Curriculum',\n options: boards.map(({ code, name }) => ({\n id: code,\n label: name,\n value: name,\n })),\n value: appliedBoard,\n onClick: handleOnBoardChange,\n },\n {\n title: 'Grade',\n options: grades.map(({ code, name }) => ({\n id: code,\n label: code,\n value: name,\n })),\n value: appliedGrade,\n onClick: handleOnGradeChange,\n },\n {\n title: 'Type',\n options: nodeTypes.map(({ code, name }) => ({\n id: code,\n label: EXTRA_PRACTICE_LABEL_MAP[name] || '',\n value: name || '',\n })),\n value: appliedNodeType,\n onClick: handleOnNodeTypeChange,\n },\n ];\n\n return (\n <>\n <Styled.HeaderWrapper\n $heightX={4}\n $background=\"WHITE_3\"\n $flexDirection=\"row\"\n $alignItems=\"end\"\n $noBorder\n >\n {TABS.map(tab => {\n const { id, label } = tab;\n const selected = id === selectedTab;\n\n return (\n <Styled.FilterTabWrapper\n key={id}\n $flexDirection=\"row\"\n $width=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $gapX={0.5}\n $selected={selected}\n onClick={() => setSelectedTab(id)}\n $flexGap={4}\n $heightX={2.5}\n >\n <Text\n $renderAs={selected ? 'ub3-bold' : 'ub3'}\n $align=\"center\"\n $color={selected ? 'BLACK_T_87' : 'BLACK_T_38'}\n >\n {label}\n </Text>\n {addedResourceCount > 0 && id === 'resource-added' && (\n <Styled.ResourceCountWrapper\n $borderRadius={50}\n $background=\"YELLOW_4\"\n $gutter={4}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $heightX={1.25}\n >\n <Text $renderAs=\"ac4-black\">{addedResourceCount}</Text>\n </Styled.ResourceCountWrapper>\n )}\n </Styled.FilterTabWrapper>\n );\n })}\n </Styled.HeaderWrapper>\n\n <Styled.FilterListWrapper>\n {selectedTab === 'resource-filters' ? (\n <>\n {filterItemList.map(item => {\n const { title, value, options, onClick } = item;\n\n return (\n <Fragment key={title}>\n <FilterItem\n title={title}\n value={value ?? ''}\n options={options}\n onClick={onClick}\n />\n\n <Separator height={1} background=\"WHITE_5\" />\n </Fragment>\n );\n })}\n </>\n ) : (\n <>\n {selectedResources.map(item => (\n <FlexView $gapX={1} $gutterX={1} key={item.id}>\n <ResourceItem\n resource={item}\n onViewResource={onViewResource}\n onResourceAdditionOrDeletion={onResourceDeSelection}\n selected={true}\n />\n </FlexView>\n ))}\n\n {addedResourceCount === 0 && (\n <FlexView\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $gapX={2}\n $height=\"100%\"\n $flexGap={8}\n >\n <SheetIcon opacity={0.38} />\n <FlexView $widthX={15}>\n <Text $renderAs=\"ub1-bold\" $color=\"BLACK_T_38\" $align=\"center\">\n No sheets added\n </Text>\n </FlexView>\n </FlexView>\n )}\n </>\n )}\n </Styled.FilterListWrapper>\n </>\n );\n});\n\nexport default AddedResourceAndFilters;\n"],"names":["TABS","EXTRA_PRACTICE_LABEL_MAP","AddedResourceAndFilters","memo","props","resourceFilters","selectedResources","onResourceDeSelection","onFilterUpdate","onViewResource","boards","grades","nodeTypes","trackEvent","useUIContext","selectedTab","setSelectedTab","useState","addedResourceCount","appliedBoard","useMemo","_a","board","appliedGrade","grade","appliedNodeType","handleOnBoardChange","useCallback","updatedBoard","boardSelection","RESOURCE_ASSIGN_ANALYTICS_EVENTS","handleOnGradeChange","updatedGrade","gradeSelection","handleOnNodeTypeChange","updatedNodeType","nodeTypeSelection","filterItemList","code","name","jsxs","Fragment","jsx","Styled.HeaderWrapper","tab","id","label","selected","Styled.FilterTabWrapper","Text","Styled.ResourceCountWrapper","Styled.FilterListWrapper","item","title","value","options","onClick","FilterItem","Separator","FlexView","ResourceItem","SheetIcon"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { createGetAPI as r } from "@cuemath/rest-api";
2
+ import { BASE_URL_V3 as t } from "../../../../../constants/api.js";
3
+ import { stringify as o } from "../../../../../helpers/query-string.js";
4
+ const { get: i, useGet: a } = r({
5
+ getURL: (c, e) => `${t}/curriculum/extra-resources/?${o(e)}`
6
+ });
7
+ export {
8
+ i as getResourceSearchAPI,
9
+ a as useGetSearchResource
10
+ };
11
+ //# sourceMappingURL=get-resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-resource.js","sources":["../../../../../../src/features/milestone/milestone-resources/resources-assign/api/get-resource.ts"],"sourcesContent":["import type { TCourseStream } from '../../../create/milestone-create-types';\nimport type { IResourceData } from '../resources-assign-type';\nimport type { ResourceModel } from '@cuemath/rest-api';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../../../constants/api';\nimport { stringify } from '../../../../../helpers/query-string';\n\ninterface IExtraPracticeQuery {\n board?: string;\n grade?: string;\n stream: TCourseStream;\n search_term?: string;\n node_type?: string;\n page?: number;\n per_page?: number;\n user_milestone_id?: string;\n program_id?: string;\n user_id?: string;\n}\n\nexport type IExtendedResourceModel = ResourceModel<IResourceData> & {\n __ERROR__: Record<string, string>;\n};\n\nconst { get: getResourceSearchAPI, useGet: useGetSearchResource } = createGetAPI<\n IResourceData,\n IExtraPracticeQuery,\n null\n>({\n getURL: (_, query) => `${BASE_URL_V3}/curriculum/extra-resources/?${stringify(query)}`,\n});\n\nexport { getResourceSearchAPI, useGetSearchResource, type IExtraPracticeQuery };\n"],"names":["getResourceSearchAPI","useGetSearchResource","createGetAPI","_","query","BASE_URL_V3","stringify"],"mappings":";;;AA0BA,MAAM,EAAE,KAAKA,GAAsB,QAAQC,EAAA,IAAyBC,EAIlE;AAAA,EACA,QAAQ,CAACC,GAAGC,MAAU,GAAGC,CAAW,gCAAgCC,EAAUF,CAAK,CAAC;AACtF,CAAC;"}
@@ -0,0 +1,9 @@
1
+ import { createPostAPI as o } from "@cuemath/rest-api";
2
+ import { BASE_URL_V3 as s } from "../../../../../constants/api.js";
3
+ const { usePost: u } = o({
4
+ getURL: (t, { userMilestoneId: e }) => `${s}/user-milestone/${e}/resources`
5
+ });
6
+ export {
7
+ u as usePostMilestoneResource
8
+ };
9
+ //# sourceMappingURL=goal-resource-assign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-resource-assign.js","sources":["../../../../../../src/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.ts"],"sourcesContent":["import { createPostAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../../../constants/api';\n\nconst { usePost: usePostMilestoneResource } = createPostAPI<\n void,\n {\n node_ids: string[];\n },\n { userMilestoneId: string }\n>({\n getURL: (_, { userMilestoneId }) => `${BASE_URL_V3}/user-milestone/${userMilestoneId}/resources`,\n});\n\nexport { usePostMilestoneResource };\n"],"names":["usePostMilestoneResource","createPostAPI","_","userMilestoneId","BASE_URL_V3"],"mappings":";;AAIA,MAAM,EAAE,SAASA,EAAyB,IAAIC,EAM5C;AAAA,EACA,QAAQ,CAACC,GAAG,EAAE,iBAAAC,EAAsB,MAAA,GAAGC,CAAW,mBAAmBD,CAAe;AACtF,CAAC;"}
@@ -0,0 +1,9 @@
1
+ import { createPostAPI as e } from "@cuemath/rest-api";
2
+ import { BASE_URL_V2 as s } from "../../../../../constants/api.js";
3
+ const { usePost: P } = e({
4
+ getURL: (o, { studentId: t }) => `${s}/students/${t}/practice-sheets/`
5
+ });
6
+ export {
7
+ P as usePostLPARResource
8
+ };
9
+ //# sourceMappingURL=lpar-resource-assign.js.map