@cuemath/leap 3.3.37 → 3.4.0
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/after-noon.js.map +1 -1
- package/dist/assets/line-icons/icons/alert.js.map +1 -1
- package/dist/assets/line-icons/icons/apple-icon-white.js.map +1 -1
- package/dist/assets/line-icons/icons/apple-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/back.js.map +1 -1
- package/dist/assets/line-icons/icons/back2.js.map +1 -1
- package/dist/assets/line-icons/icons/bin.js.map +1 -1
- package/dist/assets/line-icons/icons/bin2.js.map +1 -1
- package/dist/assets/line-icons/icons/book-closed.js.map +1 -1
- package/dist/assets/line-icons/icons/book.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/bulb.js.map +1 -1
- 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.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.map +1 -1
- package/dist/assets/line-icons/icons/check.js.map +1 -1
- package/dist/assets/line-icons/icons/check2.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-down.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/clock.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/copy.js.map +1 -1
- package/dist/assets/line-icons/icons/cross.js.map +1 -1
- package/dist/assets/line-icons/icons/cue-board-filled.js.map +1 -1
- package/dist/assets/line-icons/icons/cue-board.js.map +1 -1
- package/dist/assets/line-icons/icons/cue-coin.js.map +1 -1
- package/dist/assets/line-icons/icons/cue-rocket.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/drag.js.map +1 -1
- package/dist/assets/line-icons/icons/edit-star.js.map +1 -1
- package/dist/assets/line-icons/icons/edit.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/evening.js.map +1 -1
- package/dist/assets/line-icons/icons/exclamation.js.map +1 -1
- package/dist/assets/line-icons/icons/eye.js.map +1 -1
- package/dist/assets/line-icons/icons/eye2.js.map +1 -1
- 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/grid-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/hand.js.map +1 -1
- package/dist/assets/line-icons/icons/help.js.map +1 -1
- package/dist/assets/line-icons/icons/highlighter.js.map +1 -1
- package/dist/assets/line-icons/icons/hint-fill.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/important.js.map +1 -1
- package/dist/assets/line-icons/icons/info.js.map +1 -1
- package/dist/assets/line-icons/icons/info2.js.map +1 -1
- package/dist/assets/line-icons/icons/left.js.map +1 -1
- package/dist/assets/line-icons/icons/link.js.map +1 -1
- package/dist/assets/line-icons/icons/lock.js.map +1 -1
- package/dist/assets/line-icons/icons/lock2.js.map +1 -1
- package/dist/assets/line-icons/icons/lock3.js.map +1 -1
- package/dist/assets/line-icons/icons/minus.js.map +1 -1
- package/dist/assets/line-icons/icons/minus2.js.map +1 -1
- package/dist/assets/line-icons/icons/mistake.js.map +1 -1
- package/dist/assets/line-icons/icons/mobile.js.map +1 -1
- package/dist/assets/line-icons/icons/more-vertical.js.map +1 -1
- package/dist/assets/line-icons/icons/morning.js.map +1 -1
- package/dist/assets/line-icons/icons/next.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/play.js.map +1 -1
- package/dist/assets/line-icons/icons/play2.js.map +1 -1
- package/dist/assets/line-icons/icons/plus.js.map +1 -1
- package/dist/assets/line-icons/icons/plus2.js.map +1 -1
- package/dist/assets/line-icons/icons/pointer.js.map +1 -1
- package/dist/assets/line-icons/icons/practice.js.map +1 -1
- package/dist/assets/line-icons/icons/progress.js.map +1 -1
- package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/puzzle2.js.map +1 -1
- package/dist/assets/line-icons/icons/question-letter.js.map +1 -1
- package/dist/assets/line-icons/icons/question.js.map +1 -1
- package/dist/assets/line-icons/icons/redo.js.map +1 -1
- package/dist/assets/line-icons/icons/right.js.map +1 -1
- package/dist/assets/line-icons/icons/ruler.js.map +1 -1
- package/dist/assets/line-icons/icons/screen-grab-filled.js.map +1 -1
- package/dist/assets/line-icons/icons/screen-grab.js.map +1 -1
- package/dist/assets/line-icons/icons/scribble.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/sketch.js.map +1 -1
- package/dist/assets/line-icons/icons/skip-colored.js.map +1 -1
- package/dist/assets/line-icons/icons/skip.js.map +1 -1
- package/dist/assets/line-icons/icons/skip2.js.map +1 -1
- package/dist/assets/line-icons/icons/square-checked-grid.js.map +1 -1
- package/dist/assets/line-icons/icons/square-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/square-grid.js.map +1 -1
- package/dist/assets/line-icons/icons/square2-grid.js.map +1 -1
- package/dist/assets/line-icons/icons/star.js.map +1 -1
- package/dist/assets/line-icons/icons/star2.js.map +1 -1
- package/dist/assets/line-icons/icons/star3.js.map +1 -1
- package/dist/assets/line-icons/icons/status.js.map +1 -1
- package/dist/assets/line-icons/icons/sticker-filled.js.map +1 -1
- package/dist/assets/line-icons/icons/sticker.js.map +1 -1
- package/dist/assets/line-icons/icons/striked-eye.js.map +1 -1
- 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.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/tri-grid.js.map +1 -1
- package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/tri2-grid.js.map +1 -1
- package/dist/assets/line-icons/icons/trophy.js.map +1 -1
- package/dist/assets/line-icons/icons/tutoring.js.map +1 -1
- package/dist/assets/line-icons/icons/undo.js.map +1 -1
- package/dist/assets/line-icons/icons/unlock.js.map +1 -1
- package/dist/assets/line-icons/icons/unlock2.js.map +1 -1
- 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.map +1 -1
- package/dist/assets/line-icons/icons/user2.js.map +1 -1
- package/dist/assets/line-icons/icons/wins-common-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/wins-epic-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/wins-legendary-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/wins-mystery-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/wins-mythic-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/wins-rare-icon.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/features/auth/account-selector/account-selector.js.map +1 -1
- package/dist/features/auth/account-selector/comps/compact-header/account-selector-header.js.map +1 -1
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
- package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.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/linear-progress-bar/linear-progress-bar.js.map +1 -1
- package/dist/features/auth/comps/otp-input/otp-input.js +1 -7
- package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
- package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
- package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
- package/dist/features/auth/comps/selectable-info-card/selectable-info-card.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.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/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/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
- package/dist/features/auth/pla-signup/signup-options/signup-options.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/custom-input-field/password-toggle/password-toggle.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.js.map +1 -1
- package/dist/features/auth/signup/user-type-selector/user-type-selector.js.map +1 -1
- package/dist/features/auth/signup-unavailable/signup-unavailable-view.js.map +1 -1
- package/dist/features/auth/signup-unavailable/signup-unavailable.js.map +1 -1
- package/dist/features/av/av-preview/av-preview.js.map +1 -1
- package/dist/features/av/av-preview/hooks/use-media-devices.js.map +1 -1
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker-context.js.map +1 -1
- 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.map +1 -1
- package/dist/features/chapters/chapter/chapter.js.map +1 -1
- package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-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.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.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.map +1 -1
- 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/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.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/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.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.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.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.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.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.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -1
- package/dist/features/chapters-v2/comps/tag/tag.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/chapters-v2/utils/sat-sheet-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/api/get-content-for-today/get-circle-home-api.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.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/infinite-button/infinite-mode-launcher-button.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/spl-events-text/spl-events-text.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.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.js.map +1 -1
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/helper.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-infinite-launcher-journey/use-table-infinite-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/tutorial/video-progress-bar/video-progress-bar-styled.js.map +1 -1
- package/dist/features/circle-games/games/tutorial/video-progress-bar/video-progress-bar.js.map +1 -1
- package/dist/features/circle-games/games/web-view/hooks/use-webview-games.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
- package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
- package/dist/features/circle-games/leaderboard/api/get-leaderboard/get-leaderboard.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.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-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/api/use-create-user-api/use-create-user-api.js.map +1 -1
- package/dist/features/circle-games/sign-up/api/use-update-user-api/use-update-user-api.js.map +1 -1
- package/dist/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.js.map +1 -1
- package/dist/features/circle-games/sign-up/api/use-validate-username-api/use-username-availability-get.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.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.map +1 -1
- package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +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/constants.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/update-username-dal/update-username-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.map +1 -1
- 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.map +1 -1
- package/dist/features/communication/pub-sub/core.js.map +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.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- 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.map +1 -1
- package/dist/features/cue-canvas/hooks/use-config-updater.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/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.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/sidebar-styled.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.map +1 -1
- package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/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.map +1 -1
- package/dist/features/extra-practice/list/list-constants.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.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-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/utils.js.map +1 -1
- package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark-utils.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
- package/dist/features/journey/hooks/use-chapter-page-journey/use-challenge-arena-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-chapter-page-journey/use-chapter-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-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/tooltip-item.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.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/use-journey/use-journey.js.map +1 -1
- package/dist/features/journey/user-journey-api/user-journey-api.js.map +1 -1
- package/dist/features/maintenance/maintenance.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-config.js.map +1 -1
- package/dist/features/milestone/create/api/milestone-submit.js.map +1 -1
- package/dist/features/milestone/create/api/recommended-chapters.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.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-selection.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/use-chapter-list-update.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-selectors.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-view.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
- package/dist/features/milestone/create/comps/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.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-components-map.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-context.js.map +1 -1
- 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.map +1 -1
- 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-util.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/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
- package/dist/features/milestone/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.map +1 -1
- package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
- 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.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 +32 -32
- 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.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.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.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.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/preview-test-sheet.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.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
- package/dist/features/milestone/outcome/api/milestone-outcome-config.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.js.map +1 -1
- 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.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-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-form/outcome-form.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/question.js +1 -5
- package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
- package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
- package/dist/features/milestone/start/milestone-start.js.map +1 -1
- package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +1 -1
- package/dist/features/parent-dashboard/api/parent-home.js.map +1 -1
- package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +1 -1
- package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -1
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -1
- package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -1
- package/dist/features/parent-dashboard/comps/next-steps/next-steps-constants.js.map +1 -1
- package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -1
- package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js.map +1 -1
- package/dist/features/parent-dashboard/comps/session-status/session-status.js.map +1 -1
- package/dist/features/parent-dashboard/comps/session-summary/session-summary-constants.js.map +1 -1
- package/dist/features/parent-dashboard/comps/session-summary/session-summary.js.map +1 -1
- package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js.map +1 -1
- package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions.js.map +1 -1
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
- package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js.map +1 -1
- package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +1 -1
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +1 -1
- package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +1 -1
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +1 -1
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -1
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +1 -1
- package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
- package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
- package/dist/features/parent-dashboard/parent-dashboard.js.map +1 -1
- package/dist/features/pointer-sync/hooks/use-pointer-sync.js.map +1 -1
- package/dist/features/pointer-sync/pointer.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy-comps.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock.js.map +1 -1
- package/dist/features/post-game-stats/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/score/score.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak.js.map +1 -1
- package/dist/features/puzzles/api/puzzle-assign.js.map +1 -1
- package/dist/features/puzzles/api/puzzle-dashboard.js.map +1 -1
- package/dist/features/puzzles/app/puzzle-app-styled.js.map +1 -1
- package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -1
- package/dist/features/puzzles/app/puzzle-app.js.map +1 -1
- package/dist/features/puzzles/comps/puzzle-card-styled.js.map +1 -1
- package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
- package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js.map +1 -1
- package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +1 -1
- package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
- package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +1 -1
- package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js.map +1 -1
- package/dist/features/puzzles/utils/puzzle-pattern.js.map +1 -1
- package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -1
- package/dist/features/recent-chapters/recent-chapters.js.map +1 -1
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
- package/dist/features/sheet-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/constants/sheet.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.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-view.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item.js.map +1 -1
- package/dist/features/sheets/lessons-list/lessons-list.js.map +1 -1
- package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
- package/dist/features/sheets/resources-list/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-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.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-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.map +1 -1
- package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
- package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js.map +1 -1
- package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js.map +1 -1
- package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
- package/dist/features/stickers/stickers-effects/stickers-effects-animations.js.map +1 -1
- package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -1
- package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -1
- package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -1
- package/dist/features/student-details/class-details/class-details.js.map +1 -1
- package/dist/features/student-details/student-details-utils.js.map +1 -1
- package/dist/features/student-details/student-details.js.map +1 -1
- package/dist/features/student-details/wins-preview/wins-preview.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.map +1 -1
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
- package/dist/features/talk-meter/talk-meter.js.map +1 -1
- package/dist/features/trial-session/api/course-stream.js.map +1 -1
- package/dist/features/trial-session/api/trial-home.js.map +1 -1
- package/dist/features/trial-session/api/trial-nodes.js.map +1 -1
- package/dist/features/trial-session/api/trial-pricing.js.map +1 -1
- package/dist/features/trial-session/comps/about-cuemath/index.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/countdown-progress-bar/countdown-progress-bar.js.map +1 -1
- 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/learning-plan/index.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/navigation-bar/index.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/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/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-report/report-404/report-404.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
- package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
- package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment.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-profile/student-profile-highlights/student-profile-highlights.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-profile/teacher-profile.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-styled.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-left-panel-button-state.js.map +1 -1
- package/dist/features/trial-session/hooks/use-slide-config-update.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/slide-components-map.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/trial-session/trial-session.js.map +1 -1
- package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js.map +1 -1
- package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -1
- package/dist/features/ui/accordion/accordion.js.map +1 -1
- package/dist/features/ui/accordion-section/accordion-section-styled.js.map +1 -1
- package/dist/features/ui/accordion-section/accordion-section.js +8 -8
- package/dist/features/ui/accordion-section/accordion-section.js.map +1 -1
- package/dist/features/ui/animated-arc/animated-arc-styled.js.map +1 -1
- package/dist/features/ui/animated-arc/animated-arc.js.map +1 -1
- package/dist/features/ui/arc-button/arc-button-styled.js.map +1 -1
- package/dist/features/ui/arc-button/arc-button.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +1 -1
- package/dist/features/ui/avatar/avatar-mapping.js.map +1 -1
- package/dist/features/ui/avatar/avatar-types.js.map +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- package/dist/features/ui/callout/callout.js.map +1 -1
- package/dist/features/ui/carousal/carousal.js.map +1 -1
- package/dist/features/ui/context/use-tracking-context.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu.js.map +1 -1
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
- package/dist/features/ui/drawer/drawer.js.map +1 -1
- 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.map +1 -1
- package/dist/features/ui/hooks/use-response-handler.js.map +1 -1
- package/dist/features/ui/image/image.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/base-select-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.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.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.map +1 -1
- 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.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.map +1 -1
- package/dist/features/ui/layout/flex-view.js.map +1 -1
- package/dist/features/ui/loader/reverse-circular-bar/reverse-circular-bar.js.map +1 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
- package/dist/features/ui/modals/modal-context.js.map +1 -1
- package/dist/features/ui/modals/modal-provider.js.map +1 -1
- package/dist/features/ui/modals/modal.js.map +1 -1
- package/dist/features/ui/modals/use-modal-actions.js.map +1 -1
- package/dist/features/ui/modals/use-modal-params.js.map +1 -1
- package/dist/features/ui/nudge/nudge.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-styled.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
- package/dist/features/ui/portal/portal.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.map +1 -1
- 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.map +1 -1
- 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-styled.js.map +1 -1
- package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
- package/dist/features/ui/superscript/superscript-styled.js.map +1 -1
- package/dist/features/ui/superscript/superscript.js.map +1 -1
- package/dist/features/ui/tab/tab-styled.js.map +1 -1
- 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.map +1 -1
- package/dist/features/ui/text/text.js.map +1 -1
- package/dist/features/ui/theme/z-index.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 +11 -11
- package/dist/features/ui/time-left-timeline/time-left-timeline.js.map +1 -1
- package/dist/features/ui/video/index.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +17 -17
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +1 -1
- package/dist/features/wins-dashboard/constants.js.map +1 -1
- package/dist/features/wins-dashboard/header/wins-header.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/student-badge.js.map +1 -1
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader-context.js.map +1 -1
- 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.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/api/attempt-responses.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-learnosity-append.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-learnosity.js.map +1 -1
- package/dist/features/worksheet/worksheet/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-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-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.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.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/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.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-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-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/api/get-dynamic-sheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/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.map +1 -1
- package/dist/index.d.ts +161 -159
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-view.js","sources":["../../../../../src/features/circle-games/games/web-view/web-view.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"web-view.js","sources":["../../../../../src/features/circle-games/games/web-view/web-view.tsx"],"sourcesContent":["import type { ForwardedRef } from 'react';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\n\nimport { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport { ALLOWED_ORIGIN } from './constants';\nimport { ProjectType, WebViewEvent } from './enums';\nimport type {\n IInfoMessage,\n ILessonWebGameProps,\n IMessageProps,\n IMultiplayerWebGameProps,\n IPlayerStats,\n IPuzzleWebGameProps,\n ITableWebGameProps,\n ITrackEvent,\n IVibrationPattern,\n IWebViewProps,\n} from './web-view-types';\n\nexport const WebView = forwardRef((props: IWebViewProps, ref: ForwardedRef<HTMLIFrameElement>) => {\n const {\n baseUrl,\n projectDetails,\n playerDetails,\n onGameLoad,\n onGamePlayFinish,\n handleInfoMessage,\n onBack,\n parentDomain,\n ...rest\n } = props;\n const webViewRef = useRef<HTMLIFrameElement>(null);\n const memoizedPlayerDetails = useMemo(() => playerDetails, [playerDetails]);\n const memoizedProjectDetails = useMemo(() => projectDetails, [projectDetails]);\n\n let miniGameIdentifier = '';\n const { onEvent: trackEvent } = useUIContext();\n\n if (memoizedProjectDetails.projectType === ProjectType.LESSON) {\n miniGameIdentifier = (memoizedProjectDetails as ILessonWebGameProps).miniGameIdentifier;\n }\n\n const getProjectDetails = useCallback(() => {\n const { enableCloseButton = true } = memoizedProjectDetails;\n\n let payload = {\n enableCloseButton,\n } as IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps;\n\n if (memoizedProjectDetails.projectType === ProjectType.GAME) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as IMultiplayerWebGameProps;\n }\n\n if (memoizedProjectDetails.projectType === ProjectType.PUZZLE) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as IPuzzleWebGameProps;\n }\n\n if (memoizedProjectDetails.projectType === ProjectType.LESSON) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as ILessonWebGameProps;\n }\n\n if (memoizedProjectDetails.projectType === ProjectType.TABLE) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as ITableWebGameProps;\n }\n\n return payload;\n }, [memoizedProjectDetails]);\n\n const sendGamesData = useCallback(() => {\n const payload = getProjectDetails();\n\n webViewRef.current?.contentWindow?.postMessage(\n JSON.stringify({\n event: WebViewEvent.GAME_DATA,\n payload,\n }),\n ALLOWED_ORIGIN,\n );\n }, [getProjectDetails]);\n\n const setConfig = useCallback(() => {\n const projectConfig = getProjectDetails();\n\n webViewRef.current?.contentWindow?.postMessage(\n JSON.stringify({\n event: WebViewEvent.SET_CONFIG,\n payload: {\n user: memoizedPlayerDetails,\n projectConfig,\n parentDomain,\n },\n }),\n ALLOWED_ORIGIN,\n );\n }, [memoizedPlayerDetails, getProjectDetails, parentDomain]);\n\n const getValidObject = useCallback((str: string) => {\n let validObject = {};\n\n try {\n const parsed = JSON.parse(str);\n\n if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {\n validObject = parsed as IMessageProps;\n }\n } catch {\n validObject = {};\n\n // eslint-disable-next-line no-console\n console.log('Invalid JSON string:', str);\n }\n\n return validObject as IMessageProps;\n }, []);\n\n useImperativeHandle(ref, () => webViewRef.current as HTMLIFrameElement, []);\n\n useEffect(() => {\n const handleMessage = (e: MessageEvent) => {\n const data: string = e.data;\n\n const parsedData = typeof data === 'string' ? getValidObject(data) : (data as IMessageProps);\n\n const { event = null, payload = null } = parsedData;\n\n if (event === WebViewEvent.VIBRATE) {\n const { pattern } = payload as IVibrationPattern;\n\n if (window.ReactNativeWebView) {\n window.ReactNativeWebView.postMessage(JSON.stringify(parsedData));\n } else {\n window.navigator.vibrate?.(pattern);\n }\n }\n\n if (event === WebViewEvent.GAME_BACK) {\n onBack?.();\n }\n\n if (event === WebViewEvent.HIDE_LOADER) {\n onGameLoad?.();\n }\n\n if (event === WebViewEvent.LOAD_DATA_FROM_APP) {\n sendGamesData?.();\n }\n\n if (event === WebViewEvent.GET_CONFIG) {\n setConfig();\n }\n\n if (event === WebViewEvent.UPDATE_STATS) {\n onGamePlayFinish?.(payload as IPlayerStats);\n }\n\n if (event === WebViewEvent.SHOW_SNACKBAR) {\n handleInfoMessage?.(payload as IInfoMessage);\n }\n\n if (event === WebViewEvent.TRACK_EVENT) {\n const { eventName, properties } = payload as ITrackEvent;\n\n trackEvent(eventName as unknown as string, properties);\n }\n };\n\n window.addEventListener('message', handleMessage);\n\n return () => {\n window.removeEventListener('message', handleMessage);\n };\n }, [\n handleInfoMessage,\n onBack,\n onGamePlayFinish,\n onGameLoad,\n setConfig,\n sendGamesData,\n trackEvent,\n getValidObject,\n ]);\n\n const url = playerDetails.isAdmin\n ? baseUrl\n : `${baseUrl}/play-game/${memoizedProjectDetails.projectId}/${memoizedProjectDetails.variant}${\n miniGameIdentifier ? `/${miniGameIdentifier}` : ''\n }`;\n\n return (\n <FlexView $height=\"100%\" $width=\"100%\">\n <Separator height={window.ReactNativeTopInset || 0} />\n <iframe {...rest} ref={webViewRef} src={`${url}?version=2`} allow=\"autoplay\" />\n <Separator height={window.ReactNativeBottomInset || 0} />\n </FlexView>\n );\n});\n"],"names":["WebView","forwardRef","props","ref","baseUrl","projectDetails","playerDetails","onGameLoad","onGamePlayFinish","handleInfoMessage","onBack","parentDomain","rest","webViewRef","useRef","memoizedPlayerDetails","useMemo","memoizedProjectDetails","miniGameIdentifier","trackEvent","useUIContext","ProjectType","getProjectDetails","useCallback","enableCloseButton","payload","sendGamesData","_b","_a","WebViewEvent","ALLOWED_ORIGIN","setConfig","projectConfig","getValidObject","str","validObject","parsed","useImperativeHandle","useEffect","handleMessage","data","parsedData","event","pattern","eventName","properties","url","jsxs","FlexView","jsx","Separator"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-circle-sounds.js","sources":["../../../../../src/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.ts"],"sourcesContent":["import type { TimeoutMap } from './use-circle-sound-types';\n\nimport { useCallback, useEffect, useRef } from 'react';\n\nimport { useAutoPlayPermission } from '../../../hooks/use-auto-play-permission/use-auto-play-permission';\nimport { CircleSoundKeyMapper, SWIPE_SOUND_ORDER } from './constants';\nimport { fadeInSound, fadeOutSound } from './helper';\nimport { CircleSoundKey } from './use-circle-sounds-enums';\n\nlet swipeSoundIndex = 0;\n\nexport const soundMapper: Record<keyof typeof CircleSoundKeyMapper, null | HTMLAudioElement> = {\n [CircleSoundKey.BACKGROUND]: null,\n [CircleSoundKey.BACKGROUND_RUSHHOUR]: null,\n [CircleSoundKey.TUTORIAL]: null,\n [CircleSoundKey.SWIPE_01]: null,\n [CircleSoundKey.SWIPE_02]: null,\n [CircleSoundKey.SWIPE_03]: null,\n [CircleSoundKey.SWIPE_04]: null,\n [CircleSoundKey.SWIPE_DOWN]: null,\n [CircleSoundKey.TOGGLE]: null,\n [CircleSoundKey.POINTS_AWARDED]: null,\n [CircleSoundKey.POINTS_ADDED]: null,\n [CircleSoundKey.GAME_CARD_CLICK]: null,\n [CircleSoundKey.CLOCK_IN]: null,\n [CircleSoundKey.CLOCK_OUT]: null,\n [CircleSoundKey.ACCURACY_IN]: null,\n [CircleSoundKey.ACCURACY_OUT]: null,\n [CircleSoundKey.STREAK_IN]: null,\n [CircleSoundKey.STREAK_OUT]: null,\n [CircleSoundKey.ACCURACY_INTRO]: null,\n [CircleSoundKey.ACCURACY_TARGET]: null,\n [CircleSoundKey.TIME_INTRO]: null,\n [CircleSoundKey.TIME_TARGET]: null,\n [CircleSoundKey.METER_FILL]: null,\n [CircleSoundKey.YOUR_SCORE]: null,\n [CircleSoundKey.HIGH_SCORE]: null,\n [CircleSoundKey.KEEP_IT_UP]: null,\n [CircleSoundKey.DOING_GREAT]: null,\n [CircleSoundKey.ALL_DONE]: null,\n};\n\nconst soundInstancePromise: Partial<Record<keyof typeof CircleSoundKeyMapper, Promise<void>>> = {};\n\nexport const useCircleSounds = () => {\n const { canAutoPlayAudio: canPlayAudio } = useAutoPlayPermission();\n\n const loadSound = useCallback((key: CircleSoundKey) => {\n if (!soundMapper[key]) {\n const loadedSound = new Audio(CircleSoundKeyMapper[key]);\n\n soundMapper[key] = loadedSound;\n }\n }, []);\n\n const pausedSoundsRef = useRef<Set<CircleSoundKey>>(new Set());\n const timeoutRefs = useRef<TimeoutMap>({});\n\n const play = useCallback(\n (key: CircleSoundKey, immediately: boolean = true, loop = false) => {\n loadSound(key);\n const soundInstance = soundMapper[key];\n\n if (!soundInstance || !canPlayAudio) return;\n\n // this makes sure that it keeps the default loop value at the time it was requested to be loaded\n // helps in visibility change where we only want to resume\n if (loop) {\n soundInstance.loop = loop;\n }\n\n if (timeoutRefs.current[key]) {\n clearInterval(timeoutRefs.current[key]);\n }\n\n // resume sound\n if (!soundInstance.paused && soundInstance.currentTime > 0 && !soundInstance.ended) {\n if (!immediately) {\n const intervalId = fadeInSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n } else {\n soundInstance.volume = 1;\n }\n\n return soundInstance;\n }\n\n // play sound\n soundInstance.volume = immediately ? 1 : 0;\n const promise = soundInstance.play();\n\n if (promise) {\n soundInstancePromise[key] = promise;\n }\n\n if (!immediately) {\n const intervalId = fadeInSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n }\n\n return soundInstance;\n },\n [loadSound, canPlayAudio],\n );\n\n const handleSoundStop = useCallback((key: CircleSoundKey, immediately: boolean) => {\n const soundInstance = soundMapper[key];\n\n if (!soundInstance) return;\n\n if (timeoutRefs.current[key]) {\n clearInterval(timeoutRefs.current[key]);\n }\n\n if (immediately) {\n soundInstance.pause();\n\n return;\n }\n\n const intervalId = fadeOutSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n }, []);\n\n const stop = useCallback(\n (key: CircleSoundKey, immediately: boolean = true) => {\n // if play returned a promise\n if (soundInstancePromise[key] !== undefined) {\n soundInstancePromise[key]\n ?.then(() => {\n handleSoundStop(key, immediately);\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.log('sound not playing', err);\n });\n\n return;\n }\n\n handleSoundStop(key, immediately);\n },\n [handleSoundStop],\n );\n\n const playSwipeSound = useCallback(() => {\n const key = SWIPE_SOUND_ORDER[swipeSoundIndex] || CircleSoundKey.SWIPE_01;\n\n swipeSoundIndex = (swipeSoundIndex + 1) % SWIPE_SOUND_ORDER.length;\n\n play(key);\n }, [play]);\n\n const playButtonSound = useCallback(() => {\n const sound = play(CircleSoundKey.TOGGLE);\n\n return sound;\n }, [play]);\n\n const handleVisibilityChange = useCallback(() => {\n const visibilityState = document.visibilityState;\n\n if (visibilityState === 'hidden') {\n Object.entries(soundMapper).forEach(([key, sound]) => {\n if (sound && !sound.paused) {\n stop(key as CircleSoundKey, true);\n pausedSoundsRef.current.add(key as CircleSoundKey);\n }\n });\n }\n\n if (visibilityState === 'visible') {\n pausedSoundsRef.current.forEach(key => {\n play(key);\n });\n pausedSoundsRef.current.clear();\n }\n }, [play, stop]);\n\n useEffect(() => {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n const timeouts = timeoutRefs.current;\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n Object.values(timeouts).forEach(id => {\n id && clearInterval(id);\n });\n };\n }, [handleVisibilityChange]);\n\n return { playSwipeSound, play, stop, playButtonSound };\n};\n"],"names":["swipeSoundIndex","soundMapper","CircleSoundKey","soundInstancePromise","useCircleSounds","canPlayAudio","useAutoPlayPermission","loadSound","useCallback","key","loadedSound","CircleSoundKeyMapper","pausedSoundsRef","useRef","timeoutRefs","play","immediately","loop","soundInstance","intervalId","fadeInSound","promise","handleSoundStop","fadeOutSound","stop","_a","err","playSwipeSound","SWIPE_SOUND_ORDER","playButtonSound","handleVisibilityChange","visibilityState","sound","useEffect","timeouts","id"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-circle-sounds.js","sources":["../../../../../src/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { useAutoPlayPermission } from '../../../hooks/use-auto-play-permission/use-auto-play-permission';\nimport { CircleSoundKeyMapper, SWIPE_SOUND_ORDER } from './constants';\nimport { fadeInSound, fadeOutSound } from './helper';\nimport type { TimeoutMap } from './use-circle-sound-types';\nimport { CircleSoundKey } from './use-circle-sounds-enums';\n\nlet swipeSoundIndex = 0;\n\nexport const soundMapper: Record<keyof typeof CircleSoundKeyMapper, null | HTMLAudioElement> = {\n [CircleSoundKey.BACKGROUND]: null,\n [CircleSoundKey.BACKGROUND_RUSHHOUR]: null,\n [CircleSoundKey.TUTORIAL]: null,\n [CircleSoundKey.SWIPE_01]: null,\n [CircleSoundKey.SWIPE_02]: null,\n [CircleSoundKey.SWIPE_03]: null,\n [CircleSoundKey.SWIPE_04]: null,\n [CircleSoundKey.SWIPE_DOWN]: null,\n [CircleSoundKey.TOGGLE]: null,\n [CircleSoundKey.POINTS_AWARDED]: null,\n [CircleSoundKey.POINTS_ADDED]: null,\n [CircleSoundKey.GAME_CARD_CLICK]: null,\n [CircleSoundKey.CLOCK_IN]: null,\n [CircleSoundKey.CLOCK_OUT]: null,\n [CircleSoundKey.ACCURACY_IN]: null,\n [CircleSoundKey.ACCURACY_OUT]: null,\n [CircleSoundKey.STREAK_IN]: null,\n [CircleSoundKey.STREAK_OUT]: null,\n [CircleSoundKey.ACCURACY_INTRO]: null,\n [CircleSoundKey.ACCURACY_TARGET]: null,\n [CircleSoundKey.TIME_INTRO]: null,\n [CircleSoundKey.TIME_TARGET]: null,\n [CircleSoundKey.METER_FILL]: null,\n [CircleSoundKey.YOUR_SCORE]: null,\n [CircleSoundKey.HIGH_SCORE]: null,\n [CircleSoundKey.KEEP_IT_UP]: null,\n [CircleSoundKey.DOING_GREAT]: null,\n [CircleSoundKey.ALL_DONE]: null,\n};\n\nconst soundInstancePromise: Partial<Record<keyof typeof CircleSoundKeyMapper, Promise<void>>> = {};\n\nexport const useCircleSounds = () => {\n const { canAutoPlayAudio: canPlayAudio } = useAutoPlayPermission();\n\n const loadSound = useCallback((key: CircleSoundKey) => {\n if (!soundMapper[key]) {\n const loadedSound = new Audio(CircleSoundKeyMapper[key]);\n\n soundMapper[key] = loadedSound;\n }\n }, []);\n\n const pausedSoundsRef = useRef<Set<CircleSoundKey>>(new Set());\n const timeoutRefs = useRef<TimeoutMap>({});\n\n const play = useCallback(\n (key: CircleSoundKey, immediately: boolean = true, loop = false) => {\n loadSound(key);\n const soundInstance = soundMapper[key];\n\n if (!soundInstance || !canPlayAudio) return;\n\n // this makes sure that it keeps the default loop value at the time it was requested to be loaded\n // helps in visibility change where we only want to resume\n if (loop) {\n soundInstance.loop = loop;\n }\n\n if (timeoutRefs.current[key]) {\n clearInterval(timeoutRefs.current[key]);\n }\n\n // resume sound\n if (!soundInstance.paused && soundInstance.currentTime > 0 && !soundInstance.ended) {\n if (!immediately) {\n const intervalId = fadeInSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n } else {\n soundInstance.volume = 1;\n }\n\n return soundInstance;\n }\n\n // play sound\n soundInstance.volume = immediately ? 1 : 0;\n const promise = soundInstance.play();\n\n if (promise) {\n soundInstancePromise[key] = promise;\n }\n\n if (!immediately) {\n const intervalId = fadeInSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n }\n\n return soundInstance;\n },\n [loadSound, canPlayAudio],\n );\n\n const handleSoundStop = useCallback((key: CircleSoundKey, immediately: boolean) => {\n const soundInstance = soundMapper[key];\n\n if (!soundInstance) return;\n\n if (timeoutRefs.current[key]) {\n clearInterval(timeoutRefs.current[key]);\n }\n\n if (immediately) {\n soundInstance.pause();\n\n return;\n }\n\n const intervalId = fadeOutSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n }, []);\n\n const stop = useCallback(\n (key: CircleSoundKey, immediately: boolean = true) => {\n // if play returned a promise\n if (soundInstancePromise[key] !== undefined) {\n soundInstancePromise[key]\n ?.then(() => {\n handleSoundStop(key, immediately);\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.log('sound not playing', err);\n });\n\n return;\n }\n\n handleSoundStop(key, immediately);\n },\n [handleSoundStop],\n );\n\n const playSwipeSound = useCallback(() => {\n const key = SWIPE_SOUND_ORDER[swipeSoundIndex] || CircleSoundKey.SWIPE_01;\n\n swipeSoundIndex = (swipeSoundIndex + 1) % SWIPE_SOUND_ORDER.length;\n\n play(key);\n }, [play]);\n\n const playButtonSound = useCallback(() => {\n const sound = play(CircleSoundKey.TOGGLE);\n\n return sound;\n }, [play]);\n\n const handleVisibilityChange = useCallback(() => {\n const visibilityState = document.visibilityState;\n\n if (visibilityState === 'hidden') {\n Object.entries(soundMapper).forEach(([key, sound]) => {\n if (sound && !sound.paused) {\n stop(key as CircleSoundKey, true);\n pausedSoundsRef.current.add(key as CircleSoundKey);\n }\n });\n }\n\n if (visibilityState === 'visible') {\n pausedSoundsRef.current.forEach(key => {\n play(key);\n });\n pausedSoundsRef.current.clear();\n }\n }, [play, stop]);\n\n useEffect(() => {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n const timeouts = timeoutRefs.current;\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n Object.values(timeouts).forEach(id => {\n id && clearInterval(id);\n });\n };\n }, [handleVisibilityChange]);\n\n return { playSwipeSound, play, stop, playButtonSound };\n};\n"],"names":["swipeSoundIndex","soundMapper","CircleSoundKey","soundInstancePromise","useCircleSounds","canPlayAudio","useAutoPlayPermission","loadSound","useCallback","key","loadedSound","CircleSoundKeyMapper","pausedSoundsRef","useRef","timeoutRefs","play","immediately","loop","soundInstance","intervalId","fadeInSound","promise","handleSoundStop","fadeOutSound","stop","_a","err","playSwipeSound","SWIPE_SOUND_ORDER","playButtonSound","handleVisibilityChange","visibilityState","sound","useEffect","timeouts","id"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-leaderboard.js","sources":["../../../../../../src/features/circle-games/leaderboard/api/get-leaderboard/get-leaderboard.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"get-leaderboard.js","sources":["../../../../../../src/features/circle-games/leaderboard/api/get-leaderboard/get-leaderboard.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL } from './constants';\nimport type {\n IGetLeaderboardPayloadModel,\n IGetLeaderboardResponseModel,\n} from './get-leaderboard-types';\n\nexport const { useGet: useGetLeaderboard } = createGetAPI<\n IGetLeaderboardResponseModel,\n IGetLeaderboardPayloadModel\n>({\n getURL: (_, { user_id }) => `${BASE_URL}/leaderboard/?intelenrollment_id=${user_id}`,\n});\n"],"names":["useGetLeaderboard","createGetAPI","_","user_id","BASE_URL"],"mappings":";;AAQO,MAAM,EAAE,QAAQA,EAAkB,IAAIC,EAG3C;AAAA,EACA,QAAQ,CAACC,GAAG,EAAE,SAAAC,QAAc,GAAGC,CAAQ,oCAAoCD,CAAO;AACpF,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/banner/banner.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"banner.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/banner/banner.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo } from 'react';\n\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './banner-styled';\nimport type { IBannerProps } from './banner-types';\n\nconst animationSettings = { renderer: 'canvas' };\n\nexport const Banner: FC<IBannerProps> = memo(\n ({\n primaryText,\n secondaryText,\n topInset = window.ReactNativeTopInset || 0,\n isLoading = false,\n lottiePath,\n bgFromTopPosition = 0,\n bgFromRightPosition = 0,\n custEle,\n }) => (\n <Styled.BannerContainer topInset={topInset}>\n <Styled.CircleLottieView\n topInset={topInset}\n bgFromTopPosition={bgFromTopPosition}\n bgFromRightPosition={bgFromRightPosition}\n >\n <LottieAnimation src={lottiePath} settings={animationSettings} />\n </Styled.CircleLottieView>\n\n <Styled.BannerTextContainer>\n <Styled.CountTextWrapper topInset={topInset}>\n <Text $renderAs=\"ac4\" $color=\"WHITE_T_60\">\n {primaryText}\n </Text>\n <Separator height={4} />\n <Text $renderAs=\"ah4\" $color=\"WHITE_T_87\">\n {isLoading ? '__' : secondaryText}\n </Text>\n </Styled.CountTextWrapper>\n </Styled.BannerTextContainer>\n {custEle}\n </Styled.BannerContainer>\n ),\n);\n"],"names":["animationSettings","Banner","memo","primaryText","secondaryText","topInset","isLoading","lottiePath","bgFromTopPosition","bgFromRightPosition","custEle","jsxs","Styled.BannerContainer","jsx","Styled.CircleLottieView","LottieAnimation","Styled.BannerTextContainer","Styled.CountTextWrapper","Text","Separator"],"mappings":";;;;;;AASA,MAAMA,IAAoB,EAAE,UAAU,YAEzBC,IAA2BC;AAAA,EACtC,CAAC;AAAA,IACC,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC,IAAW,OAAO,uBAAuB;AAAA,IACzC,WAAAC,IAAY;AAAA,IACZ,YAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,qBAAAC,IAAsB;AAAA,IACtB,SAAAC;AAAA,EAEA,MAAA,gBAAAC,EAACC,GAAA,EAAuB,UAAAP,GACtB,UAAA;AAAA,IAAA,gBAAAQ;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,UAAAT;AAAA,QACA,mBAAAG;AAAA,QACA,qBAAAC;AAAA,QAEA,UAAC,gBAAAI,EAAAE,GAAA,EAAgB,KAAKR,GAAY,UAAUP,GAAmB;AAAA,MAAA;AAAA,IACjE;AAAA,IAEA,gBAAAa,EAACG,GAAA,EACC,4BAACC,GAAA,EAAwB,UAAAZ,GACvB,UAAA;AAAA,MAAA,gBAAAQ,EAACK,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHf,GAAA;AAAA,MACA,gBAAAU,EAACM,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,MACtB,gBAAAN,EAACK,KAAK,WAAU,OAAM,QAAO,cAC1B,UAAAZ,IAAY,OAAOF,EACtB,CAAA;AAAA,IAAA,EAAA,CACF,EACF,CAAA;AAAA,IACCM;AAAA,EAAA,GACH;AAEJ;"}
|
package/dist/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leaderboard-item.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.tsx"],"sourcesContent":["import type {\n ILeaderboardPlayerWithHighScore,\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from '../../dal/use-get-leaderboard-dal/use-get-leaderboard-dal-types';\nimport
|
|
1
|
+
{"version":3,"file":"leaderboard-item.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.tsx"],"sourcesContent":["import React, { memo } from 'react';\n\nimport type {\n ILeaderboardPlayerWithHighScore,\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from '../../dal/use-get-leaderboard-dal/use-get-leaderboard-dal-types';\nimport { ELeaderboardType } from '../../enums/leaderboard-type-enum';\nimport { useIntersectionObserver } from '../../hooks/use-intersection-observer/use-intersection-observer.tsx';\nimport { PlayerProgressListItem } from '../progress-list-item/progress-list-item';\nimport * as Styled from './leaderboard-item-styled';\nimport type { ILeaderboardItemProps } from './leaderboard-item-types';\n\nexport const LeaderboardItemWithObserver: React.FC<ILeaderboardItemProps> = memo(\n ({ player, rank, maxStreakDays, maxPoints, maxHighScore, leaderboardType, isActive }) => {\n const { isVisible, elementRef } = useIntersectionObserver<HTMLDivElement>({\n threshold: 0.5,\n });\n\n let value: number | undefined;\n let maxValue: number | undefined;\n let displayValueAs: 'points' | 'streak' | 'highscore';\n\n switch (leaderboardType) {\n case ELeaderboardType.ALL_TIME_STREAK:\n value = (player as ILeaderboardPlayerWithStreak).streakDays;\n maxValue = maxStreakDays;\n displayValueAs = 'streak';\n break;\n\n case ELeaderboardType.INFINITE_TABLE:\n value = (player as ILeaderboardPlayerWithHighScore).highScore; // Replace `any` with a proper type if available\n maxValue = maxHighScore; // Assuming maxPoints holds maxHighScore; rename if needed\n displayValueAs = 'highscore';\n break;\n\n case ELeaderboardType.ALL_TIME:\n case ELeaderboardType.BI_WEEKLY:\n default:\n value = (player as ILeaderboardPlayerWithPoints).points;\n maxValue = maxPoints;\n displayValueAs = 'points';\n break;\n }\n\n return (\n <Styled.AnimatedItem key={player.rank} isVisible={isVisible} ref={elementRef}>\n <PlayerProgressListItem\n index={rank}\n maxValue={maxValue}\n value={value}\n isActive={isActive}\n avatar={player.userAvatar}\n grade={player.grade}\n displayText={player.username}\n displayValueAs={displayValueAs}\n />\n </Styled.AnimatedItem>\n );\n },\n);\n"],"names":["LeaderboardItemWithObserver","memo","player","rank","maxStreakDays","maxPoints","maxHighScore","leaderboardType","isActive","isVisible","elementRef","useIntersectionObserver","value","maxValue","displayValueAs","ELeaderboardType","Styled.AnimatedItem","jsx","PlayerProgressListItem"],"mappings":";;;;;;AAaO,MAAMA,IAA+DC;AAAA,EAC1E,CAAC,EAAE,QAAAC,GAAQ,MAAAC,GAAM,eAAAC,GAAe,WAAAC,GAAW,cAAAC,GAAc,iBAAAC,GAAiB,UAAAC,QAAe;AACvF,UAAM,EAAE,WAAAC,GAAW,YAAAC,EAAW,IAAIC,EAAwC;AAAA,MACxE,WAAW;AAAA,IAAA,CACZ;AAEG,QAAAC,GACAC,GACAC;AAEJ,YAAQP,GAAiB;AAAA,MACvB,KAAKQ,EAAiB;AACpB,QAAAH,IAASV,EAAwC,YACtCW,IAAAT,GACMU,IAAA;AACjB;AAAA,MAEF,KAAKC,EAAiB;AACpB,QAAAH,IAASV,EAA2C,WACzCW,IAAAP,GACMQ,IAAA;AACjB;AAAA,MAEF,KAAKC,EAAiB;AAAA,MACtB,KAAKA,EAAiB;AAAA,MACtB;AACE,QAAAH,IAASV,EAAwC,QACtCW,IAAAR,GACMS,IAAA;AACjB;AAAA,IACJ;AAEA,6BACGE,GAAA,EAAsC,WAAAP,GAAsB,KAAKC,GAChE,UAAA,gBAAAO;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAOf;AAAA,QACP,UAAAU;AAAA,QACA,OAAAD;AAAA,QACA,UAAAJ;AAAA,QACA,QAAQN,EAAO;AAAA,QACf,OAAOA,EAAO;AAAA,QACd,aAAaA,EAAO;AAAA,QACpB,gBAAAY;AAAA,MAAA;AAAA,IAAA,KATsBZ,EAAO,IAWjC;AAAA,EAEJ;AACF;"}
|
package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-button.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/navigation-button/navigation-button.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"navigation-button.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/navigation-button/navigation-button.tsx"],"sourcesContent":["import React, { memo } from 'react';\n\nimport CrossIcon from '../../../../../assets/line-icons/icons/cross';\nimport LeftIcon from '../../../../../assets/line-icons/icons/left';\nimport RightIcon from '../../../../../assets/line-icons/icons/right';\nimport { ArcButton } from '../../../../ui/arc-button/arc-button';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport { LEADERBOARD_ANALYTICS_EVENTS } from '../../leaderboard-analytics-events';\nimport * as Styled from './navigation-button-styled';\nimport type { INavigationButtonProps } from './navigation-button-types';\n\nexport const NavigationButton: React.FC<INavigationButtonProps> = memo(\n ({ labels, onLeftClick, onRightClick, currIndex, onClose, disableSwipe }) => {\n return (\n <Styled.NavigationActionWrapper>\n <Styled.ExtendedIconButton align=\"left\">\n <IconButton\n Icon={LeftIcon}\n size=\"small\"\n onClick={onLeftClick}\n renderAs=\"secondary\"\n analyticsLabel={LEADERBOARD_ANALYTICS_EVENTS.PREV_ON_LEADERBOARD}\n disabled={disableSwipe || currIndex === 0}\n />\n </Styled.ExtendedIconButton>\n {/* Right Navigation IconButton */}\n <Styled.ExtendedIconButton align=\"right\">\n <IconButton\n Icon={RightIcon}\n size=\"small\"\n onClick={onRightClick}\n renderAs=\"secondary\"\n analyticsLabel={LEADERBOARD_ANALYTICS_EVENTS.NEXT_ON_LEADERBOARD}\n disabled={disableSwipe || currIndex === labels.length - 1}\n />\n </Styled.ExtendedIconButton>\n\n <ArcButton\n renderAs=\"primary\"\n onClick={onClose}\n analyticsLabel={LEADERBOARD_ANALYTICS_EVENTS.LEADERBOARD_CLOSED}\n >\n {/* Left Navigation IconButton */}\n <CrossIcon color=\"WHITE\" />\n </ArcButton>\n </Styled.NavigationActionWrapper>\n );\n },\n);\n"],"names":["NavigationButton","memo","labels","onLeftClick","onRightClick","currIndex","onClose","disableSwipe","jsxs","Styled.NavigationActionWrapper","jsx","Styled.ExtendedIconButton","IconButton","LeftIcon","LEADERBOARD_ANALYTICS_EVENTS","RightIcon","ArcButton","CrossIcon"],"mappings":";;;;;;;;;AAWO,MAAMA,IAAqDC;AAAA,EAChE,CAAC,EAAE,QAAAC,GAAQ,aAAAC,GAAa,cAAAC,GAAc,WAAAC,GAAW,SAAAC,GAAS,cAAAC,QAEtD,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAA0B,OAAM,QAC/B,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAMC;AAAA,QACN,MAAK;AAAA,QACL,SAASV;AAAA,QACT,UAAS;AAAA,QACT,gBAAgBW,EAA6B;AAAA,QAC7C,UAAUP,KAAgBF,MAAc;AAAA,MAAA;AAAA,IAAA,GAE5C;AAAA,IAEC,gBAAAK,EAAAC,GAAA,EAA0B,OAAM,SAC/B,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAMG;AAAA,QACN,MAAK;AAAA,QACL,SAASX;AAAA,QACT,UAAS;AAAA,QACT,gBAAgBU,EAA6B;AAAA,QAC7C,UAAUP,KAAgBF,MAAcH,EAAO,SAAS;AAAA,MAAA;AAAA,IAAA,GAE5D;AAAA,IAEA,gBAAAQ;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,SAASV;AAAA,QACT,gBAAgBQ,EAA6B;AAAA,QAG7C,UAAA,gBAAAJ,EAACO,GAAU,EAAA,OAAM,QAAQ,CAAA;AAAA,MAAA;AAAA,IAC3B;AAAA,EACF,EAAA,CAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-item.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/progress-item/progress-item.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"progress-item.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/progress-item/progress-item.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport { memo } from 'react';\n\nimport * as Styled from './progress-item-styled';\nimport type { ProgressItemProps } from './progress-item-types';\n\nexport const ProgressItem: FC<PropsWithChildren<ProgressItemProps>> = memo(props => {\n const { maxValue, value, isActive, children = null } = props;\n\n return (\n <Styled.ProgressWrapper>\n <Styled.Progress value={(value * 100) / maxValue} isActive={isActive} />\n {children}\n </Styled.ProgressWrapper>\n );\n});\n"],"names":["ProgressItem","memo","props","maxValue","value","isActive","children","jsxs","Styled.ProgressWrapper","jsx","Styled.Progress"],"mappings":";;;AAMa,MAAAA,IAAyDC,EAAK,CAASC,MAAA;AAClF,QAAM,EAAE,UAAAC,GAAU,OAAAC,GAAO,UAAAC,GAAU,UAAAC,IAAW,KAAS,IAAAJ;AAGrD,SAAA,gBAAAK,EAACC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAgB,OAAQN,IAAQ,MAAOD,GAAU,UAAAE,GAAoB;AAAA,IACrEC;AAAA,EACH,EAAA,CAAA;AAEJ,CAAC;"}
|
package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-list-item.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"progress-list-item.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo } from 'react';\n\nimport { ReactComponent as PointsSumSvg } from '../../../../../assets/illustrations/points-sum.svg';\nimport Avatar from '../../../../ui/avatar/avatar';\nimport StreakIcon from '../../../../ui/streak-icon/streak-icon';\nimport Text from '../../../../ui/text/text';\nimport { ProgressItem } from '../progress-item/progress-item';\nimport { WithGrade } from '../with-grade/with-grade';\nimport * as Styled from './progress-list-item-styled';\nimport type { PlayerProgressListItemProps } from './progress-list-item-types';\n\nexport const PlayerProgressListItem: FC<PlayerProgressListItemProps> = memo(\n ({\n maxValue,\n value,\n index,\n isActive,\n avatar,\n grade,\n isTeacher = false,\n isCuemathProfile = false,\n displayText,\n displayValueAs = 'default',\n }) => {\n return (\n <Styled.FlatListElement>\n {/* rank */}\n <Styled.RankContainer>\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n {value ? index : ''}\n </Text>\n </Styled.RankContainer>\n\n <Styled.DataContainer>\n {/* progress */}\n <ProgressItem maxValue={maxValue} value={value} isActive={isActive}>\n {/* avatar */}\n <Styled.AvatarContainer>\n <Avatar avatar={avatar} size={24} />\n </Styled.AvatarContainer>\n\n {/* user info */}\n <Styled.UserIdentity>\n <Styled.LeaderboardUsername>\n <WithGrade grade={grade} isTeacher={isTeacher} isPlusUser={isCuemathProfile}>\n <Text $renderAs={isActive ? 'ab2-bold' : 'ab2'} $color=\"WHITE\">\n {displayText}\n </Text>\n </WithGrade>\n </Styled.LeaderboardUsername>\n </Styled.UserIdentity>\n </ProgressItem>\n </Styled.DataContainer>\n\n {/* value */}\n <Styled.ValueContainer showPointSymbol={displayValueAs === 'points'}>\n {displayValueAs === 'points' && (\n <>\n <Text $renderAs={isActive ? 'ab3-bold' : 'ab3'} $color=\"WHITE\">\n {value}\n </Text>\n {displayValueAs === 'points' && <PointsSumSvg width={20} height={20} />}\n </>\n )}\n {displayValueAs === 'streak' && <StreakIcon value={value} />}\n {displayValueAs === 'highscore' && (\n <Text $renderAs={isActive ? 'ab3-bold' : 'ab3'} $color=\"WHITE\">\n {value}\n </Text>\n )}\n </Styled.ValueContainer>\n </Styled.FlatListElement>\n );\n },\n);\n"],"names":["PlayerProgressListItem","memo","maxValue","value","index","isActive","avatar","grade","isTeacher","isCuemathProfile","displayText","displayValueAs","jsxs","Styled.FlatListElement","jsx","Styled.RankContainer","Text","Styled.DataContainer","ProgressItem","Styled.AvatarContainer","Avatar","Styled.UserIdentity","Styled.LeaderboardUsername","WithGrade","Styled.ValueContainer","Fragment","PointsSumSvg","StreakIcon"],"mappings":";;;;;;;;;AAYO,MAAMA,IAA0DC;AAAA,EACrE,CAAC;AAAA,IACC,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,kBAAAC,IAAmB;AAAA,IACnB,aAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,EAAA,MAGf,gBAAAC,EAACC,GAAA,EAEC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACE,GAAK,EAAA,WAAU,OAAM,QAAO,SAC1B,UAAAb,IAAQC,IAAQ,GACnB,CAAA,GACF;AAAA,IAEA,gBAAAU,EAACG,GAAA,EAEC,4BAACC,GAAa,EAAA,UAAAhB,GAAoB,OAAAC,GAAc,UAAAE,GAE9C,UAAA;AAAA,MAAC,gBAAAS,EAAAK,GAAA,EACC,UAAA,gBAAAL,EAACM,KAAO,QAAAd,GAAgB,MAAM,GAAI,CAAA,GACpC;AAAA,MAGA,gBAAAQ,EAACO,GAAA,EACC,UAAA,gBAAAP,EAACQ,GAAA,EACC,UAAC,gBAAAR,EAAAS,GAAA,EAAU,OAAAhB,GAAc,WAAAC,GAAsB,YAAYC,GACzD,UAAA,gBAAAK,EAACE,GAAK,EAAA,WAAWX,IAAW,aAAa,OAAO,QAAO,SACpD,UAAAK,EAAA,CACH,EACF,CAAA,EAAA,CACF,EACF,CAAA;AAAA,IAAA,EAAA,CACF,EACF,CAAA;AAAA,sBAGCc,GAAA,EAAsB,iBAAiBb,MAAmB,UACxD,UAAA;AAAA,MAAAA,MAAmB,YAEhB,gBAAAC,EAAAa,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAX,EAACE,KAAK,WAAWX,IAAW,aAAa,OAAO,QAAO,SACpD,UACHF,EAAA,CAAA;AAAA,QACCQ,MAAmB,YAAY,gBAAAG,EAACY,KAAa,OAAO,IAAI,QAAQ,IAAI;AAAA,MAAA,GACvE;AAAA,MAEDf,MAAmB,YAAa,gBAAAG,EAAAa,GAAA,EAAW,OAAAxB,EAAc,CAAA;AAAA,MACzDQ,MAAmB,eAClB,gBAAAG,EAACE,GAAK,EAAA,WAAWX,IAAW,aAAa,OAAO,QAAO,SACpD,UACHF,EAAA,CAAA;AAAA,IAAA,GAEJ;AAAA,EACF,EAAA,CAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streak-reduction-infobar.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/streak-reduction-infobar/streak-reduction-infobar.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"streak-reduction-infobar.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/streak-reduction-infobar/streak-reduction-infobar.tsx"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nimport CrossIcon from '../../../../../assets/line-icons/icons/cross';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { InfoBar } from '../../../comps/info-bar/info-bar';\nimport { StreakReductionLocalStorageUtil } from '../../../utils/streak-reduction-localstorage-util';\nimport { STREAK_REDUCTION_LEADERBOARD_INFOBAR_TIMESTAMP } from './streak-reduction-infobar-constants';\nimport type { IStreakReductionLeaderboard } from './streak-reduction-infobar-types';\n\nexport const StreakReductionInfoBar = ({\n startTimestampToday,\n streakReduction,\n}: IStreakReductionLeaderboard) => {\n const [showInfoBar, setShowInfoBar] = useState(\n StreakReductionLocalStorageUtil.showStreakReduction(\n STREAK_REDUCTION_LEADERBOARD_INFOBAR_TIMESTAMP,\n startTimestampToday,\n ),\n );\n\n const hasStreakReduced = streakReduction > 0;\n\n const onInfoBarClose = useCallback(() => {\n StreakReductionLocalStorageUtil.markStreakReductionDismissed(\n STREAK_REDUCTION_LEADERBOARD_INFOBAR_TIMESTAMP,\n startTimestampToday,\n );\n setShowInfoBar(false);\n }, [startTimestampToday]);\n\n if (!showInfoBar) {\n return null;\n }\n\n return (\n <InfoBar\n children={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <FlexView>\n {hasStreakReduced ? (\n <>\n <Text $renderAs=\"ab2\" $color=\"WHITE_T_87\">\n Keep building your streak by completing an activity each day.\n </Text>\n <Text $renderAs=\"ab2\" $color=\"WHITE_T_87\">\n For each day missed, your streak reduces by 1.\n </Text>\n </>\n ) : (\n <Text $renderAs=\"ab2\" $color=\"WHITE_T_87\">\n Streak saved for the day! Come back tomorrow to keep increasing it.\n </Text>\n )}\n </FlexView>\n\n <CrossIcon cursor={'pointer'} color=\"WHITE\" onClick={onInfoBarClose} />\n </FlexView>\n }\n hue={hasStreakReduced ? 'YELLOW' : 'GREEN'}\n />\n );\n};\n"],"names":["StreakReductionInfoBar","startTimestampToday","streakReduction","showInfoBar","setShowInfoBar","useState","StreakReductionLocalStorageUtil","STREAK_REDUCTION_LEADERBOARD_INFOBAR_TIMESTAMP","hasStreakReduced","onInfoBarClose","useCallback","jsx","InfoBar","FlexView","jsxs","Fragment","Text","CrossIcon"],"mappings":";;;;;;;;AAUO,MAAMA,IAAyB,CAAC;AAAA,EACrC,qBAAAC;AAAA,EACA,iBAAAC;AACF,MAAmC;AAC3B,QAAA,CAACC,GAAaC,CAAc,IAAIC;AAAA,IACpCC,EAAgC;AAAA,MAC9BC;AAAA,MACAN;AAAA,IACF;AAAA,EAAA,GAGIO,IAAmBN,IAAkB,GAErCO,IAAiBC,EAAY,MAAM;AACP,IAAAJ,EAAA;AAAA,MAC9BC;AAAA,MACAN;AAAA,IAAA,GAEFG,EAAe,EAAK;AAAA,EAAA,GACnB,CAACH,CAAmB,CAAC;AAExB,SAAKE,IAKH,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACGC,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,iBAClE,UAAA;AAAA,QAAC,gBAAAF,EAAAE,GAAA,EACE,cAEG,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAJ,EAACK,GAAK,EAAA,WAAU,OAAM,QAAO,cAAa,UAE1C,iEAAA;AAAA,4BACCA,GAAK,EAAA,WAAU,OAAM,QAAO,cAAa,UAE1C,kDAAA;AAAA,QACF,EAAA,CAAA,sBAECA,GAAK,EAAA,WAAU,OAAM,QAAO,cAAa,iFAE1C,EAEJ,CAAA;AAAA,0BAECC,GAAU,EAAA,QAAQ,WAAW,OAAM,SAAQ,SAASR,GAAgB;AAAA,MAAA,GACvE;AAAA,MAEF,KAAKD,IAAmB,WAAW;AAAA,IAAA;AAAA,EAAA,IA3B9B;AA8BX;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/timer/timer.tsx"],"sourcesContent":["import type { FC } from 'react';\
|
|
1
|
+
{"version":3,"file":"timer.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/timer/timer.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useEffect, useState } from 'react';\n\ninterface TimerProps {\n fromTimestamp: number;\n endTimestamp: number;\n timeRepresentation?: {\n dayStr?: string;\n hourStr?: string;\n };\n}\n\n// Utility function to calculate remaining time\nconst calculateDuration = (endTimestamp: number, fromTimestamp: number) => {\n const endDate = new Date(endTimestamp);\n const currDate = new Date(fromTimestamp);\n\n const diff = endDate.getTime() - currDate.getTime();\n\n const days = Math.floor(diff / (1000 * 60 * 60 * 24));\n const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((diff % (1000 * 60)) / 1000);\n\n return { days, hours, minutes, seconds };\n};\n\nconst getRemainingTimeInHMS = (fromTimestamp: number, endTimestamp: number) => {\n const duration = calculateDuration(endTimestamp, fromTimestamp);\n\n const days = duration.days;\n const hours = duration.hours;\n const minutes = duration.minutes;\n const seconds = duration.seconds;\n\n return { days, hours, minutes, seconds };\n};\n\nexport const Timer: FC<TimerProps> = memo(({ fromTimestamp, endTimestamp, timeRepresentation }) => {\n const { dayStr = 'd', hourStr = 'h' } = timeRepresentation || {};\n const [timeStr, setTimeStr] = useState('');\n\n useEffect(() => {\n const fTime = fromTimestamp >= endTimestamp ? endTimestamp : fromTimestamp;\n const { days, hours, minutes, seconds } = getRemainingTimeInHMS(fTime, endTimestamp);\n\n let timeFormat = '';\n\n if (days >= 1) {\n timeFormat = `${days} ${dayStr}`;\n } else {\n if (hours >= 1) {\n timeFormat = `${hours} ${hourStr}`;\n } else {\n timeFormat = `${minutes < 10 ? `0${minutes}` : minutes} : ${\n seconds < 10 ? `0${seconds}` : seconds\n }`;\n }\n }\n\n setTimeStr(`${timeFormat}`);\n }, [dayStr, endTimestamp, hourStr, fromTimestamp]);\n\n return <span>{timeStr}</span>;\n});\n"],"names":["calculateDuration","endTimestamp","fromTimestamp","endDate","currDate","diff","days","hours","minutes","seconds","getRemainingTimeInHMS","duration","Timer","memo","timeRepresentation","dayStr","hourStr","timeStr","setTimeStr","useState","useEffect","fTime","timeFormat","jsx"],"mappings":";;AAaA,MAAMA,IAAoB,CAACC,GAAsBC,MAA0B;AACnE,QAAAC,IAAU,IAAI,KAAKF,CAAY,GAC/BG,IAAW,IAAI,KAAKF,CAAa,GAEjCG,IAAOF,EAAQ,QAAQ,IAAIC,EAAS,QAAQ,GAE5CE,IAAO,KAAK,MAAMD,KAAQ,MAAO,KAAK,KAAK,GAAG,GAC9CE,IAAQ,KAAK,MAAOF,KAAQ,MAAO,KAAK,KAAK,OAAQ,MAAO,KAAK,GAAG,GACpEG,IAAU,KAAK,MAAOH,KAAQ,MAAO,KAAK,OAAQ,MAAO,GAAG,GAC5DI,IAAU,KAAK,MAAOJ,KAAQ,MAAO,MAAO,GAAI;AAEtD,SAAO,EAAE,MAAAC,GAAM,OAAAC,GAAO,SAAAC,GAAS,SAAAC,EAAQ;AACzC,GAEMC,IAAwB,CAACR,GAAuBD,MAAyB;AACvE,QAAAU,IAAWX,EAAkBC,GAAcC,CAAa,GAExDI,IAAOK,EAAS,MAChBJ,IAAQI,EAAS,OACjBH,IAAUG,EAAS,SACnBF,IAAUE,EAAS;AAEzB,SAAO,EAAE,MAAAL,GAAM,OAAAC,GAAO,SAAAC,GAAS,SAAAC,EAAQ;AACzC,GAEaG,IAAwBC,EAAK,CAAC,EAAE,eAAAX,GAAe,cAAAD,GAAc,oBAAAa,QAAyB;AACjG,QAAM,EAAE,QAAAC,IAAS,KAAK,SAAAC,IAAU,IAAI,IAAIF,KAAsB,IACxD,CAACG,GAASC,CAAU,IAAIC,EAAS,EAAE;AAEzC,SAAAC,EAAU,MAAM;AACR,UAAAC,IAAQnB,KAAiBD,IAAeA,IAAeC,GACvD,EAAE,MAAAI,GAAM,OAAAC,GAAO,SAAAC,GAAS,SAAAC,MAAYC,EAAsBW,GAAOpB,CAAY;AAEnF,QAAIqB,IAAa;AAEjB,IAAIhB,KAAQ,IACGgB,IAAA,GAAGhB,CAAI,IAAIS,CAAM,KAE1BR,KAAS,IACEe,IAAA,GAAGf,CAAK,IAAIS,CAAO,KAEhCM,IAAa,GAAGd,IAAU,KAAK,IAAIA,CAAO,KAAKA,CAAO,MACpDC,IAAU,KAAK,IAAIA,CAAO,KAAKA,CACjC,IAIOS,EAAA,GAAGI,CAAU,EAAE;AAAA,KACzB,CAACP,GAAQd,GAAce,GAASd,CAAa,CAAC,GAE1C,gBAAAqB,EAAC,UAAM,UAAQN,EAAA,CAAA;AACxB,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-grade.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/with-grade/with-grade.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"with-grade.js","sources":["../../../../../../src/features/circle-games/leaderboard/comps/with-grade/with-grade.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport Flexview from '../../../../ui/layout/flex-view';\nimport { Superscript } from '../../../../ui/superscript/superscript';\nimport type { WithGradeProps } from './with-grade-types';\n\nexport const WithGrade: FC<WithGradeProps> = memo(({ children, grade, isTeacher, isPlusUser }) => {\n const getSuperscript = () => {\n if (!grade) {\n return '';\n }\n\n if (isTeacher) {\n return 'Tutor';\n }\n\n if (grade !== '13') {\n return `G${grade}`;\n }\n\n if (grade === '13') {\n return <img src={ILLUSTRATIONS.GRADUATE_HAT} height={14} width={14} />;\n }\n\n return grade;\n };\n\n return (\n <Flexview>\n <Superscript\n $renderAs=\"ab3\"\n $color={isPlusUser ? 'GREY_1' : 'WHITE'}\n supText={getSuperscript()}\n >\n {children}\n </Superscript>\n </Flexview>\n );\n});\n"],"names":["WithGrade","memo","children","grade","isTeacher","isPlusUser","Flexview","jsx","Superscript","ILLUSTRATIONS"],"mappings":";;;;;AAQa,MAAAA,IAAgCC,EAAK,CAAC,EAAE,UAAAC,GAAU,OAAAC,GAAO,WAAAC,GAAW,YAAAC,0BAsB5EC,GACC,EAAA,UAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,QAAQH,IAAa,WAAW;AAAA,IAChC,SAxBCF,IAIDC,IACK,UAGLD,MAAU,OACL,IAAIA,CAAK,KAGdA,MAAU,OACL,gBAAAI,EAAC,SAAI,KAAKE,EAAc,cAAc,QAAQ,IAAI,OAAO,GAAI,CAAA,IAG/DN,IAfE;AAAA,IAyBJ,UAAAD;AAAA,EAAA;AAEL,EAAA,CAAA,CAEH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-get-leaderboard-dal.js","sources":["../../../../../../src/features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.ts"],"sourcesContent":["import type { IAvatarLayer } from '../../../../ui/avatar/avatar-types';\nimport type {\n ILeaderboardDetails,\n ILeaderboardPlayerWithHighScore,\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from './use-get-leaderboard-dal-types';\n\
|
|
1
|
+
{"version":3,"file":"use-get-leaderboard-dal.js","sources":["../../../../../../src/features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { IAvatarLayer } from '../../../../ui/avatar/avatar-types';\nimport { useGetLeaderboard } from '../../api/get-leaderboard/get-leaderboard';\nimport type {\n ILeaderboardDetails,\n ILeaderboardPlayerWithHighScore,\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from './use-get-leaderboard-dal-types';\n\nexport const useGetLeaderboardDal = (\n userId: string,\n): Omit<ReturnType<typeof useGetLeaderboard>, 'data' | 'get'> & {\n data: ILeaderboardDetails | null;\n} => {\n const [leaderboardDetails, setLeaderboardDetails] = useState<ILeaderboardDetails | null>(null);\n const { data, get: getLeaderboards, isProcessed, ...rest } = useGetLeaderboard();\n\n useEffect(() => {\n getLeaderboards('', {\n user_id: userId,\n });\n }, [getLeaderboards, userId]);\n\n useEffect(() => {\n let leaderboard: ILeaderboardDetails | null = null;\n\n if (isProcessed && data) {\n leaderboard = {\n biWeekly: {\n currentTimestamp: data.bi_weekly.currentTimestamp,\n startTimestamp: data.bi_weekly.startTimestamp,\n endTimestamp: data.bi_weekly.endTimestamp,\n leaderboardPlayers: data.bi_weekly.leaderboardUsers.map(player => {\n return {\n userId: player.user_id,\n userAvatar: player.userAvatar as IAvatarLayer[],\n username: player.username,\n grade: player.grade,\n rank: player.rank,\n points: player.points!,\n };\n }) as ILeaderboardPlayerWithPoints[],\n },\n global: {\n currentTimestamp: data.global.currentTimestamp,\n startTimestamp: data.global.startTimestamp,\n endTimestamp: data.global.endTimestamp,\n leaderboardPlayers: data.global.leaderboardUsers.map(player => {\n return {\n userId: player.user_id,\n userAvatar: player.userAvatar as IAvatarLayer[],\n username: player.username,\n grade: player.grade,\n rank: player.rank,\n points: player.points!,\n };\n }) as ILeaderboardPlayerWithPoints[],\n },\n globalStreak: {\n currentTimestamp: data.global_streak.currentTimestamp,\n startTimestamp: data.global_streak.startTimestamp,\n endTimestamp: data.global_streak.endTimestamp,\n leaderboardPlayers: data.global_streak.leaderboardUsers.map(player => {\n return {\n userId: player.user_id,\n userAvatar: player.userAvatar as IAvatarLayer[],\n username: player.username,\n grade: player.grade,\n rank: player.rank,\n streakDays: player.streak_days!,\n };\n }) as ILeaderboardPlayerWithStreak[],\n },\n infiniteTable: {\n currentTimestamp: data.infinite_table.currentTimestamp,\n startTimestamp: data.infinite_table.startTimestamp,\n endTimestamp: data.infinite_table.endTimestamp,\n leaderboardPlayers: data.infinite_table.leaderboardUsers.map(player => {\n return {\n userId: player.user_id,\n userAvatar: player.userAvatar as IAvatarLayer[],\n username: player.username,\n grade: player.grade,\n rank: player.rank,\n highScore: player.high_score || 0,\n };\n }) as ILeaderboardPlayerWithHighScore[],\n },\n };\n setLeaderboardDetails(leaderboard);\n }\n }, [data, isProcessed]);\n\n return { data: leaderboardDetails, isProcessed, ...rest };\n};\n"],"names":["useGetLeaderboardDal","userId","leaderboardDetails","setLeaderboardDetails","useState","data","getLeaderboards","isProcessed","rest","useGetLeaderboard","useEffect","leaderboard","player"],"mappings":";;AAWa,MAAAA,IAAuB,CAClCC,MAGG;AACH,QAAM,CAACC,GAAoBC,CAAqB,IAAIC,EAAqC,IAAI,GACvF,EAAE,MAAAC,GAAM,KAAKC,GAAiB,aAAAC,GAAa,GAAGC,EAAA,IAASC;AAE7D,SAAAC,EAAU,MAAM;AACd,IAAAJ,EAAgB,IAAI;AAAA,MAClB,SAASL;AAAA,IAAA,CACV;AAAA,EAAA,GACA,CAACK,GAAiBL,CAAM,CAAC,GAE5BS,EAAU,MAAM;AACd,QAAIC,IAA0C;AAE9C,IAAIJ,KAAeF,MACHM,IAAA;AAAA,MACZ,UAAU;AAAA,QACR,kBAAkBN,EAAK,UAAU;AAAA,QACjC,gBAAgBA,EAAK,UAAU;AAAA,QAC/B,cAAcA,EAAK,UAAU;AAAA,QAC7B,oBAAoBA,EAAK,UAAU,iBAAiB,IAAI,CAAUO,OACzD;AAAA,UACL,QAAQA,EAAO;AAAA,UACf,YAAYA,EAAO;AAAA,UACnB,UAAUA,EAAO;AAAA,UACjB,OAAOA,EAAO;AAAA,UACd,MAAMA,EAAO;AAAA,UACb,QAAQA,EAAO;AAAA,QAAA,EAElB;AAAA,MACH;AAAA,MACA,QAAQ;AAAA,QACN,kBAAkBP,EAAK,OAAO;AAAA,QAC9B,gBAAgBA,EAAK,OAAO;AAAA,QAC5B,cAAcA,EAAK,OAAO;AAAA,QAC1B,oBAAoBA,EAAK,OAAO,iBAAiB,IAAI,CAAUO,OACtD;AAAA,UACL,QAAQA,EAAO;AAAA,UACf,YAAYA,EAAO;AAAA,UACnB,UAAUA,EAAO;AAAA,UACjB,OAAOA,EAAO;AAAA,UACd,MAAMA,EAAO;AAAA,UACb,QAAQA,EAAO;AAAA,QAAA,EAElB;AAAA,MACH;AAAA,MACA,cAAc;AAAA,QACZ,kBAAkBP,EAAK,cAAc;AAAA,QACrC,gBAAgBA,EAAK,cAAc;AAAA,QACnC,cAAcA,EAAK,cAAc;AAAA,QACjC,oBAAoBA,EAAK,cAAc,iBAAiB,IAAI,CAAUO,OAC7D;AAAA,UACL,QAAQA,EAAO;AAAA,UACf,YAAYA,EAAO;AAAA,UACnB,UAAUA,EAAO;AAAA,UACjB,OAAOA,EAAO;AAAA,UACd,MAAMA,EAAO;AAAA,UACb,YAAYA,EAAO;AAAA,QAAA,EAEtB;AAAA,MACH;AAAA,MACA,eAAe;AAAA,QACb,kBAAkBP,EAAK,eAAe;AAAA,QACtC,gBAAgBA,EAAK,eAAe;AAAA,QACpC,cAAcA,EAAK,eAAe;AAAA,QAClC,oBAAoBA,EAAK,eAAe,iBAAiB,IAAI,CAAUO,OAC9D;AAAA,UACL,QAAQA,EAAO;AAAA,UACf,YAAYA,EAAO;AAAA,UACnB,UAAUA,EAAO;AAAA,UACjB,OAAOA,EAAO;AAAA,UACd,MAAMA,EAAO;AAAA,UACb,WAAWA,EAAO,cAAc;AAAA,QAAA,EAEnC;AAAA,MACH;AAAA,IAAA,GAEFT,EAAsBQ,CAAW;AAAA,EACnC,GACC,CAACN,GAAME,CAAW,CAAC,GAEf,EAAE,MAAML,GAAoB,aAAAK,GAAa,GAAGC,EAAK;AAC1D;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-timer.js","sources":["../../../../../../src/features/circle-games/leaderboard/hooks/use-timer/use-timer.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\
|
|
1
|
+
{"version":3,"file":"use-timer.js","sources":["../../../../../../src/features/circle-games/leaderboard/hooks/use-timer/use-timer.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nexport function useTimer(value: number) {\n const [timer, setTimer] = useState<number>(value);\n const timerId = useRef<ReturnType<typeof setInterval>>(undefined);\n\n const initTimer = useCallback(() => {\n timerId.current = setInterval(() => {\n setTimer(prev => prev + 1000);\n }, 1000);\n }, []);\n\n const clearTimer = useCallback(() => {\n clearInterval(timerId.current);\n }, []);\n\n useEffect(() => {\n initTimer();\n\n return () => {\n clearTimer();\n };\n }, [clearTimer, initTimer]);\n\n return [\n timer as number,\n setTimer as Dispatch<SetStateAction<number>>,\n initTimer,\n clearTimer,\n ] as const;\n}\n"],"names":["useTimer","value","timer","setTimer","useState","timerId","useRef","initTimer","useCallback","prev","clearTimer","useEffect"],"mappings":";AAGO,SAASA,EAASC,GAAe;AACtC,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAiBH,CAAK,GAC1CI,IAAUC,EAAuC,MAAS,GAE1DC,IAAYC,EAAY,MAAM;AAC1B,IAAAH,EAAA,UAAU,YAAY,MAAM;AACzB,MAAAF,EAAA,CAAAM,MAAQA,IAAO,GAAI;AAAA,OAC3B,GAAI;AAAA,EACT,GAAG,CAAE,CAAA,GAECC,IAAaF,EAAY,MAAM;AACnC,kBAAcH,EAAQ,OAAO;AAAA,EAC/B,GAAG,CAAE,CAAA;AAEL,SAAAM,EAAU,OACEJ,KAEH,MAAM;AACA,IAAAG;EAAA,IAEZ,CAACA,GAAYH,CAAS,CAAC,GAEnB;AAAA,IACLL;AAAA,IACAC;AAAA,IACAI;AAAA,IACAG;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leaderboard.js","sources":["../../../../src/features/circle-games/leaderboard/leaderboard.tsx"],"sourcesContent":["import type {\n ILeaderboardPlayerWithHighScore,\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from './dal/use-get-leaderboard-dal/use-get-leaderboard-dal-types';\nimport type { ILeaderboardProps } from './leaderboard-types';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport Text from '../../ui/text/text';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { Banner } from './comps/banner/banner';\nimport { LeaderboardItemWithObserver } from './comps/leaderboard-item/leaderboard-item';\nimport { NavigationButton } from './comps/navigation-button/navigation-button';\nimport { StreakReductionInfoBar } from './comps/streak-reduction-infobar/streak-reduction-infobar';\nimport { Timer } from './comps/timer/timer';\nimport { ELeaderboardType } from './enums/leaderboard-type-enum';\nimport { useTimer } from './hooks/use-timer/use-timer';\nimport * as Styled from './leaderboard-styled';\n\nconst BANNER_LOTTIES: Record<ELeaderboardType, string> = {\n [ELeaderboardType.ALL_TIME_STREAK]: LOTTIE.ELITE_CIRCLE,\n [ELeaderboardType.ALL_TIME]: LOTTIE.ELITE_CIRCLE,\n [ELeaderboardType.BI_WEEKLY]: LOTTIE.TOURNAMENT_RIPPLE,\n [ELeaderboardType.INFINITE_TABLE]: LOTTIE.ELITE_CIRCLE, //replace with infite table lottie when available\n};\n\nconst leaderboards = [\n {\n name: 'TOURNAMENT',\n type: ELeaderboardType.BI_WEEKLY,\n },\n {\n name: 'STREAK STARS',\n type: ELeaderboardType.ALL_TIME_STREAK,\n },\n {\n name: 'ALL TIME',\n type: ELeaderboardType.ALL_TIME,\n },\n {\n name: 'TABLE INFINITY',\n type: ELeaderboardType.INFINITE_TABLE,\n },\n];\n\nexport const Leaderboard = ({\n leaderboardData,\n type = ELeaderboardType.BI_WEEKLY,\n userId,\n onClose,\n isLoading,\n streakInfo,\n}: ILeaderboardProps) => {\n const [currentLeaderBoardIndex, setCurrentLeaderboardIndex] = useState(() => {\n const defaultIndex = leaderboards.findIndex(l => l.type === type);\n\n return defaultIndex !== -1 ? defaultIndex : 0;\n });\n\n const [currLeaderboardData, setCurrLeaderboardData] = useState<\n | (\n | ILeaderboardPlayerWithPoints\n | ILeaderboardPlayerWithStreak\n | ILeaderboardPlayerWithHighScore\n )[]\n | []\n >(leaderboardData?.[type]?.leaderboardPlayers || []);\n\n const [currLeaderboardTimeStamps, setCurrLeaderboardTimeStamps] = useState<{\n current: number;\n end: number;\n }>({ current: 0, end: 0 });\n\n const [time, setTimer] = useTimer(0);\n const [isTournamentEnded, setIsTournamentEnded] = useState(false);\n const maxPoints = (currLeaderboardData?.[0] as ILeaderboardPlayerWithPoints)?.points;\n const maxHighScore = (currLeaderboardData?.[0] as ILeaderboardPlayerWithHighScore)?.highScore;\n const maxStreakDays = (currLeaderboardData?.[0] as ILeaderboardPlayerWithStreak)?.streakDays || 0;\n const { playButtonSound } = useCircleSounds();\n\n const handlePrevious = useCallback(() => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => (prev - 1 < 0 ? leaderboards.length - 1 : prev - 1));\n }, [playButtonSound]);\n\n const handleNext = useCallback(() => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => (prev + 1 === leaderboards.length ? 0 : prev + 1));\n }, [playButtonSound]);\n\n useEffect(() => {\n setTimer(0);\n }, [setTimer]);\n\n useEffect(() => {\n const currType = leaderboards[currentLeaderBoardIndex]?.type;\n const currLeaderboard = currType && leaderboardData?.[currType];\n\n if (currLeaderboard) {\n const leaderboardList = currLeaderboard.leaderboardPlayers || [];\n\n if (currType === ELeaderboardType.BI_WEEKLY) {\n setCurrLeaderboardTimeStamps({\n current: currLeaderboard.currentTimestamp,\n end: currLeaderboard.endTimestamp,\n });\n\n if (currLeaderboard.currentTimestamp > currLeaderboard.endTimestamp) {\n leaderboardList.splice(10);\n setIsTournamentEnded(true);\n }\n }\n\n setCurrLeaderboardData([...leaderboardList]);\n }\n }, [currentLeaderBoardIndex, leaderboardData]);\n\n return (\n <Styled.Leaderboard>\n <Styled.LeaderboardContainer>\n <Styled.BannerWrapper>\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Banner\n isLoading={isLoading || currLeaderboardData.length === 0}\n bgFromTopPosition={-120}\n bgFromRightPosition={-110}\n primaryText={\n isTournamentEnded ? <span>New Tournament</span> : <span>Tournament</span>\n }\n secondaryText={\n isTournamentEnded ? (\n <span>Starts Soon</span>\n ) : (\n <span>\n {' '}\n <Timer\n fromTimestamp={(time as number) + currLeaderboardTimeStamps.current}\n endTimestamp={currLeaderboardTimeStamps.end}\n />{' '}\n {'left'}\n </span>\n )\n }\n lottiePath={BANNER_LOTTIES[ELeaderboardType.BI_WEEKLY]}\n custEle={\n <Styled.TournamentBannerCustContainer>\n <Styled.TrophyWrapper>\n <img src={ILLUSTRATIONS.TROPHY_CIRCLE} />\n </Styled.TrophyWrapper>\n </Styled.TournamentBannerCustContainer>\n }\n />\n )}\n\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME_STREAK && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Streak Stars</span>}\n secondaryText={<span>Top 50</span>}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.ALL_TIME_STREAK]}\n />\n )}\n\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Elite Circle</span>}\n secondaryText={<span>Top 50</span>}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.ALL_TIME]}\n />\n )}\n\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.INFINITE_TABLE && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={'Table Infinity'}\n secondaryText={'Top 50'}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.INFINITE_TABLE]}\n />\n )}\n </Styled.BannerWrapper>\n\n {isLoading && <CircularLoader />}\n {!isLoading && currLeaderboardData && currLeaderboardData.length > 0 ? (\n <Styled.ItemsWrapper>\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME_STREAK && (\n <StreakReductionInfoBar\n startTimestampToday={streakInfo.startTimestampToday}\n streakReduction={streakInfo.streakReduction}\n />\n )}\n {isTournamentEnded &&\n leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Styled.Banner>\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Congratulating winners of the last tournament!\n </Text>\n </Styled.Banner>\n )}\n {currLeaderboardData.map(player => {\n return (\n <LeaderboardItemWithObserver\n key={player.rank}\n player={player}\n rank={player.rank}\n maxStreakDays={maxStreakDays}\n maxPoints={maxPoints}\n maxHighScore={maxHighScore}\n leaderboardType={leaderboards[currentLeaderBoardIndex]?.type}\n isActive={player.userId === userId}\n />\n );\n })}\n </Styled.ItemsWrapper>\n ) : (\n <Styled.ItemsWrapper>\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n No content available\n </Text>\n </Styled.ItemsWrapper>\n )}\n\n <Styled.ActionButtonWrapper>\n <NavigationButton\n labels={leaderboards.map(lb => lb.name)}\n onLeftClick={handlePrevious}\n onRightClick={handleNext}\n currIndex={currentLeaderBoardIndex}\n onClose={onClose}\n disableSwipe={isLoading || currLeaderboardData.length === 0}\n />\n </Styled.ActionButtonWrapper>\n </Styled.LeaderboardContainer>\n </Styled.Leaderboard>\n );\n};\n"],"names":["BANNER_LOTTIES","ELeaderboardType","LOTTIE","leaderboards","Leaderboard","leaderboardData","type","userId","onClose","isLoading","streakInfo","currentLeaderBoardIndex","setCurrentLeaderboardIndex","useState","defaultIndex","l","currLeaderboardData","setCurrLeaderboardData","_a","currLeaderboardTimeStamps","setCurrLeaderboardTimeStamps","time","setTimer","useTimer","isTournamentEnded","setIsTournamentEnded","maxPoints","_b","maxHighScore","_c","maxStreakDays","_d","playButtonSound","useCircleSounds","handlePrevious","useCallback","prev","handleNext","useEffect","currType","currLeaderboard","leaderboardList","Styled.Leaderboard","jsxs","Styled.LeaderboardContainer","Styled.BannerWrapper","_e","jsx","Banner","Timer","Styled.TournamentBannerCustContainer","Styled.TrophyWrapper","ILLUSTRATIONS","_f","_g","_h","CircularLoader","Styled.ItemsWrapper","_i","StreakReductionInfoBar","_j","Styled.Banner","Text","player","LeaderboardItemWithObserver","Styled.ActionButtonWrapper","NavigationButton","lb"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"leaderboard.js","sources":["../../../../src/features/circle-games/leaderboard/leaderboard.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport Text from '../../ui/text/text';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { Banner } from './comps/banner/banner';\nimport { LeaderboardItemWithObserver } from './comps/leaderboard-item/leaderboard-item';\nimport { NavigationButton } from './comps/navigation-button/navigation-button';\nimport { StreakReductionInfoBar } from './comps/streak-reduction-infobar/streak-reduction-infobar';\nimport { Timer } from './comps/timer/timer';\nimport type {\n ILeaderboardPlayerWithHighScore,\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from './dal/use-get-leaderboard-dal/use-get-leaderboard-dal-types';\nimport { ELeaderboardType } from './enums/leaderboard-type-enum';\nimport { useTimer } from './hooks/use-timer/use-timer';\nimport * as Styled from './leaderboard-styled';\nimport type { ILeaderboardProps } from './leaderboard-types';\n\nconst BANNER_LOTTIES: Record<ELeaderboardType, string> = {\n [ELeaderboardType.ALL_TIME_STREAK]: LOTTIE.ELITE_CIRCLE,\n [ELeaderboardType.ALL_TIME]: LOTTIE.ELITE_CIRCLE,\n [ELeaderboardType.BI_WEEKLY]: LOTTIE.TOURNAMENT_RIPPLE,\n [ELeaderboardType.INFINITE_TABLE]: LOTTIE.ELITE_CIRCLE, //replace with infite table lottie when available\n};\n\nconst leaderboards = [\n {\n name: 'TOURNAMENT',\n type: ELeaderboardType.BI_WEEKLY,\n },\n {\n name: 'STREAK STARS',\n type: ELeaderboardType.ALL_TIME_STREAK,\n },\n {\n name: 'ALL TIME',\n type: ELeaderboardType.ALL_TIME,\n },\n {\n name: 'TABLE INFINITY',\n type: ELeaderboardType.INFINITE_TABLE,\n },\n];\n\nexport const Leaderboard = ({\n leaderboardData,\n type = ELeaderboardType.BI_WEEKLY,\n userId,\n onClose,\n isLoading,\n streakInfo,\n}: ILeaderboardProps) => {\n const [currentLeaderBoardIndex, setCurrentLeaderboardIndex] = useState(() => {\n const defaultIndex = leaderboards.findIndex(l => l.type === type);\n\n return defaultIndex !== -1 ? defaultIndex : 0;\n });\n\n const [currLeaderboardData, setCurrLeaderboardData] = useState<\n | (\n | ILeaderboardPlayerWithPoints\n | ILeaderboardPlayerWithStreak\n | ILeaderboardPlayerWithHighScore\n )[]\n | []\n >(leaderboardData?.[type]?.leaderboardPlayers || []);\n\n const [currLeaderboardTimeStamps, setCurrLeaderboardTimeStamps] = useState<{\n current: number;\n end: number;\n }>({ current: 0, end: 0 });\n\n const [time, setTimer] = useTimer(0);\n const [isTournamentEnded, setIsTournamentEnded] = useState(false);\n const maxPoints = (currLeaderboardData?.[0] as ILeaderboardPlayerWithPoints)?.points;\n const maxHighScore = (currLeaderboardData?.[0] as ILeaderboardPlayerWithHighScore)?.highScore;\n const maxStreakDays = (currLeaderboardData?.[0] as ILeaderboardPlayerWithStreak)?.streakDays || 0;\n const { playButtonSound } = useCircleSounds();\n\n const handlePrevious = useCallback(() => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => (prev - 1 < 0 ? leaderboards.length - 1 : prev - 1));\n }, [playButtonSound]);\n\n const handleNext = useCallback(() => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => (prev + 1 === leaderboards.length ? 0 : prev + 1));\n }, [playButtonSound]);\n\n useEffect(() => {\n setTimer(0);\n }, [setTimer]);\n\n useEffect(() => {\n const currType = leaderboards[currentLeaderBoardIndex]?.type;\n const currLeaderboard = currType && leaderboardData?.[currType];\n\n if (currLeaderboard) {\n const leaderboardList = currLeaderboard.leaderboardPlayers || [];\n\n if (currType === ELeaderboardType.BI_WEEKLY) {\n setCurrLeaderboardTimeStamps({\n current: currLeaderboard.currentTimestamp,\n end: currLeaderboard.endTimestamp,\n });\n\n if (currLeaderboard.currentTimestamp > currLeaderboard.endTimestamp) {\n leaderboardList.splice(10);\n setIsTournamentEnded(true);\n }\n }\n\n setCurrLeaderboardData([...leaderboardList]);\n }\n }, [currentLeaderBoardIndex, leaderboardData]);\n\n return (\n <Styled.Leaderboard>\n <Styled.LeaderboardContainer>\n <Styled.BannerWrapper>\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Banner\n isLoading={isLoading || currLeaderboardData.length === 0}\n bgFromTopPosition={-120}\n bgFromRightPosition={-110}\n primaryText={\n isTournamentEnded ? <span>New Tournament</span> : <span>Tournament</span>\n }\n secondaryText={\n isTournamentEnded ? (\n <span>Starts Soon</span>\n ) : (\n <span>\n {' '}\n <Timer\n fromTimestamp={(time as number) + currLeaderboardTimeStamps.current}\n endTimestamp={currLeaderboardTimeStamps.end}\n />{' '}\n {'left'}\n </span>\n )\n }\n lottiePath={BANNER_LOTTIES[ELeaderboardType.BI_WEEKLY]}\n custEle={\n <Styled.TournamentBannerCustContainer>\n <Styled.TrophyWrapper>\n <img src={ILLUSTRATIONS.TROPHY_CIRCLE} />\n </Styled.TrophyWrapper>\n </Styled.TournamentBannerCustContainer>\n }\n />\n )}\n\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME_STREAK && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Streak Stars</span>}\n secondaryText={<span>Top 50</span>}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.ALL_TIME_STREAK]}\n />\n )}\n\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Elite Circle</span>}\n secondaryText={<span>Top 50</span>}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.ALL_TIME]}\n />\n )}\n\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.INFINITE_TABLE && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={'Table Infinity'}\n secondaryText={'Top 50'}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.INFINITE_TABLE]}\n />\n )}\n </Styled.BannerWrapper>\n\n {isLoading && <CircularLoader />}\n {!isLoading && currLeaderboardData && currLeaderboardData.length > 0 ? (\n <Styled.ItemsWrapper>\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME_STREAK && (\n <StreakReductionInfoBar\n startTimestampToday={streakInfo.startTimestampToday}\n streakReduction={streakInfo.streakReduction}\n />\n )}\n {isTournamentEnded &&\n leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Styled.Banner>\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Congratulating winners of the last tournament!\n </Text>\n </Styled.Banner>\n )}\n {currLeaderboardData.map(player => {\n return (\n <LeaderboardItemWithObserver\n key={player.rank}\n player={player}\n rank={player.rank}\n maxStreakDays={maxStreakDays}\n maxPoints={maxPoints}\n maxHighScore={maxHighScore}\n leaderboardType={leaderboards[currentLeaderBoardIndex]?.type}\n isActive={player.userId === userId}\n />\n );\n })}\n </Styled.ItemsWrapper>\n ) : (\n <Styled.ItemsWrapper>\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n No content available\n </Text>\n </Styled.ItemsWrapper>\n )}\n\n <Styled.ActionButtonWrapper>\n <NavigationButton\n labels={leaderboards.map(lb => lb.name)}\n onLeftClick={handlePrevious}\n onRightClick={handleNext}\n currIndex={currentLeaderBoardIndex}\n onClose={onClose}\n disableSwipe={isLoading || currLeaderboardData.length === 0}\n />\n </Styled.ActionButtonWrapper>\n </Styled.LeaderboardContainer>\n </Styled.Leaderboard>\n );\n};\n"],"names":["BANNER_LOTTIES","ELeaderboardType","LOTTIE","leaderboards","Leaderboard","leaderboardData","type","userId","onClose","isLoading","streakInfo","currentLeaderBoardIndex","setCurrentLeaderboardIndex","useState","defaultIndex","l","currLeaderboardData","setCurrLeaderboardData","_a","currLeaderboardTimeStamps","setCurrLeaderboardTimeStamps","time","setTimer","useTimer","isTournamentEnded","setIsTournamentEnded","maxPoints","_b","maxHighScore","_c","maxStreakDays","_d","playButtonSound","useCircleSounds","handlePrevious","useCallback","prev","handleNext","useEffect","currType","currLeaderboard","leaderboardList","Styled.Leaderboard","jsxs","Styled.LeaderboardContainer","Styled.BannerWrapper","_e","jsx","Banner","Timer","Styled.TournamentBannerCustContainer","Styled.TrophyWrapper","ILLUSTRATIONS","_f","_g","_h","CircularLoader","Styled.ItemsWrapper","_i","StreakReductionInfoBar","_j","Styled.Banner","Text","player","LeaderboardItemWithObserver","Styled.ActionButtonWrapper","NavigationButton","lb"],"mappings":"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"}
|
package/dist/features/circle-games/sign-up/api/use-create-user-api/use-create-user-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-create-user-api.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-create-user-api/use-create-user-api.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"use-create-user-api.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-create-user-api/use-create-user-api.ts"],"sourcesContent":["import { createPostAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL } from '../constants';\nimport type { ICreateUserPayload, ICreateUserResponse } from './use-create-user-api-types';\n\nexport const { usePost: useCreateUser } = createPostAPI<ICreateUserResponse, ICreateUserPayload>({\n getURL: () => `${BASE_URL}/profile`,\n});\n"],"names":["useCreateUser","createPostAPI","BASE_URL"],"mappings":";;AAKO,MAAM,EAAE,SAASA,EAAc,IAAIC,EAAuD;AAAA,EAC/F,QAAQ,MAAM,GAAGC,CAAQ;AAC3B,CAAC;"}
|
package/dist/features/circle-games/sign-up/api/use-update-user-api/use-update-user-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-update-user-api.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-update-user-api/use-update-user-api.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"use-update-user-api.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-update-user-api/use-update-user-api.ts"],"sourcesContent":["import { createPostAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL } from '../constants';\nimport type { IUpdateUserPayload, IUpdateUserResponse } from './use-update-user-api-types';\n\nexport const { usePost: useUpdateUser } = createPostAPI<IUpdateUserResponse, IUpdateUserPayload>({\n getURL: () => `${BASE_URL}/profile`,\n});\n"],"names":["useUpdateUser","createPostAPI","BASE_URL"],"mappings":";;AAKO,MAAM,EAAE,SAASA,EAAc,IAAIC,EAAuD;AAAA,EAC/F,QAAQ,MAAM,GAAGC,CAAQ;AAC3B,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-update-username-api.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"use-update-username-api.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.ts"],"sourcesContent":["import { createPostAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../../../constants/api';\nimport type {\n IUpdateUsernamePayload,\n IUpdateUsernameResponse,\n} from './use-update-username-api-types';\n\nconst { usePost: useUpdateUsernamePost } = createPostAPI<\n IUpdateUsernameResponse,\n IUpdateUsernamePayload,\n { studentId: string }\n>({\n getURL: (_, { studentId }) => `${BASE_URL_V1}/students/${studentId}/`,\n});\n\nexport { useUpdateUsernamePost };\n"],"names":["useUpdateUsernamePost","createPostAPI","_","studentId","BASE_URL_V1"],"mappings":";;AAQA,MAAM,EAAE,SAASA,EAAsB,IAAIC,EAIzC;AAAA,EACA,QAAQ,CAACC,GAAG,EAAE,WAAAC,EAAgB,MAAA,GAAGC,CAAW,aAAaD,CAAS;AACpE,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-username-availability-get.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-validate-username-api/use-username-availability-get.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"use-username-availability-get.js","sources":["../../../../../../src/features/circle-games/sign-up/api/use-validate-username-api/use-username-availability-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\nimport querystring from 'query-string';\n\nimport { BASE_URL_V1 } from '../../../../../constants/api';\nimport type {\n IUsernameAvailabilityData,\n IUsernameAvailabilityParam,\n} from './use-username-availability-get-types';\n\nconst { useGet: useUsernameAvailabilityGet } = createGetAPI<\n IUsernameAvailabilityData,\n IUsernameAvailabilityParam\n>({\n getURL: (_, queryParams) =>\n `${BASE_URL_V1}/available-username?${querystring.stringify(queryParams)}`,\n});\n\nexport { useUsernameAvailabilityGet };\n"],"names":["useUsernameAvailabilityGet","createGetAPI","_","queryParams","BASE_URL_V1","querystring"],"mappings":";;;AASA,MAAM,EAAE,QAAQA,EAA2B,IAAIC,EAG7C;AAAA,EACA,QAAQ,CAACC,GAAGC,MACV,GAAGC,CAAW,uBAAuBC,EAAY,UAAUF,CAAW,CAAC;AAC3E,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circular-steps.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/circular-steps/circular-steps.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"circular-steps.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/circular-steps/circular-steps.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useCallback, useRef } from 'react';\n\nimport CircleBackIcon from '../../../../../assets/line-icons/icons/circle-back';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './circular-steps-styled';\nimport type { ICircularStepsProps } from './circular-steps-types';\nimport { TOTAL_FRAMES } from './constants';\n\nexport const BackgroundImage = ({ img }: { img: React.ReactNode }) => {\n return <Styled.BackgroundImage>{img}</Styled.BackgroundImage>;\n};\n\nconst animationSettings = {\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n};\n\nexport const CircularSteps: FC<ICircularStepsProps> = ({ steps, currentStepIndex, dimensions }) => {\n const { width, height } = dimensions;\n\n const step = steps[currentStepIndex];\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const previousStepIndex = useRef<number>(-1);\n\n const handleBack = () => {\n steps[currentStepIndex]?.onBack?.();\n };\n\n const onLottieRender = useCallback(() => {\n if (animationRef.current && step?.isProgressAnimationRequired) {\n const actualSteps = steps.filter(_step => _step.isProgressAnimationRequired);\n const stepSize = TOTAL_FRAMES / actualSteps.length;\n\n const validPreviousIndex = previousStepIndex.current >= 0 ? previousStepIndex.current : 0;\n\n const fromFrame = Math.round(validPreviousIndex * stepSize + 1);\n const toFrame = Math.round(currentStepIndex * stepSize);\n\n previousStepIndex.current = currentStepIndex;\n animationRef.current.playSegments([fromFrame, toFrame], true);\n }\n }, [currentStepIndex, step?.isProgressAnimationRequired, steps]);\n\n return (\n <>\n {step ? (\n <Styled.ScreenWrapper width={width} height={height}>\n {step.onBack ? (\n <Styled.TransparentIconButton>\n <CircleBackIcon onClick={handleBack} />\n </Styled.TransparentIconButton>\n ) : null}\n {step.background ? <BackgroundImage img={step.background} /> : null}\n <Styled.CircularStepsContainer>\n <Styled.CircularStepsWrapper>\n {step.custEle ? (\n <Styled.CustEleContainer>{step.custEle}</Styled.CustEleContainer>\n ) : null}\n\n {/*circular data container*/}\n {step.custEleInsideStep ? (\n <Styled.CircularProgressContainer width={width} height={height}>\n {step.isProgressAnimationRequired ? (\n <Styled.CircularProgress>\n <LottieAnimation\n ref={animationRef}\n src={LOTTIE.LEVELUP_RINGS}\n settings={animationSettings}\n onRender={onLottieRender}\n />\n </Styled.CircularProgress>\n ) : null}\n\n {step.label ? (\n <Styled.Label>\n <Text $renderAs=\"ab2\" $align=\"center\" $color=\"WHITE\" $whiteSpace=\"pre\">\n {step.label}\n </Text>\n </Styled.Label>\n ) : null}\n {step.custEleInsideStep}\n </Styled.CircularProgressContainer>\n ) : null}\n </Styled.CircularStepsWrapper>\n </Styled.CircularStepsContainer>\n {/* custom data container below circle */}\n {step.custEleBelowStep ? (\n <Styled.CustomDataContainer>{step.custEleBelowStep}</Styled.CustomDataContainer>\n ) : null}\n </Styled.ScreenWrapper>\n ) : null}\n </>\n );\n};\n"],"names":["BackgroundImage","img","jsx","Styled.BackgroundImage","animationSettings","CircularSteps","steps","currentStepIndex","dimensions","width","height","step","animationRef","useRef","previousStepIndex","handleBack","_b","_a","onLottieRender","useCallback","actualSteps","_step","stepSize","TOTAL_FRAMES","validPreviousIndex","fromFrame","toFrame","jsxs","Styled.ScreenWrapper","Styled.TransparentIconButton","CircleBackIcon","Styled.CircularStepsContainer","Styled.CircularStepsWrapper","Styled.CustEleContainer","Styled.CircularProgressContainer","Styled.CircularProgress","LottieAnimation","LOTTIE","Styled.Label","Text","Styled.CustomDataContainer"],"mappings":";;;;;;;;AAYO,MAAMA,IAAkB,CAAC,EAAE,KAAAC,QACxB,gBAAAC,EAAAC,GAAA,EAAwB,UAAIF,EAAA,CAAA,GAGhCG,IAAoB;AAAA,EACxB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ,GAEaC,IAAyC,CAAC,EAAE,OAAAC,GAAO,kBAAAC,GAAkB,YAAAC,QAAiB;AAC3F,QAAA,EAAE,OAAAC,GAAO,QAAAC,EAAW,IAAAF,GAEpBG,IAAOL,EAAMC,CAAgB,GAC7BK,IAAeC,EAAmC,IAAI,GACtDC,IAAoBD,EAAe,EAAE,GAErCE,IAAa,MAAM;;AACjB,KAAAC,KAAAC,IAAAX,EAAAC,CAAgB,MAAhB,gBAAAU,EAAmB,WAAnB,QAAAD,EAAA,KAAAC;AAAA,EAA4B,GAG9BC,IAAiBC,EAAY,MAAM;AACnC,QAAAP,EAAa,YAAWD,KAAA,QAAAA,EAAM,8BAA6B;AAC7D,YAAMS,IAAcd,EAAM,OAAO,CAAAe,MAASA,EAAM,2BAA2B,GACrEC,IAAWC,IAAeH,EAAY,QAEtCI,IAAqBV,EAAkB,WAAW,IAAIA,EAAkB,UAAU,GAElFW,IAAY,KAAK,MAAMD,IAAqBF,IAAW,CAAC,GACxDI,IAAU,KAAK,MAAMnB,IAAmBe,CAAQ;AAEtD,MAAAR,EAAkB,UAAUP,GAC5BK,EAAa,QAAQ,aAAa,CAACa,GAAWC,CAAO,GAAG,EAAI;AAAA,IAC9D;AAAA,KACC,CAACnB,GAAkBI,KAAA,gBAAAA,EAAM,6BAA6BL,CAAK,CAAC;AAE/D,gCAEK,UACCK,IAAA,gBAAAgB,EAACC,GAAA,EAAqB,OAAAnB,GAAc,QAAAC,GACjC,UAAA;AAAA,IAAKC,EAAA,SACH,gBAAAT,EAAA2B,GAAA,EACC,4BAACC,GAAe,EAAA,SAASf,GAAY,EAAA,CACvC,IACE;AAAA,IACHJ,EAAK,aAAa,gBAAAT,EAACF,KAAgB,KAAKW,EAAK,WAAY,CAAA,IAAK;AAAA,sBAC9DoB,GAAA,EACC,UAAC,gBAAAJ,EAAAK,GAAA,EACE,UAAA;AAAA,MAAArB,EAAK,UACH,gBAAAT,EAAA+B,GAAA,EAAyB,UAAAtB,EAAK,QAAQ,CAAA,IACrC;AAAA,MAGHA,EAAK,oBACJ,gBAAAgB,EAACO,GAAA,EAAiC,OAAAzB,GAAc,QAAAC,GAC7C,UAAA;AAAA,QAAAC,EAAK,8BACJ,gBAAAT,EAACiC,GAAA,EACC,UAAA,gBAAAjC;AAAA,UAACkC;AAAA,UAAA;AAAA,YACC,KAAKxB;AAAA,YACL,KAAKyB,EAAO;AAAA,YACZ,UAAUjC;AAAA,YACV,UAAUc;AAAA,UAAA;AAAA,WAEd,IACE;AAAA,QAEHP,EAAK,QACJ,gBAAAT,EAACoC,GAAA,EACC,4BAACC,GAAK,EAAA,WAAU,OAAM,QAAO,UAAS,QAAO,SAAQ,aAAY,OAC9D,UAAK5B,EAAA,MAAA,CACR,EACF,CAAA,IACE;AAAA,QACHA,EAAK;AAAA,MAAA,EAAA,CACR,IACE;AAAA,IAAA,EAAA,CACN,EACF,CAAA;AAAA,IAECA,EAAK,mBACH,gBAAAT,EAAAsC,GAAA,EAA4B,UAAA7B,EAAK,iBAAiB,CAAA,IACjD;AAAA,EAAA,GACN,IACE,KACN,CAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grade-input.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/grade-input/grade-input.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"grade-input.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/grade-input/grade-input.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport Next2Icon from '../../../../../assets/line-icons/icons/next2';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport Text from '../../../../ui/text/text';\nimport { WithGrade } from '../../../leaderboard/comps/with-grade/with-grade';\nimport * as S from './grade-input-styled';\nimport type { Grade, GradeKey, IGradeInputProps } from './grade-input-types';\n\nexport const GradeInput = ({ selected, grades, onSelect, onNext }: IGradeInputProps) => {\n const [active, setActive] = useState(selected);\n\n useEffect(() => {\n setActive(selected);\n }, [selected]);\n\n const isOutOfSchool = (gradeKey: GradeKey) => {\n return gradeKey === ('13' as GradeKey);\n };\n\n const handleGrade = (gradeInfo: Grade) => {\n onSelect?.(gradeInfo);\n };\n\n const maxNoOfRows = 7;\n\n // Group grades into rows\n const grade2d: Grade[][] = grades.reduce((acc: Grade[][], grade, index) => {\n if (index % maxNoOfRows === 0) acc.push([]);\n acc[acc.length - 1]?.push(grade);\n\n return acc;\n }, []);\n\n return (\n <S.GradeInputWrapper>\n {selected && (\n <S.NextButtonWrapper>\n <Clickable onClick={onNext} analyticsLabel=\"circle_signup_grade_next\" label=\"\">\n <Next2Icon height={28} width={28} />\n </Clickable>\n </S.NextButtonWrapper>\n )}\n\n <S.GradeInputContainer>\n {grade2d.map((row, rowIndex) => (\n <S.GradeRow key={rowIndex}>\n {row.map(g => (\n <S.GradeButton isActive={active === g.key} key={g.key} onClick={() => handleGrade(g)}>\n {isOutOfSchool(g.key) && (\n <WithGrade grade={g.key}>\n <Text\n $renderAs={active === g.key ? 'ab1-bold' : 'ab1'}\n $color={active === g.key ? 'WHITE' : 'BLACK'}\n >\n {g.label}\n </Text>\n </WithGrade>\n )}\n {!isOutOfSchool(g.key) && (\n <Text $renderAs={'ab1'} $color={active === g.key ? 'BLACK' : 'WHITE'}>\n {g.label}\n </Text>\n )}\n </S.GradeButton>\n ))}\n </S.GradeRow>\n ))}\n </S.GradeInputContainer>\n </S.GradeInputWrapper>\n );\n};\n"],"names":["GradeInput","selected","grades","onSelect","onNext","active","setActive","useState","useEffect","isOutOfSchool","gradeKey","handleGrade","gradeInfo","maxNoOfRows","grade2d","acc","grade","index","_a","jsxs","S.GradeInputWrapper","S.NextButtonWrapper","jsx","Clickable","Next2Icon","S.GradeInputContainer","row","rowIndex","S.GradeRow","g","S.GradeButton","WithGrade","Text"],"mappings":";;;;;;;AASO,MAAMA,IAAa,CAAC,EAAE,UAAAC,GAAU,QAAAC,GAAQ,UAAAC,GAAU,QAAAC,QAA+B;AACtF,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASN,CAAQ;AAE7C,EAAAO,EAAU,MAAM;AACd,IAAAF,EAAUL,CAAQ;AAAA,EAAA,GACjB,CAACA,CAAQ,CAAC;AAEP,QAAAQ,IAAgB,CAACC,MACdA,MAAc,MAGjBC,IAAc,CAACC,MAAqB;AACxC,IAAAT,KAAA,QAAAA,EAAWS;AAAA,EAAS,GAGhBC,IAAc,GAGdC,IAAqBZ,EAAO,OAAO,CAACa,GAAgBC,GAAOC,MAAU;;AACzE,WAAIA,IAAQJ,MAAgB,KAAOE,EAAA,KAAK,CAAA,CAAE,IAC1CG,IAAAH,EAAIA,EAAI,SAAS,CAAC,MAAlB,QAAAG,EAAqB,KAAKF,IAEnBD;AAAA,EACT,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAI,EAACC,GAAA,EACE,UAAA;AAAA,IAAAnB,uBACEoB,GAAA,EACC,UAAC,gBAAAC,EAAAC,GAAA,EAAU,SAASnB,GAAQ,gBAAe,4BAA2B,OAAM,IAC1E,4BAACoB,GAAU,EAAA,QAAQ,IAAI,OAAO,IAAI,GACpC,EACF,CAAA;AAAA,IAGD,gBAAAF,EAAAG,GAAA,EACE,UAAQX,EAAA,IAAI,CAACY,GAAKC,MACjB,gBAAAL,EAACM,GAAA,EACE,UAAAF,EAAI,IAAI,CAAAG,MACN,gBAAAV,EAAAW,GAAA,EAAc,UAAUzB,MAAWwB,EAAE,KAAiB,SAAS,MAAMlB,EAAYkB,CAAC,GAChF,UAAA;AAAA,MAAApB,EAAcoB,EAAE,GAAG,uBACjBE,GAAU,EAAA,OAAOF,EAAE,KAClB,UAAA,gBAAAP;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,WAAW3B,MAAWwB,EAAE,MAAM,aAAa;AAAA,UAC3C,QAAQxB,MAAWwB,EAAE,MAAM,UAAU;AAAA,UAEpC,UAAEA,EAAA;AAAA,QAAA;AAAA,MAAA,GAEP;AAAA,MAED,CAACpB,EAAcoB,EAAE,GAAG,uBAClBG,GAAK,EAAA,WAAW,OAAO,QAAQ3B,MAAWwB,EAAE,MAAM,UAAU,SAC1D,YAAE,OACL;AAAA,IAAA,EAAA,GAd4CA,EAAE,GAgBlD,CACD,EAnBc,GAAAF,CAoBjB,CACD,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-wrapper.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\
|
|
1
|
+
{"version":3,"file":"input-wrapper.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport React from 'react';\n\nimport Text from '../../../../ui/text/text';\nimport { Spinner } from '../spinner/spinner';\nimport * as S from './input-wrapper-styled';\n\ninterface InputWrapperProps {\n children: ReactElement;\n helperText?: string;\n custEle?: ReactNode;\n showSpinner?: boolean;\n}\n\nexport const InputWrapper = ({ children, helperText, custEle, showSpinner }: InputWrapperProps) => {\n return (\n <S.InputWrapper>\n {children}\n <S.TextWrapper>\n <>\n {helperText && (\n <Text $renderAs=\"ab3\" $color=\"WHITE_70\" $align=\"center\">\n {helperText.split('\\n').map((line, index) => (\n <React.Fragment key={index}>\n {line}\n <br />\n </React.Fragment>\n ))}\n </Text>\n )}\n {custEle && <div>{custEle}</div>}\n </>\n </S.TextWrapper>\n {showSpinner && (\n <S.SpinnerLottieView>\n <Spinner height={20} width={20} />\n </S.SpinnerLottieView>\n )}\n </S.InputWrapper>\n );\n};\n"],"names":["InputWrapper","children","helperText","custEle","showSpinner","jsxs","S.InputWrapper","jsx","S.TextWrapper","Fragment","Text","line","index","React","S.SpinnerLottieView","Spinner"],"mappings":";;;;;AAcO,MAAMA,IAAe,CAAC,EAAE,UAAAC,GAAU,YAAAC,GAAY,SAAAC,GAAS,aAAAC,QAE1D,gBAAAC,EAACC,GAAA,EACE,UAAA;AAAA,EAAAL;AAAA,EACA,gBAAAM,EAAAC,GAAA,EACC,UACG,gBAAAH,EAAAI,GAAA,EAAA,UAAA;AAAA,IAAAP,uBACEQ,GAAK,EAAA,WAAU,OAAM,QAAO,YAAW,QAAO,UAC5C,UAAAR,EAAW,MAAM;AAAA,CAAI,EAAE,IAAI,CAACS,GAAMC,MAChC,gBAAAP,EAAAQ,EAAM,UAAN,EACE,UAAA;AAAA,MAAAF;AAAA,wBACA,MAAG,EAAA;AAAA,IAAA,KAFeC,CAGrB,CACD,GACH;AAAA,IAEDT,KAAY,gBAAAI,EAAA,OAAA,EAAK,UAAQJ,EAAA,CAAA;AAAA,EAAA,EAAA,CAC5B,EACF,CAAA;AAAA,EACCC,KACE,gBAAAG,EAAAO,GAAA,EACC,UAAC,gBAAAP,EAAAQ,GAAA,EAAQ,QAAQ,IAAI,OAAO,GAAA,CAAI,EAClC,CAAA;AAEJ,EAAA,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-user-grade.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"select-user-grade.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.tsx"],"sourcesContent":["import Text from '../../../../ui/text/text';\nimport { WithGrade } from '../../../leaderboard/comps/with-grade/with-grade';\nimport { GradeInput } from '../grade-input/grade-input';\nimport type { Grade, GradeKey, IGradeInputProps } from '../grade-input/grade-input-types';\nimport { InputWrapper } from '../input-wrapper/input-wrapper';\nimport * as S from './select-user-grade.styled';\n\n// component shown as custom element inside circular step\nexport const GradeInputBox = ({\n gradeInfo,\n showSpinner,\n}: {\n gradeInfo: Grade | null;\n showSpinner: boolean;\n}) => {\n return (\n <InputWrapper showSpinner={showSpinner}>\n {gradeInfo ? (\n gradeInfo.key !== ('13' as GradeKey) ? (\n <Text $renderAs=\"ah3\" $color=\"WHITE\">\n {gradeInfo.label}\n </Text>\n ) : (\n <WithGrade grade={gradeInfo.key}>\n <Text $renderAs=\"ah1\">{gradeInfo.label}</Text>\n </WithGrade>\n )\n ) : (\n <S.Input\n placeholder={'or class'}\n defaultValue={(gradeInfo && (gradeInfo as Grade)?.key) || ''}\n />\n )}\n </InputWrapper>\n );\n};\n\n// component shown as custom element below circular step\n\nexport const SelectUserGrade = (props: IGradeInputProps) => {\n return (\n <S.SelectUserGradeWrapper>\n <GradeInput {...props} />\n </S.SelectUserGradeWrapper>\n );\n};\n"],"names":["GradeInputBox","gradeInfo","showSpinner","jsx","InputWrapper","Text","WithGrade","S.Input","SelectUserGrade","props","S.SelectUserGradeWrapper","GradeInput"],"mappings":";;;;;;AAQO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,aAAAC;AACF,MAKK,gBAAAC,EAAAC,GAAA,EAAa,aAAAF,GACX,UAAAD,IACCA,EAAU,QAAS,OACjB,gBAAAE,EAACE,GAAK,EAAA,WAAU,OAAM,QAAO,SAC1B,UAAAJ,EAAU,MACb,CAAA,IAEC,gBAAAE,EAAAG,GAAA,EAAU,OAAOL,EAAU,KAC1B,UAAA,gBAAAE,EAACE,GAAK,EAAA,WAAU,OAAO,UAAAJ,EAAU,MAAM,CAAA,EACzC,CAAA,IAGF,gBAAAE;AAAA,EAACI;AAAAA,EAAA;AAAA,IACC,aAAa;AAAA,IACb,cAAeN,MAAcA,KAAA,gBAAAA,EAAqB,QAAQ;AAAA,EAAA;AAGhE,EAAA,CAAA,GAMSO,IAAkB,CAACC,MAE5B,gBAAAN,EAACO,GAAA,EACC,4BAACC,GAAY,EAAA,GAAGF,GAAO,EACzB,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/spinner/spinner.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"spinner.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/spinner/spinner.tsx"],"sourcesContent":["import { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './spinner-styled';\nimport type { TSpinnerProps } from './spinner-types';\n\nexport const Spinner = ({ height = 24, width = 24, marginX = 0, marginY = 0 }: TSpinnerProps) => (\n <Styled.SpinnerWrapper marginX={marginX} marginY={marginY}>\n <LottieAnimation src={LOTTIE.SPINNER_WHITE} height={height} width={width} />\n </Styled.SpinnerWrapper>\n);\n"],"names":["Spinner","height","width","marginX","marginY","Styled.SpinnerWrapper","jsx","LottieAnimation","LOTTIE"],"mappings":";;;;AAKa,MAAAA,IAAU,CAAC,EAAE,QAAAC,IAAS,IAAI,OAAAC,IAAQ,IAAI,SAAAC,IAAU,GAAG,SAAAC,IAAU,EAAE,wBACzEC,GAAA,EAAsB,SAAAF,GAAkB,SAAAC,GACvC,UAAA,gBAAAE,EAACC,GAAgB,EAAA,KAAKC,EAAO,eAAe,QAAAP,GAAgB,OAAAC,EAAc,CAAA,EAC5E,CAAA;"}
|