@cuemath/leap 2.8.60-as4 → 2.8.60-beta-0.1

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 (100) hide show
  1. package/dist/assets/line-icons/icons/bin2.js +8 -7
  2. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  3. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +2 -2
  4. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  5. package/dist/features/chapters-v2/chapter-details/chapter-details.js +24 -24
  6. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  7. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +16 -15
  8. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  9. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +8 -12
  10. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  11. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +72 -76
  12. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  13. package/dist/features/chapters-v2/utils/index.js +4 -5
  14. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  15. package/dist/features/chapters-v2/utils/node-card-utils.js +34 -62
  16. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  17. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +75 -62
  18. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  19. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +110 -127
  20. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  21. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +4 -12
  22. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  23. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +105 -128
  24. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  25. package/dist/features/milestone/create/milestone-create.js +43 -49
  26. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  27. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
  28. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  29. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +40 -42
  30. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  31. package/dist/features/milestone/edit/goal-edit-container.js +62 -64
  32. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  33. package/dist/features/milestone/edit/milestone-edit-container.js +52 -54
  34. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  36. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +89 -96
  38. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  39. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +28 -28
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +111 -120
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  43. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +61 -59
  44. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +85 -83
  46. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  47. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +90 -88
  48. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  49. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +98 -82
  50. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  51. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +18 -16
  52. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  53. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +71 -0
  54. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -0
  55. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +31 -0
  56. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +1 -0
  57. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +38 -0
  58. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -0
  59. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +79 -0
  60. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +1 -0
  61. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +18 -0
  62. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +1 -0
  63. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js +51 -0
  64. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +1 -0
  65. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js +11 -0
  66. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js.map +1 -0
  67. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +144 -0
  68. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -0
  69. package/dist/features/sheets/resources-list/resource-item/styled.js +1 -1
  70. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  71. package/dist/features/ui/lottie-animation/lottie-animation.js +24 -39
  72. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  73. package/dist/features/ui/theme/button.js +5 -5
  74. package/dist/features/ui/theme/button.js.map +1 -1
  75. package/dist/index.d.ts +13 -39
  76. package/dist/index.js +377 -381
  77. package/dist/index.js.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/assets/line-icons/icons/skip-colored.js +0 -43
  80. package/dist/assets/line-icons/icons/skip-colored.js.map +0 -1
  81. package/dist/features/homework/card-menu-options.js +0 -25
  82. package/dist/features/homework/card-menu-options.js.map +0 -1
  83. package/dist/features/homework/homework-card.js +0 -210
  84. package/dist/features/homework/homework-card.js.map +0 -1
  85. package/dist/features/homework/styles.js +0 -114
  86. package/dist/features/homework/styles.js.map +0 -1
  87. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +0 -165
  88. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +0 -1
  89. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +0 -25
  90. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +0 -1
  91. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +0 -82
  92. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +0 -1
  93. package/dist/features/recent-chapters/api/get-recent-chapters.js +0 -9
  94. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +0 -1
  95. package/dist/features/recent-chapters/recent-chapters-styled.js +0 -16
  96. package/dist/features/recent-chapters/recent-chapters-styled.js.map +0 -1
  97. package/dist/features/recent-chapters/recent-chapters.js +0 -43
  98. package/dist/features/recent-chapters/recent-chapters.js.map +0 -1
  99. package/dist/features/sheet-v2/resource-list/resource-list.js +0 -52
  100. package/dist/features/sheet-v2/resource-list/resource-list.js.map +0 -1
