@cuemath/leap 2.8.61-rj-21 → 2.8.61-rj-23
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/line-icons/icons/alert.js +3 -3
- package/dist/assets/line-icons/icons/alert.js.map +1 -1
- package/dist/assets/line-icons/icons/back.js +4 -4
- package/dist/assets/line-icons/icons/back.js.map +1 -1
- package/dist/assets/line-icons/icons/back2.js +3 -3
- package/dist/assets/line-icons/icons/back2.js.map +1 -1
- package/dist/assets/line-icons/icons/bin.js +8 -8
- package/dist/assets/line-icons/icons/bin.js.map +1 -1
- package/dist/assets/line-icons/icons/bin2.js +4 -4
- package/dist/assets/line-icons/icons/bin2.js.map +1 -1
- package/dist/assets/line-icons/icons/book-closed.js +3 -3
- package/dist/assets/line-icons/icons/book-closed.js.map +1 -1
- package/dist/assets/line-icons/icons/book.js +4 -4
- package/dist/assets/line-icons/icons/book.js.map +1 -1
- package/dist/assets/line-icons/icons/book2.js +3 -3
- package/dist/assets/line-icons/icons/book2.js.map +1 -1
- package/dist/assets/line-icons/icons/bookmark-stroke-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/bookmark.js +2 -2
- package/dist/assets/line-icons/icons/bookmark.js.map +1 -1
- package/dist/assets/line-icons/icons/bulb.js +8 -8
- package/dist/assets/line-icons/icons/bulb.js.map +1 -1
- package/dist/assets/line-icons/icons/bulb2.js +3 -3
- package/dist/assets/line-icons/icons/bulb2.js.map +1 -1
- package/dist/assets/line-icons/icons/calculator.js.map +1 -1
- package/dist/assets/line-icons/icons/calendar.js +3 -3
- package/dist/assets/line-icons/icons/calendar.js.map +1 -1
- package/dist/assets/line-icons/icons/carat-left.js.map +1 -1
- package/dist/assets/line-icons/icons/carat-right.js.map +1 -1
- package/dist/assets/line-icons/icons/chat.js +4 -4
- package/dist/assets/line-icons/icons/chat.js.map +1 -1
- package/dist/assets/line-icons/icons/check.js +4 -4
- package/dist/assets/line-icons/icons/check.js.map +1 -1
- package/dist/assets/line-icons/icons/check2.js +3 -3
- package/dist/assets/line-icons/icons/check2.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-down.js +6 -6
- package/dist/assets/line-icons/icons/chevron-down.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-left.js +4 -4
- package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-right.js +6 -6
- package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
- package/dist/assets/line-icons/icons/circle-back.js.map +1 -1
- package/dist/assets/line-icons/icons/clear-all.js.map +1 -1
- package/dist/assets/line-icons/icons/clipboard.js +5 -5
- package/dist/assets/line-icons/icons/clipboard.js.map +1 -1
- package/dist/assets/line-icons/icons/clock.js +3 -3
- package/dist/assets/line-icons/icons/clock.js.map +1 -1
- package/dist/assets/line-icons/icons/clock2.js +5 -5
- package/dist/assets/line-icons/icons/clock2.js.map +1 -1
- package/dist/assets/line-icons/icons/closed-eye.js.map +1 -1
- package/dist/assets/line-icons/icons/code.js +3 -3
- package/dist/assets/line-icons/icons/code.js.map +1 -1
- package/dist/assets/line-icons/icons/copy.js +4 -4
- package/dist/assets/line-icons/icons/copy.js.map +1 -1
- package/dist/assets/line-icons/icons/cross.js +4 -4
- package/dist/assets/line-icons/icons/cross.js.map +1 -1
- package/dist/assets/line-icons/icons/cue-rocket.js +2 -2
- package/dist/assets/line-icons/icons/cue-rocket.js.map +1 -1
- package/dist/assets/line-icons/icons/cuemath-logo.js +2 -2
- package/dist/assets/line-icons/icons/cuemath-logo.js.map +1 -1
- package/dist/assets/line-icons/icons/cursor.js.map +1 -1
- package/dist/assets/line-icons/icons/dash-arrow.js +3 -3
- package/dist/assets/line-icons/icons/dash-arrow.js.map +1 -1
- package/dist/assets/line-icons/icons/down.js +2 -2
- package/dist/assets/line-icons/icons/down.js.map +1 -1
- package/dist/assets/line-icons/icons/download.js.map +1 -1
- package/dist/assets/line-icons/icons/draft.js +4 -4
- package/dist/assets/line-icons/icons/draft.js.map +1 -1
- package/dist/assets/line-icons/icons/drag.js +3 -3
- package/dist/assets/line-icons/icons/drag.js.map +1 -1
- package/dist/assets/line-icons/icons/edit-star.js +5 -5
- package/dist/assets/line-icons/icons/edit-star.js.map +1 -1
- package/dist/assets/line-icons/icons/edit.js +5 -5
- package/dist/assets/line-icons/icons/edit.js.map +1 -1
- package/dist/assets/line-icons/icons/edit2.js +2 -2
- package/dist/assets/line-icons/icons/edit2.js.map +1 -1
- package/dist/assets/line-icons/icons/equation.js.map +1 -1
- package/dist/assets/line-icons/icons/eraser.js +3 -3
- package/dist/assets/line-icons/icons/eraser.js.map +1 -1
- package/dist/assets/line-icons/icons/eye.js +4 -4
- package/dist/assets/line-icons/icons/eye.js.map +1 -1
- package/dist/assets/line-icons/icons/eye2.js +2 -2
- package/dist/assets/line-icons/icons/eye2.js.map +1 -1
- package/dist/assets/line-icons/icons/game.js +3 -3
- package/dist/assets/line-icons/icons/game.js.map +1 -1
- package/dist/assets/line-icons/icons/hand.js +2 -2
- package/dist/assets/line-icons/icons/hand.js.map +1 -1
- package/dist/assets/line-icons/icons/help.js +3 -3
- package/dist/assets/line-icons/icons/help.js.map +1 -1
- package/dist/assets/line-icons/icons/highlighter.js +4 -4
- package/dist/assets/line-icons/icons/highlighter.js.map +1 -1
- package/dist/assets/line-icons/icons/home.js +3 -3
- package/dist/assets/line-icons/icons/home.js.map +1 -1
- package/dist/assets/line-icons/icons/image.js +3 -3
- package/dist/assets/line-icons/icons/image.js.map +1 -1
- package/dist/assets/line-icons/icons/info.js +3 -3
- package/dist/assets/line-icons/icons/info.js.map +1 -1
- package/dist/assets/line-icons/icons/info2.js +3 -3
- package/dist/assets/line-icons/icons/info2.js.map +1 -1
- package/dist/assets/line-icons/icons/left.js +3 -3
- package/dist/assets/line-icons/icons/left.js.map +1 -1
- package/dist/assets/line-icons/icons/lock.js +3 -3
- package/dist/assets/line-icons/icons/lock.js.map +1 -1
- package/dist/assets/line-icons/icons/lock2.js +2 -2
- package/dist/assets/line-icons/icons/lock2.js.map +1 -1
- package/dist/assets/line-icons/icons/minus.js +2 -2
- package/dist/assets/line-icons/icons/minus.js.map +1 -1
- package/dist/assets/line-icons/icons/minus2.js +3 -3
- package/dist/assets/line-icons/icons/minus2.js.map +1 -1
- package/dist/assets/line-icons/icons/mistake.js +3 -3
- package/dist/assets/line-icons/icons/mistake.js.map +1 -1
- package/dist/assets/line-icons/icons/mobile.js +3 -3
- package/dist/assets/line-icons/icons/mobile.js.map +1 -1
- package/dist/assets/line-icons/icons/more-vertical.js +3 -3
- package/dist/assets/line-icons/icons/more-vertical.js.map +1 -1
- package/dist/assets/line-icons/icons/next.js +5 -5
- package/dist/assets/line-icons/icons/next.js.map +1 -1
- package/dist/assets/line-icons/icons/next2.js +4 -4
- package/dist/assets/line-icons/icons/next2.js.map +1 -1
- package/dist/assets/line-icons/icons/pan.js.map +1 -1
- package/dist/assets/line-icons/icons/pencil.js +3 -3
- package/dist/assets/line-icons/icons/pencil.js.map +1 -1
- package/dist/assets/line-icons/icons/play.js +5 -5
- package/dist/assets/line-icons/icons/play.js.map +1 -1
- package/dist/assets/line-icons/icons/play2.js +5 -5
- package/dist/assets/line-icons/icons/play2.js.map +1 -1
- package/dist/assets/line-icons/icons/plus.js +4 -4
- package/dist/assets/line-icons/icons/plus.js.map +1 -1
- package/dist/assets/line-icons/icons/plus2.js +3 -3
- package/dist/assets/line-icons/icons/plus2.js.map +1 -1
- package/dist/assets/line-icons/icons/pointer.js +2 -2
- package/dist/assets/line-icons/icons/pointer.js.map +1 -1
- package/dist/assets/line-icons/icons/practice.js +2 -2
- package/dist/assets/line-icons/icons/practice.js.map +1 -1
- package/dist/assets/line-icons/icons/progress.js +3 -3
- package/dist/assets/line-icons/icons/progress.js.map +1 -1
- package/dist/assets/line-icons/icons/question-letter.js +3 -3
- package/dist/assets/line-icons/icons/question-letter.js.map +1 -1
- package/dist/assets/line-icons/icons/question.js +5 -5
- package/dist/assets/line-icons/icons/question.js.map +1 -1
- package/dist/assets/line-icons/icons/redo.js +4 -4
- package/dist/assets/line-icons/icons/redo.js.map +1 -1
- package/dist/assets/line-icons/icons/right.js +3 -3
- package/dist/assets/line-icons/icons/right.js.map +1 -1
- package/dist/assets/line-icons/icons/ruler.js +3 -3
- package/dist/assets/line-icons/icons/ruler.js.map +1 -1
- package/dist/assets/line-icons/icons/scribble.js.map +1 -1
- package/dist/assets/line-icons/icons/search.js +3 -3
- package/dist/assets/line-icons/icons/search.js.map +1 -1
- package/dist/assets/line-icons/icons/sheet.js +9 -9
- package/dist/assets/line-icons/icons/sheet.js.map +1 -1
- package/dist/assets/line-icons/icons/sketch.js +4 -4
- package/dist/assets/line-icons/icons/sketch.js.map +1 -1
- package/dist/assets/line-icons/icons/skip.js +6 -6
- package/dist/assets/line-icons/icons/skip.js.map +1 -1
- package/dist/assets/line-icons/icons/skip2.js +4 -4
- package/dist/assets/line-icons/icons/skip2.js.map +1 -1
- package/dist/assets/line-icons/icons/square-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/star.js +3 -3
- package/dist/assets/line-icons/icons/star.js.map +1 -1
- package/dist/assets/line-icons/icons/star2.js +3 -3
- package/dist/assets/line-icons/icons/star2.js.map +1 -1
- package/dist/assets/line-icons/icons/striked-eye.js +4 -4
- package/dist/assets/line-icons/icons/striked-eye.js.map +1 -1
- package/dist/assets/line-icons/icons/switch-icon.js +4 -4
- package/dist/assets/line-icons/icons/switch-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/text-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/tick.js +2 -2
- package/dist/assets/line-icons/icons/tick.js.map +1 -1
- package/dist/assets/line-icons/icons/tri-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/trophy.js +3 -3
- package/dist/assets/line-icons/icons/trophy.js.map +1 -1
- package/dist/assets/line-icons/icons/tutoring.js +4 -4
- package/dist/assets/line-icons/icons/tutoring.js.map +1 -1
- package/dist/assets/line-icons/icons/undo.js +4 -4
- package/dist/assets/line-icons/icons/undo.js.map +1 -1
- package/dist/assets/line-icons/icons/unlock.js +4 -4
- package/dist/assets/line-icons/icons/unlock.js.map +1 -1
- package/dist/assets/line-icons/icons/up.js +3 -3
- package/dist/assets/line-icons/icons/up.js.map +1 -1
- package/dist/assets/line-icons/icons/upload.js.map +1 -1
- package/dist/assets/line-icons/icons/user.js +3 -3
- package/dist/assets/line-icons/icons/user.js.map +1 -1
- package/dist/assets/line-icons/icons/user2.js +2 -2
- package/dist/assets/line-icons/icons/user2.js.map +1 -1
- package/dist/assets/line-icons/icons/zoom-in.js.map +1 -1
- package/dist/assets/line-icons/icons/zoom-out.js.map +1 -1
- package/dist/constants/country.js.map +1 -1
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker-context.js.map +1 -1
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js +14 -14
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js.map +1 -1
- package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js +2 -2
- package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js.map +1 -1
- package/dist/features/chapters/api/chapter.js.map +1 -1
- package/dist/features/chapters/chapter/chapter.js +20 -20
- package/dist/features/chapters/chapter/chapter.js.map +1 -1
- package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner-styled.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-styled.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-styled.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/utils.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js +13 -13
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/block-section-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/block-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.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/sat-sheet-item-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +4 -4
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +15 -15
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +2 -2
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-icon.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/comps/tab-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/constants/index.js +22 -5
- package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/constants/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/lpar-chapter-banner-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter.js +26 -26
- package/dist/features/chapters/lpar-chapter/lpar-chapter.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/utils/index.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.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/block-section/sheet-item/sheet-item.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 +21 -21
- 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-util.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.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/segmented-game-card/segmented-game-card-styled.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +10 -10
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.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/comps/tables-card/table-mode-star/table-mode-star.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +6 -6
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +4 -4
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js +96 -118
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +87 -88
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
- package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
- package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/banner/banner-styled.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button.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 +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/streak-reduction-infobar/streak-reduction-infobar.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/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.js.map +1 -1
- package/dist/features/circle-games/leaderboard/hooks/use-intersection-observer/use-intersection-observer.tsx.js.map +1 -1
- package/dist/features/circle-games/leaderboard/hooks/use-timer/use-timer.js.map +1 -1
- package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js +3 -3
- package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.styled.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen-styled.js +1 -1
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
- package/dist/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.js.map +1 -1
- package/dist/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.js.map +1 -1
- package/dist/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.js.map +1 -1
- package/dist/features/circle-games/sign-up/helper.js.map +1 -1
- package/dist/features/circle-games/sign-up/sign-up.js +8 -8
- package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
- package/dist/features/circle-games/utils/streak-reduction-localstorage-util.js.map +1 -1
- package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js +18 -18
- package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js.map +1 -1
- package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js +11 -11
- package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js.map +1 -1
- package/dist/features/communication/pub-sub/core.js.map +1 -1
- package/dist/features/communication/pub-sub/hooks.js +1 -1
- package/dist/features/communication/pub-sub/hooks.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js +8 -8
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +28 -28
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +29 -29
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +14 -14
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-height-extender.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/icon-map.js +7 -7
- 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/toolbar.js +8 -8
- package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
- package/dist/features/extra-practice/extra-practice.js +21 -21
- package/dist/features/extra-practice/extra-practice.js.map +1 -1
- package/dist/features/extra-practice/list/list-constants.js.map +1 -1
- package/dist/features/extra-practice/list/list-styled.js.map +1 -1
- package/dist/features/extra-practice/list/list.js.map +1 -1
- package/dist/features/hooks/use-audio-player.js.map +1 -1
- package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js +3 -3
- package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
- package/dist/features/hooks/use-drag-helper.js.map +1 -1
- package/dist/features/hooks/use-force-reload.js +7 -7
- package/dist/features/hooks/use-force-reload.js.map +1 -1
- package/dist/features/hooks/use-is-unmounted.js.map +1 -1
- package/dist/features/hooks/use-lazy-ref.js.map +1 -1
- package/dist/features/hooks/use-previous.js.map +1 -1
- package/dist/features/hooks/use-zoom-disable.js +3 -3
- package/dist/features/hooks/use-zoom-disable.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark-styled.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark.js +1 -1
- package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
- package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/features/journey/user-journey-api/user-journey-api.js +3 -3
- package/dist/features/maintenance/maintenance.js +5 -5
- package/dist/features/maintenance/maintenance.js.map +1 -1
- package/dist/features/milestone/constants.js +15 -11
- package/dist/features/milestone/constants.js.map +1 -1
- package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
- package/dist/features/milestone/create/api/milestone-bulk.js.map +1 -1
- package/dist/features/milestone/create/api/milestone-submit.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/hooks/use-catalog-helpers.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-styled.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-styled.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-category/chapter-category-styled.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/chapters-selection-step/use-chapter-list-update.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-selectors.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js +9 -9
- 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-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js +14 -14
- 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-styled.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/info-points/info-points.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -1
- package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/category-component-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/category-component.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step-constants.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-constants.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-container.js +25 -25
- package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-form-tree.js +2 -2
- package/dist/features/milestone/create/milestone-create-form-tree.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +3 -3
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +20 -19
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/create/styled-comps/progressive-loader.js +1 -1
- package/dist/features/milestone/create/styled-comps/progressive-loader.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/submit-modal.js +9 -9
- package/dist/features/milestone/create/submit-modal/submit-modal.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal-styled.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
- package/dist/features/milestone/create/utils/index.js.map +1 -1
- package/dist/features/milestone/edit/comps/delete-milestone/confirm-delete.js.map +1 -1
- package/dist/features/milestone/edit/comps/delete-milestone/styled.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 +44 -43
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
- package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js.map +1 -1
- package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +27 -27
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +1 -1
- package/dist/features/milestone/edit/goal-edit-container.js +21 -21
- package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/goal-edit-helpers.js +3 -3
- package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-container.js +23 -23
- package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
- package/dist/features/milestone/hooks/use-submit-goal-creation.js.map +1 -1
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget-styled.js.map +1 -1
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js +15 -15
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/filter-milestones.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-loader/milestone-loader.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.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/goals/goal-action-utils.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/use-goal-draft-publish.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.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-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +2 -2
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/no-active-milestone/no-active-milestone.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +21 -21
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.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/no-resource-screen.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-styled.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +39 -39
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item-styled.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-styled.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 +28 -28
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
- package/dist/features/milestone/outcome/api/milestone-achievement.js +3 -3
- package/dist/features/milestone/outcome/api/milestone-outcome.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-container-styled.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-container.js +3 -3
- package/dist/features/milestone/outcome/comps/achievement/achievement-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js +13 -13
- package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js +20 -20
- package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/input-descriptor.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/input-handler.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form-helpers.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-styled.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-form.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-styled.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
- package/dist/features/milestone/outcome/milestone-outcome-container.js +23 -23
- package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
- package/dist/features/milestone/outcome/milestone-outcome-styled.js.map +1 -1
- package/dist/features/milestone/outcome/outcome-helpers.js.map +1 -1
- package/dist/features/milestone/start/milestone-start.js +3 -3
- package/dist/features/milestone/start/milestone-start.js.map +1 -1
- package/dist/features/pointer-sync/hooks/use-pointer-sync.js +13 -13
- package/dist/features/pointer-sync/hooks/use-pointer-sync.js.map +1 -1
- package/dist/features/pointer-sync/pointer.js +7 -7
- package/dist/features/pointer-sync/pointer.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js +5 -5
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy-utils.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy.js +3 -3
- package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock-styled.js +1 -1
- package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock.js +3 -3
- package/dist/features/post-game-stats/clock/clock.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +13 -12
- package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +11 -11
- package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/digital-meter.js +7 -7
- package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/helper.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/post-game-stats.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak-styled.js +5 -5
- package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak.js +1 -1
- package/dist/features/post-game-stats/streak/streak.js.map +1 -1
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator-styled.js.map +1 -1
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js +13 -13
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
- package/dist/features/sheet-tools/tool-header/tool-header-styled.js.map +1 -1
- package/dist/features/sheet-tools/tool-header/tool-header.js +14 -14
- package/dist/features/sheet-tools/tool-header/tool-header.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/styled.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/variant.js.map +1 -1
- package/dist/features/sheets/constants/sheet.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element-styled.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-styled.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js +3 -4
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.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 +14 -14
- 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-styled.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 +3 -3
- package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -1
- package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
- package/dist/features/sheets/resources-list/styled.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/target-element/target-element.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-styled.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/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-constant.js +2 -0
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.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/sheet-item/sheet-item-icon.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-styled.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-utils.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheets-list.js +15 -15
- package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
- package/dist/features/student-details/class-details/class-details-utils.js.map +1 -1
- package/dist/features/student-details/class-details/class-details.js.map +1 -1
- package/dist/features/student-details/student-details-styled.js.map +1 -1
- package/dist/features/student-details/student-details-utils.js.map +1 -1
- package/dist/features/student-details/student-details.js +17 -17
- package/dist/features/student-details/student-details.js.map +1 -1
- package/dist/features/student-details/wins-preview/wins-preview-styled.js.map +1 -1
- package/dist/features/student-details/wins-preview/wins-preview.js.map +1 -1
- package/dist/features/talk-meter/helper.js.map +1 -1
- package/dist/features/talk-meter/hooks/use-talk-meter.js.map +1 -1
- package/dist/features/talk-meter/ripple/index.js +1 -1
- package/dist/features/talk-meter/ripple/index.js.map +1 -1
- package/dist/features/talk-meter/talk-meter-styled.js +1 -1
- package/dist/features/talk-meter/talk-meter-styled.js.map +1 -1
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js +14 -12
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
- package/dist/features/talk-meter/talk-meter.js +23 -23
- package/dist/features/talk-meter/talk-meter.js.map +1 -1
- package/dist/features/trial-session/api/course-stream.js.map +1 -1
- package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
- package/dist/features/trial-session/comps/about-cuemath/index.js.map +1 -1
- package/dist/features/trial-session/comps/additional-info/additional-info.js.map +1 -1
- 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/background-grid/background-grid-styled.js.map +1 -1
- package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
- package/dist/features/trial-session/comps/background-grid/background-grid.js.map +1 -1
- package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
- package/dist/features/trial-session/comps/clock/clock.js.map +1 -1
- package/dist/features/trial-session/comps/communication-slide/index.js.map +1 -1
- package/dist/features/trial-session/comps/countdown-progress-bar/countdown-progress-bar.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/cues/cues-styled.js +6 -6
- package/dist/features/trial-session/comps/cue-tips/cues/index.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/tips/tips-styled.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.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/learning-session/learning-session-constants.js.map +1 -1
- package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
- package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
- package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
- package/dist/features/trial-session/comps/navigation-bar/navigation-bar-styled.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information-styled.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/board-comp.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing-styled.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
- package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-card.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/session-report.js +3 -3
- package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
- package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
- package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
- package/dist/features/trial-session/comps/solutions/solutions.styled.js +5 -5
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback.js +3 -3
- package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
- package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js +7 -7
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile-utils.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-intro-constants.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
- package/dist/features/trial-session/comps/test-prep/test-prep.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/trial-circle-game/trial-circle-game.js.map +1 -1
- package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
- package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
- package/dist/features/trial-session/helper.js.map +1 -1
- package/dist/features/trial-session/hooks/use-class-time-alerts.js.map +1 -1
- package/dist/features/trial-session/hooks/use-left-panel-button-state.js.map +1 -1
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/left-panel/index.js.map +1 -1
- package/dist/features/trial-session/right-panel/index.js.map +1 -1
- package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/trial-session/trial-session.js +6 -6
- package/dist/features/trial-session/trial-session.js.map +1 -1
- package/dist/features/ui/accordion-section/accordion-section.js +13 -13
- package/dist/features/ui/accordion-section/accordion-section.js.map +1 -1
- package/dist/features/ui/arc-button/arc-button.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +21 -20
- package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip-util.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +14 -14
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/avatar/avatar-types.js +5 -5
- package/dist/features/ui/avatar/avatar.js +11 -11
- package/dist/features/ui/avatar/avatar.js.map +1 -1
- package/dist/features/ui/avatar/layers/base/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-10.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-11.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-12.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-13.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-14.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-15.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-16.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-17.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-18.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-2.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-3.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-4.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-5.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-6.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-7.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-8.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-9.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-10.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-2.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-3.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-4.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-5.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-6.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-7.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-8.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-9.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-10.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-11.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-12.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-13.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-14.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-15.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-16.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-17.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-18.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-2.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-3.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-4.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-5.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-6.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-7.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-8.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-9.js.map +1 -1
- package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
- package/dist/features/ui/buttons/button/button.js +25 -25
- package/dist/features/ui/buttons/button/button.js.map +1 -1
- package/dist/features/ui/buttons/clickable/clickable.js +9 -9
- package/dist/features/ui/buttons/clickable/clickable.js.map +1 -1
- package/dist/features/ui/buttons/icon-button/icon-button-styled.js.map +1 -1
- package/dist/features/ui/buttons/icon-button/icon-button.js +14 -14
- package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
- package/dist/features/ui/buttons/text-button/text-button-styled.js.map +1 -1
- package/dist/features/ui/buttons/text-button/text-button.js +19 -19
- package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
- package/dist/features/ui/callout/callout.js +10 -10
- package/dist/features/ui/callout/callout.js.map +1 -1
- package/dist/features/ui/context/context.js.map +1 -1
- package/dist/features/ui/context/use-tracking-context.js +2 -2
- package/dist/features/ui/context/use-tracking-context.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu.js +13 -13
- package/dist/features/ui/context-menu/context-menu.js.map +1 -1
- package/dist/features/ui/error/error.js +11 -11
- package/dist/features/ui/error/error.js.map +1 -1
- package/dist/features/ui/grade-selector/grade-selector-styled.js.map +1 -1
- package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
- package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
- package/dist/features/ui/hooks/use-click-handler.js.map +1 -1
- package/dist/features/ui/hooks/use-context-menu-click-handler.js +17 -17
- package/dist/features/ui/hooks/use-context-menu-click-handler.js.map +1 -1
- package/dist/features/ui/hooks/use-response-handler.js.map +1 -1
- package/dist/features/ui/image/image.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/base-select-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/base-select-input.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-styled.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/cascading-select-input/cascading-select-input.js +23 -23
- package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input/checkbox-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +20 -20
- package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +16 -16
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
- package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js +6 -6
- package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js.map +1 -1
- package/dist/features/ui/inputs/num-range-input/num-range-input.js +4 -4
- package/dist/features/ui/inputs/num-range-input/num-range-input.js.map +1 -1
- package/dist/features/ui/inputs/percentile-input/percentile-input.js +21 -21
- package/dist/features/ui/inputs/percentile-input/percentile-input.js.map +1 -1
- package/dist/features/ui/inputs/percentile-input/percentile-styled.js.map +1 -1
- package/dist/features/ui/inputs/radio-input/radio-input.js +14 -14
- package/dist/features/ui/inputs/radio-input/radio-input.js.map +1 -1
- package/dist/features/ui/inputs/radio-input/radio-option/radio-option-styled.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-input/searchable-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input.js +3 -3
- package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -1
- package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js +17 -17
- package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js.map +1 -1
- package/dist/features/ui/inputs/searchable-select-input/use-filtered-options.js.map +1 -1
- package/dist/features/ui/inputs/select-input/select-input.js +3 -3
- package/dist/features/ui/inputs/select-input/select-input.js.map +1 -1
- package/dist/features/ui/inputs/text-input/text-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/text-input/text-input.js +33 -33
- package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
- package/dist/features/ui/layout/flex-view.js +23 -23
- package/dist/features/ui/layout/flex-view.js.map +1 -1
- package/dist/features/ui/loader/app-loader/app-loader.js +3 -3
- package/dist/features/ui/loader/app-loader/app-loader.js.map +1 -1
- package/dist/features/ui/lottie-animation/helper.js.map +1 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
- package/dist/features/ui/nudge/nudge.js +9 -9
- package/dist/features/ui/nudge/nudge.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-styled.js +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
- package/dist/features/ui/radio-cards/radio-card-option/radio-card-option-styled.js.map +1 -1
- package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js.map +1 -1
- package/dist/features/ui/radio-cards/radio-cards.js +15 -15
- package/dist/features/ui/radio-cards/radio-cards.js.map +1 -1
- package/dist/features/ui/section-list/section-list.js +9 -9
- package/dist/features/ui/section-list/section-list.js.map +1 -1
- package/dist/features/ui/selection-cards/selection-card-option/selection-card-option-styled.js.map +1 -1
- package/dist/features/ui/selection-cards/selection-card-option/selection-card-option.js.map +1 -1
- package/dist/features/ui/selection-cards/selection-cards.js +18 -18
- package/dist/features/ui/selection-cards/selection-cards.js.map +1 -1
- package/dist/features/ui/separator/separator.js +6 -6
- package/dist/features/ui/separator/separator.js.map +1 -1
- package/dist/features/ui/stepper/stepper-styled.js.map +1 -1
- package/dist/features/ui/stepper/stepper.js +7 -7
- package/dist/features/ui/stepper/stepper.js.map +1 -1
- package/dist/features/ui/streak-icon/streak-icon.js +14 -14
- package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
- package/dist/features/ui/superscript/superscript.js.map +1 -1
- package/dist/features/ui/tab/tab-styled.js.map +1 -1
- package/dist/features/ui/tab/tab.js +17 -17
- package/dist/features/ui/tab/tab.js.map +1 -1
- package/dist/features/ui/tag/tag-styled.js.map +1 -1
- package/dist/features/ui/tag/tag.js +4 -4
- package/dist/features/ui/tag/tag.js.map +1 -1
- package/dist/features/ui/text/text.js +24 -23
- package/dist/features/ui/text/text.js.map +1 -1
- package/dist/features/ui/theme/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/theme/button.js.map +1 -1
- package/dist/features/ui/theme/checkbox.js.map +1 -1
- package/dist/features/ui/theme/get-theme.js.map +1 -1
- package/dist/features/ui/theme/input.js.map +1 -1
- package/dist/features/ui/theme/layout.js.map +1 -1
- package/dist/features/ui/theme/tab.js.map +1 -1
- package/dist/features/ui/theme/text-button.js.map +1 -1
- package/dist/features/ui/theme/text.js.map +1 -1
- package/dist/features/ui/time-left-timeline/time-left-timeline-styled.js.map +1 -1
- package/dist/features/ui/time-left-timeline/time-left-timeline.js +16 -16
- package/dist/features/ui/time-left-timeline/time-left-timeline.js.map +1 -1
- package/dist/features/ui/timers/countdown-timer/countdown-timer.js +15 -15
- package/dist/features/ui/timers/countdown-timer/countdown-timer.js.map +1 -1
- package/dist/features/ui/video/index.js +3 -3
- package/dist/features/ui/video/index.js.map +1 -1
- package/dist/features/ui/video/styled.js.map +1 -1
- package/dist/features/utils/load-script.js +9 -9
- package/dist/features/utils/load-script.js.map +1 -1
- package/dist/features/utils/utils.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +25 -25
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/use-download-script.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js +2 -2
- package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js.map +1 -1
- package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js.map +1 -1
- package/dist/features/worksheet/user-pointer-pin/user-pin.js.map +1 -1
- package/dist/features/worksheet/worksheet/constants.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-get-active-question-id.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/hooks/use-s3-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-data-helper.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 +17 -17
- package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-helpers.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-helpers.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-styled.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-styled.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 +2 -2
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/sheet-locked.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/header.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-styled.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-feedback.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/advanced-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/exit-ticket-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.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-styled.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-sidebar/navigator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-styled.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-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 +5 -5
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-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 +16 -16
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/helpers/date-time.js.map +1 -1
- package/dist/helpers/get-device-details.js.map +1 -1
- package/dist/helpers/label-text.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +481 -481
- package/dist/node_modules/@cuemath/analytics-v2/dist/constants.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/formatters.js +2 -0
- package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
- package/dist/node_modules/date-fns/addDays.js.map +1 -1
- package/dist/node_modules/date-fns/addMonths.js.map +1 -1
- package/dist/node_modules/date-fns/constructNow.js.map +1 -1
- package/dist/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
- package/dist/node_modules/date-fns/format.js.map +1 -1
- package/dist/node_modules/date-fns/getDefaultOptions.js.map +1 -1
- package/dist/node_modules/date-fns/getISODay.js.map +1 -1
- package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/isAfter.js.map +1 -1
- package/dist/node_modules/date-fns/lastDayOfMonth.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
- package/dist/node_modules/date-fns/parse.js.map +1 -1
- package/dist/node_modules/date-fns/setDay.js.map +1 -1
- package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
- package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
- package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/transpose.js.map +1 -1
- package/dist/node_modules/fast-equals/dist/esm/index.js +133 -174
- package/dist/node_modules/fast-equals/dist/esm/index.js.map +1 -1
- package/dist/node_modules/filter-obj/index.js.map +1 -1
- package/dist/node_modules/humanize-plus/dist/humanize.js.map +1 -1
- package/dist/node_modules/lodash.debounce/index.js.map +1 -1
- package/dist/node_modules/lodash.isequal/index.js +1 -1
- package/dist/node_modules/lodash.isequal/index.js.map +1 -1
- package/dist/node_modules/lodash.throttle/index.js.map +1 -1
- package/dist/node_modules/query-string/base.js.map +1 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -1
- package/dist/node_modules/split-on-first/index.js.map +1 -1
- package/dist/node_modules/ua-parser-js/src/ua-parser.js +3 -3
- package/dist/node_modules/ua-parser-js/src/ua-parser.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trial-circle-game-launch-screen.js","sources":["../../../../../../src/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.tsx"],"sourcesContent":["import type { ITrialCircleGameLaunchScreenProps } from './trial-circle-game-launch-screen-types';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef } from 'react';\n\nimport { Tutorial } from '../../../../circle-games/games/tutorial/tutorial';\nimport { PlayerType } from '../../../../circle-games/games/web-view/enums';\nimport { ArcButton } from '../../../../ui/arc-button/arc-button';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './trial-circle-game-launch-screen-styled';\n\nexport const TrialCircleGameLaunchScreen: FC<ITrialCircleGameLaunchScreenProps> = memo(\n ({\n isLoading,\n playerType,\n description,\n descriptionHeader,\n assetUrl,\n isGamePlayed,\n assetUrlType = 'lottie',\n celebrationText,\n custEle,\n onPlay,\n }) => {\n const animationContainer = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (assetUrl && assetUrlType === 'lottie') {\n const animation = Lottie.loadAnimation({\n container: animationContainer.current as HTMLElement,\n path: assetUrl || '',\n loop: true,\n autoplay: true,\n });\n\n animation.play();\n }\n }, [assetUrl, assetUrlType]);\n\n return (\n <Styled.ModalWrapper>\n <Styled.ModalContainer>\n <Styled.ModalContainerBody>\n {celebrationText && (\n <>\n <Text $renderAs=\"ac3\" $color=\"GREEN_4\">\n {celebrationText}\n </Text>\n <Separator height={30} />\n </>\n )}\n {(custEle || assetUrlType === 'lottie') && (\n <Styled.CircularContainer\n isPlayed={isGamePlayed}\n bgColor={custEle ? 'GREEN_6' : 'TRANSPARENT'}\n >\n {isGamePlayed && <Styled.CompletionCheck />}\n {!custEle && assetUrl && assetUrlType === 'lottie' && (\n <Styled.LottieContainer ref={animationContainer} />\n )}\n {custEle}\n </Styled.CircularContainer>\n )}\n\n {/* no not tutorial when custEle is there to show */}\n {!custEle && assetUrl && assetUrlType === 'video' && (\n <Tutorial src={assetUrl} showProgress={false} />\n )}\n\n {/* description is allowed when no video to show */}\n {assetUrlType !== 'video' && (\n <Styled.DescriptionContainer>\n {descriptionHeader && (\n <>\n <Text $renderAs=\"ub2\" $align=\"center\" $color=\"WHITE\">\n {descriptionHeader}\n </Text>\n <Separator height={10} />\n </>\n )}\n {description && description.length > 0 && (\n <Styled.List>\n {description.map((item, index) => (\n <li key={`trial-list-item-${index}`}>\n <Text $renderAs=\"ub2\" $align=\"center\" $color=\"WHITE\">\n {item}\n </Text>\n </li>\n ))}\n </Styled.List>\n )}\n </Styled.DescriptionContainer>\n )}\n {(custEle || assetUrlType === 'lottie') && <Separator height={45} />}\n </Styled.ModalContainerBody>\n\n {playerType === PlayerType.TEACHER && (\n <ArcButton\n onClick={onPlay}\n analyticsLabel=\"start_game\"\n renderAs=\"secondary\"\n label={isLoading ? 'Waiting' : isGamePlayed ? 'Play again' : 'Start'}\n disabled={isLoading}\n >\n <Text $renderAs=\"ac3-black\" $align=\"center\">\n {isLoading ? 'Loading...' : isGamePlayed ? 'Play again' : 'Start'}\n </Text>\n </ArcButton>\n )}\n </Styled.ModalContainer>\n </Styled.ModalWrapper>\n );\n },\n);\n"],"names":["TrialCircleGameLaunchScreen","memo","isLoading","playerType","description","descriptionHeader","assetUrl","isGamePlayed","assetUrlType","celebrationText","custEle","onPlay","animationContainer","useRef","useEffect","Lottie","Styled.ModalWrapper","jsxs","Styled.ModalContainer","Styled.ModalContainerBody","Fragment","jsx","Text","Separator","Styled.CircularContainer","Styled.CompletionCheck","Styled.LottieContainer","Tutorial","Styled.DescriptionContainer","Styled.List","item","index","PlayerType","ArcButton"],"mappings":";;;;;;;;;AAaO,MAAMA,IAAqEC;AAAA,EAChF,CAAC;AAAA,IACC,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,iBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAqBC,EAAuB,IAAI;AAEtD,WAAAC,EAAU,MAAM;AACV,MAAAR,KAAYE,MAAiB,YACbO,EAAO,cAAc;AAAA,QACrC,WAAWH,EAAmB;AAAA,QAC9B,MAAMN,KAAY;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,MAAA,CACX,EAES,KAAK;AAAA,IACjB,GACC,CAACA,GAAUE,CAAY,CAAC,qBAGxBQ,GAAA,EACC,UAAC,gBAAAC,EAAAC,GAAA,EACC,UAAA;AAAA,MAAC,gBAAAD,EAAAE,GAAA,EACE,UAAA;AAAA,QAAAV,KAEG,gBAAAQ,EAAAG,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,WAC1B,UACHb,GAAA;AAAA,UACA,gBAAAY,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QAAA,GACzB;AAAA,SAEAb,KAAWF,MAAiB,aAC5B,gBAAAS;AAAA,UAACO;AAAAA,UAAA;AAAA,YACC,UAAUjB;AAAA,YACV,SAASG,IAAU,YAAY;AAAA,YAE9B,UAAA;AAAA,cAAgBH,KAAA,gBAAAc,EAACI,GAAA,EAAuB;AAAA,cACxC,CAACf,KAAWJ,KAAYE,MAAiB,8BACvCkB,GAAA,EAAuB,KAAKd,GAAoB;AAAA,cAElDF;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,QAID,CAACA,KAAWJ,KAAYE,MAAiB,6BACvCmB,GAAS,EAAA,KAAKrB,GAAU,cAAc,GAAO,CAAA;AAAA,QAI/CE,MAAiB,WACf,gBAAAS,EAAAW,GAAA,EACE,UAAA;AAAA,UAAAvB,KAEG,gBAAAY,EAAAG,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAC,EAACC,KAAK,WAAU,OAAM,QAAO,UAAS,QAAO,SAC1C,UACHjB,EAAA,CAAA;AAAA,YACA,gBAAAgB,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,UAAA,GACzB;AAAA,UAEDnB,KAAeA,EAAY,SAAS,KAClC,gBAAAiB,EAAAQ,GAAA,EACE,UAAYzB,EAAA,IAAI,CAAC0B,GAAMC,MACtB,gBAAAV,EAAC,MACC,EAAA,UAAA,gBAAAA,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,UAAS,QAAO,SAC1C,UAAAQ,
|
1
|
+
{"version":3,"file":"trial-circle-game-launch-screen.js","sources":["../../../../../../src/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.tsx"],"sourcesContent":["import type { ITrialCircleGameLaunchScreenProps } from './trial-circle-game-launch-screen-types';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef } from 'react';\n\nimport { Tutorial } from '../../../../circle-games/games/tutorial/tutorial';\nimport { PlayerType } from '../../../../circle-games/games/web-view/enums';\nimport { ArcButton } from '../../../../ui/arc-button/arc-button';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './trial-circle-game-launch-screen-styled';\n\nexport const TrialCircleGameLaunchScreen: FC<ITrialCircleGameLaunchScreenProps> = memo(\n ({\n isLoading,\n playerType,\n description,\n descriptionHeader,\n assetUrl,\n isGamePlayed,\n assetUrlType = 'lottie',\n celebrationText,\n custEle,\n onPlay,\n }) => {\n const animationContainer = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (assetUrl && assetUrlType === 'lottie') {\n const animation = Lottie.loadAnimation({\n container: animationContainer.current as HTMLElement,\n path: assetUrl || '',\n loop: true,\n autoplay: true,\n });\n\n animation.play();\n }\n }, [assetUrl, assetUrlType]);\n\n return (\n <Styled.ModalWrapper>\n <Styled.ModalContainer>\n <Styled.ModalContainerBody>\n {celebrationText && (\n <>\n <Text $renderAs=\"ac3\" $color=\"GREEN_4\">\n {celebrationText}\n </Text>\n <Separator height={30} />\n </>\n )}\n {(custEle || assetUrlType === 'lottie') && (\n <Styled.CircularContainer\n isPlayed={isGamePlayed}\n bgColor={custEle ? 'GREEN_6' : 'TRANSPARENT'}\n >\n {isGamePlayed && <Styled.CompletionCheck />}\n {!custEle && assetUrl && assetUrlType === 'lottie' && (\n <Styled.LottieContainer ref={animationContainer} />\n )}\n {custEle}\n </Styled.CircularContainer>\n )}\n\n {/* no not tutorial when custEle is there to show */}\n {!custEle && assetUrl && assetUrlType === 'video' && (\n <Tutorial src={assetUrl} showProgress={false} />\n )}\n\n {/* description is allowed when no video to show */}\n {assetUrlType !== 'video' && (\n <Styled.DescriptionContainer>\n {descriptionHeader && (\n <>\n <Text $renderAs=\"ub2\" $align=\"center\" $color=\"WHITE\">\n {descriptionHeader}\n </Text>\n <Separator height={10} />\n </>\n )}\n {description && description.length > 0 && (\n <Styled.List>\n {description.map((item, index) => (\n <li key={`trial-list-item-${index}`}>\n <Text $renderAs=\"ub2\" $align=\"center\" $color=\"WHITE\">\n {item}\n </Text>\n </li>\n ))}\n </Styled.List>\n )}\n </Styled.DescriptionContainer>\n )}\n {(custEle || assetUrlType === 'lottie') && <Separator height={45} />}\n </Styled.ModalContainerBody>\n\n {playerType === PlayerType.TEACHER && (\n <ArcButton\n onClick={onPlay}\n analyticsLabel=\"start_game\"\n renderAs=\"secondary\"\n label={isLoading ? 'Waiting' : isGamePlayed ? 'Play again' : 'Start'}\n disabled={isLoading}\n >\n <Text $renderAs=\"ac3-black\" $align=\"center\">\n {isLoading ? 'Loading...' : isGamePlayed ? 'Play again' : 'Start'}\n </Text>\n </ArcButton>\n )}\n </Styled.ModalContainer>\n </Styled.ModalWrapper>\n );\n },\n);\n"],"names":["TrialCircleGameLaunchScreen","memo","isLoading","playerType","description","descriptionHeader","assetUrl","isGamePlayed","assetUrlType","celebrationText","custEle","onPlay","animationContainer","useRef","useEffect","Lottie","Styled.ModalWrapper","jsxs","Styled.ModalContainer","Styled.ModalContainerBody","Fragment","jsx","Text","Separator","Styled.CircularContainer","Styled.CompletionCheck","Styled.LottieContainer","Tutorial","Styled.DescriptionContainer","Styled.List","item","index","PlayerType","ArcButton"],"mappings":";;;;;;;;;AAaO,MAAMA,IAAqEC;AAAA,EAChF,CAAC;AAAA,IACC,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,iBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAqBC,EAAuB,IAAI;AAEtD,WAAAC,EAAU,MAAM;AACV,MAAAR,KAAYE,MAAiB,YACbO,EAAO,cAAc;AAAA,QACrC,WAAWH,EAAmB;AAAA,QAC9B,MAAMN,KAAY;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,MAAA,CACX,EAES,KAAK;AAAA,IACjB,GACC,CAACA,GAAUE,CAAY,CAAC,qBAGxBQ,GAAA,EACC,UAAC,gBAAAC,EAAAC,GAAA,EACC,UAAA;AAAA,MAAC,gBAAAD,EAAAE,GAAA,EACE,UAAA;AAAA,QAAAV,KAEG,gBAAAQ,EAAAG,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,WAC1B,UACHb,GAAA;AAAA,UACA,gBAAAY,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QAAA,GACzB;AAAA,SAEAb,KAAWF,MAAiB,aAC5B,gBAAAS;AAAA,UAACO;AAAAA,UAAA;AAAA,YACC,UAAUjB;AAAA,YACV,SAASG,IAAU,YAAY;AAAA,YAE9B,UAAA;AAAA,cAAgBH,KAAA,gBAAAc,EAACI,GAAA,EAAuB;AAAA,cACxC,CAACf,KAAWJ,KAAYE,MAAiB,8BACvCkB,GAAA,EAAuB,KAAKd,GAAoB;AAAA,cAElDF;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,QAID,CAACA,KAAWJ,KAAYE,MAAiB,6BACvCmB,GAAS,EAAA,KAAKrB,GAAU,cAAc,GAAO,CAAA;AAAA,QAI/CE,MAAiB,WACf,gBAAAS,EAAAW,GAAA,EACE,UAAA;AAAA,UAAAvB,KAEG,gBAAAY,EAAAG,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAC,EAACC,KAAK,WAAU,OAAM,QAAO,UAAS,QAAO,SAC1C,UACHjB,EAAA,CAAA;AAAA,YACA,gBAAAgB,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,UAAA,GACzB;AAAA,UAEDnB,KAAeA,EAAY,SAAS,KAClC,gBAAAiB,EAAAQ,GAAA,EACE,UAAYzB,EAAA,IAAI,CAAC0B,GAAMC,MACtB,gBAAAV,EAAC,MACC,EAAA,UAAA,gBAAAA,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,UAAS,QAAO,SAC1C,UAAAQ,EACH,CAAA,EAHO,GAAA,mBAAmBC,CAAK,EAIjC,CACD,GACH;AAAA,QAAA,GAEJ;AAAA,SAEArB,KAAWF,MAAiB,aAAc,gBAAAa,EAAAE,GAAA,EAAU,QAAQ,IAAI;AAAA,MAAA,GACpE;AAAA,MAECpB,MAAe6B,EAAW,WACzB,gBAAAX;AAAA,QAACY;AAAA,QAAA;AAAA,UACC,SAAStB;AAAA,UACT,gBAAe;AAAA,UACf,UAAS;AAAA,UACT,OAAOT,IAAY,YAAYK,IAAe,eAAe;AAAA,UAC7D,UAAUL;AAAA,UAEV,UAAA,gBAAAmB,EAACC,GAAK,EAAA,WAAU,aAAY,QAAO,UAChC,UAAYpB,IAAA,eAAeK,IAAe,eAAe,QAC5D,CAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,EAEJ,CAAA,EACF,CAAA;AAAA,EAEJ;AACF;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trial-circle-game.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/trial-circle-game.tsx"],"sourcesContent":["import type {\n ILessonWebGameProps,\n IMultiplayerWebGameProps,\n IPlayer,\n IPlayerStats,\n IPuzzleWebGameProps,\n} from '../../../circle-games/games/web-view/web-view-types';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { getTimeStrInFormatHMS } from '../../../../helpers/date-time';\nimport { ProjectType } from '../../../circle-games/games/web-view/enums';\nimport { useWebViewGames } from '../../../circle-games/games/web-view/hooks/use-webview-games';\nimport { WebView } from '../../../circle-games/games/web-view/web-view';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { TrialPageId } from '../../trial-session-constants';\nimport { TrialCircleGameLaunchScreen } from './trial-circle-game-launch-screen/trial-circle-game-launch-screen';\nimport * as Styled from './trial-circle-game-styled';\n\nconst PROJECT_TYPE_MAP: Partial<Record<TrialPageId, Omit<ProjectType, ProjectType.TABLE>>> = {\n [TrialPageId.CIRCLE_GAME]: ProjectType.GAME,\n [TrialPageId.CIRCLE_PUZZLE]: ProjectType.PUZZLE,\n [TrialPageId.CIRCLE_SKILL]: ProjectType.LESSON,\n};\n\nconst TrialCircleGame = memo(() => {\n const { slideConfig, trialGameUrl, circleGames, formData, handleInfoMessage, updateSlideConfig } =\n useTrialSessionContext();\n const {\n showCircleGameScreen = true,\n isCircleGamePlayed = false,\n isCirclePuzzleSolved = false,\n isCircleSkillCompleted = false,\n accuracyStr = '',\n totalTimeTaken = 0,\n matchmakingId,\n } = formData || {};\n const webViewRef = useRef<HTMLIFrameElement>(null);\n const { playGame } = useWebViewGames({ webViewRef });\n const [isLoading, setIsLoading] = useState(true);\n\n const { header, id } = slideConfig;\n const projectType = PROJECT_TYPE_MAP[id];\n const { circleConfig, playerDetails } = circleGames;\n const { games, puzzles, lessons } = circleConfig ?? {};\n\n const isPlayed = useMemo(() => {\n const playedStats = {\n [ProjectType.GAME]: isCircleGamePlayed,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved,\n [ProjectType.LESSON]: isCircleSkillCompleted,\n };\n\n return playedStats;\n }, [isCircleGamePlayed, isCirclePuzzleSolved, isCircleSkillCompleted]);\n\n const assetUrl = useMemo(() => {\n const url: Omit<Record<ProjectType, string>, ProjectType.TABLE> = {\n [ProjectType.GAME]: isCircleGamePlayed ? games.game_card : games.tutorial,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved ? puzzles.game_card : puzzles.tutorial,\n [ProjectType.LESSON]: isCircleSkillCompleted ? lessons.game_card : lessons.tutorial,\n };\n\n return projectType\n ? url[projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>]\n : '';\n }, [\n projectType,\n games.game_card,\n games.tutorial,\n puzzles.game_card,\n puzzles.tutorial,\n lessons.game_card,\n lessons.tutorial,\n isCircleGamePlayed,\n isCirclePuzzleSolved,\n isCircleSkillCompleted,\n ]);\n\n const descriptionHeader = useMemo(() => {\n if (projectType === ProjectType.PUZZLE && isCirclePuzzleSolved) {\n return \"You've solved it!\";\n }\n\n return '';\n }, [projectType, isCirclePuzzleSolved]);\n\n const { circle_username, userId, grade, user_avatar, playerType, countryCode } =\n playerDetails ?? {};\n\n const playerData: IPlayer = {\n id: userId,\n username: circle_username,\n grade: grade,\n avatar: user_avatar,\n playerType,\n countryCode: countryCode || 'IN',\n };\n\n const projectDetails = useMemo(() => {\n const commonConfig = {\n joinByRoomId: matchmakingId,\n enableCloseButton: false,\n enablePlayerTurnIndicators: true,\n enableSync: true,\n };\n\n if (projectType === ProjectType.GAME) {\n return {\n ...commonConfig,\n projectId: games.project_id,\n variant: games.variant,\n projectType: ProjectType.GAME,\n } as IMultiplayerWebGameProps;\n }\n\n if (projectType === ProjectType.PUZZLE) {\n return {\n ...commonConfig,\n projectId: puzzles.project_id,\n variant: puzzles.variant,\n question: puzzles.question,\n askHintPermission: false,\n projectType: ProjectType.PUZZLE,\n } as IPuzzleWebGameProps;\n }\n\n return {\n ...commonConfig,\n projectId: lessons.project_id,\n variant: lessons.variant,\n miniGameIdentifier: lessons.mini_game_identifier,\n sessionId: lessons.session_id,\n targetQuestions: lessons.target_questions,\n projectType: ProjectType.LESSON,\n } as ILessonWebGameProps;\n\n // return commonConfig;\n }, [games, puzzles, lessons, projectType, matchmakingId]);\n\n const onGameLoad = useCallback(() => {\n setIsLoading(false);\n }, []);\n\n const handleBack = useCallback(() => {\n setIsLoading(true);\n if (\n projectType === ProjectType.GAME ||\n projectType === ProjectType.PUZZLE ||\n projectType === ProjectType.LESSON\n ) {\n updateSlideConfig({ showCircleGameScreen: true, matchmakingId: uuidv4() });\n }\n }, [projectType, updateSlideConfig]);\n\n const onPlay = useCallback(() => {\n updateSlideConfig({ showCircleGameScreen: false, accuracyStr: '', totalTimeTaken: 0 });\n }, [updateSlideConfig]);\n\n const handleGameFinish = useCallback(\n (playerStats: IPlayerStats) => {\n setIsLoading(true);\n if (projectType === ProjectType.LESSON) {\n updateSlideConfig({\n accuracyStr: playerStats.value,\n totalTimeTaken: playerStats.timeSpent,\n isCircleSkillCompleted: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.GAME) {\n updateSlideConfig({\n isCircleGamePlayed: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({\n isCirclePuzzleSolved: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n }\n },\n [updateSlideConfig, projectType],\n );\n\n const getCustEle = useCallback(() => {\n if (accuracyStr && totalTimeTaken) {\n return (\n <>\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Finished in\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {getTimeStrInFormatHMS(totalTimeTaken)}\n </Text>\n </FlexView>\n <Separator height={20} />\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Accuracy:\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {accuracyStr}\n </Text>\n </FlexView>\n </>\n );\n }\n\n return null;\n }, [accuracyStr, totalTimeTaken]);\n\n useEffect(() => {\n if (!isLoading && !showCircleGameScreen) {\n playGame();\n }\n }, [showCircleGameScreen, playGame, isLoading]);\n\n return (\n <Styled.GameContainer>\n <Separator height={16} />\n <Text $renderAs=\"ah3-bold\" $color=\"WHITE_T_87\" $align=\"center\" $marginBottom={16}>\n {header}\n </Text>\n <Styled.GameWrapper>\n {showCircleGameScreen && (\n <Styled.GameLaunchOverlay>\n <TrialCircleGameLaunchScreen\n assetUrl={assetUrl}\n assetUrlType={assetUrl.endsWith('mp4') ? 'video' : 'lottie'}\n descriptionHeader={descriptionHeader}\n playerType={playerType}\n isLoading={isLoading}\n isGamePlayed={\n (projectType &&\n isPlayed[\n projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>\n ]) ??\n false\n }\n onPlay={onPlay}\n custEle={projectType === ProjectType.LESSON ? getCustEle() : undefined}\n celebrationText={\n projectType &&\n isPlayed[projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>]\n ? 'WELL DONE!'\n : ''\n }\n />\n </Styled.GameLaunchOverlay>\n )}\n {matchmakingId && (\n <WebView\n key={matchmakingId}\n ref={webViewRef}\n height=\"100%\"\n width=\"100%\"\n baseUrl={trialGameUrl}\n playerDetails={playerData}\n projectDetails={projectDetails}\n onGameLoad={onGameLoad}\n onBack={handleBack}\n handleInfoMessage={handleInfoMessage}\n onGamePlayFinish={handleGameFinish}\n parentDomain={window.location.origin}\n />\n )}\n </Styled.GameWrapper>\n </Styled.GameContainer>\n );\n});\n\nexport default TrialCircleGame;\n"],"names":["PROJECT_TYPE_MAP","TrialPageId","ProjectType","TrialCircleGame","memo","slideConfig","trialGameUrl","circleGames","formData","handleInfoMessage","updateSlideConfig","useTrialSessionContext","showCircleGameScreen","isCircleGamePlayed","isCirclePuzzleSolved","isCircleSkillCompleted","accuracyStr","totalTimeTaken","matchmakingId","webViewRef","useRef","playGame","useWebViewGames","isLoading","setIsLoading","useState","header","id","projectType","circleConfig","playerDetails","games","puzzles","lessons","isPlayed","useMemo","assetUrl","url","descriptionHeader","circle_username","userId","grade","user_avatar","playerType","countryCode","playerData","projectDetails","commonConfig","onGameLoad","useCallback","handleBack","uuidv4","onPlay","handleGameFinish","playerStats","getCustEle","jsxs","Fragment","FlexView","jsx","Text","Separator","getTimeStrInFormatHMS","useEffect","Styled.GameContainer","Styled.GameWrapper","Styled.GameLaunchOverlay","TrialCircleGameLaunchScreen","WebView"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"trial-circle-game.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/trial-circle-game.tsx"],"sourcesContent":["import type {\n ILessonWebGameProps,\n IMultiplayerWebGameProps,\n IPlayer,\n IPlayerStats,\n IPuzzleWebGameProps,\n} from '../../../circle-games/games/web-view/web-view-types';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { getTimeStrInFormatHMS } from '../../../../helpers/date-time';\nimport { ProjectType } from '../../../circle-games/games/web-view/enums';\nimport { useWebViewGames } from '../../../circle-games/games/web-view/hooks/use-webview-games';\nimport { WebView } from '../../../circle-games/games/web-view/web-view';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { TrialPageId } from '../../trial-session-constants';\nimport { TrialCircleGameLaunchScreen } from './trial-circle-game-launch-screen/trial-circle-game-launch-screen';\nimport * as Styled from './trial-circle-game-styled';\n\nconst PROJECT_TYPE_MAP: Partial<Record<TrialPageId, Omit<ProjectType, ProjectType.TABLE>>> = {\n [TrialPageId.CIRCLE_GAME]: ProjectType.GAME,\n [TrialPageId.CIRCLE_PUZZLE]: ProjectType.PUZZLE,\n [TrialPageId.CIRCLE_SKILL]: ProjectType.LESSON,\n};\n\nconst TrialCircleGame = memo(() => {\n const { slideConfig, trialGameUrl, circleGames, formData, handleInfoMessage, updateSlideConfig } =\n useTrialSessionContext();\n const {\n showCircleGameScreen = true,\n isCircleGamePlayed = false,\n isCirclePuzzleSolved = false,\n isCircleSkillCompleted = false,\n accuracyStr = '',\n totalTimeTaken = 0,\n matchmakingId,\n } = formData || {};\n const webViewRef = useRef<HTMLIFrameElement>(null);\n const { playGame } = useWebViewGames({ webViewRef });\n const [isLoading, setIsLoading] = useState(true);\n\n const { header, id } = slideConfig;\n const projectType = PROJECT_TYPE_MAP[id];\n const { circleConfig, playerDetails } = circleGames;\n const { games, puzzles, lessons } = circleConfig ?? {};\n\n const isPlayed = useMemo(() => {\n const playedStats = {\n [ProjectType.GAME]: isCircleGamePlayed,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved,\n [ProjectType.LESSON]: isCircleSkillCompleted,\n };\n\n return playedStats;\n }, [isCircleGamePlayed, isCirclePuzzleSolved, isCircleSkillCompleted]);\n\n const assetUrl = useMemo(() => {\n const url: Omit<Record<ProjectType, string>, ProjectType.TABLE> = {\n [ProjectType.GAME]: isCircleGamePlayed ? games.game_card : games.tutorial,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved ? puzzles.game_card : puzzles.tutorial,\n [ProjectType.LESSON]: isCircleSkillCompleted ? lessons.game_card : lessons.tutorial,\n };\n\n return projectType\n ? url[projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>]\n : '';\n }, [\n projectType,\n games.game_card,\n games.tutorial,\n puzzles.game_card,\n puzzles.tutorial,\n lessons.game_card,\n lessons.tutorial,\n isCircleGamePlayed,\n isCirclePuzzleSolved,\n isCircleSkillCompleted,\n ]);\n\n const descriptionHeader = useMemo(() => {\n if (projectType === ProjectType.PUZZLE && isCirclePuzzleSolved) {\n return \"You've solved it!\";\n }\n\n return '';\n }, [projectType, isCirclePuzzleSolved]);\n\n const { circle_username, userId, grade, user_avatar, playerType, countryCode } =\n playerDetails ?? {};\n\n const playerData: IPlayer = {\n id: userId,\n username: circle_username,\n grade: grade,\n avatar: user_avatar,\n playerType,\n countryCode: countryCode || 'IN',\n };\n\n const projectDetails = useMemo(() => {\n const commonConfig = {\n joinByRoomId: matchmakingId,\n enableCloseButton: false,\n enablePlayerTurnIndicators: true,\n enableSync: true,\n };\n\n if (projectType === ProjectType.GAME) {\n return {\n ...commonConfig,\n projectId: games.project_id,\n variant: games.variant,\n projectType: ProjectType.GAME,\n } as IMultiplayerWebGameProps;\n }\n\n if (projectType === ProjectType.PUZZLE) {\n return {\n ...commonConfig,\n projectId: puzzles.project_id,\n variant: puzzles.variant,\n question: puzzles.question,\n askHintPermission: false,\n projectType: ProjectType.PUZZLE,\n } as IPuzzleWebGameProps;\n }\n\n return {\n ...commonConfig,\n projectId: lessons.project_id,\n variant: lessons.variant,\n miniGameIdentifier: lessons.mini_game_identifier,\n sessionId: lessons.session_id,\n targetQuestions: lessons.target_questions,\n projectType: ProjectType.LESSON,\n } as ILessonWebGameProps;\n\n // return commonConfig;\n }, [games, puzzles, lessons, projectType, matchmakingId]);\n\n const onGameLoad = useCallback(() => {\n setIsLoading(false);\n }, []);\n\n const handleBack = useCallback(() => {\n setIsLoading(true);\n if (\n projectType === ProjectType.GAME ||\n projectType === ProjectType.PUZZLE ||\n projectType === ProjectType.LESSON\n ) {\n updateSlideConfig({ showCircleGameScreen: true, matchmakingId: uuidv4() });\n }\n }, [projectType, updateSlideConfig]);\n\n const onPlay = useCallback(() => {\n updateSlideConfig({ showCircleGameScreen: false, accuracyStr: '', totalTimeTaken: 0 });\n }, [updateSlideConfig]);\n\n const handleGameFinish = useCallback(\n (playerStats: IPlayerStats) => {\n setIsLoading(true);\n if (projectType === ProjectType.LESSON) {\n updateSlideConfig({\n accuracyStr: playerStats.value,\n totalTimeTaken: playerStats.timeSpent,\n isCircleSkillCompleted: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.GAME) {\n updateSlideConfig({\n isCircleGamePlayed: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({\n isCirclePuzzleSolved: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n }\n },\n [updateSlideConfig, projectType],\n );\n\n const getCustEle = useCallback(() => {\n if (accuracyStr && totalTimeTaken) {\n return (\n <>\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Finished in\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {getTimeStrInFormatHMS(totalTimeTaken)}\n </Text>\n </FlexView>\n <Separator height={20} />\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Accuracy:\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {accuracyStr}\n </Text>\n </FlexView>\n </>\n );\n }\n\n return null;\n }, [accuracyStr, totalTimeTaken]);\n\n useEffect(() => {\n if (!isLoading && !showCircleGameScreen) {\n playGame();\n }\n }, [showCircleGameScreen, playGame, isLoading]);\n\n return (\n <Styled.GameContainer>\n <Separator height={16} />\n <Text $renderAs=\"ah3-bold\" $color=\"WHITE_T_87\" $align=\"center\" $marginBottom={16}>\n {header}\n </Text>\n <Styled.GameWrapper>\n {showCircleGameScreen && (\n <Styled.GameLaunchOverlay>\n <TrialCircleGameLaunchScreen\n assetUrl={assetUrl}\n assetUrlType={assetUrl.endsWith('mp4') ? 'video' : 'lottie'}\n descriptionHeader={descriptionHeader}\n playerType={playerType}\n isLoading={isLoading}\n isGamePlayed={\n (projectType &&\n isPlayed[\n projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>\n ]) ??\n false\n }\n onPlay={onPlay}\n custEle={projectType === ProjectType.LESSON ? getCustEle() : undefined}\n celebrationText={\n projectType &&\n isPlayed[projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>]\n ? 'WELL DONE!'\n : ''\n }\n />\n </Styled.GameLaunchOverlay>\n )}\n {matchmakingId && (\n <WebView\n key={matchmakingId}\n ref={webViewRef}\n height=\"100%\"\n width=\"100%\"\n baseUrl={trialGameUrl}\n playerDetails={playerData}\n projectDetails={projectDetails}\n onGameLoad={onGameLoad}\n onBack={handleBack}\n handleInfoMessage={handleInfoMessage}\n onGamePlayFinish={handleGameFinish}\n parentDomain={window.location.origin}\n />\n )}\n </Styled.GameWrapper>\n </Styled.GameContainer>\n );\n});\n\nexport default TrialCircleGame;\n"],"names":["PROJECT_TYPE_MAP","TrialPageId","ProjectType","TrialCircleGame","memo","slideConfig","trialGameUrl","circleGames","formData","handleInfoMessage","updateSlideConfig","useTrialSessionContext","showCircleGameScreen","isCircleGamePlayed","isCirclePuzzleSolved","isCircleSkillCompleted","accuracyStr","totalTimeTaken","matchmakingId","webViewRef","useRef","playGame","useWebViewGames","isLoading","setIsLoading","useState","header","id","projectType","circleConfig","playerDetails","games","puzzles","lessons","isPlayed","useMemo","assetUrl","url","descriptionHeader","circle_username","userId","grade","user_avatar","playerType","countryCode","playerData","projectDetails","commonConfig","onGameLoad","useCallback","handleBack","uuidv4","onPlay","handleGameFinish","playerStats","getCustEle","jsxs","Fragment","FlexView","jsx","Text","Separator","getTimeStrInFormatHMS","useEffect","Styled.GameContainer","Styled.GameWrapper","Styled.GameLaunchOverlay","TrialCircleGameLaunchScreen","WebView"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worksheet.js","sources":["../../../../../src/features/trial-session/comps/worksheet/worksheet.tsx"],"sourcesContent":["import type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport type { FC } from 'react';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport Error from '../../../ui/error/error';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport { useResumeTrialWorksheet } from '../../api/trial-nodes';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\n\nconst SessionWorksheet: FC = () => {\n const { isTeacher, studentId, worksheet, updateSlideConfig, trialHomeData } =\n useTrialSessionContext();\n const [isError, setIserror] = useState<boolean>(false);\n\n const { demo_info: demoInfo } = trialHomeData;\n const { region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n\n const onComplete = (error: string | null, sheetData?: IResumeWorksheetModel) => {\n if (error) {\n setIserror(true);\n }\n\n if (sheetData) {\n const {\n user_node_id: userNodeId,\n node_id: nodeId,\n user_attempt_id: attemptId,\n node_type: nodeType,\n } = sheetData;\n\n updateSlideConfig({ userNodeId, nodeId, attemptId, nodeType });\n }\n };\n\n const { patch: resumeNode, isProcessing } = useResumeTrialWorksheet({\n onComplete,\n });\n\n const fetchData = useCallback(() => {\n if (isTeacher) {\n setIserror(false);\n resumeNode(studentId, { country_code: countryCode });\n }\n }, [countryCode, isTeacher, resumeNode, studentId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isError) {\n return <Error height=\"100%\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !worksheet) {\n return <AppLoader height=\"100%\" />;\n }\n\n return worksheet;\n};\n\nexport default SessionWorksheet;\n"],"names":["SessionWorksheet","isTeacher","studentId","worksheet","updateSlideConfig","trialHomeData","useTrialSessionContext","isError","setIserror","useState","demoInfo","regionData","countryCode","onComplete","error","sheetData","userNodeId","nodeId","attemptId","nodeType","resumeNode","isProcessing","useResumeTrialWorksheet","fetchData","useCallback","useEffect","jsx","Error","AppLoader"],"mappings":";;;;;;AAUA,MAAMA,IAAuB,MAAM;AACjC,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,GAAW,mBAAAC,GAAmB,eAAAC,
|
1
|
+
{"version":3,"file":"worksheet.js","sources":["../../../../../src/features/trial-session/comps/worksheet/worksheet.tsx"],"sourcesContent":["import type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport type { FC } from 'react';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport Error from '../../../ui/error/error';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport { useResumeTrialWorksheet } from '../../api/trial-nodes';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\n\nconst SessionWorksheet: FC = () => {\n const { isTeacher, studentId, worksheet, updateSlideConfig, trialHomeData } =\n useTrialSessionContext();\n const [isError, setIserror] = useState<boolean>(false);\n\n const { demo_info: demoInfo } = trialHomeData;\n const { region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n\n const onComplete = (error: string | null, sheetData?: IResumeWorksheetModel) => {\n if (error) {\n setIserror(true);\n }\n\n if (sheetData) {\n const {\n user_node_id: userNodeId,\n node_id: nodeId,\n user_attempt_id: attemptId,\n node_type: nodeType,\n } = sheetData;\n\n updateSlideConfig({ userNodeId, nodeId, attemptId, nodeType });\n }\n };\n\n const { patch: resumeNode, isProcessing } = useResumeTrialWorksheet({\n onComplete,\n });\n\n const fetchData = useCallback(() => {\n if (isTeacher) {\n setIserror(false);\n resumeNode(studentId, { country_code: countryCode });\n }\n }, [countryCode, isTeacher, resumeNode, studentId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isError) {\n return <Error height=\"100%\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !worksheet) {\n return <AppLoader height=\"100%\" />;\n }\n\n return worksheet;\n};\n\nexport default SessionWorksheet;\n"],"names":["SessionWorksheet","isTeacher","studentId","worksheet","updateSlideConfig","trialHomeData","useTrialSessionContext","isError","setIserror","useState","demoInfo","regionData","countryCode","onComplete","error","sheetData","userNodeId","nodeId","attemptId","nodeType","resumeNode","isProcessing","useResumeTrialWorksheet","fetchData","useCallback","useEffect","jsx","Error","AppLoader"],"mappings":";;;;;;AAUA,MAAMA,IAAuB,MAAM;AACjC,QAAM,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,GAAW,mBAAAC,GAAmB,eAAAC,EAAA,IAC1DC,KACI,CAACC,GAASC,CAAU,IAAIC,EAAkB,EAAK,GAE/C,EAAE,WAAWC,EAAa,IAAAL,GAC1B,EAAE,aAAaM,MAAeD,KAAY,CAAA,GAC1C,EAAE,qBAAqBE,IAAc,KAAK,IAAID,KAAc,CAAA,GAE5DE,IAAa,CAACC,GAAsBC,MAAsC;AAK9E,QAJID,KACFN,EAAW,EAAI,GAGbO,GAAW;AACP,YAAA;AAAA,QACJ,cAAcC;AAAA,QACd,SAASC;AAAA,QACT,iBAAiBC;AAAA,QACjB,WAAWC;AAAA,MACT,IAAAJ;AAEJ,MAAAX,EAAkB,EAAE,YAAAY,GAAY,QAAAC,GAAQ,WAAAC,GAAW,UAAAC,EAAU,CAAA;AAAA,IAC/D;AAAA,EAAA,GAGI,EAAE,OAAOC,GAAY,cAAAC,EAAA,IAAiBC,EAAwB;AAAA,IAClE,YAAAT;AAAA,EAAA,CACD,GAEKU,IAAYC,EAAY,MAAM;AAClC,IAAIvB,MACFO,EAAW,EAAK,GAChBY,EAAWlB,GAAW,EAAE,cAAcU,EAAa,CAAA;AAAA,KAEpD,CAACA,GAAaX,GAAWmB,GAAYlB,CAAS,CAAC;AAMlD,SAJAuB,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEVhB,IACM,gBAAAmB,EAAAC,GAAA,EAAM,QAAO,QAAO,YAAYJ,EAAW,CAAA,IAGjDF,KAAgB,CAAClB,IACZ,gBAAAuB,EAACE,GAAU,EAAA,QAAO,OAAO,CAAA,IAG3BzB;AACT;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trial-session-context.js","sources":["../../../../src/features/trial-session/context/trial-session-context.tsx"],"sourcesContent":["import type { IMilestoneConfig } from '../../milestone/create/milestone-create-types';\nimport type { ITrialCircleGameParams } from '../comps/trial-circle-game/trial-circle-game-types';\nimport type {\n IClassTimeAlertConfig,\n ISlide,\n ITrialHomeData,\n ITrialSessionContext,\n} from '../trial-session-types';\n\nimport { createContext } from 'react';\n\nimport { DEFAULT_BUTTON_STATE } from '../trial-session-constants';\n\nconst TrialSessionContext = createContext<ITrialSessionContext>({\n isTeacher: false,\n slideConfig: {} as ISlide,\n formData: undefined,\n milestoneConfig: {} as IMilestoneConfig,\n updateSlideConfig: () => undefined,\n buttonState: DEFAULT_BUTTON_STATE,\n updateButtonState: () => undefined,\n teacherId: '',\n studentId: '',\n trialHomeData: {} as ITrialHomeData,\n openEndClassModal: () => undefined,\n studentAbsentInClass: false,\n circleGames: {} as ITrialCircleGameParams,\n trialGameUrl: '',\n handleInfoMessage: () => undefined,\n classTimeAlertConfig: {} as IClassTimeAlertConfig,\n classDuration: 0,\n});\n\nexport default TrialSessionContext;\n"],"names":["TrialSessionContext","createContext","DEFAULT_BUTTON_STATE"],"mappings":";;AAaA,MAAMA,IAAsBC,EAAoC;AAAA,EAC9D,WAAW;AAAA,EACX,aAAa,CAAC;AAAA,EACd,UAAU;AAAA,EACV,iBAAiB,CAAC;AAAA,EAClB,mBAAmB,
|
1
|
+
{"version":3,"file":"trial-session-context.js","sources":["../../../../src/features/trial-session/context/trial-session-context.tsx"],"sourcesContent":["import type { IMilestoneConfig } from '../../milestone/create/milestone-create-types';\nimport type { ITrialCircleGameParams } from '../comps/trial-circle-game/trial-circle-game-types';\nimport type {\n IClassTimeAlertConfig,\n ISlide,\n ITrialHomeData,\n ITrialSessionContext,\n} from '../trial-session-types';\n\nimport { createContext } from 'react';\n\nimport { DEFAULT_BUTTON_STATE } from '../trial-session-constants';\n\nconst TrialSessionContext = createContext<ITrialSessionContext>({\n isTeacher: false,\n slideConfig: {} as ISlide,\n formData: undefined,\n milestoneConfig: {} as IMilestoneConfig,\n updateSlideConfig: () => undefined,\n buttonState: DEFAULT_BUTTON_STATE,\n updateButtonState: () => undefined,\n teacherId: '',\n studentId: '',\n trialHomeData: {} as ITrialHomeData,\n openEndClassModal: () => undefined,\n studentAbsentInClass: false,\n circleGames: {} as ITrialCircleGameParams,\n trialGameUrl: '',\n handleInfoMessage: () => undefined,\n classTimeAlertConfig: {} as IClassTimeAlertConfig,\n classDuration: 0,\n});\n\nexport default TrialSessionContext;\n"],"names":["TrialSessionContext","createContext","DEFAULT_BUTTON_STATE"],"mappings":";;AAaA,MAAMA,IAAsBC,EAAoC;AAAA,EAC9D,WAAW;AAAA,EACX,aAAa,CAAC;AAAA,EACd,UAAU;AAAA,EACV,iBAAiB,CAAC;AAAA,EAClB,mBAAmB,MAAM;AAAA;AAAA,EACzB,aAAaC;AAAA,EACb,mBAAmB,MAAM;AAAA;AAAA,EACzB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,mBAAmB,MAAM;AAAA;AAAA,EACzB,sBAAsB;AAAA,EACtB,aAAa,CAAC;AAAA,EACd,cAAc;AAAA,EACd,mBAAmB,MAAM;AAAA;AAAA,EACzB,sBAAsB,CAAC;AAAA,EACvB,eAAe;AACjB,CAAC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helper.js","sources":["../../../src/features/trial-session/helper.ts"],"sourcesContent":["import type { IMilestoneConfig } from '../milestone/create/milestone-create-types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type { ITrialHomeData, TGoals } from './trial-session-types';\n\nimport { DAYS } from '../../constants/date-time';\nimport {\n convertEpochToDateTime,\n convertToMilliseconds,\n getOffsetBetweenTimezone,\n getTimeUnits,\n} from '../../helpers/date-time';\nimport { GOAL_CATEGORY } from '../milestone/constants';\nimport { getGoalsFromConfig } from '../milestone/create/milestone-create-helpers';\nimport { TEACHER_TIMEZONE, TrialPageId } from './trial-session-constants';\n\nconst updateGoalInFormData = (goals: TGoals[] | undefined, goalCategory: string, data: TGoals) => {\n const updateGoals = goals ? [...goals] : [];\n const goalIndex = updateGoals?.findIndex(goal => goal.goal_category === goalCategory);\n\n if (goalIndex === -1) {\n const schoolSuccessGoal = {\n ...data,\n goal_category: goalCategory,\n publish: false,\n };\n\n updateGoals.push(schoolSuccessGoal);\n } else {\n updateGoals[goalIndex] = {\n ...updateGoals[goalIndex],\n ...data,\n };\n }\n\n return updateGoals;\n};\n\nconst getFormattedPreferences = (preferences: TPreference[], studentTimezone?: string) => {\n if (!studentTimezone) return [];\n\n const todayTimestamp = new Date().setHours(0, 0, 0, 0); // Set the current date to midnight.\n const timestampOffset = getOffsetBetweenTimezone(TEACHER_TIMEZONE, studentTimezone); // Offset between the teacher's and student's timezone.\n const studentTimestamp = todayTimestamp + timestampOffset; // Adjusting the current date to the student's timezone.\n const { day: today = '' } = convertEpochToDateTime(studentTimestamp, studentTimezone); // Current day at student's timezone.\n const currentDayIndex = DAYS.indexOf(today); // Current day index.\n\n return preferences.length > 0\n ? preferences\n .filter(preference => preference.selectedDay && preference.selectedTime)\n .map(preference => {\n const { selectedDay, selectedTime } = preference;\n // Extracting hours, minutes, and period from the selected time.\n const { hours, minutes, period } = getTimeUnits(selectedTime);\n\n // Calculating the index of the selected day in the DAYS array.\n const selectedDayIndex = DAYS.indexOf(selectedDay);\n const dayDifference = (selectedDayIndex - currentDayIndex + 7) % 7;\n\n // Calculate the epoch timestamp for the selected day and time in the student's timezone.\n const epochTimestamp =\n todayTimestamp +\n timestampOffset +\n convertToMilliseconds({ days: dayDifference, hours, minutes });\n\n return {\n id: epochTimestamp,\n value: `${selectedDay}, ${selectedTime} - ${hours + 1}:${\n minutes < 10 ? '0' : ''\n }${minutes} ${period}`, // Formatted the value string as required\n };\n })\n : [];\n};\n\nconst filterAndUpdateSlideNavigation = ({\n milestoneConfigData,\n trialHomeData,\n grade,\n}: {\n milestoneConfigData: IMilestoneConfig;\n trialHomeData: ITrialHomeData;\n grade?: string;\n}) => {\n const { student, demo_info: demoInfo } = trialHomeData;\n const { grade: studentGrade } = student || {};\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n\n const getGoals = (goalCategory: keyof typeof GOAL_CATEGORY) =>\n getGoalsFromConfig(milestoneConfigData, {\n countryCode,\n grade: grade || studentGrade || '',\n goalCategory,\n courseStream: stream,\n enrollmentType: 'ONLINE',\n });\n\n const testPrepGoals = getGoals(GOAL_CATEGORY.TEST_PREP);\n const enrichmentGoals = getGoals(GOAL_CATEGORY.ENRICHMENT);\n\n if (testPrepGoals?.length > 0 && enrichmentGoals?.length > 0) {\n return trialHomeData;\n }\n\n const updatedTrialHomeData = { ...trialHomeData };\n\n const pagesMap = Object.fromEntries(updatedTrialHomeData.pages.map(page => [page.id, page]));\n\n //slide whose nextPage reference needs to be updated\n const slideIdToUpdate = (() => {\n if (\n pagesMap[TrialPageId.SCHOOL_GOALS]?.nextPage?.pageId === TrialPageId.TEST_PREP &&\n testPrepGoals.length === 0\n ) {\n return TrialPageId.SCHOOL_GOALS;\n }\n\n if (\n testPrepGoals.length > 0 &&\n pagesMap[TrialPageId.TEST_PREP]?.nextPage?.pageId === TrialPageId.STUDENT_ENRICHMENT &&\n enrichmentGoals.length === 0\n ) {\n return TrialPageId.TEST_PREP;\n }\n\n return null;\n })();\n\n // the new next page reference for slideIdToUpdate\n const updatedNextPageInfo = slideIdToUpdate\n ? pagesMap[\n enrichmentGoals?.length === 0 ? TrialPageId.STUDENT_ENRICHMENT : TrialPageId.TEST_PREP\n ]?.nextPage\n : null;\n\n // updating the nextPage and prevPage references\n if (updatedNextPageInfo && slideIdToUpdate) {\n const shouldRemoveSlide = (slideId: TrialPageId) =>\n (testPrepGoals.length === 0 && slideId === TrialPageId.TEST_PREP) ||\n (enrichmentGoals.length === 0 && slideId === TrialPageId.STUDENT_ENRICHMENT);\n\n const filteredSlides = updatedTrialHomeData.pages.filter(page => !shouldRemoveSlide(page.id));\n\n updatedTrialHomeData.pages = filteredSlides.map(page => {\n if (page.id === slideIdToUpdate) {\n return { ...page, nextPage: updatedNextPageInfo };\n }\n\n if (page.id === updatedNextPageInfo.pageId) {\n return {\n ...page,\n prevPage: {\n buttonLabel: pagesMap[slideIdToUpdate]?.navigationLabel ?? '',\n pageId: slideIdToUpdate,\n },\n };\n }\n\n return page;\n });\n }\n\n return updatedTrialHomeData;\n};\n\nconst getFormattedStudentPersonalizedPreference = (\n config: IMilestoneConfig,\n selectedCodes: string[],\n) => {\n const { preference_config: preferenceConfig } = config;\n\n if (selectedCodes.length > 0) {\n return (\n preferenceConfig\n ?.filter(pref => selectedCodes.includes(pref.preference_code))\n ?.map(({ preference_code, preference_name, preference_category }) => ({\n preference_code,\n preference_name,\n preference_category,\n })) || []\n );\n }\n\n return [];\n};\n\nexport {\n filterAndUpdateSlideNavigation,\n updateGoalInFormData,\n getFormattedPreferences,\n getFormattedStudentPersonalizedPreference,\n};\n"],"names":["updateGoalInFormData","goals","goalCategory","data","updateGoals","goalIndex","goal","schoolSuccessGoal","getFormattedPreferences","preferences","studentTimezone","todayTimestamp","timestampOffset","getOffsetBetweenTimezone","TEACHER_TIMEZONE","studentTimestamp","today","convertEpochToDateTime","currentDayIndex","DAYS","preference","selectedDay","selectedTime","hours","minutes","period","getTimeUnits","dayDifference","convertToMilliseconds","filterAndUpdateSlideNavigation","milestoneConfigData","trialHomeData","grade","student","demoInfo","studentGrade","stream","regionData","countryCode","getGoals","getGoalsFromConfig","testPrepGoals","GOAL_CATEGORY","enrichmentGoals","updatedTrialHomeData","pagesMap","page","slideIdToUpdate","_b","_a","TrialPageId","_d","_c","updatedNextPageInfo","shouldRemoveSlide","slideId","filteredSlides","getFormattedStudentPersonalizedPreference","config","selectedCodes","preferenceConfig","pref","preference_code","preference_name","preference_category"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"helper.js","sources":["../../../src/features/trial-session/helper.ts"],"sourcesContent":["import type { IMilestoneConfig } from '../milestone/create/milestone-create-types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type { ITrialHomeData, TGoals } from './trial-session-types';\n\nimport { DAYS } from '../../constants/date-time';\nimport {\n convertEpochToDateTime,\n convertToMilliseconds,\n getOffsetBetweenTimezone,\n getTimeUnits,\n} from '../../helpers/date-time';\nimport { GOAL_CATEGORY } from '../milestone/constants';\nimport { getGoalsFromConfig } from '../milestone/create/milestone-create-helpers';\nimport { TEACHER_TIMEZONE, TrialPageId } from './trial-session-constants';\n\nconst updateGoalInFormData = (goals: TGoals[] | undefined, goalCategory: string, data: TGoals) => {\n const updateGoals = goals ? [...goals] : [];\n const goalIndex = updateGoals?.findIndex(goal => goal.goal_category === goalCategory);\n\n if (goalIndex === -1) {\n const schoolSuccessGoal = {\n ...data,\n goal_category: goalCategory,\n publish: false,\n };\n\n updateGoals.push(schoolSuccessGoal);\n } else {\n updateGoals[goalIndex] = {\n ...updateGoals[goalIndex],\n ...data,\n };\n }\n\n return updateGoals;\n};\n\nconst getFormattedPreferences = (preferences: TPreference[], studentTimezone?: string) => {\n if (!studentTimezone) return [];\n\n const todayTimestamp = new Date().setHours(0, 0, 0, 0); // Set the current date to midnight.\n const timestampOffset = getOffsetBetweenTimezone(TEACHER_TIMEZONE, studentTimezone); // Offset between the teacher's and student's timezone.\n const studentTimestamp = todayTimestamp + timestampOffset; // Adjusting the current date to the student's timezone.\n const { day: today = '' } = convertEpochToDateTime(studentTimestamp, studentTimezone); // Current day at student's timezone.\n const currentDayIndex = DAYS.indexOf(today); // Current day index.\n\n return preferences.length > 0\n ? preferences\n .filter(preference => preference.selectedDay && preference.selectedTime)\n .map(preference => {\n const { selectedDay, selectedTime } = preference;\n // Extracting hours, minutes, and period from the selected time.\n const { hours, minutes, period } = getTimeUnits(selectedTime);\n\n // Calculating the index of the selected day in the DAYS array.\n const selectedDayIndex = DAYS.indexOf(selectedDay);\n const dayDifference = (selectedDayIndex - currentDayIndex + 7) % 7;\n\n // Calculate the epoch timestamp for the selected day and time in the student's timezone.\n const epochTimestamp =\n todayTimestamp +\n timestampOffset +\n convertToMilliseconds({ days: dayDifference, hours, minutes });\n\n return {\n id: epochTimestamp,\n value: `${selectedDay}, ${selectedTime} - ${hours + 1}:${\n minutes < 10 ? '0' : ''\n }${minutes} ${period}`, // Formatted the value string as required\n };\n })\n : [];\n};\n\nconst filterAndUpdateSlideNavigation = ({\n milestoneConfigData,\n trialHomeData,\n grade,\n}: {\n milestoneConfigData: IMilestoneConfig;\n trialHomeData: ITrialHomeData;\n grade?: string;\n}) => {\n const { student, demo_info: demoInfo } = trialHomeData;\n const { grade: studentGrade } = student || {};\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n\n const getGoals = (goalCategory: keyof typeof GOAL_CATEGORY) =>\n getGoalsFromConfig(milestoneConfigData, {\n countryCode,\n grade: grade || studentGrade || '',\n goalCategory,\n courseStream: stream,\n enrollmentType: 'ONLINE',\n });\n\n const testPrepGoals = getGoals(GOAL_CATEGORY.TEST_PREP);\n const enrichmentGoals = getGoals(GOAL_CATEGORY.ENRICHMENT);\n\n if (testPrepGoals?.length > 0 && enrichmentGoals?.length > 0) {\n return trialHomeData;\n }\n\n const updatedTrialHomeData = { ...trialHomeData };\n\n const pagesMap = Object.fromEntries(updatedTrialHomeData.pages.map(page => [page.id, page]));\n\n //slide whose nextPage reference needs to be updated\n const slideIdToUpdate = (() => {\n if (\n pagesMap[TrialPageId.SCHOOL_GOALS]?.nextPage?.pageId === TrialPageId.TEST_PREP &&\n testPrepGoals.length === 0\n ) {\n return TrialPageId.SCHOOL_GOALS;\n }\n\n if (\n testPrepGoals.length > 0 &&\n pagesMap[TrialPageId.TEST_PREP]?.nextPage?.pageId === TrialPageId.STUDENT_ENRICHMENT &&\n enrichmentGoals.length === 0\n ) {\n return TrialPageId.TEST_PREP;\n }\n\n return null;\n })();\n\n // the new next page reference for slideIdToUpdate\n const updatedNextPageInfo = slideIdToUpdate\n ? pagesMap[\n enrichmentGoals?.length === 0 ? TrialPageId.STUDENT_ENRICHMENT : TrialPageId.TEST_PREP\n ]?.nextPage\n : null;\n\n // updating the nextPage and prevPage references\n if (updatedNextPageInfo && slideIdToUpdate) {\n const shouldRemoveSlide = (slideId: TrialPageId) =>\n (testPrepGoals.length === 0 && slideId === TrialPageId.TEST_PREP) ||\n (enrichmentGoals.length === 0 && slideId === TrialPageId.STUDENT_ENRICHMENT);\n\n const filteredSlides = updatedTrialHomeData.pages.filter(page => !shouldRemoveSlide(page.id));\n\n updatedTrialHomeData.pages = filteredSlides.map(page => {\n if (page.id === slideIdToUpdate) {\n return { ...page, nextPage: updatedNextPageInfo };\n }\n\n if (page.id === updatedNextPageInfo.pageId) {\n return {\n ...page,\n prevPage: {\n buttonLabel: pagesMap[slideIdToUpdate]?.navigationLabel ?? '',\n pageId: slideIdToUpdate,\n },\n };\n }\n\n return page;\n });\n }\n\n return updatedTrialHomeData;\n};\n\nconst getFormattedStudentPersonalizedPreference = (\n config: IMilestoneConfig,\n selectedCodes: string[],\n) => {\n const { preference_config: preferenceConfig } = config;\n\n if (selectedCodes.length > 0) {\n return (\n preferenceConfig\n ?.filter(pref => selectedCodes.includes(pref.preference_code))\n ?.map(({ preference_code, preference_name, preference_category }) => ({\n preference_code,\n preference_name,\n preference_category,\n })) || []\n );\n }\n\n return [];\n};\n\nexport {\n filterAndUpdateSlideNavigation,\n updateGoalInFormData,\n getFormattedPreferences,\n getFormattedStudentPersonalizedPreference,\n};\n"],"names":["updateGoalInFormData","goals","goalCategory","data","updateGoals","goalIndex","goal","schoolSuccessGoal","getFormattedPreferences","preferences","studentTimezone","todayTimestamp","timestampOffset","getOffsetBetweenTimezone","TEACHER_TIMEZONE","studentTimestamp","today","convertEpochToDateTime","currentDayIndex","DAYS","preference","selectedDay","selectedTime","hours","minutes","period","getTimeUnits","dayDifference","convertToMilliseconds","filterAndUpdateSlideNavigation","milestoneConfigData","trialHomeData","grade","student","demoInfo","studentGrade","stream","regionData","countryCode","getGoals","getGoalsFromConfig","testPrepGoals","GOAL_CATEGORY","enrichmentGoals","updatedTrialHomeData","pagesMap","page","slideIdToUpdate","_b","_a","TrialPageId","_d","_c","updatedNextPageInfo","shouldRemoveSlide","slideId","filteredSlides","getFormattedStudentPersonalizedPreference","config","selectedCodes","preferenceConfig","pref","preference_code","preference_name","preference_category"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-class-time-alerts.js","sources":["../../../../src/features/trial-session/hooks/use-class-time-alerts.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { EClassTimeAlertLevel, type IClassTimeAlertConfig } from '../trial-session-types';\n\ninterface IUseClassTimeAlerts {\n alertLevel: EClassTimeAlertLevel | null;\n classStartedOn?: Date;\n classDuration?: number;\n onUpdateClassTimeAlertConfig: (data: Partial<IClassTimeAlertConfig>) => void;\n}\n\nexport const useClassTimeAlerts = ({\n alertLevel,\n classStartedOn,\n classDuration,\n onUpdateClassTimeAlertConfig,\n}: IUseClassTimeAlerts) => {\n const hasPlayedFifteenMinAnimation = useRef(false);\n const hasPlayedFiveMinAnimation = useRef(false);\n const timerRef = useRef<NodeJS.Timeout | null>(null);\n\n const getTimeRemaining = useCallback(() => {\n if (!classStartedOn || !classDuration) return null;\n\n const currentTime = Date.now();\n const startTime = new Date(classStartedOn).getTime();\n const timeRemaining = classDuration - (currentTime - startTime) / 1000;\n\n return timeRemaining / 60;\n }, [classStartedOn, classDuration]);\n\n const canShowClassAlert = useCallback(\n (level: EClassTimeAlertLevel) => {\n const timeRemaining = getTimeRemaining();\n\n if (timeRemaining === null) return false;\n\n if (\n level === EClassTimeAlertLevel.FIFTEEN_MIN &&\n !hasPlayedFifteenMinAnimation.current &&\n timeRemaining <= 15 &&\n timeRemaining >= 14\n ) {\n hasPlayedFifteenMinAnimation.current = true;\n\n return true;\n }\n\n if (\n level === EClassTimeAlertLevel.FIVE_MIN &&\n !hasPlayedFiveMinAnimation.current &&\n timeRemaining <= 5 &&\n timeRemaining >= 4\n ) {\n hasPlayedFiveMinAnimation.current = true;\n\n return true;\n }\n\n return false;\n },\n [getTimeRemaining],\n );\n\n const getAlertLevel = useCallback((): EClassTimeAlertLevel | null => {\n const timeRemaining = getTimeRemaining();\n\n if (timeRemaining === null) return null;\n\n if (timeRemaining <= 5) return EClassTimeAlertLevel.FIVE_MIN;\n\n if (timeRemaining <= 15) return EClassTimeAlertLevel.FIFTEEN_MIN;\n\n return null;\n }, [getTimeRemaining]);\n\n const updateClassTimeAlertLevel = useCallback(() => {\n const newAlertLevel = getAlertLevel();\n\n if (newAlertLevel && newAlertLevel !== alertLevel) {\n const showClassTimeAlert = canShowClassAlert(newAlertLevel);\n\n onUpdateClassTimeAlertConfig({\n alertLevel: newAlertLevel,\n isVisible: showClassTimeAlert,\n });\n }\n }, [canShowClassAlert, getAlertLevel, alertLevel, onUpdateClassTimeAlertConfig]);\n\n const startClassTimeAlertPolling = useCallback(() => {\n if (timerRef.current) clearInterval(timerRef.current);\n\n updateClassTimeAlertLevel();\n\n timerRef.current = setInterval(() => {\n updateClassTimeAlertLevel();\n }, 30 * 1000);\n }, [updateClassTimeAlertLevel]);\n\n useEffect(() => {\n updateClassTimeAlertLevel();\n\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n };\n }, [startClassTimeAlertPolling, updateClassTimeAlertLevel]);\n\n return {\n startClassTimeAlertPolling,\n };\n};\n"],"names":["useClassTimeAlerts","alertLevel","classStartedOn","classDuration","onUpdateClassTimeAlertConfig","hasPlayedFifteenMinAnimation","useRef","hasPlayedFiveMinAnimation","timerRef","getTimeRemaining","useCallback","currentTime","startTime","canShowClassAlert","level","timeRemaining","EClassTimeAlertLevel","getAlertLevel","updateClassTimeAlertLevel","newAlertLevel","showClassTimeAlert","startClassTimeAlertPolling","useEffect"],"mappings":";;AAWO,MAAMA,IAAqB,CAAC;AAAA,EACjC,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,8BAAAC;AACF,MAA2B;AACnB,QAAAC,IAA+BC,EAAO,EAAK,GAC3CC,IAA4BD,EAAO,EAAK,GACxCE,IAAWF,EAA8B,IAAI,GAE7CG,IAAmBC,EAAY,MAAM;AACzC,QAAI,CAACR,KAAkB,CAACC,EAAsB,QAAA;AAExC,UAAAQ,IAAc,KAAK,
|
1
|
+
{"version":3,"file":"use-class-time-alerts.js","sources":["../../../../src/features/trial-session/hooks/use-class-time-alerts.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { EClassTimeAlertLevel, type IClassTimeAlertConfig } from '../trial-session-types';\n\ninterface IUseClassTimeAlerts {\n alertLevel: EClassTimeAlertLevel | null;\n classStartedOn?: Date;\n classDuration?: number;\n onUpdateClassTimeAlertConfig: (data: Partial<IClassTimeAlertConfig>) => void;\n}\n\nexport const useClassTimeAlerts = ({\n alertLevel,\n classStartedOn,\n classDuration,\n onUpdateClassTimeAlertConfig,\n}: IUseClassTimeAlerts) => {\n const hasPlayedFifteenMinAnimation = useRef(false);\n const hasPlayedFiveMinAnimation = useRef(false);\n const timerRef = useRef<NodeJS.Timeout | null>(null);\n\n const getTimeRemaining = useCallback(() => {\n if (!classStartedOn || !classDuration) return null;\n\n const currentTime = Date.now();\n const startTime = new Date(classStartedOn).getTime();\n const timeRemaining = classDuration - (currentTime - startTime) / 1000;\n\n return timeRemaining / 60;\n }, [classStartedOn, classDuration]);\n\n const canShowClassAlert = useCallback(\n (level: EClassTimeAlertLevel) => {\n const timeRemaining = getTimeRemaining();\n\n if (timeRemaining === null) return false;\n\n if (\n level === EClassTimeAlertLevel.FIFTEEN_MIN &&\n !hasPlayedFifteenMinAnimation.current &&\n timeRemaining <= 15 &&\n timeRemaining >= 14\n ) {\n hasPlayedFifteenMinAnimation.current = true;\n\n return true;\n }\n\n if (\n level === EClassTimeAlertLevel.FIVE_MIN &&\n !hasPlayedFiveMinAnimation.current &&\n timeRemaining <= 5 &&\n timeRemaining >= 4\n ) {\n hasPlayedFiveMinAnimation.current = true;\n\n return true;\n }\n\n return false;\n },\n [getTimeRemaining],\n );\n\n const getAlertLevel = useCallback((): EClassTimeAlertLevel | null => {\n const timeRemaining = getTimeRemaining();\n\n if (timeRemaining === null) return null;\n\n if (timeRemaining <= 5) return EClassTimeAlertLevel.FIVE_MIN;\n\n if (timeRemaining <= 15) return EClassTimeAlertLevel.FIFTEEN_MIN;\n\n return null;\n }, [getTimeRemaining]);\n\n const updateClassTimeAlertLevel = useCallback(() => {\n const newAlertLevel = getAlertLevel();\n\n if (newAlertLevel && newAlertLevel !== alertLevel) {\n const showClassTimeAlert = canShowClassAlert(newAlertLevel);\n\n onUpdateClassTimeAlertConfig({\n alertLevel: newAlertLevel,\n isVisible: showClassTimeAlert,\n });\n }\n }, [canShowClassAlert, getAlertLevel, alertLevel, onUpdateClassTimeAlertConfig]);\n\n const startClassTimeAlertPolling = useCallback(() => {\n if (timerRef.current) clearInterval(timerRef.current);\n\n updateClassTimeAlertLevel();\n\n timerRef.current = setInterval(() => {\n updateClassTimeAlertLevel();\n }, 30 * 1000);\n }, [updateClassTimeAlertLevel]);\n\n useEffect(() => {\n updateClassTimeAlertLevel();\n\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n };\n }, [startClassTimeAlertPolling, updateClassTimeAlertLevel]);\n\n return {\n startClassTimeAlertPolling,\n };\n};\n"],"names":["useClassTimeAlerts","alertLevel","classStartedOn","classDuration","onUpdateClassTimeAlertConfig","hasPlayedFifteenMinAnimation","useRef","hasPlayedFiveMinAnimation","timerRef","getTimeRemaining","useCallback","currentTime","startTime","canShowClassAlert","level","timeRemaining","EClassTimeAlertLevel","getAlertLevel","updateClassTimeAlertLevel","newAlertLevel","showClassTimeAlert","startClassTimeAlertPolling","useEffect"],"mappings":";;AAWO,MAAMA,IAAqB,CAAC;AAAA,EACjC,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,8BAAAC;AACF,MAA2B;AACnB,QAAAC,IAA+BC,EAAO,EAAK,GAC3CC,IAA4BD,EAAO,EAAK,GACxCE,IAAWF,EAA8B,IAAI,GAE7CG,IAAmBC,EAAY,MAAM;AACzC,QAAI,CAACR,KAAkB,CAACC,EAAsB,QAAA;AAExC,UAAAQ,IAAc,KAAK,OACnBC,IAAY,IAAI,KAAKV,CAAc,EAAE,QAAQ;AAGnD,YAFsBC,KAAiBQ,IAAcC,KAAa,OAE3C;AAAA,EAAA,GACtB,CAACV,GAAgBC,CAAa,CAAC,GAE5BU,IAAoBH;AAAA,IACxB,CAACI,MAAgC;AAC/B,YAAMC,IAAgBN;AAElB,aAAAM,MAAkB,OAAa,KAGjCD,MAAUE,EAAqB,eAC/B,CAACX,EAA6B,WAC9BU,KAAiB,MACjBA,KAAiB,MAEjBV,EAA6B,UAAU,IAEhC,MAIPS,MAAUE,EAAqB,YAC/B,CAACT,EAA0B,WAC3BQ,KAAiB,KACjBA,KAAiB,KAEjBR,EAA0B,UAAU,IAE7B,MAGF;AAAA,IACT;AAAA,IACA,CAACE,CAAgB;AAAA,EAAA,GAGbQ,IAAgBP,EAAY,MAAmC;AACnE,UAAMK,IAAgBN;AAElB,WAAAM,MAAkB,OAAa,OAE/BA,KAAiB,IAAUC,EAAqB,WAEhDD,KAAiB,KAAWC,EAAqB,cAE9C;AAAA,EAAA,GACN,CAACP,CAAgB,CAAC,GAEfS,IAA4BR,EAAY,MAAM;AAClD,UAAMS,IAAgBF;AAElB,QAAAE,KAAiBA,MAAkBlB,GAAY;AAC3C,YAAAmB,IAAqBP,EAAkBM,CAAa;AAE7B,MAAAf,EAAA;AAAA,QAC3B,YAAYe;AAAA,QACZ,WAAWC;AAAA,MAAA,CACZ;AAAA,IACH;AAAA,KACC,CAACP,GAAmBI,GAAehB,GAAYG,CAA4B,CAAC,GAEzEiB,IAA6BX,EAAY,MAAM;AACnD,IAAIF,EAAS,WAAuB,cAAAA,EAAS,OAAO,GAE1BU,KAEjBV,EAAA,UAAU,YAAY,MAAM;AACT,MAAAU;IAAA,GACzB,KAAK,GAAI;AAAA,EAAA,GACX,CAACA,CAAyB,CAAC;AAE9B,SAAAI,EAAU,OACkBJ,KAEnB,MAAM;AACX,IAAIV,EAAS,YACX,cAAcA,EAAS,OAAO,GAC9BA,EAAS,UAAU;AAAA,EACrB,IAED,CAACa,GAA4BH,CAAyB,CAAC,GAEnD;AAAA,IACL,4BAAAG;AAAA,EAAA;AAEJ;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-left-panel-button-state.js","sources":["../../../../src/features/trial-session/hooks/use-left-panel-button-state.ts"],"sourcesContent":["import type { IButtonState } from '../trial-session-types';\n\nimport { useCallback, useState } from 'react';\n\nimport { DEFAULT_BUTTON_STATE } from '../trial-session-constants';\n\nconst useButtonStateForLeftPanel = () => {\n const [buttonState, setButtonState] = useState(DEFAULT_BUTTON_STATE);\n\n const updateButtonState = useCallback(\n (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => {\n setButtonState(previousProps => {\n return btnNavDir === 'both'\n ? { ...previousProps, ...currentState }\n : { ...previousProps, [btnNavDir]: currentState };\n });\n },\n [],\n );\n\n return {\n buttonState,\n updateButtonState,\n };\n};\n\nexport { useButtonStateForLeftPanel };\n"],"names":["useButtonStateForLeftPanel","buttonState","setButtonState","useState","DEFAULT_BUTTON_STATE","updateButtonState","useCallback","btnNavDir","currentState","previousProps"],"mappings":";;AAMA,MAAMA,IAA6B,MAAM;AACvC,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAASC,CAAoB,GAE7DC,IAAoBC;AAAA,IACxB,CACEC,GACAC,MACG;AACH,MAAAN,EAAe,CAAiBO,MACvBF,MAAc,SACjB,EAAE,GAAGE,GAAe,GAAGD,
|
1
|
+
{"version":3,"file":"use-left-panel-button-state.js","sources":["../../../../src/features/trial-session/hooks/use-left-panel-button-state.ts"],"sourcesContent":["import type { IButtonState } from '../trial-session-types';\n\nimport { useCallback, useState } from 'react';\n\nimport { DEFAULT_BUTTON_STATE } from '../trial-session-constants';\n\nconst useButtonStateForLeftPanel = () => {\n const [buttonState, setButtonState] = useState(DEFAULT_BUTTON_STATE);\n\n const updateButtonState = useCallback(\n (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => {\n setButtonState(previousProps => {\n return btnNavDir === 'both'\n ? { ...previousProps, ...currentState }\n : { ...previousProps, [btnNavDir]: currentState };\n });\n },\n [],\n );\n\n return {\n buttonState,\n updateButtonState,\n };\n};\n\nexport { useButtonStateForLeftPanel };\n"],"names":["useButtonStateForLeftPanel","buttonState","setButtonState","useState","DEFAULT_BUTTON_STATE","updateButtonState","useCallback","btnNavDir","currentState","previousProps"],"mappings":";;AAMA,MAAMA,IAA6B,MAAM;AACvC,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAASC,CAAoB,GAE7DC,IAAoBC;AAAA,IACxB,CACEC,GACAC,MACG;AACH,MAAAN,EAAe,CAAiBO,MACvBF,MAAc,SACjB,EAAE,GAAGE,GAAe,GAAGD,MACvB,EAAE,GAAGC,GAAe,CAACF,CAAS,GAAGC,EAAa,CACnD;AAAA,IACH;AAAA,IACA,CAAC;AAAA,EAAA;AAGI,SAAA;AAAA,IACL,aAAAP;AAAA,IACA,mBAAAI;AAAA,EAAA;AAEJ;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import type { ITrialSessionFormFields } from '../trial-session-types';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport { getFormattedPreferences, getFormattedStudentPersonalizedPreference } from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (\n currentPageId === TrialPageId.STUDENT_INFORMATION ||\n currentPageId === TrialPageId.SCHOOL_GOALS\n ) {\n //TODO: remove TrialPageId.STUDENT_INFORMATION\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: 'TRIAL_V3',\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }, [\n name,\n grade,\n curriculum,\n teacherId,\n countryCode,\n disableNavButtons,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n disableNavButtons();\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n disableNavButtons,\n patchTrialSession,\n teacherId,\n studentId,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ]);\n\n const payload = { preferences: personalizedPreferences };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n disableNavButtons,\n milestoneConfig,\n personalizedBehaviors,\n personalizedFocus,\n personalizedLevel,\n postStudentPreferences,\n studentId,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: string) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n switch (currentPageId) {\n //TODO: remove STUDENT_INFORMATION\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleMileStoneBulkPost();\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.LEARNING_LEVEL:\n case TrialPageId.STUDENT_PERSONALIZATION:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n handleStudentInformation,\n handleMileStoneBulkPost,\n handleClassPreferences,\n handleStudentPreferencesPatch,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","formData","updateButtonState","teacherId","studentId","milestoneConfig","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","handleStudentInformation","firstName","lastName","payload","handleClassPreferences","selectedRegularSlots","getFormattedPreferences","actionData","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":";;;;;;;;;;AAcA,MAAMA,KAA4B,MAAM;AAChC,QAAA;AAAA,IACJ,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,eAAAC;AAAA,IACA,0BAAAC;AAAA,MACEC,EAAuB,GACrB,EAAE,UAAAC,GAAU,IAAIC,EAAc,IAAIX,KAAe,CAAC,GAClD,EAAE,WAAWY,EAAA,IAAaL,GAC1B,EAAE,QAAAM,GAAQ,aAAaC,EAAe,IAAAF,GACtC,EAAE,qBAAqBG,IAAc,KAAK,IAAID,KAAc,CAAC,GAC7D,EAAE,QAAQE,EAAW,IAAIN,KAAY,CAAC,GACtC;AAAA,IACJ,MAAAO;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC,IAAc,CAAC;AAAA,IACf,mBAAAC,IAAoB,CAAC;AAAA,IACrB,mBAAAC,IAAoB,CAAC;AAAA,IACrB,uBAAAC,IAAwB,CAAA;AAAA,EAC1B,IAAIxB,KAAY,CAAC,GAEXyB,IAAoBC,EAAY,MAAM;AAC1C,IAAAzB,EAAkB,QAAQ;AAAA,MACxB,MAAM,EAAE,YAAY,IAAM,WAAW,GAAM;AAAA,MAC3C,OAAO,EAAE,YAAY,IAAM,WAAW,GAAK;AAAA,IAAA,CAC5C;AAAA,EAAA,GACA,CAACA,CAAiB,CAAC,GAEhB0B,IAAgB,CAACC,MAAgC;AACrD,QAAI,CAACA,GAAc;AACjB,YAAMC,IAA8C,CAAC;AAGnD,OAAAd,MAAee,EAAY,eAC3Bf,MAAee,EAAY,iBAC3Bf,MAAee,EAAY,kBAE3BD,EAAU,gBAAgBE,EAAO,GACjCF,EAAU,uBAAuB,KAGnC/B,EAAkB,EAAE,IAAIiB,GAAY,GAAGc,GAAW;AAAA,IAAA;AAEpD,IAAA5B,EAAkB,QAAQ+B,CAAoB,IAG5CtB,MAAkBoB,EAAY,uBAC9BpB,MAAkBoB,EAAY,kBAGHzB,KAAA,QAAAA;AAAA,EAE/B,GAGM,EAAE,OAAO4B,EAAkB,IAAIC,EAAkB,EAAE,YAAYP,GAAe,GAC9E,EAAE,OAAOQ,EAAwB,IAAIC,EAA2B;AAAA,IACpE,YAAYT;AAAA,EAAA,CACb,GACK,EAAE,MAAMU,EAAkB,IAAIC,EAAqB;AAAA,IACvD,YAAYX;AAAA,EAAA,CACb,GACK,EAAE,MAAMY,EAAuB,IAAIC,EAA0B;AAAA,IACjE,YAAYb;AAAA,EAAA,CACb,GAGKc,IAA2Bf,EAAY,MAAM;AAC3C,UAAA,CAACgB,GAAWC,CAAQ,KAAI3B,KAAA,gBAAAA,EAAM,MAAM,SAAQ,CAAC,GAC7C4B,IAAU;AAAA,MACd,YAAYF;AAAA,MACZ,WAAWC;AAAA,MACX,OAAA1B;AAAA,MACA,OAAOE;AAAA,MACP,WAAW;AAAA,MACX,YAAYjB;AAAA,MACZ,iBAAiBY;AAAA,IACnB;AAEkB,IAAAW,EAAA,GAClBU,EAAwBhC,GAAWyC,CAAO;AAAA,EAAA,GACzC;AAAA,IACD5B;AAAA,IACAC;AAAA,IACAE;AAAA,IACAjB;AAAA,IACAY;AAAA,IACAW;AAAA,IACAU;AAAA,IACAhC;AAAA,EAAA,CACD,GAEK0C,IAAyBnB,EAAY,MAAM;AACzC,UAAAoB,IAAuBC,GAAwB1B,GAAaD,CAAe;AAE7E,QAAA0B,EAAqB,SAAS,GAAG;AACnC,YAAME,IAAa;AAAA,QACjB,eAAe;AAAA,UACb,wBAAwBF;AAAA,QAAA;AAAA,MAE5B;AAEkB,MAAArB,EAAA,GAClBQ,EAAkB,kBAAkB;AAAA,QAClC,QAAQ;AAAA,QACR,aAAae;AAAA,QACb,YAAY9C;AAAA,QACZ,YAAYC;AAAA,MAAA,CACb;AAAA,IAAA;AAEiB,MAAAL,EAAA,EAAE,IAAIiB,GAAY,GACpCd,EAAkB,QAAQ+B,CAAoB;AAAA,EAChD,GACC;AAAA,IACDX;AAAA,IACAD;AAAA,IACAK;AAAA,IACAQ;AAAA,IACA/B;AAAA,IACAC;AAAA,IACAL;AAAA,IACAiB;AAAA,IACAd;AAAA,EAAA,CACD,GAEKgD,IAA0BvB,EAAY,MAAM;AAChD,UAAMkB,IAAU;AAAA,MACd,eAAehC;AAAA,MACf,OAAAK;AAAA,MACA,YAAYf;AAAA,MACZ,OAAOiB;AAAA,MACP,OAAAD;AAAA,IACF;AAEkB,IAAAO,EAAA,GAClBY,EAAkBO,GAAS;AAAA,MACzB,WAAAzC;AAAA,IAAA,CACD;AAAA,EAAA,GACA;AAAA,IACDgB;AAAA,IACAM;AAAA,IACAP;AAAA,IACAD;AAAA,IACAoB;AAAA,IACAzB;AAAA,IACAT;AAAA,IACAD;AAAA,EAAA,CACD,GAEKgD,IAAgCxB,EAAY,MAAM;AAOhD,UAAAkB,IAAU,EAAE,aANcO,GAA0C/C,GAAiB;AAAA,MACzF,GAAGkB;AAAA,MACH,GAAGC;AAAA,MACH,GAAGC;AAAA,IAAA,CACJ,EAEsD,GACjD4B,IAAO,EAAE,QAAQC,EAAe,MAAM,WAAAlD,EAAU;AAEpC,IAAAsB,EAAA,GAClBc,EAAuBK,GAASQ,CAAI;AAAA,EAAA,GACnC;AAAA,IACD3B;AAAA,IACArB;AAAA,IACAoB;AAAA,IACAD;AAAA,IACAD;AAAA,IACAiB;AAAA,IACApC;AAAA,EAAA,CACD,GAGKmD,IAAmB5B;AAAA,IACvB,CAAC6B,GAAaC,MAAgB;AAC5B,UAAI,CAAC1D,EAAmB;AAElB,YAAA2D,IAAuB/C,MAAkBoB,EAAY,iBACrD4B,IAAsBhD,MAAkBoB,EAAY,eACpDD,IAA8C,CAAC;AAuBrD,WApBE2B,MAAO1B,EAAY,eACnB0B,MAAO1B,EAAY,iBACnB0B,MAAO1B,EAAY,kBAEnBD,EAAU,gBAAgBE,EAAO,GACjCF,EAAU,uBAAuB,KAG/B0B,MAAQ,WACQzD,EAAA;AAAA,QAChB,IAAA0D;AAAA,QACA,GAAIC,KAAwB,EAAE,gBAAgB,OAAU;AAAA,QACxD,GAAIC,KAAuB;AAAA,UACzB,WAAW;AAAA,QACb;AAAA,QACA,GAAG7B;AAAA,MAAA,CACJ,GACD5B,EAAkB,QAAQ+B,CAAoB,IAG5CuB,MAAQ;AACV,gBAAQ7C,GAAe;AAAA,UAErB,KAAKoB,EAAY;AAAA,UACjB,KAAKA,EAAY;AACU,YAAAW,EAAA;AACzB;AAAA,UACF,KAAKX,EAAY;AACS,YAAAmB,EAAA;AACxB;AAAA,UACF,KAAKnB,EAAY;AACQ,YAAAe,EAAA;AACvB;AAAA,UACF,KAAKf,EAAY;AAAA,UACjB,KAAKA,EAAY;AACe,YAAAoB,EAAA;AAC9B;AAAA,UACF,KAAKpB,EAAY;AACf,YAAAhC,EAAkB,EAAE,IAAA0D,GAAI,WAAW,QAAW,GAAG3B,GAAW;AAC5D;AAAA,UACF;AACE,YAAA/B,EAAkB,EAAE,IAAA0D,GAAI,GAAG3B,GAAW,GACtC5B,EAAkB,QAAQ+B,CAAoB;AAAA,QAChD;AAAA,IAGN;AAAA,IACA;AAAA,MACElC;AAAA,MACAY;AAAA,MACAT;AAAA,MACAwC;AAAA,MACAQ;AAAA,MACAJ;AAAA,MACAK;AAAA,IAAA;AAAA,EAEJ,GAEMS,IAA6BjC,EAAY,MAAM;AACnD,IAAI,CAACnB,KAA4BG,MAAkBoB,EAAY,sBAC7DwB,EAAiB,QAAQvC,CAAU;AAAA,KAEpC,CAACL,GAAe4C,GAAkBvC,GAAYR,CAAwB,CAAC;AAE1E,SAAAqD,EAAU,MAAM;AACa,IAAAD,EAAA;AAAA,EAAA,GAE1B,CAACpD,CAAwB,CAAC,GAEtB,EAAE,kBAAA+C,EAAiB;AAC5B;"}
|
1
|
+
{"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import type { ITrialSessionFormFields } from '../trial-session-types';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport { getFormattedPreferences, getFormattedStudentPersonalizedPreference } from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (\n currentPageId === TrialPageId.STUDENT_INFORMATION ||\n currentPageId === TrialPageId.SCHOOL_GOALS\n ) {\n //TODO: remove TrialPageId.STUDENT_INFORMATION\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: 'TRIAL_V3',\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }, [\n name,\n grade,\n curriculum,\n teacherId,\n countryCode,\n disableNavButtons,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n disableNavButtons();\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n disableNavButtons,\n patchTrialSession,\n teacherId,\n studentId,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ]);\n\n const payload = { preferences: personalizedPreferences };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n disableNavButtons,\n milestoneConfig,\n personalizedBehaviors,\n personalizedFocus,\n personalizedLevel,\n postStudentPreferences,\n studentId,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: string) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n switch (currentPageId) {\n //TODO: remove STUDENT_INFORMATION\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleMileStoneBulkPost();\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.LEARNING_LEVEL:\n case TrialPageId.STUDENT_PERSONALIZATION:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n handleStudentInformation,\n handleMileStoneBulkPost,\n handleClassPreferences,\n handleStudentPreferencesPatch,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","formData","updateButtonState","teacherId","studentId","milestoneConfig","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","handleStudentInformation","firstName","lastName","payload","handleClassPreferences","selectedRegularSlots","getFormattedPreferences","actionData","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/features/trial-session/left-panel/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport CuemathLogo from '../../../assets/line-icons/icons/cuemath-logo';\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { getTheme } from '../../ui/theme/get-theme';\nimport StudentAVPanel from '../comps/av-panels/student-av-panel/student-av-panel';\nimport TeacherAVPanel from '../comps/av-panels/teacher-av-panel/teacher-av-panel';\nimport Cues from '../comps/cue-tips/cues';\nimport Tips from '../comps/cue-tips/tips';\nimport NavigationBar from '../comps/navigation-bar';\nimport Solutions from '../comps/solutions';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n STUDENT_LEFT_PANEL_MAX_WIDTH,\n TEACHER_LEFT_PANEL_MAX_WIDTH,\n TrialPageId,\n} from '../trial-session-constants';\nimport * as Styled from './left-panel-styled';\n\nconst LeftPanel: React.FC = () => {\n const { isTeacher, slideConfig, worksheetNavigationPanel, questionsRatingPanel } =\n useTrialSessionContext();\n const { cues = [], dos = [], donts = [], renderAVIn, id, solutions } = slideConfig || {};\n\n if (!isTeacher && renderAVIn !== 'left') {\n return null;\n }\n\n return (\n <Styled.Container\n $maxWidth={isTeacher ? TEACHER_LEFT_PANEL_MAX_WIDTH : STUDENT_LEFT_PANEL_MAX_WIDTH}\n >\n {renderAVIn === 'left' && (\n <FlexView\n $width=\"100%\"\n $flexDirection={isTeacher ? 'row' : 'column'}\n $gutterX={isTeacher ? 0.25 : 0.5}\n $gapX={isTeacher ? 0.25 : 0.5}\n $flexGapX={isTeacher ? 0.25 : 0.5}\n >\n {!isTeacher && (\n <FlexView $gutterX={0.5} $gapX={1} $flexRowGapX={0.5}>\n <CuemathLogo width={108} height={16} color={getTheme().colors.BLACK} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n 4.8+ Rating on\n </Text>\n <Image withLoader src={ILLUSTRATIONS.STAR_WITH_GREEN_FILL} width={20} height={20} />\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n Trustpilot\n </Text>\n </FlexView>\n </FlexView>\n )}\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <TeacherAVPanel />\n </FlexView>\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <StudentAVPanel insideLeftPanel />\n </FlexView>\n </FlexView>\n )}\n {isTeacher && (\n <>\n <Styled.ContentWrapper\n $background=\"WHITE_3\"\n $justifyContent={renderAVIn === 'left' ? 'flex-start' : 'center'}\n >\n <FlexView $gutterX={0.75} $gapX={1.5} $flexGapX={1.5}>\n {cues.length > 0 && <Cues cues={cues} />}\n {solutions && solutions.length > 0 && <Solutions solutions={solutions} />}\n {dos.length + donts.length > 0 && <Tips dos={dos} donts={donts} />}\n {id === TrialPageId.LEARNING_WORKSHEET && questionsRatingPanel}\n </FlexView>\n </Styled.ContentWrapper>\n {id === TrialPageId.LEARNING_WORKSHEET && worksheetNavigationPanel ? (\n worksheetNavigationPanel\n ) : (\n <NavigationBar />\n )}\n </>\n )}\n </Styled.Container>\n );\n};\n\nexport default LeftPanel;\n"],"names":["LeftPanel","isTeacher","slideConfig","worksheetNavigationPanel","questionsRatingPanel","useTrialSessionContext","cues","dos","donts","renderAVIn","id","solutions","jsxs","Styled.Container","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","FlexView","jsx","CuemathLogo","getTheme","Text","Image","ILLUSTRATIONS","TeacherAVPanel","StudentAVPanel","Fragment","Styled.ContentWrapper","Cues","Solutions","Tips","TrialPageId","NavigationBar"],"mappings":";;;;;;;;;;;;;;;;AAsBA,MAAMA,IAAsB,MAAM;AAChC,QAAM,EAAE,WAAAC,GAAW,aAAAC,GAAa,0BAAAC,GAA0B,sBAAAC,EAAA,IACxDC,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/features/trial-session/left-panel/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport CuemathLogo from '../../../assets/line-icons/icons/cuemath-logo';\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { getTheme } from '../../ui/theme/get-theme';\nimport StudentAVPanel from '../comps/av-panels/student-av-panel/student-av-panel';\nimport TeacherAVPanel from '../comps/av-panels/teacher-av-panel/teacher-av-panel';\nimport Cues from '../comps/cue-tips/cues';\nimport Tips from '../comps/cue-tips/tips';\nimport NavigationBar from '../comps/navigation-bar';\nimport Solutions from '../comps/solutions';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n STUDENT_LEFT_PANEL_MAX_WIDTH,\n TEACHER_LEFT_PANEL_MAX_WIDTH,\n TrialPageId,\n} from '../trial-session-constants';\nimport * as Styled from './left-panel-styled';\n\nconst LeftPanel: React.FC = () => {\n const { isTeacher, slideConfig, worksheetNavigationPanel, questionsRatingPanel } =\n useTrialSessionContext();\n const { cues = [], dos = [], donts = [], renderAVIn, id, solutions } = slideConfig || {};\n\n if (!isTeacher && renderAVIn !== 'left') {\n return null;\n }\n\n return (\n <Styled.Container\n $maxWidth={isTeacher ? TEACHER_LEFT_PANEL_MAX_WIDTH : STUDENT_LEFT_PANEL_MAX_WIDTH}\n >\n {renderAVIn === 'left' && (\n <FlexView\n $width=\"100%\"\n $flexDirection={isTeacher ? 'row' : 'column'}\n $gutterX={isTeacher ? 0.25 : 0.5}\n $gapX={isTeacher ? 0.25 : 0.5}\n $flexGapX={isTeacher ? 0.25 : 0.5}\n >\n {!isTeacher && (\n <FlexView $gutterX={0.5} $gapX={1} $flexRowGapX={0.5}>\n <CuemathLogo width={108} height={16} color={getTheme().colors.BLACK} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n 4.8+ Rating on\n </Text>\n <Image withLoader src={ILLUSTRATIONS.STAR_WITH_GREEN_FILL} width={20} height={20} />\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n Trustpilot\n </Text>\n </FlexView>\n </FlexView>\n )}\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <TeacherAVPanel />\n </FlexView>\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <StudentAVPanel insideLeftPanel />\n </FlexView>\n </FlexView>\n )}\n {isTeacher && (\n <>\n <Styled.ContentWrapper\n $background=\"WHITE_3\"\n $justifyContent={renderAVIn === 'left' ? 'flex-start' : 'center'}\n >\n <FlexView $gutterX={0.75} $gapX={1.5} $flexGapX={1.5}>\n {cues.length > 0 && <Cues cues={cues} />}\n {solutions && solutions.length > 0 && <Solutions solutions={solutions} />}\n {dos.length + donts.length > 0 && <Tips dos={dos} donts={donts} />}\n {id === TrialPageId.LEARNING_WORKSHEET && questionsRatingPanel}\n </FlexView>\n </Styled.ContentWrapper>\n {id === TrialPageId.LEARNING_WORKSHEET && worksheetNavigationPanel ? (\n worksheetNavigationPanel\n ) : (\n <NavigationBar />\n )}\n </>\n )}\n </Styled.Container>\n );\n};\n\nexport default LeftPanel;\n"],"names":["LeftPanel","isTeacher","slideConfig","worksheetNavigationPanel","questionsRatingPanel","useTrialSessionContext","cues","dos","donts","renderAVIn","id","solutions","jsxs","Styled.Container","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","FlexView","jsx","CuemathLogo","getTheme","Text","Image","ILLUSTRATIONS","TeacherAVPanel","StudentAVPanel","Fragment","Styled.ContentWrapper","Cues","Solutions","Tips","TrialPageId","NavigationBar"],"mappings":";;;;;;;;;;;;;;;;AAsBA,MAAMA,IAAsB,MAAM;AAChC,QAAM,EAAE,WAAAC,GAAW,aAAAC,GAAa,0BAAAC,GAA0B,sBAAAC,EAAA,IACxDC,KACI,EAAE,MAAAC,IAAO,CAAA,GAAI,KAAAC,IAAM,CAAC,GAAG,OAAAC,IAAQ,IAAI,YAAAC,GAAY,IAAAC,GAAI,WAAAC,MAAcT,KAAe,CAAA;AAElF,SAAA,CAACD,KAAaQ,MAAe,SACxB,OAIP,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWZ,IAAYa,IAA+BC;AAAA,MAErD,UAAA;AAAA,QAAAN,MAAe,UACd,gBAAAG;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACP,gBAAgBf,IAAY,QAAQ;AAAA,YACpC,UAAUA,IAAY,OAAO;AAAA,YAC7B,OAAOA,IAAY,OAAO;AAAA,YAC1B,WAAWA,IAAY,OAAO;AAAA,YAE7B,UAAA;AAAA,cAAC,CAAAA,uBACCe,GAAS,EAAA,UAAU,KAAK,OAAO,GAAG,cAAc,KAC/C,UAAA;AAAA,gBAAC,gBAAAC,EAAAC,GAAA,EAAY,OAAO,KAAK,QAAQ,IAAI,OAAOC,EAAA,EAAW,OAAO,MAAO,CAAA;AAAA,gBACpE,gBAAAP,EAAAI,GAAA,EAAS,gBAAe,OAAM,aAAY,UACzC,UAAA;AAAA,kBAAA,gBAAAC,EAACG,GAAK,EAAA,WAAU,YAAW,QAAO,cAAa,UAE/C,kBAAA;AAAA,kBACA,gBAAAH,EAACI,GAAM,EAAA,YAAU,IAAC,KAAKC,EAAc,sBAAsB,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,oCACjFF,GAAK,EAAA,WAAU,YAAW,QAAO,cAAa,UAE/C,cAAA;AAAA,gBAAA,GACF;AAAA,cAAA,GACF;AAAA,cAEF,gBAAAH,EAACD,KAAS,QAAQf,IAAY,oBAAoB,QAChD,UAAA,gBAAAgB,EAACM,KAAe,EAClB,CAAA;AAAA,cACA,gBAAAN,EAACD,GAAS,EAAA,QAAQf,IAAY,oBAAoB,QAChD,UAAC,gBAAAgB,EAAAO,GAAA,EAAe,iBAAe,GAAA,CAAC,EAClC,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,QAEDvB,KAEG,gBAAAW,EAAAa,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAR;AAAA,YAACS;AAAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,iBAAiBjB,MAAe,SAAS,eAAe;AAAA,cAExD,4BAACO,GAAS,EAAA,UAAU,MAAM,OAAO,KAAK,WAAW,KAC9C,UAAA;AAAA,gBAAAV,EAAK,SAAS,KAAM,gBAAAW,EAAAU,GAAA,EAAK,MAAArB,GAAY;AAAA,gBACrCK,KAAaA,EAAU,SAAS,KAAK,gBAAAM,EAACW,KAAU,WAAAjB,GAAsB;AAAA,gBACtEJ,EAAI,SAASC,EAAM,SAAS,KAAM,gBAAAS,EAAAY,GAAA,EAAK,KAAAtB,GAAU,OAAAC,GAAc;AAAA,gBAC/DE,MAAOoB,EAAY,sBAAsB1B;AAAA,cAAA,GAC5C;AAAA,YAAA;AAAA,UACF;AAAA,UACCM,MAAOoB,EAAY,sBAAsB3B,IACxCA,sBAEC4B,GAAc,EAAA;AAAA,QAAA,GAEnB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/features/trial-session/right-panel/index.tsx"],"sourcesContent":["import { memo, useEffect, useRef, useState } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport Image from '../../ui/image/image';\nimport Text from '../../ui/text/text';\nimport BackgroundGrid from '../comps/background-grid/background-grid';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n MINIMUM_SCREEN_HEIGHT,\n PAGES_WITHOUT_GRID,\n ACTIONABLE_COMPONENT_IDS,\n SCROLLABLE_COMPONENT_IDS,\n} from '../trial-session-constants';\nimport * as Styled from './right-panel-styled';\nimport SlideComponentsMap from './slide-components-map';\n\nconst RightPanel = memo(() => {\n const { isTeacher, slideConfig } = useTrialSessionContext();\n const { id, slideTag } = slideConfig;\n\n const [slideHeight, setSlideHeight] = useState<number>(0);\n const rightPanelRef = useRef<HTMLDivElement | null>(null);\n const isScrollableComponent = SCROLLABLE_COMPONENT_IDS.includes(id);\n const isActionableComponent = ACTIONABLE_COMPONENT_IDS.includes(id);\n const miniScreenDevice = !isActionableComponent && slideHeight <= MINIMUM_SCREEN_HEIGHT;\n const isReadOnly = isScrollableComponent || isActionableComponent ? false : !isTeacher;\n\n const SlideComponent = id ? SlideComponentsMap[id] : undefined;\n\n useEffect(() => {\n if (rightPanelRef.current) {\n setSlideHeight(rightPanelRef.current.offsetHeight);\n }\n\n const handleResize = () => {\n if (rightPanelRef.current) {\n setSlideHeight(rightPanelRef.current.offsetHeight);\n }\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n if (!id) return null;\n\n const slideElement = (\n <Styled.SlideWrapper\n $height=\"100%\"\n $minDevice={miniScreenDevice}\n $readOnly={isReadOnly}\n key={id}\n >\n {SlideComponent && <SlideComponent miniScreenDevice={miniScreenDevice} />}\n </Styled.SlideWrapper>\n );\n\n return (\n <Styled.Container ref={rightPanelRef} $readOnly={isReadOnly} $isTeacher={isTeacher}>\n {isTeacher && (\n <Styled.SharedTag\n $flexDirection=\"row\"\n $flexGap={4}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"GREEN_4\"\n >\n <Image src={IMAGES.SHARED} height={24} width={24} withLoader={false} />\n <Text $renderAs=\"ub3\">Shared</Text>\n </Styled.SharedTag>\n )}\n {slideTag && (\n <Styled.ParentDiscussion $renderAs=\"ac4-black\" $color=\"WHITE_T_87\">\n {slideTag}\n </Styled.ParentDiscussion>\n )}\n <Styled.Animation key={id}>\n {!PAGES_WITHOUT_GRID.includes(id) ? (\n <Styled.Wrapper $readOnly={isReadOnly}>\n <Styled.GridWrapper>\n <BackgroundGrid slideId={id} />\n </Styled.GridWrapper>\n {slideElement}\n </Styled.Wrapper>\n ) : (\n slideElement\n )}\n </Styled.Animation>\n </Styled.Container>\n );\n});\n\nexport default RightPanel;\n"],"names":["RightPanel","memo","isTeacher","slideConfig","useTrialSessionContext","id","slideTag","slideHeight","setSlideHeight","useState","rightPanelRef","useRef","isScrollableComponent","SCROLLABLE_COMPONENT_IDS","isActionableComponent","ACTIONABLE_COMPONENT_IDS","miniScreenDevice","MINIMUM_SCREEN_HEIGHT","isReadOnly","SlideComponent","SlideComponentsMap","useEffect","handleResize","slideElement","jsx","Styled.SlideWrapper","jsxs","Styled.Container","Styled.SharedTag","Image","IMAGES","Text","Styled.ParentDiscussion","Styled.Animation","PAGES_WITHOUT_GRID","Styled.Wrapper","Styled.GridWrapper","BackgroundGrid"],"mappings":";;;;;;;;;;AAgBM,MAAAA,IAAaC,EAAK,MAAM;AAC5B,QAAM,EAAE,WAAAC,GAAW,aAAAC,EAAY,IAAIC,EAAuB,GACpD,EAAE,IAAAC,GAAI,UAAAC,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/features/trial-session/right-panel/index.tsx"],"sourcesContent":["import { memo, useEffect, useRef, useState } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport Image from '../../ui/image/image';\nimport Text from '../../ui/text/text';\nimport BackgroundGrid from '../comps/background-grid/background-grid';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n MINIMUM_SCREEN_HEIGHT,\n PAGES_WITHOUT_GRID,\n ACTIONABLE_COMPONENT_IDS,\n SCROLLABLE_COMPONENT_IDS,\n} from '../trial-session-constants';\nimport * as Styled from './right-panel-styled';\nimport SlideComponentsMap from './slide-components-map';\n\nconst RightPanel = memo(() => {\n const { isTeacher, slideConfig } = useTrialSessionContext();\n const { id, slideTag } = slideConfig;\n\n const [slideHeight, setSlideHeight] = useState<number>(0);\n const rightPanelRef = useRef<HTMLDivElement | null>(null);\n const isScrollableComponent = SCROLLABLE_COMPONENT_IDS.includes(id);\n const isActionableComponent = ACTIONABLE_COMPONENT_IDS.includes(id);\n const miniScreenDevice = !isActionableComponent && slideHeight <= MINIMUM_SCREEN_HEIGHT;\n const isReadOnly = isScrollableComponent || isActionableComponent ? false : !isTeacher;\n\n const SlideComponent = id ? SlideComponentsMap[id] : undefined;\n\n useEffect(() => {\n if (rightPanelRef.current) {\n setSlideHeight(rightPanelRef.current.offsetHeight);\n }\n\n const handleResize = () => {\n if (rightPanelRef.current) {\n setSlideHeight(rightPanelRef.current.offsetHeight);\n }\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n if (!id) return null;\n\n const slideElement = (\n <Styled.SlideWrapper\n $height=\"100%\"\n $minDevice={miniScreenDevice}\n $readOnly={isReadOnly}\n key={id}\n >\n {SlideComponent && <SlideComponent miniScreenDevice={miniScreenDevice} />}\n </Styled.SlideWrapper>\n );\n\n return (\n <Styled.Container ref={rightPanelRef} $readOnly={isReadOnly} $isTeacher={isTeacher}>\n {isTeacher && (\n <Styled.SharedTag\n $flexDirection=\"row\"\n $flexGap={4}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"GREEN_4\"\n >\n <Image src={IMAGES.SHARED} height={24} width={24} withLoader={false} />\n <Text $renderAs=\"ub3\">Shared</Text>\n </Styled.SharedTag>\n )}\n {slideTag && (\n <Styled.ParentDiscussion $renderAs=\"ac4-black\" $color=\"WHITE_T_87\">\n {slideTag}\n </Styled.ParentDiscussion>\n )}\n <Styled.Animation key={id}>\n {!PAGES_WITHOUT_GRID.includes(id) ? (\n <Styled.Wrapper $readOnly={isReadOnly}>\n <Styled.GridWrapper>\n <BackgroundGrid slideId={id} />\n </Styled.GridWrapper>\n {slideElement}\n </Styled.Wrapper>\n ) : (\n slideElement\n )}\n </Styled.Animation>\n </Styled.Container>\n );\n});\n\nexport default RightPanel;\n"],"names":["RightPanel","memo","isTeacher","slideConfig","useTrialSessionContext","id","slideTag","slideHeight","setSlideHeight","useState","rightPanelRef","useRef","isScrollableComponent","SCROLLABLE_COMPONENT_IDS","isActionableComponent","ACTIONABLE_COMPONENT_IDS","miniScreenDevice","MINIMUM_SCREEN_HEIGHT","isReadOnly","SlideComponent","SlideComponentsMap","useEffect","handleResize","slideElement","jsx","Styled.SlideWrapper","jsxs","Styled.Container","Styled.SharedTag","Image","IMAGES","Text","Styled.ParentDiscussion","Styled.Animation","PAGES_WITHOUT_GRID","Styled.Wrapper","Styled.GridWrapper","BackgroundGrid"],"mappings":";;;;;;;;;;AAgBM,MAAAA,IAAaC,EAAK,MAAM;AAC5B,QAAM,EAAE,WAAAC,GAAW,aAAAC,EAAY,IAAIC,EAAuB,GACpD,EAAE,IAAAC,GAAI,UAAAC,EAAa,IAAAH,GAEnB,CAACI,GAAaC,CAAc,IAAIC,EAAiB,CAAC,GAClDC,IAAgBC,EAA8B,IAAI,GAClDC,IAAwBC,EAAyB,SAASR,CAAE,GAC5DS,IAAwBC,EAAyB,SAASV,CAAE,GAC5DW,IAAmB,CAACF,KAAyBP,KAAeU,GAC5DC,IAAaN,KAAyBE,IAAwB,KAAQ,CAACZ,GAEvEiB,IAAiBd,IAAKe,EAAmBf,CAAE,IAAI;AAoBjD,MAlBJgB,EAAU,MAAM;AACd,IAAIX,EAAc,WACDF,EAAAE,EAAc,QAAQ,YAAY;AAGnD,UAAMY,IAAe,MAAM;AACzB,MAAIZ,EAAc,WACDF,EAAAE,EAAc,QAAQ,YAAY;AAAA,IACnD;AAGK,kBAAA,iBAAiB,UAAUY,CAAY,GAEvC,MAAM;AACJ,aAAA,oBAAoB,UAAUA,CAAY;AAAA,IAAA;AAAA,EAErD,GAAG,CAAE,CAAA,GAED,CAACjB,EAAW,QAAA;AAEhB,QAAMkB,IACJ,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAYT;AAAA,MACZ,WAAWE;AAAA,MAGV,UAAAC,KAAmB,gBAAAK,EAAAL,GAAA,EAAe,kBAAAH,EAAoC,CAAA;AAAA,IAAA;AAAA,IAFlEX;AAAA,EAAA;AAOP,SAAA,gBAAAqB,EAACC,GAAA,EAAiB,KAAKjB,GAAe,WAAWQ,GAAY,YAAYhB,GACtE,UAAA;AAAA,IACCA,KAAA,gBAAAwB;AAAA,MAACE;AAAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,UAAU;AAAA,QACV,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAC,gBAAAJ,EAAAK,GAAA,EAAM,KAAKC,EAAO,QAAQ,QAAQ,IAAI,OAAO,IAAI,YAAY,GAAO,CAAA;AAAA,UACpE,gBAAAN,EAAAO,GAAA,EAAK,WAAU,OAAM,UAAM,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC9B;AAAA,IAEDzB,uBACE0B,GAAA,EAAwB,WAAU,aAAY,QAAO,cACnD,UACH1B,GAAA;AAAA,IAED,gBAAAkB,EAAAS,GAAA,EACE,UAACC,EAAmB,SAAS7B,CAAE,IAQ9BkB,IAPC,gBAAAG,EAAAS,GAAA,EAAe,WAAWjB,GACzB,UAAA;AAAA,MAAA,gBAAAM,EAACY,GAAA,EACC,4BAACC,GAAe,EAAA,SAAShC,EAAI,CAAA,GAC/B;AAAA,MACCkB;AAAA,IAAA,GACH,KAPmBlB,CAWvB;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"right-panel-styled.js","sources":["../../../../src/features/trial-session/right-panel/right-panel-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { RIGHT_PANEL_WIDTH } from '../trial-session-constants';\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nconst Container = styled.div<{ $readOnly: boolean; $isTeacher: boolean }>(\n ({ $readOnly, $isTeacher, theme: { colors } }) => {\n return `\n position: relative;\n width: ${RIGHT_PANEL_WIDTH}px;\n height: 100%;\n background-color: white;\n flex-shrink: 0;\n z-index: 1;\n overflow: hidden;\n ${$readOnly ? `cursor: not-allowed;` : ''}\n ${\n $isTeacher\n ? `border: 4px solid ${colors.GREEN_4};`\n : `\n border-left: 1px solid ${colors.WHITE_5};\n border-right: 1px solid ${colors.WHITE_5};\n `\n }\n `;\n },\n);\n\nconst SlideWrapper = styled(FlexView)<{ $minDevice: boolean; $readOnly: boolean }>(\n ({ $minDevice, $readOnly, theme: { layout } }) => `\n ${\n $minDevice\n ? `\n height: calc(100% + ${layout.gutter * 3.125}px);\n transform: translateY(-${layout.gutter * 3.125}px);\n `\n : ''\n }\n ${$readOnly ? `pointer-events: none;` : ''}\n `,\n);\n\nconst Animation = styled.div`\n width: inherit;\n height: 100%;\n animation: ${fadeIn} 0.3s ease-in-out;\n`;\n\nconst Wrapper = styled.div<{ $readOnly: boolean }>(\n ({ $readOnly }) => `\n width: 950px;\n height: 100%;\n transform: translateX(-11px);\n ${$readOnly ? `pointer-events: none;` : ''}\n`,\n);\n\nconst GridWrapper = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: -1;\n`;\n\nconst SharedTag = styled(FlexView)`\n position: absolute;\n top: 0;\n right: 0;\n justify-self: center;\n z-index: 2;\n padding: 4px 12px 6px;\n`;\n\nconst ParentDiscussion = styled(Text)(\n ({ theme: { layout, colors } }) => `\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n z-index: 2;\n padding: 0px ${layout.gutter * 0.75}px;\n background-color: ${colors.BLACK_5};\n height: ${layout.gutter * 1.75}px;\n`,\n);\n\nexport { Container, Animation, Wrapper, GridWrapper, SlideWrapper, SharedTag, ParentDiscussion };\n"],"names":["fadeIn","keyframes","Container","styled","$readOnly","$isTeacher","colors","RIGHT_PANEL_WIDTH","SlideWrapper","FlexView","$minDevice","layout","Animation","Wrapper","GridWrapper","SharedTag","ParentDiscussion","Text"],"mappings":";;;;AAMA,MAAMA,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAYC,EAAO;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,OAAO,EAAE,QAAAC,UAC1B;AAAA;AAAA,eAEIC,CAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMxBH,IAAY,yBAAyB,EAAE;AAAA,QAEvCC,IACI,qBAAqBC,EAAO,OAAO,MACnC;AAAA,qCACyBA,EAAO,OAAO;AAAA,sCACbA,EAAO,OAAO;AAAA,WAE9C;AAAA;AAGN,GAEME,IAAeL,EAAOM,CAAQ;AAAA,EAClC,CAAC,EAAE,YAAAC,GAAY,WAAAN,GAAW,OAAO,EAAE,QAAAO,UAAe;AAAA,MAE9CD,IACI;AAAA,gCACsBC,EAAO,SAAS,KAAK;AAAA,mCAClBA,EAAO,SAAS,KAAK;AAAA,YAE9C,EACN;AAAA,MACEP,IAAY,0BAA0B,EAAE;AAAA;AAE9C,GAEMQ,IAAYT,EAAO;AAAA;AAAA;AAAA,eAGVH,CAAM;AAAA,GAGfa,IAAUV,EAAO;AAAA,EACrB,CAAC,EAAE,WAAAC,EAAA,MAAgB;AAAA;AAAA;AAAA;AAAA,IAIjBA,IAAY,0BAA0B,EAAE;AAAA;AAE5C,GAEMU,IAAcX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASrBY,IAAYZ,EAAOM,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS3BO,IAAmBb,EAAOc,CAAI;AAAA,EAClC,CAAC,EAAE,OAAO,EAAE,QAAAN,GAAQ,QAAAL,
|
1
|
+
{"version":3,"file":"right-panel-styled.js","sources":["../../../../src/features/trial-session/right-panel/right-panel-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { RIGHT_PANEL_WIDTH } from '../trial-session-constants';\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nconst Container = styled.div<{ $readOnly: boolean; $isTeacher: boolean }>(\n ({ $readOnly, $isTeacher, theme: { colors } }) => {\n return `\n position: relative;\n width: ${RIGHT_PANEL_WIDTH}px;\n height: 100%;\n background-color: white;\n flex-shrink: 0;\n z-index: 1;\n overflow: hidden;\n ${$readOnly ? `cursor: not-allowed;` : ''}\n ${\n $isTeacher\n ? `border: 4px solid ${colors.GREEN_4};`\n : `\n border-left: 1px solid ${colors.WHITE_5};\n border-right: 1px solid ${colors.WHITE_5};\n `\n }\n `;\n },\n);\n\nconst SlideWrapper = styled(FlexView)<{ $minDevice: boolean; $readOnly: boolean }>(\n ({ $minDevice, $readOnly, theme: { layout } }) => `\n ${\n $minDevice\n ? `\n height: calc(100% + ${layout.gutter * 3.125}px);\n transform: translateY(-${layout.gutter * 3.125}px);\n `\n : ''\n }\n ${$readOnly ? `pointer-events: none;` : ''}\n `,\n);\n\nconst Animation = styled.div`\n width: inherit;\n height: 100%;\n animation: ${fadeIn} 0.3s ease-in-out;\n`;\n\nconst Wrapper = styled.div<{ $readOnly: boolean }>(\n ({ $readOnly }) => `\n width: 950px;\n height: 100%;\n transform: translateX(-11px);\n ${$readOnly ? `pointer-events: none;` : ''}\n`,\n);\n\nconst GridWrapper = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: -1;\n`;\n\nconst SharedTag = styled(FlexView)`\n position: absolute;\n top: 0;\n right: 0;\n justify-self: center;\n z-index: 2;\n padding: 4px 12px 6px;\n`;\n\nconst ParentDiscussion = styled(Text)(\n ({ theme: { layout, colors } }) => `\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n z-index: 2;\n padding: 0px ${layout.gutter * 0.75}px;\n background-color: ${colors.BLACK_5};\n height: ${layout.gutter * 1.75}px;\n`,\n);\n\nexport { Container, Animation, Wrapper, GridWrapper, SlideWrapper, SharedTag, ParentDiscussion };\n"],"names":["fadeIn","keyframes","Container","styled","$readOnly","$isTeacher","colors","RIGHT_PANEL_WIDTH","SlideWrapper","FlexView","$minDevice","layout","Animation","Wrapper","GridWrapper","SharedTag","ParentDiscussion","Text"],"mappings":";;;;AAMA,MAAMA,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAYC,EAAO;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,OAAO,EAAE,QAAAC,UAC1B;AAAA;AAAA,eAEIC,CAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMxBH,IAAY,yBAAyB,EAAE;AAAA,QAEvCC,IACI,qBAAqBC,EAAO,OAAO,MACnC;AAAA,qCACyBA,EAAO,OAAO;AAAA,sCACbA,EAAO,OAAO;AAAA,WAE9C;AAAA;AAGN,GAEME,IAAeL,EAAOM,CAAQ;AAAA,EAClC,CAAC,EAAE,YAAAC,GAAY,WAAAN,GAAW,OAAO,EAAE,QAAAO,UAAe;AAAA,MAE9CD,IACI;AAAA,gCACsBC,EAAO,SAAS,KAAK;AAAA,mCAClBA,EAAO,SAAS,KAAK;AAAA,YAE9C,EACN;AAAA,MACEP,IAAY,0BAA0B,EAAE;AAAA;AAE9C,GAEMQ,IAAYT,EAAO;AAAA;AAAA;AAAA,eAGVH,CAAM;AAAA,GAGfa,IAAUV,EAAO;AAAA,EACrB,CAAC,EAAE,WAAAC,EAAA,MAAgB;AAAA;AAAA;AAAA;AAAA,IAIjBA,IAAY,0BAA0B,EAAE;AAAA;AAE5C,GAEMU,IAAcX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASrBY,IAAYZ,EAAOM,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS3BO,IAAmBb,EAAOc,CAAI;AAAA,EAClC,CAAC,EAAE,OAAO,EAAE,QAAAN,GAAQ,QAAAL,EAAA,EAAe,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAQpBK,EAAO,SAAS,IAAI;AAAA,sBACfL,EAAO,OAAO;AAAA,YACxBK,EAAO,SAAS,IAAI;AAAA;AAEhC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { getGradesFromConfig } from '../milestone/create/milestone-create-helpers';\nimport FlexView from '../ui/layout/flex-view';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(props => {\n const {\n countryCode,\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [], student } = trialHomeData;\n const { name: studentName, grade: studentGrade } = student || {};\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n countryCode: countryCode,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [countryCode, isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const contextValue = useMemo<ITrialSessionContext>(\n () => ({\n teacherPanel,\n studentPanel,\n isTeacher,\n slideConfig: currentSlideConfig,\n milestoneConfig,\n formData: isTeacher ? formData : formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n }),\n [\n teacherPanel,\n studentPanel,\n isTeacher,\n currentSlideConfig,\n milestoneConfig,\n formData,\n formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n ],\n );\n\n useEffect(() => {\n if (formData && onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [onFormDataChange, formData]);\n\n useEffect(() => {\n if (!studentTimezone) onStudentTimezoneUpdate?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlideId]);\n\n const IsGradeExistInMilestoneConfig = useMemo(\n () => !!getGradesFromConfig(milestoneConfig).find(element => element.id === studentGrade),\n [milestoneConfig, studentGrade],\n );\n\n useEffect(() => {\n updateSlideConfig({\n studentTimezone,\n name: studentName,\n grade: IsGradeExistInMilestoneConfig ? studentGrade : '',\n });\n }, [\n studentName,\n studentGrade,\n updateSlideConfig,\n studentTimezone,\n IsGradeExistInMilestoneConfig,\n ]);\n\n return (\n <TrialSessionContext.Provider value={contextValue}>\n <FlexView $height={height} $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <LeftPanel />\n <RightPanel />\n </FlexView>\n </TrialSessionContext.Provider>\n );\n});\n\nexport default TrialSessionView;\n"],"names":["TrialSessionView","memo","props","countryCode","userType","teacherPanel","studentPanel","trialGameUrl","formDataProps","height","trialHomeData","milestoneConfig","onFormDataChange","worksheet","studentId","teacherId","classStartedOn","worksheetNavigationPanel","questionsRatingPanel","studentAbsentInClass","openEndClassModal","onTrialInformationUpdate","onStudentTimezoneUpdate","handleInfoMessage","onRemoveOptionalSlides","classDuration","studentTimezone","classTimeAlertConfig","isTeacher","slides","student","studentName","studentGrade","formData","setFormData","useState","formDataToUse","currentSlideId","currentSlideConfig","useMemo","config","circleGames","data","updateSlideConfig","useCallback","previousProps","buttonState","updateButtonState","useButtonStateForLeftPanel","contextValue","useEffect","IsGradeExistInMilestoneConfig","getGradesFromConfig","element","jsx","TrialSessionContext","jsxs","FlexView","LeftPanel","RightPanel"],"mappings":";;;;;;;;AAiBM,MAAAA,KAA+CC,EAAK,CAASC,MAAA;AAC3D,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAUC;AAAA,IACV,QAAAC,IAAS;AAAA,IACT,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,sBAAAC;AAAA,
|
1
|
+
{"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { getGradesFromConfig } from '../milestone/create/milestone-create-helpers';\nimport FlexView from '../ui/layout/flex-view';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(props => {\n const {\n countryCode,\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [], student } = trialHomeData;\n const { name: studentName, grade: studentGrade } = student || {};\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n countryCode: countryCode,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [countryCode, isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const contextValue = useMemo<ITrialSessionContext>(\n () => ({\n teacherPanel,\n studentPanel,\n isTeacher,\n slideConfig: currentSlideConfig,\n milestoneConfig,\n formData: isTeacher ? formData : formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n }),\n [\n teacherPanel,\n studentPanel,\n isTeacher,\n currentSlideConfig,\n milestoneConfig,\n formData,\n formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n ],\n );\n\n useEffect(() => {\n if (formData && onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [onFormDataChange, formData]);\n\n useEffect(() => {\n if (!studentTimezone) onStudentTimezoneUpdate?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlideId]);\n\n const IsGradeExistInMilestoneConfig = useMemo(\n () => !!getGradesFromConfig(milestoneConfig).find(element => element.id === studentGrade),\n [milestoneConfig, studentGrade],\n );\n\n useEffect(() => {\n updateSlideConfig({\n studentTimezone,\n name: studentName,\n grade: IsGradeExistInMilestoneConfig ? studentGrade : '',\n });\n }, [\n studentName,\n studentGrade,\n updateSlideConfig,\n studentTimezone,\n IsGradeExistInMilestoneConfig,\n ]);\n\n return (\n <TrialSessionContext.Provider value={contextValue}>\n <FlexView $height={height} $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <LeftPanel />\n <RightPanel />\n </FlexView>\n </TrialSessionContext.Provider>\n );\n});\n\nexport default TrialSessionView;\n"],"names":["TrialSessionView","memo","props","countryCode","userType","teacherPanel","studentPanel","trialGameUrl","formDataProps","height","trialHomeData","milestoneConfig","onFormDataChange","worksheet","studentId","teacherId","classStartedOn","worksheetNavigationPanel","questionsRatingPanel","studentAbsentInClass","openEndClassModal","onTrialInformationUpdate","onStudentTimezoneUpdate","handleInfoMessage","onRemoveOptionalSlides","classDuration","studentTimezone","classTimeAlertConfig","isTeacher","slides","student","studentName","studentGrade","formData","setFormData","useState","formDataToUse","currentSlideId","currentSlideConfig","useMemo","config","circleGames","data","updateSlideConfig","useCallback","previousProps","buttonState","updateButtonState","useButtonStateForLeftPanel","contextValue","useEffect","IsGradeExistInMilestoneConfig","getGradesFromConfig","element","jsx","TrialSessionContext","jsxs","FlexView","LeftPanel","RightPanel"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { jsx as
|
1
|
+
import { jsx as c } from "react/jsx-runtime";
|
2
2
|
import { memo as h, useState as I, useCallback as n, useEffect as p } from "react";
|
3
3
|
import { getTimezone as L } from "../../helpers/date-time.js";
|
4
4
|
import z from "../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
|
@@ -8,8 +8,8 @@ import w from "../ui/loader/app-loader/app-loader.js";
|
|
8
8
|
import { useGetTrialHome as k } from "./api/trial-home.js";
|
9
9
|
import { filterAndUpdateSlideNavigation as x } from "./helper.js";
|
10
10
|
import G from "./trial-session-view.js";
|
11
|
-
const
|
12
|
-
const { userType: e, teacherId: d, studentId: g, teacherClassroomId: N, height: E = "100vh" } =
|
11
|
+
const V = h((f) => {
|
12
|
+
const { userType: e, teacherId: d, studentId: g, teacherClassroomId: N, height: E = "100vh" } = f, [m, A] = I(null), [D, _] = I(), {
|
13
13
|
data: T,
|
14
14
|
get: S,
|
15
15
|
isProcessing: v,
|
@@ -74,10 +74,10 @@ const Y = h((c) => {
|
|
74
74
|
);
|
75
75
|
return p(() => {
|
76
76
|
r == null || r();
|
77
|
-
}, [r]), v && !m || P ? /* @__PURE__ */
|
77
|
+
}, [r]), v && !m || P ? /* @__PURE__ */ c(w, { height: E }) : H || R ? /* @__PURE__ */ c(y, { height: E, onTryAgain: l }) : m && a ? /* @__PURE__ */ c(
|
78
78
|
G,
|
79
79
|
{
|
80
|
-
...
|
80
|
+
...f,
|
81
81
|
onTrialInformationUpdate: M,
|
82
82
|
onStudentTimezoneUpdate: U,
|
83
83
|
trialHomeData: m,
|
@@ -86,7 +86,7 @@ const Y = h((c) => {
|
|
86
86
|
studentTimezone: D
|
87
87
|
}
|
88
88
|
) : null;
|
89
|
-
});
|
89
|
+
}), Y = V;
|
90
90
|
export {
|
91
91
|
Y as default
|
92
92
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport type { ITrialHomeData } from './trial-session-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport { type ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\n\nconst TrialSession: React.FC<ITrialSessionProps> = memo(props => {\n const { userType, teacherId, studentId, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n getMilestoneConfig('', {\n demo_type: 'TRIAL_V3',\n });\n }, [fetchTrialHome, getMilestoneConfig]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === 'STUDENT') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === 'TEACHER') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === 'TEACHER') {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === 'STUDENT') {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (grade?: string) => {\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData = filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n grade,\n });\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","fetchTrialHome","useCallback","fetchData","handleMessageReceive","messages","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","grade","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView"],"mappings":";;;;;;;;;;
|
1
|
+
{"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport type { ITrialHomeData } from './trial-session-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport { type ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\n\nconst TrialSession: React.FC<ITrialSessionProps> = memo(props => {\n const { userType, teacherId, studentId, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n getMilestoneConfig('', {\n demo_type: 'TRIAL_V3',\n });\n }, [fetchTrialHome, getMilestoneConfig]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === 'STUDENT') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === 'TEACHER') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === 'TEACHER') {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === 'STUDENT') {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (grade?: string) => {\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData = filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n grade,\n });\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","fetchTrialHome","useCallback","fetchData","handleMessageReceive","messages","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","grade","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView","TrialSession$1"],"mappings":"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"}
|