@cuemath/leap 3.5.73 → 3.5.74
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/blockers/multi-tab-blocker/multi-tab-blocker.js +10 -10
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js +15 -15
- package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/block-section.js +22 -22
- package/dist/features/chapters/lpar-chapter/block-section/block-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js +11 -11
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js +20 -20
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +10 -10
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.js +5 -5
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js +12 -12
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +6 -6
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js +15 -15
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js +5 -5
- package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/comps/tab-section.js +9 -9
- package/dist/features/chapters/lpar-chapter/comps/tab-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js +24 -24
- package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js +6 -6
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js +23 -23
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js +11 -11
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.js +21 -21
- package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js +12 -12
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js +13 -13
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js +13 -13
- package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js +22 -22
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js +12 -12
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +10 -10
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js +1 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +10 -10
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js +12 -12
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +11 -11
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js +31 -31
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +18 -18
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -1
- package/dist/features/extra-practice/extra-practice.js +16 -16
- package/dist/features/extra-practice/extra-practice.js.map +1 -1
- package/dist/features/extra-practice/list/list.js +16 -16
- package/dist/features/extra-practice/list/list.js.map +1 -1
- package/dist/features/milestone/create/comps/info-points/info-points.js +5 -5
- package/dist/features/milestone/create/comps/info-points/info-points.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js +11 -11
- package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js +32 -32
- package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js.map +1 -1
- package/dist/features/milestone/edit/comps/delete-milestone/confirm-delete.js +3 -3
- package/dist/features/milestone/edit/comps/delete-milestone/confirm-delete.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js +19 -19
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js +21 -21
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +16 -16
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +14 -14
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js +6 -6
- package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-container.js +20 -20
- package/dist/features/milestone/outcome/comps/achievement/achievement-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js +8 -8
- package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/input-descriptor.js +4 -4
- package/dist/features/milestone/outcome/comps/outcome-collection/input-descriptor.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js +5 -5
- package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js +12 -12
- package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js +5 -5
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/question.js +3 -3
- package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
- package/dist/features/milestone/outcome/milestone-outcome-container.js +8 -8
- package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
- package/dist/features/milestone/start/milestone-start.js +8 -8
- package/dist/features/milestone/start/milestone-start.js.map +1 -1
- package/dist/features/puzzles/puzzle-container/puzzle-container-view.js +1 -1
- package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +1 -1
- package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js +1 -1
- package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +1 -1
- package/dist/features/sheet-tools/tool-header/tool-header.js +19 -19
- package/dist/features/sheet-tools/tool-header/tool-header.js.map +1 -1
- package/dist/features/sheets/reference-sheet/reference-sheet.js +1 -1
- package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js +9 -9
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js +6 -6
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js +15 -15
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js +16 -16
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheets-list.js +18 -18
- package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/student-details/student-details.js +6 -6
- package/dist/features/student-details/student-details.js.map +1 -1
- package/dist/features/student-details/wins-preview/wins-preview.js +8 -8
- package/dist/features/student-details/wins-preview/wins-preview.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js +3 -3
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js.map +1 -1
- package/dist/features/trial-session/comps/clock/clock.js +6 -6
- package/dist/features/trial-session/comps/clock/clock.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/cues/index.js +5 -5
- package/dist/features/trial-session/comps/cue-tips/cues/index.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/tips/index.js +6 -6
- package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
- package/dist/features/trial-session/comps/solutions/index.js +9 -9
- package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +16 -16
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js +7 -7
- package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +1 -1
- package/dist/features/ui/callout/callout.js +5 -5
- package/dist/features/ui/callout/callout.js.map +1 -1
- package/dist/features/ui/error/error.js +14 -14
- package/dist/features/ui/error/error.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input.js +4 -4
- package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-option/select-option.js +8 -8
- package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-section/select-section.js +12 -12
- package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
- package/dist/features/ui/inputs/num-range-input/num-range-input.js +6 -6
- package/dist/features/ui/inputs/num-range-input/num-range-input.js.map +1 -1
- package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js +3 -3
- package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits.js +3 -3
- package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
- package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js +9 -9
- package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js.map +1 -1
- package/dist/features/ui/stepper/stepper.js +7 -7
- package/dist/features/ui/stepper/stepper.js.map +1 -1
- package/dist/features/ui/tag/tag.js +1 -1
- package/dist/features/ui/tag/tag.js.map +1 -1
- package/dist/features/ui/theme/input.js +13 -13
- package/dist/features/ui/theme/input.js.map +1 -1
- package/dist/features/ui/theme/tab.js +4 -4
- package/dist/features/ui/theme/tab.js.map +1 -1
- package/dist/features/ui/theme/text-button.js +3 -3
- package/dist/features/ui/theme/text-button.js.map +1 -1
- package/dist/features/ui/timers/countdown-timer/countdown-timer.js +14 -14
- package/dist/features/ui/timers/countdown-timer/countdown-timer.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/belts.js +27 -27
- package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +15 -23
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js +12 -12
- package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +1 -1
- package/dist/features/wins-dashboard/header/wins-header.js +10 -10
- package/dist/features/wins-dashboard/header/wins-header.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/animated-tabbar.js +13 -13
- package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/student-badge.js +18 -18
- package/dist/features/wins-dashboard/student-badges/student-badge.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js +10 -10
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js +2 -2
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js +7 -7
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js +2 -2
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js +5 -5
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js +20 -20
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +11 -11
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/sheet-locked.js +12 -12
- package/dist/features/worksheet/worksheet/worksheet-permissions/sheet-locked.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js +7 -7
- package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/header.js +21 -21
- package/dist/features/worksheet/worksheet/worksheet-question/header/header.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/advanced-practice-intro.js +6 -6
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/advanced-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/basic-practice-intro.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/basic-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/exit-ticket-intro.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/exit-ticket-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/regular-practice-intro.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/intros/system-intros/regular-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-feedback.js +41 -41
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-feedback.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js +23 -23
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js +6 -6
- package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js +18 -18
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +11 -11
- 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 +14 -14
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
- package/package.json +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
|
@@ -3,12 +3,12 @@ import { memo as a } from "react";
|
|
|
3
3
|
import f from "../../../../../../assets/line-icons/icons/info.js";
|
|
4
4
|
import h from "../../../../../../assets/line-icons/icons/minus2.js";
|
|
5
5
|
import p from "../../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
6
|
-
import
|
|
7
|
-
import { ZINDEX as
|
|
6
|
+
import $ from "../../../../../ui/buttons/text-button/text-button.js";
|
|
7
|
+
import { ZINDEX as y } from "../../../../../ui/constants/z-index.js";
|
|
8
8
|
import o from "../../../../../ui/layout/flex-view.js";
|
|
9
9
|
import i from "../../../../../ui/text/text.js";
|
|
10
10
|
import { SAT_TEST_QUESTION_STATUS as b } from "../../../constants/index.js";
|
|
11
|
-
import { FlexText as A, StyledCheckIcon as I, StyledCrossIcon as T, TableRow as
|
|
11
|
+
import { FlexText as A, StyledCheckIcon as I, StyledCrossIcon as T, TableRow as d, StyledTableBody as C } from "./sat-sheet-summary-styled.js";
|
|
12
12
|
const { CORRECT: S, INCORRECT: g, UNSCORED: x } = b, k = [
|
|
13
13
|
{
|
|
14
14
|
key: "section-column",
|
|
@@ -33,7 +33,7 @@ const { CORRECT: S, INCORRECT: g, UNSCORED: x } = b, k = [
|
|
|
33
33
|
], w = "Unscored questions are those which do not impact your final mark, so it does not matter if you get them right or wrong.", R = a(function({
|
|
34
34
|
status: r
|
|
35
35
|
}) {
|
|
36
|
-
return r === x ? /* @__PURE__ */ c(A, { $renderAs: "
|
|
36
|
+
return r === x ? /* @__PURE__ */ c(A, { $renderAs: "ub2", $align: "center", $opacity: 0.5, children: [
|
|
37
37
|
"Unscored",
|
|
38
38
|
" ",
|
|
39
39
|
/* @__PURE__ */ e(
|
|
@@ -42,26 +42,26 @@ const { CORRECT: S, INCORRECT: g, UNSCORED: x } = b, k = [
|
|
|
42
42
|
renderAs: "primary",
|
|
43
43
|
position: "bottom",
|
|
44
44
|
tooltipItem: w,
|
|
45
|
-
zIndex:
|
|
45
|
+
zIndex: y.SAT_SUMMARY_SCORE,
|
|
46
46
|
widthX: 19.6025,
|
|
47
47
|
children: /* @__PURE__ */ e(f, {})
|
|
48
48
|
}
|
|
49
49
|
)
|
|
50
50
|
] }) : r === S ? /* @__PURE__ */ e(I, {}) : r === g ? /* @__PURE__ */ e(T, {}) : /* @__PURE__ */ e(h, {});
|
|
51
|
-
}), B = ({ questionByQuestionList:
|
|
51
|
+
}), B = ({ questionByQuestionList: m, onReview: r }) => /* @__PURE__ */ c(o, { $flexGapX: 1, children: [
|
|
52
52
|
/* @__PURE__ */ e(i, { $renderAs: "ac4-black", children: "Question by question overview" }),
|
|
53
53
|
/* @__PURE__ */ c("table", { children: [
|
|
54
|
-
/* @__PURE__ */ e("thead", { children: /* @__PURE__ */ e(
|
|
54
|
+
/* @__PURE__ */ e("thead", { children: /* @__PURE__ */ e(d, { children: k.map((l) => {
|
|
55
55
|
const { key: n, label: t, centerAlign: s } = l;
|
|
56
56
|
return /* @__PURE__ */ e("th", { children: /* @__PURE__ */ e(i, { $renderAs: "ub3", $opacity: 0.5, $align: s ? "center" : "left", children: t }) }, n);
|
|
57
57
|
}) }) }),
|
|
58
|
-
/* @__PURE__ */ e(C, { children:
|
|
58
|
+
/* @__PURE__ */ e(C, { children: m.map((l) => {
|
|
59
59
|
const { question_no: n, section: t, score: s, user_node_id: u } = l;
|
|
60
|
-
return /* @__PURE__ */ c(
|
|
60
|
+
return /* @__PURE__ */ c(d, { children: [
|
|
61
61
|
/* @__PURE__ */ e(i, { $renderAs: "ub3", children: t }),
|
|
62
62
|
/* @__PURE__ */ e(o, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(i, { $renderAs: "ub3-bold", $align: "center", children: n }) }),
|
|
63
63
|
/* @__PURE__ */ e(o, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(R, { status: s }) }),
|
|
64
|
-
/* @__PURE__ */ e(o, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(
|
|
64
|
+
/* @__PURE__ */ e(o, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e($, { label: "Review", onClick: () => r(u, n - 1) }) })
|
|
65
65
|
] }, `${n}_${t}`);
|
|
66
66
|
}) })
|
|
67
67
|
] })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question-overview.js","sources":["../../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport InfoIcon from '../../../../../../assets/line-icons/icons/info';\nimport Minus2Icon from '../../../../../../assets/line-icons/icons/minus2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport TextButton from '../../../../../ui/buttons/text-button/text-button';\nimport { ZINDEX } from '../../../../../ui/constants/z-index';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { SAT_TEST_QUESTION_STATUS } from '../../../constants';\nimport * as Styled from './sat-sheet-summary-styled';\nimport type { IQuestionOverView } from './sat-sheet-summary-type';\n\nconst { CORRECT, INCORRECT, UNSCORED } = SAT_TEST_QUESTION_STATUS;\n\nconst columns = [\n {\n key: 'section-column',\n label: 'Section',\n centerAlign: false,\n },\n {\n key: 'question-no-column',\n label: 'Question no.',\n centerAlign: true,\n },\n {\n key: 'correctness-column',\n label: 'Correct/Incorrect',\n centerAlign: true,\n },\n {\n key: 'action-column',\n label: 'Action',\n centerAlign: true,\n },\n];\n\nconst unscoredText =\n 'Unscored questions are those which do not impact your final mark, so it does not matter if you get them right or wrong.';\n\nconst CorrectIncorrectStatus: FC<{ status: string | null }> = memo(function CorrectIncorrectStatus({\n status,\n}) {\n if (status === UNSCORED) {\n return (\n <Styled.FlexText $renderAs=\"
|
|
1
|
+
{"version":3,"file":"question-overview.js","sources":["../../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport InfoIcon from '../../../../../../assets/line-icons/icons/info';\nimport Minus2Icon from '../../../../../../assets/line-icons/icons/minus2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport TextButton from '../../../../../ui/buttons/text-button/text-button';\nimport { ZINDEX } from '../../../../../ui/constants/z-index';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { SAT_TEST_QUESTION_STATUS } from '../../../constants';\nimport * as Styled from './sat-sheet-summary-styled';\nimport type { IQuestionOverView } from './sat-sheet-summary-type';\n\nconst { CORRECT, INCORRECT, UNSCORED } = SAT_TEST_QUESTION_STATUS;\n\nconst columns = [\n {\n key: 'section-column',\n label: 'Section',\n centerAlign: false,\n },\n {\n key: 'question-no-column',\n label: 'Question no.',\n centerAlign: true,\n },\n {\n key: 'correctness-column',\n label: 'Correct/Incorrect',\n centerAlign: true,\n },\n {\n key: 'action-column',\n label: 'Action',\n centerAlign: true,\n },\n];\n\nconst unscoredText =\n 'Unscored questions are those which do not impact your final mark, so it does not matter if you get them right or wrong.';\n\nconst CorrectIncorrectStatus: FC<{ status: string | null }> = memo(function CorrectIncorrectStatus({\n status,\n}) {\n if (status === UNSCORED) {\n return (\n <Styled.FlexText $renderAs=\"ub2\" $align=\"center\" $opacity={0.5}>\n Unscored{' '}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={unscoredText}\n zIndex={ZINDEX.SAT_SUMMARY_SCORE}\n widthX={19.6025}\n >\n <InfoIcon />\n </ArrowTooltip>\n </Styled.FlexText>\n );\n }\n\n if (status === CORRECT) {\n return <Styled.StyledCheckIcon />;\n }\n\n if (status === INCORRECT) {\n return <Styled.StyledCrossIcon />;\n }\n\n return <Minus2Icon />;\n});\n\nconst QuestionOverview: FC<IQuestionOverView> = ({ questionByQuestionList, onReview }) => {\n return (\n <FlexView $flexGapX={1}>\n <Text $renderAs=\"ac4-black\">Question by question overview</Text>\n\n <table>\n <thead>\n <Styled.TableRow>\n {columns.map(columnInfo => {\n const { key, label, centerAlign } = columnInfo;\n\n return (\n <th key={key}>\n <Text $renderAs=\"ub3\" $opacity={0.5} $align={centerAlign ? 'center' : 'left'}>\n {label}\n </Text>\n </th>\n );\n })}\n </Styled.TableRow>\n </thead>\n\n <Styled.StyledTableBody>\n {questionByQuestionList.map(data => {\n const { question_no: questionNo, section, score, user_node_id: userNodeId } = data;\n\n return (\n <Styled.TableRow key={`${questionNo}_${section}`}>\n <Text $renderAs=\"ub3\">{section}</Text>\n\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"ub3-bold\" $align=\"center\">\n {questionNo}\n </Text>\n </FlexView>\n\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n <CorrectIncorrectStatus status={score} />\n </FlexView>\n\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n <TextButton label=\"Review\" onClick={() => onReview(userNodeId, questionNo - 1)} />\n </FlexView>\n </Styled.TableRow>\n );\n })}\n </Styled.StyledTableBody>\n </table>\n </FlexView>\n );\n};\n\nexport default QuestionOverview;\n"],"names":["CORRECT","INCORRECT","UNSCORED","SAT_TEST_QUESTION_STATUS","columns","unscoredText","CorrectIncorrectStatus","memo","status","jsxs","Styled.FlexText","jsx","ArrowTooltip","ZINDEX","InfoIcon","Styled.StyledCheckIcon","Styled.StyledCrossIcon","Minus2Icon","QuestionOverview","questionByQuestionList","onReview","FlexView","Text","Styled.TableRow","columnInfo","key","label","centerAlign","Styled.StyledTableBody","data","questionNo","section","score","userNodeId","TextButton"],"mappings":";;;;;;;;;;;AAaA,MAAM,EAAE,SAAAA,GAAS,WAAAC,GAAW,UAAAC,EAAA,IAAaC,GAEnCC,IAAU;AAAA,EACd;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AACF,GAEMC,IACJ,2HAEIC,IAAwDC,EAAK,SAAgC;AAAA,EACjG,QAAAC;AACF,GAAG;AACD,SAAIA,MAAWN,IAEX,gBAAAO,EAACC,GAAA,EAAgB,WAAU,OAAM,QAAO,UAAS,UAAU,KAAK,UAAA;AAAA,IAAA;AAAA,IACrD;AAAA,IACT,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,aAAaP;AAAA,QACb,QAAQQ,EAAO;AAAA,QACf,QAAQ;AAAA,QAER,4BAACC,GAAS,EAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EACF,EAAA,CAAA,IAIAN,MAAWR,IACN,gBAAAW,EAACI,GAAA,CAAA,CAAuB,IAG7BP,MAAWP,IACN,gBAAAU,EAACK,GAAA,CAAA,CAAuB,sBAGzBC,GAAW,CAAA,CAAA;AACrB,CAAC,GAEKC,IAA0C,CAAC,EAAE,wBAAAC,GAAwB,UAAAC,QAEvE,gBAAAX,EAACY,GAAS,EAAA,WAAW,GACnB,UAAA;AAAA,EAAC,gBAAAV,EAAAW,GAAA,EAAK,WAAU,aAAY,UAA6B,iCAAA;AAAA,oBAExD,SACC,EAAA,UAAA;AAAA,IAAA,gBAAAX,EAAC,WACC,UAAC,gBAAAA,EAAAY,GAAA,EACE,UAAAnB,EAAQ,IAAI,CAAcoB,MAAA;AACzB,YAAM,EAAE,KAAAC,GAAK,OAAAC,GAAO,aAAAC,EAAA,IAAgBH;AAEpC,aACG,gBAAAb,EAAA,MAAA,EACC,UAAC,gBAAAA,EAAAW,GAAA,EAAK,WAAU,OAAM,UAAU,KAAK,QAAQK,IAAc,WAAW,QACnE,UAAAD,EACH,CAAA,KAHOD,CAIT;AAAA,IAAA,CAEH,GACH,EACF,CAAA;AAAA,sBAECG,GAAA,EACE,UAAAT,EAAuB,IAAI,CAAQU,MAAA;AAClC,YAAM,EAAE,aAAaC,GAAY,SAAAC,GAAS,OAAAC,GAAO,cAAcC,EAAe,IAAAJ;AAG5E,aAAA,gBAAApB,EAACc,GAAA,EACC,UAAA;AAAA,QAAC,gBAAAZ,EAAAW,GAAA,EAAK,WAAU,OAAO,UAAQS,GAAA;AAAA,QAE9B,gBAAApB,EAAAU,GAAA,EAAS,aAAY,UAAS,iBAAgB,UAC7C,UAAC,gBAAAV,EAAAW,GAAA,EAAK,WAAU,YAAW,QAAO,UAC/B,YACH,CAAA,GACF;AAAA,QAEA,gBAAAX,EAACU,GAAS,EAAA,aAAY,UAAS,iBAAgB,UAC7C,UAAC,gBAAAV,EAAAL,GAAA,EAAuB,QAAQ0B,EAAA,CAAO,EACzC,CAAA;AAAA,0BAECX,GAAS,EAAA,aAAY,UAAS,iBAAgB,UAC7C,UAAC,gBAAAV,EAAAuB,GAAA,EAAW,OAAM,UAAS,SAAS,MAAMd,EAASa,GAAYH,IAAa,CAAC,EAAG,CAAA,GAClF;AAAA,MAAA,EAAA,GAfoB,GAAGA,CAAU,IAAIC,CAAO,EAgB9C;AAAA,IAEH,CAAA,GACH;AAAA,EAAA,GACF;AACF,EAAA,CAAA;"}
|
|
@@ -37,7 +37,7 @@ const A = ({
|
|
|
37
37
|
analyticsProps: i
|
|
38
38
|
}
|
|
39
39
|
),
|
|
40
|
-
n && /* @__PURE__ */ e(C, { $renderAs: "
|
|
40
|
+
n && /* @__PURE__ */ e(C, { $renderAs: "ub3", $color: "ORANGE_5", $align: "center", children: "Please wait for your teacher to unlock" })
|
|
41
41
|
] }),
|
|
42
42
|
a && /* @__PURE__ */ e(
|
|
43
43
|
O,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"student-actions.js","sources":["../../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.tsx"],"sourcesContent":["import { useMemo, type FC } from 'react';\n\nimport Button from '../../../../../ui/buttons/button/button';\nimport ContextMenu from '../../../../../ui/context-menu/context-menu';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport type { TBlockStatus } from '../../block-section-types';\nimport ContextMenuElement from '../../sheet-item/context-menu-helper/menu-element';\nimport ContextMenuTargetElement from '../../sheet-item/context-menu-helper/target-element';\n\ninterface IStudentActions {\n handleOnReview: () => void;\n handleOnStartOrResume: () => void;\n isMenuVisible: boolean;\n blockStatus: TBlockStatus;\n canStart: boolean;\n canResume: boolean;\n analyticsProps: Record<string, unknown>;\n questionOrder: number | undefined;\n}\n\nconst StudentActions: FC<IStudentActions> = ({\n analyticsProps,\n blockStatus,\n canResume,\n ...restStudentActionsProps\n}) => {\n const { canStart, isMenuVisible, questionOrder, handleOnReview, handleOnStartOrResume } =\n restStudentActionsProps;\n const isBlockLocked = blockStatus === 'LOCKED';\n const canStartOrResume = canResume || canStart;\n const options = useMemo(\n () => [\n {\n key: 'sat-review-sheet',\n label: 'Review sheet',\n visible: true,\n onClick: handleOnReview,\n },\n ],\n [handleOnReview],\n );\n\n return (\n <>\n {canStartOrResume && (\n <FlexView $width={109} $alignItems=\"center\" $justifyContent=\"center\" $gap={4}>\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label={canStart && questionOrder === 1 ? 'Start' : 'Resume'}\n widthX={6}\n disabled={isBlockLocked}\n onClick={handleOnStartOrResume}\n analyticsProps={analyticsProps}\n />\n {isBlockLocked && (\n <Text $renderAs=\"
|
|
1
|
+
{"version":3,"file":"student-actions.js","sources":["../../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.tsx"],"sourcesContent":["import { useMemo, type FC } from 'react';\n\nimport Button from '../../../../../ui/buttons/button/button';\nimport ContextMenu from '../../../../../ui/context-menu/context-menu';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport type { TBlockStatus } from '../../block-section-types';\nimport ContextMenuElement from '../../sheet-item/context-menu-helper/menu-element';\nimport ContextMenuTargetElement from '../../sheet-item/context-menu-helper/target-element';\n\ninterface IStudentActions {\n handleOnReview: () => void;\n handleOnStartOrResume: () => void;\n isMenuVisible: boolean;\n blockStatus: TBlockStatus;\n canStart: boolean;\n canResume: boolean;\n analyticsProps: Record<string, unknown>;\n questionOrder: number | undefined;\n}\n\nconst StudentActions: FC<IStudentActions> = ({\n analyticsProps,\n blockStatus,\n canResume,\n ...restStudentActionsProps\n}) => {\n const { canStart, isMenuVisible, questionOrder, handleOnReview, handleOnStartOrResume } =\n restStudentActionsProps;\n const isBlockLocked = blockStatus === 'LOCKED';\n const canStartOrResume = canResume || canStart;\n const options = useMemo(\n () => [\n {\n key: 'sat-review-sheet',\n label: 'Review sheet',\n visible: true,\n onClick: handleOnReview,\n },\n ],\n [handleOnReview],\n );\n\n return (\n <>\n {canStartOrResume && (\n <FlexView $width={109} $alignItems=\"center\" $justifyContent=\"center\" $gap={4}>\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label={canStart && questionOrder === 1 ? 'Start' : 'Resume'}\n widthX={6}\n disabled={isBlockLocked}\n onClick={handleOnStartOrResume}\n analyticsProps={analyticsProps}\n />\n {isBlockLocked && (\n <Text $renderAs=\"ub3\" $color=\"ORANGE_5\" $align=\"center\">\n Please wait for your teacher to unlock\n </Text>\n )}\n </FlexView>\n )}\n\n {isMenuVisible && (\n <ContextMenu\n targetElement={<ContextMenuTargetElement />}\n menuElement={<ContextMenuElement options={options} />}\n menuOffset={5}\n menuZIndex={1}\n placeTop={true}\n />\n )}\n </>\n );\n};\n\nexport default StudentActions;\n"],"names":["StudentActions","analyticsProps","blockStatus","canResume","restStudentActionsProps","canStart","isMenuVisible","questionOrder","handleOnReview","handleOnStartOrResume","isBlockLocked","canStartOrResume","options","useMemo","jsxs","Fragment","FlexView","jsx","Button","Text","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":";;;;;;;;AAqBA,MAAMA,IAAsC,CAAC;AAAA,EAC3C,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,EAAE,UAAAC,GAAU,eAAAC,GAAe,eAAAC,GAAe,gBAAAC,GAAgB,uBAAAC,EAC9D,IAAAL,GACIM,IAAgBR,MAAgB,UAChCS,IAAmBR,KAAaE,GAChCO,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAASL;AAAA,MACX;AAAA,IACF;AAAA,IACA,CAACA,CAAc;AAAA,EAAA;AAGjB,SAEK,gBAAAM,EAAAC,GAAA,EAAA,UAAA;AAAA,IACCJ,KAAA,gBAAAG,EAACE,KAAS,QAAQ,KAAK,aAAY,UAAS,iBAAgB,UAAS,MAAM,GACzE,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,MAAK;AAAA,UACL,OAAOb,KAAYE,MAAkB,IAAI,UAAU;AAAA,UACnD,QAAQ;AAAA,UACR,UAAUG;AAAA,UACV,SAASD;AAAA,UACT,gBAAAR;AAAA,QAAA;AAAA,MACF;AAAA,MACCS,uBACES,GAAK,EAAA,WAAU,OAAM,QAAO,YAAW,QAAO,UAAS,UAExD,yCAAA,CAAA;AAAA,IAAA,GAEJ;AAAA,IAGDb,KACC,gBAAAW;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,iCAAgBC,GAAyB,EAAA;AAAA,QACzC,aAAc,gBAAAJ,EAAAK,GAAA,EAAmB,SAAAV,EAAkB,CAAA;AAAA,QACnD,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { MenuElementWrapper as
|
|
3
|
-
const d = ({ options: n }) => /* @__PURE__ */ e(
|
|
4
|
-
|
|
2
|
+
import { MenuElementWrapper as i, OptionCard as l } from "./context-menu-helper-styled.js";
|
|
3
|
+
const d = ({ options: n }) => /* @__PURE__ */ e(i, { children: n.map(({ key: t, label: o, visible: p, onClick: u, disabled: r }) => p ? /* @__PURE__ */ e(
|
|
4
|
+
l,
|
|
5
5
|
{
|
|
6
|
-
$renderAs: "
|
|
7
|
-
onClick:
|
|
6
|
+
$renderAs: "ub1",
|
|
7
|
+
onClick: u,
|
|
8
8
|
$disabled: r,
|
|
9
9
|
$opacity: r ? 0.5 : 1,
|
|
10
10
|
children: o
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-element.js","sources":["../../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { MenuElementWrapper, OptionCard } from './context-menu-helper-styled';\n\ninterface IContextMenuElement {\n options: {\n key: string;\n label: string;\n visible: boolean;\n onClick: () => void;\n disabled?: boolean;\n }[];\n}\n\nconst ContextMenuElement: FC<IContextMenuElement> = ({ options }) => {\n return (\n <MenuElementWrapper>\n {options.map(({ key, label, visible, onClick, disabled }) => {\n if (!visible) return null;\n\n return (\n <OptionCard\n key={key}\n $renderAs=\"
|
|
1
|
+
{"version":3,"file":"menu-element.js","sources":["../../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { MenuElementWrapper, OptionCard } from './context-menu-helper-styled';\n\ninterface IContextMenuElement {\n options: {\n key: string;\n label: string;\n visible: boolean;\n onClick: () => void;\n disabled?: boolean;\n }[];\n}\n\nconst ContextMenuElement: FC<IContextMenuElement> = ({ options }) => {\n return (\n <MenuElementWrapper>\n {options.map(({ key, label, visible, onClick, disabled }) => {\n if (!visible) return null;\n\n return (\n <OptionCard\n key={key}\n $renderAs=\"ub1\"\n onClick={onClick}\n $disabled={disabled}\n $opacity={disabled ? 0.5 : 1}\n >\n {label}\n </OptionCard>\n );\n })}\n </MenuElementWrapper>\n );\n};\n\nexport default ContextMenuElement;\n"],"names":["ContextMenuElement","options","jsx","MenuElementWrapper","key","label","visible","onClick","disabled","OptionCard"],"mappings":";;AAcA,MAAMA,IAA8C,CAAC,EAAE,SAAAC,QAEnD,gBAAAC,EAACC,GACE,EAAA,UAAAF,EAAQ,IAAI,CAAC,EAAE,KAAAG,GAAK,OAAAC,GAAO,SAAAC,GAAS,SAAAC,GAAS,UAAAC,EAAA,MACvCF,IAGH,gBAAAJ;AAAA,EAACO;AAAA,EAAA;AAAA,IAEC,WAAU;AAAA,IACV,SAAAF;AAAA,IACA,WAAWC;AAAA,IACX,UAAUA,IAAW,MAAM;AAAA,IAE1B,UAAAH;AAAA,EAAA;AAAA,EANID;AAAA,IAJY,IAatB,EACH,CAAA;"}
|
|
@@ -9,7 +9,7 @@ import J from "../../context-menu-helper/menu-element.js";
|
|
|
9
9
|
import K from "../../context-menu-helper/target-element.js";
|
|
10
10
|
import { StyledButton as M, RewardImage as Q, RewardAccuracy as Y } from "../reward-n-actions-styled.js";
|
|
11
11
|
import { getPrimaryCtaLabel as ee } from "./student-actions-utils.js";
|
|
12
|
-
const ue = ({ sheet: n, isLastSheet: N, onStartOrResume:
|
|
12
|
+
const ue = ({ sheet: n, isLastSheet: N, onStartOrResume: l, onReview: m }) => {
|
|
13
13
|
var A;
|
|
14
14
|
const { onEvent: w } = q(), {
|
|
15
15
|
permissions: O,
|
|
@@ -29,7 +29,7 @@ const ue = ({ sheet: n, isLastSheet: N, onStartOrResume: m, onReview: l }) => {
|
|
|
29
29
|
can_reattempt_block: W,
|
|
30
30
|
node_id: b,
|
|
31
31
|
id: C
|
|
32
|
-
} = n, { access:
|
|
32
|
+
} = n, { access: k } = O.can_do, t = H(d), r = V || t, v = a && G(a), U = a && ((A = a[0]) == null ? void 0 : A.performance), z = !o && !c && typeof y == "number" && !(F && _ && _ === "WAIT_FOR_REVIEW"), h = W && !g, I = o || c || j || S, L = k && I || !r && h, p = !!(i && g && !R), s = f(
|
|
33
33
|
() => ({
|
|
34
34
|
user_node_id: C,
|
|
35
35
|
nodeId: b
|
|
@@ -45,17 +45,17 @@ const ue = ({ sheet: n, isLastSheet: N, onStartOrResume: m, onReview: l }) => {
|
|
|
45
45
|
}),
|
|
46
46
|
[c, o, r, d, p]
|
|
47
47
|
), x = $(() => {
|
|
48
|
-
if (typeof m != "function")
|
|
49
|
-
throw new Error("onStartOrResume is not a function");
|
|
50
|
-
m(n);
|
|
51
|
-
}, [m, n]), E = $(() => {
|
|
52
48
|
if (typeof l != "function")
|
|
49
|
+
throw new Error("onStartOrResume is not a function");
|
|
50
|
+
l(n);
|
|
51
|
+
}, [l, n]), E = $(() => {
|
|
52
|
+
if (typeof m != "function")
|
|
53
53
|
throw new Error("onReview is not a function");
|
|
54
54
|
w("clicked", {
|
|
55
55
|
cta: t ? "View" : "Review sheet",
|
|
56
56
|
...s
|
|
57
|
-
}),
|
|
58
|
-
}, [s, t,
|
|
57
|
+
}), m(n);
|
|
58
|
+
}, [s, t, m, n, w]), X = r ? !!R : i, D = f(
|
|
59
59
|
() => [
|
|
60
60
|
{
|
|
61
61
|
key: "review-sheet",
|
|
@@ -67,7 +67,7 @@ const ue = ({ sheet: n, isLastSheet: N, onStartOrResume: m, onReview: l }) => {
|
|
|
67
67
|
[i, E, t]
|
|
68
68
|
);
|
|
69
69
|
return t ? null : /* @__PURE__ */ u(P, { $flexDirection: "row", $alignItems: "center", $flexGap: 8, children: [
|
|
70
|
-
|
|
70
|
+
k && r ? /* @__PURE__ */ e(B, { children: (I || p) && /* @__PURE__ */ e(
|
|
71
71
|
M,
|
|
72
72
|
{
|
|
73
73
|
renderAs: "primary",
|
|
@@ -79,8 +79,8 @@ const ue = ({ sheet: n, isLastSheet: N, onStartOrResume: m, onReview: l }) => {
|
|
|
79
79
|
}
|
|
80
80
|
) }) : /* @__PURE__ */ u(B, { children: [
|
|
81
81
|
z && /* @__PURE__ */ u(P, { $justifyContent: "center", $alignItems: "center", children: [
|
|
82
|
-
|
|
83
|
-
/* @__PURE__ */ e(Y, { $renderAs: "
|
|
82
|
+
v && /* @__PURE__ */ e(Q, { src: v, alt: "Reward" }),
|
|
83
|
+
/* @__PURE__ */ e(Y, { $renderAs: "ac4-black", $align: "center", children: U || `${Math.ceil(y)}%` })
|
|
84
84
|
] }),
|
|
85
85
|
L && /* @__PURE__ */ e(
|
|
86
86
|
M,
|
|
@@ -89,7 +89,7 @@ const ue = ({ sheet: n, isLastSheet: N, onStartOrResume: m, onReview: l }) => {
|
|
|
89
89
|
size: "small",
|
|
90
90
|
widthX: 6,
|
|
91
91
|
label: T,
|
|
92
|
-
disabled:
|
|
92
|
+
disabled: h,
|
|
93
93
|
onClick: x,
|
|
94
94
|
analyticsProps: s
|
|
95
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"student-actions.js","sources":["../../../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.tsx"],"sourcesContent":["import { useCallback, type FC, useMemo } from 'react';\n\nimport { getRewardsBadgeUrl } from '../../../../../../sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils';\nimport ContextMenu from '../../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../../ui/context/context';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport { checkIfPPTNodeType } from '../../../../utils';\nimport ContextMenuElement from '../../context-menu-helper/menu-element';\nimport ContextMenuTargetElement from '../../context-menu-helper/target-element';\nimport type { ILPARSheetCallbacks, TLPARSheetData } from '../../sheet-item-type';\nimport { RewardAccuracy, RewardImage, StyledButton } from '../reward-n-actions-styled';\nimport { getPrimaryCtaLabel } from './student-actions-utils';\n\ninterface IStudentActions extends ILPARSheetCallbacks {\n sheet: TLPARSheetData;\n isLastSheet: boolean;\n isClassOngoing: boolean;\n}\n\nconst StudentActions: FC<IStudentActions> = ({ sheet, isLastSheet, onStartOrResume, onReview }) => {\n const { onEvent: trackEvent } = useUIContext();\n\n const {\n permissions,\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_reattempt: canReattempt,\n accuracy,\n can_redo: canRedo,\n rewards,\n attempt_state: attemptState,\n is_subjective: isSubjective,\n is_turing: isTuring,\n completed_on: completedOn,\n node_type: nodeType,\n ceremony_completed_on_ts: ceremonyCompletedOnTS,\n can_reattempt_block: canReattemptBlock,\n node_id: nodeId,\n id: userNodeId,\n } = sheet;\n const { access } = permissions.can_do;\n const isPPTNodeType = checkIfPPTNodeType(nodeType);\n const isInstructionNodeType = isTuring || isPPTNodeType;\n const rewardsBadgeUrl = rewards && getRewardsBadgeUrl(rewards);\n\n const performance = rewards && rewards[0]?.performance;\n const isWaitingForReview = isSubjective && attemptState && attemptState === 'WAIT_FOR_REVIEW';\n const renderAccuracy =\n !canStart && !canResume && typeof accuracy === 'number' && !isWaitingForReview;\n const reattemptBlocked = canReattemptBlock && !completedOn;\n const canStartOrResume = canStart || canResume || canRedo || canReattempt;\n const renderAccuracyNPrimaryCta =\n (access && canStartOrResume) || (!isInstructionNodeType && reattemptBlocked);\n const reviewInstructionNodeType = Boolean(canReview && completedOn && !ceremonyCompletedOnTS);\n\n const analyticsProps = useMemo(\n () => ({\n user_node_id: userNodeId,\n nodeId: nodeId,\n }),\n [nodeId, userNodeId],\n );\n\n const primaryCtaLabel = useMemo(\n () =>\n getPrimaryCtaLabel({\n canStart,\n canResume,\n isInstructionNodeType,\n reviewInstructionNodeType,\n nodeType,\n }),\n [canResume, canStart, isInstructionNodeType, nodeType, reviewInstructionNodeType],\n );\n\n const handleOnActionClick = useCallback(() => {\n if (typeof onStartOrResume !== 'function') {\n throw new Error(`onStartOrResume is not a function`);\n }\n\n onStartOrResume(sheet);\n }, [onStartOrResume, sheet]);\n\n const handleOnReview = useCallback(() => {\n if (typeof onReview !== 'function') {\n throw new Error(`onReview is not a function`);\n }\n\n trackEvent('clicked', {\n cta: isPPTNodeType ? 'View' : 'Review sheet',\n ...analyticsProps,\n });\n\n onReview(sheet);\n }, [analyticsProps, isPPTNodeType, onReview, sheet, trackEvent]);\n\n const isMenuVisible = isInstructionNodeType ? Boolean(ceremonyCompletedOnTS) : canReview;\n const options = useMemo(\n () => [\n {\n key: 'review-sheet',\n label: isPPTNodeType ? 'View' : 'Review sheet',\n visible: Boolean(canReview),\n onClick: handleOnReview,\n },\n ],\n [canReview, handleOnReview, isPPTNodeType],\n );\n\n if (isPPTNodeType) return null;\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={8}>\n {access && isInstructionNodeType ? (\n <>\n {(canStartOrResume || reviewInstructionNodeType) && (\n <StyledButton\n renderAs=\"primary\"\n size=\"small\"\n widthX={6}\n onClick={handleOnActionClick}\n label={primaryCtaLabel}\n analyticsProps={analyticsProps}\n />\n )}\n </>\n ) : (\n <>\n {renderAccuracy && (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n {rewardsBadgeUrl && <RewardImage src={rewardsBadgeUrl} alt=\"Reward\" />}\n <RewardAccuracy $renderAs=\"
|
|
1
|
+
{"version":3,"file":"student-actions.js","sources":["../../../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.tsx"],"sourcesContent":["import { useCallback, type FC, useMemo } from 'react';\n\nimport { getRewardsBadgeUrl } from '../../../../../../sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils';\nimport ContextMenu from '../../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../../ui/context/context';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport { checkIfPPTNodeType } from '../../../../utils';\nimport ContextMenuElement from '../../context-menu-helper/menu-element';\nimport ContextMenuTargetElement from '../../context-menu-helper/target-element';\nimport type { ILPARSheetCallbacks, TLPARSheetData } from '../../sheet-item-type';\nimport { RewardAccuracy, RewardImage, StyledButton } from '../reward-n-actions-styled';\nimport { getPrimaryCtaLabel } from './student-actions-utils';\n\ninterface IStudentActions extends ILPARSheetCallbacks {\n sheet: TLPARSheetData;\n isLastSheet: boolean;\n isClassOngoing: boolean;\n}\n\nconst StudentActions: FC<IStudentActions> = ({ sheet, isLastSheet, onStartOrResume, onReview }) => {\n const { onEvent: trackEvent } = useUIContext();\n\n const {\n permissions,\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_reattempt: canReattempt,\n accuracy,\n can_redo: canRedo,\n rewards,\n attempt_state: attemptState,\n is_subjective: isSubjective,\n is_turing: isTuring,\n completed_on: completedOn,\n node_type: nodeType,\n ceremony_completed_on_ts: ceremonyCompletedOnTS,\n can_reattempt_block: canReattemptBlock,\n node_id: nodeId,\n id: userNodeId,\n } = sheet;\n const { access } = permissions.can_do;\n const isPPTNodeType = checkIfPPTNodeType(nodeType);\n const isInstructionNodeType = isTuring || isPPTNodeType;\n const rewardsBadgeUrl = rewards && getRewardsBadgeUrl(rewards);\n\n const performance = rewards && rewards[0]?.performance;\n const isWaitingForReview = isSubjective && attemptState && attemptState === 'WAIT_FOR_REVIEW';\n const renderAccuracy =\n !canStart && !canResume && typeof accuracy === 'number' && !isWaitingForReview;\n const reattemptBlocked = canReattemptBlock && !completedOn;\n const canStartOrResume = canStart || canResume || canRedo || canReattempt;\n const renderAccuracyNPrimaryCta =\n (access && canStartOrResume) || (!isInstructionNodeType && reattemptBlocked);\n const reviewInstructionNodeType = Boolean(canReview && completedOn && !ceremonyCompletedOnTS);\n\n const analyticsProps = useMemo(\n () => ({\n user_node_id: userNodeId,\n nodeId: nodeId,\n }),\n [nodeId, userNodeId],\n );\n\n const primaryCtaLabel = useMemo(\n () =>\n getPrimaryCtaLabel({\n canStart,\n canResume,\n isInstructionNodeType,\n reviewInstructionNodeType,\n nodeType,\n }),\n [canResume, canStart, isInstructionNodeType, nodeType, reviewInstructionNodeType],\n );\n\n const handleOnActionClick = useCallback(() => {\n if (typeof onStartOrResume !== 'function') {\n throw new Error(`onStartOrResume is not a function`);\n }\n\n onStartOrResume(sheet);\n }, [onStartOrResume, sheet]);\n\n const handleOnReview = useCallback(() => {\n if (typeof onReview !== 'function') {\n throw new Error(`onReview is not a function`);\n }\n\n trackEvent('clicked', {\n cta: isPPTNodeType ? 'View' : 'Review sheet',\n ...analyticsProps,\n });\n\n onReview(sheet);\n }, [analyticsProps, isPPTNodeType, onReview, sheet, trackEvent]);\n\n const isMenuVisible = isInstructionNodeType ? Boolean(ceremonyCompletedOnTS) : canReview;\n const options = useMemo(\n () => [\n {\n key: 'review-sheet',\n label: isPPTNodeType ? 'View' : 'Review sheet',\n visible: Boolean(canReview),\n onClick: handleOnReview,\n },\n ],\n [canReview, handleOnReview, isPPTNodeType],\n );\n\n if (isPPTNodeType) return null;\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={8}>\n {access && isInstructionNodeType ? (\n <>\n {(canStartOrResume || reviewInstructionNodeType) && (\n <StyledButton\n renderAs=\"primary\"\n size=\"small\"\n widthX={6}\n onClick={handleOnActionClick}\n label={primaryCtaLabel}\n analyticsProps={analyticsProps}\n />\n )}\n </>\n ) : (\n <>\n {renderAccuracy && (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n {rewardsBadgeUrl && <RewardImage src={rewardsBadgeUrl} alt=\"Reward\" />}\n <RewardAccuracy $renderAs=\"ac4-black\" $align=\"center\">\n {performance || `${Math.ceil(accuracy)}%`}\n </RewardAccuracy>\n </FlexView>\n )}\n\n {renderAccuracyNPrimaryCta && (\n <StyledButton\n renderAs=\"primary\"\n size=\"small\"\n widthX={6}\n label={primaryCtaLabel}\n disabled={reattemptBlocked}\n onClick={handleOnActionClick}\n analyticsProps={analyticsProps}\n />\n )}\n </>\n )}\n\n {isMenuVisible && (\n <ContextMenu\n targetElement={<ContextMenuTargetElement />}\n menuElement={<ContextMenuElement options={options} />}\n menuOffset={5}\n menuZIndex={1}\n placeTop={isLastSheet}\n />\n )}\n </FlexView>\n );\n};\n\nexport default StudentActions;\n"],"names":["StudentActions","sheet","isLastSheet","onStartOrResume","onReview","trackEvent","useUIContext","permissions","canStart","canResume","canReview","canReattempt","accuracy","canRedo","rewards","attemptState","isSubjective","isTuring","completedOn","nodeType","ceremonyCompletedOnTS","canReattemptBlock","nodeId","userNodeId","access","isPPTNodeType","checkIfPPTNodeType","isInstructionNodeType","rewardsBadgeUrl","getRewardsBadgeUrl","performance","_a","renderAccuracy","reattemptBlocked","canStartOrResume","renderAccuracyNPrimaryCta","reviewInstructionNodeType","analyticsProps","useMemo","primaryCtaLabel","getPrimaryCtaLabel","handleOnActionClick","useCallback","handleOnReview","isMenuVisible","options","FlexView","jsx","Fragment","StyledButton","jsxs","RewardImage","RewardAccuracy","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":"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"}
|
|
@@ -21,14 +21,14 @@ const le = ({
|
|
|
21
21
|
accuracy: f,
|
|
22
22
|
can_teacher_review: k,
|
|
23
23
|
id: d,
|
|
24
|
-
node_type:
|
|
24
|
+
node_type: c,
|
|
25
25
|
permissions: P,
|
|
26
|
-
rewards:
|
|
26
|
+
rewards: i,
|
|
27
27
|
is_turing: w,
|
|
28
28
|
completed_on: y,
|
|
29
29
|
can_reattempt_block: _,
|
|
30
30
|
node_id: g
|
|
31
|
-
} = n, { code: p } = P.can_do, I =
|
|
31
|
+
} = n, { code: p } = P.can_do, I = c === V.HIDDEN_BASIC, S = i && ((h = i[0]) == null ? void 0 : h.performance), A = i && G(i), C = L(c), B = k && typeof f == "number" && !C, U = d && !I, b = C && N && p === "IN_PROGRESS", O = !!(p && z(p)), t = E(
|
|
32
32
|
() => ({
|
|
33
33
|
node_id: g,
|
|
34
34
|
user_node_id: d
|
|
@@ -54,7 +54,7 @@ const le = ({
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
key: "turing-option",
|
|
57
|
-
label: y &&
|
|
57
|
+
label: y && c !== "TURING_BASIC" ? "Student Work Url" : "Activity Link",
|
|
58
58
|
visible: w,
|
|
59
59
|
onClick: () => l("turing_attempt")
|
|
60
60
|
},
|
|
@@ -65,7 +65,7 @@ const le = ({
|
|
|
65
65
|
onClick: () => l("allow_reattempt")
|
|
66
66
|
}
|
|
67
67
|
],
|
|
68
|
-
[_, y, w,
|
|
68
|
+
[_, y, w, c, l]
|
|
69
69
|
), a = T(
|
|
70
70
|
(o) => {
|
|
71
71
|
if (o && r(o, t), typeof s != "function")
|
|
@@ -86,7 +86,7 @@ const le = ({
|
|
|
86
86
|
) }) : /* @__PURE__ */ x(u, { $flexGap: 8, $flexDirection: "row", $alignItems: "center", children: [
|
|
87
87
|
B && /* @__PURE__ */ x(u, { $justifyContent: "center", $alignItems: "center", children: [
|
|
88
88
|
A && /* @__PURE__ */ e(Y, { src: A, alt: "Reward" }),
|
|
89
|
-
/* @__PURE__ */ e(Z, { $renderAs: "
|
|
89
|
+
/* @__PURE__ */ e(Z, { $renderAs: "ac4-black", $align: "center", children: S || `${Math.ceil(f)}%` })
|
|
90
90
|
] }),
|
|
91
91
|
k && b && /* @__PURE__ */ e(
|
|
92
92
|
R,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teacher-actions.js","sources":["../../../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import { useCallback, type FC, useMemo } from 'react';\n\nimport { NODE_TYPE } from '../../../../../../sheets/constants/sheet';\nimport { getRewardsBadgeUrl } from '../../../../../../sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils';\nimport Button from '../../../../../../ui/buttons/button/button';\nimport ContextMenu from '../../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../../ui/context/context';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport { checkIfIsHiddenUnlocked, checkIfPPTNodeType } from '../../../../utils';\nimport ContextMenuElement from '../../context-menu-helper/menu-element';\nimport ContextMenuTargetElement from '../../context-menu-helper/target-element';\nimport type { ILPARSheetCallbacks, TLPARSheetData } from '../../sheet-item-type';\nimport { RewardAccuracy, RewardImage, StyledEyeIcon } from '../reward-n-actions-styled';\n\nexport interface ITeacherActions extends ILPARSheetCallbacks {\n sheet: TLPARSheetData;\n isClassOngoing: boolean;\n isLastSheet: boolean;\n}\n\nconst TeacherActions: FC<ITeacherActions> = ({\n isLastSheet,\n isClassOngoing,\n sheet,\n ...restTeacherActionsProps\n}) => {\n const { onView, onMenuActionAttempt } = restTeacherActionsProps;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const {\n accuracy,\n can_teacher_review: canTeacherReview,\n id: userNodeId,\n node_type: nodeType,\n permissions,\n rewards,\n is_turing: isTuring,\n completed_on: completedOn,\n can_reattempt_block: canReattemptBlock,\n node_id: nodeId,\n } = sheet;\n const { code } = permissions.can_do;\n const isHiddenNode = nodeType === NODE_TYPE.HIDDEN_BASIC;\n const performance = rewards && rewards[0]?.performance;\n const rewardsBadgeUrl = rewards && getRewardsBadgeUrl(rewards);\n const isPPTNodeType = checkIfPPTNodeType(nodeType);\n const renderAccuracy = canTeacherReview && typeof accuracy === 'number' && !isPPTNodeType;\n const isMenuVisible = userNodeId && !isHiddenNode;\n const pptNodeTypeSheetInProgress = isPPTNodeType && isClassOngoing && code === 'IN_PROGRESS';\n const isHiddenUnlocked = Boolean(code && checkIfIsHiddenUnlocked(code));\n\n const analyticsProps = useMemo(\n () => ({\n node_id: nodeId,\n user_node_id: userNodeId,\n }),\n [nodeId, userNodeId],\n );\n\n const handleOnMenuActionAttempt = useCallback(\n (action: string) => {\n trackEvent('clicked', {\n cta: action,\n ...analyticsProps,\n });\n\n if (typeof onMenuActionAttempt !== 'function') {\n throw new Error('onMenuActionAttempt must be a function');\n }\n\n onMenuActionAttempt(action, sheet);\n },\n [analyticsProps, onMenuActionAttempt, sheet, trackEvent],\n );\n\n const options = useMemo(\n () => [\n {\n key: 'change-location',\n label: 'Change Location',\n visible: true,\n onClick: () => handleOnMenuActionAttempt('change_attempt_location'),\n },\n {\n key: 'turing-option',\n label: completedOn && nodeType !== 'TURING_BASIC' ? 'Student Work Url' : 'Activity Link',\n visible: isTuring,\n onClick: () => handleOnMenuActionAttempt('turing_attempt'),\n },\n {\n key: 'allow-reattempt',\n label: 'Allow Reattempt',\n visible: canReattemptBlock,\n onClick: () => handleOnMenuActionAttempt('allow_reattempt'),\n },\n ],\n [canReattemptBlock, completedOn, isTuring, nodeType, handleOnMenuActionAttempt],\n );\n\n const handleOnView = useCallback(\n (action?: string) => {\n if (action) {\n trackEvent(action, analyticsProps);\n }\n\n if (typeof onView !== 'function') {\n throw new Error('onView must be a function');\n }\n\n onView(sheet);\n },\n [analyticsProps, onView, sheet, trackEvent],\n );\n\n if (isHiddenNode) {\n return (\n <FlexView $flexGap={8} $flexDirection=\"row\" $alignItems=\"center\">\n {isHiddenUnlocked ? (\n <StyledEyeIcon onClick={() => handleOnView('clicked')} />\n ) : (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Start\"\n onClick={handleOnView}\n analyticsProps={analyticsProps}\n />\n )}\n </FlexView>\n );\n }\n\n return (\n <FlexView $flexGap={8} $flexDirection=\"row\" $alignItems=\"center\">\n {renderAccuracy && (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n {rewardsBadgeUrl && <RewardImage src={rewardsBadgeUrl} alt=\"Reward\" />}\n <RewardAccuracy $renderAs=\"
|
|
1
|
+
{"version":3,"file":"teacher-actions.js","sources":["../../../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import { useCallback, type FC, useMemo } from 'react';\n\nimport { NODE_TYPE } from '../../../../../../sheets/constants/sheet';\nimport { getRewardsBadgeUrl } from '../../../../../../sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils';\nimport Button from '../../../../../../ui/buttons/button/button';\nimport ContextMenu from '../../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../../ui/context/context';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport { checkIfIsHiddenUnlocked, checkIfPPTNodeType } from '../../../../utils';\nimport ContextMenuElement from '../../context-menu-helper/menu-element';\nimport ContextMenuTargetElement from '../../context-menu-helper/target-element';\nimport type { ILPARSheetCallbacks, TLPARSheetData } from '../../sheet-item-type';\nimport { RewardAccuracy, RewardImage, StyledEyeIcon } from '../reward-n-actions-styled';\n\nexport interface ITeacherActions extends ILPARSheetCallbacks {\n sheet: TLPARSheetData;\n isClassOngoing: boolean;\n isLastSheet: boolean;\n}\n\nconst TeacherActions: FC<ITeacherActions> = ({\n isLastSheet,\n isClassOngoing,\n sheet,\n ...restTeacherActionsProps\n}) => {\n const { onView, onMenuActionAttempt } = restTeacherActionsProps;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const {\n accuracy,\n can_teacher_review: canTeacherReview,\n id: userNodeId,\n node_type: nodeType,\n permissions,\n rewards,\n is_turing: isTuring,\n completed_on: completedOn,\n can_reattempt_block: canReattemptBlock,\n node_id: nodeId,\n } = sheet;\n const { code } = permissions.can_do;\n const isHiddenNode = nodeType === NODE_TYPE.HIDDEN_BASIC;\n const performance = rewards && rewards[0]?.performance;\n const rewardsBadgeUrl = rewards && getRewardsBadgeUrl(rewards);\n const isPPTNodeType = checkIfPPTNodeType(nodeType);\n const renderAccuracy = canTeacherReview && typeof accuracy === 'number' && !isPPTNodeType;\n const isMenuVisible = userNodeId && !isHiddenNode;\n const pptNodeTypeSheetInProgress = isPPTNodeType && isClassOngoing && code === 'IN_PROGRESS';\n const isHiddenUnlocked = Boolean(code && checkIfIsHiddenUnlocked(code));\n\n const analyticsProps = useMemo(\n () => ({\n node_id: nodeId,\n user_node_id: userNodeId,\n }),\n [nodeId, userNodeId],\n );\n\n const handleOnMenuActionAttempt = useCallback(\n (action: string) => {\n trackEvent('clicked', {\n cta: action,\n ...analyticsProps,\n });\n\n if (typeof onMenuActionAttempt !== 'function') {\n throw new Error('onMenuActionAttempt must be a function');\n }\n\n onMenuActionAttempt(action, sheet);\n },\n [analyticsProps, onMenuActionAttempt, sheet, trackEvent],\n );\n\n const options = useMemo(\n () => [\n {\n key: 'change-location',\n label: 'Change Location',\n visible: true,\n onClick: () => handleOnMenuActionAttempt('change_attempt_location'),\n },\n {\n key: 'turing-option',\n label: completedOn && nodeType !== 'TURING_BASIC' ? 'Student Work Url' : 'Activity Link',\n visible: isTuring,\n onClick: () => handleOnMenuActionAttempt('turing_attempt'),\n },\n {\n key: 'allow-reattempt',\n label: 'Allow Reattempt',\n visible: canReattemptBlock,\n onClick: () => handleOnMenuActionAttempt('allow_reattempt'),\n },\n ],\n [canReattemptBlock, completedOn, isTuring, nodeType, handleOnMenuActionAttempt],\n );\n\n const handleOnView = useCallback(\n (action?: string) => {\n if (action) {\n trackEvent(action, analyticsProps);\n }\n\n if (typeof onView !== 'function') {\n throw new Error('onView must be a function');\n }\n\n onView(sheet);\n },\n [analyticsProps, onView, sheet, trackEvent],\n );\n\n if (isHiddenNode) {\n return (\n <FlexView $flexGap={8} $flexDirection=\"row\" $alignItems=\"center\">\n {isHiddenUnlocked ? (\n <StyledEyeIcon onClick={() => handleOnView('clicked')} />\n ) : (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Start\"\n onClick={handleOnView}\n analyticsProps={analyticsProps}\n />\n )}\n </FlexView>\n );\n }\n\n return (\n <FlexView $flexGap={8} $flexDirection=\"row\" $alignItems=\"center\">\n {renderAccuracy && (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n {rewardsBadgeUrl && <RewardImage src={rewardsBadgeUrl} alt=\"Reward\" />}\n <RewardAccuracy $renderAs=\"ac4-black\" $align=\"center\">\n {performance || `${Math.ceil(accuracy)}%`}\n </RewardAccuracy>\n </FlexView>\n )}\n\n {canTeacherReview && pptNodeTypeSheetInProgress && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Resume\"\n onClick={handleOnView}\n analyticsProps={analyticsProps}\n />\n )}\n\n {!pptNodeTypeSheetInProgress && <StyledEyeIcon onClick={() => handleOnView('clicked')} />}\n\n {isMenuVisible && (\n <ContextMenu\n targetElement={<ContextMenuTargetElement />}\n menuElement={<ContextMenuElement options={options} />}\n menuOffset={5}\n menuZIndex={1}\n placeTop={isLastSheet}\n />\n )}\n </FlexView>\n );\n};\n\nexport default TeacherActions;\n"],"names":["TeacherActions","isLastSheet","isClassOngoing","sheet","restTeacherActionsProps","onView","onMenuActionAttempt","trackEvent","useUIContext","accuracy","canTeacherReview","userNodeId","nodeType","permissions","rewards","isTuring","completedOn","canReattemptBlock","nodeId","code","isHiddenNode","NODE_TYPE","performance","_a","rewardsBadgeUrl","getRewardsBadgeUrl","isPPTNodeType","checkIfPPTNodeType","renderAccuracy","isMenuVisible","pptNodeTypeSheetInProgress","isHiddenUnlocked","checkIfIsHiddenUnlocked","analyticsProps","useMemo","handleOnMenuActionAttempt","useCallback","action","options","handleOnView","FlexView","jsx","StyledEyeIcon","Button","jsxs","RewardImage","RewardAccuracy","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":"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"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import m from "../../../../ui/layout/flex-view.js";
|
|
3
3
|
import s from "../../../../ui/text/text.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import D from "./rewards-n-actions/reward-n-actions.js";
|
|
5
|
+
import I from "./sheet-item-icon.js";
|
|
6
6
|
import { SheetItemContainer as g, VerticalLineWrapper as A, TopVerticalLine as C, BottomDashBox as L, SheetDetailsWrapper as T } from "./sheet-item-styled.js";
|
|
7
7
|
import { getSheetTitleNodeLabels as j, getSheetStatement as V } from "./sheet-item-utils.js";
|
|
8
|
-
const
|
|
9
|
-
isClassOngoing:
|
|
8
|
+
const v = ({
|
|
9
|
+
isClassOngoing: l,
|
|
10
10
|
isLastSheet: o,
|
|
11
11
|
sheet: n,
|
|
12
|
-
...
|
|
12
|
+
...p
|
|
13
13
|
}) => {
|
|
14
|
-
const { userType: d, onStartOrResume: $, onReview: h, onMenuActionAttempt: f, onView: x } =
|
|
14
|
+
const { userType: d, onStartOrResume: $, onReview: h, onMenuActionAttempt: f, onView: x } = p, {
|
|
15
15
|
permissions: w,
|
|
16
16
|
node_type: u,
|
|
17
17
|
title: r,
|
|
18
|
-
attempt_location:
|
|
19
|
-
is_optional:
|
|
20
|
-
} = n, { code: i, reason: a } = w.can_do, c = j(u),
|
|
18
|
+
attempt_location: S,
|
|
19
|
+
is_optional: b
|
|
20
|
+
} = n, { code: i, reason: a } = w.can_do, c = j(u), y = (a && V(S, a, b)) ?? "";
|
|
21
21
|
return /* @__PURE__ */ t(
|
|
22
22
|
g,
|
|
23
23
|
{
|
|
@@ -40,22 +40,22 @@ const W = ({
|
|
|
40
40
|
$flexGap: 8,
|
|
41
41
|
$marginBottom: 12,
|
|
42
42
|
children: [
|
|
43
|
-
/* @__PURE__ */ e(
|
|
43
|
+
/* @__PURE__ */ e(I, { chapterPermissionCode: i }),
|
|
44
44
|
/* @__PURE__ */ t(m, { $justifyContent: "center", $width: "100%", children: [
|
|
45
|
-
/* @__PURE__ */ e(s, { $renderAs: "
|
|
46
|
-
/* @__PURE__ */ e(s, { $renderAs: "
|
|
45
|
+
/* @__PURE__ */ e(s, { $renderAs: "ub1-bold", $opacity: i === "LOCKED" ? 0.5 : 1, children: c ? `${c} • ${r}` : r }),
|
|
46
|
+
/* @__PURE__ */ e(s, { $renderAs: "ub2", children: y })
|
|
47
47
|
] })
|
|
48
48
|
]
|
|
49
49
|
}
|
|
50
50
|
)
|
|
51
51
|
] }),
|
|
52
52
|
/* @__PURE__ */ e(
|
|
53
|
-
|
|
53
|
+
D,
|
|
54
54
|
{
|
|
55
55
|
userType: d,
|
|
56
56
|
sheet: n,
|
|
57
57
|
isLastSheet: o,
|
|
58
|
-
isClassOngoing:
|
|
58
|
+
isClassOngoing: l,
|
|
59
59
|
onView: x,
|
|
60
60
|
onMenuActionAttempt: f,
|
|
61
61
|
onStartOrResume: $,
|
|
@@ -67,6 +67,6 @@ const W = ({
|
|
|
67
67
|
);
|
|
68
68
|
};
|
|
69
69
|
export {
|
|
70
|
-
|
|
70
|
+
v as default
|
|
71
71
|
};
|
|
72
72
|
//# sourceMappingURL=sheet-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-item.js","sources":["../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport RewardNActions from './rewards-n-actions/reward-n-actions';\nimport SheetItemIcon from './sheet-item-icon';\nimport * as Styled from './sheet-item-styled';\nimport type { ISheetItemProps } from './sheet-item-type';\nimport { getSheetStatement, getSheetTitleNodeLabels } from './sheet-item-utils';\n\nconst SheetItem: FC<ISheetItemProps> = ({\n isClassOngoing,\n isLastSheet,\n sheet,\n ...restSheetItemProps\n}) => {\n const { userType, onStartOrResume, onReview, onMenuActionAttempt, onView } = restSheetItemProps;\n const {\n permissions,\n node_type: nodeType,\n title,\n attempt_location: attemptLocation,\n is_optional: isOptional,\n } = sheet;\n\n const { code, reason } = permissions.can_do;\n const nodeLabel = getSheetTitleNodeLabels(nodeType);\n const sheetStatement = (reason && getSheetStatement(attemptLocation, reason, isOptional)) ?? '';\n\n return (\n <Styled.SheetItemContainer\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={1}\n >\n <FlexView $flexDirection=\"row\" $flexGap={8} $width=\"70%\">\n <Styled.VerticalLineWrapper>\n <Styled.TopVerticalLine />\n {!isLastSheet && <Styled.BottomDashBox />}\n </Styled.VerticalLineWrapper>\n\n <Styled.SheetDetailsWrapper\n $width=\"100%\"\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGap={8}\n $marginBottom={12}\n >\n <SheetItemIcon chapterPermissionCode={code} />\n\n <FlexView $justifyContent=\"center\" $width=\"100%\">\n <Text $renderAs=\"
|
|
1
|
+
{"version":3,"file":"sheet-item.js","sources":["../../../../../../src/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport RewardNActions from './rewards-n-actions/reward-n-actions';\nimport SheetItemIcon from './sheet-item-icon';\nimport * as Styled from './sheet-item-styled';\nimport type { ISheetItemProps } from './sheet-item-type';\nimport { getSheetStatement, getSheetTitleNodeLabels } from './sheet-item-utils';\n\nconst SheetItem: FC<ISheetItemProps> = ({\n isClassOngoing,\n isLastSheet,\n sheet,\n ...restSheetItemProps\n}) => {\n const { userType, onStartOrResume, onReview, onMenuActionAttempt, onView } = restSheetItemProps;\n const {\n permissions,\n node_type: nodeType,\n title,\n attempt_location: attemptLocation,\n is_optional: isOptional,\n } = sheet;\n\n const { code, reason } = permissions.can_do;\n const nodeLabel = getSheetTitleNodeLabels(nodeType);\n const sheetStatement = (reason && getSheetStatement(attemptLocation, reason, isOptional)) ?? '';\n\n return (\n <Styled.SheetItemContainer\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={1}\n >\n <FlexView $flexDirection=\"row\" $flexGap={8} $width=\"70%\">\n <Styled.VerticalLineWrapper>\n <Styled.TopVerticalLine />\n {!isLastSheet && <Styled.BottomDashBox />}\n </Styled.VerticalLineWrapper>\n\n <Styled.SheetDetailsWrapper\n $width=\"100%\"\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGap={8}\n $marginBottom={12}\n >\n <SheetItemIcon chapterPermissionCode={code} />\n\n <FlexView $justifyContent=\"center\" $width=\"100%\">\n <Text $renderAs=\"ub1-bold\" $opacity={code === 'LOCKED' ? 0.5 : 1}>\n {nodeLabel ? `${nodeLabel} • ${title}` : title}\n </Text>\n\n <Text $renderAs=\"ub2\">{sheetStatement}</Text>\n </FlexView>\n </Styled.SheetDetailsWrapper>\n </FlexView>\n\n <RewardNActions\n userType={userType}\n sheet={sheet}\n isLastSheet={isLastSheet}\n isClassOngoing={isClassOngoing}\n onView={onView}\n onMenuActionAttempt={onMenuActionAttempt}\n onStartOrResume={onStartOrResume}\n onReview={onReview}\n />\n </Styled.SheetItemContainer>\n );\n};\n\nexport default SheetItem;\n"],"names":["SheetItem","isClassOngoing","isLastSheet","sheet","restSheetItemProps","userType","onStartOrResume","onReview","onMenuActionAttempt","onView","permissions","nodeType","title","attemptLocation","isOptional","code","reason","nodeLabel","getSheetTitleNodeLabels","sheetStatement","getSheetStatement","jsxs","Styled.SheetItemContainer","FlexView","Styled.VerticalLineWrapper","jsx","Styled.TopVerticalLine","Styled.BottomDashBox","Styled.SheetDetailsWrapper","SheetItemIcon","Text","RewardNActions"],"mappings":";;;;;;;AAUA,MAAMA,IAAiC,CAAC;AAAA,EACtC,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,EAAE,UAAAC,GAAU,iBAAAC,GAAiB,UAAAC,GAAU,qBAAAC,GAAqB,QAAAC,EAAW,IAAAL,GACvE;AAAA,IACJ,aAAAM;AAAA,IACA,WAAWC;AAAA,IACX,OAAAC;AAAA,IACA,kBAAkBC;AAAA,IAClB,aAAaC;AAAA,EACX,IAAAX,GAEE,EAAE,MAAAY,GAAM,QAAAC,MAAWN,EAAY,QAC/BO,IAAYC,EAAwBP,CAAQ,GAC5CQ,KAAkBH,KAAUI,EAAkBP,GAAiBG,GAAQF,CAAU,MAAM;AAG3F,SAAA,gBAAAO;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,WAAW;AAAA,MAEX,UAAA;AAAA,QAAA,gBAAAD,EAACE,KAAS,gBAAe,OAAM,UAAU,GAAG,QAAO,OACjD,UAAA;AAAA,UAAC,gBAAAF,EAAAG,GAAA,EACC,UAAA;AAAA,YAAC,gBAAAC,EAAAC,GAAA,EAAuB;AAAA,YACvB,CAACxB,KAAgB,gBAAAuB,EAAAE,GAAA,EAAqB;AAAA,UAAA,GACzC;AAAA,UAEA,gBAAAN;AAAA,YAACO;AAAAA,YAAA;AAAA,cACC,QAAO;AAAA,cACP,gBAAe;AAAA,cACf,aAAY;AAAA,cACZ,UAAU;AAAA,cACV,eAAe;AAAA,cAEf,UAAA;AAAA,gBAAC,gBAAAH,EAAAI,GAAA,EAAc,uBAAuBd,EAAM,CAAA;AAAA,gBAE3C,gBAAAM,EAAAE,GAAA,EAAS,iBAAgB,UAAS,QAAO,QACxC,UAAA;AAAA,kBAAA,gBAAAE,EAACK,GAAK,EAAA,WAAU,YAAW,UAAUf,MAAS,WAAW,MAAM,GAC5D,UAAAE,IAAY,GAAGA,CAAS,MAAML,CAAK,KAAKA,GAC3C;AAAA,kBAEC,gBAAAa,EAAAK,GAAA,EAAK,WAAU,OAAO,UAAeX,GAAA;AAAA,gBAAA,GACxC;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QAAA,GACF;AAAA,QAEA,gBAAAM;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,UAAA1B;AAAA,YACA,OAAAF;AAAA,YACA,aAAAD;AAAA,YACA,gBAAAD;AAAA,YACA,QAAAQ;AAAA,YACA,qBAAAD;AAAA,YACA,iBAAAF;AAAA,YACA,UAAAC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as d, jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { memo as c } from "react";
|
|
3
3
|
import n, { useTheme as p } from "styled-components";
|
|
4
4
|
import a from "../../../ui/layout/flex-view.js";
|
|
@@ -30,16 +30,16 @@ const x = n.div(({ theme: i, $progress: o }) => {
|
|
|
30
30
|
width: t,
|
|
31
31
|
flexDirection: e
|
|
32
32
|
}) {
|
|
33
|
-
const
|
|
34
|
-
return /* @__PURE__ */
|
|
33
|
+
const l = p();
|
|
34
|
+
return /* @__PURE__ */ d(
|
|
35
35
|
a,
|
|
36
36
|
{
|
|
37
|
-
$width: t ??
|
|
37
|
+
$width: t ?? l.layout.gutter * 7.5,
|
|
38
38
|
$flexGap: 4,
|
|
39
39
|
$flexDirection: e,
|
|
40
40
|
children: [
|
|
41
41
|
/* @__PURE__ */ s(x, { $progress: o }),
|
|
42
|
-
/* @__PURE__ */ s(u, { $renderAs: "
|
|
42
|
+
/* @__PURE__ */ s(u, { $renderAs: "ub2", children: r })
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chapter-progress.js","sources":["../../../../../src/features/chapters/lpar-chapter/comps/chapter-progress.tsx"],"sourcesContent":["import { memo, type FC, type ReactElement } from 'react';\nimport styled, { useTheme } from 'styled-components';\n\nimport FlexView, { type FlexViewProps } from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\ntype TProgressProps = {\n $progress?: number;\n};\n\nconst Progress = styled.div<TProgressProps>(({ theme, $progress }) => {\n const { REAL_BLACK_15, GREEN_4, BLACK } = theme.colors;\n\n return `\n width: 100%;\n height: 4px;\n border-radius: 16px;\n background-color: ${REAL_BLACK_15};\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n width: ${$progress}%;\n height: 4px;\n border-radius: 16px;\n background-color: ${$progress === 100 ? GREEN_4 : BLACK}\n }\n `;\n});\n\nconst FlexText = styled(Text)`\n display: inline-flex;\n`;\n\ninterface IProgressStatsProps {\n progress: number;\n progressStats: ReactElement;\n width?: number | string;\n flexDirection?: FlexViewProps['$flexDirection'];\n}\n\nconst ProgressStats: FC<IProgressStatsProps> = memo(function ProgressStats({\n progress,\n progressStats,\n width,\n flexDirection,\n}) {\n const theme = useTheme();\n\n return (\n <FlexView\n $width={width ?? theme.layout.gutter * 7.5}\n $flexGap={4}\n $flexDirection={flexDirection}\n >\n <Progress $progress={progress} />\n <FlexText $renderAs=\"
|
|
1
|
+
{"version":3,"file":"chapter-progress.js","sources":["../../../../../src/features/chapters/lpar-chapter/comps/chapter-progress.tsx"],"sourcesContent":["import { memo, type FC, type ReactElement } from 'react';\nimport styled, { useTheme } from 'styled-components';\n\nimport FlexView, { type FlexViewProps } from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\ntype TProgressProps = {\n $progress?: number;\n};\n\nconst Progress = styled.div<TProgressProps>(({ theme, $progress }) => {\n const { REAL_BLACK_15, GREEN_4, BLACK } = theme.colors;\n\n return `\n width: 100%;\n height: 4px;\n border-radius: 16px;\n background-color: ${REAL_BLACK_15};\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n width: ${$progress}%;\n height: 4px;\n border-radius: 16px;\n background-color: ${$progress === 100 ? GREEN_4 : BLACK}\n }\n `;\n});\n\nconst FlexText = styled(Text)`\n display: inline-flex;\n`;\n\ninterface IProgressStatsProps {\n progress: number;\n progressStats: ReactElement;\n width?: number | string;\n flexDirection?: FlexViewProps['$flexDirection'];\n}\n\nconst ProgressStats: FC<IProgressStatsProps> = memo(function ProgressStats({\n progress,\n progressStats,\n width,\n flexDirection,\n}) {\n const theme = useTheme();\n\n return (\n <FlexView\n $width={width ?? theme.layout.gutter * 7.5}\n $flexGap={4}\n $flexDirection={flexDirection}\n >\n <Progress $progress={progress} />\n <FlexText $renderAs=\"ub2\">{progressStats}</FlexText>\n </FlexView>\n );\n});\n\nexport default ProgressStats;\n"],"names":["Progress","styled","theme","$progress","REAL_BLACK_15","GREEN_4","BLACK","FlexText","Text","ProgressStats","memo","progress","progressStats","width","flexDirection","useTheme","jsxs","FlexView","jsx"],"mappings":";;;;;AAUA,MAAMA,IAAWC,EAAO,IAAoB,CAAC,EAAE,OAAAC,GAAO,WAAAC,QAAgB;AACpE,QAAM,EAAE,eAAAC,GAAe,SAAAC,GAAS,OAAAC,EAAA,IAAUJ,EAAM;AAEzC,SAAA;AAAA;AAAA;AAAA;AAAA,wBAIeE,CAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAOtBD,CAAS;AAAA;AAAA;AAAA,0BAGEA,MAAc,MAAME,IAAUC,CAAK;AAAA;AAAA;AAG7D,CAAC,GAEKC,IAAWN,EAAOO,CAAI;AAAA;AAAA,GAWtBC,IAAyCC,EAAK,SAAuB;AAAA,EACzE,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AACF,GAAG;AACD,QAAMZ,IAAQa;AAGZ,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAQJ,KAASX,EAAM,OAAO,SAAS;AAAA,MACvC,UAAU;AAAA,MACV,gBAAgBY;AAAA,MAEhB,UAAA;AAAA,QAAC,gBAAAI,EAAAlB,GAAA,EAAS,WAAWW,EAAU,CAAA;AAAA,QAC9B,gBAAAO,EAAAX,GAAA,EAAS,WAAU,OAAO,UAAcK,GAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG/C,CAAC;"}
|
|
@@ -4,27 +4,27 @@ import a from "../../../ui/layout/flex-view.js";
|
|
|
4
4
|
import m from "../../../ui/text/text.js";
|
|
5
5
|
const u = s(a)`
|
|
6
6
|
padding-top: 16px;
|
|
7
|
-
`,
|
|
8
|
-
const { TRANSPARENT:
|
|
7
|
+
`, b = s(m)(({ theme: e, $selected: r }) => {
|
|
8
|
+
const { TRANSPARENT: t, BLACK: o } = e.colors;
|
|
9
9
|
return `
|
|
10
10
|
cursor: pointer;
|
|
11
11
|
padding: 0 24px 18px;
|
|
12
|
-
border-bottom: 2px solid ${
|
|
12
|
+
border-bottom: 2px solid ${r ? o : t};
|
|
13
13
|
`;
|
|
14
|
-
}),
|
|
15
|
-
const { label: c, value: n, key: p, visible: d } = o, i =
|
|
14
|
+
}), A = ({ tabs: e, selectedChapterTab: r, setSelectedChapterTab: t }) => /* @__PURE__ */ l(u, { $flexDirection: "row", $width: "100%", $justifyContent: "center", $alignItems: "center", children: e.map((o) => {
|
|
15
|
+
const { label: c, value: n, key: p, visible: d } = o, i = r === n;
|
|
16
16
|
return d ? /* @__PURE__ */ l(
|
|
17
|
-
|
|
17
|
+
b,
|
|
18
18
|
{
|
|
19
|
-
$renderAs: i ? "
|
|
19
|
+
$renderAs: i ? "ub2-bold" : "ub2",
|
|
20
20
|
$selected: i,
|
|
21
|
-
onClick: () =>
|
|
21
|
+
onClick: () => t(n),
|
|
22
22
|
children: c
|
|
23
23
|
},
|
|
24
24
|
p
|
|
25
25
|
) : null;
|
|
26
26
|
}) });
|
|
27
27
|
export {
|
|
28
|
-
|
|
28
|
+
A as default
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=tab-section.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-section.js","sources":["../../../../../src/features/chapters/lpar-chapter/comps/tab-section.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\nconst Wrapper = styled(FlexView)`\n padding-top: 16px;\n`;\n\ntype TTabProps = {\n $selected: boolean;\n};\n\nconst TabLabel = styled(Text)<TTabProps>(({ theme, $selected }) => {\n const { TRANSPARENT, BLACK } = theme.colors;\n\n return `\n cursor: pointer;\n padding: 0 24px 18px;\n border-bottom: 2px solid ${$selected ? BLACK : TRANSPARENT};\n `;\n});\n\ntype TTabData = {\n key: string;\n label: string;\n value: string;\n visible: boolean;\n};\n\ninterface ITabsSection {\n tabs: TTabData[];\n selectedChapterTab: TTabData['value'];\n setSelectedChapterTab: (val: TTabData['value']) => void;\n}\n\nconst TabsSection: FC<ITabsSection> = ({ tabs, selectedChapterTab, setSelectedChapterTab }) => {\n return (\n <Wrapper $flexDirection=\"row\" $width=\"100%\" $justifyContent=\"center\" $alignItems=\"center\">\n {tabs.map(tab => {\n const { label, value, key, visible } = tab;\n const selected = selectedChapterTab === value;\n\n if (!visible) return null;\n\n return (\n <TabLabel\n key={key}\n $renderAs={selected ? '
|
|
1
|
+
{"version":3,"file":"tab-section.js","sources":["../../../../../src/features/chapters/lpar-chapter/comps/tab-section.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\nconst Wrapper = styled(FlexView)`\n padding-top: 16px;\n`;\n\ntype TTabProps = {\n $selected: boolean;\n};\n\nconst TabLabel = styled(Text)<TTabProps>(({ theme, $selected }) => {\n const { TRANSPARENT, BLACK } = theme.colors;\n\n return `\n cursor: pointer;\n padding: 0 24px 18px;\n border-bottom: 2px solid ${$selected ? BLACK : TRANSPARENT};\n `;\n});\n\ntype TTabData = {\n key: string;\n label: string;\n value: string;\n visible: boolean;\n};\n\ninterface ITabsSection {\n tabs: TTabData[];\n selectedChapterTab: TTabData['value'];\n setSelectedChapterTab: (val: TTabData['value']) => void;\n}\n\nconst TabsSection: FC<ITabsSection> = ({ tabs, selectedChapterTab, setSelectedChapterTab }) => {\n return (\n <Wrapper $flexDirection=\"row\" $width=\"100%\" $justifyContent=\"center\" $alignItems=\"center\">\n {tabs.map(tab => {\n const { label, value, key, visible } = tab;\n const selected = selectedChapterTab === value;\n\n if (!visible) return null;\n\n return (\n <TabLabel\n key={key}\n $renderAs={selected ? 'ub2-bold' : 'ub2'}\n $selected={selected}\n onClick={() => setSelectedChapterTab(value)}\n >\n {label}\n </TabLabel>\n );\n })}\n </Wrapper>\n );\n};\n\nexport default TabsSection;\n"],"names":["Wrapper","styled","FlexView","TabLabel","Text","theme","$selected","TRANSPARENT","BLACK","TabsSection","tabs","selectedChapterTab","setSelectedChapterTab","jsx","tab","label","value","key","visible","selected"],"mappings":";;;;AAMA,MAAMA,IAAUC,EAAOC,CAAQ;AAAA;AAAA,GAQzBC,IAAWF,EAAOG,CAAI,EAAa,CAAC,EAAE,OAAAC,GAAO,WAAAC,QAAgB;AACjE,QAAM,EAAE,aAAAC,GAAa,OAAAC,MAAUH,EAAM;AAE9B,SAAA;AAAA;AAAA;AAAA,+BAGsBC,IAAYE,IAAQD,CAAW;AAAA;AAE9D,CAAC,GAeKE,IAAgC,CAAC,EAAE,MAAAC,GAAM,oBAAAC,GAAoB,uBAAAC,QAE9D,gBAAAC,EAAAb,GAAA,EAAQ,gBAAe,OAAM,QAAO,QAAO,iBAAgB,UAAS,aAAY,UAC9E,UAAKU,EAAA,IAAI,CAAOI,MAAA;AACf,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,KAAAC,GAAK,SAAAC,MAAYJ,GACjCK,IAAWR,MAAuBK;AAEpC,SAACE,IAGH,gBAAAL;AAAA,IAACV;AAAA,IAAA;AAAA,MAEC,WAAWgB,IAAW,aAAa;AAAA,MACnC,WAAWA;AAAA,MACX,SAAS,MAAMP,EAAsBI,CAAK;AAAA,MAEzC,UAAAD;AAAA,IAAA;AAAA,IALIE;AAAA,EAAA,IAJY;AAYtB,CAAA,EACH,CAAA;"}
|