@cuemath/leap 2.8.38-guru.0 → 2.8.38-hg2

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 (126) hide show
  1. package/dist/assets/lottie/lottie.js +6 -0
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/features/analytics-events/whitelist-events.js +13 -15
  4. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js +3 -3
  6. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js.map +1 -1
  7. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js +29 -35
  8. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
  9. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.js +25 -0
  10. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.js.map +1 -0
  11. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js +57 -0
  12. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +1 -0
  13. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star-styled.js +27 -0
  14. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star-styled.js.map +1 -0
  15. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js +37 -0
  16. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +1 -0
  17. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +35 -42
  18. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js.map +1 -1
  19. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +223 -212
  20. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  21. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js +8 -7
  22. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js.map +1 -1
  23. package/dist/features/circle-games/game-launcher/game-launcher.js +25 -24
  24. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  25. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  26. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js +8 -3
  27. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js.map +1 -1
  28. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js +2 -2
  29. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js.map +1 -1
  30. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +22 -17
  31. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  32. package/dist/features/communication/pub-sub/constants.js +1 -2
  33. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  34. package/dist/features/milestone/create/milestone-create-styled.js +9 -11
  35. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  36. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js +8 -6
  37. package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js.map +1 -1
  38. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +117 -130
  39. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  40. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js +17 -0
  41. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js.map +1 -0
  42. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +47 -0
  43. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +1 -0
  44. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js +6 -0
  45. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js.map +1 -0
  46. package/dist/features/post-game-stats/digital-meter/constants.js +16 -0
  47. package/dist/features/post-game-stats/digital-meter/constants.js.map +1 -0
  48. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +87 -0
  49. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +1 -0
  50. package/dist/features/post-game-stats/digital-meter/digital-meter.js +190 -0
  51. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -0
  52. package/dist/features/post-game-stats/digital-meter/helper.js +33 -0
  53. package/dist/features/post-game-stats/digital-meter/helper.js.map +1 -0
  54. package/dist/features/post-game-stats/enums/post-game-stats-enum.js +1 -1
  55. package/dist/features/post-game-stats/enums/post-game-stats-enum.js.map +1 -1
  56. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js +30 -0
  57. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js.map +1 -0
  58. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js +22 -0
  59. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -0
  60. package/dist/features/post-game-stats/points/points.js +15 -10
  61. package/dist/features/post-game-stats/points/points.js.map +1 -1
  62. package/dist/features/post-game-stats/post-game-stats.js +83 -61
  63. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  64. package/dist/features/ui/grade-selector/grade-tab.js +15 -15
  65. package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
  66. package/dist/features/ui/tab/tab-styled.js +8 -7
  67. package/dist/features/ui/tab/tab-styled.js.map +1 -1
  68. package/dist/features/ui/tab/tab.js +31 -36
  69. package/dist/features/ui/tab/tab.js.map +1 -1
  70. package/dist/features/ui/theme/tab.js +3 -3
  71. package/dist/features/ui/theme/tab.js.map +1 -1
  72. package/dist/index.d.ts +53 -46
  73. package/dist/index.js +343 -345
  74. package/dist/index.js.map +1 -1
  75. package/dist/static/point2.7cec6e24.json +1 -0
  76. package/dist/static/point3.f96fe7aa.json +1 -0
  77. package/dist/static/point4.fe04fb83.json +1 -0
  78. package/dist/static/table-mode-star.b8a1d762.json +1 -0
  79. package/dist/static/table-segment-star.78e851d6.json +1 -0
  80. package/dist/static/target-achieved-text.053bd142.json +2830 -0
  81. package/dist/static/target-achieved-text.10db8475.json +1 -0
  82. package/package.json +3 -2
  83. package/dist/assets/line-icons/icons/sheet.js +0 -54
  84. package/dist/assets/line-icons/icons/sheet.js.map +0 -1
  85. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js +0 -11
  86. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js.map +0 -1
  87. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js +0 -16
  88. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js.map +0 -1
  89. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +0 -205
  90. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +0 -1
  91. package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js +0 -11
  92. package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +0 -1
  93. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js +0 -9
  94. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +0 -1
  95. package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js +0 -9
  96. package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +0 -1
  97. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js +0 -19
  98. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +0 -1
  99. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +0 -47
  100. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +0 -1
  101. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js +0 -22
  102. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js.map +0 -1
  103. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +0 -60
  104. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +0 -1
  105. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js +0 -6
  106. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js.map +0 -1
  107. package/dist/features/milestone/milestone-resources/resources-assign/constant.js +0 -6
  108. package/dist/features/milestone/milestone-resources/resources-assign/constant.js.map +0 -1
  109. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js +0 -19
  110. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js.map +0 -1
  111. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js +0 -32
  112. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +0 -1
  113. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js +0 -19
  114. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js.map +0 -1
  115. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +0 -85
  116. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +0 -1
  117. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js +0 -65
  118. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +0 -1
  119. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +0 -233
  120. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +0 -1
  121. package/dist/features/milestone/milestone-resources/resources-assign/utils.js +0 -12
  122. package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +0 -1
  123. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js +0 -28
  124. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +0 -1
  125. package/dist/features/ui/inputs/searchable-input/searchable-input.js +0 -101
  126. package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +0 -1
