@cuemath/leap 3.0.26-gs2 → 3.1.0-gg1
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 +127 -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/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 +22 -24
- 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 +45 -47
- 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 +46 -47
- 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 +115 -140
- 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/homework/homework-card-view.js +38 -40
- package/dist/features/homework/homework-card-view.js.map +1 -1
- package/dist/features/homework/homework-card.js +52 -53
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/index.d.ts +245 -248
- package/package.json +1 -1
- package/dist/static/accuracy-meter.99585cba.json +0 -4218
- package/dist/static/accuracy-needle.cd6e63ac.json +0 -618
- package/dist/static/achievement_bg.0d0555ac.png +0 -0
- package/dist/static/advance-mode-segment-lottie.51ff6707.json +0 -1
- package/dist/static/alarm-clock-orange.31fb90d9.svg +0 -1
- package/dist/static/alarm-clock-purple.06d4911c.svg +0 -1
- package/dist/static/alien-1.fc7ba696.svg +0 -1
- package/dist/static/alien-2.15fdda07.svg +0 -1
- package/dist/static/alien-3.2664a37f.svg +0 -1
- package/dist/static/alien-4.06ac66da.svg +0 -1
- package/dist/static/ashta.0d3926b2.png +0 -0
- package/dist/static/avatar-selected.860ee923.json +0 -1
- package/dist/static/awesome.8e1cf046.png +0 -0
- package/dist/static/badge_success.2f6c8e65.png +0 -0
- package/dist/static/beginner1x.489908a7.json +0 -3508
- package/dist/static/bg_empty_resources.63b187fd.png +0 -0
- package/dist/static/blue-clip.87cc4543.svg +0 -1
- package/dist/static/bobwave.5603c70b.gif +0 -0
- package/dist/static/book-green.20f6eed3.svg +0 -1
- package/dist/static/book-open-blue.d4f8d08c.svg +0 -5
- package/dist/static/book-orange.04bdc75e.svg +0 -1
- package/dist/static/book-yellow.c210ac06.svg +0 -1
- package/dist/static/bronze-1.da4e4b5f.json +0 -4176
- package/dist/static/bronze-2.97f9c639.json +0 -4433
- package/dist/static/bronze-3.6a433ebd.json +0 -4786
- package/dist/static/bullet-yellow.2f892d88.svg +0 -1
- package/dist/static/calendar-blue.e0d52d09.svg +0 -1
- package/dist/static/calendar-gray.1c72682a.svg +0 -1
- package/dist/static/calendar-green.a2b6a393.svg +0 -1
- package/dist/static/caution.5766a967.svg +0 -1
- package/dist/static/chapter-1.8a1683a0.svg +0 -1
- package/dist/static/chapter-10.c97de4a5.svg +0 -1
- package/dist/static/chapter-2.71ac6dfc.svg +0 -1
- package/dist/static/chapter-3.003fc901.svg +0 -1
- package/dist/static/chapter-4.8abbacd8.svg +0 -1
- package/dist/static/chapter-5.c774b439.svg +0 -1
- package/dist/static/chapter-6.cb5cf1cb.svg +0 -1
- package/dist/static/chapter-7.57b0beb4.svg +0 -1
- package/dist/static/chapter-8.68d36477.svg +0 -1
- package/dist/static/chapter-9.0c00e26f.svg +0 -1
- package/dist/static/chapter-completed.1241399b.json +0 -497
- package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
- package/dist/static/chapter-header-bg.4ed173c2.svg +0 -1
- package/dist/static/chatva.d0c57a95.png +0 -0
- package/dist/static/circle-cuemath-logo-white.e9fafb91.svg +0 -1
- package/dist/static/circle-cuemath-logo.8bcb1ad4.svg +0 -1
- package/dist/static/circle-outercircle-bg.65f21460.svg +0 -1
- package/dist/static/circular-loader.a5a1a0a6.json +0 -238
- package/dist/static/clock-30min.eae818b8.json +0 -1197
- package/dist/static/clock-45min.df8adf51.json +0 -1197
- package/dist/static/clock-60min.2b48d875.json +0 -1197
- package/dist/static/clock-90min.3e557ed7.json +0 -1407
- package/dist/static/clock-orange.c144059b.svg +0 -6
- package/dist/static/color-1.45101b9a.json +0 -4545
- package/dist/static/color-2.ccdc7d0a.json +0 -4828
- package/dist/static/color-3.5e8e1422.json +0 -5273
- package/dist/static/community-bulb.3b42af21.svg +0 -1
- package/dist/static/competitive-arena.b9c40801.json +0 -1
- 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 +0 -1
- package/dist/static/crown-overlay.11fb073c.svg +0 -1
- package/dist/static/crown.c18fa217.svg +0 -1
- package/dist/static/cuecoin-gold.bcb8085e.svg +0 -1
- package/dist/static/cuemath-app-qr-code.4beefe48.svg +0 -1
- package/dist/static/cuemath-app-qr-code.ba6cc09b.svg +0 -1
- 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 +0 -1
- package/dist/static/difficult.6846c064.json +0 -2755
- package/dist/static/dob.9ce3c15b.json +0 -1
- package/dist/static/doda.3103971c.png +0 -0
- package/dist/static/duration-30min-gray.f6442df4.svg +0 -1
- package/dist/static/duration-45min-gray.ad90fb23.svg +0 -1
- package/dist/static/duration-60min-gray.874e52a2.svg +0 -1
- package/dist/static/duration-90min-gray.32a04cef.svg +0 -1
- package/dist/static/dvi.fc7b32a5.png +0 -0
- package/dist/static/earth-green.e1329b7a.svg +0 -1
- package/dist/static/easy-rescheduling.3a6d1a00.gif +0 -0
- package/dist/static/easy.68242ddd.json +0 -2658
- package/dist/static/eka.b10a06fa.png +0 -0
- package/dist/static/elite-circle.3df58972.json +0 -6876
- 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 +0 -5255
- package/dist/static/error.cbe1ddde.json +0 -1
- package/dist/static/familiar1x.7c9c7f15.json +0 -3046
- package/dist/static/female-avatar.b8cd1012.svg +0 -1
- package/dist/static/fifteen-min-clock.0af4e303.json +0 -715
- package/dist/static/five-min-clock.6be5cc41.json +0 -721
- package/dist/static/game-play.4982b0cb.svg +0 -1
- package/dist/static/games.47abcb18.gif +0 -0
- package/dist/static/globe-with-blue-fill.beae6ca4.svg +0 -1
- package/dist/static/gold-1.ab2489fe.json +0 -4176
- package/dist/static/gold-2.34045826.json +0 -4441
- package/dist/static/gold-3.d704698b.json +0 -4810
- package/dist/static/grade-grid-background.b17b4ccb.svg +0 -1
- package/dist/static/grade.b3730524.json +0 -1
- package/dist/static/graduate-hat.4b49eb44.svg +0 -1
- package/dist/static/graduate-icon-pink.01fbfb1b.svg +0 -1
- package/dist/static/graduate-pink-filled-bg.c91e9c53.svg +0 -1
- package/dist/static/great.2a5dcc34.png +0 -0
- package/dist/static/green-balloon.67ac8587.svg +0 -1
- package/dist/static/green-face.1b4dd82f.svg +0 -1
- package/dist/static/hexo.eab4b9f5.png +0 -0
- package/dist/static/infinite-button-bg.5909225e.json +0 -1
- package/dist/static/infinite-button-symbol.aa31350c.json +0 -1
- package/dist/static/jigii-wave.150a6d18.gif +0 -0
- package/dist/static/key.d6846476.json +0 -1
- package/dist/static/kudos.b7e2aeb6.png +0 -0
- package/dist/static/learn.71b13323.json +0 -1
- package/dist/static/learned-shield-gray.1495b0d5.svg +0 -1
- package/dist/static/learned-shield-green.7c26b423.svg +0 -1
- package/dist/static/learning-plan.72d64a61.png +0 -0
- package/dist/static/learning-session.71cc8f22.gif +0 -0
- package/dist/static/learnt.870c5e38.svg +0 -1
- package/dist/static/lesson-overview-banner.f5404af6.png +0 -0
- package/dist/static/levelup-rings.b1055283.json +0 -549
- package/dist/static/like.cb492460.svg +0 -1
- package/dist/static/live-session.a0d25c78.svg +0 -1
- package/dist/static/loader-1.6524355e.svg +0 -1
- package/dist/static/loader.52f8c35c.svg +0 -1
- package/dist/static/locked.0c3b7577.svg +0 -1
- package/dist/static/mail.c30e8708.json +0 -1
- package/dist/static/maintenance.a26aca65.svg +0 -1
- package/dist/static/male-avatar.2febc9eb.svg +0 -1
- package/dist/static/mastered-badge.81f156fb.svg +0 -1
- package/dist/static/mastered-shield-gray.a58cbe19.svg +0 -1
- package/dist/static/mastered-shield-green.070fa4eb.svg +0 -1
- package/dist/static/max-wave.44e002c9.gif +0 -0
- package/dist/static/medium.94c3829b.json +0 -2289
- package/dist/static/mental-math.3c95f169.svg +0 -1
- package/dist/static/milestone-intro-1.281a354c.svg +0 -1
- package/dist/static/milestone-intro-2.19faee69.svg +0 -1
- package/dist/static/milestone-intro-3.6f6055d6.svg +0 -1
- package/dist/static/mistake.476d1aa7.svg +0 -1
- package/dist/static/no-info.f4bfe437.png +0 -0
- package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
- package/dist/static/node-learn-bg.b61f815c.svg +0 -1
- package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
- package/dist/static/node-project-bg.e6a33e28.svg +0 -1
- package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
- package/dist/static/node-recap-bg.546154e4.svg +0 -1
- package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
- package/dist/static/node-video-bg.3df3f73a.svg +0 -1
- package/dist/static/nudge-tap.5cb30093.json +0 -1057
- package/dist/static/number-1-orange.cbf526ed.svg +0 -1
- package/dist/static/number-2-orange.6f29eb72.svg +0 -1
- package/dist/static/number-3-orange.58baf717.svg +0 -1
- package/dist/static/number-4-orange.5ed1ec5e.svg +0 -1
- package/dist/static/octo.3020bd93.png +0 -0
- package/dist/static/one-star-filled.b6084257.svg +0 -1
- package/dist/static/orange-face.5824c2e9.svg +0 -1
- package/dist/static/otp.2d08f874.json +0 -1
- package/dist/static/otp.a3029760.json +0 -1
- package/dist/static/parent-avatar.772d53e0.json +0 -1
- package/dist/static/people-with-orange-fill.3835b8f1.svg +0 -1
- package/dist/static/phone-number.0be312ea.json +0 -1
- package/dist/static/phone-number.84f55562.json +0 -1
- package/dist/static/play-icon.13baaa7d.svg +0 -1
- package/dist/static/play.68d16dec.svg +0 -1
- package/dist/static/point1.b53831de.json +0 -2942
- package/dist/static/point10.7b5e536d.json +0 -3179
- package/dist/static/point100.1df16f82.json +0 -3196
- package/dist/static/point15.fea00c32.json +0 -3179
- package/dist/static/point2.7cec6e24.json +0 -1
- package/dist/static/point20.c88d776d.json +0 -3178
- package/dist/static/point25.a18c346a.json +0 -3178
- package/dist/static/point3.f96fe7aa.json +0 -1
- package/dist/static/point30.c5224b0b.json +0 -3202
- package/dist/static/point35.fad343dd.json +0 -3058
- package/dist/static/point4.fe04fb83.json +0 -1
- package/dist/static/point40.10a16f72.json +0 -3082
- package/dist/static/point45.2ad7561f.json +0 -3082
- package/dist/static/point5.da40ed1f.json +0 -2948
- package/dist/static/point50.5718cb3d.json +0 -3046
- package/dist/static/point60.17380d9f.json +0 -3076
- package/dist/static/points-sum.360e63de.svg +0 -1
- package/dist/static/practice.158dd488.json +0 -1
- package/dist/static/practiced-shield-green.90278855.svg +0 -1
- package/dist/static/practiced-shield-grey.16cf4fe0.svg +0 -1
- package/dist/static/proficient-badge.1a6dbb72.svg +0 -1
- package/dist/static/proficient1x.fa6e7b80.json +0 -3430
- package/dist/static/profile-board.4f4a17e6.svg +0 -1
- package/dist/static/project.eb665827.json +0 -1
- package/dist/static/puzzle-student.de530364.svg +0 -1
- package/dist/static/puzzle.5aad5cf8.svg +0 -1
- package/dist/static/puzzle.b298c7e4.json +0 -1
- 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 +0 -1
- package/dist/static/recap.0dd2c1e2.json +0 -1
- package/dist/static/refund-policy-with-headphone.589398e0.svg +0 -1
- package/dist/static/refund-policy.912dbb4c.svg +0 -1
- package/dist/static/report-404.dd67785c.svg +0 -1
- package/dist/static/rocket-broken.1f86fa43.svg +0 -1
- package/dist/static/rocket-yellow.62d27e15.svg +0 -1
- 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 +0 -1
- package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +0 -1
- package/dist/static/shared.3af01b49.png +0 -0
- package/dist/static/sheet-reference.9da7a09f.png +0 -0
- package/dist/static/silver-1.0396328a.json +0 -4168
- package/dist/static/silver-2.bf50615f.json +0 -4433
- package/dist/static/silver-3.13d66b84.json +0 -4810
- package/dist/static/skills.90ce4cbb.gif +0 -0
- package/dist/static/sleepy-boi.031a1165.json +0 -1008
- package/dist/static/smiley.49bb7d7c.svg +0 -1
- package/dist/static/speckie-wave.510639ce.gif +0 -0
- package/dist/static/spinner-white.639e0d87.json +0 -122
- package/dist/static/spiral_pattern.9fd3e6e9.png +0 -0
- package/dist/static/splash-screen.bbf567ce.json +0 -2411
- package/dist/static/star-orange-filled.a7ff9c8f.svg +0 -1
- package/dist/static/star-orange.a91a341f.svg +0 -1
- package/dist/static/star-with-green-fill.86877d41.svg +0 -1
- package/dist/static/stay-connected.371d3d9d.gif +0 -0
- package/dist/static/streak-green.b59bf4dd.svg +0 -1
- package/dist/static/streak-white.2cbdc9b8.svg +0 -1
- package/dist/static/student-avatar.524226bd.json +0 -1
- package/dist/static/table-mode-reveal.b44a82c3.json +0 -1
- package/dist/static/table-mode-star.b8a1d762.json +0 -1
- package/dist/static/table-segment-star.78e851d6.json +0 -1
- package/dist/static/target-achieved-text.053bd142.json +0 -2830
- package/dist/static/target-achieved-text.10db8475.json +0 -1
- package/dist/static/teacher-validation.7577ecdc.json +0 -245
- package/dist/static/tera-wave.2954a6a4.gif +0 -0
- package/dist/static/test-difficulty-easy.56df71dd.svg +0 -1
- package/dist/static/test-difficulty-hard.7250f1f4.svg +0 -1
- package/dist/static/test-difficulty-medium.2fd9686e.svg +0 -1
- 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 +0 -1
- package/dist/static/tetra.354ff2b9.png +0 -0
- package/dist/static/three-stars-filled.72b51f03.svg +0 -1
- package/dist/static/tick-green.a1654049.svg +0 -1
- package/dist/static/total-streak.d5ce7669.json +0 -842
- package/dist/static/total-time-spent.434005d3.json +0 -200
- package/dist/static/total-time.d979cbb9.json +0 -24383
- package/dist/static/tournament-ripple.e5c239a5.json +0 -1047
- package/dist/static/track-progress.c75b1031.gif +0 -0
- package/dist/static/trophy-blue-filled.7e2b40ab.svg +0 -1
- package/dist/static/trophy-blue.e684ba4c.svg +0 -1
- package/dist/static/trophy-circle.b7b23e36.svg +0 -1
- package/dist/static/trophy-green.6c0741c8.svg +0 -10
- package/dist/static/two-stars-filled.a51a14b4.svg +0 -1
- package/dist/static/up-arrow.a6946bd3.svg +0 -1
- package/dist/static/user-crown-grid-background.c2875a73.svg +0 -1
- package/dist/static/user-down.a06f2f94.svg +0 -1
- package/dist/static/user-pin.5f334465.svg +0 -1
- package/dist/static/user-profile-background.199977a9.svg +0 -1
- package/dist/static/user-type-selector-grid-bg.3c9c8ad6.svg +0 -1
- package/dist/static/user-type-selector-grid-bg.3ce8142d.svg +0 -1
- package/dist/static/user-type-selector-grid-bg.aad0b059.svg +0 -1
- package/dist/static/user-up.2aecbbae.svg +0 -1
- package/dist/static/username.9e034d51.json +0 -1
- package/dist/static/video.b41451e2.json +0 -1
- 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 +0 -1
- package/dist/static/your-goals.63ffbee5.gif +0 -0
- package/dist/static/zodasa.336c3bb0.png +0 -0
@@ -1,14 +1,14 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { memo as
|
3
|
-
import { getNodeStateBasedTagInfo as
|
4
|
-
import { SheetTagWrapper as
|
5
|
-
const h =
|
6
|
-
const { state: e, accuracy: t, nodeType: a, dueDateTs: c, isStudent:
|
7
|
-
icon:
|
8
|
-
top:
|
9
|
-
right:
|
10
|
-
} =
|
11
|
-
return /* @__PURE__ */
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
2
|
+
import { memo as p } from "react";
|
3
|
+
import { getNodeStateBasedTagInfo as S } from "../../utils/node-card-utils.js";
|
4
|
+
import { SheetTagWrapper as T } from "./node-card-styled.js";
|
5
|
+
const h = p((o) => {
|
6
|
+
const { state: e, accuracy: t, nodeType: a, dueDateTs: c, isStudent: r } = o, d = ["DYNAMIC", "ASSESSMENT", "CHAPTER_ASSESSMENT"].includes(a) ? t : void 0, {
|
7
|
+
icon: n,
|
8
|
+
top: s,
|
9
|
+
right: i
|
10
|
+
} = S(e, !!r, d, c);
|
11
|
+
return /* @__PURE__ */ m(T, { $top: s, $right: i, children: n });
|
12
12
|
});
|
13
13
|
export {
|
14
14
|
h as default
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node-card-tags.js","sources":["../../../../../src/features/chapters-v2/comps/node-card/node-card-tags.tsx"],"sourcesContent":["import type { INodeCardTagsProps } from './node-card-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { getNodeStateBasedTagInfo } from '../../utils/node-card-utils';\nimport * as Styled from './node-card-styled';\n\nconst NodeCardTags: FC<INodeCardTagsProps> = memo(props => {\n const { state, accuracy, nodeType, dueDateTs, isStudent
|
1
|
+
{"version":3,"file":"node-card-tags.js","sources":["../../../../../src/features/chapters-v2/comps/node-card/node-card-tags.tsx"],"sourcesContent":["import type { INodeCardTagsProps } from './node-card-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { getNodeStateBasedTagInfo } from '../../utils/node-card-utils';\nimport * as Styled from './node-card-styled';\n\nconst NodeCardTags: FC<INodeCardTagsProps> = memo(props => {\n const { state, accuracy, nodeType, dueDateTs, isStudent } = props;\n const dynamicNodeTypes = ['DYNAMIC', 'ASSESSMENT', 'CHAPTER_ASSESSMENT'];\n const isDynamicNode = dynamicNodeTypes.includes(nodeType);\n const accuracyValue = isDynamicNode ? accuracy : undefined;\n\n const {\n icon: NodeTagIcon,\n top,\n right,\n } = getNodeStateBasedTagInfo(state, !!isStudent, accuracyValue, dueDateTs);\n\n return (\n <Styled.SheetTagWrapper $top={top} $right={right}>\n {NodeTagIcon}\n </Styled.SheetTagWrapper>\n );\n});\n\nexport default NodeCardTags;\n"],"names":["NodeCardTags","memo","props","state","accuracy","nodeType","dueDateTs","isStudent","accuracyValue","NodeTagIcon","top","right","getNodeStateBasedTagInfo","jsx","Styled.SheetTagWrapper"],"mappings":";;;;AAQM,MAAAA,IAAuCC,EAAK,CAASC,MAAA;AACzD,QAAM,EAAE,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,WAAAC,GAAW,WAAAC,EAAc,IAAAL,GAGtDM,IAFmB,CAAC,WAAW,cAAc,oBAAoB,EAChC,SAASH,CAAQ,IAClBD,IAAW,QAE3C;AAAA,IACJ,MAAMK;AAAA,IACN,KAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACEC,EAAyBT,GAAO,CAAC,CAACI,GAAWC,GAAeF,CAAS;AAGvE,SAAA,gBAAAO,EAACC,GAAA,EAAuB,MAAMJ,GAAK,QAAQC,GACxC,UACHF,EAAA,CAAA;AAEJ,CAAC;"}
|
@@ -1,31 +1,31 @@
|
|
1
|
-
import { jsx as e, jsxs as d, Fragment as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
1
|
+
import { jsx as e, jsxs as d, Fragment as K } from "react/jsx-runtime";
|
2
|
+
import { memo as X, useRef as j, useCallback as m } from "react";
|
3
|
+
import G from "../../../../../assets/line-icons/icons/eye2.js";
|
4
|
+
import z from "../../../../../assets/line-icons/icons/redo.js";
|
5
|
+
import F from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
6
|
+
import P from "../../../../ui/context-menu/context-menu.js";
|
7
7
|
import Y from "../../../../ui/lottie-animation/lottie-animation.js";
|
8
8
|
import Z from "../../../../ui/text/text.js";
|
9
9
|
import { BLOCK_TYPE as q } from "../../../constants/block-constants.js";
|
10
10
|
import { NODE_CARD_STATES as J } from "../../../constants/node-constants.js";
|
11
11
|
import { getNodeTypeBasedBgImage as Q } from "../../../utils/index.js";
|
12
|
-
import { getNodeCardBasedIcon as
|
13
|
-
import { NodeCardContainer as
|
14
|
-
import
|
15
|
-
import
|
16
|
-
const
|
12
|
+
import { getNodeCardBasedIcon as U } from "../../../utils/node-card-utils.js";
|
13
|
+
import { NodeCardContainer as V, NodeCardInfoWrapper as ee, IconWrapper as te, StyledImportantIcon as re, NodeCardContentWrapper as ne, NodeCardTitle as oe } from "../node-card-styled.js";
|
14
|
+
import ae from "../node-card-tags.js";
|
15
|
+
import ie from "../node-menu-options/node-menu-options.js";
|
16
|
+
const ce = { renderer: "canvas", autoplay: !1 }, ye = X((O) => {
|
17
17
|
const {
|
18
18
|
nodeData: t,
|
19
19
|
imageHue: b,
|
20
|
-
blockType:
|
20
|
+
blockType: y,
|
21
21
|
onNodeAttempt: a,
|
22
22
|
onNodeReattempt: i,
|
23
23
|
onNodeReview: c,
|
24
24
|
onNodeView: r,
|
25
|
-
isStudent:
|
25
|
+
isStudent: A
|
26
26
|
} = O, {
|
27
|
-
accuracy:
|
28
|
-
attempt_location:
|
27
|
+
accuracy: L,
|
28
|
+
attempt_location: S,
|
29
29
|
node_type: l,
|
30
30
|
card_header: E,
|
31
31
|
title: T,
|
@@ -39,9 +39,8 @@ const se = { renderer: "canvas", autoplay: !1 }, ye = j((O) => {
|
|
39
39
|
can_review: s,
|
40
40
|
can_start: p,
|
41
41
|
can_resume: u,
|
42
|
-
can_reset:
|
43
|
-
|
44
|
-
} = R, w = S === q.GOAL, o = C === J.LOCKED, B = L === "INCLASS", f = !(p || u) && (k || s), h = G(null), M = Q(l), { lottie: W } = V(l), I = m(
|
42
|
+
can_reset: I
|
43
|
+
} = R, v = y === q.GOAL, o = C === J.LOCKED, w = S === "INCLASS", f = !(p || u) && (I || s), h = j(null), B = Q(l), { lottie: M } = U(l), k = m(
|
45
44
|
(n) => {
|
46
45
|
switch (n) {
|
47
46
|
case "node-card-review":
|
@@ -55,7 +54,7 @@ const se = { renderer: "canvas", autoplay: !1 }, ye = j((O) => {
|
|
55
54
|
}
|
56
55
|
},
|
57
56
|
[s, t, i, c, r, _]
|
58
|
-
),
|
57
|
+
), W = m(() => {
|
59
58
|
f || o || (p || u ? a == null || a(t) : g && (r == null || r(t)));
|
60
59
|
}, [
|
61
60
|
u,
|
@@ -66,39 +65,39 @@ const se = { renderer: "canvas", autoplay: !1 }, ye = j((O) => {
|
|
66
65
|
f,
|
67
66
|
o,
|
68
67
|
g
|
69
|
-
]),
|
68
|
+
]), N = m(() => {
|
70
69
|
var n;
|
71
70
|
o || (n = h.current) == null || n.play();
|
72
|
-
}, [o]),
|
71
|
+
}, [o]), D = m(() => {
|
73
72
|
var n;
|
74
73
|
(n = h.current) == null || n.stop();
|
75
|
-
}, []),
|
74
|
+
}, []), H = [
|
76
75
|
{
|
77
76
|
id: "node-card-review",
|
78
77
|
label: "Review",
|
79
|
-
icon:
|
78
|
+
icon: G,
|
80
79
|
disabled: !s,
|
81
|
-
onClick:
|
80
|
+
onClick: k
|
82
81
|
},
|
83
82
|
{
|
84
83
|
id: "node-card-reattempt",
|
85
84
|
label: "Reattempt",
|
86
|
-
icon:
|
87
|
-
disabled: !
|
88
|
-
onClick:
|
85
|
+
icon: z,
|
86
|
+
disabled: !I,
|
87
|
+
onClick: k
|
89
88
|
}
|
90
89
|
];
|
91
|
-
return
|
92
|
-
|
90
|
+
return /* @__PURE__ */ e(
|
91
|
+
P,
|
93
92
|
{
|
94
93
|
targetElement: /* @__PURE__ */ e(
|
95
|
-
|
94
|
+
V,
|
96
95
|
{
|
97
96
|
$background: `${b}_2`,
|
98
97
|
$disabled: o,
|
99
|
-
onClick:
|
98
|
+
onClick: W,
|
100
99
|
children: /* @__PURE__ */ d(
|
101
|
-
|
100
|
+
F,
|
102
101
|
{
|
103
102
|
renderAs: "primary",
|
104
103
|
tooltipItem: $,
|
@@ -109,20 +108,20 @@ const se = { renderer: "canvas", autoplay: !1 }, ye = j((O) => {
|
|
109
108
|
widthX: 11.25,
|
110
109
|
children: [
|
111
110
|
/* @__PURE__ */ d(
|
112
|
-
|
111
|
+
ee,
|
113
112
|
{
|
114
113
|
$flexDirection: "row",
|
115
114
|
$alignItems: "center",
|
116
115
|
$heightX: 3.5,
|
117
|
-
$bgImage:
|
116
|
+
$bgImage: B,
|
118
117
|
$gutterX: 0.78125,
|
119
118
|
$flexGap: 8.5,
|
120
119
|
$opacity: o ? 0.5 : 1,
|
121
|
-
onMouseEnter:
|
122
|
-
onMouseLeave:
|
120
|
+
onMouseEnter: N,
|
121
|
+
onMouseLeave: D,
|
123
122
|
children: [
|
124
123
|
/* @__PURE__ */ d(
|
125
|
-
|
124
|
+
te,
|
126
125
|
{
|
127
126
|
$width: 31,
|
128
127
|
$height: 31,
|
@@ -134,34 +133,34 @@ const se = { renderer: "canvas", autoplay: !1 }, ye = j((O) => {
|
|
134
133
|
/* @__PURE__ */ e(
|
135
134
|
Y,
|
136
135
|
{
|
137
|
-
src:
|
136
|
+
src: M,
|
138
137
|
ref: h,
|
139
|
-
settings:
|
138
|
+
settings: ce
|
140
139
|
}
|
141
140
|
),
|
142
|
-
!x && /* @__PURE__ */ e(
|
141
|
+
!x && /* @__PURE__ */ e(re, {})
|
143
142
|
]
|
144
143
|
}
|
145
144
|
),
|
146
145
|
/* @__PURE__ */ d(Z, { $renderAs: "ac4-black", $color: "BLACK", children: [
|
147
146
|
E,
|
148
147
|
" ",
|
149
|
-
|
148
|
+
w && "• CW"
|
150
149
|
] })
|
151
150
|
]
|
152
151
|
}
|
153
152
|
),
|
154
153
|
/* @__PURE__ */ e(
|
155
|
-
|
154
|
+
ae,
|
156
155
|
{
|
157
156
|
nodeType: l,
|
158
157
|
state: C,
|
159
|
-
accuracy:
|
160
|
-
isStudent:
|
158
|
+
accuracy: L,
|
159
|
+
isStudent: A
|
161
160
|
}
|
162
161
|
),
|
163
|
-
!
|
164
|
-
|
162
|
+
!v && /* @__PURE__ */ e(ne, { $background: "WHITE_1", $heightX: 4, children: /* @__PURE__ */ e(
|
163
|
+
oe,
|
165
164
|
{
|
166
165
|
$renderAs: "ab3",
|
167
166
|
$color: "BLACK_1",
|
@@ -178,7 +177,7 @@ const se = { renderer: "canvas", autoplay: !1 }, ye = j((O) => {
|
|
178
177
|
menuWidth: "100%",
|
179
178
|
menuZIndex: 6,
|
180
179
|
menuOffset: 2,
|
181
|
-
menuElement: f ? /* @__PURE__ */ e(
|
180
|
+
menuElement: f ? /* @__PURE__ */ e(ie, { options: H }) : /* @__PURE__ */ e(K, {})
|
182
181
|
}
|
183
182
|
);
|
184
183
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"student-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/student-actions/student-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\n\nimport { memo, useCallback, useRef, type FC } from 'react';\n\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../../ui/context-menu/context-menu';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst StudentActions: FC<Omit<INodeCardProps, 'userType'>> = memo(props => {\n const {\n nodeData,\n imageHue,\n blockType,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n isStudent,\n } = props;\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n marked_as_completed: teacherMarkedAsCompleted,\n user_attempt_id: userAttemptId,\n } = nodeData;\n const {\n can_review: canReview,\n can_start: canStart,\n can_resume: canResume,\n can_reset: canReset,\n can_un_skip: canUnSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canStartOrResume = canStart || canResume;\n\n const renderOptions = !canStartOrResume && (canReset || canReview);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-review':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-reattempt':\n onNodeReattempt?.(nodeData);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [canReview, nodeData, onNodeReattempt, onNodeReview, onNodeView, userAttemptId],\n );\n\n const handleOnNodeCardClick = useCallback(() => {\n if (renderOptions || sheetLocked) return;\n\n if (canStart || canResume) {\n onNodeAttempt?.(nodeData);\n } else if (teacherMarkedAsCompleted) {\n onNodeView?.(nodeData);\n }\n }, [\n canResume,\n canStart,\n nodeData,\n onNodeAttempt,\n onNodeView,\n renderOptions,\n sheetLocked,\n teacherMarkedAsCompleted,\n ]);\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-review',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n if (canUnSkip) return null;\n\n return (\n <ContextMenu\n targetElement={\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={!sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={sheetLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n isStudent={isStudent}\n />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper $background=\"WHITE_1\" $heightX={4}>\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n }\n startLeft\n menuWidth=\"100%\"\n menuZIndex={6}\n menuOffset={2}\n menuElement={renderOptions ? <NodeMenuOptions options={menuOptions} /> : <></>}\n />\n );\n});\n\nexport default StudentActions;\n"],"names":["renderSettings","StudentActions","memo","props","nodeData","imageHue","blockType","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeView","isStudent","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","teacherMarkedAsCompleted","userAttemptId","canReview","canStart","canResume","canReset","canUnSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","inClassSheet","renderOptions","animationRef","useRef","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","handleOnNodeCardClick","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","RedoIcon","jsx","ContextMenu","Styled.NodeCardContainer","jsxs","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","NodeMenuOptions","Fragment"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"student-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/student-actions/student-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\n\nimport { memo, useCallback, useRef, type FC } from 'react';\n\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../../ui/context-menu/context-menu';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst StudentActions: FC<Omit<INodeCardProps, 'userType'>> = memo(props => {\n const {\n nodeData,\n imageHue,\n blockType,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n isStudent,\n } = props;\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n marked_as_completed: teacherMarkedAsCompleted,\n user_attempt_id: userAttemptId,\n } = nodeData;\n const {\n can_review: canReview,\n can_start: canStart,\n can_resume: canResume,\n can_reset: canReset,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canStartOrResume = canStart || canResume;\n\n const renderOptions = !canStartOrResume && (canReset || canReview);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-review':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-reattempt':\n onNodeReattempt?.(nodeData);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [canReview, nodeData, onNodeReattempt, onNodeReview, onNodeView, userAttemptId],\n );\n\n const handleOnNodeCardClick = useCallback(() => {\n if (renderOptions || sheetLocked) return;\n\n if (canStart || canResume) {\n onNodeAttempt?.(nodeData);\n } else if (teacherMarkedAsCompleted) {\n onNodeView?.(nodeData);\n }\n }, [\n canResume,\n canStart,\n nodeData,\n onNodeAttempt,\n onNodeView,\n renderOptions,\n sheetLocked,\n teacherMarkedAsCompleted,\n ]);\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-review',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <ContextMenu\n targetElement={\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={!sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={sheetLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n isStudent={isStudent}\n />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper $background=\"WHITE_1\" $heightX={4}>\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n }\n startLeft\n menuWidth=\"100%\"\n menuZIndex={6}\n menuOffset={2}\n menuElement={renderOptions ? <NodeMenuOptions options={menuOptions} /> : <></>}\n />\n );\n});\n\nexport default StudentActions;\n"],"names":["renderSettings","StudentActions","memo","props","nodeData","imageHue","blockType","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeView","isStudent","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","teacherMarkedAsCompleted","userAttemptId","canReview","canStart","canResume","canReset","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","inClassSheet","renderOptions","animationRef","useRef","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","handleOnNodeCardClick","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","RedoIcon","jsx","ContextMenu","Styled.NodeCardContainer","jsxs","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","NodeMenuOptions","Fragment"],"mappings":"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"}
|