@cuemath/leap 4.0.4-beta.0 → 4.0.5-as1

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.
Files changed (54) hide show
  1. package/dist/assets/illustrations/illustrations.js +1 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/features/fraud-detection/fraud-alert-modal/fraud-alert-modal.js +78 -0
  4. package/dist/features/fraud-detection/fraud-alert-modal/fraud-alert-modal.js.map +1 -0
  5. package/dist/features/fraud-detection/utils/device-fingerprint.js +28 -0
  6. package/dist/features/fraud-detection/utils/device-fingerprint.js.map +1 -0
  7. package/dist/features/fraud-detection/utils/hardware-profile-matcher.js +38 -0
  8. package/dist/features/fraud-detection/utils/hardware-profile-matcher.js.map +1 -0
  9. package/dist/features/hooks/use-fraud-detection/use-fraud-detection.js +34 -0
  10. package/dist/features/hooks/use-fraud-detection/use-fraud-detection.js.map +1 -0
  11. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js +43 -42
  12. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js.map +1 -1
  13. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js +5 -5
  14. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  15. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js +38 -37
  16. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js.map +1 -1
  17. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -1
  18. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +99 -119
  19. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -1
  20. package/dist/features/ui/tag/tag-styled.js +17 -15
  21. package/dist/features/ui/tag/tag-styled.js.map +1 -1
  22. package/dist/features/ui/tag/tag.js +7 -5
  23. package/dist/features/ui/tag/tag.js.map +1 -1
  24. package/dist/features/ui/theme/clrs.js +7 -4
  25. package/dist/features/ui/theme/clrs.js.map +1 -1
  26. package/dist/features/ui/theme/get-theme.js +14 -12
  27. package/dist/features/ui/theme/get-theme.js.map +1 -1
  28. package/dist/features/ui/theme/tag.js +36 -0
  29. package/dist/features/ui/theme/tag.js.map +1 -0
  30. package/dist/features/ui/theme/text.js +0 -15
  31. package/dist/features/ui/theme/text.js.map +1 -1
  32. package/dist/features/utils/get-rgba-from-hex.js +18 -0
  33. package/dist/features/utils/get-rgba-from-hex.js.map +1 -0
  34. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js +43 -31
  35. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
  36. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js +1 -1
  37. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js.map +1 -1
  38. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js +1 -0
  39. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js.map +1 -1
  40. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js +1 -1
  41. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js.map +1 -1
  42. package/dist/index.d.ts +95 -6
  43. package/dist/index.js +597 -591
  44. package/dist/index.js.map +1 -1
  45. package/dist/static/alert-bulb.10cc6154.svg +1 -0
  46. package/package.json +1 -1
  47. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js +0 -17
  48. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js.map +0 -1
  49. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js +0 -62
  50. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js.map +0 -1
  51. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js +0 -23
  52. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js.map +0 -1
  53. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js +0 -33
  54. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js.map +0 -1
@@ -10,6 +10,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
10
10
  ACCURACY_BADGE: `${t}static/accuracy-badge.2e161f00.svg`,
11
11
  ALARM_CLOCK_ORANGE: `${t}static/alarm-clock-orange.31fb90d9.svg`,
12
12
  ALARM_CLOCK_PURPLE: `${t}static/alarm-clock-purple.06d4911c.svg`,
13
+ ALERT_BULB: `${t}static/alert-bulb.10cc6154.svg`,
13
14
  ALIEN_1: `${t}static/alien-1.fc7ba696.svg`,
14
15
  ALIEN_2: `${t}static/alien-2.15fdda07.svg`,
15
16
  ALIEN_3: `${t}static/alien-3.2664a37f.svg`,
