@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.
Files changed (75) hide show
  1. package/dist/assets/line-icons/icons/clear-all.js +53 -0
  2. package/dist/assets/line-icons/icons/clear-all.js.map +1 -0
  3. package/dist/assets/line-icons/icons/download.js +48 -0
  4. package/dist/assets/line-icons/icons/download.js.map +1 -0
  5. package/dist/assets/line-icons/icons/equation.js +48 -0
  6. package/dist/assets/line-icons/icons/equation.js.map +1 -0
  7. package/dist/assets/line-icons/icons/grid-icon.js +42 -0
  8. package/dist/assets/line-icons/icons/grid-icon.js.map +1 -0
  9. package/dist/assets/line-icons/icons/pan.js +98 -0
  10. package/dist/assets/line-icons/icons/pan.js.map +1 -0
  11. package/dist/assets/line-icons/icons/square-checked-grid.js +25 -0
  12. package/dist/assets/line-icons/icons/square-checked-grid.js.map +1 -0
  13. package/dist/assets/line-icons/icons/square-dots.js +32 -0
  14. package/dist/assets/line-icons/icons/square-dots.js.map +1 -0
  15. package/dist/assets/line-icons/icons/square-grid.js +17 -0
  16. package/dist/assets/line-icons/icons/square-grid.js.map +1 -0
  17. package/dist/assets/line-icons/icons/square2-grid.js +13 -0
  18. package/dist/assets/line-icons/icons/square2-grid.js.map +1 -0
  19. package/dist/assets/line-icons/icons/text-icon.js +48 -0
  20. package/dist/assets/line-icons/icons/text-icon.js.map +1 -0
  21. package/dist/assets/line-icons/icons/tri-dots.js +27 -0
  22. package/dist/assets/line-icons/icons/tri-dots.js.map +1 -0
  23. package/dist/assets/line-icons/icons/tri-grid.js +27 -0
  24. package/dist/assets/line-icons/icons/tri-grid.js.map +1 -0
  25. package/dist/assets/line-icons/icons/tri2-dots.js +27 -0
  26. package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -0
  27. package/dist/assets/line-icons/icons/tri2-grid.js +27 -0
  28. package/dist/assets/line-icons/icons/tri2-grid.js.map +1 -0
  29. package/dist/assets/line-icons/icons/upload.js +48 -0
  30. package/dist/assets/line-icons/icons/upload.js.map +1 -0
  31. package/dist/assets/line-icons/icons/zoom-in.js +58 -0
  32. package/dist/assets/line-icons/icons/zoom-in.js.map +1 -0
  33. package/dist/assets/line-icons/icons/zoom-out.js +48 -0
  34. package/dist/assets/line-icons/icons/zoom-out.js.map +1 -0
  35. package/dist/features/cue-canvas/cue-canvas-core.js +138 -49
  36. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  37. package/dist/features/cue-canvas/cue-canvas-helpers.js +88 -29
  38. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  39. package/dist/features/cue-canvas/cue-canvas.js +57 -49
  40. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  41. package/dist/features/cue-canvas/cue-cavas-styled.js +96 -59
  42. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  43. package/dist/features/cue-canvas/toolbar/color-palette.js +49 -0
  44. package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -0
  45. package/dist/features/cue-canvas/toolbar/color-picker-menu.js +62 -0
  46. package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -0
  47. package/dist/features/cue-canvas/toolbar/grid-menu.js +62 -0
  48. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -0
  49. package/dist/features/cue-canvas/toolbar/icon-map.js +58 -0
  50. package/dist/features/cue-canvas/toolbar/icon-map.js.map +1 -0
  51. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js +56 -0
  52. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -0
  53. package/dist/features/cue-canvas/toolbar/tool.js +27 -0
  54. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -0
  55. package/dist/features/cue-canvas/toolbar/toolbar.js +18 -87
  56. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  57. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +16 -0
  58. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -0
  59. package/dist/features/trial-session/comps/session-report/session-report.js +41 -41
  60. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  61. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +7 -7
  62. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  63. package/dist/index.d.ts +13 -1
  64. package/dist/static/fonts/Athletics-Black.woff +0 -0
  65. package/dist/static/fonts/Athletics-Bold.woff +0 -0
  66. package/dist/static/fonts/Athletics-Light.woff +0 -0
  67. package/dist/static/fonts/Athletics-Medium.woff +0 -0
  68. package/dist/static/fonts/Athletics-Regular.woff +0 -0
  69. package/dist/static/fonts/untitled-sans-medium.woff +0 -0
  70. package/dist/static/fonts/untitled-sans-medium.woff2 +0 -0
  71. package/dist/static/fonts/untitled-sans-regular.woff +0 -0
  72. package/dist/static/fonts/untitled-sans-regular.woff2 +0 -0
  73. package/package.json +2 -2
  74. package/dist/features/cue-canvas/toolbar/color-pallete.js +0 -49
  75. 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 C from "../../../ui/separator/separator.js";
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 n from "./report-card.js";
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 Ie = W(() => {
21
- const { onEvent: P } = Y(), { formData: O, milestoneConfig: d } = V(), { name: p, grade: I, attemptId: u = "shg", personalizedLevel: i = [] } = O || {}, {
22
- data: A,
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 o = ((m = (r = U(d, {
29
- grade: I ?? "",
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 === (i == null ? void 0 : i[0]))) == null ? void 0 : m.label) ?? "";
33
- return J[o.toLowerCase()];
34
- }, [I, d, i]), {
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: a,
38
+ problems_attempted: n,
39
39
  new_concepts_learnt: c,
40
40
  solved_independently: s,
41
41
  default_topic_image_url: N
42
- } = A || {}, $ = B(() => {
42
+ } = I || {}, $ = B(() => {
43
43
  var r;
44
- const o = q(
44
+ const i = q(
45
45
  d,
46
- i
46
+ a
47
47
  );
48
- u && p && o.length > 0 && L(u, {
49
- student_level: ((r = o[0]) == null ? void 0 : r.preference_name) ?? "",
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, i]);
52
+ }, [u, L, d, p, a]);
53
53
  D(() => {
54
54
  $();
55
55
  }, [$]);
56
- const T = w(() => a ? a === s || !l && s ? /* @__PURE__ */ t(E, { children: [
57
- /* @__PURE__ */ e(n, { title: "Problems Attempted", value: a }),
58
- /* @__PURE__ */ e(n, { title: "Solved without help", value: s }),
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
- n,
60
+ o,
61
61
  {
62
62
  title: "Performance",
63
- value: `${Math.round(s / a * 100)}%`
63
+ value: `${Math.round(s / n * 100)}%`
64
64
  }
65
65
  )
66
- ] }) : l && c ? /* @__PURE__ */ t(E, { children: [
67
- /* @__PURE__ */ e(n, { title: "Problems Attempted", value: a }),
68
- /* @__PURE__ */ e(n, { title: "Needed help in", value: c }),
69
- /* @__PURE__ */ e(n, { title: "Improvement shown in", value: l }),
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
- n,
71
+ o,
72
72
  {
73
73
  title: "Improvement",
74
74
  value: `${Math.round(l / c * 100)}%`
75
75
  }
76
76
  )
77
- ] }) : null : null, [c, a, s, l]);
78
- return y ? /* @__PURE__ */ e(j, { height: "70vh", onTryAgain: $ }) : k || !A ? /* @__PURE__ */ e(G, { height: "100vh" }) : /* @__PURE__ */ t(Q, { children: [
79
- /* @__PURE__ */ e(C, { height: 60 }),
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
- T ? /* @__PURE__ */ t(S, { $width: 750, $borderColor: "BLACK_1", children: [
82
- /* @__PURE__ */ e(X, { $flexDirection: "row", $height: 100, $background: "YELLOW_1", children: T }),
83
- /* @__PURE__ */ e(Z, { $flexDirection: "row", $background: "WHITE_1", children: g && g.length > 0 && g.map((o) => {
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: v
89
- } = o;
90
- return m || P("TOPIC_THUMBNAIL_NOT_AVAILABLE", o), /* @__PURE__ */ t(
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: v ? 1 : 0.4,
97
+ $opacity: T ? 1 : 0.4,
98
98
  children: [
99
99
  /* @__PURE__ */ e(
100
100
  ee,
101
101
  {
102
- $active: !!v,
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(C, { height: 12 }),
111
+ /* @__PURE__ */ e(A, { height: 12 }),
112
112
  /* @__PURE__ */ e(h, { $renderAs: "ab3-black", $align: "center", children: r }),
113
- /* @__PURE__ */ e(C, { height: 2 }),
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
- Ie as default
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: W,
20
+ worksheetName: A,
21
21
  questions: o,
22
22
  responses: t,
23
23
  activeQuestionIndex: s,
24
24
  lastUnlockedQuestionIndex: h,
25
- appendedQuestionIds: q,
26
- learnosity: A,
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 ? q.includes(l) : !1, X = i(
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: W,
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: A,
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "2.8.49",
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;"}