@@ -1,81 +1,80 @@
1
- import { jsx as E, jsxs as R, Fragment as ne } from "react/jsx-runtime";
1
+ import { jsx as i, jsxs as I, 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 p, useCallback as Ee, useEffect as f } from "react";
3
+ import { memo as ie, useMemo as ae, useState as O, useCallback as Ee, useEffect as R } 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 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 }) => {
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 }) => {
19
18
  const {
20
- milestoneType: o,
21
- isStudentPresent: N,
22
- isClassOngoing: _,
23
- userType: A,
24
- canCreatePlan: G,
25
- teacherName: U,
26
- parentName: v,
27
- courseStream: D,
19
+ milestoneType: s,
20
+ isStudentPresent: d,
21
+ isClassOngoing: c,
22
+ userType: T,
23
+ canCreatePlan: h,
24
+ teacherName: P,
25
+ parentName: U,
26
+ courseStream: A,
28
27
  onExpandPastMilestones: g,
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(
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(
49
48
  () => ({
50
- milestone_state_group: o === "ACTIVE" ? A === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : o,
49
+ milestone_state_group: s === "ACTIVE" ? T === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
51
50
  with_plan: !0,
52
- course_stream: D,
53
- student_id: d,
54
- in_class: _
51
+ course_stream: A,
52
+ student_id: m,
53
+ in_class: c
55
54
  }),
56
- [_, o, D, d, A]
55
+ [c, s, A, m, T]
57
56
  ), {
58
57
  data: t,
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);
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);
69
68
  });
70
- u(c);
69
+ M(Z);
71
70
  },
72
71
  [t]
73
- ), ee = () => {
74
- C(!1), u(void 0);
72
+ ), Y = () => {
73
+ C(!1), M(void 0);
75
74
  };
76
75
  if (Se(
77
76
  {
78
- studentClassroomId: h,
77
+ studentClassroomId: p,
79
78
  actions: [
80
79
  [e.CHAPTER_UPDATED],
81
80
  [e.LESSONS_MARKED_AS_FAMILIAR],
@@ -95,91 +94,79 @@ const ue = (T) => {
95
94
  [e.GOAL_EDITED],
96
95
  [e.GOAL_DELETED],
97
96
  [e.GOAL_OUTCOME_ADDED],
98
- [e.PAST_MILESTONE_OUTCOME_ADDED],
99
- [e.MILESTONE_TEST_ASSIGNED]
97
+ [e.PAST_MILESTONE_OUTCOME_ADDED]
100
98
  ],
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);
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);
117
104
  }
118
105
  },
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,
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,
132
119
  {
133
- filteredMilestones: M,
120
+ filteredMilestones: L,
134
121
  milestones: t,
135
- handleFilterMilestones: Z,
136
- handleClearFilter: ee
122
+ handleFilterMilestones: Q,
123
+ handleClearFilter: Y
137
124
  }
138
125
  ),
139
- /* @__PURE__ */ E(me, { heightX: 1.5 })
126
+ /* @__PURE__ */ i(me, { heightX: 1.5 })
140
127
  ] }),