@@ -1 +1 @@
1
- {"version":3,"file":"illustrations.js","sources":["../../../src/assets/illustrations/illustrations.ts"],"sourcesContent":["declare global {\n interface Window {\n VITE_PUBLIC_URL: string;\n }\n}\n\nconst PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst ILLUSTRATIONS = {\n 2021: `${PREFIX}static/2021.2a1a2ec9.svg`,\n 2022: `${PREFIX}static/2022.2091553a.svg`,\n 2023: `${PREFIX}static/2023.ed718b4e.svg`,\n 2024: `${PREFIX}static/2024.aa60edc5.svg`,\n 2025: `${PREFIX}static/2025.014a8ad3.svg`,\n 2026: `${PREFIX}static/2026.95d70f27.svg`,\n 2027: `${PREFIX}static/2027.fe83a41c.svg`,\n 2028: `${PREFIX}static/2028.b1c253ef.svg`,\n ACCURACY_BADGE: `${PREFIX}static/accuracy-badge.2e161f00.svg`,\n ALARM_CLOCK_ORANGE: `${PREFIX}static/alarm-clock-orange.31fb90d9.svg`,\n ALARM_CLOCK_PURPLE: `${PREFIX}static/alarm-clock-purple.06d4911c.svg`,\n ALIEN_1: `${PREFIX}static/alien-1.fc7ba696.svg`,\n ALIEN_2: `${PREFIX}static/alien-2.15fdda07.svg`,\n ALIEN_3: `${PREFIX}static/alien-3.2664a37f.svg`,\n ALIEN_4: `${PREFIX}static/alien-4.06ac66da.svg`,\n APR: `${PREFIX}static/apr.cd56f13d.svg`,\n ARROW_BOARD_GREEN: `${PREFIX}static/arrow-board-green.11e75bca.svg`,\n AUG: `${PREFIX}static/aug.3ceade02.svg`,\n BLUE_CLIP: `${PREFIX}static/blue-clip.87cc4543.svg`,\n BOOK_CHECKED_GREEN: `${PREFIX}static/book-checked-green.0436b91e.svg`,\n BOOK_CHECKED_ORANGE: `${PREFIX}static/book-checked-orange.53ea6880.svg`,\n BOOK_CHECKED_PURPLE: `${PREFIX}static/book-checked-purple.df628f3e.svg`,\n BOOK_GREEN: `${PREFIX}static/book-green.20f6eed3.svg`,\n BOOK_OPEN_BLUE: `${PREFIX}static/book-open-blue.d4f8d08c.svg`,\n BOOK_ORANGE: `${PREFIX}static/book-orange.04bdc75e.svg`,\n BOOK_YELLOW: `${PREFIX}static/book-yellow.c210ac06.svg`,\n BULLET_YELLOW: `${PREFIX}static/bullet-yellow.2f892d88.svg`,\n CALENDAR_BLUE: `${PREFIX}static/calendar-blue.e0d52d09.svg`,\n CALENDAR_CHECK_GREEN: `${PREFIX}static/calendar-check-green.ab0e24d2.svg`,\n CALENDAR_CROSS_ORANGE: `${PREFIX}static/calendar-cross-orange.8e7a23bd.svg`,\n CALENDAR_GRAY: `${PREFIX}static/calendar-gray.1c72682a.svg`,\n CALENDAR_GREEN: `${PREFIX}static/calendar-green.a2b6a393.svg`,\n CALENDAR_PURPLE: `${PREFIX}static/calendar-purple.1a840b41.svg`,\n CALENDAR_PURPLE_2: `${PREFIX}static/calendar_purple_2.6e8249ef.svg`,\n CAUTION: `${PREFIX}static/caution.5766a967.svg`,\n CHAPTER_10: `${PREFIX}static/chapter-10.c97de4a5.svg`,\n CHAPTER_1: `${PREFIX}static/chapter-1.8a1683a0.svg`,\n CHAPTER_2: `${PREFIX}static/chapter-2.71ac6dfc.svg`,\n CHAPTER_3: `${PREFIX}static/chapter-3.003fc901.svg`,\n CHAPTER_4: `${PREFIX}static/chapter-4.8abbacd8.svg`,\n CHAPTER_5: `${PREFIX}static/chapter-5.c774b439.svg`,\n CHAPTER_6: `${PREFIX}static/chapter-6.cb5cf1cb.svg`,\n CHAPTER_7: `${PREFIX}static/chapter-7.57b0beb4.svg`,\n CHAPTER_8: `${PREFIX}static/chapter-8.68d36477.svg`,\n CHAPTER_9: `${PREFIX}static/chapter-9.0c00e26f.svg`,\n CHAPTER_HEADER_BG: `${PREFIX}static/chapter-header-bg.4ed173c2.svg`,\n CHAPTER_HEADER_BG_2: `${PREFIX}static/chapter-header-bg-2.c8d96894.svg`,\n CIRCLE_CUEMATH_LOGO: `${PREFIX}static/circle-cuemath-logo.8bcb1ad4.svg`,\n CIRCLE_CUEMATH_LOGO_WHITE: `${PREFIX}static/circle-cuemath-logo-white.e9fafb91.svg`,\n CIRCLE_ICON: `${PREFIX}static/circle-icon.1027df3c.svg`,\n CIRCLE_OUTERCIRCLE_BG: `${PREFIX}static/circle-outercircle-bg.65f21460.svg`,\n CLOCK_BADGE: `${PREFIX}static/clock-badge.0adb4ba6.svg`,\n CLOCK_GREEN: `${PREFIX}static/clock-green.020570d3.svg`,\n CLOCK_ORANGE: `${PREFIX}static/clock-orange.c144059b.svg`,\n CLOCK_PURPLE: `${PREFIX}static/clock_purple.c774c9bf.svg`,\n CODING_REPORT_ICON: `${PREFIX}static/coding-report-icon.91a1e900.svg`,\n COMMON: `${PREFIX}static/common.9e8ceef1.svg`,\n COMMUNITY_BULB: `${PREFIX}static/community-bulb.3b42af21.svg`,\n COMMUNITY_BULB_YELLOW_2: `${PREFIX}static/community-bulb-yellow-2.f89c30f9.svg`,\n CROSSHAIR_CIRCLE: `${PREFIX}static/crosshair-circle.522a26ea.svg`,\n CROWN: `${PREFIX}static/crown.c18fa217.svg`,\n CROWN_OVERLAY: `${PREFIX}static/crown-overlay.11fb073c.svg`,\n CUECOIN_GOLD: `${PREFIX}static/cuecoin-gold.bcb8085e.svg`,\n CUEMATH_APP_QR_CODE: `${PREFIX}static/cuemath-app-qr-code.7205ee79.svg`,\n CW_ICON: `${PREFIX}static/cw-icon.c61f9779.svg`,\n DEC: `${PREFIX}static/dec.90729a5e.svg`,\n DESKTOP_WITH_PURPLE_FILL: `${PREFIX}static/desktop-with-purple-fill.dfec66cc.svg`,\n DOWN_ARROW_BADGE: `${PREFIX}static/down-arrow-badge.f462f615.svg`,\n DURATION_30MIN_GRAY: `${PREFIX}static/duration-30min-gray.f6442df4.svg`,\n DURATION_45MIN_GRAY: `${PREFIX}static/duration-45min-gray.ad90fb23.svg`,\n DURATION_60MIN_GRAY: `${PREFIX}static/duration-60min-gray.874e52a2.svg`,\n DURATION_90MIN_GRAY: `${PREFIX}static/duration-90min-gray.32a04cef.svg`,\n EARTH_GREEN: `${PREFIX}static/earth-green.e1329b7a.svg`,\n ELLIPSE_CLIP: `${PREFIX}static/ellipse-clip.dfb25608.svg`,\n ELP_ICON: `${PREFIX}static/elp-icon.d45b457d.svg`,\n EMPTY_REPORTS: `${PREFIX}static/empty-reports.fe92faad.svg`,\n ENGLISH_ICON: `${PREFIX}static/english-icon.50c2e005.svg`,\n EPIC: `${PREFIX}static/epic.37a0265a.svg`,\n EQUAL_OUTLINED: `${PREFIX}static/equal-outlined.b705bf5d.svg`,\n FEB: `${PREFIX}static/feb.a9ecd320.svg`,\n FEMALE_AVATAR: `${PREFIX}static/female-avatar.b8cd1012.svg`,\n FOCUS_BLUE: `${PREFIX}static/focus-blue.664be268.svg`,\n FULL_REPORT: `${PREFIX}static/full-report.00112c74.svg`,\n GAME_PLAY: `${PREFIX}static/game-play.4982b0cb.svg`,\n GLOBE_WITH_BLUE_FILL: `${PREFIX}static/globe-with-blue-fill.beae6ca4.svg`,\n GRADE_GRID_BACKGROUND: `${PREFIX}static/grade-grid-background.b17b4ccb.svg`,\n GRADUATE_HAT: `${PREFIX}static/graduate-hat.4b49eb44.svg`,\n GRADUATE_ICON_PINK: `${PREFIX}static/graduate-icon-pink.01fbfb1b.svg`,\n GRADUATE_PINK_FILLED_BG: `${PREFIX}static/graduate-pink-filled-bg.c91e9c53.svg`,\n GREEN_BALLOON: `${PREFIX}static/green-balloon.67ac8587.svg`,\n GREEN_FACE: `${PREFIX}static/green-face.1b4dd82f.svg`,\n GREEN_TICK: `${PREFIX}static/green-tick.43b94c3a.svg`,\n HANDSHAKE: `${PREFIX}static/handshake.287e7dfb.svg`,\n HANDSHAKE_GREEN: `${PREFIX}static/handshake-green.f8d24216.svg`,\n HEART_OUTLINED: `${PREFIX}static/heart-outlined.5b5415fe.svg`,\n HW_ICON: `${PREFIX}static/hw-icon.6d78e885.svg`,\n JAN: `${PREFIX}static/jan.f8fb9c39.svg`,\n JUL: `${PREFIX}static/jul.04a98cf0.svg`,\n JUN: `${PREFIX}static/jun.9b6ab6bf.svg`,\n KEY: `${PREFIX}static/key.fa0b4c98.svg`,\n KNOWLEDGE_BLUE: `${PREFIX}static/knowledge-blue.ead536f1.svg`,\n LEARNED_SHIELD_GRAY: `${PREFIX}static/learned-shield-gray.1495b0d5.svg`,\n LEARNED_SHIELD_GREEN: `${PREFIX}static/learned-shield-green.7c26b423.svg`,\n LEARNING_PUZZLE_BOT: `${PREFIX}static/learning-puzzle-bot.6fe93cf6.svg`,\n LEARNT: `${PREFIX}static/learnt.870c5e38.svg`,\n LEGENDARY: `${PREFIX}static/legendary.f15d09ca.svg`,\n LIKE: `${PREFIX}static/like.cb492460.svg`,\n LIVE_SESSION: `${PREFIX}static/live-session.a0d25c78.svg`,\n LIVE_SESSION_BLUE: `${PREFIX}static/live-session-blue.ec7fa85f.svg`,\n LOADER: `${PREFIX}static/loader.52f8c35c.svg`,\n LOADER_1: `${PREFIX}static/loader-1.6524355e.svg`,\n LOCKED: `${PREFIX}static/locked.0c3b7577.svg`,\n MAINTENANCE: `${PREFIX}static/maintenance.a26aca65.svg`,\n MALE_AVATAR: `${PREFIX}static/male-avatar.2febc9eb.svg`,\n MAR: `${PREFIX}static/mar.f8b372ef.svg`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.81f156fb.svg`,\n MASTERED_SHIELD_GRAY: `${PREFIX}static/mastered-shield-gray.a58cbe19.svg`,\n MASTERED_SHIELD_GREEN: `${PREFIX}static/mastered-shield-green.070fa4eb.svg`,\n MATH_FIT_BG: `${PREFIX}static/math-fit-bg.4bfa3244.svg`,\n MATH_FIT_CARD_BG: `${PREFIX}static/math-fit-card-bg.20c826bb.svg`,\n MATH_FIT_GREY: `${PREFIX}static/math-fit-grey.c32f37b3.svg`,\n MAY: `${PREFIX}static/may.23adae48.svg`,\n MENTAL_MATH: `${PREFIX}static/mental-math.3c95f169.svg`,\n MILESTONE_INTRO_1: `${PREFIX}static/milestone-intro-1.281a354c.svg`,\n MILESTONE_INTRO_2: `${PREFIX}static/milestone-intro-2.19faee69.svg`,\n MILESTONE_INTRO_3: `${PREFIX}static/milestone-intro-3.6f6055d6.svg`,\n MISTAKE: `${PREFIX}static/mistake.476d1aa7.svg`,\n MONEY: `${PREFIX}static/money.332aacf1.svg`,\n MYSTERY: `${PREFIX}static/mystery.81ada5fb.svg`,\n MYTHIC: `${PREFIX}static/mythic.58ba0ae0.svg`,\n NODE_ACTIVITY_BG: `${PREFIX}static/node-activity-bg.122f7e01.svg`,\n NODE_ACTIVITY_LARGE_BG: `${PREFIX}static/node-activity-large-bg.369e64ee.svg`,\n NODE_CHALLENGE_ARENA_LARGE_BG: `${PREFIX}static/node-challenge-arena-large-bg.e04bccf4.svg`,\n NODE_CUSTOM_TEST_BG: `${PREFIX}static/node-custom-test-bg.d3b757be.svg`,\n NODE_DOWNLOAD_BG: `${PREFIX}static/node-download-bg.b8367de7.svg`,\n NODE_DOWNLOAD_LARGE_BG: `${PREFIX}static/node-download-large-bg.8cfb21ef.svg`,\n NODE_LEARN_BG: `${PREFIX}static/node-learn-bg.b61f815c.svg`,\n NODE_LEARN_LARGE_BG: `${PREFIX}static/node-learn-large-bg.faa03631.svg`,\n NODE_PRACTICE_BG: `${PREFIX}static/node-practice-bg.16cbaf2a.svg`,\n NODE_PROJECT_BG: `${PREFIX}static/node-project-bg.e6a33e28.svg`,\n NODE_PROJECT_LARGE_BG: `${PREFIX}static/node-project-large-bg.dc4e615f.svg`,\n NODE_PUZZLE_BG: `${PREFIX}static/node-puzzle-bg.3422135c.svg`,\n NODE_PUZZLE_LARGE_BG: `${PREFIX}static/node-puzzle-large-bg.ba23382e.svg`,\n NODE_RECAP_BG: `${PREFIX}static/node-recap-bg.546154e4.svg`,\n NODE_RECAP_LARGE_BG: `${PREFIX}static/node-recap-large-bg.eab915ad.svg`,\n NODE_SUBJECTIVE_BG: `${PREFIX}static/node-subjective-bg.d6013a16.svg`,\n NODE_SUBJECTIVE_LARGE_BG: `${PREFIX}static/node-subjective-large-bg.4f6b61e9.svg`,\n NODE_TEST_LARGE_BG: `${PREFIX}static/node-test-large-bg.e9120fd1.svg`,\n NODE_TEST_PREP_BG: `${PREFIX}static/node-test-prep-bg.42c0b9c4.svg`,\n NODE_VIDEO_BG: `${PREFIX}static/node-video-bg.3df3f73a.svg`,\n NODE_VIDEO_LARGE_BG: `${PREFIX}static/node-video-large-bg.49ae971d.svg`,\n NOV: `${PREFIX}static/nov.c44e4739.svg`,\n NO_ACTIVITY: `${PREFIX}static/no-activity.0451dcbb.svg`,\n NO_REPORT: `${PREFIX}static/no-report.4158fad3.svg`,\n NUMBER_1_ORANGE: `${PREFIX}static/number-1-orange.cbf526ed.svg`,\n NUMBER_2_ORANGE: `${PREFIX}static/number-2-orange.6f29eb72.svg`,\n NUMBER_3_ORANGE: `${PREFIX}static/number-3-orange.58baf717.svg`,\n NUMBER_4_ORANGE: `${PREFIX}static/number-4-orange.5ed1ec5e.svg`,\n OCT: `${PREFIX}static/oct.856b3b3f.svg`,\n ONE_STAR_FILLED: `${PREFIX}static/one-star-filled.b6084257.svg`,\n OPENED_BOOK_GREEN: `${PREFIX}static/opened-book-green.faacda34.svg`,\n ORANGE_FACE: `${PREFIX}static/orange-face.5824c2e9.svg`,\n PARENT_AVATAR: `${PREFIX}static/parent-avatar.822c7b9b.svg`,\n PATTERN_CUBES: `${PREFIX}static/pattern-cubes.113d8dda.svg`,\n PATTERN_DIAMOND: `${PREFIX}static/pattern-diamond.a51b202c.svg`,\n PATTERN_HONEYCOMB: `${PREFIX}static/pattern-honeycomb.ed7ad26a.svg`,\n PEOPLE_WITH_ORANGE_FILL: `${PREFIX}static/people-with-orange-fill.3835b8f1.svg`,\n PERCENTAGE_PATTERN_YELLOW: `${PREFIX}static/percentage-pattern-yellow.6a25e820.svg`,\n PERSONALIZATION: `${PREFIX}static/personalization.7a6c33e8.svg`,\n PI_ORANGE: `${PREFIX}static/pi-orange.132b108d.svg`,\n PLATFORM_GREEN: `${PREFIX}static/platform-green.eb853207.svg`,\n PLATFORM_PURPLE: `${PREFIX}static/platform-purple.ecf6fa46.svg`,\n PLAY: `${PREFIX}static/play.68d16dec.svg`,\n PLAY_ICON: `${PREFIX}static/play-icon.13baaa7d.svg`,\n POINTS_BADGE: `${PREFIX}static/points-badge.96bdecc9.svg`,\n POINTS_SUM: `${PREFIX}static/points-sum.360e63de.svg`,\n PRACTICED_SHIELD_GREEN: `${PREFIX}static/practiced-shield-green.90278855.svg`,\n PRACTICED_SHIELD_GREY: `${PREFIX}static/practiced-shield-grey.16cf4fe0.svg`,\n PROFICIENT_BADGE: `${PREFIX}static/proficient-badge.1a6dbb72.svg`,\n PROFILE_BOARD: `${PREFIX}static/profile-board.4f4a17e6.svg`,\n PROGRESS_BAR_PURPLE: `${PREFIX}static/progress_bar_purple.2ff4dfe2.svg`,\n PTM_REPORT_ICON: `${PREFIX}static/ptm-report-icon.5089218f.svg`,\n PUZZLE: `${PREFIX}static/puzzle.5aad5cf8.svg`,\n PUZZLE_DASHBOARD_BANNER: `${PREFIX}static/puzzle-dashboard-banner.b7956519.svg`,\n PUZZLE_PATTERN_BLUE: `${PREFIX}static/puzzle-pattern-blue.abff0164.svg`,\n PUZZLE_PATTERN_GREEN: `${PREFIX}static/puzzle-pattern-green.b8ba1840.svg`,\n PUZZLE_PATTERN_ORANGE: `${PREFIX}static/puzzle-pattern-orange.3f5a17ff.svg`,\n PUZZLE_PATTERN_PURPLE: `${PREFIX}static/puzzle-pattern-purple.14b09759.svg`,\n PUZZLE_PATTERN_YELLOW: `${PREFIX}static/puzzle-pattern-yellow.50917fab.svg`,\n PUZZLE_PURPLE: `${PREFIX}static/puzzle-purple.60ff4884.svg`,\n PUZZLE_STUDENT: `${PREFIX}static/puzzle-student.de530364.svg`,\n QUESTION_MARK_BLUE: `${PREFIX}static/question-mark-blue.b6a7f37d.svg`,\n QUESTION_MARK_YELLOW: `${PREFIX}static/question-mark-yellow.1925aa04.svg`,\n RADIAL_GRADIENT_BG: `${PREFIX}static/radial-gradient-bg.5ae0cde5.svg`,\n RADIAL_GRADIENT_BG_2: `${PREFIX}static/radial-gradient-bg-2.6657c758.svg`,\n RARE: `${PREFIX}static/rare.1ffaa311.svg`,\n REFUND_POLICY: `${PREFIX}static/refund-policy.912dbb4c.svg`,\n REFUND_POLICY_WITH_HEADPHONE: `${PREFIX}static/refund-policy-with-headphone.589398e0.svg`,\n RENEWAL_BLUE: `${PREFIX}static/renewal-blue.1ab3b2d4.svg`,\n REPORT_404: `${PREFIX}static/report-404.dd67785c.svg`,\n ROCKET_BROKEN: `${PREFIX}static/rocket-broken.1f86fa43.svg`,\n ROCKET_YELLOW: `${PREFIX}static/rocket-yellow.62d27e15.svg`,\n SAT_REPORT_ICON: `${PREFIX}static/sat-report-icon.4331be86.svg`,\n SCIENCE_REPORT_ICON: `${PREFIX}static/science-report-icon.a0014c40.svg`,\n SCORE: `${PREFIX}static/score.41971107.svg`,\n SEP: `${PREFIX}static/sep.2d547b31.svg`,\n SMILEY: `${PREFIX}static/smiley.49bb7d7c.svg`,\n STAR_BADGE: `${PREFIX}static/star-badge.5450c267.svg`,\n STAR_ORANGE: `${PREFIX}static/star-orange.a91a341f.svg`,\n STAR_ORANGE_FILLED: `${PREFIX}static/star-orange-filled.a7ff9c8f.svg`,\n STAR_OUTLINED: `${PREFIX}static/star-outlined.bde83c7c.svg`,\n STAR_WITH_GREEN_FILL: `${PREFIX}static/star-with-green-fill.86877d41.svg`,\n STREAK_GREEN: `${PREFIX}static/streak-green.b59bf4dd.svg`,\n STREAK_WHITE: `${PREFIX}static/streak-white.2cbdc9b8.svg`,\n STRIPE_BLURPLE: `${PREFIX}static/stripe-blurple.7f233048.svg`,\n STUDENT_AVATAR: `${PREFIX}static/student-avatar.24bc2875.svg`,\n TEST_DIFFICULTY_EASY: `${PREFIX}static/test-difficulty-easy.56df71dd.svg`,\n TEST_DIFFICULTY_HARD: `${PREFIX}static/test-difficulty-hard.7250f1f4.svg`,\n TEST_DIFFICULTY_MEDIUM: `${PREFIX}static/test-difficulty-medium.2fd9686e.svg`,\n THREE_STARS_FILLED: `${PREFIX}static/three-stars-filled.72b51f03.svg`,\n THUMBS_UP_GREEN: `${PREFIX}static/thumbs-up-green.6a03b9d2.svg`,\n THUMPS_DOWN: `${PREFIX}static/thumps-down.a1192a62.svg`,\n THUMPS_UP: `${PREFIX}static/thumps-up.caa35a98.svg`,\n TICK_GREEN: `${PREFIX}static/tick-green.a1654049.svg`,\n TIME_PURPLE: `${PREFIX}static/time-purple.ab1a458d.svg`,\n TROPHY_BLUE: `${PREFIX}static/trophy-blue.e684ba4c.svg`,\n TROPHY_BLUE_FILLED: `${PREFIX}static/trophy-blue-filled.7e2b40ab.svg`,\n TROPHY_CIRCLE: `${PREFIX}static/trophy-circle.b7b23e36.svg`,\n TROPHY_GREEN: `${PREFIX}static/trophy-green.6c0741c8.svg`,\n TROPHY_OUTLINED: `${PREFIX}static/trophy-outlined.f946b362.svg`,\n TRUSTPILOT: `${PREFIX}static/trustpilot.bd3d79e1.svg`,\n TRUSTPILOT_BLACK: `${PREFIX}static/trustpilot-black.3878bb6f.svg`,\n TWO_STARS_FILLED: `${PREFIX}static/two-stars-filled.a51a14b4.svg`,\n UP_ARROW: `${PREFIX}static/up-arrow.a6946bd3.svg`,\n UP_ARROW_BADGE: `${PREFIX}static/up-arrow-badge.71fe7ad1.svg`,\n USER_CROWN_GRID_BACKGROUND: `${PREFIX}static/user-crown-grid-background.c2875a73.svg`,\n USER_DOWN: `${PREFIX}static/user-down.a06f2f94.svg`,\n USER_PIN: `${PREFIX}static/user-pin.5f334465.svg`,\n USER_PROFILE_BACKGROUND: `${PREFIX}static/user-profile-background.199977a9.svg`,\n USER_TYPE_SELECTOR_GRID_BG: `${PREFIX}static/user-type-selector-grid-bg.aad0b059.svg`,\n USER_UP: `${PREFIX}static/user-up.2aecbbae.svg`,\n YELLOW_FACE: `${PREFIX}static/yellow-face.b7525a33.svg`,\n};\n\nexport { ILLUSTRATIONS };\n"],"names":["PREFIX","ILLUSTRATIONS"],"mappings":"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"}
1
+ {"version":3,"file":"illustrations.js","sources":["../../../src/assets/illustrations/illustrations.ts"],"sourcesContent":["declare global {\n interface Window {\n VITE_PUBLIC_URL: string;\n }\n}\n\nconst PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst ILLUSTRATIONS = {\n 2021: `${PREFIX}static/2021.2a1a2ec9.svg`,\n 2022: `${PREFIX}static/2022.2091553a.svg`,\n 2023: `${PREFIX}static/2023.ed718b4e.svg`,\n 2024: `${PREFIX}static/2024.aa60edc5.svg`,\n 2025: `${PREFIX}static/2025.014a8ad3.svg`,\n 2026: `${PREFIX}static/2026.95d70f27.svg`,\n 2027: `${PREFIX}static/2027.fe83a41c.svg`,\n 2028: `${PREFIX}static/2028.b1c253ef.svg`,\n ACCURACY_BADGE: `${PREFIX}static/accuracy-badge.2e161f00.svg`,\n ALARM_CLOCK_ORANGE: `${PREFIX}static/alarm-clock-orange.31fb90d9.svg`,\n ALARM_CLOCK_PURPLE: `${PREFIX}static/alarm-clock-purple.06d4911c.svg`,\n ALERT_BULB: `${PREFIX}static/alert-bulb.10cc6154.svg`,\n ALIEN_1: `${PREFIX}static/alien-1.fc7ba696.svg`,\n ALIEN_2: `${PREFIX}static/alien-2.15fdda07.svg`,\n ALIEN_3: `${PREFIX}static/alien-3.2664a37f.svg`,\n ALIEN_4: `${PREFIX}static/alien-4.06ac66da.svg`,\n APR: `${PREFIX}static/apr.cd56f13d.svg`,\n ARROW_BOARD_GREEN: `${PREFIX}static/arrow-board-green.11e75bca.svg`,\n AUG: `${PREFIX}static/aug.3ceade02.svg`,\n BLUE_CLIP: `${PREFIX}static/blue-clip.87cc4543.svg`,\n BOOK_CHECKED_GREEN: `${PREFIX}static/book-checked-green.0436b91e.svg`,\n BOOK_CHECKED_ORANGE: `${PREFIX}static/book-checked-orange.53ea6880.svg`,\n BOOK_CHECKED_PURPLE: `${PREFIX}static/book-checked-purple.df628f3e.svg`,\n BOOK_GREEN: `${PREFIX}static/book-green.20f6eed3.svg`,\n BOOK_OPEN_BLUE: `${PREFIX}static/book-open-blue.d4f8d08c.svg`,\n BOOK_ORANGE: `${PREFIX}static/book-orange.04bdc75e.svg`,\n BOOK_YELLOW: `${PREFIX}static/book-yellow.c210ac06.svg`,\n BULLET_YELLOW: `${PREFIX}static/bullet-yellow.2f892d88.svg`,\n CALENDAR_BLUE: `${PREFIX}static/calendar-blue.e0d52d09.svg`,\n CALENDAR_CHECK_GREEN: `${PREFIX}static/calendar-check-green.ab0e24d2.svg`,\n CALENDAR_CROSS_ORANGE: `${PREFIX}static/calendar-cross-orange.8e7a23bd.svg`,\n CALENDAR_GRAY: `${PREFIX}static/calendar-gray.1c72682a.svg`,\n CALENDAR_GREEN: `${PREFIX}static/calendar-green.a2b6a393.svg`,\n CALENDAR_PURPLE: `${PREFIX}static/calendar-purple.1a840b41.svg`,\n CALENDAR_PURPLE_2: `${PREFIX}static/calendar_purple_2.6e8249ef.svg`,\n CAUTION: `${PREFIX}static/caution.5766a967.svg`,\n CHAPTER_10: `${PREFIX}static/chapter-10.c97de4a5.svg`,\n CHAPTER_1: `${PREFIX}static/chapter-1.8a1683a0.svg`,\n CHAPTER_2: `${PREFIX}static/chapter-2.71ac6dfc.svg`,\n CHAPTER_3: `${PREFIX}static/chapter-3.003fc901.svg`,\n CHAPTER_4: `${PREFIX}static/chapter-4.8abbacd8.svg`,\n CHAPTER_5: `${PREFIX}static/chapter-5.c774b439.svg`,\n CHAPTER_6: `${PREFIX}static/chapter-6.cb5cf1cb.svg`,\n CHAPTER_7: `${PREFIX}static/chapter-7.57b0beb4.svg`,\n CHAPTER_8: `${PREFIX}static/chapter-8.68d36477.svg`,\n CHAPTER_9: `${PREFIX}static/chapter-9.0c00e26f.svg`,\n CHAPTER_HEADER_BG: `${PREFIX}static/chapter-header-bg.4ed173c2.svg`,\n CHAPTER_HEADER_BG_2: `${PREFIX}static/chapter-header-bg-2.c8d96894.svg`,\n CIRCLE_CUEMATH_LOGO: `${PREFIX}static/circle-cuemath-logo.8bcb1ad4.svg`,\n CIRCLE_CUEMATH_LOGO_WHITE: `${PREFIX}static/circle-cuemath-logo-white.e9fafb91.svg`,\n CIRCLE_ICON: `${PREFIX}static/circle-icon.1027df3c.svg`,\n CIRCLE_OUTERCIRCLE_BG: `${PREFIX}static/circle-outercircle-bg.65f21460.svg`,\n CLOCK_BADGE: `${PREFIX}static/clock-badge.0adb4ba6.svg`,\n CLOCK_GREEN: `${PREFIX}static/clock-green.020570d3.svg`,\n CLOCK_ORANGE: `${PREFIX}static/clock-orange.c144059b.svg`,\n CLOCK_PURPLE: `${PREFIX}static/clock_purple.c774c9bf.svg`,\n CODING_REPORT_ICON: `${PREFIX}static/coding-report-icon.91a1e900.svg`,\n COMMON: `${PREFIX}static/common.9e8ceef1.svg`,\n COMMUNITY_BULB: `${PREFIX}static/community-bulb.3b42af21.svg`,\n COMMUNITY_BULB_YELLOW_2: `${PREFIX}static/community-bulb-yellow-2.f89c30f9.svg`,\n CROSSHAIR_CIRCLE: `${PREFIX}static/crosshair-circle.522a26ea.svg`,\n CROWN: `${PREFIX}static/crown.c18fa217.svg`,\n CROWN_OVERLAY: `${PREFIX}static/crown-overlay.11fb073c.svg`,\n CUECOIN_GOLD: `${PREFIX}static/cuecoin-gold.bcb8085e.svg`,\n CUEMATH_APP_QR_CODE: `${PREFIX}static/cuemath-app-qr-code.7205ee79.svg`,\n CW_ICON: `${PREFIX}static/cw-icon.c61f9779.svg`,\n DEC: `${PREFIX}static/dec.90729a5e.svg`,\n DESKTOP_WITH_PURPLE_FILL: `${PREFIX}static/desktop-with-purple-fill.dfec66cc.svg`,\n DOWN_ARROW_BADGE: `${PREFIX}static/down-arrow-badge.f462f615.svg`,\n DURATION_30MIN_GRAY: `${PREFIX}static/duration-30min-gray.f6442df4.svg`,\n DURATION_45MIN_GRAY: `${PREFIX}static/duration-45min-gray.ad90fb23.svg`,\n DURATION_60MIN_GRAY: `${PREFIX}static/duration-60min-gray.874e52a2.svg`,\n DURATION_90MIN_GRAY: `${PREFIX}static/duration-90min-gray.32a04cef.svg`,\n EARTH_GREEN: `${PREFIX}static/earth-green.e1329b7a.svg`,\n ELLIPSE_CLIP: `${PREFIX}static/ellipse-clip.dfb25608.svg`,\n ELP_ICON: `${PREFIX}static/elp-icon.d45b457d.svg`,\n EMPTY_REPORTS: `${PREFIX}static/empty-reports.fe92faad.svg`,\n ENGLISH_ICON: `${PREFIX}static/english-icon.50c2e005.svg`,\n EPIC: `${PREFIX}static/epic.37a0265a.svg`,\n EQUAL_OUTLINED: `${PREFIX}static/equal-outlined.b705bf5d.svg`,\n FEB: `${PREFIX}static/feb.a9ecd320.svg`,\n FEMALE_AVATAR: `${PREFIX}static/female-avatar.b8cd1012.svg`,\n FOCUS_BLUE: `${PREFIX}static/focus-blue.664be268.svg`,\n FULL_REPORT: `${PREFIX}static/full-report.00112c74.svg`,\n GAME_PLAY: `${PREFIX}static/game-play.4982b0cb.svg`,\n GLOBE_WITH_BLUE_FILL: `${PREFIX}static/globe-with-blue-fill.beae6ca4.svg`,\n GRADE_GRID_BACKGROUND: `${PREFIX}static/grade-grid-background.b17b4ccb.svg`,\n GRADUATE_HAT: `${PREFIX}static/graduate-hat.4b49eb44.svg`,\n GRADUATE_ICON_PINK: `${PREFIX}static/graduate-icon-pink.01fbfb1b.svg`,\n GRADUATE_PINK_FILLED_BG: `${PREFIX}static/graduate-pink-filled-bg.c91e9c53.svg`,\n GREEN_BALLOON: `${PREFIX}static/green-balloon.67ac8587.svg`,\n GREEN_FACE: `${PREFIX}static/green-face.1b4dd82f.svg`,\n GREEN_TICK: `${PREFIX}static/green-tick.43b94c3a.svg`,\n HANDSHAKE: `${PREFIX}static/handshake.287e7dfb.svg`,\n HANDSHAKE_GREEN: `${PREFIX}static/handshake-green.f8d24216.svg`,\n HEART_OUTLINED: `${PREFIX}static/heart-outlined.5b5415fe.svg`,\n HW_ICON: `${PREFIX}static/hw-icon.6d78e885.svg`,\n JAN: `${PREFIX}static/jan.f8fb9c39.svg`,\n JUL: `${PREFIX}static/jul.04a98cf0.svg`,\n JUN: `${PREFIX}static/jun.9b6ab6bf.svg`,\n KEY: `${PREFIX}static/key.fa0b4c98.svg`,\n KNOWLEDGE_BLUE: `${PREFIX}static/knowledge-blue.ead536f1.svg`,\n LEARNED_SHIELD_GRAY: `${PREFIX}static/learned-shield-gray.1495b0d5.svg`,\n LEARNED_SHIELD_GREEN: `${PREFIX}static/learned-shield-green.7c26b423.svg`,\n LEARNING_PUZZLE_BOT: `${PREFIX}static/learning-puzzle-bot.6fe93cf6.svg`,\n LEARNT: `${PREFIX}static/learnt.870c5e38.svg`,\n LEGENDARY: `${PREFIX}static/legendary.f15d09ca.svg`,\n LIKE: `${PREFIX}static/like.cb492460.svg`,\n LIVE_SESSION: `${PREFIX}static/live-session.a0d25c78.svg`,\n LIVE_SESSION_BLUE: `${PREFIX}static/live-session-blue.ec7fa85f.svg`,\n LOADER: `${PREFIX}static/loader.52f8c35c.svg`,\n LOADER_1: `${PREFIX}static/loader-1.6524355e.svg`,\n LOCKED: `${PREFIX}static/locked.0c3b7577.svg`,\n MAINTENANCE: `${PREFIX}static/maintenance.a26aca65.svg`,\n MALE_AVATAR: `${PREFIX}static/male-avatar.2febc9eb.svg`,\n MAR: `${PREFIX}static/mar.f8b372ef.svg`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.81f156fb.svg`,\n MASTERED_SHIELD_GRAY: `${PREFIX}static/mastered-shield-gray.a58cbe19.svg`,\n MASTERED_SHIELD_GREEN: `${PREFIX}static/mastered-shield-green.070fa4eb.svg`,\n MATH_FIT_BG: `${PREFIX}static/math-fit-bg.4bfa3244.svg`,\n MATH_FIT_CARD_BG: `${PREFIX}static/math-fit-card-bg.20c826bb.svg`,\n MATH_FIT_GREY: `${PREFIX}static/math-fit-grey.c32f37b3.svg`,\n MAY: `${PREFIX}static/may.23adae48.svg`,\n MENTAL_MATH: `${PREFIX}static/mental-math.3c95f169.svg`,\n MILESTONE_INTRO_1: `${PREFIX}static/milestone-intro-1.281a354c.svg`,\n MILESTONE_INTRO_2: `${PREFIX}static/milestone-intro-2.19faee69.svg`,\n MILESTONE_INTRO_3: `${PREFIX}static/milestone-intro-3.6f6055d6.svg`,\n MISTAKE: `${PREFIX}static/mistake.476d1aa7.svg`,\n MONEY: `${PREFIX}static/money.332aacf1.svg`,\n MYSTERY: `${PREFIX}static/mystery.81ada5fb.svg`,\n MYTHIC: `${PREFIX}static/mythic.58ba0ae0.svg`,\n NODE_ACTIVITY_BG: `${PREFIX}static/node-activity-bg.122f7e01.svg`,\n NODE_ACTIVITY_LARGE_BG: `${PREFIX}static/node-activity-large-bg.369e64ee.svg`,\n NODE_CHALLENGE_ARENA_LARGE_BG: `${PREFIX}static/node-challenge-arena-large-bg.e04bccf4.svg`,\n NODE_CUSTOM_TEST_BG: `${PREFIX}static/node-custom-test-bg.d3b757be.svg`,\n NODE_DOWNLOAD_BG: `${PREFIX}static/node-download-bg.b8367de7.svg`,\n NODE_DOWNLOAD_LARGE_BG: `${PREFIX}static/node-download-large-bg.8cfb21ef.svg`,\n NODE_LEARN_BG: `${PREFIX}static/node-learn-bg.b61f815c.svg`,\n NODE_LEARN_LARGE_BG: `${PREFIX}static/node-learn-large-bg.faa03631.svg`,\n NODE_PRACTICE_BG: `${PREFIX}static/node-practice-bg.16cbaf2a.svg`,\n NODE_PROJECT_BG: `${PREFIX}static/node-project-bg.e6a33e28.svg`,\n NODE_PROJECT_LARGE_BG: `${PREFIX}static/node-project-large-bg.dc4e615f.svg`,\n NODE_PUZZLE_BG: `${PREFIX}static/node-puzzle-bg.3422135c.svg`,\n NODE_PUZZLE_LARGE_BG: `${PREFIX}static/node-puzzle-large-bg.ba23382e.svg`,\n NODE_RECAP_BG: `${PREFIX}static/node-recap-bg.546154e4.svg`,\n NODE_RECAP_LARGE_BG: `${PREFIX}static/node-recap-large-bg.eab915ad.svg`,\n NODE_SUBJECTIVE_BG: `${PREFIX}static/node-subjective-bg.d6013a16.svg`,\n NODE_SUBJECTIVE_LARGE_BG: `${PREFIX}static/node-subjective-large-bg.4f6b61e9.svg`,\n NODE_TEST_LARGE_BG: `${PREFIX}static/node-test-large-bg.e9120fd1.svg`,\n NODE_TEST_PREP_BG: `${PREFIX}static/node-test-prep-bg.42c0b9c4.svg`,\n NODE_VIDEO_BG: `${PREFIX}static/node-video-bg.3df3f73a.svg`,\n NODE_VIDEO_LARGE_BG: `${PREFIX}static/node-video-large-bg.49ae971d.svg`,\n NOV: `${PREFIX}static/nov.c44e4739.svg`,\n NO_ACTIVITY: `${PREFIX}static/no-activity.0451dcbb.svg`,\n NO_REPORT: `${PREFIX}static/no-report.4158fad3.svg`,\n NUMBER_1_ORANGE: `${PREFIX}static/number-1-orange.cbf526ed.svg`,\n NUMBER_2_ORANGE: `${PREFIX}static/number-2-orange.6f29eb72.svg`,\n NUMBER_3_ORANGE: `${PREFIX}static/number-3-orange.58baf717.svg`,\n NUMBER_4_ORANGE: `${PREFIX}static/number-4-orange.5ed1ec5e.svg`,\n OCT: `${PREFIX}static/oct.856b3b3f.svg`,\n ONE_STAR_FILLED: `${PREFIX}static/one-star-filled.b6084257.svg`,\n OPENED_BOOK_GREEN: `${PREFIX}static/opened-book-green.faacda34.svg`,\n ORANGE_FACE: `${PREFIX}static/orange-face.5824c2e9.svg`,\n PARENT_AVATAR: `${PREFIX}static/parent-avatar.822c7b9b.svg`,\n PATTERN_CUBES: `${PREFIX}static/pattern-cubes.113d8dda.svg`,\n PATTERN_DIAMOND: `${PREFIX}static/pattern-diamond.a51b202c.svg`,\n PATTERN_HONEYCOMB: `${PREFIX}static/pattern-honeycomb.ed7ad26a.svg`,\n PEOPLE_WITH_ORANGE_FILL: `${PREFIX}static/people-with-orange-fill.3835b8f1.svg`,\n PERCENTAGE_PATTERN_YELLOW: `${PREFIX}static/percentage-pattern-yellow.6a25e820.svg`,\n PERSONALIZATION: `${PREFIX}static/personalization.7a6c33e8.svg`,\n PI_ORANGE: `${PREFIX}static/pi-orange.132b108d.svg`,\n PLATFORM_GREEN: `${PREFIX}static/platform-green.eb853207.svg`,\n PLATFORM_PURPLE: `${PREFIX}static/platform-purple.ecf6fa46.svg`,\n PLAY: `${PREFIX}static/play.68d16dec.svg`,\n PLAY_ICON: `${PREFIX}static/play-icon.13baaa7d.svg`,\n POINTS_BADGE: `${PREFIX}static/points-badge.96bdecc9.svg`,\n POINTS_SUM: `${PREFIX}static/points-sum.360e63de.svg`,\n PRACTICED_SHIELD_GREEN: `${PREFIX}static/practiced-shield-green.90278855.svg`,\n PRACTICED_SHIELD_GREY: `${PREFIX}static/practiced-shield-grey.16cf4fe0.svg`,\n PROFICIENT_BADGE: `${PREFIX}static/proficient-badge.1a6dbb72.svg`,\n PROFILE_BOARD: `${PREFIX}static/profile-board.4f4a17e6.svg`,\n PROGRESS_BAR_PURPLE: `${PREFIX}static/progress_bar_purple.2ff4dfe2.svg`,\n PTM_REPORT_ICON: `${PREFIX}static/ptm-report-icon.5089218f.svg`,\n PUZZLE: `${PREFIX}static/puzzle.5aad5cf8.svg`,\n PUZZLE_DASHBOARD_BANNER: `${PREFIX}static/puzzle-dashboard-banner.b7956519.svg`,\n PUZZLE_PATTERN_BLUE: `${PREFIX}static/puzzle-pattern-blue.abff0164.svg`,\n PUZZLE_PATTERN_GREEN: `${PREFIX}static/puzzle-pattern-green.b8ba1840.svg`,\n PUZZLE_PATTERN_ORANGE: `${PREFIX}static/puzzle-pattern-orange.3f5a17ff.svg`,\n PUZZLE_PATTERN_PURPLE: `${PREFIX}static/puzzle-pattern-purple.14b09759.svg`,\n PUZZLE_PATTERN_YELLOW: `${PREFIX}static/puzzle-pattern-yellow.50917fab.svg`,\n PUZZLE_PURPLE: `${PREFIX}static/puzzle-purple.60ff4884.svg`,\n PUZZLE_STUDENT: `${PREFIX}static/puzzle-student.de530364.svg`,\n QUESTION_MARK_BLUE: `${PREFIX}static/question-mark-blue.b6a7f37d.svg`,\n QUESTION_MARK_YELLOW: `${PREFIX}static/question-mark-yellow.1925aa04.svg`,\n RADIAL_GRADIENT_BG: `${PREFIX}static/radial-gradient-bg.5ae0cde5.svg`,\n RADIAL_GRADIENT_BG_2: `${PREFIX}static/radial-gradient-bg-2.6657c758.svg`,\n RARE: `${PREFIX}static/rare.1ffaa311.svg`,\n REFUND_POLICY: `${PREFIX}static/refund-policy.912dbb4c.svg`,\n REFUND_POLICY_WITH_HEADPHONE: `${PREFIX}static/refund-policy-with-headphone.589398e0.svg`,\n RENEWAL_BLUE: `${PREFIX}static/renewal-blue.1ab3b2d4.svg`,\n REPORT_404: `${PREFIX}static/report-404.dd67785c.svg`,\n ROCKET_BROKEN: `${PREFIX}static/rocket-broken.1f86fa43.svg`,\n ROCKET_YELLOW: `${PREFIX}static/rocket-yellow.62d27e15.svg`,\n SAT_REPORT_ICON: `${PREFIX}static/sat-report-icon.4331be86.svg`,\n SCIENCE_REPORT_ICON: `${PREFIX}static/science-report-icon.a0014c40.svg`,\n SCORE: `${PREFIX}static/score.41971107.svg`,\n SEP: `${PREFIX}static/sep.2d547b31.svg`,\n SMILEY: `${PREFIX}static/smiley.49bb7d7c.svg`,\n STAR_BADGE: `${PREFIX}static/star-badge.5450c267.svg`,\n STAR_ORANGE: `${PREFIX}static/star-orange.a91a341f.svg`,\n STAR_ORANGE_FILLED: `${PREFIX}static/star-orange-filled.a7ff9c8f.svg`,\n STAR_OUTLINED: `${PREFIX}static/star-outlined.bde83c7c.svg`,\n STAR_WITH_GREEN_FILL: `${PREFIX}static/star-with-green-fill.86877d41.svg`,\n STREAK_GREEN: `${PREFIX}static/streak-green.b59bf4dd.svg`,\n STREAK_WHITE: `${PREFIX}static/streak-white.2cbdc9b8.svg`,\n STRIPE_BLURPLE: `${PREFIX}static/stripe-blurple.7f233048.svg`,\n STUDENT_AVATAR: `${PREFIX}static/student-avatar.24bc2875.svg`,\n TEST_DIFFICULTY_EASY: `${PREFIX}static/test-difficulty-easy.56df71dd.svg`,\n TEST_DIFFICULTY_HARD: `${PREFIX}static/test-difficulty-hard.7250f1f4.svg`,\n TEST_DIFFICULTY_MEDIUM: `${PREFIX}static/test-difficulty-medium.2fd9686e.svg`,\n THREE_STARS_FILLED: `${PREFIX}static/three-stars-filled.72b51f03.svg`,\n THUMBS_UP_GREEN: `${PREFIX}static/thumbs-up-green.6a03b9d2.svg`,\n THUMPS_DOWN: `${PREFIX}static/thumps-down.a1192a62.svg`,\n THUMPS_UP: `${PREFIX}static/thumps-up.caa35a98.svg`,\n TICK_GREEN: `${PREFIX}static/tick-green.a1654049.svg`,\n TIME_PURPLE: `${PREFIX}static/time-purple.ab1a458d.svg`,\n TROPHY_BLUE: `${PREFIX}static/trophy-blue.e684ba4c.svg`,\n TROPHY_BLUE_FILLED: `${PREFIX}static/trophy-blue-filled.7e2b40ab.svg`,\n TROPHY_CIRCLE: `${PREFIX}static/trophy-circle.b7b23e36.svg`,\n TROPHY_GREEN: `${PREFIX}static/trophy-green.6c0741c8.svg`,\n TROPHY_OUTLINED: `${PREFIX}static/trophy-outlined.f946b362.svg`,\n TRUSTPILOT: `${PREFIX}static/trustpilot.bd3d79e1.svg`,\n TRUSTPILOT_BLACK: `${PREFIX}static/trustpilot-black.3878bb6f.svg`,\n TWO_STARS_FILLED: `${PREFIX}static/two-stars-filled.a51a14b4.svg`,\n UP_ARROW: `${PREFIX}static/up-arrow.a6946bd3.svg`,\n UP_ARROW_BADGE: `${PREFIX}static/up-arrow-badge.71fe7ad1.svg`,\n USER_CROWN_GRID_BACKGROUND: `${PREFIX}static/user-crown-grid-background.c2875a73.svg`,\n USER_DOWN: `${PREFIX}static/user-down.a06f2f94.svg`,\n USER_PIN: `${PREFIX}static/user-pin.5f334465.svg`,\n USER_PROFILE_BACKGROUND: `${PREFIX}static/user-profile-background.199977a9.svg`,\n USER_TYPE_SELECTOR_GRID_BG: `${PREFIX}static/user-type-selector-grid-bg.aad0b059.svg`,\n USER_UP: `${PREFIX}static/user-up.2aecbbae.svg`,\n YELLOW_FACE: `${PREFIX}static/yellow-face.b7525a33.svg`,\n};\n\nexport { ILLUSTRATIONS };\n"],"names":["PREFIX","ILLUSTRATIONS"],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
+ import { memo as c, useState as u, useCallback as h, useEffect as m } from "react";
3
+ import { ILLUSTRATIONS as $ } from "../../../assets/illustrations/illustrations.js";
4
+ import g from "../../ui/modals/use-modal-actions.js";
5
+ import r from "../../ui/text/text.js";
6
+ import f from "../../ui/image/image.js";
7
+ import o from "../../ui/layout/flex-view.js";
8
+ import p from "../../ui/buttons/button/button.js";
9
+ import n from "../../ui/separator/separator.js";
10
+ const A = c(function() {
11
+ const { closeModal: i } = g(), [L, l] = u(10), t = h(() => {
12
+ i();
13
+ }, [i]);
14
+ return m(() => {
15
+ const s = setInterval(() => {
16
+ l((a) => a <= 1 ? (t(), 0) : a - 1);
17
+ }, 1e5);
18
+ return () => clearInterval(s);
19
+ }, [t]), /* @__PURE__ */ d(o, { $gapX: 1.5, $gutterX: 1.5, $background: "RED_1", children: [
20
+ /* @__PURE__ */ e(
21
+ o,
22
+ {
23
+ $justifyContent: "center",
24
+ $alignItems: "center",
25
+ $borderRadiusX: 4,
26
+ $heightX: 4.5,
27
+ $widthX: 4.5,
28
+ $background: "RED_2",
29
+ children: /* @__PURE__ */ e(
30
+ o,
31
+ {
32
+ $justifyContent: "center",
33
+ $alignItems: "center",
34
+ $borderRadiusX: 4,
35
+ $heightX: 3.5,
36
+ $widthX: 3.5,
37
+ $background: "RED_4",
38
+ children: /* @__PURE__ */ e(f, { src: $.ALERT_BULB, alt: "Fraud Alert", height: 40, width: 40 })
39
+ }
40
+ )
41
+ }
42
+ ),
43
+ /* @__PURE__ */ e(n, { heightX: 2 }),
44
+ /* @__PURE__ */ e(r, { $renderAs: "ah4-bold", $color: "RED_6", children: "Fraudulent Login Detected!" }),
45
+ /* @__PURE__ */ e(n, { height: 12 }),
46
+ /* @__PURE__ */ d(r, { $renderAs: "ub2", color: "BLACK_1", children: [
47
+ "You have logged into a student's LEAP account, which is strictly prohibited. This is considered",
48
+ " ",
49
+ /* @__PURE__ */ e(r, { as: "span", $renderAs: "ub2-bold", color: "BLACK_1", $inline: !0, children: "fraudulent activity" }),
50
+ " ",
51
+ "and may result in strict action, including a",
52
+ " ",
53
+ /* @__PURE__ */ e(r, { as: "span", $renderAs: "ub2-bold", color: "BLACK_1", $inline: !0, children: "heavy penalty" }),
54
+ " ",
55
+ "or",
56
+ " ",
57
+ /* @__PURE__ */ e(r, { as: "span", $renderAs: "ub2-bold", color: "BLACK_1", $inline: !0, children: "discontinuation" }),
58
+ " ",
59
+ "from conducting Cuemath classes."
60
+ ] }),
61
+ /* @__PURE__ */ e(n, { heightX: 2 }),
62
+ /* @__PURE__ */ e(
63
+ p,
64
+ {
65
+ renderAs: "primary",
66
+ alignSelf: "flex-end",
67
+ shape: "square",
68
+ onClick: t,
69
+ label: "Log out",
70
+ width: "50%"
71
+ }
72
+ )
73
+ ] });
74
+ }), x = A;
75
+ export {
76
+ x as default
77
+ };
78
+ //# sourceMappingURL=fraud-alert-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fraud-alert-modal.js","sources":["../../../../src/features/fraud-detection/fraud-alert-modal/fraud-alert-modal.tsx"],"sourcesContent":["/**\n * Fraud Alert Modal Component\n * Displays fraud detection details and auto-logout countdown\n */\n\nimport { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport useModalActions from '../../ui/modals/use-modal-actions';\nimport Text from '../../ui/text/text';\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Button from '../../ui/buttons/button/button';\nimport Separator from '../../ui/separator/separator';\n\nconst FraudAlertModal: FC = memo(function FraudAlertModal() {\n const { closeModal } = useModalActions();\n const [countdown, setCountdown] = useState(10); // 10 seconds countdown\n\n const handleLogout = useCallback(() => {\n closeModal();\n }, [closeModal]);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setCountdown(prev => {\n if (prev <= 1) {\n handleLogout();\n\n return 0;\n }\n\n return prev - 1;\n });\n }, 100000);\n\n return () => clearInterval(timer);\n }, [handleLogout]);\n\n return (\n <FlexView $gapX={1.5} $gutterX={1.5} $background=\"RED_1\">\n <FlexView\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $borderRadiusX={4}\n $heightX={4.5}\n $widthX={4.5}\n $background=\"RED_2\"\n >\n <FlexView\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $borderRadiusX={4}\n $heightX={3.5}\n $widthX={3.5}\n $background=\"RED_4\"\n >\n <Image src={ILLUSTRATIONS.ALERT_BULB} alt=\"Fraud Alert\" height={40} width={40} />\n </FlexView>\n </FlexView>\n <Separator heightX={2} />\n <Text $renderAs=\"ah4-bold\" $color=\"RED_6\">\n Fraudulent Login Detected!\n </Text>\n <Separator height={12} />\n <Text $renderAs=\"ub2\" color=\"BLACK_1\">\n You have logged into a student's LEAP account, which is strictly prohibited. This is\n considered{' '}\n <Text as=\"span\" $renderAs=\"ub2-bold\" color=\"BLACK_1\" $inline>\n fraudulent activity\n </Text>{' '}\n and may result in strict action, including a{' '}\n <Text as=\"span\" $renderAs=\"ub2-bold\" color=\"BLACK_1\" $inline>\n heavy penalty\n </Text>{' '}\n or{' '}\n <Text as=\"span\" $renderAs=\"ub2-bold\" color=\"BLACK_1\" $inline>\n discontinuation\n </Text>{' '}\n from conducting Cuemath classes.\n </Text>\n <Separator heightX={2} />\n <Button\n renderAs=\"primary\"\n alignSelf=\"flex-end\"\n shape=\"square\"\n onClick={handleLogout}\n label=\"Log out\"\n width=\"50%\"\n />\n </FlexView>\n );\n});\n\nexport default FraudAlertModal;\n"],"names":["FraudAlertModal","memo","closeModal","useModalActions","countdown","setCountdown","useState","handleLogout","useCallback","useEffect","timer","prev","FlexView","jsx","Image","ILLUSTRATIONS","Separator","Text","jsxs","Button","FraudAlertModal$1"],"mappings":";;;;;;;;;AAeA,MAAMA,IAAsBC,EAAK,WAA2B;AACpD,QAAA,EAAE,YAAAC,MAAeC,KACjB,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAE,GAEvCC,IAAeC,EAAY,MAAM;AAC1B,IAAAN;EAAA,GACV,CAACA,CAAU,CAAC;AAEf,SAAAO,EAAU,MAAM;AACR,UAAAC,IAAQ,YAAY,MAAM;AAC9B,MAAAL,EAAa,CAAQM,MACfA,KAAQ,KACGJ,KAEN,KAGFI,IAAO,CACf;AAAA,OACA,GAAM;AAEF,WAAA,MAAM,cAAcD,CAAK;AAAA,EAAA,GAC/B,CAACH,CAAY,CAAC,qBAGdK,GAAS,EAAA,OAAO,KAAK,UAAU,KAAK,aAAY,SAC/C,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACD;AAAA,MAAA;AAAA,QACC,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,aAAY;AAAA,QAEZ,UAAA,gBAAAC;AAAA,UAACD;AAAA,UAAA;AAAA,YACC,iBAAgB;AAAA,YAChB,aAAY;AAAA,YACZ,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,SAAS;AAAA,YACT,aAAY;AAAA,YAEZ,UAAA,gBAAAC,EAACC,GAAM,EAAA,KAAKC,EAAc,YAAY,KAAI,eAAc,QAAQ,IAAI,OAAO,GAAI,CAAA;AAAA,UAAA;AAAA,QACjF;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAF,EAACG,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,sBACtBC,GAAK,EAAA,WAAU,YAAW,QAAO,SAAQ,UAE1C,8BAAA;AAAA,IACA,gBAAAJ,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACtB,gBAAAE,EAAAD,GAAA,EAAK,WAAU,OAAM,OAAM,WAAU,UAAA;AAAA,MAAA;AAAA,MAEzB;AAAA,MACX,gBAAAJ,EAACI,GAAK,EAAA,IAAG,QAAO,WAAU,YAAW,OAAM,WAAU,SAAO,IAAC,UAE7D,sBAAA,CAAA;AAAA,MAAQ;AAAA,MAAI;AAAA,MACiC;AAAA,MAC7C,gBAAAJ,EAACI,GAAK,EAAA,IAAG,QAAO,WAAU,YAAW,OAAM,WAAU,SAAO,IAAC,UAE7D,gBAAA,CAAA;AAAA,MAAQ;AAAA,MAAI;AAAA,MACT;AAAA,MACH,gBAAAJ,EAACI,GAAK,EAAA,IAAG,QAAO,WAAU,YAAW,OAAM,WAAU,SAAO,IAAC,UAE7D,kBAAA,CAAA;AAAA,MAAQ;AAAA,MAAI;AAAA,IAAA,GAEd;AAAA,IACA,gBAAAJ,EAACG,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,IACvB,gBAAAH;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,WAAU;AAAA,QACV,OAAM;AAAA,QACN,SAASZ;AAAA,QACT,OAAM;AAAA,QACN,OAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAEDa,IAAepB;"}
@@ -0,0 +1,28 @@
1
+ const o = (n) => {
2
+ const e = Object.keys(n).sort().map((r) => `${r}:${n[r]}`).join("|");
3
+ let t = 5381;
4
+ for (let r = 0; r < e.length; r++)
5
+ t = t * 33 ^ e.charCodeAt(r);
6
+ return Math.abs(t).toString(36);
7
+ }, a = (n) => {
8
+ const e = {
9
+ screen: `${window.screen.width}x${window.screen.height}`,
10
+ timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
11
+ platform: navigator.platform,
12
+ userAgent: navigator.userAgent
13
+ };
14
+ return "deviceMemory" in navigator && (e.deviceMemory = navigator.deviceMemory), "hardwareConcurrency" in navigator && (e.hardwareConcurrency = navigator.hardwareConcurrency), {
15
+ fingerprint: o(e),
16
+ screen: e.screen,
17
+ timezone: e.timezone,
18
+ platform: e.platform,
19
+ userAgent: e.userAgent,
20
+ deviceMemory: e.deviceMemory,
21
+ hardwareConcurrency: e.hardwareConcurrency,
22
+ ip_address: n
23
+ };
24
+ };
25
+ export {
26
+ a as generateDeviceFingerprint
27
+ };
28
+ //# sourceMappingURL=device-fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-fingerprint.js","sources":["../../../../src/features/fraud-detection/utils/device-fingerprint.ts"],"sourcesContent":["/**\n * Device fingerprinting utility for fraud detection and session tracking.\n * Generates a unique fingerprint based on device and browser characteristics.\n */\n\nimport type { IDeviceFingerprint } from './fraud-detection-types';\n\n/**\n * Create a hash from component values using djb2 hash algorithm.\n */\nconst hashComponents = (components: Record<string, unknown>): string => {\n const str = Object.keys(components)\n .sort()\n .map(key => `${key}:${components[key]}`)\n .join('|');\n\n let hash = 5381;\n\n for (let i = 0; i < str.length; i++) {\n hash = (hash * 33) ^ str.charCodeAt(i);\n }\n\n return Math.abs(hash).toString(36);\n};\n\n/**\n * Generate a device fingerprint based on browser and device characteristics.\n * Only collects properties used for fraud detection.\n */\nexport const generateDeviceFingerprint = (ipAddress: string): IDeviceFingerprint => {\n const components: Record<string, unknown> = {\n screen: `${window.screen.width}x${window.screen.height}`,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n platform: navigator.platform,\n userAgent: navigator.userAgent,\n };\n\n if ('deviceMemory' in navigator) {\n components.deviceMemory = (navigator as Navigator & { deviceMemory?: number }).deviceMemory;\n }\n\n if ('hardwareConcurrency' in navigator) {\n components.hardwareConcurrency = navigator.hardwareConcurrency;\n }\n\n const fingerprint = hashComponents(components);\n\n return {\n fingerprint,\n screen: components.screen as string,\n timezone: components.timezone as string,\n platform: components.platform as string,\n userAgent: components.userAgent as string,\n deviceMemory: components.deviceMemory as number | undefined,\n hardwareConcurrency: components.hardwareConcurrency as number | undefined,\n ip_address: ipAddress,\n };\n};\n"],"names":["hashComponents","components","str","key","hash","i","generateDeviceFingerprint","ipAddress"],"mappings":"AAUA,MAAMA,IAAiB,CAACC,MAAgD;AACtE,QAAMC,IAAM,OAAO,KAAKD,CAAU,EAC/B,OACA,IAAI,CAAAE,MAAO,GAAGA,CAAG,IAAIF,EAAWE,CAAG,CAAC,EAAE,EACtC,KAAK,GAAG;AAEX,MAAIC,IAAO;AAEX,WAASC,IAAI,GAAGA,IAAIH,EAAI,QAAQG;AAC9B,IAAAD,IAAQA,IAAO,KAAMF,EAAI,WAAWG,CAAC;AAGvC,SAAO,KAAK,IAAID,CAAI,EAAE,SAAS,EAAE;AACnC,GAMaE,IAA4B,CAACC,MAA0C;AAClF,QAAMN,IAAsC;AAAA,IAC1C,QAAQ,GAAG,OAAO,OAAO,KAAK,IAAI,OAAO,OAAO,MAAM;AAAA,IACtD,UAAU,KAAK,iBAAiB,gBAAkB,EAAA;AAAA,IAClD,UAAU,UAAU;AAAA,IACpB,WAAW,UAAU;AAAA,EAAA;AAGvB,SAAI,kBAAkB,cACpBA,EAAW,eAAgB,UAAoD,eAG7E,yBAAyB,cAC3BA,EAAW,sBAAsB,UAAU,sBAKtC;AAAA,IACL,aAHkBD,EAAeC,CAAU;AAAA,IAI3C,QAAQA,EAAW;AAAA,IACnB,UAAUA,EAAW;AAAA,IACrB,UAAUA,EAAW;AAAA,IACrB,WAAWA,EAAW;AAAA,IACtB,cAAcA,EAAW;AAAA,IACzB,qBAAqBA,EAAW;AAAA,IAChC,YAAYM;AAAA,EAAA;AAEhB;"}
@@ -0,0 +1,38 @@
1
+ const s = (e, r) => {
2
+ const a = e.userAgent.toLowerCase();
3
+ let n = "unknown";
4
+ return a.includes("chrome") && !a.includes("edg") ? n = "chrome" : a.includes("safari") && !a.includes("chrome") ? n = "safari" : a.includes("firefox") ? n = "firefox" : a.includes("edg") && (n = "edge"), {
5
+ ip_address: r,
6
+ screen: e.screen,
7
+ platform: e.platform,
8
+ timezone: e.timezone,
9
+ deviceMemory: e.deviceMemory,
10
+ hardwareConcurrency: e.hardwareConcurrency,
11
+ userAgentBase: n
12
+ };
13
+ }, c = (e, r) => !(e.ip_address !== r.ip_address || e.ip_address === "unknown" || e.screen !== r.screen || e.platform !== r.platform || e.timezone !== r.timezone || e.deviceMemory && r.deviceMemory && e.deviceMemory !== r.deviceMemory || e.hardwareConcurrency && r.hardwareConcurrency && e.hardwareConcurrency !== r.hardwareConcurrency), d = (e, r) => {
14
+ let a = 0;
15
+ const n = {
16
+ ip_address: 30,
17
+ // IP is strong indicator
18
+ screen: 20,
19
+ // Screen resolution is unique
20
+ platform: 15,
21
+ // Platform is important
22
+ timezone: 10,
23
+ // Timezone helps
24
+ deviceMemory: 10,
25
+ // Hardware specs
26
+ hardwareConcurrency: 10,
27
+ // CPU cores
28
+ userAgentBase: 5
29
+ // Browser family (less important)
30
+ };
31
+ return e.ip_address === r.ip_address && e.ip_address !== "unknown" && (a += n.ip_address), e.screen === r.screen && (a += n.screen), e.platform === r.platform && (a += n.platform), e.timezone === r.timezone && (a += n.timezone), e.deviceMemory && r.deviceMemory && e.deviceMemory === r.deviceMemory && (a += n.deviceMemory), e.hardwareConcurrency && r.hardwareConcurrency && e.hardwareConcurrency === r.hardwareConcurrency && (a += n.hardwareConcurrency), e.userAgentBase === r.userAgentBase && (a += n.userAgentBase), a;
32
+ };
33
+ export {
34
+ s as extractHardwareProfile,
35
+ d as getHardwareComparison,
36
+ c as matchesCriticalHardware
37
+ };
38
+ //# sourceMappingURL=hardware-profile-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardware-profile-matcher.js","sources":["../../../../src/features/fraud-detection/utils/hardware-profile-matcher.ts"],"sourcesContent":["/**\n * Hardware profile matching utility for detecting same physical device\n * across different browsers, incognito modes, or user profiles.\n *\n * Focuses on hardware characteristics that remain constant on the same device:\n * - IP address\n * - Screen resolution\n * - Platform (OS)\n * - Timezone\n * - Hardware specs (memory, CPU cores)\n * - User agent base (ignore version numbers)\n */\n\nimport type { IDeviceFingerprint, IHardwareProfile } from './fraud-detection-types';\n\n/**\n * Extract hardware profile from device fingerprint\n */\nexport const extractHardwareProfile = (\n fingerprint: IDeviceFingerprint,\n ipAddress: string,\n): IHardwareProfile => {\n // Extract browser name without version\n const userAgent = fingerprint.userAgent.toLowerCase();\n let userAgentBase = 'unknown';\n\n if (userAgent.includes('chrome') && !userAgent.includes('edg')) {\n userAgentBase = 'chrome';\n } else if (userAgent.includes('safari') && !userAgent.includes('chrome')) {\n userAgentBase = 'safari';\n } else if (userAgent.includes('firefox')) {\n userAgentBase = 'firefox';\n } else if (userAgent.includes('edg')) {\n userAgentBase = 'edge';\n }\n\n return {\n ip_address: ipAddress,\n screen: fingerprint.screen,\n platform: fingerprint.platform,\n timezone: fingerprint.timezone,\n deviceMemory: fingerprint.deviceMemory,\n hardwareConcurrency: fingerprint.hardwareConcurrency,\n userAgentBase,\n };\n};\n\n/**\n * Check if profiles match on critical hardware fields\n * These fields must ALL match for same device detection\n */\nexport const matchesCriticalHardware = (\n profile1: IHardwareProfile,\n profile2: IHardwareProfile,\n): boolean => {\n // Must have same IP\n if (profile1.ip_address !== profile2.ip_address || profile1.ip_address === 'unknown') {\n return false;\n }\n\n // Must have same screen resolution\n if (profile1.screen !== profile2.screen) {\n return false;\n }\n\n // Must have same platform\n if (profile1.platform !== profile2.platform) {\n return false;\n }\n\n // Must have same timezone\n if (profile1.timezone !== profile2.timezone) {\n return false;\n }\n\n // If both have hardware specs, they must match\n if (profile1.deviceMemory && profile2.deviceMemory) {\n if (profile1.deviceMemory !== profile2.deviceMemory) {\n return false;\n }\n }\n\n if (profile1.hardwareConcurrency && profile2.hardwareConcurrency) {\n if (profile1.hardwareConcurrency !== profile2.hardwareConcurrency) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Get detailed comparison for logging/debugging\n */\nexport const getHardwareComparison = (\n profile1: IHardwareProfile,\n profile2: IHardwareProfile,\n): number => {\n let score = 0;\n const weights = {\n ip_address: 30, // IP is strong indicator\n screen: 20, // Screen resolution is unique\n platform: 15, // Platform is important\n timezone: 10, // Timezone helps\n deviceMemory: 10, // Hardware specs\n hardwareConcurrency: 10, // CPU cores\n userAgentBase: 5, // Browser family (less important)\n };\n\n // IP address (exact match)\n if (profile1.ip_address === profile2.ip_address && profile1.ip_address !== 'unknown') {\n score += weights.ip_address;\n }\n\n // Screen resolution (exact match)\n if (profile1.screen === profile2.screen) {\n score += weights.screen;\n }\n\n // Platform (exact match)\n if (profile1.platform === profile2.platform) {\n score += weights.platform;\n }\n\n // Timezone (exact match)\n if (profile1.timezone === profile2.timezone) {\n score += weights.timezone;\n }\n\n // Device memory (exact match)\n if (\n profile1.deviceMemory &&\n profile2.deviceMemory &&\n profile1.deviceMemory === profile2.deviceMemory\n ) {\n score += weights.deviceMemory;\n }\n\n // Hardware concurrency (exact match)\n if (\n profile1.hardwareConcurrency &&\n profile2.hardwareConcurrency &&\n profile1.hardwareConcurrency === profile2.hardwareConcurrency\n ) {\n score += weights.hardwareConcurrency;\n }\n\n // User agent base (same browser family)\n if (profile1.userAgentBase === profile2.userAgentBase) {\n score += weights.userAgentBase;\n }\n\n return score;\n};\n"],"names":["extractHardwareProfile","fingerprint","ipAddress","userAgent","userAgentBase","matchesCriticalHardware","profile1","profile2","getHardwareComparison","score","weights"],"mappings":"AAkBa,MAAAA,IAAyB,CACpCC,GACAC,MACqB;AAEf,QAAAC,IAAYF,EAAY,UAAU,YAAY;AACpD,MAAIG,IAAgB;AAEhB,SAAAD,EAAU,SAAS,QAAQ,KAAK,CAACA,EAAU,SAAS,KAAK,IAC3CC,IAAA,WACPD,EAAU,SAAS,QAAQ,KAAK,CAACA,EAAU,SAAS,QAAQ,IACrDC,IAAA,WACPD,EAAU,SAAS,SAAS,IACrBC,IAAA,YACPD,EAAU,SAAS,KAAK,MACjBC,IAAA,SAGX;AAAA,IACL,YAAYF;AAAA,IACZ,QAAQD,EAAY;AAAA,IACpB,UAAUA,EAAY;AAAA,IACtB,UAAUA,EAAY;AAAA,IACtB,cAAcA,EAAY;AAAA,IAC1B,qBAAqBA,EAAY;AAAA,IACjC,eAAAG;AAAA,EAAA;AAEJ,GAMaC,IAA0B,CACrCC,GACAC,MAGI,EAAAD,EAAS,eAAeC,EAAS,cAAcD,EAAS,eAAe,aAKvEA,EAAS,WAAWC,EAAS,UAK7BD,EAAS,aAAaC,EAAS,YAK/BD,EAAS,aAAaC,EAAS,YAK/BD,EAAS,gBAAgBC,EAAS,gBAChCD,EAAS,iBAAiBC,EAAS,gBAKrCD,EAAS,uBAAuBC,EAAS,uBACvCD,EAAS,wBAAwBC,EAAS,sBAWrCC,IAAwB,CACnCF,GACAC,MACW;AACX,MAAIE,IAAQ;AACZ,QAAMC,IAAU;AAAA,IACd,YAAY;AAAA;AAAA,IACZ,QAAQ;AAAA;AAAA,IACR,UAAU;AAAA;AAAA,IACV,UAAU;AAAA;AAAA,IACV,cAAc;AAAA;AAAA,IACd,qBAAqB;AAAA;AAAA,IACrB,eAAe;AAAA;AAAA,EAAA;AAIjB,SAAIJ,EAAS,eAAeC,EAAS,cAAcD,EAAS,eAAe,cACzEG,KAASC,EAAQ,aAIfJ,EAAS,WAAWC,EAAS,WAC/BE,KAASC,EAAQ,SAIfJ,EAAS,aAAaC,EAAS,aACjCE,KAASC,EAAQ,WAIfJ,EAAS,aAAaC,EAAS,aACjCE,KAASC,EAAQ,WAKjBJ,EAAS,gBACTC,EAAS,gBACTD,EAAS,iBAAiBC,EAAS,iBAEnCE,KAASC,EAAQ,eAKjBJ,EAAS,uBACTC,EAAS,uBACTD,EAAS,wBAAwBC,EAAS,wBAE1CE,KAASC,EAAQ,sBAIfJ,EAAS,kBAAkBC,EAAS,kBACtCE,KAASC,EAAQ,gBAGZD;AACT;"}
@@ -0,0 +1,34 @@
1
+ import { useState as g, useMemo as h, useCallback as k, useEffect as D } from "react";
2
+ import { generateDeviceFingerprint as C } from "../../fraud-detection/utils/device-fingerprint.js";
3
+ import { extractHardwareProfile as u, getHardwareComparison as P, matchesCriticalHardware as v } from "../../fraud-detection/utils/hardware-profile-matcher.js";
4
+ const x = (f) => {
5
+ const { enabled: s = !1, deviceFingerprint: e, ipAddress: t } = f, [d, l] = g(!1), r = h(() => C(t || "unknown"), [t]), a = k(async () => {
6
+ if (r)
7
+ try {
8
+ let i = 0;
9
+ const p = 3;
10
+ for (; !e && i < p; )
11
+ await new Promise((F) => setTimeout(F, 500)), i++;
12
+ if (!e)
13
+ return;
14
+ const o = u(r, t || "unknown"), c = u(
15
+ e,
16
+ e.ip_address || "unknown"
17
+ ), m = P(o, c), w = v(o, c);
18
+ let n = !1;
19
+ (w || r.fingerprint === e.fingerprint || t === e.ip_address && t !== "unknown" && m.similarity > 70) && (n = !0), n && l(!0);
20
+ } catch (i) {
21
+ console.error("[FraudDetection] Error during fraud check:", i);
22
+ }
23
+ }, [e, r, t]);
24
+ return D(() => {
25
+ r && e && s && a();
26
+ }, [r, e, a, s]), {
27
+ isFraud: d,
28
+ deviceFingerprint: r
29
+ };
30
+ }, A = x;
31
+ export {
32
+ A as default
33
+ };
34
+ //# sourceMappingURL=use-fraud-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fraud-detection.js","sources":["../../../../src/features/hooks/use-fraud-detection/use-fraud-detection.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport type { IUseFraudDetection } from './use-fraud-detection-types';\nimport { generateDeviceFingerprint } from '../../fraud-detection/utils/device-fingerprint';\nimport {\n extractHardwareProfile,\n getHardwareComparison,\n matchesCriticalHardware,\n} from '../../fraud-detection/utils/hardware-profile-matcher';\n\nconst useFraudDetection: IUseFraudDetection = props => {\n const { enabled = false, deviceFingerprint, ipAddress } = props;\n const [isFraud, setIsFraud] = useState(false);\n const fp = useMemo(() => generateDeviceFingerprint(ipAddress || 'unknown'), [ipAddress]);\n\n const checkFraudDetection = useCallback(async () => {\n if (!fp) {\n return;\n }\n\n try {\n let attempts = 0;\n const maxAttempts = 3;\n\n while (!deviceFingerprint && attempts < maxAttempts) {\n await new Promise(resolve => setTimeout(resolve, 500));\n attempts++;\n }\n\n if (!deviceFingerprint) {\n return;\n }\n\n const studentProfile = extractHardwareProfile(fp, ipAddress || 'unknown');\n const teacherProfile = extractHardwareProfile(\n deviceFingerprint,\n deviceFingerprint.ip_address || 'unknown',\n );\n\n const comparison = getHardwareComparison(studentProfile, teacherProfile);\n const isCriticalMatch = matchesCriticalHardware(studentProfile, teacherProfile);\n\n let fraudDetected = false;\n\n if (isCriticalMatch) {\n fraudDetected = true;\n } else if (fp.fingerprint === deviceFingerprint.fingerprint) {\n fraudDetected = true;\n } else if (ipAddress === deviceFingerprint.ip_address && ipAddress !== 'unknown') {\n if (comparison.similarity > 70) {\n fraudDetected = true;\n }\n }\n\n if (fraudDetected) {\n setIsFraud(true);\n }\n } catch (error) {\n console.error('[FraudDetection] Error during fraud check:', error);\n }\n }, [deviceFingerprint, fp, ipAddress]);\n\n // Automatically run fraud detection when fingerprint and teacher fingerprint are both available\n useEffect(() => {\n if (fp && deviceFingerprint && enabled) {\n checkFraudDetection();\n }\n }, [fp, deviceFingerprint, checkFraudDetection, enabled]);\n\n return {\n isFraud,\n deviceFingerprint: fp,\n };\n};\n\nexport default useFraudDetection;\n"],"names":["useFraudDetection","props","enabled","deviceFingerprint","ipAddress","isFraud","setIsFraud","useState","fp","useMemo","generateDeviceFingerprint","checkFraudDetection","useCallback","attempts","maxAttempts","resolve","studentProfile","extractHardwareProfile","teacherProfile","comparison","getHardwareComparison","isCriticalMatch","matchesCriticalHardware","fraudDetected","error","useEffect","useFraudDetection$1"],"mappings":";;;AAUA,MAAMA,IAAwC,CAASC,MAAA;AACrD,QAAM,EAAE,SAAAC,IAAU,IAAO,mBAAAC,GAAmB,WAAAC,MAAcH,GACpD,CAACI,GAASC,CAAU,IAAIC,EAAS,EAAK,GACtCC,IAAKC,EAAQ,MAAMC,EAA0BN,KAAa,SAAS,GAAG,CAACA,CAAS,CAAC,GAEjFO,IAAsBC,EAAY,YAAY;AAClD,QAAKJ;AAID,UAAA;AACF,YAAIK,IAAW;AACf,cAAMC,IAAc;AAEb,eAAA,CAACX,KAAqBU,IAAWC;AACtC,gBAAM,IAAI,QAAQ,CAAAC,MAAW,WAAWA,GAAS,GAAG,CAAC,GACrDF;AAGF,YAAI,CAACV;AACH;AAGF,cAAMa,IAAiBC,EAAuBT,GAAIJ,KAAa,SAAS,GAClEc,IAAiBD;AAAA,UACrBd;AAAA,UACAA,EAAkB,cAAc;AAAA,QAAA,GAG5BgB,IAAaC,EAAsBJ,GAAgBE,CAAc,GACjEG,IAAkBC,EAAwBN,GAAgBE,CAAc;AAE9E,YAAIK,IAAgB;AAEpB,SAAIF,KAEOb,EAAG,gBAAgBL,EAAkB,eAErCC,MAAcD,EAAkB,cAAcC,MAAc,aACjEe,EAAW,aAAa,QACVI,IAAA,KAIhBA,KACFjB,EAAW,EAAI;AAAA,eAEVkB,GAAO;AACN,gBAAA,MAAM,8CAA8CA,CAAK;AAAA,MACnE;AAAA,EACC,GAAA,CAACrB,GAAmBK,GAAIJ,CAAS,CAAC;AAGrC,SAAAqB,EAAU,MAAM;AACV,IAAAjB,KAAML,KAAqBD,KACTS;KAErB,CAACH,GAAIL,GAAmBQ,GAAqBT,CAAO,CAAC,GAEjD;AAAA,IACL,SAAAG;AAAA,IACA,mBAAmBG;AAAA,EAAA;AAEvB,GAEAkB,IAAe1B;"}
@@ -1,63 +1,64 @@
1
- import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
- import { memo as X, useCallback as _, Fragment as L } from "react";
3
- import { useTheme as w } from "styled-components";
4
- import y from "../../../../ui/buttons/button/button.js";
5
- import r from "../../../../ui/layout/flex-view.js";
6
- import l from "../../../../ui/text/text.js";
7
- import G from "../score-badge/score-badge.js";
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ import { memo as X, useCallback as _, Fragment as w } from "react";
3
+ import { useTheme as y } from "styled-components";
4
+ import G from "../../../../ui/buttons/button/button.js";
5
+ import o from "../../../../ui/layout/flex-view.js";
6
+ import d from "../../../../ui/text/text.js";
7
+ import L from "../score-badge/score-badge.js";
8
8
  import { Divider as K } from "./score-section-styled.js";
9
9
  import g from "../../../../ui/separator/separator.js";
10
- import { getQuestionStatusBgColor as k } from "../../math-fit-report-helpers.js";
10
+ import { getQuestionStatusBgColor as j } from "../../math-fit-report-helpers.js";
11
11
  import { EQuestionState as u } from "../../../math-fit-overview/math-fit-overview-types.js";
12
- import { EDeviceType as j } from "../../../../ui/theme/constants.js";
13
- const Y = X(function({
14
- onReviewSection: c,
15
- section: s,
16
- sheet: $,
17
- compactView: a = !1,
18
- showReviewButton: b = !0
12
+ import { EDeviceType as k } from "../../../../ui/theme/constants.js";
13
+ import M from "../../../../ui/tag/tag.js";
14
+ const V = X(function({
15
+ onReviewSection: l,
16
+ section: m,
17
+ sheet: f,
18
+ compactView: s = !1,
19
+ showReviewButton: x = !0
19
20
  }) {
20
21
  const {
21
- title: x,
22
- score: f,
22
+ title: b,
23
+ score: p,
23
24
  scoreChange: C,
24
- sessionId: p,
25
+ sessionId: $,
25
26
  isIncomplete: t = !1,
26
27
  sectionNumber: T,
27
- topics: A
28
- } = s, { device: I } = w(), m = I <= j.MOBILE, h = [...A ?? []].sort((i, d) => i.miniGoal.order - d.miniGoal.order), E = m || a ? "column" : "row", B = m || a ? "" : "center", S = m || a ? 0.5 : 0, D = _(() => {
29
- !t && s.sheet && c && c($, p);
30
- }, [t, c, s.sheet, $, p]);
31
- return /* @__PURE__ */ o(r, { children: [
32
- /* @__PURE__ */ o(r, { $flexDirection: "row", $alignItems: "center", children: [
33
- /* @__PURE__ */ o(l, { $renderAs: "ab2-bold", $color: "BLACK_1", children: [
34
- x,
28
+ topics: I
29
+ } = m, { device: A } = y(), c = A <= k.MOBILE, h = [...I ?? []].sort((i, a) => i.miniGoal.order - a.miniGoal.order), E = c || s ? "column" : "row", S = c || s ? "" : "center", B = c || s ? 0.5 : 0, D = _(() => {
30
+ !t && m.sheet && l && l(f, $);
31
+ }, [t, l, m.sheet, f, $]);
32
+ return /* @__PURE__ */ r(o, { children: [
33
+ /* @__PURE__ */ r(o, { $flexDirection: "row", $alignItems: "center", children: [
34
+ /* @__PURE__ */ r(d, { $renderAs: "ab2-bold", $color: "BLACK_1", children: [
35
+ b,
35
36
  ":"
36
37
  ] }),
37
38
  /* @__PURE__ */ e(g, { width: 4 }),
38
- t ? /* @__PURE__ */ e(r, { $gutter: 3, $gap: 2.5, $background: "BLACK_5", children: /* @__PURE__ */ e(l, { $renderAs: "ab4-bold", $color: "WHITE", children: "INCOMPLETE" }) }) : f && /* @__PURE__ */ e(G, { score: f, maxScore: 10, scoreChange: C })
39
+ t ? /* @__PURE__ */ e(M, { text: "INCOMPLETE", size: "8px" }) : p && /* @__PURE__ */ e(L, { score: p, maxScore: 10, scoreChange: C })
39
40
  ] }),
40
- /* @__PURE__ */ e(r, { $flexRowGapX: 0.5, $gapX: 0.75, children: h.map((i, d) => /* @__PURE__ */ o(L, { children: [
41
- /* @__PURE__ */ o(
42
- r,
41
+ /* @__PURE__ */ e(o, { $flexRowGapX: 0.5, $gapX: 0.75, children: h.map((i, a) => /* @__PURE__ */ r(w, { children: [
42
+ /* @__PURE__ */ r(
43
+ o,
43
44
  {
44
45
  $flexDirection: E,
45
46
  $justifyContent: "space-between",
46
- $alignItems: B,
47
- $flexRowGapX: S,
47
+ $alignItems: S,
48
+ $flexRowGapX: B,
48
49
  children: [
49
- /* @__PURE__ */ e(l, { $renderAs: "ub2", $color: t ? "BLACK_T_38" : "BLACK_1", children: i.name }),
50
- /* @__PURE__ */ e(r, { $flexGapX: 0.5, $flexDirection: "row", $flexWrap: !0, children: i.miniGoal.items.map((n) => /* @__PURE__ */ e(
51
- r,
50
+ /* @__PURE__ */ e(d, { $renderAs: "ub2", $color: t ? "BLACK_T_38" : "BLACK_1", children: i.name }),
51
+ /* @__PURE__ */ e(o, { $flexGapX: 0.5, $flexDirection: "row", $flexWrap: !0, children: i.miniGoal.items.map((n) => /* @__PURE__ */ e(
52
+ o,
52
53
  {
53
54
  $heightX: 1.25,
54
55
  $gutterX: 0.5,
55
56
  $alignItems: "center",
56
57
  $justifyContent: "center",
57
58
  $borderRadiusX: 1,
58
- $background: k(n.state),
59
- children: /* @__PURE__ */ o(
60
- l,
59
+ $background: j(n.state),
60
+ children: /* @__PURE__ */ r(
61
+ d,
61
62
  {
62
63
  $renderAs: "ub4",
63
64
  $color: n.state === u.SKIPPED || n.state === u.UNATTEMPTED ? "BLACK_T_38" : "WHITE",
@@ -73,12 +74,12 @@ const Y = X(function({
73
74
  ]
74
75
  }
75
76
  ),
76
- d !== h.length - 1 && /* @__PURE__ */ e(K, {})
77
+ a !== h.length - 1 && /* @__PURE__ */ e(K, {})
77
78
  ] }, i.name)) }),
78
- b && /* @__PURE__ */ o(r, { $alignItems: "center", children: [
79
+ x && /* @__PURE__ */ r(o, { $alignItems: "center", children: [
79
80
  /* @__PURE__ */ e(g, { heightX: 0.75 }),
80
81
  /* @__PURE__ */ e(
81
- y,
82
+ G,
82
83
  {
83
84
  label: `Review Section ${T}`,
84
85
  renderAs: t ? "secondary" : "primary",
@@ -91,6 +92,6 @@ const Y = X(function({
91
92
  ] });
92
93
  });
93
94
  export {
94
- Y as default
95
+ V as default
95
96
  };
96
97
  //# sourceMappingURL=score-section.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"score-section.js","sources":["../../../../../../src/features/math-fit/math-fit-report/comps/score-section/score-section.tsx"],"sourcesContent":["import { Fragment, memo, useCallback, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport ScoreBadge from '../score-badge/score-badge';\nimport type { IScoreSectionProps } from './score-section-types';\nimport * as Styled from './score-section-styled';\nimport Separator from '../../../../ui/separator/separator';\nimport { getQuestionStatusBgColor } from '../../math-fit-report-helpers';\nimport { EQuestionState } from '../../../math-fit-overview/math-fit-overview-types';\nimport { EDeviceType } from '../../../../ui/theme/constants';\n\nconst ScoreSection: FC<IScoreSectionProps> = memo(function ScoreSection({\n onReviewSection,\n section,\n sheet,\n compactView = false,\n showReviewButton = true,\n}) {\n const {\n title,\n score,\n scoreChange,\n sessionId,\n isIncomplete = false,\n sectionNumber,\n topics,\n } = section;\n\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const sortedTopics = [...(topics ?? [])].sort((a, b) => a.miniGoal.order - b.miniGoal.order);\n const layoutDirection = isMobile || compactView ? 'column' : 'row';\n const alignment = isMobile || compactView ? '' : 'center';\n const gap = isMobile || compactView ? 0.5 : 0;\n\n const onClickReview = useCallback(() => {\n if (!isIncomplete && section.sheet && onReviewSection) {\n onReviewSection(sheet, sessionId);\n }\n }, [isIncomplete, onReviewSection, section.sheet, sheet, sessionId]);\n\n return (\n <FlexView>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_1\">\n {title}:\n </Text>\n <Separator width={4} />\n {isIncomplete ? (\n <FlexView $gutter={3} $gap={2.5} $background=\"BLACK_5\">\n <Text $renderAs=\"ab4-bold\" $color=\"WHITE\">\n INCOMPLETE\n </Text>\n </FlexView>\n ) : (\n score && <ScoreBadge score={score} maxScore={10} scoreChange={scoreChange} />\n )}\n </FlexView>\n <FlexView $flexRowGapX={0.5} $gapX={0.75}>\n {sortedTopics.map((topic, index) => (\n <Fragment key={topic.name}>\n <FlexView\n $flexDirection={layoutDirection}\n $justifyContent=\"space-between\"\n $alignItems={alignment}\n $flexRowGapX={gap}\n >\n <Text $renderAs=\"ub2\" $color={isIncomplete ? 'BLACK_T_38' : 'BLACK_1'}>\n {topic.name}\n </Text>\n <FlexView $flexGapX={0.5} $flexDirection=\"row\" $flexWrap>\n {topic.miniGoal.items.map(question => (\n <FlexView\n key={question.item_reference}\n $heightX={1.25}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={1}\n $background={getQuestionStatusBgColor(question.state)}\n >\n <Text\n $renderAs=\"ub4\"\n $color={\n question.state === EQuestionState.SKIPPED ||\n question.state === EQuestionState.UNATTEMPTED\n ? 'BLACK_T_38'\n : 'WHITE'\n }\n >\n Q{question.order}\n </Text>\n </FlexView>\n ))}\n </FlexView>\n </FlexView>\n {index !== sortedTopics.length - 1 && <Styled.Divider />}\n </Fragment>\n ))}\n </FlexView>\n {showReviewButton && (\n <FlexView $alignItems=\"center\">\n <Separator heightX={0.75} />\n <Button\n label={`Review Section ${sectionNumber}`}\n renderAs={isIncomplete ? 'secondary' : 'primary'}\n size=\"small\"\n onClick={onClickReview}\n disabled={isIncomplete}\n />\n </FlexView>\n )}\n </FlexView>\n );\n});\n\nexport default ScoreSection;\n"],"names":["ScoreSection","memo","onReviewSection","section","sheet","compactView","showReviewButton","title","score","scoreChange","sessionId","isIncomplete","sectionNumber","topics","device","useTheme","isMobile","EDeviceType","sortedTopics","a","b","layoutDirection","alignment","gap","onClickReview","useCallback","FlexView","jsxs","Text","jsx","Separator","ScoreBadge","topic","index","Fragment","question","getQuestionStatusBgColor","EQuestionState","Styled.Divider","Button"],"mappings":"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"}
1
+ {"version":3,"file":"score-section.js","sources":["../../../../../../src/features/math-fit/math-fit-report/comps/score-section/score-section.tsx"],"sourcesContent":["import { Fragment, memo, useCallback, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport ScoreBadge from '../score-badge/score-badge';\nimport type { IScoreSectionProps } from './score-section-types';\nimport * as Styled from './score-section-styled';\nimport Separator from '../../../../ui/separator/separator';\nimport { getQuestionStatusBgColor } from '../../math-fit-report-helpers';\nimport { EQuestionState } from '../../../math-fit-overview/math-fit-overview-types';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport Tag from '../../../../ui/tag/tag';\n\nconst ScoreSection: FC<IScoreSectionProps> = memo(function ScoreSection({\n onReviewSection,\n section,\n sheet,\n compactView = false,\n showReviewButton = true,\n}) {\n const {\n title,\n score,\n scoreChange,\n sessionId,\n isIncomplete = false,\n sectionNumber,\n topics,\n } = section;\n\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const sortedTopics = [...(topics ?? [])].sort((a, b) => a.miniGoal.order - b.miniGoal.order);\n const layoutDirection = isMobile || compactView ? 'column' : 'row';\n const alignment = isMobile || compactView ? '' : 'center';\n const gap = isMobile || compactView ? 0.5 : 0;\n\n const onClickReview = useCallback(() => {\n if (!isIncomplete && section.sheet && onReviewSection) {\n onReviewSection(sheet, sessionId);\n }\n }, [isIncomplete, onReviewSection, section.sheet, sheet, sessionId]);\n\n return (\n <FlexView>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_1\">\n {title}:\n </Text>\n <Separator width={4} />\n {isIncomplete ? (\n <Tag text=\"INCOMPLETE\" size=\"8px\" />\n ) : (\n score && <ScoreBadge score={score} maxScore={10} scoreChange={scoreChange} />\n )}\n </FlexView>\n <FlexView $flexRowGapX={0.5} $gapX={0.75}>\n {sortedTopics.map((topic, index) => (\n <Fragment key={topic.name}>\n <FlexView\n $flexDirection={layoutDirection}\n $justifyContent=\"space-between\"\n $alignItems={alignment}\n $flexRowGapX={gap}\n >\n <Text $renderAs=\"ub2\" $color={isIncomplete ? 'BLACK_T_38' : 'BLACK_1'}>\n {topic.name}\n </Text>\n <FlexView $flexGapX={0.5} $flexDirection=\"row\" $flexWrap>\n {topic.miniGoal.items.map(question => (\n <FlexView\n key={question.item_reference}\n $heightX={1.25}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={1}\n $background={getQuestionStatusBgColor(question.state)}\n >\n <Text\n $renderAs=\"ub4\"\n $color={\n question.state === EQuestionState.SKIPPED ||\n question.state === EQuestionState.UNATTEMPTED\n ? 'BLACK_T_38'\n : 'WHITE'\n }\n >\n Q{question.order}\n </Text>\n </FlexView>\n ))}\n </FlexView>\n </FlexView>\n {index !== sortedTopics.length - 1 && <Styled.Divider />}\n </Fragment>\n ))}\n </FlexView>\n {showReviewButton && (\n <FlexView $alignItems=\"center\">\n <Separator heightX={0.75} />\n <Button\n label={`Review Section ${sectionNumber}`}\n renderAs={isIncomplete ? 'secondary' : 'primary'}\n size=\"small\"\n onClick={onClickReview}\n disabled={isIncomplete}\n />\n </FlexView>\n )}\n </FlexView>\n );\n});\n\nexport default ScoreSection;\n"],"names":["ScoreSection","memo","onReviewSection","section","sheet","compactView","showReviewButton","title","score","scoreChange","sessionId","isIncomplete","sectionNumber","topics","device","useTheme","isMobile","EDeviceType","sortedTopics","a","b","layoutDirection","alignment","gap","onClickReview","useCallback","FlexView","jsxs","Text","jsx","Separator","Tag","ScoreBadge","topic","index","Fragment","question","getQuestionStatusBgColor","EQuestionState","Styled.Divider","Button"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { jsx as o, Fragment as n } from "react/jsx-runtime";
2
- import { memo as t } from "react";
3
- import m from "../../../../../ui/tag/tag.js";
4
- const a = t(function({ tags: r }) {
5
- return !r || r.length === 0 ? null : /* @__PURE__ */ o(n, { children: r.map((e) => /* @__PURE__ */ o(m, { text: e, backgroundColor: "WHITE_1", textColor: "BLACK_T_60" }, e)) });
1
+ import { jsx as n, Fragment as m } from "react/jsx-runtime";
2
+ import { memo as o } from "react";
3
+ import t from "../../../../../ui/tag/tag.js";
4
+ const a = o(function({ tags: e }) {
5
+ return !e || e.length === 0 ? null : /* @__PURE__ */ n(m, { children: e.map((r) => /* @__PURE__ */ n(t, { text: r, size: "12px", shape: "curved" }, r)) });
6
6
  });
7
7
  export {
8
8
  a as default
@@ -1 +1 @@
1
- {"version":3,"file":"tags-render.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.tsx"],"sourcesContent":["import { type FC, memo } from 'react';\n\nimport Tag from '../../../../../ui/tag/tag';\n\nconst TagsRenderer: FC<{ tags: string[] }> = memo(function TagsRenderer({ tags }) {\n if (!tags || tags.length === 0) return null;\n\n return (\n <>\n {tags.map(tag => (\n <Tag key={tag} text={tag} backgroundColor=\"WHITE_1\" textColor=\"BLACK_T_60\" />\n ))}\n </>\n );\n});\n\nexport default TagsRenderer;\n"],"names":["TagsRenderer","memo","tags","jsx","Fragment","tag","Tag"],"mappings":";;;AAIA,MAAMA,IAAuCC,EAAK,SAAsB,EAAE,MAAAC,KAAQ;AAChF,SAAI,CAACA,KAAQA,EAAK,WAAW,IAAU,OAIlC,gBAAAC,EAAAC,GAAA,EAAA,UAAAF,EAAK,IAAI,CAAAG,wBACPC,GAAc,EAAA,MAAMD,GAAK,iBAAgB,WAAU,WAAU,gBAApDA,CAAiE,CAC5E,EACH,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"tags-render.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.tsx"],"sourcesContent":["import { type FC, memo } from 'react';\n\nimport Tag from '../../../../../ui/tag/tag';\n\nconst TagsRenderer: FC<{ tags: string[] }> = memo(function TagsRenderer({ tags }) {\n if (!tags || tags.length === 0) return null;\n\n return (\n <>\n {tags.map(tag => (\n <Tag key={tag} text={tag} size=\"12px\" shape=\"curved\" />\n ))}\n </>\n );\n});\n\nexport default TagsRenderer;\n"],"names":["TagsRenderer","memo","tags","jsx","Fragment","tag","Tag"],"mappings":";;;AAIA,MAAMA,IAAuCC,EAAK,SAAsB,EAAE,MAAAC,KAAQ;AAChF,SAAI,CAACA,KAAQA,EAAK,WAAW,IAAU,OAIlC,gBAAAC,EAAAC,GAAA,EAAA,UAAAF,EAAK,IAAI,CAAAG,wBACPC,GAAc,EAAA,MAAMD,GAAK,MAAK,QAAO,OAAM,YAAlCA,CAA2C,CACtD,EACH,CAAA;AAEJ,CAAC;"}