@cuemath/leap 3.5.3 → 3.5.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 +4 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/images/images.js +12 -0
- package/dist/assets/images/images.js.map +1 -1
- package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/country-selector/country-code-button.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/country-selector/country-list-menu.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/date-picker-input/date-picker-input.js.map +1 -1
- package/dist/features/av/av-preview/av-preview.js.map +1 -1
- package/dist/features/av/av-preview/hooks/use-media-devices.js.map +1 -1
- package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/spl-events-text/spl-events-text.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
- package/dist/features/circle-games/games/web-view/hooks/use-webview-games.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/progress-item/progress-item.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/timer/timer.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/with-grade/with-grade.js.map +1 -1
- package/dist/features/circle-games/leaderboard/hooks/use-timer/use-timer.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
- package/dist/features/extra-practice/list/list.js.map +1 -1
- package/dist/features/homework/card-menu-options.js.map +1 -1
- package/dist/features/homework/homework-card-view.js.map +1 -1
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
- package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
- package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
- package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/category-card.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-selection.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-view.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
- package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/category-component.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-loader/milestone-loader.js.map +1 -1
- 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.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +1 -1
- 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/comps/resource-item/resource-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item.js.map +1 -1
- 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.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
- 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.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map +1 -1
- package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +1 -1
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock.js.map +1 -1
- package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -1
- package/dist/features/post-game-stats/points/points.js.map +1 -1
- package/dist/features/post-game-stats/score/score.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak.js.map +1 -1
- package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -1
- package/dist/features/puzzles/app/puzzle-app.js.map +1 -1
- package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
- package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +1 -1
- package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
- package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js.map +1 -1
- package/dist/features/recent-chapters/recent-chapters.js.map +1 -1
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
- package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/target-element.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-view.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item.js.map +1 -1
- package/dist/features/sheets/lessons-list/lessons-list.js.map +1 -1
- package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
- package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js.map +1 -1
- package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js.map +1 -1
- package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
- package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js.map +1 -1
- package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -1
- package/dist/features/student-details/class-details/class-details.js.map +1 -1
- package/dist/features/student-details/student-details.js.map +1 -1
- package/dist/features/talk-meter/ripple/index.js.map +1 -1
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
- package/dist/features/talk-meter/talk-meter.js.map +1 -1
- package/dist/features/timeline/api/use-daily-timeline-get.js +10 -0
- package/dist/features/timeline/api/use-daily-timeline-get.js.map +1 -0
- package/dist/features/timeline/comps/accordion-item/accordion-item.js +53 -0
- package/dist/features/timeline/comps/accordion-item/accordion-item.js.map +1 -0
- package/dist/features/timeline/comps/accordion-item/utils.js +66 -0
- package/dist/features/timeline/comps/accordion-item/utils.js.map +1 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items-styled.js +13 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items-styled.js.map +1 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items.js +50 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items.js.map +1 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-styled.js +33 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-styled.js.map +1 -0
- package/dist/features/timeline/daily-timeline/daily-timeline.js +119 -0
- package/dist/features/timeline/daily-timeline/daily-timeline.js.map +1 -0
- package/dist/features/trial-session/comps/av-panels/student-av-panel/student-av-panel.js.map +1 -1
- package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
- package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
- package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.js.map +1 -1
- package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -1
- package/dist/features/ui/arc-button/arc-button.js.map +1 -1
- package/dist/features/ui/avatar/avatar-mapping.js.map +1 -1
- package/dist/features/ui/avatar/avatar.js.map +1 -1
- package/dist/features/ui/context/use-tracking-context.js.map +1 -1
- package/dist/features/ui/drawer/drawer.js.map +1 -1
- package/dist/features/ui/hooks/use-context-menu-click-handler.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
- package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js.map +1 -1
- package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js.map +1 -1
- package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js.map +1 -1
- package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
- package/dist/features/ui/loader/reverse-circular-bar/reverse-circular-bar.js.map +1 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
- package/dist/features/ui/modals/modal-provider.js.map +1 -1
- package/dist/features/ui/modals/modal.js.map +1 -1
- package/dist/features/ui/section-list/section-list.js.map +1 -1
- package/dist/features/ui/simple-accordian/accordion-styled.js +18 -0
- package/dist/features/ui/simple-accordian/accordion-styled.js.map +1 -0
- package/dist/features/ui/simple-accordian/accordion.js +59 -0
- package/dist/features/ui/simple-accordian/accordion.js.map +1 -0
- package/dist/features/ui/superscript/superscript-styled.js.map +1 -1
- package/dist/features/ui/superscript/superscript.js.map +1 -1
- package/dist/features/ui/theme/text.js +15 -0
- package/dist/features/ui/theme/text.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-learnosity-append.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-learnosity.js.map +1 -1
- package/dist/features/worksheet/worksheet/question-tips.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +27 -1
- package/dist/index.js +241 -239
- package/dist/index.js.map +1 -1
- package/dist/node_modules/date-fns/endOfDay.js +10 -0
- package/dist/node_modules/date-fns/endOfDay.js.map +1 -0
- package/dist/node_modules/date-fns/endOfMonth.js +10 -0
- package/dist/node_modules/date-fns/endOfMonth.js.map +1 -0
- package/dist/node_modules/date-fns/isLastDayOfMonth.js +12 -0
- package/dist/node_modules/date-fns/isLastDayOfMonth.js.map +1 -0
- package/dist/node_modules/date-fns/parseISO.js +123 -0
- package/dist/node_modules/date-fns/parseISO.js.map +1 -0
- package/dist/static/apr.09a50ff7.png +0 -0
- package/dist/static/aug.7179d37e.png +0 -0
- package/dist/static/circle-icon.1027df3c.svg +1 -0
- package/dist/static/cw-icon.c61f9779.svg +1 -0
- package/dist/static/dec.09f7e315.png +0 -0
- package/dist/static/feb.9e72504d.png +0 -0
- package/dist/static/hw-icon.6d78e885.svg +1 -0
- package/dist/static/jan.da91944a.png +0 -0
- package/dist/static/jul.5a1c4932.png +0 -0
- package/dist/static/jun.62639c2f.png +0 -0
- package/dist/static/mar.f51bcfa6.png +0 -0
- package/dist/static/may.7c542020.png +0 -0
- package/dist/static/no-activity.0451dcbb.svg +1 -0
- package/dist/static/nov.058343e7.png +0 -0
- package/dist/static/oct.573ee19d.png +0 -0
- package/dist/static/sep.3ccb6468.png +0 -0
- package/package.json +2 -2
|
@@ -36,6 +36,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
36
36
|
CHAPTER_HEADER_BG_2: `${t}static/chapter-header-bg-2.c8d96894.svg`,
|
|
37
37
|
CIRCLE_CUEMATH_LOGO: `${t}static/circle-cuemath-logo.8bcb1ad4.svg`,
|
|
38
38
|
CIRCLE_CUEMATH_LOGO_WHITE: `${t}static/circle-cuemath-logo-white.e9fafb91.svg`,
|
|
39
|
+
CIRCLE_ICON: `${t}static/circle-icon.1027df3c.svg`,
|
|
39
40
|
CIRCLE_OUTERCIRCLE_BG: `${t}static/circle-outercircle-bg.65f21460.svg`,
|
|
40
41
|
CLOCK_ORANGE: `${t}static/clock-orange.c144059b.svg`,
|
|
41
42
|
COMMON: `${t}static/common.9e8ceef1.svg`,
|
|
@@ -46,6 +47,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
46
47
|
CROWN_OVERLAY: `${t}static/crown-overlay.11fb073c.svg`,
|
|
47
48
|
CUECOIN_GOLD: `${t}static/cuecoin-gold.bcb8085e.svg`,
|
|
48
49
|
CUEMATH_APP_QR_CODE: `${t}static/cuemath-app-qr-code.7205ee79.svg`,
|
|
50
|
+
CW_ICON: `${t}static/cw-icon.c61f9779.svg`,
|
|
49
51
|
DESKTOP_WITH_PURPLE_FILL: `${t}static/desktop-with-purple-fill.dfec66cc.svg`,
|
|
50
52
|
DURATION_30MIN_GRAY: `${t}static/duration-30min-gray.f6442df4.svg`,
|
|
51
53
|
DURATION_45MIN_GRAY: `${t}static/duration-45min-gray.ad90fb23.svg`,
|
|
@@ -67,6 +69,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
67
69
|
HANDSHAKE: `${t}static/handshake.287e7dfb.svg`,
|
|
68
70
|
HANDSHAKE_GREEN: `${t}static/handshake-green.f8d24216.svg`,
|
|
69
71
|
HEART_OUTLINED: `${t}static/heart-outlined.5b5415fe.svg`,
|
|
72
|
+
HW_ICON: `${t}static/hw-icon.6d78e885.svg`,
|
|
70
73
|
KNOWLEDGE_BLUE: `${t}static/knowledge-blue.ead536f1.svg`,
|
|
71
74
|
LEARNED_SHIELD_GRAY: `${t}static/learned-shield-gray.1495b0d5.svg`,
|
|
72
75
|
LEARNED_SHIELD_GREEN: `${t}static/learned-shield-green.7c26b423.svg`,
|
|
@@ -102,6 +105,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
102
105
|
NODE_SUBJECTIVE_BG: `${t}static/node-subjective-bg.d6013a16.svg`,
|
|
103
106
|
NODE_TEST_PREP_BG: `${t}static/node-test-prep-bg.42c0b9c4.svg`,
|
|
104
107
|
NODE_VIDEO_BG: `${t}static/node-video-bg.3df3f73a.svg`,
|
|
108
|
+
NO_ACTIVITY: `${t}static/no-activity.0451dcbb.svg`,
|
|
105
109
|
NUMBER_1_ORANGE: `${t}static/number-1-orange.cbf526ed.svg`,
|
|
106
110
|
NUMBER_2_ORANGE: `${t}static/number-2-orange.6f29eb72.svg`,
|
|
107
111
|
NUMBER_3_ORANGE: `${t}static/number-3-orange.58baf717.svg`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"illustrations.js","sources":["../../../src/assets/illustrations/illustrations.ts"],"sourcesContent":["declare global {\n interface Window {\n VITE_PUBLIC_URL: string;\n }\n}\n\nconst PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst ILLUSTRATIONS = {\n ALARM_CLOCK_ORANGE: `${PREFIX}static/alarm-clock-orange.31fb90d9.svg`,\n ALARM_CLOCK_PURPLE: `${PREFIX}static/alarm-clock-purple.06d4911c.svg`,\n ALIEN_1: `${PREFIX}static/alien-1.fc7ba696.svg`,\n ALIEN_2: `${PREFIX}static/alien-2.15fdda07.svg`,\n ALIEN_3: `${PREFIX}static/alien-3.2664a37f.svg`,\n ALIEN_4: `${PREFIX}static/alien-4.06ac66da.svg`,\n ARROW_BOARD_GREEN: `${PREFIX}static/arrow-board-green.11e75bca.svg`,\n BLUE_CLIP: `${PREFIX}static/blue-clip.87cc4543.svg`,\n BOOK_CHECKED_GREEN: `${PREFIX}static/book-checked-green.0436b91e.svg`,\n BOOK_CHECKED_ORANGE: `${PREFIX}static/book-checked-orange.53ea6880.svg`,\n BOOK_CHECKED_PURPLE: `${PREFIX}static/book-checked-purple.df628f3e.svg`,\n BOOK_GREEN: `${PREFIX}static/book-green.20f6eed3.svg`,\n BOOK_OPEN_BLUE: `${PREFIX}static/book-open-blue.d4f8d08c.svg`,\n BOOK_ORANGE: `${PREFIX}static/book-orange.04bdc75e.svg`,\n BOOK_YELLOW: `${PREFIX}static/book-yellow.c210ac06.svg`,\n BULLET_YELLOW: `${PREFIX}static/bullet-yellow.2f892d88.svg`,\n CALENDAR_BLUE: `${PREFIX}static/calendar-blue.e0d52d09.svg`,\n CALENDAR_CHECK_GREEN: `${PREFIX}static/calendar-check-green.ab0e24d2.svg`,\n CALENDAR_CROSS_ORANGE: `${PREFIX}static/calendar-cross-orange.8e7a23bd.svg`,\n CALENDAR_GRAY: `${PREFIX}static/calendar-gray.1c72682a.svg`,\n CALENDAR_GREEN: `${PREFIX}static/calendar-green.a2b6a393.svg`,\n CALENDAR_PURPLE: `${PREFIX}static/calendar-purple.1a840b41.svg`,\n CAUTION: `${PREFIX}static/caution.5766a967.svg`,\n CHAPTER_10: `${PREFIX}static/chapter-10.c97de4a5.svg`,\n CHAPTER_1: `${PREFIX}static/chapter-1.8a1683a0.svg`,\n CHAPTER_2: `${PREFIX}static/chapter-2.71ac6dfc.svg`,\n CHAPTER_3: `${PREFIX}static/chapter-3.003fc901.svg`,\n CHAPTER_4: `${PREFIX}static/chapter-4.8abbacd8.svg`,\n CHAPTER_5: `${PREFIX}static/chapter-5.c774b439.svg`,\n CHAPTER_6: `${PREFIX}static/chapter-6.cb5cf1cb.svg`,\n CHAPTER_7: `${PREFIX}static/chapter-7.57b0beb4.svg`,\n CHAPTER_8: `${PREFIX}static/chapter-8.68d36477.svg`,\n CHAPTER_9: `${PREFIX}static/chapter-9.0c00e26f.svg`,\n CHAPTER_HEADER_BG: `${PREFIX}static/chapter-header-bg.4ed173c2.svg`,\n CHAPTER_HEADER_BG_2: `${PREFIX}static/chapter-header-bg-2.c8d96894.svg`,\n CIRCLE_CUEMATH_LOGO: `${PREFIX}static/circle-cuemath-logo.8bcb1ad4.svg`,\n CIRCLE_CUEMATH_LOGO_WHITE: `${PREFIX}static/circle-cuemath-logo-white.e9fafb91.svg`,\n CIRCLE_OUTERCIRCLE_BG: `${PREFIX}static/circle-outercircle-bg.65f21460.svg`,\n CLOCK_ORANGE: `${PREFIX}static/clock-orange.c144059b.svg`,\n COMMON: `${PREFIX}static/common.9e8ceef1.svg`,\n COMMUNITY_BULB: `${PREFIX}static/community-bulb.3b42af21.svg`,\n COMMUNITY_BULB_YELLOW_2: `${PREFIX}static/community-bulb-yellow-2.f89c30f9.svg`,\n CROSSHAIR_CIRCLE: `${PREFIX}static/crosshair-circle.522a26ea.svg`,\n CROWN: `${PREFIX}static/crown.c18fa217.svg`,\n CROWN_OVERLAY: `${PREFIX}static/crown-overlay.11fb073c.svg`,\n CUECOIN_GOLD: `${PREFIX}static/cuecoin-gold.bcb8085e.svg`,\n CUEMATH_APP_QR_CODE: `${PREFIX}static/cuemath-app-qr-code.7205ee79.svg`,\n DESKTOP_WITH_PURPLE_FILL: `${PREFIX}static/desktop-with-purple-fill.dfec66cc.svg`,\n DURATION_30MIN_GRAY: `${PREFIX}static/duration-30min-gray.f6442df4.svg`,\n DURATION_45MIN_GRAY: `${PREFIX}static/duration-45min-gray.ad90fb23.svg`,\n DURATION_60MIN_GRAY: `${PREFIX}static/duration-60min-gray.874e52a2.svg`,\n DURATION_90MIN_GRAY: `${PREFIX}static/duration-90min-gray.32a04cef.svg`,\n EARTH_GREEN: `${PREFIX}static/earth-green.e1329b7a.svg`,\n ELLIPSE_CLIP: `${PREFIX}static/ellipse-clip.dfb25608.svg`,\n EPIC: `${PREFIX}static/epic.37a0265a.svg`,\n EQUAL_OUTLINED: `${PREFIX}static/equal-outlined.b705bf5d.svg`,\n FEMALE_AVATAR: `${PREFIX}static/female-avatar.b8cd1012.svg`,\n GAME_PLAY: `${PREFIX}static/game-play.4982b0cb.svg`,\n GLOBE_WITH_BLUE_FILL: `${PREFIX}static/globe-with-blue-fill.beae6ca4.svg`,\n GRADE_GRID_BACKGROUND: `${PREFIX}static/grade-grid-background.b17b4ccb.svg`,\n GRADUATE_HAT: `${PREFIX}static/graduate-hat.4b49eb44.svg`,\n GRADUATE_ICON_PINK: `${PREFIX}static/graduate-icon-pink.01fbfb1b.svg`,\n GRADUATE_PINK_FILLED_BG: `${PREFIX}static/graduate-pink-filled-bg.c91e9c53.svg`,\n GREEN_BALLOON: `${PREFIX}static/green-balloon.67ac8587.svg`,\n GREEN_FACE: `${PREFIX}static/green-face.1b4dd82f.svg`,\n HANDSHAKE: `${PREFIX}static/handshake.287e7dfb.svg`,\n HANDSHAKE_GREEN: `${PREFIX}static/handshake-green.f8d24216.svg`,\n HEART_OUTLINED: `${PREFIX}static/heart-outlined.5b5415fe.svg`,\n KNOWLEDGE_BLUE: `${PREFIX}static/knowledge-blue.ead536f1.svg`,\n LEARNED_SHIELD_GRAY: `${PREFIX}static/learned-shield-gray.1495b0d5.svg`,\n LEARNED_SHIELD_GREEN: `${PREFIX}static/learned-shield-green.7c26b423.svg`,\n LEARNING_PUZZLE_BOT: `${PREFIX}static/learning-puzzle-bot.6fe93cf6.svg`,\n LEARNT: `${PREFIX}static/learnt.870c5e38.svg`,\n LEGENDARY: `${PREFIX}static/legendary.f15d09ca.svg`,\n LIKE: `${PREFIX}static/like.cb492460.svg`,\n LIVE_SESSION: `${PREFIX}static/live-session.a0d25c78.svg`,\n LOADER: `${PREFIX}static/loader.52f8c35c.svg`,\n LOADER_1: `${PREFIX}static/loader-1.6524355e.svg`,\n LOCKED: `${PREFIX}static/locked.0c3b7577.svg`,\n MAINTENANCE: `${PREFIX}static/maintenance.a26aca65.svg`,\n MALE_AVATAR: `${PREFIX}static/male-avatar.2febc9eb.svg`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.81f156fb.svg`,\n MASTERED_SHIELD_GRAY: `${PREFIX}static/mastered-shield-gray.a58cbe19.svg`,\n MASTERED_SHIELD_GREEN: `${PREFIX}static/mastered-shield-green.070fa4eb.svg`,\n MENTAL_MATH: `${PREFIX}static/mental-math.3c95f169.svg`,\n MILESTONE_INTRO_1: `${PREFIX}static/milestone-intro-1.281a354c.svg`,\n MILESTONE_INTRO_2: `${PREFIX}static/milestone-intro-2.19faee69.svg`,\n MILESTONE_INTRO_3: `${PREFIX}static/milestone-intro-3.6f6055d6.svg`,\n MISTAKE: `${PREFIX}static/mistake.476d1aa7.svg`,\n MONEY: `${PREFIX}static/money.332aacf1.svg`,\n MYSTERY: `${PREFIX}static/mystery.81ada5fb.svg`,\n MYTHIC: `${PREFIX}static/mythic.58ba0ae0.svg`,\n NODE_ACTIVITY_BG: `${PREFIX}static/node-activity-bg.122f7e01.svg`,\n NODE_CUSTOM_TEST_BG: `${PREFIX}static/node-custom-test-bg.d3b757be.svg`,\n NODE_DOWNLOAD_BG: `${PREFIX}static/node-download-bg.b8367de7.svg`,\n NODE_LEARN_BG: `${PREFIX}static/node-learn-bg.b61f815c.svg`,\n NODE_PRACTICE_BG: `${PREFIX}static/node-practice-bg.16cbaf2a.svg`,\n NODE_PROJECT_BG: `${PREFIX}static/node-project-bg.e6a33e28.svg`,\n NODE_PUZZLE_BG: `${PREFIX}static/node-puzzle-bg.3422135c.svg`,\n NODE_RECAP_BG: `${PREFIX}static/node-recap-bg.546154e4.svg`,\n NODE_SUBJECTIVE_BG: `${PREFIX}static/node-subjective-bg.d6013a16.svg`,\n NODE_TEST_PREP_BG: `${PREFIX}static/node-test-prep-bg.42c0b9c4.svg`,\n NODE_VIDEO_BG: `${PREFIX}static/node-video-bg.3df3f73a.svg`,\n NUMBER_1_ORANGE: `${PREFIX}static/number-1-orange.cbf526ed.svg`,\n NUMBER_2_ORANGE: `${PREFIX}static/number-2-orange.6f29eb72.svg`,\n NUMBER_3_ORANGE: `${PREFIX}static/number-3-orange.58baf717.svg`,\n NUMBER_4_ORANGE: `${PREFIX}static/number-4-orange.5ed1ec5e.svg`,\n ONE_STAR_FILLED: `${PREFIX}static/one-star-filled.b6084257.svg`,\n ORANGE_FACE: `${PREFIX}static/orange-face.5824c2e9.svg`,\n PARENT_AVATAR: `${PREFIX}static/parent-avatar.822c7b9b.svg`,\n PEOPLE_WITH_ORANGE_FILL: `${PREFIX}static/people-with-orange-fill.3835b8f1.svg`,\n PERSONALIZATION: `${PREFIX}static/personalization.7a6c33e8.svg`,\n PLATFORM_GREEN: `${PREFIX}static/platform-green.eb853207.svg`,\n PLATFORM_PURPLE: `${PREFIX}static/platform-purple.ecf6fa46.svg`,\n PLAY: `${PREFIX}static/play.68d16dec.svg`,\n PLAY_ICON: `${PREFIX}static/play-icon.13baaa7d.svg`,\n POINTS_SUM: `${PREFIX}static/points-sum.360e63de.svg`,\n PRACTICED_SHIELD_GREEN: `${PREFIX}static/practiced-shield-green.90278855.svg`,\n PRACTICED_SHIELD_GREY: `${PREFIX}static/practiced-shield-grey.16cf4fe0.svg`,\n PROFICIENT_BADGE: `${PREFIX}static/proficient-badge.1a6dbb72.svg`,\n PROFILE_BOARD: `${PREFIX}static/profile-board.4f4a17e6.svg`,\n PUZZLE: `${PREFIX}static/puzzle.5aad5cf8.svg`,\n PUZZLE_DASHBOARD_BANNER: `${PREFIX}static/puzzle-dashboard-banner.b7956519.svg`,\n PUZZLE_PATTERN_BLUE: `${PREFIX}static/puzzle-pattern-blue.abff0164.svg`,\n PUZZLE_PATTERN_GREEN: `${PREFIX}static/puzzle-pattern-green.b8ba1840.svg`,\n PUZZLE_PATTERN_ORANGE: `${PREFIX}static/puzzle-pattern-orange.3f5a17ff.svg`,\n PUZZLE_PATTERN_PURPLE: `${PREFIX}static/puzzle-pattern-purple.14b09759.svg`,\n PUZZLE_PATTERN_YELLOW: `${PREFIX}static/puzzle-pattern-yellow.50917fab.svg`,\n PUZZLE_STUDENT: `${PREFIX}static/puzzle-student.de530364.svg`,\n RADIAL_GRADIENT_BG: `${PREFIX}static/radial-gradient-bg.5ae0cde5.svg`,\n RADIAL_GRADIENT_BG_2: `${PREFIX}static/radial-gradient-bg-2.6657c758.svg`,\n RARE: `${PREFIX}static/rare.1ffaa311.svg`,\n REFUND_POLICY: `${PREFIX}static/refund-policy.912dbb4c.svg`,\n REFUND_POLICY_WITH_HEADPHONE: `${PREFIX}static/refund-policy-with-headphone.589398e0.svg`,\n REPORT_404: `${PREFIX}static/report-404.dd67785c.svg`,\n ROCKET_BROKEN: `${PREFIX}static/rocket-broken.1f86fa43.svg`,\n ROCKET_YELLOW: `${PREFIX}static/rocket-yellow.62d27e15.svg`,\n SCORE: `${PREFIX}static/score.41971107.svg`,\n SMILEY: `${PREFIX}static/smiley.49bb7d7c.svg`,\n STAR_ORANGE: `${PREFIX}static/star-orange.a91a341f.svg`,\n STAR_ORANGE_FILLED: `${PREFIX}static/star-orange-filled.a7ff9c8f.svg`,\n STAR_OUTLINED: `${PREFIX}static/star-outlined.bde83c7c.svg`,\n STAR_WITH_GREEN_FILL: `${PREFIX}static/star-with-green-fill.86877d41.svg`,\n STREAK_GREEN: `${PREFIX}static/streak-green.b59bf4dd.svg`,\n STREAK_WHITE: `${PREFIX}static/streak-white.2cbdc9b8.svg`,\n STRIPE_BLURPLE: `${PREFIX}static/stripe-blurple.6abf422f.svg`,\n STUDENT_AVATAR: `${PREFIX}static/student-avatar.24bc2875.svg`,\n TEST_DIFFICULTY_EASY: `${PREFIX}static/test-difficulty-easy.56df71dd.svg`,\n TEST_DIFFICULTY_HARD: `${PREFIX}static/test-difficulty-hard.7250f1f4.svg`,\n TEST_DIFFICULTY_MEDIUM: `${PREFIX}static/test-difficulty-medium.2fd9686e.svg`,\n THREE_STARS_FILLED: `${PREFIX}static/three-stars-filled.72b51f03.svg`,\n TICK_GREEN: `${PREFIX}static/tick-green.a1654049.svg`,\n TROPHY_BLUE: `${PREFIX}static/trophy-blue.e684ba4c.svg`,\n TROPHY_BLUE_FILLED: `${PREFIX}static/trophy-blue-filled.7e2b40ab.svg`,\n TROPHY_CIRCLE: `${PREFIX}static/trophy-circle.b7b23e36.svg`,\n TROPHY_GREEN: `${PREFIX}static/trophy-green.6c0741c8.svg`,\n TROPHY_OUTLINED: `${PREFIX}static/trophy-outlined.f946b362.svg`,\n TRUSTPILOT: `${PREFIX}static/trustpilot.bd3d79e1.svg`,\n TWO_STARS_FILLED: `${PREFIX}static/two-stars-filled.a51a14b4.svg`,\n UP_ARROW: `${PREFIX}static/up-arrow.a6946bd3.svg`,\n USER_CROWN_GRID_BACKGROUND: `${PREFIX}static/user-crown-grid-background.c2875a73.svg`,\n USER_DOWN: `${PREFIX}static/user-down.a06f2f94.svg`,\n USER_PIN: `${PREFIX}static/user-pin.5f334465.svg`,\n USER_PROFILE_BACKGROUND: `${PREFIX}static/user-profile-background.199977a9.svg`,\n USER_TYPE_SELECTOR_GRID_BG: `${PREFIX}static/user-type-selector-grid-bg.aad0b059.svg`,\n USER_UP: `${PREFIX}static/user-up.2aecbbae.svg`,\n YELLOW_FACE: `${PREFIX}static/yellow-face.b7525a33.svg`,\n};\n\nexport { ILLUSTRATIONS };\n"],"names":["PREFIX","ILLUSTRATIONS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"illustrations.js","sources":["../../../src/assets/illustrations/illustrations.ts"],"sourcesContent":["declare global {\n interface Window {\n VITE_PUBLIC_URL: string;\n }\n}\n\nconst PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst ILLUSTRATIONS = {\n ALARM_CLOCK_ORANGE: `${PREFIX}static/alarm-clock-orange.31fb90d9.svg`,\n ALARM_CLOCK_PURPLE: `${PREFIX}static/alarm-clock-purple.06d4911c.svg`,\n ALIEN_1: `${PREFIX}static/alien-1.fc7ba696.svg`,\n ALIEN_2: `${PREFIX}static/alien-2.15fdda07.svg`,\n ALIEN_3: `${PREFIX}static/alien-3.2664a37f.svg`,\n ALIEN_4: `${PREFIX}static/alien-4.06ac66da.svg`,\n ARROW_BOARD_GREEN: `${PREFIX}static/arrow-board-green.11e75bca.svg`,\n BLUE_CLIP: `${PREFIX}static/blue-clip.87cc4543.svg`,\n BOOK_CHECKED_GREEN: `${PREFIX}static/book-checked-green.0436b91e.svg`,\n BOOK_CHECKED_ORANGE: `${PREFIX}static/book-checked-orange.53ea6880.svg`,\n BOOK_CHECKED_PURPLE: `${PREFIX}static/book-checked-purple.df628f3e.svg`,\n BOOK_GREEN: `${PREFIX}static/book-green.20f6eed3.svg`,\n BOOK_OPEN_BLUE: `${PREFIX}static/book-open-blue.d4f8d08c.svg`,\n BOOK_ORANGE: `${PREFIX}static/book-orange.04bdc75e.svg`,\n BOOK_YELLOW: `${PREFIX}static/book-yellow.c210ac06.svg`,\n BULLET_YELLOW: `${PREFIX}static/bullet-yellow.2f892d88.svg`,\n CALENDAR_BLUE: `${PREFIX}static/calendar-blue.e0d52d09.svg`,\n CALENDAR_CHECK_GREEN: `${PREFIX}static/calendar-check-green.ab0e24d2.svg`,\n CALENDAR_CROSS_ORANGE: `${PREFIX}static/calendar-cross-orange.8e7a23bd.svg`,\n CALENDAR_GRAY: `${PREFIX}static/calendar-gray.1c72682a.svg`,\n CALENDAR_GREEN: `${PREFIX}static/calendar-green.a2b6a393.svg`,\n CALENDAR_PURPLE: `${PREFIX}static/calendar-purple.1a840b41.svg`,\n CAUTION: `${PREFIX}static/caution.5766a967.svg`,\n CHAPTER_10: `${PREFIX}static/chapter-10.c97de4a5.svg`,\n CHAPTER_1: `${PREFIX}static/chapter-1.8a1683a0.svg`,\n CHAPTER_2: `${PREFIX}static/chapter-2.71ac6dfc.svg`,\n CHAPTER_3: `${PREFIX}static/chapter-3.003fc901.svg`,\n CHAPTER_4: `${PREFIX}static/chapter-4.8abbacd8.svg`,\n CHAPTER_5: `${PREFIX}static/chapter-5.c774b439.svg`,\n CHAPTER_6: `${PREFIX}static/chapter-6.cb5cf1cb.svg`,\n CHAPTER_7: `${PREFIX}static/chapter-7.57b0beb4.svg`,\n CHAPTER_8: `${PREFIX}static/chapter-8.68d36477.svg`,\n CHAPTER_9: `${PREFIX}static/chapter-9.0c00e26f.svg`,\n CHAPTER_HEADER_BG: `${PREFIX}static/chapter-header-bg.4ed173c2.svg`,\n CHAPTER_HEADER_BG_2: `${PREFIX}static/chapter-header-bg-2.c8d96894.svg`,\n CIRCLE_CUEMATH_LOGO: `${PREFIX}static/circle-cuemath-logo.8bcb1ad4.svg`,\n CIRCLE_CUEMATH_LOGO_WHITE: `${PREFIX}static/circle-cuemath-logo-white.e9fafb91.svg`,\n CIRCLE_ICON: `${PREFIX}static/circle-icon.1027df3c.svg`,\n CIRCLE_OUTERCIRCLE_BG: `${PREFIX}static/circle-outercircle-bg.65f21460.svg`,\n CLOCK_ORANGE: `${PREFIX}static/clock-orange.c144059b.svg`,\n COMMON: `${PREFIX}static/common.9e8ceef1.svg`,\n COMMUNITY_BULB: `${PREFIX}static/community-bulb.3b42af21.svg`,\n COMMUNITY_BULB_YELLOW_2: `${PREFIX}static/community-bulb-yellow-2.f89c30f9.svg`,\n CROSSHAIR_CIRCLE: `${PREFIX}static/crosshair-circle.522a26ea.svg`,\n CROWN: `${PREFIX}static/crown.c18fa217.svg`,\n CROWN_OVERLAY: `${PREFIX}static/crown-overlay.11fb073c.svg`,\n CUECOIN_GOLD: `${PREFIX}static/cuecoin-gold.bcb8085e.svg`,\n CUEMATH_APP_QR_CODE: `${PREFIX}static/cuemath-app-qr-code.7205ee79.svg`,\n CW_ICON: `${PREFIX}static/cw-icon.c61f9779.svg`,\n DESKTOP_WITH_PURPLE_FILL: `${PREFIX}static/desktop-with-purple-fill.dfec66cc.svg`,\n DURATION_30MIN_GRAY: `${PREFIX}static/duration-30min-gray.f6442df4.svg`,\n DURATION_45MIN_GRAY: `${PREFIX}static/duration-45min-gray.ad90fb23.svg`,\n DURATION_60MIN_GRAY: `${PREFIX}static/duration-60min-gray.874e52a2.svg`,\n DURATION_90MIN_GRAY: `${PREFIX}static/duration-90min-gray.32a04cef.svg`,\n EARTH_GREEN: `${PREFIX}static/earth-green.e1329b7a.svg`,\n ELLIPSE_CLIP: `${PREFIX}static/ellipse-clip.dfb25608.svg`,\n EPIC: `${PREFIX}static/epic.37a0265a.svg`,\n EQUAL_OUTLINED: `${PREFIX}static/equal-outlined.b705bf5d.svg`,\n FEMALE_AVATAR: `${PREFIX}static/female-avatar.b8cd1012.svg`,\n GAME_PLAY: `${PREFIX}static/game-play.4982b0cb.svg`,\n GLOBE_WITH_BLUE_FILL: `${PREFIX}static/globe-with-blue-fill.beae6ca4.svg`,\n GRADE_GRID_BACKGROUND: `${PREFIX}static/grade-grid-background.b17b4ccb.svg`,\n GRADUATE_HAT: `${PREFIX}static/graduate-hat.4b49eb44.svg`,\n GRADUATE_ICON_PINK: `${PREFIX}static/graduate-icon-pink.01fbfb1b.svg`,\n GRADUATE_PINK_FILLED_BG: `${PREFIX}static/graduate-pink-filled-bg.c91e9c53.svg`,\n GREEN_BALLOON: `${PREFIX}static/green-balloon.67ac8587.svg`,\n GREEN_FACE: `${PREFIX}static/green-face.1b4dd82f.svg`,\n HANDSHAKE: `${PREFIX}static/handshake.287e7dfb.svg`,\n HANDSHAKE_GREEN: `${PREFIX}static/handshake-green.f8d24216.svg`,\n HEART_OUTLINED: `${PREFIX}static/heart-outlined.5b5415fe.svg`,\n HW_ICON: `${PREFIX}static/hw-icon.6d78e885.svg`,\n KNOWLEDGE_BLUE: `${PREFIX}static/knowledge-blue.ead536f1.svg`,\n LEARNED_SHIELD_GRAY: `${PREFIX}static/learned-shield-gray.1495b0d5.svg`,\n LEARNED_SHIELD_GREEN: `${PREFIX}static/learned-shield-green.7c26b423.svg`,\n LEARNING_PUZZLE_BOT: `${PREFIX}static/learning-puzzle-bot.6fe93cf6.svg`,\n LEARNT: `${PREFIX}static/learnt.870c5e38.svg`,\n LEGENDARY: `${PREFIX}static/legendary.f15d09ca.svg`,\n LIKE: `${PREFIX}static/like.cb492460.svg`,\n LIVE_SESSION: `${PREFIX}static/live-session.a0d25c78.svg`,\n LOADER: `${PREFIX}static/loader.52f8c35c.svg`,\n LOADER_1: `${PREFIX}static/loader-1.6524355e.svg`,\n LOCKED: `${PREFIX}static/locked.0c3b7577.svg`,\n MAINTENANCE: `${PREFIX}static/maintenance.a26aca65.svg`,\n MALE_AVATAR: `${PREFIX}static/male-avatar.2febc9eb.svg`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.81f156fb.svg`,\n MASTERED_SHIELD_GRAY: `${PREFIX}static/mastered-shield-gray.a58cbe19.svg`,\n MASTERED_SHIELD_GREEN: `${PREFIX}static/mastered-shield-green.070fa4eb.svg`,\n MENTAL_MATH: `${PREFIX}static/mental-math.3c95f169.svg`,\n MILESTONE_INTRO_1: `${PREFIX}static/milestone-intro-1.281a354c.svg`,\n MILESTONE_INTRO_2: `${PREFIX}static/milestone-intro-2.19faee69.svg`,\n MILESTONE_INTRO_3: `${PREFIX}static/milestone-intro-3.6f6055d6.svg`,\n MISTAKE: `${PREFIX}static/mistake.476d1aa7.svg`,\n MONEY: `${PREFIX}static/money.332aacf1.svg`,\n MYSTERY: `${PREFIX}static/mystery.81ada5fb.svg`,\n MYTHIC: `${PREFIX}static/mythic.58ba0ae0.svg`,\n NODE_ACTIVITY_BG: `${PREFIX}static/node-activity-bg.122f7e01.svg`,\n NODE_CUSTOM_TEST_BG: `${PREFIX}static/node-custom-test-bg.d3b757be.svg`,\n NODE_DOWNLOAD_BG: `${PREFIX}static/node-download-bg.b8367de7.svg`,\n NODE_LEARN_BG: `${PREFIX}static/node-learn-bg.b61f815c.svg`,\n NODE_PRACTICE_BG: `${PREFIX}static/node-practice-bg.16cbaf2a.svg`,\n NODE_PROJECT_BG: `${PREFIX}static/node-project-bg.e6a33e28.svg`,\n NODE_PUZZLE_BG: `${PREFIX}static/node-puzzle-bg.3422135c.svg`,\n NODE_RECAP_BG: `${PREFIX}static/node-recap-bg.546154e4.svg`,\n NODE_SUBJECTIVE_BG: `${PREFIX}static/node-subjective-bg.d6013a16.svg`,\n NODE_TEST_PREP_BG: `${PREFIX}static/node-test-prep-bg.42c0b9c4.svg`,\n NODE_VIDEO_BG: `${PREFIX}static/node-video-bg.3df3f73a.svg`,\n NO_ACTIVITY: `${PREFIX}static/no-activity.0451dcbb.svg`,\n NUMBER_1_ORANGE: `${PREFIX}static/number-1-orange.cbf526ed.svg`,\n NUMBER_2_ORANGE: `${PREFIX}static/number-2-orange.6f29eb72.svg`,\n NUMBER_3_ORANGE: `${PREFIX}static/number-3-orange.58baf717.svg`,\n NUMBER_4_ORANGE: `${PREFIX}static/number-4-orange.5ed1ec5e.svg`,\n ONE_STAR_FILLED: `${PREFIX}static/one-star-filled.b6084257.svg`,\n ORANGE_FACE: `${PREFIX}static/orange-face.5824c2e9.svg`,\n PARENT_AVATAR: `${PREFIX}static/parent-avatar.822c7b9b.svg`,\n PEOPLE_WITH_ORANGE_FILL: `${PREFIX}static/people-with-orange-fill.3835b8f1.svg`,\n PERSONALIZATION: `${PREFIX}static/personalization.7a6c33e8.svg`,\n PLATFORM_GREEN: `${PREFIX}static/platform-green.eb853207.svg`,\n PLATFORM_PURPLE: `${PREFIX}static/platform-purple.ecf6fa46.svg`,\n PLAY: `${PREFIX}static/play.68d16dec.svg`,\n PLAY_ICON: `${PREFIX}static/play-icon.13baaa7d.svg`,\n POINTS_SUM: `${PREFIX}static/points-sum.360e63de.svg`,\n PRACTICED_SHIELD_GREEN: `${PREFIX}static/practiced-shield-green.90278855.svg`,\n PRACTICED_SHIELD_GREY: `${PREFIX}static/practiced-shield-grey.16cf4fe0.svg`,\n PROFICIENT_BADGE: `${PREFIX}static/proficient-badge.1a6dbb72.svg`,\n PROFILE_BOARD: `${PREFIX}static/profile-board.4f4a17e6.svg`,\n PUZZLE: `${PREFIX}static/puzzle.5aad5cf8.svg`,\n PUZZLE_DASHBOARD_BANNER: `${PREFIX}static/puzzle-dashboard-banner.b7956519.svg`,\n PUZZLE_PATTERN_BLUE: `${PREFIX}static/puzzle-pattern-blue.abff0164.svg`,\n PUZZLE_PATTERN_GREEN: `${PREFIX}static/puzzle-pattern-green.b8ba1840.svg`,\n PUZZLE_PATTERN_ORANGE: `${PREFIX}static/puzzle-pattern-orange.3f5a17ff.svg`,\n PUZZLE_PATTERN_PURPLE: `${PREFIX}static/puzzle-pattern-purple.14b09759.svg`,\n PUZZLE_PATTERN_YELLOW: `${PREFIX}static/puzzle-pattern-yellow.50917fab.svg`,\n PUZZLE_STUDENT: `${PREFIX}static/puzzle-student.de530364.svg`,\n RADIAL_GRADIENT_BG: `${PREFIX}static/radial-gradient-bg.5ae0cde5.svg`,\n RADIAL_GRADIENT_BG_2: `${PREFIX}static/radial-gradient-bg-2.6657c758.svg`,\n RARE: `${PREFIX}static/rare.1ffaa311.svg`,\n REFUND_POLICY: `${PREFIX}static/refund-policy.912dbb4c.svg`,\n REFUND_POLICY_WITH_HEADPHONE: `${PREFIX}static/refund-policy-with-headphone.589398e0.svg`,\n REPORT_404: `${PREFIX}static/report-404.dd67785c.svg`,\n ROCKET_BROKEN: `${PREFIX}static/rocket-broken.1f86fa43.svg`,\n ROCKET_YELLOW: `${PREFIX}static/rocket-yellow.62d27e15.svg`,\n SCORE: `${PREFIX}static/score.41971107.svg`,\n SMILEY: `${PREFIX}static/smiley.49bb7d7c.svg`,\n STAR_ORANGE: `${PREFIX}static/star-orange.a91a341f.svg`,\n STAR_ORANGE_FILLED: `${PREFIX}static/star-orange-filled.a7ff9c8f.svg`,\n STAR_OUTLINED: `${PREFIX}static/star-outlined.bde83c7c.svg`,\n STAR_WITH_GREEN_FILL: `${PREFIX}static/star-with-green-fill.86877d41.svg`,\n STREAK_GREEN: `${PREFIX}static/streak-green.b59bf4dd.svg`,\n STREAK_WHITE: `${PREFIX}static/streak-white.2cbdc9b8.svg`,\n STRIPE_BLURPLE: `${PREFIX}static/stripe-blurple.6abf422f.svg`,\n STUDENT_AVATAR: `${PREFIX}static/student-avatar.24bc2875.svg`,\n TEST_DIFFICULTY_EASY: `${PREFIX}static/test-difficulty-easy.56df71dd.svg`,\n TEST_DIFFICULTY_HARD: `${PREFIX}static/test-difficulty-hard.7250f1f4.svg`,\n TEST_DIFFICULTY_MEDIUM: `${PREFIX}static/test-difficulty-medium.2fd9686e.svg`,\n THREE_STARS_FILLED: `${PREFIX}static/three-stars-filled.72b51f03.svg`,\n TICK_GREEN: `${PREFIX}static/tick-green.a1654049.svg`,\n TROPHY_BLUE: `${PREFIX}static/trophy-blue.e684ba4c.svg`,\n TROPHY_BLUE_FILLED: `${PREFIX}static/trophy-blue-filled.7e2b40ab.svg`,\n TROPHY_CIRCLE: `${PREFIX}static/trophy-circle.b7b23e36.svg`,\n TROPHY_GREEN: `${PREFIX}static/trophy-green.6c0741c8.svg`,\n TROPHY_OUTLINED: `${PREFIX}static/trophy-outlined.f946b362.svg`,\n TRUSTPILOT: `${PREFIX}static/trustpilot.bd3d79e1.svg`,\n TWO_STARS_FILLED: `${PREFIX}static/two-stars-filled.a51a14b4.svg`,\n UP_ARROW: `${PREFIX}static/up-arrow.a6946bd3.svg`,\n USER_CROWN_GRID_BACKGROUND: `${PREFIX}static/user-crown-grid-background.c2875a73.svg`,\n USER_DOWN: `${PREFIX}static/user-down.a06f2f94.svg`,\n USER_PIN: `${PREFIX}static/user-pin.5f334465.svg`,\n USER_PROFILE_BACKGROUND: `${PREFIX}static/user-profile-background.199977a9.svg`,\n USER_TYPE_SELECTOR_GRID_BG: `${PREFIX}static/user-type-selector-grid-bg.aad0b059.svg`,\n USER_UP: `${PREFIX}static/user-up.2aecbbae.svg`,\n YELLOW_FACE: `${PREFIX}static/yellow-face.b7525a33.svg`,\n};\n\nexport { ILLUSTRATIONS };\n"],"names":["PREFIX","ILLUSTRATIONS"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
2
2
|
ACHIEVEMENT_BG: `${t}static/achievement_bg.0d0555ac.png`,
|
|
3
|
+
APR: `${t}static/apr.09a50ff7.png`,
|
|
3
4
|
ASHTA: `${t}static/ashta.0d3926b2.png`,
|
|
5
|
+
AUG: `${t}static/aug.7179d37e.png`,
|
|
4
6
|
AWESOME: `${t}static/awesome.8e1cf046.png`,
|
|
5
7
|
BADGE_SUCCESS: `${t}static/badge_success.2f6c8e65.png`,
|
|
6
8
|
BG_EMPTY_RESOURCES: `${t}static/bg_empty_resources.63b187fd.png`,
|
|
@@ -11,19 +13,28 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
11
13
|
CONGRATS: `${t}static/congrats.75718de8.png`,
|
|
12
14
|
COOL: `${t}static/cool.1893941c.png`,
|
|
13
15
|
COSA: `${t}static/cosa.46c0c49b.png`,
|
|
16
|
+
DEC: `${t}static/dec.09f7e315.png`,
|
|
14
17
|
DEFAULT_CHAPTER: `${t}static/default-chapter.8ede1160.png`,
|
|
15
18
|
DODA: `${t}static/doda.3103971c.png`,
|
|
16
19
|
DVI: `${t}static/dvi.fc7b32a5.png`,
|
|
17
20
|
EKA: `${t}static/eka.b10a06fa.png`,
|
|
18
21
|
EMPTY_MIX_TESTS: `${t}static/empty_mix_tests.1d251f07.png`,
|
|
22
|
+
FEB: `${t}static/feb.9e72504d.png`,
|
|
19
23
|
GREAT: `${t}static/great.2a5dcc34.png`,
|
|
20
24
|
GREEN_BELT: `${t}static/green-belt.5501296f.png`,
|
|
21
25
|
HEXO: `${t}static/hexo.eab4b9f5.png`,
|
|
26
|
+
JAN: `${t}static/jan.da91944a.png`,
|
|
27
|
+
JUL: `${t}static/jul.5a1c4932.png`,
|
|
28
|
+
JUN: `${t}static/jun.62639c2f.png`,
|
|
22
29
|
KUDOS: `${t}static/kudos.b7e2aeb6.png`,
|
|
23
30
|
LEARNING_PLAN: `${t}static/learning-plan.72d64a61.png`,
|
|
24
31
|
LESSON_OVERVIEW_BANNER: `${t}static/lesson-overview-banner.f5404af6.png`,
|
|
32
|
+
MAR: `${t}static/mar.f51bcfa6.png`,
|
|
25
33
|
MASTERED_BADGE: `${t}static/mastered-badge.91d25e92.png`,
|
|
34
|
+
MAY: `${t}static/may.7c542020.png`,
|
|
35
|
+
NOV: `${t}static/nov.058343e7.png`,
|
|
26
36
|
NO_INFO: `${t}static/no-info.f4bfe437.png`,
|
|
37
|
+
OCT: `${t}static/oct.573ee19d.png`,
|
|
27
38
|
OCTO: `${t}static/octo.3020bd93.png`,
|
|
28
39
|
ORANGE_BELT: `${t}static/orange-belt.1fefcc8c.png`,
|
|
29
40
|
PURPLE_BELT: `${t}static/purple-belt.e15611b4.png`,
|
|
@@ -31,6 +42,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
31
42
|
PUZZLE_CARD_HARD: `${t}static/puzzle_card_hard.185a19c4.png`,
|
|
32
43
|
PUZZLE_CARD_MEDIUM: `${t}static/puzzle_card_medium.17daef9c.png`,
|
|
33
44
|
RED_BELT: `${t}static/red-belt.11f841d9.png`,
|
|
45
|
+
SEP: `${t}static/sep.3ccb6468.png`,
|
|
34
46
|
SHARED: `${t}static/shared.3af01b49.png`,
|
|
35
47
|
SHEET_REFERENCE: `${t}static/sheet-reference.9da7a09f.png`,
|
|
36
48
|
SPIRAL_PATTERN: `${t}static/spiral_pattern.9fd3e6e9.png`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","sources":["../../../src/assets/images/images.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst IMAGES = {\n ACHIEVEMENT_BG: `${PREFIX}static/achievement_bg.0d0555ac.png`,\n ASHTA: `${PREFIX}static/ashta.0d3926b2.png`,\n AWESOME: `${PREFIX}static/awesome.8e1cf046.png`,\n BADGE_SUCCESS: `${PREFIX}static/badge_success.2f6c8e65.png`,\n BG_EMPTY_RESOURCES: `${PREFIX}static/bg_empty_resources.63b187fd.png`,\n BLACK_BELT: `${PREFIX}static/black-belt.81b3ebf9.png`,\n BLUE_BELT: `${PREFIX}static/blue-belt.508a1b4b.png`,\n BROWN_BELT: `${PREFIX}static/brown-belt.09bb7e93.png`,\n CHATVA: `${PREFIX}static/chatva.d0c57a95.png`,\n CONGRATS: `${PREFIX}static/congrats.75718de8.png`,\n COOL: `${PREFIX}static/cool.1893941c.png`,\n COSA: `${PREFIX}static/cosa.46c0c49b.png`,\n DEFAULT_CHAPTER: `${PREFIX}static/default-chapter.8ede1160.png`,\n DODA: `${PREFIX}static/doda.3103971c.png`,\n DVI: `${PREFIX}static/dvi.fc7b32a5.png`,\n EKA: `${PREFIX}static/eka.b10a06fa.png`,\n EMPTY_MIX_TESTS: `${PREFIX}static/empty_mix_tests.1d251f07.png`,\n GREAT: `${PREFIX}static/great.2a5dcc34.png`,\n GREEN_BELT: `${PREFIX}static/green-belt.5501296f.png`,\n HEXO: `${PREFIX}static/hexo.eab4b9f5.png`,\n KUDOS: `${PREFIX}static/kudos.b7e2aeb6.png`,\n LEARNING_PLAN: `${PREFIX}static/learning-plan.72d64a61.png`,\n LESSON_OVERVIEW_BANNER: `${PREFIX}static/lesson-overview-banner.f5404af6.png`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.91d25e92.png`,\n NO_INFO: `${PREFIX}static/no-info.f4bfe437.png`,\n OCTO: `${PREFIX}static/octo.3020bd93.png`,\n ORANGE_BELT: `${PREFIX}static/orange-belt.1fefcc8c.png`,\n PURPLE_BELT: `${PREFIX}static/purple-belt.e15611b4.png`,\n PUZZLE_CARD_EASY: `${PREFIX}static/puzzle_card_easy.7d9439b5.png`,\n PUZZLE_CARD_HARD: `${PREFIX}static/puzzle_card_hard.185a19c4.png`,\n PUZZLE_CARD_MEDIUM: `${PREFIX}static/puzzle_card_medium.17daef9c.png`,\n RED_BELT: `${PREFIX}static/red-belt.11f841d9.png`,\n SHARED: `${PREFIX}static/shared.3af01b49.png`,\n SHEET_REFERENCE: `${PREFIX}static/sheet-reference.9da7a09f.png`,\n SPIRAL_PATTERN: `${PREFIX}static/spiral_pattern.9fd3e6e9.png`,\n TETRA: `${PREFIX}static/tetra.354ff2b9.png`,\n WHITE_BELT: `${PREFIX}static/white-belt.ea93103e.png`,\n WOW: `${PREFIX}static/wow.864fbb02.png`,\n YELLOW_BELT: `${PREFIX}static/yellow-belt.0c47b8cc.png`,\n ZODASA: `${PREFIX}static/zodasa.336c3bb0.png`,\n};\n\nexport { IMAGES };\n"],"names":["PREFIX","IMAGES"],"mappings":"AAAA,MAAMA,IAAS,OAAO,kBAAkB,OAAO,kBAAkB,KAG3DC,IAAS;AAAA,EACb,gBAAgB,GAAGD,CAAM;AAAA,EACzB,OAAO,GAAGA,CAAM;AAAA,EAChB,SAAS,GAAGA,CAAM;AAAA,EAClB,eAAe,GAAGA,CAAM;AAAA,EACxB,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,YAAY,GAAGA,CAAM;AAAA,EACrB,WAAW,GAAGA,CAAM;AAAA,EACpB,YAAY,GAAGA,CAAM;AAAA,EACrB,QAAQ,GAAGA,CAAM;AAAA,EACjB,UAAU,GAAGA,CAAM;AAAA,EACnB,MAAM,GAAGA,CAAM;AAAA,EACf,MAAM,GAAGA,CAAM;AAAA,EACf,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,MAAM,GAAGA,CAAM;AAAA,EACf,OAAO,GAAGA,CAAM;AAAA,EAChB,eAAe,GAAGA,CAAM;AAAA,EACxB,wBAAwB,GAAGA,CAAM;AAAA,EACjC,gBAAgB,GAAGA,CAAM;AAAA,EACzB,SAAS,GAAGA,CAAM;AAAA,EAClB,MAAM,GAAGA,CAAM;AAAA,EACf,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,UAAU,GAAGA,CAAM;AAAA,EACnB,QAAQ,GAAGA,CAAM;AAAA,EACjB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,gBAAgB,GAAGA,CAAM;AAAA,EACzB,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,KAAK,GAAGA,CAAM;AAAA,EACd,aAAa,GAAGA,CAAM;AAAA,EACtB,QAAQ,GAAGA,CAAM;AACnB;"}
|
|
1
|
+
{"version":3,"file":"images.js","sources":["../../../src/assets/images/images.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst IMAGES = {\n ACHIEVEMENT_BG: `${PREFIX}static/achievement_bg.0d0555ac.png`,\n APR: `${PREFIX}static/apr.09a50ff7.png`,\n ASHTA: `${PREFIX}static/ashta.0d3926b2.png`,\n AUG: `${PREFIX}static/aug.7179d37e.png`,\n AWESOME: `${PREFIX}static/awesome.8e1cf046.png`,\n BADGE_SUCCESS: `${PREFIX}static/badge_success.2f6c8e65.png`,\n BG_EMPTY_RESOURCES: `${PREFIX}static/bg_empty_resources.63b187fd.png`,\n BLACK_BELT: `${PREFIX}static/black-belt.81b3ebf9.png`,\n BLUE_BELT: `${PREFIX}static/blue-belt.508a1b4b.png`,\n BROWN_BELT: `${PREFIX}static/brown-belt.09bb7e93.png`,\n CHATVA: `${PREFIX}static/chatva.d0c57a95.png`,\n CONGRATS: `${PREFIX}static/congrats.75718de8.png`,\n COOL: `${PREFIX}static/cool.1893941c.png`,\n COSA: `${PREFIX}static/cosa.46c0c49b.png`,\n DEC: `${PREFIX}static/dec.09f7e315.png`,\n DEFAULT_CHAPTER: `${PREFIX}static/default-chapter.8ede1160.png`,\n DODA: `${PREFIX}static/doda.3103971c.png`,\n DVI: `${PREFIX}static/dvi.fc7b32a5.png`,\n EKA: `${PREFIX}static/eka.b10a06fa.png`,\n EMPTY_MIX_TESTS: `${PREFIX}static/empty_mix_tests.1d251f07.png`,\n FEB: `${PREFIX}static/feb.9e72504d.png`,\n GREAT: `${PREFIX}static/great.2a5dcc34.png`,\n GREEN_BELT: `${PREFIX}static/green-belt.5501296f.png`,\n HEXO: `${PREFIX}static/hexo.eab4b9f5.png`,\n JAN: `${PREFIX}static/jan.da91944a.png`,\n JUL: `${PREFIX}static/jul.5a1c4932.png`,\n JUN: `${PREFIX}static/jun.62639c2f.png`,\n KUDOS: `${PREFIX}static/kudos.b7e2aeb6.png`,\n LEARNING_PLAN: `${PREFIX}static/learning-plan.72d64a61.png`,\n LESSON_OVERVIEW_BANNER: `${PREFIX}static/lesson-overview-banner.f5404af6.png`,\n MAR: `${PREFIX}static/mar.f51bcfa6.png`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.91d25e92.png`,\n MAY: `${PREFIX}static/may.7c542020.png`,\n NOV: `${PREFIX}static/nov.058343e7.png`,\n NO_INFO: `${PREFIX}static/no-info.f4bfe437.png`,\n OCT: `${PREFIX}static/oct.573ee19d.png`,\n OCTO: `${PREFIX}static/octo.3020bd93.png`,\n ORANGE_BELT: `${PREFIX}static/orange-belt.1fefcc8c.png`,\n PURPLE_BELT: `${PREFIX}static/purple-belt.e15611b4.png`,\n PUZZLE_CARD_EASY: `${PREFIX}static/puzzle_card_easy.7d9439b5.png`,\n PUZZLE_CARD_HARD: `${PREFIX}static/puzzle_card_hard.185a19c4.png`,\n PUZZLE_CARD_MEDIUM: `${PREFIX}static/puzzle_card_medium.17daef9c.png`,\n RED_BELT: `${PREFIX}static/red-belt.11f841d9.png`,\n SEP: `${PREFIX}static/sep.3ccb6468.png`,\n SHARED: `${PREFIX}static/shared.3af01b49.png`,\n SHEET_REFERENCE: `${PREFIX}static/sheet-reference.9da7a09f.png`,\n SPIRAL_PATTERN: `${PREFIX}static/spiral_pattern.9fd3e6e9.png`,\n TETRA: `${PREFIX}static/tetra.354ff2b9.png`,\n WHITE_BELT: `${PREFIX}static/white-belt.ea93103e.png`,\n WOW: `${PREFIX}static/wow.864fbb02.png`,\n YELLOW_BELT: `${PREFIX}static/yellow-belt.0c47b8cc.png`,\n ZODASA: `${PREFIX}static/zodasa.336c3bb0.png`,\n};\n\nexport { IMAGES };\n"],"names":["PREFIX","IMAGES"],"mappings":"AAAA,MAAMA,IAAS,OAAO,kBAAkB,OAAO,kBAAkB,KAG3DC,IAAS;AAAA,EACb,gBAAgB,GAAGD,CAAM;AAAA,EACzB,KAAK,GAAGA,CAAM;AAAA,EACd,OAAO,GAAGA,CAAM;AAAA,EAChB,KAAK,GAAGA,CAAM;AAAA,EACd,SAAS,GAAGA,CAAM;AAAA,EAClB,eAAe,GAAGA,CAAM;AAAA,EACxB,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,YAAY,GAAGA,CAAM;AAAA,EACrB,WAAW,GAAGA,CAAM;AAAA,EACpB,YAAY,GAAGA,CAAM;AAAA,EACrB,QAAQ,GAAGA,CAAM;AAAA,EACjB,UAAU,GAAGA,CAAM;AAAA,EACnB,MAAM,GAAGA,CAAM;AAAA,EACf,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,KAAK,GAAGA,CAAM;AAAA,EACd,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,OAAO,GAAGA,CAAM;AAAA,EAChB,eAAe,GAAGA,CAAM;AAAA,EACxB,wBAAwB,GAAGA,CAAM;AAAA,EACjC,KAAK,GAAGA,CAAM;AAAA,EACd,gBAAgB,GAAGA,CAAM;AAAA,EACzB,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,SAAS,GAAGA,CAAM;AAAA,EAClB,KAAK,GAAGA,CAAM;AAAA,EACd,MAAM,GAAGA,CAAM;AAAA,EACf,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,UAAU,GAAGA,CAAM;AAAA,EACnB,KAAK,GAAGA,CAAM;AAAA,EACd,QAAQ,GAAGA,CAAM;AAAA,EACjB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,gBAAgB,GAAGA,CAAM;AAAA,EACzB,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,KAAK,GAAGA,CAAM;AAAA,EACd,aAAa,GAAGA,CAAM;AAAA,EACtB,QAAQ,GAAGA,CAAM;AACnB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social-login-methods.js","sources":["../../../../../src/features/auth/login/social-login-methods/social-login-methods.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"social-login-methods.js","sources":["../../../../../src/features/auth/login/social-login-methods/social-login-methods.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport AppleIcon from '../../../../assets/line-icons/icons/apple-icon';\nimport GoogleIcon from '../../../../assets/line-icons/icons/google-icon';\nimport Button from '../../../ui/buttons/button/button';\nimport * as Styled from './social-login-methods-styled';\nimport type { ISocialLoginMethodsProps } from './social-login-methods-types';\n\nconst SocialLoginMethods: FC<ISocialLoginMethodsProps> = ({\n onGoogleLogin,\n onAppleLogin,\n loadingProvider,\n}) => {\n const isLoadingGoogle = loadingProvider === 'google';\n const isLoadingApple = loadingProvider === 'apple';\n\n return (\n <Styled.Wrapper\n $flexGapX={1}\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $width=\"100%\"\n >\n <Button\n renderAs=\"secondary-dark\"\n Icon={GoogleIcon}\n label=\"\"\n analyticsLabel=\"google_login\"\n onClick={onGoogleLogin}\n size=\"small\"\n width=\"100%\"\n busy={isLoadingGoogle}\n disabled={isLoadingGoogle}\n />\n <Button\n renderAs=\"secondary-dark\"\n size=\"small\"\n Icon={AppleIcon}\n width=\"100%\"\n label=\"\"\n analyticsLabel=\"apple_login\"\n onClick={onAppleLogin}\n busy={isLoadingApple}\n disabled={isLoadingApple}\n />\n </Styled.Wrapper>\n );\n};\n\nexport default memo(SocialLoginMethods);\n"],"names":["SocialLoginMethods","onGoogleLogin","onAppleLogin","loadingProvider","isLoadingGoogle","isLoadingApple","jsxs","Styled.Wrapper","jsx","Button","GoogleIcon","AppleIcon","socialLoginMethods","memo"],"mappings":";;;;;;AAQA,MAAMA,IAAmD,CAAC;AAAA,EACxD,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,iBAAAC;AACF,MAAM;AACJ,QAAMC,IAAkBD,MAAoB,UACtCE,IAAiBF,MAAoB;AAGzC,SAAA,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,QAAO;AAAA,MAEP,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAMC;AAAA,YACN,OAAM;AAAA,YACN,gBAAe;AAAA,YACf,SAAST;AAAA,YACT,MAAK;AAAA,YACL,OAAM;AAAA,YACN,MAAMG;AAAA,YACN,UAAUA;AAAA,UAAA;AAAA,QACZ;AAAA,QACA,gBAAAI;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAK;AAAA,YACL,MAAME;AAAA,YACN,OAAM;AAAA,YACN,OAAM;AAAA,YACN,gBAAe;AAAA,YACf,SAAST;AAAA,YACT,MAAMG;AAAA,YACN,UAAUA;AAAA,UAAA;AAAA,QACZ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeO,IAAAC,EAAKb,CAAkB;"}
|
package/dist/features/auth/signup/custom-input-field/country-selector/country-code-button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"country-code-button.js","sources":["../../../../../../src/features/auth/signup/custom-input-field/country-selector/country-code-button.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"country-code-button.js","sources":["../../../../../../src/features/auth/signup/custom-input-field/country-selector/country-code-button.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport ChevronDownIcon from '../../../../../assets/line-icons/icons/chevron-down';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './country-selector-styled';\n\nconst CountryCodeButton: FC<{ value?: string; menuVisible?: boolean }> = ({\n value,\n menuVisible,\n}) => {\n return (\n <Styled.CountryCodeButton\n $background=\"BLACK_5\"\n $borderRadius={4}\n $gutterX={0.5}\n $gap={5}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $borderColor={menuVisible ? 'WHITE_T_38' : 'BLACK_5'}\n $flexDirection=\"row\"\n $flexGap={2}\n >\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n +{value}\n </Text>\n <FlexView $width={20}>\n <ChevronDownIcon width={20} height={20} color=\"WHITE\" />\n </FlexView>\n </Styled.CountryCodeButton>\n );\n};\n\nexport default memo(CountryCodeButton);\n"],"names":["CountryCodeButton","value","menuVisible","jsxs","Styled.CountryCodeButton","Text","jsx","FlexView","ChevronDownIcon","CountryCodeButton$1","memo"],"mappings":";;;;;;AAOA,MAAMA,IAAmE,CAAC;AAAA,EACxE,OAAAC;AAAA,EACA,aAAAC;AACF,MAEI,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,aAAY;AAAA,IACZ,eAAe;AAAA,IACf,UAAU;AAAA,IACV,MAAM;AAAA,IACN,aAAY;AAAA,IACZ,iBAAgB;AAAA,IAChB,cAAcF,IAAc,eAAe;AAAA,IAC3C,gBAAe;AAAA,IACf,UAAU;AAAA,IAEV,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAK,EAAA,WAAU,OAAM,QAAO,SAAQ,UAAA;AAAA,QAAA;AAAA,QACjCJ;AAAA,MAAA,GACJ;AAAA,MACC,gBAAAK,EAAAC,GAAA,EAAS,QAAQ,IAChB,UAAC,gBAAAD,EAAAE,GAAA,EAAgB,OAAO,IAAI,QAAQ,IAAI,OAAM,QAAQ,CAAA,GACxD;AAAA,IAAA;AAAA,EAAA;AAAA,GAKSC,IAAAC,EAAKV,CAAiB;"}
|
package/dist/features/auth/signup/custom-input-field/country-selector/country-list-menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"country-list-menu.js","sources":["../../../../../../src/features/auth/signup/custom-input-field/country-selector/country-list-menu.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"country-list-menu.js","sources":["../../../../../../src/features/auth/signup/custom-input-field/country-selector/country-list-menu.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback, memo, type FC } from 'react';\n\nimport { COUNTRY_CODE_MAP } from '../../../../../constants/country';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './country-selector-styled';\nimport type { ICountryListMenuProps } from './country-selector-types';\n\nconst CountryListMenu: FC<ICountryListMenuProps> = ({ selectedCountry, onChange, menuVisible }) => {\n const [searchTerm, setSearchTerm] = useState('');\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n const searchTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<(HTMLDivElement | null)[]>([]);\n\n useEffect(() => {\n if (highlightedIndex >= 0) {\n itemRefs.current[highlightedIndex]?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }\n }, [highlightedIndex]);\n\n useEffect(() => {\n if (searchTerm) {\n const index = COUNTRY_CODE_MAP.findIndex(\n c =>\n c.value.toLowerCase().includes(searchTerm.toLowerCase()) || c.code.startsWith(searchTerm),\n );\n\n setHighlightedIndex(index);\n if (searchTimeoutRef.current) clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(() => {\n setSearchTerm('');\n }, 1000);\n }\n\n return () => {\n if (searchTimeoutRef.current) clearTimeout(searchTimeoutRef.current);\n };\n }, [searchTerm]);\n\n const handleKeyDown = useCallback(\n (event: globalThis.KeyboardEvent) => {\n const { key } = event;\n\n event.preventDefault();\n event.stopPropagation();\n if (key.length === 1 && /[a-zA-Z0-9\\s]/.test(key)) {\n setSearchTerm(prev => prev + key.toLowerCase());\n\n return;\n }\n\n if (key === 'ArrowDown') {\n setHighlightedIndex(prev => (prev < COUNTRY_CODE_MAP.length - 1 ? prev + 1 : 0));\n } else if (key === 'ArrowUp') {\n setHighlightedIndex(prev => (prev > 0 ? prev - 1 : COUNTRY_CODE_MAP.length - 1));\n } else if (key === 'Enter' && highlightedIndex >= 0) {\n const selectedOption = COUNTRY_CODE_MAP[highlightedIndex];\n\n if (selectedOption) {\n onChange({ code: selectedOption.code, id: selectedOption.id });\n }\n menuRef.current?.click();\n } else if (key === 'Escape') {\n setSearchTerm('');\n setHighlightedIndex(-1);\n }\n },\n [highlightedIndex, onChange],\n );\n\n useEffect(() => {\n const menuElement = menuRef.current;\n\n if (!menuElement || !menuVisible) return;\n\n menuElement.focus();\n menuElement.addEventListener('keydown', handleKeyDown);\n\n return () => {\n menuElement.removeEventListener('keydown', handleKeyDown);\n };\n }, [menuVisible, handleKeyDown, selectedCountry.id]);\n\n return (\n <Styled.MenuWrapper\n ref={menuRef}\n tabIndex={0}\n $widthX={10}\n $gapX={0.5}\n $background=\"BLACK_2\"\n $borderColor=\"BLACK_5\"\n >\n {COUNTRY_CODE_MAP.map((option, index) => {\n const { id, value, icon, code } = option;\n\n return (\n <Styled.MenuItem\n key={id}\n ref={el => {\n itemRefs.current[index] = el;\n }}\n data-country-id={id}\n onClick={() => onChange({ code, id })}\n $gutterX={0.5}\n $gapX={0.75}\n $width=\"100%\"\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGap={8}\n $isSelected={selectedCountry.id === id}\n $isHighlighted={highlightedIndex === index}\n >\n <Styled.FlagIcon src={icon} />\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n {value}\n </Text>\n </Styled.MenuItem>\n );\n })}\n\n <Styled.Instructions $gutterX={0.5}>\n <Separator heightX={0.5} />\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Type to search • ↑↓ to navigate • Enter to select • Esc to clear\n </Text>\n </Styled.Instructions>\n </Styled.MenuWrapper>\n );\n};\n\nexport default memo(CountryListMenu);\n"],"names":["CountryListMenu","selectedCountry","onChange","menuVisible","searchTerm","setSearchTerm","useState","highlightedIndex","setHighlightedIndex","searchTimeoutRef","useRef","menuRef","itemRefs","useEffect","_a","index","COUNTRY_CODE_MAP","c","handleKeyDown","useCallback","event","key","prev","selectedOption","menuElement","jsxs","Styled.MenuWrapper","option","id","value","icon","code","Styled.MenuItem","el","jsx","Styled.FlagIcon","Text","Styled.Instructions","Separator","CountryListMenu$1","memo"],"mappings":";;;;;;AAQA,MAAMA,IAA6C,CAAC,EAAE,iBAAAC,GAAiB,UAAAC,GAAU,aAAAC,QAAkB;AACjG,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAE,GACzC,CAACC,GAAkBC,CAAmB,IAAIF,EAAS,EAAE,GACrDG,IAAmBC,EAA8B,IAAI,GACrDC,IAAUD,EAAuB,IAAI,GACrCE,IAAWF,EAAkC,CAAA,CAAE;AAErD,EAAAG,EAAU,MAAM;;AACd,IAAIN,KAAoB,OACbO,IAAAF,EAAA,QAAQL,CAAgB,MAAxB,QAAAO,EAA2B,eAAe;AAAA,MACjD,UAAU;AAAA,MACV,OAAO;AAAA,IAAA;AAAA,EAEX,GACC,CAACP,CAAgB,CAAC,GAErBM,EAAU,MAAM;AACd,QAAIT,GAAY;AACd,YAAMW,IAAQC,EAAiB;AAAA,QAC7B,CACEC,MAAAA,EAAE,MAAM,YAAc,EAAA,SAASb,EAAW,YAAa,CAAA,KAAKa,EAAE,KAAK,WAAWb,CAAU;AAAA,MAAA;AAG5F,MAAAI,EAAoBO,CAAK,GACrBN,EAAiB,WAAsB,aAAAA,EAAiB,OAAO,GAClDA,EAAA,UAAU,WAAW,MAAM;AAC1C,QAAAJ,EAAc,EAAE;AAAA,SACf,GAAI;AAAA,IACT;AAEA,WAAO,MAAM;AACX,MAAII,EAAiB,WAAsB,aAAAA,EAAiB,OAAO;AAAA,IAAA;AAAA,EACrE,GACC,CAACL,CAAU,CAAC;AAEf,QAAMc,IAAgBC;AAAA,IACpB,CAACC,MAAoC;;AAC7B,YAAA,EAAE,KAAAC,EAAQ,IAAAD;AAIhB,UAFAA,EAAM,eAAe,GACrBA,EAAM,gBAAgB,GAClBC,EAAI,WAAW,KAAK,gBAAgB,KAAKA,CAAG,GAAG;AACjD,QAAAhB,EAAc,CAAQiB,MAAAA,IAAOD,EAAI,YAAa,CAAA;AAE9C;AAAA,MACF;AAEA,UAAIA,MAAQ;AACV,QAAAb,EAAoB,OAASc,IAAON,EAAiB,SAAS,IAAIM,IAAO,IAAI,CAAE;AAAA,eACtED,MAAQ;AACjB,QAAAb,EAAoB,OAASc,IAAO,IAAIA,IAAO,IAAIN,EAAiB,SAAS,CAAE;AAAA,eACtEK,MAAQ,WAAWd,KAAoB,GAAG;AAC7C,cAAAgB,IAAiBP,EAAiBT,CAAgB;AAExD,QAAIgB,KACFrB,EAAS,EAAE,MAAMqB,EAAe,MAAM,IAAIA,EAAe,IAAI,IAE/DT,IAAAH,EAAQ,YAAR,QAAAG,EAAiB;AAAA,MAAM,MACzB,CAAWO,MAAQ,aACjBhB,EAAc,EAAE,GAChBG,EAAoB,EAAE;AAAA,IAE1B;AAAA,IACA,CAACD,GAAkBL,CAAQ;AAAA,EAAA;AAG7B,SAAAW,EAAU,MAAM;AACd,UAAMW,IAAcb,EAAQ;AAExB,QAAA,GAACa,KAAe,CAACrB;AAErB,aAAAqB,EAAY,MAAM,GACNA,EAAA,iBAAiB,WAAWN,CAAa,GAE9C,MAAM;AACC,QAAAM,EAAA,oBAAoB,WAAWN,CAAa;AAAA,MAAA;AAAA,KAEzD,CAACf,GAAae,GAAejB,EAAgB,EAAE,CAAC,GAGjD,gBAAAwB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKf;AAAA,MACL,UAAU;AAAA,MACV,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAY;AAAA,MACZ,cAAa;AAAA,MAEZ,UAAA;AAAA,QAAiBK,EAAA,IAAI,CAACW,GAAQZ,MAAU;AACvC,gBAAM,EAAE,IAAAa,GAAI,OAAAC,GAAO,MAAAC,GAAM,MAAAC,MAASJ;AAGhC,iBAAA,gBAAAF;AAAA,YAACO;AAAAA,YAAA;AAAA,cAEC,KAAK,CAAMC,MAAA;AACA,gBAAArB,EAAA,QAAQG,CAAK,IAAIkB;AAAA,cAC5B;AAAA,cACA,mBAAiBL;AAAA,cACjB,SAAS,MAAM1B,EAAS,EAAE,MAAA6B,GAAM,IAAAH,GAAI;AAAA,cACpC,UAAU;AAAA,cACV,OAAO;AAAA,cACP,QAAO;AAAA,cACP,gBAAe;AAAA,cACf,aAAY;AAAA,cACZ,UAAU;AAAA,cACV,aAAa3B,EAAgB,OAAO2B;AAAA,cACpC,gBAAgBrB,MAAqBQ;AAAA,cAErC,UAAA;AAAA,gBAAA,gBAAAmB,EAACC,GAAA,EAAgB,KAAKL,EAAM,CAAA;AAAA,kCAC3BM,GAAK,EAAA,WAAU,OAAM,QAAO,SAC1B,UACHP,GAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAlBKD;AAAA,UAAA;AAAA,QAmBP,CAEH;AAAA,QAEA,gBAAAH,EAAAY,GAAA,EAAoB,UAAU,KAC7B,UAAA;AAAA,UAAC,gBAAAH,EAAAI,GAAA,EAAU,SAAS,IAAK,CAAA;AAAA,4BACxBF,GAAK,EAAA,WAAU,OAAM,QAAO,SAAQ,UAErC,oEAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeG,IAAAC,EAAKxC,CAAe;"}
|
package/dist/features/auth/signup/custom-input-field/date-picker-input/date-picker-input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker-input.js","sources":["../../../../../../src/features/auth/signup/custom-input-field/date-picker-input/date-picker-input.tsx"],"sourcesContent":["import { subYears } from 'date-fns';\nimport { type FC, memo, useCallback } from 'react';\nimport
|
|
1
|
+
{"version":3,"file":"date-picker-input.js","sources":["../../../../../../src/features/auth/signup/custom-input-field/date-picker-input/date-picker-input.tsx"],"sourcesContent":["import { subYears } from 'date-fns';\nimport { type FC, memo, useCallback } from 'react';\nimport DatePicker, { type ReactDatePickerCustomHeaderProps } from 'react-datepicker';\nimport { useTheme } from 'styled-components';\n\nimport LeftIcon from '../../../../../assets/line-icons/icons/left';\nimport RightIcon from '../../../../../assets/line-icons/icons/right';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport InputWrapper from '../input-wrapper/input-wrapper';\nimport * as Styled from './date-picker-input-styled';\nimport type { IDatePickerInputProps } from './date-picker-input-types';\n\nconst DatePickerInput: FC<IDatePickerInputProps> = ({ value, onChange, error }) => {\n const theme = useTheme();\n\n const handleChangeDate = useCallback((date: Date | null) => onChange(date), [onChange]);\n\n const renderHeader = useCallback(\n (props: ReactDatePickerCustomHeaderProps) => {\n const { date, decreaseYear, increaseYear, prevYearButtonDisabled, nextYearButtonDisabled } =\n props;\n\n return (\n <FlexView $alignItems=\"center\" $flexDirection=\"row\" $justifyContent=\"space-between\">\n <Clickable onClick={decreaseYear} label=\"increase-year\" disabled={prevYearButtonDisabled}>\n <LeftIcon color={theme.colors[prevYearButtonDisabled ? 'WHITE_T_10' : 'WHITE']} />\n </Clickable>\n <Text $renderAs=\"ub2-bold\" $color=\"WHITE\">\n {date.getFullYear()}\n </Text>\n <Clickable onClick={increaseYear} label=\"decrease-year\" disabled={nextYearButtonDisabled}>\n <RightIcon color={theme.colors[nextYearButtonDisabled ? 'WHITE_T_10' : 'WHITE']} />\n </Clickable>\n </FlexView>\n );\n },\n\n [theme.colors],\n );\n\n return (\n <InputWrapper helperText={error}>\n <Styled.StyledDatePickerWrapper>\n <DatePicker\n selected={value}\n showMonthYearPicker\n showPopperArrow={false}\n dateFormat=\"MM/yyyy\"\n placeholderText=\"MM / YYYY\"\n onChange={handleChangeDate}\n minDate={subYears(new Date(), 22)}\n maxDate={subYears(new Date(), 2)}\n renderCustomHeader={renderHeader}\n />\n </Styled.StyledDatePickerWrapper>\n </InputWrapper>\n );\n};\n\nexport default memo(DatePickerInput);\n"],"names":["DatePickerInput","value","onChange","error","theme","useTheme","handleChangeDate","useCallback","date","renderHeader","props","decreaseYear","increaseYear","prevYearButtonDisabled","nextYearButtonDisabled","FlexView","jsx","Clickable","LeftIcon","Text","RightIcon","InputWrapper","Styled.StyledDatePickerWrapper","DatePicker","subYears","datePickerInput","memo"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,IAA6C,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,OAAAC,QAAY;AACjF,QAAMC,IAAQC,KAERC,IAAmBC,EAAY,CAACC,MAAsBN,EAASM,CAAI,GAAG,CAACN,CAAQ,CAAC,GAEhFO,IAAeF;AAAA,IACnB,CAACG,MAA4C;AAC3C,YAAM,EAAE,MAAAF,GAAM,cAAAG,GAAc,cAAAC,GAAc,wBAAAC,GAAwB,wBAAAC,EAChE,IAAAJ;AAEF,+BACGK,GAAS,EAAA,aAAY,UAAS,gBAAe,OAAM,iBAAgB,iBAClE,UAAA;AAAA,QAAA,gBAAAC,EAACC,KAAU,SAASN,GAAc,OAAM,iBAAgB,UAAUE,GAChE,UAAA,gBAAAG,EAACE,GAAS,EAAA,OAAOd,EAAM,OAAOS,IAAyB,eAAe,OAAO,EAAG,CAAA,GAClF;AAAA,QACA,gBAAAG,EAACG,KAAK,WAAU,YAAW,QAAO,SAC/B,UAAAX,EAAK,eACR;AAAA,0BACCS,GAAU,EAAA,SAASL,GAAc,OAAM,iBAAgB,UAAUE,GAChE,UAAC,gBAAAE,EAAAI,GAAA,EAAU,OAAOhB,EAAM,OAAOU,IAAyB,eAAe,OAAO,EAAG,CAAA,GACnF;AAAA,MACF,EAAA,CAAA;AAAA,IAEJ;AAAA,IAEA,CAACV,EAAM,MAAM;AAAA,EAAA;AAGf,2BACGiB,GAAa,EAAA,YAAYlB,GACxB,UAAC,gBAAAa,EAAAM,GAAA,EACC,UAAA,gBAAAN;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,UAAUtB;AAAA,MACV,qBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,YAAW;AAAA,MACX,iBAAgB;AAAA,MAChB,UAAUK;AAAA,MACV,SAASkB,EAAa,oBAAA,KAAA,GAAQ,EAAE;AAAA,MAChC,SAASA,EAAa,oBAAA,KAAA,GAAQ,CAAC;AAAA,MAC/B,oBAAoBf;AAAA,IAAA;AAAA,EAAA,EAExB,CAAA,EACF,CAAA;AAEJ,GAEegB,IAAAC,EAAK1B,CAAe;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"av-preview.js","sources":["../../../../src/features/av/av-preview/av-preview.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"av-preview.js","sources":["../../../../src/features/av/av-preview/av-preview.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useRef, type FC } from 'react';\n\nimport SelectInput from '../../ui/inputs/select-input/select-input';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport * as Styled from './av-preview-styled';\nimport type { ILogger } from './av-preview-types';\nimport useGetTroubleshootingInfo from './hooks/use-get-troubleshooting-steps';\nimport useMediaDevices from './hooks/use-media-devices';\n\ninterface IAVPreviewProps {\n children?: React.ReactNode;\n onDeviceUpdate: (selectedDevices: {\n audio?: string;\n video?: string;\n audioOutput?: string;\n }) => void;\n logger: ILogger;\n}\n\nconst AVPreview: FC<IAVPreviewProps> = memo(({ children, onDeviceUpdate, logger }) => {\n const videoRef = useRef<HTMLVideoElement>(null);\n const {\n devices,\n selectedAudioDevice,\n selectedVideoDevice,\n selectedAudioOutputDevice,\n changeDevice,\n changeAudioOutputDevice,\n audioDeviceError,\n videoDeviceError,\n } = useMediaDevices(videoRef, logger);\n const hasPermissionProblem =\n videoDeviceError === 'permissionDeniedBySystem' ||\n videoDeviceError === 'permissionDenied' ||\n audioDeviceError === 'permissionDeniedBySystem' ||\n audioDeviceError === 'permissionDenied';\n const troubleshootingInfo = useGetTroubleshootingInfo(audioDeviceError, videoDeviceError);\n\n const handleAudioDeviceChange = useCallback(\n (deviceId: string) => changeDevice(deviceId, 'audio'),\n [changeDevice],\n );\n\n const handleVideoDeviceChange = useCallback(\n (deviceId: string) => changeDevice(deviceId, 'video'),\n [changeDevice],\n );\n\n const handleAudioOutputDeviceChange = useCallback(\n (deviceId: string) => {\n changeAudioOutputDevice(deviceId);\n },\n [changeAudioOutputDevice],\n );\n\n // Call onDeviceUpdate when devices or selected devices change\n useEffect(() => {\n onDeviceUpdate({\n audio: selectedAudioDevice,\n video: selectedVideoDevice,\n audioOutput: selectedAudioOutputDevice,\n });\n }, [selectedAudioDevice, selectedVideoDevice, selectedAudioOutputDevice, onDeviceUpdate]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={2}>\n <FlexView $widthX={26} $heightX={19.5} $background=\"BLACK_1\">\n <video\n ref={videoRef}\n id=\"localVideo\"\n autoPlay\n playsInline\n controls={false}\n muted={true}\n disablePictureInPicture\n />\n </FlexView>\n <FlexView $position=\"relative\" $widthX={22} $flexGapX={1} $justifyContent=\"space-between\">\n <FlexView $flexGapX={1}>\n {!hasPermissionProblem && (\n <>\n <SelectInput\n label=\"Camera\"\n renderAs=\"primary\"\n shape=\"borderLess\"\n options={devices.video}\n value={selectedVideoDevice}\n onChange={handleVideoDeviceChange}\n />\n <SelectInput\n label=\"Microphone\"\n renderAs=\"primary\"\n shape=\"borderLess\"\n options={devices.audio}\n value={selectedAudioDevice}\n onChange={handleAudioDeviceChange}\n />\n <SelectInput\n label=\"Speaker\"\n renderAs=\"primary\"\n shape=\"borderLess\"\n options={devices.audioOutput}\n value={selectedAudioOutputDevice}\n onChange={handleAudioOutputDeviceChange}\n />\n <div>{children}</div>\n </>\n )}\n </FlexView>\n {troubleshootingInfo && (\n <Styled.AVErrorSOPWrapper\n $background=\"ORANGE_2\"\n $gutterX={1}\n $gapX={1}\n $width={hasPermissionProblem ? '100%' : '272px'}\n >\n <Text $renderAs=\"ab1-bold\" $marginBottomX={1}>\n {troubleshootingInfo.heading}\n </Text>\n <Styled.AVErrorStepList>\n {troubleshootingInfo.steps.map((step, index) => (\n <li key={index}>\n <Text $renderAs=\"ub1\">{step}</Text>\n </li>\n ))}\n </Styled.AVErrorStepList>\n </Styled.AVErrorSOPWrapper>\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default AVPreview;\n"],"names":["AVPreview","memo","children","onDeviceUpdate","logger","videoRef","useRef","devices","selectedAudioDevice","selectedVideoDevice","selectedAudioOutputDevice","changeDevice","changeAudioOutputDevice","audioDeviceError","videoDeviceError","useMediaDevices","hasPermissionProblem","troubleshootingInfo","useGetTroubleshootingInfo","handleAudioDeviceChange","useCallback","deviceId","handleVideoDeviceChange","handleAudioOutputDeviceChange","useEffect","jsxs","FlexView","jsx","Fragment","SelectInput","Styled.AVErrorSOPWrapper","Text","Styled.AVErrorStepList","step","index","AVPreview$1"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-media-devices.js","sources":["../../../../../src/features/av/av-preview/hooks/use-media-devices.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport useCancellablePromise from '../../../hooks/use-cancellable-promise';\nimport type {\n IDevicesMap,\n ILogger,\n TDeviceError,\n TDeviceStatus,\n TMediaKind,\n} from '../av-preview-types';\nimport { getConnectedDevices, getTrack, openMediaDevices, removeTracksFromStream } from '../helper';\n\ninterface IChangeDevice {\n (deviceId: string | undefined, kind: TMediaKind): void;\n}\n\ninterface IUseMediaDevices {\n (\n videoElRef: RefObject<HTMLVideoElement | null>,\n logger: ILogger,\n ): {\n audioDeviceStatus: TDeviceStatus;\n audioDeviceError?: TDeviceError;\n videoDeviceStatus: TDeviceStatus;\n videoDeviceError?: TDeviceError;\n devices: IDevicesMap;\n selectedAudioDevice?: string;\n selectedVideoDevice?: string;\n selectedAudioOutputDevice?: string;\n changeDevice: IChangeDevice;\n changeAudioOutputDevice: (deviceId: string) => void;\n };\n}\n\nconst useMediaDevices: IUseMediaDevices = (videoElRef, logger) => {\n const [audioDeviceStatus, setAudioDeviceStatus] = useState<TDeviceStatus>('PROCESSING');\n const [videoDeviceStatus, setVideoDeviceStatus] = useState<TDeviceStatus>('PROCESSING');\n const [audioDeviceError, setAudioDeviceError] = useState<TDeviceError>();\n const [videoDeviceError, setVideoDeviceError] = useState<TDeviceError>();\n const [selectedAudioOutputDevice, setSelectedAudioOutputDevice] = useState<string>();\n\n const avStreamRef = useRef<MediaStream>(undefined);\n const [devices, setDevices] = useState<IDevicesMap>({\n audio: [],\n video: [],\n audioOutput: [],\n });\n const [selectedAudioDevice, setAudioDevice] = useState<string>();\n const [selectedVideoDevice, setVideoDevice] = useState<string>();\n const cancellablePromise = useCancellablePromise();\n\n const changeDevice = useCallback<IChangeDevice>(\n async (deviceId, deviceKind) => {\n if (avStreamRef.current) {\n removeTracksFromStream(avStreamRef.current, deviceKind);\n }\n\n const constraints: MediaStreamConstraints =\n deviceKind === 'audio'\n ? { audio: deviceId ? { deviceId } : true }\n : { video: deviceId ? { deviceId } : true };\n\n if (deviceKind === 'audio') {\n setAudioDevice(deviceId);\n setAudioDeviceStatus('PROCESSING');\n setAudioDeviceError(undefined);\n } else if (deviceKind === 'video') {\n setVideoDevice(deviceId);\n setVideoDeviceStatus('PROCESSING');\n setVideoDeviceError(undefined);\n }\n\n try {\n const stream = await cancellablePromise(openMediaDevices(constraints, logger));\n const track = getTrack(stream, deviceKind);\n\n if (track) {\n if (avStreamRef.current) {\n avStreamRef.current?.addTrack(track);\n } else {\n avStreamRef.current = stream;\n }\n\n track.addEventListener('ended', () => {\n if (deviceKind === 'audio') {\n changeDevice(undefined, 'audio');\n } else if (deviceKind === 'video') {\n changeDevice(undefined, 'video');\n }\n });\n\n if (deviceKind === 'audio') {\n setAudioDevice(track.getSettings().deviceId);\n setAudioDeviceStatus('READY');\n } else if (deviceKind === 'video') {\n setVideoDevice(track.getSettings().deviceId);\n setVideoDeviceStatus('READY');\n }\n }\n } catch (error) {\n const errorMessage: TDeviceError =\n error instanceof Error ? (error.message as TDeviceError) : 'other';\n\n if (deviceKind === 'audio') {\n setAudioDeviceStatus('ERROR');\n setAudioDeviceError(errorMessage);\n } else if (deviceKind === 'video') {\n setVideoDeviceStatus('ERROR');\n setVideoDeviceError(errorMessage);\n }\n }\n },\n [cancellablePromise, logger],\n );\n\n const changeAudioOutputDevice = useCallback(\n (deviceId: string) => {\n setSelectedAudioOutputDevice(deviceId);\n const videoEl = videoElRef.current;\n\n if (videoEl && 'setSinkId' in videoEl) {\n videoEl.setSinkId(deviceId).catch(error => {\n logger('av_preview_set_audio_output_device_error', {\n deviceId,\n error_name: error?.name,\n error_message: error?.message,\n });\n });\n }\n },\n [videoElRef, logger],\n );\n\n useEffect(() => {\n let permissionCleanup: (() => void) | undefined;\n const asyncEffect = async () => {\n try {\n const stream = await cancellablePromise(\n openMediaDevices({ video: true, audio: true }, logger),\n );\n\n avStreamRef.current = stream;\n setAudioDeviceStatus('READY');\n setVideoDeviceStatus('READY');\n const audioTrack = getTrack(stream, 'audio');\n const videoTrack = getTrack(stream, 'video');\n\n if (audioTrack) {\n audioTrack.addEventListener('ended', () => {\n const audioDeviceId = audioTrack.getSettings().deviceId;\n\n if (audioDeviceId) {\n changeDevice(audioDeviceId, 'audio');\n }\n });\n setAudioDevice(audioTrack.getSettings().deviceId);\n }\n\n if (videoTrack) {\n videoTrack.addEventListener('ended', () => {\n const videoDeviceId = videoTrack.getSettings().deviceId;\n\n if (videoDeviceId) {\n changeDevice(videoDeviceId, 'video');\n }\n });\n setVideoDevice(videoTrack.getSettings().deviceId);\n }\n\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n } catch (error) {\n const errorMessage: TDeviceError =\n error instanceof Error ? (error.message as TDeviceError) : 'other';\n\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n // Permission denied for\n if (connectedDevices.audio.length + connectedDevices.video.length === 0) {\n setAudioDeviceStatus('ERROR');\n setVideoDeviceStatus('ERROR');\n setAudioDeviceError(errorMessage);\n setVideoDeviceError(errorMessage);\n } else if (connectedDevices.video.length === 0) {\n setVideoDeviceStatus('ERROR');\n setVideoDeviceError(errorMessage);\n } else if (connectedDevices.audio.length === 0) {\n setAudioDeviceStatus('ERROR');\n setAudioDeviceError(errorMessage);\n }\n\n if (connectedDevices.audio.length > 0) {\n changeDevice(undefined, 'audio');\n }\n\n if (connectedDevices.video.length > 0) {\n changeDevice(undefined, 'video');\n }\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n }\n\n try {\n const cameraPermission = await navigator.permissions.query({\n name: 'camera' as PermissionName,\n });\n const microphonePermission = await navigator.permissions.query({\n name: 'microphone' as PermissionName,\n });\n const handleCameraPermissionChange = async () => {\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n\n if (cameraPermission.state === 'granted') {\n changeDevice(undefined, 'video'); // Reset video device on permission change\n }\n };\n const handleMicrophonePermissionChange = async () => {\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n\n if (microphonePermission.state === 'granted') {\n changeDevice(undefined, 'audio'); // Reset audio device on permission change\n }\n };\n\n cameraPermission.addEventListener('change', handleCameraPermissionChange);\n microphonePermission.addEventListener('change', handleMicrophonePermissionChange);\n\n permissionCleanup = () => {\n cameraPermission.removeEventListener('change', handleCameraPermissionChange);\n microphonePermission.removeEventListener('change', handleMicrophonePermissionChange);\n };\n } catch {\n logger('av_preview_permissions_query_error');\n }\n };\n\n asyncEffect();\n\n return () => {\n if (permissionCleanup) {\n permissionCleanup();\n }\n };\n }, [cancellablePromise, changeDevice, logger]);\n\n /**\n * Effect to handle media device changes\n * It listens for device changes and updates the list of connected devices.\n */\n useEffect(() => {\n const handleDeviceChange = async () => {\n try {\n const updatedDevices = await getConnectedDevices();\n\n setDevices(updatedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n };\n\n navigator.mediaDevices.addEventListener('devicechange', handleDeviceChange);\n\n return () => {\n navigator.mediaDevices.removeEventListener('devicechange', handleDeviceChange);\n };\n }, [logger]);\n\n /**\n * If the audio device is ready and the selected audio device is not in the list of available devices,\n * switch to the first available audio device.\n */\n useEffect(() => {\n if (\n audioDeviceStatus === 'READY' &&\n selectedAudioDevice &&\n !devices.audio.find(d => d.id === selectedAudioDevice)\n ) {\n const firstAudioDevice = devices.audio[0];\n\n if (firstAudioDevice) {\n changeDevice(firstAudioDevice.id, 'audio');\n }\n }\n }, [audioDeviceStatus, changeDevice, devices.audio, selectedAudioDevice]);\n\n /**\n * If the video device is ready and the selected video device is not in the list of available devices,\n * switch to the first available video device.\n */\n useEffect(() => {\n if (\n videoDeviceStatus === 'READY' &&\n selectedVideoDevice &&\n !devices.video.find(d => d.id === selectedVideoDevice)\n ) {\n const firstVideoDevice = devices.video[0];\n\n if (firstVideoDevice) {\n changeDevice(firstVideoDevice.id, 'video');\n }\n }\n }, [videoDeviceStatus, changeDevice, devices.video, selectedVideoDevice]);\n\n // Set the video element's srcObject to the MediaStream when available\n useEffect(() => {\n if (avStreamRef.current && videoElRef.current) {\n videoElRef.current.srcObject = avStreamRef.current;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [avStreamRef.current, videoElRef]);\n\n useEffect(() => {\n return () => {\n if (avStreamRef.current) {\n removeTracksFromStream(avStreamRef.current);\n }\n };\n }, []);\n\n return {\n audioDeviceStatus,\n audioDeviceError,\n videoDeviceStatus,\n videoDeviceError,\n devices,\n selectedVideoDevice,\n selectedAudioDevice,\n selectedAudioOutputDevice,\n changeDevice,\n changeAudioOutputDevice,\n };\n};\n\nexport default useMediaDevices;\n"],"names":["useMediaDevices","videoElRef","logger","audioDeviceStatus","setAudioDeviceStatus","useState","videoDeviceStatus","setVideoDeviceStatus","audioDeviceError","setAudioDeviceError","videoDeviceError","setVideoDeviceError","selectedAudioOutputDevice","setSelectedAudioOutputDevice","avStreamRef","useRef","devices","setDevices","selectedAudioDevice","setAudioDevice","selectedVideoDevice","setVideoDevice","cancellablePromise","useCancellablePromise","changeDevice","useCallback","deviceId","deviceKind","removeTracksFromStream","constraints","stream","openMediaDevices","track","getTrack","_a","error","errorMessage","changeAudioOutputDevice","videoEl","useEffect","permissionCleanup","audioTrack","videoTrack","audioDeviceId","videoDeviceId","connectedDevices","getConnectedDevices","cameraPermission","microphonePermission","handleCameraPermissionChange","handleMicrophonePermissionChange","handleDeviceChange","updatedDevices","d","firstAudioDevice","firstVideoDevice"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-media-devices.js","sources":["../../../../../src/features/av/av-preview/hooks/use-media-devices.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState, type RefObject } from 'react';\n\nimport useCancellablePromise from '../../../hooks/use-cancellable-promise';\nimport type {\n IDevicesMap,\n ILogger,\n TDeviceError,\n TDeviceStatus,\n TMediaKind,\n} from '../av-preview-types';\nimport { getConnectedDevices, getTrack, openMediaDevices, removeTracksFromStream } from '../helper';\n\ninterface IChangeDevice {\n (deviceId: string | undefined, kind: TMediaKind): void;\n}\n\ninterface IUseMediaDevices {\n (\n videoElRef: RefObject<HTMLVideoElement | null>,\n logger: ILogger,\n ): {\n audioDeviceStatus: TDeviceStatus;\n audioDeviceError?: TDeviceError;\n videoDeviceStatus: TDeviceStatus;\n videoDeviceError?: TDeviceError;\n devices: IDevicesMap;\n selectedAudioDevice?: string;\n selectedVideoDevice?: string;\n selectedAudioOutputDevice?: string;\n changeDevice: IChangeDevice;\n changeAudioOutputDevice: (deviceId: string) => void;\n };\n}\n\nconst useMediaDevices: IUseMediaDevices = (videoElRef, logger) => {\n const [audioDeviceStatus, setAudioDeviceStatus] = useState<TDeviceStatus>('PROCESSING');\n const [videoDeviceStatus, setVideoDeviceStatus] = useState<TDeviceStatus>('PROCESSING');\n const [audioDeviceError, setAudioDeviceError] = useState<TDeviceError>();\n const [videoDeviceError, setVideoDeviceError] = useState<TDeviceError>();\n const [selectedAudioOutputDevice, setSelectedAudioOutputDevice] = useState<string>();\n\n const avStreamRef = useRef<MediaStream>(undefined);\n const [devices, setDevices] = useState<IDevicesMap>({\n audio: [],\n video: [],\n audioOutput: [],\n });\n const [selectedAudioDevice, setAudioDevice] = useState<string>();\n const [selectedVideoDevice, setVideoDevice] = useState<string>();\n const cancellablePromise = useCancellablePromise();\n\n const changeDevice = useCallback<IChangeDevice>(\n async (deviceId, deviceKind) => {\n if (avStreamRef.current) {\n removeTracksFromStream(avStreamRef.current, deviceKind);\n }\n\n const constraints: MediaStreamConstraints =\n deviceKind === 'audio'\n ? { audio: deviceId ? { deviceId } : true }\n : { video: deviceId ? { deviceId } : true };\n\n if (deviceKind === 'audio') {\n setAudioDevice(deviceId);\n setAudioDeviceStatus('PROCESSING');\n setAudioDeviceError(undefined);\n } else if (deviceKind === 'video') {\n setVideoDevice(deviceId);\n setVideoDeviceStatus('PROCESSING');\n setVideoDeviceError(undefined);\n }\n\n try {\n const stream = await cancellablePromise(openMediaDevices(constraints, logger));\n const track = getTrack(stream, deviceKind);\n\n if (track) {\n if (avStreamRef.current) {\n avStreamRef.current?.addTrack(track);\n } else {\n avStreamRef.current = stream;\n }\n\n track.addEventListener('ended', () => {\n if (deviceKind === 'audio') {\n changeDevice(undefined, 'audio');\n } else if (deviceKind === 'video') {\n changeDevice(undefined, 'video');\n }\n });\n\n if (deviceKind === 'audio') {\n setAudioDevice(track.getSettings().deviceId);\n setAudioDeviceStatus('READY');\n } else if (deviceKind === 'video') {\n setVideoDevice(track.getSettings().deviceId);\n setVideoDeviceStatus('READY');\n }\n }\n } catch (error) {\n const errorMessage: TDeviceError =\n error instanceof Error ? (error.message as TDeviceError) : 'other';\n\n if (deviceKind === 'audio') {\n setAudioDeviceStatus('ERROR');\n setAudioDeviceError(errorMessage);\n } else if (deviceKind === 'video') {\n setVideoDeviceStatus('ERROR');\n setVideoDeviceError(errorMessage);\n }\n }\n },\n [cancellablePromise, logger],\n );\n\n const changeAudioOutputDevice = useCallback(\n (deviceId: string) => {\n setSelectedAudioOutputDevice(deviceId);\n const videoEl = videoElRef.current;\n\n if (videoEl && 'setSinkId' in videoEl) {\n videoEl.setSinkId(deviceId).catch(error => {\n logger('av_preview_set_audio_output_device_error', {\n deviceId,\n error_name: error?.name,\n error_message: error?.message,\n });\n });\n }\n },\n [videoElRef, logger],\n );\n\n useEffect(() => {\n let permissionCleanup: (() => void) | undefined;\n const asyncEffect = async () => {\n try {\n const stream = await cancellablePromise(\n openMediaDevices({ video: true, audio: true }, logger),\n );\n\n avStreamRef.current = stream;\n setAudioDeviceStatus('READY');\n setVideoDeviceStatus('READY');\n const audioTrack = getTrack(stream, 'audio');\n const videoTrack = getTrack(stream, 'video');\n\n if (audioTrack) {\n audioTrack.addEventListener('ended', () => {\n const audioDeviceId = audioTrack.getSettings().deviceId;\n\n if (audioDeviceId) {\n changeDevice(audioDeviceId, 'audio');\n }\n });\n setAudioDevice(audioTrack.getSettings().deviceId);\n }\n\n if (videoTrack) {\n videoTrack.addEventListener('ended', () => {\n const videoDeviceId = videoTrack.getSettings().deviceId;\n\n if (videoDeviceId) {\n changeDevice(videoDeviceId, 'video');\n }\n });\n setVideoDevice(videoTrack.getSettings().deviceId);\n }\n\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n } catch (error) {\n const errorMessage: TDeviceError =\n error instanceof Error ? (error.message as TDeviceError) : 'other';\n\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n // Permission denied for\n if (connectedDevices.audio.length + connectedDevices.video.length === 0) {\n setAudioDeviceStatus('ERROR');\n setVideoDeviceStatus('ERROR');\n setAudioDeviceError(errorMessage);\n setVideoDeviceError(errorMessage);\n } else if (connectedDevices.video.length === 0) {\n setVideoDeviceStatus('ERROR');\n setVideoDeviceError(errorMessage);\n } else if (connectedDevices.audio.length === 0) {\n setAudioDeviceStatus('ERROR');\n setAudioDeviceError(errorMessage);\n }\n\n if (connectedDevices.audio.length > 0) {\n changeDevice(undefined, 'audio');\n }\n\n if (connectedDevices.video.length > 0) {\n changeDevice(undefined, 'video');\n }\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n }\n\n try {\n const cameraPermission = await navigator.permissions.query({\n name: 'camera' as PermissionName,\n });\n const microphonePermission = await navigator.permissions.query({\n name: 'microphone' as PermissionName,\n });\n const handleCameraPermissionChange = async () => {\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n\n if (cameraPermission.state === 'granted') {\n changeDevice(undefined, 'video'); // Reset video device on permission change\n }\n };\n const handleMicrophonePermissionChange = async () => {\n try {\n const connectedDevices = await cancellablePromise(getConnectedDevices());\n\n setDevices(connectedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n\n if (microphonePermission.state === 'granted') {\n changeDevice(undefined, 'audio'); // Reset audio device on permission change\n }\n };\n\n cameraPermission.addEventListener('change', handleCameraPermissionChange);\n microphonePermission.addEventListener('change', handleMicrophonePermissionChange);\n\n permissionCleanup = () => {\n cameraPermission.removeEventListener('change', handleCameraPermissionChange);\n microphonePermission.removeEventListener('change', handleMicrophonePermissionChange);\n };\n } catch {\n logger('av_preview_permissions_query_error');\n }\n };\n\n asyncEffect();\n\n return () => {\n if (permissionCleanup) {\n permissionCleanup();\n }\n };\n }, [cancellablePromise, changeDevice, logger]);\n\n /**\n * Effect to handle media device changes\n * It listens for device changes and updates the list of connected devices.\n */\n useEffect(() => {\n const handleDeviceChange = async () => {\n try {\n const updatedDevices = await getConnectedDevices();\n\n setDevices(updatedDevices);\n } catch {\n logger('av_preview_get_connected_devices_error');\n }\n };\n\n navigator.mediaDevices.addEventListener('devicechange', handleDeviceChange);\n\n return () => {\n navigator.mediaDevices.removeEventListener('devicechange', handleDeviceChange);\n };\n }, [logger]);\n\n /**\n * If the audio device is ready and the selected audio device is not in the list of available devices,\n * switch to the first available audio device.\n */\n useEffect(() => {\n if (\n audioDeviceStatus === 'READY' &&\n selectedAudioDevice &&\n !devices.audio.find(d => d.id === selectedAudioDevice)\n ) {\n const firstAudioDevice = devices.audio[0];\n\n if (firstAudioDevice) {\n changeDevice(firstAudioDevice.id, 'audio');\n }\n }\n }, [audioDeviceStatus, changeDevice, devices.audio, selectedAudioDevice]);\n\n /**\n * If the video device is ready and the selected video device is not in the list of available devices,\n * switch to the first available video device.\n */\n useEffect(() => {\n if (\n videoDeviceStatus === 'READY' &&\n selectedVideoDevice &&\n !devices.video.find(d => d.id === selectedVideoDevice)\n ) {\n const firstVideoDevice = devices.video[0];\n\n if (firstVideoDevice) {\n changeDevice(firstVideoDevice.id, 'video');\n }\n }\n }, [videoDeviceStatus, changeDevice, devices.video, selectedVideoDevice]);\n\n // Set the video element's srcObject to the MediaStream when available\n useEffect(() => {\n if (avStreamRef.current && videoElRef.current) {\n videoElRef.current.srcObject = avStreamRef.current;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [avStreamRef.current, videoElRef]);\n\n useEffect(() => {\n return () => {\n if (avStreamRef.current) {\n removeTracksFromStream(avStreamRef.current);\n }\n };\n }, []);\n\n return {\n audioDeviceStatus,\n audioDeviceError,\n videoDeviceStatus,\n videoDeviceError,\n devices,\n selectedVideoDevice,\n selectedAudioDevice,\n selectedAudioOutputDevice,\n changeDevice,\n changeAudioOutputDevice,\n };\n};\n\nexport default useMediaDevices;\n"],"names":["useMediaDevices","videoElRef","logger","audioDeviceStatus","setAudioDeviceStatus","useState","videoDeviceStatus","setVideoDeviceStatus","audioDeviceError","setAudioDeviceError","videoDeviceError","setVideoDeviceError","selectedAudioOutputDevice","setSelectedAudioOutputDevice","avStreamRef","useRef","devices","setDevices","selectedAudioDevice","setAudioDevice","selectedVideoDevice","setVideoDevice","cancellablePromise","useCancellablePromise","changeDevice","useCallback","deviceId","deviceKind","removeTracksFromStream","constraints","stream","openMediaDevices","track","getTrack","_a","error","errorMessage","changeAudioOutputDevice","videoEl","useEffect","permissionCleanup","audioTrack","videoTrack","audioDeviceId","videoDeviceId","connectedDevices","getConnectedDevices","cameraPermission","microphonePermission","handleCameraPermissionChange","handleMicrophonePermissionChange","handleDeviceChange","updatedDevices","d","firstAudioDevice","firstVideoDevice"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chapter-banner.js","sources":["../../../../../../src/features/chapters/chapter/comps/chapter-banner/chapter-banner.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"chapter-banner.js","sources":["../../../../../../src/features/chapters/chapter/comps/chapter-banner/chapter-banner.tsx"],"sourcesContent":["import { memo, useMemo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport MilestoneProgressInfo from '../../../../milestone/create/comps/milestone-progress/milestone-progress';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './chapter-banner-styled';\nimport type { IChapterBannerProps } from './chapter-banner-types';\n\nconst ChapterBanner: FC<IChapterBannerProps> = memo(\n ({ userChapterProgress, imageUrl, backgroundColor, ...restChapterBannerProps }) => {\n const { name, isDefocused } = restChapterBannerProps;\n\n const { layout, colors } = useTheme();\n const { gutter } = layout;\n\n const { total_core_sheets: totalCoreSheets } = userChapterProgress;\n\n const bannerBackgroundColor = useMemo(\n () => (isDefocused ? 'GREY_1' : backgroundColor),\n [backgroundColor, isDefocused],\n );\n\n return (\n <Styled.BannerWrapper\n $backgroundColor={colors[bannerBackgroundColor]}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexGap={gutter}\n $width=\"100%\"\n $gapX={1.75}\n >\n <FlexView $widthX={49.25} $flexDirection=\"row\" $flexGapX={2} $alignItems=\"center\">\n <Styled.ImageContainer src={imageUrl} alt=\"Chapter Image\" />\n\n <FlexView $flexGapX={1}>\n <Text $renderAs=\"ah3\">{name}</Text>\n {!!totalCoreSheets && (\n <FlexView $flexDirection=\"row\" $flexGapX={2}>\n <MilestoneProgressInfo badgeSize={24} chapterProgress={userChapterProgress} />\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n </Styled.BannerWrapper>\n );\n },\n);\n\nexport default ChapterBanner;\n"],"names":["ChapterBanner","memo","userChapterProgress","imageUrl","backgroundColor","restChapterBannerProps","name","isDefocused","layout","colors","useTheme","gutter","totalCoreSheets","bannerBackgroundColor","useMemo","jsx","Styled.BannerWrapper","jsxs","FlexView","Styled.ImageContainer","Text","MilestoneProgressInfo"],"mappings":";;;;;;;AASA,MAAMA,IAAyCC;AAAA,EAC7C,CAAC,EAAE,qBAAAC,GAAqB,UAAAC,GAAU,iBAAAC,GAAiB,GAAGC,QAA6B;AAC3E,UAAA,EAAE,MAAAC,GAAM,aAAAC,EAAgB,IAAAF,GAExB,EAAE,QAAAG,GAAQ,QAAAC,EAAO,IAAIC,EAAS,GAC9B,EAAE,QAAAC,EAAW,IAAAH,GAEb,EAAE,mBAAmBI,EAAoB,IAAAV,GAEzCW,IAAwBC;AAAA,MAC5B,MAAOP,IAAc,WAAWH;AAAA,MAChC,CAACA,GAAiBG,CAAW;AAAA,IAAA;AAI7B,WAAA,gBAAAQ;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,kBAAkBP,EAAOI,CAAqB;AAAA,QAC9C,gBAAe;AAAA,QACf,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,UAAUF;AAAA,QACV,QAAO;AAAA,QACP,OAAO;AAAA,QAEP,UAAA,gBAAAM,EAACC,KAAS,SAAS,OAAO,gBAAe,OAAM,WAAW,GAAG,aAAY,UACvE,UAAA;AAAA,UAAA,gBAAAH,EAACI,GAAA,EAAsB,KAAKhB,GAAU,KAAI,iBAAgB;AAAA,UAE1D,gBAAAc,EAACC,GAAS,EAAA,WAAW,GACnB,UAAA;AAAA,YAAC,gBAAAH,EAAAK,GAAA,EAAK,WAAU,OAAO,UAAKd,GAAA;AAAA,YAC3B,CAAC,CAACM,KACD,gBAAAG,EAACG,KAAS,gBAAe,OAAM,WAAW,GACxC,4BAACG,GAAsB,EAAA,WAAW,IAAI,iBAAiBnB,EAAqB,CAAA,GAC9E;AAAA,UAAA,GAEJ;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-lessons.js","sources":["../../../../../../src/features/chapters/chapter/comps/core-lessons/core-lessons.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"core-lessons.js","sources":["../../../../../../src/features/chapters/chapter/comps/core-lessons/core-lessons.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport LessonsList from '../../../../sheets/lessons-list/lessons-list';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './core-lessons-styled';\nimport type { ICoreLessonsProps } from './core-lessons-types';\n\nconst CoreLessons: FC<ICoreLessonsProps> = memo(\n ({ lessons, userChapterProgress, userType, ...restCoreLessonsProps }) => {\n const {\n lessonItemColorHue,\n onStart,\n onResume,\n onReattempt,\n onPreview,\n onReview,\n onReset,\n onChangeLocation,\n onMarkAsFamiliar,\n onMarkRelevant,\n onMarkIrrelevant,\n } = restCoreLessonsProps;\n\n const theme = useTheme();\n\n const { total_core_sheets: totalCoreSheets } = userChapterProgress;\n\n return (\n <Styled.CoreLessonContainer\n $flexGap={theme.layout.gutter * 1.5}\n data-testid=\"lessons-container\"\n >\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <Text $renderAs=\"ac4-black\" $color=\"REAL_BLACK_60\">\n lessons ({totalCoreSheets || '-'})\n </Text>\n </FlexView>\n\n <LessonsList\n emptyLessonsText=\"No core lessons available for this chapter\"\n lessons={lessons}\n userType={userType}\n lessonItemColorHue={lessonItemColorHue}\n onMarkAsFamiliar={onMarkAsFamiliar}\n onChangeLocation={onChangeLocation}\n onReset={onReset}\n onStart={onStart}\n onResume={onResume}\n onMarkIrrelevant={onMarkIrrelevant}\n onMarkRelevant={onMarkRelevant}\n onPreview={onPreview}\n onReview={onReview}\n onReattempt={onReattempt}\n />\n </Styled.CoreLessonContainer>\n );\n },\n);\n\nexport default CoreLessons;\n"],"names":["CoreLessons","memo","lessons","userChapterProgress","userType","restCoreLessonsProps","lessonItemColorHue","onStart","onResume","onReattempt","onPreview","onReview","onReset","onChangeLocation","onMarkAsFamiliar","onMarkRelevant","onMarkIrrelevant","theme","useTheme","totalCoreSheets","jsxs","Styled.CoreLessonContainer","jsx","FlexView","Text","LessonsList"],"mappings":";;;;;;;AASA,MAAMA,IAAqCC;AAAA,EACzC,CAAC,EAAE,SAAAC,GAAS,qBAAAC,GAAqB,UAAAC,GAAU,GAAGC,QAA2B;AACjE,UAAA;AAAA,MACJ,oBAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,UAAAC;AAAA,MACA,SAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,IACE,IAAAX,GAEEY,IAAQC,KAER,EAAE,mBAAmBC,EAAoB,IAAAhB;AAG7C,WAAA,gBAAAiB;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,UAAUJ,EAAM,OAAO,SAAS;AAAA,QAChC,eAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAK,EAACC,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,iBAClE,UAAA,gBAAAH,EAACI,GAAK,EAAA,WAAU,aAAY,QAAO,iBAAgB,UAAA;AAAA,YAAA;AAAA,YACvCL,KAAmB;AAAA,YAAI;AAAA,UAAA,EAAA,CACnC,EACF,CAAA;AAAA,UAEA,gBAAAG;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,kBAAiB;AAAA,cACjB,SAAAvB;AAAA,cACA,UAAAE;AAAA,cACA,oBAAAE;AAAA,cACA,kBAAAQ;AAAA,cACA,kBAAAD;AAAA,cACA,SAAAD;AAAA,cACA,SAAAL;AAAA,cACA,UAAAC;AAAA,cACA,kBAAAQ;AAAA,cACA,gBAAAD;AAAA,cACA,WAAAL;AAAA,cACA,UAAAC;AAAA,cACA,aAAAF;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
|
package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplementary-resources.js","sources":["../../../../../../src/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"supplementary-resources.js","sources":["../../../../../../src/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useRef, useState, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport ResourcesList from '../../../../sheets/resources-list/resources-list';\nimport UIContext, { useUIContext } from '../../../../ui/context/context';\nimport useTrackingContext from '../../../../ui/context/use-tracking-context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport type { IChapterDataProps } from '../../chapter-types';\nimport * as Styled from './supplementary-resources-styled';\nimport type { ISupplementaryResourcesProps } from './supplementary-resources-types';\nimport { getResourceTabName } from './utils';\n\nconst getDefaultSelectedTab = (\n groupedSheets: IChapterDataProps['sheets_data']['supplementary_sheets_grouped'],\n groupedSheetsSortOrder: IChapterDataProps['sheets_data']['supplementary_sheets_group_sort_order'],\n): string => {\n const sheetCategory = groupedSheetsSortOrder.find(category => {\n const categoryData = groupedSheets[category];\n\n return categoryData ? categoryData.length > 0 : undefined;\n });\n\n return sheetCategory ?? 'assigned';\n};\n\nconst SupplementaryResources: FC<ISupplementaryResourcesProps> = memo(\n ({ groupedSupplementarySheets, userType, isDefocused, ...restSupplementaryResourcesProps }) => {\n const {\n handleOnCreateExtraPractice,\n teacherId,\n groupedSupplementarySheetsSortOrder,\n ...sheetListCallbacks\n } = restSupplementaryResourcesProps;\n\n const theme = useTheme();\n const totalResourcesCount = useRef(0);\n\n const [selectedTab, setSelectedTab] = useState(() => {\n return getDefaultSelectedTab(groupedSupplementarySheets, groupedSupplementarySheetsSortOrder);\n });\n\n const analyticProps = useTrackingContext({ tab: selectedTab });\n const { onEvent: trackEvent } = useUIContext();\n\n const isTeacher = userType === 'TEACHER';\n\n const { keys: supplementarySheetCounts, newAssignedSheetsCount } = useMemo(() => {\n const assignedSheets = groupedSupplementarySheets.assigned ?? [];\n\n const newAssignedCount = assignedSheets.reduce((acc, assignedSheetData) => {\n if (assignedSheetData.state === 'NOT_STARTED') {\n return acc + 1;\n }\n\n return acc;\n }, 0);\n\n const keys: Partial<Record<string, number>> = {};\n\n if (newAssignedCount > 0) {\n keys.assigned = newAssignedCount;\n }\n\n totalResourcesCount.current = isTeacher ? 0 : assignedSheets.length;\n\n if (groupedSupplementarySheets) {\n groupedSupplementarySheetsSortOrder.forEach(suppSheetType => {\n const sheetData =\n groupedSupplementarySheets[suppSheetType as keyof typeof groupedSupplementarySheets] ||\n [];\n const sheetCount = sheetData.length;\n\n if (suppSheetType !== 'assigned' && isTeacher) {\n totalResourcesCount.current += sheetCount;\n }\n\n if (sheetCount) {\n keys[suppSheetType] = sheetCount;\n }\n });\n }\n\n return { keys, newAssignedSheetsCount: newAssignedCount };\n }, [groupedSupplementarySheets, groupedSupplementarySheetsSortOrder, isTeacher]);\n\n const handleOnTabSwitch = useCallback(\n (suppSheetKey: string) => {\n setSelectedTab(suppSheetKey);\n trackEvent('clicked', {\n cta: suppSheetKey,\n });\n },\n [trackEvent],\n );\n\n if (totalResourcesCount.current === 0) return null;\n\n return (\n <UIContext.Provider value={analyticProps}>\n <Styled.SupplementaryResourcesContainer\n $flexGap={theme.layout.gutter * 1.5}\n $widthX={47.5}\n $flexGapX={2}\n >\n <FlexView $flexGap={8}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n resources ({totalResourcesCount.current})\n </Text>\n\n {isTeacher && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n Only assigned sheets are visible to the student\n </Text>\n )}\n </FlexView>\n\n <Styled.ScrollFlexView $flexDirection=\"row\">\n {Object.entries(supplementarySheetCounts).map(entry => {\n const [suppSheetKey, sheetCount] = entry;\n\n const tabLabel = getResourceTabName(suppSheetKey, sheetCount ?? 0);\n\n return (\n <Styled.Tab\n key={suppSheetKey}\n $selected={selectedTab === suppSheetKey}\n onClick={() => handleOnTabSwitch(suppSheetKey)}\n >\n <FlexView $flexDirection=\"row\" $flexGapX={0.375}>\n <Text $renderAs={selectedTab === suppSheetKey ? 'cta2' : 'body2'}>\n {tabLabel}\n </Text>\n {suppSheetKey === 'assigned' && !!newAssignedSheetsCount && (\n <FlexView\n $background=\"GREEN_4\"\n $borderRadiusX={0.25}\n $gapX={0.125}\n $gutterX={0.25}\n $alignItems=\"center\"\n >\n <Styled.WrappedText $renderAs=\"eyebrow2\">\n {newAssignedSheetsCount} New\n </Styled.WrappedText>\n </FlexView>\n )}\n </FlexView>\n </Styled.Tab>\n );\n })}\n </Styled.ScrollFlexView>\n\n <ResourcesList\n userType={userType}\n sheets={groupedSupplementarySheets[selectedTab] ?? []}\n {...sheetListCallbacks}\n />\n </Styled.SupplementaryResourcesContainer>\n </UIContext.Provider>\n );\n },\n);\n\nexport default SupplementaryResources;\n"],"names":["getDefaultSelectedTab","groupedSheets","groupedSheetsSortOrder","category","categoryData","SupplementaryResources","memo","groupedSupplementarySheets","userType","isDefocused","restSupplementaryResourcesProps","handleOnCreateExtraPractice","teacherId","groupedSupplementarySheetsSortOrder","sheetListCallbacks","theme","useTheme","totalResourcesCount","useRef","selectedTab","setSelectedTab","useState","analyticProps","useTrackingContext","trackEvent","useUIContext","isTeacher","supplementarySheetCounts","newAssignedSheetsCount","useMemo","assignedSheets","newAssignedCount","acc","assignedSheetData","keys","suppSheetType","sheetCount","handleOnTabSwitch","useCallback","suppSheetKey","jsx","UIContext","jsxs","Styled.SupplementaryResourcesContainer","FlexView","Text","Styled.ScrollFlexView","entry","tabLabel","getResourceTabName","Styled.Tab","Styled.WrappedText","ResourcesList"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chapter-item.js","sources":["../../../../../src/features/chapters/chapters-list/chapter-item/chapter-item.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"chapter-item.js","sources":["../../../../../src/features/chapters/chapters-list/chapter-item/chapter-item.tsx"],"sourcesContent":["import { useCallback, useLayoutEffect, useRef, useState, memo, type FC } from 'react';\n\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport * as Styled from './chapter-item-styled';\nimport type { IChapterItemProps } from './chapter-item-types';\n\nconst ChapterItem: FC<IChapterItemProps> = memo(\n ({ milestoneId, chapter, onChapterClick, itemIndex, shouldShowItemIndex }) => {\n const {\n name,\n image_url: imageUrl,\n progress_stat: chapterProgressStat,\n image_hue: imageHue,\n } = chapter;\n const { mandatory, optional } = chapterProgressStat || {};\n const { completed = 0, total: totalMandatory = 0 } = mandatory || {};\n const { total: optionalTotal = 0 } = optional || {};\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const completionPercentage =\n completed > 0 ? Math.floor((completed / totalMandatory || 1) * 100) : 0;\n const totalSheets = totalMandatory + optionalTotal;\n const handleOnChapterClick = useCallback(() => {\n if (totalSheets === 0) {\n return null;\n }\n\n onChapterClick(chapter, milestoneId);\n }, [chapter, milestoneId, onChapterClick, totalSheets]);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Coming soon! We’re building this chapter\"\n hidden={totalSheets > 0}\n parentWidth=\"100%\"\n zIndex={5}\n >\n <Styled.ChapterItemWrapper\n id={`milestone-chapter-${milestoneId || ''}-${itemIndex}`}\n $alignItems=\"center\"\n $gapX={1}\n $gutterX={1}\n $flexGap={8}\n $background=\"WHITE_1\"\n onClick={handleOnChapterClick}\n className=\"goal-widget-chapter-item\"\n $bgColor={`${imageHue}_1`}\n shouldHideClick={totalSheets === 0}\n >\n <Styled.ChapterImageWrapper\n $width=\"fit-content\"\n $position=\"relative\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <Styled.ChapterProgressWrapper>\n <Styled.ChapterProgressSVG width=\"96px\" height=\"96px\">\n <Styled.ChapterProgressSVGCircle $progress={0} r=\"47\" cx=\"48\" cy=\"48\" />\n <Styled.ChapterProgressSVGCircle\n $progressCircle\n $progress={completionPercentage * 2.98}\n r=\"47\"\n cx=\"48\"\n cy=\"48\"\n />\n </Styled.ChapterProgressSVG>\n </Styled.ChapterProgressWrapper>\n\n <Styled.ChapterImage src={imageUrl} alt=\"Chapter Image\" />\n\n {completionPercentage === 100 && (\n <Styled.StyledCheckIconWrapper>\n <Check2Icon width={20} height={20} />\n </Styled.StyledCheckIconWrapper>\n )}\n </Styled.ChapterImageWrapper>\n\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={name}\n hidden={!showTitleTooltip}\n widthX={21.75}\n zIndex={5}\n >\n <Styled.ChapterName\n ref={titleTextRef}\n $renderAs=\"ab2\"\n $color=\"BLACK_T_87\"\n $align=\"center\"\n >\n {name}\n </Styled.ChapterName>\n </ArrowTooltip>\n </FlexView>\n {!!shouldShowItemIndex && (\n <Styled.ChapterItemNumberWrapper\n $background=\"WHITE_4\"\n $widthX={1.75}\n $heightX={1.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\" $align=\"center\">\n {itemIndex + 1}\n </Text>\n </Styled.ChapterItemNumberWrapper>\n )}\n </Styled.ChapterItemWrapper>\n </ArrowTooltip>\n );\n },\n);\n\nexport default ChapterItem;\n"],"names":["ChapterItem","memo","milestoneId","chapter","onChapterClick","itemIndex","shouldShowItemIndex","name","imageUrl","chapterProgressStat","imageHue","mandatory","optional","completed","totalMandatory","optionalTotal","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","completionPercentage","totalSheets","handleOnChapterClick","useCallback","useLayoutEffect","jsx","ArrowTooltip","jsxs","Styled.ChapterItemWrapper","Styled.ChapterImageWrapper","Styled.ChapterProgressWrapper","Styled.ChapterProgressSVG","Styled.ChapterProgressSVGCircle","Styled.ChapterImage","Styled.StyledCheckIconWrapper","Check2Icon","FlexView","Styled.ChapterName","Styled.ChapterItemNumberWrapper","Text"],"mappings":"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"}
|