@cuemath/leap 2.9.3 → 2.9.4-as2
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 +9 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/alarm.js +41 -0
- package/dist/assets/line-icons/icons/alarm.js.map +1 -0
- package/dist/assets/line-icons/icons/bin2.js +7 -8
- package/dist/assets/line-icons/icons/bin2.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
- package/dist/assets/line-icons/icons/dart.js +23 -0
- package/dist/assets/line-icons/icons/dart.js.map +1 -0
- package/dist/assets/line-icons/icons/exclamation.js +26 -0
- package/dist/assets/line-icons/icons/exclamation.js.map +1 -0
- package/dist/assets/line-icons/icons/home2.js +25 -0
- package/dist/assets/line-icons/icons/home2.js.map +1 -0
- package/dist/assets/line-icons/icons/important.js +23 -0
- package/dist/assets/line-icons/icons/important.js.map +1 -0
- package/dist/assets/line-icons/icons/puzzle.js +25 -0
- package/dist/assets/line-icons/icons/puzzle.js.map +1 -0
- package/dist/assets/line-icons/icons/recap.js +32 -0
- package/dist/assets/line-icons/icons/recap.js.map +1 -0
- package/dist/assets/line-icons/icons/skip-colored.js +43 -0
- package/dist/assets/line-icons/icons/skip-colored.js.map +1 -0
- package/dist/assets/line-icons/icons/status.js +41 -0
- package/dist/assets/line-icons/icons/status.js.map +1 -0
- package/dist/assets/line-icons/icons/testtube.js +33 -0
- package/dist/assets/line-icons/icons/testtube.js.map +1 -0
- package/dist/assets/lottie/lottie.js +9 -1
- package/dist/assets/lottie/lottie.js.map +1 -1
- package/dist/constants/api.js +3 -2
- package/dist/constants/api.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +99 -33
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +92 -49
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
- package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js +64 -70
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/chapters-v2/api/chapter.js +10 -0
- package/dist/features/chapters-v2/api/chapter.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +112 -0
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +26 -0
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +73 -0
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +90 -0
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +97 -0
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +52 -0
- package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +1 -0
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +103 -0
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +13 -0
- package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +153 -0
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +16 -0
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/node-card.js +12 -0
- package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +32 -0
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +31 -0
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +171 -0
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +192 -0
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -0
- package/dist/features/chapters-v2/comps/tag/tag-styled.js +13 -0
- package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +1 -0
- package/dist/features/chapters-v2/comps/tag/tag.js +28 -0
- package/dist/features/chapters-v2/comps/tag/tag.js.map +1 -0
- package/dist/features/chapters-v2/constants/block-constants.js +20 -0
- package/dist/features/chapters-v2/constants/block-constants.js.map +1 -0
- package/dist/features/chapters-v2/constants/node-constants.js +14 -0
- package/dist/features/chapters-v2/constants/node-constants.js.map +1 -0
- package/dist/features/chapters-v2/utils/index.js +41 -0
- package/dist/features/chapters-v2/utils/index.js.map +1 -0
- package/dist/features/chapters-v2/utils/node-card-utils.js +144 -0
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -0
- package/dist/features/communication/pub-sub/constants.js +5 -2
- package/dist/features/communication/pub-sub/constants.js.map +1 -1
- package/dist/features/homework/card-menu-options.js +38 -0
- package/dist/features/homework/card-menu-options.js.map +1 -0
- package/dist/features/homework/card-title.js +15 -0
- package/dist/features/homework/card-title.js.map +1 -0
- package/dist/features/homework/homework-card-view.js +131 -0
- package/dist/features/homework/homework-card-view.js.map +1 -0
- package/dist/features/homework/homework-card.js +205 -0
- package/dist/features/homework/homework-card.js.map +1 -0
- package/dist/features/homework/hw-card-list/api/get-homeworks.js +10 -0
- package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -0
- package/dist/features/homework/hw-card-list/hw-card-list-styled.js +71 -0
- package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -0
- package/dist/features/homework/hw-card-list/hw-card-list.js +199 -0
- package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -0
- package/dist/features/homework/node-progress.js +29 -0
- package/dist/features/homework/node-progress.js.map +1 -0
- package/dist/features/homework/styles.js +130 -0
- package/dist/features/homework/styles.js.map +1 -0
- package/dist/features/journey/comps/coachmark/coachmark-styled.js +12 -5
- package/dist/features/journey/comps/coachmark/coachmark-styled.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark.js +24 -24
- package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey.js +145 -0
- package/dist/features/journey/hooks/use-home-page-journey.js.map +1 -0
- package/dist/features/journey/journey-id/journey-id-student.js +1 -1
- package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js +36 -28
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/features/journey/use-journey/journey-styled.js +10 -5
- package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
- package/dist/features/milestone/create/api/goal-submit.js +1 -1
- package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
- package/dist/features/milestone/create/comps/chapter-item/chapter-item.js +42 -49
- package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +12 -4
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +128 -105
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +14 -20
- package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/sheets-list/sheets-list.js +26 -50
- package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +49 -43
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/create/utils/index.js +33 -38
- package/dist/features/milestone/create/utils/index.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +51 -53
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +42 -40
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/goal-edit-container.js +64 -62
- package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/goal-edit-helpers.js +50 -53
- package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-container.js +54 -52
- package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestones.js +9 -17
- package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-tests-list.js +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +136 -104
- 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 +107 -123
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +155 -175
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +24 -10
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +80 -86
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +10 -22
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +70 -37
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +114 -176
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +29 -16
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +19 -23
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +23 -35
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +96 -100
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +114 -112
- 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 +165 -0
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -0
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +25 -0
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -0
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +85 -0
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +16 -18
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +6 -34
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
- package/dist/features/recent-chapters/api/get-recent-chapters.js +9 -0
- package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -0
- package/dist/features/recent-chapters/recent-chapters-styled.js +16 -0
- package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -0
- package/dist/features/recent-chapters/recent-chapters.js +85 -0
- package/dist/features/recent-chapters/recent-chapters.js.map +1 -0
- package/dist/features/sheet-v2/resource-list/resource-list.js +39 -0
- package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -0
- package/dist/features/sheets/resources-list/resource-item/styled.js +1 -1
- package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +4 -3
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
- package/dist/features/trial-session/api/trial-pricing.js +1 -1
- package/dist/features/trial-session/api/trial-pricing.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information.js +21 -21
- package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing-cards.js +144 -0
- package/dist/features/trial-session/comps/pricing/pricing-cards.js.map +1 -0
- package/dist/features/trial-session/comps/pricing/pricing.js +51 -128
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +30 -29
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/constants/z-index.js +1 -1
- package/dist/features/ui/constants/z-index.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu-styled.js +28 -14
- package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu.js +30 -15
- package/dist/features/ui/context-menu/context-menu.js.map +1 -1
- package/dist/features/ui/theme/button.js +22 -107
- package/dist/features/ui/theme/button.js.map +1 -1
- package/dist/index.d.ts +299 -32
- package/dist/index.js +498 -470
- package/dist/index.js.map +1 -1
- package/dist/node_modules/date-fns/differenceInDays.js +17 -0
- package/dist/node_modules/date-fns/differenceInDays.js.map +1 -0
- package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
- package/dist/static/competitive-arena.b9c40801.json +1 -0
- package/dist/static/learn.71b13323.json +1 -0
- package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
- package/dist/static/node-learn-bg.b61f815c.svg +1 -0
- package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
- package/dist/static/node-project-bg.e6a33e28.svg +1 -0
- package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
- package/dist/static/node-recap-bg.546154e4.svg +1 -0
- package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
- package/dist/static/node-video-bg.3df3f73a.svg +1 -0
- package/dist/static/practice.158dd488.json +1 -0
- package/dist/static/project.eb665827.json +1 -0
- package/dist/static/puzzle.b298c7e4.json +1 -0
- package/dist/static/recap.0dd2c1e2.json +1 -0
- package/dist/static/test.803d6036.json +1 -0
- package/dist/static/video.b41451e2.json +1 -0
- package/package.json +1 -1
- package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +0 -92
- package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +0 -1
- package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +0 -25
- package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +0 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +0 -13
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +0 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +0 -38
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +0 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +0 -53
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +0 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +0 -25
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +0 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +0 -71
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +0 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +0 -31
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +0 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +0 -79
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +0 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +0 -18
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +0 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js +0 -51
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +0 -1
- package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js +0 -11
- package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js.map +0 -1
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +0 -135
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +0 -1
@@ -0,0 +1,145 @@
|
|
1
|
+
import { jsx as e, Fragment as R, jsxs as c } from "react/jsx-runtime";
|
2
|
+
import { useRef as l, useCallback as X, useMemo as B, useEffect as N } from "react";
|
3
|
+
import P from "../../homework/homework-card.js";
|
4
|
+
import S from "../../homework/hw-card-list/hw-card-list.js";
|
5
|
+
import { getTopicsFromItems as _ } from "../../milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js";
|
6
|
+
import d from "../../ui/buttons/button/button.js";
|
7
|
+
import m from "../../ui/layout/flex-view.js";
|
8
|
+
import p from "../../ui/text/text.js";
|
9
|
+
import { ELementWrapper as w } from "../comps/coachmark/coachmark-styled.js";
|
10
|
+
import { JOURNEY_ID_STUDENT as z } from "../journey-id/journey-id-student.js";
|
11
|
+
import { IndicatorType as u } from "../use-journey/constants.js";
|
12
|
+
import { useJourney as J } from "../use-journey/use-journey.js";
|
13
|
+
const q = () => {
|
14
|
+
const o = z.HOMEPAGE_JOURNEY, t = l(null), r = l(null), i = l(null), T = l(null), a = l([]), { nextCoachmark: n, setJourney: h } = J(), C = X(
|
15
|
+
(s, b, A, f) => {
|
16
|
+
const { items: y, node_type: x, title: E, subtext: L } = s[0], I = _(y).join(", "), k = x === "DYNAMIC";
|
17
|
+
if (!(t != null && t.current) || !(r != null && r.current) || !(i != null && i.current))
|
18
|
+
return;
|
19
|
+
const H = [
|
20
|
+
{
|
21
|
+
originalElementToHighlightRef: t,
|
22
|
+
isActive: !1,
|
23
|
+
type: u.TOOLTIP,
|
24
|
+
elementToHighlight: /* @__PURE__ */ e(R, {}),
|
25
|
+
indicator: {
|
26
|
+
position: "left",
|
27
|
+
tooltipXCoOrdinates: 0,
|
28
|
+
tooltipYCoOrdinates: 100,
|
29
|
+
backgroundColor: "BLUE_4",
|
30
|
+
borderColor: "BLACK",
|
31
|
+
arrowColor: "BLACK",
|
32
|
+
arrowSize: 12,
|
33
|
+
width: 264,
|
34
|
+
tooltipItem: /* @__PURE__ */ c(m, { $flexRowGapX: 0.75, children: [
|
35
|
+
/* @__PURE__ */ e(p, { $renderAs: "ab2-bold", children: "Welcome to the all new tutoring homepage." }),
|
36
|
+
/* @__PURE__ */ e(
|
37
|
+
d,
|
38
|
+
{
|
39
|
+
label: "Next",
|
40
|
+
size: "xsmall",
|
41
|
+
widthX: 6,
|
42
|
+
renderAs: "secondary",
|
43
|
+
onClick: () => n(o, !1, 0, !0)
|
44
|
+
}
|
45
|
+
)
|
46
|
+
] })
|
47
|
+
}
|
48
|
+
},
|
49
|
+
{
|
50
|
+
originalElementToHighlightRef: r,
|
51
|
+
elementToHighlight: /* @__PURE__ */ e(w, { children: /* @__PURE__ */ e(S, { userType: f, studentId: b, stream: A }) }),
|
52
|
+
type: u.TOOLTIP,
|
53
|
+
indicator: {
|
54
|
+
position: "top",
|
55
|
+
tooltipXCoOrdinates: -197,
|
56
|
+
tooltipYCoOrdinates: -12,
|
57
|
+
arrowXCoOrdinates: -110,
|
58
|
+
backgroundColor: "GREEN_4",
|
59
|
+
borderColor: "BLACK",
|
60
|
+
arrowColor: "BLACK",
|
61
|
+
width: 264,
|
62
|
+
arrowSize: 12,
|
63
|
+
tooltipItem: /* @__PURE__ */ c(m, { $flexRowGapX: 0.75, children: [
|
64
|
+
/* @__PURE__ */ e(p, { $renderAs: "ab2-bold", children: "Homework is now easy to access and easy to complete!" }),
|
65
|
+
/* @__PURE__ */ e(
|
66
|
+
d,
|
67
|
+
{
|
68
|
+
label: "Next",
|
69
|
+
size: "xsmall",
|
70
|
+
widthX: 6,
|
71
|
+
renderAs: "secondary",
|
72
|
+
onClick: () => n(o, !1, 0, !0)
|
73
|
+
}
|
74
|
+
)
|
75
|
+
] })
|
76
|
+
},
|
77
|
+
isActive: !1
|
78
|
+
},
|
79
|
+
{
|
80
|
+
originalElementToHighlightRef: i,
|
81
|
+
elementToHighlight: /* @__PURE__ */ e(w, { children: /* @__PURE__ */ e(
|
82
|
+
P,
|
83
|
+
{
|
84
|
+
isInQueue: !1,
|
85
|
+
userType: f,
|
86
|
+
header: k ? I : E,
|
87
|
+
subHeader: L || "",
|
88
|
+
nodeData: s[0],
|
89
|
+
renderAs: "homework",
|
90
|
+
shouldOpenOnRight: !1
|
91
|
+
}
|
92
|
+
) }),
|
93
|
+
type: u.TOOLTIP,
|
94
|
+
indicator: {
|
95
|
+
position: "top",
|
96
|
+
tooltipXCoOrdinates: -35,
|
97
|
+
tooltipYCoOrdinates: -7,
|
98
|
+
backgroundColor: "PURPLE_4",
|
99
|
+
borderColor: "BLACK",
|
100
|
+
arrowColor: "BLACK",
|
101
|
+
arrowXCoOrdinates: -97,
|
102
|
+
arrowSize: 12,
|
103
|
+
width: 264,
|
104
|
+
tooltipItem: /* @__PURE__ */ c(m, { $flexRowGapX: 0.75, children: [
|
105
|
+
/* @__PURE__ */ e(p, { $renderAs: "ab2-bold", children: "Track homework status and their due dates." }),
|
106
|
+
/* @__PURE__ */ e(
|
107
|
+
d,
|
108
|
+
{
|
109
|
+
label: "Next",
|
110
|
+
size: "xsmall",
|
111
|
+
widthX: 6,
|
112
|
+
renderAs: "secondary",
|
113
|
+
onClick: () => n(o, !1, 0, !0)
|
114
|
+
}
|
115
|
+
)
|
116
|
+
] })
|
117
|
+
},
|
118
|
+
isActive: !1
|
119
|
+
}
|
120
|
+
];
|
121
|
+
h(o, H);
|
122
|
+
const g = setTimeout(() => {
|
123
|
+
clearTimeout(g), n(o);
|
124
|
+
}, 200);
|
125
|
+
a.current.push(g);
|
126
|
+
},
|
127
|
+
[h, o, n]
|
128
|
+
), O = B(
|
129
|
+
() => ({
|
130
|
+
homepageRef: t,
|
131
|
+
homeworkRef: r,
|
132
|
+
individualHomeworkRef: i,
|
133
|
+
recentChaptersRef: T,
|
134
|
+
startJourney: C
|
135
|
+
}),
|
136
|
+
[C]
|
137
|
+
);
|
138
|
+
return N(() => () => {
|
139
|
+
a.current.forEach((s) => clearTimeout(s)), a.current = [];
|
140
|
+
}, []), O;
|
141
|
+
};
|
142
|
+
export {
|
143
|
+
q as useHomePageJourney
|
144
|
+
};
|
145
|
+
//# sourceMappingURL=use-home-page-journey.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-home-page-journey.js","sources":["../../../../src/features/journey/hooks/use-home-page-journey.tsx"],"sourcesContent":["import type { IHomeworkData } from '../../homework/hw-card-list/api/get-homeworks';\nimport type { TCourseStream } from '../../milestone/create/milestone-create-types';\nimport type { IArrowTooltipProps } from '../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { TUserTypes } from '../../ui/types';\nimport type { ICoachmarkProps } from '../use-journey/journey-context-types';\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport HomeworkCard from '../../homework/homework-card';\nimport HWCardList from '../../homework/hw-card-list/hw-card-list';\nimport { getTopicsFromItems } from '../../milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils';\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { ELementWrapper } from '../comps/coachmark/coachmark-styled';\nimport { JOURNEY_ID_STUDENT } from '../journey-id/journey-id-student';\nimport { IndicatorType } from '../use-journey/constants';\nimport { useJourney } from '../use-journey/use-journey';\n\nexport const useHomePageJourney = () => {\n const journeyId = JOURNEY_ID_STUDENT.HOMEPAGE_JOURNEY;\n\n const homepageRef = useRef<HTMLDivElement>(null);\n const homeworkRef = useRef<HTMLDivElement>(null);\n const individualHomeworkRef = useRef<HTMLDivElement>(null);\n const recentChaptersRef = useRef<HTMLDivElement>(null);\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n const { nextCoachmark, setJourney } = useJourney();\n\n const startJourney = useCallback(\n (\n hwDetails: IHomeworkData[],\n studentId: string,\n stream: TCourseStream,\n userType: TUserTypes,\n ) => {\n const { items, node_type: nodeType, title, subtext } = hwDetails[0] as IHomeworkData;\n const topics = getTopicsFromItems(items);\n const testChapterName = topics.join(', ');\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n if (!homepageRef?.current || !homeworkRef?.current || !individualHomeworkRef?.current) {\n return;\n }\n\n const homepageSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: homepageRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'left',\n tooltipXCoOrdinates: 0,\n tooltipYCoOrdinates: 100,\n backgroundColor: 'BLUE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowSize: 12,\n width: 264,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">Welcome to the all new tutoring homepage.</Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={() => nextCoachmark(journeyId, false, 0, true)}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: homeworkRef,\n elementToHighlight: (\n <ELementWrapper>\n <HWCardList userType={userType} studentId={studentId} stream={stream} />\n </ELementWrapper>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: -197,\n tooltipYCoOrdinates: -12,\n arrowXCoOrdinates: -110,\n backgroundColor: 'GREEN_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n width: 264,\n arrowSize: 12,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">\n Homework is now easy to access and easy to complete!\n </Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={() => nextCoachmark(journeyId, false, 0, true)}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n {\n originalElementToHighlightRef: individualHomeworkRef,\n elementToHighlight: (\n <ELementWrapper>\n <HomeworkCard\n isInQueue={false}\n userType={userType}\n header={isDynamicSheet ? testChapterName : title}\n subHeader={subtext || ''}\n nodeData={hwDetails[0] as IHomeworkData}\n renderAs=\"homework\"\n shouldOpenOnRight={false}\n />\n </ELementWrapper>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: -35,\n tooltipYCoOrdinates: -7,\n backgroundColor: 'PURPLE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowXCoOrdinates: -97,\n arrowSize: 12,\n width: 264,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">Track homework status and their due dates.</Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={() => nextCoachmark(journeyId, false, 0, true)}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, homepageSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n nextCoachmark(journeyId);\n }, 200);\n\n timerRefs.current.push(delayBeforeStart); // Store to cleanup later\n },\n [setJourney, journeyId, nextCoachmark],\n );\n\n const data = useMemo(\n () => ({\n homepageRef,\n homeworkRef,\n individualHomeworkRef,\n recentChaptersRef,\n startJourney,\n }),\n [startJourney],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n timerRefs.current.forEach(timer => clearTimeout(timer));\n timerRefs.current = [];\n };\n }, []);\n\n return data;\n};\n"],"names":["useHomePageJourney","journeyId","JOURNEY_ID_STUDENT","homepageRef","useRef","homeworkRef","individualHomeworkRef","recentChaptersRef","timerRefs","nextCoachmark","setJourney","useJourney","startJourney","useCallback","hwDetails","studentId","stream","userType","items","nodeType","title","subtext","testChapterName","getTopicsFromItems","isDynamicSheet","homepageSteps","IndicatorType","jsx","Fragment","jsxs","FlexView","Text","Button","ELementWrapper","HWCardList","HomeworkCard","delayBeforeStart","data","useMemo","useEffect","timer"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var E = /* @__PURE__ */ ((R) => (R.CIRCLE_ACTIVITIES_INTRO_JOURNEY = "CIRCLE_ACTIVITIES_INTRO_JOURNEY", R.CIRCLE_LEADERBOARD_INTRO_JOURNEY = "CIRCLE_LEADERBOARD_INTRO_JOURNEY", R.CIRCLE_POINTS_REWARD_JOURNEY = "CIRCLE_POINTS_REWARD_JOURNEY", R.CIRCLE_STREAK_UPDATE_JOURNEY = "CIRCLE_STREAK_UPDATE_JOURNEY", R.CIRCLE_TUTORIAL_JOURNEY = "CIRCLE_TUTORIAL_JOURNEY", R.CIRCLE_TABLES_INTRO_JOURNEY = "CIRCLE_TABLES_INTRO_JOURNEY", R.CIRCLE_STREAK_REDUCTION_JOURNEY = "CIRCLE_STREAK_REDUCTION_JOURNEY", R))(E || {});
|
1
|
+
var E = /* @__PURE__ */ ((R) => (R.CIRCLE_ACTIVITIES_INTRO_JOURNEY = "CIRCLE_ACTIVITIES_INTRO_JOURNEY", R.CIRCLE_LEADERBOARD_INTRO_JOURNEY = "CIRCLE_LEADERBOARD_INTRO_JOURNEY", R.CIRCLE_POINTS_REWARD_JOURNEY = "CIRCLE_POINTS_REWARD_JOURNEY", R.CIRCLE_STREAK_UPDATE_JOURNEY = "CIRCLE_STREAK_UPDATE_JOURNEY", R.CIRCLE_TUTORIAL_JOURNEY = "CIRCLE_TUTORIAL_JOURNEY", R.CIRCLE_TABLES_INTRO_JOURNEY = "CIRCLE_TABLES_INTRO_JOURNEY", R.CIRCLE_STREAK_REDUCTION_JOURNEY = "CIRCLE_STREAK_REDUCTION_JOURNEY", R.HOMEPAGE_JOURNEY = "HOMEPAGE_JOURNEY", R))(E || {});
|
2
2
|
export {
|
3
3
|
E as JOURNEY_ID_STUDENT
|
4
4
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"journey-id-student.js","sources":["../../../../src/features/journey/journey-id/journey-id-student.ts"],"sourcesContent":["export enum JOURNEY_ID_STUDENT {\n CIRCLE_ACTIVITIES_INTRO_JOURNEY = 'CIRCLE_ACTIVITIES_INTRO_JOURNEY',\n CIRCLE_LEADERBOARD_INTRO_JOURNEY = 'CIRCLE_LEADERBOARD_INTRO_JOURNEY',\n CIRCLE_POINTS_REWARD_JOURNEY = 'CIRCLE_POINTS_REWARD_JOURNEY',\n CIRCLE_STREAK_UPDATE_JOURNEY = 'CIRCLE_STREAK_UPDATE_JOURNEY',\n CIRCLE_TUTORIAL_JOURNEY = 'CIRCLE_TUTORIAL_JOURNEY',\n CIRCLE_TABLES_INTRO_JOURNEY = 'CIRCLE_TABLES_INTRO_JOURNEY',\n\n // TODO: Deprecate bottom journeys, they are not actually journeys\n CIRCLE_STREAK_REDUCTION_JOURNEY = 'CIRCLE_STREAK_REDUCTION_JOURNEY',\n}\n"],"names":["JOURNEY_ID_STUDENT"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kCAAkC,mCAClCA,EAAA,mCAAmC,oCACnCA,EAAA,+BAA+B,gCAC/BA,EAAA,+BAA+B,gCAC/BA,EAAA,0BAA0B,2BAC1BA,EAAA,8BAA8B,+BAG9BA,EAAA,kCAAkC,
|
1
|
+
{"version":3,"file":"journey-id-student.js","sources":["../../../../src/features/journey/journey-id/journey-id-student.ts"],"sourcesContent":["export enum JOURNEY_ID_STUDENT {\n CIRCLE_ACTIVITIES_INTRO_JOURNEY = 'CIRCLE_ACTIVITIES_INTRO_JOURNEY',\n CIRCLE_LEADERBOARD_INTRO_JOURNEY = 'CIRCLE_LEADERBOARD_INTRO_JOURNEY',\n CIRCLE_POINTS_REWARD_JOURNEY = 'CIRCLE_POINTS_REWARD_JOURNEY',\n CIRCLE_STREAK_UPDATE_JOURNEY = 'CIRCLE_STREAK_UPDATE_JOURNEY',\n CIRCLE_TUTORIAL_JOURNEY = 'CIRCLE_TUTORIAL_JOURNEY',\n CIRCLE_TABLES_INTRO_JOURNEY = 'CIRCLE_TABLES_INTRO_JOURNEY',\n\n // TODO: Deprecate bottom journeys, they are not actually journeys\n CIRCLE_STREAK_REDUCTION_JOURNEY = 'CIRCLE_STREAK_REDUCTION_JOURNEY',\n HOMEPAGE_JOURNEY = 'HOMEPAGE_JOURNEY',\n}\n"],"names":["JOURNEY_ID_STUDENT"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kCAAkC,mCAClCA,EAAA,mCAAmC,oCACnCA,EAAA,+BAA+B,gCAC/BA,EAAA,+BAA+B,gCAC/BA,EAAA,0BAA0B,2BAC1BA,EAAA,8BAA8B,+BAG9BA,EAAA,kCAAkC,mCAClCA,EAAA,mBAAmB,oBAVTA,IAAAA,KAAA,CAAA,CAAA;"}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { createContext as
|
3
|
-
import { Coachmark as
|
4
|
-
import { usePostUserJourney as
|
5
|
-
import { Overlay as
|
6
|
-
const
|
7
|
-
const [x, p] =
|
1
|
+
import { jsxs as D, jsx as w } from "react/jsx-runtime";
|
2
|
+
import { createContext as L, useState as J, useRef as k, useCallback as l, useMemo as N, useEffect as R } from "react";
|
3
|
+
import { Coachmark as B } from "../comps/coachmark/coachmark.js";
|
4
|
+
import { usePostUserJourney as M, useGetUserJourney as z } from "../user-journey-api/user-journey-api.js";
|
5
|
+
import { Overlay as G } from "./journey-styled.js";
|
6
|
+
const S = L(null), W = ({ children: T, appId: s, userId: o }) => {
|
7
|
+
const [b, O] = J(!1), [x, p] = J(null), [c, a] = J([]), [d, v] = J(!1), y = k(-1), t = k(), f = k([]), { post: _ } = M(), { data: C = null, get: g } = z(), A = l(
|
8
8
|
(e, r) => {
|
9
9
|
if (c.length > 0) {
|
10
10
|
console.error(
|
@@ -12,13 +12,13 @@ const z = U(null), H = ({ children: T, appId: s, userId: o }) => {
|
|
12
12
|
);
|
13
13
|
return;
|
14
14
|
}
|
15
|
-
v(!0), t.current = e,
|
15
|
+
v(!0), t.current = e, y.current = -1, a([...r]);
|
16
16
|
},
|
17
17
|
[c.length]
|
18
18
|
), u = l(() => {
|
19
|
-
|
19
|
+
f.current.forEach((e) => {
|
20
20
|
clearTimeout(e);
|
21
|
-
}),
|
21
|
+
}), f.current = [], t.current = void 0, y.current = -1, a([]), v(!1);
|
22
22
|
}, []), $ = l(
|
23
23
|
(e) => {
|
24
24
|
u(), p((r) => r && !r.includes(e) ? [...r, e] : r), _({
|
@@ -36,31 +36,31 @@ const z = U(null), H = ({ children: T, appId: s, userId: o }) => {
|
|
36
36
|
);
|
37
37
|
return;
|
38
38
|
}
|
39
|
-
a((
|
39
|
+
a((m) => [...m, r]);
|
40
40
|
}, []), P = l(
|
41
|
-
(e, r = !1,
|
41
|
+
(e, r = !1, m = 0, q = !1) => {
|
42
42
|
if (!t.current || e !== t.current) {
|
43
43
|
console.error(
|
44
44
|
t.current ? "nextCoachmark was called before setJourney" : `A Journey is already active, Current Journey: ${t.current}, New Journey Request: ${e}`
|
45
45
|
);
|
46
46
|
return;
|
47
47
|
}
|
48
|
-
|
48
|
+
O(q), m !== 0 && a((n) => n.map((i) => ({ ...i, isActive: !1 })));
|
49
49
|
const j = setTimeout(() => {
|
50
50
|
clearTimeout(j);
|
51
|
-
const n =
|
51
|
+
const n = y.current + 1;
|
52
52
|
a((i) => {
|
53
53
|
if (n >= i.length || i.length === 0)
|
54
54
|
return u(), [];
|
55
|
-
|
56
|
-
const
|
57
|
-
return
|
55
|
+
y.current = n;
|
56
|
+
const h = [...i];
|
57
|
+
return h[n].isActive = !0, n > 0 && (h[n - 1].isActive = r), h;
|
58
58
|
});
|
59
|
-
},
|
60
|
-
|
59
|
+
}, m);
|
60
|
+
f.current.push(j);
|
61
61
|
},
|
62
62
|
[u]
|
63
|
-
),
|
63
|
+
), U = N(
|
64
64
|
() => ({
|
65
65
|
nextCoachmark: P,
|
66
66
|
setJourney: A,
|
@@ -69,7 +69,7 @@ const z = U(null), H = ({ children: T, appId: s, userId: o }) => {
|
|
69
69
|
endJourney: $,
|
70
70
|
coachmarks: c,
|
71
71
|
userCompletedJourneyIds: x,
|
72
|
-
isJourneyActive:
|
72
|
+
isJourneyActive: d
|
73
73
|
}),
|
74
74
|
[
|
75
75
|
P,
|
@@ -79,7 +79,7 @@ const z = U(null), H = ({ children: T, appId: s, userId: o }) => {
|
|
79
79
|
$,
|
80
80
|
c,
|
81
81
|
x,
|
82
|
-
|
82
|
+
d
|
83
83
|
]
|
84
84
|
);
|
85
85
|
return R(() => {
|
@@ -89,17 +89,25 @@ const z = U(null), H = ({ children: T, appId: s, userId: o }) => {
|
|
89
89
|
journey_status: "COMPLETED"
|
90
90
|
});
|
91
91
|
}, [s, g, o]), R(() => {
|
92
|
-
if (
|
93
|
-
const e =
|
92
|
+
if (C) {
|
93
|
+
const e = C.map((r) => r.journey_id);
|
94
94
|
p(e);
|
95
95
|
}
|
96
|
-
}, [
|
97
|
-
|
96
|
+
}, [C]), /* @__PURE__ */ D(S.Provider, { value: U, children: [
|
97
|
+
d && /* @__PURE__ */ w(
|
98
|
+
G,
|
99
|
+
{
|
100
|
+
about: "journey-overlay",
|
101
|
+
isJourneyBlurred: b,
|
102
|
+
"data-testid": t.current,
|
103
|
+
children: c.map((e, r) => /* @__PURE__ */ w(B, { coachmark: e }, `coachmark-${r}`))
|
104
|
+
}
|
105
|
+
),
|
98
106
|
T
|
99
107
|
] });
|
100
108
|
};
|
101
109
|
export {
|
102
|
-
|
103
|
-
|
110
|
+
S as JourneyContext,
|
111
|
+
W as JourneyProvider
|
104
112
|
};
|
105
113
|
//# sourceMappingURL=journey-context-provider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"journey-context-provider.js","sources":["../../../../src/features/journey/use-journey/journey-context-provider.tsx"],"sourcesContent":["/* eslint-disable no-console */\nimport type { TJourneyId } from '../journey-id/journey-id-types';\nimport type {\n ICoachmarkProps,\n IJourneyContext,\n IJourneyProviderProps,\n} from './journey-context-types';\nimport type { FC } from 'react';\n\nimport { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Coachmark } from '../comps/coachmark/coachmark';\nimport { useGetUserJourney, usePostUserJourney } from '../user-journey-api/user-journey-api';\nimport * as S from './journey-styled';\n\nexport const JourneyContext = createContext<IJourneyContext | null>(null);\n\nexport const JourneyProvider: FC<IJourneyProviderProps> = ({ children, appId, userId }) => {\n const [userCompletedJourneyIds, setUserCompletedJourneyIds] = useState<TJourneyId[] | null>(null);\n const [coachmarkList, setCoachmarkList] = useState<ICoachmarkProps[]>([]);\n const [isJourneyActive, setIsJourneyActive] = useState(false);\n const currentIndex = useRef(-1);\n const currentJourneyId = useRef<TJourneyId | undefined>();\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { post: postJourneyCompletion } = usePostUserJourney();\n const { data: userCompletedJourneys = null, get: getJourneyProgress } = useGetUserJourney();\n\n const setJourney = useCallback(\n (id: TJourneyId, coachmarks: ICoachmarkProps[]) => {\n if (coachmarkList.length > 0) {\n console.error(\n `setJourney: Other Journey is already active, Current Journey: ${currentJourneyId.current}, New Journey Request: ${id}`,\n );\n\n return;\n }\n setIsJourneyActive(true);\n currentJourneyId.current = id;\n currentIndex.current = -1;\n setCoachmarkList([...coachmarks]);\n },\n [coachmarkList.length],\n );\n\n const clearJourney = useCallback(() => {\n // Clear all timers\n timerRefs.current.forEach(timer => {\n clearTimeout(timer);\n });\n timerRefs.current = [];\n currentJourneyId.current = undefined;\n currentIndex.current = -1;\n setCoachmarkList([]);\n setIsJourneyActive(false);\n }, []);\n\n const endJourney = useCallback(\n (journeyId: TJourneyId) => {\n clearJourney();\n setUserCompletedJourneyIds(prev => {\n if (prev && !prev.includes(journeyId)) {\n return [...prev, journeyId];\n }\n\n return prev;\n });\n // fire the API (doesn’t block the UI)\n postJourneyCompletion({\n app_id: appId,\n user_id: userId,\n journey_id: journeyId,\n journey_status: 'COMPLETED',\n });\n },\n [appId, clearJourney, postJourneyCompletion, userId],\n );\n\n const addCoachmark = useCallback((id: TJourneyId, coachmark: ICoachmarkProps) => {\n if (!currentJourneyId.current || id !== currentJourneyId.current) {\n console.error(\n currentJourneyId.current\n ? `A Journey is already active, Current Journey: ${currentJourneyId.current}, New Journey Request: ${id}`\n : `addCoachmark was called before setJourney and Journey ID is undefined`,\n );\n\n return;\n }\n\n setCoachmarkList(prev => [...prev, coachmark]);\n }, []);\n\n const nextCoachmark = useCallback(\n (id: TJourneyId, keepPrevActive: boolean = false, delayInMs: number = 0) => {\n if (!currentJourneyId.current || id !== currentJourneyId.current) {\n console.error(\n currentJourneyId.current\n ? `nextCoachmark was called before setJourney`\n : `A Journey is already active, Current Journey: ${currentJourneyId.current}, New Journey Request: ${id}`,\n );\n\n return;\n }\n\n if (delayInMs !== 0) {\n // If delay is not 0, we will hide all them coachmarks and reveal only after the delay\n setCoachmarkList(prevList => {\n return prevList.map((item: ICoachmarkProps) => {\n return { ...item, isActive: false };\n });\n });\n }\n\n const timer = setTimeout(() => {\n clearTimeout(timer);\n const currIndex = currentIndex.current + 1;\n\n setCoachmarkList(prevList => {\n // Finish onboarding\n if (currIndex >= prevList.length || prevList.length === 0) {\n clearJourney();\n\n return [];\n }\n\n currentIndex.current = currIndex;\n const updatedCoachmarkList = [...prevList];\n\n (updatedCoachmarkList[currIndex] as ICoachmarkProps).isActive = true;\n\n if (currIndex > 0) {\n (updatedCoachmarkList[currIndex - 1] as ICoachmarkProps).isActive = keepPrevActive;\n }\n\n return updatedCoachmarkList;\n });\n }, delayInMs);\n\n timerRefs.current.push(timer);\n },\n [clearJourney],\n );\n\n const memoizedContextValue: IJourneyContext = useMemo(\n () => ({\n nextCoachmark,\n setJourney,\n addCoachmark,\n clearJourney,\n endJourney,\n coachmarks: coachmarkList,\n userCompletedJourneyIds,\n isJourneyActive,\n }),\n [\n nextCoachmark,\n setJourney,\n addCoachmark,\n clearJourney,\n endJourney,\n coachmarkList,\n userCompletedJourneyIds,\n isJourneyActive,\n ],\n );\n\n // Get the initial state of incompleteJourneys\n useEffect(() => {\n if (appId && userId) {\n getJourneyProgress(userId, {\n app_id: appId,\n user_id: userId,\n journey_status: 'COMPLETED',\n });\n }\n }, [appId, getJourneyProgress, userId]);\n\n // Set the data to context state initially\n useEffect(() => {\n if (userCompletedJourneys) {\n const completedUserJourneysIds = userCompletedJourneys.map(journey => journey.journey_id);\n\n setUserCompletedJourneyIds(completedUserJourneysIds);\n }\n }, [userCompletedJourneys]);\n\n return (\n <JourneyContext.Provider value={memoizedContextValue}>\n {isJourneyActive && (\n <S.Overlay about=\"journey-overlay\" data-testid={currentJourneyId.current}>\n {coachmarkList.map((coachmark, index) => (\n <Coachmark key={`coachmark-${index}`} coachmark={coachmark} />\n ))}\n </S.Overlay>\n )}\n {children}\n </JourneyContext.Provider>\n );\n};\n"],"names":["JourneyContext","createContext","JourneyProvider","children","appId","userId","userCompletedJourneyIds","setUserCompletedJourneyIds","useState","coachmarkList","setCoachmarkList","isJourneyActive","setIsJourneyActive","currentIndex","useRef","currentJourneyId","timerRefs","postJourneyCompletion","usePostUserJourney","userCompletedJourneys","getJourneyProgress","useGetUserJourney","setJourney","useCallback","id","coachmarks","clearJourney","timer","endJourney","journeyId","prev","addCoachmark","coachmark","nextCoachmark","keepPrevActive","delayInMs","prevList","item","currIndex","updatedCoachmarkList","memoizedContextValue","useMemo","useEffect","completedUserJourneysIds","journey","jsxs","jsx","S.Overlay","index","Coachmark"],"mappings":";;;;;AAea,MAAAA,IAAiBC,EAAsC,IAAI,GAE3DC,IAA6C,CAAC,EAAE,UAAAC,GAAU,OAAAC,GAAO,QAAAC,QAAa;AACzF,QAAM,CAACC,GAAyBC,CAA0B,IAAIC,EAA8B,IAAI,GAC1F,CAACC,GAAeC,CAAgB,IAAIF,EAA4B,CAAE,CAAA,GAClE,CAACG,GAAiBC,CAAkB,IAAIJ,EAAS,EAAK,GACtDK,IAAeC,EAAO,EAAE,GACxBC,IAAmBD,KACnBE,IAAYF,EAAwC,CAAA,CAAE,GAEtD,EAAE,MAAMG,EAAsB,IAAIC,EAAmB,GACrD,EAAE,MAAMC,IAAwB,MAAM,KAAKC,EAAA,IAAuBC,KAElEC,IAAaC;AAAA,IACjB,CAACC,GAAgBC,MAAkC;AAC7C,UAAAhB,EAAc,SAAS,GAAG;AACpB,gBAAA;AAAA,UACN,iEAAiEM,EAAiB,OAAO,0BAA0BS,CAAE;AAAA,QAAA;AAGvH;AAAA,MACF;AACA,MAAAZ,EAAmB,EAAI,GACvBG,EAAiB,UAAUS,GAC3BX,EAAa,UAAU,IACNH,EAAA,CAAC,GAAGe,CAAU,CAAC;AAAA,IAClC;AAAA,IACA,CAAChB,EAAc,MAAM;AAAA,EAAA,GAGjBiB,IAAeH,EAAY,MAAM;AAE3B,IAAAP,EAAA,QAAQ,QAAQ,CAASW,MAAA;AACjC,mBAAaA,CAAK;AAAA,IAAA,CACnB,GACDX,EAAU,UAAU,IACpBD,EAAiB,UAAU,QAC3BF,EAAa,UAAU,IACvBH,EAAiB,CAAE,CAAA,GACnBE,EAAmB,EAAK;AAAA,EAC1B,GAAG,CAAE,CAAA,GAECgB,IAAaL;AAAA,IACjB,CAACM,MAA0B;AACZ,MAAAH,KACbnB,EAA2B,CAAQuB,MAC7BA,KAAQ,CAACA,EAAK,SAASD,CAAS,IAC3B,CAAC,GAAGC,GAAMD,CAAS,IAGrBC,CACR,GAEqBb,EAAA;AAAA,QACpB,QAAQb;AAAA,QACR,SAASC;AAAA,QACT,YAAYwB;AAAA,QACZ,gBAAgB;AAAA,MAAA,CACjB;AAAA,IACH;AAAA,IACA,CAACzB,GAAOsB,GAAcT,GAAuBZ,CAAM;AAAA,EAAA,GAG/C0B,IAAeR,EAAY,CAACC,GAAgBQ,MAA+B;AAC/E,QAAI,CAACjB,EAAiB,WAAWS,MAAOT,EAAiB,SAAS;AACxD,cAAA;AAAA,QACNA,EAAiB,UACb,iDAAiDA,EAAiB,OAAO,0BAA0BS,CAAE,KACrG;AAAA,MAAA;AAGN;AAAA,IACF;AAEA,IAAAd,EAAiB,CAAQoB,MAAA,CAAC,GAAGA,GAAME,CAAS,CAAC;AAAA,EAC/C,GAAG,CAAE,CAAA,GAECC,IAAgBV;AAAA,IACpB,CAACC,GAAgBU,IAA0B,IAAOC,IAAoB,MAAM;AAC1E,UAAI,CAACpB,EAAiB,WAAWS,MAAOT,EAAiB,SAAS;AACxD,gBAAA;AAAA,UACNA,EAAiB,UACb,+CACA,iDAAiDA,EAAiB,OAAO,0BAA0BS,CAAE;AAAA,QAAA;AAG3G;AAAA,MACF;AAEA,MAAIW,MAAc,KAEhBzB,EAAiB,CAAY0B,MACpBA,EAAS,IAAI,CAACC,OACZ,EAAE,GAAGA,GAAM,UAAU,GAAM,EACnC,CACF;AAGG,YAAAV,IAAQ,WAAW,MAAM;AAC7B,qBAAaA,CAAK;AACZ,cAAAW,IAAYzB,EAAa,UAAU;AAEzC,QAAAH,EAAiB,CAAY0B,MAAA;AAE3B,cAAIE,KAAaF,EAAS,UAAUA,EAAS,WAAW;AACzC,mBAAAV,KAEN;AAGT,UAAAb,EAAa,UAAUyB;AACjB,gBAAAC,IAAuB,CAAC,GAAGH,CAAQ;AAExC,iBAAAG,EAAqBD,CAAS,EAAsB,WAAW,IAE5DA,IAAY,MACbC,EAAqBD,IAAY,CAAC,EAAsB,WAAWJ,IAG/DK;AAAA,QAAA,CACR;AAAA,SACAJ,CAAS;AAEF,MAAAnB,EAAA,QAAQ,KAAKW,CAAK;AAAA,IAC9B;AAAA,IACA,CAACD,CAAY;AAAA,EAAA,GAGTc,IAAwCC;AAAA,IAC5C,OAAO;AAAA,MACL,eAAAR;AAAA,MACA,YAAAX;AAAA,MACA,cAAAS;AAAA,MACA,cAAAL;AAAA,MACA,YAAAE;AAAA,MACA,YAAYnB;AAAA,MACZ,yBAAAH;AAAA,MACA,iBAAAK;AAAA,IAAA;AAAA,IAEF;AAAA,MACEsB;AAAA,MACAX;AAAA,MACAS;AAAA,MACAL;AAAA,MACAE;AAAA,MACAnB;AAAA,MACAH;AAAA,MACAK;AAAA,IACF;AAAA,EAAA;AAIF,SAAA+B,EAAU,MAAM;AACd,IAAItC,KAASC,KACXe,EAAmBf,GAAQ;AAAA,MACzB,QAAQD;AAAA,MACR,SAASC;AAAA,MACT,gBAAgB;AAAA,IAAA,CACjB;AAAA,EAEF,GAAA,CAACD,GAAOgB,GAAoBf,CAAM,CAAC,GAGtCqC,EAAU,MAAM;AACd,QAAIvB,GAAuB;AACzB,YAAMwB,IAA2BxB,EAAsB,IAAI,CAAAyB,MAAWA,EAAQ,UAAU;AAExF,MAAArC,EAA2BoC,CAAwB;AAAA,IACrD;AAAA,EAAA,GACC,CAACxB,CAAqB,CAAC,GAGvB,gBAAA0B,EAAA7C,EAAe,UAAf,EAAwB,OAAOwC,GAC7B,UAAA;AAAA,IACC7B,KAAA,gBAAAmC,EAACC,GAAA,EAAU,OAAM,mBAAkB,eAAahC,EAAiB,SAC9D,UAAAN,EAAc,IAAI,CAACuB,GAAWgB,MAC5B,gBAAAF,EAAAG,GAAA,EAAqC,WAAAjB,KAAtB,aAAagB,CAAK,EAA0B,CAC7D,EACH,CAAA;AAAA,IAED7C;AAAA,EACH,EAAA,CAAA;AAEJ;"}
|
1
|
+
{"version":3,"file":"journey-context-provider.js","sources":["../../../../src/features/journey/use-journey/journey-context-provider.tsx"],"sourcesContent":["/* eslint-disable no-console */\nimport type { TJourneyId } from '../journey-id/journey-id-types';\nimport type {\n ICoachmarkProps,\n IJourneyContext,\n IJourneyProviderProps,\n} from './journey-context-types';\nimport type { FC } from 'react';\n\nimport { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Coachmark } from '../comps/coachmark/coachmark';\nimport { useGetUserJourney, usePostUserJourney } from '../user-journey-api/user-journey-api';\nimport * as S from './journey-styled';\n\nexport const JourneyContext = createContext<IJourneyContext | null>(null);\n\nexport const JourneyProvider: FC<IJourneyProviderProps> = ({ children, appId, userId }) => {\n const [isJourneyBlurred, setIsJourneyBlurred] = useState<boolean>(false);\n const [userCompletedJourneyIds, setUserCompletedJourneyIds] = useState<TJourneyId[] | null>(null);\n const [coachmarkList, setCoachmarkList] = useState<ICoachmarkProps[]>([]);\n const [isJourneyActive, setIsJourneyActive] = useState(false);\n const currentIndex = useRef(-1);\n const currentJourneyId = useRef<TJourneyId | undefined>();\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { post: postJourneyCompletion } = usePostUserJourney();\n const { data: userCompletedJourneys = null, get: getJourneyProgress } = useGetUserJourney();\n\n const setJourney = useCallback(\n (id: TJourneyId, coachmarks: ICoachmarkProps[]) => {\n if (coachmarkList.length > 0) {\n console.error(\n `setJourney: Other Journey is already active, Current Journey: ${currentJourneyId.current}, New Journey Request: ${id}`,\n );\n\n return;\n }\n setIsJourneyActive(true);\n currentJourneyId.current = id;\n currentIndex.current = -1;\n setCoachmarkList([...coachmarks]);\n },\n [coachmarkList.length],\n );\n\n const clearJourney = useCallback(() => {\n // Clear all timers\n timerRefs.current.forEach(timer => {\n clearTimeout(timer);\n });\n timerRefs.current = [];\n currentJourneyId.current = undefined;\n currentIndex.current = -1;\n setCoachmarkList([]);\n setIsJourneyActive(false);\n }, []);\n\n const endJourney = useCallback(\n (journeyId: TJourneyId) => {\n clearJourney();\n setUserCompletedJourneyIds(prev => {\n if (prev && !prev.includes(journeyId)) {\n return [...prev, journeyId];\n }\n\n return prev;\n });\n // fire the API (doesn’t block the UI)\n postJourneyCompletion({\n app_id: appId,\n user_id: userId,\n journey_id: journeyId,\n journey_status: 'COMPLETED',\n });\n },\n [appId, clearJourney, postJourneyCompletion, userId],\n );\n\n const addCoachmark = useCallback((id: TJourneyId, coachmark: ICoachmarkProps) => {\n if (!currentJourneyId.current || id !== currentJourneyId.current) {\n console.error(\n currentJourneyId.current\n ? `A Journey is already active, Current Journey: ${currentJourneyId.current}, New Journey Request: ${id}`\n : `addCoachmark was called before setJourney and Journey ID is undefined`,\n );\n\n return;\n }\n\n setCoachmarkList(prev => [...prev, coachmark]);\n }, []);\n\n const nextCoachmark = useCallback(\n (\n id: TJourneyId,\n keepPrevActive: boolean = false,\n delayInMs: number = 0,\n shouldBlurNextJourney: boolean = false,\n ) => {\n if (!currentJourneyId.current || id !== currentJourneyId.current) {\n console.error(\n currentJourneyId.current\n ? `nextCoachmark was called before setJourney`\n : `A Journey is already active, Current Journey: ${currentJourneyId.current}, New Journey Request: ${id}`,\n );\n\n return;\n }\n\n setIsJourneyBlurred(shouldBlurNextJourney);\n\n if (delayInMs !== 0) {\n // If delay is not 0, we will hide all them coachmarks and reveal only after the delay\n setCoachmarkList(prevList => {\n return prevList.map((item: ICoachmarkProps) => {\n return { ...item, isActive: false };\n });\n });\n }\n\n const timer = setTimeout(() => {\n clearTimeout(timer);\n const currIndex = currentIndex.current + 1;\n\n setCoachmarkList(prevList => {\n // Finish onboarding\n if (currIndex >= prevList.length || prevList.length === 0) {\n clearJourney();\n\n return [];\n }\n\n currentIndex.current = currIndex;\n const updatedCoachmarkList = [...prevList];\n\n (updatedCoachmarkList[currIndex] as ICoachmarkProps).isActive = true;\n\n if (currIndex > 0) {\n (updatedCoachmarkList[currIndex - 1] as ICoachmarkProps).isActive = keepPrevActive;\n }\n\n return updatedCoachmarkList;\n });\n }, delayInMs);\n\n timerRefs.current.push(timer);\n },\n [clearJourney],\n );\n\n const memoizedContextValue: IJourneyContext = useMemo(\n () => ({\n nextCoachmark,\n setJourney,\n addCoachmark,\n clearJourney,\n endJourney,\n coachmarks: coachmarkList,\n userCompletedJourneyIds,\n isJourneyActive,\n }),\n [\n nextCoachmark,\n setJourney,\n addCoachmark,\n clearJourney,\n endJourney,\n coachmarkList,\n userCompletedJourneyIds,\n isJourneyActive,\n ],\n );\n\n // Get the initial state of incompleteJourneys\n useEffect(() => {\n if (appId && userId) {\n getJourneyProgress(userId, {\n app_id: appId,\n user_id: userId,\n journey_status: 'COMPLETED',\n });\n }\n }, [appId, getJourneyProgress, userId]);\n\n // Set the data to context state initially\n useEffect(() => {\n if (userCompletedJourneys) {\n const completedUserJourneysIds = userCompletedJourneys.map(journey => journey.journey_id);\n\n setUserCompletedJourneyIds(completedUserJourneysIds);\n }\n }, [userCompletedJourneys]);\n\n return (\n <JourneyContext.Provider value={memoizedContextValue}>\n {isJourneyActive && (\n <S.Overlay\n about=\"journey-overlay\"\n isJourneyBlurred={isJourneyBlurred}\n data-testid={currentJourneyId.current}\n >\n {coachmarkList.map((coachmark, index) => (\n <Coachmark key={`coachmark-${index}`} coachmark={coachmark} />\n ))}\n </S.Overlay>\n )}\n {children}\n </JourneyContext.Provider>\n );\n};\n"],"names":["JourneyContext","createContext","JourneyProvider","children","appId","userId","isJourneyBlurred","setIsJourneyBlurred","useState","userCompletedJourneyIds","setUserCompletedJourneyIds","coachmarkList","setCoachmarkList","isJourneyActive","setIsJourneyActive","currentIndex","useRef","currentJourneyId","timerRefs","postJourneyCompletion","usePostUserJourney","userCompletedJourneys","getJourneyProgress","useGetUserJourney","setJourney","useCallback","id","coachmarks","clearJourney","timer","endJourney","journeyId","prev","addCoachmark","coachmark","nextCoachmark","keepPrevActive","delayInMs","shouldBlurNextJourney","prevList","item","currIndex","updatedCoachmarkList","memoizedContextValue","useMemo","useEffect","completedUserJourneysIds","journey","jsxs","jsx","S.Overlay","index","Coachmark"],"mappings":"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"}
|
@@ -1,14 +1,19 @@
|
|
1
|
-
import
|
2
|
-
import { BLUR_OVERLAY_Z_INDEX as
|
3
|
-
const
|
1
|
+
import t, { css as i } from "styled-components";
|
2
|
+
import { BLUR_OVERLAY_Z_INDEX as e } from "./constants.js";
|
3
|
+
const b = t.div`
|
4
4
|
position: fixed;
|
5
5
|
top: 0;
|
6
6
|
right: 0;
|
7
7
|
bottom: 0;
|
8
8
|
left: 0;
|
9
|
-
z-index: ${
|
9
|
+
z-index: ${e};
|
10
|
+
${({ isJourneyBlurred: o, theme: r }) => o && i`
|
11
|
+
background: ${r.colors.BLACK_T_38};
|
12
|
+
backdrop-filter: blur(80px);
|
13
|
+
-webkit-backdrop-filter: blur(80px);
|
14
|
+
`}
|
10
15
|
`;
|
11
16
|
export {
|
12
|
-
|
17
|
+
b as Overlay
|
13
18
|
};
|
14
19
|
//# sourceMappingURL=journey-styled.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"journey-styled.js","sources":["../../../../src/features/journey/use-journey/journey-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { BLUR_OVERLAY_Z_INDEX } from './constants';\n\nexport const Overlay = styled.div
|
1
|
+
{"version":3,"file":"journey-styled.js","sources":["../../../../src/features/journey/use-journey/journey-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { css } from 'styled-components';\n\nimport { BLUR_OVERLAY_Z_INDEX } from './constants';\n\nexport const Overlay = styled.div<{ isJourneyBlurred: boolean }>`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: ${BLUR_OVERLAY_Z_INDEX};\n ${({ isJourneyBlurred, theme }) =>\n isJourneyBlurred &&\n css`\n background: ${theme.colors.BLACK_T_38};\n backdrop-filter: blur(80px);\n -webkit-backdrop-filter: blur(80px);\n `}\n`;\n``;\n"],"names":["Overlay","styled","BLUR_OVERLAY_Z_INDEX","isJourneyBlurred","theme","css"],"mappings":";;AAKO,MAAMA,IAAUC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMjBC,CAAoB;AAAA,IAC7B,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,EAAA,MACrBD,KACAE;AAAA,oBACgBD,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,KAGtC;AAAA;"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { createPostAPI as t } from "@cuemath/rest-api";
|
2
|
-
import {
|
2
|
+
import { BASE_URL_V3_2 as e } from "../../../../constants/api.js";
|
3
3
|
const { usePost: i } = t({
|
4
4
|
getURL: (s, { studentId: o }) => `${e}/users/${o}/milestones/`
|
5
5
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"goal-submit.js","sources":["../../../../../src/features/milestone/create/api/goal-submit.ts"],"sourcesContent":["import type { TMilestonePayload } from '../milestone-create-types';\n\nimport { createPostAPI } from '@cuemath/rest-api';\n\nimport {
|
1
|
+
{"version":3,"file":"goal-submit.js","sources":["../../../../../src/features/milestone/create/api/goal-submit.ts"],"sourcesContent":["import type { TMilestonePayload } from '../milestone-create-types';\n\nimport { createPostAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3_2 } from '../../../../constants/api';\n\nconst { usePost: useGoalCreationPost } = createPostAPI<\n { id: string },\n TMilestonePayload,\n { studentId: string }\n>({\n getURL: (_, { studentId }) => `${BASE_URL_V3_2}/users/${studentId}/milestones/`,\n});\n\nexport { useGoalCreationPost };\n"],"names":["useGoalCreationPost","createPostAPI","_","studentId","BASE_URL_V3_2"],"mappings":";;AAMA,MAAM,EAAE,SAASA,EAAoB,IAAIC,EAIvC;AAAA,EACA,QAAQ,CAACC,GAAG,EAAE,WAAAC,EAAgB,MAAA,GAAGC,CAAa,UAAUD,CAAS;AACnE,CAAC;"}
|
@@ -1,75 +1,68 @@
|
|
1
1
|
import { jsxs as n, jsx as t } from "react/jsx-runtime";
|
2
|
-
import { memo as
|
3
|
-
import { SHEET_STATE as
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
2
|
+
import { memo as B, useState as G, useRef as L, useCallback as s } from "react";
|
3
|
+
import { SHEET_STATE as p } from "../../../../sheets/constants/sheet.js";
|
4
|
+
import N from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
5
|
+
import O from "../../../../ui/hooks/use-context-menu-click-handler.js";
|
6
|
+
import X from "../../../../ui/image/image.js";
|
7
7
|
import w from "../../../../ui/layout/flex-view.js";
|
8
|
-
import
|
9
|
-
import { ChapterInfoWrapper as
|
10
|
-
const
|
8
|
+
import j from "../sheets-list/sheets-list.js";
|
9
|
+
import { ChapterInfoWrapper as F, ChapterInfoIcon as K, SheetsListWrapper as P, ChapterListWrapper as U, ChapterProgressSVG as q, ChapterProgressSVGCircle as A, StyledText as E } from "./chapter-item-styled.js";
|
10
|
+
const z = [
|
11
11
|
"STARTED",
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
],
|
16
|
-
const { chapterData: x, onChapterItemClick: h, isThisPrimaryChapter: R, showChapterTags: k, canAddChapter: l } =
|
12
|
+
p.FAMILIAR,
|
13
|
+
p.PROFICIENT,
|
14
|
+
p.MASTERED
|
15
|
+
], ie = B((_) => {
|
16
|
+
const { chapterData: x, onChapterItemClick: h, isThisPrimaryChapter: R, showChapterTags: k, canAddChapter: l } = _, {
|
17
17
|
name: d,
|
18
|
-
image_url:
|
18
|
+
image_url: W,
|
19
19
|
added: m,
|
20
20
|
learning_sheet_data: g,
|
21
|
-
total_supplementary_sheets: W,
|
22
21
|
id: f,
|
23
22
|
chapter_tags: H,
|
24
23
|
state: a
|
25
|
-
} = x, M = a &&
|
26
|
-
var
|
27
|
-
const { current:
|
28
|
-
if (
|
29
|
-
const r = (
|
24
|
+
} = x, M = a && z.includes(a) && g.length > 0, u = a === "MASTERED", [e, C] = G(null), i = L(null), V = s(() => {
|
25
|
+
var b;
|
26
|
+
const { current: I } = i;
|
27
|
+
if (I) {
|
28
|
+
const r = (b = I.children[0]) == null ? void 0 : b.getBoundingClientRect();
|
30
29
|
if (r) {
|
31
|
-
const
|
32
|
-
r.left + 296 <
|
30
|
+
const v = window.innerWidth, S = window.innerHeight, o = {};
|
31
|
+
r.left + 296 < v ? o.left = r.left : o.left = r.left + 20 - 296, r.top + 252 < S ? o.top = r.top + 20 : o.bottom = S - r.top + 8, Object.keys(o).length && C({ ...o });
|
33
32
|
}
|
34
33
|
}
|
35
34
|
}, [C, i]), {
|
36
|
-
menuVisible:
|
35
|
+
menuVisible: c,
|
37
36
|
onMenuClick: $,
|
38
|
-
hideMenu:
|
39
|
-
} =
|
40
|
-
|
41
|
-
}, [$,
|
37
|
+
hideMenu: T
|
38
|
+
} = O(i, V), y = s(() => {
|
39
|
+
c ? T() : $();
|
40
|
+
}, [$, T, c]), D = s(() => {
|
42
41
|
if (!l) return null;
|
43
42
|
h(f);
|
44
43
|
}, [l, f, h]);
|
45
44
|
return /* @__PURE__ */ n(w, { $flexGap: 4, $position: "relative", children: [
|
46
|
-
/* @__PURE__ */ n(
|
47
|
-
/* @__PURE__ */ t(
|
48
|
-
|
49
|
-
|
45
|
+
/* @__PURE__ */ n(F, { ref: i, onClick: y, children: [
|
46
|
+
/* @__PURE__ */ t(K, { className: "goal-chapter-info-icon" }),
|
47
|
+
c && /* @__PURE__ */ t(
|
48
|
+
P,
|
50
49
|
{
|
51
50
|
$top: e == null ? void 0 : e.top,
|
52
51
|
$left: e == null ? void 0 : e.left,
|
53
52
|
$bottom: e == null ? void 0 : e.bottom,
|
54
|
-
children: /* @__PURE__ */ t(
|
55
|
-
F,
|
56
|
-
{
|
57
|
-
learningSheetData: g,
|
58
|
-
supplementarySheetsCount: W
|
59
|
-
}
|
60
|
-
)
|
53
|
+
children: /* @__PURE__ */ t(j, { learningSheetData: g })
|
61
54
|
}
|
62
55
|
)
|
63
56
|
] }),
|
64
57
|
/* @__PURE__ */ t(
|
65
|
-
|
58
|
+
N,
|
66
59
|
{
|
67
60
|
position: "bottom",
|
68
61
|
renderAs: "primary",
|
69
62
|
tooltipItem: "Duplicates can’t be added",
|
70
63
|
hidden: !R,
|
71
64
|
children: /* @__PURE__ */ n(
|
72
|
-
|
65
|
+
U,
|
73
66
|
{
|
74
67
|
$widthX: 9.5,
|
75
68
|
$heightX: 8.875,
|
@@ -81,13 +74,13 @@ const J = [
|
|
81
74
|
$selectable: l,
|
82
75
|
$borderColor: m ? "BLACK_T_87" : "WHITE_5",
|
83
76
|
$background: m ? "WHITE_3" : "WHITE_1",
|
84
|
-
onClick:
|
77
|
+
onClick: D,
|
85
78
|
children: [
|
86
79
|
/* @__PURE__ */ n(w, { $position: "relative", children: [
|
87
|
-
M && /* @__PURE__ */ n(
|
88
|
-
/* @__PURE__ */ t(
|
80
|
+
M && /* @__PURE__ */ n(q, { width: "62px", height: "62px", children: [
|
81
|
+
/* @__PURE__ */ t(A, { $progress: 0, r: "30", cx: "31", cy: "31" }),
|
89
82
|
/* @__PURE__ */ t(
|
90
|
-
|
83
|
+
A,
|
91
84
|
{
|
92
85
|
$progressCircle: !0,
|
93
86
|
$progressBackground: u ? "GREEN_5" : "BLACK",
|
@@ -99,9 +92,9 @@ const J = [
|
|
99
92
|
)
|
100
93
|
] }),
|
101
94
|
/* @__PURE__ */ t(
|
102
|
-
|
95
|
+
X,
|
103
96
|
{
|
104
|
-
src:
|
97
|
+
src: W || "",
|
105
98
|
alt: d,
|
106
99
|
withLoader: !0,
|
107
100
|
width: 56,
|
@@ -110,16 +103,16 @@ const J = [
|
|
110
103
|
}
|
111
104
|
)
|
112
105
|
] }),
|
113
|
-
/* @__PURE__ */ t(
|
106
|
+
/* @__PURE__ */ t(E, { $renderAs: "ab3", $align: "center", children: d })
|
114
107
|
]
|
115
108
|
}
|
116
109
|
)
|
117
110
|
}
|
118
111
|
),
|
119
|
-
k && /* @__PURE__ */ t(
|
112
|
+
k && /* @__PURE__ */ t(E, { $renderAs: "ab3", $lineClampNo: 1, $color: "BLACK_T_60", children: H })
|
120
113
|
] });
|
121
114
|
});
|
122
115
|
export {
|
123
|
-
|
116
|
+
ie as default
|
124
117
|
};
|
125
118
|
//# sourceMappingURL=chapter-item.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chapter-item.js","sources":["../../../../../../src/features/milestone/create/comps/chapter-item/chapter-item.tsx"],"sourcesContent":["import type { IChapterItem, ISheetsListPosition } from './chapter-item-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef, useState } from 'react';\n\nimport { SHEET_STATE } from '../../../../sheets/constants/sheet';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport SheetsList from '../sheets-list/sheets-list';\nimport * as Styled from './chapter-item-styled';\n\nconst progressVisibleStates = [\n 'STARTED',\n SHEET_STATE.FAMILIAR,\n SHEET_STATE.PROFICIENT,\n SHEET_STATE.MASTERED,\n];\n\nconst ChapterItemV2: FC<IChapterItem> = memo(props => {\n const { chapterData, onChapterItemClick, isThisPrimaryChapter, showChapterTags, canAddChapter } =\n props;\n const {\n name,\n image_url: imageUrl,\n added,\n learning_sheet_data: learningSheetData,\n
|
1
|
+
{"version":3,"file":"chapter-item.js","sources":["../../../../../../src/features/milestone/create/comps/chapter-item/chapter-item.tsx"],"sourcesContent":["import type { IChapterItem, ISheetsListPosition } from './chapter-item-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef, useState } from 'react';\n\nimport { SHEET_STATE } from '../../../../sheets/constants/sheet';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport SheetsList from '../sheets-list/sheets-list';\nimport * as Styled from './chapter-item-styled';\n\nconst progressVisibleStates = [\n 'STARTED',\n SHEET_STATE.FAMILIAR,\n SHEET_STATE.PROFICIENT,\n SHEET_STATE.MASTERED,\n];\n\nconst ChapterItemV2: FC<IChapterItem> = memo(props => {\n const { chapterData, onChapterItemClick, isThisPrimaryChapter, showChapterTags, canAddChapter } =\n props;\n const {\n name,\n image_url: imageUrl,\n added,\n learning_sheet_data: learningSheetData,\n id: chapterId,\n chapter_tags: chapterTags,\n state,\n } = chapterData;\n\n const showProgress =\n state && progressVisibleStates.includes(state) && learningSheetData.length > 0;\n const isMastered = state === 'MASTERED';\n\n const [sheetsListPositionCoordinates, setSheetsListPositionCoordinates] =\n useState<ISheetsListPosition | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleSetCoordinates = useCallback(() => {\n const { current } = containerRef;\n\n if (current) {\n const boundingClientRect = current.children[0]?.getBoundingClientRect();\n\n if (boundingClientRect) {\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n const positions: ISheetsListPosition = {};\n\n //* 288 (Width of card) + 8 (left position) = 296\n if (boundingClientRect.left + 296 < viewportWidth) {\n positions.left = boundingClientRect.left;\n } else {\n positions.left = boundingClientRect.left + 20 - 296;\n }\n\n //* 252 (Max height of card)\n if (boundingClientRect.top + 252 < viewportHeight) {\n positions.top = boundingClientRect.top + 20;\n } else {\n positions.bottom = viewportHeight - boundingClientRect.top + 8;\n }\n\n if (Object.keys(positions).length) {\n setSheetsListPositionCoordinates({ ...positions });\n }\n }\n }\n }, [setSheetsListPositionCoordinates, containerRef]);\n\n const {\n menuVisible,\n onMenuClick: onMenuClick,\n hideMenu,\n } = useContextMenuClickHandler(containerRef, handleSetCoordinates);\n\n const handleOnSheetsView = useCallback(() => {\n if (!menuVisible) {\n onMenuClick();\n } else {\n hideMenu();\n }\n }, [onMenuClick, hideMenu, menuVisible]);\n\n const handleOnChapterItemClick = useCallback(() => {\n if (!canAddChapter) return null;\n\n onChapterItemClick(chapterId);\n }, [canAddChapter, chapterId, onChapterItemClick]);\n\n return (\n <FlexView $flexGap={4} $position=\"relative\">\n <Styled.ChapterInfoWrapper ref={containerRef} onClick={handleOnSheetsView}>\n <Styled.ChapterInfoIcon className=\"goal-chapter-info-icon\" />\n {menuVisible && (\n <Styled.SheetsListWrapper\n $top={sheetsListPositionCoordinates?.top}\n $left={sheetsListPositionCoordinates?.left}\n $bottom={sheetsListPositionCoordinates?.bottom}\n >\n <SheetsList learningSheetData={learningSheetData} />\n </Styled.SheetsListWrapper>\n )}\n </Styled.ChapterInfoWrapper>\n\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n tooltipItem=\"Duplicates can’t be added\"\n hidden={!isThisPrimaryChapter}\n >\n <Styled.ChapterListWrapper\n $widthX={9.5}\n $heightX={8.875}\n $gapX={1}\n $gutterX={1}\n $flexGap={12}\n $position=\"relative\"\n $alignItems=\"center\"\n $selectable={canAddChapter}\n $borderColor={added ? 'BLACK_T_87' : 'WHITE_5'}\n $background={added ? 'WHITE_3' : 'WHITE_1'}\n onClick={handleOnChapterItemClick}\n >\n <FlexView $position=\"relative\">\n {showProgress && (\n <Styled.ChapterProgressSVG width=\"62px\" height=\"62px\">\n <Styled.ChapterProgressSVGCircle $progress={0} r=\"30\" cx=\"31\" cy=\"31\" />\n <Styled.ChapterProgressSVGCircle\n $progressCircle\n $progressBackground={isMastered ? 'GREEN_5' : 'BLACK'}\n $progress={isMastered ? 360 : 95}\n r=\"30\"\n cx=\"31\"\n cy=\"31\"\n />\n </Styled.ChapterProgressSVG>\n )}\n <Image\n src={imageUrl || ''}\n alt={name}\n withLoader\n width={56}\n height={56}\n borderRadius={50}\n />\n </FlexView>\n\n <Styled.StyledText $renderAs=\"ab3\" $align=\"center\">\n {name}\n </Styled.StyledText>\n </Styled.ChapterListWrapper>\n </ArrowTooltip>\n\n {showChapterTags && (\n <Styled.StyledText $renderAs=\"ab3\" $lineClampNo={1} $color=\"BLACK_T_60\">\n {chapterTags}\n </Styled.StyledText>\n )}\n </FlexView>\n );\n});\n\nexport default ChapterItemV2;\n"],"names":["progressVisibleStates","SHEET_STATE","ChapterItemV2","memo","props","chapterData","onChapterItemClick","isThisPrimaryChapter","showChapterTags","canAddChapter","name","imageUrl","added","learningSheetData","chapterId","chapterTags","state","showProgress","isMastered","sheetsListPositionCoordinates","setSheetsListPositionCoordinates","useState","containerRef","useRef","handleSetCoordinates","useCallback","current","boundingClientRect","_a","viewportWidth","viewportHeight","positions","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","handleOnSheetsView","handleOnChapterItemClick","jsxs","FlexView","Styled.ChapterInfoWrapper","jsx","Styled.ChapterInfoIcon","Styled.SheetsListWrapper","SheetsList","ArrowTooltip","Styled.ChapterListWrapper","Styled.ChapterProgressSVG","Styled.ChapterProgressSVGCircle","Image","Styled.StyledText"],"mappings":"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"}
|