@cuemath/leap 3.0.26-gs1 → 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.
Files changed (291) hide show
  1. package/dist/assets/gif/gif.js +22 -22
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +127 -127
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/images/images.js +32 -32
  6. package/dist/assets/images/images.js.map +1 -1
  7. package/dist/assets/lottie/lottie.js +86 -86
  8. package/dist/assets/lottie/lottie.js.map +1 -1
  9. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +22 -24
  10. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  11. package/dist/features/chapters-v2/chapter-details/chapter-details.js +45 -47
  12. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  13. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +11 -11
  14. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  15. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +115 -140
  16. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  17. package/dist/features/chapters-v2/utils/node-card-utils.js +46 -46
  18. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  19. package/dist/features/homework/homework-card-view.js +38 -40
  20. package/dist/features/homework/homework-card-view.js.map +1 -1
  21. package/dist/features/homework/homework-card.js +52 -53
  22. package/dist/features/homework/homework-card.js.map +1 -1
  23. package/dist/index.d.ts +245 -248
  24. package/package.json +1 -1
  25. package/dist/static/accuracy-meter.99585cba.json +0 -4218
  26. package/dist/static/accuracy-needle.cd6e63ac.json +0 -618
  27. package/dist/static/achievement_bg.0d0555ac.png +0 -0
  28. package/dist/static/advance-mode-segment-lottie.51ff6707.json +0 -1
  29. package/dist/static/alarm-clock-orange.31fb90d9.svg +0 -1
  30. package/dist/static/alarm-clock-purple.06d4911c.svg +0 -1
  31. package/dist/static/alien-1.fc7ba696.svg +0 -1
  32. package/dist/static/alien-2.15fdda07.svg +0 -1
  33. package/dist/static/alien-3.2664a37f.svg +0 -1
  34. package/dist/static/alien-4.06ac66da.svg +0 -1
  35. package/dist/static/ashta.0d3926b2.png +0 -0
  36. package/dist/static/avatar-selected.860ee923.json +0 -1
  37. package/dist/static/awesome.8e1cf046.png +0 -0
  38. package/dist/static/badge_success.2f6c8e65.png +0 -0
  39. package/dist/static/beginner1x.489908a7.json +0 -3508
  40. package/dist/static/bg_empty_resources.63b187fd.png +0 -0
  41. package/dist/static/blue-clip.87cc4543.svg +0 -1
  42. package/dist/static/bobwave.5603c70b.gif +0 -0
  43. package/dist/static/book-green.20f6eed3.svg +0 -1
  44. package/dist/static/book-open-blue.d4f8d08c.svg +0 -5
  45. package/dist/static/book-orange.04bdc75e.svg +0 -1
  46. package/dist/static/book-yellow.c210ac06.svg +0 -1
  47. package/dist/static/bronze-1.da4e4b5f.json +0 -4176
  48. package/dist/static/bronze-2.97f9c639.json +0 -4433
  49. package/dist/static/bronze-3.6a433ebd.json +0 -4786
  50. package/dist/static/bullet-yellow.2f892d88.svg +0 -1
  51. package/dist/static/calendar-blue.e0d52d09.svg +0 -1
  52. package/dist/static/calendar-gray.1c72682a.svg +0 -1
  53. package/dist/static/calendar-green.a2b6a393.svg +0 -1
  54. package/dist/static/caution.5766a967.svg +0 -1
  55. package/dist/static/chapter-1.8a1683a0.svg +0 -1
  56. package/dist/static/chapter-10.c97de4a5.svg +0 -1
  57. package/dist/static/chapter-2.71ac6dfc.svg +0 -1
  58. package/dist/static/chapter-3.003fc901.svg +0 -1
  59. package/dist/static/chapter-4.8abbacd8.svg +0 -1
  60. package/dist/static/chapter-5.c774b439.svg +0 -1
  61. package/dist/static/chapter-6.cb5cf1cb.svg +0 -1
  62. package/dist/static/chapter-7.57b0beb4.svg +0 -1
  63. package/dist/static/chapter-8.68d36477.svg +0 -1
  64. package/dist/static/chapter-9.0c00e26f.svg +0 -1
  65. package/dist/static/chapter-completed.1241399b.json +0 -497
  66. package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
  67. package/dist/static/chapter-header-bg.4ed173c2.svg +0 -1
  68. package/dist/static/chatva.d0c57a95.png +0 -0
  69. package/dist/static/circle-cuemath-logo-white.e9fafb91.svg +0 -1
  70. package/dist/static/circle-cuemath-logo.8bcb1ad4.svg +0 -1
  71. package/dist/static/circle-outercircle-bg.65f21460.svg +0 -1
  72. package/dist/static/circular-loader.a5a1a0a6.json +0 -238
  73. package/dist/static/clock-30min.eae818b8.json +0 -1197
  74. package/dist/static/clock-45min.df8adf51.json +0 -1197
  75. package/dist/static/clock-60min.2b48d875.json +0 -1197
  76. package/dist/static/clock-90min.3e557ed7.json +0 -1407
  77. package/dist/static/clock-orange.c144059b.svg +0 -6
  78. package/dist/static/color-1.45101b9a.json +0 -4545
  79. package/dist/static/color-2.ccdc7d0a.json +0 -4828
  80. package/dist/static/color-3.5e8e1422.json +0 -5273
  81. package/dist/static/community-bulb.3b42af21.svg +0 -1
  82. package/dist/static/competitive-arena.b9c40801.json +0 -1
  83. package/dist/static/congrats.75718de8.png +0 -0
  84. package/dist/static/cool.1893941c.png +0 -0
  85. package/dist/static/cosa.46c0c49b.png +0 -0
  86. package/dist/static/crosshair-circle.522a26ea.svg +0 -1
  87. package/dist/static/crown-overlay.11fb073c.svg +0 -1
  88. package/dist/static/crown.c18fa217.svg +0 -1
  89. package/dist/static/cuecoin-gold.bcb8085e.svg +0 -1
  90. package/dist/static/cuemath-app-qr-code.4beefe48.svg +0 -1
  91. package/dist/static/cuemath-app-qr-code.ba6cc09b.svg +0 -1
  92. package/dist/static/cuemath-app-qr-code.d0912fc7.png +0 -0
  93. package/dist/static/default-chapter.8ede1160.png +0 -0
  94. package/dist/static/desktop-with-purple-fill.dfec66cc.svg +0 -1
  95. package/dist/static/difficult.6846c064.json +0 -2755
  96. package/dist/static/dob.9ce3c15b.json +0 -1
  97. package/dist/static/doda.3103971c.png +0 -0
  98. package/dist/static/duration-30min-gray.f6442df4.svg +0 -1
  99. package/dist/static/duration-45min-gray.ad90fb23.svg +0 -1
  100. package/dist/static/duration-60min-gray.874e52a2.svg +0 -1
  101. package/dist/static/duration-90min-gray.32a04cef.svg +0 -1
  102. package/dist/static/dvi.fc7b32a5.png +0 -0
  103. package/dist/static/earth-green.e1329b7a.svg +0 -1
  104. package/dist/static/easy-rescheduling.3a6d1a00.gif +0 -0
  105. package/dist/static/easy.68242ddd.json +0 -2658
  106. package/dist/static/eka.b10a06fa.png +0 -0
  107. package/dist/static/elite-circle.3df58972.json +0 -6876
  108. package/dist/static/empty_mix_tests.1d251f07.png +0 -0
  109. package/dist/static/enrichment-mini.fc3c0f83.gif +0 -0
  110. package/dist/static/enrichment.571feac0.gif +0 -0
  111. package/dist/static/error-lottie.b3507a4b.json +0 -5255
  112. package/dist/static/error.cbe1ddde.json +0 -1
  113. package/dist/static/familiar1x.7c9c7f15.json +0 -3046
  114. package/dist/static/female-avatar.b8cd1012.svg +0 -1
  115. package/dist/static/fifteen-min-clock.0af4e303.json +0 -715
  116. package/dist/static/five-min-clock.6be5cc41.json +0 -721
  117. package/dist/static/game-play.4982b0cb.svg +0 -1
  118. package/dist/static/games.47abcb18.gif +0 -0
  119. package/dist/static/globe-with-blue-fill.beae6ca4.svg +0 -1
  120. package/dist/static/gold-1.ab2489fe.json +0 -4176
  121. package/dist/static/gold-2.34045826.json +0 -4441
  122. package/dist/static/gold-3.d704698b.json +0 -4810
  123. package/dist/static/grade-grid-background.b17b4ccb.svg +0 -1
  124. package/dist/static/grade.b3730524.json +0 -1
  125. package/dist/static/graduate-hat.4b49eb44.svg +0 -1
  126. package/dist/static/graduate-icon-pink.01fbfb1b.svg +0 -1
  127. package/dist/static/graduate-pink-filled-bg.c91e9c53.svg +0 -1
  128. package/dist/static/great.2a5dcc34.png +0 -0
  129. package/dist/static/green-balloon.67ac8587.svg +0 -1
  130. package/dist/static/green-face.1b4dd82f.svg +0 -1
  131. package/dist/static/hexo.eab4b9f5.png +0 -0
  132. package/dist/static/infinite-button-bg.5909225e.json +0 -1
  133. package/dist/static/infinite-button-symbol.aa31350c.json +0 -1
  134. package/dist/static/jigii-wave.150a6d18.gif +0 -0
  135. package/dist/static/key.d6846476.json +0 -1
  136. package/dist/static/kudos.b7e2aeb6.png +0 -0
  137. package/dist/static/learn.71b13323.json +0 -1
  138. package/dist/static/learned-shield-gray.1495b0d5.svg +0 -1
  139. package/dist/static/learned-shield-green.7c26b423.svg +0 -1
  140. package/dist/static/learning-plan.72d64a61.png +0 -0
  141. package/dist/static/learning-session.71cc8f22.gif +0 -0
  142. package/dist/static/learnt.870c5e38.svg +0 -1
  143. package/dist/static/lesson-overview-banner.f5404af6.png +0 -0
  144. package/dist/static/levelup-rings.b1055283.json +0 -549
  145. package/dist/static/like.cb492460.svg +0 -1
  146. package/dist/static/live-session.a0d25c78.svg +0 -1
  147. package/dist/static/loader-1.6524355e.svg +0 -1
  148. package/dist/static/loader.52f8c35c.svg +0 -1
  149. package/dist/static/locked.0c3b7577.svg +0 -1
  150. package/dist/static/mail.c30e8708.json +0 -1
  151. package/dist/static/maintenance.a26aca65.svg +0 -1
  152. package/dist/static/male-avatar.2febc9eb.svg +0 -1
  153. package/dist/static/mastered-badge.81f156fb.svg +0 -1
  154. package/dist/static/mastered-shield-gray.a58cbe19.svg +0 -1
  155. package/dist/static/mastered-shield-green.070fa4eb.svg +0 -1
  156. package/dist/static/max-wave.44e002c9.gif +0 -0
  157. package/dist/static/medium.94c3829b.json +0 -2289
  158. package/dist/static/mental-math.3c95f169.svg +0 -1
  159. package/dist/static/milestone-intro-1.281a354c.svg +0 -1
  160. package/dist/static/milestone-intro-2.19faee69.svg +0 -1
  161. package/dist/static/milestone-intro-3.6f6055d6.svg +0 -1
  162. package/dist/static/mistake.476d1aa7.svg +0 -1
  163. package/dist/static/no-info.f4bfe437.png +0 -0
  164. package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
  165. package/dist/static/node-learn-bg.b61f815c.svg +0 -1
  166. package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
  167. package/dist/static/node-project-bg.e6a33e28.svg +0 -1
  168. package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
  169. package/dist/static/node-recap-bg.546154e4.svg +0 -1
  170. package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
  171. package/dist/static/node-video-bg.3df3f73a.svg +0 -1
  172. package/dist/static/nudge-tap.5cb30093.json +0 -1057
  173. package/dist/static/number-1-orange.cbf526ed.svg +0 -1
  174. package/dist/static/number-2-orange.6f29eb72.svg +0 -1
  175. package/dist/static/number-3-orange.58baf717.svg +0 -1
  176. package/dist/static/number-4-orange.5ed1ec5e.svg +0 -1
  177. package/dist/static/octo.3020bd93.png +0 -0
  178. package/dist/static/one-star-filled.b6084257.svg +0 -1
  179. package/dist/static/orange-face.5824c2e9.svg +0 -1
  180. package/dist/static/otp.2d08f874.json +0 -1
  181. package/dist/static/otp.a3029760.json +0 -1
  182. package/dist/static/parent-avatar.772d53e0.json +0 -1
  183. package/dist/static/people-with-orange-fill.3835b8f1.svg +0 -1
  184. package/dist/static/phone-number.0be312ea.json +0 -1
  185. package/dist/static/phone-number.84f55562.json +0 -1
  186. package/dist/static/play-icon.13baaa7d.svg +0 -1
  187. package/dist/static/play.68d16dec.svg +0 -1
  188. package/dist/static/point1.b53831de.json +0 -2942
  189. package/dist/static/point10.7b5e536d.json +0 -3179
  190. package/dist/static/point100.1df16f82.json +0 -3196
  191. package/dist/static/point15.fea00c32.json +0 -3179
  192. package/dist/static/point2.7cec6e24.json +0 -1
  193. package/dist/static/point20.c88d776d.json +0 -3178
  194. package/dist/static/point25.a18c346a.json +0 -3178
  195. package/dist/static/point3.f96fe7aa.json +0 -1
  196. package/dist/static/point30.c5224b0b.json +0 -3202
  197. package/dist/static/point35.fad343dd.json +0 -3058
  198. package/dist/static/point4.fe04fb83.json +0 -1
  199. package/dist/static/point40.10a16f72.json +0 -3082
  200. package/dist/static/point45.2ad7561f.json +0 -3082
  201. package/dist/static/point5.da40ed1f.json +0 -2948
  202. package/dist/static/point50.5718cb3d.json +0 -3046
  203. package/dist/static/point60.17380d9f.json +0 -3076
  204. package/dist/static/points-sum.360e63de.svg +0 -1
  205. package/dist/static/practice.158dd488.json +0 -1
  206. package/dist/static/practiced-shield-green.90278855.svg +0 -1
  207. package/dist/static/practiced-shield-grey.16cf4fe0.svg +0 -1
  208. package/dist/static/proficient-badge.1a6dbb72.svg +0 -1
  209. package/dist/static/proficient1x.fa6e7b80.json +0 -3430
  210. package/dist/static/profile-board.4f4a17e6.svg +0 -1
  211. package/dist/static/project.eb665827.json +0 -1
  212. package/dist/static/puzzle-student.de530364.svg +0 -1
  213. package/dist/static/puzzle.5aad5cf8.svg +0 -1
  214. package/dist/static/puzzle.b298c7e4.json +0 -1
  215. package/dist/static/puzzle_card_easy.7d9439b5.png +0 -0
  216. package/dist/static/puzzle_card_hard.185a19c4.png +0 -0
  217. package/dist/static/puzzle_card_medium.17daef9c.png +0 -0
  218. package/dist/static/puzzles.1e269965.gif +0 -0
  219. package/dist/static/random-mode-segment-lottie.79cf1c07.json +0 -1
  220. package/dist/static/recap.0dd2c1e2.json +0 -1
  221. package/dist/static/refund-policy-with-headphone.589398e0.svg +0 -1
  222. package/dist/static/refund-policy.912dbb4c.svg +0 -1
  223. package/dist/static/report-404.dd67785c.svg +0 -1
  224. package/dist/static/rocket-broken.1f86fa43.svg +0 -1
  225. package/dist/static/rocket-yellow.62d27e15.svg +0 -1
  226. package/dist/static/school-success-mini.f74a852f.gif +0 -0
  227. package/dist/static/school-success.f9669771.gif +0 -0
  228. package/dist/static/score.41971107.svg +0 -1
  229. package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +0 -1
  230. package/dist/static/shared.3af01b49.png +0 -0
  231. package/dist/static/sheet-reference.9da7a09f.png +0 -0
  232. package/dist/static/silver-1.0396328a.json +0 -4168
  233. package/dist/static/silver-2.bf50615f.json +0 -4433
  234. package/dist/static/silver-3.13d66b84.json +0 -4810
  235. package/dist/static/skills.90ce4cbb.gif +0 -0
  236. package/dist/static/sleepy-boi.031a1165.json +0 -1008
  237. package/dist/static/smiley.49bb7d7c.svg +0 -1
  238. package/dist/static/speckie-wave.510639ce.gif +0 -0
  239. package/dist/static/spinner-white.639e0d87.json +0 -122
  240. package/dist/static/spiral_pattern.9fd3e6e9.png +0 -0
  241. package/dist/static/splash-screen.bbf567ce.json +0 -2411
  242. package/dist/static/star-orange-filled.a7ff9c8f.svg +0 -1
  243. package/dist/static/star-orange.a91a341f.svg +0 -1
  244. package/dist/static/star-with-green-fill.86877d41.svg +0 -1
  245. package/dist/static/stay-connected.371d3d9d.gif +0 -0
  246. package/dist/static/streak-green.b59bf4dd.svg +0 -1
  247. package/dist/static/streak-white.2cbdc9b8.svg +0 -1
  248. package/dist/static/student-avatar.524226bd.json +0 -1
  249. package/dist/static/table-mode-reveal.b44a82c3.json +0 -1
  250. package/dist/static/table-mode-star.b8a1d762.json +0 -1
  251. package/dist/static/table-segment-star.78e851d6.json +0 -1
  252. package/dist/static/target-achieved-text.053bd142.json +0 -2830
  253. package/dist/static/target-achieved-text.10db8475.json +0 -1
  254. package/dist/static/teacher-validation.7577ecdc.json +0 -245
  255. package/dist/static/tera-wave.2954a6a4.gif +0 -0
  256. package/dist/static/test-difficulty-easy.56df71dd.svg +0 -1
  257. package/dist/static/test-difficulty-hard.7250f1f4.svg +0 -1
  258. package/dist/static/test-difficulty-medium.2fd9686e.svg +0 -1
  259. package/dist/static/test-prep-mini.718e5734.gif +0 -0
  260. package/dist/static/test-prep.ea433f71.gif +0 -0
  261. package/dist/static/test.803d6036.json +0 -1
  262. package/dist/static/tetra.354ff2b9.png +0 -0
  263. package/dist/static/three-stars-filled.72b51f03.svg +0 -1
  264. package/dist/static/tick-green.a1654049.svg +0 -1
  265. package/dist/static/total-streak.d5ce7669.json +0 -842
  266. package/dist/static/total-time-spent.434005d3.json +0 -200
  267. package/dist/static/total-time.d979cbb9.json +0 -24383
  268. package/dist/static/tournament-ripple.e5c239a5.json +0 -1047
  269. package/dist/static/track-progress.c75b1031.gif +0 -0
  270. package/dist/static/trophy-blue-filled.7e2b40ab.svg +0 -1
  271. package/dist/static/trophy-blue.e684ba4c.svg +0 -1
  272. package/dist/static/trophy-circle.b7b23e36.svg +0 -1
  273. package/dist/static/trophy-green.6c0741c8.svg +0 -10
  274. package/dist/static/two-stars-filled.a51a14b4.svg +0 -1
  275. package/dist/static/up-arrow.a6946bd3.svg +0 -1
  276. package/dist/static/user-crown-grid-background.c2875a73.svg +0 -1
  277. package/dist/static/user-down.a06f2f94.svg +0 -1
  278. package/dist/static/user-pin.5f334465.svg +0 -1
  279. package/dist/static/user-profile-background.199977a9.svg +0 -1
  280. package/dist/static/user-type-selector-grid-bg.3c9c8ad6.svg +0 -1
  281. package/dist/static/user-type-selector-grid-bg.3ce8142d.svg +0 -1
  282. package/dist/static/user-type-selector-grid-bg.aad0b059.svg +0 -1
  283. package/dist/static/user-up.2aecbbae.svg +0 -1
  284. package/dist/static/username.9e034d51.json +0 -1
  285. package/dist/static/video.b41451e2.json +0 -1
  286. package/dist/static/vinnie-wave.10734dd5.gif +0 -0
  287. package/dist/static/way-forward.1428093e.gif +0 -0
  288. package/dist/static/wow.864fbb02.png +0 -0
  289. package/dist/static/yellow-face.b7525a33.svg +0 -1
  290. package/dist/static/your-goals.63ffbee5.gif +0 -0
  291. package/dist/static/zodasa.336c3bb0.png +0 -0