141
- /* @__PURE__ */ E(
142
- De,
128
+ /* @__PURE__ */ i(
129
+ de,
143
130
  {
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,
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,
158
145
  onExpandPastMilestones: g,
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
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
177
164
  }
178
165
  )
179
166
  ] });
180
167
  }
181
- ), He = Le;
168
+ ), be = Ce;
182
169
  export {
183
- He as default
170
+ be as default
184
171
  };
185
172
  //# 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 { 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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"}
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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"}
@@ -0,0 +1,17 @@
1
+ import i from "styled-components";
2
+ import { RAINBOW_COLOR_ANIMATION_DURATION as r } from "../../constants.js";
3
+ import { rainbowColorAnimation as n } from "../../helper.js";
4
+ import { ARC_Z_INDEX as s } from "./constants.js";
5
+ const p = i.svg`
6
+ position: absolute;
7
+ z-index: ${s};
8
+ `, A = i.path`
9
+ stroke: ${({ theme: o, stroke: t }) => o.colors[t]};
10
+ animation: ${({ $playRainbowColors: o }) => o ? n : "undefined"}
11
+ ${r}s ease infinite forwards;
12
+ `;
13
+ export {
14
+ A as Path,
15
+ p as Svg
16
+ };
17
+ //# sourceMappingURL=animated-arc-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-arc-styled.js","sources":["../../../../../../src/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\n\nimport styled from 'styled-components';\n\nimport { RAINBOW_COLOR_ANIMATION_DURATION } from '../../constants';\nimport { rainbowColorAnimation } from '../../helper';\nimport { ARC_Z_INDEX } from './constants';\n\nexport const Svg = styled.svg`\n position: absolute;\n z-index: ${ARC_Z_INDEX};\n`;\n\nexport const Path = styled.path<{ stroke: TColorNames; $playRainbowColors: boolean }>`\n stroke: ${({ theme, stroke }) => theme.colors[stroke]};\n animation: ${({ $playRainbowColors }) =>\n $playRainbowColors ? rainbowColorAnimation : 'undefined'}\n ${RAINBOW_COLOR_ANIMATION_DURATION}s ease infinite forwards;\n`;\n"],"names":["Svg","styled","ARC_Z_INDEX","Path","theme","stroke","$playRainbowColors","rainbowColorAnimation","RAINBOW_COLOR_ANIMATION_DURATION"],"mappings":";;;;AAQO,MAAMA,IAAMC,EAAO;AAAA;AAAA,aAEbC,CAAW;AAAA,GAGXC,IAAOF,EAAO;AAAA,YACf,CAAC,EAAE,OAAAG,GAAO,QAAAC,EAAA,MAAaD,EAAM,OAAOC,CAAM,CAAC;AAAA,eACxC,CAAC,EAAE,oBAAAC,EAAA,MACZA,IAAqBC,IAAwB,WAAW;AAAA,MACxDC,CAAgC;AAAA;"}
@@ -0,0 +1,47 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { useRef as A, useLayoutEffect as $ } from "react";
3
+ import { describeArc as R } from "../../helper.js";
4
+ import { Svg as k, Path as w } from "./animated-arc-styled.js";
5
+ import { ADJUSTED_START_ANGLE as D } from "./constants.js";
6
+ const x = ({
7
+ radius: e,
8
+ strokeWidth: n,
9
+ color: h,
10
+ targetAngle: m,
11
+ startAngle: p = 0,
12
+ duration: r = 2,
13
+ mode: o = "draw",
14
+ delay: s = 0,
15
+ playRainbowColors: y = !1
16
+ }) => {
17
+ const a = A(null), g = -D + p, i = e, u = e - n / 2, c = R(i, i, u, g, m);
18
+ return $(() => {
19
+ const t = a.current;
20
+ if (t) {
21
+ if (o === "draw") {
22
+ const f = t.getTotalLength();
23
+ t.style.strokeDasharray = `${f}`, t.style.strokeDashoffset = `${f}`, t.getBoundingClientRect(), requestAnimationFrame(() => {
24
+ t.style.transition = `stroke-dashoffset ${r}s linear ${s}s`, t.style.strokeDashoffset = "0";
25
+ });
26
+ }
27
+ o === "fade" && (t.style.opacity = "0", t.getBoundingClientRect(), requestAnimationFrame(() => {
28
+ t.style.transition = `opacity 0s ease-in-out ${s}s`, t.style.opacity = "1";
29
+ }));
30
+ }
31
+ }, [c, o, r, s]), /* @__PURE__ */ l(k, { width: 2 * e, height: 2 * e, viewBox: `0 0 ${2 * e} ${2 * e}`, children: /* @__PURE__ */ l(
32
+ w,
33
+ {
34
+ ref: a,
35
+ d: c,
36
+ fill: "none",
37
+ stroke: h,
38
+ strokeWidth: n,
39
+ strokeLinecap: "butt",
40
+ $playRainbowColors: y
41
+ }
42
+ ) });
43
+ };
44
+ export {
45
+ x as AnimatedArc
46
+ };
47
+ //# sourceMappingURL=animated-arc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-arc.js","sources":["../../../../../../src/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.tsx"],"sourcesContent":["import type { IAnimatedArcProps } from './animated-arc-types';\n\nimport React, { useRef, useLayoutEffect } from 'react';\n\nimport { describeArc } from '../../helper';\nimport * as Styled from './animated-arc-styled';\nimport { ADJUSTED_START_ANGLE } from './constants';\n\nexport const AnimatedArc: React.FC<IAnimatedArcProps> = ({\n radius,\n strokeWidth,\n color,\n targetAngle,\n startAngle = 0,\n duration = 2,\n mode = 'draw',\n delay = 0,\n playRainbowColors = false,\n}) => {\n const pathRef = useRef<SVGPathElement>(null);\n\n const adjustedStartAngle = -ADJUSTED_START_ANGLE + startAngle;\n const center = radius;\n const arcRadius = radius - strokeWidth / 2; // draw arc inside the visible bounds\n const arcPath = describeArc(center, center, arcRadius, adjustedStartAngle, targetAngle);\n\n useLayoutEffect(() => {\n const path = pathRef.current;\n\n if (!path) return;\n\n if (mode === 'draw') {\n const length = path.getTotalLength();\n\n path.style.strokeDasharray = `${length}`;\n path.style.strokeDashoffset = `${length}`;\n path.getBoundingClientRect();\n\n requestAnimationFrame(() => {\n path.style.transition = `stroke-dashoffset ${duration}s linear ${delay}s`;\n path.style.strokeDashoffset = '0';\n });\n }\n\n if (mode === 'fade') {\n path.style.opacity = '0';\n path.getBoundingClientRect();\n\n requestAnimationFrame(() => {\n path.style.transition = `opacity 0s ease-in-out ${delay}s`;\n path.style.opacity = '1';\n });\n }\n }, [arcPath, mode, duration, delay]);\n\n return (\n <Styled.Svg width={2 * radius} height={2 * radius} viewBox={`0 0 ${2 * radius} ${2 * radius}`}>\n <Styled.Path\n ref={pathRef}\n d={arcPath}\n fill=\"none\"\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"butt\"\n $playRainbowColors={playRainbowColors}\n />\n </Styled.Svg>\n );\n};\n"],"names":["AnimatedArc","radius","strokeWidth","color","targetAngle","startAngle","duration","mode","delay","playRainbowColors","pathRef","useRef","adjustedStartAngle","ADJUSTED_START_ANGLE","center","arcRadius","arcPath","describeArc","useLayoutEffect","path","length","Styled.Svg","jsx","Styled.Path"],"mappings":";;;;;AAQO,MAAMA,IAA2C,CAAC;AAAA,EACvD,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,mBAAAC,IAAoB;AACtB,MAAM;AACE,QAAAC,IAAUC,EAAuB,IAAI,GAErCC,IAAqB,CAACC,IAAuBR,GAC7CS,IAASb,GACTc,IAAYd,IAASC,IAAc,GACnCc,IAAUC,EAAYH,GAAQA,GAAQC,GAAWH,GAAoBR,CAAW;AAEtF,SAAAc,EAAgB,MAAM;AACpB,UAAMC,IAAOT,EAAQ;AAErB,QAAKS,GAEL;AAAA,UAAIZ,MAAS,QAAQ;AACb,cAAAa,IAASD,EAAK;AAEf,QAAAA,EAAA,MAAM,kBAAkB,GAAGC,CAAM,IACjCD,EAAA,MAAM,mBAAmB,GAAGC,CAAM,IACvCD,EAAK,sBAAsB,GAE3B,sBAAsB,MAAM;AAC1B,UAAAA,EAAK,MAAM,aAAa,qBAAqBb,CAAQ,YAAYE,CAAK,KACtEW,EAAK,MAAM,mBAAmB;AAAA,QAAA,CAC/B;AAAA,MACH;AAEA,MAAIZ,MAAS,WACXY,EAAK,MAAM,UAAU,KACrBA,EAAK,sBAAsB,GAE3B,sBAAsB,MAAM;AACrB,QAAAA,EAAA,MAAM,aAAa,0BAA0BX,CAAK,KACvDW,EAAK,MAAM,UAAU;AAAA,MAAA,CACtB;AAAA;AAAA,KAEF,CAACH,GAAST,GAAMD,GAAUE,CAAK,CAAC,qBAGhCa,GAAA,EAAW,OAAO,IAAIpB,GAAQ,QAAQ,IAAIA,GAAQ,SAAS,OAAO,IAAIA,CAAM,IAAI,IAAIA,CAAM,IACzF,UAAA,gBAAAqB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKb;AAAA,MACL,GAAGM;AAAA,MACH,MAAK;AAAA,MACL,QAAQb;AAAA,MACR,aAAAD;AAAA,MACA,eAAc;AAAA,MACd,oBAAoBO;AAAA,IAAA;AAAA,EAExB,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,6 @@
1
+ const A = 1, _ = 150;
2
+ export {
3
+ _ as ADJUSTED_START_ANGLE,
4
+ A as ARC_Z_INDEX
5
+ };
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../../../src/features/post-game-stats/digital-meter/comp/animated-arc/constants.ts"],"sourcesContent":["export const ARC_Z_INDEX = 1;\n\nexport const ADJUSTED_START_ANGLE = 150;\n"],"names":["ARC_Z_INDEX","ADJUSTED_START_ANGLE"],"mappings":"AAAO,MAAMA,IAAc,GAEdC,IAAuB;"}
@@ -0,0 +1,16 @@
1
+ import { ARC_Z_INDEX as _ } from "./comp/animated-arc/constants.js";
2
+ const I = 300, N = 2, A = _ + 1, E = A + 1, T = E + 1, O = 5, o = 2 / 30, L = 3, t = 12 / 30, D = 1, c = 43 / 30;
3
+ export {
4
+ N as BORDER_OFFSET,
5
+ E as CONTENT_CONTAINER_Z_INDEX,
6
+ A as LINE_MARKING_Z_INDEX,
7
+ T as NUMBER_MARKING_Z_INDEX,
8
+ t as PROGRESS_FILL_DELAY,
9
+ D as PROGRESS_FILL_DURATION,
10
+ c as RAINBOW_COLOR_ANIMATION_DURATION,
11
+ L as TARGET_ACHIEVED_DELAY,
12
+ o as TARGET_HELPER_TEXT_APPEAR_DELAY,
13
+ O as TOTAL_ANIMATION_DURATION,
14
+ I as TOTAL_ARC_AVAILABLE
15
+ };
16
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/post-game-stats/digital-meter/constants.ts"],"sourcesContent":["import { ARC_Z_INDEX } from './comp/animated-arc/constants';\n\nexport const TOTAL_ARC_AVAILABLE = 300;\n\nexport const BORDER_OFFSET = 2;\nexport const LINE_MARKING_Z_INDEX = ARC_Z_INDEX + 1;\nexport const CONTENT_CONTAINER_Z_INDEX = LINE_MARKING_Z_INDEX + 1;\nexport const NUMBER_MARKING_Z_INDEX = CONTENT_CONTAINER_Z_INDEX + 1;\n\n// animation details\nexport const TOTAL_ANIMATION_DURATION = 5; // in sec\nexport const TARGET_HELPER_TEXT_APPEAR_DELAY = 2 / 30; // delay of 2 frames\nexport const TARGET_ACHIEVED_DELAY = 3; // delay of 3 sec\nexport const PROGRESS_FILL_DELAY = 12 / 30; // delay of 12 frames\nexport const PROGRESS_FILL_DURATION = 1; // in sec\nexport const RAINBOW_COLOR_ANIMATION_DURATION = 43 / 30; // 43 frames;\n"],"names":["TOTAL_ARC_AVAILABLE","BORDER_OFFSET","LINE_MARKING_Z_INDEX","ARC_Z_INDEX","CONTENT_CONTAINER_Z_INDEX","NUMBER_MARKING_Z_INDEX","TOTAL_ANIMATION_DURATION","TARGET_HELPER_TEXT_APPEAR_DELAY","TARGET_ACHIEVED_DELAY","PROGRESS_FILL_DELAY","PROGRESS_FILL_DURATION","RAINBOW_COLOR_ANIMATION_DURATION"],"mappings":";AAEO,MAAMA,IAAsB,KAEtBC,IAAgB,GAChBC,IAAuBC,IAAc,GACrCC,IAA4BF,IAAuB,GACnDG,IAAyBD,IAA4B,GAGrDE,IAA2B,GAC3BC,IAAkC,IAAI,IACtCC,IAAwB,GACxBC,IAAsB,KAAK,IAC3BC,IAAyB,GACzBC,IAAmC,KAAK;"}
@@ -0,0 +1,87 @@
1
+ import o, { keyframes as e } from "styled-components";
2
+ import { GAME_LAUNCHER_SIZE as r, GAME_LAUNCHER_SIZE_LARGE as s } from "../../circle-games/game-launcher/comps/card-container/constants.js";
3
+ import i from "../../ui/text/text.js";
4
+ import { ADJUSTED_START_ANGLE as n } from "./comp/animated-arc/constants.js";
5
+ import { CONTENT_CONTAINER_Z_INDEX as l, LINE_MARKING_Z_INDEX as d, NUMBER_MARKING_Z_INDEX as m, TARGET_HELPER_TEXT_APPEAR_DELAY as a, RAINBOW_COLOR_ANIMATION_DURATION as p } from "./constants.js";
6
+ import { rainbowColorAnimation as f } from "./helper.js";
7
+ const g = o.div`
8
+ height: ${r}px;
9
+ width: ${r}px;
10
+ background-color: ${({ theme: t }) => t.colors.BLACK_2};
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ position: relative;
15
+ border-radius: 100%;
16
+ border: 1px solid ${({ theme: t }) => t.colors.WHITE};
17
+ animation: ${({ $isTargetAchieved: t }) => t ? e`100%{transform: scale(1.02)}` : "unset"}
18
+ 0.133s ease alternate;
19
+ `, N = o.div`
20
+ display: flex;
21
+ justify-content: center;
22
+ align-items: center;
23
+ position: absolute;
24
+ z-index: ${l};
25
+ height: 92%;
26
+ width: 92%;
27
+ border-radius: 100%;
28
+ background-color: ${({ theme: t }) => t.colors.BLACK_2};
29
+ `, b = o.div`
30
+ position: relative;
31
+ flex-grow: 1;
32
+ bottom: ${r === s ? -8 : -6}px;
33
+ `;
34
+ o.div`
35
+ position: absolute;
36
+ `;
37
+ const u = o.div`
38
+ width: ${r / 2}px;
39
+ height: 2px;
40
+ position: absolute;
41
+ background-color: ${({ theme: t }) => t.colors.BLACK_2};
42
+ transform-style: preserve-3d;
43
+ backface-visibility: hidden;
44
+ transform-origin: left;
45
+ transform: rotate(${({ $angle: t }) => -240 + t}deg);
46
+ left: ${r / 2}px;
47
+ top: ${r / 2}px;
48
+ z-index: ${d};
49
+ `, T = o.div`
50
+ position: absolute;
51
+ height: ${r - r * 0.0625 - 10}px;
52
+ transform: rotate(${({ $angle: t }) => -n + t}deg);
53
+ z-index: ${m};
54
+ `, h = o.div`
55
+ transform: rotate(${({ $angle: t }) => n - t}deg);
56
+ `, C = o.div`
57
+ position: absolute;
58
+ top: 0;
59
+ transform: ${({ top: t }) => `translateY(${t}px)`};
60
+ `, R = o(i)`
61
+ animation: ${e`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s
62
+ ease-in-out ${a}s forwards;
63
+ `, I = o(i)`
64
+ animation: ${e`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s
65
+ ease ${a}s forwards;
66
+ `;
67
+ o.div`
68
+ height: 100%;
69
+ width: 100%;
70
+ `;
71
+ const v = o(i)`
72
+ animation: ${({ $isTargetAchieved: t }) => t ? f : "unset"}
73
+ ${p}s ease infinite forwards;
74
+ `;
75
+ export {
76
+ C as BottomAbsoluteView,
77
+ N as ContentContainer,
78
+ g as DigitalMeter,
79
+ R as HelperTextPrimary,
80
+ I as HelperTextSecondary,
81
+ u as LineMarking,
82
+ T as MarkingContainer,
83
+ h as MarkingText,
84
+ b as NumberCountContainer,
85
+ v as RainboxColorText
86
+ };
87
+ //# sourceMappingURL=digital-meter-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital-meter-styled.js","sources":["../../../../src/features/post-game-stats/digital-meter/digital-meter-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport {\n GAME_LAUNCHER_SIZE,\n GAME_LAUNCHER_SIZE_LARGE,\n} from '../../circle-games/game-launcher/comps/card-container/constants';\nimport Text from '../../ui/text/text';\nimport { ADJUSTED_START_ANGLE } from './comp/animated-arc/constants';\nimport {\n CONTENT_CONTAINER_Z_INDEX,\n LINE_MARKING_Z_INDEX,\n NUMBER_MARKING_Z_INDEX,\n RAINBOW_COLOR_ANIMATION_DURATION,\n TARGET_HELPER_TEXT_APPEAR_DELAY,\n} from './constants';\nimport { rainbowColorAnimation } from './helper';\n\nexport const DigitalMeter = styled.div<{ $isTargetAchieved: boolean }>`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n border-radius: 100%;\n border: 1px solid ${({ theme }) => theme.colors.WHITE};\n animation: ${({ $isTargetAchieved }) =>\n $isTargetAchieved ? keyframes`100%{transform: scale(1.02)}` : 'unset'}\n 0.133s ease alternate;\n`;\n\nexport const ContentContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n z-index: ${CONTENT_CONTAINER_Z_INDEX};\n height: 92%;\n width: 92%;\n border-radius: 100%;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n`;\n\nexport const NumberCountContainer = styled.div`\n position: relative;\n flex-grow: 1;\n bottom: ${GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE ? -8 : -6}px;\n`;\n\nexport const AbsoluteView = styled.div`\n position: absolute;\n`;\n\nexport const LineMarking = styled.div<{\n $angle: number;\n}>`\n width: ${GAME_LAUNCHER_SIZE / 2}px;\n height: 2px;\n position: absolute;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n transform-style: preserve-3d;\n backface-visibility: hidden;\n transform-origin: left;\n transform: rotate(${({ $angle }) => -240 + $angle}deg);\n left: ${GAME_LAUNCHER_SIZE / 2}px;\n top: ${GAME_LAUNCHER_SIZE / 2}px;\n z-index: ${LINE_MARKING_Z_INDEX};\n`;\n\nexport const MarkingContainer = styled.div<{ $angle: number }>`\n position: absolute;\n height: ${GAME_LAUNCHER_SIZE - GAME_LAUNCHER_SIZE * 0.0625 - 10}px;\n transform: rotate(${({ $angle }) => -ADJUSTED_START_ANGLE + $angle}deg);\n z-index: ${NUMBER_MARKING_Z_INDEX};\n`;\n\nexport const MarkingText = styled.div<{ $angle: number }>`\n transform: rotate(${({ $angle }) => ADJUSTED_START_ANGLE - $angle}deg);\n`;\n\nexport const BottomAbsoluteView = styled.div<{ top: number }>`\n position: absolute;\n top: 0;\n transform: ${({ top }) => `translateY(${top}px)`};\n`;\n\nexport const HelperTextPrimary = styled(Text)`\n animation: ${keyframes`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s\n ease-in-out ${TARGET_HELPER_TEXT_APPEAR_DELAY}s forwards;\n`;\n\nexport const HelperTextSecondary = styled(Text)`\n animation: ${keyframes`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s\n ease ${TARGET_HELPER_TEXT_APPEAR_DELAY}s forwards;\n`;\n\nexport const TargetAchievedTextLottie = styled.div`\n height: 100%;\n width: 100%;\n`;\n\nexport const RainboxColorText = styled(Text)<{ $isTargetAchieved: boolean }>`\n animation: ${({ $isTargetAchieved }) => ($isTargetAchieved ? rainbowColorAnimation : 'unset')}\n ${RAINBOW_COLOR_ANIMATION_DURATION}s ease infinite forwards;\n`;\n"],"names":["DigitalMeter","styled","GAME_LAUNCHER_SIZE","theme","$isTargetAchieved","keyframes","ContentContainer","CONTENT_CONTAINER_Z_INDEX","NumberCountContainer","GAME_LAUNCHER_SIZE_LARGE","LineMarking","$angle","LINE_MARKING_Z_INDEX","MarkingContainer","ADJUSTED_START_ANGLE","NUMBER_MARKING_Z_INDEX","MarkingText","BottomAbsoluteView","top","HelperTextPrimary","Text","TARGET_HELPER_TEXT_APPEAR_DELAY","HelperTextSecondary","RainboxColorText","rainbowColorAnimation","RAINBOW_COLOR_ANIMATION_DURATION"],"mappings":";;;;;;AAiBO,MAAMA,IAAeC,EAAO;AAAA,YACvBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA,sBACP,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMnC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA,eACxC,CAAC,EAAE,mBAAAC,QACZA,IAAoBC,kCAA0C,OAAO;AAAA;AAAA,GAI9DC,IAAmBL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAK1BM,CAAyB;AAAA;AAAA;AAAA;AAAA,sBAIhB,CAAC,EAAE,OAAAJ,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,GAG5CK,IAAuBP,EAAO;AAAA;AAAA;AAAA,YAG/BC,MAAuBO,IAA2B,KAAK,EAAE;AAAA;AAGzCR,EAAO;AAAA;AAAA;AAI5B,MAAMS,IAAcT,EAAO;AAAA,WAGvBC,IAAqB,CAAC;AAAA;AAAA;AAAA,sBAGX,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,sBAInC,CAAC,EAAE,QAAAQ,EAAO,MAAM,OAAOA,CAAM;AAAA,UACzCT,IAAqB,CAAC;AAAA,SACvBA,IAAqB,CAAC;AAAA,aAClBU,CAAoB;AAAA,GAGpBC,IAAmBZ,EAAO;AAAA;AAAA,YAE3BC,IAAqBA,IAAqB,SAAS,EAAE;AAAA,sBAC3C,CAAC,EAAE,QAAAS,EAAA,MAAa,CAACG,IAAuBH,CAAM;AAAA,aACvDI,CAAsB;AAAA,GAGtBC,IAAcf,EAAO;AAAA,sBACZ,CAAC,EAAE,QAAAU,QAAaG,IAAuBH,CAAM;AAAA,GAGtDM,IAAqBhB,EAAO;AAAA;AAAA;AAAA,eAG1B,CAAC,EAAE,KAAAiB,EAAU,MAAA,cAAcA,CAAG,KAAK;AAAA,GAGrCC,IAAoBlB,EAAOmB,CAAI;AAAA,eAC7Bf,iEAAyE;AAAA,kBACtEgB,CAA+B;AAAA,GAGpCC,IAAsBrB,EAAOmB,CAAI;AAAA,eAC/Bf,iEAAyE;AAAA,WAC7EgB,CAA+B;AAAA;AAGFpB,EAAO;AAAA;AAAA;AAAA;AAKlC,MAAAsB,IAAmBtB,EAAOmB,CAAI;AAAA,eAC5B,CAAC,EAAE,mBAAAhB,EAAA,MAAyBA,IAAoBoB,IAAwB,OAAQ;AAAA,MACzFC,CAAgC;AAAA;"}