@cuemath/leap 2.8.49 → 2.8.50-as2
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/assets/line-icons/icons/clear-all.js +53 -0
- package/dist/assets/line-icons/icons/clear-all.js.map +1 -0
- package/dist/assets/line-icons/icons/download.js +48 -0
- package/dist/assets/line-icons/icons/download.js.map +1 -0
- package/dist/assets/line-icons/icons/equation.js +48 -0
- package/dist/assets/line-icons/icons/equation.js.map +1 -0
- package/dist/assets/line-icons/icons/grid-icon.js +42 -0
- package/dist/assets/line-icons/icons/grid-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/pan.js +98 -0
- package/dist/assets/line-icons/icons/pan.js.map +1 -0
- package/dist/assets/line-icons/icons/square-checked-grid.js +25 -0
- package/dist/assets/line-icons/icons/square-checked-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/square-dots.js +32 -0
- package/dist/assets/line-icons/icons/square-dots.js.map +1 -0
- package/dist/assets/line-icons/icons/square-grid.js +17 -0
- package/dist/assets/line-icons/icons/square-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/square2-grid.js +13 -0
- package/dist/assets/line-icons/icons/square2-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/text-icon.js +48 -0
- package/dist/assets/line-icons/icons/text-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/tri-dots.js +27 -0
- package/dist/assets/line-icons/icons/tri-dots.js.map +1 -0
- package/dist/assets/line-icons/icons/tri-grid.js +27 -0
- package/dist/assets/line-icons/icons/tri-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/tri2-dots.js +27 -0
- package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -0
- package/dist/assets/line-icons/icons/tri2-grid.js +27 -0
- package/dist/assets/line-icons/icons/tri2-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/upload.js +48 -0
- package/dist/assets/line-icons/icons/upload.js.map +1 -0
- package/dist/assets/line-icons/icons/zoom-in.js +58 -0
- package/dist/assets/line-icons/icons/zoom-in.js.map +1 -0
- package/dist/assets/line-icons/icons/zoom-out.js +48 -0
- package/dist/assets/line-icons/icons/zoom-out.js.map +1 -0
- package/dist/features/cue-canvas/cue-canvas-core.js +138 -49
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js +88 -29
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +57 -49
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +96 -59
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-palette.js +49 -0
- package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/color-picker-menu.js +62 -0
- package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/grid-menu.js +62 -0
- package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/icon-map.js +58 -0
- package/dist/features/cue-canvas/toolbar/icon-map.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/pen-tool-menu.js +56 -0
- package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/tool.js +27 -0
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/toolbar.js +18 -87
- package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +16 -0
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -0
- package/dist/features/trial-session/comps/session-report/session-report.js +41 -41
- package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +7 -7
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/index.d.ts +13 -1
- package/dist/static/fonts/Athletics-Black.woff +0 -0
- package/dist/static/fonts/Athletics-Bold.woff +0 -0
- package/dist/static/fonts/Athletics-Light.woff +0 -0
- package/dist/static/fonts/Athletics-Medium.woff +0 -0
- package/dist/static/fonts/Athletics-Regular.woff +0 -0
- package/dist/static/fonts/untitled-sans-medium.woff +0 -0
- package/dist/static/fonts/untitled-sans-medium.woff2 +0 -0
- package/dist/static/fonts/untitled-sans-regular.woff +0 -0
- package/dist/static/fonts/untitled-sans-regular.woff2 +0 -0
- package/package.json +2 -2
- package/dist/features/cue-canvas/toolbar/color-pallete.js +0 -49
- package/dist/features/cue-canvas/toolbar/color-pallete.js.map +0 -1
@@ -8,98 +8,98 @@ import j from "../../../ui/error/error.js";
|
|
8
8
|
import R from "../../../ui/image/image.js";
|
9
9
|
import b from "../../../ui/layout/flex-view.js";
|
10
10
|
import G from "../../../ui/loader/app-loader/app-loader.js";
|
11
|
-
import
|
11
|
+
import A from "../../../ui/separator/separator.js";
|
12
12
|
import h from "../../../ui/text/text.js";
|
13
13
|
import { useGetSessionReports as K } from "../../api/trial-home.js";
|
14
14
|
import { useTrialSessionContext as V } from "../../context/use-trial-session-context.js";
|
15
15
|
import { getFormattedStudentPersonalizedPreference as q } from "../../helper.js";
|
16
16
|
import z from "../slide-header/index.js";
|
17
17
|
import { studentLevels as J } from "../student-feedback/student-feedback-constants.js";
|
18
|
-
import
|
18
|
+
import o from "./report-card.js";
|
19
19
|
import { Container as Q, ContentWrapper as S, ReportWrapper as X, TopicWrapper as Z, TopicImage as ee, InlineText as te } from "./session-report-styled.js";
|
20
|
-
const
|
21
|
-
const { onEvent: P } = Y(), { formData: O, milestoneConfig: d } = V(), { name: p, grade:
|
22
|
-
data:
|
20
|
+
const Ce = W(() => {
|
21
|
+
const { onEvent: P } = Y(), { formData: O, milestoneConfig: d } = V(), { name: p, grade: C, attemptId: u = "shg", personalizedLevel: a = [] } = O || {}, {
|
22
|
+
data: I,
|
23
23
|
get: L,
|
24
24
|
isProcessing: k,
|
25
25
|
isProcessingFailed: y
|
26
26
|
} = K(), f = w(() => {
|
27
27
|
var r, m;
|
28
|
-
const
|
29
|
-
grade:
|
28
|
+
const i = ((m = (r = U(d, {
|
29
|
+
grade: C ?? "",
|
30
30
|
courseStream: F.MATH,
|
31
31
|
preferenceCategory: H.LEVEL
|
32
|
-
})) == null ? void 0 : r.find((_) => _.id === (
|
33
|
-
return J[
|
34
|
-
}, [
|
32
|
+
})) == null ? void 0 : r.find((_) => _.id === (a == null ? void 0 : a[0]))) == null ? void 0 : m.label) ?? "";
|
33
|
+
return J[i.toLowerCase()];
|
34
|
+
}, [C, d, a]), {
|
35
35
|
next_steps: M,
|
36
36
|
topic_data: g,
|
37
37
|
solved_with_help: l,
|
38
|
-
problems_attempted:
|
38
|
+
problems_attempted: n,
|
39
39
|
new_concepts_learnt: c,
|
40
40
|
solved_independently: s,
|
41
41
|
default_topic_image_url: N
|
42
|
-
} =
|
42
|
+
} = I || {}, $ = B(() => {
|
43
43
|
var r;
|
44
|
-
const
|
44
|
+
const i = q(
|
45
45
|
d,
|
46
|
-
|
46
|
+
a
|
47
47
|
);
|
48
|
-
u && p &&
|
49
|
-
student_level: ((r =
|
48
|
+
u && p && i.length > 0 && L(u, {
|
49
|
+
student_level: ((r = i[0]) == null ? void 0 : r.preference_name) ?? "",
|
50
50
|
student_name: p
|
51
51
|
});
|
52
|
-
}, [u, L, d, p,
|
52
|
+
}, [u, L, d, p, a]);
|
53
53
|
D(() => {
|
54
54
|
$();
|
55
55
|
}, [$]);
|
56
|
-
const
|
57
|
-
/* @__PURE__ */ e(
|
58
|
-
/* @__PURE__ */ e(
|
56
|
+
const v = w(() => n ? n === s || !l && s ? /* @__PURE__ */ t(E, { children: [
|
57
|
+
/* @__PURE__ */ e(o, { title: "Problems Attempted", value: n }),
|
58
|
+
/* @__PURE__ */ e(o, { title: "Solved without help", value: s }),
|
59
59
|
/* @__PURE__ */ e(
|
60
|
-
|
60
|
+
o,
|
61
61
|
{
|
62
62
|
title: "Performance",
|
63
|
-
value: `${Math.round(s /
|
63
|
+
value: `${Math.round(s / n * 100)}%`
|
64
64
|
}
|
65
65
|
)
|
66
|
-
] }) : l && c ? /* @__PURE__ */ t(E, { children: [
|
67
|
-
/* @__PURE__ */ e(
|
68
|
-
/* @__PURE__ */ e(
|
69
|
-
/* @__PURE__ */ e(
|
66
|
+
] }) : !l && !s ? /* @__PURE__ */ e(o, { title: "Problems Attempted", value: n }) : l && c ? /* @__PURE__ */ t(E, { children: [
|
67
|
+
/* @__PURE__ */ e(o, { title: "Problems Attempted", value: n }),
|
68
|
+
/* @__PURE__ */ e(o, { title: "Needed help in", value: c }),
|
69
|
+
/* @__PURE__ */ e(o, { title: "Improvement shown in", value: l }),
|
70
70
|
/* @__PURE__ */ e(
|
71
|
-
|
71
|
+
o,
|
72
72
|
{
|
73
73
|
title: "Improvement",
|
74
74
|
value: `${Math.round(l / c * 100)}%`
|
75
75
|
}
|
76
76
|
)
|
77
|
-
] }) : null : null, [c,
|
78
|
-
return y ? /* @__PURE__ */ e(j, { height: "70vh", onTryAgain: $ }) : k || !
|
79
|
-
/* @__PURE__ */ e(
|
77
|
+
] }) : null : null, [c, n, s, l]);
|
78
|
+
return y ? /* @__PURE__ */ e(j, { height: "70vh", onTryAgain: $ }) : k || !I ? /* @__PURE__ */ e(G, { height: "100vh" }) : /* @__PURE__ */ t(Q, { children: [
|
79
|
+
/* @__PURE__ */ e(A, { height: 60 }),
|
80
80
|
/* @__PURE__ */ e(z, { textToInsert: (f == null ? void 0 : f.title) ?? "" }),
|
81
|
-
|
82
|
-
/* @__PURE__ */ e(X, { $flexDirection: "row", $height: 100, $background: "YELLOW_1", children:
|
83
|
-
/* @__PURE__ */ e(Z, { $flexDirection: "row", $background: "WHITE_1", children: g && g.length > 0 && g.map((
|
81
|
+
v ? /* @__PURE__ */ t(S, { $width: 750, $borderColor: "BLACK_1", children: [
|
82
|
+
/* @__PURE__ */ e(X, { $flexDirection: "row", $height: 100, $background: "YELLOW_1", children: v }),
|
83
|
+
/* @__PURE__ */ e(Z, { $flexDirection: "row", $background: "WHITE_1", children: g && g.length > 0 && g.map((i) => {
|
84
84
|
const {
|
85
85
|
topic_name: r,
|
86
86
|
topic_image: m,
|
87
87
|
summary: _,
|
88
|
-
is_attempted:
|
89
|
-
} =
|
90
|
-
return m || P("TOPIC_THUMBNAIL_NOT_AVAILABLE",
|
88
|
+
is_attempted: T
|
89
|
+
} = i;
|
90
|
+
return m || P("TOPIC_THUMBNAIL_NOT_AVAILABLE", i), /* @__PURE__ */ t(
|
91
91
|
b,
|
92
92
|
{
|
93
93
|
$gap: 35,
|
94
94
|
$gutter: 29,
|
95
95
|
$flex: 1,
|
96
96
|
$alignItems: "center",
|
97
|
-
$opacity:
|
97
|
+
$opacity: T ? 1 : 0.4,
|
98
98
|
children: [
|
99
99
|
/* @__PURE__ */ e(
|
100
100
|
ee,
|
101
101
|
{
|
102
|
-
$active: !!
|
102
|
+
$active: !!T,
|
103
103
|
src: m || N,
|
104
104
|
borderRadius: 96,
|
105
105
|
height: 96,
|
@@ -108,9 +108,9 @@ const Ie = W(() => {
|
|
108
108
|
withLoader: !0
|
109
109
|
}
|
110
110
|
),
|
111
|
-
/* @__PURE__ */ e(
|
111
|
+
/* @__PURE__ */ e(A, { height: 12 }),
|
112
112
|
/* @__PURE__ */ e(h, { $renderAs: "ab3-black", $align: "center", children: r }),
|
113
|
-
/* @__PURE__ */ e(
|
113
|
+
/* @__PURE__ */ e(A, { height: 2 }),
|
114
114
|
/* @__PURE__ */ e(h, { $renderAs: "ub3", $align: "center", children: _ })
|
115
115
|
]
|
116
116
|
},
|
@@ -177,6 +177,6 @@ const Ie = W(() => {
|
|
177
177
|
] });
|
178
178
|
});
|
179
179
|
export {
|
180
|
-
|
180
|
+
Ce as default
|
181
181
|
};
|
182
182
|
//# sourceMappingURL=session-report.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"session-report.js","sources":["../../../../../src/features/trial-session/comps/session-report/session-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport { COURSE_STREAMS, PREFERENCE_CATEGORY } from '../../../milestone/constants';\nimport { getPreferencesFromConfig } from '../../../milestone/create/milestone-create-helpers';\nimport { useUIContext } from '../../../ui/context/context';\nimport Error from '../../../ui/error/error';\nimport Image from '../../../ui/image/image';\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 { useGetSessionReports } from '../../api/trial-home';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { getFormattedStudentPersonalizedPreference } from '../../helper';\nimport SlideHeader from '../slide-header';\nimport { studentLevels } from '../student-feedback/student-feedback-constants';\nimport ReportCard from './report-card';\nimport * as Styled from './session-report-styled';\n\nconst SessionReport = memo(() => {\n const { onEvent: trackEvent } = useUIContext();\n const { formData, milestoneConfig } = useTrialSessionContext();\n const { name, grade, attemptId = 'shg', personalizedLevel = [] } = formData || {};\n\n const {\n data: sessionReports,\n get: getSessionReports,\n isProcessing,\n isProcessingFailed,\n } = useGetSessionReports();\n\n const selectedSessionLevel = useMemo(() => {\n const selectedLabel =\n getPreferencesFromConfig(milestoneConfig, {\n grade: grade ?? '',\n courseStream: COURSE_STREAMS.MATH,\n preferenceCategory: PREFERENCE_CATEGORY.LEVEL,\n })?.find(sessionLevel => sessionLevel.id === personalizedLevel?.[0])?.label ?? '';\n\n return studentLevels[selectedLabel.toLowerCase()];\n }, [grade, milestoneConfig, personalizedLevel]);\n\n const {\n next_steps: nextSteps,\n topic_data: topicData,\n solved_with_help: solvedWithHelp,\n problems_attempted: problemsAttempted,\n new_concepts_learnt: newConceptsLearnt,\n solved_independently: solvedIndependently,\n default_topic_image_url: defaultTopicImage,\n } = sessionReports || {};\n\n const fetchData = useCallback(() => {\n const studentLevel = getFormattedStudentPersonalizedPreference(\n milestoneConfig,\n personalizedLevel,\n );\n\n if (attemptId && name && studentLevel.length > 0) {\n getSessionReports(attemptId, {\n student_level: studentLevel[0]?.preference_name ?? '',\n student_name: name,\n });\n }\n }, [attemptId, getSessionReports, milestoneConfig, name, personalizedLevel]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const renderReportsInfoCard = useMemo(() => {\n if (!problemsAttempted) return null;\n\n if (problemsAttempted === solvedIndependently || (!solvedWithHelp && solvedIndependently)) {\n return (\n <>\n <ReportCard title=\"Problems Attempted\" value={problemsAttempted} />\n <ReportCard title=\"Solved without help\" value={solvedIndependently} />\n <ReportCard\n title=\"Performance\"\n value={`${Math.round((solvedIndependently / problemsAttempted) * 100)}%`}\n />\n </>\n );\n }\n\n if (solvedWithHelp && newConceptsLearnt) {\n return (\n <>\n <ReportCard title=\"Problems Attempted\" value={problemsAttempted} />\n <ReportCard title=\"Needed help in\" value={newConceptsLearnt} />\n <ReportCard title=\"Improvement shown in\" value={solvedWithHelp} />\n <ReportCard\n title=\"Improvement\"\n value={`${Math.round((solvedWithHelp / newConceptsLearnt) * 100)}%`}\n />\n </>\n );\n }\n\n return null;\n }, [newConceptsLearnt, problemsAttempted, solvedIndependently, solvedWithHelp]);\n\n if (isProcessingFailed) {\n return <Error height=\"70vh\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !sessionReports) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader textToInsert={selectedSessionLevel?.title ?? ''} />\n {renderReportsInfoCard ? (\n <Styled.ContentWrapper $width={750} $borderColor=\"BLACK_1\">\n <Styled.ReportWrapper $flexDirection=\"row\" $height={100} $background=\"YELLOW_1\">\n {renderReportsInfoCard}\n </Styled.ReportWrapper>\n <Styled.TopicWrapper $flexDirection=\"row\" $background=\"WHITE_1\">\n {topicData &&\n topicData.length > 0 &&\n topicData.map(topic => {\n const {\n topic_name: topicName,\n topic_image: topicImage,\n summary,\n is_attempted: isAttempted,\n } = topic;\n\n if (!topicImage) {\n trackEvent('TOPIC_THUMBNAIL_NOT_AVAILABLE', topic);\n }\n\n return (\n <FlexView\n key={topicName}\n $gap={35}\n $gutter={29}\n $flex={1}\n $alignItems=\"center\"\n $opacity={isAttempted ? 1 : 0.4}\n >\n <Styled.TopicImage\n $active={!!isAttempted}\n src={topicImage || defaultTopicImage}\n borderRadius={96}\n height={96}\n width={96}\n alt=\"topic\"\n withLoader\n />\n <Separator height={12} />\n <Text $renderAs=\"ab3-black\" $align=\"center\">\n {topicName}\n </Text>\n <Separator height={2} />\n <Text $renderAs=\"ub3\" $align=\"center\">\n {summary}\n </Text>\n </FlexView>\n );\n })}\n </Styled.TopicWrapper>\n <FlexView\n $flexDirection=\"row\"\n $background=\"YELLOW_3\"\n $flexGap={4}\n $alignItems=\"center\"\n $gap={9}\n $gutter={8}\n >\n <Image\n src={ILLUSTRATIONS.COMMUNITY_BULB}\n width={80}\n height={80}\n withLoader\n alt=\"bulb\"\n />\n <FlexView $flex={1}>\n <Text $renderAs=\"ab2-black\">\n Next Steps: <Styled.InlineText $renderAs=\"ab2\">{nextSteps}</Styled.InlineText>\n </Text>\n </FlexView>\n </FlexView>\n </Styled.ContentWrapper>\n ) : (\n <Styled.ContentWrapper\n $width={750}\n $height={400}\n $borderColor=\"BLACK_1\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n >\n <Image\n src={ILLUSTRATIONS.REPORT_404}\n height={152}\n width={152}\n withLoader\n alt=\"report-404\"\n />\n <Text $renderAs=\"ab1-bold\" $color=\"BLACK_T_60\" $align=\"center\">\n Oops! {name} didn’t attempt\n <br />\n any problems.\n </Text>\n </Styled.ContentWrapper>\n )}\n </Styled.Container>\n );\n});\n\nexport default SessionReport;\n"],"names":["SessionReport","memo","trackEvent","useUIContext","formData","milestoneConfig","useTrialSessionContext","name","grade","attemptId","personalizedLevel","sessionReports","getSessionReports","isProcessing","isProcessingFailed","useGetSessionReports","selectedSessionLevel","useMemo","selectedLabel","_b","_a","getPreferencesFromConfig","COURSE_STREAMS","PREFERENCE_CATEGORY","sessionLevel","studentLevels","nextSteps","topicData","solvedWithHelp","problemsAttempted","newConceptsLearnt","solvedIndependently","defaultTopicImage","fetchData","useCallback","studentLevel","getFormattedStudentPersonalizedPreference","useEffect","renderReportsInfoCard","jsxs","Fragment","jsx","ReportCard","Error","AppLoader","Styled.Container","Separator","SlideHeader","Styled.ContentWrapper","Styled.ReportWrapper","Styled.TopicWrapper","topic","topicName","topicImage","summary","isAttempted","FlexView","Styled.TopicImage","Text","Image","ILLUSTRATIONS","Styled.InlineText"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"session-report.js","sources":["../../../../../src/features/trial-session/comps/session-report/session-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport { COURSE_STREAMS, PREFERENCE_CATEGORY } from '../../../milestone/constants';\nimport { getPreferencesFromConfig } from '../../../milestone/create/milestone-create-helpers';\nimport { useUIContext } from '../../../ui/context/context';\nimport Error from '../../../ui/error/error';\nimport Image from '../../../ui/image/image';\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 { useGetSessionReports } from '../../api/trial-home';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { getFormattedStudentPersonalizedPreference } from '../../helper';\nimport SlideHeader from '../slide-header';\nimport { studentLevels } from '../student-feedback/student-feedback-constants';\nimport ReportCard from './report-card';\nimport * as Styled from './session-report-styled';\n\nconst SessionReport = memo(() => {\n const { onEvent: trackEvent } = useUIContext();\n const { formData, milestoneConfig } = useTrialSessionContext();\n const { name, grade, attemptId = 'shg', personalizedLevel = [] } = formData || {};\n\n const {\n data: sessionReports,\n get: getSessionReports,\n isProcessing,\n isProcessingFailed,\n } = useGetSessionReports();\n\n const selectedSessionLevel = useMemo(() => {\n const selectedLabel =\n getPreferencesFromConfig(milestoneConfig, {\n grade: grade ?? '',\n courseStream: COURSE_STREAMS.MATH,\n preferenceCategory: PREFERENCE_CATEGORY.LEVEL,\n })?.find(sessionLevel => sessionLevel.id === personalizedLevel?.[0])?.label ?? '';\n\n return studentLevels[selectedLabel.toLowerCase()];\n }, [grade, milestoneConfig, personalizedLevel]);\n\n const {\n next_steps: nextSteps,\n topic_data: topicData,\n solved_with_help: solvedWithHelp,\n problems_attempted: problemsAttempted,\n new_concepts_learnt: newConceptsLearnt,\n solved_independently: solvedIndependently,\n default_topic_image_url: defaultTopicImage,\n } = sessionReports || {};\n\n const fetchData = useCallback(() => {\n const studentLevel = getFormattedStudentPersonalizedPreference(\n milestoneConfig,\n personalizedLevel,\n );\n\n if (attemptId && name && studentLevel.length > 0) {\n getSessionReports(attemptId, {\n student_level: studentLevel[0]?.preference_name ?? '',\n student_name: name,\n });\n }\n }, [attemptId, getSessionReports, milestoneConfig, name, personalizedLevel]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const renderReportsInfoCard = useMemo(() => {\n if (!problemsAttempted) return null;\n\n if (problemsAttempted === solvedIndependently || (!solvedWithHelp && solvedIndependently)) {\n return (\n <>\n <ReportCard title=\"Problems Attempted\" value={problemsAttempted} />\n <ReportCard title=\"Solved without help\" value={solvedIndependently} />\n <ReportCard\n title=\"Performance\"\n value={`${Math.round((solvedIndependently / problemsAttempted) * 100)}%`}\n />\n </>\n );\n }\n\n if (!solvedWithHelp && !solvedIndependently) {\n return <ReportCard title=\"Problems Attempted\" value={problemsAttempted} />;\n }\n\n if (solvedWithHelp && newConceptsLearnt) {\n return (\n <>\n <ReportCard title=\"Problems Attempted\" value={problemsAttempted} />\n <ReportCard title=\"Needed help in\" value={newConceptsLearnt} />\n <ReportCard title=\"Improvement shown in\" value={solvedWithHelp} />\n <ReportCard\n title=\"Improvement\"\n value={`${Math.round((solvedWithHelp / newConceptsLearnt) * 100)}%`}\n />\n </>\n );\n }\n\n return null;\n }, [newConceptsLearnt, problemsAttempted, solvedIndependently, solvedWithHelp]);\n\n if (isProcessingFailed) {\n return <Error height=\"70vh\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !sessionReports) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader textToInsert={selectedSessionLevel?.title ?? ''} />\n {renderReportsInfoCard ? (\n <Styled.ContentWrapper $width={750} $borderColor=\"BLACK_1\">\n <Styled.ReportWrapper $flexDirection=\"row\" $height={100} $background=\"YELLOW_1\">\n {renderReportsInfoCard}\n </Styled.ReportWrapper>\n <Styled.TopicWrapper $flexDirection=\"row\" $background=\"WHITE_1\">\n {topicData &&\n topicData.length > 0 &&\n topicData.map(topic => {\n const {\n topic_name: topicName,\n topic_image: topicImage,\n summary,\n is_attempted: isAttempted,\n } = topic;\n\n if (!topicImage) {\n trackEvent('TOPIC_THUMBNAIL_NOT_AVAILABLE', topic);\n }\n\n return (\n <FlexView\n key={topicName}\n $gap={35}\n $gutter={29}\n $flex={1}\n $alignItems=\"center\"\n $opacity={isAttempted ? 1 : 0.4}\n >\n <Styled.TopicImage\n $active={!!isAttempted}\n src={topicImage || defaultTopicImage}\n borderRadius={96}\n height={96}\n width={96}\n alt=\"topic\"\n withLoader\n />\n <Separator height={12} />\n <Text $renderAs=\"ab3-black\" $align=\"center\">\n {topicName}\n </Text>\n <Separator height={2} />\n <Text $renderAs=\"ub3\" $align=\"center\">\n {summary}\n </Text>\n </FlexView>\n );\n })}\n </Styled.TopicWrapper>\n <FlexView\n $flexDirection=\"row\"\n $background=\"YELLOW_3\"\n $flexGap={4}\n $alignItems=\"center\"\n $gap={9}\n $gutter={8}\n >\n <Image\n src={ILLUSTRATIONS.COMMUNITY_BULB}\n width={80}\n height={80}\n withLoader\n alt=\"bulb\"\n />\n <FlexView $flex={1}>\n <Text $renderAs=\"ab2-black\">\n Next Steps: <Styled.InlineText $renderAs=\"ab2\">{nextSteps}</Styled.InlineText>\n </Text>\n </FlexView>\n </FlexView>\n </Styled.ContentWrapper>\n ) : (\n <Styled.ContentWrapper\n $width={750}\n $height={400}\n $borderColor=\"BLACK_1\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n >\n <Image\n src={ILLUSTRATIONS.REPORT_404}\n height={152}\n width={152}\n withLoader\n alt=\"report-404\"\n />\n <Text $renderAs=\"ab1-bold\" $color=\"BLACK_T_60\" $align=\"center\">\n Oops! {name} didn’t attempt\n <br />\n any problems.\n </Text>\n </Styled.ContentWrapper>\n )}\n </Styled.Container>\n );\n});\n\nexport default SessionReport;\n"],"names":["SessionReport","memo","trackEvent","useUIContext","formData","milestoneConfig","useTrialSessionContext","name","grade","attemptId","personalizedLevel","sessionReports","getSessionReports","isProcessing","isProcessingFailed","useGetSessionReports","selectedSessionLevel","useMemo","selectedLabel","_b","_a","getPreferencesFromConfig","COURSE_STREAMS","PREFERENCE_CATEGORY","sessionLevel","studentLevels","nextSteps","topicData","solvedWithHelp","problemsAttempted","newConceptsLearnt","solvedIndependently","defaultTopicImage","fetchData","useCallback","studentLevel","getFormattedStudentPersonalizedPreference","useEffect","renderReportsInfoCard","jsxs","Fragment","jsx","ReportCard","Error","AppLoader","Styled.Container","Separator","SlideHeader","Styled.ContentWrapper","Styled.ReportWrapper","Styled.TopicWrapper","topic","topicName","topicImage","summary","isAttempted","FlexView","Styled.TopicImage","Text","Image","ILLUSTRATIONS","Styled.InlineText"],"mappings":"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"}
|
@@ -17,13 +17,13 @@ const ve = L(($) => {
|
|
17
17
|
userType: m,
|
18
18
|
layout: f,
|
19
19
|
behavior: r,
|
20
|
-
worksheetName:
|
20
|
+
worksheetName: A,
|
21
21
|
questions: o,
|
22
22
|
responses: t,
|
23
23
|
activeQuestionIndex: s,
|
24
24
|
lastUnlockedQuestionIndex: h,
|
25
|
-
appendedQuestionIds:
|
26
|
-
learnosity:
|
25
|
+
appendedQuestionIds: W,
|
26
|
+
learnosity: q,
|
27
27
|
isCanvasEnabled: R,
|
28
28
|
isScribblingEnabled: S,
|
29
29
|
isSummaryVisible: k,
|
@@ -45,7 +45,7 @@ const ve = L(($) => {
|
|
45
45
|
loggerRef: y,
|
46
46
|
onSkip: _,
|
47
47
|
canToggleScribbling: z
|
48
|
-
} = $, { navigationBar: H, questionsScrollable: w } = f, p = o[s], { response_id: l } = p ?? {}, [Q, d] = M(!1), P = l ?
|
48
|
+
} = $, { navigationBar: H, questionsScrollable: w } = f, p = o[s], { response_id: l } = p ?? {}, [Q, d] = M(!1), P = l ? W.includes(l) : !1, X = i(
|
49
49
|
(n) => {
|
50
50
|
d(!1), C(n);
|
51
51
|
},
|
@@ -93,7 +93,7 @@ const ve = L(($) => {
|
|
93
93
|
}
|
94
94
|
)
|
95
95
|
] }),
|
96
|
-
S && /* @__PURE__ */ e(oe, { userType: m }),
|
96
|
+
S && /* @__PURE__ */ e(oe, { userType: m, renderAs: "canvas" }),
|
97
97
|
H === "bottom" && /* @__PURE__ */ b(B, { children: [
|
98
98
|
Q && /* @__PURE__ */ e(me, { $alignItems: "center", children: /* @__PURE__ */ e(
|
99
99
|
ae,
|
@@ -103,7 +103,7 @@ const ve = L(($) => {
|
|
103
103
|
onItemNumberClick: X,
|
104
104
|
questions: o,
|
105
105
|
responses: t,
|
106
|
-
worksheetName:
|
106
|
+
worksheetName: A,
|
107
107
|
behavior: r,
|
108
108
|
userType: m,
|
109
109
|
onClose: v,
|
@@ -128,7 +128,7 @@ const ve = L(($) => {
|
|
128
128
|
p && l && /* @__PURE__ */ e(
|
129
129
|
re,
|
130
130
|
{
|
131
|
-
learnosity:
|
131
|
+
learnosity: q,
|
132
132
|
question: p,
|
133
133
|
questions: o,
|
134
134
|
responses: t,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -491,6 +491,8 @@ declare interface IActionData {
|
|
491
491
|
height: number;
|
492
492
|
userId: string;
|
493
493
|
responseId: string;
|
494
|
+
gridName?: TCueCanvasGridName;
|
495
|
+
dimension?: IViewport;
|
494
496
|
}
|
495
497
|
|
496
498
|
declare interface IAppLoaderProps {
|
@@ -2606,7 +2608,7 @@ export declare interface IStreakLeaderboardDetails extends IBaseLeaderboardDetai
|
|
2606
2608
|
declare interface IStroke {
|
2607
2609
|
points: string;
|
2608
2610
|
color?: string;
|
2609
|
-
brush: 'pen' | 'marker' | 'highlighter';
|
2611
|
+
brush: 'pen' | 'ruler' | 'marker' | 'highlighter';
|
2610
2612
|
cannotEdit?: boolean;
|
2611
2613
|
}
|
2612
2614
|
|
@@ -2871,6 +2873,7 @@ export declare interface ITheme {
|
|
2871
2873
|
|
2872
2874
|
declare interface ITile {
|
2873
2875
|
name: string;
|
2876
|
+
href?: string;
|
2874
2877
|
x?: number;
|
2875
2878
|
y?: number;
|
2876
2879
|
rot?: number;
|
@@ -2915,6 +2918,7 @@ export declare interface ITodaysContentTimeStamps {
|
|
2915
2918
|
|
2916
2919
|
declare interface IToolbarProps {
|
2917
2920
|
userType: TUserTypes;
|
2921
|
+
renderAs: TRenderAs_2;
|
2918
2922
|
}
|
2919
2923
|
|
2920
2924
|
export declare interface ITrackEvent {
|
@@ -3130,6 +3134,12 @@ export declare interface IVibrationPattern {
|
|
3130
3134
|
pattern: number[] | number;
|
3131
3135
|
}
|
3132
3136
|
|
3137
|
+
declare interface IViewport {
|
3138
|
+
x: number;
|
3139
|
+
y: number;
|
3140
|
+
zoom: number;
|
3141
|
+
}
|
3142
|
+
|
3133
3143
|
export declare interface IWebViewProps extends IframeHTMLAttributes<HTMLIFrameElement> {
|
3134
3144
|
baseUrl: string;
|
3135
3145
|
projectDetails: IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps | ITableWebGameProps;
|
@@ -4127,6 +4137,8 @@ declare type TCreateOnPresubmit = (options: TOnPreSubmitOptions) => void;
|
|
4127
4137
|
|
4128
4138
|
declare type TCueCanvasChangeDataObject = Record<string, TDrawingData[]>;
|
4129
4139
|
|
4140
|
+
declare type TCueCanvasGridName = 'none' | 'square2-grid' | 'square-checked' | 'square-dots' | 'square-grid' | 'tri-dots' | 'tri-grid' | 'tri2-dots' | 'tri2-grid';
|
4141
|
+
|
4130
4142
|
declare type TCueProgramData = {
|
4131
4143
|
description: string;
|
4132
4144
|
id: string;
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@cuemath/leap",
|
3
|
-
"version": "2.8.
|
3
|
+
"version": "2.8.50-as2",
|
4
4
|
"type": "module",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -15,7 +15,7 @@
|
|
15
15
|
"ts-watch": "tsc --noEmit -watch",
|
16
16
|
"preview": "vite preview",
|
17
17
|
"prepare": "husky install",
|
18
|
-
"build-storybook": "storybook build",
|
18
|
+
"build-storybook": "rm -rf storybook-static && storybook build",
|
19
19
|
"prepublishOnly": "yarn build",
|
20
20
|
"hash-image": "node scripts/hash-images.js"
|
21
21
|
},
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { jsx as r } from "react/jsx-runtime";
|
2
|
-
import { memo as d, useCallback as m, useMemo as $ } from "react";
|
3
|
-
import s from "../../ui/buttons/clickable/clickable.js";
|
4
|
-
import n from "../../ui/layout/flex-view.js";
|
5
|
-
import { getColorsForUser as h } from "../cue-canvas-helpers.js";
|
6
|
-
import { PalleteWrapper as u, ColorPicker as C, StyledCheckIcon as f } from "../cue-cavas-styled.js";
|
7
|
-
const x = d(({ setActiveColor: o, activeColor: t, userType: i }) => {
|
8
|
-
const l = m(
|
9
|
-
(e) => {
|
10
|
-
o(e);
|
11
|
-
},
|
12
|
-
[o]
|
13
|
-
), a = $(() => h(i), [i]);
|
14
|
-
return /* @__PURE__ */ r(u, { $background: "WHITE", $gutterX: 0.5, $gapX: 0.5, $borderRadius: 10, children: /* @__PURE__ */ r(n, { $flexDirection: "row", children: a.map((e, c) => /* @__PURE__ */ r(
|
15
|
-
s,
|
16
|
-
{
|
17
|
-
onClick: () => l(e),
|
18
|
-
label: `Color Picker - ${e}`,
|
19
|
-
children: /* @__PURE__ */ r(
|
20
|
-
n,
|
21
|
-
{
|
22
|
-
$width: 22,
|
23
|
-
$height: 22,
|
24
|
-
$borderRadius: 11,
|
25
|
-
$justifyContent: "center",
|
26
|
-
$background: t === e ? "BLACK" : "WHITE",
|
27
|
-
$alignItems: "center",
|
28
|
-
children: /* @__PURE__ */ r(
|
29
|
-
C,
|
30
|
-
{
|
31
|
-
$width: 20,
|
32
|
-
$height: 20,
|
33
|
-
$borderRadius: 10,
|
34
|
-
$color: e,
|
35
|
-
$alignItems: "center",
|
36
|
-
$justifyContent: "center",
|
37
|
-
children: t === e && /* @__PURE__ */ r(f, {})
|
38
|
-
}
|
39
|
-
)
|
40
|
-
}
|
41
|
-
)
|
42
|
-
},
|
43
|
-
c
|
44
|
-
)) }) });
|
45
|
-
});
|
46
|
-
export {
|
47
|
-
x as default
|
48
|
-
};
|
49
|
-
//# sourceMappingURL=color-pallete.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"color-pallete.js","sources":["../../../../src/features/cue-canvas/toolbar/color-pallete.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { TCueCanvasColors } from '../types/cue-canvas';\n\nimport { memo, useCallback, useMemo } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { getColorsForUser } from '../cue-canvas-helpers';\nimport { StyledCheckIcon } from '../cue-cavas-styled';\nimport { PalleteWrapper, ColorPicker } from '../cue-cavas-styled';\n\ninterface IColorPallete {\n setActiveColor: (color: TCueCanvasColors) => void;\n activeColor: TCueCanvasColors;\n userType: TUserTypes;\n}\n\nconst ColorPallete: React.FC<IColorPallete> = memo(({ setActiveColor, activeColor, userType }) => {\n const handleColorChange = useCallback(\n (color: TCueCanvasColors) => {\n setActiveColor(color);\n },\n [setActiveColor],\n );\n const colors = useMemo(() => getColorsForUser(userType), [userType]);\n\n return (\n <PalleteWrapper $background=\"WHITE\" $gutterX={0.5} $gapX={0.5} $borderRadius={10}>\n <FlexView $flexDirection=\"row\">\n {colors.map((color, index) => (\n <Clickable\n key={index}\n onClick={() => handleColorChange(color)}\n label={`Color Picker - ${color}`}\n >\n <FlexView\n $width={22}\n $height={22}\n $borderRadius={11}\n $justifyContent=\"center\"\n $background={activeColor === color ? 'BLACK' : 'WHITE'}\n $alignItems=\"center\"\n >\n <ColorPicker\n $width={20}\n $height={20}\n $borderRadius={10}\n $color={color}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {activeColor === color && <StyledCheckIcon />}\n </ColorPicker>\n </FlexView>\n </Clickable>\n ))}\n </FlexView>\n </PalleteWrapper>\n );\n});\n\nexport default ColorPallete;\n"],"names":["ColorPallete","memo","setActiveColor","activeColor","userType","handleColorChange","useCallback","color","colors","useMemo","getColorsForUser","PalleteWrapper","jsx","FlexView","index","Clickable","ColorPicker","StyledCheckIcon"],"mappings":";;;;;;AAiBA,MAAMA,IAAwCC,EAAK,CAAC,EAAE,gBAAAC,GAAgB,aAAAC,GAAa,UAAAC,QAAe;AAChG,QAAMC,IAAoBC;AAAA,IACxB,CAACC,MAA4B;AAC3B,MAAAL,EAAeK,CAAK;AAAA,IACtB;AAAA,IACA,CAACL,CAAc;AAAA,EAAA,GAEXM,IAASC,EAAQ,MAAMC,EAAiBN,CAAQ,GAAG,CAACA,CAAQ,CAAC;AAEnE,2BACGO,GAAe,EAAA,aAAY,SAAQ,UAAU,KAAK,OAAO,KAAK,eAAe,IAC5E,UAAA,gBAAAC,EAACC,KAAS,gBAAe,OACtB,YAAO,IAAI,CAACN,GAAOO,MAClB,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MAEC,SAAS,MAAMV,EAAkBE,CAAK;AAAA,MACtC,OAAO,kBAAkBA,CAAK;AAAA,MAE9B,UAAA,gBAAAK;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,eAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,aAAaV,MAAgBI,IAAQ,UAAU;AAAA,UAC/C,aAAY;AAAA,UAEZ,UAAA,gBAAAK;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,eAAe;AAAA,cACf,QAAQT;AAAA,cACR,aAAY;AAAA,cACZ,iBAAgB;AAAA,cAEf,UAAAJ,MAAgBI,KAAS,gBAAAK,EAACK,GAAgB,CAAA,CAAA;AAAA,YAAA;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAtBKH;AAAA,EAAA,CAwBR,GACH,EACF,CAAA;AAEJ,CAAC;"}
|