@cuemath/leap 3.0.12-ays8 → 3.0.12

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 (36) hide show
  1. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +32 -68
  2. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  3. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +95 -98
  4. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  5. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +98 -102
  6. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  7. package/dist/features/communication/pub-sub/constants.js +0 -1
  8. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  9. package/dist/features/cue-canvas/cue-canvas-context.js +5 -8
  10. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  11. package/dist/features/cue-canvas/cue-canvas-core.js +75 -50
  12. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  13. package/dist/features/cue-canvas/cue-canvas-provider.js +14 -16
  14. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  15. package/dist/features/cue-canvas/cue-canvas.js +13 -13
  16. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  17. package/dist/features/cue-canvas/cue-cavas-styled.js +9 -8
  18. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  19. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +10 -14
  20. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  21. package/dist/features/homework/homework-card.js +143 -135
  22. package/dist/features/homework/homework-card.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +64 -65
  24. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  25. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +20 -20
  26. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  27. package/dist/features/ui/theme/tab.js +26 -0
  28. package/dist/features/ui/theme/tab.js.map +1 -1
  29. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +34 -34
  30. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  31. package/dist/index.d.ts +11 -17
  32. package/package.json +1 -1
  33. package/dist/features/ui/border-path-animation/border-path-animation-styled.js +0 -51
  34. package/dist/features/ui/border-path-animation/border-path-animation-styled.js.map +0 -1
  35. package/dist/features/ui/border-path-animation/border-path-animation.js +0 -108
  36. package/dist/features/ui/border-path-animation/border-path-animation.js.map +0 -1
@@ -3,36 +3,36 @@ import { h as le } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
3
  import { memo as Se, useMemo as me, useState as u, useCallback as Te, useEffect as p } from "react";
4
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 _e } from "../../communication/pub-sub/hooks.js";
6
+ import { useInClassActionListener as de } from "../../communication/pub-sub/hooks.js";
7
7
  import { invalidateHomeworks as f } from "../../homework/hw-card-list/api/get-homeworks.js";
8
- import de from "../../ui/separator/separator.js";
9
- import { invalidateMilestoneResources as Ae } from "./api/get-milestone-resources.js";
10
- import { useGetAllMilestonesdata as Ne, invalidateMilestonesData as De } from "./api/get-milestones.js";
11
- import { invalidateTestHelpData as Me } from "./api/get-tests-list.js";
12
- import Re from "./filter-milestones.js";
13
- import Ie from "./milestone-list/milestone-list.js";
14
- import Le from "./milestone-list/milestone-loader/milestone-loader.js";
8
+ import _e from "../../ui/separator/separator.js";
9
+ import { invalidateMilestoneResources as Ne } from "./api/get-milestone-resources.js";
10
+ import { useGetAllMilestonesdata as Ae, invalidateMilestonesData as Me } from "./api/get-milestones.js";
11
+ import { invalidateTestHelpData as De } from "./api/get-tests-list.js";
12
+ import Ie from "./filter-milestones.js";
13
+ import Le from "./milestone-list/milestone-list.js";
14
+ import Re from "./milestone-list/milestone-loader/milestone-loader.js";
15
15
  import { ContentWrapper as Oe, LoaderWrapper as Ce } from "./styled.js";
