@cuemath/leap 3.5.58 → 3.5.59-link1
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.
- package/dist/features/chapters-v2/utils/node-card-utils.js +24 -24
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/sidebar.js +4 -4
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/toolbar.js +21 -17
- package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +23 -13
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
- package/dist/features/journey/tracking-id/tracking-id-student.js +1 -1
- package/dist/features/journey/tracking-id/tracking-id-student.js.map +1 -1
- package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js +43 -43
- package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js.map +1 -1
- package/dist/features/milestone/create/api/milestone-config.js.map +1 -1
- package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +1 -1
- package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -1
- package/dist/features/sheets/constants/sheet.js +1 -0
- package/dist/features/sheets/constants/sheet.js.map +1 -1
- package/dist/features/sheets/utils/is-v3-worksheet.js +3 -2
- package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +1 -1
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -1
- package/dist/features/trial-session/api/trial-home.js +10 -16
- package/dist/features/trial-session/api/trial-home.js.map +1 -1
- package/dist/features/trial-session/api/trial-session-report.js +16 -0
- package/dist/features/trial-session/api/trial-session-report.js.map +1 -0
- package/dist/features/trial-session/api/trial-topics.js +9 -0
- package/dist/features/trial-session/api/trial-topics.js.map +1 -0
- package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +62 -50
- package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
- package/dist/features/trial-session/comps/class-preference/class-preference-styled.js +5 -14
- package/dist/features/trial-session/comps/class-preference/class-preference-styled.js.map +1 -1
- package/dist/features/trial-session/comps/class-preference/class-preference.js +55 -53
- package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
- package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js +3 -2
- package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js.map +1 -1
- package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js +27 -27
- package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js.map +1 -1
- package/dist/features/trial-session/comps/learning-session/learning-session-styled.js +19 -18
- package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
- package/dist/features/trial-session/comps/learning-session/learning-session.js +34 -43
- package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
- package/dist/features/trial-session/comps/navigation-bar/index.js +56 -58
- package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +29 -6
- package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information.js +74 -64
- package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals-styled.js +10 -9
- package/dist/features/trial-session/comps/school-goals/school-goals-styled.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js +40 -39
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals.js +39 -37
- package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
- package/dist/features/trial-session/comps/session-insights/session-insights-styled.js +12 -20
- package/dist/features/trial-session/comps/session-insights/session-insights-styled.js.map +1 -1
- package/dist/features/trial-session/comps/session-insights/session-insights.js +64 -63
- package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview-styled.js +13 -12
- package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview-utils.js +21 -5
- package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview.js +20 -20
- package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js +61 -0
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js.map +1 -0
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js +5 -0
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js.map +1 -0
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js +135 -0
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js.map +1 -0
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js +53 -0
- package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js.map +1 -0
- package/dist/features/trial-session/comps/session-report/report-404/report-404.js +15 -16
- package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/session-report.js +35 -33
- package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js +9 -16
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +39 -37
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js +10 -9
- package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-info/student-info-constants.js +35 -0
- package/dist/features/trial-session/comps/student-info/student-info-constants.js.map +1 -0
- package/dist/features/trial-session/comps/student-info/student-info-helpers.js +12 -0
- package/dist/features/trial-session/comps/student-info/student-info-helpers.js.map +1 -0
- package/dist/features/trial-session/comps/student-info/student-info-styled.js +26 -11
- package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-info/student-info.js +113 -78
- package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
- package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +3 -12
- package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js +34 -33
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile.js +45 -44
- package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +9 -8
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
- package/dist/features/trial-session/comps/test-prep/test-prep-styled.js +11 -19
- package/dist/features/trial-session/comps/test-prep/test-prep-styled.js.map +1 -1
- package/dist/features/trial-session/comps/test-prep/test-prep.js +31 -29
- package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
- package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js +42 -0
- package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js.map +1 -0
- package/dist/features/trial-session/comps/topic-selection/topic-selection.js +84 -0
- package/dist/features/trial-session/comps/topic-selection/topic-selection.js.map +1 -0
- package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js +21 -0
- package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js.map +1 -0
- package/dist/features/trial-session/comps/whiteboard/whiteboard.js +99 -0
- package/dist/features/trial-session/comps/whiteboard/whiteboard.js.map +1 -0
- package/dist/features/trial-session/comps/worksheet/worksheet.js +35 -33
- package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
- package/dist/features/trial-session/context/trial-session-context.js +2 -0
- package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
- package/dist/features/trial-session/helper.js +70 -64
- package/dist/features/trial-session/helper.js.map +1 -1
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js +184 -151
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/right-panel/right-panel-styled.js +8 -8
- package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
- package/dist/features/trial-session/right-panel/slide-components-map.js +42 -36
- package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
- package/dist/features/trial-session/trial-session-constants.js +22 -18
- package/dist/features/trial-session/trial-session-constants.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js +82 -77
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/trial-session/trial-session.js +38 -38
- package/dist/features/trial-session/trial-session.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
- package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +12 -12
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
- package/dist/features/ui/theme/clrs.js +1 -0
- package/dist/features/ui/theme/clrs.js.map +1 -1
- package/dist/features/worksheet/worksheet/mocks/activity.js +6 -0
- package/dist/features/worksheet/worksheet/mocks/activity.js.map +1 -0
- package/dist/features/worksheet/worksheet/mocks/signed-requests.js +5 -0
- package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +1 -0
- package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +57 -0
- package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +1 -0
- package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +263 -0
- package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +1 -0
- package/dist/features/worksheet/worksheet/stories/worksheet-student.js +177 -0
- package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +1 -0
- package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +267 -0
- package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +2 -6
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-helpers.js +38 -37
- package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +35 -28
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/index.d.ts +12 -5
- package/dist/index.js +1 -1
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
- package/dist/types/models/worksheet.js +1 -1
- package/dist/types/models/worksheet.js.map +1 -1
- package/package.json +1 -1
- package/dist/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
- /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import { jsx as d } from "react/jsx-runtime";
|
|
2
|
-
import { memo as L, useState as
|
|
3
|
-
import { getTimezone as
|
|
2
|
+
import { memo as L, useState as A, useCallback as n, useEffect as D } from "react";
|
|
3
|
+
import { getTimezone as y } from "../../helpers/date-time.js";
|
|
4
4
|
import F from "../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
|
|
5
|
-
import { useGetMileStoneConfig as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { useGetTrialHome as
|
|
9
|
-
import { filterAndUpdateSlideNavigation as
|
|
10
|
-
import
|
|
5
|
+
import { useGetMileStoneConfig as w } from "../milestone/create/api/milestone-config.js";
|
|
6
|
+
import k from "../ui/error/error.js";
|
|
7
|
+
import x from "../ui/loader/app-loader/app-loader.js";
|
|
8
|
+
import { useGetTrialHome as G } from "./api/trial-home.js";
|
|
9
|
+
import { filterAndUpdateSlideNavigation as Z } from "./helper.js";
|
|
10
|
+
import j from "./trial-session-view.js";
|
|
11
11
|
import { USER_TYPE as s } from "../timeline/daily-timeline/daily-timeline-types.js";
|
|
12
|
-
const
|
|
13
|
-
const { userType: e, teacherId: g, studentId: S, teacherClassroomId: _, height: u = "100vh" } = E, [l,
|
|
12
|
+
const B = L(function(E) {
|
|
13
|
+
const { userType: e, teacherId: g, studentId: S, demoType: p, teacherClassroomId: _, height: u = "100vh" } = E, [l, H] = A(null), [P, R] = A(), {
|
|
14
14
|
data: m,
|
|
15
|
-
get: p,
|
|
16
|
-
isProcessing: P,
|
|
17
|
-
isProcessingFailed: v
|
|
18
|
-
} = x(), {
|
|
19
15
|
get: I,
|
|
16
|
+
isProcessing: v,
|
|
17
|
+
isProcessingFailed: C
|
|
18
|
+
} = G(), {
|
|
19
|
+
get: N,
|
|
20
20
|
data: r,
|
|
21
|
-
isProcessing:
|
|
22
|
-
isProcessingFailed:
|
|
23
|
-
} =
|
|
24
|
-
|
|
21
|
+
isProcessing: U,
|
|
22
|
+
isProcessingFailed: M
|
|
23
|
+
} = w(), t = n(() => {
|
|
24
|
+
I("trial-v3", {
|
|
25
25
|
student_id: S,
|
|
26
26
|
teacher_id: g,
|
|
27
27
|
viewer: e.toLocaleLowerCase()
|
|
28
28
|
});
|
|
29
|
-
}, [
|
|
30
|
-
t(),
|
|
31
|
-
demo_type:
|
|
29
|
+
}, [I, S, g, e]), f = n(() => {
|
|
30
|
+
t(), N("", {
|
|
31
|
+
demo_type: p
|
|
32
32
|
});
|
|
33
|
-
}, [t,
|
|
33
|
+
}, [t, N, p]), O = n(
|
|
34
34
|
(T) => {
|
|
35
35
|
e === s.STUDENT && T.forEach((i) => {
|
|
36
36
|
i.eventName === "TRIAL_INFORMATION_UPDATED" && t();
|
|
@@ -39,57 +39,57 @@ const Z = L(function(E) {
|
|
|
39
39
|
const {
|
|
40
40
|
eventPayload: { timezone: c }
|
|
41
41
|
} = i;
|
|
42
|
-
|
|
42
|
+
R(c);
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
},
|
|
46
46
|
[t, e]
|
|
47
47
|
), { publish: o } = F({
|
|
48
48
|
teacherClassroomId: _,
|
|
49
|
-
onMessageReceive:
|
|
50
|
-
}),
|
|
49
|
+
onMessageReceive: O
|
|
50
|
+
}), h = n(() => {
|
|
51
51
|
t(), e === s.TEACHER && (o == null || o({
|
|
52
52
|
eventName: "TRIAL_INFORMATION_UPDATED"
|
|
53
53
|
}));
|
|
54
|
-
}, [t, o, e]),
|
|
54
|
+
}, [t, o, e]), z = n(() => {
|
|
55
55
|
e === s.STUDENT && (o == null || o({
|
|
56
56
|
eventName: "TRIAL_SESSION_STUDENT_TIMEZONE",
|
|
57
|
-
eventPayload: { timezone:
|
|
57
|
+
eventPayload: { timezone: y() }
|
|
58
58
|
}));
|
|
59
59
|
}, [o, e]);
|
|
60
|
-
|
|
60
|
+
D(() => {
|
|
61
61
|
f();
|
|
62
62
|
}, [f]);
|
|
63
63
|
const a = n(
|
|
64
64
|
(T, i) => {
|
|
65
65
|
if (m && r) {
|
|
66
|
-
const c = e === s.TEACHER ?
|
|
66
|
+
const c = e === s.TEACHER ? Z({
|
|
67
67
|
milestoneConfigData: r,
|
|
68
68
|
trialHomeData: m,
|
|
69
69
|
grade: T,
|
|
70
70
|
goal: i
|
|
71
71
|
}) : m;
|
|
72
|
-
|
|
72
|
+
H(c);
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
[r, m, e]
|
|
76
76
|
);
|
|
77
|
-
return
|
|
77
|
+
return D(() => {
|
|
78
78
|
a == null || a();
|
|
79
|
-
}, [a]),
|
|
80
|
-
|
|
79
|
+
}, [a]), v && !l || U ? /* @__PURE__ */ d(x, { height: u }) : C || M ? /* @__PURE__ */ d(k, { height: u, onTryAgain: f }) : l && r ? /* @__PURE__ */ d(
|
|
80
|
+
j,
|
|
81
81
|
{
|
|
82
82
|
...E,
|
|
83
|
-
onTrialInformationUpdate:
|
|
84
|
-
onStudentTimezoneUpdate:
|
|
83
|
+
onTrialInformationUpdate: h,
|
|
84
|
+
onStudentTimezoneUpdate: z,
|
|
85
85
|
trialHomeData: l,
|
|
86
86
|
milestoneConfig: r,
|
|
87
87
|
onRemoveOptionalSlides: a,
|
|
88
|
-
studentTimezone:
|
|
88
|
+
studentTimezone: P
|
|
89
89
|
}
|
|
90
90
|
) : null;
|
|
91
|
-
}),
|
|
91
|
+
}), te = B;
|
|
92
92
|
export {
|
|
93
|
-
|
|
93
|
+
te as default
|
|
94
94
|
};
|
|
95
95
|
//# sourceMappingURL=trial-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\nimport { USER_TYPE } from '../timeline/daily-timeline/daily-timeline-types';\n\nconst TrialSession: FC<ITrialSessionProps> = memo(function TrialSession(props) {\n const { userType, teacherId, studentId, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n getMilestoneConfig('', {\n demo_type:
|
|
1
|
+
{"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\nimport { USER_TYPE } from '../timeline/daily-timeline/daily-timeline-types';\n\nconst TrialSession: FC<ITrialSessionProps> = memo(function TrialSession(props) {\n const { userType, teacherId, studentId, demoType, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n getMilestoneConfig('', {\n demo_type: demoType,\n });\n }, [fetchTrialHome, getMilestoneConfig, demoType]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === USER_TYPE.STUDENT) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === USER_TYPE.TEACHER) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === USER_TYPE.TEACHER) {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === USER_TYPE.STUDENT) {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (grade?: string, goal?: string) => {\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData =\n userType === USER_TYPE.TEACHER\n ? filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n grade,\n goal,\n })\n : trialHomeResponse;\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse, userType],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","demoType","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","fetchTrialHome","useCallback","fetchData","handleMessageReceive","messages","USER_TYPE","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","grade","goal","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView","TrialSession$1"],"mappings":";;;;;;;;;;;AAcA,MAAMA,IAAuCC,EAAK,SAAsBC,GAAO;AACvE,QAAA,EAAE,UAAAC,GAAU,WAAAC,GAAW,WAAAC,GAAW,UAAAC,GAAU,oBAAAC,GAAoB,QAAAC,IAAS,QAAY,IAAAN,GACrF,CAACO,GAAeC,CAAgB,IAAIC,EAAgC,IAAI,GACxE,CAACC,GAAiBC,CAAkB,IAAIF,EAAiB,GAEzD;AAAA,IACJ,MAAMG;AAAA,IACN,KAAKC;AAAA,IACL,cAAcC;AAAA,IACd,oBAAoBC;AAAA,MAClBC,EAAgB,GACd;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAcC;AAAA,IACd,oBAAoBC;AAAA,MAClBC,EAAsB,GAEpBC,IAAiBC,EAAY,MAAM;AACvC,IAAAV,EAAa,YAAY;AAAA,MACvB,YAAYV;AAAA,MACZ,YAAYD;AAAA,MACZ,QAAQD,EAAS,kBAAkB;AAAA,IAAA,CACpC;AAAA,KACA,CAACY,GAAcV,GAAWD,GAAWD,CAAQ,CAAC,GAE3CuB,IAAYD,EAAY,MAAM;AACnB,IAAAD,KACfL,EAAmB,IAAI;AAAA,MACrB,WAAWb;AAAA,IAAA,CACZ;AAAA,EACA,GAAA,CAACkB,GAAgBL,GAAoBb,CAAQ,CAAC,GAE3CqB,IAAuBF;AAAA,IAC3B,CAACG,MAAqC;AAChC,MAAAzB,MAAa0B,EAAU,WACzBD,EAAS,QAAQ,CAAWE,MAAA;AACtB,QAAAA,EAAQ,cAAc,+BACTN;MACjB,CACD,GAGCrB,MAAa0B,EAAU,WACzBD,EAAS,QAAQ,CAAWE,MAAA;AACtB,YAAAA,EAAQ,cAAc,kCAAkC;AACpD,gBAAA;AAAA,YACJ,cAAc,EAAE,UAAAC,EAAS;AAAA,UACvB,IAAAD;AAEJ,UAAAjB,EAAmBkB,CAAQ;AAAA,QAC7B;AAAA,MAAA,CACD;AAAA,IAEL;AAAA,IACA,CAACP,GAAgBrB,CAAQ;AAAA,EAAA,GAGrB,EAAE,SAAA6B,EAAQ,IAAIC,EAA6B;AAAA,IAC/C,oBAAA1B;AAAA,IACA,kBAAkBoB;AAAA,EAAA,CACnB,GAEKO,IAAiCT,EAAY,MAAM;AACxC,IAAAD,KAEXrB,MAAa0B,EAAU,YACfG,KAAA,QAAAA,EAAA;AAAA,MACR,WAAW;AAAA,IAAA;AAAA,EAGd,GAAA,CAACR,GAAgBQ,GAAS7B,CAAQ,CAAC,GAEhCgC,IAAqCV,EAAY,MAAM;AACvD,IAAAtB,MAAa0B,EAAU,YACfG,KAAA,QAAAA,EAAA;AAAA,MACR,WAAW;AAAA,MACX,cAAc,EAAE,UAAUI,IAAc;AAAA,IAAA;AAAA,EAE5C,GACC,CAACJ,GAAS7B,CAAQ,CAAC;AAEtB,EAAAkC,EAAU,MAAM;AACJ,IAAAX;EAAA,GACT,CAACA,CAAS,CAAC;AAEd,QAAMY,IAA6Bb;AAAA,IACjC,CAACc,GAAgBC,MAAkB;AACjC,UAAI1B,KAAqBM,GAAqB;AAC5C,cAAMqB,IACJtC,MAAa0B,EAAU,UACnBa,EAA+B;AAAA,UAC7B,qBAAAtB;AAAA,UACA,eAAeN;AAAA,UACf,OAAAyB;AAAA,UACA,MAAAC;AAAA,QACD,CAAA,IACD1B;AAEN,QAAAJ,EAAiB+B,CAAoB;AAAA,MACvC;AAAA,IACF;AAAA,IACA,CAACrB,GAAqBN,GAAmBX,CAAQ;AAAA,EAAA;AAO9C,SAJLkC,EAAU,MAAM;AACe,IAAAC,KAAA,QAAAA;AAAA,EAAA,GAC5B,CAACA,CAA0B,CAAC,GAE1BtB,KAAyB,CAACP,KAAkBY,IACxC,gBAAAsB,EAACC,KAAU,QAAApC,EAAgB,CAAA,IAGhCS,KAA+BK,IACzB,gBAAAqB,EAAAE,GAAA,EAAM,QAAArC,GAAgB,YAAYkB,EAAW,CAAA,IAGnDjB,KAAiBW,IAEjB,gBAAAuB;AAAA,IAACG;AAAA,IAAA;AAAA,MACE,GAAG5C;AAAA,MACJ,0BAA0BgC;AAAA,MAC1B,yBAAyBC;AAAA,MACzB,eAAA1B;AAAA,MACA,iBAAiBW;AAAA,MACjB,wBAAwBkB;AAAA,MACxB,iBAAA1B;AAAA,IAAA;AAAA,EAAA,IAKC;AACT,CAAC,GAEDmC,KAAe/C;"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { jsxs as b, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback as
|
|
3
|
-
import { useTheme as
|
|
4
|
-
import
|
|
5
|
-
import { CheckboxOptionWrapper as W, CheckboxInputWrapper as z, CheckboxInput as A, CheckIcon as
|
|
6
|
-
const
|
|
2
|
+
import { useCallback as I } from "react";
|
|
3
|
+
import { useTheme as g } from "styled-components";
|
|
4
|
+
import v from "../../text/text.js";
|
|
5
|
+
import { CheckboxOptionWrapper as W, CheckboxInputWrapper as z, CheckboxInput as A, CheckIcon as T, IndeterminateIcon as y, CheckboxLabelWrapper as L } from "./checkbox-input-styled.js";
|
|
6
|
+
const O = (h) => {
|
|
7
7
|
const {
|
|
8
8
|
size: r,
|
|
9
9
|
label: i,
|
|
10
|
-
value:
|
|
10
|
+
value: o,
|
|
11
11
|
checked: e,
|
|
12
12
|
disabled: n,
|
|
13
|
-
renderAs:
|
|
13
|
+
renderAs: a,
|
|
14
14
|
labelWidthX: p,
|
|
15
|
-
indeterminate:
|
|
16
|
-
visibleOnCheck:
|
|
17
|
-
alignTopWithLabel:
|
|
15
|
+
indeterminate: u,
|
|
16
|
+
visibleOnCheck: k,
|
|
17
|
+
alignTopWithLabel: $ = !1,
|
|
18
18
|
onChange: l
|
|
19
19
|
} = h, {
|
|
20
|
-
layout: { gutter:
|
|
20
|
+
layout: { gutter: C },
|
|
21
21
|
checkbox: c
|
|
22
|
-
} =
|
|
22
|
+
} = g(), { textVariant: m } = c.sizes[r ?? "regular"], { textColorName: x } = c.variants[a ?? "black"], s = k ? e : !0, f = !e && u, d = I(() => {
|
|
23
23
|
if (n) return null;
|
|
24
|
-
l(
|
|
25
|
-
}, [e, n, l,
|
|
26
|
-
return /* @__PURE__ */ b(W, { $alignTop:
|
|
24
|
+
l(o, !e);
|
|
25
|
+
}, [e, n, l, o]);
|
|
26
|
+
return /* @__PURE__ */ b(W, { $alignTop: $, $disabled: n, children: [
|
|
27
27
|
/* @__PURE__ */ b(z, { onClick: d, $disabled: n, children: [
|
|
28
28
|
/* @__PURE__ */ t(
|
|
29
29
|
A,
|
|
@@ -32,15 +32,15 @@ const L = (h) => {
|
|
|
32
32
|
checked: e,
|
|
33
33
|
disabled: !!n,
|
|
34
34
|
onChange: () => null,
|
|
35
|
-
$renderAs:
|
|
35
|
+
$renderAs: a,
|
|
36
36
|
$size: r
|
|
37
37
|
}
|
|
38
38
|
),
|
|
39
|
-
e && /* @__PURE__ */ t(
|
|
40
|
-
f && /* @__PURE__ */ t(
|
|
39
|
+
e && /* @__PURE__ */ t(T, { $renderAs: a, $size: r }),
|
|
40
|
+
f && /* @__PURE__ */ t(y, { $disabled: n, $size: C * 1.125 })
|
|
41
41
|
] }),
|
|
42
42
|
/* @__PURE__ */ t(
|
|
43
|
-
|
|
43
|
+
L,
|
|
44
44
|
{
|
|
45
45
|
$labelWidthX: p,
|
|
46
46
|
$visible: s,
|
|
@@ -48,7 +48,7 @@ const L = (h) => {
|
|
|
48
48
|
$disabled: n,
|
|
49
49
|
$checked: e,
|
|
50
50
|
children: typeof i == "string" ? /* @__PURE__ */ t(
|
|
51
|
-
|
|
51
|
+
v,
|
|
52
52
|
{
|
|
53
53
|
$renderAs: m[e ? "active" : "inactive"],
|
|
54
54
|
$color: x[e ? "active" : "inactive"],
|
|
@@ -58,7 +58,7 @@ const L = (h) => {
|
|
|
58
58
|
}
|
|
59
59
|
)
|
|
60
60
|
] });
|
|
61
|
-
}, q =
|
|
61
|
+
}, q = O;
|
|
62
62
|
export {
|
|
63
63
|
q as default
|
|
64
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-input.js","sources":["../../../../../src/features/ui/inputs/checkbox-input/checkbox-input.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../../text/text';\nimport * as Styled from './checkbox-input-styled';\nimport type { ICheckboxOptionProps } from './checkbox-input-types';\n\nconst CheckboxInput = <IDType extends string | number>(props: ICheckboxOptionProps<IDType>) => {\n const {\n size,\n label,\n value,\n checked,\n disabled,\n renderAs,\n labelWidthX,\n indeterminate,\n visibleOnCheck,\n alignTopWithLabel = false,\n onChange,\n } = props;\n\n const {\n layout: { gutter },\n checkbox,\n } = useTheme();\n\n const { textVariant } = checkbox.sizes[size ?? 'regular'];\n const { textColorName } = checkbox.variants[renderAs ?? 'black'];\n\n const renderLabel = visibleOnCheck ? checked : true;\n const renderIndeterminateState = !checked && indeterminate;\n\n const handleOnChange = useCallback(() => {\n if (disabled) return null;\n\n onChange(value, !checked);\n }, [checked, disabled, onChange, value]);\n\n return (\n <Styled.CheckboxOptionWrapper $alignTop={alignTopWithLabel} $disabled={disabled}>\n <Styled.CheckboxInputWrapper onClick={handleOnChange} $disabled={disabled}>\n <Styled.CheckboxInput\n type=\"checkbox\"\n checked={checked}\n disabled={!!disabled}\n onChange={() => null}\n $renderAs={renderAs}\n $size={size}\n />\n {checked && <Styled.CheckIcon $renderAs={renderAs} $size={size} />}\n\n {renderIndeterminateState && (\n <Styled.IndeterminateIcon $disabled={disabled} $size={gutter * 1.125} />\n )}\n </Styled.CheckboxInputWrapper>\n\n <Styled.CheckboxLabelWrapper\n $labelWidthX={labelWidthX}\n $visible={renderLabel}\n onClick={renderLabel ? handleOnChange : () => null}\n $disabled={disabled}\n $checked={checked}\n >\n {typeof label === 'string' ? (\n <Text\n $renderAs={textVariant[checked ? 'active' : 'inactive']}\n $color={textColorName[checked ? 'active' : 'inactive']}\n >\n {label}\n </Text>\n ) : (\n label\n )}\n </Styled.CheckboxLabelWrapper>\n </Styled.CheckboxOptionWrapper>\n );\n};\n\nexport default CheckboxInput;\n"],"names":["CheckboxInput","props","size","label","value","checked","disabled","renderAs","labelWidthX","indeterminate","visibleOnCheck","alignTopWithLabel","onChange","gutter","checkbox","useTheme","textVariant","textColorName","renderLabel","renderIndeterminateState","handleOnChange","useCallback","Styled.CheckboxOptionWrapper","jsxs","Styled.CheckboxInputWrapper","jsx","Styled.CheckboxInput","Styled.CheckIcon","Styled.IndeterminateIcon","Styled.CheckboxLabelWrapper","Text","
|
|
1
|
+
{"version":3,"file":"checkbox-input.js","sources":["../../../../../src/features/ui/inputs/checkbox-input/checkbox-input.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../../text/text';\nimport * as Styled from './checkbox-input-styled';\nimport type { ICheckboxOptionProps } from './checkbox-input-types';\n\nconst CheckboxInput = <IDType extends string | number>(props: ICheckboxOptionProps<IDType>) => {\n const {\n size,\n label,\n value,\n checked,\n disabled,\n renderAs,\n labelWidthX,\n indeterminate,\n visibleOnCheck,\n alignTopWithLabel = false,\n onChange,\n } = props;\n\n const {\n layout: { gutter },\n checkbox,\n } = useTheme();\n\n const { textVariant } = checkbox.sizes[size ?? 'regular'];\n const { textColorName } = checkbox.variants[renderAs ?? 'black'];\n\n const renderLabel = visibleOnCheck ? checked : true;\n const renderIndeterminateState = !checked && indeterminate;\n\n const handleOnChange = useCallback(() => {\n if (disabled) return null;\n\n onChange(value, !checked);\n }, [checked, disabled, onChange, value]);\n\n return (\n <Styled.CheckboxOptionWrapper $alignTop={alignTopWithLabel} $disabled={disabled}>\n <Styled.CheckboxInputWrapper onClick={handleOnChange} $disabled={disabled}>\n <Styled.CheckboxInput\n type=\"checkbox\"\n checked={checked}\n disabled={!!disabled}\n onChange={() => null}\n $renderAs={renderAs}\n $size={size}\n />\n {checked && <Styled.CheckIcon $renderAs={renderAs} $size={size} />}\n\n {renderIndeterminateState && (\n <Styled.IndeterminateIcon $disabled={disabled} $size={gutter * 1.125} />\n )}\n </Styled.CheckboxInputWrapper>\n\n <Styled.CheckboxLabelWrapper\n $labelWidthX={labelWidthX}\n $visible={renderLabel}\n onClick={renderLabel ? handleOnChange : () => null}\n $disabled={disabled}\n $checked={checked}\n >\n {typeof label === 'string' ? (\n <Text\n $renderAs={textVariant[checked ? 'active' : 'inactive']}\n $color={textColorName[checked ? 'active' : 'inactive']}\n >\n {label}\n </Text>\n ) : (\n label\n )}\n </Styled.CheckboxLabelWrapper>\n </Styled.CheckboxOptionWrapper>\n );\n};\n\nexport default CheckboxInput;\n"],"names":["CheckboxInput","props","size","label","value","checked","disabled","renderAs","labelWidthX","indeterminate","visibleOnCheck","alignTopWithLabel","onChange","gutter","checkbox","useTheme","textVariant","textColorName","renderLabel","renderIndeterminateState","handleOnChange","useCallback","Styled.CheckboxOptionWrapper","jsxs","Styled.CheckboxInputWrapper","jsx","Styled.CheckboxInput","Styled.CheckIcon","Styled.IndeterminateIcon","Styled.CheckboxLabelWrapper","Text","CheckboxInput$1"],"mappings":";;;;;AAOA,MAAMA,IAAgB,CAAiCC,MAAwC;AACvF,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,UAAAC;AAAA,EACE,IAAAX,GAEE;AAAA,IACJ,QAAQ,EAAE,QAAAY,EAAO;AAAA,IACjB,UAAAC;AAAA,MACEC,EAAS,GAEP,EAAE,aAAAC,EAAY,IAAIF,EAAS,MAAMZ,KAAQ,SAAS,GAClD,EAAE,eAAAe,EAAc,IAAIH,EAAS,SAASP,KAAY,OAAO,GAEzDW,IAAcR,IAAiBL,IAAU,IACzCc,IAA2B,CAACd,KAAWI,GAEvCW,IAAiBC,EAAY,MAAM;AACvC,QAAIf,EAAiB,QAAA;AAEZ,IAAAM,EAAAR,GAAO,CAACC,CAAO;AAAA,KACvB,CAACA,GAASC,GAAUM,GAAUR,CAAK,CAAC;AAEvC,2BACGkB,GAAA,EAA6B,WAAWX,GAAmB,WAAWL,GACrE,UAAA;AAAA,IAAA,gBAAAiB,EAACC,GAAA,EAA4B,SAASJ,GAAgB,WAAWd,GAC/D,UAAA;AAAA,MAAA,gBAAAmB;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAArB;AAAA,UACA,UAAU,CAAC,CAACC;AAAA,UACZ,UAAU,MAAM;AAAA,UAChB,WAAWC;AAAA,UACX,OAAOL;AAAA,QAAA;AAAA,MACT;AAAA,MACCG,uBAAYsB,GAAA,EAAiB,WAAWpB,GAAU,OAAOL,GAAM;AAAA,MAE/DiB,uBACES,GAAA,EAAyB,WAAWtB,GAAU,OAAOO,IAAS,OAAO;AAAA,IAAA,GAE1E;AAAA,IAEA,gBAAAY;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,cAAcrB;AAAA,QACd,UAAUU;AAAA,QACV,SAASA,IAAcE,IAAiB,MAAM;AAAA,QAC9C,WAAWd;AAAA,QACX,UAAUD;AAAA,QAET,UAAA,OAAOF,KAAU,WAChB,gBAAAsB;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,WAAWd,EAAYX,IAAU,WAAW,UAAU;AAAA,YACtD,QAAQY,EAAcZ,IAAU,WAAW,UAAU;AAAA,YAEpD,UAAAF;AAAA,UAAA;AAAA,QAAA,IAGHA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ,GAEA4B,IAAe/B;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as $, useCallback as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { CheckboxOptionWrapper as
|
|
7
|
-
const
|
|
2
|
+
import { useMemo as $, useCallback as I } from "react";
|
|
3
|
+
import w from "../../arrow-tooltip/arrow-tooltip.js";
|
|
4
|
+
import v from "../../layout/flex-view.js";
|
|
5
|
+
import A from "../checkbox-input/checkbox-input.js";
|
|
6
|
+
import { CheckboxOptionWrapper as L } from "./checkbox-input-list-styled.js";
|
|
7
|
+
const O = (a) => {
|
|
8
8
|
const {
|
|
9
9
|
size: h,
|
|
10
10
|
value: o,
|
|
@@ -20,16 +20,16 @@ const L = (a) => {
|
|
|
20
20
|
} = a, s = $(
|
|
21
21
|
() => !!(e && e > 1 && o.length >= e),
|
|
22
22
|
[e, o.length]
|
|
23
|
-
), k =
|
|
23
|
+
), k = I(
|
|
24
24
|
(t, n) => {
|
|
25
25
|
n ? e === 1 ? i([t]) : (!s || !e) && i([...o, t]) : i(o.filter((p) => p !== t));
|
|
26
26
|
},
|
|
27
27
|
[e, i, s, o]
|
|
28
28
|
);
|
|
29
|
-
return /* @__PURE__ */ r(
|
|
29
|
+
return /* @__PURE__ */ r(v, { $flexDirection: "row", $flexGap: x, $flexWrap: !0, children: d.map((t) => {
|
|
30
30
|
const { id: n, label: p } = t, c = o.includes(n), m = s && !c, g = (l == null ? void 0 : l.includes(n)) || m;
|
|
31
|
-
return /* @__PURE__ */ r(
|
|
32
|
-
|
|
31
|
+
return /* @__PURE__ */ r(L, { $numColumns: f ?? 1, children: /* @__PURE__ */ r(
|
|
32
|
+
w,
|
|
33
33
|
{
|
|
34
34
|
renderAs: "primary",
|
|
35
35
|
position: "top",
|
|
@@ -37,7 +37,7 @@ const L = (a) => {
|
|
|
37
37
|
hidden: !m,
|
|
38
38
|
zIndex: 2,
|
|
39
39
|
children: /* @__PURE__ */ r(
|
|
40
|
-
|
|
40
|
+
A,
|
|
41
41
|
{
|
|
42
42
|
value: n,
|
|
43
43
|
size: h,
|
|
@@ -53,7 +53,7 @@ const L = (a) => {
|
|
|
53
53
|
}
|
|
54
54
|
) }, n);
|
|
55
55
|
}) });
|
|
56
|
-
}, W =
|
|
56
|
+
}, W = O;
|
|
57
57
|
export {
|
|
58
58
|
W as default
|
|
59
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-input-list.js","sources":["../../../../../src/features/ui/inputs/checkbox-input-list/checkbox-input-list.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\n\nimport ArrowTooltip from '../../arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../layout/flex-view';\nimport CheckboxOption from '../checkbox-input/checkbox-input';\nimport * as Styled from './checkbox-input-list-styled';\nimport type { ICheckboxInputProps } from './checkbox-input-list-types';\n\nconst CheckboxInputList = <IDType extends string | number>(props: ICheckboxInputProps<IDType>) => {\n const {\n size,\n value,\n options,\n disabled,\n renderAs,\n numColumns,\n optionFlexGap,\n indeterminate,\n visibleOnCheck,\n maximumSelection,\n onChange,\n } = props;\n\n const reachedMaxLength = useMemo(\n () => !!(maximumSelection && maximumSelection > 1 && value.length >= maximumSelection),\n [maximumSelection, value.length],\n );\n\n const handleOnChange = useCallback(\n (selectedValue: IDType, selected: boolean) => {\n if (!selected) {\n onChange(value.filter(val => val !== selectedValue));\n } else {\n if (maximumSelection === 1) {\n onChange([selectedValue]);\n } else if (!reachedMaxLength || !maximumSelection) {\n onChange([...value, selectedValue]);\n }\n }\n },\n [maximumSelection, onChange, reachedMaxLength, value],\n );\n\n return (\n <FlexView $flexDirection=\"row\" $flexGap={optionFlexGap} $flexWrap>\n {options.map(option => {\n const { id, label } = option;\n\n const checked = value.includes(id);\n const showTooltip = reachedMaxLength && !checked;\n const disableCheck = disabled?.includes(id) || showTooltip;\n\n return (\n <Styled.CheckboxOptionWrapper key={id} $numColumns={numColumns ?? 1}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n tooltipItem={`${maximumSelection} options already selected`}\n hidden={!showTooltip}\n zIndex={2}\n >\n <CheckboxOption<IDType>\n value={id}\n size={size}\n label={label}\n checked={checked}\n renderAs={renderAs}\n disabled={disableCheck}\n onChange={handleOnChange}\n indeterminate={indeterminate} //* Took this name from Mui.\n visibleOnCheck={visibleOnCheck}\n />\n </ArrowTooltip>\n </Styled.CheckboxOptionWrapper>\n );\n })}\n </FlexView>\n );\n};\n\nexport default CheckboxInputList;\n"],"names":["CheckboxInputList","props","size","value","options","disabled","renderAs","numColumns","optionFlexGap","indeterminate","visibleOnCheck","maximumSelection","onChange","reachedMaxLength","useMemo","handleOnChange","useCallback","selectedValue","selected","val","jsx","FlexView","option","id","label","checked","showTooltip","disableCheck","Styled.CheckboxOptionWrapper","ArrowTooltip","CheckboxOption","CheckboxInputList$1"],"mappings":";;;;;;AAQA,MAAMA,IAAoB,CAAiCC,MAAuC;AAC1F,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,EACE,IAAAX,GAEEY,IAAmBC;AAAA,IACvB,MAAM,CAAC,EAAEH,KAAoBA,IAAmB,KAAKR,EAAM,UAAUQ;AAAA,IACrE,CAACA,GAAkBR,EAAM,MAAM;AAAA,EAAA,GAG3BY,IAAiBC;AAAA,IACrB,CAACC,GAAuBC,MAAsB;AAC5C,MAAKA,IAGCP,MAAqB,IACdC,EAAA,CAACK,CAAa,CAAC,KACf,CAACJ,KAAoB,CAACF,MAC/BC,EAAS,CAAC,GAAGT,GAAOc,CAAa,CAAC,IALpCL,EAAST,EAAM,OAAO,CAAOgB,MAAAA,MAAQF,CAAa,CAAC;AAAA,IAQvD;AAAA,IACA,CAACN,GAAkBC,GAAUC,GAAkBV,CAAK;AAAA,EAAA;AAIpD,SAAA,gBAAAiB,EAACC,GAAS,EAAA,gBAAe,OAAM,UAAUb,GAAe,WAAS,IAC9D,UAAQJ,EAAA,IAAI,CAAUkB,MAAA;AACf,UAAA,EAAE,IAAAC,GAAI,OAAAC,EAAU,IAAAF,GAEhBG,IAAUtB,EAAM,SAASoB,CAAE,GAC3BG,IAAcb,KAAoB,CAACY,GACnCE,KAAetB,KAAA,gBAAAA,EAAU,SAASkB,OAAOG;AAE/C,6BACGE,GAAA,EAAsC,aAAarB,KAAc,GAChE,UAAA,gBAAAa;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,aAAa,GAAGlB,CAAgB;AAAA,QAChC,QAAQ,CAACe;AAAA,QACT,QAAQ;AAAA,QAER,UAAA,gBAAAN;AAAA,UAACU;
|
|
1
|
+
{"version":3,"file":"checkbox-input-list.js","sources":["../../../../../src/features/ui/inputs/checkbox-input-list/checkbox-input-list.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\n\nimport ArrowTooltip from '../../arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../layout/flex-view';\nimport CheckboxOption from '../checkbox-input/checkbox-input';\nimport * as Styled from './checkbox-input-list-styled';\nimport type { ICheckboxInputProps } from './checkbox-input-list-types';\n\nconst CheckboxInputList = <IDType extends string | number>(props: ICheckboxInputProps<IDType>) => {\n const {\n size,\n value,\n options,\n disabled,\n renderAs,\n numColumns,\n optionFlexGap,\n indeterminate,\n visibleOnCheck,\n maximumSelection,\n onChange,\n } = props;\n\n const reachedMaxLength = useMemo(\n () => !!(maximumSelection && maximumSelection > 1 && value.length >= maximumSelection),\n [maximumSelection, value.length],\n );\n\n const handleOnChange = useCallback(\n (selectedValue: IDType, selected: boolean) => {\n if (!selected) {\n onChange(value.filter(val => val !== selectedValue));\n } else {\n if (maximumSelection === 1) {\n onChange([selectedValue]);\n } else if (!reachedMaxLength || !maximumSelection) {\n onChange([...value, selectedValue]);\n }\n }\n },\n [maximumSelection, onChange, reachedMaxLength, value],\n );\n\n return (\n <FlexView $flexDirection=\"row\" $flexGap={optionFlexGap} $flexWrap>\n {options.map(option => {\n const { id, label } = option;\n\n const checked = value.includes(id);\n const showTooltip = reachedMaxLength && !checked;\n const disableCheck = disabled?.includes(id) || showTooltip;\n\n return (\n <Styled.CheckboxOptionWrapper key={id} $numColumns={numColumns ?? 1}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n tooltipItem={`${maximumSelection} options already selected`}\n hidden={!showTooltip}\n zIndex={2}\n >\n <CheckboxOption<IDType>\n value={id}\n size={size}\n label={label}\n checked={checked}\n renderAs={renderAs}\n disabled={disableCheck}\n onChange={handleOnChange}\n indeterminate={indeterminate} //* Took this name from Mui.\n visibleOnCheck={visibleOnCheck}\n />\n </ArrowTooltip>\n </Styled.CheckboxOptionWrapper>\n );\n })}\n </FlexView>\n );\n};\n\nexport default CheckboxInputList;\n"],"names":["CheckboxInputList","props","size","value","options","disabled","renderAs","numColumns","optionFlexGap","indeterminate","visibleOnCheck","maximumSelection","onChange","reachedMaxLength","useMemo","handleOnChange","useCallback","selectedValue","selected","val","jsx","FlexView","option","id","label","checked","showTooltip","disableCheck","Styled.CheckboxOptionWrapper","ArrowTooltip","CheckboxOption","CheckboxInputList$1"],"mappings":";;;;;;AAQA,MAAMA,IAAoB,CAAiCC,MAAuC;AAC1F,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,EACE,IAAAX,GAEEY,IAAmBC;AAAA,IACvB,MAAM,CAAC,EAAEH,KAAoBA,IAAmB,KAAKR,EAAM,UAAUQ;AAAA,IACrE,CAACA,GAAkBR,EAAM,MAAM;AAAA,EAAA,GAG3BY,IAAiBC;AAAA,IACrB,CAACC,GAAuBC,MAAsB;AAC5C,MAAKA,IAGCP,MAAqB,IACdC,EAAA,CAACK,CAAa,CAAC,KACf,CAACJ,KAAoB,CAACF,MAC/BC,EAAS,CAAC,GAAGT,GAAOc,CAAa,CAAC,IALpCL,EAAST,EAAM,OAAO,CAAOgB,MAAAA,MAAQF,CAAa,CAAC;AAAA,IAQvD;AAAA,IACA,CAACN,GAAkBC,GAAUC,GAAkBV,CAAK;AAAA,EAAA;AAIpD,SAAA,gBAAAiB,EAACC,GAAS,EAAA,gBAAe,OAAM,UAAUb,GAAe,WAAS,IAC9D,UAAQJ,EAAA,IAAI,CAAUkB,MAAA;AACf,UAAA,EAAE,IAAAC,GAAI,OAAAC,EAAU,IAAAF,GAEhBG,IAAUtB,EAAM,SAASoB,CAAE,GAC3BG,IAAcb,KAAoB,CAACY,GACnCE,KAAetB,KAAA,gBAAAA,EAAU,SAASkB,OAAOG;AAE/C,6BACGE,GAAA,EAAsC,aAAarB,KAAc,GAChE,UAAA,gBAAAa;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,aAAa,GAAGlB,CAAgB;AAAA,QAChC,QAAQ,CAACe;AAAA,QACT,QAAQ;AAAA,QAER,UAAA,gBAAAN;AAAA,UAACU;AAAAA,UAAA;AAAA,YACC,OAAOP;AAAA,YACP,MAAArB;AAAA,YACA,OAAAsB;AAAA,YACA,SAAAC;AAAA,YACA,UAAAnB;AAAA,YACA,UAAUqB;AAAA,YACV,UAAUZ;AAAA,YACV,eAAAN;AAAA,YACA,gBAAAC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,KAlB+Ba,CAoBnC;AAAA,EAEH,CAAA,EACH,CAAA;AAEJ,GAEAQ,IAAe/B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clrs.js","sources":["../../../../src/features/ui/theme/clrs.ts"],"sourcesContent":["import type { TColorNames, TColorsMap } from '../types';\n\nconst LightThemeColors: Record<TColorNames, string> = {\n YELLOW_1: '#FFF1CC',\n YELLOW_2: '#FFDB80',\n YELLOW_3: '#FFCC4D',\n YELLOW_4: '#FFB700',\n YELLOW_5: '#E58600',\n YELLOW_6: '#B25900',\n\n ORANGE_1: '#FFDDCC',\n ORANGE_2: '#FFC2A3',\n ORANGE_3: '#FFAA80',\n ORANGE_4: '#FF884D',\n ORANGE_5: '#EC5B13',\n ORANGE_6: '#B23C00',\n\n PURPLE_1: '#FFE0FD',\n PURPLE_2: '#FFC2FA',\n PURPLE_3: '#FFA3F7',\n PURPLE_4: '#FF80F4',\n PURPLE_5: '#D926CA',\n PURPLE_6: '#AA099C',\n\n GREEN_1: '#D0FBE5',\n GREEN_2: '#89F5BF',\n GREEN_3: '#40F098',\n GREEN_4: '#00E573',\n GREEN_5: '#00B259',\n GREEN_6: '#007038',\n\n BLUE_1: '#D6F5FF',\n BLUE_2: '#99E5FF',\n BLUE_3: '#66D9FF',\n BLUE_4: '#33CCFF',\n BLUE_5: '#0086E5',\n BLUE_6: '#0055CC',\n\n BLACK_1: '#0D0D0D',\n BLACK_2: '#141414',\n BLACK_3: '#191919',\n BLACK_4: '#252525',\n BLACK_5: '#313131',\n\n WHITE_1: '#FFFFFF',\n WHITE_2: '#FAFAFA',\n WHITE_3: '#F5F5F5',\n WHITE_4: '#EBEBEB',\n WHITE_5: '#DADADA',\n\n BLACK_T_02: 'rgba(0, 0, 0, 0.02)',\n BLACK_T_04: 'rgba(0, 0, 0, 0.04)',\n BLACK_T_08: 'rgba(0, 0, 0, 0.08)',\n BLACK_T_15: 'rgba(0, 0, 0, 0.15)',\n BLACK_T_20: 'rgba(0, 0, 0, 0.20)',\n BLACK_T_38: 'rgba(0, 0, 0, 0.38)',\n BLACK_T_60: 'rgba(0, 0, 0, 0.6)',\n BLACK_T_87: 'rgba(0, 0, 0, 0.87)',\n\n WHITE_T_03: 'rgba(255, 255, 255, 0.03)',\n WHITE_T_05: 'rgba(255, 255, 255, 0.05)',\n WHITE_T_10: 'rgba(255, 255, 255, 0.1)',\n WHITE_T_15: 'rgba(255, 255, 255, 0.15)',\n WHITE_T_38: 'rgba(255, 255, 255, 0.38)',\n WHITE_T_60: 'rgba(255, 255, 255, 0.6)',\n WHITE_T_87: 'rgba(255, 255, 255, 0.87)',\n\n GREY_1: '#F6F6F6',\n GREY_2: '#E0E0E0',\n GREY_3: '#B3B3B3',\n GREY_4: '#808080',\n\n REAL_BLACK: '#000000',\n REAL_BLACK_60: 'rgba(0, 0, 0, 0.6)',\n REAL_BLACK_50: 'rgba(0, 0, 0, 0.5)',\n REAL_BLACK_30: 'rgba(0, 0, 0, 0.3)',\n REAL_BLACK_15: 'rgba(0, 0, 0, 0.15)',\n REAL_BLACK_10: 'rgba(0, 0, 0, 0.1)',\n\n BLACK: '#2B2B2B',\n BLACK_65: 'rgba(43, 43, 43, 0.65)',\n BLACK_75: 'rgba(43, 43, 43, 0.75)',\n BLACK_50: 'rgba(43, 43, 43, 0.5)',\n BLACK_10: 'rgba(43, 43, 43, 0.1)',\n\n WHITE: '#FFFFFF',\n WHITE_10: '#D9D9D9',\n WHITE_20: '#E6E6E6',\n WHITE_30: '#F2F2F2',\n WHITE_70: 'rgba(255, 255, 255, 0.7)',\n\n GREEN_20: 'rgba(0, 229, 115, 0.2)',\n\n PURPLE_20: 'rgba(255, 128, 244, 0.20)',\n\n RED: '#C22300',\n // TODO: REMOVE this color\n FLOWER: '#DE5EE0',\n\n TRANSPARENT: 'transparent',\n} as const;\n\nfunction getColors(): TColorsMap {\n return LightThemeColors;\n}\n\nconst hues = ['YELLOW', 'ORANGE', 'PURPLE', 'GREEN', 'BLUE'] as const;\n\nexport { hues };\n\nexport default getColors;\n"],"names":["LightThemeColors","getColors","hues"],"mappings":"AAEA,MAAMA,IAAgD;AAAA,EACpD,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EAEZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EAEZ,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EAEf,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,EAEV,WAAW;AAAA,EAEX,KAAK;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"clrs.js","sources":["../../../../src/features/ui/theme/clrs.ts"],"sourcesContent":["import type { TColorNames, TColorsMap } from '../types';\n\nconst LightThemeColors: Record<TColorNames, string> = {\n YELLOW_1: '#FFF1CC',\n YELLOW_2: '#FFDB80',\n YELLOW_3: '#FFCC4D',\n YELLOW_4: '#FFB700',\n YELLOW_5: '#E58600',\n YELLOW_6: '#B25900',\n\n ORANGE_1: '#FFDDCC',\n ORANGE_2: '#FFC2A3',\n ORANGE_3: '#FFAA80',\n ORANGE_4: '#FF884D',\n ORANGE_5: '#EC5B13',\n ORANGE_6: '#B23C00',\n\n PURPLE_1: '#FFE0FD',\n PURPLE_2: '#FFC2FA',\n PURPLE_3: '#FFA3F7',\n PURPLE_4: '#FF80F4',\n PURPLE_5: '#D926CA',\n PURPLE_6: '#AA099C',\n\n GREEN_1: '#D0FBE5',\n GREEN_2: '#89F5BF',\n GREEN_3: '#40F098',\n GREEN_4: '#00E573',\n GREEN_5: '#00B259',\n GREEN_6: '#007038',\n\n BLUE_1: '#D6F5FF',\n BLUE_2: '#99E5FF',\n BLUE_3: '#66D9FF',\n BLUE_4: '#33CCFF',\n BLUE_5: '#0086E5',\n BLUE_6: '#0055CC',\n\n BLACK_1: '#0D0D0D',\n BLACK_2: '#141414',\n BLACK_3: '#191919',\n BLACK_4: '#252525',\n BLACK_5: '#313131',\n\n WHITE_1: '#FFFFFF',\n WHITE_2: '#FAFAFA',\n WHITE_3: '#F5F5F5',\n WHITE_4: '#EBEBEB',\n WHITE_5: '#DADADA',\n\n BLACK_T_02: 'rgba(0, 0, 0, 0.02)',\n BLACK_T_04: 'rgba(0, 0, 0, 0.04)',\n BLACK_T_08: 'rgba(0, 0, 0, 0.08)',\n BLACK_T_15: 'rgba(0, 0, 0, 0.15)',\n BLACK_T_20: 'rgba(0, 0, 0, 0.20)',\n BLACK_T_38: 'rgba(0, 0, 0, 0.38)',\n BLACK_T_60: 'rgba(0, 0, 0, 0.6)',\n BLACK_T_87: 'rgba(0, 0, 0, 0.87)',\n\n WHITE_T_03: 'rgba(255, 255, 255, 0.03)',\n WHITE_T_05: 'rgba(255, 255, 255, 0.05)',\n WHITE_T_10: 'rgba(255, 255, 255, 0.1)',\n WHITE_T_15: 'rgba(255, 255, 255, 0.15)',\n WHITE_T_38: 'rgba(255, 255, 255, 0.38)',\n WHITE_T_60: 'rgba(255, 255, 255, 0.6)',\n WHITE_T_87: 'rgba(255, 255, 255, 0.87)',\n\n GREY_1: '#F6F6F6',\n GREY_2: '#E0E0E0',\n GREY_3: '#B3B3B3',\n GREY_4: '#808080',\n\n REAL_BLACK: '#000000',\n REAL_BLACK_60: 'rgba(0, 0, 0, 0.6)',\n REAL_BLACK_50: 'rgba(0, 0, 0, 0.5)',\n REAL_BLACK_30: 'rgba(0, 0, 0, 0.3)',\n REAL_BLACK_15: 'rgba(0, 0, 0, 0.15)',\n REAL_BLACK_10: 'rgba(0, 0, 0, 0.1)',\n\n BLACK: '#2B2B2B',\n BLACK_65: 'rgba(43, 43, 43, 0.65)',\n BLACK_75: 'rgba(43, 43, 43, 0.75)',\n BLACK_50: 'rgba(43, 43, 43, 0.5)',\n BLACK_10: 'rgba(43, 43, 43, 0.1)',\n\n WHITE: '#FFFFFF',\n WHITE_10: '#D9D9D9',\n WHITE_20: '#E6E6E6',\n WHITE_30: '#F2F2F2',\n WHITE_70: 'rgba(255, 255, 255, 0.7)',\n\n GREEN_20: 'rgba(0, 229, 115, 0.2)',\n\n PURPLE_20: 'rgba(255, 128, 244, 0.20)',\n\n RED: '#C22300',\n RED_4: '#FF5B4D',\n // TODO: REMOVE this color\n FLOWER: '#DE5EE0',\n\n TRANSPARENT: 'transparent',\n} as const;\n\nfunction getColors(): TColorsMap {\n return LightThemeColors;\n}\n\nconst hues = ['YELLOW', 'ORANGE', 'PURPLE', 'GREEN', 'BLUE'] as const;\n\nexport { hues };\n\nexport default getColors;\n"],"names":["LightThemeColors","getColors","hues"],"mappings":"AAEA,MAAMA,IAAgD;AAAA,EACpD,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EAEZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EAEZ,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EAEf,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,EAEV,WAAW;AAAA,EAEX,KAAK;AAAA,EACL,OAAO;AAAA;AAAA,EAEP,QAAQ;AAAA,EAER,aAAa;AACf;AAEA,SAASC,IAAwB;AACxB,SAAAD;AACT;AAEA,MAAME,IAAO,CAAC,UAAU,UAAU,UAAU,SAAS,MAAM;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NODE_TYPES as i } from "../../../../types/models/worksheet.js";
|
|
2
|
+
const r = (t, A) => t === i.SAT_ENGLISH_ASSESSMENT || t === i.SAT_MATH_ASSESSMENT ? "sat_activity" : t === i.LEARNING && A ? "lesson_v3_activity" : t === i.TRIAL_DIAGNOSTIC ? "diagnostic_activity" : t === i.TRIAL || t === i.TRIAL_BASIC || t === i.TRIAL_INTERMEDIATE || t === i.TRIAL_ADVANCED ? "diagnostic_v2_activity" : "general_activity";
|
|
3
|
+
export {
|
|
4
|
+
r as getActivityMockAttemptId
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sources":["../../../../../src/features/worksheet/worksheet/mocks/activity.ts"],"sourcesContent":["import { NODE_TYPES } from '../../../../types/models/worksheet';\nimport { LESSON_V3_ITEMS, LESSON_V3_TAGS } from './activities/leeson-v3';\nimport { SAT_ITEMS } from './activities/sat';\nimport { TRIAL_DIAGNOSTIC_ITEMS, TRIAL_DIAGNOSTIC_TAGS } from './activities/trial-diagnostic';\nimport {\n TRIAL_DIAGNOSTIC_V2_ITEMS,\n TRIAL_DIAGNOSTIC_V2_TAGS,\n} from './activities/trial-diagnostic-v2';\nimport { ASSOCIATION_ITEMS } from './questions/association';\nimport { CHOICEMATRIX_ITEMS } from './questions/choicematrix';\nimport { CLASSIFICATION_ITEMS } from './questions/classification';\nimport { CLOZEASSOCIATION_ITEMS } from './questions/clozeassociation';\nimport { CLOZEDROPDOWN_ITEMS } from './questions/clozedropdown';\nimport { CLOZEFORMULA_ITEMS } from './questions/clozeformula';\nimport { CLOZETEXT_ITEMS } from './questions/clozetext';\nimport { DRAWING_ITEMS } from './questions/drawing';\nimport { HOTSPOT_ITEMS } from './questions/hotspot';\nimport { MCQ_ITEMS } from './questions/mcq';\nimport { NUMBERLINE_ITEMS } from './questions/numberline';\nimport { PLAIN_TEXT_ITEMS } from './questions/plaintext';\nimport { TOKENHIGHLIGHT_ITEMS } from './questions/tokenhighlight';\n\nconst getActivityMockWithData = (data: unknown, sessionId: string) => {\n return {\n matcher: {\n url: `begin:https://items-ie.learnosity.com/v2023.3.LTS/activity?&a=get&c=abcd&s=${sessionId}`,\n method: 'POST',\n },\n options: {\n delay: 300,\n },\n response: {\n status: 200,\n body: {\n data,\n },\n },\n };\n};\n\nconst getActivityMock = (activityName?: 'lesson-v3' | 'sat' | 'diagnostic' | 'diagnostic-v2') => {\n if (activityName === 'lesson-v3') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: LESSON_V3_ITEMS,\n tags: LESSON_V3_TAGS,\n },\n },\n 'lesson_v3_activity',\n );\n }\n\n if (activityName === 'diagnostic') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: TRIAL_DIAGNOSTIC_ITEMS,\n tags: TRIAL_DIAGNOSTIC_TAGS,\n },\n },\n 'diagnostic_activity',\n );\n }\n\n if (activityName === 'diagnostic-v2') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: TRIAL_DIAGNOSTIC_V2_ITEMS,\n tags: TRIAL_DIAGNOSTIC_V2_TAGS,\n },\n },\n 'diagnostic_v2_activity',\n );\n }\n\n if (activityName === 'sat') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: SAT_ITEMS,\n tags: {},\n },\n },\n 'sat_activity',\n );\n }\n\n return getActivityMockWithData(\n {\n apiActivity: {\n items: [\n ...CLOZETEXT_ITEMS,\n ...ASSOCIATION_ITEMS,\n ...CHOICEMATRIX_ITEMS,\n ...CLASSIFICATION_ITEMS,\n ...CLOZEASSOCIATION_ITEMS,\n ...CLOZEDROPDOWN_ITEMS,\n ...CLOZEFORMULA_ITEMS,\n ...DRAWING_ITEMS,\n ...HOTSPOT_ITEMS,\n ...MCQ_ITEMS,\n ...NUMBERLINE_ITEMS,\n ...PLAIN_TEXT_ITEMS,\n ...TOKENHIGHLIGHT_ITEMS,\n ],\n tags: {},\n },\n },\n 'general_activity',\n );\n};\n\nexport const getActivityMockAttemptId = (nodeType: NODE_TYPES, isLessonV3: boolean) => {\n if (nodeType === NODE_TYPES.SAT_ENGLISH_ASSESSMENT || nodeType === NODE_TYPES.SAT_MATH_ASSESSMENT)\n return 'sat_activity';\n\n if (nodeType === NODE_TYPES.LEARNING && isLessonV3) return 'lesson_v3_activity';\n\n if (nodeType === NODE_TYPES.TRIAL_DIAGNOSTIC) return 'diagnostic_activity';\n\n if (\n nodeType === NODE_TYPES.TRIAL ||\n nodeType === NODE_TYPES.TRIAL_BASIC ||\n nodeType === NODE_TYPES.TRIAL_INTERMEDIATE ||\n nodeType === NODE_TYPES.TRIAL_ADVANCED\n )\n return 'diagnostic_v2_activity';\n\n return 'general_activity';\n};\n\nexport default getActivityMock;\n"],"names":["getActivityMockAttemptId","nodeType","isLessonV3","NODE_TYPES"],"mappings":";AAkHa,MAAAA,IAA2B,CAACC,GAAsBC,MACzDD,MAAaE,EAAW,0BAA0BF,MAAaE,EAAW,sBACrE,iBAELF,MAAaE,EAAW,YAAYD,IAAmB,uBAEvDD,MAAaE,EAAW,mBAAyB,wBAGnDF,MAAaE,EAAW,SACxBF,MAAaE,EAAW,eACxBF,MAAaE,EAAW,sBACxBF,MAAaE,EAAW,iBAEjB,2BAEF;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const t = '{"security": {"consumer_key": "ds8NJIkkTdWZkYZq", "domain": "local-teacher.cuemath.com", "timestamp": "20250630-1333", "user_id": "bc8d5719-e6c5-4006-9c8d-e4d35f20fb8d", "signature": "1f6c65c9c469858426d094af78124e14d3e972fc3278a41ebf027c0c94a560aa"}, "request": {"rendering_type": "inline", "name": "Test worksheet", "user_id": "bc8d5719-e6c5-4006-9c8d-e4d35f20fb8d", "session_id": "24fcb889-dd19-4095-9148-c2b04bda2547", "retrieve_tags": true, "activity_id": "fec8ff97-4501-41cb-9104-d7bce3e3bd98", "items": ["CR103"], "config": {"administration": false, "ignore_question_attributes": ["metadata.ignore_distractor_rationale", "metadata.ignore_distractor_rationale_per_response", "instant_feedback"]}, "meta": {"sdk": {"version": "v0.3.2", "lang": "python", "lang_version": "3.7.16", "platform": "Linux", "platform_version": "5.10.236-228.935.amzn2.x86_64"}}}}', a = (e) => t.replace("f08e773a-89c5-4cea-9af7-6e0d54e4522d", e);
|
|
2
|
+
export {
|
|
3
|
+
a as getMockItemsSignedRequest
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=signed-requests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signed-requests.js","sources":["../../../../../src/features/worksheet/worksheet/mocks/signed-requests.ts"],"sourcesContent":["export const QUESTIONS_SIGNED_REQUEST =\n '{\"consumer_key\": \"ds8NJIkkTdWZkYZq\", \"user_id\": \"c9c467ee-8c22-11ed-99e4-46018f30d7ef\", \"timestamp\": \"20250514-1837\", \"signature\": \"7f2b9cab386b60ab07345fdfc657ccb563ce51c14a8a6faef04e8f872a2336d5\", \"type\": \"\", \"state\": \"resume\", \"meta\": {\"sdk\": {\"version\": \"v0.3.2\", \"lang\": \"python\", \"lang_version\": \"3.7.16\", \"platform\": \"Linux\", \"platform_version\": \"5.10.234-225.921.amzn2.aarch64\"}}}';\nexport const ITEMS_SIGNED_REQUEST =\n '{\"security\": {\"consumer_key\": \"ds8NJIkkTdWZkYZq\", \"domain\": \"local.cuemath.com\", \"timestamp\": \"20250415-1652\", \"user_id\": \"57fca962-9db9-4d7a-b67e-69b483d560f9\", \"signature\": \"eed62e1cd6ff5fa4d806ae3af5d553d0610327bdb0add296e6e1a2ba000b2e8b\"}, \"request\": {\"rendering_type\": \"inline\", \"name\": \"Test worksheet\", \"user_id\": \"57fca962-9db9-4d7a-b67e-69b483d560f9\", \"session_id\": \"5c3e0f2d-3a5b-400d-a057-341c50315236\", \"retrieve_tags\": true, \"activity_id\": \"3e337969-2e6c-4234-9019-bf18eb3354b8\", \"activity_template_id\": \"Skip-Count-3-Digit-Numbers-by-5-10-100-SG1.W01\", \"config\": {\"administration\": false, \"ignore_question_attributes\": [\"metadata.ignore_distractor_rationale\", \"metadata.ignore_distractor_rationale_per_response\", \"instant_feedback\"]}, \"meta\": {\"sdk\": {\"version\": \"v0.3.2\", \"lang\": \"python\", \"lang_version\": \"3.7.16\", \"platform\": \"Linux\", \"platform_version\": \"5.10.230-223.885.amzn2.x86_64\"}}}}';\n\nconst MOCK_ITEMS_SIGNED_REQUEST =\n '{\"security\": {\"consumer_key\": \"ds8NJIkkTdWZkYZq\", \"domain\": \"local-teacher.cuemath.com\", \"timestamp\": \"20250630-1333\", \"user_id\": \"bc8d5719-e6c5-4006-9c8d-e4d35f20fb8d\", \"signature\": \"1f6c65c9c469858426d094af78124e14d3e972fc3278a41ebf027c0c94a560aa\"}, \"request\": {\"rendering_type\": \"inline\", \"name\": \"Test worksheet\", \"user_id\": \"bc8d5719-e6c5-4006-9c8d-e4d35f20fb8d\", \"session_id\": \"24fcb889-dd19-4095-9148-c2b04bda2547\", \"retrieve_tags\": true, \"activity_id\": \"fec8ff97-4501-41cb-9104-d7bce3e3bd98\", \"items\": [\"CR103\"], \"config\": {\"administration\": false, \"ignore_question_attributes\": [\"metadata.ignore_distractor_rationale\", \"metadata.ignore_distractor_rationale_per_response\", \"instant_feedback\"]}, \"meta\": {\"sdk\": {\"version\": \"v0.3.2\", \"lang\": \"python\", \"lang_version\": \"3.7.16\", \"platform\": \"Linux\", \"platform_version\": \"5.10.236-228.935.amzn2.x86_64\"}}}}';\n\nexport const getMockItemsSignedRequest = (sessionId: string) => {\n return MOCK_ITEMS_SIGNED_REQUEST.replace('f08e773a-89c5-4cea-9af7-6e0d54e4522d', sessionId);\n};\n"],"names":["MOCK_ITEMS_SIGNED_REQUEST","getMockItemsSignedRequest","sessionId"],"mappings":"AAKA,MAAMA,IACJ,i2BAEWC,IAA4B,CAACC,MACjCF,EAA0B,QAAQ,wCAAwCE,CAAS;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useMemo as f, useState as S, useRef as D, useCallback as i, useEffect as P } from "react";
|
|
2
|
+
const R = (t) => ({
|
|
3
|
+
userId: t.userId,
|
|
4
|
+
data: t.data,
|
|
5
|
+
height: t.height,
|
|
6
|
+
responseId: t.responseId
|
|
7
|
+
}), M = (t) => ({}), A = (t, d) => {
|
|
8
|
+
const u = f(
|
|
9
|
+
() => M(),
|
|
10
|
+
[d]
|
|
11
|
+
), [b, g] = S(void 0), o = D({}), p = i((a, e) => {
|
|
12
|
+
o.current = { ...o.current, [a]: e };
|
|
13
|
+
}, []), l = t === "TEACHER" ? "teacherPublished" : "studentPublished", c = t === "TEACHER" ? "studentPublished" : "teacherPublished", h = t === "TEACHER" ? 'iframe[src*="worksheet-student"]' : 'iframe[src*="worksheet-teacher"]', w = i(
|
|
14
|
+
(a) => {
|
|
15
|
+
var n, r;
|
|
16
|
+
const e = new CustomEvent(l, {
|
|
17
|
+
detail: { data: a }
|
|
18
|
+
}), s = (n = window.top) == null ? void 0 : n.document.querySelector(h);
|
|
19
|
+
return (r = s == null ? void 0 : s.contentWindow) == null || r.dispatchEvent(e), !0;
|
|
20
|
+
},
|
|
21
|
+
[l, h]
|
|
22
|
+
), v = i(
|
|
23
|
+
(a) => {
|
|
24
|
+
var k;
|
|
25
|
+
const e = u, { eventPayload: s } = a.detail.data, n = s.responseId, r = o.current[n], C = s.data, E = s.userId, I = s.height;
|
|
26
|
+
if (r)
|
|
27
|
+
r({
|
|
28
|
+
data: C,
|
|
29
|
+
height: I,
|
|
30
|
+
userId: E,
|
|
31
|
+
responseId: n
|
|
32
|
+
});
|
|
33
|
+
else {
|
|
34
|
+
const m = R(s);
|
|
35
|
+
n && e[n] ? (k = e[n]) == null || k.push(m) : e[n] = [m];
|
|
36
|
+
}
|
|
37
|
+
g(e);
|
|
38
|
+
},
|
|
39
|
+
[u]
|
|
40
|
+
);
|
|
41
|
+
return P(() => {
|
|
42
|
+
const a = (e) => {
|
|
43
|
+
v(e);
|
|
44
|
+
};
|
|
45
|
+
return window.addEventListener(c, a), () => {
|
|
46
|
+
window.removeEventListener(c, a);
|
|
47
|
+
};
|
|
48
|
+
}, [v, c]), {
|
|
49
|
+
publishStrokes: w,
|
|
50
|
+
initialStrokesData: b,
|
|
51
|
+
registerCallback: p
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
export {
|
|
55
|
+
A as default
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=use-canvas-sync-broker-story.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-canvas-sync-broker-story.js","sources":["../../../../../src/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.ts"],"sourcesContent":["import { useMemo, useCallback, useState, useRef, useEffect } from 'react';\n\nimport { type IChannelMessage } from '@cuemath/cue-message-broker';\n\nimport type { IEventData } from '../../../cue-canvas/stories/cue-canvas.stories';\nimport type {\n IActionData,\n IPublishData,\n TCueCanvasChangeDataObject,\n} from '../../../cue-canvas/types/cue-canvas';\nimport type { TUserTypes } from '../../../ui/types';\n\ninterface IMessage {\n eventName: string;\n eventPayload: {\n responseId: string;\n data: TCueCanvasChangeDataObject;\n userId: string;\n height: number;\n };\n}\n\nconst extractStrokeData = (payload: IMessage['eventPayload']): IActionData => ({\n userId: payload.userId,\n data: payload.data,\n height: payload.height,\n responseId: payload.responseId,\n});\n\nconst getCanvasDataFromInitialData = (\n initialCanvasData: Array<IChannelMessage> | undefined,\n): Record<string, IActionData[]> => {\n const map: Record<string, IActionData[]> = {};\n\n if (!initialCanvasData) return map;\n\n for (const { message } of initialCanvasData) {\n const payload = (message.payload as IMessage)?.eventPayload;\n const qrId = payload?.responseId;\n\n if (!payload?.responseId) continue;\n\n const strokeData = extractStrokeData(payload);\n\n if (qrId && map[qrId]) {\n map[qrId]?.push(strokeData);\n } else {\n map[qrId] = [strokeData];\n }\n }\n\n return map;\n};\n\nconst useCanvasSyncBrokerStory = (\n userType: TUserTypes,\n initialCanvasData?: Array<IChannelMessage>,\n) => {\n const initialCanvasDataMap = useMemo(\n () => getCanvasDataFromInitialData(initialCanvasData),\n [initialCanvasData],\n );\n const [initialStrokesData, setInitialStrokesData] = useState<\n Record<string, IActionData[]> | undefined\n >(undefined);\n const callbacksMapRef = useRef<Record<string, (data: IActionData) => void>>({});\n\n const registerCallback = useCallback((qrId: string, cb: (data: IActionData) => void) => {\n callbacksMapRef.current = { ...callbacksMapRef.current, [qrId]: cb };\n }, []);\n const publishName = userType === 'TEACHER' ? 'teacherPublished' : 'studentPublished';\n const receiveName = userType === 'TEACHER' ? 'studentPublished' : 'teacherPublished';\n const targetIframe =\n userType === 'TEACHER'\n ? 'iframe[src*=\"worksheet-student\"]'\n : 'iframe[src*=\"worksheet-teacher\"]';\n\n const onPublishStroke = useCallback(\n (data: IPublishData) => {\n const event = new CustomEvent(publishName, {\n detail: { data },\n });\n\n const teacherIframe = window.top?.document.querySelector(targetIframe) as HTMLIFrameElement;\n\n teacherIframe?.contentWindow?.dispatchEvent(event);\n\n return true;\n },\n [publishName, targetIframe],\n );\n\n const onReceiveMessage = useCallback(\n (event: CustomEvent<IEventData>) => {\n const strokesPerWidgetMap: Record<string, Array<IActionData>> = initialCanvasDataMap;\n const { eventPayload } = event.detail.data as IMessage;\n const qrId = eventPayload.responseId;\n const widgetOnReceiveCallback = callbacksMapRef.current[qrId];\n const strokes = eventPayload.data;\n const userId = eventPayload.userId;\n const canvasHeight = eventPayload.height;\n\n if (widgetOnReceiveCallback) {\n widgetOnReceiveCallback({\n data: strokes,\n height: canvasHeight,\n userId,\n responseId: qrId,\n });\n } else {\n const strokeData = extractStrokeData(eventPayload);\n\n if (qrId && strokesPerWidgetMap[qrId]) {\n strokesPerWidgetMap[qrId]?.push(strokeData);\n } else {\n strokesPerWidgetMap[qrId] = [strokeData];\n }\n }\n setInitialStrokesData(strokesPerWidgetMap);\n },\n [initialCanvasDataMap],\n );\n\n useEffect(() => {\n const handler = (event: Event) => {\n onReceiveMessage(event as CustomEvent<IEventData>);\n };\n\n window.addEventListener(receiveName, handler);\n\n return () => {\n window.removeEventListener(receiveName, handler);\n };\n }, [onReceiveMessage, receiveName]);\n\n return {\n publishStrokes: onPublishStroke,\n initialStrokesData,\n registerCallback,\n };\n};\n\nexport default useCanvasSyncBrokerStory;\n"],"names":["extractStrokeData","payload","getCanvasDataFromInitialData","initialCanvasData","useCanvasSyncBrokerStory","userType","initialCanvasDataMap","useMemo","initialStrokesData","setInitialStrokesData","useState","callbacksMapRef","useRef","registerCallback","useCallback","qrId","cb","publishName","receiveName","targetIframe","onPublishStroke","data","event","teacherIframe","_a","_b","onReceiveMessage","strokesPerWidgetMap","eventPayload","widgetOnReceiveCallback","strokes","userId","canvasHeight","strokeData","useEffect","handler"],"mappings":";AAsBA,MAAMA,IAAoB,CAACC,OAAoD;AAAA,EAC7E,QAAQA,EAAQ;AAAA,EAChB,MAAMA,EAAQ;AAAA,EACd,QAAQA,EAAQ;AAAA,EAChB,YAAYA,EAAQ;AACtB,IAEMC,IAA+B,CACnCC,OAE2C,CAAA,IAsBvCC,IAA2B,CAC/BC,GACAF,MACG;AACH,QAAMG,IAAuBC;AAAA,IAC3B,MAAML,EAA8C;AAAA,IACpD,CAACC,CAAiB;AAAA,EAAA,GAEd,CAACK,GAAoBC,CAAqB,IAAIC,EAElD,MAAS,GACLC,IAAkBC,EAAoD,CAAA,CAAE,GAExEC,IAAmBC,EAAY,CAACC,GAAcC,MAAoC;AACtE,IAAAL,EAAA,UAAU,EAAE,GAAGA,EAAgB,SAAS,CAACI,CAAI,GAAGC;EAClE,GAAG,CAAE,CAAA,GACCC,IAAcZ,MAAa,YAAY,qBAAqB,oBAC5Da,IAAcb,MAAa,YAAY,qBAAqB,oBAC5Dc,IACJd,MAAa,YACT,qCACA,oCAEAe,IAAkBN;AAAA,IACtB,CAACO,MAAuB;;AAChB,YAAAC,IAAQ,IAAI,YAAYL,GAAa;AAAA,QACzC,QAAQ,EAAE,MAAAI,EAAK;AAAA,MAAA,CAChB,GAEKE,KAAgBC,IAAA,OAAO,QAAP,gBAAAA,EAAY,SAAS,cAAcL;AAE1C,cAAAM,IAAAF,KAAA,gBAAAA,EAAA,kBAAA,QAAAE,EAAe,cAAcH,IAErC;AAAA,IACT;AAAA,IACA,CAACL,GAAaE,CAAY;AAAA,EAAA,GAGtBO,IAAmBZ;AAAA,IACvB,CAACQ,MAAmC;;AAClC,YAAMK,IAA0DrB,GAC1D,EAAE,cAAAsB,EAAiB,IAAAN,EAAM,OAAO,MAChCP,IAAOa,EAAa,YACpBC,IAA0BlB,EAAgB,QAAQI,CAAI,GACtDe,IAAUF,EAAa,MACvBG,IAASH,EAAa,QACtBI,IAAeJ,EAAa;AAElC,UAAIC;AACsB,QAAAA,EAAA;AAAA,UACtB,MAAMC;AAAA,UACN,QAAQE;AAAA,UACR,QAAAD;AAAA,UACA,YAAYhB;AAAA,QAAA,CACb;AAAA,WACI;AACC,cAAAkB,IAAajC,EAAkB4B,CAAY;AAE7C,QAAAb,KAAQY,EAAoBZ,CAAI,KACdS,IAAAG,EAAAZ,CAAI,MAAJ,QAAAS,EAAO,KAAKS,KAEZN,EAAAZ,CAAI,IAAI,CAACkB,CAAU;AAAA,MAE3C;AACA,MAAAxB,EAAsBkB,CAAmB;AAAA,IAC3C;AAAA,IACA,CAACrB,CAAoB;AAAA,EAAA;AAGvB,SAAA4B,EAAU,MAAM;AACR,UAAAC,IAAU,CAACb,MAAiB;AAChC,MAAAI,EAAiBJ,CAAgC;AAAA,IAAA;AAG5C,kBAAA,iBAAiBJ,GAAaiB,CAAO,GAErC,MAAM;AACJ,aAAA,oBAAoBjB,GAAaiB,CAAO;AAAA,IAAA;AAAA,EACjD,GACC,CAACT,GAAkBR,CAAW,CAAC,GAE3B;AAAA,IACL,gBAAgBE;AAAA,IAChB,oBAAAZ;AAAA,IACA,kBAAAK;AAAA,EAAA;AAEJ;"}
|