@cuemath/leap 3.1.16 → 3.1.17-hg1
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/apple-icon.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 +5 -5
- 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 +3 -3
- 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/exclamation.js +2 -2
- package/dist/assets/line-icons/icons/exclamation.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/google-icon.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/home2.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/important.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/lock3.js +5 -5
- package/dist/assets/line-icons/icons/lock3.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/share.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-colored.js +5 -5
- package/dist/assets/line-icons/icons/skip-colored.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/status.js +3 -3
- package/dist/assets/line-icons/icons/status.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/tile.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/unlock2.js +4 -4
- package/dist/assets/line-icons/icons/unlock2.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/auth/account-selector/account-selector.js.map +1 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
- package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js.map +1 -1
- package/dist/features/auth/comps/input-status-icon/input-status-icon.js.map +1 -1
- package/dist/features/auth/comps/overlay-loader/overlay-loader.js.map +1 -1
- package/dist/features/auth/comps/resend-otp/hooks/use-resend-timer.js.map +1 -1
- package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
- package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
- package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
- package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
- package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
- package/dist/features/auth/comps/user-list/user-list-constants.js.map +1 -1
- package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
- package/dist/features/auth/forgot-password/otp-form/otp-form.js.map +1 -1
- package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js.map +1 -1
- package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js.map +1 -1
- package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
- package/dist/features/auth/login/login-constants.js.map +1 -1
- package/dist/features/auth/login/social-account-not-found/social-account-not-found.js +1 -1
- package/dist/features/auth/login/social-account-not-found/social-account-not-found.js.map +1 -1
- package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
- package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
- package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
- package/dist/features/auth/signup/claim-user-account/claim-user-account.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/country-selector/country-code-button.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/country-selector/country-list-menu.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/country-selector/country-selector.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/date-picker-input/date-picker-input.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/grade-input/grade-input.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
- package/dist/features/auth/signup/signup-constants.js.map +1 -1
- package/dist/features/auth/signup/signup-methods/signup-methods.js.map +1 -1
- package/dist/features/auth/signup/user-type-selector/user-type-card/user-type-card-styled.js.map +1 -1
- package/dist/features/auth/signup/user-type-selector/user-type-card/user-type-card.js.map +1 -1
- package/dist/features/auth/signup/user-type-selector/user-type-selector.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 +3 -3
- 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 +11 -11
- 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/chapters-v2/api/chapter.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +21 -21
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-option.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +1 -1
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/comps/tag/tag.js.map +1 -1
- package/dist/features/chapters-v2/constants/node-constants.js +0 -2
- package/dist/features/chapters-v2/constants/node-constants.js.map +1 -1
- package/dist/features/chapters-v2/utils/index.js.map +1 -1
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
- package/dist/features/circle-games/comps/info-bar/info-bar.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.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.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 +67 -62
- 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/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/bottombar/homework-controls.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 +3 -3
- 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 +11 -11
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +13 -13
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +22 -22
- 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/hooks/use-upload-helper.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js +10 -11
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-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 +10 -10
- 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/homework/card-menu-options.js.map +1 -1
- package/dist/features/homework/card-title.js.map +1 -1
- package/dist/features/homework/homework-card-view.js.map +1 -1
- package/dist/features/homework/homework-card.js +3 -3
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-utils.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
- package/dist/features/homework/node-progress.js.map +1 -1
- package/dist/features/homework/styles.js.map +1 -1
- package/dist/features/homework/utils.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-debounce.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-viewport/use-viewport.js +5 -5
- package/dist/features/hooks/use-viewport/use-viewport.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.map +1 -1
- package/dist/features/journey/hooks/use-chapter-journey.js +1 -1
- package/dist/features/journey/hooks/use-chapter-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/styles.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -1
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/features/journey/use-journey/journey-styled.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 +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/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 +17 -18
- 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 +34 -35
- 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 +12 -12
- 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.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-container.js +14 -14
- 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-past-milestone-count.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/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 +2 -2
- 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-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-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 +29 -29
- 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 +55 -55
- 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/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/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 +9 -9
- 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/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/digital-meter-styled.js +4 -4
- 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 +13 -13
- package/dist/features/post-game-stats/digital-meter/digital-meter.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/recent-chapters/api/get-recent-chapters.js.map +1 -1
- package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -1
- package/dist/features/recent-chapters/recent-chapters.js +13 -13
- package/dist/features/recent-chapters/recent-chapters.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/sheet-v2/resource-list/resource-list.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
- package/dist/features/sheets/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 +3 -6
- 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/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/india-pricing/index.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing-cards.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/animated-arc/animated-arc-helpers.js.map +1 -1
- package/dist/features/ui/animated-arc/animated-arc.js +12 -12
- package/dist/features/ui/animated-arc/animated-arc.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-styled.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu.js +19 -19
- package/dist/features/ui/context-menu/context-menu.js.map +1 -1
- package/dist/features/ui/error/error.js +12 -12
- 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 +12 -12
- 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 +35 -35
- 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/modals/modal-helpers.js.map +1 -1
- package/dist/features/ui/modals/modal-provider.js +15 -15
- package/dist/features/ui/modals/modal-provider.js.map +1 -1
- package/dist/features/ui/modals/modal-styled.js +1 -1
- package/dist/features/ui/modals/modal-styled.js.map +1 -1
- package/dist/features/ui/modals/modal.js.map +1 -1
- package/dist/features/ui/modals/use-modal-actions.js +6 -6
- package/dist/features/ui/modals/use-modal-actions.js.map +1 -1
- package/dist/features/ui/modals/use-modal-params.js +5 -5
- package/dist/features/ui/modals/use-modal-params.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 +11 -11
- 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.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 +47 -47
- 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 +15 -15
- 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 +4 -4
- 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.js +576 -576
- package/dist/node_modules/@cuemath/analytics-v2/dist/constants.js.map +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +138 -137
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +220 -194
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +15 -13
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +12 -11
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -1
- package/dist/node_modules/@floating-ui/{react/node_modules/@floating-ui/react-dom → react-dom}/dist/floating-ui.react-dom.js +57 -56
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +64 -61
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.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/differenceInDays.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/decode-uri-component/index.js.map +1 -0
- 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 +1 -1
- package/dist/node_modules/query-string/base.js.map +1 -1
- package/dist/node_modules/react-datepicker/dist/index.es.js +319 -311
- package/dist/node_modules/react-datepicker/dist/index.es.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/formatters.js +0 -2
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/_lib/normalizeDates.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/addDays.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/addMonths.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarMonths.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarQuarters.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInCalendarYears.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/differenceInDays.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/endOfMonth.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/endOfWeek.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/endOfYear.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/format.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getDate.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getDay.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getDaysInMonth.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getDefaultOptions.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getHours.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getISODay.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getISOWeekYear.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getMinutes.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getMonth.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getQuarter.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getSeconds.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getWeekYear.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/getYear.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameDay.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameMonth.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameQuarter.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/isSameYear.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/isWithinInterval.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parse.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/parseISO.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/setDay.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/setMonth.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/setQuarter.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfISOWeek.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfQuarter.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfWeek.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/startOfWeekYear.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/subDays.js +4 -4
- package/dist/node_modules/react-datepicker/node_modules/date-fns/subDays.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/subQuarters.js +3 -3
- package/dist/node_modules/react-datepicker/node_modules/date-fns/subQuarters.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/subWeeks.js +4 -4
- package/dist/node_modules/react-datepicker/node_modules/date-fns/subWeeks.js.map +1 -1
- package/dist/node_modules/react-datepicker/node_modules/date-fns/transpose.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/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/package.json +2 -2
- package/dist/node_modules/@floating-ui/react/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +0 -1
- package/dist/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -19
- package/dist/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"list-styled.js","sources":["../../../../src/features/extra-practice/list/list-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\ninterface ITabProps {\n $selected: boolean;\n}\n\nconst Tab = styled(FlexView)<ITabProps>(({ $selected, theme }) => {\n const { BLACK, WHITE } = theme.colors;\n const { gutter } = theme.layout;\n\n return `\n padding: 0 ${gutter * 1.5}px ${gutter * 1.125}px;\n cursor: pointer;\n border-bottom: 2px solid ${$selected ? BLACK : WHITE};\n `;\n});\n\nexport { Tab };\n"],"names":["Tab","styled","FlexView","$selected","theme","BLACK","WHITE","gutter"],"mappings":";;AAQM,MAAAA,IAAMC,EAAOC,CAAQ,EAAa,CAAC,EAAE,WAAAC,GAAW,OAAAC,QAAY;AAChE,QAAM,EAAE,OAAAC,GAAO,OAAAC,
|
1
|
+
{"version":3,"file":"list-styled.js","sources":["../../../../src/features/extra-practice/list/list-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\ninterface ITabProps {\n $selected: boolean;\n}\n\nconst Tab = styled(FlexView)<ITabProps>(({ $selected, theme }) => {\n const { BLACK, WHITE } = theme.colors;\n const { gutter } = theme.layout;\n\n return `\n padding: 0 ${gutter * 1.5}px ${gutter * 1.125}px;\n cursor: pointer;\n border-bottom: 2px solid ${$selected ? BLACK : WHITE};\n `;\n});\n\nexport { Tab };\n"],"names":["Tab","styled","FlexView","$selected","theme","BLACK","WHITE","gutter"],"mappings":";;AAQM,MAAAA,IAAMC,EAAOC,CAAQ,EAAa,CAAC,EAAE,WAAAC,GAAW,OAAAC,QAAY;AAChE,QAAM,EAAE,OAAAC,GAAO,OAAAC,EAAM,IAAIF,EAAM,QACzB,EAAE,QAAAG,MAAWH,EAAM;AAElB,SAAA;AAAA,iBACQG,IAAS,GAAG,MAAMA,IAAS,KAAK;AAAA;AAAA,+BAElBJ,IAAYE,IAAQC,CAAK;AAAA;AAExD,CAAC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"list.js","sources":["../../../../src/features/extra-practice/list/list.tsx"],"sourcesContent":["import type { ISheetDataProps } from '../../sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { IListProps, TTabsDataProps } from './list-types';\nimport type { FC } from 'react';\n\nimport { useState } from 'react';\n\nimport SheetsList from '../../sheets/sheets-list/sheets-list';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { TABS } from './list-constants';\nimport * as Styled from './list-styled';\nimport { getSelectedTabSheets } from './list-util';\n\nconst List: FC<IListProps> = ({ sheets, userType, onStart, ...restListProps }) => {\n const {\n teacherId,\n onResume,\n onReattempt,\n onPreview,\n onReview,\n onReset,\n onChangeLocation,\n onUnlock,\n } = restListProps;\n\n const [selectedTab, setSelectedTab] = useState<TTabsDataProps>(TABS[0]!);\n const [sheetData, setSheetData] = useState<ISheetDataProps[]>(() =>\n getSelectedTabSheets(sheets, selectedTab.search_list),\n );\n\n const handleOnTabSelection = (tab: TTabsDataProps) => {\n setSelectedTab(tab);\n setSheetData(getSelectedTabSheets(sheets, tab.search_list));\n };\n\n return (\n <>\n <FlexView $flexDirection=\"row\">\n {TABS.map(tab => {\n const { id, label } = tab;\n const selected = selectedTab.label === label;\n\n return (\n <Styled.Tab key={id} $selected={selected} onClick={() => handleOnTabSelection(tab)}>\n <Text $renderAs={selected ? 'cta2' : 'body2'}>{label}</Text>\n </Styled.Tab>\n );\n })}\n </FlexView>\n\n <SheetsList\n sheets={sheetData}\n teacherId={teacherId}\n section=\"extra_practice\"\n emptySheetsText=\"No Extra practice sheets available.\"\n userType={userType}\n onStart={onStart}\n onResume={onResume}\n onReattempt={onReattempt}\n onPreview={onPreview}\n onReview={onReview}\n onReset={onReset}\n onChangeLocation={onChangeLocation}\n onUnlock={onUnlock}\n renderNodeTypeTag\n />\n </>\n );\n};\n\nexport default List;\n"],"names":["List","sheets","userType","onStart","restListProps","teacherId","onResume","onReattempt","onPreview","onReview","onReset","onChangeLocation","onUnlock","selectedTab","setSelectedTab","useState","TABS","sheetData","setSheetData","getSelectedTabSheets","handleOnTabSelection","tab","jsxs","Fragment","jsx","FlexView","id","label","selected","Styled.Tab","Text","SheetsList"],"mappings":";;;;;;;;AAaM,MAAAA,IAAuB,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,SAAAC,GAAS,GAAGC,QAAoB;AAC1E,QAAA;AAAA,IACJ,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,
|
1
|
+
{"version":3,"file":"list.js","sources":["../../../../src/features/extra-practice/list/list.tsx"],"sourcesContent":["import type { ISheetDataProps } from '../../sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { IListProps, TTabsDataProps } from './list-types';\nimport type { FC } from 'react';\n\nimport { useState } from 'react';\n\nimport SheetsList from '../../sheets/sheets-list/sheets-list';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { TABS } from './list-constants';\nimport * as Styled from './list-styled';\nimport { getSelectedTabSheets } from './list-util';\n\nconst List: FC<IListProps> = ({ sheets, userType, onStart, ...restListProps }) => {\n const {\n teacherId,\n onResume,\n onReattempt,\n onPreview,\n onReview,\n onReset,\n onChangeLocation,\n onUnlock,\n } = restListProps;\n\n const [selectedTab, setSelectedTab] = useState<TTabsDataProps>(TABS[0]!);\n const [sheetData, setSheetData] = useState<ISheetDataProps[]>(() =>\n getSelectedTabSheets(sheets, selectedTab.search_list),\n );\n\n const handleOnTabSelection = (tab: TTabsDataProps) => {\n setSelectedTab(tab);\n setSheetData(getSelectedTabSheets(sheets, tab.search_list));\n };\n\n return (\n <>\n <FlexView $flexDirection=\"row\">\n {TABS.map(tab => {\n const { id, label } = tab;\n const selected = selectedTab.label === label;\n\n return (\n <Styled.Tab key={id} $selected={selected} onClick={() => handleOnTabSelection(tab)}>\n <Text $renderAs={selected ? 'cta2' : 'body2'}>{label}</Text>\n </Styled.Tab>\n );\n })}\n </FlexView>\n\n <SheetsList\n sheets={sheetData}\n teacherId={teacherId}\n section=\"extra_practice\"\n emptySheetsText=\"No Extra practice sheets available.\"\n userType={userType}\n onStart={onStart}\n onResume={onResume}\n onReattempt={onReattempt}\n onPreview={onPreview}\n onReview={onReview}\n onReset={onReset}\n onChangeLocation={onChangeLocation}\n onUnlock={onUnlock}\n renderNodeTypeTag\n />\n </>\n );\n};\n\nexport default List;\n"],"names":["List","sheets","userType","onStart","restListProps","teacherId","onResume","onReattempt","onPreview","onReview","onReset","onChangeLocation","onUnlock","selectedTab","setSelectedTab","useState","TABS","sheetData","setSheetData","getSelectedTabSheets","handleOnTabSelection","tab","jsxs","Fragment","jsx","FlexView","id","label","selected","Styled.Tab","Text","SheetsList"],"mappings":";;;;;;;;AAaM,MAAAA,IAAuB,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,SAAAC,GAAS,GAAGC,QAAoB;AAC1E,QAAA;AAAA,IACJ,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACER,GAEE,CAACS,GAAaC,CAAc,IAAIC,EAAyBC,EAAK,CAAC,CAAE,GACjE,CAACC,GAAWC,CAAY,IAAIH;AAAA,IAA4B,MAC5DI,EAAqBlB,GAAQY,EAAY,WAAW;AAAA,EACtD,GAEMO,IAAuB,CAACC,MAAwB;AACpD,IAAAP,EAAeO,CAAG,GAClBH,EAAaC,EAAqBlB,GAAQoB,EAAI,WAAW,CAAC;AAAA,EAC5D;AAEA,SAEI,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAS,EAAA,gBAAe,OACtB,UAAAT,EAAK,IAAI,CAAOK,MAAA;AACT,YAAA,EAAE,IAAAK,GAAI,OAAAC,EAAA,IAAUN,GAChBO,IAAWf,EAAY,UAAUc;AAEvC,+BACGE,GAAA,EAAoB,WAAWD,GAAU,SAAS,MAAMR,EAAqBC,CAAG,GAC/E,UAAA,gBAAAG,EAACM,KAAK,WAAWF,IAAW,SAAS,SAAU,UAAAD,EAAA,CAAM,KADtCD,CAEjB;AAAA,IAEH,CAAA,GACH;AAAA,IAEA,gBAAAF;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,QAAQd;AAAA,QACR,WAAAZ;AAAA,QACA,SAAQ;AAAA,QACR,iBAAgB;AAAA,QAChB,UAAAH;AAAA,QACA,SAAAC;AAAA,QACA,UAAAG;AAAA,QACA,aAAAC;AAAA,QACA,WAAAC;AAAA,QACA,UAAAC;AAAA,QACA,SAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,UAAAC;AAAA,QACA,mBAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,EACnB,GACF;AAEJ;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"card-menu-options.js","sources":["../../../src/features/homework/card-menu-options.tsx"],"sourcesContent":["import type { FC, SVGProps } from 'react';\n\nimport { memo } from 'react';\n\nimport NodeMenuOption from '../chapters-v2/comps/node-card/node-menu-options/node-menu-option';\nimport * as Styled from './styles';\n\nexport interface ICardMenuOption {\n id: string;\n label: string;\n icon: FC<SVGProps<SVGSVGElement>>;\n onClick: (id: string) => void;\n disabled: boolean;\n}\n\ninterface ICardMenuOptionsProps {\n $width?: string | number;\n options: ICardMenuOption[];\n triggerRef: React.RefObject<HTMLElement>;\n visible: boolean;\n shouldOpenOnRight: boolean;\n}\n\nconst CardMenuOptions: FC<ICardMenuOptionsProps> = memo(\n ({ options, shouldOpenOnRight, visible, $width }) => {\n if (!visible) return null;\n\n if (options.every(item => item.disabled)) return null;\n\n return (\n <Styled.CardMenuOptionsWrapper\n $visible={visible}\n $background=\"BLACK_2\"\n $borderColor=\"WHITE_T_38\"\n $gapX={0.5}\n $width={$width}\n $shouldopenonright={shouldOpenOnRight}\n >\n {options.map(option => (\n <NodeMenuOption option={option} key={option.id} />\n ))}\n </Styled.CardMenuOptionsWrapper>\n );\n },\n);\n\nexport default CardMenuOptions;\n"],"names":["CardMenuOptions","memo","options","shouldOpenOnRight","visible","$width","item","jsx","Styled.CardMenuOptionsWrapper","option","NodeMenuOption"],"mappings":";;;;AAuBA,MAAMA,IAA6CC;AAAA,EACjD,CAAC,EAAE,SAAAC,GAAS,mBAAAC,GAAmB,SAAAC,GAAS,QAAAC,QAClC,CAACD,KAEDF,EAAQ,MAAM,CAAAI,MAAQA,EAAK,QAAQ,IAAU,OAG/C,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAUJ;AAAA,MACV,aAAY;AAAA,MACZ,cAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAAC;AAAA,MACA,oBAAoBF;AAAA,MAEnB,UAAAD,EAAQ,IAAI,CACXO,MAAA,gBAAAF,EAACG,KAAe,QAAAD,EAAqB,GAAAA,EAAO,EAAI,CACjD;AAAA,IAAA;AAAA,
|
1
|
+
{"version":3,"file":"card-menu-options.js","sources":["../../../src/features/homework/card-menu-options.tsx"],"sourcesContent":["import type { FC, SVGProps } from 'react';\n\nimport { memo } from 'react';\n\nimport NodeMenuOption from '../chapters-v2/comps/node-card/node-menu-options/node-menu-option';\nimport * as Styled from './styles';\n\nexport interface ICardMenuOption {\n id: string;\n label: string;\n icon: FC<SVGProps<SVGSVGElement>>;\n onClick: (id: string) => void;\n disabled: boolean;\n}\n\ninterface ICardMenuOptionsProps {\n $width?: string | number;\n options: ICardMenuOption[];\n triggerRef: React.RefObject<HTMLElement>;\n visible: boolean;\n shouldOpenOnRight: boolean;\n}\n\nconst CardMenuOptions: FC<ICardMenuOptionsProps> = memo(\n ({ options, shouldOpenOnRight, visible, $width }) => {\n if (!visible) return null;\n\n if (options.every(item => item.disabled)) return null;\n\n return (\n <Styled.CardMenuOptionsWrapper\n $visible={visible}\n $background=\"BLACK_2\"\n $borderColor=\"WHITE_T_38\"\n $gapX={0.5}\n $width={$width}\n $shouldopenonright={shouldOpenOnRight}\n >\n {options.map(option => (\n <NodeMenuOption option={option} key={option.id} />\n ))}\n </Styled.CardMenuOptionsWrapper>\n );\n },\n);\n\nexport default CardMenuOptions;\n"],"names":["CardMenuOptions","memo","options","shouldOpenOnRight","visible","$width","item","jsx","Styled.CardMenuOptionsWrapper","option","NodeMenuOption"],"mappings":";;;;AAuBA,MAAMA,IAA6CC;AAAA,EACjD,CAAC,EAAE,SAAAC,GAAS,mBAAAC,GAAmB,SAAAC,GAAS,QAAAC,QAClC,CAACD,KAEDF,EAAQ,MAAM,CAAAI,MAAQA,EAAK,QAAQ,IAAU,OAG/C,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAUJ;AAAA,MACV,aAAY;AAAA,MACZ,cAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAAC;AAAA,MACA,oBAAoBF;AAAA,MAEnB,UAAAD,EAAQ,IAAI,CACXO,MAAA,gBAAAF,EAACG,KAAe,QAAAD,EAAqB,GAAAA,EAAO,EAAI,CACjD;AAAA,IAAA;AAAA,EACH;AAGN;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"card-title.js","sources":["../../../src/features/homework/card-title.tsx"],"sourcesContent":["import type { TCourseType, TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\n\nimport { memo } from 'react';\n\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\nconst LabelledTitle = ({ label, title }: { label: string; title: string }) => (\n <FlexView>\n <FlexView $background=\"BLACK_T_60\" $width=\"fit-content\" $gutterX={0.25}>\n <Text $color=\"WHITE\" $renderAs=\"ac4-black\">\n {label}\n </Text>\n </FlexView>\n <Text $renderAs=\"ac4-black\">{title}</Text>\n </FlexView>\n);\n\nconst CardTitle = ({\n cardHeader,\n nodeType,\n courseType,\n}: {\n cardHeader: string;\n nodeType: TNodeTypes;\n courseType: TCourseType;\n}) => {\n if (nodeType === 'MASTERY') {\n return <LabelledTitle label=\"Smart\" title=\"Practice\" />;\n }\n\n if (courseType === 'REMEDIAL') {\n return <LabelledTitle label=\"EXTRA\" title={cardHeader} />;\n }\n\n if (courseType === 'EXAM') {\n return <LabelledTitle label=\"CUSTOM\" title={cardHeader} />;\n }\n\n return <Text $renderAs=\"ac4-black\">{cardHeader}</Text>;\n};\n\nexport default memo(CardTitle);\n"],"names":["LabelledTitle","label","title","FlexView","jsx","Text","CardTitle","cardHeader","nodeType","courseType","CardTitle$1","memo"],"mappings":";;;;AAOA,MAAMA,IAAgB,CAAC,EAAE,OAAAC,GAAO,OAAAC,EAAM,wBACnCC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACD,GAAS,EAAA,aAAY,cAAa,QAAO,eAAc,UAAU,MAChE,UAAC,gBAAAC,EAAAC,GAAA,EAAK,QAAO,SAAQ,WAAU,aAC5B,YACH,CAAA,GACF;AAAA,EACC,gBAAAD,EAAAC,GAAA,EAAK,WAAU,aAAa,UAAMH,
|
1
|
+
{"version":3,"file":"card-title.js","sources":["../../../src/features/homework/card-title.tsx"],"sourcesContent":["import type { TCourseType, TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\n\nimport { memo } from 'react';\n\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\nconst LabelledTitle = ({ label, title }: { label: string; title: string }) => (\n <FlexView>\n <FlexView $background=\"BLACK_T_60\" $width=\"fit-content\" $gutterX={0.25}>\n <Text $color=\"WHITE\" $renderAs=\"ac4-black\">\n {label}\n </Text>\n </FlexView>\n <Text $renderAs=\"ac4-black\">{title}</Text>\n </FlexView>\n);\n\nconst CardTitle = ({\n cardHeader,\n nodeType,\n courseType,\n}: {\n cardHeader: string;\n nodeType: TNodeTypes;\n courseType: TCourseType;\n}) => {\n if (nodeType === 'MASTERY') {\n return <LabelledTitle label=\"Smart\" title=\"Practice\" />;\n }\n\n if (courseType === 'REMEDIAL') {\n return <LabelledTitle label=\"EXTRA\" title={cardHeader} />;\n }\n\n if (courseType === 'EXAM') {\n return <LabelledTitle label=\"CUSTOM\" title={cardHeader} />;\n }\n\n return <Text $renderAs=\"ac4-black\">{cardHeader}</Text>;\n};\n\nexport default memo(CardTitle);\n"],"names":["LabelledTitle","label","title","FlexView","jsx","Text","CardTitle","cardHeader","nodeType","courseType","CardTitle$1","memo"],"mappings":";;;;AAOA,MAAMA,IAAgB,CAAC,EAAE,OAAAC,GAAO,OAAAC,EAAM,wBACnCC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACD,GAAS,EAAA,aAAY,cAAa,QAAO,eAAc,UAAU,MAChE,UAAC,gBAAAC,EAAAC,GAAA,EAAK,QAAO,SAAQ,WAAU,aAC5B,YACH,CAAA,GACF;AAAA,EACC,gBAAAD,EAAAC,GAAA,EAAK,WAAU,aAAa,UAAMH,EAAA,CAAA;AAAA,GACrC,GAGII,IAAY,CAAC;AAAA,EACjB,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AACF,MAKMD,MAAa,YACP,gBAAAJ,EAAAJ,GAAA,EAAc,OAAM,SAAQ,OAAM,YAAW,IAGnDS,MAAe,aACT,gBAAAL,EAAAJ,GAAA,EAAc,OAAM,SAAQ,OAAOO,GAAY,IAGrDE,MAAe,SACT,gBAAAL,EAAAJ,GAAA,EAAc,OAAM,UAAS,OAAOO,GAAY,IAGlD,gBAAAH,EAAAC,GAAA,EAAK,WAAU,aAAa,UAAWE,GAAA,GAGlCG,IAAAC,EAAKL,CAAS;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport CardTitle from './card-title';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n isMilestone?: boolean;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n isMilestone = false,\n}) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n } = nodeData;\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","isMilestone","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","unlockedOnTs","courseType","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsxs","FlexView","Styled.CardWrapper","jsx","Styled.IconWrapper","LottieAnimation","CardTitle","ArrowTooltip","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","NodeProgress","Styled.HeaderText","Styled.SubHeaderText","HomeworkView$1","memo"],"mappings":";;;;;;;;;;;;AAkBA,MAAMA,IAAiB,EAAE,UAAU,UAAU,UAAU,GAAM,GAYvDC,IAA2C,CAAC;AAAA,EAChD,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC,IAAc;AAChB,MAAM;AACE,QAAA;AAAA,IACJ,WAAWC;AAAA,IACX,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAaC;AAAA,IACb,WAAWC;AAAA,IACX,WAAWC;AAAA,IACX,aAAaC,IAAa;AAAA,IAC1B,gBAAgBC;AAAA,IAChB,aAAaC;AAAA,
|
1
|
+
{"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport CardTitle from './card-title';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n isMilestone?: boolean;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n isMilestone = false,\n}) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n } = nodeData;\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","isMilestone","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","unlockedOnTs","courseType","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsxs","FlexView","Styled.CardWrapper","jsx","Styled.IconWrapper","LottieAnimation","CardTitle","ArrowTooltip","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","NodeProgress","Styled.HeaderText","Styled.SubHeaderText","HomeworkView$1","memo"],"mappings":"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"}
|
@@ -10,7 +10,7 @@ import j from "../ui/hooks/use-context-menu-click-handler.js";
|
|
10
10
|
import ne from "../ui/layout/flex-view.js";
|
11
11
|
import F from "./card-menu-options.js";
|
12
12
|
import ce from "./homework-card-view.js";
|
13
|
-
import { CardContainer as oe, MenuWrapper as se, CardKebabMenuWrapper as ae,
|
13
|
+
import { CardContainer as oe, MenuWrapper as se, CardKebabMenuWrapper as ae, StyledMinus2Icon as le, BlurContainer as ue, BlurFlexView as de } from "./styles.js";
|
14
14
|
import { getCardAnalyticProps as he } from "./utils.js";
|
15
15
|
const me = ({
|
16
16
|
// callbacks
|
@@ -130,7 +130,7 @@ const me = ({
|
|
130
130
|
{
|
131
131
|
id: "teacher-card-unassign",
|
132
132
|
label: "Unassign",
|
133
|
-
icon:
|
133
|
+
icon: le,
|
134
134
|
disabled: i ? k === "MASTERY" : !Z,
|
135
135
|
onClick: a
|
136
136
|
},
|
@@ -252,7 +252,7 @@ const me = ({
|
|
252
252
|
}
|
253
253
|
)
|
254
254
|
] }),
|
255
|
-
$ && /* @__PURE__ */ t(
|
255
|
+
$ && /* @__PURE__ */ t(ue, { $background: "WHITE_5", children: /* @__PURE__ */ t(de, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(H, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(ne, { $heightX: 1, $widthX: 6 }) }) }) })
|
256
256
|
] });
|
257
257
|
}, Re = N(me);
|
258
258
|
export {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../ui/types';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: TUserTypes;\n studentId: string;\n userMilestoneId?: string;\n renderAs: 'homework' | 'milestone';\n shouldOpenOnRight: boolean;\n isInQueue?: boolean;\n}\n\nconst HomeworkCard = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n\n header,\n isInQueue,\n renderAs,\n shouldOpenOnRight,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n}: IHomeworkCardProps) => {\n const isHomeWork = renderAs === 'homework';\n const {\n node_type: nodeType,\n state,\n permissions,\n user_node_id: userNodeId,\n user_milestone_id: nodeDataMilestoneId,\n homework_id: homeworkId,\n } = nodeData;\n\n const milestoneId = userMilestoneId || nodeDataMilestoneId || '';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null);\n const studentContainerRef = useRef<HTMLDivElement>(null);\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, milestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canStart,\n canResume,\n isHomeWork,\n onStudentViewSheet,\n onNodeAttempt,\n nodeData,\n milestoneId,\n homeworkId,\n onStudentMenuClick,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, milestoneId);\n }, [canReview, onNodeView, nodeData, milestoneId, onNodeReview, userNodeId, homeworkId]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, milestoneId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, milestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, milestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n milestoneId,\n ],\n );\n\n const teacherOptions = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const studentOptions = [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n isStudent,\n isHomeWork,\n studentId,\n nodeType,\n canStart,\n canResume,\n homeworkId,\n userNodeId,\n milestoneId,\n ],\n );\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n >\n <HomeworkView\n header={header}\n isInQueue={isInQueue}\n nodeData={nodeData}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n isMilestone={renderAs === 'milestone'}\n />\n </Clickable>\n {isStudent && !isHomeWork && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {!isStudent && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","header","isInQueue","renderAs","shouldOpenOnRight","studentId","subHeader","userMilestoneId","userType","isHomeWork","nodeType","state","permissions","userNodeId","nodeDataMilestoneId","homeworkId","milestoneId","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":";;;;;;;;;;;;;;AAiCA,MAAMA,KAAe,CAAC;AAAA;AAAA,EAEpB,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,wBAAAC;AAAA,EAEA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AACF,MAA0B;AACxB,QAAMC,IAAaN,MAAa,YAC1B;AAAA,IACJ,WAAWO;AAAA,IACX,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAcC;AAAA,IACd,mBAAmBC;AAAA,IACnB,aAAaC;AAAA,EACX,IAAArB,GAEEsB,IAAcT,KAAmBO,KAAuB,IAExDG,IAAsBC,EAAuB,IAAI,GACjDC,IAAsBD,EAAuB,IAAI,GACjD,EAAE,aAAaE,GAAoB,aAAaC,MACpDC,EAA2BL,CAAmB,GAC1C,EAAE,aAAaM,GAAoB,aAAaC,MACpDF,EAA2BH,CAAmB,GAE1C;AAAA,IACJ,WAAWM;AAAA,IACX,YAAYC;AAAA,IACZ,YAAYC;AAAA,IACZ,cAAcC;AAAA,IACd,WAAWC;AAAA,IACX,wBAAwBC;AAAA,EACtB,IAAAlB,GACEmB,IAAYvB,MAAa,WAEzBwB,IAAqBC,EAAY,MAAM;AAC3C,QAAIN,GAAW;AACT,UAAA,OAAO9B,KAAiB;AACpB,cAAA,IAAI,MAAM,6BAA6B;AAG/C,UAAI,CAACgB;AACG,cAAA,IAAI,MAAM,kDAAkD;AAEpE,MAAAhB,EAAaH,GAAUsB,CAAW;AAElC;AAAA,IACF;AAAA,EAAA,GACC,CAACW,GAAW9B,GAAcgB,GAAYnB,GAAUsB,CAAW,CAAC,GAEzDkB,IAAqBD,EAAY,MAAM;AAC3C,QAAIR,KAAYC,GAAW;AACrB,UAAA,OAAO/B,KAAkB;AACrB,cAAA,IAAI,MAAM,kCAAkC;AAGtC,MAAAA,EAAAD,GAAUsB,GAAaD,CAAU;AAE/C;AAAA,IACF;AAEA,QAAI,CAACN,GAAY;AACI,MAAAe;AAEnB;AAAA,IACF;AACmB,IAAAQ;EAAA,GAClB;AAAA,IACDP;AAAA,IACAC;AAAA,IACAjB;AAAA,IACAuB;AAAA,IACArC;AAAA,IACAD;AAAA,IACAsB;AAAA,IACAD;AAAA,IACAS;AAAA,EAAA,CACD,GAEKW,IAAqBF,EAAY,MAAM;AAC3C,QAAIN,GAAW;AACT,UAAA,OAAO9B,KAAiB;AACpB,cAAA,IAAI,MAAM,iCAAiC;AAGnD,UAAI,CAACgB;AACG,cAAA,IAAI,MAAM,kDAAkD;AAEvD,MAAAhB,EAAAH,GAAUsB,GAAaD,CAAU;AAE9C;AAAA,IACF;AAEI,QAAA,OAAOhB,KAAe;AAClB,YAAA,IAAI,MAAM,+BAA+B;AAGjD,IAAAA,EAAWL,GAAUsB,CAAW;AAAA,EAAA,GAC/B,CAACW,GAAW5B,GAAYL,GAAUsB,GAAanB,GAAcgB,GAAYE,CAAU,CAAC,GAEjFqB,IAA0BH;AAAA,IAC9B,CAACI,MAAqB;AACpB,cAAQA,GAAU;AAAA,QAChB,KAAK;AACgB,UAAAF;AAEnB;AAAA,QACF,KAAK;AACgB,UAAAH;AAEnB;AAAA,QACF,KAAK;AACH,UAAAlC,KAAA,QAAAA,EAAiBJ,GAAUsB;AAE3B;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,UAAApB,KAAA,QAAAA,EAAkBF,GAAUsB;AAE5B;AAAA,QAEF,KAAK;AACH,UAAAhB,KAAA,QAAAA,EAAyBN,GAAUsB;AAEnC;AAAA,QAEF;AACE,gBAAM,IAAI,MAAM,4BAA4BqB,CAAQ,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,IACA;AAAA,MACE3C;AAAA,MACAM;AAAA,MACAJ;AAAA,MACAE;AAAA,MACAkC;AAAA,MACAG;AAAA,MACAnB;AAAA,IACF;AAAA,EAAA,GAGIsB,IAAiB;AAAA,IACrB;AAAA,MACE,IAAI;AAAA,MACJ,OAAOX,IAAY,WAAW;AAAA,MAC9B,MAAMY;AAAA,MACN,UAAU;AAAA,MACV,SAASH;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMI;AAAAA,MACN,UAAU/B,IAAaC,MAAa,YAAY,CAACkB;AAAA,MACjD,SAASQ;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMK;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASO;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMM;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASM;AAAA,IACX;AAAA,EAAA,GAGIO,IAAiB;AAAA,IACrB;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMJ;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASS;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMK;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASO;AAAA,IACX;AAAA,EAAA,GAGIQ,IAAiBC;AAAA,IACrB,MACEC,GAAqB;AAAA,MACnB,WAAApB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAV;AAAA,MACA,YAAAN;AAAA,MACA,WAAAsB;AAAA,MACA,aAAAf;AAAA,MACA,UAAAN;AAAA,MACA,WAAAL;AAAA,MACA,YAAAQ;AAAA,IAAA,CACD;AAAA,IACH;AAAA,MACEkB;AAAA,MACAtB;AAAA,MACAJ;AAAA,MACAK;AAAA,MACAe;AAAA,MACAC;AAAA,MACAX;AAAA,MACAF;AAAA,MACAG;AAAA,IACF;AAAA,EAAA;AAGF,2BACG+B,IAAA,EAAqB,WAAU,YAAW,QAAO,eAChD,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAASlB,IAAYG,IAAqBC;AAAA,QAC1C,OAAM;AAAA,QACN,gBAAgBS,EAAe;AAAA,QAC/B,gBAAgBA,EAAe;AAAA,QAE/B,UAAA,gBAAAI;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,QAAAjD;AAAA,YACA,WAAAC;AAAA,YACA,UAAAR;AAAA,YACA,qBAAAyB;AAAA,YACA,WAAAb;AAAA,YACA,UAAAE;AAAA,YACA,aAAaL,MAAa;AAAA,UAAA;AAAA,QAC5B;AAAA,MAAA;AAAA,IACF;AAAA,IACC4B,KAAa,CAACtB,KACb,gBAAAuC;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAASR;AAAA,QACT,YAAYxB;AAAA,QACZ,SAASI;AAAA,QACT,mBAAmB;AAAA,MAAA;AAAA,IACrB;AAAA,IAED,CAACQ,KACA,gBAAAqB,EAACC,IAAA,EAAmB,WAAU,YAAW,QAAO,eAAc,gBAAgB,GAC5E,UAAA;AAAA,MAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,aAAY;AAAA,UACZ,UAAS;AAAA,UACT,QAAQ;AAAA,UACR,aAAY;AAAA,UACZ,QAAQlC,KAAuBT,MAAU,qBAAqBF;AAAA,UAE9D,UAAA,gBAAAuC;AAAA,YAACO;AAAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,iBAAgB;AAAA,cAChB,KAAKtC;AAAA,cACL,SAASI;AAAA,cAET,UAAC,gBAAA2B,EAAAQ,IAAA,EAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,YAAA;AAAA,UAC3C;AAAA,QAAA;AAAA,MACF;AAAA,MACA,gBAAAR;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAASb;AAAA,UACT,YAAYrB;AAAA,UACZ,SAASG;AAAA,UACT,mBAAAhB;AAAA,UACA,QAAQ;AAAA,QAAA;AAAA,MACV;AAAA,IAAA,GACF;AAAA,IAEDF,KACC,gBAAA8C,EAACS,IAAA,EAAqB,aAAY,WAChC,UAAA,gBAAAT,EAACU,IAAA,EAAoB,UAAU,GAAG,SAAS,GACzC,UAAC,gBAAAV,EAAAM,GAAA,EAAa,UAAS,WAAU,aAAY,0BAAyB,UAAS,UAC7E,UAAA,gBAAAN,EAACW,IAAS,EAAA,UAAU,GAAG,SAAS,EAAG,CAAA,EACrC,CAAA,EACF,CAAA,GACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEeC,KAAAC,EAAKpE,EAAY;"}
|
1
|
+
{"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../ui/types';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: TUserTypes;\n studentId: string;\n userMilestoneId?: string;\n renderAs: 'homework' | 'milestone';\n shouldOpenOnRight: boolean;\n isInQueue?: boolean;\n}\n\nconst HomeworkCard = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n\n header,\n isInQueue,\n renderAs,\n shouldOpenOnRight,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n}: IHomeworkCardProps) => {\n const isHomeWork = renderAs === 'homework';\n const {\n node_type: nodeType,\n state,\n permissions,\n user_node_id: userNodeId,\n user_milestone_id: nodeDataMilestoneId,\n homework_id: homeworkId,\n } = nodeData;\n\n const milestoneId = userMilestoneId || nodeDataMilestoneId || '';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null);\n const studentContainerRef = useRef<HTMLDivElement>(null);\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, milestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canStart,\n canResume,\n isHomeWork,\n onStudentViewSheet,\n onNodeAttempt,\n nodeData,\n milestoneId,\n homeworkId,\n onStudentMenuClick,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, milestoneId);\n }, [canReview, onNodeView, nodeData, milestoneId, onNodeReview, userNodeId, homeworkId]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, milestoneId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, milestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, milestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n milestoneId,\n ],\n );\n\n const teacherOptions = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const studentOptions = [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n isStudent,\n isHomeWork,\n studentId,\n nodeType,\n canStart,\n canResume,\n homeworkId,\n userNodeId,\n milestoneId,\n ],\n );\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n >\n <HomeworkView\n header={header}\n isInQueue={isInQueue}\n nodeData={nodeData}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n isMilestone={renderAs === 'milestone'}\n />\n </Clickable>\n {isStudent && !isHomeWork && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {!isStudent && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","header","isInQueue","renderAs","shouldOpenOnRight","studentId","subHeader","userMilestoneId","userType","isHomeWork","nodeType","state","permissions","userNodeId","nodeDataMilestoneId","homeworkId","milestoneId","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":";;;;;;;;;;;;;;AAiCA,MAAMA,KAAe,CAAC;AAAA;AAAA,EAEpB,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,wBAAAC;AAAA,EAEA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AACF,MAA0B;AACxB,QAAMC,IAAaN,MAAa,YAC1B;AAAA,IACJ,WAAWO;AAAA,IACX,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAcC;AAAA,IACd,mBAAmBC;AAAA,IACnB,aAAaC;AAAA,EAAA,IACXrB,GAEEsB,IAAcT,KAAmBO,KAAuB,IAExDG,IAAsBC,EAAuB,IAAI,GACjDC,IAAsBD,EAAuB,IAAI,GACjD,EAAE,aAAaE,GAAoB,aAAaC,EAAmB,IACvEC,EAA2BL,CAAmB,GAC1C,EAAE,aAAaM,GAAoB,aAAaC,EAAmB,IACvEF,EAA2BH,CAAmB,GAE1C;AAAA,IACJ,WAAWM;AAAA,IACX,YAAYC;AAAA,IACZ,YAAYC;AAAA,IACZ,cAAcC;AAAA,IACd,WAAWC;AAAA,IACX,wBAAwBC;AAAA,EAAA,IACtBlB,GACEmB,IAAYvB,MAAa,WAEzBwB,IAAqBC,EAAY,MAAM;AAC3C,QAAIN,GAAW;AACT,UAAA,OAAO9B,KAAiB;AACpB,cAAA,IAAI,MAAM,6BAA6B;AAG/C,UAAI,CAACgB;AACG,cAAA,IAAI,MAAM,kDAAkD;AAEpE,MAAAhB,EAAaH,GAAUsB,CAAW;AAElC;AAAA,IAAA;AAAA,EACF,GACC,CAACW,GAAW9B,GAAcgB,GAAYnB,GAAUsB,CAAW,CAAC,GAEzDkB,IAAqBD,EAAY,MAAM;AAC3C,QAAIR,KAAYC,GAAW;AACrB,UAAA,OAAO/B,KAAkB;AACrB,cAAA,IAAI,MAAM,kCAAkC;AAGtC,MAAAA,EAAAD,GAAUsB,GAAaD,CAAU;AAE/C;AAAA,IAAA;AAGF,QAAI,CAACN,GAAY;AACI,MAAAe,EAAA;AAEnB;AAAA,IAAA;AAEiB,IAAAQ,EAAA;AAAA,EAAA,GAClB;AAAA,IACDP;AAAA,IACAC;AAAA,IACAjB;AAAA,IACAuB;AAAA,IACArC;AAAA,IACAD;AAAA,IACAsB;AAAA,IACAD;AAAA,IACAS;AAAA,EAAA,CACD,GAEKW,IAAqBF,EAAY,MAAM;AAC3C,QAAIN,GAAW;AACT,UAAA,OAAO9B,KAAiB;AACpB,cAAA,IAAI,MAAM,iCAAiC;AAGnD,UAAI,CAACgB;AACG,cAAA,IAAI,MAAM,kDAAkD;AAEvD,MAAAhB,EAAAH,GAAUsB,GAAaD,CAAU;AAE9C;AAAA,IAAA;AAGE,QAAA,OAAOhB,KAAe;AAClB,YAAA,IAAI,MAAM,+BAA+B;AAGjD,IAAAA,EAAWL,GAAUsB,CAAW;AAAA,EAAA,GAC/B,CAACW,GAAW5B,GAAYL,GAAUsB,GAAanB,GAAcgB,GAAYE,CAAU,CAAC,GAEjFqB,IAA0BH;AAAA,IAC9B,CAACI,MAAqB;AACpB,cAAQA,GAAU;AAAA,QAChB,KAAK;AACgB,UAAAF,EAAA;AAEnB;AAAA,QACF,KAAK;AACgB,UAAAH,EAAA;AAEnB;AAAA,QACF,KAAK;AACH,UAAAlC,KAAA,QAAAA,EAAiBJ,GAAUsB;AAE3B;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,UAAApB,KAAA,QAAAA,EAAkBF,GAAUsB;AAE5B;AAAA,QAEF,KAAK;AACH,UAAAhB,KAAA,QAAAA,EAAyBN,GAAUsB;AAEnC;AAAA,QAEF;AACE,gBAAM,IAAI,MAAM,4BAA4BqB,CAAQ,EAAE;AAAA,MAAA;AAAA,IAE5D;AAAA,IACA;AAAA,MACE3C;AAAA,MACAM;AAAA,MACAJ;AAAA,MACAE;AAAA,MACAkC;AAAA,MACAG;AAAA,MACAnB;AAAA,IAAA;AAAA,EAEJ,GAEMsB,IAAiB;AAAA,IACrB;AAAA,MACE,IAAI;AAAA,MACJ,OAAOX,IAAY,WAAW;AAAA,MAC9B,MAAMY;AAAA,MACN,UAAU;AAAA,MACV,SAASH;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMI;AAAAA,MACN,UAAU/B,IAAaC,MAAa,YAAY,CAACkB;AAAA,MACjD,SAASQ;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMK;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASO;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMM;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASM;AAAA,IAAA;AAAA,EAEb,GAEMO,IAAiB;AAAA,IACrB;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMJ;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASS;AAAA,IACX;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAMK;AAAA,MACN,UAAU,CAACZ;AAAA,MACX,SAASO;AAAA,IAAA;AAAA,EAEb,GAEMQ,IAAiBC;AAAA,IACrB,MACEC,GAAqB;AAAA,MACnB,WAAApB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAV;AAAA,MACA,YAAAN;AAAA,MACA,WAAAsB;AAAA,MACA,aAAAf;AAAA,MACA,UAAAN;AAAA,MACA,WAAAL;AAAA,MACA,YAAAQ;AAAA,IAAA,CACD;AAAA,IACH;AAAA,MACEkB;AAAA,MACAtB;AAAA,MACAJ;AAAA,MACAK;AAAA,MACAe;AAAA,MACAC;AAAA,MACAX;AAAA,MACAF;AAAA,MACAG;AAAA,IAAA;AAAA,EAEJ;AAEA,2BACG+B,IAAA,EAAqB,WAAU,YAAW,QAAO,eAChD,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAASlB,IAAYG,IAAqBC;AAAA,QAC1C,OAAM;AAAA,QACN,gBAAgBS,EAAe;AAAA,QAC/B,gBAAgBA,EAAe;AAAA,QAE/B,UAAA,gBAAAI;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,QAAAjD;AAAA,YACA,WAAAC;AAAA,YACA,UAAAR;AAAA,YACA,qBAAAyB;AAAA,YACA,WAAAb;AAAA,YACA,UAAAE;AAAA,YACA,aAAaL,MAAa;AAAA,UAAA;AAAA,QAAA;AAAA,MAC5B;AAAA,IACF;AAAA,IACC4B,KAAa,CAACtB,KACb,gBAAAuC;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAASR;AAAA,QACT,YAAYxB;AAAA,QACZ,SAASI;AAAA,QACT,mBAAmB;AAAA,MAAA;AAAA,IACrB;AAAA,IAED,CAACQ,KACA,gBAAAqB,EAACC,IAAA,EAAmB,WAAU,YAAW,QAAO,eAAc,gBAAgB,GAC5E,UAAA;AAAA,MAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,aAAY;AAAA,UACZ,UAAS;AAAA,UACT,QAAQ;AAAA,UACR,aAAY;AAAA,UACZ,QAAQlC,KAAuBT,MAAU,qBAAqBF;AAAA,UAE9D,UAAA,gBAAAuC;AAAA,YAACO;AAAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,iBAAgB;AAAA,cAChB,KAAKtC;AAAA,cACL,SAASI;AAAA,cAET,UAAC,gBAAA2B,EAAAQ,IAAA,EAAiB,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3C;AAAA,MACF;AAAA,MACA,gBAAAR;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAASb;AAAA,UACT,YAAYrB;AAAA,UACZ,SAASG;AAAA,UACT,mBAAAhB;AAAA,UACA,QAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IACV,GACF;AAAA,IAEDF,KACC,gBAAA8C,EAACS,IAAA,EAAqB,aAAY,WAChC,UAAA,gBAAAT,EAACU,IAAA,EAAoB,UAAU,GAAG,SAAS,GACzC,UAAC,gBAAAV,EAAAM,GAAA,EAAa,UAAS,WAAU,aAAY,0BAAyB,UAAS,UAC7E,UAAA,gBAAAN,EAACW,IAAS,EAAA,UAAU,GAAG,SAAS,EAAG,CAAA,EAAA,CACrC,GACF,EACF,CAAA;AAAA,EAAA,GAEJ;AAEJ,GAEeC,KAAAC,EAAKpE,EAAY;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-homeworks.js","sources":["../../../../../src/features/homework/hw-card-list/api/get-homeworks.ts"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3_1 } from '../../../../constants/api';\n\nexport interface IHomeworkDetails {\n assigned_homeworks: INodeDataProps[];\n queued_homeworks: INodeDataProps[];\n}\n\nconst { useGet: useGetHomeworks, invalidate: invalidateHomeworks } = createGetAPI<\n IHomeworkDetails,\n void,\n { stream: string }\n>({\n getURL: (studentId: string, _, { stream }) =>\n `${BASE_URL_V3_1}/users/${studentId}/course-streams/${stream}/homework`,\n});\n\nexport { useGetHomeworks, invalidateHomeworks };\n"],"names":["useGetHomeworks","invalidateHomeworks","createGetAPI","studentId","_","stream","BASE_URL_V3_1"],"mappings":";;AAWA,MAAM,EAAE,QAAQA,GAAiB,YAAYC,EAAA,IAAwBC,EAInE;AAAA,EACA,QAAQ,CAACC,GAAmBC,GAAG,EAAE,QAAAC,
|
1
|
+
{"version":3,"file":"get-homeworks.js","sources":["../../../../../src/features/homework/hw-card-list/api/get-homeworks.ts"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3_1 } from '../../../../constants/api';\n\nexport interface IHomeworkDetails {\n assigned_homeworks: INodeDataProps[];\n queued_homeworks: INodeDataProps[];\n}\n\nconst { useGet: useGetHomeworks, invalidate: invalidateHomeworks } = createGetAPI<\n IHomeworkDetails,\n void,\n { stream: string }\n>({\n getURL: (studentId: string, _, { stream }) =>\n `${BASE_URL_V3_1}/users/${studentId}/course-streams/${stream}/homework`,\n});\n\nexport { useGetHomeworks, invalidateHomeworks };\n"],"names":["useGetHomeworks","invalidateHomeworks","createGetAPI","studentId","_","stream","BASE_URL_V3_1"],"mappings":";;AAWA,MAAM,EAAE,QAAQA,GAAiB,YAAYC,EAAA,IAAwBC,EAInE;AAAA,EACA,QAAQ,CAACC,GAAmBC,GAAG,EAAE,QAAAC,EAC/B,MAAA,GAAGC,CAAa,UAAUH,CAAS,mBAAmBE,CAAM;AAChE,CAAC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hw-card-list-styled.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-styled.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\n\nexport const ScrollContainer = styled(FlexView)`\n overflow-x: hidden;\n overflow-y: visible;\n padding: 16px 0px 92px 0px;\n margin-bottom: -92px;\n margin-top: -16px;\n`;\n\nexport const ScrollButton = styled(FlexView)<{ $visible: boolean; right: string; left: string }>`\n right: ${({ right }) => right};\n left: ${({ left }) => left};\n width: 32px;\n cursor: pointer;\n transition: opacity 0.3s ease-in-out;\n opacity: ${({ $visible }) => ($visible ? 1 : 0)};\n pointer-events: ${({ $visible }) => ($visible ? 'auto' : 'none')};\n z-index: 10;\n path {\n fill: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const ContentWrapper = styled(FlexView)<{ $disablePointerEvents: boolean }>(\n ({ $disablePointerEvents, theme }) => `\n position: relative;\n pointer-events: auto;\n ${\n $disablePointerEvents &&\n css`\n pointer-events: none;\n :after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${theme.colors.GREY_3};\n }\n `\n }\n `,\n);\n\nexport const QueueText = styled(Text)`\n writing-mode: sideways-lr;\n`;\n\nexport const QueueWrapper = styled(FlexView)`\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n height: 8px;\n width: 8px;\n clip-path: polygon(0% 0%, 100% 100%, 0% 100%);\n background-color: ${({ theme }) => theme.colors.BLACK_4};\n top: 50%;\n right: 0;\n transform: translate(50%, calc(-50% + 0px)) rotate(225deg);\n }\n`;\n"],"names":["ScrollContainer","styled","FlexView","ScrollButton","right","left","$visible","theme","ContentWrapper","$disablePointerEvents","css","QueueText","Text","QueueWrapper"],"mappings":";;;AAKa,MAAAA,IAAkBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQjCC,IAAeF,EAAOC,CAAQ;AAAA,WAChC,CAAC,EAAE,OAAAE,EAAM,MAAMA,CAAK;AAAA,UACrB,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;AAAA,aAIf,CAAC,EAAE,UAAAC,EAAA,MAAgBA,IAAW,IAAI,CAAE;AAAA,oBAC7B,CAAC,EAAE,UAAAA,EAAA,MAAgBA,IAAW,SAAS,MAAO;AAAA;AAAA;AAAA,YAGtD,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIhCC,IAAiBP,EAAOC,CAAQ;AAAA,EAC3C,CAAC,EAAE,uBAAAO,GAAuB,OAAAF,
|
1
|
+
{"version":3,"file":"hw-card-list-styled.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-styled.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\n\nexport const ScrollContainer = styled(FlexView)`\n overflow-x: hidden;\n overflow-y: visible;\n padding: 16px 0px 92px 0px;\n margin-bottom: -92px;\n margin-top: -16px;\n`;\n\nexport const ScrollButton = styled(FlexView)<{ $visible: boolean; right: string; left: string }>`\n right: ${({ right }) => right};\n left: ${({ left }) => left};\n width: 32px;\n cursor: pointer;\n transition: opacity 0.3s ease-in-out;\n opacity: ${({ $visible }) => ($visible ? 1 : 0)};\n pointer-events: ${({ $visible }) => ($visible ? 'auto' : 'none')};\n z-index: 10;\n path {\n fill: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const ContentWrapper = styled(FlexView)<{ $disablePointerEvents: boolean }>(\n ({ $disablePointerEvents, theme }) => `\n position: relative;\n pointer-events: auto;\n ${\n $disablePointerEvents &&\n css`\n pointer-events: none;\n :after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${theme.colors.GREY_3};\n }\n `\n }\n `,\n);\n\nexport const QueueText = styled(Text)`\n writing-mode: sideways-lr;\n`;\n\nexport const QueueWrapper = styled(FlexView)`\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n height: 8px;\n width: 8px;\n clip-path: polygon(0% 0%, 100% 100%, 0% 100%);\n background-color: ${({ theme }) => theme.colors.BLACK_4};\n top: 50%;\n right: 0;\n transform: translate(50%, calc(-50% + 0px)) rotate(225deg);\n }\n`;\n"],"names":["ScrollContainer","styled","FlexView","ScrollButton","right","left","$visible","theme","ContentWrapper","$disablePointerEvents","css","QueueText","Text","QueueWrapper"],"mappings":";;;AAKa,MAAAA,IAAkBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQjCC,IAAeF,EAAOC,CAAQ;AAAA,WAChC,CAAC,EAAE,OAAAE,EAAM,MAAMA,CAAK;AAAA,UACrB,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;AAAA,aAIf,CAAC,EAAE,UAAAC,EAAA,MAAgBA,IAAW,IAAI,CAAE;AAAA,oBAC7B,CAAC,EAAE,UAAAA,EAAA,MAAgBA,IAAW,SAAS,MAAO;AAAA;AAAA;AAAA,YAGtD,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIhCC,IAAiBP,EAAOC,CAAQ;AAAA,EAC3C,CAAC,EAAE,uBAAAO,GAAuB,OAAAF,QAAY;AAAA;AAAA;AAAA,MAIlCE,KACAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASkBH,EAAM,OAAO,MAAM;AAAA;AAAA,OAGvC;AAAA;AAEJ,GAEaI,IAAYV,EAAOW,CAAI;AAAA;AAAA,GAIvBC,IAAeZ,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASnB,CAAC,EAAE,OAAAK,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hw-card-list-utils.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-utils.ts"],"sourcesContent":["import type { IHomeworkDetails } from './api/get-homeworks';\n\nconst getWaitForReviewSheetsCount = (hwDetails: IHomeworkDetails | undefined): number => {\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n return (\n assignedHomeworks.filter(hw => hw.state === 'WAIT_FOR_REVIEW').length +\n queuedHomeworks.filter(hw => hw.state === 'WAIT_FOR_REVIEW').length\n );\n};\n\nexport { getWaitForReviewSheetsCount };\n"],"names":["getWaitForReviewSheetsCount","hwDetails","assignedHomeworks","queuedHomeworks","hw"],"mappings":"AAEM,MAAAA,IAA8B,CAACC,MAAoD;AACjF,QAAA,EAAE,oBAAoBC,IAAoB,
|
1
|
+
{"version":3,"file":"hw-card-list-utils.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-utils.ts"],"sourcesContent":["import type { IHomeworkDetails } from './api/get-homeworks';\n\nconst getWaitForReviewSheetsCount = (hwDetails: IHomeworkDetails | undefined): number => {\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n return (\n assignedHomeworks.filter(hw => hw.state === 'WAIT_FOR_REVIEW').length +\n queuedHomeworks.filter(hw => hw.state === 'WAIT_FOR_REVIEW').length\n );\n};\n\nexport { getWaitForReviewSheetsCount };\n"],"names":["getWaitForReviewSheetsCount","hwDetails","assignedHomeworks","queuedHomeworks","hw"],"mappings":"AAEM,MAAAA,IAA8B,CAACC,MAAoD;AACjF,QAAA,EAAE,oBAAoBC,IAAoB,CAAC,GAAG,kBAAkBC,IAAkB,CAAA,MACtFF,KAAa,CAAC;AAEhB,SACEC,EAAkB,OAAO,CAAME,MAAAA,EAAG,UAAU,iBAAiB,EAAE,SAC/DD,EAAgB,OAAO,CAAAC,MAAMA,EAAG,UAAU,iBAAiB,EAAE;AAEjE;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IHomeworkDetails } from './api/get-homeworks';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport * as Styled from './hw-card-list-styled';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\n\ninterface IHwCardListView extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n isHwProcessing: boolean;\n hwDetails?: IHomeworkDetails;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n}\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n}) => {\n const [isLeftHovered, setIsLeftHovered] = useState(false);\n const [isRightHovered, setIsRightHovered] = useState(false);\n const scrollRef = useRef<HTMLDivElement>(null);\n\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n const totalHWSheetsCount = useMemo(\n () => assignedHomeworks.length + queuedHomeworks.length,\n [assignedHomeworks, queuedHomeworks],\n );\n const waitForReviewSheets = useMemo(() => getWaitForReviewSheetsCount(hwDetails), [hwDetails]);\n\n const updatedCanScroll = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n\n if (scrollLeft < scrollWidth - clientWidth - 1) {\n setIsRightHovered(true);\n }\n }\n }, []);\n const handleHoverEnter = useCallback(() => {\n if (!scrollRef.current) return;\n\n updatedCanScroll();\n }, [updatedCanScroll]);\n\n const handleHoverLeave = useCallback(() => {\n setIsLeftHovered(false);\n setIsRightHovered(false);\n }, []);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n useEffect(() => {\n if (hwDetails && scrollRef.current) {\n const { scrollLeft } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n }\n }, [hwDetails]);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n scrollElement.addEventListener('scroll', updatedCanScroll);\n\n return () => {\n scrollElement.removeEventListener('scroll', updatedCanScroll);\n };\n }\n }, [updatedCanScroll]);\n\n if (totalHWSheetsCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({waitForReviewSheets}/{totalHWSheetsCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleHoverEnter}\n onMouseLeave={handleHoverLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={isLeftHovered}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {assignedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n <HomeworkCard\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n\n {queuedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n <HomeworkCard\n isInQueue\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.ScrollContainer>\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={isRightHovered}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","isLeftHovered","setIsLeftHovered","useState","isRightHovered","setIsRightHovered","scrollRef","useRef","assignedHomeworks","queuedHomeworks","totalHWSheetsCount","useMemo","waitForReviewSheets","getWaitForReviewSheetsCount","updatedCanScroll","useCallback","scrollLeft","scrollWidth","clientWidth","handleHoverEnter","handleHoverLeave","handleScrollLeft","handleScrollRight","useEffect","scrollElement","jsxs","FlexView","jsx","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","sheet","idx","nodeId","worksheetId","nodeType","title","subtext","isDynamicSheet","HomeworkCard","Styled.QueueWrapper","Styled.QueueText","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IHomeworkDetails } from './api/get-homeworks';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport * as Styled from './hw-card-list-styled';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\n\ninterface IHwCardListView extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n isHwProcessing: boolean;\n hwDetails?: IHomeworkDetails;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n}\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n}) => {\n const [isLeftHovered, setIsLeftHovered] = useState(false);\n const [isRightHovered, setIsRightHovered] = useState(false);\n const scrollRef = useRef<HTMLDivElement>(null);\n\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n const totalHWSheetsCount = useMemo(\n () => assignedHomeworks.length + queuedHomeworks.length,\n [assignedHomeworks, queuedHomeworks],\n );\n const waitForReviewSheets = useMemo(() => getWaitForReviewSheetsCount(hwDetails), [hwDetails]);\n\n const updatedCanScroll = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n\n if (scrollLeft < scrollWidth - clientWidth - 1) {\n setIsRightHovered(true);\n }\n }\n }, []);\n const handleHoverEnter = useCallback(() => {\n if (!scrollRef.current) return;\n\n updatedCanScroll();\n }, [updatedCanScroll]);\n\n const handleHoverLeave = useCallback(() => {\n setIsLeftHovered(false);\n setIsRightHovered(false);\n }, []);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n useEffect(() => {\n if (hwDetails && scrollRef.current) {\n const { scrollLeft } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n }\n }, [hwDetails]);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n scrollElement.addEventListener('scroll', updatedCanScroll);\n\n return () => {\n scrollElement.removeEventListener('scroll', updatedCanScroll);\n };\n }\n }, [updatedCanScroll]);\n\n if (totalHWSheetsCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({waitForReviewSheets}/{totalHWSheetsCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleHoverEnter}\n onMouseLeave={handleHoverLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={isLeftHovered}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {assignedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n <HomeworkCard\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n\n {queuedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n <HomeworkCard\n isInQueue\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.ScrollContainer>\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={isRightHovered}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","isLeftHovered","setIsLeftHovered","useState","isRightHovered","setIsRightHovered","scrollRef","useRef","assignedHomeworks","queuedHomeworks","totalHWSheetsCount","useMemo","waitForReviewSheets","getWaitForReviewSheetsCount","updatedCanScroll","useCallback","scrollLeft","scrollWidth","clientWidth","handleHoverEnter","handleHoverLeave","handleScrollLeft","handleScrollRight","useEffect","scrollElement","jsxs","FlexView","jsx","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","sheet","idx","nodeId","worksheetId","nodeType","title","subtext","isDynamicSheet","HomeworkCard","Styled.QueueWrapper","Styled.QueueText","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hw-card-list.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { IHomepageStartJourneyProps } from '../../journey/hooks/use-home-page-journey/homepage-journey-types';\nimport type { TUserTypes } from '../../ui/types';\n\nimport React, { memo, useCallback, useEffect } from 'react';\n\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { useGetHomeworks } from './api/get-homeworks';\nimport HwCardListView from './hw-card-list-view';\n\ninterface HWCardListProps extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n stream: string;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n homeworkRef?: React.RefObject<HTMLDivElement>;\n startHomePageJourney?: ({ studentId, stream, userType }: IHomepageStartJourneyProps) => void;\n canStartJourney?: boolean;\n}\n\nconst HWCardList: React.FC<HWCardListProps> = ({\n userType,\n studentId,\n stream,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n homeworkRef,\n startHomePageJourney,\n canStartJourney,\n}) => {\n const {\n get: getHomeworks,\n data: hwDetails,\n isProcessingFailed,\n isProcessing,\n isProcessed,\n isStale,\n } = useGetHomeworks(studentId);\n const { isJourneyActive } = useJourney();\n\n useEffect(() => {\n if (isProcessed && startHomePageJourney && !isJourneyActive && canStartJourney) {\n startHomePageJourney({ studentId, stream, userType });\n }\n }, [\n canStartJourney,\n isJourneyActive,\n isProcessed,\n startHomePageJourney,\n stream,\n studentId,\n userType,\n ]);\n\n const fetchHomeworks = useCallback(() => {\n getHomeworks(studentId, undefined, { stream });\n }, [getHomeworks, stream, studentId]);\n\n useEffect(() => {\n if (!isProcessing && isStale) {\n fetchHomeworks();\n }\n }, [fetchHomeworks, isProcessing, isStale]);\n\n useEffect(() => {\n fetchHomeworks();\n }, [fetchHomeworks]);\n\n if (isProcessingFailed) {\n return null;\n }\n\n return (\n <div ref={homeworkRef}>\n <HwCardListView\n isHwProcessing={isProcessing}\n hwDetails={hwDetails}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onTestPreview={onTestPreview}\n onNodeView={onNodeView}\n onTestReview={onTestReview}\n onNodeReview={onNodeReview}\n onNodeUnassign={onNodeUnassign}\n userType={userType}\n studentId={studentId}\n />\n </div>\n );\n};\n\nexport default memo(HWCardList);\n"],"names":["HWCardList","userType","studentId","stream","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","homeworkRef","startHomePageJourney","canStartJourney","getHomeworks","hwDetails","isProcessingFailed","isProcessing","isProcessed","isStale","useGetHomeworks","isJourneyActive","useJourney","useEffect","fetchHomeworks","useCallback","jsx","HwCardListView","hwCardList","memo"],"mappings":";;;;;AAyBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,iBAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,oBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEC,EAAgBlB,CAAS,GACvB,EAAE,iBAAAmB,
|
1
|
+
{"version":3,"file":"hw-card-list.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { IHomepageStartJourneyProps } from '../../journey/hooks/use-home-page-journey/homepage-journey-types';\nimport type { TUserTypes } from '../../ui/types';\n\nimport React, { memo, useCallback, useEffect } from 'react';\n\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { useGetHomeworks } from './api/get-homeworks';\nimport HwCardListView from './hw-card-list-view';\n\ninterface HWCardListProps extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n stream: string;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n homeworkRef?: React.RefObject<HTMLDivElement>;\n startHomePageJourney?: ({ studentId, stream, userType }: IHomepageStartJourneyProps) => void;\n canStartJourney?: boolean;\n}\n\nconst HWCardList: React.FC<HWCardListProps> = ({\n userType,\n studentId,\n stream,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n homeworkRef,\n startHomePageJourney,\n canStartJourney,\n}) => {\n const {\n get: getHomeworks,\n data: hwDetails,\n isProcessingFailed,\n isProcessing,\n isProcessed,\n isStale,\n } = useGetHomeworks(studentId);\n const { isJourneyActive } = useJourney();\n\n useEffect(() => {\n if (isProcessed && startHomePageJourney && !isJourneyActive && canStartJourney) {\n startHomePageJourney({ studentId, stream, userType });\n }\n }, [\n canStartJourney,\n isJourneyActive,\n isProcessed,\n startHomePageJourney,\n stream,\n studentId,\n userType,\n ]);\n\n const fetchHomeworks = useCallback(() => {\n getHomeworks(studentId, undefined, { stream });\n }, [getHomeworks, stream, studentId]);\n\n useEffect(() => {\n if (!isProcessing && isStale) {\n fetchHomeworks();\n }\n }, [fetchHomeworks, isProcessing, isStale]);\n\n useEffect(() => {\n fetchHomeworks();\n }, [fetchHomeworks]);\n\n if (isProcessingFailed) {\n return null;\n }\n\n return (\n <div ref={homeworkRef}>\n <HwCardListView\n isHwProcessing={isProcessing}\n hwDetails={hwDetails}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onTestPreview={onTestPreview}\n onNodeView={onNodeView}\n onTestReview={onTestReview}\n onNodeReview={onNodeReview}\n onNodeUnassign={onNodeUnassign}\n userType={userType}\n studentId={studentId}\n />\n </div>\n );\n};\n\nexport default memo(HWCardList);\n"],"names":["HWCardList","userType","studentId","stream","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","homeworkRef","startHomePageJourney","canStartJourney","getHomeworks","hwDetails","isProcessingFailed","isProcessing","isProcessed","isStale","useGetHomeworks","isJourneyActive","useJourney","useEffect","fetchHomeworks","useCallback","jsx","HwCardListView","hwCardList","memo"],"mappings":";;;;;AAyBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,iBAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,oBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEC,EAAgBlB,CAAS,GACvB,EAAE,iBAAAmB,EAAgB,IAAIC,EAAW;AAEvC,EAAAC,EAAU,MAAM;AACd,IAAIL,KAAeN,KAAwB,CAACS,KAAmBR,KAC7DD,EAAqB,EAAE,WAAAV,GAAW,QAAAC,GAAQ,UAAAF,EAAA,CAAU;AAAA,EACtD,GACC;AAAA,IACDY;AAAA,IACAQ;AAAA,IACAH;AAAA,IACAN;AAAA,IACAT;AAAA,IACAD;AAAA,IACAD;AAAA,EAAA,CACD;AAEK,QAAAuB,IAAiBC,EAAY,MAAM;AACvC,IAAAX,EAAaZ,GAAW,QAAW,EAAE,QAAAC,EAAA,CAAQ;AAAA,EAC5C,GAAA,CAACW,GAAcX,GAAQD,CAAS,CAAC;AAYpC,SAVAqB,EAAU,MAAM;AACV,IAAA,CAACN,KAAgBE,KACJK,EAAA;AAAA,EAEhB,GAAA,CAACA,GAAgBP,GAAcE,CAAO,CAAC,GAE1CI,EAAU,MAAM;AACC,IAAAC,EAAA;AAAA,EAAA,GACd,CAACA,CAAc,CAAC,GAEfR,IACK,OAIP,gBAAAU,EAAC,OAAI,EAAA,KAAKf,GACR,UAAA,gBAAAe;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBV;AAAA,MAChB,WAAAF;AAAA,MACA,aAAAX;AAAA,MACA,eAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAT;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GAEe0B,IAAAC,EAAK7B,CAAU;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node-progress.js","sources":["../../../src/features/homework/node-progress.tsx"],"sourcesContent":["import type { TColorNames } from '../ui/types';\n\nimport { differenceInDays } from 'date-fns';\nimport React, { memo } from 'react';\nimport styled from 'styled-components';\n\nimport FlexView from '../ui/layout/flex-view';\n\ninterface NodeProgressProps {\n unlockedOn: number | string | Date;\n dueDate: number | string | Date;\n progressBg: TColorNames;\n}\n\nconst ProgressBar = styled(FlexView)<{ progress: number }>`\n height: 100%;\n border-radius: 4px;\n transition: all 300ms;\n width: ${props => props.progress}%;\n`;\n\nconst ProgressContainer = styled(FlexView)`\n position: absolute;\n top: -1px;\n right: 0px;\n width: 100%;\n height: 2px;\n background-color: ${props => props.theme.colors.BLACK};\n z-index: 2;\n`;\n\nconst NodeProgress: React.FC<NodeProgressProps> = ({ unlockedOn, dueDate, progressBg }) => {\n const calculateProgress = () => {\n const totalDays = differenceInDays(dueDate, unlockedOn);\n const daysElapsed = differenceInDays(new Date(), unlockedOn);\n\n if (daysElapsed > totalDays) return 100;\n\n const progress = Math.min(Math.max((daysElapsed / totalDays) * 100, 0), 100);\n\n return progress;\n };\n\n const progress = calculateProgress();\n\n return (\n <ProgressContainer>\n <ProgressBar progress={progress} $background={progressBg} />\n </ProgressContainer>\n );\n};\n\nexport default memo(NodeProgress);\n"],"names":["ProgressBar","styled","FlexView","props","ProgressContainer","NodeProgress","unlockedOn","dueDate","progressBg","progress","totalDays","differenceInDays","daysElapsed","jsx","NodeProgress$1","memo"],"mappings":";;;;;AAcA,MAAMA,IAAcC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,WAIxB,CAAAC,MAASA,EAAM,QAAQ;AAAA,GAG5BC,IAAoBH,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMnB,CAASC,MAAAA,EAAM,MAAM,OAAO,KAAK;AAAA;AAAA,GAIjDE,IAA4C,CAAC,EAAE,YAAAC,GAAY,SAAAC,GAAS,YAAAC,QAAiB;AAYzF,QAAMC,KAXoB,MAAM;AACxB,UAAAC,IAAYC,EAAiBJ,GAASD,CAAU,GAChDM,IAAcD,EAAqB,oBAAA,
|
1
|
+
{"version":3,"file":"node-progress.js","sources":["../../../src/features/homework/node-progress.tsx"],"sourcesContent":["import type { TColorNames } from '../ui/types';\n\nimport { differenceInDays } from 'date-fns';\nimport React, { memo } from 'react';\nimport styled from 'styled-components';\n\nimport FlexView from '../ui/layout/flex-view';\n\ninterface NodeProgressProps {\n unlockedOn: number | string | Date;\n dueDate: number | string | Date;\n progressBg: TColorNames;\n}\n\nconst ProgressBar = styled(FlexView)<{ progress: number }>`\n height: 100%;\n border-radius: 4px;\n transition: all 300ms;\n width: ${props => props.progress}%;\n`;\n\nconst ProgressContainer = styled(FlexView)`\n position: absolute;\n top: -1px;\n right: 0px;\n width: 100%;\n height: 2px;\n background-color: ${props => props.theme.colors.BLACK};\n z-index: 2;\n`;\n\nconst NodeProgress: React.FC<NodeProgressProps> = ({ unlockedOn, dueDate, progressBg }) => {\n const calculateProgress = () => {\n const totalDays = differenceInDays(dueDate, unlockedOn);\n const daysElapsed = differenceInDays(new Date(), unlockedOn);\n\n if (daysElapsed > totalDays) return 100;\n\n const progress = Math.min(Math.max((daysElapsed / totalDays) * 100, 0), 100);\n\n return progress;\n };\n\n const progress = calculateProgress();\n\n return (\n <ProgressContainer>\n <ProgressBar progress={progress} $background={progressBg} />\n </ProgressContainer>\n );\n};\n\nexport default memo(NodeProgress);\n"],"names":["ProgressBar","styled","FlexView","props","ProgressContainer","NodeProgress","unlockedOn","dueDate","progressBg","progress","totalDays","differenceInDays","daysElapsed","jsx","NodeProgress$1","memo"],"mappings":";;;;;AAcA,MAAMA,IAAcC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,WAIxB,CAAAC,MAASA,EAAM,QAAQ;AAAA,GAG5BC,IAAoBH,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMnB,CAASC,MAAAA,EAAM,MAAM,OAAO,KAAK;AAAA;AAAA,GAIjDE,IAA4C,CAAC,EAAE,YAAAC,GAAY,SAAAC,GAAS,YAAAC,QAAiB;AAYzF,QAAMC,KAXoB,MAAM;AACxB,UAAAC,IAAYC,EAAiBJ,GAASD,CAAU,GAChDM,IAAcD,EAAqB,oBAAA,KAAA,GAAQL,CAAU;AAEvD,WAAAM,IAAcF,IAAkB,MAEnB,KAAK,IAAI,KAAK,IAAKE,IAAcF,IAAa,KAAK,CAAC,GAAG,GAAG;AAAA,EAG7E,GAEmC;AAEnC,2BACGN,GACC,EAAA,UAAA,gBAAAS,EAACb,KAAY,UAAAS,GAAoB,aAAaD,GAAY,EAC5D,CAAA;AAEJ,GAEeM,IAAAC,EAAKV,CAAY;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n border-top-width: 2px;\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n border-top-width: 2px;\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: break-spaces;\n`;\n\ninterface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\ninterface ICardOptionsProps {\n $top: number;\n $left: number;\n}\n\nexport const CardOptions = styled(FlexView)<ICardOptionsProps>``;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n z-index: 6;\n top: calc(100% - 36px);\n right: 12px;\n transform-origin: top;\n transform: scaleY(1);\n`;\n\nexport const BlurContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n`;\n\nexport const BlurFlexView = styled(FlexView)`\n position: absolute;\n right: 42px;\n top: 24px;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$shouldopenonright","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","$disabled","MenuWrapper","BlurContainer","BlurFlexView"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,oBAAAK;AAAA,EACA,UAAAC;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKID,IAAqB,IAAI,MAAM;AAAA;AAAA,wBAEpBC,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,GAK9B,GAEYC,IAAgBR,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,wBAGpC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,GAK5CO,IAAcT,EAAOC,CAAQ,EAAqB,CAAC,EAAE,UAAAS,QAC5DA,IACK;AAAA,8BACmBA,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ7B,mBACR,GAEYC,IAAcX,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAM7BW,IAAqBZ,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCY,IAAcb,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AAC7C,QAAA,EAAE,QAAAY,
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n border-top-width: 2px;\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n border-top-width: 2px;\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: break-spaces;\n`;\n\ninterface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\ninterface ICardOptionsProps {\n $top: number;\n $left: number;\n}\n\nexport const CardOptions = styled(FlexView)<ICardOptionsProps>``;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n z-index: 6;\n top: calc(100% - 36px);\n right: 12px;\n transform-origin: top;\n transform: scaleY(1);\n`;\n\nexport const BlurContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n`;\n\nexport const BlurFlexView = styled(FlexView)`\n position: absolute;\n right: 42px;\n top: 24px;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$shouldopenonright","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","$disabled","MenuWrapper","BlurContainer","BlurFlexView"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,oBAAAK;AAAA,EACA,UAAAC;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKID,IAAqB,IAAI,MAAM;AAAA;AAAA,wBAEpBC,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,GAK9B,GAEYC,IAAgBR,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,wBAGpC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,GAK5CO,IAAcT,EAAOC,CAAQ,EAAqB,CAAC,EAAE,UAAAS,QAC5DA,IACK;AAAA,8BACmBA,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ7B,mBACR,GAEYC,IAAcX,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAM7BW,IAAqBZ,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCY,IAAcb,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AAC7C,QAAA,EAAE,QAAAY,MAAWZ,EAAM;AAElB,SAAA;AAAA,wBACeA,EAAM,OAAO,UAAU;AAAA,aAClCY,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEYC,IAAmBf,EAAOgB,CAAU;AAAA;AAAA,cAEnC,CAAC,EAAE,OAAAd,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIlCe,IAAajB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBVJ,EAAOC,CAAQ;AAETD,EAAOC,CAAQ,EAA2B,CAAC;AAAA,EAC1E,OAAAC;AAAA,EACA,WAAAgB;AACF,MACS;AAAA,cACKA,IAAY,gBAAgB,SAAS;AAAA;AAAA;AAAA,oBAG/BA,IAAY,gBAAgBhB,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIpDA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGjC;AAEyBF,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAMxB,MAAAe,IAAcnB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS7BmB,IAAgBpB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS/BoB,IAAerB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/features/homework/utils.ts"],"sourcesContent":["import type { TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\n\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { NODE_TYPE } from '../sheets/constants/sheet';\nimport { HOMEWORK_ANALYTICS_EVENTS } from './homework-analytics-events';\n\ninterface IGetCardAnalyticProps {\n canResume: boolean;\n canStart: boolean;\n homeworkId?: string;\n isHomeWork: boolean;\n isStudent: boolean;\n milestoneId?: string;\n nodeType: TNodeTypes;\n studentId: string;\n userNodeId: string | null;\n}\n\nconst getCardAnalyticProps = ({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n}: IGetCardAnalyticProps) => {\n if (isStudent) {\n if (isHomeWork) {\n if (canStart || canResume) {\n return {\n analyticsLabel: HOMEWORK_ANALYTICS_EVENTS.HOMEWORK_ATTEMPTED,\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n return {\n analyticsLabel: 'homework-student-menu',\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n if (canStart || canResume) {\n return {\n analyticsLabel:\n nodeType === NODE_TYPE.DYNAMIC\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : 'node-attempted',\n analyticsProps: {\n student_id: studentId,\n node_type: nodeType,\n user_node_id: userNodeId,\n milestone_id: milestoneId,\n can_start: canStart,\n can_resume: canResume,\n },\n };\n }\n }\n\n if (isHomeWork) {\n return {\n analyticsLabel: 'homework-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n }\n\n return {\n analyticsLabel: 'goals-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n};\n\nexport { getCardAnalyticProps };\n"],"names":["getCardAnalyticProps","canResume","canStart","homeworkId","isHomeWork","isStudent","milestoneId","nodeType","studentId","userNodeId","HOMEWORK_ANALYTICS_EVENTS","NODE_TYPE","TESTS_CREATION_ANALYTICS_EVENTS"],"mappings":";;;AAkBA,MAAMA,IAAuB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AACF,MAA6B;AAC3B,MAAIJ,GAAW;AACb,QAAID;AACF,aAAIF,KAAYD,IACP;AAAA,QACL,gBAAgBS,EAA0B;AAAA,QAC1C,gBAAgB,EAAE,YAAYF,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/features/homework/utils.ts"],"sourcesContent":["import type { TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\n\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { NODE_TYPE } from '../sheets/constants/sheet';\nimport { HOMEWORK_ANALYTICS_EVENTS } from './homework-analytics-events';\n\ninterface IGetCardAnalyticProps {\n canResume: boolean;\n canStart: boolean;\n homeworkId?: string;\n isHomeWork: boolean;\n isStudent: boolean;\n milestoneId?: string;\n nodeType: TNodeTypes;\n studentId: string;\n userNodeId: string | null;\n}\n\nconst getCardAnalyticProps = ({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n}: IGetCardAnalyticProps) => {\n if (isStudent) {\n if (isHomeWork) {\n if (canStart || canResume) {\n return {\n analyticsLabel: HOMEWORK_ANALYTICS_EVENTS.HOMEWORK_ATTEMPTED,\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n return {\n analyticsLabel: 'homework-student-menu',\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n if (canStart || canResume) {\n return {\n analyticsLabel:\n nodeType === NODE_TYPE.DYNAMIC\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : 'node-attempted',\n analyticsProps: {\n student_id: studentId,\n node_type: nodeType,\n user_node_id: userNodeId,\n milestone_id: milestoneId,\n can_start: canStart,\n can_resume: canResume,\n },\n };\n }\n }\n\n if (isHomeWork) {\n return {\n analyticsLabel: 'homework-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n }\n\n return {\n analyticsLabel: 'goals-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n};\n\nexport { getCardAnalyticProps };\n"],"names":["getCardAnalyticProps","canResume","canStart","homeworkId","isHomeWork","isStudent","milestoneId","nodeType","studentId","userNodeId","HOMEWORK_ANALYTICS_EVENTS","NODE_TYPE","TESTS_CREATION_ANALYTICS_EVENTS"],"mappings":";;;AAkBA,MAAMA,IAAuB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AACF,MAA6B;AAC3B,MAAIJ,GAAW;AACb,QAAID;AACF,aAAIF,KAAYD,IACP;AAAA,QACL,gBAAgBS,EAA0B;AAAA,QAC1C,gBAAgB,EAAE,YAAYF,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MACxF,IAGK;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB,EAAE,YAAYK,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MACxF;AAGF,QAAID,KAAYD;AACP,aAAA;AAAA,QACL,gBACEM,MAAaI,EAAU,UACnBC,EAAgC,wBAChC;AAAA,QACN,gBAAgB;AAAA,UACd,YAAYJ;AAAA,UACZ,WAAWD;AAAA,UACX,cAAcE;AAAA,UACd,cAAcH;AAAA,UACd,WAAWJ;AAAA,UACX,YAAYD;AAAA,QAAA;AAAA,MAEhB;AAAA,EACF;AAGF,SAAIG,IACK;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYI,GAAW,WAAWD,EAAS;AAAA,EAC/D,IAGK;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYC,GAAW,WAAWD,EAAS;AAAA,EAC/D;AACF;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-audio-player.js","sources":["../../../src/features/hooks/use-audio-player.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { useUIContext } from '../ui/context/context';\n\ndeclare global {\n interface Window {\n webkitAudioContext?: AudioContext;\n }\n}\n\nconst useAudioPlayer = (audioUrls: { url: string; name: string }[]) => {\n const [audioBuffers, setAudioBuffers] = useState<Record<string, AudioBuffer | null>>({});\n\n const context = useMemo(() => {\n const audioContext = new (AudioContext || window.webkitAudioContext)();\n\n return audioContext;\n }, []);\n\n const { onEvent: trackEvent } = useUIContext();\n\n const getAudioBuffer = useCallback(\n async (url: string, name: string) => {\n try {\n const response = await fetch(url);\n const arrayBuffer = await response.arrayBuffer();\n const audioBuffer = await context.decodeAudioData(arrayBuffer);\n\n setAudioBuffers(prev => ({ ...prev, [name]: audioBuffer }));\n } catch (e) {\n trackEvent('audio_fetch_failed', { error: e });\n }\n },\n [context, trackEvent],\n );\n\n useEffect(() => {\n audioUrls.forEach(({ url, name }) => {\n getAudioBuffer(url, name);\n });\n\n return () => {\n try {\n context.close();\n } catch (e) {\n trackEvent('audio_context_closing_failed', { error: e });\n }\n };\n }, [audioUrls, context, getAudioBuffer, trackEvent]);\n\n const playSound = useCallback(\n (name: string) => {\n const buffer = audioBuffers[name];\n\n if (!buffer) {\n trackEvent('audio_buffer_not_found', { name });\n\n return;\n }\n\n const source = context.createBufferSource();\n\n source.buffer = buffer;\n source.connect(context.destination);\n source.start();\n },\n [audioBuffers, context, trackEvent],\n );\n\n return playSound;\n};\n\nexport default useAudioPlayer;\n"],"names":["useAudioPlayer","audioUrls","audioBuffers","setAudioBuffers","useState","context","useMemo","trackEvent","useUIContext","getAudioBuffer","useCallback","url","name","arrayBuffer","audioBuffer","prev","e","useEffect","buffer","source"],"mappings":";;AAUM,MAAAA,IAAiB,CAACC,MAA+C;AACrE,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAA6C,CAAE,
|
1
|
+
{"version":3,"file":"use-audio-player.js","sources":["../../../src/features/hooks/use-audio-player.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { useUIContext } from '../ui/context/context';\n\ndeclare global {\n interface Window {\n webkitAudioContext?: AudioContext;\n }\n}\n\nconst useAudioPlayer = (audioUrls: { url: string; name: string }[]) => {\n const [audioBuffers, setAudioBuffers] = useState<Record<string, AudioBuffer | null>>({});\n\n const context = useMemo(() => {\n const audioContext = new (AudioContext || window.webkitAudioContext)();\n\n return audioContext;\n }, []);\n\n const { onEvent: trackEvent } = useUIContext();\n\n const getAudioBuffer = useCallback(\n async (url: string, name: string) => {\n try {\n const response = await fetch(url);\n const arrayBuffer = await response.arrayBuffer();\n const audioBuffer = await context.decodeAudioData(arrayBuffer);\n\n setAudioBuffers(prev => ({ ...prev, [name]: audioBuffer }));\n } catch (e) {\n trackEvent('audio_fetch_failed', { error: e });\n }\n },\n [context, trackEvent],\n );\n\n useEffect(() => {\n audioUrls.forEach(({ url, name }) => {\n getAudioBuffer(url, name);\n });\n\n return () => {\n try {\n context.close();\n } catch (e) {\n trackEvent('audio_context_closing_failed', { error: e });\n }\n };\n }, [audioUrls, context, getAudioBuffer, trackEvent]);\n\n const playSound = useCallback(\n (name: string) => {\n const buffer = audioBuffers[name];\n\n if (!buffer) {\n trackEvent('audio_buffer_not_found', { name });\n\n return;\n }\n\n const source = context.createBufferSource();\n\n source.buffer = buffer;\n source.connect(context.destination);\n source.start();\n },\n [audioBuffers, context, trackEvent],\n );\n\n return playSound;\n};\n\nexport default useAudioPlayer;\n"],"names":["useAudioPlayer","audioUrls","audioBuffers","setAudioBuffers","useState","context","useMemo","trackEvent","useUIContext","getAudioBuffer","useCallback","url","name","arrayBuffer","audioBuffer","prev","e","useEffect","buffer","source"],"mappings":";;AAUM,MAAAA,IAAiB,CAACC,MAA+C;AACrE,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAA6C,CAAA,CAAE,GAEjFC,IAAUC,EAAQ,MACD,KAAK,gBAAgB,OAAO,oBAAoB,GAGpE,EAAE,GAEC,EAAE,SAASC,EAAW,IAAIC,EAAa,GAEvCC,IAAiBC;AAAA,IACrB,OAAOC,GAAaC,MAAiB;AAC/B,UAAA;AAEI,cAAAC,IAAc,OADH,MAAM,MAAMF,CAAG,GACG,YAAY,GACzCG,IAAc,MAAMT,EAAQ,gBAAgBQ,CAAW;AAE7C,QAAAV,EAAA,CAAAY,OAAS,EAAE,GAAGA,GAAM,CAACH,CAAI,GAAGE,IAAc;AAAA,eACnDE,GAAG;AACV,QAAAT,EAAW,sBAAsB,EAAE,OAAOS,EAAA,CAAG;AAAA,MAAA;AAAA,IAEjD;AAAA,IACA,CAACX,GAASE,CAAU;AAAA,EACtB;AAEA,SAAAU,EAAU,OACRhB,EAAU,QAAQ,CAAC,EAAE,KAAAU,GAAK,MAAAC,QAAW;AACnC,IAAAH,EAAeE,GAAKC,CAAI;AAAA,EAAA,CACzB,GAEM,MAAM;AACP,QAAA;AACF,MAAAP,EAAQ,MAAM;AAAA,aACPW,GAAG;AACV,MAAAT,EAAW,gCAAgC,EAAE,OAAOS,EAAA,CAAG;AAAA,IAAA;AAAA,EAE3D,IACC,CAACf,GAAWI,GAASI,GAAgBF,CAAU,CAAC,GAEjCG;AAAA,IAChB,CAACE,MAAiB;AACV,YAAAM,IAAShB,EAAaU,CAAI;AAEhC,UAAI,CAACM,GAAQ;AACA,QAAAX,EAAA,0BAA0B,EAAE,MAAAK,GAAM;AAE7C;AAAA,MAAA;AAGI,YAAAO,IAASd,EAAQ,mBAAmB;AAE1C,MAAAc,EAAO,SAASD,GACTC,EAAA,QAAQd,EAAQ,WAAW,GAClCc,EAAO,MAAM;AAAA,IACf;AAAA,IACA,CAACjB,GAAcG,GAASE,CAAU;AAAA,EACpC;AAGF;"}
|
package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
import { jsx as m } from "react/jsx-runtime";
|
2
|
-
import {
|
2
|
+
import { useState as s, useEffect as E, createContext as d } from "react";
|
3
3
|
import { useUIContext as f } from "../../ui/context/context.js";
|
4
4
|
import { EVENTS as r, SMALL_AUDIO as y, SMALL_VIDEO as P } from "./constants.js";
|
5
5
|
import { USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS as i } from "./use-auto-play-permission-analytics-events.js";
|
6
|
-
const v =
|
6
|
+
const v = d({
|
7
7
|
canAutoPlayAudio: !1,
|
8
8
|
canAutoPlayVideo: !1
|
9
9
|
}), O = ({ children: u }) => {
|
10
10
|
const [l, a] = s(!1), [A, c] = s(!1), { onEvent: o } = f();
|
11
|
-
return
|
11
|
+
return E(() => {
|
12
12
|
const n = () => {
|
13
13
|
a(!0), c(!0), r.forEach((e) => {
|
14
14
|
document.removeEventListener(e, n);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-auto-play-permission-context-provider.js","sources":["../../../../src/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.tsx"],"sourcesContent":["import type { IAutoPlayPermissionContextType } from './use-auto-play-permission-context-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { useState, useEffect, createContext } from 'react';\n\nimport { useUIContext } from '../../ui/context/context';\nimport { EVENTS, SMALL_AUDIO, SMALL_VIDEO } from './constants';\nimport { USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS } from './use-auto-play-permission-analytics-events';\n\nexport const AutoPlayPermissionContext = createContext<IAutoPlayPermissionContextType>({\n canAutoPlayAudio: false,\n canAutoPlayVideo: false,\n});\n\nexport const AutoPlayPermissionProvider: FC<{ children: ReactNode }> = ({ children }) => {\n const [canAutoPlayAudio, setCanAutoPlayAudio] = useState(false);\n const [canAutoPlayVideo, setCanAutoPlayVideo] = useState(false);\n const { onEvent } = useUIContext();\n\n useEffect(() => {\n const enableAutoplay = () => {\n setCanAutoPlayAudio(true);\n setCanAutoPlayVideo(true);\n EVENTS.forEach(event => {\n document.removeEventListener(event, enableAutoplay);\n });\n };\n\n EVENTS.forEach(event => {\n document.addEventListener(event, enableAutoplay);\n });\n\n const handleError = (err: unknown) => {\n if (err instanceof DOMException) {\n err.name !== 'NotAllowedError' &&\n onEvent(USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS.ERROR_LOADING_MEDIA, {\n name: err.name,\n });\n } else {\n // eslint-disable-next-line no-console\n console.log(err);\n onEvent(USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS.ERROR_LOADING_MEDIA, {\n error: err,\n });\n }\n };\n\n // audio autoplay check\n // way to check if autoplay is allowed by the browser for audio\n try {\n new Audio(SMALL_AUDIO) // smallest silent audio file\n .play()\n .then(() => {\n setCanAutoPlayAudio(true);\n })\n .catch(handleError);\n } catch (err) {\n handleError(err);\n }\n\n // video autoplay check\n // way to check if autoplay is allowed by the browserfor video\n try {\n const video = document.createElement('video');\n\n video.src = SMALL_VIDEO; // smallest silent video file\n video.setAttribute('playsinline', 'true');\n\n video\n .play()\n .then(() => {\n setCanAutoPlayVideo(true);\n })\n .catch(handleError)\n .finally(() => {\n video.remove();\n });\n } catch (err) {\n handleError(err);\n }\n\n return () => {\n EVENTS.forEach(event => {\n document.removeEventListener(event, enableAutoplay);\n });\n };\n }, [onEvent]);\n\n return (\n <AutoPlayPermissionContext.Provider value={{ canAutoPlayAudio, canAutoPlayVideo }}>\n {children}\n </AutoPlayPermissionContext.Provider>\n );\n};\n"],"names":["AutoPlayPermissionContext","createContext","AutoPlayPermissionProvider","children","canAutoPlayAudio","setCanAutoPlayAudio","useState","canAutoPlayVideo","setCanAutoPlayVideo","onEvent","useUIContext","useEffect","enableAutoplay","EVENTS","event","handleError","err","USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS","SMALL_AUDIO","video","SMALL_VIDEO","jsx"],"mappings":";;;;;AASO,MAAMA,IAA4BC,EAA8C;AAAA,EACrF,kBAAkB;AAAA,EAClB,kBAAkB;AACpB,CAAC,GAEYC,IAA0D,CAAC,EAAE,UAAAC,QAAe;AACvF,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAS,EAAK,GACxD,CAACC,GAAkBC,CAAmB,IAAIF,EAAS,EAAK,GACxD,EAAE,SAAAG,
|
1
|
+
{"version":3,"file":"use-auto-play-permission-context-provider.js","sources":["../../../../src/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.tsx"],"sourcesContent":["import type { IAutoPlayPermissionContextType } from './use-auto-play-permission-context-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { useState, useEffect, createContext } from 'react';\n\nimport { useUIContext } from '../../ui/context/context';\nimport { EVENTS, SMALL_AUDIO, SMALL_VIDEO } from './constants';\nimport { USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS } from './use-auto-play-permission-analytics-events';\n\nexport const AutoPlayPermissionContext = createContext<IAutoPlayPermissionContextType>({\n canAutoPlayAudio: false,\n canAutoPlayVideo: false,\n});\n\nexport const AutoPlayPermissionProvider: FC<{ children: ReactNode }> = ({ children }) => {\n const [canAutoPlayAudio, setCanAutoPlayAudio] = useState(false);\n const [canAutoPlayVideo, setCanAutoPlayVideo] = useState(false);\n const { onEvent } = useUIContext();\n\n useEffect(() => {\n const enableAutoplay = () => {\n setCanAutoPlayAudio(true);\n setCanAutoPlayVideo(true);\n EVENTS.forEach(event => {\n document.removeEventListener(event, enableAutoplay);\n });\n };\n\n EVENTS.forEach(event => {\n document.addEventListener(event, enableAutoplay);\n });\n\n const handleError = (err: unknown) => {\n if (err instanceof DOMException) {\n err.name !== 'NotAllowedError' &&\n onEvent(USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS.ERROR_LOADING_MEDIA, {\n name: err.name,\n });\n } else {\n // eslint-disable-next-line no-console\n console.log(err);\n onEvent(USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS.ERROR_LOADING_MEDIA, {\n error: err,\n });\n }\n };\n\n // audio autoplay check\n // way to check if autoplay is allowed by the browser for audio\n try {\n new Audio(SMALL_AUDIO) // smallest silent audio file\n .play()\n .then(() => {\n setCanAutoPlayAudio(true);\n })\n .catch(handleError);\n } catch (err) {\n handleError(err);\n }\n\n // video autoplay check\n // way to check if autoplay is allowed by the browserfor video\n try {\n const video = document.createElement('video');\n\n video.src = SMALL_VIDEO; // smallest silent video file\n video.setAttribute('playsinline', 'true');\n\n video\n .play()\n .then(() => {\n setCanAutoPlayVideo(true);\n })\n .catch(handleError)\n .finally(() => {\n video.remove();\n });\n } catch (err) {\n handleError(err);\n }\n\n return () => {\n EVENTS.forEach(event => {\n document.removeEventListener(event, enableAutoplay);\n });\n };\n }, [onEvent]);\n\n return (\n <AutoPlayPermissionContext.Provider value={{ canAutoPlayAudio, canAutoPlayVideo }}>\n {children}\n </AutoPlayPermissionContext.Provider>\n );\n};\n"],"names":["AutoPlayPermissionContext","createContext","AutoPlayPermissionProvider","children","canAutoPlayAudio","setCanAutoPlayAudio","useState","canAutoPlayVideo","setCanAutoPlayVideo","onEvent","useUIContext","useEffect","enableAutoplay","EVENTS","event","handleError","err","USE_AUTO_PLAY_PERMISSION_ANALYTICS_EVENTS","SMALL_AUDIO","video","SMALL_VIDEO","jsx"],"mappings":";;;;;AASO,MAAMA,IAA4BC,EAA8C;AAAA,EACrF,kBAAkB;AAAA,EAClB,kBAAkB;AACpB,CAAC,GAEYC,IAA0D,CAAC,EAAE,UAAAC,QAAe;AACvF,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAS,EAAK,GACxD,CAACC,GAAkBC,CAAmB,IAAIF,EAAS,EAAK,GACxD,EAAE,SAAAG,EAAQ,IAAIC,EAAa;AAEjC,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAiB,MAAM;AAC3B,MAAAP,EAAoB,EAAI,GACxBG,EAAoB,EAAI,GACxBK,EAAO,QAAQ,CAASC,MAAA;AACb,iBAAA,oBAAoBA,GAAOF,CAAc;AAAA,MAAA,CACnD;AAAA,IACH;AAEA,IAAAC,EAAO,QAAQ,CAASC,MAAA;AACb,eAAA,iBAAiBA,GAAOF,CAAc;AAAA,IAAA,CAChD;AAEK,UAAAG,IAAc,CAACC,MAAiB;AACpC,MAAIA,aAAe,eACjBA,EAAI,SAAS,qBACXP,EAAQQ,EAA0C,qBAAqB;AAAA,QACrE,MAAMD,EAAI;AAAA,MAAA,CACX,KAGH,QAAQ,IAAIA,CAAG,GACfP,EAAQQ,EAA0C,qBAAqB;AAAA,QACrE,OAAOD;AAAA,MAAA,CACR;AAAA,IAEL;AAII,QAAA;AACF,UAAI,MAAME,CAAW,EAClB,KAAK,EACL,KAAK,MAAM;AACV,QAAAb,EAAoB,EAAI;AAAA,MAAA,CACzB,EACA,MAAMU,CAAW;AAAA,aACbC,GAAK;AACZ,MAAAD,EAAYC,CAAG;AAAA,IAAA;AAKb,QAAA;AACI,YAAAG,IAAQ,SAAS,cAAc,OAAO;AAE5C,MAAAA,EAAM,MAAMC,GACND,EAAA,aAAa,eAAe,MAAM,GAGrCA,EAAA,OACA,KAAK,MAAM;AACV,QAAAX,EAAoB,EAAI;AAAA,MACzB,CAAA,EACA,MAAMO,CAAW,EACjB,QAAQ,MAAM;AACb,QAAAI,EAAM,OAAO;AAAA,MAAA,CACd;AAAA,aACIH,GAAK;AACZ,MAAAD,EAAYC,CAAG;AAAA,IAAA;AAGjB,WAAO,MAAM;AACX,MAAAH,EAAO,QAAQ,CAASC,MAAA;AACb,iBAAA,oBAAoBA,GAAOF,CAAc;AAAA,MAAA,CACnD;AAAA,IACH;AAAA,EAAA,GACC,CAACH,CAAO,CAAC,GAGV,gBAAAY,EAACrB,EAA0B,UAA1B,EAAmC,OAAO,EAAE,kBAAAI,GAAkB,kBAAAG,KAC5D,UAAAJ,GACH;AAEJ;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-debounce.js","sources":["../../../src/features/hooks/use-debounce.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\nfunction useDebounce<T>(callback: (arg: T) => void, wait: number) {\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const debouncedCallback = useCallback(\n (val: T) => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n callback(val);\n }, wait);\n\n return () => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n },\n [callback, wait],\n );\n\n return debouncedCallback;\n}\n\nexport default useDebounce;\n"],"names":["useDebounce","callback","wait","timeoutIdRef","useRef","useCallback","val"],"mappings":";AAEA,SAASA,EAAeC,GAA4BC,GAAc;AAC1D,QAAAC,IAAeC,EAA6C,IAAI;AAgB/D,SAdmBC;AAAA,IACxB,CAACC,OACKH,EAAa,WAAsB,aAAAA,EAAa,OAAO,GAC9CA,EAAA,UAAU,WAAW,MAAM;AACtC,MAAAF,EAASK,CAAG;AAAA,OACXJ,CAAI,GAEA,MAAM;AACX,MAAIC,EAAa,WAAsB,aAAAA,EAAa,OAAO;AAAA,
|
1
|
+
{"version":3,"file":"use-debounce.js","sources":["../../../src/features/hooks/use-debounce.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\nfunction useDebounce<T>(callback: (arg: T) => void, wait: number) {\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const debouncedCallback = useCallback(\n (val: T) => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n callback(val);\n }, wait);\n\n return () => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n },\n [callback, wait],\n );\n\n return debouncedCallback;\n}\n\nexport default useDebounce;\n"],"names":["useDebounce","callback","wait","timeoutIdRef","useRef","useCallback","val"],"mappings":";AAEA,SAASA,EAAeC,GAA4BC,GAAc;AAC1D,QAAAC,IAAeC,EAA6C,IAAI;AAgB/D,SAdmBC;AAAA,IACxB,CAACC,OACKH,EAAa,WAAsB,aAAAA,EAAa,OAAO,GAC9CA,EAAA,UAAU,WAAW,MAAM;AACtC,MAAAF,EAASK,CAAG;AAAA,OACXJ,CAAI,GAEA,MAAM;AACX,MAAIC,EAAa,WAAsB,aAAAA,EAAa,OAAO;AAAA,IAC7D;AAAA,IAEF,CAACF,GAAUC,CAAI;AAAA,EACjB;AAGF;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-drag-helper.js","sources":["../../../src/features/hooks/use-drag-helper.ts"],"sourcesContent":["import { type RefObject, useRef, useCallback, useEffect, useState } from 'react';\n\ntype TPosition = { top?: number; left?: number; bottom?: number; right?: number };\n\nexport const useDragHelper = (\n elementRef: RefObject<HTMLDivElement>,\n dragEnabled = false,\n initialPosition?: TPosition,\n) => {\n const [currentPosition, setCurrentPosition] = useState<TPosition | undefined>(initialPosition);\n const prevXRef = useRef(0);\n const prevYRef = useRef(0);\n\n const calculatePosition = useCallback(\n (event: MouseEvent | TouchEvent, element: HTMLDivElement) => {\n const { offsetTop, offsetLeft } = element;\n\n let displacementX = 0;\n let displacementY = 0;\n\n if ('clientX' in event && 'clientY' in event) {\n displacementX = event.clientX - prevXRef.current;\n displacementY = event.clientY - prevYRef.current;\n } else if ('changedTouches' in event) {\n const touch = event.changedTouches[0];\n\n if (touch) {\n displacementX = touch.clientX - prevXRef.current;\n displacementY = touch.clientY - prevYRef.current;\n }\n }\n\n return {\n top: offsetTop + displacementY,\n left: offsetLeft + displacementX,\n };\n },\n [],\n );\n\n const onPointerMove = useCallback(\n (event: MouseEvent | TouchEvent) => {\n event.preventDefault();\n const element = elementRef.current;\n\n if (element) {\n const { top, left } = calculatePosition(event, element);\n\n element.style.top = `${top}px`;\n element.style.left = `${left}px`;\n\n if ('clientX' in event && 'clientY' in event) {\n prevXRef.current = event.clientX;\n prevYRef.current = event.clientY;\n } else if ('changedTouches' in event) {\n const touch = event.changedTouches[0];\n\n if (touch) {\n prevXRef.current = touch.clientX;\n prevYRef.current = touch.clientY;\n }\n }\n }\n },\n [calculatePosition, elementRef],\n );\n\n const onMouseUp = useCallback(\n (event: MouseEvent | TouchEvent) => {\n if (!('changedTouches' in event)) {\n event.preventDefault();\n }\n\n const element = elementRef.current;\n\n if (element) {\n const { top, left } = calculatePosition(event, element);\n\n setCurrentPosition({ left, top });\n }\n\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('touchend', onMouseUp);\n document.removeEventListener('mousemove', onPointerMove);\n document.removeEventListener('touchmove', onPointerMove);\n },\n [calculatePosition, elementRef, onPointerMove],\n );\n\n const onMouseDown = useCallback(\n (event: MouseEvent | TouchEvent) => {\n if (!('changedTouches' in event)) {\n event.preventDefault();\n }\n\n if ('clientX' in event && 'clientY' in event) {\n prevXRef.current = event.clientX;\n prevYRef.current = event.clientY;\n } else if ('changedTouches' in event) {\n const touch = event.changedTouches[0];\n\n if (touch) {\n prevXRef.current = touch.clientX;\n prevYRef.current = touch.clientY;\n }\n }\n\n document.addEventListener('mouseup', onMouseUp);\n document.addEventListener('touchend', onMouseUp);\n document.addEventListener('mousemove', onPointerMove);\n document.addEventListener('touchmove', onPointerMove);\n },\n [onMouseUp, onPointerMove],\n );\n\n const validatedPosition = (position: number, elementSize: number, viewSize: number) => {\n const remainingWidth = viewSize - elementSize;\n\n return position < 0 ? 0 : position > remainingWidth ? remainingWidth : position;\n };\n\n const validateElementInViewport = useCallback(() => {\n if (elementRef.current) {\n const { top, left, right, bottom } = currentPosition || {};\n\n const viewWidth = window.innerWidth;\n const viewHeight = window.innerHeight;\n const elementHeight = elementRef.current.offsetHeight;\n const elementWidth = elementRef.current.offsetWidth;\n\n if (typeof top === 'number') {\n const validateTop = validatedPosition(top, elementHeight, viewHeight);\n\n elementRef.current.style.top = `${validateTop}px`;\n } else if (typeof bottom === 'number') {\n const validateBottom = validatedPosition(bottom, elementHeight, viewHeight);\n\n elementRef.current.style.bottom = `${validateBottom}px`;\n } else {\n elementRef.current.style.top = '0px';\n }\n\n if (typeof left === 'number') {\n const validateLeft = validatedPosition(left, elementWidth, viewWidth);\n\n elementRef.current.style.left = `${validateLeft}px`;\n } else if (typeof right === 'number') {\n const validateRight = validatedPosition(right, elementWidth, viewWidth);\n\n elementRef.current.style.right = `${validateRight}px`;\n } else {\n elementRef.current.style.left = '0px';\n }\n }\n }, [currentPosition, elementRef]);\n\n useEffect(() => {\n validateElementInViewport();\n }, [validateElementInViewport, currentPosition]);\n\n useEffect(() => {\n const element = elementRef.current;\n\n if (element && dragEnabled) {\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('touchstart', onMouseDown);\n }\n\n return () => {\n if (element && dragEnabled) {\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('touchstart', onMouseDown);\n }\n };\n }, [onMouseDown, elementRef, dragEnabled]);\n\n return validateElementInViewport;\n};\n"],"names":["useDragHelper","elementRef","dragEnabled","initialPosition","currentPosition","setCurrentPosition","useState","prevXRef","useRef","prevYRef","calculatePosition","useCallback","event","element","offsetTop","offsetLeft","displacementX","displacementY","touch","onPointerMove","top","left","onMouseUp","onMouseDown","validatedPosition","position","elementSize","viewSize","remainingWidth","validateElementInViewport","right","bottom","viewWidth","viewHeight","elementHeight","elementWidth","validateTop","validateBottom","validateLeft","validateRight","useEffect"],"mappings":";AAIO,MAAMA,IAAgB,CAC3BC,GACAC,IAAc,IACdC,MACG;AACH,QAAM,CAACC,GAAiBC,CAAkB,IAAIC,EAAgCH,CAAe,GACvFI,IAAWC,EAAO,CAAC,GACnBC,IAAWD,EAAO,CAAC,GAEnBE,IAAoBC;AAAA,IACxB,CAACC,GAAgCC,MAA4B;AACrD,YAAA,EAAE,WAAAC,GAAW,YAAAC,
|
1
|
+
{"version":3,"file":"use-drag-helper.js","sources":["../../../src/features/hooks/use-drag-helper.ts"],"sourcesContent":["import { type RefObject, useRef, useCallback, useEffect, useState } from 'react';\n\ntype TPosition = { top?: number; left?: number; bottom?: number; right?: number };\n\nexport const useDragHelper = (\n elementRef: RefObject<HTMLDivElement>,\n dragEnabled = false,\n initialPosition?: TPosition,\n) => {\n const [currentPosition, setCurrentPosition] = useState<TPosition | undefined>(initialPosition);\n const prevXRef = useRef(0);\n const prevYRef = useRef(0);\n\n const calculatePosition = useCallback(\n (event: MouseEvent | TouchEvent, element: HTMLDivElement) => {\n const { offsetTop, offsetLeft } = element;\n\n let displacementX = 0;\n let displacementY = 0;\n\n if ('clientX' in event && 'clientY' in event) {\n displacementX = event.clientX - prevXRef.current;\n displacementY = event.clientY - prevYRef.current;\n } else if ('changedTouches' in event) {\n const touch = event.changedTouches[0];\n\n if (touch) {\n displacementX = touch.clientX - prevXRef.current;\n displacementY = touch.clientY - prevYRef.current;\n }\n }\n\n return {\n top: offsetTop + displacementY,\n left: offsetLeft + displacementX,\n };\n },\n [],\n );\n\n const onPointerMove = useCallback(\n (event: MouseEvent | TouchEvent) => {\n event.preventDefault();\n const element = elementRef.current;\n\n if (element) {\n const { top, left } = calculatePosition(event, element);\n\n element.style.top = `${top}px`;\n element.style.left = `${left}px`;\n\n if ('clientX' in event && 'clientY' in event) {\n prevXRef.current = event.clientX;\n prevYRef.current = event.clientY;\n } else if ('changedTouches' in event) {\n const touch = event.changedTouches[0];\n\n if (touch) {\n prevXRef.current = touch.clientX;\n prevYRef.current = touch.clientY;\n }\n }\n }\n },\n [calculatePosition, elementRef],\n );\n\n const onMouseUp = useCallback(\n (event: MouseEvent | TouchEvent) => {\n if (!('changedTouches' in event)) {\n event.preventDefault();\n }\n\n const element = elementRef.current;\n\n if (element) {\n const { top, left } = calculatePosition(event, element);\n\n setCurrentPosition({ left, top });\n }\n\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('touchend', onMouseUp);\n document.removeEventListener('mousemove', onPointerMove);\n document.removeEventListener('touchmove', onPointerMove);\n },\n [calculatePosition, elementRef, onPointerMove],\n );\n\n const onMouseDown = useCallback(\n (event: MouseEvent | TouchEvent) => {\n if (!('changedTouches' in event)) {\n event.preventDefault();\n }\n\n if ('clientX' in event && 'clientY' in event) {\n prevXRef.current = event.clientX;\n prevYRef.current = event.clientY;\n } else if ('changedTouches' in event) {\n const touch = event.changedTouches[0];\n\n if (touch) {\n prevXRef.current = touch.clientX;\n prevYRef.current = touch.clientY;\n }\n }\n\n document.addEventListener('mouseup', onMouseUp);\n document.addEventListener('touchend', onMouseUp);\n document.addEventListener('mousemove', onPointerMove);\n document.addEventListener('touchmove', onPointerMove);\n },\n [onMouseUp, onPointerMove],\n );\n\n const validatedPosition = (position: number, elementSize: number, viewSize: number) => {\n const remainingWidth = viewSize - elementSize;\n\n return position < 0 ? 0 : position > remainingWidth ? remainingWidth : position;\n };\n\n const validateElementInViewport = useCallback(() => {\n if (elementRef.current) {\n const { top, left, right, bottom } = currentPosition || {};\n\n const viewWidth = window.innerWidth;\n const viewHeight = window.innerHeight;\n const elementHeight = elementRef.current.offsetHeight;\n const elementWidth = elementRef.current.offsetWidth;\n\n if (typeof top === 'number') {\n const validateTop = validatedPosition(top, elementHeight, viewHeight);\n\n elementRef.current.style.top = `${validateTop}px`;\n } else if (typeof bottom === 'number') {\n const validateBottom = validatedPosition(bottom, elementHeight, viewHeight);\n\n elementRef.current.style.bottom = `${validateBottom}px`;\n } else {\n elementRef.current.style.top = '0px';\n }\n\n if (typeof left === 'number') {\n const validateLeft = validatedPosition(left, elementWidth, viewWidth);\n\n elementRef.current.style.left = `${validateLeft}px`;\n } else if (typeof right === 'number') {\n const validateRight = validatedPosition(right, elementWidth, viewWidth);\n\n elementRef.current.style.right = `${validateRight}px`;\n } else {\n elementRef.current.style.left = '0px';\n }\n }\n }, [currentPosition, elementRef]);\n\n useEffect(() => {\n validateElementInViewport();\n }, [validateElementInViewport, currentPosition]);\n\n useEffect(() => {\n const element = elementRef.current;\n\n if (element && dragEnabled) {\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('touchstart', onMouseDown);\n }\n\n return () => {\n if (element && dragEnabled) {\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('touchstart', onMouseDown);\n }\n };\n }, [onMouseDown, elementRef, dragEnabled]);\n\n return validateElementInViewport;\n};\n"],"names":["useDragHelper","elementRef","dragEnabled","initialPosition","currentPosition","setCurrentPosition","useState","prevXRef","useRef","prevYRef","calculatePosition","useCallback","event","element","offsetTop","offsetLeft","displacementX","displacementY","touch","onPointerMove","top","left","onMouseUp","onMouseDown","validatedPosition","position","elementSize","viewSize","remainingWidth","validateElementInViewport","right","bottom","viewWidth","viewHeight","elementHeight","elementWidth","validateTop","validateBottom","validateLeft","validateRight","useEffect"],"mappings":"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"}
|