@@ -1,128 +1,130 @@
1
- import { jsxs as Z, jsx as o } from "react/jsx-runtime";
2
- import { memo as ee, useState as oe, useCallback as f, useEffect as te } from "react";
3
- import ne from "../../../../ui/layout/flex-view.js";
4
- import se from "./milestone-info.js";
5
- import ae from "./milestone-tabs/milestone-tabs.js";
6
- import { getGoalCategoryBasedColorTheme as ie } from "./milestone-utils.js";
7
- import { MainContainer as re, Wrapper as de, ContentWrapper as le, Content as ce } from "./milestone-widget-styled.js";
8
- const Te = ee((h) => {
9
- const { milestone: s, studentId: a, isMilestoneActive: i, ...T } = h, {
1
+ import { jsxs as ee, jsx as t } from "react/jsx-runtime";
2
+ import { memo as te, useState as oe, useCallback as h, useEffect as ne } from "react";
3
+ import se from "../../../../ui/layout/flex-view.js";
4
+ import ae from "./milestone-info.js";
5
+ import ie from "./milestone-tabs/milestone-tabs.js";
6
+ import { getGoalCategoryBasedColorTheme as re } from "./milestone-utils.js";
7
+ import { MainContainer as le, Wrapper as de, ContentWrapper as ce, Content as me } from "./milestone-widget-styled.js";
8
+ const Ee = te((f) => {
9
+ const { milestone: s, studentId: a, isMilestoneActive: i, ...T } = f, {
10
10
  isStudentPresent: E,
11
11
  isClassOngoing: M,
12
12
  userType: r,
13
13
  studentName: x,
14
14
  parentName: A,
15
- teacherName: N,
16
- courseStream: _,
17
- activeMilestoneId: d,
18
- activeTabId: b,
19
- onAddOutcome: D,
20
- onChapterClick: I,
21
- onEdit: P,
22
- onCreateMilestoneTest: R,
23
- onDraftPublish: W,
24
- onAddChapter: $,
25
- onAssignResources: v,
26
- onNodeAttempt: w,
27
- onNodeView: S,
28
- onNodeReview: k,
29
- onNodeReattempt: y,
30
- onNodeReset: O,
31
- onNodeUnassign: B,
32
- onWidgetTabSelection: G,
15
+ teacherName: _,
16
+ courseStream: b,
17
+ activeMilestoneId: l,
18
+ activeTabId: D,
19
+ onAddOutcome: I,
20
+ onChapterClick: P,
21
+ onEdit: R,
22
+ onCreateMilestoneTest: S,
23
+ onPreview: v,
24
+ onReattempt: W,
25
+ onReset: $,
26
+ onResume: w,
27
+ onReview: k,
28
+ onStart: y,
29
+ onDraftPublish: O,
30
+ onAddChapter: N,
31
+ onAssignResources: B,
32
+ onUnAssignSheet: G,
33
+ onWidgetTabSelection: F,
33
34
  //* Test sheet callbacks
34
- onTestPreview: V,
35
- onTestReview: F,
36
- onTestStart: U,
37
- milestoneType: j
35
+ onTestPreview: U,
36
+ onTestReview: V,
37
+ onTestStart: j,
38
+ milestoneType: X
38
39
  } = T, {
39
- id: l,
40
+ id: d,
40
41
  user_milestone_plan: c,
41
- outcome_data: X,
42
- milestone_state: t,
42
+ outcome_data: Y,
43
+ milestone_state: o,
43
44
  permissions: m,
44
45
  goal_code: p,
45
- goal_category: g
46
- } = s, [u, n] = oe(
47
- i && t === "ACTIVE" || j === "DRAFT"
48
- ), Y = !!c, { can_update_plan: q } = m, { outcomes: z } = X || {}, { user_chapters: H = [] } = c || {}, J = f(() => {
46
+ goal_category: u
47
+ } = s, [g, n] = oe(
48
+ i && o === "ACTIVE" || X === "DRAFT"
49
+ ), q = !!c, { can_update_plan: z } = m, { outcomes: H } = Y || {}, { user_chapters: J = [] } = c || {}, K = h(() => {
49
50
  n((e) => !e);
50
- }, []), C = t === "DRAFT", K = t === "OUTCOME_ADDED", { backgroundColor: L } = ie(
51
- g,
51
+ }, []), C = o === "DRAFT", L = o === "OUTCOME_ADDED", { backgroundColor: Q } = re(
52
+ u,
52
53
  C
53
- ), Q = f(() => {
54
+ ), Z = h(() => {
54
55
  n((e) => !e);
55
56
  }, [n]);
56
- return te(() => {
57
- const e = document.getElementById(`milestone-${d}`);
57
+ return ne(() => {
58
+ const e = document.getElementById(`milestone-${l}`);
58
59
  e && e.scrollIntoView();
59
- }, []), /* @__PURE__ */ Z(re, { id: `milestone-${l}`, children: [
60
- /* @__PURE__ */ o(
60
+ }, []), /* @__PURE__ */ ee(le, { id: `milestone-${d}`, children: [
61
+ /* @__PURE__ */ t(
61
62
  de,
62
63
  {
63
- onClick: Q,
64
- $background: L,
64
+ onClick: Z,
65
+ $background: Q,
65
66
  $gapX: 1.5,
66
67
  $borderColor: "GREY_2",
67
- children: /* @__PURE__ */ o(ne, { $flexGapX: p ? 1.5 : 1, children: /* @__PURE__ */ o(
68
- se,
68
+ children: /* @__PURE__ */ t(se, { $flexGapX: p ? 1.5 : 1, children: /* @__PURE__ */ t(
69
+ ae,
69
70
  {
70
71
  milestone: s,
71
- onEdit: P,
72
- isExpanded: u,
73
- toggleExpand: J,
72
+ onEdit: R,
73
+ isExpanded: g,
74
+ toggleExpand: K,
74
75
  userType: r,
75
76
  isClassOngoing: M,
76
77
  isStudentPresent: E,
77
- onAddOutcome: D,
78
+ onAddOutcome: I,
78
79
  studentId: a,
79
80
  studentName: x,
80
- teacherName: N ?? "",
81
+ teacherName: _ ?? "",
81
82
  parentName: A ?? "",
82
- onDraftPublish: W,
83
- courseStream: _,
84
- outcomes: z
83
+ onDraftPublish: O,
84
+ courseStream: b,
85
+ outcomes: H
85
86
  }
86
87
  ) })
87
88
  }
88
89
  ),
89
- /* @__PURE__ */ o(le, { $expanded: u, children: /* @__PURE__ */ o(ce, { children: /* @__PURE__ */ o(
90
- ae,
90
+ /* @__PURE__ */ t(ce, { $expanded: g, children: /* @__PURE__ */ t(me, { children: /* @__PURE__ */ t(
91
+ ie,
91
92
  {
92
- goalCategory: g,
93
+ goalCategory: u,
93
94
  isGoalCreation: !!p,
94
95
  isDraftMilestone: C,
95
- isOutcomeAdded: K,
96
+ isOutcomeAdded: L,
96
97
  isMilestoneActive: i,
97
- isPlanAvailable: Y,
98
- userMilestoneId: l,
99
- chapters: H,
98
+ isPlanAvailable: q,
99
+ userMilestoneId: d,
100
+ chapters: J,
100
101
  userType: r,
101
- canUpdatePlan: q,
102
- milestoneState: t,
102
+ canUpdatePlan: z,
103
+ milestoneState: o,
103
104
  studentId: a,
104
- onAddChapter: $,
105
- onAssignResources: v,
106
- onChapterClick: I,
107
- onCreateMilestoneTest: R,
108
- onTestPreview: V,
109
- onTestReview: F,
110
- onTestStart: U,
111
- onNodeAttempt: w,
112
- onNodeView: S,
113
- onNodeReview: k,
114
- onNodeReattempt: y,
115
- onNodeReset: O,
116
- onNodeUnassign: B,
105
+ onAddChapter: N,
106
+ onAssignResources: B,
107
+ onChapterClick: P,
108
+ onCreateMilestoneTest: S,
109
+ onPreview: v,
110
+ onReattempt: W,
111
+ onReset: $,
112
+ onResume: w,
113
+ onReview: k,
114
+ onStart: y,
115
+ onTestPreview: U,
116
+ onTestReview: V,
117
+ onTestStart: j,
118
+ onUnAssignSheet: G,
117
119
  milestonePermissions: m,
118
- activeMilestoneId: d,
119
- activeTabId: b,
120
- onWidgetTabSelection: G
120
+ activeMilestoneId: l,
121
+ activeTabId: D,
122
+ onWidgetTabSelection: F
121
123
  }
122
124
  ) }) })
123
125
  ] });
124
126
  });
125
127
  export {
126
- Te as default
128
+ Ee as default
127
129
  };
128
130
  //# sourceMappingURL=milestone-widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-widget.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.tsx"],"sourcesContent":["import type { IMilestoneWidgetProps } from './milestone-widget-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MilestoneInfoWrapper from './milestone-info';\nimport MilestoneTabs from './milestone-tabs/milestone-tabs';\nimport { getGoalCategoryBasedColorTheme } from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\n\nconst MilestoneWidget: React.FC<IMilestoneWidgetProps> = memo(props => {\n const { milestone, studentId, isMilestoneActive, ...restMilestoneWidgetProps } = props;\n const {\n isStudentPresent,\n isClassOngoing,\n userType,\n studentName,\n parentName,\n teacherName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onWidgetTabSelection,\n //* Test sheet callbacks\n onTestPreview,\n onTestReview,\n onTestStart,\n milestoneType,\n } = restMilestoneWidgetProps;\n\n const {\n id: milestoneId,\n user_milestone_plan: userMileStonePlan,\n outcome_data: outcomeData,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_code: goalCode,\n goal_category: goalCategory,\n } = milestone;\n\n const [widgetExpanded, setWidgetExpanded] = useState(\n (isMilestoneActive && milestoneState === 'ACTIVE') || milestoneType === 'DRAFT',\n );\n\n const isPlanAvailable = Boolean(userMileStonePlan);\n\n const { can_update_plan: canUpdatePlan } = milestonePermissions;\n const { outcomes } = outcomeData || {};\n\n const { user_chapters: chaptersData = [] } = userMileStonePlan || {};\n\n const toggleExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, []);\n\n const isDraftMilestone = milestoneState === 'DRAFT';\n const isOutcomeAdded = milestoneState === 'OUTCOME_ADDED';\n\n const { backgroundColor: goalBackgroundColor } = getGoalCategoryBasedColorTheme(\n goalCategory,\n isDraftMilestone,\n );\n\n const handleOnWidgetExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, [setWidgetExpanded]);\n\n useEffect(() => {\n const $element = document.getElementById(`milestone-${activeMilestoneId}`);\n\n if ($element) {\n $element.scrollIntoView();\n }\n //* Disabling the exhaustive-deps rule as we want to run this effect only once\n //* We don't want this to run when activeMilestoneId changes, as it will cause component to scroll into the view every time.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Styled.MainContainer id={`milestone-${milestoneId}`}>\n <Styled.Wrapper\n onClick={handleOnWidgetExpand}\n $background={goalBackgroundColor}\n $gapX={1.5}\n $borderColor=\"GREY_2\"\n >\n <FlexView $flexGapX={goalCode ? 1.5 : 1}>\n <MilestoneInfoWrapper\n milestone={milestone}\n onEdit={onEdit}\n isExpanded={widgetExpanded}\n toggleExpand={toggleExpand}\n userType={userType}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAddOutcome={onAddOutcome}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onDraftPublish={onDraftPublish}\n courseStream={courseStream}\n outcomes={outcomes}\n />\n </FlexView>\n </Styled.Wrapper>\n\n <Styled.ContentWrapper $expanded={widgetExpanded}>\n <Styled.Content>\n <MilestoneTabs\n goalCategory={goalCategory}\n isGoalCreation={!!goalCode}\n isDraftMilestone={isDraftMilestone}\n isOutcomeAdded={isOutcomeAdded}\n isMilestoneActive={isMilestoneActive}\n isPlanAvailable={isPlanAvailable}\n userMilestoneId={milestoneId}\n chapters={chaptersData}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n milestoneState={milestoneState}\n studentId={studentId}\n onAddChapter={onAddChapter}\n onAssignResources={onAssignResources}\n onChapterClick={onChapterClick}\n onCreateMilestoneTest={onCreateMilestoneTest}\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 milestonePermissions={milestonePermissions}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n </Styled.Content>\n </Styled.ContentWrapper>\n </Styled.MainContainer>\n );\n});\n\nexport default MilestoneWidget;\n"],"names":["MilestoneWidget","memo","props","milestone","studentId","isMilestoneActive","restMilestoneWidgetProps","isStudentPresent","isClassOngoing","userType","studentName","parentName","teacherName","courseStream","activeMilestoneId","activeTabId","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onWidgetTabSelection","onTestPreview","onTestReview","onTestStart","milestoneType","milestoneId","userMileStonePlan","outcomeData","milestoneState","milestonePermissions","goalCode","goalCategory","widgetExpanded","setWidgetExpanded","useState","isPlanAvailable","canUpdatePlan","outcomes","chaptersData","toggleExpand","useCallback","prev","isDraftMilestone","isOutcomeAdded","goalBackgroundColor","getGoalCategoryBasedColorTheme","handleOnWidgetExpand","useEffect","$element","Styled.MainContainer","jsx","Styled.Wrapper","FlexView","MilestoneInfoWrapper","Styled.ContentWrapper","Styled.Content","MilestoneTabs"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-widget.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.tsx"],"sourcesContent":["import type { IMilestoneWidgetProps } from './milestone-widget-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MilestoneInfoWrapper from './milestone-info';\nimport MilestoneTabs from './milestone-tabs/milestone-tabs';\nimport { getGoalCategoryBasedColorTheme } from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\n\nconst MilestoneWidget: React.FC<IMilestoneWidgetProps> = memo(props => {\n const { milestone, studentId, isMilestoneActive, ...restMilestoneWidgetProps } = props;\n const {\n isStudentPresent,\n isClassOngoing,\n userType,\n studentName,\n parentName,\n teacherName,\n courseStream,\n activeMilestoneId,\n activeTabId,\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 onAssignResources,\n onUnAssignSheet,\n onWidgetTabSelection,\n //* Test sheet callbacks\n onTestPreview,\n onTestReview,\n onTestStart,\n milestoneType,\n } = restMilestoneWidgetProps;\n\n const {\n id: milestoneId,\n user_milestone_plan: userMileStonePlan,\n outcome_data: outcomeData,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_code: goalCode,\n goal_category: goalCategory,\n } = milestone;\n\n const [widgetExpanded, setWidgetExpanded] = useState(\n (isMilestoneActive && milestoneState === 'ACTIVE') || milestoneType === 'DRAFT',\n );\n\n const isPlanAvailable = Boolean(userMileStonePlan);\n\n const { can_update_plan: canUpdatePlan } = milestonePermissions;\n const { outcomes } = outcomeData || {};\n\n const { user_chapters: chaptersData = [] } = userMileStonePlan || {};\n\n const toggleExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, []);\n\n const isDraftMilestone = milestoneState === 'DRAFT';\n const isOutcomeAdded = milestoneState === 'OUTCOME_ADDED';\n\n const { backgroundColor: goalBackgroundColor } = getGoalCategoryBasedColorTheme(\n goalCategory,\n isDraftMilestone,\n );\n\n const handleOnWidgetExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, [setWidgetExpanded]);\n\n useEffect(() => {\n const $element = document.getElementById(`milestone-${activeMilestoneId}`);\n\n if ($element) {\n $element.scrollIntoView();\n }\n //* Disabling the exhaustive-deps rule as we want to run this effect only once\n //* We don't want this to run when activeMilestoneId changes, as it will cause component to scroll into the view every time.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Styled.MainContainer id={`milestone-${milestoneId}`}>\n <Styled.Wrapper\n onClick={handleOnWidgetExpand}\n $background={goalBackgroundColor}\n $gapX={1.5}\n $borderColor=\"GREY_2\"\n >\n <FlexView $flexGapX={goalCode ? 1.5 : 1}>\n <MilestoneInfoWrapper\n milestone={milestone}\n onEdit={onEdit}\n isExpanded={widgetExpanded}\n toggleExpand={toggleExpand}\n userType={userType}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAddOutcome={onAddOutcome}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onDraftPublish={onDraftPublish}\n courseStream={courseStream}\n outcomes={outcomes}\n />\n </FlexView>\n </Styled.Wrapper>\n\n <Styled.ContentWrapper $expanded={widgetExpanded}>\n <Styled.Content>\n <MilestoneTabs\n goalCategory={goalCategory}\n isGoalCreation={!!goalCode}\n isDraftMilestone={isDraftMilestone}\n isOutcomeAdded={isOutcomeAdded}\n isMilestoneActive={isMilestoneActive}\n isPlanAvailable={isPlanAvailable}\n userMilestoneId={milestoneId}\n chapters={chaptersData}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n milestoneState={milestoneState}\n studentId={studentId}\n onAddChapter={onAddChapter}\n onAssignResources={onAssignResources}\n onChapterClick={onChapterClick}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onUnAssignSheet={onUnAssignSheet}\n milestonePermissions={milestonePermissions}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n </Styled.Content>\n </Styled.ContentWrapper>\n </Styled.MainContainer>\n );\n});\n\nexport default MilestoneWidget;\n"],"names":["MilestoneWidget","memo","props","milestone","studentId","isMilestoneActive","restMilestoneWidgetProps","isStudentPresent","isClassOngoing","userType","studentName","parentName","teacherName","courseStream","activeMilestoneId","activeTabId","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onAssignResources","onUnAssignSheet","onWidgetTabSelection","onTestPreview","onTestReview","onTestStart","milestoneType","milestoneId","userMileStonePlan","outcomeData","milestoneState","milestonePermissions","goalCode","goalCategory","widgetExpanded","setWidgetExpanded","useState","isPlanAvailable","canUpdatePlan","outcomes","chaptersData","toggleExpand","useCallback","prev","isDraftMilestone","isOutcomeAdded","goalBackgroundColor","getGoalCategoryBasedColorTheme","handleOnWidgetExpand","useEffect","$element","Styled.MainContainer","jsx","Styled.Wrapper","FlexView","MilestoneInfoWrapper","Styled.ContentWrapper","Styled.Content","MilestoneTabs"],"mappings":"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"}
@@ -1,24 +1,24 @@
1
- import { jsx as E, jsxs as O, Fragment as re } from "react/jsx-runtime";
2
- import { h as ae } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
- import { memo as Ee, useMemo as le, useState as R, useCallback as Se, useEffect as p } from "react";
4
- import { ILLUSTRATIONS as me } from "../../../assets/illustrations/illustrations.js";
1
+ import { jsx as E, jsxs as O, Fragment as ae } from "react/jsx-runtime";
2
+ import { h as Ee } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
+ import { memo as le, useMemo as Se, useState as R, useCallback as me, useEffect as f } from "react";
4
+ import { ILLUSTRATIONS as ce } from "../../../assets/illustrations/illustrations.js";
5
5
  import { EVENTS as e } from "../../communication/pub-sub/constants.js";
6
- import { useInClassActionListener as ce } from "../../communication/pub-sub/hooks.js";
6
+ import { useInClassActionListener as Te } from "../../communication/pub-sub/hooks.js";
7
7
  import de from "../../ui/separator/separator.js";
8
- import { invalidateMilestoneResources as Te } from "./api/get-milestone-resources.js";
9
- import { useGetAllMilestonesdata as Ae, invalidateMilestonesData as _e } from "./api/get-milestones.js";
10
- import { invalidateTestHelpData as Ne } from "./api/get-tests-list.js";
11
- import De from "./filter-milestones.js";
12
- import Ie from "./milestone-list/milestone-list.js";
13
- import Me from "./milestone-list/milestone-loader/milestone-loader.js";
14
- import { ContentWrapper as Le, LoaderWrapper as ue } from "./styled.js";
15
- const Ce = (d) => {
16
- _e(d);
17
- }, Oe = Ee(
18
- ({ studentName: d, studentId: T, studentClassroomId: f, ...h }) => {
8
+ import { invalidateMilestoneResources as Ae } from "./api/get-milestone-resources.js";
9
+ import { useGetAllMilestonesdata as _e, invalidateMilestonesData as De } from "./api/get-milestones.js";
10
+ import { invalidateTestHelpData as Ie } from "./api/get-tests-list.js";
11
+ import Me from "./filter-milestones.js";
12
+ import Ne from "./milestone-list/milestone-list.js";
13
+ import Le from "./milestone-list/milestone-loader/milestone-loader.js";
14
+ import { ContentWrapper as ue, LoaderWrapper as Ce } from "./styled.js";
15
+ const Oe = (T) => {
16
+ De(T);
17
+ }, Re = le(
18
+ ({ studentName: T, studentId: d, studentClassroomId: p, ...h }) => {
19
19
  const {
20
20
  milestoneType: o,
21
- isStudentPresent: N,
21
+ isStudentPresent: D,
22
22
  isClassOngoing: P,
23
23
  userType: A,
24
24
  canCreatePlan: v,
@@ -27,55 +27,56 @@ const Ce = (d) => {
27
27
  courseStream: _,
28
28
  activeMilestoneId: g,
29
29
  activeTabId: F,
30
- onExpandPastMilestones: V,
31
- onAddOutcome: w,
32
- onChapterClick: x,
30
+ onExpandPastMilestones: w,
31
+ onAddOutcome: x,
32
+ onChapterClick: V,
33
33
  onEdit: b,
34
34
  onCreateMilestoneTest: y,
35
- onDraftPublish: H,
36
- onAddChapter: k,
37
- onCreatePlan: K,
38
- onDelete: W,
39
- onAssignResources: j,
40
- onNodeAttempt: X,
41
- onNodeView: $,
42
- onNodeReview: q,
43
- onNodeReattempt: z,
44
- onNodeReset: B,
45
- onNodeUnassign: J,
46
- onTestPreview: Q,
47
- onTestReview: Y,
48
- onTestStart: Z,
49
- onWidgetTabSelection: ee
50
- } = h, n = le(
35
+ onPreview: H,
36
+ onReattempt: k,
37
+ onReset: K,
38
+ onResume: W,
39
+ onReview: j,
40
+ onStart: X,
41
+ onDraftPublish: $,
42
+ onAddChapter: q,
43
+ onCreatePlan: z,
44
+ onDelete: B,
45
+ onAssignResources: J,
46
+ onUnAssignSheet: Q,
47
+ onTestPreview: Y,
48
+ onTestReview: Z,
49
+ onTestStart: ee,
50
+ onWidgetTabSelection: te
51
+ } = h, n = Se(
51
52
  () => ({
52
53
  milestone_state_group: o === "ACTIVE" ? A === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : o,
53
54
  course_stream: _,
54
- student_id: T
55
+ student_id: d
55
56
  }),
56
- [o, _, T, A]
57
+ [o, _, d, A]
57
58
  ), {
58
59
  data: t,
59
60
  getAll: S,
60
- isStale: D,
61
+ isStale: I,
61
62
  isProcessing: l
62
- } = Ae(n), [I, M] = R(), [L, u] = R(!1), te = Se(
63
+ } = _e(n), [M, N] = R(), [L, u] = R(!1), se = me(
63
64
  (m) => {
64
65
  const { searchText: i, selectedBoard: r, selectedGrade: a } = m || {};
65
66
  (i || r || a) && u(!0);
66
67
  const c = t == null ? void 0 : t.filter((s) => {
67
- const { milestone_name: oe, board: ne, grade: ie } = s || {};
68
- return (i ? oe.toLowerCase().includes(i.toLowerCase()) : !0) && (r ? ne === r : !0) && (a ? ie === a : !0);
68
+ const { milestone_name: ne, board: ie, grade: re } = s || {};
69
+ return (i ? ne.toLowerCase().includes(i.toLowerCase()) : !0) && (r ? ie === r : !0) && (a ? re === a : !0);
69
70
  });
70
- M(c);
71
+ N(c);
71
72
  },
72
73
  [t]
73
- ), se = () => {
74
- u(!1), M(void 0);
74
+ ), oe = () => {
75
+ u(!1), N(void 0);
75
76
  };
76
- if (ce(
77
+ if (Te(
77
78
  {
78
- studentClassroomId: f,
79
+ studentClassroomId: p,
79
80
  actions: [
80
81
  [e.CHAPTER_UPDATED],
81
82
  [e.LESSONS_MARKED_AS_FAMILIAR],
@@ -107,71 +108,72 @@ const Ce = (d) => {
107
108
  )) == null ? void 0 : c.eventPayload;
108
109
  if (i) {
109
110
  const { milestoneId: s } = i || {};
110
- Te(s);
111
+ Ae(s);
111
112
  }
112
113
  if (r) {
113
114
  const { milestoneId: s } = r;
114
- Ne(s);
115
+ Ie(s);
115
116
  }
116
- Ce(n);
117
+ Oe(n);
117
118
  }
118
119
  },
119
- (o === "ACTIVE" || o === "INACTIVE") && N
120
- ), p(() => {
120
+ (o === "ACTIVE" || o === "INACTIVE") && D
121
+ ), f(() => {
121
122
  S(n);
122
- }, [S, n]), p(() => {
123
- !l && D && S(n);
124
- }, [S, n, D, l]), l && !t)
125
- return /* @__PURE__ */ E(Me, { numMilestones: 2 });
123
+ }, [S, n]), f(() => {
124
+ !l && I && S(n);
125
+ }, [S, n, I, l]), l && !t)
126
+ return /* @__PURE__ */ E(Le, { numMilestones: 2 });
126
127
  const C = o === "ACTIVE" && t && t.length > 6;
127
- return /* @__PURE__ */ O(Le, { $disablePointerEvents: l, children: [
128
- l && /* @__PURE__ */ E(ue, { children: /* @__PURE__ */ E("img", { src: me.LOADER_1, alt: "loading" }) }),
129
- C && /* @__PURE__ */ O(re, { children: [
128
+ return /* @__PURE__ */ O(ue, { $disablePointerEvents: l, children: [
129
+ l && /* @__PURE__ */ E(Ce, { children: /* @__PURE__ */ E("img", { src: ce.LOADER_1, alt: "loading" }) }),
130
+ C && /* @__PURE__ */ O(ae, { children: [
130
131
  /* @__PURE__ */ E(
131
- De,
132
+ Me,
132
133
  {
133
- filteredMilestones: I,
134
+ filteredMilestones: M,
134
135
  milestones: t,
135
- handleFilterMilestones: te,
136
- handleClearFilter: se
136
+ handleFilterMilestones: se,
137
+ handleClearFilter: oe
137
138
  }
138
139
  ),
139
140
  /* @__PURE__ */ E(de, { heightX: 1.5 })
140
141
  ] }),
141
142
  /* @__PURE__ */ E(
142
- Ie,
143
+ Ne,
143
144
  {
144
145
  showFilters: !!C,
145
146
  canCreatePlan: v,
146
147
  isClassOngoing: P,
147
148
  isFiltersAdded: L,
148
- isStudentPresent: N,
149
+ isStudentPresent: D,
149
150
  milestoneType: o,
150
- milestones: L ? I : t,
151
- onAddChapter: k,
152
- onAddOutcome: w,
153
- onChapterClick: x,
154
- onCreatePlan: K,
155
- onDelete: W,
156
- onDraftPublish: H,
151
+ milestones: L ? M : t,
152
+ onAddChapter: q,
153
+ onAddOutcome: x,
154
+ onChapterClick: V,
155
+ onCreatePlan: z,
156
+ onDelete: B,
157
+ onDraftPublish: $,
157
158
  onEdit: b,
158
- onExpandPastMilestones: V,
159
+ onExpandPastMilestones: w,
159
160
  onCreateMilestoneTest: y,
160
- onAssignResources: j,
161
- onTestPreview: Q,
162
- onTestReview: Y,
163
- onTestStart: Z,
164
- onNodeAttempt: X,
165
- onNodeView: $,
166
- onNodeReview: q,
167
- onNodeReattempt: z,
168
- onNodeReset: B,
169
- onNodeUnassign: J,
161
+ onPreview: H,
162
+ onReattempt: k,
163
+ onReset: K,
164
+ onResume: W,
165
+ onReview: j,
166
+ onStart: X,
167
+ onAssignResources: J,
168
+ onUnAssignSheet: Q,
169
+ onTestPreview: Y,
170
+ onTestReview: Z,
171
+ onTestStart: ee,
170
172
  activeMilestoneId: g,
171
173
  activeTabId: F,
172
- onWidgetTabSelection: ee,
173
- studentId: T,
174
- studentName: ae.titleCase(d),
174
+ onWidgetTabSelection: te,
175
+ studentId: d,
176
+ studentName: Ee.titleCase(T),
175
177
  teacherName: G,
176
178
  parentName: U,
177
179
  userType: A,
@@ -180,8 +182,8 @@ const Ce = (d) => {
180
182
  )
181
183
  ] });
182
184
  }
183
- ), Ke = Oe;
185
+ ), We = Re;
184
186
  export {
185
- Ke as default
187
+ We as default
186
188
  };
187
189
  //# 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 activeMilestoneId,\n activeTabId,\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 } = 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 ],\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 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 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 />\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","activeMilestoneId","activeTabId","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","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":";;;;;;;;;;;;;;AAqBA,MAAMA,KAA0B,CAACC,MAA2C;AAC1E,EAAAC,GAAyBD,CAAW;AACtC,GAEME,KAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,WAAAC,GAAW,oBAAAC,GAAoB,GAAGC,QAAsC;AAChF,UAAA;AAAA,MACJ,eAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MACA,sBAAAC;AAAA,IACE,IAAA9B,GAEEP,IAAyCsC;AAAA,MAC7C,OACG;AAAA,QACC,uBACE9B,MAAkB,WACdG,MAAa,YACX,SACA,iBACFH;AAAA,QACN,eAAeO;AAAA,QACf,YAAYV;AAAA,MAAA;AAAA,MAEhB,CAACG,GAAeO,GAAcV,GAAWM,CAAQ;AAAA,IAAA,GAG7C;AAAA,MACJ,MAAM4B;AAAA,MACN,QAAQC;AAAA,MACR,SAASC;AAAA,MACT,cAAcC;AAAA,IAAA,IACZC,GAAwB3C,CAAW,GAEjC,CAAC4C,GAAoBC,CAAqB,IAAIC,EAAuC,GACrF,CAACC,GAAgBC,CAAiB,IAAIF,EAAkB,EAAK,GAE7DG,KAAyBC;AAAA,MAC7B,CAACC,MAAkF;AACjF,cAAM,EAAE,YAAAC,GAAY,eAAAC,GAAe,eAAAC,EAAc,IAAIH,KAAQ,CAAA;AAEzD,SAAAC,KAAcC,KAAiBC,MACjCN,EAAkB,EAAI;AAGlB,cAAAO,IAAehB,KAAA,gBAAAA,EAAe,OAAO,CAAQiB,MAAA;AACjD,gBAAM,EAAE,gBAAgBC,IAAe,OAAAC,IAAO,OAAAC,GAAM,IAAIH,KAAQ;AAOhE,kBAN0BJ,IACtBK,GAAc,YAAA,EAAc,SAASL,EAAW,aAAa,IAC7D,QACsBC,IAAgBK,OAAUL,IAAgB,QAC/CC,IAAgBK,OAAUL,IAAgB;AAAA,QAEd;AAGnD,QAAAT,EAAsBU,CAAY;AAAA,MACpC;AAAA,MACA,CAAChB,CAAa;AAAA,IAAA,GAGVqB,KAAoB,MAAM;AAC9B,MAAAZ,EAAkB,EAAK,GACvBH,EAAsB,MAAS;AAAA,IAAA;AAmE7B,QAhEJgB;AAAA,MACE;AAAA,QACE,oBAAAvD;AAAA,QACA,SAAS;AAAA,UACP,CAACwD,EAAO,eAAe;AAAA,UACvB,CAACA,EAAO,0BAA0B;AAAA,UAClC,CAACA,EAAO,4BAA4B;AAAA,UACpC,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,aAAa;AAAA,UACrB,CAACA,EAAO,uBAAuB;AAAA,UAC/B,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,iBAAiB;AAAA,UACzB,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,gBAAgB;AAAA,UACxB,CAACA,EAAO,2BAA2B;AAAA,UACnC,CAACA,EAAO,6BAA6B;AAAA,UACrC,CAACA,EAAO,wBAAwB;AAAA,UAChC,CAACA,EAAO,gBAAgB;AAAA,UACxB,CAACA,EAAO,YAAY;AAAA,UACpB,CAACA,EAAO,WAAW;AAAA,UACnB,CAACA,EAAO,YAAY;AAAA,UACpB,CAACA,EAAO,kBAAkB;AAAA,UAC1B,CAACA,EAAO,4BAA4B;AAAA,UACpC,CAACA,EAAO,uBAAuB;AAAA,QACjC;AAAA,QACA,UAAU,CAAYC,MAAA;;AACpB,gBAAMC,KAAgCC,IAAAF,EAAS;AAAA,YAC7C,CACEG,MAAAA,EAAQ,cAAcJ,EAAO,+BAC7BA,EAAO;AAAA,UACR,MAJmC,gBAAAG,EAInC,cACGE,KAA4BC,IAAAL,EAAS;AAAA,YACzC,CAAAG,MAAWA,EAAQ,cAAcJ,EAAO;AAAA,UACvC,MAF+B,gBAAAM,EAE/B;AAEH,cAAIJ,GAA+B;AACjC,kBAAM,EAAE,aAAaK,MAClBL,KAA6D,CAAA;AAEhE,YAAAM,GAA6BD,CAAmB;AAAA,UAClD;AAEA,cAAIF,GAA2B;AACvB,kBAAA,EAAE,aAAAI,EAAgB,IAAAJ;AAExB,YAAAK,GAAuBD,CAAW;AAAA,UACpC;AAEA,UAAAxE,GAAwBC,CAAW;AAAA,QACrC;AAAA,MACF;AAAA,OACCQ,MAAkB,YAAYA,MAAkB,eAAeC;AAAA,IAAA,GAGlEgE,EAAU,MAAM;AACd,MAAAjC,EAAiBxC,CAAW;AAAA,IAAA,GAC3B,CAACwC,GAAkBxC,CAAW,CAAC,GAElCyE,EAAU,MAAM;AACV,MAAA,CAAC/B,KAAyBD,KAC5BD,EAAiBxC,CAAW;AAAA,OAE7B,CAACwC,GAAkBxC,GAAayC,GAAsBC,CAAqB,CAAC,GAE3EA,KAAyB,CAACH;AACrB,aAAA,gBAAAmC,EAACC,IAAgB,EAAA,eAAe,EAAG,CAAA;AAG5C,UAAMC,IAAcpE,MAAkB,YAAY+B,KAAiBA,EAAc,SAAS;AAE1F,WACG,gBAAAsC,EAAAC,IAAA,EAAsB,uBAAuBpC,GAC3C,UAAA;AAAA,MACCA,KAAA,gBAAAgC,EAACK,IAAA,EACC,UAAA,gBAAAL,EAAC,OAAI,EAAA,KAAKM,GAAc,UAAU,KAAI,UAAA,CAAU,EAClD,CAAA;AAAA,MAEDJ,KAEG,gBAAAC,EAAAI,IAAA,EAAA,UAAA;AAAA,QAAA,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,oBAAAtC;AAAA,YACA,YAAYL;AAAA,YACZ,wBAAAU;AAAA,YACA,mBAAAW;AAAA,UAAA;AAAA,QACF;AAAA,QACA,gBAAAc,EAACS,IAAU,EAAA,SAAS,IAAK,CAAA;AAAA,MAAA,GAC3B;AAAA,MAGF,gBAAAT;AAAA,QAACU;AAAAA,QAAA;AAAA,UACC,aAAa,CAAC,CAACR;AAAA,UACf,eAAAhE;AAAA,UACA,gBAAAF;AAAA,UACA,gBAAAqC;AAAA,UACA,kBAAAtC;AAAA,UACA,eAAAD;AAAA,UACA,YAAYuC,IAAiBH,IAAqBL;AAAA,UAClD,cAAAf;AAAA,UACA,cAAAL;AAAA,UACA,gBAAAC;AAAA,UACA,cAAAK;AAAA,UACA,UAAAC;AAAA,UACA,gBAAAH;AAAA,UACA,QAAAF;AAAA,UACA,wBAAAH;AAAA,UACA,uBAAAI;AAAA,UACA,mBAAAK;AAAA,UACA,eAAAO;AAAA,UACA,cAAAC;AAAA,UACA,aAAAC;AAAA,UACA,eAAAR;AAAA,UACA,YAAAC;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,aAAAC;AAAA,UACA,gBAAAC;AAAA,UACA,mBAAAjB;AAAA,UACA,aAAAC;AAAA,UACA,sBAAAoB;AAAA,UACA,WAAAhC;AAAA,UACA,aAAagF,aAAUjF,CAAW;AAAA,UAClC,aAAAS;AAAA,UACA,YAAAC;AAAA,UACA,UAAAH;AAAA,UACA,cAAAI;AAAA,QAAA;AAAA,MACF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF,GAEAqE,KAAelF;"}
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 activeMilestoneId,\n activeTabId,\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 onWidgetTabSelection,\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 ],\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 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 />\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","activeMilestoneId","activeTabId","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","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":";;;;;;;;;;;;;;AAqBA,MAAMA,KAA0B,CAACC,MAA2C;AAC1E,EAAAC,GAAyBD,CAAW;AACtC,GAEME,KAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,WAAAC,GAAW,oBAAAC,GAAoB,GAAGC,QAAsC;AAChF,UAAA;AAAA,MACJ,eAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,SAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MACA,sBAAAC;AAAA,IACE,IAAA/B,GAEEP,IAAyCuC;AAAA,MAC7C,OACG;AAAA,QACC,uBACE/B,MAAkB,WACdG,MAAa,YACX,SACA,iBACFH;AAAA,QACN,eAAeO;AAAA,QACf,YAAYV;AAAA,MAAA;AAAA,MAEhB,CAACG,GAAeO,GAAcV,GAAWM,CAAQ;AAAA,IAAA,GAG7C;AAAA,MACJ,MAAM6B;AAAA,MACN,QAAQC;AAAA,MACR,SAASC;AAAA,MACT,cAAcC;AAAA,IAAA,IACZC,GAAwB5C,CAAW,GAEjC,CAAC6C,GAAoBC,CAAqB,IAAIC,EAAuC,GACrF,CAACC,GAAgBC,CAAiB,IAAIF,EAAkB,EAAK,GAE7DG,KAAyBC;AAAA,MAC7B,CAACC,MAAkF;AACjF,cAAM,EAAE,YAAAC,GAAY,eAAAC,GAAe,eAAAC,EAAc,IAAIH,KAAQ,CAAA;AAEzD,SAAAC,KAAcC,KAAiBC,MACjCN,EAAkB,EAAI;AAGlB,cAAAO,IAAehB,KAAA,gBAAAA,EAAe,OAAO,CAAQiB,MAAA;AACjD,gBAAM,EAAE,gBAAgBC,IAAe,OAAAC,IAAO,OAAAC,GAAM,IAAIH,KAAQ;AAOhE,kBAN0BJ,IACtBK,GAAc,YAAA,EAAc,SAASL,EAAW,aAAa,IAC7D,QACsBC,IAAgBK,OAAUL,IAAgB,QAC/CC,IAAgBK,OAAUL,IAAgB;AAAA,QAEd;AAGnD,QAAAT,EAAsBU,CAAY;AAAA,MACpC;AAAA,MACA,CAAChB,CAAa;AAAA,IAAA,GAGVqB,KAAoB,MAAM;AAC9B,MAAAZ,EAAkB,EAAK,GACvBH,EAAsB,MAAS;AAAA,IAAA;AAmE7B,QAhEJgB;AAAA,MACE;AAAA,QACE,oBAAAxD;AAAA,QACA,SAAS;AAAA,UACP,CAACyD,EAAO,eAAe;AAAA,UACvB,CAACA,EAAO,0BAA0B;AAAA,UAClC,CAACA,EAAO,4BAA4B;AAAA,UACpC,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,aAAa;AAAA,UACrB,CAACA,EAAO,uBAAuB;AAAA,UAC/B,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,iBAAiB;AAAA,UACzB,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,gBAAgB;AAAA,UACxB,CAACA,EAAO,2BAA2B;AAAA,UACnC,CAACA,EAAO,6BAA6B;AAAA,UACrC,CAACA,EAAO,wBAAwB;AAAA,UAChC,CAACA,EAAO,gBAAgB;AAAA,UACxB,CAACA,EAAO,YAAY;AAAA,UACpB,CAACA,EAAO,WAAW;AAAA,UACnB,CAACA,EAAO,YAAY;AAAA,UACpB,CAACA,EAAO,kBAAkB;AAAA,UAC1B,CAACA,EAAO,4BAA4B;AAAA,UACpC,CAACA,EAAO,uBAAuB;AAAA,QACjC;AAAA,QACA,UAAU,CAAYC,MAAA;;AACpB,gBAAMC,KAAgCC,IAAAF,EAAS;AAAA,YAC7C,CACEG,MAAAA,EAAQ,cAAcJ,EAAO,+BAC7BA,EAAO;AAAA,UACR,MAJmC,gBAAAG,EAInC,cACGE,KAA4BC,IAAAL,EAAS;AAAA,YACzC,CAAAG,MAAWA,EAAQ,cAAcJ,EAAO;AAAA,UACvC,MAF+B,gBAAAM,EAE/B;AAEH,cAAIJ,GAA+B;AACjC,kBAAM,EAAE,aAAaK,MAClBL,KAA6D,CAAA;AAEhE,YAAAM,GAA6BD,CAAmB;AAAA,UAClD;AAEA,cAAIF,GAA2B;AACvB,kBAAA,EAAE,aAAAI,EAAgB,IAAAJ;AAExB,YAAAK,GAAuBD,CAAW;AAAA,UACpC;AAEA,UAAAzE,GAAwBC,CAAW;AAAA,QACrC;AAAA,MACF;AAAA,OACCQ,MAAkB,YAAYA,MAAkB,eAAeC;AAAA,IAAA,GAGlEiE,EAAU,MAAM;AACd,MAAAjC,EAAiBzC,CAAW;AAAA,IAAA,GAC3B,CAACyC,GAAkBzC,CAAW,CAAC,GAElC0E,EAAU,MAAM;AACV,MAAA,CAAC/B,KAAyBD,KAC5BD,EAAiBzC,CAAW;AAAA,OAE7B,CAACyC,GAAkBzC,GAAa0C,GAAsBC,CAAqB,CAAC,GAE3EA,KAAyB,CAACH;AACrB,aAAA,gBAAAmC,EAACC,IAAgB,EAAA,eAAe,EAAG,CAAA;AAG5C,UAAMC,IAAcrE,MAAkB,YAAYgC,KAAiBA,EAAc,SAAS;AAE1F,WACG,gBAAAsC,EAAAC,IAAA,EAAsB,uBAAuBpC,GAC3C,UAAA;AAAA,MACCA,KAAA,gBAAAgC,EAACK,IAAA,EACC,UAAA,gBAAAL,EAAC,OAAI,EAAA,KAAKM,GAAc,UAAU,KAAI,UAAA,CAAU,EAClD,CAAA;AAAA,MAEDJ,KAEG,gBAAAC,EAAAI,IAAA,EAAA,UAAA;AAAA,QAAA,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,oBAAAtC;AAAA,YACA,YAAYL;AAAA,YACZ,wBAAAU;AAAA,YACA,mBAAAW;AAAA,UAAA;AAAA,QACF;AAAA,QACA,gBAAAc,EAACS,IAAU,EAAA,SAAS,IAAK,CAAA;AAAA,MAAA,GAC3B;AAAA,MAGF,gBAAAT;AAAA,QAACU;AAAAA,QAAA;AAAA,UACC,aAAa,CAAC,CAACR;AAAA,UACf,eAAAjE;AAAA,UACA,gBAAAF;AAAA,UACA,gBAAAsC;AAAA,UACA,kBAAAvC;AAAA,UACA,eAAAD;AAAA,UACA,YAAYwC,IAAiBH,IAAqBL;AAAA,UAClD,cAAAV;AAAA,UACA,cAAAX;AAAA,UACA,gBAAAC;AAAA,UACA,cAAAW;AAAA,UACA,UAAAC;AAAA,UACA,gBAAAH;AAAA,UACA,QAAAR;AAAA,UACA,wBAAAH;AAAA,UACA,uBAAAI;AAAA,UACA,WAAAC;AAAA,UACA,aAAAC;AAAA,UACA,SAAAC;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,SAAAC;AAAA,UACA,mBAAAK;AAAA,UACA,iBAAAC;AAAA,UACA,eAAAC;AAAA,UACA,cAAAC;AAAA,UACA,aAAAC;AAAA,UACA,mBAAArB;AAAA,UACA,aAAAC;AAAA,UACA,sBAAAqB;AAAA,UACA,WAAAjC;AAAA,UACA,aAAaiF,aAAUlF,CAAW;AAAA,UAClC,aAAAS;AAAA,UACA,YAAAC;AAAA,UACA,UAAAH;AAAA,UACA,cAAAI;AAAA,QAAA;AAAA,MACF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF,GAEAsE,KAAenF;"}