@cuemath/leap 2.8.61-rj-12 → 2.8.61-rj-13
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 +5 -22
- 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 +47 -38
- 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.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +37 -37
- 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 +69 -71
- 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 +11 -15
- 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 +19 -20
- 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 +43 -44
- 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 +12 -13
- 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 +4 -3
- 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 +0 -2
- 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 +12 -14
- 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 +20 -21
- 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 +23 -24
- 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 +2 -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 +0 -2
- 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 +174 -133
- 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
package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js
CHANGED
@@ -1,46 +1,46 @@
|
|
1
|
-
import { useMessageBrokerChannel as
|
2
|
-
import { useMemo as
|
3
|
-
const
|
4
|
-
const { studentClassroomId:
|
1
|
+
import { useMessageBrokerChannel as S } from "@cuemath/cue-message-broker";
|
2
|
+
import { useMemo as b, useCallback as o } from "react";
|
3
|
+
const f = 3, y = (l) => {
|
4
|
+
const { studentClassroomId: s, onMessageReceive: e, logger: n } = l, t = `inclass_${s}`, r = b(
|
5
5
|
() => ({
|
6
6
|
channelId: t,
|
7
|
-
ttl:
|
7
|
+
ttl: f,
|
8
8
|
noHistory: !0,
|
9
9
|
logger: n
|
10
10
|
}),
|
11
11
|
[t, n]
|
12
12
|
), c = o(
|
13
|
-
(
|
13
|
+
(p, M) => {
|
14
14
|
e == null || e(
|
15
|
-
|
16
|
-
|
15
|
+
p.map((g) => g.message.payload),
|
16
|
+
M
|
17
17
|
);
|
18
18
|
},
|
19
19
|
[e]
|
20
20
|
), {
|
21
|
-
channel:
|
21
|
+
channel: a,
|
22
22
|
publish: d,
|
23
23
|
channelStatus: u,
|
24
24
|
channelMetadata: m,
|
25
25
|
setChannelMetadata: h,
|
26
|
-
removeChannelMetadata:
|
27
|
-
} =
|
26
|
+
removeChannelMetadata: i
|
27
|
+
} = S({
|
28
28
|
channelOptions: r,
|
29
29
|
consumerFn: e ? c : void 0,
|
30
30
|
metadataRequired: !0,
|
31
|
-
enabled:
|
32
|
-
}),
|
33
|
-
|
34
|
-
}, [
|
31
|
+
enabled: s !== void 0
|
32
|
+
}), C = o(() => {
|
33
|
+
a == null || a.destroyChannel();
|
34
|
+
}, [a]);
|
35
35
|
return {
|
36
36
|
channelStatus: u,
|
37
37
|
channelMetadata: m,
|
38
38
|
setChannelMetadata: h,
|
39
|
-
removeChannelMetadata:
|
39
|
+
removeChannelMetadata: i,
|
40
40
|
publish: d,
|
41
|
-
closeChannel:
|
41
|
+
closeChannel: C
|
42
42
|
};
|
43
|
-
}
|
43
|
+
};
|
44
44
|
export {
|
45
45
|
y as default
|
46
46
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-inclass-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.ts"],"sourcesContent":["import type {\n IUseInclassMessageBroker,\n TInclassChannelMetadata,\n TInclassMessage,\n} from './use-inclass-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useInClassMessageBroker: IUseInclassMessageBroker = options => {\n const { studentClassroomId, onMessageReceive, logger } = options;\n const channelId = `inclass_${studentClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TInclassMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const {\n channel,\n publish,\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n } = useMessageBrokerChannel<TInclassMessage, TInclassChannelMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: studentClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n publish,\n closeChannel,\n };\n};\n\nexport default useInClassMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useInClassMessageBroker","options","studentClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","removeChannelMetadata","useMessageBrokerChannel","closeChannel"
|
1
|
+
{"version":3,"file":"use-inclass-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.ts"],"sourcesContent":["import type {\n IUseInclassMessageBroker,\n TInclassChannelMetadata,\n TInclassMessage,\n} from './use-inclass-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useInClassMessageBroker: IUseInclassMessageBroker = options => {\n const { studentClassroomId, onMessageReceive, logger } = options;\n const channelId = `inclass_${studentClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TInclassMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const {\n channel,\n publish,\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n } = useMessageBrokerChannel<TInclassMessage, TInclassChannelMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: studentClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n channelStatus,\n channelMetadata,\n setChannelMetadata,\n removeChannelMetadata,\n publish,\n closeChannel,\n };\n};\n\nexport default useInClassMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useInClassMessageBroker","options","studentClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","removeChannelMetadata","useMessageBrokerChannel","closeChannel"],"mappings":";;AASA,MAAMA,IAAuB,GAEvBC,IAAoD,CAAWC,MAAA;AACnE,QAAM,EAAE,oBAAAC,GAAoB,kBAAAC,GAAkB,QAAAC,EAAW,IAAAH,GACnDI,IAAY,WAAWH,CAAkB,IACzCI,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,WAAAF;AAAA,MACA,KAAKN;AAAA,MACL,WAAW;AAAA,MACX,QAAAK;AAAA,IAAA;AAAA,IAEF,CAACC,GAAWD,CAAM;AAAA,EACpB,GAEMI,IAAuBC;AAAA,IAC3B,CAACC,GAAsDC,MAA0B;AAC/E,MAAAR,KAAA,QAAAA;AAAA,QACEO,EAAY,IAAI,CAAkBE,MAAAA,EAAe,QAAQ,OAAO;AAAA,QAChED;AAAA;AAAA,IAEJ;AAAA,IACA,CAACR,CAAgB;AAAA,EACnB,GAEM;AAAA,IACJ,SAAAU;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,MACEC,EAAkE;AAAA,IACpE,gBAAAb;AAAA,IACA,YAAYH,IAAmBK,IAAuB;AAAA,IACtD,kBAAkB;AAAA,IAClB,SAASN,MAAuB;AAAA,EAAA,CACjC,GAEKkB,IAAeX,EAAY,MAAM;AACrC,IAAAI,KAAA,QAAAA,EAAS;AAAA,EAAe,GACvB,CAACA,CAAO,CAAC;AAEL,SAAA;AAAA,IACL,eAAAE;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,SAAAJ;AAAA,IACA,cAAAM;AAAA,EACF;AACF;"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { useMessageBrokerChannel as g } from "@cuemath/cue-message-broker";
|
2
2
|
import { useMemo as S, useCallback as o } from "react";
|
3
|
-
const
|
4
|
-
const { teacherClassroomId:
|
3
|
+
const _ = 3, k = (r) => {
|
4
|
+
const { teacherClassroomId: s, onMessageReceive: e, logger: t } = r, n = `trial_v3_${s}`, l = S(
|
5
5
|
() => ({
|
6
6
|
channelId: n,
|
7
|
-
ttl:
|
7
|
+
ttl: _,
|
8
8
|
noHistory: !0,
|
9
9
|
logger: t
|
10
10
|
}),
|
@@ -17,23 +17,23 @@ const k = 3, T = (r) => {
|
|
17
17
|
);
|
18
18
|
},
|
19
19
|
[e]
|
20
|
-
), { channel:
|
20
|
+
), { channel: a, publish: d, channelStatus: u, channelMetadata: i, setChannelMetadata: h } = g({
|
21
21
|
channelOptions: l,
|
22
22
|
consumerFn: e ? c : void 0,
|
23
23
|
metadataRequired: !0,
|
24
|
-
enabled:
|
24
|
+
enabled: s !== void 0
|
25
25
|
}), m = o(() => {
|
26
|
-
|
27
|
-
}, [
|
26
|
+
a == null || a.destroyChannel();
|
27
|
+
}, [a]);
|
28
28
|
return {
|
29
29
|
publish: d,
|
30
30
|
closeChannel: m,
|
31
31
|
setChannelMetadata: h,
|
32
|
-
channelStatus:
|
33
|
-
channelMetadata:
|
32
|
+
channelStatus: u,
|
33
|
+
channelMetadata: i
|
34
34
|
};
|
35
|
-
}
|
35
|
+
};
|
36
36
|
export {
|
37
|
-
|
37
|
+
k as default
|
38
38
|
};
|
39
39
|
//# sourceMappingURL=use-trial-session-message-broker.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-trial-session-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.ts"],"sourcesContent":["import type {\n ITrialSessionMetadata,\n IUseTrialSessionMessageBroker,\n TTrialSessionMessage,\n} from './use-trial-session-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useTrialSessionMessageBroker: IUseTrialSessionMessageBroker = options => {\n const { teacherClassroomId, onMessageReceive, logger } = options;\n const channelId = `trial_v3_${teacherClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TTrialSessionMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const { channel, publish, channelStatus, channelMetadata, setChannelMetadata } =\n useMessageBrokerChannel<TTrialSessionMessage, ITrialSessionMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: teacherClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n publish,\n closeChannel,\n setChannelMetadata,\n channelStatus,\n channelMetadata,\n };\n};\n\nexport default useTrialSessionMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useTrialSessionMessageBroker","options","teacherClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","useMessageBrokerChannel","closeChannel"
|
1
|
+
{"version":3,"file":"use-trial-session-message-broker.js","sources":["../../../../../src/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.ts"],"sourcesContent":["import type {\n ITrialSessionMetadata,\n IUseTrialSessionMessageBroker,\n TTrialSessionMessage,\n} from './use-trial-session-message-broker-types';\n\nimport { useMessageBrokerChannel, type IChannelMessage } from '@cuemath/cue-message-broker';\nimport { useCallback, useMemo } from 'react';\n\nconst CHANNEL_MESSAGES_TTL = 3; // 3 hours\n\nconst useTrialSessionMessageBroker: IUseTrialSessionMessageBroker = options => {\n const { teacherClassroomId, onMessageReceive, logger } = options;\n const channelId = `trial_v3_${teacherClassroomId}`;\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: CHANNEL_MESSAGES_TTL,\n noHistory: true,\n logger,\n }),\n [channelId, logger],\n );\n\n const handleMessageReceive = useCallback(\n (newMessages: Array<IChannelMessage<TTrialSessionMessage>>, initialData?: boolean) => {\n onMessageReceive?.(\n newMessages.map(channelMessage => channelMessage.message.payload),\n initialData,\n );\n },\n [onMessageReceive],\n );\n\n const { channel, publish, channelStatus, channelMetadata, setChannelMetadata } =\n useMessageBrokerChannel<TTrialSessionMessage, ITrialSessionMetadata>({\n channelOptions,\n consumerFn: onMessageReceive ? handleMessageReceive : undefined,\n metadataRequired: true,\n enabled: teacherClassroomId !== undefined,\n });\n\n const closeChannel = useCallback(() => {\n channel?.destroyChannel();\n }, [channel]);\n\n return {\n publish,\n closeChannel,\n setChannelMetadata,\n channelStatus,\n channelMetadata,\n };\n};\n\nexport default useTrialSessionMessageBroker;\n"],"names":["CHANNEL_MESSAGES_TTL","useTrialSessionMessageBroker","options","teacherClassroomId","onMessageReceive","logger","channelId","channelOptions","useMemo","handleMessageReceive","useCallback","newMessages","initialData","channelMessage","channel","publish","channelStatus","channelMetadata","setChannelMetadata","useMessageBrokerChannel","closeChannel"],"mappings":";;AASA,MAAMA,IAAuB,GAEvBC,IAA8D,CAAWC,MAAA;AAC7E,QAAM,EAAE,oBAAAC,GAAoB,kBAAAC,GAAkB,QAAAC,EAAW,IAAAH,GACnDI,IAAY,YAAYH,CAAkB,IAC1CI,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,WAAAF;AAAA,MACA,KAAKN;AAAA,MACL,WAAW;AAAA,MACX,QAAAK;AAAA,IAAA;AAAA,IAEF,CAACC,GAAWD,CAAM;AAAA,EACpB,GAEMI,IAAuBC;AAAA,IAC3B,CAACC,GAA2DC,MAA0B;AACpF,MAAAR,KAAA,QAAAA;AAAA,QACEO,EAAY,IAAI,CAAkBE,MAAAA,EAAe,QAAQ,OAAO;AAAA,QAChED;AAAA;AAAA,IAEJ;AAAA,IACA,CAACR,CAAgB;AAAA,EACnB,GAEM,EAAE,SAAAU,GAAS,SAAAC,GAAS,eAAAC,GAAe,iBAAAC,GAAiB,oBAAAC,MACxDC,EAAqE;AAAA,IACnE,gBAAAZ;AAAA,IACA,YAAYH,IAAmBK,IAAuB;AAAA,IACtD,kBAAkB;AAAA,IAClB,SAASN,MAAuB;AAAA,EAAA,CACjC,GAEGiB,IAAeV,EAAY,MAAM;AACrC,IAAAI,KAAA,QAAAA,EAAS;AAAA,EAAe,GACvB,CAACA,CAAO,CAAC;AAEL,SAAA;AAAA,IACL,SAAAC;AAAA,IACA,cAAAK;AAAA,IACA,oBAAAF;AAAA,IACA,eAAAF;AAAA,IACA,iBAAAC;AAAA,EACF;AACF;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.js","sources":["../../../../src/features/communication/pub-sub/core.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TAction, TCallback } from './types';\n\nimport isEqual from 'lodash.isequal';\n\ninterface ISubscription {\n eventsMap: {\n [eventName: string]: Record<string, unknown> | null;\n };\n callback: TCallback;\n}\n\nclass EventListener {\n private _eventListener: {\n [subscriptionId: string]: ISubscription;\n } = {};\n\n unsubscribe(subscriptionId: string) {\n delete this._eventListener[subscriptionId];\n }\n\n subscribe(events: TAction[] | TAction, callback: TCallback, subscriptionId: string) {\n if (events.length === 0) return;\n\n const eventsList = (Array.isArray(events[0]) ? events : [events]) as TAction[];\n\n const subscriptionListener: ISubscription = { callback, eventsMap: {} };\n\n eventsList.forEach(event => {\n const [eventName, eventPayload] = event;\n\n subscriptionListener.eventsMap = {\n ...subscriptionListener.eventsMap,\n [eventName]: eventPayload ?? null,\n };\n });\n\n this._eventListener[subscriptionId] = subscriptionListener;\n }\n\n isPayloadMatched(matchPayload: Record<string, unknown>, eventPayload: Record<string, unknown>) {\n return Object.entries(matchPayload).some(([key, matchPayloadValue]) => {\n const eventPayloadValue = eventPayload[key];\n\n if (Array.isArray(eventPayloadValue)) {\n if (Array.isArray(matchPayloadValue)) {\n const isArraySubset = eventPayloadValue.every(i => matchPayloadValue.includes(i));\n\n if (isArraySubset) return true;\n }\n\n return false;\n }\n\n const areValuesEqual = isEqual(matchPayloadValue, eventPayloadValue);\n\n return areValuesEqual;\n });\n }\n\n notifySubscribers(subscriptionId: string, newMessages: TInclassMessage[]) {\n if (newMessages.length === 0) return;\n\n const { eventsMap, callback } = this._eventListener[subscriptionId] || {};\n const matchedMessages: TInclassMessage[] = [];\n\n if (eventsMap) {\n newMessages.forEach(message => {\n const { eventName, eventPayload } = message;\n const payload = eventsMap[eventName];\n\n if (payload === null) {\n matchedMessages.push(message);\n } else if (payload && this.isPayloadMatched(payload, eventPayload)) {\n matchedMessages.push(message);\n }\n });\n }\n\n if (matchedMessages.length > 0 && callback) {\n callback(matchedMessages);\n }\n }\n}\n\nconst eventListener = new EventListener();\n\nexport default eventListener;\n"],"names":["EventListener","__publicField","subscriptionId","events","callback","eventsList","subscriptionListener","event","eventName","eventPayload","matchPayload","key","matchPayloadValue","eventPayloadValue","i","isEqual","newMessages","eventsMap","matchedMessages","message","payload","eventListener"],"mappings":";;;;AAYA,MAAMA,EAAc;AAAA,EAApB;AACU,IAAAC,EAAA,wBAEJ,
|
1
|
+
{"version":3,"file":"core.js","sources":["../../../../src/features/communication/pub-sub/core.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TAction, TCallback } from './types';\n\nimport isEqual from 'lodash.isequal';\n\ninterface ISubscription {\n eventsMap: {\n [eventName: string]: Record<string, unknown> | null;\n };\n callback: TCallback;\n}\n\nclass EventListener {\n private _eventListener: {\n [subscriptionId: string]: ISubscription;\n } = {};\n\n unsubscribe(subscriptionId: string) {\n delete this._eventListener[subscriptionId];\n }\n\n subscribe(events: TAction[] | TAction, callback: TCallback, subscriptionId: string) {\n if (events.length === 0) return;\n\n const eventsList = (Array.isArray(events[0]) ? events : [events]) as TAction[];\n\n const subscriptionListener: ISubscription = { callback, eventsMap: {} };\n\n eventsList.forEach(event => {\n const [eventName, eventPayload] = event;\n\n subscriptionListener.eventsMap = {\n ...subscriptionListener.eventsMap,\n [eventName]: eventPayload ?? null,\n };\n });\n\n this._eventListener[subscriptionId] = subscriptionListener;\n }\n\n isPayloadMatched(matchPayload: Record<string, unknown>, eventPayload: Record<string, unknown>) {\n return Object.entries(matchPayload).some(([key, matchPayloadValue]) => {\n const eventPayloadValue = eventPayload[key];\n\n if (Array.isArray(eventPayloadValue)) {\n if (Array.isArray(matchPayloadValue)) {\n const isArraySubset = eventPayloadValue.every(i => matchPayloadValue.includes(i));\n\n if (isArraySubset) return true;\n }\n\n return false;\n }\n\n const areValuesEqual = isEqual(matchPayloadValue, eventPayloadValue);\n\n return areValuesEqual;\n });\n }\n\n notifySubscribers(subscriptionId: string, newMessages: TInclassMessage[]) {\n if (newMessages.length === 0) return;\n\n const { eventsMap, callback } = this._eventListener[subscriptionId] || {};\n const matchedMessages: TInclassMessage[] = [];\n\n if (eventsMap) {\n newMessages.forEach(message => {\n const { eventName, eventPayload } = message;\n const payload = eventsMap[eventName];\n\n if (payload === null) {\n matchedMessages.push(message);\n } else if (payload && this.isPayloadMatched(payload, eventPayload)) {\n matchedMessages.push(message);\n }\n });\n }\n\n if (matchedMessages.length > 0 && callback) {\n callback(matchedMessages);\n }\n }\n}\n\nconst eventListener = new EventListener();\n\nexport default eventListener;\n"],"names":["EventListener","__publicField","subscriptionId","events","callback","eventsList","subscriptionListener","event","eventName","eventPayload","matchPayload","key","matchPayloadValue","eventPayloadValue","i","isEqual","newMessages","eventsMap","matchedMessages","message","payload","eventListener"],"mappings":";;;;AAYA,MAAMA,EAAc;AAAA,EAApB;AACU,IAAAC,EAAA,wBAEJ,CAAC;AAAA;AAAA,EAEL,YAAYC,GAAwB;AAC3B,WAAA,KAAK,eAAeA,CAAc;AAAA,EAAA;AAAA,EAG3C,UAAUC,GAA6BC,GAAqBF,GAAwB;AAC9E,QAAAC,EAAO,WAAW,EAAG;AAEnB,UAAAE,IAAc,MAAM,QAAQF,EAAO,CAAC,CAAC,IAAIA,IAAS,CAACA,CAAM,GAEzDG,IAAsC,EAAE,UAAAF,GAAU,WAAW,CAAA,EAAG;AAEtE,IAAAC,EAAW,QAAQ,CAASE,MAAA;AACpB,YAAA,CAACC,GAAWC,CAAY,IAAIF;AAElC,MAAAD,EAAqB,YAAY;AAAA,QAC/B,GAAGA,EAAqB;AAAA,QACxB,CAACE,CAAS,GAAGC,KAAgB;AAAA,MAC/B;AAAA,IAAA,CACD,GAEI,KAAA,eAAeP,CAAc,IAAII;AAAA,EAAA;AAAA,EAGxC,iBAAiBI,GAAuCD,GAAuC;AACtF,WAAA,OAAO,QAAQC,CAAY,EAAE,KAAK,CAAC,CAACC,GAAKC,CAAiB,MAAM;AAC/D,YAAAC,IAAoBJ,EAAaE,CAAG;AAEtC,aAAA,MAAM,QAAQE,CAAiB,IAC7B,SAAM,QAAQD,CAAiB,KACXC,EAAkB,MAAM,OAAKD,EAAkB,SAASE,CAAC,CAAC,KAQ7DC,EAAQH,GAAmBC,CAAiB;AAAA,IAE5D,CACR;AAAA,EAAA;AAAA,EAGH,kBAAkBX,GAAwBc,GAAgC;AACpE,QAAAA,EAAY,WAAW,EAAG;AAExB,UAAA,EAAE,WAAAC,GAAW,UAAAb,EAAS,IAAI,KAAK,eAAeF,CAAc,KAAK,CAAC,GAClEgB,IAAqC,CAAC;AAE5C,IAAID,KACFD,EAAY,QAAQ,CAAWG,MAAA;AACvB,YAAA,EAAE,WAAAX,GAAW,cAAAC,EAAA,IAAiBU,GAC9BC,IAAUH,EAAUT,CAAS;AAEnC,OAAIY,MAAY,QAELA,KAAW,KAAK,iBAAiBA,GAASX,CAAY,MAC/DS,EAAgB,KAAKC,CAAO;AAAA,IAC9B,CACD,GAGCD,EAAgB,SAAS,KAAKd,KAChCA,EAASc,CAAe;AAAA,EAC1B;AAEJ;AAEM,MAAAG,IAAgB,IAAIrB,EAAc;"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { useCallback as i, useState as f, useEffect as m } from "react";
|
2
2
|
import c from "../hooks/use-inclass-message-broker/use-inclass-message-broker.js";
|
3
3
|
import r from "./core.js";
|
4
4
|
import p from "../../../node_modules/uuid/dist/esm-browser/v4.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../src/features/communication/pub-sub/hooks.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TActionListenerOptions } from './types';\n\nimport { useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useInClassMessageBroker from '../hooks/use-inclass-message-broker/use-inclass-message-broker';\nimport eventListener from './core';\n\nconst useInClassActionListener = (\n { studentClassroomId, actions, callback }: TActionListenerOptions,\n enabled: boolean = true,\n) => {\n const [subscriptionId] = useState(uuidv4);\n\n const onMessagesReceived = useCallback(\n (newMessages: TInclassMessage[]) => {\n eventListener.notifySubscribers(subscriptionId, newMessages);\n },\n [subscriptionId],\n );\n\n useEffect(() => {\n if (enabled === false) {\n eventListener.unsubscribe(subscriptionId);\n } else {\n eventListener.subscribe(actions, callback, subscriptionId);\n }\n\n return () => {\n eventListener.unsubscribe(subscriptionId);\n };\n }, [actions, callback, enabled, subscriptionId]);\n\n useInClassMessageBroker({ studentClassroomId, onMessageReceive: onMessagesReceived });\n};\n\nconst useInClassActionDispatcher = ({\n studentClassroomId,\n}: {\n studentClassroomId: string | undefined;\n}) => {\n const { publish } = useInClassMessageBroker({ studentClassroomId });\n\n const dispatchInClassAction = useCallback(\n (message: TInclassMessage) => {\n publish?.(message);\n },\n [publish],\n );\n\n return { dispatchInClassAction };\n};\n\nexport { useInClassActionDispatcher, useInClassActionListener };\n"],"names":["useInClassActionListener","studentClassroomId","actions","callback","enabled","subscriptionId","useState","uuidv4","onMessagesReceived","useCallback","newMessages","eventListener","useEffect","useInClassMessageBroker","useInClassActionDispatcher","publish","message"],"mappings":";;;;AASM,MAAAA,IAA2B,CAC/B,EAAE,oBAAAC,GAAoB,SAAAC,GAAS,UAAAC,EAAS,GACxCC,IAAmB,OAChB;AACH,QAAM,CAACC,CAAc,IAAIC,EAASC,CAAM,GAElCC,IAAqBC;AAAA,IACzB,CAACC,MAAmC;AACpB,MAAAC,EAAA,kBAAkBN,GAAgBK,CAAW;AAAA,IAC7D;AAAA,IACA,CAACL,CAAc;AAAA,
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../../src/features/communication/pub-sub/hooks.ts"],"sourcesContent":["import type { TInclassMessage } from '../hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { TActionListenerOptions } from './types';\n\nimport { useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useInClassMessageBroker from '../hooks/use-inclass-message-broker/use-inclass-message-broker';\nimport eventListener from './core';\n\nconst useInClassActionListener = (\n { studentClassroomId, actions, callback }: TActionListenerOptions,\n enabled: boolean = true,\n) => {\n const [subscriptionId] = useState(uuidv4);\n\n const onMessagesReceived = useCallback(\n (newMessages: TInclassMessage[]) => {\n eventListener.notifySubscribers(subscriptionId, newMessages);\n },\n [subscriptionId],\n );\n\n useEffect(() => {\n if (enabled === false) {\n eventListener.unsubscribe(subscriptionId);\n } else {\n eventListener.subscribe(actions, callback, subscriptionId);\n }\n\n return () => {\n eventListener.unsubscribe(subscriptionId);\n };\n }, [actions, callback, enabled, subscriptionId]);\n\n useInClassMessageBroker({ studentClassroomId, onMessageReceive: onMessagesReceived });\n};\n\nconst useInClassActionDispatcher = ({\n studentClassroomId,\n}: {\n studentClassroomId: string | undefined;\n}) => {\n const { publish } = useInClassMessageBroker({ studentClassroomId });\n\n const dispatchInClassAction = useCallback(\n (message: TInclassMessage) => {\n publish?.(message);\n },\n [publish],\n );\n\n return { dispatchInClassAction };\n};\n\nexport { useInClassActionDispatcher, useInClassActionListener };\n"],"names":["useInClassActionListener","studentClassroomId","actions","callback","enabled","subscriptionId","useState","uuidv4","onMessagesReceived","useCallback","newMessages","eventListener","useEffect","useInClassMessageBroker","useInClassActionDispatcher","publish","message"],"mappings":";;;;AASM,MAAAA,IAA2B,CAC/B,EAAE,oBAAAC,GAAoB,SAAAC,GAAS,UAAAC,EAAS,GACxCC,IAAmB,OAChB;AACH,QAAM,CAACC,CAAc,IAAIC,EAASC,CAAM,GAElCC,IAAqBC;AAAA,IACzB,CAACC,MAAmC;AACpB,MAAAC,EAAA,kBAAkBN,GAAgBK,CAAW;AAAA,IAC7D;AAAA,IACA,CAACL,CAAc;AAAA,EACjB;AAEA,EAAAO,EAAU,OACJR,MAAY,KACdO,EAAc,YAAYN,CAAc,IAE1BM,EAAA,UAAUT,GAASC,GAAUE,CAAc,GAGpD,MAAM;AACX,IAAAM,EAAc,YAAYN,CAAc;AAAA,EAC1C,IACC,CAACH,GAASC,GAAUC,GAASC,CAAc,CAAC,GAE/CQ,EAAwB,EAAE,oBAAAZ,GAAoB,kBAAkBO,EAAA,CAAoB;AACtF,GAEMM,IAA6B,CAAC;AAAA,EAClC,oBAAAb;AACF,MAEM;AACJ,QAAM,EAAE,SAAAc,EAAQ,IAAIF,EAAwB,EAAE,oBAAAZ,GAAoB;AASlE,SAAO,EAAE,uBAPqBQ;AAAA,IAC5B,CAACO,MAA6B;AAC5B,MAAAD,KAAA,QAAAA,EAAUC;AAAA,IACZ;AAAA,IACA,CAACD,CAAO;AAAA,EACV,EAE+B;AACjC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cue-canvas-context.js","sources":["../../../src/features/cue-canvas/cue-canvas-context.tsx"],"sourcesContent":["import type { TPolyContextValue } from './types/context';\nimport type { TCueCanvasColors } from './types/cue-canvas';\n\nimport { createContext } from 'react';\n\nimport { CANVAS_COLORS } from './constants/constants';\n\nconst PolyContext = createContext<TPolyContextValue>({\n activeInstance: undefined,\n setActiveInstance: () => undefined,\n activeTool: 'pen',\n setActiveTool: () => undefined,\n activeColor: Object.keys(CANVAS_COLORS)[0] as TCueCanvasColors,\n setActiveColor: () => undefined,\n activeSidebar: undefined,\n setActiveSidebar: () => undefined,\n});\n\nexport default PolyContext;\n"],"names":["PolyContext","createContext","CANVAS_COLORS"],"mappings":";;AAOA,MAAMA,IAAcC,EAAiC;AAAA,EACnD,gBAAgB;AAAA,EAChB,mBAAmB,
|
1
|
+
{"version":3,"file":"cue-canvas-context.js","sources":["../../../src/features/cue-canvas/cue-canvas-context.tsx"],"sourcesContent":["import type { TPolyContextValue } from './types/context';\nimport type { TCueCanvasColors } from './types/cue-canvas';\n\nimport { createContext } from 'react';\n\nimport { CANVAS_COLORS } from './constants/constants';\n\nconst PolyContext = createContext<TPolyContextValue>({\n activeInstance: undefined,\n setActiveInstance: () => undefined,\n activeTool: 'pen',\n setActiveTool: () => undefined,\n activeColor: Object.keys(CANVAS_COLORS)[0] as TCueCanvasColors,\n setActiveColor: () => undefined,\n activeSidebar: undefined,\n setActiveSidebar: () => undefined,\n});\n\nexport default PolyContext;\n"],"names":["PolyContext","createContext","CANVAS_COLORS"],"mappings":";;AAOA,MAAMA,IAAcC,EAAiC;AAAA,EACnD,gBAAgB;AAAA,EAChB,mBAAmB,MAAA;AAAA;AAAA,EACnB,YAAY;AAAA,EACZ,eAAe,MAAA;AAAA;AAAA,EACf,aAAa,OAAO,KAAKC,CAAa,EAAE,CAAC;AAAA,EACzC,gBAAgB,MAAA;AAAA;AAAA,EAChB,eAAe;AAAA,EACf,kBAAkB,MAAM;AAAA;AAC1B,CAAC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cue-canvas-core.js","sources":["../../../src/features/cue-canvas/cue-canvas-core.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n IActionData,\n IViewport,\n TCueCanvasChangeData,\n TCueCanvasGridName,\n TCueCanvasTool,\n TPublish,\n TRenderAs,\n TSubscribe,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { ICreateOptions } from './types/cue-canvas';\nimport type { IPolypad, IPolyPadInstance } from './types/polypad';\n\nimport debounce from 'lodash.debounce';\n\nimport {\n checkTextOrEquationTool,\n getReverseMap,\n getToolAndSubtool,\n removeMask,\n removeTileButton,\n} from './cue-canvas-helpers';\n\ndeclare global {\n interface Window {\n Polypad: IPolypad;\n }\n}\n\n/**\n * The CueCanvasCore class manages the canvas state and tool synchronization.\n * When text or equations are added, Polypad automatically switches to 'move' tool.\n * onUpdateActiveTool ensures the UI reflects this automatic tool change.\n */\n\nexport class CueCanvasCore {\n private polycanvas: IPolyPadInstance | undefined;\n private publish?: TPublish;\n private height: number;\n private onUpdateActiveTool: (tool: TCueCanvasTool) => void;\n private onUpdateHeight: (height: number) => void;\n private userId: string;\n private responseId: string;\n private userType: TUserTypes;\n private renderAs: TRenderAs;\n private fileInput: HTMLInputElement | null = null;\n private debouncedViewportChange: ReturnType<typeof debounce>;\n private uploadImageToS3?: (file: File) => string;\n\n constructor(\n onPublish: TPublish,\n onSubscribe: TSubscribe,\n onUpdateActiveTool: (tool: TCueCanvasTool) => void,\n onUpdateHeight: (height: number) => void,\n uploadImageToS3: (file: File) => string,\n height: number,\n userId: string,\n responseId: string,\n userType: TUserTypes,\n renderAs: TRenderAs,\n ) {\n this.onUpdateHeight = onUpdateHeight;\n this.onUpdateActiveTool = onUpdateActiveTool;\n this.height = height;\n this.uploadImageToS3 = uploadImageToS3;\n this.userId = userId;\n this.responseId = responseId;\n this.publish = onPublish;\n this.userType = userType;\n this.renderAs = renderAs;\n this.debouncedViewportChange = debounce(this.onViewPortChange, 300);\n onSubscribe(this.responseId, this.update);\n }\n\n async create({ canvasElementRef, canvasConfig, canvasSetting, initialData }: ICreateOptions) {\n if (!canvasElementRef.current) {\n throw new Error('PolyCanvas: Div Element Not found for canvas');\n }\n this.polycanvas = await window.Polypad.create(canvasElementRef.current, {\n initial: {\n options: canvasConfig,\n },\n ...canvasSetting,\n imageUpload:\n this.renderAs === 'whiteboard' && this.userType === 'TEACHER'\n ? this.uploadFileToCanvas\n : undefined,\n });\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.toggleSidebar(false);\n\n removeTileButton(canvasElementRef);\n this.polycanvas.on('viewport', this.debouncedViewportChange);\n }\n\n removeMask(canvasElementRef);\n this.polycanvas.on('change', this.onChange);\n if (initialData) {\n this.update(initialData);\n }\n }\n\n private publishToChannel = (\n payload: TCueCanvasChangeDataObject,\n gridName?: TCueCanvasGridName,\n dimension?: IViewport,\n ) => {\n if (!this.publish) return;\n\n this.publish({\n eventName: 'cue_canvas_changed',\n eventPayload: {\n data: payload,\n height: this.height,\n userId: this.userId,\n responseId: this.responseId,\n gridName,\n dimension,\n },\n });\n };\n\n private onChange = (e: unknown) => {\n const data = e as TCueCanvasChangeData;\n const payload = Object.fromEntries(data.entries());\n\n if (checkTextOrEquationTool(payload)) {\n this.onUpdateActiveTool('move');\n }\n\n this.publishToChannel(payload);\n };\n\n private undo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.undo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n const undoData = getReverseMap(data);\n\n this.onChange(undoData);\n };\n\n private redo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.redo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n this.onChange(data);\n };\n\n private clearCanvas = () => {\n if (this.polycanvas) {\n this.polycanvas.clear();\n }\n };\n\n private zoomIn = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 1.1);\n };\n\n private zoomOut = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 0.9);\n };\n\n private downloadCanvasAsImage = async () => {\n if (!this.polycanvas) return;\n\n const image = await this.polycanvas.image(3000, 3000, 'png');\n\n if (!image) return;\n\n const downloadLink = document.createElement('a');\n\n downloadLink.href = image;\n downloadLink.download = `canvas-drawing-${Date.now()}.png`;\n downloadLink.click();\n };\n\n private uploadFileToCanvas = async (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n this.uploadImageToS3\n ? resolve(this.uploadImageToS3(file))\n : reject(new Error('Upload function not provided'));\n });\n };\n\n private onViewPortChange = (e: IViewport): void => {\n if (!this.publish) return;\n\n const data = e as IViewport;\n\n this.publishToChannel({}, undefined, data);\n };\n\n private openFileUpload = (): void => {\n if (!this.fileInput) {\n this.fileInput = document.createElement('input');\n this.fileInput.type = 'file';\n this.fileInput.accept = 'image/*';\n this.fileInput.style.display = 'none';\n this.fileInput.onchange = this.addImageToCanvas;\n document.body.appendChild(this.fileInput);\n }\n\n this.fileInput.click();\n };\n\n private addImageToCanvas = async (event: Event): Promise<void> => {\n const target = event.target as HTMLInputElement;\n const file = target.files?.[0];\n\n if (!file || !this.polycanvas || !this.uploadImageToS3) return;\n\n const imageBase64 = await this.uploadImageToS3(file);\n const viewPort = this.polycanvas.getViewport();\n const imgJson = {\n name: 'image',\n href: imageBase64,\n x: viewPort.x + 88,\n y: viewPort.y + 88,\n };\n\n const key = this.polycanvas.add({\n ...imgJson,\n });\n\n this.publishToChannel({\n [key]: [undefined, { ...imgJson, status: 'locked' }],\n });\n\n target.value = '';\n };\n\n private updateCanvasConfig = (\n height: number,\n dimension: IViewport | undefined,\n gridName: TCueCanvasGridName | undefined,\n ) => {\n if (!this.polycanvas) return;\n\n if (height > this.height) {\n this.updateHeight(height);\n }\n\n if (dimension) {\n this.polycanvas.setViewport(dimension.x, dimension.y, dimension.zoom);\n }\n\n if (gridName) {\n this.polycanvas.setOptions({\n grid: gridName,\n });\n }\n };\n\n private updateCanvas = ({ data, userId }: IActionData) => {\n const canEditStroke = this.userType === 'TEACHER' || userId === this.userId;\n\n Object.entries(data).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\n this.polycanvas?.add({ ...value[1], cannotEdit: !canEditStroke }, key);\n } else if (value[0] && !value[1]) {\n this.polycanvas?.delete(key);\n } else if (value[0] && value[1]) {\n this.polycanvas?.update(key, { ...value[1] });\n }\n });\n };\n\n toggleTiles = (val: boolean) => {\n this.polycanvas?.toggleSidebar(val);\n };\n\n resetViewPort = () => {\n if (this.polycanvas) {\n this.polycanvas.resetViewport();\n }\n };\n\n changeGrid = (gridName: TCueCanvasGridName) => {\n if (!this.polycanvas) return;\n\n this.polycanvas.setOptions({\n grid: gridName,\n });\n\n this.publishToChannel({}, gridName);\n };\n\n lockSelectedTiles = () => {\n const { tiles: allTiles } = this.polycanvas?.serialize() || {};\n const selectedItems = this.polycanvas?.getSelection() || [];\n\n if (selectedItems.length > 0 && allTiles) {\n const lockedTiles: TCueCanvasChangeDataObject = {};\n\n selectedItems.forEach(key => {\n if (!allTiles[key]?.name) return;\n\n const updatedJson = { ...allTiles[key], status: 'locked' as const };\n\n this.polycanvas?.update(key, updatedJson);\n if (allTiles[key]?.name) lockedTiles[key] = [allTiles[key], updatedJson];\n });\n\n this.publishToChannel(lockedTiles);\n }\n };\n\n unlockAllTiles = () => {\n if (!this.polycanvas) return;\n\n const { tiles: allTiles } = this.polycanvas.serialize();\n const unlockedTiles: TCueCanvasChangeDataObject = {};\n\n if (allTiles && Object.entries(allTiles).length > 0) {\n Object.entries(allTiles).forEach(([key, item]) => {\n if (item.status !== 'locked') return;\n\n const updatedJson = { ...item, status: undefined };\n\n this.polycanvas?.update(key, updatedJson);\n unlockedTiles[key] = [item, updatedJson];\n });\n\n this.publishToChannel(unlockedTiles);\n }\n };\n\n setTool = (tool: TCueCanvasTool) => {\n if (this.polycanvas) {\n const [currTool, currSubTool] = getToolAndSubtool(tool);\n\n switch (currTool) {\n case 'clearAll':\n this.clearCanvas();\n break;\n case 'home':\n this.resetViewPort();\n break;\n case 'undo':\n this.undo();\n break;\n case 'redo':\n this.redo();\n break;\n case 'lock':\n this.lockSelectedTiles();\n break;\n case 'unlock':\n this.unlockAllTiles();\n break;\n case 'zoomIn':\n this.zoomIn();\n break;\n case 'zoomOut':\n this.zoomOut();\n break;\n case 'upload':\n this.openFileUpload();\n break;\n case 'download':\n this.downloadCanvasAsImage();\n break;\n case 'grid':\n break;\n default:\n this.polycanvas.setTool(currTool, currSubTool);\n }\n }\n };\n\n /**\n * The `update` method is called in two cases:\n * 1. When receiving initial data to update the canvas content.\n * 2. When receiving strokes from other peers to update the canvas content.\n * Each item can contain multiple actions, which are applied to the canvas.\n *\n * The method checks if the payload is an array or a single object.\n * If it's an array, it iterates over each item and updates the canvas accordingly.\n * If it's a single object, it directly updates the canvas.\n *\n * Additionally, if the payload contains a height greater than the current height of the canvas, the `updateHeight` method is called to update the canvas height.\n */\n update = (payload: IActionData | IActionData[]) => {\n if (Array.isArray(payload)) {\n const heights = payload.map(data => data.height).filter(Boolean);\n const maxHeight = Math.max(...heights);\n const lastDimension = payload.map(data => data.dimension).filter(Boolean)[payload.length - 1];\n const lastGrid = payload.map(data => data.gridName).filter(Boolean)[payload.length - 1];\n\n this.updateCanvasConfig(maxHeight, lastDimension, lastGrid);\n payload.forEach(item => this.updateCanvas(item));\n } else {\n this.updateCanvasConfig(payload.height, payload.dimension, payload?.gridName);\n this.updateCanvas(payload);\n }\n };\n\n setColor = (color: string) => {\n if (this.polycanvas) {\n this.polycanvas.setColor(color);\n }\n };\n\n updateHeight = (height: number) => {\n this.height = height;\n this.onUpdateHeight(height);\n };\n\n destroy = () => {\n if (this.polycanvas) {\n this.polycanvas.off('change', this.onChange);\n this.polycanvas.destroy();\n this.debouncedViewportChange.cancel();\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.off('viewport', this.debouncedViewportChange);\n }\n this.polycanvas = undefined;\n\n if (this.fileInput && this.fileInput.parentNode) {\n this.fileInput.parentNode.removeChild(this.fileInput);\n this.fileInput = null;\n }\n }\n };\n}\n"],"names":["CueCanvasCore","onPublish","onSubscribe","onUpdateActiveTool","onUpdateHeight","uploadImageToS3","height","userId","responseId","userType","renderAs","__publicField","payload","gridName","dimension","e","checkTextOrEquationTool","data","undoData","getReverseMap","viewPort","image","downloadLink","file","resolve","reject","event","target","_a","imageBase64","imgJson","key","canEditStroke","value","_b","_c","val","allTiles","selectedItems","lockedTiles","updatedJson","unlockedTiles","item","tool","currTool","currSubTool","getToolAndSubtool","heights","maxHeight","lastDimension","lastGrid","color","debounce","canvasElementRef","canvasConfig","canvasSetting","initialData","removeTileButton","removeMask"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"cue-canvas-core.js","sources":["../../../src/features/cue-canvas/cue-canvas-core.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n IActionData,\n IViewport,\n TCueCanvasChangeData,\n TCueCanvasGridName,\n TCueCanvasTool,\n TPublish,\n TRenderAs,\n TSubscribe,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { ICreateOptions } from './types/cue-canvas';\nimport type { IPolypad, IPolyPadInstance } from './types/polypad';\n\nimport debounce from 'lodash.debounce';\n\nimport {\n checkTextOrEquationTool,\n getReverseMap,\n getToolAndSubtool,\n removeMask,\n removeTileButton,\n} from './cue-canvas-helpers';\n\ndeclare global {\n interface Window {\n Polypad: IPolypad;\n }\n}\n\n/**\n * The CueCanvasCore class manages the canvas state and tool synchronization.\n * When text or equations are added, Polypad automatically switches to 'move' tool.\n * onUpdateActiveTool ensures the UI reflects this automatic tool change.\n */\n\nexport class CueCanvasCore {\n private polycanvas: IPolyPadInstance | undefined;\n private publish?: TPublish;\n private height: number;\n private onUpdateActiveTool: (tool: TCueCanvasTool) => void;\n private onUpdateHeight: (height: number) => void;\n private userId: string;\n private responseId: string;\n private userType: TUserTypes;\n private renderAs: TRenderAs;\n private fileInput: HTMLInputElement | null = null;\n private debouncedViewportChange: ReturnType<typeof debounce>;\n private uploadImageToS3?: (file: File) => string;\n\n constructor(\n onPublish: TPublish,\n onSubscribe: TSubscribe,\n onUpdateActiveTool: (tool: TCueCanvasTool) => void,\n onUpdateHeight: (height: number) => void,\n uploadImageToS3: (file: File) => string,\n height: number,\n userId: string,\n responseId: string,\n userType: TUserTypes,\n renderAs: TRenderAs,\n ) {\n this.onUpdateHeight = onUpdateHeight;\n this.onUpdateActiveTool = onUpdateActiveTool;\n this.height = height;\n this.uploadImageToS3 = uploadImageToS3;\n this.userId = userId;\n this.responseId = responseId;\n this.publish = onPublish;\n this.userType = userType;\n this.renderAs = renderAs;\n this.debouncedViewportChange = debounce(this.onViewPortChange, 300);\n onSubscribe(this.responseId, this.update);\n }\n\n async create({ canvasElementRef, canvasConfig, canvasSetting, initialData }: ICreateOptions) {\n if (!canvasElementRef.current) {\n throw new Error('PolyCanvas: Div Element Not found for canvas');\n }\n this.polycanvas = await window.Polypad.create(canvasElementRef.current, {\n initial: {\n options: canvasConfig,\n },\n ...canvasSetting,\n imageUpload:\n this.renderAs === 'whiteboard' && this.userType === 'TEACHER'\n ? this.uploadFileToCanvas\n : undefined,\n });\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.toggleSidebar(false);\n\n removeTileButton(canvasElementRef);\n this.polycanvas.on('viewport', this.debouncedViewportChange);\n }\n\n removeMask(canvasElementRef);\n this.polycanvas.on('change', this.onChange);\n if (initialData) {\n this.update(initialData);\n }\n }\n\n private publishToChannel = (\n payload: TCueCanvasChangeDataObject,\n gridName?: TCueCanvasGridName,\n dimension?: IViewport,\n ) => {\n if (!this.publish) return;\n\n this.publish({\n eventName: 'cue_canvas_changed',\n eventPayload: {\n data: payload,\n height: this.height,\n userId: this.userId,\n responseId: this.responseId,\n gridName,\n dimension,\n },\n });\n };\n\n private onChange = (e: unknown) => {\n const data = e as TCueCanvasChangeData;\n const payload = Object.fromEntries(data.entries());\n\n if (checkTextOrEquationTool(payload)) {\n this.onUpdateActiveTool('move');\n }\n\n this.publishToChannel(payload);\n };\n\n private undo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.undo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n const undoData = getReverseMap(data);\n\n this.onChange(undoData);\n };\n\n private redo = () => {\n if (!this.polycanvas) {\n return;\n }\n\n const data = this.polycanvas.redo() as TCueCanvasChangeData;\n\n if (!data) {\n return;\n }\n\n this.onChange(data);\n };\n\n private clearCanvas = () => {\n if (this.polycanvas) {\n this.polycanvas.clear();\n }\n };\n\n private zoomIn = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 1.1);\n };\n\n private zoomOut = () => {\n if (!this.polycanvas) return;\n\n const viewPort = this.polycanvas.getViewport();\n\n this.polycanvas.setViewport(viewPort.x, viewPort.y, viewPort.zoom * 0.9);\n };\n\n private downloadCanvasAsImage = async () => {\n if (!this.polycanvas) return;\n\n const image = await this.polycanvas.image(3000, 3000, 'png');\n\n if (!image) return;\n\n const downloadLink = document.createElement('a');\n\n downloadLink.href = image;\n downloadLink.download = `canvas-drawing-${Date.now()}.png`;\n downloadLink.click();\n };\n\n private uploadFileToCanvas = async (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n this.uploadImageToS3\n ? resolve(this.uploadImageToS3(file))\n : reject(new Error('Upload function not provided'));\n });\n };\n\n private onViewPortChange = (e: IViewport): void => {\n if (!this.publish) return;\n\n const data = e as IViewport;\n\n this.publishToChannel({}, undefined, data);\n };\n\n private openFileUpload = (): void => {\n if (!this.fileInput) {\n this.fileInput = document.createElement('input');\n this.fileInput.type = 'file';\n this.fileInput.accept = 'image/*';\n this.fileInput.style.display = 'none';\n this.fileInput.onchange = this.addImageToCanvas;\n document.body.appendChild(this.fileInput);\n }\n\n this.fileInput.click();\n };\n\n private addImageToCanvas = async (event: Event): Promise<void> => {\n const target = event.target as HTMLInputElement;\n const file = target.files?.[0];\n\n if (!file || !this.polycanvas || !this.uploadImageToS3) return;\n\n const imageBase64 = await this.uploadImageToS3(file);\n const viewPort = this.polycanvas.getViewport();\n const imgJson = {\n name: 'image',\n href: imageBase64,\n x: viewPort.x + 88,\n y: viewPort.y + 88,\n };\n\n const key = this.polycanvas.add({\n ...imgJson,\n });\n\n this.publishToChannel({\n [key]: [undefined, { ...imgJson, status: 'locked' }],\n });\n\n target.value = '';\n };\n\n private updateCanvasConfig = (\n height: number,\n dimension: IViewport | undefined,\n gridName: TCueCanvasGridName | undefined,\n ) => {\n if (!this.polycanvas) return;\n\n if (height > this.height) {\n this.updateHeight(height);\n }\n\n if (dimension) {\n this.polycanvas.setViewport(dimension.x, dimension.y, dimension.zoom);\n }\n\n if (gridName) {\n this.polycanvas.setOptions({\n grid: gridName,\n });\n }\n };\n\n private updateCanvas = ({ data, userId }: IActionData) => {\n const canEditStroke = this.userType === 'TEACHER' || userId === this.userId;\n\n Object.entries(data).forEach(([key, value]) => {\n if (!value[0] && value[1]) {\n this.polycanvas?.add({ ...value[1], cannotEdit: !canEditStroke }, key);\n } else if (value[0] && !value[1]) {\n this.polycanvas?.delete(key);\n } else if (value[0] && value[1]) {\n this.polycanvas?.update(key, { ...value[1] });\n }\n });\n };\n\n toggleTiles = (val: boolean) => {\n this.polycanvas?.toggleSidebar(val);\n };\n\n resetViewPort = () => {\n if (this.polycanvas) {\n this.polycanvas.resetViewport();\n }\n };\n\n changeGrid = (gridName: TCueCanvasGridName) => {\n if (!this.polycanvas) return;\n\n this.polycanvas.setOptions({\n grid: gridName,\n });\n\n this.publishToChannel({}, gridName);\n };\n\n lockSelectedTiles = () => {\n const { tiles: allTiles } = this.polycanvas?.serialize() || {};\n const selectedItems = this.polycanvas?.getSelection() || [];\n\n if (selectedItems.length > 0 && allTiles) {\n const lockedTiles: TCueCanvasChangeDataObject = {};\n\n selectedItems.forEach(key => {\n if (!allTiles[key]?.name) return;\n\n const updatedJson = { ...allTiles[key], status: 'locked' as const };\n\n this.polycanvas?.update(key, updatedJson);\n if (allTiles[key]?.name) lockedTiles[key] = [allTiles[key], updatedJson];\n });\n\n this.publishToChannel(lockedTiles);\n }\n };\n\n unlockAllTiles = () => {\n if (!this.polycanvas) return;\n\n const { tiles: allTiles } = this.polycanvas.serialize();\n const unlockedTiles: TCueCanvasChangeDataObject = {};\n\n if (allTiles && Object.entries(allTiles).length > 0) {\n Object.entries(allTiles).forEach(([key, item]) => {\n if (item.status !== 'locked') return;\n\n const updatedJson = { ...item, status: undefined };\n\n this.polycanvas?.update(key, updatedJson);\n unlockedTiles[key] = [item, updatedJson];\n });\n\n this.publishToChannel(unlockedTiles);\n }\n };\n\n setTool = (tool: TCueCanvasTool) => {\n if (this.polycanvas) {\n const [currTool, currSubTool] = getToolAndSubtool(tool);\n\n switch (currTool) {\n case 'clearAll':\n this.clearCanvas();\n break;\n case 'home':\n this.resetViewPort();\n break;\n case 'undo':\n this.undo();\n break;\n case 'redo':\n this.redo();\n break;\n case 'lock':\n this.lockSelectedTiles();\n break;\n case 'unlock':\n this.unlockAllTiles();\n break;\n case 'zoomIn':\n this.zoomIn();\n break;\n case 'zoomOut':\n this.zoomOut();\n break;\n case 'upload':\n this.openFileUpload();\n break;\n case 'download':\n this.downloadCanvasAsImage();\n break;\n case 'grid':\n break;\n default:\n this.polycanvas.setTool(currTool, currSubTool);\n }\n }\n };\n\n /**\n * The `update` method is called in two cases:\n * 1. When receiving initial data to update the canvas content.\n * 2. When receiving strokes from other peers to update the canvas content.\n * Each item can contain multiple actions, which are applied to the canvas.\n *\n * The method checks if the payload is an array or a single object.\n * If it's an array, it iterates over each item and updates the canvas accordingly.\n * If it's a single object, it directly updates the canvas.\n *\n * Additionally, if the payload contains a height greater than the current height of the canvas, the `updateHeight` method is called to update the canvas height.\n */\n update = (payload: IActionData | IActionData[]) => {\n if (Array.isArray(payload)) {\n const heights = payload.map(data => data.height).filter(Boolean);\n const maxHeight = Math.max(...heights);\n const lastDimension = payload.map(data => data.dimension).filter(Boolean)[payload.length - 1];\n const lastGrid = payload.map(data => data.gridName).filter(Boolean)[payload.length - 1];\n\n this.updateCanvasConfig(maxHeight, lastDimension, lastGrid);\n payload.forEach(item => this.updateCanvas(item));\n } else {\n this.updateCanvasConfig(payload.height, payload.dimension, payload?.gridName);\n this.updateCanvas(payload);\n }\n };\n\n setColor = (color: string) => {\n if (this.polycanvas) {\n this.polycanvas.setColor(color);\n }\n };\n\n updateHeight = (height: number) => {\n this.height = height;\n this.onUpdateHeight(height);\n };\n\n destroy = () => {\n if (this.polycanvas) {\n this.polycanvas.off('change', this.onChange);\n this.polycanvas.destroy();\n this.debouncedViewportChange.cancel();\n\n if (this.renderAs === 'whiteboard' && this.userType === 'TEACHER') {\n this.polycanvas.off('viewport', this.debouncedViewportChange);\n }\n this.polycanvas = undefined;\n\n if (this.fileInput && this.fileInput.parentNode) {\n this.fileInput.parentNode.removeChild(this.fileInput);\n this.fileInput = null;\n }\n }\n };\n}\n"],"names":["CueCanvasCore","onPublish","onSubscribe","onUpdateActiveTool","onUpdateHeight","uploadImageToS3","height","userId","responseId","userType","renderAs","__publicField","payload","gridName","dimension","e","checkTextOrEquationTool","data","undoData","getReverseMap","viewPort","image","downloadLink","file","resolve","reject","event","target","_a","imageBase64","imgJson","key","canEditStroke","value","_b","_c","val","allTiles","selectedItems","lockedTiles","updatedJson","unlockedTiles","item","tool","currTool","currSubTool","getToolAndSubtool","heights","maxHeight","lastDimension","lastGrid","color","debounce","canvasElementRef","canvasConfig","canvasSetting","initialData","removeTileButton","removeMask"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cue-canvas-helpers.js","sources":["../../../src/features/cue-canvas/cue-canvas-helpers.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n TCueCanvasColors,\n TCueCanvasChangeData,\n TCueCanvasTool,\n TCueCanvasToolOption,\n TDrawingData,\n TRenderAs,\n TCueCanvasGridName,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { IPolypadCreateOptions, IPolypadOptions } from './types/polypad';\n\nexport const GRID_NAMES: TCueCanvasGridName[] = [\n 'none',\n 'square2-grid',\n 'square-checked',\n 'square-dots',\n 'tri-dots',\n 'tri2-dots',\n 'square-grid',\n 'tri-grid',\n 'tri2-grid',\n];\n\nexport const STATELESS_TOOLS = new Set<TCueCanvasTool>([\n 'undo',\n 'redo',\n 'clearAll',\n 'home',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'upload',\n 'download',\n]);\n\nexport const removeMask = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n\n if (shadowRoot) {\n const xPolypad = shadowRoot.querySelectorAll('x-polypad');\n\n if (xPolypad[0]) {\n const svgCanvas = xPolypad[0].querySelector('svg.canvas');\n const maskPath = svgCanvas?.querySelector('path.mask');\n\n maskPath?.setAttribute('stroke', 'transparent');\n maskPath?.setAttribute('fill', 'transparent');\n maskPath?.removeAttribute('style');\n }\n }\n\n return undefined;\n};\n\nexport const removeTileButton = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n const sidebar = shadowRoot?.querySelector('x-pp-sidebar') as HTMLElement;\n const tabsHeader = sidebar?.getElementsByClassName('tabs-header');\n const tabsBody = sidebar?.getElementsByClassName('tabs-body');\n\n sidebar?.setAttribute('style', 'display: none;');\n sidebar?.setAttribute('style', 'height: 30px;');\n\n if (tabsHeader && tabsHeader.length > 0) {\n const firstTabHeader = tabsHeader[0] as HTMLElement;\n\n firstTabHeader.style.display = 'none';\n }\n\n if (tabsBody && tabsBody.length > 0) {\n const firstTabBody = tabsBody[0] as HTMLElement;\n\n firstTabBody.style.top = '48px';\n }\n sidebar?.setAttribute('style', 'display: block;');\n};\n\nexport const getCanvasConfig = (\n width: number,\n height: number,\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadOptions => {\n return renderAs === 'canvas'\n ? {\n canvas: 'notebook',\n canvasX: width,\n canvasY: height,\n noPinchPan: true,\n grid: 'none',\n background: 'transparent',\n noSnapping: true,\n }\n : {\n canvas: 'infinite',\n canvasX: width,\n canvasY: height,\n grid: 'none',\n noPinchPan: userType === 'STUDENT',\n noDeleting: userType === 'STUDENT',\n noCopyPaste: userType === 'STUDENT',\n noMusic: true,\n noAudio: true,\n };\n};\n\nexport const getCanvasSettings = (\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadCreateOptions => {\n return renderAs === 'canvas'\n ? {\n sidebarTiles: false,\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n canvasMargin: 0,\n }\n : {\n sidebarTiles: userType === 'TEACHER',\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n };\n};\n\nexport const getReverseAction = (action: TDrawingData[]) => [action[1], action[0]];\n\nexport const getReverseMap = (data: TCueCanvasChangeData) => {\n const newData = new Map<string, TDrawingData[]>();\n\n data.forEach((value, key) => {\n newData.set(key, getReverseAction(value));\n });\n\n return newData;\n};\n\nexport const getToolAndSubtool = (\n tool: TCueCanvasTool,\n): [\n Exclude<TCueCanvasTool, 'marker' | 'highlighter' | 'ruler' | 'equation'>,\n TCueCanvasToolOption | undefined,\n] => {\n switch (tool) {\n case 'pen':\n return ['pen', 'pen'];\n case 'marker':\n return ['pen', 'marker'];\n case 'highlighter':\n return ['pen', 'highlighter'];\n case 'ruler':\n return ['pen', 'ruler'];\n case 'equation':\n return ['text', 'equation'];\n default:\n return [tool, undefined];\n }\n};\n\nconst TEACHER_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'pan',\n 'clearAll',\n 'text',\n 'equation',\n 'grid',\n 'home',\n 'undo',\n 'redo',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'upload',\n 'download',\n];\n\nconst STUDENT_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'move',\n 'text',\n 'undo',\n 'redo',\n 'download',\n];\n\nconst TEACHER_DEFAULT_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'undo',\n 'redo',\n];\n\nconst STUDENT_DEFAULT_TOOLS: TCueCanvasTool[] = ['pen', 'ruler', 'eraser', 'move', 'undo', 'redo'];\n\nexport const getUserTools = (userType: TUserTypes, renderAs: TRenderAs): TCueCanvasTool[] => {\n if (renderAs === 'whiteboard') {\n return userType === 'TEACHER' ? TEACHER_WHITEBOARD_TOOLS : STUDENT_WHITEBOARD_TOOLS;\n }\n\n return userType === 'TEACHER' ? TEACHER_DEFAULT_TOOLS : STUDENT_DEFAULT_TOOLS;\n};\n\nexport const getColorsForUser = (userType: TUserTypes) => {\n return userType === 'TEACHER'\n ? (['CANVAS_RED', 'CANVAS_YELLOW', 'CANVAS_GREEN'] as TCueCanvasColors[])\n : (['CANVAS_BLUE', 'CANVAS_PURPLE', 'CANVAS_PINK'] as TCueCanvasColors[]);\n};\n\nexport const getIsWritingTool = (penTool: string) => {\n return ['pen', 'ruler', 'marker', 'highlighter'].includes(penTool);\n};\n\nexport const checkTextOrEquationTool = (payload: TCueCanvasChangeDataObject) => {\n return Object.values(payload).some(value => {\n if (\n !value[0] &&\n value[1] &&\n 'name' in value[1] &&\n (value[1].name === 'text' || value[1].name === 'equation')\n ) {\n return true;\n }\n\n return false;\n });\n};\n"],"names":["GRID_NAMES","STATELESS_TOOLS","removeMask","canvasElementRef","_a","shadowRoot","xPolypad","svgCanvas","maskPath","removeTileButton","sidebar","tabsHeader","tabsBody","firstTabHeader","firstTabBody","getCanvasConfig","width","height","renderAs","userType","getCanvasSettings","getReverseAction","action","getReverseMap","data","newData","value","key","getToolAndSubtool","tool","TEACHER_WHITEBOARD_TOOLS","STUDENT_WHITEBOARD_TOOLS","TEACHER_DEFAULT_TOOLS","STUDENT_DEFAULT_TOOLS","getUserTools","getColorsForUser","getIsWritingTool","penTool","checkTextOrEquationTool","payload"],"mappings":"AAaO,MAAMA,IAAmC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,wBAAsB,IAAoB;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,GAEYC,IAAa,CAACC,MAAsD;AAzB1E,MAAAC;AA0BC,QAAAC,KAAaD,IAAAD,EAAiB,YAAjB,gBAAAC,EAA0B;AAE7C,MAAIC,GAAY;AACR,UAAAC,IAAWD,EAAW,iBAAiB,WAAW;AAEpD,QAAAC,EAAS,CAAC,GAAG;AACf,YAAMC,IAAYD,EAAS,CAAC,EAAE,cAAc,YAAY,GAClDE,IAAWD,KAAA,gBAAAA,EAAW,cAAc;AAEhC,MAAAC,KAAA,QAAAA,EAAA,aAAa,UAAU,gBACvBA,KAAA,QAAAA,EAAA,aAAa,QAAQ,gBAC/BA,KAAA,QAAAA,EAAU,gBAAgB;AAAA,
|
1
|
+
{"version":3,"file":"cue-canvas-helpers.js","sources":["../../../src/features/cue-canvas/cue-canvas-helpers.ts"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type {\n TCueCanvasColors,\n TCueCanvasChangeData,\n TCueCanvasTool,\n TCueCanvasToolOption,\n TDrawingData,\n TRenderAs,\n TCueCanvasGridName,\n TCueCanvasChangeDataObject,\n} from './types/cue-canvas';\nimport type { IPolypadCreateOptions, IPolypadOptions } from './types/polypad';\n\nexport const GRID_NAMES: TCueCanvasGridName[] = [\n 'none',\n 'square2-grid',\n 'square-checked',\n 'square-dots',\n 'tri-dots',\n 'tri2-dots',\n 'square-grid',\n 'tri-grid',\n 'tri2-grid',\n];\n\nexport const STATELESS_TOOLS = new Set<TCueCanvasTool>([\n 'undo',\n 'redo',\n 'clearAll',\n 'home',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'upload',\n 'download',\n]);\n\nexport const removeMask = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n\n if (shadowRoot) {\n const xPolypad = shadowRoot.querySelectorAll('x-polypad');\n\n if (xPolypad[0]) {\n const svgCanvas = xPolypad[0].querySelector('svg.canvas');\n const maskPath = svgCanvas?.querySelector('path.mask');\n\n maskPath?.setAttribute('stroke', 'transparent');\n maskPath?.setAttribute('fill', 'transparent');\n maskPath?.removeAttribute('style');\n }\n }\n\n return undefined;\n};\n\nexport const removeTileButton = (canvasElementRef: React.RefObject<HTMLDivElement>) => {\n const shadowRoot = canvasElementRef.current?.shadowRoot;\n const sidebar = shadowRoot?.querySelector('x-pp-sidebar') as HTMLElement;\n const tabsHeader = sidebar?.getElementsByClassName('tabs-header');\n const tabsBody = sidebar?.getElementsByClassName('tabs-body');\n\n sidebar?.setAttribute('style', 'display: none;');\n sidebar?.setAttribute('style', 'height: 30px;');\n\n if (tabsHeader && tabsHeader.length > 0) {\n const firstTabHeader = tabsHeader[0] as HTMLElement;\n\n firstTabHeader.style.display = 'none';\n }\n\n if (tabsBody && tabsBody.length > 0) {\n const firstTabBody = tabsBody[0] as HTMLElement;\n\n firstTabBody.style.top = '48px';\n }\n sidebar?.setAttribute('style', 'display: block;');\n};\n\nexport const getCanvasConfig = (\n width: number,\n height: number,\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadOptions => {\n return renderAs === 'canvas'\n ? {\n canvas: 'notebook',\n canvasX: width,\n canvasY: height,\n noPinchPan: true,\n grid: 'none',\n background: 'transparent',\n noSnapping: true,\n }\n : {\n canvas: 'infinite',\n canvasX: width,\n canvasY: height,\n grid: 'none',\n noPinchPan: userType === 'STUDENT',\n noDeleting: userType === 'STUDENT',\n noCopyPaste: userType === 'STUDENT',\n noMusic: true,\n noAudio: true,\n };\n};\n\nexport const getCanvasSettings = (\n renderAs: TRenderAs,\n userType: TUserTypes,\n): IPolypadCreateOptions => {\n return renderAs === 'canvas'\n ? {\n sidebarTiles: false,\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n canvasMargin: 0,\n }\n : {\n sidebarTiles: userType === 'TEACHER',\n sidebarSettings: false,\n settings: false,\n toolbar: false,\n };\n};\n\nexport const getReverseAction = (action: TDrawingData[]) => [action[1], action[0]];\n\nexport const getReverseMap = (data: TCueCanvasChangeData) => {\n const newData = new Map<string, TDrawingData[]>();\n\n data.forEach((value, key) => {\n newData.set(key, getReverseAction(value));\n });\n\n return newData;\n};\n\nexport const getToolAndSubtool = (\n tool: TCueCanvasTool,\n): [\n Exclude<TCueCanvasTool, 'marker' | 'highlighter' | 'ruler' | 'equation'>,\n TCueCanvasToolOption | undefined,\n] => {\n switch (tool) {\n case 'pen':\n return ['pen', 'pen'];\n case 'marker':\n return ['pen', 'marker'];\n case 'highlighter':\n return ['pen', 'highlighter'];\n case 'ruler':\n return ['pen', 'ruler'];\n case 'equation':\n return ['text', 'equation'];\n default:\n return [tool, undefined];\n }\n};\n\nconst TEACHER_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'pan',\n 'clearAll',\n 'text',\n 'equation',\n 'grid',\n 'home',\n 'undo',\n 'redo',\n 'lock',\n 'unlock',\n 'zoomIn',\n 'zoomOut',\n 'upload',\n 'download',\n];\n\nconst STUDENT_WHITEBOARD_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'move',\n 'text',\n 'undo',\n 'redo',\n 'download',\n];\n\nconst TEACHER_DEFAULT_TOOLS: TCueCanvasTool[] = [\n 'pen',\n 'ruler',\n 'marker',\n 'highlighter',\n 'eraser',\n 'move',\n 'undo',\n 'redo',\n];\n\nconst STUDENT_DEFAULT_TOOLS: TCueCanvasTool[] = ['pen', 'ruler', 'eraser', 'move', 'undo', 'redo'];\n\nexport const getUserTools = (userType: TUserTypes, renderAs: TRenderAs): TCueCanvasTool[] => {\n if (renderAs === 'whiteboard') {\n return userType === 'TEACHER' ? TEACHER_WHITEBOARD_TOOLS : STUDENT_WHITEBOARD_TOOLS;\n }\n\n return userType === 'TEACHER' ? TEACHER_DEFAULT_TOOLS : STUDENT_DEFAULT_TOOLS;\n};\n\nexport const getColorsForUser = (userType: TUserTypes) => {\n return userType === 'TEACHER'\n ? (['CANVAS_RED', 'CANVAS_YELLOW', 'CANVAS_GREEN'] as TCueCanvasColors[])\n : (['CANVAS_BLUE', 'CANVAS_PURPLE', 'CANVAS_PINK'] as TCueCanvasColors[]);\n};\n\nexport const getIsWritingTool = (penTool: string) => {\n return ['pen', 'ruler', 'marker', 'highlighter'].includes(penTool);\n};\n\nexport const checkTextOrEquationTool = (payload: TCueCanvasChangeDataObject) => {\n return Object.values(payload).some(value => {\n if (\n !value[0] &&\n value[1] &&\n 'name' in value[1] &&\n (value[1].name === 'text' || value[1].name === 'equation')\n ) {\n return true;\n }\n\n return false;\n });\n};\n"],"names":["GRID_NAMES","STATELESS_TOOLS","removeMask","canvasElementRef","_a","shadowRoot","xPolypad","svgCanvas","maskPath","removeTileButton","sidebar","tabsHeader","tabsBody","firstTabHeader","firstTabBody","getCanvasConfig","width","height","renderAs","userType","getCanvasSettings","getReverseAction","action","getReverseMap","data","newData","value","key","getToolAndSubtool","tool","TEACHER_WHITEBOARD_TOOLS","STUDENT_WHITEBOARD_TOOLS","TEACHER_DEFAULT_TOOLS","STUDENT_DEFAULT_TOOLS","getUserTools","getColorsForUser","getIsWritingTool","penTool","checkTextOrEquationTool","payload"],"mappings":"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"}
|
@@ -1,26 +1,26 @@
|
|
1
1
|
import { jsx as d } from "react/jsx-runtime";
|
2
|
-
import { memo as f, useMemo as
|
2
|
+
import { memo as f, useMemo as i, useState as o } from "react";
|
3
3
|
import p from "./cue-canvas-context.js";
|
4
4
|
import { getColorsForUser as x } from "./cue-canvas-helpers.js";
|
5
|
-
const
|
6
|
-
({ children:
|
7
|
-
const
|
5
|
+
const I = f(
|
6
|
+
({ children: n, userType: t }) => {
|
7
|
+
const a = i(() => x(t), [t]), [e, v] = o(), [r, m] = o("pen"), [s, l] = o(), [c, u] = o(a[0]), C = i(
|
8
8
|
() => ({
|
9
9
|
activeInstance: e,
|
10
10
|
setActiveInstance: v,
|
11
11
|
activeTool: r,
|
12
12
|
setActiveTool: m,
|
13
13
|
activeColor: c,
|
14
|
-
setActiveColor:
|
14
|
+
setActiveColor: u,
|
15
15
|
activeSidebar: s,
|
16
16
|
setActiveSidebar: l
|
17
17
|
}),
|
18
18
|
[c, e, s, r]
|
19
19
|
);
|
20
|
-
return /* @__PURE__ */ d(p.Provider, { value:
|
20
|
+
return /* @__PURE__ */ d(p.Provider, { value: C, children: n });
|
21
21
|
}
|
22
|
-
)
|
22
|
+
);
|
23
23
|
export {
|
24
|
-
|
24
|
+
I as default
|
25
25
|
};
|
26
26
|
//# sourceMappingURL=cue-canvas-provider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cue-canvas-provider.js","sources":["../../../src/features/cue-canvas/cue-canvas-provider.tsx"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type { CueCanvasCore } from './cue-canvas-core';\nimport type { TCueCanvasColors, TCueCanvasSidebar, TCueCanvasTool } from './types/cue-canvas';\nimport '../../library/polypad';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport { useState, memo, useMemo } from 'react';\n\nimport CueCanvasContext from './cue-canvas-context';\nimport { getColorsForUser } from './cue-canvas-helpers';\n\nconst CueCanvasProvider: FC<PropsWithChildren<{ userType: TUserTypes }>> = memo(\n ({ children, userType }) => {\n const colors = useMemo(() => getColorsForUser(userType), [userType]);\n\n const [activeInstance, setActiveInstance] = useState<CueCanvasCore>();\n const [activeTool, setActiveTool] = useState<TCueCanvasTool>('pen');\n const [activeSidebar, setActiveSidebar] = useState<TCueCanvasSidebar>();\n const [activeColor, setActiveColor] = useState<TCueCanvasColors>(colors[0] as TCueCanvasColors);\n const contextValue = useMemo(\n () => ({\n activeInstance: activeInstance,\n setActiveInstance: setActiveInstance,\n activeTool: activeTool,\n setActiveTool: setActiveTool,\n activeColor,\n setActiveColor,\n activeSidebar,\n setActiveSidebar,\n }),\n [activeColor, activeInstance, activeSidebar, activeTool],\n );\n\n return <CueCanvasContext.Provider value={contextValue}>{children}</CueCanvasContext.Provider>;\n },\n);\n\nexport default CueCanvasProvider;\n"],"names":["CueCanvasProvider","memo","children","userType","colors","useMemo","getColorsForUser","activeInstance","setActiveInstance","useState","activeTool","setActiveTool","activeSidebar","setActiveSidebar","activeColor","setActiveColor","contextValue","CueCanvasContext"
|
1
|
+
{"version":3,"file":"cue-canvas-provider.js","sources":["../../../src/features/cue-canvas/cue-canvas-provider.tsx"],"sourcesContent":["import type { TUserTypes } from '../ui/types';\nimport type { CueCanvasCore } from './cue-canvas-core';\nimport type { TCueCanvasColors, TCueCanvasSidebar, TCueCanvasTool } from './types/cue-canvas';\nimport '../../library/polypad';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport { useState, memo, useMemo } from 'react';\n\nimport CueCanvasContext from './cue-canvas-context';\nimport { getColorsForUser } from './cue-canvas-helpers';\n\nconst CueCanvasProvider: FC<PropsWithChildren<{ userType: TUserTypes }>> = memo(\n ({ children, userType }) => {\n const colors = useMemo(() => getColorsForUser(userType), [userType]);\n\n const [activeInstance, setActiveInstance] = useState<CueCanvasCore>();\n const [activeTool, setActiveTool] = useState<TCueCanvasTool>('pen');\n const [activeSidebar, setActiveSidebar] = useState<TCueCanvasSidebar>();\n const [activeColor, setActiveColor] = useState<TCueCanvasColors>(colors[0] as TCueCanvasColors);\n const contextValue = useMemo(\n () => ({\n activeInstance: activeInstance,\n setActiveInstance: setActiveInstance,\n activeTool: activeTool,\n setActiveTool: setActiveTool,\n activeColor,\n setActiveColor,\n activeSidebar,\n setActiveSidebar,\n }),\n [activeColor, activeInstance, activeSidebar, activeTool],\n );\n\n return <CueCanvasContext.Provider value={contextValue}>{children}</CueCanvasContext.Provider>;\n },\n);\n\nexport default CueCanvasProvider;\n"],"names":["CueCanvasProvider","memo","children","userType","colors","useMemo","getColorsForUser","activeInstance","setActiveInstance","useState","activeTool","setActiveTool","activeSidebar","setActiveSidebar","activeColor","setActiveColor","contextValue","CueCanvasContext"],"mappings":";;;;AAWA,MAAMA,IAAqEC;AAAA,EACzE,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAe;AACpB,UAAAC,IAASC,EAAQ,MAAMC,EAAiBH,CAAQ,GAAG,CAACA,CAAQ,CAAC,GAE7D,CAACI,GAAgBC,CAAiB,IAAIC,EAAwB,GAC9D,CAACC,GAAYC,CAAa,IAAIF,EAAyB,KAAK,GAC5D,CAACG,GAAeC,CAAgB,IAAIJ,EAA4B,GAChE,CAACK,GAAaC,CAAc,IAAIN,EAA2BL,EAAO,CAAC,CAAqB,GACxFY,IAAeX;AAAA,MACnB,OAAO;AAAA,QACL,gBAAAE;AAAA,QACA,mBAAAC;AAAA,QACA,YAAAE;AAAA,QACA,eAAAC;AAAA,QACA,aAAAG;AAAA,QACA,gBAAAC;AAAA,QACA,eAAAH;AAAA,QACA,kBAAAC;AAAA,MAAA;AAAA,MAEF,CAACC,GAAaP,GAAgBK,GAAeF,CAAU;AAAA,IACzD;AAEA,6BAAQO,EAAiB,UAAjB,EAA0B,OAAOD,GAAe,UAAAd,GAAS;AAAA,EAAA;AAErE;"}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { jsx as R } from "react/jsx-runtime";
|
2
|
-
import { memo as V, useRef as g, useCallback as
|
2
|
+
import { memo as V, useRef as g, useCallback as w, useEffect as n } from "react";
|
3
3
|
import { CueCanvasCore as j } from "./cue-canvas-core.js";
|
4
|
-
import {
|
4
|
+
import { getCanvasSettings as k, getCanvasConfig as z } from "./cue-canvas-helpers.js";
|
5
5
|
import { CueCanvasWrapper as H } from "./cue-cavas-styled.js";
|
6
6
|
import { useCueCanvasActions as M } from "./hooks/use-cue-canvas-actions.js";
|
7
7
|
import T from "./hooks/use-height-extender.js";
|
8
|
-
const
|
8
|
+
const J = V(
|
9
9
|
({
|
10
|
-
responseId:
|
10
|
+
responseId: $,
|
11
11
|
width: u,
|
12
12
|
height: t,
|
13
13
|
canRender: f,
|
@@ -18,28 +18,28 @@ const U = V(
|
|
18
18
|
userId: A,
|
19
19
|
appended: l,
|
20
20
|
canScribble: r,
|
21
|
-
userType:
|
22
|
-
renderAs:
|
21
|
+
userType: m,
|
22
|
+
renderAs: c = "canvas"
|
23
23
|
}) => {
|
24
|
-
const
|
25
|
-
(
|
26
|
-
d(
|
24
|
+
const C = g(null), { setActiveInstance: s, setActiveTool: d } = M(), e = g(null), E = w(
|
25
|
+
(o) => {
|
26
|
+
d(o);
|
27
27
|
},
|
28
28
|
[d]
|
29
|
-
), I =
|
29
|
+
), I = w((o) => (console.log(o, "file to upload"), "https://cuemath-intel.s3.amazonaws.com/media/cuemath-whiteboard/2b0b9468-d6d4-11e8-9bfb-02420a000032:practice/Screenshot 2025-04-16 at 3.18.32 PM.png_b9079e2f-4ae6-439c-8edd-104dbfdc6100"), []);
|
30
30
|
return T({
|
31
|
-
canvasElementRef:
|
31
|
+
canvasElementRef: C,
|
32
32
|
cueCanvasRef: e,
|
33
33
|
canScribble: r
|
34
|
-
}),
|
35
|
-
r && e.current && (e.current.resetViewPort(),
|
36
|
-
}, [r,
|
34
|
+
}), n(() => {
|
35
|
+
r && e.current && (e.current.resetViewPort(), s(e.current));
|
36
|
+
}, [r, s]), n(() => {
|
37
37
|
a && e.current && e.current.update(a);
|
38
|
-
}, [a]),
|
38
|
+
}, [a]), n(() => {
|
39
39
|
t && e.current && e.current.resetViewPort();
|
40
|
-
}, [t, u]),
|
40
|
+
}, [t, u]), n(() => {
|
41
41
|
if (f && l && !e.current) {
|
42
|
-
const
|
42
|
+
const o = z(u, t, c, m), P = k(c, m), v = new j(
|
43
43
|
i,
|
44
44
|
p,
|
45
45
|
E,
|
@@ -47,35 +47,35 @@ const U = V(
|
|
47
47
|
I,
|
48
48
|
t,
|
49
49
|
A,
|
50
|
-
|
51
|
-
|
52
|
-
|
50
|
+
$,
|
51
|
+
m,
|
52
|
+
c
|
53
53
|
);
|
54
54
|
(async () => {
|
55
55
|
await v.create({
|
56
|
-
canvasElementRef:
|
57
|
-
canvasConfig:
|
56
|
+
canvasElementRef: C,
|
57
|
+
canvasConfig: o,
|
58
58
|
canvasSetting: P,
|
59
59
|
initialData: a
|
60
|
-
}), e.current = v, r &&
|
60
|
+
}), e.current = v, r && s(v);
|
61
61
|
})();
|
62
62
|
}
|
63
|
-
}, [i, p,
|
63
|
+
}, [i, p, s, f, l]), n(() => () => {
|
64
64
|
e.current && (e.current.destroy(), e.current = null);
|
65
65
|
}, []), /* @__PURE__ */ R(
|
66
66
|
H,
|
67
67
|
{
|
68
|
-
ref:
|
68
|
+
ref: C,
|
69
69
|
$width: u,
|
70
70
|
$height: t,
|
71
71
|
$canScribble: r,
|
72
72
|
$canRender: f,
|
73
|
-
$renderAs:
|
73
|
+
$renderAs: c
|
74
74
|
}
|
75
75
|
);
|
76
76
|
}
|
77
|
-
)
|
77
|
+
);
|
78
78
|
export {
|
79
|
-
|
79
|
+
J as default
|
80
80
|
};
|
81
81
|
//# sourceMappingURL=cue-canvas.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cue-canvas.js","sources":["../../../src/features/cue-canvas/cue-canvas.tsx"],"sourcesContent":["import type { ICueCanvas, TCueCanvasTool } from './types/cue-canvas';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport { CueCanvasCore } from './cue-canvas-core';\nimport { getCanvasConfig, getCanvasSettings } from './cue-canvas-helpers';\nimport { CueCanvasWrapper } from './cue-cavas-styled';\nimport { useCueCanvasActions } from './hooks/use-cue-canvas-actions';\nimport useHeightExtender from './hooks/use-height-extender';\n\nconst CueCanvas: React.FC<ICueCanvas> = memo(\n ({\n responseId,\n width,\n height,\n canRender,\n onUpdateHeight,\n initialData,\n onPublish,\n onSubscribe,\n userId,\n appended,\n canScribble,\n userType,\n renderAs = 'canvas',\n }) => {\n const canvasElementRef = useRef<HTMLDivElement>(null);\n const { setActiveInstance: setActiveCueCanvas, setActiveTool } = useCueCanvasActions();\n\n const cueCanvasRef = useRef<CueCanvasCore | null>(null);\n\n const onUpdateActiveTool = useCallback(\n (tool: TCueCanvasTool) => {\n setActiveTool(tool);\n },\n [setActiveTool],\n );\n\n const uploadImageToS3 = useCallback((file: File) => {\n // Todo @ayushsinghal1998: Update this once upload api is ready\n\n // eslint-disable-next-line no-console\n console.log(file, 'file to upload');\n\n return 'https://cuemath-intel.s3.amazonaws.com/media/cuemath-whiteboard/2b0b9468-d6d4-11e8-9bfb-02420a000032:practice/Screenshot 2025-04-16 at 3.18.32 PM.png_b9079e2f-4ae6-439c-8edd-104dbfdc6100';\n }, []);\n\n useHeightExtender({\n canvasElementRef,\n cueCanvasRef,\n canScribble,\n });\n\n useEffect(() => {\n if (canScribble && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n\n setActiveCueCanvas(cueCanvasRef.current);\n }\n }, [canScribble, setActiveCueCanvas]);\n\n useEffect(() => {\n if (initialData && cueCanvasRef.current) {\n cueCanvasRef.current.update(initialData);\n }\n }, [initialData]);\n\n useEffect(() => {\n if (height && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n }\n }, [height, width]);\n\n useEffect(() => {\n if (canRender && appended && !cueCanvasRef.current) {\n const canvasConfig = getCanvasConfig(width, height, renderAs, userType);\n const canvasSetting = getCanvasSettings(renderAs, userType);\n const cueCanvasCore = new CueCanvasCore(\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n responseId,\n userType,\n renderAs,\n );\n\n const createCueCanvas = async () => {\n await cueCanvasCore.create({\n canvasElementRef,\n canvasConfig,\n canvasSetting,\n initialData,\n });\n cueCanvasRef.current = cueCanvasCore;\n\n if (canScribble) {\n setActiveCueCanvas(cueCanvasCore);\n }\n };\n\n createCueCanvas();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onPublish, onSubscribe, setActiveCueCanvas, canRender, appended]);\n\n useEffect(() => {\n return () => {\n if (cueCanvasRef.current) {\n cueCanvasRef.current.destroy();\n cueCanvasRef.current = null;\n }\n };\n }, []);\n\n return (\n <CueCanvasWrapper\n ref={canvasElementRef}\n $width={width}\n $height={height}\n $canScribble={canScribble}\n $canRender={canRender}\n $renderAs={renderAs}\n />\n );\n },\n);\n\nexport default CueCanvas;\n"],"names":["CueCanvas","memo","responseId","width","height","canRender","onUpdateHeight","initialData","onPublish","onSubscribe","userId","appended","canScribble","userType","renderAs","canvasElementRef","useRef","setActiveCueCanvas","setActiveTool","useCueCanvasActions","cueCanvasRef","onUpdateActiveTool","useCallback","tool","uploadImageToS3","file","useHeightExtender","useEffect","canvasConfig","getCanvasConfig","canvasSetting","getCanvasSettings","cueCanvasCore","CueCanvasCore","jsx","CueCanvasWrapper"
|
1
|
+
{"version":3,"file":"cue-canvas.js","sources":["../../../src/features/cue-canvas/cue-canvas.tsx"],"sourcesContent":["import type { ICueCanvas, TCueCanvasTool } from './types/cue-canvas';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport { CueCanvasCore } from './cue-canvas-core';\nimport { getCanvasConfig, getCanvasSettings } from './cue-canvas-helpers';\nimport { CueCanvasWrapper } from './cue-cavas-styled';\nimport { useCueCanvasActions } from './hooks/use-cue-canvas-actions';\nimport useHeightExtender from './hooks/use-height-extender';\n\nconst CueCanvas: React.FC<ICueCanvas> = memo(\n ({\n responseId,\n width,\n height,\n canRender,\n onUpdateHeight,\n initialData,\n onPublish,\n onSubscribe,\n userId,\n appended,\n canScribble,\n userType,\n renderAs = 'canvas',\n }) => {\n const canvasElementRef = useRef<HTMLDivElement>(null);\n const { setActiveInstance: setActiveCueCanvas, setActiveTool } = useCueCanvasActions();\n\n const cueCanvasRef = useRef<CueCanvasCore | null>(null);\n\n const onUpdateActiveTool = useCallback(\n (tool: TCueCanvasTool) => {\n setActiveTool(tool);\n },\n [setActiveTool],\n );\n\n const uploadImageToS3 = useCallback((file: File) => {\n // Todo @ayushsinghal1998: Update this once upload api is ready\n\n // eslint-disable-next-line no-console\n console.log(file, 'file to upload');\n\n return 'https://cuemath-intel.s3.amazonaws.com/media/cuemath-whiteboard/2b0b9468-d6d4-11e8-9bfb-02420a000032:practice/Screenshot 2025-04-16 at 3.18.32 PM.png_b9079e2f-4ae6-439c-8edd-104dbfdc6100';\n }, []);\n\n useHeightExtender({\n canvasElementRef,\n cueCanvasRef,\n canScribble,\n });\n\n useEffect(() => {\n if (canScribble && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n\n setActiveCueCanvas(cueCanvasRef.current);\n }\n }, [canScribble, setActiveCueCanvas]);\n\n useEffect(() => {\n if (initialData && cueCanvasRef.current) {\n cueCanvasRef.current.update(initialData);\n }\n }, [initialData]);\n\n useEffect(() => {\n if (height && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n }\n }, [height, width]);\n\n useEffect(() => {\n if (canRender && appended && !cueCanvasRef.current) {\n const canvasConfig = getCanvasConfig(width, height, renderAs, userType);\n const canvasSetting = getCanvasSettings(renderAs, userType);\n const cueCanvasCore = new CueCanvasCore(\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n responseId,\n userType,\n renderAs,\n );\n\n const createCueCanvas = async () => {\n await cueCanvasCore.create({\n canvasElementRef,\n canvasConfig,\n canvasSetting,\n initialData,\n });\n cueCanvasRef.current = cueCanvasCore;\n\n if (canScribble) {\n setActiveCueCanvas(cueCanvasCore);\n }\n };\n\n createCueCanvas();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onPublish, onSubscribe, setActiveCueCanvas, canRender, appended]);\n\n useEffect(() => {\n return () => {\n if (cueCanvasRef.current) {\n cueCanvasRef.current.destroy();\n cueCanvasRef.current = null;\n }\n };\n }, []);\n\n return (\n <CueCanvasWrapper\n ref={canvasElementRef}\n $width={width}\n $height={height}\n $canScribble={canScribble}\n $canRender={canRender}\n $renderAs={renderAs}\n />\n );\n },\n);\n\nexport default CueCanvas;\n"],"names":["CueCanvas","memo","responseId","width","height","canRender","onUpdateHeight","initialData","onPublish","onSubscribe","userId","appended","canScribble","userType","renderAs","canvasElementRef","useRef","setActiveCueCanvas","setActiveTool","useCueCanvasActions","cueCanvasRef","onUpdateActiveTool","useCallback","tool","uploadImageToS3","file","useHeightExtender","useEffect","canvasConfig","getCanvasConfig","canvasSetting","getCanvasSettings","cueCanvasCore","CueCanvasCore","jsx","CueCanvasWrapper"],"mappings":";;;;;;;AAUA,MAAMA,IAAkCC;AAAA,EACtC,CAAC;AAAA,IACC,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,EAAA,MACP;AACE,UAAAC,IAAmBC,EAAuB,IAAI,GAC9C,EAAE,mBAAmBC,GAAoB,eAAAC,EAAA,IAAkBC,EAAoB,GAE/EC,IAAeJ,EAA6B,IAAI,GAEhDK,IAAqBC;AAAA,MACzB,CAACC,MAAyB;AACxB,QAAAL,EAAcK,CAAI;AAAA,MACpB;AAAA,MACA,CAACL,CAAa;AAAA,IAChB,GAEMM,IAAkBF,EAAY,CAACG,OAI3B,QAAA,IAAIA,GAAM,gBAAgB,GAE3B,+LACN,EAAE;AAEa,WAAAC,EAAA;AAAA,MAChB,kBAAAX;AAAA,MACA,cAAAK;AAAA,MACA,aAAAR;AAAA,IAAA,CACD,GAEDe,EAAU,MAAM;AACV,MAAAf,KAAeQ,EAAa,YAC9BA,EAAa,QAAQ,cAAc,GAEnCH,EAAmBG,EAAa,OAAO;AAAA,IACzC,GACC,CAACR,GAAaK,CAAkB,CAAC,GAEpCU,EAAU,MAAM;AACV,MAAApB,KAAea,EAAa,WACjBA,EAAA,QAAQ,OAAOb,CAAW;AAAA,IACzC,GACC,CAACA,CAAW,CAAC,GAEhBoB,EAAU,MAAM;AACV,MAAAvB,KAAUgB,EAAa,WACzBA,EAAa,QAAQ,cAAc;AAAA,IACrC,GACC,CAAChB,GAAQD,CAAK,CAAC,GAElBwB,EAAU,MAAM;AACd,UAAItB,KAAaM,KAAY,CAACS,EAAa,SAAS;AAClD,cAAMQ,IAAeC,EAAgB1B,GAAOC,GAAQU,GAAUD,CAAQ,GAChEiB,IAAgBC,EAAkBjB,GAAUD,CAAQ,GACpDmB,IAAgB,IAAIC;AAAA,UACxBzB;AAAA,UACAC;AAAA,UACAY;AAAA,UACAf;AAAA,UACAkB;AAAA,UACApB;AAAA,UACAM;AAAA,UACAR;AAAA,UACAW;AAAA,UACAC;AAAA,QACF;AAgBgB,SAdQ,YAAY;AAClC,gBAAMkB,EAAc,OAAO;AAAA,YACzB,kBAAAjB;AAAA,YACA,cAAAa;AAAA,YACA,eAAAE;AAAA,YACA,aAAAvB;AAAA,UAAA,CACD,GACDa,EAAa,UAAUY,GAEnBpB,KACFK,EAAmBe,CAAa;AAAA,QAEpC,GAEgB;AAAA,MAAA;AAAA,IAClB,GAEC,CAACxB,GAAWC,GAAaQ,GAAoBZ,GAAWM,CAAQ,CAAC,GAEpEgB,EAAU,MACD,MAAM;AACX,MAAIP,EAAa,YACfA,EAAa,QAAQ,QAAQ,GAC7BA,EAAa,UAAU;AAAA,IAE3B,GACC,EAAE,GAGH,gBAAAc;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAKpB;AAAA,QACL,QAAQZ;AAAA,QACR,SAASC;AAAA,QACT,cAAcQ;AAAA,QACd,YAAYP;AAAA,QACZ,WAAWS;AAAA,MAAA;AAAA,IACb;AAAA,EAAA;AAGN;"}
|