@cuemath/leap 4.0.7-beta.0 → 4.0.7-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.
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +25 -30
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js +41 -33
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +76 -68
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +32 -29
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +64 -61
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark.js +68 -58
- package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
- package/dist/features/journey/journey-id/journey-id-teacher.js +1 -1
- package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js +89 -75
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +98 -94
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +44 -43
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +36 -34
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +80 -77
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +57 -53
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +92 -88
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +98 -117
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +194 -177
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/hooks/use-chapter-details-journey.js +115 -0
- package/dist/features/trial-session/hooks/use-chapter-details-journey.js.map +1 -0
- package/dist/features/trial-session/hooks/use-learning-plan-journey-orchestration.js +77 -0
- package/dist/features/trial-session/hooks/use-learning-plan-journey-orchestration.js.map +1 -0
- package/dist/features/trial-session/hooks/use-learning-plan-journey.js +106 -0
- package/dist/features/trial-session/hooks/use-learning-plan-journey.js.map +1 -0
- package/dist/features/trial-session/hooks/use-worksheet-preview-journey.js +74 -0
- package/dist/features/trial-session/hooks/use-worksheet-preview-journey.js.map +1 -0
- package/dist/features/trial-session/right-panel/index.js +25 -24
- package/dist/features/trial-session/right-panel/index.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +32 -23
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +43 -42
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/index.d.ts +15 -4
- package/package.json +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js +0 -17
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js.map +0 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js +0 -62
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js.map +0 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js +0 -23
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js.map +0 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js +0 -33
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js.map +0 -1
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { memo as x,
|
|
1
|
+
import { jsx as t, jsxs as w } from "react/jsx-runtime";
|
|
2
|
+
import { memo as x, forwardRef as W, useState as y, useRef as A, useCallback as H, useLayoutEffect as k } from "react";
|
|
3
3
|
import p from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { ChapterItemWrapper as
|
|
8
|
-
const
|
|
9
|
-
milestoneId: o,
|
|
10
|
-
chapter: i,
|
|
11
|
-
onChapterClick: n,
|
|
12
|
-
itemIndex: a,
|
|
13
|
-
shouldShowItemIndex: h
|
|
14
|
-
}) {
|
|
4
|
+
import X from "../../../ui/layout/flex-view.js";
|
|
5
|
+
import j from "../../../ui/text/text.js";
|
|
6
|
+
import S from "./chapter-circular-progress/chapter-circular-progress.js";
|
|
7
|
+
import { ChapterItemWrapper as E, ChapterName as L, ChapterItemNumberWrapper as N } from "./chapter-item-styled.js";
|
|
8
|
+
const P = ({ milestoneId: o, chapter: i, onChapterClick: n, itemIndex: a, shouldShowItemIndex: h }, d) => {
|
|
15
9
|
const {
|
|
16
10
|
name: l,
|
|
17
|
-
image_url:
|
|
11
|
+
image_url: g,
|
|
18
12
|
progress_stat: u,
|
|
19
13
|
image_hue: c
|
|
20
|
-
} = i, { mandatory:
|
|
14
|
+
} = i, { mandatory: f, optional: $ } = u || {}, { completed: s = 0, total: m = 0 } = f || {}, { total: C = 0 } = $ || {}, [T, b] = y(!1), e = A(null), I = s > 0 ? Math.floor((s / m || 1) * 100) : 0, r = m + C, _ = H(() => {
|
|
21
15
|
if (r === 0)
|
|
22
16
|
return null;
|
|
23
17
|
n(i, o);
|
|
24
18
|
}, [i, o, n, r]);
|
|
25
|
-
return
|
|
26
|
-
e.current && e.current.scrollHeight > e.current.clientHeight &&
|
|
19
|
+
return k(() => {
|
|
20
|
+
e.current && e.current.scrollHeight > e.current.clientHeight && b(!0);
|
|
27
21
|
}, [e]), /* @__PURE__ */ t(
|
|
28
22
|
p,
|
|
29
23
|
{
|
|
@@ -33,41 +27,42 @@ const F = x(function({
|
|
|
33
27
|
hidden: r > 0,
|
|
34
28
|
parentWidth: "100%",
|
|
35
29
|
zIndex: 5,
|
|
36
|
-
children: /* @__PURE__ */
|
|
37
|
-
|
|
30
|
+
children: /* @__PURE__ */ w(
|
|
31
|
+
E,
|
|
38
32
|
{
|
|
33
|
+
ref: d,
|
|
39
34
|
id: `milestone-chapter-${o || ""}-${a}`,
|
|
40
35
|
$alignItems: "center",
|
|
41
36
|
$gapX: 1,
|
|
42
37
|
$gutterX: 1,
|
|
43
38
|
$flexGap: 8,
|
|
44
39
|
$background: "WHITE_1",
|
|
45
|
-
onClick:
|
|
40
|
+
onClick: _,
|
|
46
41
|
className: "goal-widget-chapter-item",
|
|
47
42
|
$bgColor: `${c}_1`,
|
|
48
43
|
shouldHideClick: r === 0,
|
|
49
44
|
children: [
|
|
50
45
|
/* @__PURE__ */ t(
|
|
51
|
-
|
|
46
|
+
S,
|
|
52
47
|
{
|
|
53
|
-
completionPercentage:
|
|
54
|
-
imageUrl:
|
|
48
|
+
completionPercentage: I,
|
|
49
|
+
imageUrl: g,
|
|
55
50
|
imageHue: c,
|
|
56
51
|
imageWidth: 96,
|
|
57
52
|
iconWidth: 20
|
|
58
53
|
}
|
|
59
54
|
),
|
|
60
|
-
/* @__PURE__ */ t(
|
|
55
|
+
/* @__PURE__ */ t(X, { $justifyContent: "center", $alignItems: "center", children: /* @__PURE__ */ t(
|
|
61
56
|
p,
|
|
62
57
|
{
|
|
63
58
|
renderAs: "primary",
|
|
64
59
|
position: "bottom",
|
|
65
60
|
tooltipItem: l,
|
|
66
|
-
hidden: !
|
|
61
|
+
hidden: !T,
|
|
67
62
|
widthX: 21.75,
|
|
68
63
|
zIndex: 5,
|
|
69
64
|
children: /* @__PURE__ */ t(
|
|
70
|
-
|
|
65
|
+
L,
|
|
71
66
|
{
|
|
72
67
|
ref: e,
|
|
73
68
|
$renderAs: "ab2",
|
|
@@ -79,14 +74,14 @@ const F = x(function({
|
|
|
79
74
|
}
|
|
80
75
|
) }),
|
|
81
76
|
!!h && /* @__PURE__ */ t(
|
|
82
|
-
|
|
77
|
+
N,
|
|
83
78
|
{
|
|
84
79
|
$background: "WHITE_4",
|
|
85
80
|
$widthX: 1.75,
|
|
86
81
|
$heightX: 1.75,
|
|
87
82
|
$alignItems: "center",
|
|
88
83
|
$justifyContent: "center",
|
|
89
|
-
children: /* @__PURE__ */ t(
|
|
84
|
+
children: /* @__PURE__ */ t(j, { $renderAs: "ab2", $color: "BLACK_1", $align: "center", children: a + 1 })
|
|
90
85
|
}
|
|
91
86
|
)
|
|
92
87
|
]
|
|
@@ -94,8 +89,8 @@ const F = x(function({
|
|
|
94
89
|
)
|
|
95
90
|
}
|
|
96
91
|
);
|
|
97
|
-
});
|
|
92
|
+
}, O = x(W(P));
|
|
98
93
|
export {
|
|
99
|
-
|
|
94
|
+
O as default
|
|
100
95
|
};
|
|
101
96
|
//# sourceMappingURL=chapter-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chapter-item.js","sources":["../../../../../src/features/chapters/chapters-list/chapter-item/chapter-item.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"chapter-item.js","sources":["../../../../../src/features/chapters/chapters-list/chapter-item/chapter-item.tsx"],"sourcesContent":["import {\n forwardRef,\n memo,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n type ForwardRefRenderFunction,\n} from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport ChapterCircularProgress from './chapter-circular-progress/chapter-circular-progress';\nimport * as Styled from './chapter-item-styled';\nimport type { IChapterItemProps } from './chapter-item-types';\n\nconst ChapterItemComp: ForwardRefRenderFunction<HTMLDivElement, IChapterItemProps> = (\n { milestoneId, chapter, onChapterClick, itemIndex, shouldShowItemIndex },\n ref,\n) => {\n const {\n name,\n image_url: imageUrl,\n progress_stat: chapterProgressStat,\n image_hue: imageHue,\n } = chapter;\n const { mandatory, optional } = chapterProgressStat || {};\n const { completed = 0, total: totalMandatory = 0 } = mandatory || {};\n const { total: optionalTotal = 0 } = optional || {};\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const completionPercentage =\n completed > 0 ? Math.floor((completed / totalMandatory || 1) * 100) : 0;\n const totalSheets = totalMandatory + optionalTotal;\n const handleOnChapterClick = useCallback(() => {\n if (totalSheets === 0) {\n return null;\n }\n\n onChapterClick(chapter, milestoneId);\n }, [chapter, milestoneId, onChapterClick, totalSheets]);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Coming soon! We’re building this chapter\"\n hidden={totalSheets > 0}\n parentWidth=\"100%\"\n zIndex={5}\n >\n <Styled.ChapterItemWrapper\n ref={ref}\n id={`milestone-chapter-${milestoneId || ''}-${itemIndex}`}\n $alignItems=\"center\"\n $gapX={1}\n $gutterX={1}\n $flexGap={8}\n $background=\"WHITE_1\"\n onClick={handleOnChapterClick}\n className=\"goal-widget-chapter-item\"\n $bgColor={`${imageHue}_1`}\n shouldHideClick={totalSheets === 0}\n >\n <ChapterCircularProgress\n completionPercentage={completionPercentage}\n imageUrl={imageUrl}\n imageHue={imageHue}\n imageWidth={96}\n iconWidth={20}\n />\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={name}\n hidden={!showTitleTooltip}\n widthX={21.75}\n zIndex={5}\n >\n <Styled.ChapterName\n ref={titleTextRef}\n $renderAs=\"ab2\"\n $color=\"BLACK_T_87\"\n $align=\"center\"\n >\n {name}\n </Styled.ChapterName>\n </ArrowTooltip>\n </FlexView>\n {!!shouldShowItemIndex && (\n <Styled.ChapterItemNumberWrapper\n $background=\"WHITE_4\"\n $widthX={1.75}\n $heightX={1.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\" $align=\"center\">\n {itemIndex + 1}\n </Text>\n </Styled.ChapterItemNumberWrapper>\n )}\n </Styled.ChapterItemWrapper>\n </ArrowTooltip>\n );\n};\n\nconst ChapterItem = memo(forwardRef(ChapterItemComp));\n\nexport default ChapterItem;\n"],"names":["ChapterItemComp","milestoneId","chapter","onChapterClick","itemIndex","shouldShowItemIndex","ref","name","imageUrl","chapterProgressStat","imageHue","mandatory","optional","completed","totalMandatory","optionalTotal","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","completionPercentage","totalSheets","handleOnChapterClick","useCallback","useLayoutEffect","jsx","ArrowTooltip","jsxs","Styled.ChapterItemWrapper","ChapterCircularProgress","FlexView","Styled.ChapterName","Styled.ChapterItemNumberWrapper","Text","ChapterItem","memo","forwardRef"],"mappings":";;;;;;;AAiBA,MAAMA,IAA+E,CACnF,EAAE,aAAAC,GAAa,SAAAC,GAAS,gBAAAC,GAAgB,WAAAC,GAAW,qBAAAC,EAAoB,GACvEC,MACG;AACG,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,WAAWC;AAAA,IACX,eAAeC;AAAA,IACf,WAAWC;AAAA,EACT,IAAAR,GACE,EAAE,WAAAS,GAAW,UAAAC,MAAaH,KAAuB,CAAA,GACjD,EAAE,WAAAI,IAAY,GAAG,OAAOC,IAAiB,EAAE,IAAIH,KAAa,IAC5D,EAAE,OAAOI,IAAgB,EAAE,IAAIH,KAAY,CAAA,GAC3C,CAACI,GAAkBC,CAAmB,IAAIC,EAAS,EAAK,GACxDC,IAAeC,EAAuB,IAAI,GAC1CC,IACJR,IAAY,IAAI,KAAK,OAAOA,IAAYC,KAAkB,KAAK,GAAG,IAAI,GAClEQ,IAAcR,IAAiBC,GAC/BQ,IAAuBC,EAAY,MAAM;AAC7C,QAAIF,MAAgB;AACX,aAAA;AAGT,IAAAnB,EAAeD,GAASD,CAAW;AAAA,KAClC,CAACC,GAASD,GAAaE,GAAgBmB,CAAW,CAAC;AAEtD,SAAAG,EAAgB,MAAM;AACpB,IACEN,EAAa,WACbA,EAAa,QAAQ,eAAeA,EAAa,QAAQ,gBAEzDF,EAAoB,EAAI;AAAA,EAC1B,GACC,CAACE,CAAY,CAAC,GAGf,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,UAAS;AAAA,MACT,aAAY;AAAA,MACZ,QAAQL,IAAc;AAAA,MACtB,aAAY;AAAA,MACZ,QAAQ;AAAA,MAER,UAAA,gBAAAM;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,KAAAvB;AAAA,UACA,IAAI,qBAAqBL,KAAe,EAAE,IAAIG,CAAS;AAAA,UACvD,aAAY;AAAA,UACZ,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,SAASmB;AAAA,UACT,WAAU;AAAA,UACV,UAAU,GAAGb,CAAQ;AAAA,UACrB,iBAAiBY,MAAgB;AAAA,UAEjC,UAAA;AAAA,YAAA,gBAAAI;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,sBAAAT;AAAA,gBACA,UAAAb;AAAA,gBACA,UAAAE;AAAA,gBACA,YAAY;AAAA,gBACZ,WAAW;AAAA,cAAA;AAAA,YACb;AAAA,YACC,gBAAAgB,EAAAK,GAAA,EAAS,iBAAgB,UAAS,aAAY,UAC7C,UAAA,gBAAAL;AAAA,cAACC;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,UAAS;AAAA,gBACT,aAAapB;AAAA,gBACb,QAAQ,CAACS;AAAA,gBACT,QAAQ;AAAA,gBACR,QAAQ;AAAA,gBAER,UAAA,gBAAAU;AAAA,kBAACM;AAAAA,kBAAA;AAAA,oBACC,KAAKb;AAAA,oBACL,WAAU;AAAA,oBACV,QAAO;AAAA,oBACP,QAAO;AAAA,oBAEN,UAAAZ;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA;AAAA,YAAA,GAEJ;AAAA,YACC,CAAC,CAACF,KACD,gBAAAqB;AAAA,cAACO;AAAAA,cAAA;AAAA,gBACC,aAAY;AAAA,gBACZ,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,aAAY;AAAA,gBACZ,iBAAgB;AAAA,gBAEhB,UAAA,gBAAAP,EAACQ,KAAK,WAAU,OAAM,QAAO,WAAU,QAAO,UAC3C,UAAA9B,IAAY,EACf,CAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EAAA;AAGN,GAEM+B,IAAcC,EAAKC,EAAWrC,CAAe,CAAC;"}
|
|
@@ -1,68 +1,76 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { IMAGES as
|
|
1
|
+
import { jsxs as m, jsx as t, Fragment as T } from "react/jsx-runtime";
|
|
2
|
+
import { memo as b, useCallback as g } from "react";
|
|
3
|
+
import { IMAGES as k } from "../../../assets/images/images.js";
|
|
4
4
|
import x from "../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
5
|
-
import
|
|
6
|
-
import { useUIContext as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { ChaptersListContainer as
|
|
11
|
-
const
|
|
5
|
+
import $ from "../../ui/buttons/button/button.js";
|
|
6
|
+
import { useUIContext as y } from "../../ui/context/context.js";
|
|
7
|
+
import l from "../../ui/separator/separator.js";
|
|
8
|
+
import E from "../../ui/text/text.js";
|
|
9
|
+
import I from "./chapter-item/chapter-item.js";
|
|
10
|
+
import { ChaptersListContainer as c, ChaptersWrapper as L } from "./chapters-list-styled.js";
|
|
11
|
+
const S = b(function({
|
|
12
12
|
milestoneId: r,
|
|
13
|
-
canUpdatePlan:
|
|
13
|
+
canUpdatePlan: h,
|
|
14
14
|
chapters: o,
|
|
15
15
|
...d
|
|
16
16
|
}) {
|
|
17
|
-
const {
|
|
18
|
-
|
|
17
|
+
const {
|
|
18
|
+
isGoalCreation: i,
|
|
19
|
+
userType: C,
|
|
20
|
+
onChapterClick: f,
|
|
21
|
+
onAddChapter: e,
|
|
22
|
+
isMilestoneActive: a,
|
|
23
|
+
firstChapterRef: u
|
|
24
|
+
} = d, { onClick: n } = y(), _ = g(() => {
|
|
25
|
+
n({
|
|
19
26
|
label: "add_chapter_icon",
|
|
20
27
|
props: {
|
|
21
28
|
milestone_id: r
|
|
22
29
|
}
|
|
23
30
|
}), e == null || e({ milestoneId: r, isGoalCreation: i });
|
|
24
|
-
}, [r, i, e,
|
|
25
|
-
return o.length ? /* @__PURE__ */ t(
|
|
26
|
-
const { id:
|
|
31
|
+
}, [r, i, e, n]);
|
|
32
|
+
return o.length ? /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(L, { children: o.map((s, p) => {
|
|
33
|
+
const { id: A } = s;
|
|
27
34
|
return /* @__PURE__ */ t(
|
|
28
|
-
|
|
35
|
+
I,
|
|
29
36
|
{
|
|
37
|
+
ref: p === 0 ? u : void 0,
|
|
30
38
|
milestoneId: r,
|
|
31
39
|
chapter: s,
|
|
32
|
-
onChapterClick:
|
|
33
|
-
itemIndex:
|
|
40
|
+
onChapterClick: f,
|
|
41
|
+
itemIndex: p,
|
|
34
42
|
shouldShowItemIndex: !0
|
|
35
43
|
},
|
|
36
|
-
|
|
44
|
+
A
|
|
37
45
|
);
|
|
38
|
-
}) }) }) : /* @__PURE__ */
|
|
39
|
-
|
|
46
|
+
}) }) }) : /* @__PURE__ */ m(
|
|
47
|
+
c,
|
|
40
48
|
{
|
|
41
49
|
$gapX: 6.75,
|
|
42
50
|
$alignItems: "center",
|
|
43
51
|
$justifyContent: "center",
|
|
44
52
|
$background: "WHITE",
|
|
45
53
|
children: [
|
|
46
|
-
/* @__PURE__ */ t("img", { src:
|
|
47
|
-
/* @__PURE__ */ t(
|
|
48
|
-
|
|
54
|
+
/* @__PURE__ */ t("img", { src: k.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
|
|
55
|
+
/* @__PURE__ */ t(l, { heightX: 2 }),
|
|
56
|
+
C === "TEACHER" ? /* @__PURE__ */ m(T, { children: [
|
|
49
57
|
/* @__PURE__ */ t(
|
|
50
58
|
x,
|
|
51
59
|
{
|
|
52
60
|
renderAs: "primary",
|
|
53
61
|
position: "bottom",
|
|
54
|
-
hidden:
|
|
62
|
+
hidden: a,
|
|
55
63
|
tooltipItem: "Plan is completed",
|
|
56
64
|
children: /* @__PURE__ */ t(
|
|
57
|
-
|
|
65
|
+
$,
|
|
58
66
|
{
|
|
59
67
|
widthX: 10,
|
|
60
68
|
renderAs: "primary",
|
|
61
69
|
shape: "square",
|
|
62
70
|
size: "small",
|
|
63
71
|
label: "Add chapter",
|
|
64
|
-
onClick:
|
|
65
|
-
disabled: !
|
|
72
|
+
onClick: _,
|
|
73
|
+
disabled: !a || !h,
|
|
66
74
|
analyticsProps: {
|
|
67
75
|
milestone_id: r
|
|
68
76
|
}
|
|
@@ -70,13 +78,13 @@ const L = T(function({
|
|
|
70
78
|
)
|
|
71
79
|
}
|
|
72
80
|
),
|
|
73
|
-
/* @__PURE__ */ t(
|
|
74
|
-
] }) : /* @__PURE__ */ t(
|
|
81
|
+
/* @__PURE__ */ t(l, { heightX: 2 })
|
|
82
|
+
] }) : /* @__PURE__ */ t(E, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to add a chapter" })
|
|
75
83
|
]
|
|
76
84
|
}
|
|
77
85
|
);
|
|
78
|
-
}),
|
|
86
|
+
}), R = S;
|
|
79
87
|
export {
|
|
80
|
-
|
|
88
|
+
R as default
|
|
81
89
|
};
|
|
82
90
|
//# sourceMappingURL=chapters-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../ui/buttons/button/button';\nimport { useUIContext } from '../../ui/context/context';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\nimport type { IChaptersListProps } from './chapters-list-types';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(function ChaptersList({\n milestoneId,\n canUpdatePlan,\n chapters,\n ...restChaptersList\n}) {\n const {
|
|
1
|
+
{"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../ui/buttons/button/button';\nimport { useUIContext } from '../../ui/context/context';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\nimport type { IChaptersListProps } from './chapters-list-types';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(function ChaptersList({\n milestoneId,\n canUpdatePlan,\n chapters,\n ...restChaptersList\n}) {\n const {\n isGoalCreation,\n userType,\n onChapterClick,\n onAddChapter,\n isMilestoneActive,\n firstChapterRef,\n } = restChaptersList;\n\n const { onClick: trackOnClick } = useUIContext();\n\n const handleOnAddChapter = useCallback(() => {\n trackOnClick({\n label: 'add_chapter_icon',\n props: {\n milestone_id: milestoneId,\n },\n });\n onAddChapter?.({ milestoneId, isGoalCreation });\n }, [milestoneId, isGoalCreation, onAddChapter, trackOnClick]);\n\n if (!chapters.length) {\n return (\n <Styled.ChaptersListContainer\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={isMilestoneActive}\n tooltipItem=\"Plan is completed\"\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Add chapter\"\n onClick={handleOnAddChapter}\n disabled={!isMilestoneActive || !canUpdatePlan}\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to add a chapter\n </Text>\n )}\n </Styled.ChaptersListContainer>\n );\n }\n\n return (\n <Styled.ChaptersListContainer>\n <Styled.ChaptersWrapper>\n {chapters.map((chapter, idx) => {\n const { id } = chapter;\n\n return (\n <ChapterItem\n key={id}\n ref={idx === 0 ? firstChapterRef : undefined}\n milestoneId={milestoneId}\n chapter={chapter}\n onChapterClick={onChapterClick}\n itemIndex={idx}\n shouldShowItemIndex\n />\n );\n })}\n </Styled.ChaptersWrapper>\n </Styled.ChaptersListContainer>\n );\n});\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","milestoneId","canUpdatePlan","chapters","restChaptersList","isGoalCreation","userType","onChapterClick","onAddChapter","isMilestoneActive","firstChapterRef","trackOnClick","useUIContext","handleOnAddChapter","useCallback","jsx","Styled.ChaptersListContainer","Styled.ChaptersWrapper","chapter","idx","id","ChapterItem","jsxs","IMAGES","Separator","Fragment","ArrowTooltip","Button","Text","ChaptersList$1"],"mappings":";;;;;;;;;;AAYA,MAAMA,IAAuCC,EAAK,SAAsB;AAAA,EACtE,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAG;AACK,QAAA;AAAA,IACJ,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,EACE,IAAAN,GAEE,EAAE,SAASO,EAAa,IAAIC,EAAa,GAEzCC,IAAqBC,EAAY,MAAM;AAC9B,IAAAH,EAAA;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,QACL,cAAcV;AAAA,MAChB;AAAA,IAAA,CACD,GACcO,KAAA,QAAAA,EAAA,EAAE,aAAAP,GAAa,gBAAAI,EAAA;AAAA,KAC7B,CAACJ,GAAaI,GAAgBG,GAAcG,CAAY,CAAC;AAExD,SAACR,EAAS,SA2CX,gBAAAY,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAE,GAAA,EACE,UAASd,EAAA,IAAI,CAACe,GAASC,MAAQ;AACxB,UAAA,EAAE,IAAAC,EAAO,IAAAF;AAGb,WAAA,gBAAAH;AAAA,MAACM;AAAA,MAAA;AAAA,QAEC,KAAKF,MAAQ,IAAIT,IAAkB;AAAA,QACnC,aAAAT;AAAA,QACA,SAAAiB;AAAA,QACA,gBAAAX;AAAA,QACA,WAAWY;AAAA,QACX,qBAAmB;AAAA,MAAA;AAAA,MANdC;AAAA,IAAA;AAAA,EAOP,CAEH,GACH,EACF,CAAA,IA3DE,gBAAAE;AAAA,IAACN;AAAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAD,EAAC,OAAI,EAAA,KAAKQ,EAAO,iBAAiB,KAAI,mBAAkB;AAAA,QACxD,gBAAAR,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,QACtBlB,MAAa,YAEV,gBAAAgB,EAAAG,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAV;AAAA,YAACW;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,UAAS;AAAA,cACT,QAAQjB;AAAA,cACR,aAAY;AAAA,cAEZ,UAAA,gBAAAM;AAAA,gBAACY;AAAA,gBAAA;AAAA,kBACC,QAAQ;AAAA,kBACR,UAAS;AAAA,kBACT,OAAM;AAAA,kBACN,MAAK;AAAA,kBACL,OAAM;AAAA,kBACN,SAASd;AAAA,kBACT,UAAU,CAACJ,KAAqB,CAACP;AAAA,kBACjC,gBAAgB;AAAA,oBACd,cAAcD;AAAA,kBAChB;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA;AAAA,UACF;AAAA,UACA,gBAAAc,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,QAAA,EAAA,CACzB,IAEC,gBAAAT,EAAAa,GAAA,EAAK,WAAU,YAAW,QAAO,cAAa,UAE/C,yCAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AA2BV,CAAC,GAEDC,IAAe9B;"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { jsx as e, jsxs as a, Fragment as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
1
|
+
import { jsx as e, jsxs as a, Fragment as q } from "react/jsx-runtime";
|
|
2
|
+
import { memo as G, useCallback as f } from "react";
|
|
3
|
+
import J from "../../../../assets/line-icons/icons/eye2.js";
|
|
4
|
+
import N from "../../../../assets/line-icons/icons/more-vertical.js";
|
|
5
|
+
import Q from "../../../../assets/line-icons/icons/redo.js";
|
|
6
|
+
import U from "../../../../assets/line-icons/icons/skip.js";
|
|
7
|
+
import D from "../../../ui/context-menu/context-menu.js";
|
|
8
8
|
import S from "../../../ui/layout/flex-view.js";
|
|
9
9
|
import E from "../../../ui/text/text.js";
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { BLOCK_TYPE as
|
|
14
|
-
import { getSheetNLessonCount as
|
|
15
|
-
import { getNextAccessibleSATSheet as
|
|
16
|
-
import { BlockSectionWrapper as
|
|
17
|
-
const
|
|
10
|
+
import R from "../../comps/node-card/node-card.js";
|
|
11
|
+
import ee from "../../comps/node-card/node-menu-options/node-menu-options.js";
|
|
12
|
+
import te from "../../comps/sat-mock-test/sat-mock-test.js";
|
|
13
|
+
import { BLOCK_TYPE as ne, BLOCK_NAME as re } from "../../constants/block-constants.js";
|
|
14
|
+
import { getSheetNLessonCount as ie } from "../../utils/index.js";
|
|
15
|
+
import { getNextAccessibleSATSheet as oe } from "../../utils/sat-sheet-utils.js";
|
|
16
|
+
import { BlockSectionWrapper as ce, BlockOptionsWrapper as se, BlockSheetContainer as le } from "./block-sections-styled.js";
|
|
17
|
+
const me = ({
|
|
18
18
|
userType: s,
|
|
19
19
|
imageHue: u,
|
|
20
20
|
blockData: r,
|
|
@@ -22,16 +22,18 @@ const ce = ({
|
|
|
22
22
|
isLastBlock: x,
|
|
23
23
|
isGoalBlock: d,
|
|
24
24
|
blockSectionRef: k,
|
|
25
|
+
firstNodeCardRef: L,
|
|
26
|
+
isFirstBlock: I,
|
|
25
27
|
onNodeAttempt: b,
|
|
26
|
-
onNodeAssignAsHomework:
|
|
27
|
-
onNodeMarkAsDone:
|
|
28
|
-
onNodeReattempt:
|
|
28
|
+
onNodeAssignAsHomework: M,
|
|
29
|
+
onNodeMarkAsDone: O,
|
|
30
|
+
onNodeReattempt: w,
|
|
29
31
|
onNodeReview: n,
|
|
30
|
-
onNodeView:
|
|
32
|
+
onNodeView: K,
|
|
31
33
|
onBlockSkipUnskip: l,
|
|
32
|
-
onNodeUnassign:
|
|
33
|
-
onNodeUnlock:
|
|
34
|
-
onNodeSkipUnSkip:
|
|
34
|
+
onNodeUnassign: j,
|
|
35
|
+
onNodeUnlock: v,
|
|
36
|
+
onNodeSkipUnSkip: H,
|
|
35
37
|
onBlockReset: m
|
|
36
38
|
}) => {
|
|
37
39
|
const {
|
|
@@ -39,54 +41,54 @@ const ce = ({
|
|
|
39
41
|
name: _,
|
|
40
42
|
sheets: i,
|
|
41
43
|
permissions: C,
|
|
42
|
-
block_stats:
|
|
43
|
-
state:
|
|
44
|
-
block_statement:
|
|
45
|
-
} = r, o = h ===
|
|
44
|
+
block_stats: V,
|
|
45
|
+
state: W,
|
|
46
|
+
block_statement: y
|
|
47
|
+
} = r, o = h === ne.SAT_MOCK_TEST, {
|
|
46
48
|
can_skip: p,
|
|
47
49
|
can_un_skip: t,
|
|
48
50
|
can_reset: g,
|
|
49
51
|
can_review: T
|
|
50
|
-
} = C, A =
|
|
52
|
+
} = C, A = re[h], B = ie({
|
|
51
53
|
isSkipped: t,
|
|
52
54
|
sheetsLength: i.length,
|
|
53
55
|
isGoalBlock: d,
|
|
54
56
|
lessonIdx: $,
|
|
55
57
|
isSatMockTestBlock: o
|
|
56
|
-
}),
|
|
57
|
-
const c =
|
|
58
|
+
}), P = o && (g || T) || s === "TEACHER" && (p || t), z = f(() => {
|
|
59
|
+
const c = oe(i);
|
|
58
60
|
if (!c)
|
|
59
61
|
throw new Error("Active SAT sheet is not available");
|
|
60
62
|
n == null || n(c);
|
|
61
|
-
}, [n, i]),
|
|
63
|
+
}, [n, i]), F = f(() => {
|
|
62
64
|
l == null || l(r, p);
|
|
63
|
-
}, [r, p, l]),
|
|
65
|
+
}, [r, p, l]), X = f(() => {
|
|
64
66
|
m == null || m(r);
|
|
65
|
-
}, [r, m]),
|
|
67
|
+
}, [r, m]), Y = [
|
|
66
68
|
{
|
|
67
69
|
id: "node-card-skip",
|
|
68
70
|
label: t ? "Revert 'Skip'" : "Skip All",
|
|
69
|
-
icon:
|
|
71
|
+
icon: U,
|
|
70
72
|
disabled: o,
|
|
71
|
-
onClick:
|
|
73
|
+
onClick: F
|
|
72
74
|
},
|
|
73
75
|
{
|
|
74
76
|
id: "sat-node-card-review",
|
|
75
77
|
label: "Review",
|
|
76
|
-
icon:
|
|
78
|
+
icon: J,
|
|
77
79
|
disabled: !T,
|
|
78
|
-
onClick:
|
|
80
|
+
onClick: z
|
|
79
81
|
},
|
|
80
82
|
{
|
|
81
83
|
id: "sat-node-card-reset",
|
|
82
84
|
label: "Reset",
|
|
83
|
-
icon:
|
|
85
|
+
icon: Q,
|
|
84
86
|
disabled: !g,
|
|
85
|
-
onClick:
|
|
87
|
+
onClick: X
|
|
86
88
|
}
|
|
87
89
|
];
|
|
88
90
|
return s === "STUDENT" && t ? null : /* @__PURE__ */ e("div", { ref: k, children: /* @__PURE__ */ e(
|
|
89
|
-
|
|
91
|
+
ce,
|
|
90
92
|
{
|
|
91
93
|
$background: d ? "WHITE_1" : "WHITE_3",
|
|
92
94
|
$gutterX: 1,
|
|
@@ -104,7 +106,7 @@ const ce = ({
|
|
|
104
106
|
children: [
|
|
105
107
|
A === "Puzzles" ? _ : A,
|
|
106
108
|
" ",
|
|
107
|
-
|
|
109
|
+
B
|
|
108
110
|
]
|
|
109
111
|
}
|
|
110
112
|
),
|
|
@@ -118,63 +120,69 @@ const ce = ({
|
|
|
118
120
|
}
|
|
119
121
|
)
|
|
120
122
|
] }),
|
|
121
|
-
|
|
122
|
-
|
|
123
|
+
P && /* @__PURE__ */ e(
|
|
124
|
+
D,
|
|
123
125
|
{
|
|
124
126
|
targetElement: /* @__PURE__ */ e(
|
|
125
|
-
|
|
127
|
+
se,
|
|
126
128
|
{
|
|
127
129
|
$width: 20,
|
|
128
130
|
$height: 20,
|
|
129
131
|
$justifyContent: "center",
|
|
130
132
|
$alignItems: "center",
|
|
131
|
-
children: /* @__PURE__ */ e(
|
|
133
|
+
children: /* @__PURE__ */ e(N, { width: 18, height: 18 })
|
|
132
134
|
}
|
|
133
135
|
),
|
|
134
|
-
menuElement: /* @__PURE__ */ e(
|
|
136
|
+
menuElement: /* @__PURE__ */ e(ee, { options: Y }),
|
|
135
137
|
menuOffset: 5,
|
|
136
138
|
menuZIndex: 4
|
|
137
139
|
}
|
|
138
140
|
)
|
|
139
141
|
] }),
|
|
140
|
-
/* @__PURE__ */ e(
|
|
141
|
-
|
|
142
|
+
/* @__PURE__ */ e(q, { children: o ? /* @__PURE__ */ e(
|
|
143
|
+
te,
|
|
142
144
|
{
|
|
143
145
|
userType: s,
|
|
144
146
|
imageHue: u || "BLUE",
|
|
145
147
|
sheets: i,
|
|
146
|
-
blockStats:
|
|
147
|
-
blockState:
|
|
148
|
-
blockStatement:
|
|
148
|
+
blockStats: V,
|
|
149
|
+
blockState: W,
|
|
150
|
+
blockStatement: y,
|
|
149
151
|
onNodeAttempt: b,
|
|
150
152
|
onNodeReview: n,
|
|
151
153
|
blockPermissions: C
|
|
152
154
|
}
|
|
153
|
-
) : /* @__PURE__ */ e(
|
|
154
|
-
|
|
155
|
+
) : /* @__PURE__ */ e(le, { children: i.map((c, Z) => /* @__PURE__ */ e(
|
|
156
|
+
"div",
|
|
155
157
|
{
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
158
|
+
ref: I && Z === 0 ? L : void 0,
|
|
159
|
+
children: /* @__PURE__ */ e(
|
|
160
|
+
R,
|
|
161
|
+
{
|
|
162
|
+
imageHue: u || "BLUE",
|
|
163
|
+
userType: s,
|
|
164
|
+
nodeData: c,
|
|
165
|
+
blockType: h,
|
|
166
|
+
isSkipped: t,
|
|
167
|
+
onNodeAttempt: b,
|
|
168
|
+
onNodeAssignAsHomework: M,
|
|
169
|
+
onNodeMarkAsDone: O,
|
|
170
|
+
onNodeReattempt: w,
|
|
171
|
+
onNodeReview: n,
|
|
172
|
+
onNodeView: K,
|
|
173
|
+
onNodeUnassign: j,
|
|
174
|
+
onNodeUnlock: v,
|
|
175
|
+
onNodeSkipUnSkip: H
|
|
176
|
+
}
|
|
177
|
+
)
|
|
170
178
|
},
|
|
171
179
|
c.node_id
|
|
172
180
|
)) }) })
|
|
173
181
|
] })
|
|
174
182
|
}
|
|
175
183
|
) });
|
|
176
|
-
},
|
|
184
|
+
}, ke = G(me);
|
|
177
185
|
export {
|
|
178
|
-
|
|
186
|
+
ke as default
|
|
179
187
|
};
|
|
180
188
|
//# sourceMappingURL=block-section-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-section-view.js","sources":["../../../../../src/features/chapters-v2/chapter-details/block-sections/block-section-view.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport Eye2Icon from '../../../../assets/line-icons/icons/eye2';\nimport MoreVerticalIcon from '../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../assets/line-icons/icons/skip';\nimport ContextMenu from '../../../ui/context-menu/context-menu';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport NodeCard from '../../comps/node-card/node-card';\nimport NodeMenuOptions from '../../comps/node-card/node-menu-options/node-menu-options';\nimport type { INodeMenuOption } from '../../comps/node-card/node-menu-options/node-menu-options-types';\nimport SatMockTest from '../../comps/sat-mock-test/sat-mock-test';\nimport { BLOCK_NAME, BLOCK_TYPE } from '../../constants/block-constants';\nimport { getSheetNLessonCount } from '../../utils';\nimport { getNextAccessibleSATSheet } from '../../utils/sat-sheet-utils';\nimport * as Styled from './block-sections-styled';\nimport type { IBlockSectionProps } from './block-sections-types';\n\nconst BlockSectionView: FC<IBlockSectionProps> = ({\n userType,\n imageHue,\n blockData,\n lessonIdx,\n isLastBlock,\n isGoalBlock,\n blockSectionRef,\n onNodeAttempt,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n onBlockSkipUnskip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeSkipUnSkip,\n onBlockReset,\n}) => {\n const {\n block_type: blockType,\n name,\n sheets,\n permissions,\n block_stats: blockStats,\n state,\n block_statement: blockStatement,\n } = blockData;\n\n const isSatMockTestBlock = blockType === BLOCK_TYPE.SAT_MOCK_TEST;\n\n const {\n can_skip: canSkip,\n can_un_skip: canUnskip,\n can_reset: canReset,\n can_review: canReview,\n } = permissions;\n const blockName = BLOCK_NAME[blockType];\n\n const sheetNLessonCount = getSheetNLessonCount({\n isSkipped: canUnskip,\n sheetsLength: sheets.length,\n isGoalBlock,\n lessonIdx,\n isSatMockTestBlock,\n });\n\n const canRenderMenuOptions =\n (isSatMockTestBlock && (canReset || canReview)) ||\n (userType === 'TEACHER' && (canSkip || canUnskip));\n\n const handleSATSheetReview = useCallback(() => {\n const nextAccessibleSATSheet = getNextAccessibleSATSheet(sheets);\n\n if (!nextAccessibleSATSheet) {\n throw new Error('Active SAT sheet is not available');\n }\n\n onNodeReview?.(nextAccessibleSATSheet);\n }, [onNodeReview, sheets]);\n\n const handleBlockSkipUnskip = useCallback(() => {\n onBlockSkipUnskip?.(blockData, canSkip);\n }, [blockData, canSkip, onBlockSkipUnskip]);\n\n const handleBlockReset = useCallback(() => {\n onBlockReset?.(blockData);\n }, [blockData, onBlockReset]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-skip',\n label: canUnskip ? `Revert 'Skip'` : 'Skip All',\n icon: SkipIcon,\n disabled: isSatMockTestBlock,\n onClick: handleBlockSkipUnskip,\n },\n {\n id: 'sat-node-card-review',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleSATSheetReview,\n },\n {\n id: 'sat-node-card-reset',\n label: 'Reset',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleBlockReset,\n },\n ];\n\n if (userType === 'STUDENT' && canUnskip) return null;\n\n return (\n <div ref={blockSectionRef}>\n <Styled.BlockSectionWrapper\n $background={isGoalBlock ? `WHITE_1` : 'WHITE_3'}\n $gutterX={1}\n $lastBlock={isLastBlock}\n $flexGap={12}\n >\n <FlexView $flexGap={12}>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <FlexView $opacity={canUnskip ? 0.5 : 1}>\n <Text\n $renderAs=\"ac4\"\n $color=\"BLACK_T_60\"\n $textDecoration={canUnskip ? 'line-through' : 'none'}\n >\n {blockName === 'Puzzles' ? name : blockName} {sheetNLessonCount}\n </Text>\n\n {!!isGoalBlock && !!lessonIdx && !isSatMockTestBlock && (\n <Text\n $renderAs=\"ab2-bold\"\n $color=\"BLACK_1\"\n $textDecoration={canUnskip ? 'line-through' : 'none'}\n >\n {name}\n </Text>\n )}\n </FlexView>\n\n {canRenderMenuOptions && (\n <ContextMenu\n targetElement={\n <Styled.BlockOptionsWrapper\n $width={20}\n $height={20}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <MoreVerticalIcon width={18} height={18} />\n </Styled.BlockOptionsWrapper>\n }\n menuElement={<NodeMenuOptions options={menuOptions} />}\n menuOffset={5}\n menuZIndex={4}\n />\n )}\n </FlexView>\n\n <>\n {isSatMockTestBlock ? (\n <SatMockTest\n userType={userType}\n imageHue={imageHue || 'BLUE'}\n sheets={sheets}\n blockStats={blockStats}\n blockState={state}\n blockStatement={blockStatement}\n onNodeAttempt={onNodeAttempt}\n onNodeReview={onNodeReview}\n blockPermissions={permissions}\n />\n ) : (\n <Styled.BlockSheetContainer>\n {sheets.map(nodeData => (\n <NodeCard\n key={nodeData.node_id}\n imageHue={imageHue || 'BLUE'}\n userType={userType}\n nodeData={nodeData}\n blockType={blockType}\n isSkipped={canUnskip}\n onNodeAttempt={onNodeAttempt}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onNodeUnassign={onNodeUnassign}\n onNodeUnlock={onNodeUnlock}\n onNodeSkipUnSkip={onNodeSkipUnSkip}\n />\n ))}\n </Styled.BlockSheetContainer>\n )}\n </>\n </FlexView>\n </Styled.BlockSectionWrapper>\n </div>\n );\n};\n\nexport default memo(BlockSectionView);\n"],"names":["BlockSectionView","userType","imageHue","blockData","lessonIdx","isLastBlock","isGoalBlock","blockSectionRef","onNodeAttempt","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeReattempt","onNodeReview","onNodeView","onBlockSkipUnskip","onNodeUnassign","onNodeUnlock","onNodeSkipUnSkip","onBlockReset","blockType","name","sheets","permissions","blockStats","state","blockStatement","isSatMockTestBlock","BLOCK_TYPE","canSkip","canUnskip","canReset","canReview","blockName","BLOCK_NAME","sheetNLessonCount","getSheetNLessonCount","canRenderMenuOptions","handleSATSheetReview","useCallback","nextAccessibleSATSheet","getNextAccessibleSATSheet","handleBlockSkipUnskip","handleBlockReset","menuOptions","SkipIcon","Eye2Icon","RedoIcon","jsx","Styled.BlockSectionWrapper","jsxs","FlexView","Text","ContextMenu","Styled.BlockOptionsWrapper","MoreVerticalIcon","NodeMenuOptions","SatMockTest","Styled.BlockSheetContainer","nodeData","NodeCard","BlockSectionView$1","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"block-section-view.js","sources":["../../../../../src/features/chapters-v2/chapter-details/block-sections/block-section-view.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport Eye2Icon from '../../../../assets/line-icons/icons/eye2';\nimport MoreVerticalIcon from '../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../assets/line-icons/icons/skip';\nimport ContextMenu from '../../../ui/context-menu/context-menu';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport NodeCard from '../../comps/node-card/node-card';\nimport NodeMenuOptions from '../../comps/node-card/node-menu-options/node-menu-options';\nimport type { INodeMenuOption } from '../../comps/node-card/node-menu-options/node-menu-options-types';\nimport SatMockTest from '../../comps/sat-mock-test/sat-mock-test';\nimport { BLOCK_NAME, BLOCK_TYPE } from '../../constants/block-constants';\nimport { getSheetNLessonCount } from '../../utils';\nimport { getNextAccessibleSATSheet } from '../../utils/sat-sheet-utils';\nimport * as Styled from './block-sections-styled';\nimport type { IBlockSectionProps } from './block-sections-types';\n\nconst BlockSectionView: FC<IBlockSectionProps> = ({\n userType,\n imageHue,\n blockData,\n lessonIdx,\n isLastBlock,\n isGoalBlock,\n blockSectionRef,\n firstNodeCardRef,\n isFirstBlock,\n onNodeAttempt,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n onBlockSkipUnskip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeSkipUnSkip,\n onBlockReset,\n}) => {\n const {\n block_type: blockType,\n name,\n sheets,\n permissions,\n block_stats: blockStats,\n state,\n block_statement: blockStatement,\n } = blockData;\n\n const isSatMockTestBlock = blockType === BLOCK_TYPE.SAT_MOCK_TEST;\n\n const {\n can_skip: canSkip,\n can_un_skip: canUnskip,\n can_reset: canReset,\n can_review: canReview,\n } = permissions;\n const blockName = BLOCK_NAME[blockType];\n\n const sheetNLessonCount = getSheetNLessonCount({\n isSkipped: canUnskip,\n sheetsLength: sheets.length,\n isGoalBlock,\n lessonIdx,\n isSatMockTestBlock,\n });\n\n const canRenderMenuOptions =\n (isSatMockTestBlock && (canReset || canReview)) ||\n (userType === 'TEACHER' && (canSkip || canUnskip));\n\n const handleSATSheetReview = useCallback(() => {\n const nextAccessibleSATSheet = getNextAccessibleSATSheet(sheets);\n\n if (!nextAccessibleSATSheet) {\n throw new Error('Active SAT sheet is not available');\n }\n\n onNodeReview?.(nextAccessibleSATSheet);\n }, [onNodeReview, sheets]);\n\n const handleBlockSkipUnskip = useCallback(() => {\n onBlockSkipUnskip?.(blockData, canSkip);\n }, [blockData, canSkip, onBlockSkipUnskip]);\n\n const handleBlockReset = useCallback(() => {\n onBlockReset?.(blockData);\n }, [blockData, onBlockReset]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-skip',\n label: canUnskip ? `Revert 'Skip'` : 'Skip All',\n icon: SkipIcon,\n disabled: isSatMockTestBlock,\n onClick: handleBlockSkipUnskip,\n },\n {\n id: 'sat-node-card-review',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleSATSheetReview,\n },\n {\n id: 'sat-node-card-reset',\n label: 'Reset',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleBlockReset,\n },\n ];\n\n if (userType === 'STUDENT' && canUnskip) return null;\n\n return (\n <div ref={blockSectionRef}>\n <Styled.BlockSectionWrapper\n $background={isGoalBlock ? `WHITE_1` : 'WHITE_3'}\n $gutterX={1}\n $lastBlock={isLastBlock}\n $flexGap={12}\n >\n <FlexView $flexGap={12}>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <FlexView $opacity={canUnskip ? 0.5 : 1}>\n <Text\n $renderAs=\"ac4\"\n $color=\"BLACK_T_60\"\n $textDecoration={canUnskip ? 'line-through' : 'none'}\n >\n {blockName === 'Puzzles' ? name : blockName} {sheetNLessonCount}\n </Text>\n\n {!!isGoalBlock && !!lessonIdx && !isSatMockTestBlock && (\n <Text\n $renderAs=\"ab2-bold\"\n $color=\"BLACK_1\"\n $textDecoration={canUnskip ? 'line-through' : 'none'}\n >\n {name}\n </Text>\n )}\n </FlexView>\n\n {canRenderMenuOptions && (\n <ContextMenu\n targetElement={\n <Styled.BlockOptionsWrapper\n $width={20}\n $height={20}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <MoreVerticalIcon width={18} height={18} />\n </Styled.BlockOptionsWrapper>\n }\n menuElement={<NodeMenuOptions options={menuOptions} />}\n menuOffset={5}\n menuZIndex={4}\n />\n )}\n </FlexView>\n\n <>\n {isSatMockTestBlock ? (\n <SatMockTest\n userType={userType}\n imageHue={imageHue || 'BLUE'}\n sheets={sheets}\n blockStats={blockStats}\n blockState={state}\n blockStatement={blockStatement}\n onNodeAttempt={onNodeAttempt}\n onNodeReview={onNodeReview}\n blockPermissions={permissions}\n />\n ) : (\n <Styled.BlockSheetContainer>\n {sheets.map((nodeData, nodeIdx) => (\n <div\n key={nodeData.node_id}\n ref={isFirstBlock && nodeIdx === 0 ? firstNodeCardRef : undefined}\n >\n <NodeCard\n imageHue={imageHue || 'BLUE'}\n userType={userType}\n nodeData={nodeData}\n blockType={blockType}\n isSkipped={canUnskip}\n onNodeAttempt={onNodeAttempt}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onNodeUnassign={onNodeUnassign}\n onNodeUnlock={onNodeUnlock}\n onNodeSkipUnSkip={onNodeSkipUnSkip}\n />\n </div>\n ))}\n </Styled.BlockSheetContainer>\n )}\n </>\n </FlexView>\n </Styled.BlockSectionWrapper>\n </div>\n );\n};\n\nexport default memo(BlockSectionView);\n"],"names":["BlockSectionView","userType","imageHue","blockData","lessonIdx","isLastBlock","isGoalBlock","blockSectionRef","firstNodeCardRef","isFirstBlock","onNodeAttempt","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeReattempt","onNodeReview","onNodeView","onBlockSkipUnskip","onNodeUnassign","onNodeUnlock","onNodeSkipUnSkip","onBlockReset","blockType","name","sheets","permissions","blockStats","state","blockStatement","isSatMockTestBlock","BLOCK_TYPE","canSkip","canUnskip","canReset","canReview","blockName","BLOCK_NAME","sheetNLessonCount","getSheetNLessonCount","canRenderMenuOptions","handleSATSheetReview","useCallback","nextAccessibleSATSheet","getNextAccessibleSATSheet","handleBlockSkipUnskip","handleBlockReset","menuOptions","SkipIcon","Eye2Icon","RedoIcon","jsx","Styled.BlockSectionWrapper","jsxs","FlexView","Text","ContextMenu","Styled.BlockOptionsWrapper","MoreVerticalIcon","NodeMenuOptions","SatMockTest","Styled.BlockSheetContainer","nodeData","nodeIdx","NodeCard","BlockSectionView$1","memo"],"mappings":"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"}
|