@cuemath/leap 3.1.0-gg2 → 3.1.1-beta-0.1
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/gif/gif.js +22 -22
- package/dist/assets/gif/gif.js.map +1 -1
- package/dist/assets/illustrations/illustrations.js +128 -127
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/images/images.js +32 -32
- package/dist/assets/images/images.js.map +1 -1
- package/dist/assets/line-icons/icons/check.js +3 -3
- package/dist/assets/line-icons/icons/check.js.map +1 -1
- package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
- package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/share.js +48 -0
- package/dist/assets/line-icons/icons/share.js.map +1 -0
- package/dist/assets/line-icons/icons/tile.js +54 -0
- package/dist/assets/line-icons/icons/tile.js.map +1 -0
- package/dist/assets/lottie/lottie.js +86 -86
- package/dist/assets/lottie/lottie.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +34 -32
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +47 -45
- 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 +11 -11
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +47 -46
- 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 +165 -124
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/utils/node-card-utils.js +41 -41
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
- package/dist/features/cue-canvas/bottombar/homework-controls.js +73 -0
- package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
- package/dist/features/cue-canvas/cue-canvas-context.js +8 -5
- package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js +80 -75
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js +14 -12
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +79 -65
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +45 -42
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +61 -54
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +18 -14
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-upload-helper.js +23 -0
- package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
- package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js +68 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
- package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/homework/homework.js +39 -0
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
- package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
- package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
- package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
- package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
- package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/sidebar.js +29 -0
- package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
- package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
- package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
- package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/tool.js +22 -20
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
- package/dist/features/homework/homework-card-view.js +56 -54
- package/dist/features/homework/homework-card-view.js.map +1 -1
- package/dist/features/homework/homework-card.js +53 -52
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/homework/hw-card-list/api/get-homeworks.js +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-utils.js +12 -0
- package/dist/features/homework/hw-card-list/hw-card-list-utils.js.map +1 -0
- package/dist/features/homework/hw-card-list/hw-card-list-view.js +137 -107
- package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
- package/dist/features/homework/styles.js +5 -4
- package/dist/features/homework/styles.js.map +1 -1
- package/dist/features/hooks/use-debounce.js +16 -0
- package/dist/features/hooks/use-debounce.js.map +1 -0
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +199 -262
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js +15 -15
- package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +38 -36
- 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 +24 -22
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +23 -22
- 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/utils.js +49 -47
- 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-step.js +94 -87
- 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 +13 -12
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +23 -21
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +165 -162
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js +96 -0
- package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +1 -0
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +59 -0
- package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +1 -0
- package/dist/features/trial-session/comps/pricing/pricing.js +36 -35
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/ui/stepper/stepper.js +7 -7
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +22 -19
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
- package/dist/index.d.ts +311 -260
- package/dist/index.js +184 -180
- package/dist/index.js.map +1 -1
- package/dist/static/accuracy-meter.99585cba.json +4218 -0
- package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
- package/dist/static/achievement_bg.0d0555ac.png +0 -0
- package/dist/static/advance-mode-segment-lottie.51ff6707.json +1 -0
- package/dist/static/alarm-clock-orange.31fb90d9.svg +1 -0
- package/dist/static/alarm-clock-purple.06d4911c.svg +1 -0
- package/dist/static/alien-1.fc7ba696.svg +1 -0
- package/dist/static/alien-2.15fdda07.svg +1 -0
- package/dist/static/alien-3.2664a37f.svg +1 -0
- package/dist/static/alien-4.06ac66da.svg +1 -0
- package/dist/static/ashta.0d3926b2.png +0 -0
- package/dist/static/avatar-selected.860ee923.json +1 -0
- package/dist/static/awesome.8e1cf046.png +0 -0
- package/dist/static/badge_success.2f6c8e65.png +0 -0
- package/dist/static/beginner1x.489908a7.json +3508 -0
- package/dist/static/bg_empty_resources.63b187fd.png +0 -0
- package/dist/static/blue-clip.87cc4543.svg +1 -0
- package/dist/static/bobwave.5603c70b.gif +0 -0
- package/dist/static/book-green.20f6eed3.svg +1 -0
- package/dist/static/book-open-blue.d4f8d08c.svg +5 -0
- package/dist/static/book-orange.04bdc75e.svg +1 -0
- package/dist/static/book-yellow.c210ac06.svg +1 -0
- package/dist/static/bronze-1.da4e4b5f.json +4176 -0
- package/dist/static/bronze-2.97f9c639.json +4433 -0
- package/dist/static/bronze-3.6a433ebd.json +4786 -0
- package/dist/static/bullet-yellow.2f892d88.svg +1 -0
- package/dist/static/calendar-blue.e0d52d09.svg +1 -0
- package/dist/static/calendar-gray.1c72682a.svg +1 -0
- package/dist/static/calendar-green.a2b6a393.svg +1 -0
- package/dist/static/caution.5766a967.svg +1 -0
- package/dist/static/chapter-1.8a1683a0.svg +1 -0
- package/dist/static/chapter-10.c97de4a5.svg +1 -0
- package/dist/static/chapter-2.71ac6dfc.svg +1 -0
- package/dist/static/chapter-3.003fc901.svg +1 -0
- package/dist/static/chapter-4.8abbacd8.svg +1 -0
- package/dist/static/chapter-5.c774b439.svg +1 -0
- package/dist/static/chapter-6.cb5cf1cb.svg +1 -0
- package/dist/static/chapter-7.57b0beb4.svg +1 -0
- package/dist/static/chapter-8.68d36477.svg +1 -0
- package/dist/static/chapter-9.0c00e26f.svg +1 -0
- package/dist/static/chapter-completed.1241399b.json +497 -0
- package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
- package/dist/static/chapter-header-bg.4ed173c2.svg +1 -0
- package/dist/static/chatva.d0c57a95.png +0 -0
- package/dist/static/circle-cuemath-logo-white.e9fafb91.svg +1 -0
- package/dist/static/circle-cuemath-logo.8bcb1ad4.svg +1 -0
- package/dist/static/circle-outercircle-bg.65f21460.svg +1 -0
- package/dist/static/circular-loader.a5a1a0a6.json +238 -0
- package/dist/static/clock-30min.eae818b8.json +1197 -0
- package/dist/static/clock-45min.df8adf51.json +1197 -0
- package/dist/static/clock-60min.2b48d875.json +1197 -0
- package/dist/static/clock-90min.3e557ed7.json +1407 -0
- package/dist/static/clock-orange.c144059b.svg +6 -0
- package/dist/static/color-1.45101b9a.json +4545 -0
- package/dist/static/color-2.ccdc7d0a.json +4828 -0
- package/dist/static/color-3.5e8e1422.json +5273 -0
- package/dist/static/community-bulb.3b42af21.svg +1 -0
- package/dist/static/competitive-arena.b9c40801.json +1 -0
- package/dist/static/congrats.75718de8.png +0 -0
- package/dist/static/cool.1893941c.png +0 -0
- package/dist/static/cosa.46c0c49b.png +0 -0
- package/dist/static/crosshair-circle.522a26ea.svg +1 -0
- package/dist/static/crown-overlay.11fb073c.svg +1 -0
- package/dist/static/crown.c18fa217.svg +1 -0
- package/dist/static/cuecoin-gold.bcb8085e.svg +1 -0
- package/dist/static/cuemath-app-qr-code.4beefe48.svg +1 -0
- package/dist/static/cuemath-app-qr-code.ba6cc09b.svg +1 -0
- package/dist/static/cuemath-app-qr-code.d0912fc7.png +0 -0
- package/dist/static/default-chapter.8ede1160.png +0 -0
- package/dist/static/desktop-with-purple-fill.dfec66cc.svg +1 -0
- package/dist/static/difficult.6846c064.json +2755 -0
- package/dist/static/dob.9ce3c15b.json +1 -0
- package/dist/static/doda.3103971c.png +0 -0
- package/dist/static/duration-30min-gray.f6442df4.svg +1 -0
- package/dist/static/duration-45min-gray.ad90fb23.svg +1 -0
- package/dist/static/duration-60min-gray.874e52a2.svg +1 -0
- package/dist/static/duration-90min-gray.32a04cef.svg +1 -0
- package/dist/static/dvi.fc7b32a5.png +0 -0
- package/dist/static/earth-green.e1329b7a.svg +1 -0
- package/dist/static/easy-rescheduling.3a6d1a00.gif +0 -0
- package/dist/static/easy.68242ddd.json +2658 -0
- package/dist/static/eka.b10a06fa.png +0 -0
- package/dist/static/elite-circle.3df58972.json +6876 -0
- package/dist/static/ellipse-clip.dfb25608.svg +1 -0
- package/dist/static/empty_mix_tests.1d251f07.png +0 -0
- package/dist/static/enrichment-mini.fc3c0f83.gif +0 -0
- package/dist/static/enrichment.571feac0.gif +0 -0
- package/dist/static/error-lottie.b3507a4b.json +5255 -0
- package/dist/static/error.cbe1ddde.json +1 -0
- package/dist/static/familiar1x.7c9c7f15.json +3046 -0
- package/dist/static/female-avatar.b8cd1012.svg +1 -0
- package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
- package/dist/static/five-min-clock.6be5cc41.json +721 -0
- package/dist/static/game-play.4982b0cb.svg +1 -0
- package/dist/static/games.47abcb18.gif +0 -0
- package/dist/static/globe-with-blue-fill.beae6ca4.svg +1 -0
- package/dist/static/gold-1.ab2489fe.json +4176 -0
- package/dist/static/gold-2.34045826.json +4441 -0
- package/dist/static/gold-3.d704698b.json +4810 -0
- package/dist/static/grade-grid-background.b17b4ccb.svg +1 -0
- package/dist/static/grade.b3730524.json +1 -0
- package/dist/static/graduate-hat.4b49eb44.svg +1 -0
- package/dist/static/graduate-icon-pink.01fbfb1b.svg +1 -0
- package/dist/static/graduate-pink-filled-bg.c91e9c53.svg +1 -0
- package/dist/static/great.2a5dcc34.png +0 -0
- package/dist/static/green-balloon.67ac8587.svg +1 -0
- package/dist/static/green-face.1b4dd82f.svg +1 -0
- package/dist/static/hexo.eab4b9f5.png +0 -0
- package/dist/static/infinite-button-bg.5909225e.json +1 -0
- package/dist/static/infinite-button-symbol.aa31350c.json +1 -0
- package/dist/static/jigii-wave.150a6d18.gif +0 -0
- package/dist/static/key.d6846476.json +1 -0
- package/dist/static/kudos.b7e2aeb6.png +0 -0
- package/dist/static/learn.71b13323.json +1 -0
- package/dist/static/learned-shield-gray.1495b0d5.svg +1 -0
- package/dist/static/learned-shield-green.7c26b423.svg +1 -0
- package/dist/static/learning-plan.72d64a61.png +0 -0
- package/dist/static/learning-session.71cc8f22.gif +0 -0
- package/dist/static/learnt.870c5e38.svg +1 -0
- package/dist/static/lesson-overview-banner.f5404af6.png +0 -0
- package/dist/static/levelup-rings.b1055283.json +549 -0
- package/dist/static/like.cb492460.svg +1 -0
- package/dist/static/live-session.a0d25c78.svg +1 -0
- package/dist/static/loader-1.6524355e.svg +1 -0
- package/dist/static/loader.52f8c35c.svg +1 -0
- package/dist/static/locked.0c3b7577.svg +1 -0
- package/dist/static/mail.c30e8708.json +1 -0
- package/dist/static/maintenance.a26aca65.svg +1 -0
- package/dist/static/male-avatar.2febc9eb.svg +1 -0
- package/dist/static/mastered-badge.81f156fb.svg +1 -0
- package/dist/static/mastered-shield-gray.a58cbe19.svg +1 -0
- package/dist/static/mastered-shield-green.070fa4eb.svg +1 -0
- package/dist/static/max-wave.44e002c9.gif +0 -0
- package/dist/static/medium.94c3829b.json +2289 -0
- package/dist/static/mental-math.3c95f169.svg +1 -0
- package/dist/static/milestone-intro-1.281a354c.svg +1 -0
- package/dist/static/milestone-intro-2.19faee69.svg +1 -0
- package/dist/static/milestone-intro-3.6f6055d6.svg +1 -0
- package/dist/static/mistake.476d1aa7.svg +1 -0
- package/dist/static/no-info.f4bfe437.png +0 -0
- package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
- package/dist/static/node-learn-bg.b61f815c.svg +1 -0
- package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
- package/dist/static/node-project-bg.e6a33e28.svg +1 -0
- package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
- package/dist/static/node-recap-bg.546154e4.svg +1 -0
- package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
- package/dist/static/node-video-bg.3df3f73a.svg +1 -0
- package/dist/static/nudge-tap.5cb30093.json +1057 -0
- package/dist/static/number-1-orange.cbf526ed.svg +1 -0
- package/dist/static/number-2-orange.6f29eb72.svg +1 -0
- package/dist/static/number-3-orange.58baf717.svg +1 -0
- package/dist/static/number-4-orange.5ed1ec5e.svg +1 -0
- package/dist/static/octo.3020bd93.png +0 -0
- package/dist/static/one-star-filled.b6084257.svg +1 -0
- package/dist/static/orange-face.5824c2e9.svg +1 -0
- package/dist/static/otp.2d08f874.json +1 -0
- package/dist/static/otp.a3029760.json +1 -0
- package/dist/static/parent-avatar.772d53e0.json +1 -0
- package/dist/static/people-with-orange-fill.3835b8f1.svg +1 -0
- package/dist/static/phone-number.0be312ea.json +1 -0
- package/dist/static/phone-number.84f55562.json +1 -0
- package/dist/static/play-icon.13baaa7d.svg +1 -0
- package/dist/static/play.68d16dec.svg +1 -0
- package/dist/static/point1.b53831de.json +2942 -0
- package/dist/static/point10.7b5e536d.json +3179 -0
- package/dist/static/point100.1df16f82.json +3196 -0
- package/dist/static/point15.fea00c32.json +3179 -0
- package/dist/static/point2.7cec6e24.json +1 -0
- package/dist/static/point20.c88d776d.json +3178 -0
- package/dist/static/point25.a18c346a.json +3178 -0
- package/dist/static/point3.f96fe7aa.json +1 -0
- package/dist/static/point30.c5224b0b.json +3202 -0
- package/dist/static/point35.fad343dd.json +3058 -0
- package/dist/static/point4.fe04fb83.json +1 -0
- package/dist/static/point40.10a16f72.json +3082 -0
- package/dist/static/point45.2ad7561f.json +3082 -0
- package/dist/static/point5.da40ed1f.json +2948 -0
- package/dist/static/point50.5718cb3d.json +3046 -0
- package/dist/static/point60.17380d9f.json +3076 -0
- package/dist/static/points-sum.360e63de.svg +1 -0
- package/dist/static/practice.158dd488.json +1 -0
- package/dist/static/practiced-shield-green.90278855.svg +1 -0
- package/dist/static/practiced-shield-grey.16cf4fe0.svg +1 -0
- package/dist/static/proficient-badge.1a6dbb72.svg +1 -0
- package/dist/static/proficient1x.fa6e7b80.json +3430 -0
- package/dist/static/profile-board.4f4a17e6.svg +1 -0
- package/dist/static/project.eb665827.json +1 -0
- package/dist/static/puzzle-student.de530364.svg +1 -0
- package/dist/static/puzzle.5aad5cf8.svg +1 -0
- package/dist/static/puzzle.b298c7e4.json +1 -0
- package/dist/static/puzzle_card_easy.7d9439b5.png +0 -0
- package/dist/static/puzzle_card_hard.185a19c4.png +0 -0
- package/dist/static/puzzle_card_medium.17daef9c.png +0 -0
- package/dist/static/puzzles.1e269965.gif +0 -0
- package/dist/static/random-mode-segment-lottie.79cf1c07.json +1 -0
- package/dist/static/recap.0dd2c1e2.json +1 -0
- package/dist/static/refund-policy-with-headphone.589398e0.svg +1 -0
- package/dist/static/refund-policy.912dbb4c.svg +1 -0
- package/dist/static/report-404.dd67785c.svg +1 -0
- package/dist/static/rocket-broken.1f86fa43.svg +1 -0
- package/dist/static/rocket-yellow.62d27e15.svg +1 -0
- package/dist/static/school-success-mini.f74a852f.gif +0 -0
- package/dist/static/school-success.f9669771.gif +0 -0
- package/dist/static/score.41971107.svg +1 -0
- package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +1 -0
- package/dist/static/shared.3af01b49.png +0 -0
- package/dist/static/sheet-reference.9da7a09f.png +0 -0
- package/dist/static/silver-1.0396328a.json +4168 -0
- package/dist/static/silver-2.bf50615f.json +4433 -0
- package/dist/static/silver-3.13d66b84.json +4810 -0
- package/dist/static/skills.90ce4cbb.gif +0 -0
- package/dist/static/sleepy-boi.031a1165.json +1008 -0
- package/dist/static/smiley.49bb7d7c.svg +1 -0
- package/dist/static/speckie-wave.510639ce.gif +0 -0
- package/dist/static/spinner-white.639e0d87.json +122 -0
- package/dist/static/spiral_pattern.9fd3e6e9.png +0 -0
- package/dist/static/splash-screen.bbf567ce.json +2411 -0
- package/dist/static/star-orange-filled.a7ff9c8f.svg +1 -0
- package/dist/static/star-orange.a91a341f.svg +1 -0
- package/dist/static/star-with-green-fill.86877d41.svg +1 -0
- package/dist/static/stay-connected.371d3d9d.gif +0 -0
- package/dist/static/streak-green.b59bf4dd.svg +1 -0
- package/dist/static/streak-white.2cbdc9b8.svg +1 -0
- package/dist/static/student-avatar.524226bd.json +1 -0
- package/dist/static/table-mode-reveal.b44a82c3.json +1 -0
- package/dist/static/table-mode-star.b8a1d762.json +1 -0
- package/dist/static/table-segment-star.78e851d6.json +1 -0
- package/dist/static/target-achieved-text.053bd142.json +2830 -0
- package/dist/static/target-achieved-text.10db8475.json +1 -0
- package/dist/static/teacher-validation.7577ecdc.json +245 -0
- package/dist/static/tera-wave.2954a6a4.gif +0 -0
- package/dist/static/test-difficulty-easy.56df71dd.svg +1 -0
- package/dist/static/test-difficulty-hard.7250f1f4.svg +1 -0
- package/dist/static/test-difficulty-medium.2fd9686e.svg +1 -0
- package/dist/static/test-prep-mini.718e5734.gif +0 -0
- package/dist/static/test-prep.ea433f71.gif +0 -0
- package/dist/static/test.803d6036.json +1 -0
- package/dist/static/tetra.354ff2b9.png +0 -0
- package/dist/static/three-stars-filled.72b51f03.svg +1 -0
- package/dist/static/tick-green.a1654049.svg +1 -0
- package/dist/static/total-streak.d5ce7669.json +842 -0
- package/dist/static/total-time-spent.434005d3.json +200 -0
- package/dist/static/total-time.d979cbb9.json +24383 -0
- package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
- package/dist/static/track-progress.c75b1031.gif +0 -0
- package/dist/static/trophy-blue-filled.7e2b40ab.svg +1 -0
- package/dist/static/trophy-blue.e684ba4c.svg +1 -0
- package/dist/static/trophy-circle.b7b23e36.svg +1 -0
- package/dist/static/trophy-green.6c0741c8.svg +10 -0
- package/dist/static/two-stars-filled.a51a14b4.svg +1 -0
- package/dist/static/up-arrow.a6946bd3.svg +1 -0
- package/dist/static/user-crown-grid-background.c2875a73.svg +1 -0
- package/dist/static/user-down.a06f2f94.svg +1 -0
- package/dist/static/user-pin.5f334465.svg +1 -0
- package/dist/static/user-profile-background.199977a9.svg +1 -0
- package/dist/static/user-type-selector-grid-bg.3c9c8ad6.svg +1 -0
- package/dist/static/user-type-selector-grid-bg.3ce8142d.svg +1 -0
- package/dist/static/user-type-selector-grid-bg.aad0b059.svg +1 -0
- package/dist/static/user-up.2aecbbae.svg +1 -0
- package/dist/static/username.9e034d51.json +1 -0
- package/dist/static/video.b41451e2.json +1 -0
- package/dist/static/vinnie-wave.10734dd5.gif +0 -0
- package/dist/static/way-forward.1428093e.gif +0 -0
- package/dist/static/wow.864fbb02.png +0 -0
- package/dist/static/yellow-face.b7525a33.svg +1 -0
- package/dist/static/your-goals.63ffbee5.gif +0 -0
- package/dist/static/zodasa.336c3bb0.png +0 -0
- package/package.json +3 -2
@@ -1,137 +1,167 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import { ContentWrapper as
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
1
|
+
import { jsxs as l, jsx as r } from "react/jsx-runtime";
|
2
|
+
import { memo as O, useState as R, useRef as V, useMemo as y, useCallback as d, useEffect as S } from "react";
|
3
|
+
import D from "../../../assets/line-icons/icons/chevron-left.js";
|
4
|
+
import F from "../../../assets/line-icons/icons/chevron-right.js";
|
5
|
+
import u from "../../ui/layout/flex-view.js";
|
6
|
+
import p from "../../ui/text/text.js";
|
7
|
+
import B from "../homework-card.js";
|
8
|
+
import { ContentWrapper as q, ScrollButton as E, ScrollContainer as Y, QueueWrapper as z, QueueText as J } from "./hw-card-list-styled.js";
|
9
|
+
import { getTotalHWSheetsCount as P, getWaitForReviewSheetsCount as Z } from "./hw-card-list-utils.js";
|
10
|
+
const U = ({
|
11
|
+
userType: C,
|
12
|
+
studentId: g,
|
13
|
+
isHwProcessing: W,
|
14
|
+
hwDetails: n,
|
15
|
+
onTestStart: w,
|
15
16
|
onNodeAttempt: _,
|
16
|
-
onTestPreview:
|
17
|
-
onNodeView:
|
18
|
-
onTestReview:
|
19
|
-
onNodeReview:
|
20
|
-
onNodeUnassign:
|
17
|
+
onTestPreview: k,
|
18
|
+
onNodeView: v,
|
19
|
+
onTestReview: H,
|
20
|
+
onNodeReview: b,
|
21
|
+
onNodeUnassign: L
|
21
22
|
}) => {
|
22
|
-
const [
|
23
|
-
() => ((e == null ? void 0 : e.filter((r) => r.state === "WAIT_FOR_REVIEW")) || []).length,
|
24
|
-
[e]
|
25
|
-
), t = l(() => {
|
23
|
+
const [T, a] = R(!1), [K, x] = R(!1), o = V(null), { assigned_homeworks: A = [], queued_homeworks: j = [] } = n || {}, I = y(() => P(n), [n]), G = y(() => Z(n), [n]), t = d(() => {
|
26
24
|
if (o.current) {
|
27
|
-
const { scrollLeft:
|
28
|
-
|
25
|
+
const { scrollLeft: e, scrollWidth: i, clientWidth: c } = o.current;
|
26
|
+
e > 1 && a(!0), e < i - c - 1 && x(!0);
|
29
27
|
}
|
30
|
-
}, []),
|
28
|
+
}, []), M = d(() => {
|
31
29
|
o.current && t();
|
32
|
-
}, [t]),
|
33
|
-
|
34
|
-
}, []),
|
30
|
+
}, [t]), N = d(() => {
|
31
|
+
a(!1), x(!1);
|
32
|
+
}, []), Q = d(() => {
|
35
33
|
o.current && (o.current.scrollBy({ left: -200, behavior: "smooth" }), t());
|
36
|
-
}, [t]),
|
34
|
+
}, [t]), X = d(() => {
|
37
35
|
o.current && (o.current.scrollBy({ left: 200, behavior: "smooth" }), t());
|
38
36
|
}, [t]);
|
39
|
-
return
|
40
|
-
if (
|
41
|
-
const { scrollLeft:
|
42
|
-
|
37
|
+
return S(() => {
|
38
|
+
if (n && o.current) {
|
39
|
+
const { scrollLeft: e } = o.current;
|
40
|
+
e > 1 && a(!0);
|
43
41
|
}
|
44
|
-
}, [
|
45
|
-
const
|
46
|
-
if (
|
47
|
-
return
|
48
|
-
|
42
|
+
}, [n]), S(() => {
|
43
|
+
const e = o.current;
|
44
|
+
if (e)
|
45
|
+
return e.addEventListener("scroll", t), () => {
|
46
|
+
e.removeEventListener("scroll", t);
|
49
47
|
};
|
50
|
-
}, [t]),
|
51
|
-
/* @__PURE__ */
|
48
|
+
}, [t]), I === 0 ? /* @__PURE__ */ l(u, { $flexRowGapX: 1, children: [
|
49
|
+
/* @__PURE__ */ r(p, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Homework (0)" }),
|
50
|
+
/* @__PURE__ */ r(p, { $renderAs: "ab2", $color: "BLACK_T_60", children: "No Homework assigned yet" })
|
51
|
+
] }) : /* @__PURE__ */ l(q, { $flexRowGapX: 1, $disablePointerEvents: W, children: [
|
52
|
+
/* @__PURE__ */ l(p, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
|
52
53
|
"Homework (",
|
53
|
-
|
54
|
-
")"
|
55
|
-
] }),
|
56
|
-
/* @__PURE__ */ n($, { $renderAs: "ab2", $color: "BLACK_T_60", children: "No Homework assigned yet" })
|
57
|
-
] }) : /* @__PURE__ */ c(O, { $flexRowGapX: 1, $disablePointerEvents: C, children: [
|
58
|
-
/* @__PURE__ */ c($, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
|
59
|
-
"Homework (",
|
60
|
-
E,
|
54
|
+
G,
|
61
55
|
"/",
|
62
|
-
|
56
|
+
I,
|
63
57
|
")"
|
64
58
|
] }),
|
65
|
-
/* @__PURE__ */
|
66
|
-
|
59
|
+
/* @__PURE__ */ l(
|
60
|
+
u,
|
67
61
|
{
|
68
62
|
$position: "relative",
|
69
|
-
onMouseEnter:
|
70
|
-
onMouseLeave:
|
63
|
+
onMouseEnter: M,
|
64
|
+
onMouseLeave: N,
|
71
65
|
children: [
|
72
|
-
/* @__PURE__ */
|
73
|
-
|
66
|
+
/* @__PURE__ */ r(
|
67
|
+
E,
|
74
68
|
{
|
75
69
|
$position: "absolute",
|
76
70
|
$background: "BLACK_T_60",
|
77
71
|
$justifyContent: "center",
|
78
72
|
$alignItems: "center",
|
79
73
|
$height: "100%",
|
80
|
-
onClick:
|
81
|
-
$visible:
|
74
|
+
onClick: Q,
|
75
|
+
$visible: T,
|
82
76
|
left: "0px",
|
83
77
|
right: "auto",
|
84
|
-
children: /* @__PURE__ */
|
78
|
+
children: /* @__PURE__ */ r(D, { width: 24, height: 24 })
|
85
79
|
}
|
86
80
|
),
|
87
|
-
/* @__PURE__ */
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
{
|
104
|
-
$background: "BLACK_4",
|
105
|
-
$justifyContent: "center",
|
106
|
-
$gutter: 4,
|
107
|
-
$gap: 8,
|
108
|
-
children: /* @__PURE__ */ n(q, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
|
109
|
-
}
|
110
|
-
),
|
111
|
-
/* @__PURE__ */ n(
|
112
|
-
F,
|
81
|
+
/* @__PURE__ */ r(Y, { ref: o, children: /* @__PURE__ */ l(u, { $flexDirection: "row", $flexGapX: 1, children: [
|
82
|
+
A.map((e, i) => {
|
83
|
+
const {
|
84
|
+
node_id: c,
|
85
|
+
worksheet_id: h,
|
86
|
+
node_type: f,
|
87
|
+
title: m,
|
88
|
+
subtext: $
|
89
|
+
} = e, s = f === "DYNAMIC";
|
90
|
+
return /* @__PURE__ */ r(
|
91
|
+
u,
|
92
|
+
{
|
93
|
+
$flexDirection: "row",
|
94
|
+
$flexGapX: 1,
|
95
|
+
children: /* @__PURE__ */ r(
|
96
|
+
B,
|
113
97
|
{
|
114
|
-
isInQueue:
|
115
|
-
userType:
|
116
|
-
header:
|
117
|
-
subHeader:
|
118
|
-
nodeData:
|
98
|
+
isInQueue: A.length > 10 && i > 9,
|
99
|
+
userType: C,
|
100
|
+
header: m,
|
101
|
+
subHeader: $ || "",
|
102
|
+
nodeData: e,
|
119
103
|
renderAs: "homework",
|
120
|
-
studentId:
|
121
|
-
onNodeAttempt:
|
104
|
+
studentId: g,
|
105
|
+
onNodeAttempt: s ? w : _,
|
122
106
|
shouldOpenOnRight: !0,
|
123
|
-
onNodeView:
|
124
|
-
onNodeReview:
|
125
|
-
onNodeUnassign:
|
107
|
+
onNodeView: s ? k : v,
|
108
|
+
onNodeReview: s ? H : b,
|
109
|
+
onNodeUnassign: L
|
126
110
|
}
|
127
111
|
)
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
)
|
132
|
-
|
133
|
-
|
134
|
-
|
112
|
+
},
|
113
|
+
`${h}_${c}_${i}`
|
114
|
+
);
|
115
|
+
}),
|
116
|
+
j.map((e, i) => {
|
117
|
+
const {
|
118
|
+
node_id: c,
|
119
|
+
worksheet_id: h,
|
120
|
+
node_type: f,
|
121
|
+
title: m,
|
122
|
+
subtext: $
|
123
|
+
} = e, s = f === "DYNAMIC";
|
124
|
+
return /* @__PURE__ */ l(
|
125
|
+
u,
|
126
|
+
{
|
127
|
+
$flexDirection: "row",
|
128
|
+
$flexGapX: 1,
|
129
|
+
children: [
|
130
|
+
i === 0 && /* @__PURE__ */ r(
|
131
|
+
z,
|
132
|
+
{
|
133
|
+
$background: "BLACK_4",
|
134
|
+
$justifyContent: "center",
|
135
|
+
$gutter: 4,
|
136
|
+
$gap: 8,
|
137
|
+
children: /* @__PURE__ */ r(J, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
|
138
|
+
}
|
139
|
+
),
|
140
|
+
/* @__PURE__ */ r(
|
141
|
+
B,
|
142
|
+
{
|
143
|
+
isInQueue: !0,
|
144
|
+
userType: C,
|
145
|
+
header: m,
|
146
|
+
subHeader: $ || "",
|
147
|
+
nodeData: e,
|
148
|
+
renderAs: "homework",
|
149
|
+
studentId: g,
|
150
|
+
onNodeAttempt: s ? w : _,
|
151
|
+
shouldOpenOnRight: !0,
|
152
|
+
onNodeView: s ? k : v,
|
153
|
+
onNodeReview: s ? H : b,
|
154
|
+
onNodeUnassign: L
|
155
|
+
}
|
156
|
+
)
|
157
|
+
]
|
158
|
+
},
|
159
|
+
`${h}_${c}_${i}`
|
160
|
+
);
|
161
|
+
})
|
162
|
+
] }) }),
|
163
|
+
/* @__PURE__ */ r(
|
164
|
+
E,
|
135
165
|
{
|
136
166
|
$position: "absolute",
|
137
167
|
$width: "60px",
|
@@ -139,19 +169,19 @@ const z = ({
|
|
139
169
|
$background: "BLACK_T_60",
|
140
170
|
$justifyContent: "center",
|
141
171
|
$alignItems: "center",
|
142
|
-
onClick:
|
143
|
-
$visible:
|
172
|
+
onClick: X,
|
173
|
+
$visible: K,
|
144
174
|
left: "auto",
|
145
175
|
right: "0px",
|
146
|
-
children: /* @__PURE__ */
|
176
|
+
children: /* @__PURE__ */ r(F, { width: 24, height: 24 })
|
147
177
|
}
|
148
178
|
)
|
149
179
|
]
|
150
180
|
}
|
151
181
|
)
|
152
182
|
] });
|
153
|
-
},
|
183
|
+
}, de = O(U);
|
154
184
|
export {
|
155
|
-
|
185
|
+
de as default
|
156
186
|
};
|
157
187
|
//# sourceMappingURL=hw-card-list-view.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../../ui/types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport * as Styled from './hw-card-list-styled';\n\ninterface IHwCardListView extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n isHwProcessing: boolean;\n hwDetails?: INodeDataProps[];\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n}\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n}) => {\n const [isLeftHovered, setIsLeftHovered] = useState(false);\n const [isRightHovered, setIsRightHovered] = useState(false);\n const scrollRef = useRef<HTMLDivElement>(null);\n\n const waitForReviewSheets = useMemo(\n () => (hwDetails?.filter(sheet => sheet.state === 'WAIT_FOR_REVIEW') || []).length,\n [hwDetails],\n );\n\n const updatedCanScroll = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n\n if (scrollLeft < scrollWidth - clientWidth - 1) {\n setIsRightHovered(true);\n }\n }\n }, []);\n const handleHoverEnter = useCallback(() => {\n if (!scrollRef.current) return;\n\n updatedCanScroll();\n }, [updatedCanScroll]);\n\n const handleHoverLeave = useCallback(() => {\n setIsLeftHovered(false);\n setIsRightHovered(false);\n }, []);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n useEffect(() => {\n if (hwDetails && hwDetails?.length > 3 && scrollRef.current) {\n const { scrollLeft } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n }\n }, [hwDetails]);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n scrollElement.addEventListener('scroll', updatedCanScroll);\n\n return () => {\n scrollElement.removeEventListener('scroll', updatedCanScroll);\n };\n }\n }, [updatedCanScroll]);\n\n if (hwDetails && hwDetails.length === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({hwDetails?.length})\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({waitForReviewSheets}/{hwDetails?.length})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleHoverEnter}\n onMouseLeave={handleHoverLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={isLeftHovered}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {hwDetails?.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {hwDetails.length > 10 && idx === 10 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n <HomeworkCard\n isInQueue={hwDetails.length > 10 && idx > 9}\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.ScrollContainer>\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={isRightHovered}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","isLeftHovered","setIsLeftHovered","useState","isRightHovered","setIsRightHovered","scrollRef","useRef","waitForReviewSheets","useMemo","sheet","updatedCanScroll","useCallback","scrollLeft","scrollWidth","clientWidth","handleHoverEnter","handleHoverLeave","handleScrollLeft","handleScrollRight","useEffect","scrollElement","jsxs","FlexView","Text","Styled.ContentWrapper","jsx","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","idx","nodeId","worksheetId","nodeType","title","subtext","isDynamicSheet","Styled.QueueWrapper","Styled.QueueText","HomeworkCard","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IHomeworkDetails } from './api/get-homeworks';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport * as Styled from './hw-card-list-styled';\nimport { getTotalHWSheetsCount, getWaitForReviewSheetsCount } from './hw-card-list-utils';\n\ninterface IHwCardListView extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n isHwProcessing: boolean;\n hwDetails?: IHomeworkDetails;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n}\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n}) => {\n const [isLeftHovered, setIsLeftHovered] = useState(false);\n const [isRightHovered, setIsRightHovered] = useState(false);\n const scrollRef = useRef<HTMLDivElement>(null);\n\n const { assigned_homeworks: assignedHomeworks = [], queued_homeworks: queuedHomeworks = [] } =\n hwDetails || {};\n\n const totalHWSheetsCount = useMemo(() => getTotalHWSheetsCount(hwDetails), [hwDetails]);\n const waitForReviewSheets = useMemo(() => getWaitForReviewSheetsCount(hwDetails), [hwDetails]);\n\n const updatedCanScroll = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n\n if (scrollLeft < scrollWidth - clientWidth - 1) {\n setIsRightHovered(true);\n }\n }\n }, []);\n const handleHoverEnter = useCallback(() => {\n if (!scrollRef.current) return;\n\n updatedCanScroll();\n }, [updatedCanScroll]);\n\n const handleHoverLeave = useCallback(() => {\n setIsLeftHovered(false);\n setIsRightHovered(false);\n }, []);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 200, behavior: 'smooth' });\n updatedCanScroll();\n }\n }, [updatedCanScroll]);\n\n useEffect(() => {\n if (hwDetails && scrollRef.current) {\n const { scrollLeft } = scrollRef.current;\n\n if (scrollLeft > 1) {\n setIsLeftHovered(true);\n }\n }\n }, [hwDetails]);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n scrollElement.addEventListener('scroll', updatedCanScroll);\n\n return () => {\n scrollElement.removeEventListener('scroll', updatedCanScroll);\n };\n }\n }, [updatedCanScroll]);\n\n if (totalHWSheetsCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({waitForReviewSheets}/{totalHWSheetsCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleHoverEnter}\n onMouseLeave={handleHoverLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={isLeftHovered}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {assignedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n <HomeworkCard\n isInQueue={assignedHomeworks.length > 10 && idx > 9}\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n {queuedHomeworks.map((sheet, idx) => {\n const {\n node_id: nodeId,\n worksheet_id: worksheetId,\n node_type: nodeType,\n title,\n subtext,\n } = sheet;\n const isDynamicSheet = nodeType === 'DYNAMIC';\n\n return (\n <FlexView\n key={`${worksheetId}_${nodeId}_${idx}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n <HomeworkCard\n isInQueue\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n />\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.ScrollContainer>\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={isRightHovered}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","isLeftHovered","setIsLeftHovered","useState","isRightHovered","setIsRightHovered","scrollRef","useRef","assignedHomeworks","queuedHomeworks","totalHWSheetsCount","useMemo","getTotalHWSheetsCount","waitForReviewSheets","getWaitForReviewSheetsCount","updatedCanScroll","useCallback","scrollLeft","scrollWidth","clientWidth","handleHoverEnter","handleHoverLeave","handleScrollLeft","handleScrollRight","useEffect","scrollElement","jsxs","FlexView","jsx","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","sheet","idx","nodeId","worksheetId","nodeType","title","subtext","isDynamicSheet","HomeworkCard","Styled.QueueWrapper","Styled.QueueText","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
|
@@ -18,7 +18,7 @@ const c = r(e)(({ theme: o }) => `
|
|
18
18
|
-webkit-box-orient: vertical;
|
19
19
|
overflow: hidden;
|
20
20
|
text-overflow: ellipsis;
|
21
|
-
`,
|
21
|
+
`, x = r(e)(({
|
22
22
|
$shouldopenonright: o,
|
23
23
|
$visible: t
|
24
24
|
}) => `
|
@@ -33,8 +33,9 @@ const c = r(e)(({ theme: o }) => `
|
|
33
33
|
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
|
34
34
|
box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);
|
35
35
|
z-index: 10;
|
36
|
-
`),
|
36
|
+
`), u = r(e)`
|
37
37
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK_T_15};
|
38
|
+
border-top-width: 2px;
|
38
39
|
&:hover {
|
39
40
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK};
|
40
41
|
border-top-width: 2px;
|
@@ -117,9 +118,9 @@ export {
|
|
117
118
|
w as BannerImageWrapper,
|
118
119
|
v as BlurContainer,
|
119
120
|
$ as BlurFlexView,
|
120
|
-
|
121
|
+
u as CardContainer,
|
121
122
|
c as CardKebabMenuWrapper,
|
122
|
-
|
123
|
+
x as CardMenuOptionsWrapper,
|
123
124
|
b as CardWrapper,
|
124
125
|
m as HeaderText,
|
125
126
|
h as IconWrapper,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n border-top-width: 2px;\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: break-spaces;\n`;\n\ninterface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\ninterface ICardOptionsProps {\n $top: number;\n $left: number;\n}\n\nexport const CardOptions = styled(FlexView)<ICardOptionsProps>``;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n z-index: 6;\n top: calc(100% - 36px);\n right: 12px;\n transform-origin: top;\n transform: scaleY(1);\n`;\n\nexport const BlurContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n`;\n\nexport const BlurFlexView = styled(FlexView)`\n position: absolute;\n right: 42px;\n top: 24px;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$shouldopenonright","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","$disabled","MenuWrapper","BlurContainer","BlurFlexView"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,oBAAAK;AAAA,EACA,UAAAC;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKID,IAAqB,IAAI,MAAM;AAAA;AAAA,wBAEpBC,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,GAK9B,GAEYC,IAAgBR,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA,
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n border-top-width: 2px;\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n border-top-width: 2px;\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: break-spaces;\n`;\n\ninterface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\ninterface ICardOptionsProps {\n $top: number;\n $left: number;\n}\n\nexport const CardOptions = styled(FlexView)<ICardOptionsProps>``;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n z-index: 6;\n top: calc(100% - 36px);\n right: 12px;\n transform-origin: top;\n transform: scaleY(1);\n`;\n\nexport const BlurContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n`;\n\nexport const BlurFlexView = styled(FlexView)`\n position: absolute;\n right: 42px;\n top: 24px;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$shouldopenonright","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","$disabled","MenuWrapper","BlurContainer","BlurFlexView"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,oBAAAK;AAAA,EACA,UAAAC;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKID,IAAqB,IAAI,MAAM;AAAA;AAAA,wBAEpBC,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,GAK9B,GAEYC,IAAgBR,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,wBAGpC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,GAK5CO,IAAcT,EAAOC,CAAQ,EAAqB,CAAC,EAAE,UAAAS,QAC5DA,IACK;AAAA,8BACmBA,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ7B,mBACR,GAEYC,IAAcX,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAM7BW,IAAqBZ,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCY,IAAcb,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AAC7C,QAAA,EAAE,QAAAY,EAAO,IAAIZ,EAAM;AAElB,SAAA;AAAA,wBACeA,EAAM,OAAO,UAAU;AAAA,aAClCY,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEYC,IAAmBf,EAAOgB,CAAU;AAAA;AAAA,cAEnC,CAAC,EAAE,OAAAd,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIlCe,IAAajB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBVJ,EAAOC,CAAQ;AAETD,EAAOC,CAAQ,EAA2B,CAAC;AAAA,EAC1E,OAAAC;AAAA,EACA,WAAAgB;AACF,MACS;AAAA,cACKA,IAAY,gBAAgB,SAAS;AAAA;AAAA;AAAA,oBAG/BA,IAAY,gBAAgBhB,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIpDA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGjC;AAEyBF,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAMxB,MAAAe,IAAcnB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS7BmB,IAAgBpB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS/BoB,IAAerB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { useRef as n, useCallback as c } from "react";
|
2
|
+
function a(u, r) {
|
3
|
+
const e = n(null);
|
4
|
+
return c(
|
5
|
+
(t) => (e.current && clearTimeout(e.current), e.current = setTimeout(() => {
|
6
|
+
u(t);
|
7
|
+
}, r), () => {
|
8
|
+
e.current && clearTimeout(e.current);
|
9
|
+
}),
|
10
|
+
[u, r]
|
11
|
+
);
|
12
|
+
}
|
13
|
+
export {
|
14
|
+
a as default
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=use-debounce.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-debounce.js","sources":["../../../src/features/hooks/use-debounce.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\nfunction useDebounce<T>(callback: (arg: T) => void, wait: number) {\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const debouncedCallback = useCallback(\n (val: T) => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n callback(val);\n }, wait);\n\n return () => {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n },\n [callback, wait],\n );\n\n return debouncedCallback;\n}\n\nexport default useDebounce;\n"],"names":["useDebounce","callback","wait","timeoutIdRef","useRef","useCallback","val"],"mappings":";AAEA,SAASA,EAAeC,GAA4BC,GAAc;AAC1D,QAAAC,IAAeC,EAA6C,IAAI;AAgB/D,SAdmBC;AAAA,IACxB,CAACC,OACKH,EAAa,WAAsB,aAAAA,EAAa,OAAO,GAC9CA,EAAA,UAAU,WAAW,MAAM;AACtC,MAAAF,EAASK,CAAG;AAAA,OACXJ,CAAI,GAEA,MAAM;AACX,MAAIC,EAAa,WAAsB,aAAAA,EAAa,OAAO;AAAA,IAAA;AAAA,IAG/D,CAACF,GAAUC,CAAI;AAAA,EAAA;AAInB;"}
|