@@ -1,33 +1,33 @@
1
- import { jsx as e, jsxs as p } from "react/jsx-runtime";
2
- import T from "../../../assets/line-icons/icons/check2.js";
3
- import f from "../../../assets/line-icons/icons/exclamation.js";
4
- import u from "../../../assets/line-icons/icons/lock2.js";
5
- import R from "../../../assets/line-icons/icons/status.js";
6
- import { LOTTIE as r } from "../../../assets/lottie/lottie.js";
7
- import A from "../../ui/layout/flex-view.js";
8
- import d from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
- import E from "../../ui/text/text.js";
10
- import { InProgressIconWrapper as I } from "../comps/node-card/node-card-styled.js";
11
- import m from "../comps/tag/tag.js";
12
- const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
1
+ import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
+ import p from "../../../assets/line-icons/icons/check2.js";
3
+ import T from "../../../assets/line-icons/icons/exclamation.js";
4
+ import f from "../../../assets/line-icons/icons/lock2.js";
5
+ import u from "../../../assets/line-icons/icons/status.js";
6
+ import { LOTTIE as o } from "../../../assets/lottie/lottie.js";
7
+ import R from "../../ui/layout/flex-view.js";
8
+ import a from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
+ import d from "../../ui/text/text.js";
10
+ import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
11
+ import I from "../comps/tag/tag.js";
12
+ const A = 60 * 60 * 24, h = ["NOT_STARTED", "IN_PROGRESS"], $ = (t) => {
13
13
  if (!t)
14
14
  return { isOverdue: !1, daysText: "", differenceInDays: 0 };
15
- const n = Math.floor(Date.now() / 1e3), c = t - n, o = Math.ceil(c / h), s = o < 0, a = o > 0 ? `${Math.abs(o)}D` : "";
16
- return { isOverdue: s, daysText: a, differenceInDays: o };
17
- }, w = (t, n, c, o, s) => {
18
- const { isOverdue: a, daysText: i, differenceInDays: l } = D(o);
19
- if (!s && a && $.includes(t))
15
+ const i = Math.floor(Date.now() / 1e3), c = t - i, n = Math.ceil(c / A), s = n < 0, r = n > 0 ? `${Math.abs(n)}D` : "";
16
+ return { isOverdue: s, daysText: r, differenceInDays: n };
17
+ }, y = (t, i, c, n) => {
18
+ const { isOverdue: s, daysText: r, differenceInDays: E } = $(n);
19
+ if (s && h.includes(t))
20
20
  return {
21
21
  icon: /* @__PURE__ */ e(
22
- d,
22
+ a,
23
23
  {
24
24
  renderAs: "primary",
25
25
  position: "bottom",
26
26
  tooltipItem: "Complete now",
27
27
  zIndex: 10,
28
- hidden: !n,
28
+ hidden: !i,
29
29
  parentWidth: "fit-content",
30
- children: /* @__PURE__ */ e(A, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(E, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
30
+ children: /* @__PURE__ */ e(R, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(d, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
31
31
  }
32
32
  ),
33
33
  top: -10,
@@ -37,15 +37,15 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
37
37
  case "NOT_STARTED":
38
38
  return {
39
39
  icon: /* @__PURE__ */ e(
40
- d,
40
+ a,
41
41
  {
42
42
  renderAs: "primary",
43
43
  position: "bottom",
44
- tooltipItem: l > 1 ? `${l} days left` : "Complete it today",
44
+ tooltipItem: E > 1 ? `${E} days left` : "Complete it today",
45
45
  zIndex: 10,
46
- hidden: !n,
46
+ hidden: !i,
47
47
  children: /* @__PURE__ */ e(
48
- I,
48
+ l,
49
49
  {
50
50
  $flexDirection: "row",
51
51
  $alignItems: "center",
@@ -53,7 +53,7 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
53
53
  $borderRadius: 16,
54
54
  $paddingRight: 6,
55
55
  $paddingLeft: 6,
56
- children: i && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: i })
56
+ children: r && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: r })
57
57
  }
58
58
  )
59
59
  }
@@ -63,24 +63,24 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
63
63
  };
64
64
  case "LOCKED":
65
65
  return {
66
- icon: /* @__PURE__ */ e(u, { width: 32, height: 32 }),
66
+ icon: /* @__PURE__ */ e(f, { width: 32, height: 32 }),
67
67
  top: -12,
68
68
  right: -12
69
69
  };
70
70
  case "IN_PROGRESS":
71
71
  return {
72
- icon: /* @__PURE__ */ p(
73
- I,
72
+ icon: /* @__PURE__ */ m(
73
+ l,
74
74
  {
75
75
  $flexDirection: "row",
76
76
  $alignItems: "center",
77
77
  $justifyContent: "center",
78
78
  $borderRadius: 16,
79
79
  $paddingRight: 0,
80
- $paddingLeft: i ? 6 : 0,
80
+ $paddingLeft: r ? 6 : 0,
81
81
  children: [
82
- i && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: i }),
83
- /* @__PURE__ */ e(R, {})
82
+ r && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: r }),
83
+ /* @__PURE__ */ e(u, {})
84
84
  ]
85
85
  }
86
86
  )
@@ -88,9 +88,9 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
88
88
  case "COMPLETED":
89
89
  return {
90
90
  icon: /* @__PURE__ */ e(
91
- m,
91
+ I,
92
92
  {
93
- Icon: T,
93
+ Icon: p,
94
94
  label: typeof c == "number" ? `${c}%` : void 0
95
95
  }
96
96
  ),
@@ -100,13 +100,13 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
100
100
  case "WAIT_FOR_REVIEW":
101
101
  return {
102
102
  icon: /* @__PURE__ */ e(
103
- d,
103
+ a,
104
104
  {
105
105
  renderAs: "primary",
106
106
  position: "bottom",
107
- tooltipItem: n ? "Waiting for teacher to review" : "Needs your review",
107
+ tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
108
108
  zIndex: 10,
109
- children: /* @__PURE__ */ e(m, { Icon: f })
109
+ children: /* @__PURE__ */ e(I, { Icon: T })
110
110
  }
111
111
  ),
112
112
  top: -10,
@@ -117,53 +117,53 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
117
117
  icon: void 0
118
118
  };
119
119
  }
120
- }, M = (t) => {
120
+ }, w = (t) => {
121
121
  switch (t) {
122
122
  case "LEARNING":
123
123
  case "LEVEL2":
124
124
  case "LEVEL3":
125
125
  return {
126
- lottie: r.LEARN
126
+ lottie: o.LEARN
127
127
  };
128
128
  case "RECAP":
129
129
  case "REMEDIAL":
130
130
  case "REVISION":
131
131
  return {
132
- lottie: r.RECAP
132
+ lottie: o.RECAP
133
133
  };
134
134
  case "DYNAMIC":
135
135
  case "ASSESSMENT":
136
136
  case "CHAPTER_ASSESSMENT":
137
137
  case "DIAGNOSTIC":
138
138
  return {
139
- lottie: r.TEST
139
+ lottie: o.TEST
140
140
  };
141
141
  case "PRACTICE":
142
142
  case "EXTRA_PRACTICE":
143
143
  case "TARGET_PRACTICE":
144
144
  case "MASTERY":
145
145
  return {
146
- lottie: r.PRACTICE
146
+ lottie: o.PRACTICE
147
147
  };
148
148
  case "PUZZLE":
149
149
  case "PUZZLE_EASY":
150
150
  case "PUZZLE_MEDIUM":
151
151
  case "PUZZLE_HARD":
152
152
  return {
153
- lottie: r.PUZZLE
153
+ lottie: o.PUZZLE
154
154
  };
155
155
  case "VIDEO":
156
156
  return {
157
- lottie: r.VIDEO
157
+ lottie: o.VIDEO
158
158
  };
159
159
  default:
160
160
  return {
161
- lottie: r.PROJECT
161
+ lottie: o.PROJECT
162
162
  };
163
163
  }
164
164
  };
