@cuemath/leap 2.8.60-gs1 → 2.8.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/illustrations/illustrations.js +0 -9
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/bin2.js +8 -7
- package/dist/assets/line-icons/icons/bin2.js.map +1 -1
- package/dist/assets/line-icons/icons/closed-eye.js +23 -0
- package/dist/assets/line-icons/icons/closed-eye.js.map +1 -0
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +33 -98
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +47 -76
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
- package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js +70 -65
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +4 -12
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +105 -128
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +92 -0
- package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -0
- package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +25 -0
- package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -0
- package/dist/features/milestone/create/milestone-create.js +43 -49
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +53 -51
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +40 -42
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/goal-edit-container.js +62 -64
- package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-container.js +52 -54
- package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestones.js +17 -9
- package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +102 -136
- 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/context-menu-helper/menu-element-styled.js +13 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +38 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +123 -107
- 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 +176 -157
- 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-styled.js +10 -24
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +81 -76
- 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-utils.js +22 -10
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +53 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +37 -70
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +174 -114
- 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/milestone-widget/outcome/outcome-info.js +25 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +16 -29
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +23 -19
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +35 -23
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +36 -34
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +78 -96
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +18 -16
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +68 -77
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +3 -4
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
- package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +29 -30
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/constants/z-index.js +1 -1
- package/dist/features/ui/constants/z-index.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu-styled.js +14 -28
- package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu.js +15 -30
- package/dist/features/ui/context-menu/context-menu.js.map +1 -1
- package/dist/features/ui/theme/button.js +107 -22
- package/dist/features/ui/theme/button.js.map +1 -1
- package/dist/index.d.ts +12 -191
- package/dist/index.js +471 -489
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/alarm.js +0 -41
- package/dist/assets/line-icons/icons/alarm.js.map +0 -1
- package/dist/assets/line-icons/icons/dart.js +0 -23
- package/dist/assets/line-icons/icons/dart.js.map +0 -1
- package/dist/assets/line-icons/icons/exclamation.js +0 -26
- package/dist/assets/line-icons/icons/exclamation.js.map +0 -1
- package/dist/assets/line-icons/icons/home2.js +0 -25
- package/dist/assets/line-icons/icons/home2.js.map +0 -1
- package/dist/assets/line-icons/icons/important.js +0 -23
- package/dist/assets/line-icons/icons/important.js.map +0 -1
- package/dist/assets/line-icons/icons/puzzle.js +0 -25
- package/dist/assets/line-icons/icons/puzzle.js.map +0 -1
- package/dist/assets/line-icons/icons/recap.js +0 -32
- package/dist/assets/line-icons/icons/recap.js.map +0 -1
- package/dist/assets/line-icons/icons/skip-colored.js +0 -43
- package/dist/assets/line-icons/icons/skip-colored.js.map +0 -1
- package/dist/assets/line-icons/icons/status.js +0 -41
- package/dist/assets/line-icons/icons/status.js.map +0 -1
- package/dist/assets/line-icons/icons/testtube.js +0 -33
- package/dist/assets/line-icons/icons/testtube.js.map +0 -1
- package/dist/features/chapters-v2/api/chapter.js +0 -10
- package/dist/features/chapters-v2/api/chapter.js.map +0 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +0 -112
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +0 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +0 -26
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +0 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +0 -69
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +0 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +0 -90
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +0 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +0 -97
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +0 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +0 -52
- package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +0 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +0 -103
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +0 -13
- package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +0 -154
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +0 -12
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/node-card.js +0 -12
- package/dist/features/chapters-v2/comps/node-card/node-card.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +0 -32
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +0 -31
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +0 -164
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +0 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +0 -184
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +0 -1
- package/dist/features/chapters-v2/comps/tag/tag-styled.js +0 -13
- package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +0 -1
- package/dist/features/chapters-v2/comps/tag/tag.js +0 -28
- package/dist/features/chapters-v2/comps/tag/tag.js.map +0 -1
- package/dist/features/chapters-v2/constants/block-constants.js +0 -20
- package/dist/features/chapters-v2/constants/block-constants.js.map +0 -1
- package/dist/features/chapters-v2/constants/node-constants.js +0 -15
- package/dist/features/chapters-v2/constants/node-constants.js.map +0 -1
- package/dist/features/chapters-v2/utils/index.js +0 -40
- package/dist/features/chapters-v2/utils/index.js.map +0 -1
- package/dist/features/chapters-v2/utils/node-card-utils.js +0 -78
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +0 -1
- package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
- package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
- package/dist/static/node-learn-bg.b61f815c.svg +0 -1
- package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
- package/dist/static/node-project-bg.e6a33e28.svg +0 -1
- package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
- package/dist/static/node-recap-bg.546154e4.svg +0 -1
- package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
- package/dist/static/node-video-bg.3df3f73a.svg +0 -1
@@ -17,7 +17,7 @@ const ee = {
|
|
17
17
|
duration: null,
|
18
18
|
chapters: null
|
19
19
|
}, te = G((D) => {
|
20
|
-
const { milestoneId: s, studentId:
|
20
|
+
const { milestoneId: s, studentId: h, testNumber: f, onTestAssign: v, onExit: L, onError: c } = D, [w, x] = _("CHAPTER_SELECTION"), [o, p] = _(ee), [d, I] = _([]), m = i((e) => {
|
21
21
|
x(e);
|
22
22
|
}, []), $ = i(
|
23
23
|
(e, t) => {
|
@@ -35,41 +35,43 @@ const ee = {
|
|
35
35
|
};
|
36
36
|
}), c(
|
37
37
|
"We're experiencing a temporary limitation with the chapters you've selected. Please select alternative chapters and proceed."
|
38
|
-
)), e ? c(e) : t &&
|
38
|
+
)), e ? c(e) : t && I(t);
|
39
39
|
},
|
40
|
-
[c,
|
40
|
+
[c, I, m]
|
41
41
|
), F = i(
|
42
42
|
(e) => {
|
43
43
|
e ? c(e) : v();
|
44
44
|
},
|
45
45
|
[c, v]
|
46
46
|
), {
|
47
|
-
get:
|
47
|
+
get: A,
|
48
48
|
data: H,
|
49
49
|
isProcessing: N,
|
50
50
|
isProcessingFailed: b,
|
51
51
|
error: g
|
52
52
|
} = B(s, {
|
53
|
+
with_plan: !0,
|
53
54
|
with_sheets: !0
|
54
|
-
}), { post:
|
55
|
+
}), { post: S, isProcessing: M } = Y({
|
55
56
|
onComplete: $
|
56
57
|
}), { post: E, isProcessing: R } = J({
|
57
58
|
onComplete: F
|
58
59
|
}), { user_milestone_plan: j } = H || {}, { user_chapters: a } = j || {}, y = i(
|
59
60
|
(e) => {
|
60
|
-
|
61
|
+
S(e);
|
61
62
|
},
|
62
|
-
[
|
63
|
+
[S]
|
63
64
|
), T = i(() => {
|
64
|
-
|
65
|
+
A(s, {
|
66
|
+
with_plan: !0,
|
65
67
|
with_sheets: !0
|
66
68
|
});
|
67
|
-
}, [
|
69
|
+
}, [A, s]), k = i(() => {
|
68
70
|
const { duration: e, difficultyLevel: t, selectedChapters: n } = o;
|
69
71
|
e && t && n && E(
|
70
72
|
{
|
71
73
|
items: d,
|
72
|
-
title: `Test ${
|
74
|
+
title: `Test ${f}`,
|
73
75
|
node_params: {
|
74
76
|
is_timed: !0,
|
75
77
|
sheet_time: e * 60,
|
@@ -77,11 +79,11 @@ const ee = {
|
|
77
79
|
}
|
78
80
|
},
|
79
81
|
{
|
80
|
-
studentId:
|
82
|
+
studentId: h,
|
81
83
|
userMilestoneId: s
|
82
84
|
}
|
83
85
|
);
|
84
|
-
}, [E, o,
|
86
|
+
}, [E, o, h, s, d, f]), P = i(
|
85
87
|
(e, t) => {
|
86
88
|
if (m(e), t) {
|
87
89
|
const { difficultyLevel: n, duration: r } = t;
|
@@ -111,17 +113,17 @@ const ee = {
|
|
111
113
|
onClick: T
|
112
114
|
}
|
113
115
|
)
|
114
|
-
] }) : a ?
|
116
|
+
] }) : a ? w === "PREVIEW" ? /* @__PURE__ */ l(
|
115
117
|
Z,
|
116
118
|
{
|
117
|
-
studentId:
|
119
|
+
studentId: h,
|
118
120
|
items: d,
|
119
|
-
testNumber:
|
121
|
+
testNumber: f,
|
120
122
|
isAssignInProgress: R,
|
121
123
|
onTestStageChange: P,
|
122
124
|
onTestSheetAssign: k
|
123
125
|
}
|
124
|
-
) :
|
126
|
+
) : w === "DIFFICULTY_AND_DURATION_SELECTION" ? /* @__PURE__ */ l(
|
125
127
|
Q,
|
126
128
|
{
|
127
129
|
testFormData: o,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tests-creation.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-creation/tests-creation.tsx"],"sourcesContent":["import type { ITestHelpPreviewPayload, ITestHelpPreviewResponse } from './api/preview-test-sheet';\nimport type { ITestFromData, ITestsCreationProps, TTestsStage } from './tests-creation-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useState } from 'react';\n\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 { useMilestoneGet } from '../../edit/comps/edit-milestone-modal/api/get-milestone';\nimport { usePostTestHelpPreview } from './api/preview-test-sheet';\nimport { usePostTestSheetAssign } from './api/test-sheet-assign';\nimport ChapterSelection from './test-stages/chapter-selection/chapter-selection';\nimport DifficultyAndDurationSelection from './test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection';\nimport TestPreview from './test-stages/test-preview/test-preview';\n\nconst initFormData: ITestFromData = {\n selectedChapters: null,\n difficultyLevel: null,\n title: null,\n duration: null,\n chapters: null,\n};\n\nconst TestsCreation: FC<ITestsCreationProps> = memo(props => {\n const { milestoneId, studentId, testNumber, onTestAssign, onExit, onError } = props;\n\n const [testStage, setTestStage] = useState<TTestsStage>('CHAPTER_SELECTION');\n const [testFormData, setTestFromData] = useState<ITestFromData>(initFormData);\n const [testPreviewItems, setTestPreviewItems] = useState<ITestHelpPreviewResponse[]>([]);\n\n const handleOnTestStageChange = useCallback((nextStage: TTestsStage) => {\n setTestStage(nextStage);\n }, []);\n\n const handleOnTestHelpPreviewComplete = useCallback(\n (errorMessage: string | null, data?: ITestHelpPreviewResponse[]) => {\n if (errorMessage || !data?.length) {\n handleOnTestStageChange('CHAPTER_SELECTION');\n\n setTestFromData(prev => {\n const { chapters, selectedChapters } = prev;\n\n const updatedChapters = chapters?.map(chapter => {\n if (selectedChapters?.includes(chapter.id)) {\n return {\n ...chapter,\n item_bank_enabled: false,\n };\n }\n\n return chapter;\n });\n\n return {\n ...prev,\n chapters: updatedChapters ?? null,\n selectedChapters: null,\n difficultyLevel: null,\n duration: null,\n };\n });\n\n onError(\n `We're experiencing a temporary limitation with the chapters you've selected. Please select alternative chapters and proceed.`,\n );\n }\n\n if (errorMessage) {\n onError(errorMessage);\n } else if (data) {\n setTestPreviewItems(data);\n }\n },\n [onError, setTestPreviewItems, handleOnTestStageChange],\n );\n\n const handleOnTestSheetAssignComplete = useCallback(\n (errorMessage: string | null) => {\n if (errorMessage) {\n onError(errorMessage);\n } else {\n onTestAssign();\n }\n },\n [onError, onTestAssign],\n );\n\n const {\n get: getMilestone,\n data: currentMilestoneData,\n isProcessing: isMilestoneProcessing,\n isProcessingFailed: isMilestoneProcessingFailed,\n error: milestoneGetError,\n } = useMilestoneGet(milestoneId, {\n with_sheets: true,\n });\n\n const { post: postTestHelpPreview, isProcessing: testPreviewIsProcessing } =\n usePostTestHelpPreview({\n onComplete: handleOnTestHelpPreviewComplete,\n });\n\n const { post: postTestSheetAssign, isProcessing: testAssignIsProcessing } =\n usePostTestSheetAssign({\n onComplete: handleOnTestSheetAssignComplete,\n });\n\n const { user_milestone_plan: userMilestonePlan } = currentMilestoneData || {};\n const { user_chapters: userChapters } = userMilestonePlan || {};\n\n const handleOnPostTestHelpPreview = useCallback(\n (data: ITestHelpPreviewPayload) => {\n postTestHelpPreview(data);\n },\n [postTestHelpPreview],\n );\n\n const handleOnGetMilestone = useCallback(() => {\n getMilestone(milestoneId, {\n with_sheets: true,\n });\n }, [getMilestone, milestoneId]);\n\n const handleOnTestSheetAssign = useCallback(() => {\n const { duration, difficultyLevel, selectedChapters } = testFormData;\n\n if (duration && difficultyLevel && selectedChapters) {\n postTestSheetAssign(\n {\n items: testPreviewItems,\n title: `Test ${testNumber}`,\n node_params: {\n is_timed: true,\n sheet_time: duration * 60,\n difficulty_level: difficultyLevel,\n },\n },\n {\n studentId,\n userMilestoneId: milestoneId,\n },\n );\n }\n }, [postTestSheetAssign, testFormData, studentId, milestoneId, testPreviewItems, testNumber]);\n\n const handleOnProceed = useCallback(\n (nextStage: TTestsStage, updatedForm?: ITestFromData) => {\n handleOnTestStageChange(nextStage);\n\n if (updatedForm) {\n const { difficultyLevel, duration } = updatedForm;\n\n setTestFromData(prev => ({ ...prev, ...updatedForm }));\n\n if (nextStage === 'PREVIEW' && difficultyLevel && duration) {\n handleOnPostTestHelpPreview({\n difficulty_level: difficultyLevel,\n duration: duration,\n user_chapter_ids: testFormData.selectedChapters || [],\n });\n }\n }\n },\n [handleOnTestStageChange, handleOnPostTestHelpPreview, testFormData],\n );\n\n useEffect(() => {\n if (milestoneId) {\n handleOnGetMilestone();\n }\n }, [milestoneId, handleOnGetMilestone]);\n\n useEffect(() => {\n if (userChapters && userChapters.length > 0) {\n setTestFromData(prev => ({ ...prev, chapters: userChapters }));\n }\n }, [userChapters]);\n\n if (isMilestoneProcessing || testPreviewIsProcessing) {\n return <AppLoader height=\"100vh\" />;\n }\n\n if (isMilestoneProcessingFailed) {\n return (\n <FlexView $height=\"100vh\" $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">{milestoneGetError?.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={handleOnGetMilestone}\n />\n </FlexView>\n );\n }\n\n if (!userChapters) return null;\n\n if (testStage === 'PREVIEW') {\n return (\n <TestPreview\n studentId={studentId}\n items={testPreviewItems}\n testNumber={testNumber}\n isAssignInProgress={testAssignIsProcessing}\n onTestStageChange={handleOnProceed}\n onTestSheetAssign={handleOnTestSheetAssign}\n />\n );\n }\n\n if (testStage === 'DIFFICULTY_AND_DURATION_SELECTION') {\n return (\n <DifficultyAndDurationSelection\n testFormData={testFormData}\n onTestStageChange={handleOnProceed}\n />\n );\n }\n\n return (\n <ChapterSelection testFormData={testFormData} onProceed={handleOnProceed} onExit={onExit} />\n );\n});\n\nexport default TestsCreation;\n"],"names":["initFormData","TestsCreation","memo","props","milestoneId","studentId","testNumber","onTestAssign","onExit","onError","testStage","setTestStage","useState","testFormData","setTestFromData","testPreviewItems","setTestPreviewItems","handleOnTestStageChange","useCallback","nextStage","handleOnTestHelpPreviewComplete","errorMessage","data","prev","chapters","selectedChapters","updatedChapters","chapter","handleOnTestSheetAssignComplete","getMilestone","currentMilestoneData","isMilestoneProcessing","isMilestoneProcessingFailed","milestoneGetError","useMilestoneGet","postTestHelpPreview","testPreviewIsProcessing","usePostTestHelpPreview","postTestSheetAssign","testAssignIsProcessing","usePostTestSheetAssign","userMilestonePlan","userChapters","handleOnPostTestHelpPreview","handleOnGetMilestone","handleOnTestSheetAssign","duration","difficultyLevel","handleOnProceed","updatedForm","useEffect","jsx","AppLoader","jsxs","FlexView","Text","Button","TestPreview","DifficultyAndDurationSelection","ChapterSelection","TestsCreation$1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"tests-creation.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-creation/tests-creation.tsx"],"sourcesContent":["import type { ITestHelpPreviewPayload, ITestHelpPreviewResponse } from './api/preview-test-sheet';\nimport type { ITestFromData, ITestsCreationProps, TTestsStage } from './tests-creation-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useState } from 'react';\n\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 { useMilestoneGet } from '../../edit/comps/edit-milestone-modal/api/get-milestone';\nimport { usePostTestHelpPreview } from './api/preview-test-sheet';\nimport { usePostTestSheetAssign } from './api/test-sheet-assign';\nimport ChapterSelection from './test-stages/chapter-selection/chapter-selection';\nimport DifficultyAndDurationSelection from './test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection';\nimport TestPreview from './test-stages/test-preview/test-preview';\n\nconst initFormData: ITestFromData = {\n selectedChapters: null,\n difficultyLevel: null,\n title: null,\n duration: null,\n chapters: null,\n};\n\nconst TestsCreation: FC<ITestsCreationProps> = memo(props => {\n const { milestoneId, studentId, testNumber, onTestAssign, onExit, onError } = props;\n\n const [testStage, setTestStage] = useState<TTestsStage>('CHAPTER_SELECTION');\n const [testFormData, setTestFromData] = useState<ITestFromData>(initFormData);\n const [testPreviewItems, setTestPreviewItems] = useState<ITestHelpPreviewResponse[]>([]);\n\n const handleOnTestStageChange = useCallback((nextStage: TTestsStage) => {\n setTestStage(nextStage);\n }, []);\n\n const handleOnTestHelpPreviewComplete = useCallback(\n (errorMessage: string | null, data?: ITestHelpPreviewResponse[]) => {\n if (errorMessage || !data?.length) {\n handleOnTestStageChange('CHAPTER_SELECTION');\n\n setTestFromData(prev => {\n const { chapters, selectedChapters } = prev;\n\n const updatedChapters = chapters?.map(chapter => {\n if (selectedChapters?.includes(chapter.id)) {\n return {\n ...chapter,\n item_bank_enabled: false,\n };\n }\n\n return chapter;\n });\n\n return {\n ...prev,\n chapters: updatedChapters ?? null,\n selectedChapters: null,\n difficultyLevel: null,\n duration: null,\n };\n });\n\n onError(\n `We're experiencing a temporary limitation with the chapters you've selected. Please select alternative chapters and proceed.`,\n );\n }\n\n if (errorMessage) {\n onError(errorMessage);\n } else if (data) {\n setTestPreviewItems(data);\n }\n },\n [onError, setTestPreviewItems, handleOnTestStageChange],\n );\n\n const handleOnTestSheetAssignComplete = useCallback(\n (errorMessage: string | null) => {\n if (errorMessage) {\n onError(errorMessage);\n } else {\n onTestAssign();\n }\n },\n [onError, onTestAssign],\n );\n\n const {\n get: getMilestone,\n data: currentMilestoneData,\n isProcessing: isMilestoneProcessing,\n isProcessingFailed: isMilestoneProcessingFailed,\n error: milestoneGetError,\n } = useMilestoneGet(milestoneId, {\n with_plan: true,\n with_sheets: true,\n });\n\n const { post: postTestHelpPreview, isProcessing: testPreviewIsProcessing } =\n usePostTestHelpPreview({\n onComplete: handleOnTestHelpPreviewComplete,\n });\n\n const { post: postTestSheetAssign, isProcessing: testAssignIsProcessing } =\n usePostTestSheetAssign({\n onComplete: handleOnTestSheetAssignComplete,\n });\n\n const { user_milestone_plan: userMilestonePlan } = currentMilestoneData || {};\n const { user_chapters: userChapters } = userMilestonePlan || {};\n\n const handleOnPostTestHelpPreview = useCallback(\n (data: ITestHelpPreviewPayload) => {\n postTestHelpPreview(data);\n },\n [postTestHelpPreview],\n );\n\n const handleOnGetMilestone = useCallback(() => {\n getMilestone(milestoneId, {\n with_plan: true,\n with_sheets: true,\n });\n }, [getMilestone, milestoneId]);\n\n const handleOnTestSheetAssign = useCallback(() => {\n const { duration, difficultyLevel, selectedChapters } = testFormData;\n\n if (duration && difficultyLevel && selectedChapters) {\n postTestSheetAssign(\n {\n items: testPreviewItems,\n title: `Test ${testNumber}`,\n node_params: {\n is_timed: true,\n sheet_time: duration * 60,\n difficulty_level: difficultyLevel,\n },\n },\n {\n studentId,\n userMilestoneId: milestoneId,\n },\n );\n }\n }, [postTestSheetAssign, testFormData, studentId, milestoneId, testPreviewItems, testNumber]);\n\n const handleOnProceed = useCallback(\n (nextStage: TTestsStage, updatedForm?: ITestFromData) => {\n handleOnTestStageChange(nextStage);\n\n if (updatedForm) {\n const { difficultyLevel, duration } = updatedForm;\n\n setTestFromData(prev => ({ ...prev, ...updatedForm }));\n\n if (nextStage === 'PREVIEW' && difficultyLevel && duration) {\n handleOnPostTestHelpPreview({\n difficulty_level: difficultyLevel,\n duration: duration,\n user_chapter_ids: testFormData.selectedChapters || [],\n });\n }\n }\n },\n [handleOnTestStageChange, handleOnPostTestHelpPreview, testFormData],\n );\n\n useEffect(() => {\n if (milestoneId) {\n handleOnGetMilestone();\n }\n }, [milestoneId, handleOnGetMilestone]);\n\n useEffect(() => {\n if (userChapters && userChapters.length > 0) {\n setTestFromData(prev => ({ ...prev, chapters: userChapters }));\n }\n }, [userChapters]);\n\n if (isMilestoneProcessing || testPreviewIsProcessing) {\n return <AppLoader height=\"100vh\" />;\n }\n\n if (isMilestoneProcessingFailed) {\n return (\n <FlexView $height=\"100vh\" $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">{milestoneGetError?.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={handleOnGetMilestone}\n />\n </FlexView>\n );\n }\n\n if (!userChapters) return null;\n\n if (testStage === 'PREVIEW') {\n return (\n <TestPreview\n studentId={studentId}\n items={testPreviewItems}\n testNumber={testNumber}\n isAssignInProgress={testAssignIsProcessing}\n onTestStageChange={handleOnProceed}\n onTestSheetAssign={handleOnTestSheetAssign}\n />\n );\n }\n\n if (testStage === 'DIFFICULTY_AND_DURATION_SELECTION') {\n return (\n <DifficultyAndDurationSelection\n testFormData={testFormData}\n onTestStageChange={handleOnProceed}\n />\n );\n }\n\n return (\n <ChapterSelection testFormData={testFormData} onProceed={handleOnProceed} onExit={onExit} />\n );\n});\n\nexport default TestsCreation;\n"],"names":["initFormData","TestsCreation","memo","props","milestoneId","studentId","testNumber","onTestAssign","onExit","onError","testStage","setTestStage","useState","testFormData","setTestFromData","testPreviewItems","setTestPreviewItems","handleOnTestStageChange","useCallback","nextStage","handleOnTestHelpPreviewComplete","errorMessage","data","prev","chapters","selectedChapters","updatedChapters","chapter","handleOnTestSheetAssignComplete","getMilestone","currentMilestoneData","isMilestoneProcessing","isMilestoneProcessingFailed","milestoneGetError","useMilestoneGet","postTestHelpPreview","testPreviewIsProcessing","usePostTestHelpPreview","postTestSheetAssign","testAssignIsProcessing","usePostTestSheetAssign","userMilestonePlan","userChapters","handleOnPostTestHelpPreview","handleOnGetMilestone","handleOnTestSheetAssign","duration","difficultyLevel","handleOnProceed","updatedForm","useEffect","jsx","AppLoader","jsxs","FlexView","Text","Button","TestPreview","DifficultyAndDurationSelection","ChapterSelection","TestsCreation$1"],"mappings":"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"}
|
@@ -1,56 +1,56 @@
|
|
1
|
-
import { jsx as e, jsxs as T, Fragment as
|
2
|
-
import { memo as
|
3
|
-
import { IMAGES as
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import
|
9
|
-
import
|
10
|
-
import { useGetTestHelpData as
|
11
|
-
import { TESTS_CREATION_ANALYTICS_EVENTS as
|
12
|
-
import
|
1
|
+
import { jsx as e, jsxs as T, Fragment as k } from "react/jsx-runtime";
|
2
|
+
import { memo as R, useCallback as o, useEffect as X } from "react";
|
3
|
+
import { IMAGES as j } from "../../../../assets/images/images.js";
|
4
|
+
import L from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
5
|
+
import I from "../../../ui/buttons/button/button.js";
|
6
|
+
import D from "../../../ui/layout/flex-view.js";
|
7
|
+
import H from "../../../ui/loader/app-loader/app-loader.js";
|
8
|
+
import _ from "../../../ui/separator/separator.js";
|
9
|
+
import $ from "../../../ui/text/text.js";
|
10
|
+
import { useGetTestHelpData as F } from "../../milestone-list-container/api/get-tests-list.js";
|
11
|
+
import { TESTS_CREATION_ANALYTICS_EVENTS as G } from "../tests-creation/tests-creation-analytics-events.js";
|
12
|
+
import U from "./test-sheets-list/test-sheets-list.js";
|
13
13
|
import { TestHelpWrapper as a } from "./tests-list-styled.js";
|
14
|
-
const ne =
|
14
|
+
const ne = R((u) => {
|
15
15
|
const {
|
16
16
|
isChaptersAvailable: g,
|
17
|
-
isDraftMilestone:
|
17
|
+
isDraftMilestone: w,
|
18
18
|
isMilestoneActive: s,
|
19
|
-
userType:
|
19
|
+
userType: b,
|
20
20
|
studentId: l,
|
21
21
|
userMilestoneId: t,
|
22
22
|
canUpdatePlan: C
|
23
23
|
} = u, { onCreateMilestoneTest: n, onTestPreview: c, onTestReview: d, onTestStart: p } = u, {
|
24
|
-
get:
|
24
|
+
get: A,
|
25
25
|
data: r,
|
26
26
|
isProcessingFailed: m,
|
27
27
|
isProcessed: f,
|
28
|
-
isStale:
|
29
|
-
isProcessing:
|
30
|
-
} =
|
31
|
-
|
28
|
+
isStale: y,
|
29
|
+
isProcessing: S
|
30
|
+
} = F(), v = !C || !g || !s || s && w, P = s && !g ? "Chapters need to be assigned" : w ? "Allowed after plan is published" : "Plan is completed", h = o(() => {
|
31
|
+
A(t, void 0, {
|
32
32
|
studentId: l
|
33
33
|
});
|
34
|
-
}, [
|
35
|
-
|
36
|
-
!
|
37
|
-
}, [h, f,
|
38
|
-
const
|
34
|
+
}, [A, l, t]);
|
35
|
+
X(() => {
|
36
|
+
!S && (!f && !m || y) && h();
|
37
|
+
}, [h, f, S, m, y]);
|
38
|
+
const E = o(() => {
|
39
39
|
if (typeof n == "function") {
|
40
40
|
n == null || n(t, ((r == null ? void 0 : r.length) || 0) + 1);
|
41
41
|
return;
|
42
42
|
}
|
43
43
|
throw new Error("No callback provided. If provided it must be a function");
|
44
|
-
}, [n, t, r]),
|
45
|
-
(i,
|
44
|
+
}, [n, t, r]), N = o(
|
45
|
+
(i, M) => {
|
46
46
|
if (typeof c == "function") {
|
47
|
-
c(i,
|
47
|
+
c(i, M);
|
48
48
|
return;
|
49
49
|
}
|
50
50
|
throw new Error("No callback provided. If provided it must be a function");
|
51
51
|
},
|
52
52
|
[c]
|
53
|
-
),
|
53
|
+
), O = o(
|
54
54
|
(i) => {
|
55
55
|
if (typeof p == "function") {
|
56
56
|
p(i);
|
@@ -59,7 +59,7 @@ const ne = H((u) => {
|
|
59
59
|
throw new Error("No callback provided. If provided it must be a function");
|
60
60
|
},
|
61
61
|
[p]
|
62
|
-
),
|
62
|
+
), x = o(
|
63
63
|
(i) => {
|
64
64
|
if (typeof d == "function") {
|
65
65
|
d(i, t);
|
@@ -69,10 +69,10 @@ const ne = H((u) => {
|
|
69
69
|
},
|
70
70
|
[d, t]
|
71
71
|
);
|
72
|
-
return m ? /* @__PURE__ */ e(a, { $alignItems: "center", $justifyContent: "center",
|
73
|
-
/* @__PURE__ */ e(
|
72
|
+
return m ? /* @__PURE__ */ e(a, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ T(D, { $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
|
73
|
+
/* @__PURE__ */ e($, { $renderAs: "h6", children: "Oops! Something went wrong. Please try again later." }),
|
74
74
|
/* @__PURE__ */ e(
|
75
|
-
|
75
|
+
I,
|
76
76
|
{
|
77
77
|
widthX: 14,
|
78
78
|
size: "small",
|
@@ -83,60 +83,51 @@ const ne = H((u) => {
|
|
83
83
|
}
|
84
84
|
)
|
85
85
|
] }) }) : f ? r != null && r.length ? /* @__PURE__ */ e(a, { children: /* @__PURE__ */ e(
|
86
|
-
|
86
|
+
U,
|
87
87
|
{
|
88
88
|
milestoneId: t,
|
89
89
|
sheets: r,
|
90
|
-
userType:
|
90
|
+
userType: b,
|
91
91
|
studentId: l,
|
92
|
-
onCreateNewTest:
|
93
|
-
onTestPreview:
|
94
|
-
onTestReview:
|
95
|
-
onTestStart:
|
92
|
+
onCreateNewTest: E,
|
93
|
+
onTestPreview: N,
|
94
|
+
onTestReview: x,
|
95
|
+
onTestStart: O,
|
96
96
|
canUpdatedPlan: C,
|
97
97
|
isMilestoneActive: s
|
98
98
|
}
|
99
|
-
) }) : /* @__PURE__ */ T(
|
100
|
-
|
101
|
-
{
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
/* @__PURE__ */ e(
|
111
|
-
|
99
|
+
) }) : /* @__PURE__ */ T(a, { $gapX: 6.75, $alignItems: "center", $justifyContent: "center", children: [
|
100
|
+
/* @__PURE__ */ e("img", { src: j.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
|
101
|
+
/* @__PURE__ */ e(_, { heightX: 2 }),
|
102
|
+
b === "TEACHER" ? /* @__PURE__ */ T(k, { children: [
|
103
|
+
/* @__PURE__ */ e(
|
104
|
+
L,
|
105
|
+
{
|
106
|
+
renderAs: "primary",
|
107
|
+
position: "bottom",
|
108
|
+
hidden: !v,
|
109
|
+
tooltipItem: P,
|
110
|
+
children: /* @__PURE__ */ e(
|
111
|
+
I,
|
112
112
|
{
|
113
|
+
widthX: 10,
|
113
114
|
renderAs: "primary",
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
size: "small",
|
124
|
-
label: "Create a Test",
|
125
|
-
onClick: S,
|
126
|
-
disabled: y,
|
127
|
-
analyticsLabel: F.CUSTOM_TEST_CREATION_STARTED,
|
128
|
-
analyticsProps: {
|
129
|
-
milestone_id: t
|
130
|
-
}
|
131
|
-
}
|
132
|
-
)
|
115
|
+
shape: "square",
|
116
|
+
size: "small",
|
117
|
+
label: "Create a Test",
|
118
|
+
onClick: E,
|
119
|
+
disabled: v,
|
120
|
+
analyticsLabel: G.CUSTOM_TEST_CREATION_STARTED,
|
121
|
+
analyticsProps: {
|
122
|
+
milestone_id: t
|
123
|
+
}
|
133
124
|
}
|
134
|
-
)
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
}
|
139
|
-
) : /* @__PURE__ */ e(a, { $alignItems: "center", $justifyContent: "center",
|
125
|
+
)
|
126
|
+
}
|
127
|
+
),
|
128
|
+
/* @__PURE__ */ e(_, { heightX: 2 })
|
129
|
+
] }) : /* @__PURE__ */ e($, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to create a test" })
|
130
|
+
] }) : /* @__PURE__ */ e(a, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(H, { height: "100%" }) });
|
140
131
|
});
|
141
132
|
export {
|
142
133
|
ne as default
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tests-list.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-list/tests-list.tsx"],"sourcesContent":["import type { ITestsListProps } from './tests-list-types';\n\nimport { memo, useCallback, useEffect, 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 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 { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-sheets-list/test-sheets-list';\nimport * as Styled from './tests-list-styled';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const { onCreateMilestoneTest, onTestPreview, onTestReview, onTestStart } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnPreview = useCallback<NonNullable<ITestsListProps['onTestPreview']>>(\n (milestoneId, sheetData) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview(milestoneId, sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview],\n );\n\n const handleOnStart = useCallback<NonNullable<ITestsListProps['onTestStart']>>(\n sheet => {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnReview = useCallback<NonNullable<ITestsListProps['onTestReview']>>(\n sheet => {\n if (typeof onTestReview === 'function') {\n onTestReview(sheet, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\" $background=\"WHITE\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.TestHelpWrapper>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <Styled.TestHelpWrapper>\n <TestSheetsList\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n onTestPreview={handleOnPreview}\n onTestReview={handleOnReview}\n onTestStart={handleOnStart}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper\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={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\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 create a test\n </Text>\n )}\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.TestHelpWrapper>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestReview","onTestStart","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnPreview","milestoneId","sheetData","handleOnStart","sheet","handleOnReview","Styled.TestHelpWrapper","FlexView","jsx","Text","Button","TestSheetsList","jsxs","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"tests-list.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-list/tests-list.tsx"],"sourcesContent":["import type { ITestsListProps } from './tests-list-types';\n\nimport { memo, useCallback, useEffect, 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 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 { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-sheets-list/test-sheets-list';\nimport * as Styled from './tests-list-styled';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const { onCreateMilestoneTest, onTestPreview, onTestReview, onTestStart } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnPreview = useCallback<NonNullable<ITestsListProps['onTestPreview']>>(\n (milestoneId, sheetData) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview(milestoneId, sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview],\n );\n\n const handleOnStart = useCallback<NonNullable<ITestsListProps['onTestStart']>>(\n sheet => {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnReview = useCallback<NonNullable<ITestsListProps['onTestReview']>>(\n sheet => {\n if (typeof onTestReview === 'function') {\n onTestReview(sheet, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.TestHelpWrapper>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <Styled.TestHelpWrapper>\n <TestSheetsList\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n onTestPreview={handleOnPreview}\n onTestReview={handleOnReview}\n onTestStart={handleOnStart}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $gapX={6.75} $alignItems=\"center\" $justifyContent=\"center\">\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={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\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 create a test\n </Text>\n )}\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </Styled.TestHelpWrapper>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestReview","onTestStart","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnPreview","milestoneId","sheetData","handleOnStart","sheet","handleOnReview","jsx","Styled.TestHelpWrapper","jsxs","FlexView","Text","Button","TestSheetsList","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
const
|
1
|
+
const E = {
|
2
2
|
CHANGE_LOCATION: "Change location",
|
3
3
|
RESET_PROGRESS: "Reset progress",
|
4
4
|
MARK_AS_FAMILIAR: "Mark as learned",
|
@@ -11,10 +11,9 @@ const A = {
|
|
11
11
|
MARK_AS_DONE: "Mark as Done",
|
12
12
|
SKIP: "Skip",
|
13
13
|
REVERT_SKIP: "Revert Skip",
|
14
|
-
REDO: "Redo"
|
15
|
-
ASSIGN_AS_HW: "Assign as HW"
|
14
|
+
REDO: "Redo"
|
16
15
|
};
|
17
16
|
export {
|
18
|
-
|
17
|
+
E as TEACHER_MENU_OPTIONS
|
19
18
|
};
|
20
19
|
//# sourceMappingURL=teacher-actions-constant.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"teacher-actions-constant.js","sources":["../../../../../../../src/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.ts"],"sourcesContent":["export const TEACHER_MENU_OPTIONS = {\n CHANGE_LOCATION: 'Change location',\n RESET_PROGRESS: 'Reset progress',\n MARK_AS_FAMILIAR: 'Mark as learned',\n MARK_BACK_AS_RELEVANT: 'Mark back as relevant',\n MARK_AS_NOT_NEEDED: 'Mark as not needed',\n UNASSIGN: 'Unassign',\n //* New options\n ENABLE_AS_HW: 'Enable as HW',\n REVERT_TO_CW: 'Revert to CW',\n MARK_AS_DONE: 'Mark as Done',\n SKIP: 'Skip',\n REVERT_SKIP: 'Revert Skip',\n REDO: 'Redo',\n
|
1
|
+
{"version":3,"file":"teacher-actions-constant.js","sources":["../../../../../../../src/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.ts"],"sourcesContent":["export const TEACHER_MENU_OPTIONS = {\n CHANGE_LOCATION: 'Change location',\n RESET_PROGRESS: 'Reset progress',\n MARK_AS_FAMILIAR: 'Mark as learned',\n MARK_BACK_AS_RELEVANT: 'Mark back as relevant',\n MARK_AS_NOT_NEEDED: 'Mark as not needed',\n UNASSIGN: 'Unassign',\n //* New options\n ENABLE_AS_HW: 'Enable as HW',\n REVERT_TO_CW: 'Revert to CW',\n MARK_AS_DONE: 'Mark as Done',\n SKIP: 'Skip',\n REVERT_SKIP: 'Revert Skip',\n REDO: 'Redo',\n} as const;\n"],"names":["TEACHER_MENU_OPTIONS"],"mappings":"AAAO,MAAMA,IAAuB;AAAA,EAClC,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,UAAU;AAAA;AAAA,EAEV,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,MAAM;AAAA,EACN,aAAa;AAAA,EACb,MAAM;AACR;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"is-v3-worksheet.js","sources":["../../../../src/features/sheets/utils/is-v3-worksheet.ts"],"sourcesContent":["import type { IWorksheetAttemptModel } from '../../../types/models/worksheet';\nimport type {
|
1
|
+
{"version":3,"file":"is-v3-worksheet.js","sources":["../../../../src/features/sheets/utils/is-v3-worksheet.ts"],"sourcesContent":["import type { IWorksheetAttemptModel } from '../../../types/models/worksheet';\nimport type { TLPARSheetData } from '../../chapters/lpar-chapter/block-section/sheet-item/sheet-item-type';\nimport type { ISheetDataProps, TNodeTypeProps } from '../sheets-list/sheet-item/sheet-item-types';\n\nimport { NODE_TYPE } from '../constants/sheet';\n\nconst SAT_V3_NODE_TYPES: TNodeTypeProps[] = [\n 'SAT_MATH_ASSESSMENT',\n 'SAT_ENGLISH_ASSESSMENT',\n 'SAT_MATH_RECAP',\n 'SAT_MATH_LEARNING',\n 'SAT_ENGLISH_LEARNING',\n];\nconst WORKSHEET_V3_NODE_TYPES: TNodeTypeProps[] = [\n ...SAT_V3_NODE_TYPES,\n NODE_TYPE.REMEDIAL,\n NODE_TYPE.LEGACY,\n NODE_TYPE.RECAP,\n NODE_TYPE.GENERAL,\n NODE_TYPE.LEVEL3,\n NODE_TYPE.LEVEL2,\n NODE_TYPE.REVISION,\n NODE_TYPE.TARGET_PRACTICE,\n NODE_TYPE.EXTRA_PRACTICE,\n NODE_TYPE.PRACTICE,\n NODE_TYPE.LEARNING,\n NODE_TYPE.PUZZLE_EASY,\n NODE_TYPE.PUZZLE_MEDIUM,\n NODE_TYPE.PUZZLE_HARD,\n NODE_TYPE.CHAPTER_ASSESSMENT,\n NODE_TYPE.ASSESSMENT,\n NODE_TYPE.MASTERY,\n NODE_TYPE.TRIAL_DIAGNOSTIC,\n NODE_TYPE.DYNAMIC,\n NODE_TYPE.TURING_ASSESSMENT,\n NODE_TYPE.TURING_PRACTICE,\n NODE_TYPE.DIAGNOSTIC,\n NODE_TYPE.SUBJECTIVE,\n NODE_TYPE.TURING_SUBJECTIVE,\n];\n\nconst isV3Worksheet = (\n sheet: ISheetDataProps | TLPARSheetData,\n mode?: 'resume' | 'review',\n): boolean => {\n const { node_type, is_worksheet_v3, is_lesson_v3_enabled } = sheet;\n\n if (mode === 'review') {\n return WORKSHEET_V3_NODE_TYPES.includes(node_type);\n }\n\n const canStart = 'can_start' in sheet ? sheet.can_start : sheet.permissions.can_start;\n const canReattempt =\n 'can_reattempt' in sheet ? sheet.can_reattempt : sheet.permissions.can_reattempt;\n const canRedo = 'can_redo' in sheet ? sheet.can_redo : false;\n\n if (is_worksheet_v3 || is_lesson_v3_enabled) {\n return true;\n }\n\n // For new and reattemptable worksheets start the worksheet in v3 mode\n if (canStart || canReattempt || canRedo) {\n return WORKSHEET_V3_NODE_TYPES.includes(node_type);\n }\n\n // For SAT assessments start the worksheet in v3 mode\n if (SAT_V3_NODE_TYPES.includes(node_type)) {\n return true;\n }\n\n return false;\n};\n\nconst isV3WorksheetAttempt = (attempt: IWorksheetAttemptModel): boolean => {\n const { node_type, is_worksheet_v3, is_lesson_v3_enabled } = attempt;\n\n return (\n is_worksheet_v3 ||\n is_lesson_v3_enabled ||\n SAT_V3_NODE_TYPES.includes(node_type as TNodeTypeProps)\n );\n};\n\nexport { isV3Worksheet, isV3WorksheetAttempt };\n"],"names":["SAT_V3_NODE_TYPES","WORKSHEET_V3_NODE_TYPES","NODE_TYPE","isV3Worksheet","sheet","mode","node_type","is_worksheet_v3","is_lesson_v3_enabled","canStart","canReattempt","canRedo","isV3WorksheetAttempt","attempt"],"mappings":";AAMA,MAAMA,IAAsC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACMC,IAA4C;AAAA,EAChD,GAAGD;AAAA,EACHE,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AACZ,GAEMC,IAAgB,CACpBC,GACAC,MACY;AACZ,QAAM,EAAE,WAAAC,GAAW,iBAAAC,GAAiB,sBAAAC,EAAA,IAAyBJ;AAE7D,MAAIC,MAAS;AACJ,WAAAJ,EAAwB,SAASK,CAAS;AAGnD,QAAMG,IAAW,eAAeL,IAAQA,EAAM,YAAYA,EAAM,YAAY,WACtEM,IACJ,mBAAmBN,IAAQA,EAAM,gBAAgBA,EAAM,YAAY,eAC/DO,IAAU,cAAcP,IAAQA,EAAM,WAAW;AAEvD,SAAIG,KAAmBC,IACd,KAILC,KAAYC,KAAgBC,IACvBV,EAAwB,SAASK,CAAS,IAI/C,EAAAN,EAAkB,SAASM,CAAS;AAK1C,GAEMM,IAAuB,CAACC,MAA6C;AACzE,QAAM,EAAE,WAAAP,GAAW,iBAAAC,GAAiB,sBAAAC,EAAA,IAAyBK;AAE7D,SACEN,KACAC,KACAR,EAAkB,SAASM,CAA2B;AAE1D;"}
|
@@ -1,17 +1,17 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import
|
3
|
-
import { useRef as
|
4
|
-
import { useTheme as
|
1
|
+
import { jsxs as D, Fragment as I, jsx as r } from "react/jsx-runtime";
|
2
|
+
import U from "../../../node_modules/lodash.throttle/index.js";
|
3
|
+
import { useRef as W, useState as m, useCallback as $, useEffect as Y } from "react";
|
4
|
+
import { useTheme as H } from "styled-components";
|
5
5
|
import C from "../layout/flex-view.js";
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import { TooltipBody as
|
9
|
-
import { computeTooltipNewCoOrdinates as
|
10
|
-
const
|
6
|
+
import P from "../portal/portal.js";
|
7
|
+
import V from "../text/text.js";
|
8
|
+
import { TooltipBody as Z } from "./arrow-tooltip-styled.js";
|
9
|
+
import { computeTooltipNewCoOrdinates as q } from "./arrow-tooltip-util.js";
|
10
|
+
const y = 8, G = 100, J = ({
|
11
11
|
isAnimated: O,
|
12
12
|
alwaysVisible: o = !1,
|
13
13
|
arrowColor: T,
|
14
|
-
arrowSize: h =
|
14
|
+
arrowSize: h = y,
|
15
15
|
arrowXCoOrdinates: g,
|
16
16
|
arrowYCoOrdinates: w,
|
17
17
|
backgroundColor: R,
|
@@ -27,62 +27,61 @@ const G = 8, J = 100, K = ({
|
|
27
27
|
tooltipYCoOrdinates: k,
|
28
28
|
width: F,
|
29
29
|
widthX: L,
|
30
|
-
zIndex: M
|
31
|
-
parentWidth: S
|
30
|
+
zIndex: M
|
32
31
|
}) => {
|
33
|
-
const { arrowTooltip:
|
32
|
+
const { arrowTooltip: S } = H(), { tooltipVariants: a } = S, { backgroundColorName: X } = a[i], u = W(null), [_, p] = m(o), [j, v] = m(
|
34
33
|
null
|
35
34
|
), s = $(
|
36
35
|
(e, n) => {
|
37
|
-
|
36
|
+
v(e), p(n);
|
38
37
|
},
|
39
38
|
[]
|
40
|
-
),
|
39
|
+
), z = $(() => {
|
41
40
|
if (t || o)
|
42
41
|
return null;
|
43
42
|
s(null, !1);
|
44
|
-
}, [o, s, t]), d =
|
43
|
+
}, [o, s, t]), d = U(() => {
|
45
44
|
var f;
|
46
45
|
const { current: e } = u;
|
47
46
|
if (t || !e) return null;
|
48
|
-
const n = (f = e.children[0]) == null ? void 0 : f.getBoundingClientRect(),
|
49
|
-
return s(
|
50
|
-
},
|
51
|
-
return
|
47
|
+
const n = (f = e.children[0]) == null ? void 0 : f.getBoundingClientRect(), B = n ? q(c, n) : null;
|
48
|
+
return s(B, !0), null;
|
49
|
+
}, G);
|
50
|
+
return Y(() => {
|
52
51
|
t && p(!1), o && d();
|
53
|
-
}, [o, t]), /* @__PURE__ */ I
|
52
|
+
}, [o, t]), /* @__PURE__ */ D(I, { children: [
|
54
53
|
/* @__PURE__ */ r(
|
55
54
|
C,
|
56
55
|
{
|
57
|
-
$width:
|
56
|
+
$width: "fit-content",
|
58
57
|
ref: u,
|
59
58
|
onMouseEnter: d,
|
60
|
-
onMouseLeave:
|
59
|
+
onMouseLeave: z,
|
61
60
|
children: /* @__PURE__ */ r(C, { children: x })
|
62
61
|
}
|
63
62
|
),
|
64
|
-
|
65
|
-
|
63
|
+
_ && /* @__PURE__ */ r(P, { portalId: "tooltip-root", children: /* @__PURE__ */ r(
|
64
|
+
Z,
|
66
65
|
{
|
67
66
|
$arrowSize: h,
|
68
67
|
$arrowXCoOrdinates: g,
|
69
68
|
$arrowYCoOrdinates: w,
|
70
69
|
$position: c,
|
71
70
|
$renderAs: i,
|
72
|
-
$tooltipCoOrdinates:
|
71
|
+
$tooltipCoOrdinates: j,
|
73
72
|
$tooltipOffset: E,
|
74
73
|
$tooltipXCoOrdinates: N,
|
75
74
|
$tooltipYCoOrdinates: k,
|
76
75
|
$width: F,
|
77
76
|
$widthX: L,
|
78
77
|
$zIndex: M,
|
79
|
-
$background:
|
78
|
+
$background: X,
|
80
79
|
$backgroundColor: R,
|
81
80
|
$arrowColor: T,
|
82
81
|
$borderColor: b,
|
83
82
|
$isAnimated: O,
|
84
83
|
children: typeof l == "string" ? /* @__PURE__ */ r(
|
85
|
-
|
84
|
+
V,
|
86
85
|
{
|
87
86
|
$renderAs: A || "body3",
|
88
87
|
$color: a[i].textColorName,
|
@@ -93,8 +92,8 @@ const G = 8, J = 100, K = ({
|
|
93
92
|
}
|
94
93
|
) })
|
95
94
|
] });
|
96
|
-
},
|
95
|
+
}, so = J;
|
97
96
|
export {
|
98
|
-
|
97
|
+
so as default
|
99
98
|
};
|
100
99
|
//# sourceMappingURL=arrow-tooltip.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"arrow-tooltip.js","sources":["../../../../src/features/ui/arrow-tooltip/arrow-tooltip.tsx"],"sourcesContent":["import type {\n IArrowTooltipProps,\n THandleVisibleNCoOrdinatesProps,\n TTooltipCoOrdinatesProps,\n} from './arrow-tooltip-types';\n\nimport throttle from 'lodash.throttle';\nimport { useState, type FC, useCallback, useRef, useEffect } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\nimport Portal from '../portal/portal';\nimport Text from '../text/text';\nimport * as Styled from './arrow-tooltip-styled';\nimport { computeTooltipNewCoOrdinates } from './arrow-tooltip-util';\n\nconst DEFAULT_ARROW_SIZE = 8;\nconst THROTTLE_DURATION = 100;\n\nconst ArrowTooltip: FC<IArrowTooltipProps> = ({\n isAnimated,\n alwaysVisible = false,\n arrowColor,\n arrowSize = DEFAULT_ARROW_SIZE,\n arrowXCoOrdinates,\n arrowYCoOrdinates,\n backgroundColor,\n borderColor,\n children,\n hidden,\n position,\n renderAs,\n textVariant,\n tooltipItem,\n tooltipOffset,\n tooltipXCoOrdinates,\n tooltipYCoOrdinates,\n width,\n widthX,\n zIndex,\n
|
1
|
+
{"version":3,"file":"arrow-tooltip.js","sources":["../../../../src/features/ui/arrow-tooltip/arrow-tooltip.tsx"],"sourcesContent":["import type {\n IArrowTooltipProps,\n THandleVisibleNCoOrdinatesProps,\n TTooltipCoOrdinatesProps,\n} from './arrow-tooltip-types';\n\nimport throttle from 'lodash.throttle';\nimport { useState, type FC, useCallback, useRef, useEffect } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\nimport Portal from '../portal/portal';\nimport Text from '../text/text';\nimport * as Styled from './arrow-tooltip-styled';\nimport { computeTooltipNewCoOrdinates } from './arrow-tooltip-util';\n\nconst DEFAULT_ARROW_SIZE = 8;\nconst THROTTLE_DURATION = 100;\n\nconst ArrowTooltip: FC<IArrowTooltipProps> = ({\n isAnimated,\n alwaysVisible = false,\n arrowColor,\n arrowSize = DEFAULT_ARROW_SIZE,\n arrowXCoOrdinates,\n arrowYCoOrdinates,\n backgroundColor,\n borderColor,\n children,\n hidden,\n position,\n renderAs,\n textVariant,\n tooltipItem,\n tooltipOffset,\n tooltipXCoOrdinates,\n tooltipYCoOrdinates,\n width,\n widthX,\n zIndex,\n}) => {\n const { arrowTooltip } = useTheme();\n const { tooltipVariants } = arrowTooltip;\n const { backgroundColorName } = tooltipVariants[renderAs];\n\n const tooltipWrapperRef = useRef<HTMLDivElement>(null);\n const [visible, setVisible] = useState(alwaysVisible);\n const [tooltipCoOrdinates, setTooltipCoOrdinates] = useState<TTooltipCoOrdinatesProps | null>(\n null,\n );\n\n const handleVisibleNCoOrdinates: THandleVisibleNCoOrdinatesProps = useCallback(\n (newCoOrdinates, visibility) => {\n setTooltipCoOrdinates(newCoOrdinates);\n setVisible(visibility);\n },\n [],\n );\n\n const handleVisibility = useCallback(() => {\n if (hidden || alwaysVisible) {\n return null;\n }\n\n handleVisibleNCoOrdinates(null, false);\n\n return;\n }, [alwaysVisible, handleVisibleNCoOrdinates, hidden]);\n\n const handleOnMouseEnter = throttle(() => {\n const { current } = tooltipWrapperRef;\n\n if (hidden || !current) return null;\n\n const boundingClientRect = current.children[0]?.getBoundingClientRect();\n const newCoOrdinates = boundingClientRect\n ? computeTooltipNewCoOrdinates(position, boundingClientRect)\n : null;\n\n handleVisibleNCoOrdinates(newCoOrdinates, true);\n\n return null;\n }, THROTTLE_DURATION);\n\n useEffect(() => {\n if (hidden) {\n setVisible(false);\n }\n\n if (alwaysVisible) {\n handleOnMouseEnter();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [alwaysVisible, hidden]);\n\n return (\n <>\n <FlexView\n $width=\"fit-content\"\n ref={tooltipWrapperRef}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleVisibility}\n >\n <FlexView>{children}</FlexView>\n </FlexView>\n {visible && (\n <Portal portalId=\"tooltip-root\">\n <Styled.TooltipBody\n $arrowSize={arrowSize}\n $arrowXCoOrdinates={arrowXCoOrdinates}\n $arrowYCoOrdinates={arrowYCoOrdinates}\n $position={position}\n $renderAs={renderAs}\n $tooltipCoOrdinates={tooltipCoOrdinates}\n $tooltipOffset={tooltipOffset}\n $tooltipXCoOrdinates={tooltipXCoOrdinates}\n $tooltipYCoOrdinates={tooltipYCoOrdinates}\n $width={width}\n $widthX={widthX}\n $zIndex={zIndex}\n $background={backgroundColorName}\n $backgroundColor={backgroundColor}\n $arrowColor={arrowColor}\n $borderColor={borderColor}\n $isAnimated={isAnimated}\n >\n {typeof tooltipItem === 'string' ? (\n <Text\n $renderAs={textVariant || 'body3'}\n $color={tooltipVariants[renderAs].textColorName}\n $align=\"center\"\n >\n {tooltipItem}\n </Text>\n ) : (\n tooltipItem\n )}\n </Styled.TooltipBody>\n </Portal>\n )}\n </>\n );\n};\n\nexport default ArrowTooltip;\n"],"names":["DEFAULT_ARROW_SIZE","THROTTLE_DURATION","ArrowTooltip","isAnimated","alwaysVisible","arrowColor","arrowSize","arrowXCoOrdinates","arrowYCoOrdinates","backgroundColor","borderColor","children","hidden","position","renderAs","textVariant","tooltipItem","tooltipOffset","tooltipXCoOrdinates","tooltipYCoOrdinates","width","widthX","zIndex","arrowTooltip","useTheme","tooltipVariants","backgroundColorName","tooltipWrapperRef","useRef","visible","setVisible","useState","tooltipCoOrdinates","setTooltipCoOrdinates","handleVisibleNCoOrdinates","useCallback","newCoOrdinates","visibility","handleVisibility","handleOnMouseEnter","throttle","current","boundingClientRect","_a","computeTooltipNewCoOrdinates","useEffect","jsxs","Fragment","jsx","FlexView","Portal","Styled.TooltipBody","Text","ArrowTooltip$1"],"mappings":"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"}
|