@cuemath/leap 3.3.38-m → 3.4.0

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 (1041) hide show
  1. package/dist/assets/gif/gif.js +4 -1
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +1 -1
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/line-icons/icons/after-noon.js.map +1 -1
  6. package/dist/assets/line-icons/icons/alert.js.map +1 -1
  7. package/dist/assets/line-icons/icons/apple-icon-white.js.map +1 -1
  8. package/dist/assets/line-icons/icons/apple-icon.js.map +1 -1
  9. package/dist/assets/line-icons/icons/back.js.map +1 -1
  10. package/dist/assets/line-icons/icons/back2.js.map +1 -1
  11. package/dist/assets/line-icons/icons/bin.js.map +1 -1
  12. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  13. package/dist/assets/line-icons/icons/book-closed.js.map +1 -1
  14. package/dist/assets/line-icons/icons/book.js.map +1 -1
  15. package/dist/assets/line-icons/icons/book2.js.map +1 -1
  16. package/dist/assets/line-icons/icons/bookmark-stroke-icon.js.map +1 -1
  17. package/dist/assets/line-icons/icons/bookmark.js.map +1 -1
  18. package/dist/assets/line-icons/icons/bulb.js.map +1 -1
  19. package/dist/assets/line-icons/icons/bulb2.js.map +1 -1
  20. package/dist/assets/line-icons/icons/calculator.js.map +1 -1
  21. package/dist/assets/line-icons/icons/calendar.js.map +1 -1
  22. package/dist/assets/line-icons/icons/carat-left.js.map +1 -1
  23. package/dist/assets/line-icons/icons/carat-right.js.map +1 -1
  24. package/dist/assets/line-icons/icons/chat.js.map +1 -1
  25. package/dist/assets/line-icons/icons/check.js.map +1 -1
  26. package/dist/assets/line-icons/icons/check2.js.map +1 -1
  27. package/dist/assets/line-icons/icons/chevron-down.js.map +1 -1
  28. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  29. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  30. package/dist/assets/line-icons/icons/circle-back.js.map +1 -1
  31. package/dist/assets/line-icons/icons/clear-all.js.map +1 -1
  32. package/dist/assets/line-icons/icons/clipboard.js.map +1 -1
  33. package/dist/assets/line-icons/icons/clock.js.map +1 -1
  34. package/dist/assets/line-icons/icons/clock2.js.map +1 -1
  35. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -1
  36. package/dist/assets/line-icons/icons/code.js.map +1 -1
  37. package/dist/assets/line-icons/icons/copy.js.map +1 -1
  38. package/dist/assets/line-icons/icons/cross.js.map +1 -1
  39. package/dist/assets/line-icons/icons/cue-board-filled.js.map +1 -1
  40. package/dist/assets/line-icons/icons/cue-board.js.map +1 -1
  41. package/dist/assets/line-icons/icons/cue-coin.js.map +1 -1
  42. package/dist/assets/line-icons/icons/cue-rocket.js.map +1 -1
  43. package/dist/assets/line-icons/icons/cuemath-logo.js.map +1 -1
  44. package/dist/assets/line-icons/icons/cursor.js.map +1 -1
  45. package/dist/assets/line-icons/icons/dash-arrow.js.map +1 -1
  46. package/dist/assets/line-icons/icons/down.js.map +1 -1
  47. package/dist/assets/line-icons/icons/download.js.map +1 -1
  48. package/dist/assets/line-icons/icons/draft.js.map +1 -1
  49. package/dist/assets/line-icons/icons/drag.js.map +1 -1
  50. package/dist/assets/line-icons/icons/edit-star.js.map +1 -1
  51. package/dist/assets/line-icons/icons/edit.js.map +1 -1
  52. package/dist/assets/line-icons/icons/edit2.js.map +1 -1
  53. package/dist/assets/line-icons/icons/equation.js.map +1 -1
  54. package/dist/assets/line-icons/icons/eraser.js.map +1 -1
  55. package/dist/assets/line-icons/icons/evening.js.map +1 -1
  56. package/dist/assets/line-icons/icons/exclamation.js.map +1 -1
  57. package/dist/assets/line-icons/icons/eye.js.map +1 -1
  58. package/dist/assets/line-icons/icons/eye2.js.map +1 -1
  59. package/dist/assets/line-icons/icons/game.js.map +1 -1
  60. package/dist/assets/line-icons/icons/google-icon.js.map +1 -1
  61. package/dist/assets/line-icons/icons/grid-icon.js.map +1 -1
  62. package/dist/assets/line-icons/icons/hand.js.map +1 -1
  63. package/dist/assets/line-icons/icons/help.js.map +1 -1
  64. package/dist/assets/line-icons/icons/highlighter.js.map +1 -1
  65. package/dist/assets/line-icons/icons/hint-fill.js.map +1 -1
  66. package/dist/assets/line-icons/icons/home.js.map +1 -1
  67. package/dist/assets/line-icons/icons/home2.js.map +1 -1
  68. package/dist/assets/line-icons/icons/image.js.map +1 -1
  69. package/dist/assets/line-icons/icons/important.js.map +1 -1
  70. package/dist/assets/line-icons/icons/info.js.map +1 -1
  71. package/dist/assets/line-icons/icons/info2.js.map +1 -1
  72. package/dist/assets/line-icons/icons/left.js.map +1 -1
  73. package/dist/assets/line-icons/icons/link.js.map +1 -1
  74. package/dist/assets/line-icons/icons/lock.js.map +1 -1
  75. package/dist/assets/line-icons/icons/lock2.js.map +1 -1
  76. package/dist/assets/line-icons/icons/lock3.js.map +1 -1
  77. package/dist/assets/line-icons/icons/minus.js.map +1 -1
  78. package/dist/assets/line-icons/icons/minus2.js.map +1 -1
  79. package/dist/assets/line-icons/icons/mistake.js.map +1 -1
  80. package/dist/assets/line-icons/icons/mobile.js.map +1 -1
  81. package/dist/assets/line-icons/icons/more-vertical.js.map +1 -1
  82. package/dist/assets/line-icons/icons/morning.js.map +1 -1
  83. package/dist/assets/line-icons/icons/next.js.map +1 -1
  84. package/dist/assets/line-icons/icons/next2.js.map +1 -1
  85. package/dist/assets/line-icons/icons/pan.js.map +1 -1
  86. package/dist/assets/line-icons/icons/pencil.js.map +1 -1
  87. package/dist/assets/line-icons/icons/play.js.map +1 -1
  88. package/dist/assets/line-icons/icons/play2.js.map +1 -1
  89. package/dist/assets/line-icons/icons/plus.js.map +1 -1
  90. package/dist/assets/line-icons/icons/plus2.js.map +1 -1
  91. package/dist/assets/line-icons/icons/pointer.js.map +1 -1
  92. package/dist/assets/line-icons/icons/practice.js.map +1 -1
  93. package/dist/assets/line-icons/icons/progress.js.map +1 -1
  94. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -1
  95. package/dist/assets/line-icons/icons/puzzle2.js.map +1 -1
  96. package/dist/assets/line-icons/icons/question-letter.js.map +1 -1
  97. package/dist/assets/line-icons/icons/question.js.map +1 -1
  98. package/dist/assets/line-icons/icons/redo.js.map +1 -1
  99. package/dist/assets/line-icons/icons/right.js.map +1 -1
  100. package/dist/assets/line-icons/icons/ruler.js.map +1 -1
  101. package/dist/assets/line-icons/icons/screen-grab-filled.js.map +1 -1
  102. package/dist/assets/line-icons/icons/screen-grab.js.map +1 -1
  103. package/dist/assets/line-icons/icons/scribble.js.map +1 -1
  104. package/dist/assets/line-icons/icons/search.js.map +1 -1
  105. package/dist/assets/line-icons/icons/share.js.map +1 -1
  106. package/dist/assets/line-icons/icons/sheet.js.map +1 -1
  107. package/dist/assets/line-icons/icons/sketch.js.map +1 -1
  108. package/dist/assets/line-icons/icons/skip-colored.js.map +1 -1
  109. package/dist/assets/line-icons/icons/skip.js.map +1 -1
  110. package/dist/assets/line-icons/icons/skip2.js.map +1 -1
  111. package/dist/assets/line-icons/icons/square-checked-grid.js.map +1 -1
  112. package/dist/assets/line-icons/icons/square-dots.js.map +1 -1
  113. package/dist/assets/line-icons/icons/square-grid.js.map +1 -1
  114. package/dist/assets/line-icons/icons/square2-grid.js.map +1 -1
  115. package/dist/assets/line-icons/icons/star.js.map +1 -1
  116. package/dist/assets/line-icons/icons/star2.js.map +1 -1
  117. package/dist/assets/line-icons/icons/star3.js.map +1 -1
  118. package/dist/assets/line-icons/icons/status.js.map +1 -1
  119. package/dist/assets/line-icons/icons/sticker-filled.js.map +1 -1
  120. package/dist/assets/line-icons/icons/sticker.js.map +1 -1
  121. package/dist/assets/line-icons/icons/striked-eye.js.map +1 -1
  122. package/dist/assets/line-icons/icons/switch-icon.js.map +1 -1
  123. package/dist/assets/line-icons/icons/text-icon.js.map +1 -1
  124. package/dist/assets/line-icons/icons/tick.js.map +1 -1
  125. package/dist/assets/line-icons/icons/tile.js.map +1 -1
  126. package/dist/assets/line-icons/icons/tri-dots.js.map +1 -1
  127. package/dist/assets/line-icons/icons/tri-grid.js.map +1 -1
  128. package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -1
  129. package/dist/assets/line-icons/icons/tri2-grid.js.map +1 -1
  130. package/dist/assets/line-icons/icons/trophy.js.map +1 -1
  131. package/dist/assets/line-icons/icons/tutoring.js.map +1 -1
  132. package/dist/assets/line-icons/icons/undo.js.map +1 -1
  133. package/dist/assets/line-icons/icons/unlock.js.map +1 -1
  134. package/dist/assets/line-icons/icons/unlock2.js.map +1 -1
  135. package/dist/assets/line-icons/icons/up.js.map +1 -1
  136. package/dist/assets/line-icons/icons/upload.js.map +1 -1
  137. package/dist/assets/line-icons/icons/user.js.map +1 -1
  138. package/dist/assets/line-icons/icons/user2.js.map +1 -1
  139. package/dist/assets/line-icons/icons/wins-common-icon.js.map +1 -1
  140. package/dist/assets/line-icons/icons/wins-epic-icon.js.map +1 -1
  141. package/dist/assets/line-icons/icons/wins-legendary-icon.js.map +1 -1
  142. package/dist/assets/line-icons/icons/wins-mystery-icon.js.map +1 -1
  143. package/dist/assets/line-icons/icons/wins-mythic-icon.js.map +1 -1
  144. package/dist/assets/line-icons/icons/wins-rare-icon.js.map +1 -1
  145. package/dist/assets/line-icons/icons/zoom-in.js.map +1 -1
  146. package/dist/assets/line-icons/icons/zoom-out.js.map +1 -1
  147. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  148. package/dist/features/auth/account-selector/comps/compact-header/account-selector-header.js.map +1 -1
  149. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +1 -1
  150. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  151. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.js.map +1 -1
  152. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  153. package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js.map +1 -1
  154. package/dist/features/auth/comps/input-status-icon/input-status-icon.js.map +1 -1
  155. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -1
  156. package/dist/features/auth/comps/otp-input/otp-input.js +31 -31
  157. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  158. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  159. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  160. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +1 -1
  161. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  162. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  163. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  164. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  165. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  166. package/dist/features/auth/forgot-password/otp-form/otp-form.js.map +1 -1
  167. package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js.map +1 -1
  168. package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js.map +1 -1
  169. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
  170. package/dist/features/auth/login/social-account-not-found/social-account-not-found.js.map +1 -1
  171. package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
  172. package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
  173. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
  174. package/dist/features/auth/pla-signup/pla-analytics-events.js +13 -3
  175. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  176. package/dist/features/auth/pla-signup/signup-options/signup-options.js.map +1 -1
  177. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  178. package/dist/features/auth/signup/claim-user-account/claim-user-account.js.map +1 -1
  179. package/dist/features/auth/signup/custom-input-field/country-selector/country-code-button.js.map +1 -1
  180. package/dist/features/auth/signup/custom-input-field/country-selector/country-list-menu.js.map +1 -1
  181. package/dist/features/auth/signup/custom-input-field/country-selector/country-selector.js.map +1 -1
  182. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  183. package/dist/features/auth/signup/custom-input-field/date-picker-input/date-picker-input.js.map +1 -1
  184. package/dist/features/auth/signup/custom-input-field/grade-input/grade-input.js.map +1 -1
  185. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
  186. package/dist/features/auth/signup/custom-input-field/password-toggle/password-toggle.js.map +1 -1
  187. package/dist/features/auth/signup/signup-methods/signup-methods.js.map +1 -1
  188. package/dist/features/auth/signup/user-type-selector/user-type-card/user-type-card.js.map +1 -1
  189. package/dist/features/auth/signup/user-type-selector/user-type-selector.js.map +1 -1
  190. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js.map +1 -1
  191. package/dist/features/auth/signup-unavailable/signup-unavailable.js.map +1 -1
  192. package/dist/features/av/av-preview/av-preview.js.map +1 -1
  193. package/dist/features/av/av-preview/hooks/use-media-devices.js.map +1 -1
  194. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker-context.js.map +1 -1
  195. package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js.map +1 -1
  196. package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js.map +1 -1
  197. package/dist/features/chapters/chapter/chapter.js.map +1 -1
  198. package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner.js.map +1 -1
  199. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
  200. package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
  201. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  202. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  203. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  204. package/dist/features/chapters/lpar-chapter/block-section/block-section.js.map +1 -1
  205. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js.map +1 -1
  206. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js.map +1 -1
  207. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js.map +1 -1
  208. package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  209. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item-utils.js.map +1 -1
  210. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
  211. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
  212. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
  213. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
  214. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js.map +1 -1
  215. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/teacher-actions/teacher-actions.js.map +1 -1
  216. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions.js.map +1 -1
  217. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions-utils.js.map +1 -1
  218. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
  219. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  220. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-icon.js.map +1 -1
  221. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-utils.js.map +1 -1
  222. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  223. package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
  224. package/dist/features/chapters/lpar-chapter/comps/tab-section.js.map +1 -1
  225. package/dist/features/chapters/lpar-chapter/constants/puzzle-card.js.map +1 -1
  226. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js.map +1 -1
  227. package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/lpar-chapter-banner-styled.js.map +1 -1
  228. package/dist/features/chapters/lpar-chapter/lpar-chapter.js.map +1 -1
  229. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js.map +1 -1
  230. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card-styled.js.map +1 -1
  231. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js.map +1 -1
  232. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section-utils.js.map +1 -1
  233. package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js.map +1 -1
  234. package/dist/features/chapters/lpar-chapter/utils/index.js.map +1 -1
  235. package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.js.map +1 -1
  236. package/dist/features/chapters/lpar-milestone-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
  237. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js.map +1 -1
  238. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/student-actions.js.map +1 -1
  239. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions.js.map +1 -1
  240. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js.map +1 -1
  241. package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
  242. package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js.map +1 -1
  243. package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js.map +1 -1
  244. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card-util.js.map +1 -1
  245. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
  246. package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js.map +1 -1
  247. package/dist/features/chapters-v2/api/chapter.js.map +1 -1
  248. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  249. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +43 -34
  250. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  251. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -1
  252. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -1
  253. package/dist/features/chapters-v2/chapter-details/chapter-details.js +140 -101
  254. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  255. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  256. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -1
  257. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-option.js.map +1 -1
  258. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -1
  259. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  260. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  261. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -1
  262. package/dist/features/chapters-v2/comps/tag/tag.js.map +1 -1
  263. package/dist/features/chapters-v2/utils/index.js +20 -16
  264. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  265. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  266. package/dist/features/chapters-v2/utils/sat-sheet-utils.js.map +1 -1
  267. package/dist/features/circle-games/comps/info-bar/info-bar.js.map +1 -1
  268. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js +6 -6
  269. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js.map +1 -1
  270. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -1
  271. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
  272. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  273. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
  274. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  275. package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js.map +1 -1
  276. package/dist/features/circle-games/game-launcher/comps/tables-card/infinite-button/infinite-mode-launcher-button.js.map +1 -1
  277. package/dist/features/circle-games/game-launcher/comps/tables-card/spl-events-text/spl-events-text.js.map +1 -1
  278. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
  279. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.js.map +1 -1
  280. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +1 -1
  281. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +1 -1
  282. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  283. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/helper.js.map +1 -1
  284. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +20 -21
  285. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  286. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  287. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  288. package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js.map +1 -1
  289. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  290. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  291. package/dist/features/circle-games/games/tutorial/video-progress-bar/video-progress-bar-styled.js.map +1 -1
  292. package/dist/features/circle-games/games/tutorial/video-progress-bar/video-progress-bar.js.map +1 -1
  293. package/dist/features/circle-games/games/web-view/hooks/use-webview-games.js.map +1 -1
  294. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  295. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  296. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  297. package/dist/features/circle-games/leaderboard/api/get-leaderboard/get-leaderboard.js.map +1 -1
  298. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  299. package/dist/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.js.map +1 -1
  300. package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button.js.map +1 -1
  301. package/dist/features/circle-games/leaderboard/comps/progress-item/progress-item.js.map +1 -1
  302. package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js.map +1 -1
  303. package/dist/features/circle-games/leaderboard/comps/streak-reduction-infobar/streak-reduction-infobar.js.map +1 -1
  304. package/dist/features/circle-games/leaderboard/comps/timer/timer.js.map +1 -1
  305. package/dist/features/circle-games/leaderboard/comps/with-grade/with-grade.js.map +1 -1
  306. package/dist/features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.js.map +1 -1
  307. package/dist/features/circle-games/leaderboard/hooks/use-timer/use-timer.js.map +1 -1
  308. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  309. package/dist/features/circle-games/sign-up/api/use-create-user-api/use-create-user-api.js.map +1 -1
  310. package/dist/features/circle-games/sign-up/api/use-update-user-api/use-update-user-api.js.map +1 -1
  311. package/dist/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.js.map +1 -1
  312. package/dist/features/circle-games/sign-up/api/use-validate-username-api/use-username-availability-get.js.map +1 -1
  313. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  314. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  315. package/dist/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.js.map +1 -1
  316. package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js.map +1 -1
  317. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
  318. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  319. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
  320. package/dist/features/circle-games/sign-up/constants.js.map +1 -1
  321. package/dist/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.js.map +1 -1
  322. package/dist/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.js.map +1 -1
  323. package/dist/features/circle-games/sign-up/dal/update-username-dal/update-username-dal.js.map +1 -1
  324. package/dist/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.js.map +1 -1
  325. package/dist/features/circle-games/sign-up/helper.js.map +1 -1
  326. package/dist/features/circle-games/sign-up/sign-up.js +6 -6
  327. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  328. package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js.map +1 -1
  329. package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js.map +1 -1
  330. package/dist/features/communication/pub-sub/core.js.map +1 -1
  331. package/dist/features/communication/pub-sub/hooks.js.map +1 -1
  332. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
  333. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  334. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  335. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  336. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  337. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  338. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  339. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  340. package/dist/features/cue-canvas/hooks/use-config-updater.js.map +1 -1
  341. package/dist/features/cue-canvas/hooks/use-height-extender.js.map +1 -1
  342. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -1
  343. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -1
  344. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -1
  345. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -1
  346. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -1
  347. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -1
  348. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -1
  349. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -1
  350. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -1
  351. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -1
  352. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -1
  353. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -1
  354. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
  355. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -1
  356. package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -1
  357. package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
  358. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  359. package/dist/features/cue-canvas/toolbar/icon-map.js.map +1 -1
  360. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
  361. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  362. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  363. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  364. package/dist/features/extra-practice/extra-practice.js.map +1 -1
  365. package/dist/features/extra-practice/list/list-constants.js.map +1 -1
  366. package/dist/features/extra-practice/list/list.js.map +1 -1
  367. package/dist/features/homework/card-menu-options.js.map +1 -1
  368. package/dist/features/homework/card-title.js.map +1 -1
  369. package/dist/features/homework/homework-card-view.js.map +1 -1
  370. package/dist/features/homework/homework-card.js.map +1 -1
  371. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
  372. package/dist/features/homework/hw-card-list/hw-card-list-view.js +17 -17
  373. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  374. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  375. package/dist/features/homework/node-progress.js.map +1 -1
  376. package/dist/features/homework/utils.js.map +1 -1
  377. package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
  378. package/dist/features/journey/comps/coachmark/coachmark-utils.js.map +1 -1
  379. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  380. package/dist/features/journey/hooks/use-chapter-page-journey/use-challenge-arena-journey.js.map +1 -1
  381. package/dist/features/journey/hooks/use-chapter-page-journey/use-chapter-journey.js.map +1 -1
  382. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +86 -0
  383. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +1 -0
  384. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +140 -0
  385. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +1 -0
  386. package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
  387. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
  388. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -1
  389. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js.map +1 -1
  390. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js.map +1 -1
  391. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -1
  392. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js.map +1 -1
  393. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js.map +1 -1
  394. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js.map +1 -1
  395. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js.map +1 -1
  396. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js.map +1 -1
  397. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  398. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  399. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  400. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  401. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +400 -0
  402. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  403. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  404. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  405. package/dist/features/journey/use-journey/use-journey.js.map +1 -1
  406. package/dist/features/journey/user-journey-api/user-journey-api.js.map +1 -1
  407. package/dist/features/maintenance/maintenance.js.map +1 -1
  408. package/dist/features/milestone/constants.js +28 -15
  409. package/dist/features/milestone/constants.js.map +1 -1
  410. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  411. package/dist/features/milestone/create/api/milestone-bulk.js.map +1 -1
  412. package/dist/features/milestone/create/api/milestone-config.js.map +1 -1
  413. package/dist/features/milestone/create/api/milestone-submit.js.map +1 -1
  414. package/dist/features/milestone/create/api/recommended-chapters.js.map +1 -1
  415. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  416. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  417. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  418. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
  419. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
  420. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
  421. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  422. package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
  423. package/dist/features/milestone/create/comps/chapter-item/chapter-item-styled.js.map +1 -1
  424. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
  425. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/category-card.js.map +1 -1
  426. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  427. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-selection.js.map +1 -1
  428. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
  429. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  430. package/dist/features/milestone/create/comps/chapters-selection-step/use-chapter-list-update.js.map +1 -1
  431. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  432. package/dist/features/milestone/create/comps/class-details-step/class-details-selectors.js.map +1 -1
  433. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  434. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  435. package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js.map +1 -1
  436. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation-utils.js.map +1 -1
  437. package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js.map +1 -1
  438. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-view.js.map +1 -1
  439. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  440. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
  441. package/dist/features/milestone/create/comps/info-points/info-points.js.map +1 -1
  442. package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
  443. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +2 -2
  444. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
  445. package/dist/features/milestone/create/comps/test-type-step/category-component-styled.js.map +1 -1
  446. package/dist/features/milestone/create/comps/test-type-step/category-component.js.map +1 -1
  447. package/dist/features/milestone/create/comps/test-type-step/test-type-step-constants.js.map +1 -1
  448. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  449. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js +23 -16
  450. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  451. package/dist/features/milestone/create/milestone-create-components-map.js.map +1 -1
  452. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  453. package/dist/features/milestone/create/milestone-create-context.js.map +1 -1
  454. package/dist/features/milestone/create/milestone-create-helpers.js +13 -7
  455. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  456. package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
  457. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  458. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  459. package/dist/features/milestone/create/submit-modal/submit-modal.js.map +1 -1
  460. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal-util.js.map +1 -1
  461. package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js.map +1 -1
  462. package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
  463. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  464. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
  465. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  466. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  467. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +1 -1
  468. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  469. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  470. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  471. package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
  472. package/dist/features/milestone/hooks/use-submit-goal-creation.js.map +1 -1
  473. package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js.map +1 -1
  474. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  475. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  476. package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js.map +1 -1
  477. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  478. package/dist/features/milestone/milestone-list-container/filter-milestones.js.map +1 -1
  479. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +32 -32
  480. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  481. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-loader/milestone-loader.js.map +1 -1
  482. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  483. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-utils.js.map +1 -1
  484. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/use-goal-draft-publish.js.map +1 -1
  485. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  486. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  487. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  488. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  489. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  490. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  491. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  492. package/dist/features/milestone/milestone-list-container/milestone-list/no-active-milestone/no-active-milestone.js.map +1 -1
  493. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  494. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  495. package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +1 -1
  496. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  497. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
  498. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
  499. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  500. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  501. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  502. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
  503. package/dist/features/milestone/milestone-tests/tests-creation/api/preview-test-sheet.js.map +1 -1
  504. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
  505. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item.js.map +1 -1
  506. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  507. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  508. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
  509. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  510. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  511. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  512. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  513. package/dist/features/milestone/outcome/api/milestone-outcome-config.js.map +1 -1
  514. package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js.map +1 -1
  515. package/dist/features/milestone/outcome/comps/achievement/achievement-container.js.map +1 -1
  516. package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js.map +1 -1
  517. package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js.map +1 -1
  518. package/dist/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.js.map +1 -1
  519. package/dist/features/milestone/outcome/comps/outcome-collection/input-handler.js.map +1 -1
  520. package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js.map +1 -1
  521. package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map +1 -1
  522. package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js.map +1 -1
  523. package/dist/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.js.map +1 -1
  524. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
  525. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-form.js.map +1 -1
  526. package/dist/features/milestone/outcome/comps/past-milestone/question.js +1 -5
  527. package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
  528. package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
  529. package/dist/features/milestone/start/milestone-start.js.map +1 -1
  530. package/dist/features/parent-dashboard/api/cancel-subscription.js +9 -0
  531. package/dist/features/parent-dashboard/api/cancel-subscription.js.map +1 -0
  532. package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +1 -1
  533. package/dist/features/parent-dashboard/api/parent-home.js.map +1 -1
  534. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js +20 -0
  535. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js.map +1 -0
  536. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js +74 -0
  537. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +1 -0
  538. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -1
  539. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -1
  540. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -1
  541. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/next-steps/next-steps-constants.js +1 -1
  542. package/dist/features/parent-dashboard/comps/next-steps/next-steps-constants.js.map +1 -0
  543. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/next-steps/next-steps-styled.js +1 -1
  544. package/dist/features/parent-dashboard/comps/next-steps/next-steps-styled.js.map +1 -0
  545. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/next-steps/next-steps.js +5 -5
  546. package/dist/features/parent-dashboard/comps/next-steps/next-steps.js.map +1 -0
  547. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +28 -22
  548. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -1
  549. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js +34 -0
  550. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js.map +1 -0
  551. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js +137 -0
  552. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js.map +1 -0
  553. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js +20 -0
  554. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js.map +1 -0
  555. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js +19 -0
  556. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js.map +1 -0
  557. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/session-status/session-status-styled.js +2 -2
  558. package/dist/features/parent-dashboard/comps/session-status/session-status-styled.js.map +1 -0
  559. package/dist/features/parent-dashboard/comps/session-status/session-status.js +124 -0
  560. package/dist/features/parent-dashboard/comps/session-status/session-status.js.map +1 -0
  561. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/session-summary/session-summary-constants.js +18 -12
  562. package/dist/features/parent-dashboard/comps/session-summary/session-summary-constants.js.map +1 -0
  563. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js +54 -0
  564. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js.map +1 -0
  565. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/session-summary/summary-card/summary-card-styled.js +1 -1
  566. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card-styled.js.map +1 -0
  567. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js +72 -0
  568. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js.map +1 -0
  569. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  570. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions-styled.js +1 -1
  571. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  572. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  573. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions.js +14 -14
  574. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions.js.map +1 -0
  575. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js +1 -1
  576. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js.map +1 -1
  577. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +48 -46
  578. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  579. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js.map +1 -1
  580. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js +21 -0
  581. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js.map +1 -0
  582. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js +85 -0
  583. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +1 -0
  584. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js +23 -0
  585. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js.map +1 -0
  586. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js +55 -0
  587. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js.map +1 -0
  588. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js +71 -0
  589. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js.map +1 -0
  590. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js +119 -0
  591. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +1 -0
  592. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js +58 -0
  593. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +1 -0
  594. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +1 -1
  595. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +16 -17
  596. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -1
  597. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +4 -8
  598. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -1
  599. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +3 -3
  600. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -1
  601. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +1 -1
  602. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js +76 -0
  603. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js.map +1 -0
  604. package/dist/features/parent-dashboard/parent-dashboard-constants.js +45 -4
  605. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -1
  606. package/dist/features/parent-dashboard/parent-dashboard-types.js +3 -3
  607. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  608. package/dist/features/parent-dashboard/parent-dashboard-view.js +197 -174
  609. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  610. package/dist/features/parent-dashboard/parent-dashboard.js.map +1 -1
  611. package/dist/features/pointer-sync/hooks/use-pointer-sync.js.map +1 -1
  612. package/dist/features/pointer-sync/pointer.js.map +1 -1
  613. package/dist/features/post-game-stats/accuracy/accuracy-comps.js.map +1 -1
  614. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  615. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  616. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
  617. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -1
  618. package/dist/features/post-game-stats/points/points.js.map +1 -1
  619. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  620. package/dist/features/post-game-stats/score/score.js.map +1 -1
  621. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  622. package/dist/features/puzzles/api/puzzle-assign.js.map +1 -1
  623. package/dist/features/puzzles/api/puzzle-dashboard.js.map +1 -1
  624. package/dist/features/puzzles/app/puzzle-app-styled.js.map +1 -1
  625. package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -1
  626. package/dist/features/puzzles/app/puzzle-app.js.map +1 -1
  627. package/dist/features/puzzles/comps/puzzle-card-styled.js.map +1 -1
  628. package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
  629. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js.map +1 -1
  630. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +1 -1
  631. package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
  632. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +1 -1
  633. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js.map +1 -1
  634. package/dist/features/puzzles/utils/puzzle-pattern.js.map +1 -1
  635. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -1
  636. package/dist/features/recent-chapters/recent-chapters.js.map +1 -1
  637. package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
  638. package/dist/features/sheet-tools/tool-header/tool-header.js +14 -14
  639. package/dist/features/sheet-tools/tool-header/tool-header.js.map +1 -1
  640. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
  641. package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
  642. package/dist/features/sheets/comps/sheet-button/styled.js.map +1 -1
  643. package/dist/features/sheets/constants/sheet.js.map +1 -1
  644. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element.js.map +1 -1
  645. package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/target-element.js.map +1 -1
  646. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
  647. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-styled.js.map +1 -1
  648. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js.map +1 -1
  649. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-view.js.map +1 -1
  650. package/dist/features/sheets/lessons-list/lesson-item/lesson-item.js.map +1 -1
  651. package/dist/features/sheets/lessons-list/lessons-list.js.map +1 -1
  652. package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
  653. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -1
  654. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  655. package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -1
  656. package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
  657. package/dist/features/sheets/resources-list/styled.js.map +1 -1
  658. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js.map +1 -1
  659. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/target-element/target-element.js.map +1 -1
  660. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils.js.map +1 -1
  661. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js.map +1 -1
  662. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
  663. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  664. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-icon.js.map +1 -1
  665. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js.map +1 -1
  666. package/dist/features/sheets/sheets-list/sheet-item/sheet-item-utils.js.map +1 -1
  667. package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js.map +1 -1
  668. package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
  669. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  670. package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js.map +1 -1
  671. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js.map +1 -1
  672. package/dist/features/stickers/sticker-selector/sticker-selector.js +57 -58
  673. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
  674. package/dist/features/stickers/stickers-effects/stickers-effects-animations.js.map +1 -1
  675. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -1
  676. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +17 -32
  677. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -1
  678. package/dist/features/stickers/stickers-effects/stickers-effects.js +56 -40
  679. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -1
  680. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  681. package/dist/features/student-details/class-details/class-details.js.map +1 -1
  682. package/dist/features/student-details/student-details-utils.js.map +1 -1
  683. package/dist/features/student-details/student-details.js.map +1 -1
  684. package/dist/features/student-details/wins-preview/wins-preview.js.map +1 -1
  685. package/dist/features/talk-meter/hooks/use-talk-meter.js.map +1 -1
  686. package/dist/features/talk-meter/ripple/index.js.map +1 -1
  687. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
  688. package/dist/features/talk-meter/talk-meter.js.map +1 -1
  689. package/dist/features/trial-session/api/course-stream.js.map +1 -1
  690. package/dist/features/trial-session/api/teacher-availability.js +9 -0
  691. package/dist/features/trial-session/api/teacher-availability.js.map +1 -0
  692. package/dist/features/trial-session/api/trial-home.js.map +1 -1
  693. package/dist/features/trial-session/api/trial-nodes.js.map +1 -1
  694. package/dist/features/trial-session/api/trial-pricing.js.map +1 -1
  695. package/dist/features/trial-session/comps/about-cuemath/index.js.map +1 -1
  696. package/dist/features/trial-session/comps/av-panels/student-av-panel/student-av-panel.js.map +1 -1
  697. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  698. package/dist/features/trial-session/comps/background-grid/background-grid-styled.js.map +1 -1
  699. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  700. package/dist/features/trial-session/comps/background-grid/background-grid.js.map +1 -1
  701. package/dist/features/trial-session/comps/class-preference/class-preference.js +74 -58
  702. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  703. package/dist/features/trial-session/comps/class-preference/helpers.js +28 -0
  704. package/dist/features/trial-session/comps/class-preference/helpers.js.map +1 -0
  705. package/dist/features/trial-session/comps/clock/clock.js.map +1 -1
  706. package/dist/features/trial-session/comps/countdown-progress-bar/countdown-progress-bar.js.map +1 -1
  707. package/dist/features/trial-session/comps/cue-tips/cues/index.js.map +1 -1
  708. package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
  709. package/dist/features/trial-session/comps/learning-plan/index.js +47 -45
  710. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  711. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +1 -1
  712. package/dist/features/trial-session/comps/learning-session/learning-session-constants.js.map +1 -1
  713. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  714. package/dist/features/trial-session/comps/navigation-bar/index.js +41 -40
  715. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  716. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  717. package/dist/features/trial-session/comps/pricing/board-comp.js.map +1 -1
  718. package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +1 -1
  719. package/dist/features/trial-session/comps/pricing/pricing-cards.js.map +1 -1
  720. package/dist/features/trial-session/comps/pricing/pricing-styled.js.map +1 -1
  721. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  722. package/dist/features/trial-session/comps/school-goals/school-goals.js +59 -57
  723. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  724. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  725. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -1
  726. package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -1
  727. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
  728. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
  729. package/dist/features/trial-session/comps/session-report/session-report.js +15 -15
  730. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  731. package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
  732. package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
  733. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +41 -40
  734. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  735. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js +5 -0
  736. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  737. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +96 -51
  738. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  739. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  740. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -1
  741. package/dist/features/trial-session/comps/student-profile/student-profile-utils.js.map +1 -1
  742. package/dist/features/trial-session/comps/student-profile/student-profile.js +70 -63
  743. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  744. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +43 -44
  745. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  746. package/dist/features/trial-session/comps/test-prep/test-prep.js +41 -40
  747. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  748. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen-styled.js.map +1 -1
  749. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.js.map +1 -1
  750. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js +60 -61
  751. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  752. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  753. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  754. package/dist/features/trial-session/helper.js +76 -61
  755. package/dist/features/trial-session/helper.js.map +1 -1
  756. package/dist/features/trial-session/hooks/use-left-panel-button-state.js.map +1 -1
  757. package/dist/features/trial-session/hooks/use-slide-config-update.js +49 -0
  758. package/dist/features/trial-session/hooks/use-slide-config-update.js.map +1 -0
  759. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +174 -144
  760. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  761. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  762. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  763. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  764. package/dist/features/trial-session/trial-session-view.js +99 -110
  765. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  766. package/dist/features/trial-session/trial-session.js.map +1 -1
  767. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js.map +1 -1
  768. package/dist/features/ui/accordion/accordion-items/accordion-items.js +13 -13
  769. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -1
  770. package/dist/features/ui/accordion/accordion.js.map +1 -1
  771. package/dist/features/ui/accordion-section/accordion-section-styled.js.map +1 -1
  772. package/dist/features/ui/accordion-section/accordion-section.js +8 -8
  773. package/dist/features/ui/accordion-section/accordion-section.js.map +1 -1
  774. package/dist/features/ui/animated-arc/animated-arc-styled.js.map +1 -1
  775. package/dist/features/ui/animated-arc/animated-arc.js.map +1 -1
  776. package/dist/features/ui/arc-button/arc-button-styled.js.map +1 -1
  777. package/dist/features/ui/arc-button/arc-button.js.map +1 -1
  778. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  779. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +1 -1
  780. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +1 -1
  781. package/dist/features/ui/avatar/avatar-mapping.js.map +1 -1
  782. package/dist/features/ui/avatar/avatar-types.js.map +1 -1
  783. package/dist/features/ui/avatar/avatar.js.map +1 -1
  784. package/dist/features/ui/avatar/layers/base/variant-1.js.map +1 -1
  785. package/dist/features/ui/avatar/layers/eyes/variant-1.js.map +1 -1
  786. package/dist/features/ui/avatar/layers/eyes/variant-10.js.map +1 -1
  787. package/dist/features/ui/avatar/layers/eyes/variant-11.js.map +1 -1
  788. package/dist/features/ui/avatar/layers/eyes/variant-12.js.map +1 -1
  789. package/dist/features/ui/avatar/layers/eyes/variant-13.js.map +1 -1
  790. package/dist/features/ui/avatar/layers/eyes/variant-14.js.map +1 -1
  791. package/dist/features/ui/avatar/layers/eyes/variant-15.js.map +1 -1
  792. package/dist/features/ui/avatar/layers/eyes/variant-16.js.map +1 -1
  793. package/dist/features/ui/avatar/layers/eyes/variant-17.js.map +1 -1
  794. package/dist/features/ui/avatar/layers/eyes/variant-18.js.map +1 -1
  795. package/dist/features/ui/avatar/layers/eyes/variant-2.js.map +1 -1
  796. package/dist/features/ui/avatar/layers/eyes/variant-3.js.map +1 -1
  797. package/dist/features/ui/avatar/layers/eyes/variant-4.js.map +1 -1
  798. package/dist/features/ui/avatar/layers/eyes/variant-5.js.map +1 -1
  799. package/dist/features/ui/avatar/layers/eyes/variant-6.js.map +1 -1
  800. package/dist/features/ui/avatar/layers/eyes/variant-7.js.map +1 -1
  801. package/dist/features/ui/avatar/layers/eyes/variant-8.js.map +1 -1
  802. package/dist/features/ui/avatar/layers/eyes/variant-9.js.map +1 -1
  803. package/dist/features/ui/avatar/layers/hair/variant-1.js.map +1 -1
  804. package/dist/features/ui/avatar/layers/hair/variant-10.js.map +1 -1
  805. package/dist/features/ui/avatar/layers/hair/variant-2.js.map +1 -1
  806. package/dist/features/ui/avatar/layers/hair/variant-3.js.map +1 -1
  807. package/dist/features/ui/avatar/layers/hair/variant-4.js.map +1 -1
  808. package/dist/features/ui/avatar/layers/hair/variant-5.js.map +1 -1
  809. package/dist/features/ui/avatar/layers/hair/variant-6.js.map +1 -1
  810. package/dist/features/ui/avatar/layers/hair/variant-7.js.map +1 -1
  811. package/dist/features/ui/avatar/layers/hair/variant-8.js.map +1 -1
  812. package/dist/features/ui/avatar/layers/hair/variant-9.js.map +1 -1
  813. package/dist/features/ui/avatar/layers/mouth/variant-1.js.map +1 -1
  814. package/dist/features/ui/avatar/layers/mouth/variant-10.js.map +1 -1
  815. package/dist/features/ui/avatar/layers/mouth/variant-11.js.map +1 -1
  816. package/dist/features/ui/avatar/layers/mouth/variant-12.js.map +1 -1
  817. package/dist/features/ui/avatar/layers/mouth/variant-13.js.map +1 -1
  818. package/dist/features/ui/avatar/layers/mouth/variant-14.js.map +1 -1
  819. package/dist/features/ui/avatar/layers/mouth/variant-15.js.map +1 -1
  820. package/dist/features/ui/avatar/layers/mouth/variant-16.js.map +1 -1
  821. package/dist/features/ui/avatar/layers/mouth/variant-17.js.map +1 -1
  822. package/dist/features/ui/avatar/layers/mouth/variant-18.js.map +1 -1
  823. package/dist/features/ui/avatar/layers/mouth/variant-2.js.map +1 -1
  824. package/dist/features/ui/avatar/layers/mouth/variant-3.js.map +1 -1
  825. package/dist/features/ui/avatar/layers/mouth/variant-4.js.map +1 -1
  826. package/dist/features/ui/avatar/layers/mouth/variant-5.js.map +1 -1
  827. package/dist/features/ui/avatar/layers/mouth/variant-6.js.map +1 -1
  828. package/dist/features/ui/avatar/layers/mouth/variant-7.js.map +1 -1
  829. package/dist/features/ui/avatar/layers/mouth/variant-8.js.map +1 -1
  830. package/dist/features/ui/avatar/layers/mouth/variant-9.js.map +1 -1
  831. package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
  832. package/dist/features/ui/buttons/button/button.js.map +1 -1
  833. package/dist/features/ui/buttons/clickable/clickable.js.map +1 -1
  834. package/dist/features/ui/buttons/icon-button/icon-button-styled.js.map +1 -1
  835. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  836. package/dist/features/ui/buttons/text-button/text-button-styled.js.map +1 -1
  837. package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
  838. package/dist/features/ui/callout/callout.js.map +1 -1
  839. package/dist/features/ui/carousal/carousal.js.map +1 -1
  840. package/dist/features/ui/context/use-tracking-context.js.map +1 -1
  841. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  842. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
  843. package/dist/features/ui/drawer/drawer.js.map +1 -1
  844. package/dist/features/ui/error/error.js.map +1 -1
  845. package/dist/features/ui/grade-selector/grade-selector-styled.js.map +1 -1
  846. package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
  847. package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
  848. package/dist/features/ui/hooks/use-click-handler.js.map +1 -1
  849. package/dist/features/ui/hooks/use-context-menu-click-handler.js.map +1 -1
  850. package/dist/features/ui/hooks/use-response-handler.js.map +1 -1
  851. package/dist/features/ui/image/image.js.map +1 -1
  852. package/dist/features/ui/inputs/base-input/base-input-styled.js.map +1 -1
  853. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  854. package/dist/features/ui/inputs/base-select-input/base-select-input-styled.js.map +1 -1
  855. package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
  856. package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
  857. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  858. package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js.map +1 -1
  859. package/dist/features/ui/inputs/checkbox-input/checkbox-input-styled.js.map +1 -1
  860. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  861. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  862. package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js.map +1 -1
  863. package/dist/features/ui/inputs/num-range-input/num-range-input.js.map +1 -1
  864. package/dist/features/ui/inputs/percentile-input/percentile-input.js.map +1 -1
  865. package/dist/features/ui/inputs/percentile-input/percentile-styled.js.map +1 -1
  866. package/dist/features/ui/inputs/radio-input/radio-input.js.map +1 -1
  867. package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js.map +1 -1
  868. package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +1 -1
  869. package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -1
  870. package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js.map +1 -1
  871. package/dist/features/ui/inputs/searchable-select-input/use-filtered-options.js.map +1 -1
  872. package/dist/features/ui/inputs/select-input/select-input.js.map +1 -1
  873. package/dist/features/ui/inputs/text-input/text-input-styled.js.map +1 -1
  874. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  875. package/dist/features/ui/layout/flex-view.js.map +1 -1
  876. package/dist/features/ui/loader/reverse-circular-bar/reverse-circular-bar.js.map +1 -1
  877. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  878. package/dist/features/ui/modals/modal-context.js.map +1 -1
  879. package/dist/features/ui/modals/modal-provider.js.map +1 -1
  880. package/dist/features/ui/modals/modal-styled.js +45 -13
  881. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  882. package/dist/features/ui/modals/modal.js +31 -31
  883. package/dist/features/ui/modals/modal.js.map +1 -1
  884. package/dist/features/ui/modals/use-modal-actions.js.map +1 -1
  885. package/dist/features/ui/modals/use-modal-params.js.map +1 -1
  886. package/dist/features/ui/nudge/nudge.js.map +1 -1
  887. package/dist/features/ui/perfect-hits/perfect-hits-styled.js.map +1 -1
  888. package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
  889. package/dist/features/ui/portal/portal.js.map +1 -1
  890. package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js.map +1 -1
  891. package/dist/features/ui/radio-cards/radio-cards.js.map +1 -1
  892. package/dist/features/ui/section-list/section-list.js.map +1 -1
  893. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option-styled.js.map +1 -1
  894. package/dist/features/ui/selection-cards/selection-card-option/selection-card-option.js.map +1 -1
  895. package/dist/features/ui/selection-cards/selection-cards.js.map +1 -1
  896. package/dist/features/ui/separator/separator.js.map +1 -1
  897. package/dist/features/ui/stepper/stepper-styled.js.map +1 -1
  898. package/dist/features/ui/stepper/stepper.js.map +1 -1
  899. package/dist/features/ui/streak-icon/streak-icon-styled.js.map +1 -1
  900. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  901. package/dist/features/ui/superscript/superscript-styled.js.map +1 -1
  902. package/dist/features/ui/superscript/superscript.js.map +1 -1
  903. package/dist/features/ui/tab/tab-styled.js.map +1 -1
  904. package/dist/features/ui/tab/tab.js.map +1 -1
  905. package/dist/features/ui/tag/tag-styled.js.map +1 -1
  906. package/dist/features/ui/tag/tag.js.map +1 -1
  907. package/dist/features/ui/text/text.js.map +1 -1
  908. package/dist/features/ui/theme/z-index.js.map +1 -1
  909. package/dist/features/ui/time-left-timeline/time-left-timeline-styled.js.map +1 -1
  910. package/dist/features/ui/time-left-timeline/time-left-timeline.js +11 -11
  911. package/dist/features/ui/time-left-timeline/time-left-timeline.js.map +1 -1
  912. package/dist/features/ui/video/index.js.map +1 -1
  913. package/dist/features/utils/utils.js +1 -1
  914. package/dist/features/utils/utils.js.map +1 -1
  915. package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js.map +1 -1
  916. package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +1 -1
  917. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +17 -17
  918. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +1 -1
  919. package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js.map +1 -1
  920. package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +1 -1
  921. package/dist/features/wins-dashboard/constants.js.map +1 -1
  922. package/dist/features/wins-dashboard/header/wins-header.js.map +1 -1
  923. package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +1 -1
  924. package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +1 -1
  925. package/dist/features/wins-dashboard/student-badges/student-badge.js.map +1 -1
  926. package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -1
  927. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader-context.js.map +1 -1
  928. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
  929. package/dist/features/worksheet/learnosity-preloader/use-download-script.js.map +1 -1
  930. package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js.map +1 -1
  931. package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js.map +1 -1
  932. package/dist/features/worksheet/user-pointer-pin/user-pin.js.map +1 -1
  933. package/dist/features/worksheet/worksheet/api/attempt-responses.js.map +1 -1
  934. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
  935. package/dist/features/worksheet/worksheet/hooks/use-learnosity-append.js.map +1 -1
  936. package/dist/features/worksheet/worksheet/hooks/use-learnosity.js.map +1 -1
  937. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  938. package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js.map +1 -1
  939. package/dist/features/worksheet/worksheet/hooks/use-worksheet-data-helper.js.map +1 -1
  940. package/dist/features/worksheet/worksheet/question-tips.js.map +1 -1
  941. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  942. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  943. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
  944. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
  945. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
  946. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
  947. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
  948. package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
  949. package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
  950. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  951. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  952. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js.map +1 -1
  953. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number-styled.js.map +1 -1
  954. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
  955. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  956. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
  957. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  958. package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js.map +1 -1
  959. package/dist/features/worksheet/worksheet/worksheet-question/header/header.js.map +1 -1
  960. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  961. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  962. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js.map +1 -1
  963. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
  964. package/dist/features/worksheet/worksheet/worksheet-question/subjective-feedback.js.map +1 -1
  965. package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
  966. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  967. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  968. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
  969. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
  970. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  971. package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
  972. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
  973. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
  974. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
  975. package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js.map +1 -1
  976. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
  977. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  978. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  979. package/dist/features/worksheet/worksheet-preview/api/get-dynamic-sheet.js.map +1 -1
  980. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
  981. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  982. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  983. package/dist/features/worksheet/worksheet-preview/worksheet-preview-styled.js.map +1 -1
  984. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  985. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  986. package/dist/index.d.ts +255 -300
  987. package/dist/index.js +292 -301
  988. package/dist/index.js.map +1 -1
  989. package/dist/static/learning-session-grid-bg-mobile.8d2b7258.gif +0 -0
  990. package/dist/static/way-forward-grid-bg-mobile.374043d7.gif +0 -0
  991. package/dist/static/your-goals-grid-bg-mobile.62557024.gif +0 -0
  992. package/package.json +1 -1
  993. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +0 -12
  994. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +0 -1
  995. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js +0 -32
  996. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js.map +0 -1
  997. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js +0 -72
  998. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js.map +0 -1
  999. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js +0 -34
  1000. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js.map +0 -1
  1001. package/dist/features/stickers/stickers-effects/constants.js +0 -26
  1002. package/dist/features/stickers/stickers-effects/constants.js.map +0 -1
  1003. package/dist/features/stickers/stickers-effects/context/sticker-provider.js +0 -28
  1004. package/dist/features/stickers/stickers-effects/context/sticker-provider.js.map +0 -1
  1005. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js +0 -12
  1006. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js.map +0 -1
  1007. package/dist/features/stickers/stickers-effects/stickers-effects-types.js +0 -6
  1008. package/dist/features/stickers/stickers-effects/stickers-effects-types.js.map +0 -1
  1009. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +0 -1
  1010. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +0 -1
  1011. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +0 -1
  1012. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +0 -29
  1013. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +0 -1
  1014. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +0 -132
  1015. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +0 -1
  1016. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +0 -11
  1017. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +0 -1
  1018. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +0 -19
  1019. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +0 -1
  1020. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +0 -1
  1021. package/dist/features/trial-session/comps/pla/session-status/session-status.js +0 -127
  1022. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +0 -1
  1023. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +0 -1
  1024. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +0 -53
  1025. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +0 -1
  1026. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +0 -1
  1027. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +0 -56
  1028. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +0 -1
  1029. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +0 -1
  1030. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +0 -1
  1031. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +0 -1
  1032. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +0 -1
  1033. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +0 -10
  1034. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +0 -1
  1035. package/dist/node_modules/date-fns/differenceInMilliseconds.js +0 -9
  1036. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +0 -1
  1037. package/dist/node_modules/date-fns/differenceInSeconds.js +0 -11
  1038. package/dist/node_modules/date-fns/differenceInSeconds.js.map +0 -1
  1039. package/dist/static/trophy.a8ea85ef.json +0 -6813
  1040. /package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions-constants.js +0 -0
  1041. /package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions-types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-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';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport LinkIcon from '../../../../../assets/line-icons/icons/link';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\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, TEACHER_MENU_LABELS } 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 };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst customEventName = 'cue_cp_close_other_node_card_menu_options';\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const componentUniqueIdRef = useRef(nodeData.node_id);\n const containerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(containerRef);\n\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 user_attempt_id: userAttemptId,\n is_turing: isTuring,\n learnosity_activity_ref: learnosityReference,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n case 'node-card-activity-link':\n if (nodeType !== 'TURING_BASIC' && state === 'COMPLETED') {\n onNodeReview?.(nodeData);\n } else {\n window.open(learnosityReference);\n }\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n learnosityReference,\n nodeData,\n nodeType,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n state,\n userAttemptId,\n ],\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 handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n\n //* If this menu is not currently visible, it means onMenuClick will attempt to open it.\n //* In that case, dispatch an event to close other menus.\n //* This check ensures we only dispatch, When this menu is about to be opened.\n if (!menuVisible) {\n const event = new CustomEvent(customEventName, {\n detail: { sourceId: componentUniqueIdRef.current },\n });\n\n document.dispatchEvent(event);\n }\n\n //* This will toggle the current menu's visibility.\n onMenuClick();\n },\n [onMenuClick, menuVisible],\n );\n\n useEffect(() => {\n const handleCloseRequest = (event: CustomEvent) => {\n //*() Ensure event.detail and event.detail.sourceId exist before accessing\n if (event.detail && event.detail.sourceId !== componentUniqueIdRef.current && menuVisible) {\n hideMenu();\n }\n };\n\n document.addEventListener(customEventName, handleCloseRequest as EventListener);\n\n return () => {\n document.removeEventListener(customEventName, handleCloseRequest as EventListener);\n };\n }, [menuVisible, hideMenu]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-activity-link`,\n label: 'Activity Link',\n icon: LinkIcon,\n disabled: !isTuring,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n $opacity={isSkipped ? 0.5 : 1}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\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 width={31}\n height={31}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","customEventName","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","componentUniqueIdRef","useRef","containerRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","isTuring","learnosityReference","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","e","event","useEffect","handleCloseRequest","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","LinkIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport LinkIcon from '../../../../../assets/line-icons/icons/link';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } 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 type { INodeCardProps } from '../node-card-types';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst customEventName = 'cue_cp_close_other_node_card_menu_options';\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const componentUniqueIdRef = useRef(nodeData.node_id);\n const containerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(containerRef);\n\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 user_attempt_id: userAttemptId,\n is_turing: isTuring,\n learnosity_activity_ref: learnosityReference,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n case 'node-card-activity-link':\n if (nodeType !== 'TURING_BASIC' && state === 'COMPLETED') {\n onNodeReview?.(nodeData);\n } else {\n window.open(learnosityReference);\n }\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n learnosityReference,\n nodeData,\n nodeType,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n state,\n userAttemptId,\n ],\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 handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n\n //* If this menu is not currently visible, it means onMenuClick will attempt to open it.\n //* In that case, dispatch an event to close other menus.\n //* This check ensures we only dispatch, When this menu is about to be opened.\n if (!menuVisible) {\n const event = new CustomEvent(customEventName, {\n detail: { sourceId: componentUniqueIdRef.current },\n });\n\n document.dispatchEvent(event);\n }\n\n //* This will toggle the current menu's visibility.\n onMenuClick();\n },\n [onMenuClick, menuVisible],\n );\n\n useEffect(() => {\n const handleCloseRequest = (event: CustomEvent) => {\n //*() Ensure event.detail and event.detail.sourceId exist before accessing\n if (event.detail && event.detail.sourceId !== componentUniqueIdRef.current && menuVisible) {\n hideMenu();\n }\n };\n\n document.addEventListener(customEventName, handleCloseRequest as EventListener);\n\n return () => {\n document.removeEventListener(customEventName, handleCloseRequest as EventListener);\n };\n }, [menuVisible, hideMenu]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-activity-link`,\n label: 'Activity Link',\n icon: LinkIcon,\n disabled: !isTuring,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n $opacity={isSkipped ? 0.5 : 1}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\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 width={31}\n height={31}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","customEventName","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","componentUniqueIdRef","useRef","containerRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","isTuring","learnosityReference","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","e","event","useEffect","handleCloseRequest","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","LinkIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sat-mock-test.js","sources":["../../../../../src/features/chapters-v2/comps/sat-mock-test/sat-mock-test.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport type { ISatMockTestProps } from './sat-mock-test-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../ui/text/text';\nimport {\n NodeCardContainer,\n NodeCardInfoWrapper,\n IconWrapper,\n StyledImportantIcon,\n} from '../../comps/node-card/node-card-styled';\nimport { BLOCK_STATES } from '../../constants/block-constants';\nimport { getNodeTypeBasedBgImage } from '../../utils';\nimport { getNodeCardBasedIcon } from '../../utils/node-card-utils';\nimport { getNextAccessibleSATSheet, getSatSheetQuestionsCount } from '../../utils/sat-sheet-utils';\nimport NodeCardTags from '../node-card/node-card-tags';\nimport * as Styled from './sat-mock-test-styled';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst SatMockTest: FC<ISatMockTestProps> = memo(props => {\n const {\n userType,\n imageHue,\n sheets,\n blockStats,\n blockState,\n blockStatement,\n blockPermissions,\n onNodeAttempt,\n onNodeReview,\n } = props;\n\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const { can_resume: canResume, can_review: canReview, can_start: canStart } = blockPermissions;\n\n const isBlockLocked = useMemo(() => blockState === BLOCK_STATES.LOCKED, [blockState]);\n const isBlockCompleted = useMemo(() => blockState === BLOCK_STATES.COMPLETED, [blockState]);\n const { sat_max_score: satMaxScore, sat_total_score: satTotalScore } = blockStats || {};\n const nodeData = sheets[0] as ISatMockTestProps['sheets'][0];\n\n const { node_type: nodeType } = nodeData;\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const { english, math } = getSatSheetQuestionsCount(sheets);\n\n const handleOnMouseEnter = useCallback(() => {\n if (isBlockLocked) return;\n\n animationRef.current?.play();\n }, [isBlockLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeAttempt = useCallback(() => {\n const nextAccessibleSATSheet = getNextAccessibleSATSheet(sheets);\n\n if (!nextAccessibleSATSheet) {\n throw new Error('Active SAT sheet is not available');\n }\n\n if (userType === 'STUDENT' && (canStart || canResume)) {\n onNodeAttempt?.(nextAccessibleSATSheet);\n\n return;\n }\n\n if (canReview) {\n onNodeReview?.(nextAccessibleSATSheet);\n }\n }, [canResume, canReview, canStart, onNodeAttempt, onNodeReview, sheets, userType]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5} $alignItems=\"center\">\n <Clickable\n label=\"\"\n analyticsLabel=\"mock_test\"\n onClick={handleOnNodeAttempt}\n disabled={isBlockLocked}\n >\n <NodeCardContainer $minWidth={180} $background={`${imageHue}_2`} $disabled={isBlockLocked}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={blockStatement}\n zIndex={5}\n hidden={!blockStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={isBlockLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <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 width={31}\n height={31}\n />\n <StyledImportantIcon />\n </IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n Mock Test\n </Text>\n </NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={blockState} />\n </ArrowTooltip>\n </NodeCardContainer>\n </Clickable>\n\n <FlexView $flexGap={isBlockCompleted ? 8 : 4}>\n {isBlockCompleted ? (\n <>\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n Total Score\n </Text>\n\n <Styled.ScoreTextWrapper $flexDirection=\"row\" $alignItems=\"flex-end\">\n <Text $renderAs=\"ah4-bold\">{satTotalScore}</Text>\n <Text $renderAs=\"ac3-black\" $color=\"BLACK_T_38\">\n /{satMaxScore}\n </Text>\n </Styled.ScoreTextWrapper>\n </>\n ) : (\n <>\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Reading & Writing:</span>\n <span>2 Modules, {english} questions</span>\n </Styled.StyledText>\n\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Math:</span>\n <span>2 Modules, {math} questions</span>\n </Styled.StyledText>\n </>\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default SatMockTest;\n"],"names":["renderSettings","SatMockTest","memo","props","userType","imageHue","sheets","blockStats","blockState","blockStatement","blockPermissions","onNodeAttempt","onNodeReview","animationRef","useRef","canResume","canReview","canStart","isBlockLocked","useMemo","BLOCK_STATES","isBlockCompleted","satMaxScore","satTotalScore","nodeData","nodeType","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","english","math","getSatSheetQuestionsCount","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","handleOnNodeAttempt","nextAccessibleSATSheet","getNextAccessibleSATSheet","FlexView","jsx","Clickable","NodeCardContainer","jsxs","ArrowTooltip","NodeCardInfoWrapper","IconWrapper","LottieAnimation","StyledImportantIcon","Text","NodeCardTags","Fragment","Styled.ScoreTextWrapper","Styled.StyledText"],"mappings":"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"}
1
+ {"version":3,"file":"sat-mock-test.js","sources":["../../../../../src/features/chapters-v2/comps/sat-mock-test/sat-mock-test.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport Text from '../../../ui/text/text';\nimport {\n NodeCardContainer,\n NodeCardInfoWrapper,\n IconWrapper,\n StyledImportantIcon,\n} from '../../comps/node-card/node-card-styled';\nimport { BLOCK_STATES } from '../../constants/block-constants';\nimport { getNodeTypeBasedBgImage } from '../../utils';\nimport { getNodeCardBasedIcon } from '../../utils/node-card-utils';\nimport { getNextAccessibleSATSheet, getSatSheetQuestionsCount } from '../../utils/sat-sheet-utils';\nimport NodeCardTags from '../node-card/node-card-tags';\nimport * as Styled from './sat-mock-test-styled';\nimport type { ISatMockTestProps } from './sat-mock-test-types';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst SatMockTest: FC<ISatMockTestProps> = memo(props => {\n const {\n userType,\n imageHue,\n sheets,\n blockStats,\n blockState,\n blockStatement,\n blockPermissions,\n onNodeAttempt,\n onNodeReview,\n } = props;\n\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const { can_resume: canResume, can_review: canReview, can_start: canStart } = blockPermissions;\n\n const isBlockLocked = useMemo(() => blockState === BLOCK_STATES.LOCKED, [blockState]);\n const isBlockCompleted = useMemo(() => blockState === BLOCK_STATES.COMPLETED, [blockState]);\n const { sat_max_score: satMaxScore, sat_total_score: satTotalScore } = blockStats || {};\n const nodeData = sheets[0] as ISatMockTestProps['sheets'][0];\n\n const { node_type: nodeType } = nodeData;\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const { english, math } = getSatSheetQuestionsCount(sheets);\n\n const handleOnMouseEnter = useCallback(() => {\n if (isBlockLocked) return;\n\n animationRef.current?.play();\n }, [isBlockLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeAttempt = useCallback(() => {\n const nextAccessibleSATSheet = getNextAccessibleSATSheet(sheets);\n\n if (!nextAccessibleSATSheet) {\n throw new Error('Active SAT sheet is not available');\n }\n\n if (userType === 'STUDENT' && (canStart || canResume)) {\n onNodeAttempt?.(nextAccessibleSATSheet);\n\n return;\n }\n\n if (canReview) {\n onNodeReview?.(nextAccessibleSATSheet);\n }\n }, [canResume, canReview, canStart, onNodeAttempt, onNodeReview, sheets, userType]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5} $alignItems=\"center\">\n <Clickable\n label=\"\"\n analyticsLabel=\"mock_test\"\n onClick={handleOnNodeAttempt}\n disabled={isBlockLocked}\n >\n <NodeCardContainer $minWidth={180} $background={`${imageHue}_2`} $disabled={isBlockLocked}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={blockStatement}\n zIndex={5}\n hidden={!blockStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={isBlockLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <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 width={31}\n height={31}\n />\n <StyledImportantIcon />\n </IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n Mock Test\n </Text>\n </NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={blockState} />\n </ArrowTooltip>\n </NodeCardContainer>\n </Clickable>\n\n <FlexView $flexGap={isBlockCompleted ? 8 : 4}>\n {isBlockCompleted ? (\n <>\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n Total Score\n </Text>\n\n <Styled.ScoreTextWrapper $flexDirection=\"row\" $alignItems=\"flex-end\">\n <Text $renderAs=\"ah4-bold\">{satTotalScore}</Text>\n <Text $renderAs=\"ac3-black\" $color=\"BLACK_T_38\">\n /{satMaxScore}\n </Text>\n </Styled.ScoreTextWrapper>\n </>\n ) : (\n <>\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Reading & Writing:</span>\n <span>2 Modules, {english} questions</span>\n </Styled.StyledText>\n\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Math:</span>\n <span>2 Modules, {math} questions</span>\n </Styled.StyledText>\n </>\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default SatMockTest;\n"],"names":["renderSettings","SatMockTest","memo","props","userType","imageHue","sheets","blockStats","blockState","blockStatement","blockPermissions","onNodeAttempt","onNodeReview","animationRef","useRef","canResume","canReview","canStart","isBlockLocked","useMemo","BLOCK_STATES","isBlockCompleted","satMaxScore","satTotalScore","nodeData","nodeType","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","english","math","getSatSheetQuestionsCount","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","handleOnNodeAttempt","nextAccessibleSATSheet","getNextAccessibleSATSheet","FlexView","jsx","Clickable","NodeCardContainer","jsxs","ArrowTooltip","NodeCardInfoWrapper","IconWrapper","LottieAnimation","StyledImportantIcon","Text","NodeCardTags","Fragment","Styled.ScoreTextWrapper","Styled.StyledText"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sources":["../../../../../src/features/chapters-v2/comps/tag/tag.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport React, { memo } from 'react';\n\nimport Text from '../../../ui/text/text';\nimport * as Styled from './tag-styled';\n\ninterface ITagProps {\n label?: string;\n Icon?: FC<React.SVGProps<SVGSVGElement>>;\n}\n\nconst Tag: FC<ITagProps> = memo(({ label, Icon }) => {\n const isOnlyIconPresent = !label;\n\n return (\n <Styled.TagContainer\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={50}\n $gap={isOnlyIconPresent ? 0 : 6}\n $gutter={isOnlyIconPresent ? 0 : 6}\n $background=\"WHITE_1\"\n $onlyIcon={isOnlyIconPresent}\n >\n {!!Icon && <Icon width={20} height={20} />}\n {!!label && <Text $renderAs=\"ac4-black\">{label}</Text>}\n </Styled.TagContainer>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","memo","label","Icon","isOnlyIconPresent","jsxs","Styled.TagContainer","jsx","Text"],"mappings":";;;;AAYA,MAAMA,IAAqBC,EAAK,CAAC,EAAE,OAAAC,GAAO,MAAAC,QAAW;AACnD,QAAMC,IAAoB,CAACF;AAGzB,SAAA,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,MAAMF,IAAoB,IAAI;AAAA,MAC9B,SAASA,IAAoB,IAAI;AAAA,MACjC,aAAY;AAAA,MACZ,WAAWA;AAAA,MAEV,UAAA;AAAA,QAAA,CAAC,CAACD,KAAQ,gBAAAI,EAACJ,KAAK,OAAO,IAAI,QAAQ,IAAI;AAAA,QACvC,CAAC,CAACD,uBAAUM,GAAK,EAAA,WAAU,aAAa,UAAMN,GAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGrD,CAAC;"}
1
+ {"version":3,"file":"tag.js","sources":["../../../../../src/features/chapters-v2/comps/tag/tag.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport React, { memo } from 'react';\n\nimport Text from '../../../ui/text/text';\nimport * as Styled from './tag-styled';\n\ninterface ITagProps {\n label?: string;\n Icon?: FC<React.SVGProps<SVGSVGElement>>;\n}\n\nconst Tag: FC<ITagProps> = memo(({ label, Icon }) => {\n const isOnlyIconPresent = !label;\n\n return (\n <Styled.TagContainer\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={50}\n $gap={isOnlyIconPresent ? 0 : 6}\n $gutter={isOnlyIconPresent ? 0 : 6}\n $background=\"WHITE_1\"\n $onlyIcon={isOnlyIconPresent}\n >\n {!!Icon && <Icon width={20} height={20} />}\n {!!label && <Text $renderAs=\"ac4-black\">{label}</Text>}\n </Styled.TagContainer>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","memo","label","Icon","isOnlyIconPresent","jsxs","Styled.TagContainer","jsx","Text"],"mappings":";;;;AAWA,MAAMA,IAAqBC,EAAK,CAAC,EAAE,OAAAC,GAAO,MAAAC,QAAW;AACnD,QAAMC,IAAoB,CAACF;AAGzB,SAAA,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,MAAMF,IAAoB,IAAI;AAAA,MAC9B,SAASA,IAAoB,IAAI;AAAA,MACjC,aAAY;AAAA,MACZ,WAAWA;AAAA,MAEV,UAAA;AAAA,QAAA,CAAC,CAACD,KAAQ,gBAAAI,EAACJ,KAAK,OAAO,IAAI,QAAQ,IAAI;AAAA,QACvC,CAAC,CAACD,uBAAUM,GAAK,EAAA,WAAU,aAAa,UAAMN,GAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGrD,CAAC;"}
@@ -1,9 +1,9 @@
1
1
  import { ILLUSTRATIONS as e } from "../../../assets/illustrations/illustrations.js";
2
- const A = (E) => {
2
+ const S = (E) => {
3
3
  if (!E) return 0;
4
- const { mandatory: c } = E, { completed: S, total: _ } = c;
5
- return _ === 0 ? 0 : Math.floor(S / _ * 100);
6
- }, r = (E) => {
4
+ const { mandatory: _ } = E, { completed: t, total: c } = _;
5
+ return c === 0 ? 0 : Math.floor(t / c * 100);
6
+ }, A = (E) => {
7
7
  switch (E) {
8
8
  case "LEVEL2":
9
9
  case "LEVEL3":
@@ -52,20 +52,24 @@ const A = (E) => {
52
52
  default:
53
53
  return e.NODE_PROJECT_BG;
54
54
  }
55
- }, t = ({
55
+ }, r = ({
56
56
  isSkipped: E,
57
- sheetsLength: c,
58
- isGoalBlock: S,
59
- lessonIdx: _,
60
- isSatMockTestBlock: T
57
+ sheetsLength: _,
58
+ isGoalBlock: t,
59
+ lessonIdx: c,
60
+ isSatMockTestBlock: a
61
61
  }) => {
62
- if (!S && !T) return `(${c})`;
63
- if (!(E || !_))
64
- return `${_}`;
65
- };
62
+ if (!t && !a) return `(${_})`;
63
+ if (!(E || !c))
64
+ return `${c}`;
65
+ }, T = (E) => E.some(
66
+ (_) => _.block_type !== "DOWNLOADS" && _.sheets.some((t) => t.node_type === "PDF")
67
+ ), N = (E) => E.some((_) => _.block_type === "DOWNLOADS");
66
68
  export {
67
- A as getChapterCompletionPercentage,
68
- r as getNodeTypeBasedBgImage,
69
- t as getSheetNLessonCount
69
+ S as getChapterCompletionPercentage,
70
+ N as getHasDownloadBlock,
71
+ T as getHasNonDownloadBlockWithPdfNode,
72
+ A as getNodeTypeBasedBgImage,
73
+ r as getSheetNLessonCount
70
74
  };
71
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return ILLUSTRATIONS.NODE_TEST_PREP_BG;\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'TURING_SUBJECTIVE':\n return ILLUSTRATIONS.NODE_SUBJECTIVE_BG;\n\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return ILLUSTRATIONS.NODE_ACTIVITY_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n case 'PDF':\n return ILLUSTRATIONS.NODE_DOWNLOAD_BG;\n\n default:\n return ILLUSTRATIONS.NODE_PROJECT_BG;\n }\n};\n\ninterface IGetSheetNLessonCountParams {\n isSkipped: boolean;\n sheetsLength: number;\n isGoalBlock?: boolean;\n lessonIdx?: number;\n isSatMockTestBlock?: boolean;\n}\n\nconst getSheetNLessonCount = ({\n isSkipped,\n sheetsLength,\n isGoalBlock,\n lessonIdx,\n isSatMockTestBlock,\n}: IGetSheetNLessonCountParams) => {\n if (!isGoalBlock && !isSatMockTestBlock) return `(${sheetsLength})`;\n\n if (isSkipped || !lessonIdx) return undefined;\n\n return `${lessonIdx}`;\n};\n\nexport { getChapterCompletionPercentage, getNodeTypeBasedBgImage, getSheetNLessonCount };\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx","isSatMockTestBlock"],"mappings":";AASM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAUMC,IAAuB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AACF,MAAmC;AACjC,MAAI,CAACF,KAAe,CAACE,EAAoB,QAAO,IAAIH,CAAY;AAE5D,MAAA,EAAAD,KAAa,CAACG;AAElB,WAAO,GAAGA,CAAS;AACrB;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport type {\n IChapterBlockData,\n IChapterProgressStats,\n} from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return ILLUSTRATIONS.NODE_TEST_PREP_BG;\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'TURING_SUBJECTIVE':\n return ILLUSTRATIONS.NODE_SUBJECTIVE_BG;\n\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return ILLUSTRATIONS.NODE_ACTIVITY_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n case 'PDF':\n return ILLUSTRATIONS.NODE_DOWNLOAD_BG;\n\n default:\n return ILLUSTRATIONS.NODE_PROJECT_BG;\n }\n};\n\ninterface IGetSheetNLessonCountParams {\n isSkipped: boolean;\n sheetsLength: number;\n isGoalBlock?: boolean;\n lessonIdx?: number;\n isSatMockTestBlock?: boolean;\n}\n\nconst getSheetNLessonCount = ({\n isSkipped,\n sheetsLength,\n isGoalBlock,\n lessonIdx,\n isSatMockTestBlock,\n}: IGetSheetNLessonCountParams) => {\n if (!isGoalBlock && !isSatMockTestBlock) return `(${sheetsLength})`;\n\n if (isSkipped || !lessonIdx) return undefined;\n\n return `${lessonIdx}`;\n};\n\nconst getHasNonDownloadBlockWithPdfNode = (blocks: IChapterBlockData[]) => {\n return blocks.some(\n blockInfo =>\n blockInfo.block_type !== 'DOWNLOADS' &&\n blockInfo.sheets.some(sheetInfo => sheetInfo.node_type === 'PDF'),\n );\n};\n\nconst getHasDownloadBlock = (blocks: IChapterBlockData[]) => {\n return blocks.some(blockInfo => blockInfo.block_type === 'DOWNLOADS');\n};\n\nexport {\n getChapterCompletionPercentage,\n getNodeTypeBasedBgImage,\n getSheetNLessonCount,\n getHasNonDownloadBlockWithPdfNode,\n getHasDownloadBlock,\n};\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx","isSatMockTestBlock","getHasNonDownloadBlockWithPdfNode","blocks","blockInfo","sheetInfo","getHasDownloadBlock"],"mappings":";AAWM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAUMC,IAAuB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AACF,MAAmC;AACjC,MAAI,CAACF,KAAe,CAACE,EAAoB,QAAO,IAAIH,CAAY;AAE5D,MAAA,EAAAD,KAAa,CAACG;AAElB,WAAO,GAAGA,CAAS;AACrB,GAEME,IAAoC,CAACC,MAClCA,EAAO;AAAA,EACZ,CAAAC,MACEA,EAAU,eAAe,eACzBA,EAAU,OAAO,KAAK,CAAAC,MAAaA,EAAU,cAAc,KAAK;AAAA,GAIhEC,IAAsB,CAACH,MACpBA,EAAO,KAAK,CAAaC,MAAAA,EAAU,eAAe,WAAW;"}
@@ -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'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\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, isMilestone);\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: -16,\n right: -16,\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 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\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 'TURING_SUBJECTIVE':\n return {\n lottie: LOTTIE.SUBJECTIVE,\n };\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return {\n lottie: LOTTIE.ACTIVITY,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n case 'PDF':\n return {\n lottie: LOTTIE.DOWNLOAD,\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","isMilestone","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
+ {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import 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 type { INodeDataProps } from '../comps/node-card/node-card-types';\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'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\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, isMilestone);\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: -16,\n right: -16,\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 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\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 'TURING_SUBJECTIVE':\n return {\n lottie: LOTTIE.SUBJECTIVE,\n };\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return {\n lottie: LOTTIE.ACTIVITY,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n case 'PDF':\n return {\n lottie: LOTTIE.DOWNLOAD,\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","isMilestone","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 +1 @@
1
- {"version":3,"file":"sat-sheet-utils.js","sources":["../../../../src/features/chapters-v2/utils/sat-sheet-utils.ts"],"sourcesContent":["import type { ISatMockTestProps } from '../comps/sat-mock-test/sat-mock-test-types';\n\nimport { SAT_NODE_TYPE } from '../../sheets/constants/sheet';\n\nconst getSatSheetQuestionsCount = (sheets: ISatMockTestProps['sheets']) => {\n if (!sheets || sheets.length === 0) {\n return { english: 0, math: 0 };\n }\n\n const english = sheets.reduce((acc, sheet) => {\n if (sheet.node_type === SAT_NODE_TYPE.SAT_ENGLISH_ASSESSMENT) {\n return acc + (sheet.total_questions || 0);\n }\n\n return acc;\n }, 0);\n\n const math = sheets.reduce((acc, sheet) => {\n if (sheet.node_type === SAT_NODE_TYPE.SAT_MATH_ASSESSMENT) {\n return acc + (sheet.total_questions || 0);\n }\n\n return acc;\n }, 0);\n\n return { english, math };\n};\n\nconst getNextAccessibleSATSheet = (sheets: ISatMockTestProps['sheets']) => {\n const accessibleSheet =\n sheets.find(sheet => sheet.permissions.can_start || sheet.permissions.can_resume) ??\n sheets?.[0];\n\n return accessibleSheet;\n};\n\nexport { getSatSheetQuestionsCount, getNextAccessibleSATSheet };\n"],"names":["getSatSheetQuestionsCount","sheets","english","acc","sheet","SAT_NODE_TYPE","math","getNextAccessibleSATSheet"],"mappings":";AAIM,MAAAA,IAA4B,CAACC,MAAwC;AACzE,MAAI,CAACA,KAAUA,EAAO,WAAW;AAC/B,WAAO,EAAE,SAAS,GAAG,MAAM,EAAE;AAG/B,QAAMC,IAAUD,EAAO,OAAO,CAACE,GAAKC,MAC9BA,EAAM,cAAcC,EAAc,yBAC7BF,KAAOC,EAAM,mBAAmB,KAGlCD,GACN,CAAC,GAEEG,IAAOL,EAAO,OAAO,CAACE,GAAKC,MAC3BA,EAAM,cAAcC,EAAc,sBAC7BF,KAAOC,EAAM,mBAAmB,KAGlCD,GACN,CAAC;AAEG,SAAA,EAAE,SAAAD,GAAS,MAAAI;AACpB,GAEMC,IAA4B,CAACN,MAE/BA,EAAO,KAAK,CAAAG,MAASA,EAAM,YAAY,aAAaA,EAAM,YAAY,UAAU,MAChFH,KAAA,gBAAAA,EAAS;"}
1
+ {"version":3,"file":"sat-sheet-utils.js","sources":["../../../../src/features/chapters-v2/utils/sat-sheet-utils.ts"],"sourcesContent":["import { SAT_NODE_TYPE } from '../../sheets/constants/sheet';\nimport type { ISatMockTestProps } from '../comps/sat-mock-test/sat-mock-test-types';\n\nconst getSatSheetQuestionsCount = (sheets: ISatMockTestProps['sheets']) => {\n if (!sheets || sheets.length === 0) {\n return { english: 0, math: 0 };\n }\n\n const english = sheets.reduce((acc, sheet) => {\n if (sheet.node_type === SAT_NODE_TYPE.SAT_ENGLISH_ASSESSMENT) {\n return acc + (sheet.total_questions || 0);\n }\n\n return acc;\n }, 0);\n\n const math = sheets.reduce((acc, sheet) => {\n if (sheet.node_type === SAT_NODE_TYPE.SAT_MATH_ASSESSMENT) {\n return acc + (sheet.total_questions || 0);\n }\n\n return acc;\n }, 0);\n\n return { english, math };\n};\n\nconst getNextAccessibleSATSheet = (sheets: ISatMockTestProps['sheets']) => {\n const accessibleSheet =\n sheets.find(sheet => sheet.permissions.can_start || sheet.permissions.can_resume) ??\n sheets?.[0];\n\n return accessibleSheet;\n};\n\nexport { getSatSheetQuestionsCount, getNextAccessibleSATSheet };\n"],"names":["getSatSheetQuestionsCount","sheets","english","acc","sheet","SAT_NODE_TYPE","math","getNextAccessibleSATSheet"],"mappings":";AAGM,MAAAA,IAA4B,CAACC,MAAwC;AACzE,MAAI,CAACA,KAAUA,EAAO,WAAW;AAC/B,WAAO,EAAE,SAAS,GAAG,MAAM,EAAE;AAG/B,QAAMC,IAAUD,EAAO,OAAO,CAACE,GAAKC,MAC9BA,EAAM,cAAcC,EAAc,yBAC7BF,KAAOC,EAAM,mBAAmB,KAGlCD,GACN,CAAC,GAEEG,IAAOL,EAAO,OAAO,CAACE,GAAKC,MAC3BA,EAAM,cAAcC,EAAc,sBAC7BF,KAAOC,EAAM,mBAAmB,KAGlCD,GACN,CAAC;AAEG,SAAA,EAAE,SAAAD,GAAS,MAAAI;AACpB,GAEMC,IAA4B,CAACN,MAE/BA,EAAO,KAAK,CAAAG,MAASA,EAAM,YAAY,aAAaA,EAAM,YAAY,UAAU,MAChFH,KAAA,gBAAAA,EAAS;"}
@@ -1 +1 @@
1
- {"version":3,"file":"info-bar.js","sources":["../../../../../src/features/circle-games/comps/info-bar/info-bar.tsx"],"sourcesContent":["import type { TColorNames, THueNames } from '../../../ui/types';\nimport type { IInfoBarProps } from './info-bar-types';\n\nimport { useMemo } from 'react';\n\nimport * as Styled from './info-bar-styled';\n\nconst computeColorsFromHue = (\n hue: THueNames,\n): { backgroundColor: TColorNames; borderColor: TColorNames } => {\n return { backgroundColor: `${hue}_6`, borderColor: `${hue}_4` };\n};\n\nexport const InfoBar: React.FC<IInfoBarProps> = ({ children, hue }) => {\n const { backgroundColor, borderColor } = useMemo(() => computeColorsFromHue(hue), [hue]);\n\n return (\n <Styled.InfoBarWrapper $background={backgroundColor} $borderColor={borderColor}>\n {children}\n </Styled.InfoBarWrapper>\n );\n};\n"],"names":["computeColorsFromHue","hue","InfoBar","children","backgroundColor","borderColor","useMemo","jsx","Styled.InfoBarWrapper"],"mappings":";;;AAOA,MAAMA,IAAuB,CAC3BC,OAEO,EAAE,iBAAiB,GAAGA,CAAG,MAAM,aAAa,GAAGA,CAAG,SAG9CC,IAAmC,CAAC,EAAE,UAAAC,GAAU,KAAAF,QAAU;AAC/D,QAAA,EAAE,iBAAAG,GAAiB,aAAAC,EAAA,IAAgBC,EAAQ,MAAMN,EAAqBC,CAAG,GAAG,CAACA,CAAG,CAAC;AAGrF,SAAA,gBAAAM,EAACC,GAAA,EAAsB,aAAaJ,GAAiB,cAAcC,GAChE,UAAAF,EACH,CAAA;AAEJ;"}
1
+ {"version":3,"file":"info-bar.js","sources":["../../../../../src/features/circle-games/comps/info-bar/info-bar.tsx"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { TColorNames, THueNames } from '../../../ui/types';\nimport * as Styled from './info-bar-styled';\nimport type { IInfoBarProps } from './info-bar-types';\n\nconst computeColorsFromHue = (\n hue: THueNames,\n): { backgroundColor: TColorNames; borderColor: TColorNames } => {\n return { backgroundColor: `${hue}_6`, borderColor: `${hue}_4` };\n};\n\nexport const InfoBar: React.FC<IInfoBarProps> = ({ children, hue }) => {\n const { backgroundColor, borderColor } = useMemo(() => computeColorsFromHue(hue), [hue]);\n\n return (\n <Styled.InfoBarWrapper $background={backgroundColor} $borderColor={borderColor}>\n {children}\n </Styled.InfoBarWrapper>\n );\n};\n"],"names":["computeColorsFromHue","hue","InfoBar","children","backgroundColor","borderColor","useMemo","jsx","Styled.InfoBarWrapper"],"mappings":";;;AAMA,MAAMA,IAAuB,CAC3BC,OAEO,EAAE,iBAAiB,GAAGA,CAAG,MAAM,aAAa,GAAGA,CAAG,SAG9CC,IAAmC,CAAC,EAAE,UAAAC,GAAU,KAAAF,QAAU;AAC/D,QAAA,EAAE,iBAAAG,GAAiB,aAAAC,EAAA,IAAgBC,EAAQ,MAAMN,EAAqBC,CAAG,GAAG,CAACA,CAAG,CAAC;AAGrF,SAAA,gBAAAM,EAACC,GAAA,EAAsB,aAAaJ,GAAiB,cAAcC,GAChE,UAAAF,EACH,CAAA;AAEJ;"}
@@ -1,10 +1,10 @@
1
- import { createGetAPI as r } from "@cuemath/rest-api";
2
- import { BASE_URL as i } from "./constants.js";
3
- const { useGet: n, invalidate: a } = r({
4
- getURL: (c, { user_id: e, country_code: t, grade: o }) => `${i}/circle-home/?intelenrollment_id=${e}&country_code=${t}&grade=${o}`
1
+ import { createGetAPI as i } from "@cuemath/rest-api";
2
+ import { BASE_URL as r } from "./constants.js";
3
+ const { useGet: a, invalidate: c } = i({
4
+ getURL: (o, { user_id: e, grade: t }) => `${r}/circle-home/?intelenrollment_id=${e}&grade=${t}`
5
5
  });
6
6
  export {
7
- a as invalidateCircleHomeAPI,
8
- n as useGetCircleHomeAPI
7
+ c as invalidateCircleHomeAPI,
8
+ a as useGetCircleHomeAPI
9
9
  };
10
10
  //# sourceMappingURL=get-circle-home-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-circle-home-api.js","sources":["../../../../../../src/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.ts"],"sourcesContent":["import type {\n IGetCircleHomeResponseModel,\n IGetCircleHomePayloadModel,\n} from './get-circle-home-api-types';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL } from './constants';\n\nexport const { useGet: useGetCircleHomeAPI, invalidate: invalidateCircleHomeAPI } = createGetAPI<\n IGetCircleHomeResponseModel,\n IGetCircleHomePayloadModel\n>({\n getURL: (_, { user_id, country_code, grade }) =>\n `${BASE_URL}/circle-home/?intelenrollment_id=${user_id}&country_code=${country_code}&grade=${grade}`,\n});\n"],"names":["useGetCircleHomeAPI","invalidateCircleHomeAPI","createGetAPI","_","user_id","country_code","grade","BASE_URL"],"mappings":";;AASO,MAAM,EAAE,QAAQA,GAAqB,YAAYC,EAAA,IAA4BC,EAGlF;AAAA,EACA,QAAQ,CAACC,GAAG,EAAE,SAAAC,GAAS,cAAAC,GAAc,OAAAC,EAAA,MACnC,GAAGC,CAAQ,oCAAoCH,CAAO,iBAAiBC,CAAY,UAAUC,CAAK;AACtG,CAAC;"}
1
+ {"version":3,"file":"get-circle-home-api.js","sources":["../../../../../../src/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL } from './constants';\nimport type {\n IGetCircleHomeResponseModel,\n IGetCircleHomePayloadModel,\n} from './get-circle-home-api-types';\n\nexport const { useGet: useGetCircleHomeAPI, invalidate: invalidateCircleHomeAPI } = createGetAPI<\n IGetCircleHomeResponseModel,\n IGetCircleHomePayloadModel\n>({\n getURL: (_, { user_id, grade }) =>\n `${BASE_URL}/circle-home/?intelenrollment_id=${user_id}&grade=${grade}`,\n});\n"],"names":["useGetCircleHomeAPI","invalidateCircleHomeAPI","createGetAPI","_","user_id","grade","BASE_URL"],"mappings":";;AAQO,MAAM,EAAE,QAAQA,GAAqB,YAAYC,EAAA,IAA4BC,EAGlF;AAAA,EACA,QAAQ,CAACC,GAAG,EAAE,SAAAC,GAAS,OAAAC,EACrB,MAAA,GAAGC,CAAQ,oCAAoCF,CAAO,UAAUC,CAAK;AACzE,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"card-container-styled.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/card-container/card-container-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { GAME_LAUNCHER_SIZE } from './constants';\n\nexport const CardWrapper = styled.div`\n position: relative;\n display: flex;\n justify-content: center;\n`;\n\nexport const ExtendedFlexView = styled(FlexView)`\n position: absolute;\n top: -28px;\n display: flex;\n justify-content: center;\n`;\n\nexport const CardContainer = styled.div<{ $strokeColor?: TColorNames }>`\n position: relative;\n border-radius: ${GAME_LAUNCHER_SIZE}px;\n border: ${({ $strokeColor }) =>\n $strokeColor ? `2px solid ${$strokeColor}` : '0 solid transparent'};\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n align-self: center;\n backdrop-filter: blur(0px);\n flex-shrink: 0;\n`;\n\nexport const AnimatedLabel = styled(Text)<{ $isAnimated: boolean }>`\n transition: color 0.5s ease-in-out;\n\n ${({ $isAnimated }) =>\n $isAnimated &&\n `\n animation: zoomInOut 1s ease-in-out infinite;\n `}\n\n @keyframes zoomInOut {\n 0% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.05);\n }\n 100% {\n transform: scale(1);\n }\n }\n`;\n"],"names":["CardWrapper","styled","ExtendedFlexView","FlexView","CardContainer","GAME_LAUNCHER_SIZE","$strokeColor","AnimatedLabel","Text","$isAnimated"],"mappings":";;;;AAQO,MAAMA,IAAcC,EAAO;AAAA;AAAA;AAAA;AAAA,GAMrBC,IAAmBD,EAAOE,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAOlCC,IAAgBH,EAAO;AAAA;AAAA,mBAEjBI,CAAkB;AAAA,YACzB,CAAC,EAAE,cAAAC,EAAa,MACxBA,IAAe,aAAaA,CAAY,KAAK,qBAAqB;AAAA,YAC1DD,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWhBE,IAAgBN,EAAOO,CAAI;AAAA;AAAA;AAAA,IAGpC,CAAC,EAAE,aAAAC,QACHA,KACA;AAAA;AAAA,KAEC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"card-container-styled.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/card-container/card-container-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport type { TColorNames } from '../../../../ui/types';\nimport { GAME_LAUNCHER_SIZE } from './constants';\n\nexport const CardWrapper = styled.div`\n position: relative;\n display: flex;\n justify-content: center;\n`;\n\nexport const ExtendedFlexView = styled(FlexView)`\n position: absolute;\n top: -28px;\n display: flex;\n justify-content: center;\n`;\n\nexport const CardContainer = styled.div<{ $strokeColor?: TColorNames }>`\n position: relative;\n border-radius: ${GAME_LAUNCHER_SIZE}px;\n border: ${({ $strokeColor }) =>\n $strokeColor ? `2px solid ${$strokeColor}` : '0 solid transparent'};\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n align-self: center;\n backdrop-filter: blur(0px);\n flex-shrink: 0;\n`;\n\nexport const AnimatedLabel = styled(Text)<{ $isAnimated: boolean }>`\n transition: color 0.5s ease-in-out;\n\n ${({ $isAnimated }) =>\n $isAnimated &&\n `\n animation: zoomInOut 1s ease-in-out infinite;\n `}\n\n @keyframes zoomInOut {\n 0% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.05);\n }\n 100% {\n transform: scale(1);\n }\n }\n`;\n"],"names":["CardWrapper","styled","ExtendedFlexView","FlexView","CardContainer","GAME_LAUNCHER_SIZE","$strokeColor","AnimatedLabel","Text","$isAnimated"],"mappings":";;;;AAOO,MAAMA,IAAcC,EAAO;AAAA;AAAA;AAAA;AAAA,GAMrBC,IAAmBD,EAAOE,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAOlCC,IAAgBH,EAAO;AAAA;AAAA,mBAEjBI,CAAkB;AAAA,YACzB,CAAC,EAAE,cAAAC,EAAa,MACxBA,IAAe,aAAaA,CAAY,KAAK,qBAAqB;AAAA,YAC1DD,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWhBE,IAAgBN,EAAOO,CAAI;AAAA;AAAA;AAAA,IAGpC,CAAC,EAAE,aAAAC,QACHA,KACA;AAAA;AAAA,KAEC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"card-container.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/card-container/card-container.tsx"],"sourcesContent":["import type { ICardContainerProps } from './card-container-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport { forwardRef, memo } from 'react';\n\nimport * as Styled from './card-container-styled';\n\nconst Container: ForwardRefRenderFunction<HTMLDivElement, ICardContainerProps> = (props, ref) => {\n const {\n children,\n strokeColor,\n label,\n isAnimated,\n labelRef,\n showLabel = true,\n labelColor,\n ...rest\n } = props;\n\n return (\n <Styled.CardWrapper {...rest}>\n <Styled.ExtendedFlexView>\n <Styled.AnimatedLabel\n ref={labelRef}\n $renderAs=\"ac4-black\"\n $align=\"center\"\n $color={labelColor}\n $isAnimated={isAnimated}\n >\n {showLabel ? label : ''}\n </Styled.AnimatedLabel>\n </Styled.ExtendedFlexView>\n <Styled.CardContainer ref={ref} $strokeColor={strokeColor}>\n {children}\n </Styled.CardContainer>\n </Styled.CardWrapper>\n );\n};\n\nexport const CardContainer = memo(forwardRef(Container));\n"],"names":["Container","props","ref","children","strokeColor","label","isAnimated","labelRef","showLabel","labelColor","rest","jsxs","Styled.CardWrapper","jsx","Styled.ExtendedFlexView","Styled.AnimatedLabel","Styled.CardContainer","CardContainer","memo","forwardRef"],"mappings":";;;AAOA,MAAMA,IAA2E,CAACC,GAAOC,MAAQ;AACzF,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,YAAAC;AAAA,IACA,GAAGC;AAAA,EACD,IAAAT;AAEJ,SACG,gBAAAU,EAAAC,GAAA,EAAoB,GAAGF,GACtB,UAAA;AAAA,IAAC,gBAAAG,EAAAC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAAA,MAAA;AAAA,QACC,KAAKR;AAAA,QACL,WAAU;AAAA,QACV,QAAO;AAAA,QACP,QAAQE;AAAA,QACR,aAAaH;AAAA,QAEZ,cAAYD,IAAQ;AAAA,MAAA;AAAA,IAAA,GAEzB;AAAA,sBACCW,GAAA,EAAqB,KAAAd,GAAU,cAAcE,GAC3C,UAAAD,GACH;AAAA,EACF,EAAA,CAAA;AAEJ,GAEac,IAAgBC,EAAKC,EAAWnB,CAAS,CAAC;"}
1
+ {"version":3,"file":"card-container.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/card-container/card-container.tsx"],"sourcesContent":["import type { ForwardRefRenderFunction } from 'react';\nimport { forwardRef, memo } from 'react';\n\nimport * as Styled from './card-container-styled';\nimport type { ICardContainerProps } from './card-container-types';\n\nconst Container: ForwardRefRenderFunction<HTMLDivElement, ICardContainerProps> = (props, ref) => {\n const {\n children,\n strokeColor,\n label,\n isAnimated,\n labelRef,\n showLabel = true,\n labelColor,\n ...rest\n } = props;\n\n return (\n <Styled.CardWrapper {...rest}>\n <Styled.ExtendedFlexView>\n <Styled.AnimatedLabel\n ref={labelRef}\n $renderAs=\"ac4-black\"\n $align=\"center\"\n $color={labelColor}\n $isAnimated={isAnimated}\n >\n {showLabel ? label : ''}\n </Styled.AnimatedLabel>\n </Styled.ExtendedFlexView>\n <Styled.CardContainer ref={ref} $strokeColor={strokeColor}>\n {children}\n </Styled.CardContainer>\n </Styled.CardWrapper>\n );\n};\n\nexport const CardContainer = memo(forwardRef(Container));\n"],"names":["Container","props","ref","children","strokeColor","label","isAnimated","labelRef","showLabel","labelColor","rest","jsxs","Styled.CardWrapper","jsx","Styled.ExtendedFlexView","Styled.AnimatedLabel","Styled.CardContainer","CardContainer","memo","forwardRef"],"mappings":";;;AAMA,MAAMA,IAA2E,CAACC,GAAOC,MAAQ;AACzF,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,YAAAC;AAAA,IACA,GAAGC;AAAA,EACD,IAAAT;AAEJ,SACG,gBAAAU,EAAAC,GAAA,EAAoB,GAAGF,GACtB,UAAA;AAAA,IAAC,gBAAAG,EAAAC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAAA,MAAA;AAAA,QACC,KAAKR;AAAA,QACL,WAAU;AAAA,QACV,QAAO;AAAA,QACP,QAAQE;AAAA,QACR,aAAaH;AAAA,QAEZ,cAAYD,IAAQ;AAAA,MAAA;AAAA,IAAA,GAEzB;AAAA,sBACCW,GAAA,EAAqB,KAAAd,GAAU,cAAcE,GAC3C,UAAAD,GACH;AAAA,EACF,EAAA,CAAA;AAEJ,GAEac,IAAgBC,EAAKC,EAAWnB,CAAS,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/carousel/carousel.tsx"],"sourcesContent":["import type { ICarouselProps, ICarouselRefs } from './carousel-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n forwardRef,\n useImperativeHandle,\n createRef,\n} from 'react';\n\nimport CaratLeftIcon from '../../../../../assets/line-icons/icons/carat-left';\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport Separator from '../../../../ui/separator/separator';\nimport * as Styled from './carousel-styled';\n\nconst CarouselComponent: ForwardRefRenderFunction<ICarouselRefs, ICarouselProps> = (\n { items, defaultIndex = 0, onNext, onPrev, analyticsPrev, analyticsNext },\n ref,\n) => {\n const memoizedAnalyticsPrev = useMemo(() => analyticsPrev, [analyticsPrev]);\n const memoizedAnalyticsNext = useMemo(() => analyticsNext, [analyticsNext]);\n\n const nextBtnRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const isFirstMount = useRef(true);\n const [currIndex, setCurrIndex] = useState(defaultIndex);\n\n // Create a stable array of refs for indicators\n const indicatorRefs = useMemo(() => items.map(() => createRef<HTMLDivElement>()), [items]);\n\n const handleCarouselPrev = useCallback(() => {\n onPrev?.();\n setCurrIndex(prev => prev - 1);\n }, [onPrev]);\n\n const handleCarouselNext = useCallback(() => {\n onNext?.();\n setCurrIndex(prev => prev + 1);\n }, [onNext]);\n\n const handleCarouselIndicatorClick = useCallback((index: number) => {\n setCurrIndex(index);\n }, []);\n\n useImperativeHandle(ref, () => ({\n nextBtnRef,\n indicatorRefs,\n currentIndex: currIndex,\n goToIndex: (index: number) => {\n setCurrIndex(index);\n },\n }));\n\n useEffect(() => {\n if (isFirstMount.current) {\n isFirstMount.current = false;\n }\n }, []);\n\n // Change index from parent\n useEffect(() => {\n setCurrIndex(defaultIndex);\n }, [defaultIndex]);\n\n return (\n <Styled.Carousel>\n <Styled.CarouselWrapper\n $translate={currIndex * 100}\n $translateDuration={isFirstMount.current ? 0 : 300}\n >\n {items.map((item, index) => (\n <Styled.CarouselItemContainer key={index}>{item}</Styled.CarouselItemContainer>\n ))}\n </Styled.CarouselWrapper>\n\n {items.length > 1 && (\n <Styled.ExtendedFlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $position=\"absolute\"\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratLeftIcon}\n onClick={handleCarouselPrev}\n analyticsLabel={memoizedAnalyticsPrev.analyticsLabel}\n analyticsProps={memoizedAnalyticsPrev.analyticsProps}\n disabled={currIndex === 0}\n />\n <Separator width={48} />\n {items.map((_, index) => (\n <Styled.Indicator\n ref={indicatorRefs[index]}\n $isActive={index === currIndex}\n key={index}\n onClick={() => handleCarouselIndicatorClick(index)}\n />\n ))}\n <Separator width={48} />\n <div ref={nextBtnRef}>\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={handleCarouselNext}\n analyticsLabel={memoizedAnalyticsNext.analyticsLabel}\n analyticsProps={memoizedAnalyticsNext.analyticsProps}\n disabled={currIndex === items.length - 1}\n />\n </div>\n </Styled.ExtendedFlexView>\n )}\n </Styled.Carousel>\n );\n};\n\nexport const Carousel = memo(forwardRef(CarouselComponent));\n"],"names":["CarouselComponent","items","defaultIndex","onNext","onPrev","analyticsPrev","analyticsNext","ref","memoizedAnalyticsPrev","useMemo","memoizedAnalyticsNext","nextBtnRef","useRef","isFirstMount","currIndex","setCurrIndex","useState","indicatorRefs","createRef","handleCarouselPrev","useCallback","prev","handleCarouselNext","handleCarouselIndicatorClick","index","useImperativeHandle","useEffect","jsxs","Styled.Carousel","jsx","Styled.CarouselWrapper","item","Styled.CarouselItemContainer","Styled.ExtendedFlexView","IconButton","CaratLeftIcon","Separator","_","Styled.Indicator","CaratRightIcon","Carousel","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"carousel.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/carousel/carousel.tsx"],"sourcesContent":["import type { ForwardRefRenderFunction } from 'react';\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n forwardRef,\n useImperativeHandle,\n createRef,\n} from 'react';\n\nimport CaratLeftIcon from '../../../../../assets/line-icons/icons/carat-left';\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport Separator from '../../../../ui/separator/separator';\nimport * as Styled from './carousel-styled';\nimport type { ICarouselProps, ICarouselRefs } from './carousel-types';\n\nconst CarouselComponent: ForwardRefRenderFunction<ICarouselRefs, ICarouselProps> = (\n { items, defaultIndex = 0, onNext, onPrev, analyticsPrev, analyticsNext },\n ref,\n) => {\n const memoizedAnalyticsPrev = useMemo(() => analyticsPrev, [analyticsPrev]);\n const memoizedAnalyticsNext = useMemo(() => analyticsNext, [analyticsNext]);\n\n const nextBtnRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const isFirstMount = useRef(true);\n const [currIndex, setCurrIndex] = useState(defaultIndex);\n\n // Create a stable array of refs for indicators\n const indicatorRefs = useMemo(() => items.map(() => createRef<HTMLDivElement>()), [items]);\n\n const handleCarouselPrev = useCallback(() => {\n onPrev?.();\n setCurrIndex(prev => prev - 1);\n }, [onPrev]);\n\n const handleCarouselNext = useCallback(() => {\n onNext?.();\n setCurrIndex(prev => prev + 1);\n }, [onNext]);\n\n const handleCarouselIndicatorClick = useCallback((index: number) => {\n setCurrIndex(index);\n }, []);\n\n useImperativeHandle(ref, () => ({\n nextBtnRef,\n indicatorRefs,\n currentIndex: currIndex,\n goToIndex: (index: number) => {\n setCurrIndex(index);\n },\n }));\n\n useEffect(() => {\n if (isFirstMount.current) {\n isFirstMount.current = false;\n }\n }, []);\n\n // Change index from parent\n useEffect(() => {\n setCurrIndex(defaultIndex);\n }, [defaultIndex]);\n\n return (\n <Styled.Carousel>\n <Styled.CarouselWrapper\n $translate={currIndex * 100}\n $translateDuration={isFirstMount.current ? 0 : 300}\n >\n {items.map((item, index) => (\n <Styled.CarouselItemContainer key={index}>{item}</Styled.CarouselItemContainer>\n ))}\n </Styled.CarouselWrapper>\n\n {items.length > 1 && (\n <Styled.ExtendedFlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $position=\"absolute\"\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratLeftIcon}\n onClick={handleCarouselPrev}\n analyticsLabel={memoizedAnalyticsPrev.analyticsLabel}\n analyticsProps={memoizedAnalyticsPrev.analyticsProps}\n disabled={currIndex === 0}\n />\n <Separator width={48} />\n {items.map((_, index) => (\n <Styled.Indicator\n ref={indicatorRefs[index]}\n $isActive={index === currIndex}\n key={index}\n onClick={() => handleCarouselIndicatorClick(index)}\n />\n ))}\n <Separator width={48} />\n <div ref={nextBtnRef}>\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={handleCarouselNext}\n analyticsLabel={memoizedAnalyticsNext.analyticsLabel}\n analyticsProps={memoizedAnalyticsNext.analyticsProps}\n disabled={currIndex === items.length - 1}\n />\n </div>\n </Styled.ExtendedFlexView>\n )}\n </Styled.Carousel>\n );\n};\n\nexport const Carousel = memo(forwardRef(CarouselComponent));\n"],"names":["CarouselComponent","items","defaultIndex","onNext","onPrev","analyticsPrev","analyticsNext","ref","memoizedAnalyticsPrev","useMemo","memoizedAnalyticsNext","nextBtnRef","useRef","isFirstMount","currIndex","setCurrIndex","useState","indicatorRefs","createRef","handleCarouselPrev","useCallback","prev","handleCarouselNext","handleCarouselIndicatorClick","index","useImperativeHandle","useEffect","jsxs","Styled.Carousel","jsx","Styled.CarouselWrapper","item","Styled.CarouselItemContainer","Styled.ExtendedFlexView","IconButton","CaratLeftIcon","Separator","_","Styled.Indicator","CaratRightIcon","Carousel","memo","forwardRef"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-game-card-styled.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.tsx"],"sourcesContent":["import type { TSegment } from './segmented-game-card-types';\n\nimport styled from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../card-container/constants';\nimport {\n ASSET_CONTAINER_SIZE,\n delta,\n ASSET_OFFSET_X,\n ASSET_OFFSET_Y,\n GAME_LAUNCHER_ASSET_PADDING,\n BORDER_WIDTH,\n} from './constants';\n\nexport const CircularProgressLottieContainer = styled.div`\n position: absolute;\n z-index: 5;\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n pointer-events: none;\n`;\n\nexport const RingContainer = styled.div`\n position: relative;\n height: inherit;\n width: inherit;\n border-radius: 50%;\n border: ${BORDER_WIDTH}px solid #fff;\n`;\n\nexport const LottieAnmationContainer = styled.div`\n position: absolute;\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n border-radius: 50%;\n top: ${-GAME_LAUNCHER_ASSET_PADDING / 2 - BORDER_WIDTH}px;\n left: ${-GAME_LAUNCHER_ASSET_PADDING / 2 - BORDER_WIDTH}px;\n z-index: 4;\n`;\n\n// might be needed later-----\n// export const SegmentDevider = styled.div<{ angle: number }>`\n// width: ${GAME_LAUNCHER_SIZE / 2}px;\n// height: 2px;\n// position: absolute;\n// background: #fff;\n// transform-origin: left;\n// transform: ${({ angle }) => `rotate(${angle}deg)`};\n// `;\n\nconst Segment = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n overflow: hidden;\n display: flex;\n position: absolute;\n background: ${({ theme }) => theme.colors.BLACK_1};\n z-index: 2;\n border: 2px solid ${({ theme }) => theme.colors.WHITE};\n backdrop-filter: blur(0px);\n -webkit-backdrop-filter: blur(0px);\n`;\n\nexport const SegmentLeft = styled(Segment)<{\n $angle?: number;\n}>`\n transform-origin: bottom right;\n transform: rotate(-32deg) skew(-32deg);\n translate: -${GAME_LAUNCHER_SIZE / 2}px -${GAME_LAUNCHER_SIZE / 2}px;\n border-right-width: 1px;\n`;\n\nexport const SegmentRight = styled(Segment)<{\n $angle?: number;\n}>`\n transform-origin: bottom left;\n transform: rotate(32deg) skew(32deg);\n translate: ${GAME_LAUNCHER_SIZE / 2}px -${GAME_LAUNCHER_SIZE / 2}px;\n border-left-width: 1px;\n`;\n\nexport const SegmentBottom = styled(Segment)<{\n $angle?: number;\n}>`\n height: ${GAME_LAUNCHER_SIZE / 2}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n bottom: 0;\n left: 0;\n z-index: 1;\n border: none;\n`;\n\nexport const SegmentContainer = styled.div`\n height: inherit;\n width: inherit;\n overflow: hidden;\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const SegmentContentContainer = styled.div<{ $segmentType?: TSegment }>`\n flex: 1;\n background: transparent;\n height: ${GAME_LAUNCHER_SIZE / 2 + delta}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n bottom: ${({ $segmentType = 'bottom' }) => ($segmentType === 'bottom' ? 'unset' : `-${delta}px`)};\n transform-origin: ${({ $segmentType }) => {\n switch ($segmentType) {\n case 'left':\n return 'bottom right';\n case 'right':\n return 'bottom left';\n default:\n return 'unset';\n }\n }};\n transform: ${({ $segmentType = 'bottom' }) => {\n switch ($segmentType) {\n case 'left':\n return 'skew(32deg) rotate(32deg)';\n case 'right':\n return 'skew(-32deg) rotate(-32deg)';\n default:\n return 'none';\n }\n }};\n`;\n\nexport const SegmentAssetContainer = styled.div<{\n $segmentType?: TSegment;\n}>`\n position: absolute;\n right: ${({ $segmentType }) => ($segmentType === 'left' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n left: ${({ $segmentType }) => ($segmentType === 'right' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n bottom: ${({ $segmentType }) =>\n $segmentType === 'bottom' ? `-${ASSET_OFFSET_Y}px` : `-${ASSET_OFFSET_Y}px`};\n height: ${ASSET_CONTAINER_SIZE}px;\n width: ${ASSET_CONTAINER_SIZE}px;\n display: flex;\n align-items: center;\n overflow: hidden;\n background-color: transparent;\n z-index: 1;\n flex-shrink: 0;\n &:hover {\n background: ${({ theme }) => theme.colors.WHITE_T_15};\n cursor: pointer;\n }\n`;\n\nexport const SegmentOverlay = styled.div<{ $segmentType?: TSegment }>`\n position: absolute;\n right: ${({ $segmentType }) => ($segmentType === 'left' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n left: ${({ $segmentType }) => ($segmentType === 'right' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n bottom: ${({ $segmentType }) =>\n $segmentType === 'bottom' ? `-${ASSET_OFFSET_Y}px` : `-${ASSET_OFFSET_Y}px`};\n height: ${ASSET_CONTAINER_SIZE}px;\n width: ${ASSET_CONTAINER_SIZE}px;\n z-index: 5;\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n /* pointer-events: none; */\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const IconWrapper = styled.div`\n position: absolute;\n z-index: 6;\n`;\n"],"names":["CircularProgressLottieContainer","styled","GAME_LAUNCHER_SIZE","RingContainer","BORDER_WIDTH","LottieAnmationContainer","GAME_LAUNCHER_ASSET_PADDING","Segment","theme","SegmentLeft","SegmentRight","SegmentBottom","SegmentContainer","SegmentContentContainer","delta","$segmentType","SegmentAssetContainer","ASSET_OFFSET_X","ASSET_OFFSET_Y","ASSET_CONTAINER_SIZE","SegmentOverlay","IconWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"segmented-game-card-styled.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../card-container/constants';\nimport {\n ASSET_CONTAINER_SIZE,\n delta,\n ASSET_OFFSET_X,\n ASSET_OFFSET_Y,\n GAME_LAUNCHER_ASSET_PADDING,\n BORDER_WIDTH,\n} from './constants';\nimport type { TSegment } from './segmented-game-card-types';\n\nexport const CircularProgressLottieContainer = styled.div`\n position: absolute;\n z-index: 5;\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n pointer-events: none;\n`;\n\nexport const RingContainer = styled.div`\n position: relative;\n height: inherit;\n width: inherit;\n border-radius: 50%;\n border: ${BORDER_WIDTH}px solid #fff;\n`;\n\nexport const LottieAnmationContainer = styled.div`\n position: absolute;\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n border-radius: 50%;\n top: ${-GAME_LAUNCHER_ASSET_PADDING / 2 - BORDER_WIDTH}px;\n left: ${-GAME_LAUNCHER_ASSET_PADDING / 2 - BORDER_WIDTH}px;\n z-index: 4;\n`;\n\n// might be needed later-----\n// export const SegmentDevider = styled.div<{ angle: number }>`\n// width: ${GAME_LAUNCHER_SIZE / 2}px;\n// height: 2px;\n// position: absolute;\n// background: #fff;\n// transform-origin: left;\n// transform: ${({ angle }) => `rotate(${angle}deg)`};\n// `;\n\nconst Segment = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n overflow: hidden;\n display: flex;\n position: absolute;\n background: ${({ theme }) => theme.colors.BLACK_1};\n z-index: 2;\n border: 2px solid ${({ theme }) => theme.colors.WHITE};\n backdrop-filter: blur(0px);\n -webkit-backdrop-filter: blur(0px);\n`;\n\nexport const SegmentLeft = styled(Segment)<{\n $angle?: number;\n}>`\n transform-origin: bottom right;\n transform: rotate(-32deg) skew(-32deg);\n translate: -${GAME_LAUNCHER_SIZE / 2}px -${GAME_LAUNCHER_SIZE / 2}px;\n border-right-width: 1px;\n`;\n\nexport const SegmentRight = styled(Segment)<{\n $angle?: number;\n}>`\n transform-origin: bottom left;\n transform: rotate(32deg) skew(32deg);\n translate: ${GAME_LAUNCHER_SIZE / 2}px -${GAME_LAUNCHER_SIZE / 2}px;\n border-left-width: 1px;\n`;\n\nexport const SegmentBottom = styled(Segment)<{\n $angle?: number;\n}>`\n height: ${GAME_LAUNCHER_SIZE / 2}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n bottom: 0;\n left: 0;\n z-index: 1;\n border: none;\n`;\n\nexport const SegmentContainer = styled.div`\n height: inherit;\n width: inherit;\n overflow: hidden;\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const SegmentContentContainer = styled.div<{ $segmentType?: TSegment }>`\n flex: 1;\n background: transparent;\n height: ${GAME_LAUNCHER_SIZE / 2 + delta}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n bottom: ${({ $segmentType = 'bottom' }) => ($segmentType === 'bottom' ? 'unset' : `-${delta}px`)};\n transform-origin: ${({ $segmentType }) => {\n switch ($segmentType) {\n case 'left':\n return 'bottom right';\n case 'right':\n return 'bottom left';\n default:\n return 'unset';\n }\n }};\n transform: ${({ $segmentType = 'bottom' }) => {\n switch ($segmentType) {\n case 'left':\n return 'skew(32deg) rotate(32deg)';\n case 'right':\n return 'skew(-32deg) rotate(-32deg)';\n default:\n return 'none';\n }\n }};\n`;\n\nexport const SegmentAssetContainer = styled.div<{\n $segmentType?: TSegment;\n}>`\n position: absolute;\n right: ${({ $segmentType }) => ($segmentType === 'left' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n left: ${({ $segmentType }) => ($segmentType === 'right' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n bottom: ${({ $segmentType }) =>\n $segmentType === 'bottom' ? `-${ASSET_OFFSET_Y}px` : `-${ASSET_OFFSET_Y}px`};\n height: ${ASSET_CONTAINER_SIZE}px;\n width: ${ASSET_CONTAINER_SIZE}px;\n display: flex;\n align-items: center;\n overflow: hidden;\n background-color: transparent;\n z-index: 1;\n flex-shrink: 0;\n &:hover {\n background: ${({ theme }) => theme.colors.WHITE_T_15};\n cursor: pointer;\n }\n`;\n\nexport const SegmentOverlay = styled.div<{ $segmentType?: TSegment }>`\n position: absolute;\n right: ${({ $segmentType }) => ($segmentType === 'left' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n left: ${({ $segmentType }) => ($segmentType === 'right' ? `-${ASSET_OFFSET_X}px` : 'unset')};\n bottom: ${({ $segmentType }) =>\n $segmentType === 'bottom' ? `-${ASSET_OFFSET_Y}px` : `-${ASSET_OFFSET_Y}px`};\n height: ${ASSET_CONTAINER_SIZE}px;\n width: ${ASSET_CONTAINER_SIZE}px;\n z-index: 5;\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n /* pointer-events: none; */\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const IconWrapper = styled.div`\n position: absolute;\n z-index: 6;\n`;\n"],"names":["CircularProgressLottieContainer","styled","GAME_LAUNCHER_SIZE","RingContainer","BORDER_WIDTH","LottieAnmationContainer","GAME_LAUNCHER_ASSET_PADDING","Segment","theme","SegmentLeft","SegmentRight","SegmentBottom","SegmentContainer","SegmentContentContainer","delta","$segmentType","SegmentAssetContainer","ASSET_OFFSET_X","ASSET_OFFSET_Y","ASSET_CONTAINER_SIZE","SegmentOverlay","IconWrapper"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport React, {\n forwardRef,\n memo,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport { CardContainer } from '../card-container/card-container';\nimport * as Styled from './segmented-game-card-styled';\n\nconst renderSettings = { renderer: 'canvas', loop: true };\n\nexport const SegmentContent = memo(\n ({ segmentType, isCompleted, card, name, onMouseEnter }: IGameCardSegmentContentProps) => {\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer $segmentType={segmentType}>\n <LottieAnimation src={card} settings={renderSettings} animateOnIntersect />\n </Styled.SegmentAssetContainer>\n\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n },\n);\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const labelRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const cardWrapperRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = useCallback(\n (index: number) => {\n data[index]?.onPress?.();\n },\n [data],\n );\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef: cardWrapperRef,\n startLabelAnimation,\n }));\n\n const animationSegments: [number, number] | undefined = useMemo(() => {\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n return [initialFrameToPlay, finalFrameToPlay];\n }, [initialValue, maxValue, value]);\n\n const levelUpAnimationSettings = useMemo(\n () => ({\n renderer: 'canvas',\n autoplay: true,\n loop: false,\n initialSegment: animationSegments,\n }),\n [animationSegments],\n );\n\n return (\n <CardContainer\n ref={cardWrapperRef}\n labelRef={labelRef}\n label={label}\n isAnimated={isAnimated}\n onMouseLeave={onMouseLeave}\n labelColor={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n >\n <Styled.CircularProgressLottieContainer>\n <Styled.RingContainer>\n <Styled.LottieAnmationContainer>\n <LottieAnimation\n src={LOTTIE.LEVELUP_RINGS}\n settings={levelUpAnimationSettings}\n animateOnIntersect\n />\n </Styled.LottieAnmationContainer>\n </Styled.RingContainer>\n </Styled.CircularProgressLottieContainer>\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </CardContainer>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["renderSettings","SegmentContent","memo","segmentType","isCompleted","card","name","onMouseEnter","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","LottieAnimation","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","useRef","cardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","animationSegments","useMemo","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","levelUpAnimationSettings","CardContainer","Styled.CircularProgressLottieContainer","Styled.RingContainer","Styled.LottieAnmationContainer","LOTTIE","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { ForwardRefRenderFunction } from 'react';\nimport React, {\n forwardRef,\n memo,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport type { TColorNames } from '../../../../ui/types';\nimport { CardContainer } from '../card-container/card-container';\nimport * as Styled from './segmented-game-card-styled';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\n\nconst renderSettings = { renderer: 'canvas', loop: true };\n\nexport const SegmentContent = memo(\n ({ segmentType, isCompleted, card, name, onMouseEnter }: IGameCardSegmentContentProps) => {\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer $segmentType={segmentType}>\n <LottieAnimation src={card} settings={renderSettings} animateOnIntersect />\n </Styled.SegmentAssetContainer>\n\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n },\n);\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const labelRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const cardWrapperRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = useCallback(\n (index: number) => {\n data[index]?.onPress?.();\n },\n [data],\n );\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef: cardWrapperRef,\n startLabelAnimation,\n }));\n\n const animationSegments: [number, number] | undefined = useMemo(() => {\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n return [initialFrameToPlay, finalFrameToPlay];\n }, [initialValue, maxValue, value]);\n\n const levelUpAnimationSettings = useMemo(\n () => ({\n renderer: 'canvas',\n autoplay: true,\n loop: false,\n initialSegment: animationSegments,\n }),\n [animationSegments],\n );\n\n return (\n <CardContainer\n ref={cardWrapperRef}\n labelRef={labelRef}\n label={label}\n isAnimated={isAnimated}\n onMouseLeave={onMouseLeave}\n labelColor={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n >\n <Styled.CircularProgressLottieContainer>\n <Styled.RingContainer>\n <Styled.LottieAnmationContainer>\n <LottieAnimation\n src={LOTTIE.LEVELUP_RINGS}\n settings={levelUpAnimationSettings}\n animateOnIntersect\n />\n </Styled.LottieAnmationContainer>\n </Styled.RingContainer>\n </Styled.CircularProgressLottieContainer>\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </CardContainer>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["renderSettings","SegmentContent","memo","segmentType","isCompleted","card","name","onMouseEnter","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","LottieAnimation","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","useRef","cardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","animationSegments","useMemo","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","levelUpAnimationSettings","CardContainer","Styled.CircularProgressLottieContainer","Styled.RingContainer","Styled.LottieAnmationContainer","LOTTIE","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","forwardRef"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/constants.ts"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type { TTableMode } from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { AnimationSegment } from 'lottie-web';\n\nexport const TABLE_REVEAL_ANIMATION = {\n REVEAL: [0, 15] as AnimationSegment,\n REVEAL_CONTENT: [8, 15] as AnimationSegment,\n DISAPPEAR_CONTENT: [21, 29] as AnimationSegment,\n DISAPPEAR: [21, 38] as AnimationSegment,\n};\n\nexport const TABLE_MODE_LABEL_COLOR: Partial<Record<TTableMode, TColorNames>> = {\n random: 'BLUE_4',\n sequence: 'YELLOW_4',\n advance: 'PURPLE_4',\n};\n\n// z-index 1 to 20 are for table number arc segments\nexport const TABLE_CARD_SHADOW_Z_INDEX = 50;\nexport const INFINITE_MODE_Z_INDEX = TABLE_CARD_SHADOW_Z_INDEX + 1;\nexport const TABLE_MODE_CONTAINER_Z_INDEX = 100;\n\n// table modes\nexport const TABLE_MODE_OVERLAY_Z_INDEX = 1;\nexport const ABSOLUTE_VIEW_Z_INDEX = 2;\nexport const INFINITE_MODE_TEXT = 'INFINITY MODE';\n\nexport const NORMAL_TABLE_MODES = ['sequence', 'random', 'advance'] as Exclude<\n TTableMode,\n 'infinite'\n>[];\n"],"names":["TABLE_REVEAL_ANIMATION","TABLE_MODE_LABEL_COLOR","TABLE_CARD_SHADOW_Z_INDEX","INFINITE_MODE_Z_INDEX","TABLE_MODE_CONTAINER_Z_INDEX","TABLE_MODE_OVERLAY_Z_INDEX","ABSOLUTE_VIEW_Z_INDEX","INFINITE_MODE_TEXT","NORMAL_TABLE_MODES"],"mappings":"AAIO,MAAMA,IAAyB;AAAA,EACpC,QAAQ,CAAC,GAAG,EAAE;AAAA,EACd,gBAAgB,CAAC,GAAG,EAAE;AAAA,EACtB,mBAAmB,CAAC,IAAI,EAAE;AAAA,EAC1B,WAAW,CAAC,IAAI,EAAE;AACpB,GAEaC,IAAmE;AAAA,EAC9E,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AACX,GAGaC,IAA4B,IAC5BC,IAAwBD,IAA4B,GACpDE,IAA+B,KAG/BC,IAA6B,GAC7BC,IAAwB,GACxBC,IAAqB,iBAErBC,IAAqB,CAAC,YAAY,UAAU,SAAS;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/constants.ts"],"sourcesContent":["import type { AnimationSegment } from 'lottie-web';\n\nimport type { TColorNames } from '../../../../ui/types';\nimport type { TTableMode } from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\n\nexport const TABLE_REVEAL_ANIMATION = {\n REVEAL: [0, 15] as AnimationSegment,\n REVEAL_CONTENT: [8, 15] as AnimationSegment,\n DISAPPEAR_CONTENT: [21, 29] as AnimationSegment,\n DISAPPEAR: [21, 38] as AnimationSegment,\n};\n\nexport const TABLE_MODE_LABEL_COLOR: Partial<Record<TTableMode, TColorNames>> = {\n random: 'BLUE_4',\n sequence: 'YELLOW_4',\n advance: 'PURPLE_4',\n};\n\n// z-index 1 to 20 are for table number arc segments\nexport const TABLE_CARD_SHADOW_Z_INDEX = 50;\nexport const INFINITE_MODE_Z_INDEX = TABLE_CARD_SHADOW_Z_INDEX + 1;\nexport const TABLE_MODE_CONTAINER_Z_INDEX = 100;\n\n// table modes\nexport const TABLE_MODE_OVERLAY_Z_INDEX = 1;\nexport const ABSOLUTE_VIEW_Z_INDEX = 2;\nexport const INFINITE_MODE_TEXT = 'INFINITY MODE';\n\nexport const NORMAL_TABLE_MODES = ['sequence', 'random', 'advance'] as Exclude<\n TTableMode,\n 'infinite'\n>[];\n"],"names":["TABLE_REVEAL_ANIMATION","TABLE_MODE_LABEL_COLOR","TABLE_CARD_SHADOW_Z_INDEX","INFINITE_MODE_Z_INDEX","TABLE_MODE_CONTAINER_Z_INDEX","TABLE_MODE_OVERLAY_Z_INDEX","ABSOLUTE_VIEW_Z_INDEX","INFINITE_MODE_TEXT","NORMAL_TABLE_MODES"],"mappings":"AAKO,MAAMA,IAAyB;AAAA,EACpC,QAAQ,CAAC,GAAG,EAAE;AAAA,EACd,gBAAgB,CAAC,GAAG,EAAE;AAAA,EACtB,mBAAmB,CAAC,IAAI,EAAE;AAAA,EAC1B,WAAW,CAAC,IAAI,EAAE;AACpB,GAEaC,IAAmE;AAAA,EAC9E,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AACX,GAGaC,IAA4B,IAC5BC,IAAwBD,IAA4B,GACpDE,IAA+B,KAG/BC,IAA6B,GAC7BC,IAAwB,GACxBC,IAAqB,iBAErBC,IAAqB,CAAC,YAAY,UAAU,SAAS;"}
@@ -1 +1 @@
1
- {"version":3,"file":"infinite-mode-launcher-button.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/infinite-button/infinite-mode-launcher-button.tsx"],"sourcesContent":["import type { InfiniteButtonCardProps } from './infinite-mode-launcher-button-type';\n\nimport React from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from '../tables-card-styled';\n\nconst rendererSettings = {\n renderer: 'canvas',\n};\n\nconst InfiniteButtonCard: React.FC<InfiniteButtonCardProps> = ({\n onClick,\n onMouseOver,\n onMouseLeave,\n buttonRef,\n}) => {\n return (\n <Styled.InfiniteButtonWrapper\n ref={buttonRef}\n onClick={onClick}\n onMouseOver={onMouseOver}\n onMouseLeave={onMouseLeave}\n >\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_BG}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_SYMBOL}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n </Styled.InfiniteButtonWrapper>\n );\n};\n\nexport default React.memo(InfiniteButtonCard);\n"],"names":["rendererSettings","InfiniteButtonCard","onClick","onMouseOver","onMouseLeave","buttonRef","jsxs","Styled.InfiniteButtonWrapper","jsx","Styled.ExtendedAbsoluteView","LottieAnimation","LOTTIE","InfiniteButtonCard$1","React"],"mappings":";;;;;AAQA,MAAMA,IAAmB;AAAA,EACvB,UAAU;AACZ,GAEMC,IAAwD,CAAC;AAAA,EAC7D,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AACF,MAEI,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,KAAKF;AAAA,IACL,SAAAH;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IAEA,UAAA;AAAA,MAAC,gBAAAI,EAAAC,GAAA,EACC,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAKC,EAAO;AAAA,UACZ,UAAUX;AAAA,UACV,oBAAkB;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,MACA,gBAAAQ,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAKC,EAAO;AAAA,UACZ,UAAUX;AAAA,UACV,oBAAkB;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,IAAA;AAAA,EAAA;AAAA,GAKNY,IAAeC,EAAM,KAAKZ,CAAkB;"}
1
+ {"version":3,"file":"infinite-mode-launcher-button.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/infinite-button/infinite-mode-launcher-button.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from '../tables-card-styled';\nimport type { InfiniteButtonCardProps } from './infinite-mode-launcher-button-type';\n\nconst rendererSettings = {\n renderer: 'canvas',\n};\n\nconst InfiniteButtonCard: React.FC<InfiniteButtonCardProps> = ({\n onClick,\n onMouseOver,\n onMouseLeave,\n buttonRef,\n}) => {\n return (\n <Styled.InfiniteButtonWrapper\n ref={buttonRef}\n onClick={onClick}\n onMouseOver={onMouseOver}\n onMouseLeave={onMouseLeave}\n >\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_BG}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_SYMBOL}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n </Styled.InfiniteButtonWrapper>\n );\n};\n\nexport default React.memo(InfiniteButtonCard);\n"],"names":["rendererSettings","InfiniteButtonCard","onClick","onMouseOver","onMouseLeave","buttonRef","jsxs","Styled.InfiniteButtonWrapper","jsx","Styled.ExtendedAbsoluteView","LottieAnimation","LOTTIE","InfiniteButtonCard$1","React"],"mappings":";;;;;AAOA,MAAMA,IAAmB;AAAA,EACvB,UAAU;AACZ,GAEMC,IAAwD,CAAC;AAAA,EAC7D,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AACF,MAEI,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,KAAKF;AAAA,IACL,SAAAH;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IAEA,UAAA;AAAA,MAAC,gBAAAI,EAAAC,GAAA,EACC,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAKC,EAAO;AAAA,UACZ,UAAUX;AAAA,UACV,oBAAkB;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,MACA,gBAAAQ,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAKC,EAAO;AAAA,UACZ,UAAUX;AAAA,UACV,oBAAkB;AAAA,QAAA;AAAA,MAAA,GAEtB;AAAA,IAAA;AAAA,EAAA;AAAA,GAKNY,IAAeC,EAAM,KAAKZ,CAAkB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"spl-events-text.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/spl-events-text/spl-events-text.tsx"],"sourcesContent":["import type { CircleSoundKey } from '../../../../hooks/use-circle-sounds/use-circle-sounds-enums';\nimport type { ISplEventsTextProps } from './spl-events-text-types';\n\nimport React from 'react';\n\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport { useCircleSounds } from '../../../../hooks/use-circle-sounds/use-circle-sounds';\nimport {\n COMPLETED_MODES_TO_SPL_EVENT_TYPE_MAP,\n LOTTIE_MAP,\n splEventsLottieSettings,\n} from './constants';\nimport { StyledSpecialEventsText } from './spl-events-text-style';\nimport { TSplEventsLottieType } from './spl-events-text-types';\n\nexport const SplEventsText = React.memo(({ completedModes }: ISplEventsTextProps) => {\n const { play } = useCircleSounds();\n const completedModesCount = completedModes.length;\n\n const splEvent =\n COMPLETED_MODES_TO_SPL_EVENT_TYPE_MAP[completedModesCount] || TSplEventsLottieType.KEEP_IT_UP;\n\n const { src, audio } = LOTTIE_MAP[splEvent];\n\n return (\n <StyledSpecialEventsText>\n <LottieAnimation\n src={src}\n settings={splEventsLottieSettings}\n onRender={() => play(audio as CircleSoundKey)}\n />\n </StyledSpecialEventsText>\n );\n});\n"],"names":["SplEventsText","React","completedModes","play","useCircleSounds","completedModesCount","splEvent","COMPLETED_MODES_TO_SPL_EVENT_TYPE_MAP","TSplEventsLottieType","src","audio","LOTTIE_MAP","StyledSpecialEventsText","jsx","LottieAnimation","splEventsLottieSettings"],"mappings":";;;;;;;AAeO,MAAMA,IAAgBC,EAAM,KAAK,CAAC,EAAE,gBAAAC,QAA0C;AAC7E,QAAA,EAAE,MAAAC,MAASC,KACXC,IAAsBH,EAAe,QAErCI,IACJC,EAAsCF,CAAmB,KAAKG,EAAqB,YAE/E,EAAE,KAAAC,GAAK,OAAAC,EAAM,IAAIC,EAAWL,CAAQ;AAE1C,2BACGM,GACC,EAAA,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,UAAUM;AAAA,MACV,UAAU,MAAMZ,EAAKO,CAAuB;AAAA,IAAA;AAAA,EAEhD,EAAA,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"spl-events-text.js","sources":["../../../../../../../src/features/circle-games/game-launcher/comps/tables-card/spl-events-text/spl-events-text.tsx"],"sourcesContent":["import React from 'react';\n\nimport LottieAnimation from '../../../../../ui/lottie-animation/lottie-animation';\nimport { useCircleSounds } from '../../../../hooks/use-circle-sounds/use-circle-sounds';\nimport type { CircleSoundKey } from '../../../../hooks/use-circle-sounds/use-circle-sounds-enums';\nimport {\n COMPLETED_MODES_TO_SPL_EVENT_TYPE_MAP,\n LOTTIE_MAP,\n splEventsLottieSettings,\n} from './constants';\nimport { StyledSpecialEventsText } from './spl-events-text-style';\nimport type { ISplEventsTextProps } from './spl-events-text-types';\nimport { TSplEventsLottieType } from './spl-events-text-types';\n\nexport const SplEventsText = React.memo(({ completedModes }: ISplEventsTextProps) => {\n const { play } = useCircleSounds();\n const completedModesCount = completedModes.length;\n\n const splEvent =\n COMPLETED_MODES_TO_SPL_EVENT_TYPE_MAP[completedModesCount] || TSplEventsLottieType.KEEP_IT_UP;\n\n const { src, audio } = LOTTIE_MAP[splEvent];\n\n return (\n <StyledSpecialEventsText>\n <LottieAnimation\n src={src}\n settings={splEventsLottieSettings}\n onRender={() => play(audio as CircleSoundKey)}\n />\n </StyledSpecialEventsText>\n );\n});\n"],"names":["SplEventsText","React","completedModes","play","useCircleSounds","completedModesCount","splEvent","COMPLETED_MODES_TO_SPL_EVENT_TYPE_MAP","TSplEventsLottieType","src","audio","LOTTIE_MAP","StyledSpecialEventsText","jsx","LottieAnimation","splEventsLottieSettings"],"mappings":";;;;;;;AAcO,MAAMA,IAAgBC,EAAM,KAAK,CAAC,EAAE,gBAAAC,QAA0C;AAC7E,QAAA,EAAE,MAAAC,MAASC,KACXC,IAAsBH,EAAe,QAErCI,IACJC,EAAsCF,CAAmB,KAAKG,EAAqB,YAE/E,EAAE,KAAAC,GAAK,OAAAC,EAAM,IAAIC,EAAWL,CAAQ;AAE1C,2BACGM,GACC,EAAA,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,UAAUM;AAAA,MACV,UAAU,MAAMZ,EAAKO,CAAuB;AAAA,IAAA;AAAA,EAEhD,EAAA,CAAA;AAEJ,CAAC;"}