@cuemath/leap 3.5.52-as1 → 3.5.53-j1

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 (127) hide show
  1. package/dist/features/homework/homework-card.js +122 -121
  2. package/dist/features/homework/homework-card.js.map +1 -1
  3. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +66 -61
  4. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  5. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +56 -55
  6. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  7. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js +32 -25
  8. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
  9. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js +16 -15
  10. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
  11. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js +17 -10
  12. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
  13. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js +6 -6
  14. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  15. package/dist/features/milestone/create/comps/body-layout/body-layout.js +30 -29
  16. package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
  17. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +77 -74
  18. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  19. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +82 -79
  20. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
  21. package/dist/features/milestone/create/milestone-create-styled.js +8 -8
  22. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  23. package/dist/features/milestone/create/milestone-create.js +48 -46
  24. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  25. package/dist/features/milestone/edit/goal-draft-edit-sync.js +26 -0
  26. package/dist/features/milestone/edit/goal-draft-edit-sync.js.map +1 -0
  27. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +72 -66
  28. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  29. package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js +82 -0
  30. package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js.map +1 -0
  31. package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js +49 -0
  32. package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js.map +1 -0
  33. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +109 -105
  34. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +2 -2
  36. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +21 -16
  38. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  39. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +106 -98
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +136 -117
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  43. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +96 -92
  44. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list-sync.js +25 -0
  46. package/dist/features/milestone/milestone-list-container/milestone-list-sync.js.map +1 -0
  47. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +78 -81
  48. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  49. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +28 -25
  50. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  51. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +39 -33
  52. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
  53. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js +50 -0
  54. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js.map +1 -0
  55. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js +25 -0
  56. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js.map +1 -0
  57. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +43 -53
  58. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
  59. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +218 -174
  60. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  61. package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js +198 -0
  62. package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js.map +1 -0
  63. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +69 -67
  64. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  65. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +46 -45
  66. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  67. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +34 -32
  68. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
  69. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js +52 -0
  70. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js.map +1 -0
  71. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +51 -41
  72. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  73. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +85 -71
  74. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  75. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js +5 -5
  76. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js.map +1 -1
  77. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +36 -26
  78. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  79. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js +25 -0
  80. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js.map +1 -0
  81. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
  82. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
  83. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +150 -89
  84. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  85. package/dist/features/sheet-v2/resource-list/resource-list.js +26 -24
  86. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
  87. package/dist/features/trial-session/comps/learning-plan/index.js +218 -91
  88. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  89. package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js +7 -6
  90. package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
  91. package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js +75 -0
  92. package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js.map +1 -0
  93. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +125 -115
  94. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  95. package/dist/features/trial-session/trial-session-types.js +3 -2
  96. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  97. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +69 -54
  98. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  99. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  100. package/dist/features/worksheet/worksheet/worksheet.js +44 -33
  101. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  102. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +25 -22
  103. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  104. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +48 -44
  105. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  106. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +2 -2
  107. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  108. package/dist/index.d.ts +138 -2
  109. package/dist/node_modules/decode-uri-component/index.js.map +1 -0
  110. package/dist/node_modules/query-string/base.js +1 -1
  111. package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
  112. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  113. package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
  114. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  115. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
  116. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  117. package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
  118. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  119. package/package.json +1 -1
  120. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
  121. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
  122. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
  123. package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  124. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  125. package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  126. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
  127. /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
@@ -1,22 +1,22 @@
1
- import { jsx as a, jsxs as O, Fragment as me } from "react/jsx-runtime";
2
- import { h as Te } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
- import { memo as ce, useMemo as de, useState as u, useCallback as _e, useEffect as f } from "react";
4
- import { ILLUSTRATIONS as Ae } from "../../../assets/illustrations/illustrations.js";
1
+ import { jsx as r, jsxs as O, Fragment as ce } from "react/jsx-runtime";
2
+ import { h as de } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
+ import { memo as _e, useMemo as Ae, useState as u, useCallback as Ne, useEffect as f } from "react";
4
+ import { ILLUSTRATIONS as Me } from "../../../assets/illustrations/illustrations.js";
5
5
  import { EVENTS as e } from "../../communication/pub-sub/constants.js";