16
- const ue = (_) => {
17
- De(_);
16
+ const ue = (d) => {
17
+ Me(d);
18
18
  }, pe = Se(
19
- ({ studentName: _, studentId: l, studentClassroomId: h, ...v }) => {
19
+ ({ studentName: d, studentId: l, studentClassroomId: h, ...v }) => {
20
20
  const {
21
21
  milestoneType: s,
22
- isStudentPresent: N,
22
+ isStudentPresent: A,
23
23
  isClassOngoing: P,
24
- userType: d,
24
+ userType: _,
25
25
  canCreatePlan: U,
26
26
  teacherName: G,
27
27
  parentName: g,
28
- courseStream: A,
29
- activeMilestoneId: V,
30
- activeTabId: w,
31
- onExpandPastMilestones: F,
32
- onAddOutcome: H,
33
- onChapterClick: x,
34
- onEdit: b,
35
- onCreateMilestoneTest: y,
28
+ courseStream: N,
29
+ activeMilestoneId: w,
30
+ activeTabId: F,
31
+ onExpandPastMilestones: V,
32
+ onAddOutcome: x,
33
+ onChapterClick: b,
34
+ onEdit: y,
35
+ onCreateMilestoneTest: H,
36
36
  onDraftPublish: k,
37
37
  onAddChapter: K,
38
38
  onCreatePlan: W,
@@ -51,31 +51,31 @@ const ue = (_) => {
51
51
  onNodeAssignAsHomework: oe
52
52
  } = v, n = me(
53
53
  () => ({
54
- milestone_state_group: s === "ACTIVE" ? d === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
55
- course_stream: A,
54
+ milestone_state_group: s === "ACTIVE" ? _ === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
55
+ course_stream: N,
56
56
  student_id: l
57
57
  }),
58
- [s, A, l, d]
58
+ [s, N, l, _]
59
59
  ), {
60
60
  data: o,
61
61
  getAll: m,
62
- isStale: D,
62
+ isStale: M,
63
63
  isProcessing: S
64
- } = Ne(n), [M, R] = u(), [I, L] = u(!1), se = Te(
64
+ } = Ae(n), [D, I] = u(), [L, R] = u(!1), se = Te(
65
65
  (T) => {
66
- const { searchText: E, selectedBoard: i, selectedGrade: r } = T || {};
67
- (E || i || r) && L(!0);
66
+ const { searchText: i, selectedBoard: E, selectedGrade: r } = T || {};
67
+ (i || E || r) && R(!0);
68
68
  const c = o == null ? void 0 : o.filter((t) => {
69
- const { milestone_name: Ee, board: ie, grade: re } = t || {};
70
- return (E ? Ee.toLowerCase().includes(E.toLowerCase()) : !0) && (i ? ie === i : !0) && (r ? re === r : !0);
69
+ const { milestone_name: ie, board: Ee, grade: re } = t || {};
70
+ return (i ? ie.toLowerCase().includes(i.toLowerCase()) : !0) && (E ? Ee === E : !0) && (r ? re === r : !0);
71
71
  });
72
- R(c);
72
+ I(c);
73
73
  },
74
74
  [o]
75
75
  ), ne = () => {
76
- L(!1), R(void 0);
76
+ R(!1), I(void 0);
77
77
  };
78
- if (_e(
78
+ if (de(
79
79
  {
80
80
  studentClassroomId: h,
81
81
  actions: [
@@ -98,68 +98,67 @@ const ue = (_) => {
98
98
  [e.GOAL_DELETED],
99
99
  [e.GOAL_OUTCOME_ADDED],
100
100
  [e.PAST_MILESTONE_OUTCOME_ADDED],
101
- [e.MILESTONE_TEST_ASSIGNED],
102
- [e.SHEET_MARKED_AS_REVIEWED]
101
+ [e.MILESTONE_TEST_ASSIGNED]
103
102
  ],
104
103
  callback: (T) => {
105
104
  var r, c;
106
- const E = (r = T.find(
107
- (t) => t.eventName === e.MILESTONE_RESOURCE_ASSIGNED || t.eventName === e.MILESTONE_RESOURCE_UNASSIGNED || t.eventName === e.MILESTONE_RESOURCE_RESET || t.eventName === e.SHEET_MARKED_AS_REVIEWED
108
- )) == null ? void 0 : r.eventPayload, i = (c = T.find(
105
+ const i = (r = T.find(
106
+ (t) => t.eventName === e.MILESTONE_RESOURCE_ASSIGNED || t.eventName === e.MILESTONE_RESOURCE_UNASSIGNED || t.eventName === e.MILESTONE_RESOURCE_RESET
107
+ )) == null ? void 0 : r.eventPayload, E = (c = T.find(
109
108
  (t) => t.eventName === e.MILESTONE_TEST_ASSIGNED || t.eventName === e.MILESTONE_RESOURCE_RESET
110
109
  )) == null ? void 0 : c.eventPayload;
111
- if (E) {
112
- const { milestoneId: t } = E || {};
113
- f(l), Ae(t);
114
- }
115
110
  if (i) {
116
- const { milestoneId: t } = i;
117
- f(l), Me(t);
111
+ const { milestoneId: t } = i || {};
112
+ f(l), Ne(t);
113
+ }
114
+ if (E) {
115
+ const { milestoneId: t } = E;
116
+ f(l), De(t);
118
117
  }
119
118
  ue(n);
120
119
  }
121
120
  },
122
- (s === "ACTIVE" || s === "INACTIVE") && N
121
+ (s === "ACTIVE" || s === "INACTIVE") && A
123
122
  ), p(() => {
124
123
  m(n);
125
124
  }, [m, n]), p(() => {
126
- !S && D && m(n);
127
- }, [m, n, D, S]), S && !o)
128
- return /* @__PURE__ */ a(Le, { numMilestones: 2 });
125
+ !S && M && m(n);
126
+ }, [m, n, M, S]), S && !o)
127
+ return /* @__PURE__ */ a(Re, { numMilestones: 2 });
129
128
  const O = s === "ACTIVE" && o && o.length > 6;
130
129
  return /* @__PURE__ */ C(Oe, { $disablePointerEvents: S, children: [
131
130
  S && /* @__PURE__ */ a(Ce, { children: /* @__PURE__ */ a("img", { src: ce.LOADER_1, alt: "loading" }) }),
132
131
  O && /* @__PURE__ */ C(ae, { children: [
133
132
  /* @__PURE__ */ a(
134
- Re,
133
+ Ie,
135
134
  {
136
- filteredMilestones: M,
135
+ filteredMilestones: D,
137
136
  milestones: o,
138
137
  handleFilterMilestones: se,
139
138
  handleClearFilter: ne
140
139
  }
141
140
  ),
142
- /* @__PURE__ */ a(de, { heightX: 1.5 })
141
+ /* @__PURE__ */ a(_e, { heightX: 1.5 })
143
142
  ] }),
144
143
  /* @__PURE__ */ a(
145
- Ie,
144
+ Le,
146
145
  {
147
146
  showFilters: !!O,
148
147
  canCreatePlan: U,
149
148
  isClassOngoing: P,
150
- isFiltersAdded: I,
151
- isStudentPresent: N,
149
+ isFiltersAdded: L,
150
+ isStudentPresent: A,
152
151
  milestoneType: s,
153
- milestones: I ? M : o,
152
+ milestones: L ? D : o,
154
153
  onAddChapter: K,
155
- onAddOutcome: H,
156
- onChapterClick: x,
154
+ onAddOutcome: x,
155
+ onChapterClick: b,
157
156
  onCreatePlan: W,
158
157
  onDelete: j,
159
158
  onDraftPublish: k,
160
- onEdit: b,
161
- onExpandPastMilestones: F,
162
- onCreateMilestoneTest: y,
159
+ onEdit: y,
160
+ onExpandPastMilestones: V,
161
+ onCreateMilestoneTest: H,
163
162
  onAssignResources: X,
164
163
  onTestPreview: Y,
165
164
  onTestReview: Z,
@@ -171,15 +170,15 @@ const ue = (_) => {
171
170
  onNodeReset: J,
172
171
  onNodeUnassign: Q,
173
172
  onNodeAssignAsHomework: oe,
174
- activeMilestoneId: V,
175
- activeTabId: w,
173
+ activeMilestoneId: w,
174
+ activeTabId: F,
176
175
  onWidgetTabSelection: te,
177
176
  studentId: l,
178
- studentName: le.titleCase(_),
177
+ studentName: le.titleCase(d),
179
178
  teacherName: G,
180
179
  parentName: g,
181
- userType: d,
182
- courseStream: A
180
+ userType: _,
181
+ courseStream: N
183
182
  }
184
183
  )
185
184
  ] });
@@ -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 { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { 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 onNodeAssignAsHomework,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n [EVENTS.MILESTONE_TEST_ASSIGNED],\n [EVENTS.SHEET_MARKED_AS_REVIEWED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET ||\n message.eventName === EVENTS.SHEET_MARKED_AS_REVIEWED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onAssignResources={onAssignResources}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\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","onNodeAssignAsHomework","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"mappings":";;;;;;;;;;;;;;;AAsBA,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,MACA,wBAAAC;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;AA0E7B,QAvEJgB;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,UAC/B,CAACA,EAAO,wBAAwB;AAAA,QAClC;AAAA,QACA,UAAU,CAAYC,MAAA;;AACpB,gBAAMC,KAAgCC,IAAAF,EAAS;AAAA,YAC7C,CACEG,MAAAA,EAAQ,cAAcJ,EAAO,+BAC7BI,EAAQ,cAAcJ,EAAO,iCAC7BI,EAAQ,cAAcJ,EAAO,4BAC7BI,EAAQ,cAAcJ,EAAO;AAAA,UAC9B,MANmC,gBAAAG,EAMnC,cACGE,KAA4BC,IAAAL,EAAS;AAAA,YACzC,OACEG,EAAQ,cAAcJ,EAAO,2BAC7BI,EAAQ,cAAcJ,EAAO;AAAA,UAC9B,MAJ+B,gBAAAM,EAI/B;AAEH,cAAIJ,GAA+B;AACjC,kBAAM,EAAE,aAAaK,MAClBL,KAA6D,CAAA;AAEhE,YAAAM,EAAoBlE,CAAS,GAC7BmE,GAA6BF,CAAmB;AAAA,UAClD;AAEA,cAAIF,GAA2B;AACvB,kBAAA,EAAE,aAAAK,EAAgB,IAAAL;AAExB,YAAAG,EAAoBlE,CAAS,GAC7BqE,GAAuBD,CAAW;AAAA,UACpC;AAEA,UAAA1E,GAAwBC,CAAW;AAAA,QACrC;AAAA,MACF;AAAA,OACCQ,MAAkB,YAAYA,MAAkB,eAAeC;AAAA,IAAA,GAGlEkE,EAAU,MAAM;AACd,MAAAlC,EAAiBzC,CAAW;AAAA,IAAA,GAC3B,CAACyC,GAAkBzC,CAAW,CAAC,GAElC2E,EAAU,MAAM;AACV,MAAA,CAAChC,KAAyBD,KAC5BD,EAAiBzC,CAAW;AAAA,OAE7B,CAACyC,GAAkBzC,GAAa0C,GAAsBC,CAAqB,CAAC,GAE3EA,KAAyB,CAACH;AACrB,aAAA,gBAAAoC,EAACC,IAAgB,EAAA,eAAe,EAAG,CAAA;AAG5C,UAAMC,IAActE,MAAkB,YAAYgC,KAAiBA,EAAc,SAAS;AAE1F,WACG,gBAAAuC,EAAAC,IAAA,EAAsB,uBAAuBrC,GAC3C,UAAA;AAAA,MACCA,KAAA,gBAAAiC,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,oBAAAvC;AAAA,YACA,YAAYL;AAAA,YACZ,wBAAAU;AAAA,YACA,mBAAAW;AAAA,UAAA;AAAA,QACF;AAAA,QACA,gBAAAe,EAACS,IAAU,EAAA,SAAS,IAAK,CAAA;AAAA,MAAA,GAC3B;AAAA,MAGF,gBAAAT;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,aAAa,CAAC,CAACR;AAAA,UACf,eAAAlE;AAAA,UACA,gBAAAF;AAAA,UACA,gBAAAsC;AAAA,UACA,kBAAAvC;AAAA,UACA,eAAAD;AAAA,UACA,YAAYwC,IAAiBH,IAAqBL;AAAA,UAClD,cAAAhB;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,wBAAAK;AAAA,UACA,mBAAAtB;AAAA,UACA,aAAAC;AAAA,UACA,sBAAAoB;AAAA,UACA,WAAAhC;AAAA,UACA,aAAakF,aAAUnF,CAAW;AAAA,UAClC,aAAAS;AAAA,UACA,YAAAC;AAAA,UACA,UAAAH;AAAA,UACA,cAAAI;AAAA,QAAA;AAAA,MACF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF,GAEAyE,KAAetF;"}
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 { invalidateHomeworks } from '../../homework/hw-card-list/api/get-homeworks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { 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 onNodeAssignAsHomework,\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 message.eventName === EVENTS.MILESTONE_RESOURCE_UNASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED ||\n message.eventName === EVENTS.MILESTONE_RESOURCE_RESET,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateHomeworks(studentId);\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateHomeworks(studentId);\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onAssignResources={onAssignResources}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\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","onNodeAssignAsHomework","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateHomeworks","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase","MilestoneListContainer$1"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { jsxs as u, jsx as e, Fragment as X } from "react/jsx-runtime";
2
- import { memo as D, useCallback as l, useEffect as j } from "react";
3
- import { IMAGES as G } from "../../../../assets/images/images.js";
4
- import R from "../../../ui/arrow-tooltip/arrow-tooltip.js";
1
+ import { jsxs as u, jsx as e, Fragment as x } from "react/jsx-runtime";
2
+ import { memo as L, useCallback as l, useEffect as X } from "react";
3
+ import { IMAGES as D } from "../../../../assets/images/images.js";
4
+ import j from "../../../ui/arrow-tooltip/arrow-tooltip.js";
5
5
  import S from "../../../ui/buttons/button/button.js";
6
6
  import T from "../../../ui/layout/flex-view.js";
7
- import W from "../../../ui/loader/app-loader/app-loader.js";
7
+ import G from "../../../ui/loader/app-loader/app-loader.js";
8
8
  import _ from "../../../ui/separator/separator.js";
9
9
  import N from "../../../ui/text/text.js";
10
10
  import { MILESTONE_WIDGET_MIN_HEIGHT as v } from "../../constants.js";
11
- import { useGetTestHelpData as F } from "../../milestone-list-container/api/get-tests-list.js";
12
- import { TESTS_CREATION_ANALYTICS_EVENTS as U } from "../tests-creation/tests-creation-analytics-events.js";
13
- import V from "./test-list-view.js";
14
- const ne = D((c) => {
11
+ import { useGetTestHelpData as R } from "../../milestone-list-container/api/get-tests-list.js";
12
+ import { TESTS_CREATION_ANALYTICS_EVENTS as W } from "../tests-creation/tests-creation-analytics-events.js";
13
+ import F from "./test-list-view.js";
14
+ const oe = L((c) => {
15
15
  const {
16
16
  isChaptersAvailable: g,
17
17
  isDraftMilestone: E,
@@ -33,12 +33,12 @@ const ne = D((c) => {
33
33
  isProcessed: f,
34
34
  isStale: w,
35
35
  isProcessing: C
36
- } = F(), y = !I || !g || !d || d && E, M = d && !g ? "Chapters need to be assigned" : E ? "Allowed after plan is published" : "Plan is completed", h = l(() => {
36
+ } = R(), y = !I || !g || !d || d && E, M = d && !g ? "Chapters need to be assigned" : E ? "Allowed after plan is published" : "Plan is completed", h = l(() => {
37
37
  A(t, void 0, {
38
38
  studentId: m
39
39
  });
40
40
  }, [A, m, t]);
41
- j(() => {
41
+ X(() => {
42
42
  !C && (!f && !p || w) && h();
43
43
  }, [h, f, C, p, w]);
44
44
  const $ = l(() => {
@@ -57,9 +57,9 @@ const ne = D((c) => {
57
57
  },
58
58
  [i, t]
59
59
  ), H = l(
60
- (a, x, L) => {
60
+ (a) => {
61
61
  if (typeof n == "function") {
62
- n == null || n(a, x, L);
62
+ n == null || n(a);
63
63
  return;
64
64
  }
65
65
  throw new Error("No callback provided. If provided it must be a function");
@@ -99,7 +99,7 @@ const ne = D((c) => {
99
99
  ]
100
100
  }
101
101
  ) : f ? r != null && r.length ? /* @__PURE__ */ e(
102
- V,
102
+ F,
103
103
  {
104
104
  ...c,
105
105
  onNodeAttempt: H,
@@ -123,11 +123,11 @@ const ne = D((c) => {
123
123
  $background: "WHITE",
124
124
  $height: v,
125
125
  children: [
126
- /* @__PURE__ */ e("img", { src: G.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
126
+ /* @__PURE__ */ e("img", { src: D.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
127
127
  /* @__PURE__ */ e(_, { heightX: 2 }),
128
- b === "TEACHER" ? /* @__PURE__ */ u(X, { children: [
128
+ b === "TEACHER" ? /* @__PURE__ */ u(x, { children: [
129
129
  /* @__PURE__ */ e(
130
- R,
130
+ j,
131
131
  {
132
132
  renderAs: "primary",
133
133
  position: "bottom",
@@ -143,7 +143,7 @@ const ne = D((c) => {
143
143
  label: "Create a Test",
144
144
  onClick: $,
145
145
  disabled: y,
146
- analyticsLabel: U.CUSTOM_TEST_CREATION_STARTED,
146
+ analyticsLabel: W.CUSTOM_TEST_CREATION_STARTED,
147
147
  analyticsProps: {
148
148
  milestone_id: t
149
149
  }
@@ -162,11 +162,11 @@ const ne = D((c) => {
162
162
  $alignItems: "center",
163
163
  $justifyContent: "center",
164
164
  $background: "WHITE",
165
- children: /* @__PURE__ */ e(W, { height: "100%" })
165
+ children: /* @__PURE__ */ e(G, { height: "100%" })
166
166
  }
167
167
  );
168
168
  });
169
169
  export {
170
- ne as default
170
+ oe as default
171
171
  };
172
172
  //# sourceMappingURL=test-list-container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-list-container.js","sources":["../../../../../src/features/milestone/milestone-tests/test-list-v2/test-list-container.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport type { ITestsListProps } from './types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { MILESTONE_WIDGET_MIN_HEIGHT } from '../../constants';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-list-view';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const {\n onCreateMilestoneTest,\n onTestPreview,\n onTestStart,\n onTestReview,\n onNodeAssignAsHomework,\n } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnTestPreview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview, userMilestoneId],\n );\n\n const handleOnTestStart = useCallback(\n (sheetData: INodeDataProps, milestoneId?: string, hwId?: string) => {\n if (typeof onTestStart === 'function') {\n onTestStart?.(sheetData, milestoneId, hwId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnTestReview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestReview === 'function') {\n onTestReview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <FlexView\n $flexGapX={1.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height=\"100%\"\n $background=\"WHITE\"\n >\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <TestSheetsList\n {...props}\n onNodeAttempt={handleOnTestStart}\n onNodeView={handleOnTestPreview}\n onNodeReview={handleOnTestReview}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n );\n }\n\n return (\n <FlexView\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <AppLoader height=\"100%\" />\n </FlexView>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestStart","onTestReview","onNodeAssignAsHomework","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnTestPreview","sheetData","handleOnTestStart","milestoneId","hwId","handleOnTestReview","jsxs","FlexView","jsx","Text","Button","TestSheetsList","MILESTONE_WIDGET_MIN_HEIGHT","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
1
+ {"version":3,"file":"test-list-container.js","sources":["../../../../../src/features/milestone/milestone-tests/test-list-v2/test-list-container.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport type { ITestsListProps } from './types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { MILESTONE_WIDGET_MIN_HEIGHT } from '../../constants';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-list-view';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const {\n onCreateMilestoneTest,\n onTestPreview,\n onTestStart,\n onTestReview,\n onNodeAssignAsHomework,\n } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnTestPreview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview, userMilestoneId],\n );\n\n const handleOnTestStart = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestStart === 'function') {\n onTestStart?.(sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnTestReview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestReview === 'function') {\n onTestReview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <FlexView\n $flexGapX={1.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height=\"100%\"\n $background=\"WHITE\"\n >\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <TestSheetsList\n {...props}\n onNodeAttempt={handleOnTestStart}\n onNodeView={handleOnTestPreview}\n onNodeReview={handleOnTestReview}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n );\n }\n\n return (\n <FlexView\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <AppLoader height=\"100%\" />\n </FlexView>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestStart","onTestReview","onNodeAssignAsHomework","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnTestPreview","sheetData","handleOnTestStart","handleOnTestReview","jsxs","FlexView","jsx","Text","Button","TestSheetsList","MILESTONE_WIDGET_MIN_HEIGHT","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
@@ -45,6 +45,32 @@ const o = (a) => ({ sizes: {
45
45
  hover: 500,
46
46
  disabled: 400
47
47
  }
48
+ },
49
+ secondary: {
50
+ backgroundColorName: {
51
+ inactive: "BLACK",
52
+ active: "WHITE",
53
+ hover: "WHITE",
54
+ disabled: "GREY_1"
55
+ },
56
+ colorName: {
57
+ inactive: "WHITE",
58
+ active: "BLACK",
59
+ hover: "BLACK",
60
+ disabled: "BLACK_50"
61
+ },
62
+ borderColorName: {
63
+ inactive: "WHITE",
64
+ active: "WHITE",
65
+ hover: "BLACK",
66
+ disabled: "GREY_1"
67
+ },
68
+ fontWeight: {
69
+ inactive: 400,
70
+ active: 500,
71
+ hover: 500,
72
+ disabled: 400
73
+ }
48
74
  }
49
75
  } });
50
76
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"tab.js","sources":["../../../../src/features/ui/theme/tab.ts"],"sourcesContent":["import type { ITabSizeConfig, ITabVariantConfig, TTabSizes, TTabVariants } from '../types';\n\ninterface IGetTabConfig {\n (gutter: number): {\n sizes: Record<TTabSizes, ITabSizeConfig>;\n variants: Record<TTabVariants, ITabVariantConfig>;\n };\n}\n\nconst getTabConfig: IGetTabConfig = (gutter: number) => {\n const sizes: Record<TTabSizes, ITabSizeConfig> = {\n xsmall: {\n height: gutter * 1.625,\n paddingHorizontal: gutter * 0.5,\n textVariant: 'body3',\n },\n small: {\n height: gutter * 2,\n paddingHorizontal: gutter * 0.75,\n textVariant: 'body2',\n },\n regular: {\n height: gutter * 2.5,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n medium: {\n height: gutter * 3,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n };\n\n const variants: Record<TTabVariants, ITabVariantConfig> = {\n primary: {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n hover: 'WHITE',\n disabled: 'BLACK_50',\n },\n borderColorName: {\n inactive: 'GREY_3',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n fontWeight: {\n inactive: 400,\n active: 500,\n hover: 500,\n disabled: 400,\n },\n },\n };\n\n return { sizes, variants };\n};\n\nexport default getTabConfig;\n"],"names":["getTabConfig","gutter"],"mappings":"AASM,MAAAA,IAA8B,CAACC,OAqD5B,EAAE,OApDwC;AAAA,EAC/C,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACP,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,GAgCc,UA7B0C;AAAA,EACxD,SAAS;AAAA,IACP,qBAAqB;AAAA,MACnB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AAAA;"}
1
+ {"version":3,"file":"tab.js","sources":["../../../../src/features/ui/theme/tab.ts"],"sourcesContent":["import type { ITabSizeConfig, ITabVariantConfig, TTabSizes, TTabVariants } from '../types';\n\ninterface IGetTabConfig {\n (gutter: number): {\n sizes: Record<TTabSizes, ITabSizeConfig>;\n variants: Record<TTabVariants, ITabVariantConfig>;\n };\n}\n\nconst getTabConfig: IGetTabConfig = (gutter: number) => {\n const sizes: Record<TTabSizes, ITabSizeConfig> = {\n xsmall: {\n height: gutter * 1.625,\n paddingHorizontal: gutter * 0.5,\n textVariant: 'body3',\n },\n small: {\n height: gutter * 2,\n paddingHorizontal: gutter * 0.75,\n textVariant: 'body2',\n },\n regular: {\n height: gutter * 2.5,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n medium: {\n height: gutter * 3,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n };\n\n const variants: Record<TTabVariants, ITabVariantConfig> = {\n primary: {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n hover: 'WHITE',\n disabled: 'BLACK_50',\n },\n borderColorName: {\n inactive: 'GREY_3',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n fontWeight: {\n inactive: 400,\n active: 500,\n hover: 500,\n disabled: 400,\n },\n },\n secondary: {\n backgroundColorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n hover: 'WHITE',\n disabled: 'GREY_1',\n },\n colorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'BLACK_50',\n },\n borderColorName: {\n inactive: 'WHITE',\n active: 'WHITE',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n fontWeight: {\n inactive: 400,\n active: 500,\n hover: 500,\n disabled: 400,\n },\n },\n };\n\n return { sizes, variants };\n};\n\nexport default getTabConfig;\n"],"names":["getTabConfig","gutter"],"mappings":"AASM,MAAAA,IAA8B,CAACC,OA+E5B,EAAE,OA9EwC;AAAA,EAC/C,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACP,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,GA0Dc,UAvD0C;AAAA,EACxD,SAAS;AAAA,IACP,qBAAqB;AAAA,MACnB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,WAAW;AAAA,IACT,qBAAqB;AAAA,MACnB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AAAA;"}