@cuemath/leap 3.3.2 → 3.3.3-link.0

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.
@@ -1,122 +1,96 @@
1
- import { jsx as t, jsxs as N, Fragment as O } from "react/jsx-runtime";
2
- import w from "../../../../node_modules/lodash.throttle/index.js";
3
- import { useRef as g, useCallback as i, useMemo as F, useEffect as u } from "react";
4
- import { useGetChapterDetails as j } from "../../../chapters-v2/api/chapter.js";
5
- import G from "../../../chapters-v2/chapter-details/chapter-details.js";
6
- import H from "../../../milestone/milestone-list-container/milestone-list-container.js";
7
- import M from "../../../ui/buttons/button/button.js";
8
- import X from "../../../ui/layout/flex-view.js";
9
- import B from "../../../ui/loader/app-loader/app-loader.js";
10
- import U from "../../../ui/text/text.js";
11
- import { useTrialSessionContext as W } from "../../context/use-trial-session-context.js";
12
- import { Container as q, Wrapper as z, ChapterWrapper as V } from "./learning-plan-styled.js";
13
- import { useLearningPlanScrollSync as J } from "./use-learning-plan-scroll-sync.js";
14
- const ae = () => {
15
- const { trialHomeData: L, studentId: n, formData: y, isTeacher: r, updateSlideConfig: l } = W(), {
16
- demo_info: { student_classroom_id: T, stream: I }
17
- } = L || {}, { name: D = "", chapterId: c } = y || {}, o = g(null), a = g([]), h = g(!1), {
18
- publishScrollEvents: d,
19
- closeChannel: E,
20
- scrollPoints: s
21
- } = J(T), {
22
- get: P,
23
- data: m,
24
- isProcessing: R,
25
- isProcessingFailed: $,
26
- error: f
27
- } = j(), C = i(() => {
28
- c && n && P(c, void 0, {
29
- studentId: n
30
- }).then(() => {
31
- const e = o.current;
1
+ import { jsx as o, Fragment as _ } from "react/jsx-runtime";
2
+ import k from "../../../../node_modules/lodash.throttle/index.js";
3
+ import { useRef as h, useCallback as l, useMemo as D, useEffect as m } from "react";
4
+ import N from "../../../chapters-v2/chapter-details/chapter-details.js";
5
+ import O from "../../../milestone/milestone-list-container/milestone-list-container.js";
6
+ import { useTrialSessionContext as x } from "../../context/use-trial-session-context.js";
7
+ import { Container as $, Wrapper as H, ChapterWrapper as M } from "./learning-plan-styled.js";
8
+ import { useLearningPlanScrollSync as F } from "./use-learning-plan-scroll-sync.js";
9
+ const z = () => {
10
+ const { trialHomeData: P, studentId: s, formData: L, isTeacher: r, updateSlideConfig: c } = x(), {
11
+ demo_info: { student_classroom_id: S, stream: g }
12
+ } = P || {}, { name: I = "", chapterId: i } = L || {}, t = h(null), a = h([]), d = h(!1), {
13
+ publishScrollEvents: p,
14
+ closeChannel: C,
15
+ scrollPoints: n
16
+ } = F(S), T = l(() => {
17
+ if (i && s) {
18
+ const e = t.current;
32
19
  e == null || e.scrollTo({
33
20
  top: 0,
34
21
  behavior: "smooth"
35
22
  });
36
- });
37
- }, [P, n, c]), b = i(
23
+ }
24
+ }, [s, i]), R = l(
38
25
  (e) => {
39
- l({
26
+ c({
40
27
  chapterId: e.id
41
28
  });
42
29
  },
43
- [l]
44
- ), x = i(() => {
45
- l({
30
+ [c]
31
+ ), A = l(() => {
32
+ c({
46
33
  chapterId: void 0
47
34
  });
48
- }, [l]), v = i(() => {
49
- a.current.length === 0 || h.current || (h.current = !0, d && d({
35
+ }, [c]), E = l(() => {
36
+ a.current.length === 0 || d.current || (d.current = !0, p && p({
50
37
  eventName: "TRIAL_SESSION_GOAL_PLAN_SCROLL",
51
38
  eventPayload: {
52
39
  scrollPoints: a.current
53
40
  }
54
- }), a.current = [], h.current = !1);
55
- }, [d]), A = F(() => w(v, 500), [v]), S = i(() => {
56
- var p;
57
- const e = ((p = o.current) == null ? void 0 : p.scrollTop) || 0;
58
- a.current.push(e), A();
59
- }, [A]);
60
- return u(() => {
61
- C();
62
- }, [C]), u(() => {
63
- if (o.current && (m && r || r)) {
64
- const e = o.current;
65
- return e.addEventListener("scroll", S), () => {
66
- e && e.removeEventListener("scroll", S);
41
+ }), a.current = [], d.current = !1);
42
+ }, [p]), v = D(() => k(E, 500), [E]), f = l(() => {
43
+ var u;
44
+ const e = ((u = t.current) == null ? void 0 : u.scrollTop) || 0;
45
+ a.current.push(e), v();
46
+ }, [v]);
47
+ return m(() => {
48
+ T();
49
+ }, [T]), m(() => {
50
+ if (t.current && r) {
51
+ const e = t.current;
52
+ return e.addEventListener("scroll", f), () => {
53
+ e && e.removeEventListener("scroll", f);
67
54
  };
68
55
  }
69
- }, [r, m, S]), u(() => {
70
- const e = o.current;
71
- if (s && Array.isArray(s) && !r && e) {
72
- const p = Math.floor(
73
- s.reduce((k, _) => k + _, 0) / s.length
56
+ }, [r, f]), m(() => {
57
+ const e = t.current;
58
+ if (n && Array.isArray(n) && !r && e) {
59
+ const u = Math.floor(
60
+ n.reduce((b, y) => b + y, 0) / n.length
74
61
  );
75
62
  e.scrollTo({
76
- top: p,
63
+ top: u,
77
64
  behavior: "smooth"
78
65
  });
79
66
  }
80
- }, [s, r]), u(() => () => {
81
- E();
82
- }, [E]), R ? /* @__PURE__ */ t(B, { height: "100%" }) : $ ? /* @__PURE__ */ N(X, { $height: "100%", $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
83
- /* @__PURE__ */ t(U, { $renderAs: "h6", children: (f == null ? void 0 : f.message) || "Oops! Something went wrong." }),
84
- /* @__PURE__ */ t(
85
- M,
86
- {
87
- widthX: 14,
88
- size: "small",
89
- shape: "square",
90
- renderAs: "primary",
91
- label: "Try again",
92
- onClick: C
93
- }
94
- )
95
- ] }) : /* @__PURE__ */ t(q, { ref: o, $isScrollable: r, children: /* @__PURE__ */ t(
96
- z,
67
+ }, [n, r]), m(() => () => {
68
+ C();
69
+ }, [C]), /* @__PURE__ */ o($, { ref: t, $isScrollable: r, children: /* @__PURE__ */ o(
70
+ H,
97
71
  {
98
72
  $clickable: r,
99
73
  $gutterX: 2,
100
74
  $isScrollable: r,
101
75
  id: "milestone-list-element-container",
102
- children: c && m ? /* @__PURE__ */ t(O, { children: /* @__PURE__ */ t(V, { children: /* @__PURE__ */ t(
103
- G,
76
+ children: i ? /* @__PURE__ */ o(_, { children: /* @__PURE__ */ o(M, { children: /* @__PURE__ */ o(
77
+ N,
104
78
  {
105
- userChapterId: m.id,
106
- studentId: n,
79
+ userChapterId: i,
80
+ studentId: s,
107
81
  userType: r ? "TEACHER" : "STUDENT",
108
- onExit: x
82
+ onExit: A
109
83
  }
110
- ) }) }) : /* @__PURE__ */ t(
111
- H,
84
+ ) }) }) : /* @__PURE__ */ o(
85
+ O,
112
86
  {
113
87
  userType: r ? "TEACHER" : "STUDENT",
114
- studentName: D,
115
- studentId: n,
116
- studentClassroomId: T,
88
+ studentName: I,
89
+ studentId: s,
90
+ studentClassroomId: S,
117
91
  milestoneType: "DRAFT",
118
- onChapterClick: b,
119
- courseStream: I,
92
+ onChapterClick: R,
93
+ courseStream: g,
120
94
  isTrialSession: !0
121
95
  }
122
96
  )
@@ -124,6 +98,6 @@ const ae = () => {
124
98
  ) });
125
99
  };
126
100
  export {
127
- ae as default
101
+ z as default
128
102
  };
129
103
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\n\nimport throttle from 'lodash.throttle';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { useGetChapterDetails } from '../../../chapters-v2/api/chapter';\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport MilestoneList from '../../../milestone/milestone-list-container/milestone-list-container';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport * as Styled from './learning-plan-styled';\nimport { useLearningPlanScrollSync } from './use-learning-plan-scroll-sync';\n\nconst LearningPlan: React.FC = () => {\n const { trialHomeData, studentId, formData, isTeacher, updateSlideConfig } =\n useTrialSessionContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream },\n } = trialHomeData || {};\n const { name = '', chapterId } = formData || {};\n\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollPointsRef = useRef<number[]>([]);\n const isSendingScrollPointsRef = useRef(false);\n\n const {\n publishScrollEvents,\n closeChannel,\n scrollPoints: receivedScrollPoints,\n } = useLearningPlanScrollSync(studentClassroomId);\n\n const {\n get: getChapterData,\n data: chapterData,\n isProcessing,\n isProcessingFailed,\n error,\n } = useGetChapterDetails();\n\n const fetchChapter = useCallback(() => {\n if (chapterId && studentId) {\n getChapterData(chapterId, undefined, {\n studentId,\n }).then(() => {\n const scrollElement = containerRef.current;\n\n scrollElement?.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n });\n }\n }, [getChapterData, studentId, chapterId]);\n\n const handleOnChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n updateSlideConfig({\n chapterId: chapter.id,\n });\n },\n [updateSlideConfig],\n );\n\n const handleOnBackIconClick = useCallback(() => {\n updateSlideConfig({\n chapterId: undefined,\n });\n }, [updateSlideConfig]);\n\n const sendScrollPoints = useCallback(() => {\n if (scrollPointsRef.current.length === 0 || isSendingScrollPointsRef.current) return;\n\n isSendingScrollPointsRef.current = true;\n\n if (publishScrollEvents) {\n publishScrollEvents({\n eventName: 'TRIAL_SESSION_GOAL_PLAN_SCROLL',\n eventPayload: {\n scrollPoints: scrollPointsRef.current,\n },\n });\n }\n\n scrollPointsRef.current = [];\n isSendingScrollPointsRef.current = false;\n }, [publishScrollEvents]);\n\n const throttleSend = useMemo(() => throttle(sendScrollPoints, 500), [sendScrollPoints]);\n\n const handleScroll = useCallback(() => {\n const scrollPoint = containerRef.current?.scrollTop || 0;\n\n scrollPointsRef.current.push(scrollPoint);\n\n throttleSend();\n }, [throttleSend]);\n\n useEffect(() => {\n fetchChapter();\n }, [fetchChapter]);\n\n useEffect(() => {\n if (containerRef.current) {\n if ((chapterData && isTeacher) || isTeacher) {\n const scrollElement = containerRef.current;\n\n scrollElement.addEventListener('scroll', handleScroll);\n\n return () => {\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', handleScroll);\n }\n };\n }\n }\n }, [isTeacher, chapterData, handleScroll]);\n\n useEffect(() => {\n const scrollElement = containerRef.current;\n\n if (\n receivedScrollPoints &&\n Array.isArray(receivedScrollPoints) &&\n !isTeacher &&\n scrollElement\n ) {\n const averageScroll = Math.floor(\n receivedScrollPoints.reduce((a, b) => a + b, 0) / receivedScrollPoints.length,\n );\n\n scrollElement.scrollTo({\n top: averageScroll,\n behavior: 'smooth',\n });\n }\n }, [receivedScrollPoints, isTeacher]);\n\n useEffect(() => {\n return () => {\n closeChannel();\n };\n }, [closeChannel]);\n\n if (isProcessing) {\n return <AppLoader height=\"100%\" />;\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $height=\"100%\" $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">{error?.message || 'Oops! Something went wrong.'}</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={fetchChapter}\n />\n </FlexView>\n );\n }\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $gutterX={2}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n >\n {chapterId && chapterData ? (\n <>\n <Styled.ChapterWrapper>\n <ChapterDetails\n userChapterId={chapterData.id}\n studentId={studentId}\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n onExit={handleOnBackIconClick}\n />\n </Styled.ChapterWrapper>\n </>\n ) : (\n <MilestoneList\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType=\"DRAFT\"\n onChapterClick={handleOnChapterClick}\n courseStream={stream}\n isTrialSession\n />\n )}\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","studentClassroomId","stream","name","chapterId","containerRef","useRef","scrollPointsRef","isSendingScrollPointsRef","publishScrollEvents","closeChannel","receivedScrollPoints","useLearningPlanScrollSync","getChapterData","chapterData","isProcessing","isProcessingFailed","error","useGetChapterDetails","fetchChapter","useCallback","scrollElement","handleOnChapterClick","chapter","handleOnBackIconClick","sendScrollPoints","throttleSend","useMemo","throttle","handleScroll","scrollPoint","_a","useEffect","averageScroll","a","b","jsx","AppLoader","jsxs","FlexView","Text","Button","Styled.Container","Styled.Wrapper","Fragment","Styled.ChapterWrapper","ChapterDetails","MilestoneList"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\n\nimport throttle from 'lodash.throttle';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\n\n// import { useGetChapterDetails } from '../../../chapters-v2/api/chapter';\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport MilestoneList from '../../../milestone/milestone-list-container/milestone-list-container';\n// import Button from '../../../ui/buttons/button/button';\n// import FlexView from '../../../ui/layout/flex-view';\n// import AppLoader from '../../../ui/loader/app-loader/app-loader';\n// import Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport * as Styled from './learning-plan-styled';\nimport { useLearningPlanScrollSync } from './use-learning-plan-scroll-sync';\n\nconst LearningPlan: React.FC = () => {\n const { trialHomeData, studentId, formData, isTeacher, updateSlideConfig } =\n useTrialSessionContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream },\n } = trialHomeData || {};\n const { name = '', chapterId } = formData || {};\n\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollPointsRef = useRef<number[]>([]);\n const isSendingScrollPointsRef = useRef(false);\n\n const {\n publishScrollEvents,\n closeChannel,\n scrollPoints: receivedScrollPoints,\n } = useLearningPlanScrollSync(studentClassroomId);\n\n // const {\n // get: getChapterData,\n // data: chapterData,\n // isProcessing,\n // isProcessingFailed,\n // error,\n // } = useGetChapterDetails();\n\n const fetchChapter = useCallback(() => {\n if (chapterId && studentId) {\n // getChapterData(chapterId, undefined, {\n // studentId,\n // }).then(() => {\n // });\n const scrollElement = containerRef.current;\n\n scrollElement?.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n }, [studentId, chapterId]);\n\n const handleOnChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n updateSlideConfig({\n chapterId: chapter.id,\n });\n },\n [updateSlideConfig],\n );\n\n const handleOnBackIconClick = useCallback(() => {\n updateSlideConfig({\n chapterId: undefined,\n });\n }, [updateSlideConfig]);\n\n const sendScrollPoints = useCallback(() => {\n if (scrollPointsRef.current.length === 0 || isSendingScrollPointsRef.current) return;\n\n isSendingScrollPointsRef.current = true;\n\n if (publishScrollEvents) {\n publishScrollEvents({\n eventName: 'TRIAL_SESSION_GOAL_PLAN_SCROLL',\n eventPayload: {\n scrollPoints: scrollPointsRef.current,\n },\n });\n }\n\n scrollPointsRef.current = [];\n isSendingScrollPointsRef.current = false;\n }, [publishScrollEvents]);\n\n const throttleSend = useMemo(() => throttle(sendScrollPoints, 500), [sendScrollPoints]);\n\n const handleScroll = useCallback(() => {\n const scrollPoint = containerRef.current?.scrollTop || 0;\n\n scrollPointsRef.current.push(scrollPoint);\n\n throttleSend();\n }, [throttleSend]);\n\n useEffect(() => {\n fetchChapter();\n }, [fetchChapter]);\n\n useEffect(() => {\n if (containerRef.current) {\n if (isTeacher) {\n const scrollElement = containerRef.current;\n\n scrollElement.addEventListener('scroll', handleScroll);\n\n return () => {\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', handleScroll);\n }\n };\n }\n }\n }, [isTeacher, handleScroll]);\n\n useEffect(() => {\n const scrollElement = containerRef.current;\n\n if (\n receivedScrollPoints &&\n Array.isArray(receivedScrollPoints) &&\n !isTeacher &&\n scrollElement\n ) {\n const averageScroll = Math.floor(\n receivedScrollPoints.reduce((a, b) => a + b, 0) / receivedScrollPoints.length,\n );\n\n scrollElement.scrollTo({\n top: averageScroll,\n behavior: 'smooth',\n });\n }\n }, [receivedScrollPoints, isTeacher]);\n\n useEffect(() => {\n return () => {\n closeChannel();\n };\n }, [closeChannel]);\n\n // if (isProcessing) {\n // return <AppLoader height=\"100%\" />;\n // }\n\n // if (isProcessingFailed) {\n // return (\n // <FlexView $height=\"100%\" $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n // <Text $renderAs=\"h6\">{error?.message || 'Oops! Something went wrong.'}</Text>\n // <Button\n // widthX={14}\n // size=\"small\"\n // shape=\"square\"\n // renderAs=\"primary\"\n // label=\"Try again\"\n // onClick={fetchChapter}\n // />\n // </FlexView>\n // );\n // }\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $gutterX={2}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n >\n {chapterId ? (\n <>\n <Styled.ChapterWrapper>\n <ChapterDetails\n userChapterId={chapterId}\n studentId={studentId}\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n onExit={handleOnBackIconClick}\n />\n </Styled.ChapterWrapper>\n </>\n ) : (\n <MilestoneList\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType=\"DRAFT\"\n onChapterClick={handleOnChapterClick}\n courseStream={stream}\n isTrialSession\n />\n )}\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","studentClassroomId","stream","name","chapterId","containerRef","useRef","scrollPointsRef","isSendingScrollPointsRef","publishScrollEvents","closeChannel","receivedScrollPoints","useLearningPlanScrollSync","fetchChapter","useCallback","scrollElement","handleOnChapterClick","chapter","handleOnBackIconClick","sendScrollPoints","throttleSend","useMemo","throttle","handleScroll","scrollPoint","_a","useEffect","averageScroll","a","b","Styled.Container","jsx","Styled.Wrapper","Fragment","Styled.ChapterWrapper","ChapterDetails","MilestoneList"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.3.2",
3
+ "version": "3.3.3-link.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"