@cuemath/leap 3.5.48-gg1 → 3.5.48-j2
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 -3
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/bulb.js +10 -10
- package/dist/assets/line-icons/icons/bulb.js.map +1 -1
- package/dist/assets/line-icons/icons/hand.js.map +1 -1
- package/dist/assets/line-icons/icons/scribble.js +36 -13
- package/dist/assets/line-icons/icons/scribble.js.map +1 -1
- package/dist/assets/line-icons/icons/sticker.js +9 -9
- package/dist/assets/line-icons/icons/sticker.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +6 -6
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js +2 -2
- package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -1
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +29 -64
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +2 -2
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +107 -103
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +2 -2
- 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-tabs/milestone-tabs.js +104 -96
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +134 -115
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +95 -91
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +92 -74
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +28 -25
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +214 -170
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/store/action-types.js +20 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/action-types.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/actions.js +55 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/actions.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/initial-state.js +38 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/initial-state.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/reducer.js +58 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/reducer.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +40 -39
- 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 +44 -43
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +51 -42
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +85 -72
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +34 -25
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +146 -89
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/puzzles/app/puzzle-app-view.js +40 -40
- package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +268 -83
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/hooks/use-learning-plan-sync.js +29 -0
- package/dist/features/trial-session/hooks/use-learning-plan-sync.js.map +1 -0
- package/dist/features/trial-session/trial-session-types.js +3 -2
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/ui/tabs/tabs.js +15 -15
- package/dist/features/ui/tabs/tabs.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +1 -0
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
- package/dist/features/worksheet/worksheet/constants.js +13 -12
- package/dist/features/worksheet/worksheet/constants.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js +100 -123
- package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js.map +1 -1
- package/dist/features/worksheet/worksheet/question-tips.js +100 -0
- package/dist/features/worksheet/worksheet/question-tips.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +109 -40
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +46 -49
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-helpers.js +276 -129
- package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js +25 -25
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-provider.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-provider.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +25 -22
- package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js +20 -26
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js +17 -32
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js +22 -17
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js +2 -2
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +50 -32
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +287 -377
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js +53 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +191 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +345 -20
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js +20 -33
- package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +112 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +61 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js +91 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-store.js +289 -0
- package/dist/features/worksheet/worksheet/worksheet-store.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-styled.js +83 -29
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js +24 -45
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js +3 -4
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-view.js +99 -88
- package/dist/features/worksheet/worksheet/worksheet-view.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +117 -126
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +29 -29
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +24 -24
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/index.d.ts +129 -68
- package/dist/index.js +745 -760
- package/dist/index.js.map +1 -1
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/types/models/worksheet.js +1 -2
- package/dist/types/models/worksheet.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/chevron-up.js +0 -28
- package/dist/assets/line-icons/icons/chevron-up.js.map +0 -1
- package/dist/assets/line-icons/icons/close.js +0 -28
- package/dist/assets/line-icons/icons/close.js.map +0 -1
- package/dist/assets/line-icons/icons/cursor2.js +0 -24
- package/dist/assets/line-icons/icons/cursor2.js.map +0 -1
- package/dist/assets/line-icons/icons/hints.js +0 -25
- package/dist/assets/line-icons/icons/hints.js.map +0 -1
- package/dist/assets/line-icons/icons/question-feedback.js +0 -30
- package/dist/assets/line-icons/icons/question-feedback.js.map +0 -1
- package/dist/assets/line-icons/icons/teaching-tools.js +0 -40
- package/dist/assets/line-icons/icons/teaching-tools.js.map +0 -1
- package/dist/assets/line-icons/icons/tval-question.js +0 -32
- package/dist/assets/line-icons/icons/tval-question.js.map +0 -1
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js +0 -15
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js +0 -18
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js +0 -21
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js +0 -34
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js +0 -38
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js +0 -16
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js +0 -35
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js +0 -12
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js +0 -44
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js +0 -51
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js +0 -23
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js +0 -36
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js +0 -184
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js +0 -261
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js +0 -180
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js +0 -77
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js +0 -103
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js +0 -21
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js +0 -22
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js +0 -49
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js +0 -191
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js +0 -65
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js +0 -9
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js +0 -38
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js +0 -73
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js +0 -20
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js +0 -69
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js +0 -18
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js +0 -138
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js +0 -9
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js +0 -230
- package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js +0 -72
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- package/dist/static/pattern-cubes.113d8dda.svg +0 -1
- package/dist/static/pattern-diamond.a51b202c.svg +0 -1
- package/dist/static/pattern-honeycomb.ed7ad26a.svg +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
|
@@ -1,34 +1,359 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { jsxs as Rt, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { deepEqual as Dt } from "../../../../node_modules/fast-equals/dist/esm/index.js";
|
|
3
|
+
import { memo as zt, useState as Q, useEffect as y, useMemo as Qt } from "react";
|
|
4
|
+
import Ut from "../../../../assets/line-icons/icons/check2.js";
|
|
5
|
+
import Nt from "../../../../assets/line-icons/icons/hand.js";
|
|
6
|
+
import Vt from "../../../../assets/line-icons/icons/question.js";
|
|
7
|
+
import Lt from "../../../../assets/line-icons/icons/skip.js";
|
|
8
|
+
import r from "../../../ui/buttons/button/button.js";
|
|
9
|
+
import x from "../../../ui/buttons/icon-button/icon-button.js";
|
|
10
|
+
import Wt from "../../../ui/layout/flex-view.js";
|
|
11
|
+
import Ht from "./use-handler-callbacks.js";
|
|
12
|
+
import { useWorksheetStore as Mt } from "../hooks/use-worksheet-store.js";
|
|
13
|
+
const ne = zt(
|
|
14
|
+
function(st) {
|
|
15
|
+
var et, nt, it;
|
|
16
|
+
const {
|
|
17
|
+
behavior: C,
|
|
18
|
+
questions: U,
|
|
19
|
+
userType: d,
|
|
20
|
+
responses: N,
|
|
21
|
+
questionIndex: V,
|
|
22
|
+
lastUnlockedQuestionIndex: at,
|
|
23
|
+
learnosity: T,
|
|
24
|
+
onSkip: A,
|
|
25
|
+
canSubmitWorksheet: L,
|
|
26
|
+
actionBarRightElement: W
|
|
27
|
+
} = Mt((e) => ({
|
|
28
|
+
behavior: e.behavior,
|
|
29
|
+
questions: e.questions,
|
|
30
|
+
userType: e.userType,
|
|
31
|
+
responses: e.responses,
|
|
32
|
+
questionIndex: e.activeQuestionIndex,
|
|
33
|
+
lastUnlockedQuestionIndex: e.lastUnlockedQuestionIndex,
|
|
34
|
+
learnosity: e.learnosity,
|
|
35
|
+
onSkip: e.onSkip,
|
|
36
|
+
canSubmitWorksheet: e.canSubmitWorksheet,
|
|
37
|
+
actionBarRightElement: e.actionBarRightElement
|
|
38
|
+
})), H = V <= at, { question: l, isQuestionAppended: m, response: t, getTimeSpentOnQuestion: rt, onSubmit: ut } = st, {
|
|
39
|
+
navigationMode: I,
|
|
40
|
+
canAttempt: o,
|
|
41
|
+
hints: lt,
|
|
42
|
+
checkButtonLabel: ct,
|
|
43
|
+
retryButtonLabel: dt,
|
|
44
|
+
validation: c,
|
|
45
|
+
maximumAttempts: g,
|
|
46
|
+
canExceedAttempts: M,
|
|
47
|
+
teacherValidationEnabled: X,
|
|
48
|
+
canTeacherValidate: u,
|
|
49
|
+
hintsTimer: v,
|
|
50
|
+
skippableTime: $,
|
|
51
|
+
skippable: j
|
|
52
|
+
} = C, { response_id: E, item_type: mt, type: _, instructor_stimulus: Bt, is_optional: P } = l, p = lt ? ((it = (nt = (et = T.question(E)) == null ? void 0 : et.getMetadata()) == null ? void 0 : nt.hints) == null ? void 0 : it.length) ?? 0 : 0, q = Bt === "SystemIntro", w = mt === "exit-ticket", B = o && p - ((t == null ? void 0 : t.hintsUsed) ?? 0) > 0, [s, F] = Q(!1), [G, O] = Q(!1), [J, f] = Q(!1);
|
|
53
|
+
y(() => {
|
|
54
|
+
if (v && B) {
|
|
55
|
+
const e = setTimeout(() => {
|
|
56
|
+
F(!0);
|
|
57
|
+
}, v * 1e3);
|
|
58
|
+
return () => clearTimeout(e);
|
|
59
|
+
}
|
|
60
|
+
F(B);
|
|
61
|
+
}, [v, B]), y(() => {
|
|
62
|
+
const e = !(t != null && t.response) && !(t != null && t.skipped);
|
|
63
|
+
if (j)
|
|
64
|
+
if (p > 0 && !B)
|
|
65
|
+
f(e);
|
|
66
|
+
else if (p === 0 && e) {
|
|
67
|
+
const S = setTimeout(
|
|
68
|
+
() => {
|
|
69
|
+
f(e);
|
|
70
|
+
},
|
|
71
|
+
($ ?? 0) * 1e3
|
|
72
|
+
);
|
|
73
|
+
return () => clearTimeout(S);
|
|
74
|
+
} else
|
|
75
|
+
f(!1);
|
|
76
|
+
}, [p, B, t, j, $]);
|
|
77
|
+
const {
|
|
78
|
+
checkButton: k,
|
|
79
|
+
checkButtonDisabled: kt,
|
|
80
|
+
hintsButton: K,
|
|
81
|
+
retryButton: b,
|
|
82
|
+
nextButton: ht,
|
|
83
|
+
nextButtonDisabled: pt,
|
|
84
|
+
startButton: ft,
|
|
85
|
+
readyButton: bt,
|
|
86
|
+
validateButton: St,
|
|
87
|
+
skipSectionButton: yt,
|
|
88
|
+
submitAttemptButton: Y,
|
|
89
|
+
skipButton: xt
|
|
90
|
+
} = Qt(() => {
|
|
91
|
+
const e = u && P && (t == null ? void 0 : t.assignStatus) === "assigned", S = () => {
|
|
92
|
+
var ot;
|
|
93
|
+
if (g === -2)
|
|
94
|
+
return d === "STUDENT" && o ? {
|
|
95
|
+
hintsButton: s
|
|
96
|
+
} : {};
|
|
97
|
+
if (!o)
|
|
98
|
+
return {
|
|
99
|
+
nextButton: !0
|
|
100
|
+
};
|
|
101
|
+
if (!c && C.navigationMode === "LINEAR")
|
|
102
|
+
return {
|
|
103
|
+
nextButton: !0,
|
|
104
|
+
nextButtonDisabled: !(t != null && t.response),
|
|
105
|
+
hintsButton: s,
|
|
106
|
+
skipButton: J
|
|
107
|
+
};
|
|
108
|
+
if (!c)
|
|
109
|
+
return {
|
|
110
|
+
nextButton: !0,
|
|
111
|
+
hintsButton: s
|
|
112
|
+
};
|
|
113
|
+
if (!t || !t.response || !t.score)
|
|
114
|
+
return {
|
|
115
|
+
checkButton: !0,
|
|
116
|
+
checkButtonDisabled: !0,
|
|
117
|
+
hintsButton: s
|
|
118
|
+
};
|
|
119
|
+
const { responseEdited: h, score: a, attemptsHistory: n } = t, z = ((n == null ? void 0 : n.length) ?? 0) >= g;
|
|
120
|
+
if (z && !M)
|
|
121
|
+
return {
|
|
122
|
+
nextButton: !0
|
|
123
|
+
};
|
|
124
|
+
if (h) {
|
|
125
|
+
const wt = (ot = n == null ? void 0 : n.slice(-1)[0]) == null ? void 0 : ot.response;
|
|
126
|
+
return {
|
|
127
|
+
nextButton: z,
|
|
128
|
+
checkButton: !0,
|
|
129
|
+
checkButtonDisabled: Dt(t.response, wt),
|
|
130
|
+
hintsButton: s
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return (a.score ?? 0) < a.max_score ? {
|
|
134
|
+
nextButton: z,
|
|
135
|
+
retryButton: !0,
|
|
136
|
+
hintsButton: s
|
|
137
|
+
} : (a.score ?? 0) === a.max_score ? {
|
|
138
|
+
nextButton: !0
|
|
139
|
+
} : {};
|
|
140
|
+
}, qt = () => U.some(({ response_id: h }) => {
|
|
141
|
+
const { assignStatus: a, validatedByTeacher: n } = N[h] ?? {};
|
|
142
|
+
return a === "skipped" ? !1 : n !== !0;
|
|
143
|
+
});
|
|
144
|
+
if (X) {
|
|
145
|
+
const { validatedByTeacher: h } = t ?? {};
|
|
146
|
+
if (I === "ADAPTIVE" || I === "CURRENT")
|
|
147
|
+
return d === "STUDENT" ? {
|
|
148
|
+
hintsButton: s,
|
|
149
|
+
validateButton: !1
|
|
150
|
+
} : {
|
|
151
|
+
validateButton: !1
|
|
152
|
+
};
|
|
153
|
+
if (h)
|
|
154
|
+
return {
|
|
155
|
+
validateButton: !0,
|
|
156
|
+
submitAttemptButton: u && o && d === "STUDENT" && L ? !qt() : !1
|
|
157
|
+
};
|
|
158
|
+
if (!H)
|
|
159
|
+
return {};
|
|
160
|
+
if (d === "STUDENT")
|
|
161
|
+
return q ? {
|
|
162
|
+
startButton: u && o
|
|
163
|
+
} : _ !== "clozetext" ? {
|
|
164
|
+
...S(),
|
|
165
|
+
nextButton: !1
|
|
166
|
+
} : {
|
|
167
|
+
hintsButton: s,
|
|
168
|
+
readyButton: u && w && !(t != null && t.submittedByStudent)
|
|
169
|
+
};
|
|
170
|
+
if (q)
|
|
171
|
+
return {
|
|
172
|
+
skipSectionButton: e
|
|
173
|
+
};
|
|
174
|
+
if (_ !== "clozetext") {
|
|
175
|
+
const { responseEdited: a, score: n } = t ?? {};
|
|
176
|
+
return {
|
|
177
|
+
skipSectionButton: e,
|
|
178
|
+
validateButton: a || !u ? !1 : !!(n != null && n.score && (n != null && n.max_score) && !((n.score ?? 0) < n.max_score))
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
skipSectionButton: e,
|
|
183
|
+
validateButton: u && (w ? t == null ? void 0 : t.submittedByStudent : !0)
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
return S();
|
|
187
|
+
}, [
|
|
188
|
+
u,
|
|
189
|
+
P,
|
|
190
|
+
t,
|
|
191
|
+
X,
|
|
192
|
+
o,
|
|
193
|
+
c,
|
|
194
|
+
C.navigationMode,
|
|
195
|
+
g,
|
|
196
|
+
M,
|
|
197
|
+
s,
|
|
198
|
+
J,
|
|
199
|
+
U,
|
|
200
|
+
N,
|
|
201
|
+
I,
|
|
202
|
+
H,
|
|
203
|
+
d,
|
|
204
|
+
q,
|
|
205
|
+
_,
|
|
206
|
+
w,
|
|
207
|
+
L
|
|
208
|
+
]), {
|
|
209
|
+
handleResponseChange: R,
|
|
210
|
+
handleHelpButtonClick: Z,
|
|
211
|
+
handleBackButtonClick: tt,
|
|
212
|
+
handleNextButtonClick: D,
|
|
213
|
+
handleCheckButtonClick: Ct,
|
|
214
|
+
handleRetryButtonClick: Tt,
|
|
215
|
+
handleHintButtonClick: At,
|
|
216
|
+
handleValidateButtonClick: It,
|
|
217
|
+
handleStartButtonClick: gt,
|
|
218
|
+
handleSkipSectionButtonClick: vt,
|
|
219
|
+
handleReadyButtonClick: Et,
|
|
220
|
+
handleSkipButtonClick: _t
|
|
221
|
+
} = Ht({
|
|
222
|
+
question: l,
|
|
223
|
+
setSkipped: O,
|
|
224
|
+
getTimeSpentOnQuestion: rt
|
|
225
|
+
});
|
|
226
|
+
return y(() => {
|
|
227
|
+
G && (O(!1), f(!1), D(), A && A(l.item_display_number, l.question_number));
|
|
228
|
+
}, [
|
|
229
|
+
D,
|
|
230
|
+
A,
|
|
231
|
+
l.item_display_number,
|
|
232
|
+
l.question_number,
|
|
233
|
+
G
|
|
234
|
+
]), y(() => {
|
|
235
|
+
const e = m ? T.question(E) : void 0;
|
|
236
|
+
return e && o && (!c || k) && (e.on("changed", R), e.enable()), () => {
|
|
237
|
+
e && o && (!c || k) && (e.off("changed", R), e.disable());
|
|
238
|
+
};
|
|
239
|
+
}, [
|
|
240
|
+
o,
|
|
241
|
+
k,
|
|
242
|
+
R,
|
|
243
|
+
m,
|
|
244
|
+
T,
|
|
245
|
+
E,
|
|
246
|
+
c
|
|
247
|
+
]), /* @__PURE__ */ Rt(
|
|
248
|
+
Wt,
|
|
14
249
|
{
|
|
250
|
+
$background: "WHITE",
|
|
15
251
|
$flexDirection: "row",
|
|
16
252
|
$flexGapX: 0.5,
|
|
17
253
|
$alignItems: "center",
|
|
18
254
|
$justifyContent: "flex-end",
|
|
19
|
-
style: {
|
|
20
|
-
pointerEvents: "all"
|
|
21
|
-
},
|
|
22
255
|
children: [
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
-
|
|
25
|
-
|
|
256
|
+
K && /* @__PURE__ */ i(
|
|
257
|
+
x,
|
|
258
|
+
{
|
|
259
|
+
Icon: Vt,
|
|
260
|
+
analyticsLabel: "Hint",
|
|
261
|
+
renderAs: "secondary",
|
|
262
|
+
disabled: !m,
|
|
263
|
+
onClick: At
|
|
264
|
+
}
|
|
265
|
+
),
|
|
266
|
+
!K && Z && (k || b) && /* @__PURE__ */ i(
|
|
267
|
+
x,
|
|
268
|
+
{
|
|
269
|
+
Icon: Nt,
|
|
270
|
+
analyticsLabel: "Ask for help",
|
|
271
|
+
renderAs: "secondary",
|
|
272
|
+
onClick: Z
|
|
273
|
+
}
|
|
274
|
+
),
|
|
275
|
+
tt && /* @__PURE__ */ i(
|
|
276
|
+
r,
|
|
277
|
+
{
|
|
278
|
+
widthX: 6,
|
|
279
|
+
renderAs: "secondary",
|
|
280
|
+
size: "small",
|
|
281
|
+
label: "Back",
|
|
282
|
+
disabled: V === 0,
|
|
283
|
+
onClick: tt
|
|
284
|
+
}
|
|
285
|
+
),
|
|
286
|
+
xt && /* @__PURE__ */ i(
|
|
287
|
+
r,
|
|
288
|
+
{
|
|
289
|
+
widthX: 6,
|
|
290
|
+
renderAs: b ? "secondary" : "primary",
|
|
291
|
+
size: "small",
|
|
292
|
+
label: "Skip",
|
|
293
|
+
onClick: _t
|
|
294
|
+
}
|
|
295
|
+
),
|
|
296
|
+
ht && /* @__PURE__ */ i(
|
|
297
|
+
r,
|
|
298
|
+
{
|
|
299
|
+
widthX: 6,
|
|
300
|
+
renderAs: b ? "secondary" : "primary",
|
|
301
|
+
size: "small",
|
|
302
|
+
label: "Next",
|
|
303
|
+
onClick: D,
|
|
304
|
+
disabled: pt === !0
|
|
305
|
+
}
|
|
306
|
+
),
|
|
307
|
+
b && /* @__PURE__ */ i(
|
|
308
|
+
r,
|
|
309
|
+
{
|
|
310
|
+
widthX: 6,
|
|
311
|
+
renderAs: "primary",
|
|
312
|
+
size: "small",
|
|
313
|
+
label: dt,
|
|
314
|
+
disabled: !m,
|
|
315
|
+
onClick: Tt
|
|
316
|
+
}
|
|
317
|
+
),
|
|
318
|
+
k && /* @__PURE__ */ i(
|
|
319
|
+
r,
|
|
320
|
+
{
|
|
321
|
+
renderAs: "primary",
|
|
322
|
+
size: "small",
|
|
323
|
+
label: ct,
|
|
324
|
+
disabled: kt === !0 || !m,
|
|
325
|
+
onClick: Ct
|
|
326
|
+
}
|
|
327
|
+
),
|
|
328
|
+
ft && /* @__PURE__ */ i(r, { renderAs: "primary", size: "small", label: "Start", onClick: gt }),
|
|
329
|
+
bt && /* @__PURE__ */ i(r, { renderAs: "primary", size: "small", label: "Submit", onClick: Et }),
|
|
330
|
+
yt && /* @__PURE__ */ i(
|
|
331
|
+
x,
|
|
332
|
+
{
|
|
333
|
+
renderAs: "primary",
|
|
334
|
+
Icon: Lt,
|
|
335
|
+
analyticsLabel: "Skip Section",
|
|
336
|
+
onClick: vt
|
|
337
|
+
}
|
|
338
|
+
),
|
|
339
|
+
!Y && St && /* @__PURE__ */ i(
|
|
340
|
+
x,
|
|
341
|
+
{
|
|
342
|
+
renderAs: "primary",
|
|
343
|
+
Icon: Ut,
|
|
344
|
+
disabled: t == null ? void 0 : t.validatedByTeacher,
|
|
345
|
+
analyticsLabel: "Validate",
|
|
346
|
+
onClick: It
|
|
347
|
+
}
|
|
348
|
+
),
|
|
349
|
+
Y && /* @__PURE__ */ i(r, { renderAs: "primary", size: "small", label: "Submit", onClick: ut }),
|
|
350
|
+
W && W
|
|
26
351
|
]
|
|
27
352
|
}
|
|
28
353
|
);
|
|
29
354
|
}
|
|
30
355
|
);
|
|
31
356
|
export {
|
|
32
|
-
|
|
357
|
+
ne as default
|
|
33
358
|
};
|
|
34
359
|
//# sourceMappingURL=worksheet-questions-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-questions-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport { useWorksheetStore } from '../hooks/use-worksheet-store';\nimport type { IWorksheetQuestionsControllerProps } from './worksheet-questions-controller-types';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Navigator from '../worksheet-sidebar/navigator';\nimport WorksheetQuestionsControllerView from './worksheet-questions-controller-view';\n\nconst WorksheetQuestionsController: FC<IWorksheetQuestionsControllerProps> = memo(\n function WorksheetQuestionsController(props) {\n const { actionBarRightElement } = useWorksheetStore(store => ({\n actionBarRightElement: store.actionBarRightElement,\n }));\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"flex-end\"\n style={{\n pointerEvents: 'all',\n }}\n >\n <WorksheetQuestionsControllerView {...props} />\n {actionBarRightElement && actionBarRightElement}\n <Navigator />\n </FlexView>\n );\n },\n);\n\nexport default WorksheetQuestionsController;\n"],"names":["WorksheetQuestionsController","memo","props","actionBarRightElement","useWorksheetStore","store","jsxs","FlexView","jsx","WorksheetQuestionsControllerView","Navigator"],"mappings":";;;;;;AAQA,MAAMA,IAAuEC;AAAA,EAC3E,SAAsCC,GAAO;AAC3C,UAAM,EAAE,uBAAAC,EAAA,IAA0BC,EAAkB,CAAUC,OAAA;AAAA,MAC5D,uBAAuBA,EAAM;AAAA,IAC7B,EAAA;AAGA,WAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,WAAW;AAAA,QACX,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,OAAO;AAAA,UACL,eAAe;AAAA,QACjB;AAAA,QAEA,UAAA;AAAA,UAAC,gBAAAC,EAAAC,GAAA,EAAkC,GAAGP,GAAO;AAAA,UAC5CC,KAAyBA;AAAA,4BACzBO,GAAU,EAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGjB;AACF;"}
|
|
1
|
+
{"version":3,"file":"worksheet-questions-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.tsx"],"sourcesContent":["import { deepEqual } from 'fast-equals';\nimport { memo, useEffect, useMemo, useState, type FC } from 'react';\n\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport HandIcon from '../../../../assets/line-icons/icons/hand';\nimport QuestionIcon from '../../../../assets/line-icons/icons/question';\nimport SkipIcon from '../../../../assets/line-icons/icons/skip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport useHandlerCallbacks from './use-handler-callbacks';\nimport type {\n IButtonTypes,\n IWorksheetQuestionsControllerProps,\n} from './worksheet-questions-controller-types';\nimport { useWorksheetStore } from '../hooks/use-worksheet-store';\n\nconst WorksheetQuestionsController: FC<IWorksheetQuestionsControllerProps> = memo(\n function WorksheetQuestionsController(props) {\n const {\n behavior,\n questions,\n userType,\n responses,\n questionIndex,\n lastUnlockedQuestionIndex,\n learnosity,\n onSkip,\n canSubmitWorksheet,\n actionBarRightElement,\n } = useWorksheetStore(store => ({\n behavior: store.behavior,\n questions: store.questions,\n userType: store.userType,\n responses: store.responses,\n questionIndex: store.activeQuestionIndex,\n lastUnlockedQuestionIndex: store.lastUnlockedQuestionIndex,\n learnosity: store.learnosity,\n onSkip: store.onSkip,\n canSubmitWorksheet: store.canSubmitWorksheet,\n actionBarRightElement: store.actionBarRightElement,\n }));\n const isQuestionUnlocked = questionIndex <= lastUnlockedQuestionIndex;\n const { question, isQuestionAppended, response, getTimeSpentOnQuestion, onSubmit } = props;\n const {\n navigationMode,\n canAttempt,\n hints,\n checkButtonLabel,\n retryButtonLabel,\n validation,\n maximumAttempts,\n canExceedAttempts,\n teacherValidationEnabled,\n canTeacherValidate,\n hintsTimer,\n skippableTime,\n skippable,\n } = behavior;\n\n const { response_id, item_type, type, instructor_stimulus, is_optional } = question;\n const hintsAvailable = !hints\n ? 0\n : learnosity.question(response_id)?.getMetadata()?.hints?.length ?? 0;\n\n const isSystemIntro = instructor_stimulus === 'SystemIntro';\n const isExitTicket = item_type === 'exit-ticket';\n const hintsRemaining = canAttempt && hintsAvailable - (response?.hintsUsed ?? 0) > 0;\n\n const [showHintsButton, setShowHintsButton] = useState(false);\n const [skipped, setSkipped] = useState(false);\n const [showSkipButton, setShowSkipButton] = useState(false);\n\n useEffect(() => {\n if (hintsTimer && hintsRemaining) {\n const timeoutId = setTimeout(() => {\n setShowHintsButton(true);\n }, hintsTimer * 1000);\n\n return () => clearTimeout(timeoutId);\n }\n setShowHintsButton(hintsRemaining);\n }, [hintsTimer, hintsRemaining]);\n\n useEffect(() => {\n const canShowSkip = !response?.response && !response?.skipped;\n\n //* If hints are available and user has exhausted all hints then we show skip button.\n //* If hints are not available and user has not given any response or have not skipped a question then we show skip button after skippableTime/ 90 seconds.\n //* Else skip button is hidden.\n if (skippable) {\n if (hintsAvailable > 0 && !hintsRemaining) {\n setShowSkipButton(canShowSkip);\n } else if (hintsAvailable === 0 && canShowSkip) {\n const timeoutId = setTimeout(\n () => {\n setShowSkipButton(canShowSkip);\n },\n (skippableTime ?? 0) * 1000,\n );\n\n return () => clearTimeout(timeoutId);\n } else {\n setShowSkipButton(false);\n }\n }\n }, [hintsAvailable, hintsRemaining, response, skippable, skippableTime]);\n\n const {\n checkButton,\n checkButtonDisabled,\n hintsButton,\n retryButton,\n nextButton,\n nextButtonDisabled,\n startButton,\n readyButton,\n validateButton,\n skipSectionButton,\n submitAttemptButton,\n skipButton,\n } = useMemo<IButtonTypes>(() => {\n const showSkipSectionButton =\n canTeacherValidate && is_optional && response?.assignStatus === 'assigned';\n\n const getSystemValidationButtons = (): IButtonTypes => {\n //* maximumAttempts = -2 means this is a puzzle card.\n if (maximumAttempts === -2) {\n if (userType === 'STUDENT') {\n if (canAttempt) {\n return {\n hintsButton: showHintsButton,\n };\n }\n }\n\n return {};\n }\n\n if (!canAttempt) {\n return {\n nextButton: true,\n };\n }\n\n if (!validation && behavior.navigationMode === 'LINEAR') {\n return {\n nextButton: true,\n nextButtonDisabled: !response?.response,\n hintsButton: showHintsButton,\n skipButton: showSkipButton,\n };\n }\n\n if (!validation) {\n return {\n nextButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if (!response || !response.response || !response.score) {\n return {\n checkButton: true,\n checkButtonDisabled: true,\n hintsButton: showHintsButton,\n };\n }\n\n const { responseEdited, score, attemptsHistory } = response;\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n if (maximumAttemptsReached && !canExceedAttempts) {\n return {\n nextButton: true,\n };\n }\n\n if (responseEdited) {\n const lastAttemptResponse = attemptsHistory?.slice(-1)[0]?.response;\n\n return {\n nextButton: maximumAttemptsReached,\n checkButton: true,\n checkButtonDisabled: deepEqual(response.response, lastAttemptResponse),\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) < score.max_score) {\n return {\n nextButton: maximumAttemptsReached,\n retryButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) === score.max_score) {\n return {\n nextButton: true,\n };\n }\n\n return {};\n };\n\n const isPendingTeacherValidation = () =>\n questions.some(({ response_id: questionId }) => {\n const { assignStatus, validatedByTeacher } = responses[questionId] ?? {};\n\n return assignStatus === 'skipped' ? false : validatedByTeacher !== true;\n });\n\n if (teacherValidationEnabled) {\n const { validatedByTeacher } = response ?? {};\n\n if (navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT') {\n if (userType === 'STUDENT') {\n return {\n hintsButton: showHintsButton,\n validateButton: false,\n };\n }\n\n return {\n validateButton: false,\n };\n }\n\n if (validatedByTeacher) {\n return {\n validateButton: true,\n submitAttemptButton:\n canTeacherValidate && canAttempt && userType === 'STUDENT' && canSubmitWorksheet\n ? !isPendingTeacherValidation()\n : false,\n };\n }\n\n if (!isQuestionUnlocked) {\n return {};\n }\n\n if (userType === 'STUDENT') {\n if (isSystemIntro) {\n return {\n startButton: canTeacherValidate && canAttempt,\n };\n }\n\n if (type !== 'clozetext') {\n return {\n ...getSystemValidationButtons(),\n nextButton: false,\n };\n }\n\n return {\n hintsButton: showHintsButton,\n readyButton: canTeacherValidate && isExitTicket && !response?.submittedByStudent,\n };\n }\n\n if (isSystemIntro) {\n return {\n skipSectionButton: showSkipSectionButton,\n };\n }\n\n if (type !== 'clozetext') {\n const { responseEdited, score } = response ?? {};\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton:\n responseEdited || !canTeacherValidate\n ? false\n : !!(score?.score && score?.max_score && !((score.score ?? 0) < score.max_score)),\n };\n }\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton:\n canTeacherValidate && (isExitTicket ? response?.submittedByStudent : true),\n };\n }\n\n return getSystemValidationButtons();\n }, [\n canTeacherValidate,\n is_optional,\n response,\n teacherValidationEnabled,\n canAttempt,\n validation,\n behavior.navigationMode,\n maximumAttempts,\n canExceedAttempts,\n showHintsButton,\n showSkipButton,\n questions,\n responses,\n navigationMode,\n isQuestionUnlocked,\n userType,\n isSystemIntro,\n type,\n isExitTicket,\n canSubmitWorksheet,\n ]);\n\n const {\n handleResponseChange,\n handleHelpButtonClick,\n handleBackButtonClick,\n handleNextButtonClick,\n handleCheckButtonClick,\n handleRetryButtonClick,\n handleHintButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleSkipSectionButtonClick,\n handleReadyButtonClick,\n handleSkipButtonClick,\n } = useHandlerCallbacks({\n question,\n setSkipped,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n if (skipped) {\n setSkipped(false);\n setShowSkipButton(false);\n handleNextButtonClick();\n if (onSkip) {\n onSkip(question.item_display_number, question.question_number);\n }\n }\n }, [\n handleNextButtonClick,\n onSkip,\n question.item_display_number,\n question.question_number,\n skipped,\n ]);\n\n useEffect(() => {\n const questionInstance = isQuestionAppended ? learnosity.question(response_id) : undefined;\n\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.on('changed', handleResponseChange);\n questionInstance.enable();\n }\n\n return () => {\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.off('changed', handleResponseChange);\n questionInstance.disable();\n }\n };\n }, [\n canAttempt,\n checkButton,\n handleResponseChange,\n isQuestionAppended,\n learnosity,\n response_id,\n validation,\n ]);\n\n return (\n <FlexView\n $background=\"WHITE\"\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"flex-end\"\n >\n {hintsButton && (\n <IconButton\n Icon={QuestionIcon}\n analyticsLabel=\"Hint\"\n renderAs=\"secondary\"\n disabled={!isQuestionAppended}\n onClick={handleHintButtonClick}\n />\n )}\n {!hintsButton && handleHelpButtonClick && (checkButton || retryButton) && (\n <IconButton\n Icon={HandIcon}\n analyticsLabel=\"Ask for help\"\n renderAs=\"secondary\"\n onClick={handleHelpButtonClick}\n />\n )}\n {handleBackButtonClick && (\n <Button\n widthX={6}\n renderAs=\"secondary\"\n size=\"small\"\n label=\"Back\"\n disabled={questionIndex === 0}\n onClick={handleBackButtonClick}\n />\n )}\n {skipButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Skip\"\n onClick={handleSkipButtonClick}\n />\n )}\n {nextButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Next\"\n onClick={handleNextButtonClick}\n disabled={nextButtonDisabled === true}\n />\n )}\n {retryButton && (\n <Button\n widthX={6}\n renderAs=\"primary\"\n size=\"small\"\n label={retryButtonLabel}\n disabled={!isQuestionAppended}\n onClick={handleRetryButtonClick}\n />\n )}\n {checkButton && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label={checkButtonLabel}\n disabled={checkButtonDisabled === true || !isQuestionAppended}\n onClick={handleCheckButtonClick}\n />\n )}\n {startButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Start\" onClick={handleStartButtonClick} />\n )}\n {readyButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={handleReadyButtonClick} />\n )}\n {skipSectionButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={SkipIcon}\n analyticsLabel=\"Skip Section\"\n onClick={handleSkipSectionButtonClick}\n />\n )}\n {!submitAttemptButton && validateButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={Check2Icon}\n disabled={response?.validatedByTeacher}\n analyticsLabel=\"Validate\"\n onClick={handleValidateButtonClick}\n />\n )}\n {submitAttemptButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={onSubmit} />\n )}\n {actionBarRightElement && actionBarRightElement}\n </FlexView>\n );\n },\n);\n\nexport default WorksheetQuestionsController;\n"],"names":["WorksheetQuestionsController","memo","props","behavior","questions","userType","responses","questionIndex","lastUnlockedQuestionIndex","learnosity","onSkip","canSubmitWorksheet","actionBarRightElement","useWorksheetStore","store","isQuestionUnlocked","question","isQuestionAppended","response","getTimeSpentOnQuestion","onSubmit","navigationMode","canAttempt","hints","checkButtonLabel","retryButtonLabel","validation","maximumAttempts","canExceedAttempts","teacherValidationEnabled","canTeacherValidate","hintsTimer","skippableTime","skippable","response_id","item_type","type","instructor_stimulus","is_optional","hintsAvailable","_c","_b","_a","isSystemIntro","isExitTicket","hintsRemaining","showHintsButton","setShowHintsButton","useState","skipped","setSkipped","showSkipButton","setShowSkipButton","useEffect","timeoutId","canShowSkip","checkButton","checkButtonDisabled","hintsButton","retryButton","nextButton","nextButtonDisabled","startButton","readyButton","validateButton","skipSectionButton","submitAttemptButton","skipButton","useMemo","showSkipSectionButton","getSystemValidationButtons","responseEdited","score","attemptsHistory","maximumAttemptsReached","lastAttemptResponse","deepEqual","isPendingTeacherValidation","questionId","assignStatus","validatedByTeacher","handleResponseChange","handleHelpButtonClick","handleBackButtonClick","handleNextButtonClick","handleCheckButtonClick","handleRetryButtonClick","handleHintButtonClick","handleValidateButtonClick","handleStartButtonClick","handleSkipSectionButtonClick","handleReadyButtonClick","handleSkipButtonClick","useHandlerCallbacks","questionInstance","jsxs","FlexView","jsx","IconButton","QuestionIcon","HandIcon","Button","SkipIcon","Check2Icon"],"mappings":"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"}
|
|
@@ -1,38 +1,25 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { jsxs as c, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback as a } from "react";
|
|
3
|
+
import m from "../../../../assets/line-icons/icons/down.js";
|
|
4
|
+
import s from "../../../../assets/line-icons/icons/up.js";
|
|
5
|
+
import n from "../../../ui/buttons/clickable/clickable.js";
|
|
6
|
+
import p from "../../../ui/separator/separator.js";
|
|
7
|
+
import { GuideContainer as d } from "./worksheet-sidebar-styled.js";
|
|
8
|
+
const g = () => {
|
|
9
|
+
const r = a((i) => {
|
|
10
|
+
const l = document.getElementById("live-sheet-scroll-wrapper"), t = document.getElementById("tab-content-container"), e = {
|
|
11
|
+
top: i === "up" ? -100 : 100,
|
|
11
12
|
behavior: "smooth"
|
|
12
13
|
};
|
|
13
|
-
l ? l.scrollBy(
|
|
14
|
-
}, [])
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
{
|
|
22
|
-
$background: "WHITE",
|
|
23
|
-
$borderRadius: 48,
|
|
24
|
-
$gutter: 8,
|
|
25
|
-
$flexGap: 8,
|
|
26
|
-
$flexDirection: "row",
|
|
27
|
-
$borderColor: "BLACK_T_15",
|
|
28
|
-
children: [
|
|
29
|
-
/* @__PURE__ */ o(c, { label: "up", onClick: s, children: /* @__PURE__ */ o(r, { $height: 38, $justifyContent: "center", children: /* @__PURE__ */ o(f, {}) }) }),
|
|
30
|
-
/* @__PURE__ */ o(c, { label: "down", onClick: a, children: /* @__PURE__ */ o(r, { $height: 38, $justifyContent: "center", children: /* @__PURE__ */ o(p, {}) }) })
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
});
|
|
14
|
+
l ? l.scrollBy(e) : t ? t.scrollBy(e) : window.scrollBy(e);
|
|
15
|
+
}, []);
|
|
16
|
+
return /* @__PURE__ */ c(d, { $background: "WHITE", children: [
|
|
17
|
+
/* @__PURE__ */ o(n, { label: "up", onClick: () => r("up"), children: /* @__PURE__ */ o(s, {}) }),
|
|
18
|
+
/* @__PURE__ */ o(p, { height: 16 }),
|
|
19
|
+
/* @__PURE__ */ o(n, { label: "down", onClick: () => r("down"), children: /* @__PURE__ */ o(m, {}) })
|
|
20
|
+
] });
|
|
21
|
+
};
|
|
35
22
|
export {
|
|
36
|
-
|
|
23
|
+
g as default
|
|
37
24
|
};
|
|
38
25
|
//# sourceMappingURL=navigator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigator.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/navigator.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"navigator.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/navigator.tsx"],"sourcesContent":["import { useCallback, type FC } from 'react';\n\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport Separator from '../../../ui/separator/separator';\nimport { GuideContainer } from './worksheet-sidebar-styled';\n\nconst Navigator: FC = () => {\n const handleClick = useCallback((val: 'up' | 'down') => {\n const liveScrollView = document.getElementById('live-sheet-scroll-wrapper');\n const tabScrollView = document.getElementById('tab-content-container');\n const position = {\n top: val === 'up' ? -100 : 100,\n behavior: 'smooth',\n } as const;\n\n if (liveScrollView) {\n liveScrollView.scrollBy(position);\n } else if (tabScrollView) {\n tabScrollView.scrollBy(position);\n } else {\n window.scrollBy(position);\n }\n }, []);\n\n return (\n <GuideContainer $background=\"WHITE\">\n <Clickable label=\"up\" onClick={() => handleClick('up')}>\n <UpIcon />\n </Clickable>\n <Separator height={16} />\n <Clickable label=\"down\" onClick={() => handleClick('down')}>\n <DownIcon />\n </Clickable>\n </GuideContainer>\n );\n};\n\nexport default Navigator;\n"],"names":["Navigator","handleClick","useCallback","val","liveScrollView","tabScrollView","position","jsxs","GuideContainer","jsx","Clickable","UpIcon","Separator","DownIcon"],"mappings":";;;;;;;AAQA,MAAMA,IAAgB,MAAM;AACpB,QAAAC,IAAcC,EAAY,CAACC,MAAuB;AAChD,UAAAC,IAAiB,SAAS,eAAe,2BAA2B,GACpEC,IAAgB,SAAS,eAAe,uBAAuB,GAC/DC,IAAW;AAAA,MACf,KAAKH,MAAQ,OAAO,OAAO;AAAA,MAC3B,UAAU;AAAA,IAAA;AAGZ,IAAIC,IACFA,EAAe,SAASE,CAAQ,IACvBD,IACTA,EAAc,SAASC,CAAQ,IAE/B,OAAO,SAASA,CAAQ;AAAA,EAE5B,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAC,EAACC,GAAe,EAAA,aAAY,SAC1B,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,OAAM,MAAK,SAAS,MAAMT,EAAY,IAAI,GACnD,UAAC,gBAAAQ,EAAAE,GAAA,CAAA,CAAO,EACV,CAAA;AAAA,IACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAH,EAACC,GAAU,EAAA,OAAM,QAAO,SAAS,MAAMT,EAAY,MAAM,GACvD,UAAC,gBAAAQ,EAAAI,GAAA,CAAA,CAAS,EACZ,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as w, useState as H, useCallback as u, useMemo as G, useRef as N, useEffect as y } from "react";
|
|
3
|
+
import O from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
4
|
+
import p from "../../../ui/buttons/clickable/clickable.js";
|
|
5
|
+
import r from "../../../ui/layout/flex-view.js";
|
|
6
|
+
import P from "../../../ui/separator/separator.js";
|
|
7
|
+
import h from "../../../ui/text/text.js";
|
|
8
|
+
import R from "../../constants/events.js";
|
|
9
|
+
import { useWorksheetStore as V } from "../hooks/use-worksheet-store.js";
|
|
10
|
+
import { GuideContainer as j, HintIcon as L, SolIcon as Q, Pointer as B, SectionContainer as M, Section as q, CloseIcon as K, Guide as U } from "./worksheet-sidebar-styled.js";
|
|
11
|
+
const re = w(function({
|
|
12
|
+
questionWidth: g,
|
|
13
|
+
questions: k,
|
|
14
|
+
learnosity: $,
|
|
15
|
+
actionbarHeight: I
|
|
16
|
+
}) {
|
|
17
|
+
var C;
|
|
18
|
+
const { activeQuestionIndex: _, loggerRef: l, plugins: m } = V((o) => ({
|
|
19
|
+
activeQuestionIndex: o.activeQuestionIndex,
|
|
20
|
+
loggerRef: o.loggerRef,
|
|
21
|
+
plugins: o.plugins
|
|
22
|
+
})), [t, c] = H(), [v, A] = H({
|
|
23
|
+
top: 0,
|
|
24
|
+
left: 0
|
|
25
|
+
}), { top: S, left: b } = v, X = u(() => {
|
|
26
|
+
c("HINT"), l.current(R.WORKSHEET_V3_HINT_SEEN);
|
|
27
|
+
}, [l]), x = u(() => {
|
|
28
|
+
c("SOL"), l.current(R.WORKSHEET_V3_SOLUTION_SEEN);
|
|
29
|
+
}, [l]), W = u(() => {
|
|
30
|
+
c(() => {
|
|
31
|
+
});
|
|
32
|
+
}, []), { hints: s, solution: d } = ((C = k[_]) == null ? void 0 : C.metadata) || {}, i = G(() => t === void 0 ? void 0 : t === "HINT" ? s : d, [t, s, d]), E = N(null), T = N(null), f = u((o) => {
|
|
33
|
+
if (o.current) {
|
|
34
|
+
const n = o.current.getBoundingClientRect();
|
|
35
|
+
A({
|
|
36
|
+
top: n.top + n.height / 2 - 8,
|
|
37
|
+
left: n.right - 78
|
|
38
|
+
// 52px (sidebar width) + 16px (gutter) + 10px
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, []);
|
|
42
|
+
return t && i && $ && $.renderMath("mathjax"), y(() => {
|
|
43
|
+
t === "HINT" ? f(T) : t === "SOL" ? f(E) : i || c(void 0);
|
|
44
|
+
}, [t, f, i]), /* @__PURE__ */ a(j, { $background: "WHITE", children: [
|
|
45
|
+
(m == null ? void 0 : m.stickers) ?? null,
|
|
46
|
+
/* @__PURE__ */ e(
|
|
47
|
+
O,
|
|
48
|
+
{
|
|
49
|
+
renderAs: "primary",
|
|
50
|
+
tooltipItem: /* @__PURE__ */ e(h, { $renderAs: "ab3", $color: "WHITE", children: "Hint" }),
|
|
51
|
+
position: "left",
|
|
52
|
+
tooltipXCoOrdinates: "40%",
|
|
53
|
+
children: /* @__PURE__ */ e(p, { label: "hints", onClick: X, disabled: !s, children: /* @__PURE__ */ e(r, { $alignItems: "center", $justifyContent: "center", ref: T, children: /* @__PURE__ */ e(L, { width: 32, height: 32, $disabled: !s }) }) })
|
|
54
|
+
}
|
|
55
|
+
),
|
|
56
|
+
/* @__PURE__ */ e(r, { $gap: 8, $alignItems: "center", children: /* @__PURE__ */ e(P, { width: 24, height: 1, background: "GREY_2" }) }),
|
|
57
|
+
/* @__PURE__ */ e(
|
|
58
|
+
O,
|
|
59
|
+
{
|
|
60
|
+
renderAs: "primary",
|
|
61
|
+
tooltipItem: /* @__PURE__ */ e(h, { $renderAs: "ab3", $color: "WHITE", children: "Solution" }),
|
|
62
|
+
position: "left",
|
|
63
|
+
tooltipXCoOrdinates: "25%",
|
|
64
|
+
tooltipYCoOrdinates: "5%",
|
|
65
|
+
children: /* @__PURE__ */ e(p, { label: "solution", onClick: x, disabled: !d, children: /* @__PURE__ */ e(r, { $alignItems: "center", $justifyContent: "center", ref: E, children: /* @__PURE__ */ e(Q, { width: 32, height: 32, $disabled: !d }) }) })
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
t && S && b && /* @__PURE__ */ e(B, { topValue: S, leftValue: b }),
|
|
69
|
+
t && /* @__PURE__ */ e(
|
|
70
|
+
M,
|
|
71
|
+
{
|
|
72
|
+
$background: "WHITE",
|
|
73
|
+
$questionWidth: g,
|
|
74
|
+
$actionbarHeight: I,
|
|
75
|
+
$borderRadius: 10,
|
|
76
|
+
children: /* @__PURE__ */ a(
|
|
77
|
+
q,
|
|
78
|
+
{
|
|
79
|
+
$gutterX: 1,
|
|
80
|
+
$gapX: 1,
|
|
81
|
+
$questionWidth: g,
|
|
82
|
+
$actionbarHeight: I,
|
|
83
|
+
children: [
|
|
84
|
+
/* @__PURE__ */ e(p, { label: "close", onClick: W, children: /* @__PURE__ */ e(K, {}) }),
|
|
85
|
+
/* @__PURE__ */ e(r, { $gutterX: 0.5, children: /* @__PURE__ */ e(h, { $renderAs: "eyebrow2", $color: "ORANGE_5", $marginBottomX: 0.25, children: t === "HINT" ? "HINTS:" : "SOLUTION:" }) }),
|
|
86
|
+
i && i.map((o, n) => /* @__PURE__ */ a(r, { $gutterX: 0.5, $gapX: 0.5, children: [
|
|
87
|
+
i.length > 1 && /* @__PURE__ */ a(h, { $renderAs: "eyebrow2", $color: "ORANGE_5", $marginBottomX: 0.25, children: [
|
|
88
|
+
t,
|
|
89
|
+
" ",
|
|
90
|
+
n + 1,
|
|
91
|
+
":"
|
|
92
|
+
] }),
|
|
93
|
+
/* @__PURE__ */ e(
|
|
94
|
+
U,
|
|
95
|
+
{
|
|
96
|
+
dangerouslySetInnerHTML: {
|
|
97
|
+
__html: o
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
] }, n.toString()))
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
] });
|
|
108
|
+
});
|
|
109
|
+
export {
|
|
110
|
+
re as default
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=question-guide.js.map
|