@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,20 +1,20 @@
|
|
1
1
|
import { GOAL_CATEGORY as M } from "../../../constants.js";
|
2
|
-
import { checkEnrollmentAvailable as
|
3
|
-
const
|
2
|
+
import { checkEnrollmentAvailable as h, getTestTypeBasedCategory as R } from "../test-type-step/test-type-utils.js";
|
3
|
+
const T = (e, t, o) => {
|
4
4
|
const a = e.some(
|
5
5
|
(l) => l === o
|
6
6
|
), n = t.length > 0 ? t.some(
|
7
7
|
(l) => l === o
|
8
8
|
) : !0;
|
9
9
|
return !a && n;
|
10
|
-
},
|
10
|
+
}, N = ({
|
11
11
|
goalCode: e,
|
12
12
|
config: t,
|
13
13
|
courseStream: o,
|
14
14
|
enrollmentType: a
|
15
15
|
}) => {
|
16
16
|
const { goal_curriculum_map: n } = t;
|
17
|
-
return n.find((r) => r.goal_code !== e || r.course_stream !== o ? !1 :
|
17
|
+
return n.find((r) => r.goal_code !== e || r.course_stream !== o ? !1 : h(r, a));
|
18
18
|
}, B = ({
|
19
19
|
goalCurriculumStandard: e,
|
20
20
|
referenceStandard: t
|
@@ -25,28 +25,30 @@ const h = (e, t, o) => {
|
|
25
25
|
enrollmentType: a,
|
26
26
|
grade: n,
|
27
27
|
board: l,
|
28
|
-
region: r
|
28
|
+
region: r,
|
29
|
+
flow: _
|
29
30
|
}) => {
|
30
|
-
const { goal_curriculum_map:
|
31
|
-
return
|
31
|
+
const { goal_curriculum_map: u } = e, c = R(t);
|
32
|
+
return u.filter((C) => {
|
32
33
|
const {
|
33
|
-
available_grades:
|
34
|
-
available_countries:
|
35
|
-
goal_curriculum_standard:
|
36
|
-
goal_category:
|
37
|
-
blocked_enrollment_types:
|
38
|
-
available_enrollment_types:
|
39
|
-
|
40
|
-
|
34
|
+
available_grades: d,
|
35
|
+
available_countries: g,
|
36
|
+
goal_curriculum_standard: b,
|
37
|
+
goal_category: f,
|
38
|
+
blocked_enrollment_types: v,
|
39
|
+
available_enrollment_types: s,
|
40
|
+
is_live: i
|
41
|
+
} = C, A = _ === "CREATE" ? i : !0, p = d.some((m) => m === n), E = g.some((m) => m === r), k = B({
|
42
|
+
goalCurriculumStandard: b,
|
41
43
|
referenceStandard: l
|
42
|
-
}),
|
43
|
-
|
44
|
-
|
44
|
+
}), S = f === c, y = C.course_stream === o, G = T(
|
45
|
+
v,
|
46
|
+
s,
|
45
47
|
a
|
46
48
|
);
|
47
|
-
return c === M.SCHOOL_SUCCESS ?
|
49
|
+
return c === M.SCHOOL_SUCCESS ? A && G && y && p && k && S : A && G && y && p && S && (g.length > 0 ? E : !0);
|
48
50
|
});
|
49
|
-
},
|
51
|
+
}, O = (e, t, o) => {
|
50
52
|
if (!e)
|
51
53
|
return {
|
52
54
|
customChaptersList: [],
|
@@ -73,51 +75,51 @@ const h = (e, t, o) => {
|
|
73
75
|
majorsPresent: n,
|
74
76
|
countryCode: l,
|
75
77
|
selectedCategory: r,
|
76
|
-
courseStream:
|
77
|
-
enrollmentType:
|
78
|
+
courseStream: _,
|
79
|
+
enrollmentType: u
|
78
80
|
}) => {
|
79
|
-
const { goal_curriculum_map:
|
80
|
-
return
|
81
|
+
const { goal_curriculum_map: c } = e;
|
82
|
+
return c.find((d) => {
|
81
83
|
const {
|
82
|
-
goal_curriculum_standard:
|
84
|
+
goal_curriculum_standard: g,
|
83
85
|
available_grades: b,
|
84
|
-
program_code:
|
85
|
-
available_countries:
|
86
|
+
program_code: f,
|
87
|
+
available_countries: v,
|
86
88
|
goal_category: s,
|
87
89
|
available_enrollment_types: i,
|
88
90
|
blocked_enrollment_types: A
|
89
91
|
} = d;
|
90
92
|
if (s !== r) return;
|
91
|
-
const p =
|
93
|
+
const p = T(
|
92
94
|
A,
|
93
95
|
i,
|
94
|
-
|
95
|
-
),
|
96
|
-
goalCurriculumStandard:
|
96
|
+
u
|
97
|
+
), E = b.some((m) => m === t), k = v.length > 0 ? v.some((m) => m === l) : !0, S = B({
|
98
|
+
goalCurriculumStandard: g,
|
97
99
|
referenceStandard: o
|
98
|
-
}),
|
99
|
-
return n ? a ? p &&
|
100
|
+
}), y = a === f, G = d.course_stream === _;
|
101
|
+
return n ? a ? p && G && k && E && S && y : void 0 : p && G && k && E && S;
|
100
102
|
});
|
101
103
|
}, D = (e, t, o, a, n, l) => {
|
102
104
|
if (!n && !o) return {};
|
103
|
-
const { country_code_to_name_map: r, goal_curriculum_map:
|
104
|
-
let
|
105
|
-
return
|
105
|
+
const { country_code_to_name_map: r, goal_curriculum_map: _ } = t;
|
106
|
+
let u = {};
|
107
|
+
return _.filter((c) => c.course_stream !== e ? !1 : h(c, a)).forEach((c) => {
|
106
108
|
const {
|
107
|
-
available_grades:
|
109
|
+
available_grades: C,
|
108
110
|
available_countries: d,
|
109
|
-
blocked_countries:
|
111
|
+
blocked_countries: g,
|
110
112
|
goal_category: b
|
111
|
-
} =
|
112
|
-
!
|
113
|
+
} = c, f = C.some((s) => s === n);
|
114
|
+
!g.some(
|
113
115
|
(s) => s === l
|
114
|
-
) &&
|
116
|
+
) && f && b === o && (d.length > 0 ? d.reduce((s, i) => (s[i] || (s[i] = r[i] ?? ""), s), u) : u = {
|
115
117
|
...r,
|
116
|
-
...
|
118
|
+
...u
|
117
119
|
});
|
118
|
-
}),
|
120
|
+
}), u;
|
119
121
|
}, H = (e, t) => {
|
120
|
-
const { recommendedChaptersList: o, customChaptersList: a } =
|
122
|
+
const { recommendedChaptersList: o, customChaptersList: a } = O(
|
121
123
|
e,
|
122
124
|
t,
|
123
125
|
!0
|
@@ -127,11 +129,11 @@ const h = (e, t, o) => {
|
|
127
129
|
export {
|
128
130
|
H as computeChangeDetection,
|
129
131
|
j as computeChapterGoalCategoryOnGradeNBoard,
|
130
|
-
|
132
|
+
O as computeRecommendedNCustomChapters,
|
131
133
|
D as getCountriesWhereCurrentGradeNCategoryIsAvailable,
|
132
134
|
x as getGradeBoardAndMajorBasedProgramCode,
|
133
135
|
B as getIfGoalCurriculumStandardIsAccessible,
|
134
|
-
|
135
|
-
|
136
|
+
N as getSelectedGoalCategoryData,
|
137
|
+
T as getStudentEnrollmentSupported
|
136
138
|
};
|
137
139
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n } = goalInfo;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPreset = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n if (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS) {\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPreset &&\n selectedCategoryIsPresent\n );\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n selectedCategoryIsPresent &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","gradePresent","gradeInfo","regionPresent","country","boardPreset","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","GOAL_CATEGORY","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n flow?: TMilestoneFormFlow | null;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n flow,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n is_live: isLive,\n } = goalInfo;\n const canIncludeGoal = flow === 'CREATE' ? isLive : true;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPreset = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n if (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS) {\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPreset &&\n selectedCategoryIsPresent\n );\n }\n\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n selectedCategoryIsPresent &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","flow","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","isLive","canIncludeGoal","gradePresent","gradeInfo","regionPresent","country","boardPreset","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","GOAL_CATEGORY","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}
|
@@ -1,140 +1,147 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { memo as
|
3
|
-
import { convertToTitleCase as
|
4
|
-
import { useUIContext as
|
5
|
-
import { WARNING_MESSAGES as
|
6
|
-
import
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import
|
10
|
-
import
|
11
|
-
|
1
|
+
import { jsx as X } from "react/jsx-runtime";
|
2
|
+
import { memo as Y, useContext as Z, useMemo as C, useCallback as i } from "react";
|
3
|
+
import { convertToTitleCase as M } from "../../../../../helpers/label-text.js";
|
4
|
+
import { useUIContext as $ } from "../../../../ui/context/context.js";
|
5
|
+
import { WARNING_MESSAGES as I } from "../../../constants.js";
|
6
|
+
import h from "../../milestone-create-context.js";
|
7
|
+
import { getGradesBasedOnGoalAvailability as n, appendPrimaryGoalCategoryToFormState as v } from "../../milestone-create-helpers.js";
|
8
|
+
import { computeChangeDetection as T, getCountriesWhereCurrentGradeNCategoryIsAvailable as E } from "../chapters-selection-step/utils.js";
|
9
|
+
import { getTestTypeBasedCategory as x } from "../test-type-step/test-type-utils.js";
|
10
|
+
import W from "./class-details-selectors.js";
|
11
|
+
import { getCategorizedCurriculumStandards as ee } from "./class-details-utils.js";
|
12
|
+
const ye = Y(
|
12
13
|
({
|
13
14
|
config: s,
|
14
15
|
formData: g,
|
15
16
|
currentStep: j,
|
16
17
|
courseStream: r,
|
17
|
-
classRatio:
|
18
|
+
classRatio: U,
|
18
19
|
onChapterExitWarning: o,
|
19
|
-
onFormDataChange:
|
20
|
+
onFormDataChange: _,
|
20
21
|
enrollmentType: a
|
21
22
|
}) => {
|
22
|
-
const { onEvent:
|
23
|
-
testType:
|
23
|
+
const { onEvent: D } = $(), { flow: c } = Z(h), {
|
24
|
+
testType: u,
|
24
25
|
grade: d,
|
25
|
-
board:
|
26
|
+
board: m,
|
26
27
|
schoolInfo: B,
|
27
28
|
region: H,
|
28
|
-
primaryChaptersList:
|
29
|
-
chapterGoalCategory:
|
30
|
-
} = g, { primaryGoalCategory:
|
29
|
+
primaryChaptersList: P,
|
30
|
+
chapterGoalCategory: R = {}
|
31
|
+
} = g, { primaryGoalCategory: k } = R, G = x(u), { countryCode: F } = B || {}, t = H || F, { name: L } = j, y = T(P, k), O = C(
|
31
32
|
() => ({
|
32
|
-
step:
|
33
|
+
step: L
|
33
34
|
}),
|
34
|
-
[
|
35
|
-
),
|
36
|
-
() =>
|
35
|
+
[L]
|
36
|
+
), S = C(
|
37
|
+
() => ee(s, {
|
37
38
|
grade: d ?? "",
|
38
39
|
countryCode: t ?? "",
|
39
|
-
goalCategory:
|
40
|
+
goalCategory: G,
|
40
41
|
courseStream: r,
|
41
|
-
classRatio:
|
42
|
-
enrollmentType: a
|
42
|
+
classRatio: U,
|
43
|
+
enrollmentType: a,
|
44
|
+
flow: c
|
43
45
|
}),
|
44
46
|
[
|
45
|
-
|
47
|
+
U,
|
46
48
|
s,
|
47
49
|
r,
|
48
50
|
t,
|
49
51
|
d,
|
50
52
|
a,
|
51
|
-
|
53
|
+
G,
|
54
|
+
c
|
52
55
|
]
|
53
|
-
), f =
|
54
|
-
() =>
|
56
|
+
), f = C(
|
57
|
+
() => E(
|
55
58
|
r,
|
56
59
|
s,
|
57
|
-
|
60
|
+
G,
|
58
61
|
a,
|
59
62
|
d,
|
60
63
|
t
|
61
64
|
),
|
62
|
-
[r, s,
|
63
|
-
),
|
65
|
+
[r, s, G, a, d, t]
|
66
|
+
), w = C(() => n(
|
64
67
|
s,
|
65
|
-
|
68
|
+
G,
|
66
69
|
r,
|
67
70
|
a
|
68
|
-
), [s, r, a,
|
71
|
+
), [s, r, a, G]), z = C(() => {
|
69
72
|
var e;
|
70
|
-
return (e = Object.entries(f)) == null ? void 0 : e.map(([p,
|
73
|
+
return (e = Object.entries(f)) == null ? void 0 : e.map(([p, A]) => ({
|
71
74
|
id: p,
|
72
|
-
label:
|
73
|
-
})).sort((p,
|
74
|
-
}, [f]), q =
|
75
|
+
label: M(A)
|
76
|
+
})).sort((p, A) => p.label.localeCompare(A.label));
|
77
|
+
}, [f]), q = C(() => t && f[t] ? M(f[t] ?? "") : "", [f, t]), l = i(
|
75
78
|
({
|
76
79
|
updatedData: e,
|
77
80
|
gradeUpdated: p,
|
78
|
-
boardUpdated:
|
79
|
-
countryUpdated:
|
81
|
+
boardUpdated: A,
|
82
|
+
countryUpdated: V
|
80
83
|
}) => {
|
81
|
-
let
|
82
|
-
p ? (
|
84
|
+
let N, b;
|
85
|
+
p ? (N = v(
|
83
86
|
s,
|
84
|
-
|
87
|
+
u,
|
85
88
|
e,
|
86
89
|
r,
|
87
90
|
a,
|
88
|
-
|
89
|
-
t
|
90
|
-
|
91
|
+
m,
|
92
|
+
t,
|
93
|
+
c
|
94
|
+
), b = {
|
91
95
|
grade: e
|
92
|
-
}) :
|
96
|
+
}) : A ? (N = v(
|
93
97
|
s,
|
94
|
-
|
98
|
+
u,
|
95
99
|
d,
|
96
100
|
r,
|
97
101
|
a,
|
98
102
|
e,
|
99
|
-
t
|
100
|
-
|
103
|
+
t,
|
104
|
+
c
|
105
|
+
), b = {
|
101
106
|
board: e,
|
102
107
|
major: void 0
|
103
|
-
}) :
|
108
|
+
}) : V && (N = v(
|
104
109
|
s,
|
105
|
-
|
110
|
+
u,
|
106
111
|
d,
|
107
112
|
r,
|
108
113
|
a,
|
109
|
-
|
110
|
-
e
|
111
|
-
|
114
|
+
m,
|
115
|
+
e,
|
116
|
+
c
|
117
|
+
), b = {
|
112
118
|
region: e
|
113
|
-
}),
|
114
|
-
...
|
119
|
+
}), D("onchange", O), _({
|
120
|
+
...b,
|
115
121
|
chapterGoalCategory: {
|
116
|
-
primaryGoalCategory:
|
122
|
+
primaryGoalCategory: N
|
117
123
|
},
|
118
124
|
primaryChaptersList: void 0
|
119
125
|
});
|
120
126
|
},
|
121
127
|
[
|
122
|
-
|
123
|
-
|
128
|
+
O,
|
129
|
+
m,
|
124
130
|
s,
|
125
131
|
r,
|
126
132
|
t,
|
127
133
|
a,
|
128
134
|
d,
|
129
|
-
|
130
|
-
|
131
|
-
|
135
|
+
_,
|
136
|
+
u,
|
137
|
+
D,
|
138
|
+
c
|
132
139
|
]
|
133
|
-
),
|
140
|
+
), J = i(
|
134
141
|
(e) => {
|
135
142
|
if (e === d) return null;
|
136
|
-
|
137
|
-
description:
|
143
|
+
y ? o == null || o({
|
144
|
+
description: I.GOAL_CHANGE_WARNING,
|
138
145
|
onSuccess: () => {
|
139
146
|
l({
|
140
147
|
updatedData: e,
|
@@ -146,12 +153,12 @@ const ce = X(
|
|
146
153
|
gradeUpdated: !0
|
147
154
|
});
|
148
155
|
},
|
149
|
-
[o, l, d,
|
150
|
-
),
|
156
|
+
[o, l, d, y]
|
157
|
+
), K = i(
|
151
158
|
(e) => {
|
152
|
-
if (e ===
|
153
|
-
|
154
|
-
description:
|
159
|
+
if (e === m) return null;
|
160
|
+
y ? o == null || o({
|
161
|
+
description: I.GOAL_CHANGE_WARNING,
|
155
162
|
onSuccess: () => {
|
156
163
|
l({
|
157
164
|
updatedData: e,
|
@@ -163,12 +170,12 @@ const ce = X(
|
|
163
170
|
boardUpdated: !0
|
164
171
|
});
|
165
172
|
},
|
166
|
-
[o, l,
|
167
|
-
),
|
173
|
+
[o, l, m, y]
|
174
|
+
), Q = i(
|
168
175
|
(e) => {
|
169
176
|
if (e === t) return null;
|
170
|
-
|
171
|
-
description:
|
177
|
+
y ? o == null || o({
|
178
|
+
description: I.GOAL_CHANGE_WARNING,
|
172
179
|
onSuccess: () => {
|
173
180
|
l({
|
174
181
|
updatedData: e,
|
@@ -180,27 +187,27 @@ const ce = X(
|
|
180
187
|
countryUpdated: !0
|
181
188
|
});
|
182
189
|
},
|
183
|
-
[o, l, t,
|
190
|
+
[o, l, t, y]
|
184
191
|
);
|
185
|
-
return /* @__PURE__ */
|
186
|
-
|
192
|
+
return /* @__PURE__ */ X(
|
193
|
+
W,
|
187
194
|
{
|
188
|
-
testType:
|
195
|
+
testType: u,
|
189
196
|
grade: d,
|
190
|
-
grades:
|
191
|
-
board:
|
192
|
-
boards:
|
197
|
+
grades: w,
|
198
|
+
board: m,
|
199
|
+
boards: S,
|
193
200
|
countryLabel: q,
|
194
201
|
countries: z,
|
195
202
|
currentCountryCode: t,
|
196
|
-
handleCountryChange:
|
197
|
-
handleBoardChange:
|
198
|
-
handleGradeSelect:
|
203
|
+
handleCountryChange: Q,
|
204
|
+
handleBoardChange: K,
|
205
|
+
handleGradeSelect: J
|
199
206
|
}
|
200
207
|
);
|
201
208
|
}
|
202
209
|
);
|
203
210
|
export {
|
204
|
-
|
211
|
+
ye as default
|
205
212
|
};
|
206
213
|
//# sourceMappingURL=class-details-step.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n ),\n [courseStream, config, selectedGoalCategory, enrollmentType, grade, currentCountryCode],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n );\n }, [config, courseStream, enrollmentType, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","trackEvent","useUIContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { flow } = useContext(MilestoneCreateContext);\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n flow,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n ),\n [courseStream, config, selectedGoalCategory, enrollmentType, grade, currentCountryCode],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n );\n }, [config, courseStream, enrollmentType, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n flow,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n flow,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","trackEvent","useUIContext","flow","useContext","MilestoneCreateContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
|
@@ -1,29 +1,30 @@
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import { getCurriculumStandardsFromConfig as
|
5
|
-
import { StyledStarIcon as
|
6
|
-
const
|
7
|
-
const o =
|
2
|
+
import S from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
3
|
+
import C from "../../../../ui/layout/flex-view.js";
|
4
|
+
import { getCurriculumStandardsFromConfig as h } from "../../milestone-create-helpers.js";
|
5
|
+
import { StyledStarIcon as D } from "./class-details-styled.js";
|
6
|
+
const T = (d, { grade: n, countryCode: u, goalCategory: l, courseStream: s, classRatio: m, enrollmentType: c, flow: f }) => {
|
7
|
+
const o = h(d, {
|
8
8
|
grade: n,
|
9
9
|
countryCode: u,
|
10
10
|
goalCategory: l,
|
11
11
|
courseStream: s,
|
12
12
|
classRatio: m,
|
13
|
-
enrollmentType: c
|
13
|
+
enrollmentType: c,
|
14
|
+
flow: f
|
14
15
|
}), i = (r) => {
|
15
16
|
const { isDefault: t } = r;
|
16
17
|
return t ? {
|
17
18
|
...r,
|
18
|
-
tag: /* @__PURE__ */ e(
|
19
|
+
tag: /* @__PURE__ */ e(S, { renderAs: "secondary", position: "top", tooltipItem: "Default", zIndex: 4, children: /* @__PURE__ */ e(C, { $width: 20, $height: 20, $alignItems: "center", children: /* @__PURE__ */ e(D, {}) }) })
|
19
20
|
} : r;
|
20
|
-
}, a = (r, t) => r.isDefault && !t.isDefault ? -1 : !r.isDefault && t.isDefault || r.label.toUpperCase() > t.label.toUpperCase() ? 1 : -1,
|
21
|
+
}, a = (r, t) => r.isDefault && !t.isDefault ? -1 : !r.isDefault && t.isDefault || r.label.toUpperCase() > t.label.toUpperCase() ? 1 : -1, p = o.filter((r) => r.isRecommended).map(i).sort(a), g = o.filter((r) => !r.isRecommended).map(i).sort(a);
|
21
22
|
return [
|
22
|
-
{ title: "recommended", data:
|
23
|
-
{ title: "others", data:
|
23
|
+
{ title: "recommended", data: p },
|
24
|
+
{ title: "others", data: g }
|
24
25
|
].filter((r) => r.data.length > 0);
|
25
26
|
};
|
26
27
|
export {
|
27
|
-
|
28
|
+
T as getCategorizedCurriculumStandards
|
28
29
|
};
|
29
30
|
//# sourceMappingURL=class-details-utils.js.map
|