6
- import { useInClassActionListener as Ne } from "../../communication/pub-sub/hooks.js";
6
+ import { useInClassActionListener as De } from "../../communication/pub-sub/hooks.js";
7
7
  import { invalidateHomeworks as p } from "../../homework/hw-card-list/api/get-homeworks.js";
8
- import Me from "../../ui/separator/separator.js";
9
- import { invalidateMilestoneResources as De } from "./api/get-milestone-resources.js";
10
- import { useGetAllMilestonesdata as Re, invalidateMilestonesData as Ie } from "./api/get-milestones.js";
11
- import { invalidatePastMilestoneCount as Ce } from "./api/get-past-milestone-count.js";
12
- import { invalidateTestHelpData as Le } from "./api/get-tests-list.js";
13
- import Oe from "./filter-milestones.js";
14
- import ue from "./milestone-list/milestone-list.js";
15
- import fe from "./milestone-list/milestone-loader/milestone-loader.js";
16
- import { ContentWrapper as pe, LoaderWrapper as he } from "./styled.js";
17
- const ve = (d) => {
18
- Ie(d), Ce(d.student_id);
19
- }, Pe = ce(function({
8
+ import Re from "../../ui/separator/separator.js";
9
+ import { invalidateMilestoneResources as Ce } from "./api/get-milestone-resources.js";
10
+ import { useGetAllMilestonesdata as Ie, invalidateMilestonesData as Le } from "./api/get-milestones.js";
11
+ import { invalidatePastMilestoneCount as Oe } from "./api/get-past-milestone-count.js";
12
+ import { invalidateTestHelpData as ue } from "./api/get-tests-list.js";
13
+ import fe from "./filter-milestones.js";
14
+ import pe from "./milestone-list/milestone-list.js";
15
+ import he from "./milestone-list/milestone-loader/milestone-loader.js";
16
+ import { ContentWrapper as ve, LoaderWrapper as Pe } from "./styled.js";
17
+ const Ue = (d) => {
18
+ Le(d), Oe(d.student_id);
19
+ }, Ge = _e(function({
20
20
  studentName: h,
21
21
  studentId: l,
22
22
  studentClassroomId: v,
@@ -34,29 +34,31 @@ const ve = (d) => {
34
34
  activeMilestoneId: w,
35
35
  activeTabId: F,
36
36
  isTrialSession: H,
37
- onExpandPastMilestones: x,
38
- onAddOutcome: b,
39
- onChapterClick: k,
40
- onEdit: y,
41
- onCreateMilestoneTest: K,
42
- onDraftPublish: W,
43
- onAddChapter: j,
44
- onCreatePlan: X,
45
- onDelete: $,
46
- onAssignResources: z,
47
- onNodeAttempt: B,
48
- onNodeView: q,
49
- onNodeReview: J,
50
- onNodeReattempt: Q,
51
- onNodeReset: Y,
52
- onNodeUnassign: Z,
53
- onTestPreview: ee,
54
- onTestReview: te,
55
- onTestStart: oe,
56
- onWidgetTabSelection: se,
57
- onNodeAssignAsHomework: ne,
58
- onCardClick: ie
59
- } = P, n = de(
37
+ state: x,
38
+ onExpandPastMilestones: b,
39
+ onAddOutcome: k,
40
+ onChapterClick: y,
41
+ onEdit: K,
42
+ onCreateMilestoneTest: W,
43
+ onDraftPublish: j,
44
+ onAddChapter: X,
45
+ onCreatePlan: $,
46
+ onDelete: z,
47
+ onAssignResources: B,
48
+ onNodeAttempt: q,
49
+ onNodeView: J,
50
+ onNodeReview: Q,
51
+ onNodeReattempt: Y,
52
+ onNodeReset: Z,
53
+ onNodeUnassign: ee,
54
+ onTestPreview: te,
55
+ onTestReview: oe,
56
+ onTestStart: se,
57
+ onWidgetTabSelection: ne,
58
+ onNodeAssignAsHomework: ie,
59
+ onStateChange: Ee,
60
+ onCardClick: ae
61
+ } = P, n = Ae(
60
62
  () => ({
61
63
  milestone_state_group: s === "ACTIVE" ? _ === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
62
64
  course_stream: A,
@@ -68,21 +70,21 @@ const ve = (d) => {
68
70
  getAll: m,
69
71
  isStale: M,
70
72
  isProcessing: S
71
- } = Re(n), [D, R] = u(), [I, C] = u(!1), Ee = _e(
73
+ } = Ie(n), [D, R] = u(), [C, I] = u(!1), re = Ne(
72
74
  (T) => {
73
- const { searchText: i, selectedBoard: E, selectedGrade: r } = T || {};
74
- (i || E || r) && C(!0);
75
+ const { searchText: i, selectedBoard: E, selectedGrade: a } = T || {};
76
+ (i || E || a) && I(!0);
75
77
  const c = o == null ? void 0 : o.filter((t) => {
76
- const { milestone_name: ae, board: le, grade: Se } = t || {};
77
- return (i ? ae.toLowerCase().includes(i.toLowerCase()) : !0) && (E ? le === E : !0) && (r ? Se === r : !0);
78
+ const { milestone_name: Se, board: me, grade: Te } = t || {};
79
+ return (i ? Se.toLowerCase().includes(i.toLowerCase()) : !0) && (E ? me === E : !0) && (a ? Te === a : !0);
78
80
  });
79
81
  R(c);
80
82
  },
81
83
  [o]
82
- ), re = () => {
83
- C(!1), R(void 0);
84
+ ), le = () => {
85
+ I(!1), R(void 0);
84
86
  };
85
- if (Ne(
87
+ if (De(
86
88
  {
87
89
  studentClassroomId: v,
88
90
  actions: [
@@ -109,21 +111,21 @@ const ve = (d) => {
109
111
  [e.SHEET_MARKED_AS_REVIEWED]
110
112
  ],
111
113
  callback: (T) => {
112
- var r, c;
113
- const i = (r = T.find(
114
+ var a, c;
115
+ const i = (a = T.find(
114
116
  (t) => t.eventName === e.MILESTONE_RESOURCE_ASSIGNED || t.eventName === e.MILESTONE_RESOURCE_UNASSIGNED || t.eventName === e.MILESTONE_RESOURCE_RESET || t.eventName === e.SHEET_MARKED_AS_REVIEWED
115
- )) == null ? void 0 : r.eventPayload, E = (c = T.find(
117
+ )) == null ? void 0 : a.eventPayload, E = (c = T.find(
116
118
  (t) => t.eventName === e.MILESTONE_TEST_ASSIGNED || t.eventName === e.MILESTONE_RESOURCE_RESET
117
119
  )) == null ? void 0 : c.eventPayload;
118
120
  if (i) {
119
121
  const { milestoneId: t } = i || {};
120
- p(l), De(t);
122
+ p(l), Ce(t);
121
123
  }
122
124
  if (E) {
123
125
  const { milestoneId: t } = E;
124
- p(l), Le(t);
126
+ p(l), ue(t);
125
127
  }
126
- ve(n);
128
+ Ue(n);
127
129
  }
128
130
  },
129
131
  (s === "ACTIVE" || s === "INACTIVE") && N
@@ -132,68 +134,70 @@ const ve = (d) => {
132
134
  }, [m, n]), f(() => {
133
135
  !S && M && m(n);
134
136
  }, [m, n, M, S]), S && !o)
135
- return /* @__PURE__ */ a(fe, { numMilestones: 2 });
137
+ return /* @__PURE__ */ r(he, { numMilestones: 2 });
136
138
  const L = s === "ACTIVE" && o && o.length > 6;
137
- return /* @__PURE__ */ O(pe, { $disablePointerEvents: S, children: [
138
- S && /* @__PURE__ */ a(he, { children: /* @__PURE__ */ a("img", { src: Ae.LOADER_1, alt: "loading" }) }),
139
- L && /* @__PURE__ */ O(me, { children: [
140
- /* @__PURE__ */ a(
141
- Oe,
139
+ return /* @__PURE__ */ O(ve, { $disablePointerEvents: S, children: [
140
+ S && /* @__PURE__ */ r(Pe, { children: /* @__PURE__ */ r("img", { src: Me.LOADER_1, alt: "loading" }) }),
141
+ L && /* @__PURE__ */ O(ce, { children: [
142
+ /* @__PURE__ */ r(
143
+ fe,
142
144
  {
143
145
  filteredMilestones: D,
144
146
  milestones: o,
145
- handleFilterMilestones: Ee,
146
- handleClearFilter: re
147
+ handleFilterMilestones: re,
148
+ handleClearFilter: le
147
149
  }
148
150
  ),
149
- /* @__PURE__ */ a(Me, { heightX: 1.5 })
151
+ /* @__PURE__ */ r(Re, { heightX: 1.5 })
150
152
  ] }),
151
- /* @__PURE__ */ a(
152
- ue,
153
+ /* @__PURE__ */ r(
154
+ pe,
153
155
  {
154
156
  showFilters: !!L,
155
157
  canCreatePlan: G,
156
158
  isClassOngoing: U,
157
- isFiltersAdded: I,
159
+ isFiltersAdded: C,
158
160
  isStudentPresent: N,
159
161
  milestoneType: s,
160
- milestones: I ? D : o,
161
- onAddChapter: j,
162
- onAddOutcome: b,
163
- onChapterClick: k,
164
- onCreatePlan: X,
165
- onDelete: $,
166
- onDraftPublish: W,
167
- onEdit: y,
168
- onExpandPastMilestones: x,
169
- onCreateMilestoneTest: K,
170
- onAssignResources: z,
171
- onTestPreview: ee,
172
- onTestReview: te,
173
- onTestStart: oe,
174
- onNodeAttempt: B,
175
- onNodeView: q,
176
- onNodeReview: J,
177
- onNodeReattempt: Q,
178
- onNodeReset: Y,
179
- onNodeUnassign: Z,
180
- onNodeAssignAsHomework: ne,
162
+ milestones: C ? D : o,
163
+ onAddChapter: X,
164
+ onAddOutcome: k,
165
+ onChapterClick: y,
166
+ onCreatePlan: $,
167
+ onDelete: z,
168
+ onDraftPublish: j,
169
+ onEdit: K,
170
+ onExpandPastMilestones: b,
171
+ onCreateMilestoneTest: W,
172
+ onAssignResources: B,
173
+ onTestPreview: te,
174
+ onTestReview: oe,
175
+ onTestStart: se,
176
+ onNodeAttempt: q,
177
+ onNodeView: J,
178
+ onNodeReview: Q,
179
+ onNodeReattempt: Y,
180
+ onNodeReset: Z,
181
+ onNodeUnassign: ee,
182
+ onNodeAssignAsHomework: ie,
181
183
  activeMilestoneId: w,
182
184
  activeTabId: F,
183
- onWidgetTabSelection: se,
185
+ onWidgetTabSelection: ne,
184
186
  studentId: l,
185
- studentName: Te.titleCase(h),
187
+ studentName: de.titleCase(h),
186
188
  teacherName: g,
187
189
  parentName: V,
188
190
  userType: _,
189
191
  courseStream: A,
190
192
  isTrialSession: H,
191
- onCardClick: ie
193
+ state: x,
194
+ onStateChange: Ee,
195
+ onCardClick: ae
192
196
  }
193
197
  )
194
198
  ] });
195
- }), Je = Pe;
199
+ }), Ye = Ge;
196
200
  export {
197
- Je as default
201
+ Ye as default
198
202
  };
199
203
  //# 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 { titleCase } from 'humanize-plus';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidatePastMilestoneCount } from './api/get-past-milestone-count';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport MilestoneList from './milestone-list/milestone-list';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n invalidatePastMilestoneCount(queryParams.student_id);\n};\n\nconst MilestoneListContainer: FC<IMilestoneContainerProps> = memo(function MilestoneListContainer({\n studentName,\n studentId,\n studentClassroomId,\n ...restMilestoneListContainerProps\n}) {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n isTrialSession,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n onNodeAssignAsHomework,\n onCardClick,\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 course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [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 [EVENTS.SHEET_MARKED_AS_REVIEWED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET ||\n message.eventName === EVENTS.SHEET_MARKED_AS_REVIEWED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\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 onAssignResources={onAssignResources}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n isTrialSession={isTrialSession}\n onCardClick={onCardClick}\n />\n </Styled.ContentWrapper>\n );\n});\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","invalidatePastMilestoneCount","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","isTrialSession","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","onNodeAssignAsHomework","onCardClick","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","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"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 { titleCase } from 'humanize-plus';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidatePastMilestoneCount } from './api/get-past-milestone-count';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport MilestoneList from './milestone-list/milestone-list';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n invalidatePastMilestoneCount(queryParams.student_id);\n};\n\nconst MilestoneListContainer: FC<IMilestoneContainerProps> = memo(function MilestoneListContainer({\n studentName,\n studentId,\n studentClassroomId,\n ...restMilestoneListContainerProps\n}) {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n isTrialSession,\n state,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n onNodeAssignAsHomework,\n onStateChange,\n onCardClick,\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 course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [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 [EVENTS.SHEET_MARKED_AS_REVIEWED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET ||\n message.eventName === EVENTS.SHEET_MARKED_AS_REVIEWED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\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 onAssignResources={onAssignResources}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n isTrialSession={isTrialSession}\n state={state}\n onStateChange={onStateChange}\n onCardClick={onCardClick}\n />\n </Styled.ContentWrapper>\n );\n});\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","invalidatePastMilestoneCount","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","isTrialSession","state","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","onNodeAssignAsHomework","onStateChange","onCardClick","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","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { memo as m, useEffect as l } from "react";
3
+ import { useMilestoneListSync as f } from "./hooks/use-milestone-list-sync.js";
4
+ import p from "./milestone-list-container.js";
5
+ const h = m(function(o) {
6
+ const { channelId: s, userType: e, ...i } = o, t = e === "TEACHER", { syncedState: r, setSyncState: c, closeChannel: n } = f({
7
+ channelId: s,
8
+ isTeacher: t
9
+ });
10
+ return l(() => () => {
11
+ n();
12
+ }, [n]), /* @__PURE__ */ a(
13
+ p,
14
+ {
15
+ ...i,
16
+ userType: e,
17
+ state: t ? void 0 : r,
18
+ onStateChange: t ? c : void 0
19
+ }
20
+ );
21
+ });
22
+ export {
23
+ h as default
24
+ };
25
+ //# sourceMappingURL=milestone-list-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestone-list-sync.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-sync.tsx"],"sourcesContent":["import { memo, useEffect, type FC } from 'react';\n\nimport type { TUserTypes } from '../../ui/types';\nimport { useMilestoneListSync } from './hooks/use-milestone-list-sync';\nimport MilestoneList from './milestone-list-container';\nimport type { IMilestoneContainerProps } from './milestone-list-container-types';\n\ninterface IMilestoneListSync extends Omit<IMilestoneContainerProps, 'state' | 'onStateChange'> {\n channelId: string;\n userType: TUserTypes;\n}\n\nconst MilestoneListSync: FC<IMilestoneListSync> = memo(function MilestoneListSync(props) {\n const { channelId, userType, ...milestoneListProps } = props;\n\n const isTeacher = userType === 'TEACHER';\n\n const { syncedState, setSyncState, closeChannel } = useMilestoneListSync({\n channelId,\n isTeacher,\n });\n\n useEffect(() => {\n return () => {\n closeChannel();\n };\n }, [closeChannel]);\n\n return (\n <MilestoneList\n {...milestoneListProps}\n userType={userType}\n state={isTeacher ? undefined : syncedState}\n onStateChange={isTeacher ? setSyncState : undefined}\n />\n );\n});\n\nexport default MilestoneListSync;\n"],"names":["MilestoneListSync","memo","props","channelId","userType","milestoneListProps","isTeacher","syncedState","setSyncState","closeChannel","useMilestoneListSync","useEffect","jsx","MilestoneList"],"mappings":";;;;AAYA,MAAMA,IAA4CC,EAAK,SAA2BC,GAAO;AACvF,QAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,MAAuBH,GAEjDI,IAAYF,MAAa,WAEzB,EAAE,aAAAG,GAAa,cAAAC,GAAc,cAAAC,EAAA,IAAiBC,EAAqB;AAAA,IACvE,WAAAP;AAAA,IACA,WAAAG;AAAA,EAAA,CACD;AAED,SAAAK,EAAU,MACD,MAAM;AACE,IAAAF;EAAA,GAEd,CAACA,CAAY,CAAC,GAGf,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGR;AAAA,MACJ,UAAAD;AAAA,MACA,OAAOE,IAAY,SAAYC;AAAA,MAC/B,eAAeD,IAAYE,IAAe;AAAA,IAAA;AAAA,EAAA;AAGhD,CAAC;"}