165
165
  export {
166
- M as getNodeCardBasedIcon,
167
- w as getNodeStateBasedTagInfo
166
+ w as getNodeCardBasedIcon,
167
+ y as getNodeStateBasedTagInfo
168
168
  };
169
169
  //# sourceMappingURL=node-card-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null): DueDateInfo => {\n if (!dueDateTs) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEARNING':\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","isMilestone","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
1
+ {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null): DueDateInfo => {\n if (!dueDateTs) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs);\n\n if (isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEARNING':\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
@@ -1,43 +1,42 @@
1
1
  import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
- import { memo as N, useState as v, useRef as p, useCallback as u, useLayoutEffect as B } from "react";
3
- import R from "../../assets/line-icons/icons/closed-eye.js";
4
- import L from "../chapters-v2/comps/node-card/node-card-tags.js";
5
- import { getNodeTypeBasedBgImage as O } from "../chapters-v2/utils/index.js";
6
- import { getNodeCardBasedIcon as S } from "../chapters-v2/utils/node-card-utils.js";
2
+ import { memo as X, useState as N, useRef as p, useCallback as u, useLayoutEffect as v } from "react";
3
+ import B from "../../assets/line-icons/icons/closed-eye.js";
4
+ import R from "../chapters-v2/comps/node-card/node-card-tags.js";
5
+ import { getNodeTypeBasedBgImage as L } from "../chapters-v2/utils/index.js";
6
+ import { getNodeCardBasedIcon as O } from "../chapters-v2/utils/node-card-utils.js";
7
7
  import g from "../ui/arrow-tooltip/arrow-tooltip.js";
8
8
  import r from "../ui/layout/flex-view.js";
9
- import W from "../ui/lottie-animation/lottie-animation.js";
10
- import D from "./card-title.js";
11
- import j from "./node-progress.js";
12
- import { CardWrapper as G, IconWrapper as M, BannerImageWrapper as V, BannerImage as z, HeaderText as U, SubHeaderText as F } from "./styles.js";
13
- const K = { renderer: "canvas", autoplay: !1 }, P = ({
9
+ import S from "../ui/lottie-animation/lottie-animation.js";
10
+ import W from "./card-title.js";
11
+ import D from "./node-progress.js";
12
+ import { CardWrapper as j, IconWrapper as G, BannerImageWrapper as M, BannerImage as V, HeaderText as z, SubHeaderText as U } from "./styles.js";
13
+ const F = { renderer: "canvas", autoplay: !1 }, K = ({
14
14
  header: d,
15
15
  isInQueue: h,
16
16
  nodeData: $,
17
17
  studentContainerRef: f,
18
18
  subHeader: T,
19
- userType: w,
20
- isMilestone: I = !1
19
+ userType: w
21
20
  }) => {
22
21
  const {
23
22
  node_type: o,
24
- state: b,
25
- accuracy: y,
23
+ state: I,
24
+ accuracy: b,
26
25
  due_date_ts: a,
27
26
  image_url: c,
28
27
  image_hue: l,
29
- card_header: _ = "",
28
+ card_header: y = "",
30
29
  unlocked_on_ts: m,
31
- course_type: x
32
- } = $, [C, H] = v(!1), n = p(null), k = O(o), s = p(null), { lottie: A } = S(o), E = u(() => {
30
+ course_type: _
31
+ } = $, [x, C] = N(!1), n = p(null), H = L(o), s = p(null), { lottie: k } = O(o), A = u(() => {
33
32
  var t;
34
33
  (t = s.current) == null || t.play();
35
- }, []), X = u(() => {
34
+ }, []), E = u(() => {
36
35
  var t;
37
36
  (t = s.current) == null || t.stop();
38
37
  }, []);
39
- return B(() => {
40
- n.current && n.current.scrollHeight > n.current.clientHeight && H(!0);
38
+ return v(() => {
39
+ n.current && n.current.scrollHeight > n.current.clientHeight && C(!0);
41
40
  }, []), /* @__PURE__ */ i(
42
41
  r,
43
42
  {
@@ -45,23 +44,23 @@ const K = { renderer: "canvas", autoplay: !1 }, P = ({
45
44
  $widthX: 12.38,
46
45
  $position: "relative",
47
46
  $background: `${l || "ORANGE"}_2`,
48
- onMouseEnter: E,
49
- onMouseLeave: X,
47
+ onMouseEnter: A,
48
+ onMouseLeave: E,
50
49
  children: [
51
50
  /* @__PURE__ */ i(
52
- G,
51
+ j,
53
52
  {
54
53
  $flexDirection: "row",
55
54
  $alignItems: "center",
56
55
  $width: "100%",
57
56
  $heightX: 3.5,
58
- $bgImage: k,
57
+ $bgImage: H,
59
58
  $gutterX: 0.78125,
60
59
  $flexGap: 8.5,
61
60
  $position: "relative",
62
61
  children: [
63
62
  /* @__PURE__ */ e(
64
- M,
63
+ G,
65
64
  {
66
65
  $width: 31,
67
66
  $height: 31,
@@ -70,10 +69,10 @@ const K = { renderer: "canvas", autoplay: !1 }, P = ({
70
69
  $position: "relative",
71
70
  $alignItems: "center",
72
71
  $justifyContent: "center",
73
- children: /* @__PURE__ */ e(W, { src: A, ref: s, settings: K })
72
+ children: /* @__PURE__ */ e(S, { src: k, ref: s, settings: F })
74
73
  }
75
74
  ),
76
- /* @__PURE__ */ e(D, { cardHeader: _, nodeType: o, courseType: x }),
75
+ /* @__PURE__ */ e(W, { cardHeader: y, nodeType: o, courseType: _ }),
77
76
  h && /* @__PURE__ */ e(
78
77
  g,
79
78
  {
@@ -81,26 +80,25 @@ const K = { renderer: "canvas", autoplay: !1 }, P = ({
81
80
  tooltipItem: "Not visible to student",
82
81
  position: "bottom",
83
82
  zIndex: 6,
84
- children: /* @__PURE__ */ e(R, {})
83
+ children: /* @__PURE__ */ e(B, {})
85
84
  }
86
85
  ),
87
- !!c && /* @__PURE__ */ e(V, { children: /* @__PURE__ */ e(z, { src: c, alt: "Chapter image" }) })
86
+ !!c && /* @__PURE__ */ e(M, { children: /* @__PURE__ */ e(V, { src: c, alt: "Chapter image" }) })
88
87
  ]
89
88
  }
90
89
  ),
91
90
  /* @__PURE__ */ e(
92
- L,
91
+ R,
93
92
  {
94
93
  nodeType: o,
95
- state: b,
96
- accuracy: y,
94
+ state: I,
95
+ accuracy: b,
97
96
  dueDateTs: a,
98
- isStudent: w === "STUDENT",
99
- isMilestone: I
97
+ isStudent: w === "STUDENT"
100
98
  }
101
99
  ),
102
100
  a && m && /* @__PURE__ */ e(
103
- j,
101
+ D,
104
102
  {
105
103
  dueDate: a * 1e3,
106
104
  unlockedOn: m * 1e3,
@@ -115,10 +113,10 @@ const K = { renderer: "canvas", autoplay: !1 }, P = ({
115
113
  position: "bottom",
116
114
  tooltipItem: d,
117
115
  width: 300,
118
- hidden: !C,
116
+ hidden: !x,
119
117
  parentWidth: "auto",
120
118
  zIndex: 6,
121
- children: /* @__PURE__ */ e(r, { $heightX: 2.5, children: /* @__PURE__ */ e(U, { ref: n, $renderAs: "ab3", children: d }) })
119
+ children: /* @__PURE__ */ e(r, { $heightX: 2.5, children: /* @__PURE__ */ e(z, { ref: n, $renderAs: "ab3", children: d }) })
122
120
  }
123
121
  ),
124
122
  /* @__PURE__ */ i(
@@ -129,7 +127,7 @@ const K = { renderer: "canvas", autoplay: !1 }, P = ({
129
127
  $alignItems: "center",
130
128
  $justifyContent: "space-between",
131
129
  children: [
132
- /* @__PURE__ */ e(F, { $renderAs: "ub3", $color: "BLACK_T_60", children: T }),
130
+ /* @__PURE__ */ e(U, { $renderAs: "ub3", $color: "BLACK_T_60", children: T }),
133
131
  /* @__PURE__ */ e(r, { $width: 32 })
134
132
  ]
135
133
  }
@@ -138,8 +136,8 @@ const K = { renderer: "canvas", autoplay: !1 }, P = ({
138
136
  ]
139
137
  }
140
138
  );
141
- }, se = N(P);
139
+ }, ae = X(K);
142
140
  export {
143
- se as default
141
+ ae as default
144
142
  };
145
143
  //# sourceMappingURL=homework-card-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport CardTitle from './card-title';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n isMilestone?: boolean;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n isMilestone = false,\n}) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n } = nodeData;\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","isMilestone","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","unlockedOnTs","courseType","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsxs","FlexView","Styled.CardWrapper","jsx","Styled.IconWrapper","LottieAnimation","CardTitle","ArrowTooltip","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","NodeProgress","Styled.HeaderText","Styled.SubHeaderText","HomeworkView$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport CardTitle from './card-title';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n}) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n } = nodeData;\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n />\n {dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","unlockedOnTs","courseType","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsxs","FlexView","Styled.CardWrapper","jsx","Styled.IconWrapper","LottieAnimation","CardTitle","ArrowTooltip","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","NodeProgress","Styled.HeaderText","Styled.SubHeaderText","HomeworkView$1","memo"],"mappings":"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"}