@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":"use-get-active-question-id.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-get-active-question-id.ts"],"sourcesContent":["import debounce from 'lodash.debounce';\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport {\n ACTION_BAR_HEIGHT,\n INTERSECTION_OBSERVER_THRESHOLD_POINTS,\n INTERSECTION_OBSERVER_THROTTLE_TIME,\n TOP_NAVIGATION_HEIGHT,\n} from '../constants';\n\ninterface IUseGetActiveQuestionId {\n (initialQuestionId: string): {\n activeQuestionId?: string;\n setActiveQuestionId: (activeQuestionId: string) => void;\n intersectionObserver: IntersectionObserver;\n };\n}\n\nconst getThresholds = () => {\n const thresholds = [];\n\n for (let i = 0; i <= INTERSECTION_OBSERVER_THRESHOLD_POINTS; i++) {\n thresholds.push(i / INTERSECTION_OBSERVER_THRESHOLD_POINTS);\n }\n\n return thresholds;\n};\n\nconst thresholds = getThresholds();\n\n/**\n * Returns the question's response id which is currently in view with the highest intersection ratio\n * @returns activeQuestionId\n */\nconst useGetActiveQuestionId: IUseGetActiveQuestionId = initialQuestionId => {\n const [activeQuestionId, setActiveQuestionId] = useState<string>(initialQuestionId);\n const throttledSetActiveQuestionId = useMemo(\n () =>\n debounce(setActiveQuestionId, INTERSECTION_OBSERVER_THROTTLE_TIME, {\n trailing: true,\n }),\n [],\n );\n const activeQuestionRef = useRef<{\n questionEl: Element;\n intersectionRatio: number;\n }>();\n const intersectionObserver = useMemo(\n () =>\n new IntersectionObserver(\n entries => {\n const maxHeight = entries.reduce((acc, { isIntersecting, target }) => {\n return Math.max(acc, isIntersecting ? target.clientHeight : acc);\n }, 0);\n const [questionEl, questionIntersectionRatio, questionNormalisedRatio] = entries.reduce(\n (acc, { isIntersecting, target, intersectionRatio }) => {\n if (\n target.getAttribute('data-response-id') ===\n activeQuestionRef.current?.questionEl.getAttribute('data-response-id')\n ) {\n activeQuestionRef.current = undefined;\n }\n\n if (isIntersecting) {\n const normalisedRatio = (target.clientHeight / maxHeight) * intersectionRatio;\n\n if (normalisedRatio >= acc[2]) {\n return [target, intersectionRatio, normalisedRatio];\n }\n }\n\n return acc;\n },\n [null, 0, 0] as [Element | null, number, number],\n );\n\n if (questionEl) {\n if (!activeQuestionRef.current) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n } else {\n const nRatio =\n (activeQuestionRef.current.questionEl.clientHeight / maxHeight) *\n activeQuestionRef.current.intersectionRatio;\n\n if (questionNormalisedRatio >= nRatio) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n }\n }\n }\n },\n {\n rootMargin: `-${TOP_NAVIGATION_HEIGHT}px 0px -${ACTION_BAR_HEIGHT}px 0px`,\n threshold: thresholds,\n },\n ),\n [throttledSetActiveQuestionId],\n );\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n return {\n intersectionObserver,\n activeQuestionId,\n setActiveQuestionId,\n };\n};\n\nexport default useGetActiveQuestionId;\n"],"names":["getThresholds","thresholds","i","INTERSECTION_OBSERVER_THRESHOLD_POINTS","useGetActiveQuestionId","initialQuestionId","activeQuestionId","setActiveQuestionId","useState","throttledSetActiveQuestionId","useMemo","debounce","INTERSECTION_OBSERVER_THROTTLE_TIME","activeQuestionRef","useRef","intersectionObserver","entries","maxHeight","acc","isIntersecting","target","questionEl","questionIntersectionRatio","questionNormalisedRatio","intersectionRatio","_a","normalisedRatio","nRatio","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","useEffect"],"mappings":";;;AAkBA,MAAMA,IAAgB,MAAM;AAC1B,QAAMC,IAAa,
|
1
|
+
{"version":3,"file":"use-get-active-question-id.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-get-active-question-id.ts"],"sourcesContent":["import debounce from 'lodash.debounce';\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport {\n ACTION_BAR_HEIGHT,\n INTERSECTION_OBSERVER_THRESHOLD_POINTS,\n INTERSECTION_OBSERVER_THROTTLE_TIME,\n TOP_NAVIGATION_HEIGHT,\n} from '../constants';\n\ninterface IUseGetActiveQuestionId {\n (initialQuestionId: string): {\n activeQuestionId?: string;\n setActiveQuestionId: (activeQuestionId: string) => void;\n intersectionObserver: IntersectionObserver;\n };\n}\n\nconst getThresholds = () => {\n const thresholds = [];\n\n for (let i = 0; i <= INTERSECTION_OBSERVER_THRESHOLD_POINTS; i++) {\n thresholds.push(i / INTERSECTION_OBSERVER_THRESHOLD_POINTS);\n }\n\n return thresholds;\n};\n\nconst thresholds = getThresholds();\n\n/**\n * Returns the question's response id which is currently in view with the highest intersection ratio\n * @returns activeQuestionId\n */\nconst useGetActiveQuestionId: IUseGetActiveQuestionId = initialQuestionId => {\n const [activeQuestionId, setActiveQuestionId] = useState<string>(initialQuestionId);\n const throttledSetActiveQuestionId = useMemo(\n () =>\n debounce(setActiveQuestionId, INTERSECTION_OBSERVER_THROTTLE_TIME, {\n trailing: true,\n }),\n [],\n );\n const activeQuestionRef = useRef<{\n questionEl: Element;\n intersectionRatio: number;\n }>();\n const intersectionObserver = useMemo(\n () =>\n new IntersectionObserver(\n entries => {\n const maxHeight = entries.reduce((acc, { isIntersecting, target }) => {\n return Math.max(acc, isIntersecting ? target.clientHeight : acc);\n }, 0);\n const [questionEl, questionIntersectionRatio, questionNormalisedRatio] = entries.reduce(\n (acc, { isIntersecting, target, intersectionRatio }) => {\n if (\n target.getAttribute('data-response-id') ===\n activeQuestionRef.current?.questionEl.getAttribute('data-response-id')\n ) {\n activeQuestionRef.current = undefined;\n }\n\n if (isIntersecting) {\n const normalisedRatio = (target.clientHeight / maxHeight) * intersectionRatio;\n\n if (normalisedRatio >= acc[2]) {\n return [target, intersectionRatio, normalisedRatio];\n }\n }\n\n return acc;\n },\n [null, 0, 0] as [Element | null, number, number],\n );\n\n if (questionEl) {\n if (!activeQuestionRef.current) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n } else {\n const nRatio =\n (activeQuestionRef.current.questionEl.clientHeight / maxHeight) *\n activeQuestionRef.current.intersectionRatio;\n\n if (questionNormalisedRatio >= nRatio) {\n activeQuestionRef.current = {\n questionEl,\n intersectionRatio: questionIntersectionRatio,\n };\n throttledSetActiveQuestionId(questionEl.getAttribute('data-response-id') ?? '');\n }\n }\n }\n },\n {\n rootMargin: `-${TOP_NAVIGATION_HEIGHT}px 0px -${ACTION_BAR_HEIGHT}px 0px`,\n threshold: thresholds,\n },\n ),\n [throttledSetActiveQuestionId],\n );\n\n useEffect(() => {\n return () => {\n intersectionObserver.disconnect();\n };\n }, [intersectionObserver]);\n\n return {\n intersectionObserver,\n activeQuestionId,\n setActiveQuestionId,\n };\n};\n\nexport default useGetActiveQuestionId;\n"],"names":["getThresholds","thresholds","i","INTERSECTION_OBSERVER_THRESHOLD_POINTS","useGetActiveQuestionId","initialQuestionId","activeQuestionId","setActiveQuestionId","useState","throttledSetActiveQuestionId","useMemo","debounce","INTERSECTION_OBSERVER_THROTTLE_TIME","activeQuestionRef","useRef","intersectionObserver","entries","maxHeight","acc","isIntersecting","target","questionEl","questionIntersectionRatio","questionNormalisedRatio","intersectionRatio","_a","normalisedRatio","nRatio","TOP_NAVIGATION_HEIGHT","ACTION_BAR_HEIGHT","useEffect"],"mappings":";;;AAkBA,MAAMA,IAAgB,MAAM;AAC1B,QAAMC,IAAa,CAAA;AAEnB,WAASC,IAAI,GAAGA,KAAKC,GAAwCD;AAC3DD,IAAAA,EAAW,KAAKC,IAAIC,CAAsC;AAGrDF,SAAAA;AACT,GAEMA,IAAaD,EAAc,GAM3BI,IAAkD,CAAqBC,MAAA;AAC3E,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAiBH,CAAiB,GAC5EI,IAA+BC;AAAA,IACnC,MACEC,EAASJ,GAAqBK,GAAqC;AAAA,MACjE,UAAU;AAAA,IAAA,CACX;AAAA,IACH,CAAC;AAAA,EAAA,GAEGC,IAAoBC,KAIpBC,IAAuBL;AAAA,IAC3B,MACE,IAAI;AAAA,MACF,CAAWM,MAAA;AACH,cAAAC,IAAYD,EAAQ,OAAO,CAACE,GAAK,EAAE,gBAAAC,GAAgB,QAAAC,QAChD,KAAK,IAAIF,GAAKC,IAAiBC,EAAO,eAAeF,CAAG,GAC9D,CAAC,GACE,CAACG,GAAYC,GAA2BC,CAAuB,IAAIP,EAAQ;AAAA,UAC/E,CAACE,GAAK,EAAE,gBAAAC,GAAgB,QAAAC,GAAQ,mBAAAI,QAAwB;;AAQtD,gBANEJ,EAAO,aAAa,kBAAkB,QACtCK,IAAAZ,EAAkB,YAAlB,gBAAAY,EAA2B,WAAW,aAAa,yBAEnDZ,EAAkB,UAAU,SAG1BM,GAAgB;AACZ,oBAAAO,IAAmBN,EAAO,eAAeH,IAAaO;AAExD,kBAAAE,KAAmBR,EAAI,CAAC;AACnB,uBAAA,CAACE,GAAQI,GAAmBE,CAAe;AAAA,YAEtD;AAEO,mBAAAR;AAAA,UACT;AAAA,UACA,CAAC,MAAM,GAAG,CAAC;AAAA,QAAA;AAGb,YAAIG;AACE,cAAA,CAACR,EAAkB;AACrB,YAAAA,EAAkB,UAAU;AAAA,cAC1B,YAAAQ;AAAA,cACA,mBAAmBC;AAAA,YAAA,GAErBb,EAA6BY,EAAW,aAAa,kBAAkB,KAAK,EAAE;AAAA,eACzE;AACL,kBAAMM,IACHd,EAAkB,QAAQ,WAAW,eAAeI,IACrDJ,EAAkB,QAAQ;AAE5B,YAAIU,KAA2BI,MAC7Bd,EAAkB,UAAU;AAAA,cAC1B,YAAAQ;AAAA,cACA,mBAAmBC;AAAA,YAAA,GAErBb,EAA6BY,EAAW,aAAa,kBAAkB,KAAK,EAAE;AAAA,UAElF;AAAA,MAEJ;AAAA,MACA;AAAA,QACE,YAAY,IAAIO,CAAqB,WAAWC,CAAiB;AAAA,QACjE,WAAW5B;AAAA,MACb;AAAA,IACF;AAAA,IACF,CAACQ,CAA4B;AAAA,EAAA;AAG/B,SAAAqB,EAAU,MACD,MAAM;AACX,IAAAf,EAAqB,WAAW;AAAA,EAAA,GAEjC,CAACA,CAAoB,CAAC,GAElB;AAAA,IACL,sBAAAA;AAAA,IACA,kBAAAT;AAAA,IACA,qBAAAC;AAAA,EAAA;AAEJ;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-learnosity-append.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity-append.ts"],"sourcesContent":["import type {\n ILearnosityError,\n ILearnosityQuestionResponse,\n IWorksheetQuestion,\n} from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useCallback } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\n\ninterface IForceAppend {\n (options: {\n question: IWorksheetQuestion;\n response: ILearnosityQuestionResponse;\n callback: (error?: ILearnosityError) => void;\n }): void;\n}\n\ninterface IUseLearnosityAppend {\n (\n signedRequest: string,\n loggerRef?: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): { forceAppend: IForceAppend };\n}\n\nconst useLearnosityAppend: IUseLearnosityAppend = signedRequest => {\n const unmountedRef = useIsUnmounted();\n const forceAppend = useCallback<IForceAppend>(\n ({ question, response, callback }) => {\n const parsedRequest = JSON.parse(signedRequest);\n let readyListenerFiredOnce = false;\n\n parsedRequest.type = 'local_practice';\n\n const learnosity = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (unmountedRef.current) return;\n\n if (!readyListenerFiredOnce) {\n learnosity.append({\n questions: [question],\n responses: {\n [question.response_id]: {\n ...response,\n },\n },\n });\n } else {\n const q = learnosity.question(question.response_id);\n\n if (q) {\n q.disable();\n q.validate({\n showCorrectAnswers: true,\n });\n }\n\n learnosity.renderMath('mathjax');\n\n callback();\n }\n\n readyListenerFiredOnce = true;\n },\n errorListener: (error: ILearnosityError) => {\n if (unmountedRef.current) return;\n\n callback(error as ILearnosityError);\n },\n });\n },\n [signedRequest, unmountedRef],\n );\n\n return { forceAppend };\n};\n\nexport default useLearnosityAppend;\n"],"names":["useLearnosityAppend","signedRequest","unmountedRef","useIsUnmounted","useCallback","question","response","callback","parsedRequest","readyListenerFiredOnce","learnosity","q","error"],"mappings":";;AA0BA,MAAMA,IAA4C,CAAiBC,MAAA;AACjE,QAAMC,IAAeC
|
1
|
+
{"version":3,"file":"use-learnosity-append.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity-append.ts"],"sourcesContent":["import type {\n ILearnosityError,\n ILearnosityQuestionResponse,\n IWorksheetQuestion,\n} from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useCallback } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\n\ninterface IForceAppend {\n (options: {\n question: IWorksheetQuestion;\n response: ILearnosityQuestionResponse;\n callback: (error?: ILearnosityError) => void;\n }): void;\n}\n\ninterface IUseLearnosityAppend {\n (\n signedRequest: string,\n loggerRef?: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): { forceAppend: IForceAppend };\n}\n\nconst useLearnosityAppend: IUseLearnosityAppend = signedRequest => {\n const unmountedRef = useIsUnmounted();\n const forceAppend = useCallback<IForceAppend>(\n ({ question, response, callback }) => {\n const parsedRequest = JSON.parse(signedRequest);\n let readyListenerFiredOnce = false;\n\n parsedRequest.type = 'local_practice';\n\n const learnosity = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (unmountedRef.current) return;\n\n if (!readyListenerFiredOnce) {\n learnosity.append({\n questions: [question],\n responses: {\n [question.response_id]: {\n ...response,\n },\n },\n });\n } else {\n const q = learnosity.question(question.response_id);\n\n if (q) {\n q.disable();\n q.validate({\n showCorrectAnswers: true,\n });\n }\n\n learnosity.renderMath('mathjax');\n\n callback();\n }\n\n readyListenerFiredOnce = true;\n },\n errorListener: (error: ILearnosityError) => {\n if (unmountedRef.current) return;\n\n callback(error as ILearnosityError);\n },\n });\n },\n [signedRequest, unmountedRef],\n );\n\n return { forceAppend };\n};\n\nexport default useLearnosityAppend;\n"],"names":["useLearnosityAppend","signedRequest","unmountedRef","useIsUnmounted","useCallback","question","response","callback","parsedRequest","readyListenerFiredOnce","learnosity","q","error"],"mappings":";;AA0BA,MAAMA,IAA4C,CAAiBC,MAAA;AACjE,QAAMC,IAAeC;AAgDrB,SAAO,EAAE,aA/CWC;AAAA,IAClB,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,UAAAC,QAAe;AAC9B,YAAAC,IAAgB,KAAK,MAAMP,CAAa;AAC9C,UAAIQ,IAAyB;AAE7B,MAAAD,EAAc,OAAO;AAErB,YAAME,IAAa,OAAO,cAAc,KAAKF,GAAe;AAAA,QAC1D,eAAe,MAAM;AACnB,cAAI,CAAAN,EAAa,SAEjB;AAAA,gBAAI,CAACO;AACH,cAAAC,EAAW,OAAO;AAAA,gBAChB,WAAW,CAACL,CAAQ;AAAA,gBACpB,WAAW;AAAA,kBACT,CAACA,EAAS,WAAW,GAAG;AAAA,oBACtB,GAAGC;AAAA,kBACL;AAAA,gBACF;AAAA,cAAA,CACD;AAAA,iBACI;AACL,oBAAMK,IAAID,EAAW,SAASL,EAAS,WAAW;AAElD,cAAIM,MACFA,EAAE,QAAQ,GACVA,EAAE,SAAS;AAAA,gBACT,oBAAoB;AAAA,cAAA,CACrB,IAGHD,EAAW,WAAW,SAAS,GAEtBH;YACX;AAEyB,YAAAE,IAAA;AAAA;AAAA,QAC3B;AAAA,QACA,eAAe,CAACG,MAA4B;AAC1C,UAAIV,EAAa,WAEjBK,EAASK,CAAyB;AAAA,QACpC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACX,GAAeC,CAAY;AAAA,EAAA,EAGT;AACvB;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-learnosity.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity.ts"],"sourcesContent":["declare global {\n interface Window {\n LearnosityApp: {\n init: (\n config: Record<string, unknown>,\n callbacks: {\n readyListener: (learnosity: ILearnosity) => void;\n errorListener: (error: ILearnosityError) => void;\n },\n ) => ILearnosity;\n };\n }\n}\n// https://help.learnosity.com/hc/en-us/articles/16458083654173-troubleshooting-Questions-API\nconst NON_RECOVERABLE_ERROR_CODES = [10001, 10002, 10003, 10005, 10007, 10010, 10015, 10016, 10018];\n\nimport type { ILearnosity, ILearnosityError, ILearnosityQuestion } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\n\ninterface IAppendQueue {\n response_id: string;\n toAppend: Parameters<ILearnosity['append']>[0];\n}\n\nconst patchLearnosity = (\n learnosity: ILearnosity,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n) => {\n let appendQueue: IAppendQueue[] = [];\n let isAppending = false;\n\n learnosity.appendQuestion = ({ questions, responses }) => {\n const firstQuestionId = questions[0]?.response_id;\n\n if (firstQuestionId) {\n if (!isAppending) {\n isAppending = true;\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionId: firstQuestionId,\n });\n learnosity.append({ questions, responses });\n } else if (appendQueue.filter(({ response_id }) => response_id !== firstQuestionId)) {\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING_QUEUED, {\n questionId: firstQuestionId,\n });\n appendQueue = [\n ...appendQueue.filter(({ response_id }) => response_id !== firstQuestionId),\n {\n response_id: firstQuestionId,\n toAppend: {\n questions,\n responses,\n },\n },\n ];\n }\n }\n };\n\n learnosity.ready = () => {\n setTimeout(() => {\n if (appendQueue.length > 0) {\n const questions: ILearnosityQuestion[] = [];\n const responses: Record<string, unknown> = {};\n\n appendQueue.forEach(({ response_id, toAppend }) => {\n questions.push(...toAppend.questions);\n const response = toAppend.responses?.[response_id];\n\n if (response) {\n responses[response_id] = response;\n }\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionIds: questions.map(({ response_id }) => response_id),\n });\n appendQueue = [];\n learnosity.append({\n questions,\n responses,\n });\n } else {\n isAppending = false;\n }\n }, 500);\n };\n};\n\ninterface IUseLearnosity {\n (\n signedRequest: string,\n onErrored: (error: ILearnosityError) => void,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): {\n learnosity?: ILearnosity;\n appendedQuestionIds: string[];\n };\n}\n\nconst useLearnosity: IUseLearnosity = (signedRequest, onErrored, loggerRef) => {\n const [learnosity, setLearnosity] = useState<ILearnosity>();\n const { scriptStatus } = useIsLearnosityLoaded();\n const [appendedQuestionIds, setAppendedQuestionIds] = useState<string[]>([]);\n const appendedQuestionIdsRef = useRef(appendedQuestionIds);\n const unmountedRef = useIsUnmounted();\n\n useEffect(() => {\n if (scriptStatus === 'loaded') {\n const parsedRequest = JSON.parse(signedRequest);\n\n parsedRequest.type = 'local_practice';\n\n loggerRef.current(EVENTS.WORKSHHEET_V3_LEANROSITY_INITIALIZING);\n const learnosityApp = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (!unmountedRef.current) {\n setLearnosity(prevLearnosity => {\n if (!prevLearnosity) {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_INITIALIZED);\n patchLearnosity(learnosityApp, loggerRef);\n } else {\n learnosityApp.ready();\n\n const questionIds = Object.keys(learnosityApp.questions());\n\n questionIds.forEach(questionId => {\n if (!appendedQuestionIdsRef.current.includes(questionId)) {\n const question = learnosityApp.question(questionId);\n\n if (question) {\n if (appendedQuestionIdsRef.current.length === 0)\n loggerRef.current(EVENTS.WORKSHEET_V3_FIRST_QUESTION_APPENDED, {\n questionId,\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDED, {\n questionId,\n });\n question.disable();\n }\n }\n });\n\n appendedQuestionIdsRef.current = questionIds;\n setAppendedQuestionIds(questionIds);\n }\n\n return learnosityApp;\n });\n }\n },\n errorListener: (error: ILearnosityError) => {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_FAILED, { error });\n\n // Block user only for NON_RECOVERABLE_ERROR_CODES\n if (NON_RECOVERABLE_ERROR_CODES.includes(error.code)) {\n onErrored(error as ILearnosityError);\n }\n },\n });\n\n return () => {\n learnosityApp.reset();\n };\n }\n\n return () => {};\n }, [loggerRef, onErrored, scriptStatus, signedRequest, unmountedRef]);\n\n return {\n learnosity,\n appendedQuestionIds,\n };\n};\n\nexport default useLearnosity;\n"],"names":["NON_RECOVERABLE_ERROR_CODES","patchLearnosity","learnosity","loggerRef","appendQueue","isAppending","questions","responses","firstQuestionId","_a","response_id","EVENTS","toAppend","response","useLearnosity","signedRequest","onErrored","setLearnosity","useState","scriptStatus","useIsLearnosityLoaded","appendedQuestionIds","setAppendedQuestionIds","appendedQuestionIdsRef","useRef","unmountedRef","useIsUnmounted","useEffect","parsedRequest","learnosityApp","prevLearnosity","questionIds","questionId","question","error"],"mappings":";;;;AAcA,MAAMA,IAA8B,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAgB5FC,IAAkB,CACtBC,GACAC,MACG;AACH,MAAIC,IAA8B,
|
1
|
+
{"version":3,"file":"use-learnosity.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-learnosity.ts"],"sourcesContent":["declare global {\n interface Window {\n LearnosityApp: {\n init: (\n config: Record<string, unknown>,\n callbacks: {\n readyListener: (learnosity: ILearnosity) => void;\n errorListener: (error: ILearnosityError) => void;\n },\n ) => ILearnosity;\n };\n }\n}\n// https://help.learnosity.com/hc/en-us/articles/16458083654173-troubleshooting-Questions-API\nconst NON_RECOVERABLE_ERROR_CODES = [10001, 10002, 10003, 10005, 10007, 10010, 10015, 10016, 10018];\n\nimport type { ILearnosity, ILearnosityError, ILearnosityQuestion } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport useIsUnmounted from '../../../hooks/use-is-unmounted';\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\n\ninterface IAppendQueue {\n response_id: string;\n toAppend: Parameters<ILearnosity['append']>[0];\n}\n\nconst patchLearnosity = (\n learnosity: ILearnosity,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n) => {\n let appendQueue: IAppendQueue[] = [];\n let isAppending = false;\n\n learnosity.appendQuestion = ({ questions, responses }) => {\n const firstQuestionId = questions[0]?.response_id;\n\n if (firstQuestionId) {\n if (!isAppending) {\n isAppending = true;\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionId: firstQuestionId,\n });\n learnosity.append({ questions, responses });\n } else if (appendQueue.filter(({ response_id }) => response_id !== firstQuestionId)) {\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING_QUEUED, {\n questionId: firstQuestionId,\n });\n appendQueue = [\n ...appendQueue.filter(({ response_id }) => response_id !== firstQuestionId),\n {\n response_id: firstQuestionId,\n toAppend: {\n questions,\n responses,\n },\n },\n ];\n }\n }\n };\n\n learnosity.ready = () => {\n setTimeout(() => {\n if (appendQueue.length > 0) {\n const questions: ILearnosityQuestion[] = [];\n const responses: Record<string, unknown> = {};\n\n appendQueue.forEach(({ response_id, toAppend }) => {\n questions.push(...toAppend.questions);\n const response = toAppend.responses?.[response_id];\n\n if (response) {\n responses[response_id] = response;\n }\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDING, {\n questionIds: questions.map(({ response_id }) => response_id),\n });\n appendQueue = [];\n learnosity.append({\n questions,\n responses,\n });\n } else {\n isAppending = false;\n }\n }, 500);\n };\n};\n\ninterface IUseLearnosity {\n (\n signedRequest: string,\n onErrored: (error: ILearnosityError) => void,\n loggerRef: MutableRefObject<(eventName: string, data?: Record<string, unknown>) => void>,\n ): {\n learnosity?: ILearnosity;\n appendedQuestionIds: string[];\n };\n}\n\nconst useLearnosity: IUseLearnosity = (signedRequest, onErrored, loggerRef) => {\n const [learnosity, setLearnosity] = useState<ILearnosity>();\n const { scriptStatus } = useIsLearnosityLoaded();\n const [appendedQuestionIds, setAppendedQuestionIds] = useState<string[]>([]);\n const appendedQuestionIdsRef = useRef(appendedQuestionIds);\n const unmountedRef = useIsUnmounted();\n\n useEffect(() => {\n if (scriptStatus === 'loaded') {\n const parsedRequest = JSON.parse(signedRequest);\n\n parsedRequest.type = 'local_practice';\n\n loggerRef.current(EVENTS.WORKSHHEET_V3_LEANROSITY_INITIALIZING);\n const learnosityApp = window.LearnosityApp.init(parsedRequest, {\n readyListener: () => {\n if (!unmountedRef.current) {\n setLearnosity(prevLearnosity => {\n if (!prevLearnosity) {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_INITIALIZED);\n patchLearnosity(learnosityApp, loggerRef);\n } else {\n learnosityApp.ready();\n\n const questionIds = Object.keys(learnosityApp.questions());\n\n questionIds.forEach(questionId => {\n if (!appendedQuestionIdsRef.current.includes(questionId)) {\n const question = learnosityApp.question(questionId);\n\n if (question) {\n if (appendedQuestionIdsRef.current.length === 0)\n loggerRef.current(EVENTS.WORKSHEET_V3_FIRST_QUESTION_APPENDED, {\n questionId,\n });\n\n loggerRef.current(EVENTS.WORKSHEET_V3_QUESTION_APPENDED, {\n questionId,\n });\n question.disable();\n }\n }\n });\n\n appendedQuestionIdsRef.current = questionIds;\n setAppendedQuestionIds(questionIds);\n }\n\n return learnosityApp;\n });\n }\n },\n errorListener: (error: ILearnosityError) => {\n loggerRef.current(EVENTS.WORKSHEET_V3_LEARNOSITY_FAILED, { error });\n\n // Block user only for NON_RECOVERABLE_ERROR_CODES\n if (NON_RECOVERABLE_ERROR_CODES.includes(error.code)) {\n onErrored(error as ILearnosityError);\n }\n },\n });\n\n return () => {\n learnosityApp.reset();\n };\n }\n\n return () => {};\n }, [loggerRef, onErrored, scriptStatus, signedRequest, unmountedRef]);\n\n return {\n learnosity,\n appendedQuestionIds,\n };\n};\n\nexport default useLearnosity;\n"],"names":["NON_RECOVERABLE_ERROR_CODES","patchLearnosity","learnosity","loggerRef","appendQueue","isAppending","questions","responses","firstQuestionId","_a","response_id","EVENTS","toAppend","response","useLearnosity","signedRequest","onErrored","setLearnosity","useState","scriptStatus","useIsLearnosityLoaded","appendedQuestionIds","setAppendedQuestionIds","appendedQuestionIdsRef","useRef","unmountedRef","useIsUnmounted","useEffect","parsedRequest","learnosityApp","prevLearnosity","questionIds","questionId","question","error"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-s3-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-s3-helper.ts"],"sourcesContent":["import type { IFile } from '../worksheet-question/subjective-review';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { useAwsSignedKey } from '../api/subjective-review';\n\ninterface IUseS3helper {\n (params: {\n studentId: string;\n query: {\n type: string;\n };\n }): (props: IUploadImageProps) => void;\n}\n\ninterface IUploadImageProps {\n images: IFile[];\n onSuccess: (urls: string[]) => void;\n onError: () => void;\n fileKey: string;\n fileName?: string;\n}\n\nconst useS3ImageUploadHelper: IUseS3helper = props => {\n const { studentId, query } = props;\n const { data: awsSignedKey, get: getAwsSignedKey } = useAwsSignedKey();\n\n useEffect(() => {\n getAwsSignedKey(studentId, query);\n }, [query, getAwsSignedKey, studentId]);\n\n const uploadImagesToS3 = useCallback(\n async ({ images, onSuccess, onError, fileKey, fileName }: IUploadImageProps) => {\n if (!awsSignedKey) return;\n\n const url = `https://${awsSignedKey.bucketName}.s3.amazonaws.com/`;\n\n try {\n const uploadPromises = images.map(async (item: { file: string | Blob }) => {\n const formData = new FormData();\n const key = `${fileKey}${fileName ?? uuidv4()}`;\n\n formData.append('key', key);\n formData.append('AWSAccessKeyId', awsSignedKey.awsKey);\n formData.append('acl', 'public-read');\n formData.append('success_action_redirect', '');\n formData.append('policy', awsSignedKey.policy);\n formData.append('signature', awsSignedKey.signature);\n formData.append('Content-Type', 'image/jpeg');\n formData.append('file', item.file);\n\n const res = await fetch(url, {\n method: 'POST',\n body: formData,\n });\n\n if (!res.ok) {\n throw new Error('Upload failed');\n }\n\n return `${url}${key}`;\n });\n\n const uploadedUrls = await Promise.all(uploadPromises);\n\n onSuccess(uploadedUrls);\n } catch (error) {\n onError();\n }\n },\n [awsSignedKey],\n );\n\n return uploadImagesToS3;\n};\n\nexport default useS3ImageUploadHelper;\n"],"names":["useS3ImageUploadHelper","props","studentId","query","awsSignedKey","getAwsSignedKey","useAwsSignedKey","useEffect","useCallback","images","onSuccess","onError","fileKey","fileName","url","uploadPromises","item","formData","key","uuidv4","uploadedUrls"],"mappings":";;;AAwBA,MAAMA,IAAuC,CAASC,MAAA;AAC9C,QAAA,EAAE,WAAAC,GAAW,OAAAC,
|
1
|
+
{"version":3,"file":"use-s3-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-s3-helper.ts"],"sourcesContent":["import type { IFile } from '../worksheet-question/subjective-review';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { useAwsSignedKey } from '../api/subjective-review';\n\ninterface IUseS3helper {\n (params: {\n studentId: string;\n query: {\n type: string;\n };\n }): (props: IUploadImageProps) => void;\n}\n\ninterface IUploadImageProps {\n images: IFile[];\n onSuccess: (urls: string[]) => void;\n onError: () => void;\n fileKey: string;\n fileName?: string;\n}\n\nconst useS3ImageUploadHelper: IUseS3helper = props => {\n const { studentId, query } = props;\n const { data: awsSignedKey, get: getAwsSignedKey } = useAwsSignedKey();\n\n useEffect(() => {\n getAwsSignedKey(studentId, query);\n }, [query, getAwsSignedKey, studentId]);\n\n const uploadImagesToS3 = useCallback(\n async ({ images, onSuccess, onError, fileKey, fileName }: IUploadImageProps) => {\n if (!awsSignedKey) return;\n\n const url = `https://${awsSignedKey.bucketName}.s3.amazonaws.com/`;\n\n try {\n const uploadPromises = images.map(async (item: { file: string | Blob }) => {\n const formData = new FormData();\n const key = `${fileKey}${fileName ?? uuidv4()}`;\n\n formData.append('key', key);\n formData.append('AWSAccessKeyId', awsSignedKey.awsKey);\n formData.append('acl', 'public-read');\n formData.append('success_action_redirect', '');\n formData.append('policy', awsSignedKey.policy);\n formData.append('signature', awsSignedKey.signature);\n formData.append('Content-Type', 'image/jpeg');\n formData.append('file', item.file);\n\n const res = await fetch(url, {\n method: 'POST',\n body: formData,\n });\n\n if (!res.ok) {\n throw new Error('Upload failed');\n }\n\n return `${url}${key}`;\n });\n\n const uploadedUrls = await Promise.all(uploadPromises);\n\n onSuccess(uploadedUrls);\n } catch (error) {\n onError();\n }\n },\n [awsSignedKey],\n );\n\n return uploadImagesToS3;\n};\n\nexport default useS3ImageUploadHelper;\n"],"names":["useS3ImageUploadHelper","props","studentId","query","awsSignedKey","getAwsSignedKey","useAwsSignedKey","useEffect","useCallback","images","onSuccess","onError","fileKey","fileName","url","uploadPromises","item","formData","key","uuidv4","uploadedUrls"],"mappings":";;;AAwBA,MAAMA,IAAuC,CAASC,MAAA;AAC9C,QAAA,EAAE,WAAAC,GAAW,OAAAC,EAAU,IAAAF,GACvB,EAAE,MAAMG,GAAc,KAAKC,EAAA,IAAoBC;AAErD,SAAAC,EAAU,MAAM;AACd,IAAAF,EAAgBH,GAAWC,CAAK;AAAA,EAC/B,GAAA,CAACA,GAAOE,GAAiBH,CAAS,CAAC,GAEbM;AAAA,IACvB,OAAO,EAAE,QAAAC,GAAQ,WAAAC,GAAW,SAAAC,GAAS,SAAAC,GAAS,UAAAC,QAAkC;AAC9E,UAAI,CAACT,EAAc;AAEb,YAAAU,IAAM,WAAWV,EAAa,UAAU;AAE1C,UAAA;AACF,cAAMW,IAAiBN,EAAO,IAAI,OAAOO,MAAkC;AACnE,gBAAAC,IAAW,IAAI,YACfC,IAAM,GAAGN,CAAO,GAAGC,KAAYM,EAAQ,CAAA;AAgBzC,cAdKF,EAAA,OAAO,OAAOC,CAAG,GACjBD,EAAA,OAAO,kBAAkBb,EAAa,MAAM,GAC5Ca,EAAA,OAAO,OAAO,aAAa,GAC3BA,EAAA,OAAO,2BAA2B,EAAE,GACpCA,EAAA,OAAO,UAAUb,EAAa,MAAM,GACpCa,EAAA,OAAO,aAAab,EAAa,SAAS,GAC1Ca,EAAA,OAAO,gBAAgB,YAAY,GACnCA,EAAA,OAAO,QAAQD,EAAK,IAAI,GAO7B,EALQ,MAAM,MAAMF,GAAK;AAAA,YAC3B,QAAQ;AAAA,YACR,MAAMG;AAAA,UAAA,CACP,GAEQ;AACD,kBAAA,IAAI,MAAM,eAAe;AAG1B,iBAAA,GAAGH,CAAG,GAAGI,CAAG;AAAA,QAAA,CACpB,GAEKE,IAAe,MAAM,QAAQ,IAAIL,CAAc;AAErD,QAAAL,EAAUU,CAAY;AAAA,cACR;AACN,QAAAT;MACV;AAAA,IACF;AAAA,IACA,CAACP,CAAY;AAAA,EAAA;AAIjB;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-time-on-questions.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-time-on-questions.ts"],"sourcesContent":["import type { IWorksheetBehavior, IWorksheetResponse } from '../worksheet-types';\n\nimport { useEffect, useRef, useCallback } from 'react';\n\nimport usePrevious from '../../../hooks/use-previous';\n\nconst useTimeSpentOnQuestions = (\n behavior: IWorksheetBehavior,\n responses: Record<string, IWorksheetResponse>,\n questionId?: string,\n) => {\n const timeSpentRef = useRef<Record<string, number>>(\n Object.entries(responses).reduce((acc: Record<string, number>, [qId, res]) => {\n acc[qId] = res?.timeSpent ?? 0;\n\n return acc;\n }, {}),\n );\n const currentQuestionIdRef = useRef<string | undefined>(questionId);\n\n const startTimeRef = useRef<number | null>(Date.now());\n const previousQuestionId = usePrevious(questionId);\n\n const { canAttempt } = behavior;\n\n const getTimeSpentOnQuestion = useCallback(\n (qId: string) => {\n if (qId !== currentQuestionIdRef.current) {\n return timeSpentRef.current[qId] ?? 0;\n }\n\n if (qId && startTimeRef.current && canAttempt) {\n return (timeSpentRef.current[qId] ?? 0) + (Date.now() - startTimeRef.current);\n }\n\n return timeSpentRef.current[qId] ?? 0;\n },\n [canAttempt],\n );\n\n useEffect(() => {\n currentQuestionIdRef.current = questionId;\n }, [questionId]);\n\n const handleVisibilityChange = useCallback(() => {\n if (\n document.visibilityState === 'hidden' &&\n startTimeRef.current &&\n currentQuestionIdRef.current\n ) {\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[currentQuestionIdRef.current] =\n (timeSpentRef.current[currentQuestionIdRef.current] ?? 0) + timeSpentInMs;\n startTimeRef.current = null;\n } else if (document.visibilityState === 'visible' && !startTimeRef.current) {\n startTimeRef.current = Date.now();\n }\n }, []);\n\n useEffect(() => {\n if (!canAttempt) return;\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n };\n }, [canAttempt, handleVisibilityChange]);\n\n useEffect(() => {\n if (!questionId || !canAttempt) return;\n\n if (previousQuestionId !== questionId) {\n if (startTimeRef.current && previousQuestionId) {\n const prevTimeSpent = timeSpentRef.current[previousQuestionId] ?? 0;\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[previousQuestionId] = prevTimeSpent + timeSpentInMs;\n }\n startTimeRef.current = Date.now();\n }\n }, [canAttempt, previousQuestionId, questionId]);\n\n return getTimeSpentOnQuestion;\n};\n\nexport default useTimeSpentOnQuestions;\n"],"names":["useTimeSpentOnQuestions","behavior","responses","questionId","timeSpentRef","useRef","acc","qId","res","currentQuestionIdRef","startTimeRef","previousQuestionId","usePrevious","canAttempt","getTimeSpentOnQuestion","useCallback","useEffect","handleVisibilityChange","timeSpentInMs","prevTimeSpent"],"mappings":";;AAMA,MAAMA,IAA0B,CAC9BC,GACAC,GACAC,MACG;AACH,QAAMC,IAAeC;AAAA,IACnB,OAAO,QAAQH,CAAS,EAAE,OAAO,CAACI,GAA6B,CAACC,GAAKC,CAAG,OAClEF,EAAAC,CAAG,KAAIC,KAAA,gBAAAA,EAAK,cAAa,GAEtBF,IACN,
|
1
|
+
{"version":3,"file":"use-time-on-questions.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-time-on-questions.ts"],"sourcesContent":["import type { IWorksheetBehavior, IWorksheetResponse } from '../worksheet-types';\n\nimport { useEffect, useRef, useCallback } from 'react';\n\nimport usePrevious from '../../../hooks/use-previous';\n\nconst useTimeSpentOnQuestions = (\n behavior: IWorksheetBehavior,\n responses: Record<string, IWorksheetResponse>,\n questionId?: string,\n) => {\n const timeSpentRef = useRef<Record<string, number>>(\n Object.entries(responses).reduce((acc: Record<string, number>, [qId, res]) => {\n acc[qId] = res?.timeSpent ?? 0;\n\n return acc;\n }, {}),\n );\n const currentQuestionIdRef = useRef<string | undefined>(questionId);\n\n const startTimeRef = useRef<number | null>(Date.now());\n const previousQuestionId = usePrevious(questionId);\n\n const { canAttempt } = behavior;\n\n const getTimeSpentOnQuestion = useCallback(\n (qId: string) => {\n if (qId !== currentQuestionIdRef.current) {\n return timeSpentRef.current[qId] ?? 0;\n }\n\n if (qId && startTimeRef.current && canAttempt) {\n return (timeSpentRef.current[qId] ?? 0) + (Date.now() - startTimeRef.current);\n }\n\n return timeSpentRef.current[qId] ?? 0;\n },\n [canAttempt],\n );\n\n useEffect(() => {\n currentQuestionIdRef.current = questionId;\n }, [questionId]);\n\n const handleVisibilityChange = useCallback(() => {\n if (\n document.visibilityState === 'hidden' &&\n startTimeRef.current &&\n currentQuestionIdRef.current\n ) {\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[currentQuestionIdRef.current] =\n (timeSpentRef.current[currentQuestionIdRef.current] ?? 0) + timeSpentInMs;\n startTimeRef.current = null;\n } else if (document.visibilityState === 'visible' && !startTimeRef.current) {\n startTimeRef.current = Date.now();\n }\n }, []);\n\n useEffect(() => {\n if (!canAttempt) return;\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n };\n }, [canAttempt, handleVisibilityChange]);\n\n useEffect(() => {\n if (!questionId || !canAttempt) return;\n\n if (previousQuestionId !== questionId) {\n if (startTimeRef.current && previousQuestionId) {\n const prevTimeSpent = timeSpentRef.current[previousQuestionId] ?? 0;\n const timeSpentInMs = Date.now() - startTimeRef.current;\n\n timeSpentRef.current[previousQuestionId] = prevTimeSpent + timeSpentInMs;\n }\n startTimeRef.current = Date.now();\n }\n }, [canAttempt, previousQuestionId, questionId]);\n\n return getTimeSpentOnQuestion;\n};\n\nexport default useTimeSpentOnQuestions;\n"],"names":["useTimeSpentOnQuestions","behavior","responses","questionId","timeSpentRef","useRef","acc","qId","res","currentQuestionIdRef","startTimeRef","previousQuestionId","usePrevious","canAttempt","getTimeSpentOnQuestion","useCallback","useEffect","handleVisibilityChange","timeSpentInMs","prevTimeSpent"],"mappings":";;AAMA,MAAMA,IAA0B,CAC9BC,GACAC,GACAC,MACG;AACH,QAAMC,IAAeC;AAAA,IACnB,OAAO,QAAQH,CAAS,EAAE,OAAO,CAACI,GAA6B,CAACC,GAAKC,CAAG,OAClEF,EAAAC,CAAG,KAAIC,KAAA,gBAAAA,EAAK,cAAa,GAEtBF,IACN,EAAE;AAAA,EAAA,GAEDG,IAAuBJ,EAA2BF,CAAU,GAE5DO,IAAeL,EAAsB,KAAK,IAAK,CAAA,GAC/CM,IAAqBC,EAAYT,CAAU,GAE3C,EAAE,YAAAU,EAAe,IAAAZ,GAEjBa,IAAyBC;AAAA,IAC7B,CAACR,MACKA,MAAQE,EAAqB,UACxBL,EAAa,QAAQG,CAAG,KAAK,IAGlCA,KAAOG,EAAa,WAAWG,KACzBT,EAAa,QAAQG,CAAG,KAAK,MAAM,KAAK,QAAQG,EAAa,WAGhEN,EAAa,QAAQG,CAAG,KAAK;AAAA,IAEtC,CAACM,CAAU;AAAA,EAAA;AAGb,EAAAG,EAAU,MAAM;AACd,IAAAP,EAAqB,UAAUN;AAAA,EAAA,GAC9B,CAACA,CAAU,CAAC;AAET,QAAAc,IAAyBF,EAAY,MAAM;AAC/C,QACE,SAAS,oBAAoB,YAC7BL,EAAa,WACbD,EAAqB,SACrB;AACA,YAAMS,IAAgB,KAAK,IAAI,IAAIR,EAAa;AAEnC,MAAAN,EAAA,QAAQK,EAAqB,OAAO,KAC9CL,EAAa,QAAQK,EAAqB,OAAO,KAAK,KAAKS,GAC9DR,EAAa,UAAU;AAAA,IAAA,OACd,SAAS,oBAAoB,aAAa,CAACA,EAAa,YACpDA,EAAA,UAAU,KAAK;EAEhC,GAAG,CAAE,CAAA;AAEL,SAAAM,EAAU,MAAM;AACd,QAAKH;AACI,sBAAA,iBAAiB,oBAAoBI,CAAsB,GAE7D,MAAM;AACF,iBAAA,oBAAoB,oBAAoBA,CAAsB;AAAA,MAAA;AAAA,EACzE,GACC,CAACJ,GAAYI,CAAsB,CAAC,GAEvCD,EAAU,MAAM;AACV,QAAA,GAACb,KAAc,CAACU,MAEhBF,MAAuBR,GAAY;AACjC,UAAAO,EAAa,WAAWC,GAAoB;AAC9C,cAAMQ,IAAgBf,EAAa,QAAQO,CAAkB,KAAK,GAC5DO,IAAgB,KAAK,IAAI,IAAIR,EAAa;AAEnC,QAAAN,EAAA,QAAQO,CAAkB,IAAIQ,IAAgBD;AAAA,MAC7D;AACa,MAAAR,EAAA,UAAU,KAAK;IAC9B;AAAA,EACC,GAAA,CAACG,GAAYF,GAAoBR,CAAU,CAAC,GAExCW;AACT;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-worksheet-data-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-worksheet-data-helper.ts"],"sourcesContent":["import type { ILearnosityItem, IWorksheetResponse, TItemType } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\nimport { useGetAttemptResponses } from '../api/attempt-responses';\n\ntype TLoadingState = 'loading' | 'success' | 'error';\ninterface IUseWorksheetDataHelper {\n (params: {\n attemptId?: string;\n signedRequest: string;\n loggerRef: MutableRefObject<(event: string, data?: Record<string, unknown>) => void>;\n }): {\n loadingState: TLoadingState;\n error?: string;\n data?: {\n learnosityItems: ILearnosityItem[];\n responses?: Record<string, IWorksheetResponse>;\n };\n learnosityActivityRef?: string;\n };\n}\n\ninterface ILearnosityActivityError {\n meta: {\n code: number;\n message: string;\n };\n}\n\ninterface ILearnosityActivityData {\n data: {\n apiActivity: {\n items: ILearnosityItem[];\n tags: Record<string, string[]>;\n };\n };\n}\n\nconst useWorksheetDataHelper: IUseWorksheetDataHelper = ({\n attemptId,\n signedRequest,\n loggerRef,\n}) => {\n const [error, setError] = useState<string>();\n const { scriptStatus, loadedAPIURL, downloadScript } = useIsLearnosityLoaded();\n const prevScriptStatusRef = useRef<typeof scriptStatus>();\n const [learnosityItems, setLearnosityItems] = useState<ILearnosityItem[]>();\n const [learnosityActivityRef, setLearnosityActivityRef] = useState<string>();\n\n const {\n isProcessed: isAttempsDataFetched,\n data: responsesData,\n get: getAttemptResponses,\n error: attemptResponsesError,\n } = useGetAttemptResponses(attemptId);\n\n const fetchLearnosityItems = useCallback(\n async (apiURL: string) => {\n const { security, request } = JSON.parse(signedRequest) as {\n security: {\n consumer_key: string;\n };\n request: {\n session_id: string;\n activity_template_id?: string;\n };\n };\n const bodyData = new URLSearchParams();\n\n bodyData.append('action', 'get');\n bodyData.append('security', JSON.stringify(security));\n bodyData.append('request', JSON.stringify(request));\n\n try {\n const url = apiURL.replace('questions', 'items').replace('?v', 'v');\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADING);\n const response = await fetch(\n `${url}/activity?&a=get&c=${security.consumer_key}&s=${request.session_id}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n },\n body: bodyData.toString(),\n },\n );\n\n if (!response.ok) {\n const err: ILearnosityActivityError = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: true,\n activity_template_id: request.activity_template_id,\n error_message: err.meta.message,\n error_code: err.meta.code,\n });\n\n captureMessage(err.meta.message, {\n extra: {\n error_code: err.meta.code,\n },\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': request.activity_template_id,\n },\n fingerprint: [`invalid-activity-${request.activity_template_id}`], // Add unique fingerprint\n });\n\n setError('Failed to fetch Learnosity items');\n\n return;\n }\n\n const json: ILearnosityActivityData = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADED);\n setLearnosityActivityRef(request.activity_template_id);\n setLearnosityItems(() => {\n const { items, tags: allTags } = json.data.apiActivity;\n\n return items.map(item => {\n const tags = allTags[item.reference];\n\n const itemType = tags?.find(tag => tag.startsWith('Item Type:'))?.split(':')[1] as\n | TItemType\n | undefined;\n\n return {\n ...item,\n itemType: itemType,\n tags: tags ?? [],\n };\n });\n });\n } catch (err) {\n const errorMessage =\n err instanceof Error ? err.message : 'Failed to fetch Learnosity items';\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: false,\n activity_template_id: request.activity_template_id,\n error_message: errorMessage,\n });\n setError('Failed to fetch Learnosity items');\n }\n },\n [loggerRef, signedRequest],\n );\n\n useEffect(() => {\n if (scriptStatus === 'loaded' && loadedAPIURL) {\n loggerRef.current(EVENTS.WORKSHEET_V3_SCRIPT_READY);\n fetchLearnosityItems(loadedAPIURL);\n }\n }, [fetchLearnosityItems, loadedAPIURL, loggerRef, scriptStatus]);\n\n useEffect(() => {\n if (attemptId) {\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADING);\n getAttemptResponses(attemptId);\n }\n }, [getAttemptResponses, attemptId, loggerRef]);\n\n useEffect(() => {\n if (isAttempsDataFetched) loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADED);\n }, [isAttempsDataFetched, loggerRef]);\n\n useEffect(() => {\n if (attemptResponsesError)\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_FAILED, {\n errorMessage: attemptResponsesError.message,\n });\n }, [attemptResponsesError, loggerRef]);\n\n useEffect(() => {\n // Only on mount and if script failed to load handle the download\n if (prevScriptStatusRef.current === undefined && scriptStatus === 'error') {\n downloadScript();\n }\n }, [downloadScript, scriptStatus]);\n\n useEffect(() => {\n // Save the previous script status only if it's not undefined or if the current status is not error\n if (\n prevScriptStatusRef.current !== undefined ||\n (scriptStatus !== 'error' && prevScriptStatusRef.current === undefined)\n ) {\n prevScriptStatusRef.current = scriptStatus;\n }\n }, [scriptStatus]);\n\n if (learnosityItems && (!attemptId || isAttempsDataFetched)) {\n return {\n loadingState: 'success',\n learnosityActivityRef,\n data: {\n learnosityItems,\n responses: responsesData ?? undefined,\n },\n };\n }\n\n if (\n error ||\n attemptResponsesError ||\n (prevScriptStatusRef.current !== undefined && scriptStatus === 'error')\n ) {\n return {\n loadingState: 'error',\n error:\n scriptStatus === 'error'\n ? 'Learnosity script failed to load'\n : error ?? attemptResponsesError?.message ?? 'Error loading worksheet',\n };\n }\n\n return {\n loadingState: 'loading',\n };\n};\n\nexport default useWorksheetDataHelper;\n"],"names":["useWorksheetDataHelper","attemptId","signedRequest","loggerRef","error","setError","useState","scriptStatus","loadedAPIURL","downloadScript","useIsLearnosityLoaded","prevScriptStatusRef","useRef","learnosityItems","setLearnosityItems","learnosityActivityRef","setLearnosityActivityRef","isAttempsDataFetched","responsesData","getAttemptResponses","attemptResponsesError","useGetAttemptResponses","fetchLearnosityItems","useCallback","apiURL","security","request","bodyData","url","EVENTS","response","err","captureMessage","json","items","allTags","item","tags","itemType","_a","tag","errorMessage","useEffect"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"use-worksheet-data-helper.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-worksheet-data-helper.ts"],"sourcesContent":["import type { ILearnosityItem, IWorksheetResponse, TItemType } from '../worksheet-types';\nimport type { MutableRefObject } from 'react';\n\nimport { captureMessage } from '@sentry/browser';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport EVENTS from '../../constants/events';\nimport useIsLearnosityLoaded from '../../learnosity-preloader/use-is-learnosity-loaded';\nimport { useGetAttemptResponses } from '../api/attempt-responses';\n\ntype TLoadingState = 'loading' | 'success' | 'error';\ninterface IUseWorksheetDataHelper {\n (params: {\n attemptId?: string;\n signedRequest: string;\n loggerRef: MutableRefObject<(event: string, data?: Record<string, unknown>) => void>;\n }): {\n loadingState: TLoadingState;\n error?: string;\n data?: {\n learnosityItems: ILearnosityItem[];\n responses?: Record<string, IWorksheetResponse>;\n };\n learnosityActivityRef?: string;\n };\n}\n\ninterface ILearnosityActivityError {\n meta: {\n code: number;\n message: string;\n };\n}\n\ninterface ILearnosityActivityData {\n data: {\n apiActivity: {\n items: ILearnosityItem[];\n tags: Record<string, string[]>;\n };\n };\n}\n\nconst useWorksheetDataHelper: IUseWorksheetDataHelper = ({\n attemptId,\n signedRequest,\n loggerRef,\n}) => {\n const [error, setError] = useState<string>();\n const { scriptStatus, loadedAPIURL, downloadScript } = useIsLearnosityLoaded();\n const prevScriptStatusRef = useRef<typeof scriptStatus>();\n const [learnosityItems, setLearnosityItems] = useState<ILearnosityItem[]>();\n const [learnosityActivityRef, setLearnosityActivityRef] = useState<string>();\n\n const {\n isProcessed: isAttempsDataFetched,\n data: responsesData,\n get: getAttemptResponses,\n error: attemptResponsesError,\n } = useGetAttemptResponses(attemptId);\n\n const fetchLearnosityItems = useCallback(\n async (apiURL: string) => {\n const { security, request } = JSON.parse(signedRequest) as {\n security: {\n consumer_key: string;\n };\n request: {\n session_id: string;\n activity_template_id?: string;\n };\n };\n const bodyData = new URLSearchParams();\n\n bodyData.append('action', 'get');\n bodyData.append('security', JSON.stringify(security));\n bodyData.append('request', JSON.stringify(request));\n\n try {\n const url = apiURL.replace('questions', 'items').replace('?v', 'v');\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADING);\n const response = await fetch(\n `${url}/activity?&a=get&c=${security.consumer_key}&s=${request.session_id}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n },\n body: bodyData.toString(),\n },\n );\n\n if (!response.ok) {\n const err: ILearnosityActivityError = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: true,\n activity_template_id: request.activity_template_id,\n error_message: err.meta.message,\n error_code: err.meta.code,\n });\n\n captureMessage(err.meta.message, {\n extra: {\n error_code: err.meta.code,\n },\n tags: {\n 'content-type': 'learnosity',\n 'activity-reference': request.activity_template_id,\n },\n fingerprint: [`invalid-activity-${request.activity_template_id}`], // Add unique fingerprint\n });\n\n setError('Failed to fetch Learnosity items');\n\n return;\n }\n\n const json: ILearnosityActivityData = await response.json();\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_LOADED);\n setLearnosityActivityRef(request.activity_template_id);\n setLearnosityItems(() => {\n const { items, tags: allTags } = json.data.apiActivity;\n\n return items.map(item => {\n const tags = allTags[item.reference];\n\n const itemType = tags?.find(tag => tag.startsWith('Item Type:'))?.split(':')[1] as\n | TItemType\n | undefined;\n\n return {\n ...item,\n itemType: itemType,\n tags: tags ?? [],\n };\n });\n });\n } catch (err) {\n const errorMessage =\n err instanceof Error ? err.message : 'Failed to fetch Learnosity items';\n\n loggerRef.current(EVENTS.WORKSHEET_V3_ITEMS_FAILED, {\n is_invalid_activity: false,\n activity_template_id: request.activity_template_id,\n error_message: errorMessage,\n });\n setError('Failed to fetch Learnosity items');\n }\n },\n [loggerRef, signedRequest],\n );\n\n useEffect(() => {\n if (scriptStatus === 'loaded' && loadedAPIURL) {\n loggerRef.current(EVENTS.WORKSHEET_V3_SCRIPT_READY);\n fetchLearnosityItems(loadedAPIURL);\n }\n }, [fetchLearnosityItems, loadedAPIURL, loggerRef, scriptStatus]);\n\n useEffect(() => {\n if (attemptId) {\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADING);\n getAttemptResponses(attemptId);\n }\n }, [getAttemptResponses, attemptId, loggerRef]);\n\n useEffect(() => {\n if (isAttempsDataFetched) loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_LOADED);\n }, [isAttempsDataFetched, loggerRef]);\n\n useEffect(() => {\n if (attemptResponsesError)\n loggerRef.current(EVENTS.WORKSHEET_V3_ATTEMPT_RESPONSES_FAILED, {\n errorMessage: attemptResponsesError.message,\n });\n }, [attemptResponsesError, loggerRef]);\n\n useEffect(() => {\n // Only on mount and if script failed to load handle the download\n if (prevScriptStatusRef.current === undefined && scriptStatus === 'error') {\n downloadScript();\n }\n }, [downloadScript, scriptStatus]);\n\n useEffect(() => {\n // Save the previous script status only if it's not undefined or if the current status is not error\n if (\n prevScriptStatusRef.current !== undefined ||\n (scriptStatus !== 'error' && prevScriptStatusRef.current === undefined)\n ) {\n prevScriptStatusRef.current = scriptStatus;\n }\n }, [scriptStatus]);\n\n if (learnosityItems && (!attemptId || isAttempsDataFetched)) {\n return {\n loadingState: 'success',\n learnosityActivityRef,\n data: {\n learnosityItems,\n responses: responsesData ?? undefined,\n },\n };\n }\n\n if (\n error ||\n attemptResponsesError ||\n (prevScriptStatusRef.current !== undefined && scriptStatus === 'error')\n ) {\n return {\n loadingState: 'error',\n error:\n scriptStatus === 'error'\n ? 'Learnosity script failed to load'\n : error ?? attemptResponsesError?.message ?? 'Error loading worksheet',\n };\n }\n\n return {\n loadingState: 'loading',\n };\n};\n\nexport default useWorksheetDataHelper;\n"],"names":["useWorksheetDataHelper","attemptId","signedRequest","loggerRef","error","setError","useState","scriptStatus","loadedAPIURL","downloadScript","useIsLearnosityLoaded","prevScriptStatusRef","useRef","learnosityItems","setLearnosityItems","learnosityActivityRef","setLearnosityActivityRef","isAttempsDataFetched","responsesData","getAttemptResponses","attemptResponsesError","useGetAttemptResponses","fetchLearnosityItems","useCallback","apiURL","security","request","bodyData","url","EVENTS","response","err","captureMessage","json","items","allTags","item","tags","itemType","_a","tag","errorMessage","useEffect"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"question-tips.js","sources":["../../../../src/features/worksheet/worksheet/question-tips.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { ILearnosity, IWorksheetQuestion } from './worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport UpIcon from '../../../assets/line-icons/icons/up';\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { ACTION_BAR_HEIGHT } from './constants';\nimport { CustomElement } from './worksheet-question/worksheet-question-styled';\n\ntype TStyledComponentProps = {\n $isExpanded: boolean;\n};\n\nconst Wrapper = styled(FlexView)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n const { layout, colors, zIndex } = theme;\n\n return `\n position: absolute;\n bottom: 0px;\n z-index: ${zIndex.QUESTION_TIPS};\n max-height: calc(${layout.gutter * 2}px + ${ACTION_BAR_HEIGHT}px);\n \n border-radius: 6px 6px 0px 0px;\n background: ${colors.REAL_BLACK_60};\n backdrop-filter: blur(8px);\n align-self: center;\n \n ${\n $isExpanded &&\n `\n max-height: calc(${layout.gutter * 15.625}px + ${ACTION_BAR_HEIGHT}px);\n overflow-y: auto;\n\n @supports selector(::-webkit-scrollbar) {\n &::-webkit-scrollbar {\n border-top-right-radius: 6px;\n width: 8px;\n background-color: ${colors.WHITE};\n }\n \n &::-webkit-scrollbar-thumb {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n background: ${colors.REAL_BLACK_60};\n }\n }\n `\n }\n `;\n});\n\nconst Header = styled(FlexView)`\n padding: 8px 12px;\n\n & * {\n background-color: transparent !important;\n }\n`;\n\nconst TipText = styled(CustomElement)<TStyledComponentProps>(\n ({ theme, $isExpanded }) => `\n color: ${theme.colors.WHITE};\n padding: 0px 0px ${ACTION_BAR_HEIGHT}px;\n ${$isExpanded ? '' : `& > * { display: inline; }`}\n font-family: 'UntitledSans-Regular';\n\n &::before {\n content: 'CUE DON’T TELL:';\n font-family: 'Athletics-Bold';\n margin-right: 8px;\n ${$isExpanded ? ` display: block; margin-bottom: 8px;` : ''}\n }\n `,\n);\n\nconst ChevIconWrapper = styled(FlexView)`\n position: sticky;\n top: 8px;\n`;\n\nconst ChevIcon = styled(UpIcon)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n return `\n transform: rotate(${$isExpanded ? 180 : 0}deg);\n transition: transform 0.3s ease;\n color: ${theme.colors.WHITE};\n cursor: pointer;\n `;\n});\n\ninterface IQuestionTips {\n width: number | string;\n userType: TUserTypes;\n learnosity: ILearnosity;\n question?: IWorksheetQuestion;\n}\n\nconst QuestionTips: FC<IQuestionTips> = memo(({ width, question, userType, learnosity }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const tipRef = useRef<HTMLDivElement>(null);\n const tipContentRef = useRef<string | null>('');\n\n const [menuVisible, setMenuVisible] = useState(false);\n\n const { teacher_tips: tips } = question?.metadata || {};\n\n const tipsMemoized = useMemo(() => {\n return tips?.toString();\n }, [tips]);\n\n const handleClick = useCallback(() => {\n if (tipContentRef.current && tipRef.current) {\n setMenuVisible(prev => !prev);\n }\n }, []);\n\n useLayoutEffect(() => {\n if (tipRef.current && tips) {\n tipContentRef.current = tipRef.current.textContent;\n\n learnosity.renderMath('mathjax');\n }\n }, [learnosity, tips]);\n\n useEffect(() => {\n if (!tipsMemoized) {\n setMenuVisible(false);\n }\n }, [tipsMemoized]);\n\n if (userType !== 'TEACHER' || !tipsMemoized) return null;\n\n return (\n <Wrapper ref={containerRef} $width={width} $isExpanded={menuVisible}>\n <Clickable label=\"Teacher Tip\" onClick={!menuVisible ? handleClick : undefined}>\n <Header $flexDirection=\"row\" $flexGap={10} $justifyContent=\"space-between\">\n <FlexView $flexDirection=\"row\" $flexGap={5}>\n <TipText\n ref={tipRef}\n dangerouslySetInnerHTML={{ __html: tipsMemoized }}\n $isExpanded={menuVisible}\n />\n </FlexView>\n\n <ChevIconWrapper $width={20} $height={20}>\n <ChevIcon $isExpanded={menuVisible} onClick={menuVisible ? handleClick : undefined} />\n </ChevIconWrapper>\n </Header>\n </Clickable>\n </Wrapper>\n );\n});\n\nexport default QuestionTips;\n"],"names":["Wrapper","styled","FlexView","$isExpanded","theme","layout","colors","zIndex","ACTION_BAR_HEIGHT","Header","TipText","CustomElement","ChevIconWrapper","ChevIcon","UpIcon","QuestionTips","memo","width","question","userType","learnosity","containerRef","useRef","tipRef","tipContentRef","menuVisible","setMenuVisible","useState","tips","tipsMemoized","useMemo","handleClick","useCallback","prev","useLayoutEffect","useEffect","jsx","Clickable","jsxs"],"mappings":";;;;;;;;AAiBA,MAAMA,IAAUC,EAAOC,CAAQ,EAAyB,CAAC,EAAE,aAAAC,GAAa,OAAAC,QAAY;AAClF,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,QAAAC,
|
1
|
+
{"version":3,"file":"question-tips.js","sources":["../../../../src/features/worksheet/worksheet/question-tips.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { ILearnosity, IWorksheetQuestion } from './worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport UpIcon from '../../../assets/line-icons/icons/up';\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { ACTION_BAR_HEIGHT } from './constants';\nimport { CustomElement } from './worksheet-question/worksheet-question-styled';\n\ntype TStyledComponentProps = {\n $isExpanded: boolean;\n};\n\nconst Wrapper = styled(FlexView)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n const { layout, colors, zIndex } = theme;\n\n return `\n position: absolute;\n bottom: 0px;\n z-index: ${zIndex.QUESTION_TIPS};\n max-height: calc(${layout.gutter * 2}px + ${ACTION_BAR_HEIGHT}px);\n \n border-radius: 6px 6px 0px 0px;\n background: ${colors.REAL_BLACK_60};\n backdrop-filter: blur(8px);\n align-self: center;\n \n ${\n $isExpanded &&\n `\n max-height: calc(${layout.gutter * 15.625}px + ${ACTION_BAR_HEIGHT}px);\n overflow-y: auto;\n\n @supports selector(::-webkit-scrollbar) {\n &::-webkit-scrollbar {\n border-top-right-radius: 6px;\n width: 8px;\n background-color: ${colors.WHITE};\n }\n \n &::-webkit-scrollbar-thumb {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n background: ${colors.REAL_BLACK_60};\n }\n }\n `\n }\n `;\n});\n\nconst Header = styled(FlexView)`\n padding: 8px 12px;\n\n & * {\n background-color: transparent !important;\n }\n`;\n\nconst TipText = styled(CustomElement)<TStyledComponentProps>(\n ({ theme, $isExpanded }) => `\n color: ${theme.colors.WHITE};\n padding: 0px 0px ${ACTION_BAR_HEIGHT}px;\n ${$isExpanded ? '' : `& > * { display: inline; }`}\n font-family: 'UntitledSans-Regular';\n\n &::before {\n content: 'CUE DON’T TELL:';\n font-family: 'Athletics-Bold';\n margin-right: 8px;\n ${$isExpanded ? ` display: block; margin-bottom: 8px;` : ''}\n }\n `,\n);\n\nconst ChevIconWrapper = styled(FlexView)`\n position: sticky;\n top: 8px;\n`;\n\nconst ChevIcon = styled(UpIcon)<TStyledComponentProps>(({ $isExpanded, theme }) => {\n return `\n transform: rotate(${$isExpanded ? 180 : 0}deg);\n transition: transform 0.3s ease;\n color: ${theme.colors.WHITE};\n cursor: pointer;\n `;\n});\n\ninterface IQuestionTips {\n width: number | string;\n userType: TUserTypes;\n learnosity: ILearnosity;\n question?: IWorksheetQuestion;\n}\n\nconst QuestionTips: FC<IQuestionTips> = memo(({ width, question, userType, learnosity }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const tipRef = useRef<HTMLDivElement>(null);\n const tipContentRef = useRef<string | null>('');\n\n const [menuVisible, setMenuVisible] = useState(false);\n\n const { teacher_tips: tips } = question?.metadata || {};\n\n const tipsMemoized = useMemo(() => {\n return tips?.toString();\n }, [tips]);\n\n const handleClick = useCallback(() => {\n if (tipContentRef.current && tipRef.current) {\n setMenuVisible(prev => !prev);\n }\n }, []);\n\n useLayoutEffect(() => {\n if (tipRef.current && tips) {\n tipContentRef.current = tipRef.current.textContent;\n\n learnosity.renderMath('mathjax');\n }\n }, [learnosity, tips]);\n\n useEffect(() => {\n if (!tipsMemoized) {\n setMenuVisible(false);\n }\n }, [tipsMemoized]);\n\n if (userType !== 'TEACHER' || !tipsMemoized) return null;\n\n return (\n <Wrapper ref={containerRef} $width={width} $isExpanded={menuVisible}>\n <Clickable label=\"Teacher Tip\" onClick={!menuVisible ? handleClick : undefined}>\n <Header $flexDirection=\"row\" $flexGap={10} $justifyContent=\"space-between\">\n <FlexView $flexDirection=\"row\" $flexGap={5}>\n <TipText\n ref={tipRef}\n dangerouslySetInnerHTML={{ __html: tipsMemoized }}\n $isExpanded={menuVisible}\n />\n </FlexView>\n\n <ChevIconWrapper $width={20} $height={20}>\n <ChevIcon $isExpanded={menuVisible} onClick={menuVisible ? handleClick : undefined} />\n </ChevIconWrapper>\n </Header>\n </Clickable>\n </Wrapper>\n );\n});\n\nexport default QuestionTips;\n"],"names":["Wrapper","styled","FlexView","$isExpanded","theme","layout","colors","zIndex","ACTION_BAR_HEIGHT","Header","TipText","CustomElement","ChevIconWrapper","ChevIcon","UpIcon","QuestionTips","memo","width","question","userType","learnosity","containerRef","useRef","tipRef","tipContentRef","menuVisible","setMenuVisible","useState","tips","tipsMemoized","useMemo","handleClick","useCallback","prev","useLayoutEffect","useEffect","jsx","Clickable","jsxs"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"worksheet-action-bar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.tsx"],"sourcesContent":["import type { IWorksheetActionBarProps } from './worksheet-action-bar-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport CalculatorIcon from '../../../../assets/line-icons/icons/calculator';\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { scrollToQuestion } from '../worksheet-helpers';\nimport ScribbleSwitch from '../worksheet-questions-controller/scribble-switch';\nimport WorksheetQuestionsController from '../worksheet-questions-controller/worksheet-questions-controller';\nimport WorksheetQuestionsSummary from '../worksheet-questions-summary/worksheet-questions-summary';\nimport * as Styled from '../worksheet-styled';\nimport WorksheetSummaryController from '../worksheet-summary-controller/worksheet-summary-controller';\n\nconst WorksheetActionBar: FC<IWorksheetActionBarProps> = memo(props => {\n const {\n userType,\n layout,\n behavior,\n worksheetName,\n questions,\n responses,\n activeQuestionIndex,\n lastUnlockedQuestionIndex,\n appendedQuestionIds,\n learnosity,\n isCanvasEnabled,\n isScribblingEnabled,\n isSummaryVisible,\n setIsScribblingEnabled,\n setActiveQuestionId,\n setResponses,\n getTimeSpentOnQuestion,\n setBlocker,\n setSummaryVisible,\n showCalculator,\n onItemNumberClick,\n onTeacherValidation,\n onGoToReview,\n onResponseChange,\n onHelp,\n onSubmit,\n onCalculatorOpen,\n canSubmitWorksheet,\n loggerRef,\n onSkip,\n canToggleScribbling,\n } = props;\n const { navigationBar, questionsScrollable } = layout;\n const activeQuestion = questions[activeQuestionIndex];\n const { response_id: activeQuestionId } = activeQuestion ?? {};\n const [isSummaryOpened, setIsSummaryOpened] = useState(false);\n const isAppended = activeQuestionId ? appendedQuestionIds.includes(activeQuestionId) : false;\n\n const handleItemNumberClick = useCallback(\n (questionId: string) => {\n setIsSummaryOpened(false);\n onItemNumberClick(questionId);\n },\n [onItemNumberClick],\n );\n\n const handleOnGoToReview = useCallback(() => {\n setIsSummaryOpened(false);\n onGoToReview();\n }, [onGoToReview]);\n\n const handleSummaryButtonClick = useCallback(() => {\n setIsSummaryOpened(prev => !prev);\n }, []);\n\n const handleBackFromSummary = useCallback(() => {\n setSummaryVisible(false);\n\n const questionId = questions[questions.length - 1]?.response_id;\n\n if (questionId) {\n if (questionsScrollable) {\n requestAnimationFrame(() => scrollToQuestion(questionId));\n } else {\n setActiveQuestionId(questionId);\n }\n }\n }, [questions, questionsScrollable, setActiveQuestionId, setSummaryVisible]);\n\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses);\n }, [onSubmit, responses]);\n\n if (isSummaryVisible) {\n return (\n <WorksheetSummaryController\n onBack={handleBackFromSummary}\n behavior={behavior}\n onSubmit={handleSheetSubmitButtonClick}\n canSubmitWorksheet={!!canSubmitWorksheet}\n />\n );\n }\n\n return (\n <>\n <FlexView $flexDirection=\"row\" $flexGap={12}>\n <ScribbleSwitch\n isScribblingEnabled={isScribblingEnabled}\n setIsScribblingEnabled={setIsScribblingEnabled}\n isCanvasEnabled={isCanvasEnabled}\n loggerRef={loggerRef}\n canToggleScribbling={canToggleScribbling}\n />\n {behavior.canShowDesmosCalc && (\n <Styled.IconContainer\n $active={showCalculator}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n onClick={onCalculatorOpen}\n >\n <CalculatorIcon />\n </Styled.IconContainer>\n )}\n </FlexView>\n {isScribblingEnabled && <Toolbar userType={userType} renderAs=\"canvas\" />}\n {navigationBar === 'bottom' && (\n <>\n {isSummaryOpened && (\n <Styled.SummaryWrapper $alignItems=\"center\">\n <WorksheetQuestionsSummary\n activeQuestionIndex={activeQuestionIndex}\n lastUnlockedQuestionIndex={lastUnlockedQuestionIndex}\n onItemNumberClick={handleItemNumberClick}\n questions={questions}\n responses={responses}\n worksheetName={worksheetName}\n behavior={behavior}\n userType={userType}\n onClose={handleSummaryButtonClick}\n onGoToReview={handleOnGoToReview}\n summaryVisible={isSummaryVisible}\n />\n </Styled.SummaryWrapper>\n )}\n <Button\n renderAs=\"secondary\"\n widthX={13.25}\n label={`Question ${activeQuestionIndex + 1} of ${questions.length}`}\n size=\"small\"\n Icon={isSummaryOpened ? DownIcon : UpIcon}\n iconPosition=\"right\"\n justifyContent=\"space-between\"\n onClick={handleSummaryButtonClick}\n />\n </>\n )}\n {activeQuestion && activeQuestionId && (\n <WorksheetQuestionsController\n learnosity={learnosity}\n question={activeQuestion}\n questions={questions}\n responses={responses}\n canSubmitWorksheet={canSubmitWorksheet}\n questionIndex={activeQuestionIndex}\n isQuestionAppended={isAppended}\n isQuestionUnlocked={activeQuestionIndex <= lastUnlockedQuestionIndex}\n response={responses[activeQuestionId]}\n behavior={behavior}\n userType={userType}\n layout={layout}\n onResponseChange={onResponseChange}\n onTeacherValidation={onTeacherValidation}\n onHelp={onHelp}\n onSubmit={handleSheetSubmitButtonClick}\n setActiveQuestionId={setActiveQuestionId}\n setBlocker={setBlocker}\n setSummaryVisible={setSummaryVisible}\n setResponses={setResponses}\n getTimeSpentOnQuestion={getTimeSpentOnQuestion}\n loggerRef={loggerRef}\n onSkip={onSkip}\n />\n )}\n </>\n );\n});\n\nexport default WorksheetActionBar;\n"],"names":["WorksheetActionBar","memo","props","userType","layout","behavior","worksheetName","questions","responses","activeQuestionIndex","lastUnlockedQuestionIndex","appendedQuestionIds","learnosity","isCanvasEnabled","isScribblingEnabled","isSummaryVisible","setIsScribblingEnabled","setActiveQuestionId","setResponses","getTimeSpentOnQuestion","setBlocker","setSummaryVisible","showCalculator","onItemNumberClick","onTeacherValidation","onGoToReview","onResponseChange","onHelp","onSubmit","onCalculatorOpen","canSubmitWorksheet","loggerRef","onSkip","canToggleScribbling","navigationBar","questionsScrollable","activeQuestion","activeQuestionId","isSummaryOpened","setIsSummaryOpened","useState","isAppended","handleItemNumberClick","useCallback","questionId","handleOnGoToReview","handleSummaryButtonClick","prev","handleBackFromSummary","_a","scrollToQuestion","handleSheetSubmitButtonClick","jsx","WorksheetSummaryController","jsxs","Fragment","FlexView","ScribbleSwitch","Styled.IconContainer","CalculatorIcon","Toolbar","Styled.SummaryWrapper","WorksheetQuestionsSummary","Button","DownIcon","UpIcon","WorksheetQuestionsController"],"mappings":"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"}
|
package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exit-ticket-intervention.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketInterventionProps {\n studentName: string;\n onViewExitTicket: () => void;\n}\n\nconst ExitTicketIntervention: FC<IExitTicketInterventionProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n return (\n <FlexView $widthX={34} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Please don’t discuss the quiz until {studentName} attempts it all.\n </Text>\n <Button renderAs=\"primary\" label=\"View quiz\" widthX={11} onClick={onViewExitTicket} />\n </FlexView>\n );\n },\n);\n\nexport default ExitTicketIntervention;\n"],"names":["ExitTicketIntervention","memo","studentName","onViewExitTicket","jsxs","FlexView","Text","jsx","Button"],"mappings":";;;;;AAaA,MAAMA,IAA2DC;AAAA,EAC/D,CAAC,EAAE,aAAAC,GAAa,kBAAAC,QAEX,gBAAAC,EAAAC,GAAA,EAAS,SAAS,IAAI,aAAY,UACjC,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACpBJ;AAAA,MAAY;AAAA,IAAA,GACnD;AAAA,IACA,gBAAAK,EAACC,KAAO,UAAS,WAAU,OAAM,aAAY,QAAQ,IAAI,SAASL,EAAkB,CAAA;AAAA,EAAA,
|
1
|
+
{"version":3,"file":"exit-ticket-intervention.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketInterventionProps {\n studentName: string;\n onViewExitTicket: () => void;\n}\n\nconst ExitTicketIntervention: FC<IExitTicketInterventionProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n return (\n <FlexView $widthX={34} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Please don’t discuss the quiz until {studentName} attempts it all.\n </Text>\n <Button renderAs=\"primary\" label=\"View quiz\" widthX={11} onClick={onViewExitTicket} />\n </FlexView>\n );\n },\n);\n\nexport default ExitTicketIntervention;\n"],"names":["ExitTicketIntervention","memo","studentName","onViewExitTicket","jsxs","FlexView","Text","jsx","Button"],"mappings":";;;;;AAaA,MAAMA,IAA2DC;AAAA,EAC/D,CAAC,EAAE,aAAAC,GAAa,kBAAAC,QAEX,gBAAAC,EAAAC,GAAA,EAAS,SAAS,IAAI,aAAY,UACjC,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACpBJ;AAAA,MAAY;AAAA,IAAA,GACnD;AAAA,IACA,gBAAAK,EAACC,KAAO,UAAS,WAAU,OAAM,aAAY,QAAQ,IAAI,SAASL,EAAkB,CAAA;AAAA,EACtF,EAAA,CAAA;AAGN;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exit-ticket-review-available.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketReviewAvailableProps {\n studentName: string;\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketReviewAvailable: FC<IExitTicketReviewAvailableProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={1.5}>\n Quiz Completed\n </Text>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n You can now review {studentName}’s attempts\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketReviewAvailable;\n"],"names":["ExitTicketReviewAvailable","memo","studentName","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAWA,MAAMA,IAAiEC;AAAA,EACrE,CAAC,EAAE,aAAAC,GAAa,kBAAAC,SACdC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAA
|
1
|
+
{"version":3,"file":"exit-ticket-review-available.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketReviewAvailableProps {\n studentName: string;\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketReviewAvailable: FC<IExitTicketReviewAvailableProps> = memo(\n ({ studentName, onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={1.5}>\n Quiz Completed\n </Text>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n You can now review {studentName}’s attempts\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketReviewAvailable;\n"],"names":["ExitTicketReviewAvailable","memo","studentName","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAWA,MAAMA,IAAiEC;AAAA,EACrE,CAAC,EAAE,aAAAC,GAAa,kBAAAC,SACdC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAE,CAAA;AAAA,OAClB,GAAI;AAEA,WAAA,MAAM,aAAaE,CAAK;AAAA,EAAA,GAC9B,CAACF,CAAgB,CAAC,GAIjB,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,MAAK,QAAO,UAAS,gBAAgB,KAAK,UAE1D,iBAAA,CAAA;AAAA,sBACCA,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACrCP;AAAA,MAAY;AAAA,IAAA,GAClC;AAAA,sBACCO,GAAK,EAAA,WAAU,MAAK,QAAO,UAAS,UAErC,sBAAA;AAAA,EACF,EAAA,CAAA;AAGN;"}
|
package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exit-ticket-review.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport RadioInput from '../../../../ui/inputs/radio-input/radio-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { EXIT_TICKET_RATING_OPTIONS } from '../../constants';\n\ninterface IExitTicketReviewProps {\n studentName: string;\n onViewExitValidate: (rating: keyof typeof QUESTIONS_RATING) => void;\n}\n\nconst ExitTicketReview: FC<IExitTicketReviewProps> = memo(({ studentName, onViewExitValidate }) => {\n const [rating, setRating] = useState<keyof typeof QUESTIONS_RATING>();\n\n const handleSubmit = useCallback(() => {\n rating && onViewExitValidate(rating);\n }, [onViewExitValidate, rating]);\n\n return (\n <>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Rate {studentName}’s quiz performance\n </Text>\n <FlexView $widthX={24} $marginBottomX={4}>\n <RadioInput options={EXIT_TICKET_RATING_OPTIONS} value={rating} onChange={setRating} />\n </FlexView>\n <Button\n renderAs=\"primary\"\n widthX={11}\n label=\"Submit\"\n disabled={!rating}\n onClick={handleSubmit}\n />\n </>\n );\n});\n\nexport default ExitTicketReview;\n"],"names":["ExitTicketReview","memo","studentName","onViewExitValidate","rating","setRating","useState","handleSubmit","useCallback","jsxs","Fragment","Text","jsx","FlexView","RadioInput","EXIT_TICKET_RATING_OPTIONS","Button"],"mappings":";;;;;;;AAgBA,MAAMA,IAA+CC,EAAK,CAAC,EAAE,aAAAC,GAAa,oBAAAC,QAAyB;AACjG,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAwC,GAE9DC,IAAeC,EAAY,MAAM;AACrC,IAAAJ,KAAUD,EAAmBC,CAAM;AAAA,EAAA,GAClC,CAACD,GAAoBC,CAAM,CAAC;AAE/B,SAEI,gBAAAK,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACnDT;AAAA,MAAY;AAAA,IAAA,GACpB;AAAA,IACC,gBAAAU,EAAAC,GAAA,EAAS,SAAS,IAAI,gBAAgB,GACrC,UAAA,gBAAAD,EAACE,GAAW,EAAA,SAASC,GAA4B,OAAOX,GAAQ,UAAUC,EAAW,CAAA,GACvF;AAAA,IACA,gBAAAO;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAM;AAAA,QACN,UAAU,CAACZ;AAAA,QACX,SAASG;AAAA,MAAA;AAAA,
|
1
|
+
{"version":3,"file":"exit-ticket-review.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport RadioInput from '../../../../ui/inputs/radio-input/radio-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { EXIT_TICKET_RATING_OPTIONS } from '../../constants';\n\ninterface IExitTicketReviewProps {\n studentName: string;\n onViewExitValidate: (rating: keyof typeof QUESTIONS_RATING) => void;\n}\n\nconst ExitTicketReview: FC<IExitTicketReviewProps> = memo(({ studentName, onViewExitValidate }) => {\n const [rating, setRating] = useState<keyof typeof QUESTIONS_RATING>();\n\n const handleSubmit = useCallback(() => {\n rating && onViewExitValidate(rating);\n }, [onViewExitValidate, rating]);\n\n return (\n <>\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n Rate {studentName}’s quiz performance\n </Text>\n <FlexView $widthX={24} $marginBottomX={4}>\n <RadioInput options={EXIT_TICKET_RATING_OPTIONS} value={rating} onChange={setRating} />\n </FlexView>\n <Button\n renderAs=\"primary\"\n widthX={11}\n label=\"Submit\"\n disabled={!rating}\n onClick={handleSubmit}\n />\n </>\n );\n});\n\nexport default ExitTicketReview;\n"],"names":["ExitTicketReview","memo","studentName","onViewExitValidate","rating","setRating","useState","handleSubmit","useCallback","jsxs","Fragment","Text","jsx","FlexView","RadioInput","EXIT_TICKET_RATING_OPTIONS","Button"],"mappings":";;;;;;;AAgBA,MAAMA,IAA+CC,EAAK,CAAC,EAAE,aAAAC,GAAa,oBAAAC,QAAyB;AACjG,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAwC,GAE9DC,IAAeC,EAAY,MAAM;AACrC,IAAAJ,KAAUD,EAAmBC,CAAM;AAAA,EAAA,GAClC,CAACD,GAAoBC,CAAM,CAAC;AAE/B,SAEI,gBAAAK,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD,EAACE,KAAK,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GAAG,UAAA;AAAA,MAAA;AAAA,MACnDT;AAAA,MAAY;AAAA,IAAA,GACpB;AAAA,IACC,gBAAAU,EAAAC,GAAA,EAAS,SAAS,IAAI,gBAAgB,GACrC,UAAA,gBAAAD,EAACE,GAAW,EAAA,SAASC,GAA4B,OAAOX,GAAQ,UAAUC,EAAW,CAAA,GACvF;AAAA,IACA,gBAAAO;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAM;AAAA,QACN,UAAU,CAACZ;AAAA,QACX,SAASG;AAAA,MAAA;AAAA,IACX;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exit-ticket-student-submission.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketStudentSubmissionProps {\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketStudentSubmission: FC<IExitTicketStudentSubmissionProps> = memo(\n ({ onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={4}>\n Let’s get these questions reviewed by your teacher.\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketStudentSubmission;\n"],"names":["ExitTicketStudentSubmission","memo","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAUA,MAAMA,IAAqEC;AAAA,EACzE,CAAC,EAAE,kBAAAC,EAAA,OACDC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAA
|
1
|
+
{"version":3,"file":"exit-ticket-student-submission.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ninterface IExitTicketStudentSubmissionProps {\n onViewExitTicket: (blocker: unknown) => void;\n}\n\nconst ExitTicketStudentSubmission: FC<IExitTicketStudentSubmissionProps> = memo(\n ({ onViewExitTicket }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onViewExitTicket({});\n }, 3000);\n\n return () => clearTimeout(timer);\n }, [onViewExitTicket]);\n\n return (\n <>\n <Text $renderAs=\"h1\" $align=\"center\" $marginBottomX={4}>\n Let’s get these questions reviewed by your teacher.\n </Text>\n <Text $renderAs=\"h6\" $align=\"center\">\n Starting review...\n </Text>\n </>\n );\n },\n);\n\nexport default ExitTicketStudentSubmission;\n"],"names":["ExitTicketStudentSubmission","memo","onViewExitTicket","useEffect","timer","jsxs","Fragment","jsx","Text"],"mappings":";;;AAUA,MAAMA,IAAqEC;AAAA,EACzE,CAAC,EAAE,kBAAAC,EAAA,OACDC,EAAU,MAAM;AACR,UAAAC,IAAQ,WAAW,MAAM;AAC7B,MAAAF,EAAiB,CAAE,CAAA;AAAA,OAClB,GAAI;AAEA,WAAA,MAAM,aAAaE,CAAK;AAAA,EAAA,GAC9B,CAACF,CAAgB,CAAC,GAIjB,gBAAAG,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,MAAK,QAAO,UAAS,gBAAgB,GAAG,UAExD,sDAAA,CAAA;AAAA,sBACCA,GAAK,EAAA,WAAU,MAAK,QAAO,UAAS,UAErC,sBAAA;AAAA,EACF,EAAA,CAAA;AAGN;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"optional-items-assignment.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsAssignmentProps {\n studentName: string;\n itemType: TItemType;\n onAssign?: (itemType: TItemType) => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsAssignment: FC<IOptionalItemsAssignmentProps> = memo(\n ({ studentName, itemType, onAssign, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n const handleAssign = useCallback(() => {\n onAssign?.(itemType);\n }, [itemType, onAssign]);\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Should ${studentName} do more practice before the next section?`\n : `Should ${studentName} work on advanced concepts?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button\n renderAs=\"secondary\"\n label={isPractice ? 'Yes, add it' : 'Yes, add them'}\n widthX={14}\n onClick={handleAssign}\n />\n <Button\n renderAs=\"primary\"\n label={isPractice ? 'Skip to next section' : 'No, finish lesson'}\n widthX={14}\n onClick={handleSkip}\n />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsAssignment;\n"],"names":["OptionalItemsAssignment","memo","studentName","itemType","onAssign","onSkip","isPractice","handleAssign","useCallback","handleSkip","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BACnDI,IAAeC,EAAY,MAAM;AACrC,MAAAJ,KAAA,QAAAA,EAAWD;AAAA,IAAQ,GAClB,CAACA,GAAUC,CAAQ,CAAC,GAEjBK,IAAaD,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAK,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAP,IACG,UAAUJ,CAAW,+CACrB,UAAUA,CAAW,+BAC3B;AAAA,MACC,gBAAAQ,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,gBAAgB;AAAA,YACpC,QAAQ;AAAA,YACR,SAASC;AAAA,UAAA;AAAA,QACX;AAAA,QACA,gBAAAK;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,yBAAyB;AAAA,YAC7C,QAAQ;AAAA,YACR,SAASG;AAAA,UAAA;AAAA,
|
1
|
+
{"version":3,"file":"optional-items-assignment.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsAssignmentProps {\n studentName: string;\n itemType: TItemType;\n onAssign?: (itemType: TItemType) => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsAssignment: FC<IOptionalItemsAssignmentProps> = memo(\n ({ studentName, itemType, onAssign, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n const handleAssign = useCallback(() => {\n onAssign?.(itemType);\n }, [itemType, onAssign]);\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Should ${studentName} do more practice before the next section?`\n : `Should ${studentName} work on advanced concepts?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button\n renderAs=\"secondary\"\n label={isPractice ? 'Yes, add it' : 'Yes, add them'}\n widthX={14}\n onClick={handleAssign}\n />\n <Button\n renderAs=\"primary\"\n label={isPractice ? 'Skip to next section' : 'No, finish lesson'}\n widthX={14}\n onClick={handleSkip}\n />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsAssignment;\n"],"names":["OptionalItemsAssignment","memo","studentName","itemType","onAssign","onSkip","isPractice","handleAssign","useCallback","handleSkip","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BACnDI,IAAeC,EAAY,MAAM;AACrC,MAAAJ,KAAA,QAAAA,EAAWD;AAAA,IAAQ,GAClB,CAACA,GAAUC,CAAQ,CAAC,GAEjBK,IAAaD,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAK,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAP,IACG,UAAUJ,CAAW,+CACrB,UAAUA,CAAW,+BAC3B;AAAA,MACC,gBAAAQ,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,gBAAgB;AAAA,YACpC,QAAQ;AAAA,YACR,SAASC;AAAA,UAAA;AAAA,QACX;AAAA,QACA,gBAAAK;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAOR,IAAa,yBAAyB;AAAA,YAC7C,QAAQ;AAAA,YACR,SAASG;AAAA,UAAA;AAAA,QACX;AAAA,MAAA,GACF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}
|
package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"optional-items-skip.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsSkipProps {\n studentName: string;\n itemType: TItemType;\n onCancel: () => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsSkip: FC<IOptionalItemsSkipProps> = memo(\n ({ studentName, itemType, onCancel, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Remove additional practice for ${studentName}?`\n : `Remove advanced work for ${studentName}?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button renderAs=\"secondary\" label=\"Cancel\" widthX={14} onClick={onCancel} />\n <Button renderAs=\"primary\" label=\"Yes, remove\" widthX={14} onClick={handleSkip} />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsSkip;\n"],"names":["OptionalItemsSkip","memo","studentName","itemType","onCancel","onSkip","isPractice","handleSkip","useCallback","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAAiDC;AAAA,EACrD,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BAEnDI,IAAaC,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAI,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAN,IACG,kCAAkCJ,CAAW,MAC7C,4BAA4BA,CAAW,KAC7C;AAAA,MACC,gBAAAO,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAC,gBAAAC,EAAAE,GAAA,EAAO,UAAS,aAAY,OAAM,UAAS,QAAQ,IAAI,SAAST,EAAU,CAAA;AAAA,QAC3E,gBAAAO,EAACE,KAAO,UAAS,WAAU,OAAM,eAAc,QAAQ,IAAI,SAASN,EAAY,CAAA;AAAA,MAAA,
|
1
|
+
{"version":3,"file":"optional-items-skip.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.tsx"],"sourcesContent":["import type { TItemType } from '../../worksheet-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IOptionalItemsSkipProps {\n studentName: string;\n itemType: TItemType;\n onCancel: () => void;\n onSkip?: (itemType: TItemType) => void;\n}\n\nconst OptionalItemsSkip: FC<IOptionalItemsSkipProps> = memo(\n ({ studentName, itemType, onCancel, onSkip }) => {\n const isPractice =\n itemType === 'practice-basic-optional' || itemType === 'practice-regular-optional';\n\n const handleSkip = useCallback(() => {\n onSkip?.(itemType);\n }, [itemType, onSkip]);\n\n return (\n <FlexView $gutterX={3} $alignItems=\"center\">\n <Text $renderAs=\"quote\" $align=\"center\" $marginBottomX={4}>\n {isPractice\n ? `Remove additional practice for ${studentName}?`\n : `Remove advanced work for ${studentName}?`}\n </Text>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Button renderAs=\"secondary\" label=\"Cancel\" widthX={14} onClick={onCancel} />\n <Button renderAs=\"primary\" label=\"Yes, remove\" widthX={14} onClick={handleSkip} />\n </FlexView>\n </FlexView>\n );\n },\n);\n\nexport default OptionalItemsSkip;\n"],"names":["OptionalItemsSkip","memo","studentName","itemType","onCancel","onSkip","isPractice","handleSkip","useCallback","jsxs","FlexView","jsx","Text","Button"],"mappings":";;;;;AAgBA,MAAMA,IAAiDC;AAAA,EACrD,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,QAAAC,QAAa;AACzC,UAAAC,IACJH,MAAa,6BAA6BA,MAAa,6BAEnDI,IAAaC,EAAY,MAAM;AACnC,MAAAH,KAAA,QAAAA,EAASF;AAAA,IAAQ,GAChB,CAACA,GAAUE,CAAM,CAAC;AAErB,WACG,gBAAAI,EAAAC,GAAA,EAAS,UAAU,GAAG,aAAY,UACjC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,SAAQ,QAAO,UAAS,gBAAgB,GACrD,UAAAN,IACG,kCAAkCJ,CAAW,MAC7C,4BAA4BA,CAAW,KAC7C;AAAA,MACC,gBAAAO,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,QAAC,gBAAAC,EAAAE,GAAA,EAAO,UAAS,aAAY,OAAM,UAAS,QAAQ,IAAI,SAAST,EAAU,CAAA;AAAA,QAC3E,gBAAAO,EAACE,KAAO,UAAS,WAAU,OAAM,eAAc,QAAQ,IAAI,SAASN,EAAY,CAAA;AAAA,MAAA,GAClF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worksheet-blocker.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../worksheet-types';\nimport type { IWorksheetBlockerProps } from './worksheet-blocker-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport ExitTicketIntervention from './blockers/exit-ticket-intervention';\nimport ExitTicketReview from './blockers/exit-ticket-review';\nimport ExitTicketReviewAvailable from './blockers/exit-ticket-review-available';\nimport ExitTicketStudentSubmission from './blockers/exit-ticket-student-submission';\nimport OptionalItemsAssignment from './blockers/optional-items-assignment';\nimport OptionalItemsSkip from './blockers/optional-items-skip';\n\nconst WorksheetBlocker: FC<IWorksheetBlockerProps> = memo(props => {\n const {\n studentName,\n lastUnlockedQuestion,\n blocker,\n onBlockerClose,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n } = props;\n const { item_type, response_id } = lastUnlockedQuestion;\n\n const handleExitTicketValidate = useCallback(\n (rating: keyof typeof QUESTIONS_RATING) => {\n onTeacherValidation?.(response_id, rating);\n },\n [onTeacherValidation, response_id],\n );\n\n switch (blocker) {\n case 'exit-ticket-teacher-intervention':\n return <ExitTicketIntervention studentName={studentName} onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-student-submission':\n return <ExitTicketStudentSubmission onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-review-available':\n return (\n <ExitTicketReviewAvailable studentName={studentName} onViewExitTicket={onBlockerClose} />\n );\n case 'exit-ticket-review':\n return (\n <ExitTicketReview studentName={studentName} onViewExitValidate={handleExitTicketValidate} />\n );\n case 'optional-items-assignment':\n return (\n <OptionalItemsAssignment\n studentName={studentName}\n itemType={item_type!}\n onAssign={onOptionalItemAssignment}\n onSkip={onOptionalItemSkip}\n />\n );\n case 'optional-items-skip':\n return (\n <OptionalItemsSkip\n studentName={studentName}\n itemType={item_type!}\n onSkip={onOptionalItemSkip}\n onCancel={onBlockerClose}\n />\n );\n\n default:\n return null;\n }\n});\n\nexport default WorksheetBlocker;\n"],"names":["WorksheetBlocker","memo","props","studentName","lastUnlockedQuestion","blocker","onBlockerClose","onOptionalItemAssignment","onOptionalItemSkip","onTeacherValidation","item_type","response_id","handleExitTicketValidate","useCallback","rating","jsx","ExitTicketIntervention","ExitTicketStudentSubmission","ExitTicketReviewAvailable","ExitTicketReview","OptionalItemsAssignment","OptionalItemsSkip"],"mappings":";;;;;;;;AAaM,MAAAA,IAA+CC,EAAK,CAASC,MAAA;AAC3D,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,qBAAAC;AAAA,
|
1
|
+
{"version":3,"file":"worksheet-blocker.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.tsx"],"sourcesContent":["import type { QUESTIONS_RATING } from '../worksheet-types';\nimport type { IWorksheetBlockerProps } from './worksheet-blocker-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport ExitTicketIntervention from './blockers/exit-ticket-intervention';\nimport ExitTicketReview from './blockers/exit-ticket-review';\nimport ExitTicketReviewAvailable from './blockers/exit-ticket-review-available';\nimport ExitTicketStudentSubmission from './blockers/exit-ticket-student-submission';\nimport OptionalItemsAssignment from './blockers/optional-items-assignment';\nimport OptionalItemsSkip from './blockers/optional-items-skip';\n\nconst WorksheetBlocker: FC<IWorksheetBlockerProps> = memo(props => {\n const {\n studentName,\n lastUnlockedQuestion,\n blocker,\n onBlockerClose,\n onOptionalItemAssignment,\n onOptionalItemSkip,\n onTeacherValidation,\n } = props;\n const { item_type, response_id } = lastUnlockedQuestion;\n\n const handleExitTicketValidate = useCallback(\n (rating: keyof typeof QUESTIONS_RATING) => {\n onTeacherValidation?.(response_id, rating);\n },\n [onTeacherValidation, response_id],\n );\n\n switch (blocker) {\n case 'exit-ticket-teacher-intervention':\n return <ExitTicketIntervention studentName={studentName} onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-student-submission':\n return <ExitTicketStudentSubmission onViewExitTicket={onBlockerClose} />;\n case 'exit-ticket-review-available':\n return (\n <ExitTicketReviewAvailable studentName={studentName} onViewExitTicket={onBlockerClose} />\n );\n case 'exit-ticket-review':\n return (\n <ExitTicketReview studentName={studentName} onViewExitValidate={handleExitTicketValidate} />\n );\n case 'optional-items-assignment':\n return (\n <OptionalItemsAssignment\n studentName={studentName}\n itemType={item_type!}\n onAssign={onOptionalItemAssignment}\n onSkip={onOptionalItemSkip}\n />\n );\n case 'optional-items-skip':\n return (\n <OptionalItemsSkip\n studentName={studentName}\n itemType={item_type!}\n onSkip={onOptionalItemSkip}\n onCancel={onBlockerClose}\n />\n );\n\n default:\n return null;\n }\n});\n\nexport default WorksheetBlocker;\n"],"names":["WorksheetBlocker","memo","props","studentName","lastUnlockedQuestion","blocker","onBlockerClose","onOptionalItemAssignment","onOptionalItemSkip","onTeacherValidation","item_type","response_id","handleExitTicketValidate","useCallback","rating","jsx","ExitTicketIntervention","ExitTicketStudentSubmission","ExitTicketReviewAvailable","ExitTicketReview","OptionalItemsAssignment","OptionalItemsSkip"],"mappings":";;;;;;;;AAaM,MAAAA,IAA+CC,EAAK,CAASC,MAAA;AAC3D,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,qBAAAC;AAAA,EACE,IAAAP,GACE,EAAE,WAAAQ,GAAW,aAAAC,EAAgB,IAAAP,GAE7BQ,IAA2BC;AAAA,IAC/B,CAACC,MAA0C;AACzC,MAAAL,KAAA,QAAAA,EAAsBE,GAAaG;AAAA,IACrC;AAAA,IACA,CAACL,GAAqBE,CAAW;AAAA,EAAA;AAGnC,UAAQN,GAAS;AAAA,IACf,KAAK;AACH,aAAQ,gBAAAU,EAAAC,GAAA,EAAuB,aAAAb,GAA0B,kBAAkBG,EAAgB,CAAA;AAAA,IAC7F,KAAK;AACI,aAAA,gBAAAS,EAACE,GAA4B,EAAA,kBAAkBX,EAAgB,CAAA;AAAA,IACxE,KAAK;AACH,aACG,gBAAAS,EAAAG,GAAA,EAA0B,aAAAf,GAA0B,kBAAkBG,EAAgB,CAAA;AAAA,IAE3F,KAAK;AACH,aACG,gBAAAS,EAAAI,GAAA,EAAiB,aAAAhB,GAA0B,oBAAoBS,EAA0B,CAAA;AAAA,IAE9F,KAAK;AAED,aAAA,gBAAAG;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,aAAAjB;AAAA,UACA,UAAUO;AAAA,UACV,UAAUH;AAAA,UACV,QAAQC;AAAA,QAAA;AAAA,MAAA;AAAA,IAGd,KAAK;AAED,aAAA,gBAAAO;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,aAAAlB;AAAA,UACA,UAAUO;AAAA,UACV,QAAQF;AAAA,UACR,UAAUF;AAAA,QAAA;AAAA,MAAA;AAAA,IAIhB;AACS,aAAA;AAAA,EACX;AACF,CAAC;"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { jsx as f } from "react/jsx-runtime";
|
2
|
-
import { memo as
|
2
|
+
import { memo as W, forwardRef as S, useCallback as q, useEffect as m } from "react";
|
3
3
|
import L from "../../cue-canvas/cue-canvas-provider.js";
|
4
4
|
import v from "../constants/events.js";
|
5
5
|
import I from "./hooks/use-learnosity.js";
|
@@ -12,15 +12,15 @@ const x = (u, l) => {
|
|
12
12
|
questionsSignedRequest: p,
|
13
13
|
onLoaded: r,
|
14
14
|
onErrored: t,
|
15
|
-
onResponsesLoaded:
|
15
|
+
onResponsesLoaded: a,
|
16
16
|
loggerRef: o,
|
17
|
-
userType:
|
17
|
+
userType: c,
|
18
18
|
...E
|
19
|
-
} = u, { loadingState: s, learnosityActivityRef:
|
19
|
+
} = u, { loadingState: s, learnosityActivityRef: h, data: e, error: d } = T({
|
20
20
|
attemptId: R,
|
21
21
|
signedRequest: g,
|
22
22
|
loggerRef: o
|
23
|
-
}),
|
23
|
+
}), y = q(
|
24
24
|
(i) => {
|
25
25
|
t({
|
26
26
|
code: i.code,
|
@@ -30,38 +30,38 @@ const x = (u, l) => {
|
|
30
30
|
[t]
|
31
31
|
), { learnosity: n, appendedQuestionIds: k } = I(
|
32
32
|
p,
|
33
|
-
|
33
|
+
y,
|
34
34
|
o
|
35
35
|
);
|
36
|
-
if (
|
36
|
+
if (m(() => {
|
37
37
|
s === "error" && t({
|
38
|
-
message:
|
38
|
+
message: d ?? "Error loading worksheet"
|
39
39
|
});
|
40
|
-
}, [s,
|
40
|
+
}, [s, d, r, t]), m(() => {
|
41
41
|
n && s === "success" && r && (o.current(v.WORKSHEET_V3_READY), r());
|
42
|
-
}, [n, s, o, r]),
|
43
|
-
e != null && e.responses &&
|
44
|
-
}, [e == null ? void 0 : e.responses,
|
42
|
+
}, [n, s, o, r]), m(() => {
|
43
|
+
e != null && e.responses && a && a(e.responses ?? {});
|
44
|
+
}, [e == null ? void 0 : e.responses, a]), s === "success" && e && n) {
|
45
45
|
const { learnosityItems: i, responses: C } = e;
|
46
|
-
return /* @__PURE__ */ f(L, { userType:
|
46
|
+
return /* @__PURE__ */ f(L, { userType: c, children: /* @__PURE__ */ f(
|
47
47
|
w,
|
48
48
|
{
|
49
49
|
ref: l,
|
50
50
|
questionsSignedRequest: p,
|
51
51
|
learnosity: n,
|
52
52
|
appendedQuestionIds: k,
|
53
|
-
learnosityActivityRef:
|
53
|
+
learnosityActivityRef: h,
|
54
54
|
learnosityItems: i,
|
55
55
|
learnosityResponses: C,
|
56
56
|
loggerRef: o,
|
57
|
-
userType:
|
57
|
+
userType: c,
|
58
58
|
...E
|
59
59
|
}
|
60
60
|
) });
|
61
61
|
}
|
62
62
|
return null;
|
63
|
-
},
|
63
|
+
}, A = W(S(x)), N = A;
|
64
64
|
export {
|
65
|
-
|
65
|
+
N as default
|
66
66
|
};
|
67
67
|
//# sourceMappingURL=worksheet-container.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worksheet-container.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-container.tsx"],"sourcesContent":["import type { IWorksheetRef } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { forwardRef, memo, useCallback, useEffect } from 'react';\n\nimport CueCanvasProvider from '../../cue-canvas/cue-canvas-provider';\nimport EVENTS from '../constants/events';\nimport useLearnosity from './hooks/use-learnosity';\nimport useWorksheetDataHelper from './hooks/use-worksheet-data-helper';\nimport Worksheet from './worksheet';\nimport { type ILearnosityError, type IWorksheetContainerProps } from './worksheet-types';\n\nconst WorksheetContainerComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetContainerProps> = (\n props,\n ref,\n) => {\n const {\n attemptId,\n itemsSignedRequest,\n questionsSignedRequest,\n onLoaded,\n onErrored,\n onResponsesLoaded,\n loggerRef,\n userType,\n ...other\n } = props;\n\n const { loadingState, learnosityActivityRef, data, error } = useWorksheetDataHelper({\n attemptId,\n signedRequest: itemsSignedRequest,\n loggerRef,\n });\n\n const onLearnosityErrored = useCallback(\n (err: ILearnosityError) => {\n onErrored({\n code: err.code,\n message: err.detail,\n });\n },\n [onErrored],\n );\n\n const { learnosity, appendedQuestionIds } = useLearnosity(\n questionsSignedRequest,\n onLearnosityErrored,\n loggerRef,\n );\n\n useEffect(() => {\n if (loadingState === 'error') {\n onErrored({\n message: error ?? 'Error loading worksheet',\n });\n }\n }, [loadingState, error, onLoaded, onErrored]);\n\n useEffect(() => {\n if (learnosity && loadingState === 'success' && onLoaded) {\n loggerRef.current(EVENTS.WORKSHEET_V3_READY);\n onLoaded();\n }\n }, [learnosity, loadingState, loggerRef, onLoaded]);\n\n useEffect(() => {\n if (data?.responses && onResponsesLoaded) {\n onResponsesLoaded(data.responses ?? {});\n }\n }, [data?.responses, onResponsesLoaded]);\n\n if (loadingState === 'success' && data && learnosity) {\n const { learnosityItems, responses } = data;\n\n return (\n <CueCanvasProvider userType={userType}>\n <Worksheet\n ref={ref}\n questionsSignedRequest={questionsSignedRequest}\n learnosity={learnosity}\n appendedQuestionIds={appendedQuestionIds}\n learnosityActivityRef={learnosityActivityRef}\n learnosityItems={learnosityItems}\n learnosityResponses={responses}\n loggerRef={loggerRef}\n userType={userType}\n {...other}\n />\n </CueCanvasProvider>\n );\n }\n\n return null;\n};\n\nconst WorksheetContainer = memo(forwardRef(WorksheetContainerComp));\n\nexport default WorksheetContainer;\n"],"names":["WorksheetContainerComp","props","ref","attemptId","itemsSignedRequest","questionsSignedRequest","onLoaded","onErrored","onResponsesLoaded","loggerRef","userType","other","loadingState","learnosityActivityRef","data","error","useWorksheetDataHelper","onLearnosityErrored","useCallback","err","learnosity","appendedQuestionIds","useLearnosity","useEffect","EVENTS","learnosityItems","responses","jsx","CueCanvasProvider","Worksheet","WorksheetContainer","memo","forwardRef"],"mappings":";;;;;;;AAYA,MAAMA,IAA4F,CAChGC,GACAC,MACG;AACG,QAAA;AAAA,IACJ,WAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,
|
1
|
+
{"version":3,"file":"worksheet-container.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-container.tsx"],"sourcesContent":["import type { IWorksheetRef } from './worksheet-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { forwardRef, memo, useCallback, useEffect } from 'react';\n\nimport CueCanvasProvider from '../../cue-canvas/cue-canvas-provider';\nimport EVENTS from '../constants/events';\nimport useLearnosity from './hooks/use-learnosity';\nimport useWorksheetDataHelper from './hooks/use-worksheet-data-helper';\nimport Worksheet from './worksheet';\nimport { type ILearnosityError, type IWorksheetContainerProps } from './worksheet-types';\n\nconst WorksheetContainerComp: ForwardRefRenderFunction<IWorksheetRef, IWorksheetContainerProps> = (\n props,\n ref,\n) => {\n const {\n attemptId,\n itemsSignedRequest,\n questionsSignedRequest,\n onLoaded,\n onErrored,\n onResponsesLoaded,\n loggerRef,\n userType,\n ...other\n } = props;\n\n const { loadingState, learnosityActivityRef, data, error } = useWorksheetDataHelper({\n attemptId,\n signedRequest: itemsSignedRequest,\n loggerRef,\n });\n\n const onLearnosityErrored = useCallback(\n (err: ILearnosityError) => {\n onErrored({\n code: err.code,\n message: err.detail,\n });\n },\n [onErrored],\n );\n\n const { learnosity, appendedQuestionIds } = useLearnosity(\n questionsSignedRequest,\n onLearnosityErrored,\n loggerRef,\n );\n\n useEffect(() => {\n if (loadingState === 'error') {\n onErrored({\n message: error ?? 'Error loading worksheet',\n });\n }\n }, [loadingState, error, onLoaded, onErrored]);\n\n useEffect(() => {\n if (learnosity && loadingState === 'success' && onLoaded) {\n loggerRef.current(EVENTS.WORKSHEET_V3_READY);\n onLoaded();\n }\n }, [learnosity, loadingState, loggerRef, onLoaded]);\n\n useEffect(() => {\n if (data?.responses && onResponsesLoaded) {\n onResponsesLoaded(data.responses ?? {});\n }\n }, [data?.responses, onResponsesLoaded]);\n\n if (loadingState === 'success' && data && learnosity) {\n const { learnosityItems, responses } = data;\n\n return (\n <CueCanvasProvider userType={userType}>\n <Worksheet\n ref={ref}\n questionsSignedRequest={questionsSignedRequest}\n learnosity={learnosity}\n appendedQuestionIds={appendedQuestionIds}\n learnosityActivityRef={learnosityActivityRef}\n learnosityItems={learnosityItems}\n learnosityResponses={responses}\n loggerRef={loggerRef}\n userType={userType}\n {...other}\n />\n </CueCanvasProvider>\n );\n }\n\n return null;\n};\n\nconst WorksheetContainer = memo(forwardRef(WorksheetContainerComp));\n\nexport default WorksheetContainer;\n"],"names":["WorksheetContainerComp","props","ref","attemptId","itemsSignedRequest","questionsSignedRequest","onLoaded","onErrored","onResponsesLoaded","loggerRef","userType","other","loadingState","learnosityActivityRef","data","error","useWorksheetDataHelper","onLearnosityErrored","useCallback","err","learnosity","appendedQuestionIds","useLearnosity","useEffect","EVENTS","learnosityItems","responses","jsx","CueCanvasProvider","Worksheet","WorksheetContainer","memo","forwardRef","WorksheetContainer$1"],"mappings":";;;;;;;AAYA,MAAMA,IAA4F,CAChGC,GACAC,MACG;AACG,QAAA;AAAA,IACJ,WAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EACD,IAAAV,GAEE,EAAE,cAAAW,GAAc,uBAAAC,GAAuB,MAAAC,GAAM,OAAAC,EAAA,IAAUC,EAAuB;AAAA,IAClF,WAAAb;AAAA,IACA,eAAeC;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKQ,IAAsBC;AAAA,IAC1B,CAACC,MAA0B;AACf,MAAAZ,EAAA;AAAA,QACR,MAAMY,EAAI;AAAA,QACV,SAASA,EAAI;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAACZ,CAAS;AAAA,EAAA,GAGN,EAAE,YAAAa,GAAY,qBAAAC,EAAA,IAAwBC;AAAA,IAC1CjB;AAAA,IACAY;AAAA,IACAR;AAAA,EAAA;AAwBE,MArBJc,EAAU,MAAM;AACd,IAAIX,MAAiB,WACTL,EAAA;AAAA,MACR,SAASQ,KAAS;AAAA,IAAA,CACnB;AAAA,KAEF,CAACH,GAAcG,GAAOT,GAAUC,CAAS,CAAC,GAE7CgB,EAAU,MAAM;AACV,IAAAH,KAAcR,MAAiB,aAAaN,MACpCG,EAAA,QAAQe,EAAO,kBAAkB,GAClClB;KAEV,CAACc,GAAYR,GAAcH,GAAWH,CAAQ,CAAC,GAElDiB,EAAU,MAAM;AACV,IAAAT,KAAA,QAAAA,EAAM,aAAaN,KACHA,EAAAM,EAAK,aAAa,CAAA,CAAE;AAAA,EAEvC,GAAA,CAACA,KAAA,gBAAAA,EAAM,WAAWN,CAAiB,CAAC,GAEnCI,MAAiB,aAAaE,KAAQM,GAAY;AAC9C,UAAA,EAAE,iBAAAK,GAAiB,WAAAC,EAAc,IAAAZ;AAGrC,WAAA,gBAAAa,EAACC,KAAkB,UAAAlB,GACjB,UAAA,gBAAAiB;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAA3B;AAAA,QACA,wBAAAG;AAAA,QACA,YAAAe;AAAA,QACA,qBAAAC;AAAA,QACA,uBAAAR;AAAA,QACA,iBAAAY;AAAA,QACA,qBAAqBC;AAAA,QACrB,WAAAjB;AAAA,QACA,UAAAC;AAAA,QACC,GAAGC;AAAA,MAAA;AAAA,IAER,EAAA,CAAA;AAAA,EAEJ;AAEO,SAAA;AACT,GAEMmB,IAAqBC,EAAKC,EAAWhC,CAAsB,CAAC,GAElEiC,IAAeH;"}
|
@@ -4,7 +4,7 @@ import R from "../../../assets/line-icons/icons/edit2.js";
|
|
4
4
|
import k from "../../../assets/line-icons/icons/question-letter.js";
|
5
5
|
import C from "../../../assets/line-icons/icons/star2.js";
|
6
6
|
import w from "../constants/events.js";
|
7
|
-
import {
|
7
|
+
import { OPTIONAL_ITEM_TYPES as A, ACTION_BAR_HEIGHT as N, QUESTION_WIDTH as y, SPLIT_QUESTION_WIDTH as Q } from "./constants.js";
|
8
8
|
import { QUESTION_TAGS as E } from "./worksheet-types.js";
|
9
9
|
const x = (e) => {
|
10
10
|
switch (e) {
|
@@ -61,7 +61,7 @@ const x = (e) => {
|
|
61
61
|
item_display_number: g,
|
62
62
|
section_name: l,
|
63
63
|
item_type: r ? o : void 0,
|
64
|
-
is_optional: o ?
|
64
|
+
is_optional: o ? A.includes(o) : !1,
|
65
65
|
item_tags: a.tags ?? [],
|
66
66
|
item_tags_map: I(a.tags ?? []),
|
67
67
|
question_number: h - (d ? 1 : 0),
|
@@ -217,9 +217,9 @@ const K = (e) => e.reduce(
|
|
217
217
|
return {
|
218
218
|
questionsContainerWidth: !e.some(
|
219
219
|
(a) => a.questions.some((c) => c.stimulus_review)
|
220
|
-
) ? y :
|
220
|
+
) ? y : Q,
|
221
221
|
maxQuestionWidth: y,
|
222
|
-
actionbarHeight: t === "bottom" ?
|
222
|
+
actionbarHeight: t === "bottom" ? N : 0
|
223
223
|
};
|
224
224
|
}, z = ({
|
225
225
|
questions: e,
|