@cuemath/leap 2.9.7-rj-3 → 2.9.8-as1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/assets/illustrations/illustrations.js +9 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/alarm.js +41 -0
  4. package/dist/assets/line-icons/icons/alarm.js.map +1 -0
  5. package/dist/assets/line-icons/icons/bin2.js +7 -8
  6. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  7. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  8. package/dist/assets/line-icons/icons/dart.js +23 -0
  9. package/dist/assets/line-icons/icons/dart.js.map +1 -0
  10. package/dist/assets/line-icons/icons/exclamation.js +26 -0
  11. package/dist/assets/line-icons/icons/exclamation.js.map +1 -0
  12. package/dist/assets/line-icons/icons/home2.js +25 -0
  13. package/dist/assets/line-icons/icons/home2.js.map +1 -0
  14. package/dist/assets/line-icons/icons/important.js +23 -0
  15. package/dist/assets/line-icons/icons/important.js.map +1 -0
  16. package/dist/assets/line-icons/icons/puzzle.js +25 -0
  17. package/dist/assets/line-icons/icons/puzzle.js.map +1 -0
  18. package/dist/assets/line-icons/icons/recap.js +32 -0
  19. package/dist/assets/line-icons/icons/recap.js.map +1 -0
  20. package/dist/assets/line-icons/icons/skip-colored.js +43 -0
  21. package/dist/assets/line-icons/icons/skip-colored.js.map +1 -0
  22. package/dist/assets/line-icons/icons/status.js +41 -0
  23. package/dist/assets/line-icons/icons/status.js.map +1 -0
  24. package/dist/assets/line-icons/icons/testtube.js +33 -0
  25. package/dist/assets/line-icons/icons/testtube.js.map +1 -0
  26. package/dist/assets/lottie/lottie.js +9 -1
  27. package/dist/assets/lottie/lottie.js.map +1 -1
  28. package/dist/constants/api.js +3 -2
  29. package/dist/constants/api.js.map +1 -1
  30. package/dist/features/analytics-events/platform-events-student.js +3 -3
  31. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  32. package/dist/features/analytics-events/whitelist-events.js +13 -11
  33. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  34. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +99 -33
  35. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  36. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +92 -49
  37. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  38. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  39. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  40. package/dist/features/chapters/chapters-list/chapters-list.js +64 -70
  41. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  42. package/dist/features/chapters-v2/api/chapter.js +10 -0
  43. package/dist/features/chapters-v2/api/chapter.js.map +1 -0
  44. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +112 -0
  45. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -0
  46. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +35 -0
  47. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +1 -0
  48. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +83 -0
  49. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -0
  50. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +90 -0
  51. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -0
  52. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +98 -0
  53. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -0
  54. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +51 -0
  55. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +1 -0
  56. package/dist/features/chapters-v2/chapter-details/chapter-details.js +129 -0
  57. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -0
  58. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +13 -0
  59. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +1 -0
  60. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +159 -0
  61. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -0
  62. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +16 -0
  63. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -0
  64. package/dist/features/chapters-v2/comps/node-card/node-card.js +12 -0
  65. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +1 -0
  66. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-option.js +30 -0
  67. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-option.js.map +1 -0
  68. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +32 -0
  69. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +1 -0
  70. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +9 -0
  71. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +1 -0
  72. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +189 -0
  73. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -0
  74. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +194 -0
  75. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -0
  76. package/dist/features/chapters-v2/comps/tag/tag-styled.js +13 -0
  77. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +1 -0
  78. package/dist/features/chapters-v2/comps/tag/tag.js +28 -0
  79. package/dist/features/chapters-v2/comps/tag/tag.js.map +1 -0
  80. package/dist/features/chapters-v2/constants/block-constants.js +20 -0
  81. package/dist/features/chapters-v2/constants/block-constants.js.map +1 -0
  82. package/dist/features/chapters-v2/constants/node-constants.js +14 -0
  83. package/dist/features/chapters-v2/constants/node-constants.js.map +1 -0
  84. package/dist/features/chapters-v2/utils/index.js +38 -0
  85. package/dist/features/chapters-v2/utils/index.js.map +1 -0
  86. package/dist/features/chapters-v2/utils/node-card-utils.js +177 -0
  87. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -0
  88. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +100 -107
  89. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  90. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +93 -96
  91. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  92. package/dist/features/circle-games/games/tutorial/constants.js +2 -3
  93. package/dist/features/circle-games/games/tutorial/constants.js.map +1 -1
  94. package/dist/features/circle-games/games/tutorial/tutorial-styled.js +17 -21
  95. package/dist/features/circle-games/games/tutorial/tutorial-styled.js.map +1 -1
  96. package/dist/features/circle-games/games/tutorial/tutorial.js +41 -47
  97. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  98. package/dist/features/circle-games/games/web-view/web-view.js +52 -45
  99. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  100. package/dist/features/circle-games/leaderboard/comps/banner/banner.js +6 -6
  101. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  102. package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button-styled.js +1 -1
  103. package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button-styled.js.map +1 -1
  104. package/dist/features/circle-games/leaderboard/leaderboard-styled.js +1 -1
  105. package/dist/features/circle-games/leaderboard/leaderboard-styled.js.map +1 -1
  106. package/dist/features/circle-games/leaderboard/leaderboard.js +9 -9
  107. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  108. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps-styled.js +8 -8
  109. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps-styled.js.map +1 -1
  110. package/dist/features/circle-games/sign-up/constants.js +9 -9
  111. package/dist/features/circle-games/sign-up/constants.js.map +1 -1
  112. package/dist/features/communication/pub-sub/constants.js +12 -6
  113. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  114. package/dist/features/homework/card-menu-option.js +28 -0
  115. package/dist/features/homework/card-menu-option.js.map +1 -0
  116. package/dist/features/homework/card-menu-options.js +22 -0
  117. package/dist/features/homework/card-menu-options.js.map +1 -0
  118. package/dist/features/homework/card-title.js +16 -0
  119. package/dist/features/homework/card-title.js.map +1 -0
  120. package/dist/features/homework/homework-analytics-events.js +10 -0
  121. package/dist/features/homework/homework-analytics-events.js.map +1 -0
  122. package/dist/features/homework/homework-card-view.js +143 -0
  123. package/dist/features/homework/homework-card-view.js.map +1 -0
  124. package/dist/features/homework/homework-card.js +245 -0
  125. package/dist/features/homework/homework-card.js.map +1 -0
  126. package/dist/features/homework/hw-card-list/api/get-homeworks.js +10 -0
  127. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -0
  128. package/dist/features/homework/hw-card-list/hw-card-list-styled.js +63 -0
  129. package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -0
  130. package/dist/features/homework/hw-card-list/hw-card-list.js +191 -0
  131. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -0
  132. package/dist/features/homework/node-progress.js +29 -0
  133. package/dist/features/homework/node-progress.js.map +1 -0
  134. package/dist/features/homework/styles.js +130 -0
  135. package/dist/features/homework/styles.js.map +1 -0
  136. package/dist/features/homework/utils.js +48 -0
  137. package/dist/features/homework/utils.js.map +1 -0
  138. package/dist/features/journey/comps/coachmark/coachmark-styled.js +12 -5
  139. package/dist/features/journey/comps/coachmark/coachmark-styled.js.map +1 -1
  140. package/dist/features/journey/comps/coachmark/coachmark.js +23 -24
  141. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  142. package/dist/features/journey/hooks/use-chapter-journey.js +194 -0
  143. package/dist/features/journey/hooks/use-chapter-journey.js.map +1 -0
  144. package/dist/features/journey/hooks/use-home-page-journey.js +189 -0
  145. package/dist/features/journey/hooks/use-home-page-journey.js.map +1 -0
  146. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  147. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  148. package/dist/features/journey/journey-id/journey-id-teacher.js +5 -0
  149. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -0
  150. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +587 -0
  151. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -0
  152. package/dist/features/journey/use-journey/constants.js +4 -2
  153. package/dist/features/journey/use-journey/constants.js.map +1 -1
  154. package/dist/features/journey/use-journey/journey-context-provider.js +36 -28
  155. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  156. package/dist/features/journey/use-journey/journey-styled.js +10 -4
  157. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  158. package/dist/features/milestone/create/api/goal-submit.js +1 -1
  159. package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
  160. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js +42 -49
  161. package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
  162. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +12 -4
  163. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  164. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +128 -105
  165. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  166. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +14 -20
  167. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
  168. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js +26 -50
  169. package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
  170. package/dist/features/milestone/create/milestone-create.js +49 -43
  171. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  172. package/dist/features/milestone/create/utils/index.js +33 -38
  173. package/dist/features/milestone/create/utils/index.js.map +1 -1
  174. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
  175. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  176. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js +1 -1
  177. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/patch-goal-plan.js.map +1 -1
  178. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +51 -53
  179. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  180. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +42 -40
  181. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  182. package/dist/features/milestone/edit/goal-edit-container.js +64 -62
  183. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  184. package/dist/features/milestone/edit/goal-edit-helpers.js +50 -53
  185. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  186. package/dist/features/milestone/edit/milestone-edit-container.js +54 -52
  187. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  188. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js +1 -1
  189. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  190. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +9 -17
  191. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  192. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js +1 -1
  193. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  194. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +138 -105
  195. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  196. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +107 -123
  197. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  198. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +157 -176
  199. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  200. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +24 -10
  201. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  202. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +80 -86
  203. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  204. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +10 -22
  205. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  206. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +70 -37
  207. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  208. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +114 -176
  209. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  210. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +29 -16
  211. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  212. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +17 -25
  213. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  214. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +23 -35
  215. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  216. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +110 -113
  217. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  218. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js +1 -1
  219. package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -1
  220. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +8 -8
  221. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  222. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  223. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  224. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +116 -113
  225. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  226. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +165 -0
  227. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -0
  228. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +25 -0
  229. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -0
  230. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +87 -0
  231. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -0
  232. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js +5 -5
  233. package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
  234. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +46 -50
  235. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  236. package/dist/features/recent-chapters/api/get-recent-chapters.js +9 -0
  237. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +1 -0
  238. package/dist/features/recent-chapters/recent-chapters-styled.js +16 -0
  239. package/dist/features/recent-chapters/recent-chapters-styled.js.map +1 -0
  240. package/dist/features/recent-chapters/recent-chapters.js +39 -0
  241. package/dist/features/recent-chapters/recent-chapters.js.map +1 -0
  242. package/dist/features/sheet-v2/resource-list/resource-list.js +45 -0
  243. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -0
  244. package/dist/features/sheets/resources-list/resource-item/styled.js +1 -1
  245. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  246. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +4 -3
  247. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  248. package/dist/features/ui/arc-button/constants.js +4 -4
  249. package/dist/features/ui/arc-button/constants.js.map +1 -1
  250. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +30 -29
  251. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  252. package/dist/features/ui/constants/z-index.js +2 -3
  253. package/dist/features/ui/constants/z-index.js.map +1 -1
  254. package/dist/features/ui/context-menu/context-menu-styled.js +28 -14
  255. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  256. package/dist/features/ui/context-menu/context-menu.js +30 -15
  257. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  258. package/dist/features/ui/lottie-animation/lottie-animation.js +19 -13
  259. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  260. package/dist/features/ui/theme/button.js +22 -107
  261. package/dist/features/ui/theme/button.js.map +1 -1
  262. package/dist/features/ui/theme/get-theme.js +18 -20
  263. package/dist/features/ui/theme/get-theme.js.map +1 -1
  264. package/dist/index.d.ts +357 -47
  265. package/dist/index.js +503 -471
  266. package/dist/index.js.map +1 -1
  267. package/dist/node_modules/date-fns/differenceInDays.js +17 -0
  268. package/dist/node_modules/date-fns/differenceInDays.js.map +1 -0
  269. package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
  270. package/dist/static/competitive-arena.b9c40801.json +1 -0
  271. package/dist/static/learn.71b13323.json +1 -0
  272. package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
  273. package/dist/static/node-learn-bg.b61f815c.svg +1 -0
  274. package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
  275. package/dist/static/node-project-bg.e6a33e28.svg +1 -0
  276. package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
  277. package/dist/static/node-recap-bg.546154e4.svg +1 -0
  278. package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
  279. package/dist/static/node-video-bg.3df3f73a.svg +1 -0
  280. package/dist/static/practice.158dd488.json +1 -0
  281. package/dist/static/project.eb665827.json +1 -0
  282. package/dist/static/puzzle.b298c7e4.json +1 -0
  283. package/dist/static/recap.0dd2c1e2.json +1 -0
  284. package/dist/static/test.803d6036.json +1 -0
  285. package/dist/static/video.b41451e2.json +1 -0
  286. package/package.json +1 -1
  287. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +0 -92
  288. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +0 -1
  289. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +0 -25
  290. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +0 -1
  291. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +0 -13
  292. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +0 -1
  293. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +0 -38
  294. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +0 -1
  295. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +0 -53
  296. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +0 -1
  297. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +0 -25
  298. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +0 -1
  299. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +0 -71
  300. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +0 -1
  301. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +0 -31
  302. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +0 -1
  303. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +0 -38
  304. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +0 -1
  305. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +0 -79
  306. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +0 -1
  307. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +0 -18
  308. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +0 -1
  309. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js +0 -51
  310. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +0 -1
  311. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js +0 -11
  312. package/dist/features/milestone/milestone-tests/tests-list/tests-list-styled.js.map +0 -1
  313. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +0 -135
  314. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +0 -1
  315. package/dist/features/ui/theme/breakpoints.js +0 -11
  316. package/dist/features/ui/theme/breakpoints.js.map +0 -1
@@ -0,0 +1,177 @@
1
+ import { jsx as e, jsxs as p } from "react/jsx-runtime";
2
+ import I from "../../../assets/line-icons/icons/alarm.js";
3
+ import f from "../../../assets/line-icons/icons/bulb2.js";
4
+ import T from "../../../assets/line-icons/icons/check2.js";
5
+ import u from "../../../assets/line-icons/icons/dart.js";
6
+ import R from "../../../assets/line-icons/icons/exclamation.js";
7
+ import A from "../../../assets/line-icons/icons/lock2.js";
8
+ import h from "../../../assets/line-icons/icons/play2.js";
9
+ import $ from "../../../assets/line-icons/icons/puzzle.js";
10
+ import g from "../../../assets/line-icons/icons/recap.js";
11
+ import D from "../../../assets/line-icons/icons/status.js";
12
+ import C from "../../../assets/line-icons/icons/testtube.js";
13
+ import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
14
+ import S from "../../ui/layout/flex-view.js";
15
+ import a from "../../ui/arrow-tooltip/arrow-tooltip.js";
16
+ import d from "../../ui/text/text.js";
17
+ import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
18
+ import E from "../comps/tag/tag.js";
19
+ const P = 60 * 60 * 24, b = ["NOT_STARTED", "IN_PROGRESS"], O = (o) => {
20
+ if (!o)
21
+ return { isOverdue: !1, daysText: "", differenceInDays: 0 };
22
+ const i = Math.floor(Date.now() / 1e3), c = o - i, n = Math.ceil(c / P), s = n < 0, r = n > 0 ? `${Math.abs(n)}D` : "";
23
+ return { isOverdue: s, daysText: r, differenceInDays: n };
24
+ }, B = (o, i, c, n) => {
25
+ const { isOverdue: s, daysText: r, differenceInDays: m } = O(n);
26
+ if (s && b.includes(o))
27
+ return {
28
+ icon: /* @__PURE__ */ e(
29
+ a,
30
+ {
31
+ renderAs: "primary",
32
+ position: "bottom",
33
+ tooltipItem: "Complete now",
34
+ zIndex: 10,
35
+ hidden: !i,
36
+ parentWidth: "fit-content",
37
+ children: /* @__PURE__ */ e(S, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(d, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
38
+ }
39
+ ),
40
+ top: -10,
41
+ right: -10
42
+ };
43
+ switch (o) {
44
+ case "NOT_STARTED":
45
+ return {
46
+ icon: /* @__PURE__ */ e(
47
+ a,
48
+ {
49
+ renderAs: "primary",
50
+ position: "bottom",
51
+ tooltipItem: m > 1 ? `${m} days left` : "Complete it today",
52
+ zIndex: 10,
53
+ hidden: !i,
54
+ children: /* @__PURE__ */ e(
55
+ l,
56
+ {
57
+ $flexDirection: "row",
58
+ $alignItems: "center",
59
+ $justifyContent: "center",
60
+ $borderRadius: 16,
61
+ $paddingRight: 6,
62
+ $paddingLeft: 6,
63
+ children: r && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: r })
64
+ }
65
+ )
66
+ }
67
+ ),
68
+ top: 0,
69
+ right: 0
70
+ };
71
+ case "LOCKED":
72
+ return {
73
+ icon: /* @__PURE__ */ e(A, { width: 32, height: 32 }),
74
+ top: -12,
75
+ right: -12
76
+ };
77
+ case "IN_PROGRESS":
78
+ return {
79
+ icon: /* @__PURE__ */ p(
80
+ l,
81
+ {
82
+ $flexDirection: "row",
83
+ $alignItems: "center",
84
+ $justifyContent: "center",
85
+ $borderRadius: 16,
86
+ $paddingRight: 0,
87
+ $paddingLeft: r ? 6 : 0,
88
+ children: [
89
+ r && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: r }),
90
+ /* @__PURE__ */ e(D, {})
91
+ ]
92
+ }
93
+ )
94
+ };
95
+ case "COMPLETED":
96
+ return {
97
+ icon: /* @__PURE__ */ e(
98
+ E,
99
+ {
100
+ Icon: T,
101
+ label: typeof c == "number" ? `${c}%` : void 0
102
+ }
103
+ ),
104
+ top: -10,
105
+ right: -10
106
+ };
107
+ case "WAIT_FOR_REVIEW":
108
+ return {
109
+ icon: /* @__PURE__ */ e(
110
+ a,
111
+ {
112
+ renderAs: "primary",
113
+ position: "bottom",
114
+ tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
115
+ zIndex: 10,
116
+ children: /* @__PURE__ */ e(E, { Icon: R })
117
+ }
118
+ ),
119
+ top: -10,
120
+ right: -10
121
+ };
122
+ default:
123
+ return {
124
+ icon: void 0
125
+ };
126
+ }
127
+ }, X = (o) => {
128
+ switch (o) {
129
+ case "LEARNING":
130
+ return {
131
+ lottie: t.LEARN,
132
+ icon: f
133
+ };
134
+ case "RECAP":
135
+ return {
136
+ lottie: t.RECAP,
137
+ icon: g
138
+ };
139
+ case "DYNAMIC":
140
+ case "ASSESSMENT":
141
+ case "CHAPTER_ASSESSMENT":
142
+ return {
143
+ lottie: t.TEST,
144
+ icon: I
145
+ };
146
+ case "PRACTICE":
147
+ case "EXTRA_PRACTICE":
148
+ case "TARGET_PRACTICE":
149
+ case "MASTERY":
150
+ return {
151
+ lottie: t.PRACTICE,
152
+ icon: u
153
+ };
154
+ case "PUZZLE_EASY":
155
+ case "PUZZLE_MEDIUM":
156
+ case "PUZZLE_HARD":
157
+ return {
158
+ lottie: t.PUZZLE,
159
+ icon: $
160
+ };
161
+ case "VIDEO":
162
+ return {
163
+ lottie: t.VIDEO,
164
+ icon: h
165
+ };
166
+ default:
167
+ return {
168
+ lottie: t.PROJECT,
169
+ icon: C
170
+ };
171
+ }
172
+ };
173
+ export {
174
+ X as getNodeCardBasedIcon,
175
+ B as getNodeStateBasedTagInfo
176
+ };
177
+ //# sourceMappingURL=node-card-utils.js.map
@@ -0,0 +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 AlarmIcon from '../../../assets/line-icons/icons/alarm';\nimport Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport DartIcon from '../../../assets/line-icons/icons/dart';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport Play2Icon from '../../../assets/line-icons/icons/play2';\nimport PuzzleIcon from '../../../assets/line-icons/icons/puzzle';\nimport RecapIcon from '../../../assets/line-icons/icons/recap';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport TestTubeIcon from '../../../assets/line-icons/icons/testtube';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null): DueDateInfo => {\n if (!dueDateTs) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs);\n\n if (isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n icon: Bulb2Icon,\n };\n case 'RECAP':\n return {\n lottie: LOTTIE.RECAP,\n icon: RecapIcon,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n icon: AlarmIcon,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return {\n lottie: LOTTIE.PRACTICE,\n icon: DartIcon,\n };\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n icon: PuzzleIcon,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n icon: Play2Icon,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n icon: TestTubeIcon,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE","Bulb2Icon","RecapIcon","AlarmIcon","DartIcon","PuzzleIcon","Play2Icon","TestTubeIcon"],"mappings":"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"}
@@ -1,125 +1,126 @@
1
- import { jsx as t, Fragment as R } from "react/jsx-runtime";
2
- import { useRef as L, useCallback as E, useMemo as de, useEffect as se } from "react";
3
- import te from "../../../../../assets/line-icons/icons/carat-right.js";
4
- import { PLATFORM_EVENTS_STUDENT as re } from "../../../../analytics-events/platform-events-student.js";
5
- import { JOURNEY_ID_STUDENT as me } from "../../../../journey/journey-id/journey-id-student.js";
1
+ import { jsx as t, Fragment as O } from "react/jsx-runtime";
2
+ import { useRef as A, useCallback as T, useMemo as le, useEffect as ce } from "react";
3
+ import z from "../../../../../assets/line-icons/icons/carat-right.js";
4
+ import { PLATFORM_EVENTS_STUDENT as ee } from "../../../../analytics-events/platform-events-student.js";
5
+ import { JOURNEY_ID_STUDENT as ae } from "../../../../journey/journey-id/journey-id-student.js";
6
6
  import { IndicatorType as c } from "../../../../journey/use-journey/constants.js";
7
- import { useJourney as Te } from "../../../../journey/use-journey/use-journey.js";
8
- import ne from "../../../../ui/buttons/icon-button/icon-button.js";
9
- import { useUIContext as ue } from "../../../../ui/context/context.js";
10
- import y from "../../../../ui/layout/flex-view.js";
7
+ import { useJourney as de } from "../../../../journey/use-journey/use-journey.js";
8
+ import te from "../../../../ui/buttons/icon-button/icon-button.js";
9
+ import { useUIContext as he } from "../../../../ui/context/context.js";
10
+ import L from "../../../../ui/layout/flex-view.js";
11
11
  import a from "../../../../ui/text/text.js";
12
- import { getTheme as he } from "../../../../ui/theme/get-theme.js";
13
- import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as p } from "../../../enum/circle-onboarding-steps.js";
14
- import { useCircleSounds as ge } from "../../../hooks/use-circle-sounds/use-circle-sounds.js";
15
- import { SegmentedGameCard as Ee } from "../../comps/segmented-game-card/segmented-game-card.js";
16
- import { GAME_LAUNCHER_ANALYTICS_EVENTS as oe } from "../../game-launcher-analytics-events.js";
17
- import { GO_TO_NEXT_SLIDE_AFTER_MS as pe, SHOW_LABEL_HIGHLIGHT_AFTER_MS as Ie, SHOW_NUDGE_AFTER_MS as _e, SLIDE_TO_LESSON_MS as Ce } from "./constants.js";
18
- import { ProjectType as fe } from "../../../games/web-view/enums/project-type-enum.js";
19
- const xe = ({
12
+ import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as E } from "../../../enum/circle-onboarding-steps.js";
13
+ import { useCircleSounds as se } from "../../../hooks/use-circle-sounds/use-circle-sounds.js";
14
+ import { SegmentedGameCard as me } from "../../comps/segmented-game-card/segmented-game-card.js";
15
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as re } from "../../game-launcher-analytics-events.js";
16
+ import { GO_TO_NEXT_SLIDE_AFTER_MS as ue, SHOW_LABEL_HIGHLIGHT_AFTER_MS as ge, SHOW_NUDGE_AFTER_MS as Te, SLIDE_TO_LESSON_MS as Ee } from "./constants.js";
17
+ import { ProjectType as pe } from "../../../games/web-view/enums/project-type-enum.js";
18
+ const ke = ({
20
19
  carouselRefs: n,
21
- onSegmentClick: S,
22
- onJourneyComplete: N
20
+ onSegmentClick: R,
21
+ onJourneyComplete: y
23
22
  }) => {
24
- const o = me.CIRCLE_ACTIVITIES_INTRO_JOURNEY, { breakpoints: ie } = he(), { isMobile: d } = ie, I = d ? "ab3-bold" : "ab2-bold", i = L(null), r = L(null), l = L(null), _ = L([]), { playButtonSound: b } = ge(), { nextCoachmark: s, setJourney: P, endJourney: H } = Te(), { onEvent: C } = ue(), k = E(
23
+ const i = ae.CIRCLE_ACTIVITIES_INTRO_JOURNEY, o = A(null), r = A(null), l = A(null), p = A([]), { playButtonSound: S } = se(), { nextCoachmark: d, setJourney: N, endJourney: b } = de(), { onEvent: I } = he(), P = T(
25
24
  (e) => {
26
- C(re.ONBOARDING_STEP_VIEWED, {
25
+ I(ee.ONBOARDING_STEP_VIEWED, {
27
26
  step: e
28
27
  });
29
28
  },
30
- [C]
31
- ), G = E(
29
+ [I]
30
+ ), H = T(
32
31
  (e) => {
33
- C(re.ONBOARDING_STEP_COMPLETED, {
32
+ I(ee.ONBOARDING_STEP_COMPLETED, {
34
33
  step: e
35
34
  });
36
35
  },
37
- [C]
38
- ), m = E(
39
- (e, f, A, O = !1) => {
40
- var u, h;
41
- O || (b(), (h = n.current) == null || h.goToIndex(((u = n.current) == null ? void 0 : u.currentIndex) + 1), s(o, !1, pe)), k(e);
42
- const T = setTimeout(() => {
43
- clearTimeout(T), f.startLabelAnimation(A);
44
- }, Ie);
45
- _.current.push(T), s(o, !0, _e);
36
+ [I]
37
+ ), h = T(
38
+ (e, _, C, f = !1) => {
39
+ var m, u;
40
+ f || (S(), (u = n.current) == null || u.goToIndex(((m = n.current) == null ? void 0 : m.currentIndex) + 1), d(i, !1, ue)), P(e);
41
+ const s = setTimeout(() => {
42
+ clearTimeout(s), _.startLabelAnimation(C);
43
+ }, ge);
44
+ p.current.push(s), d(i, !0, Te);
46
45
  },
47
- [n, o, s, b, k]
48
- ), U = E(
46
+ [n, i, d, S, P]
47
+ ), G = T(
49
48
  (e) => {
50
- S(e, fe.PUZZLE), G(p.PUZZLE_ACTIVITY), H(o), N(o);
49
+ R(e, pe.PUZZLE), H(E.PUZZLE_ACTIVITY), b(i), y(i);
51
50
  },
52
- [H, o, N, S, G]
53
- ), Y = E(
54
- (e, f) => {
55
- var B, V, w, x, D, M, J, W, X, $, F, Z, j, K, q, Q, z, ee;
56
- if (!((B = n == null ? void 0 : n.current) != null && B.nextBtnRef.current) || !((V = r == null ? void 0 : r.current) != null && V.segmentedCardWrapperRef.current) || !((w = i == null ? void 0 : i.current) != null && w.labelRef.current) || !((x = r == null ? void 0 : r.current) != null && x.labelRef.current) || !e)
51
+ [b, i, y, R, H]
52
+ ), U = T(
53
+ (e, _) => {
54
+ var k, w, v, B, V, x, D, M, J, W, X, $, F, Z, j, K, q, Q;
55
+ if (!((k = n == null ? void 0 : n.current) != null && k.nextBtnRef.current) || !((w = r == null ? void 0 : r.current) != null && w.segmentedCardWrapperRef.current) || !((v = o == null ? void 0 : o.current) != null && v.labelRef.current) || !((B = r == null ? void 0 : r.current) != null && B.labelRef.current) || !e)
57
56
  return;
58
- const A = ((J = (M = (D = l.current) == null ? void 0 : D.labelRef) == null ? void 0 : M.current) == null ? void 0 : J.getBoundingClientRect()) || {
57
+ const C = ((D = (x = (V = l.current) == null ? void 0 : V.labelRef) == null ? void 0 : x.current) == null ? void 0 : D.getBoundingClientRect()) || {
59
58
  height: 0,
60
59
  width: 0
61
- }, O = (($ = (X = (W = i.current) == null ? void 0 : W.labelRef) == null ? void 0 : X.current) == null ? void 0 : $.getBoundingClientRect()) || {
60
+ }, f = ((W = (J = (M = o.current) == null ? void 0 : M.labelRef) == null ? void 0 : J.current) == null ? void 0 : W.getBoundingClientRect()) || {
62
61
  height: 0,
63
62
  width: 0
64
- }, T = ((j = (Z = (F = r.current) == null ? void 0 : F.labelRef) == null ? void 0 : Z.current) == null ? void 0 : j.getBoundingClientRect()) || {
63
+ }, s = ((F = ($ = (X = r.current) == null ? void 0 : X.labelRef) == null ? void 0 : $.current) == null ? void 0 : F.getBoundingClientRect()) || {
65
64
  height: 0,
66
65
  width: 0
67
- }, u = ((Q = (q = (K = r.current) == null ? void 0 : K.segmentedCardWrapperRef) == null ? void 0 : q.current) == null ? void 0 : Q.getBoundingClientRect()) || {
66
+ }, m = ((K = (j = (Z = r.current) == null ? void 0 : Z.segmentedCardWrapperRef) == null ? void 0 : j.current) == null ? void 0 : K.getBoundingClientRect()) || {
68
67
  height: 0,
69
68
  width: 0
70
69
  };
71
- let h = [];
72
- f && l.current && (h = [
70
+ let u = [];
71
+ _ && l.current && (u = [
73
72
  {
74
73
  originalElementToHighlightRef: l.current.labelRef,
75
74
  isActive: !1,
76
75
  type: c.TOOLTIP,
77
- elementToHighlight: /* @__PURE__ */ t(R, {}),
76
+ elementToHighlight: /* @__PURE__ */ t(O, {}),
78
77
  indicator: {
79
- position: "top",
78
+ position: "right",
80
79
  backgroundColor: "BLUE_4",
81
- tooltipItem: /* @__PURE__ */ t(y, { children: /* @__PURE__ */ t(a, { $renderAs: I, children: "Get faster & stay ahead in school. Practice 3 new skills everyday." }) }),
82
- tooltipXCoOrdinates: A.width / 2,
83
- tooltipYCoOrdinates: A.height + 10
80
+ width: 264,
81
+ tooltipItem: /* @__PURE__ */ t(L, { children: /* @__PURE__ */ t(a, { $renderAs: "ab2-bold", children: "Get faster & stay ahead in school. Practice 3 new skills everyday." }) }),
82
+ tooltipXCoOrdinates: C.width + 50,
83
+ tooltipYCoOrdinates: C.height / 2
84
84
  }
85
85
  },
86
86
  {
87
- originalElementToHighlightRef: (z = n.current) == null ? void 0 : z.nextBtnRef,
87
+ originalElementToHighlightRef: (q = n.current) == null ? void 0 : q.nextBtnRef,
88
88
  isActive: !1,
89
89
  type: c.NUDGE,
90
90
  elementToHighlight: /* @__PURE__ */ t(
91
- ne,
91
+ te,
92
92
  {
93
93
  renderAs: "secondary",
94
- Icon: te,
95
- onClick: () => m(
96
- p.GAMES_ACTIVITY,
97
- i.current,
94
+ Icon: z,
95
+ onClick: () => h(
96
+ E.GAMES_ACTIVITY,
97
+ o.current,
98
98
  "ORANGE_4"
99
99
  ),
100
- analyticsLabel: oe.JOURNEY_NEXT_ACTIVITY
100
+ analyticsLabel: re.JOURNEY_NEXT_ACTIVITY
101
101
  }
102
102
  ),
103
103
  indicator: {
104
104
  nudge: "click",
105
- content: !d && /* @__PURE__ */ t(a, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
105
+ content: /* @__PURE__ */ t(a, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
106
106
  nudgePointerX: 0,
107
107
  nudgePointerY: 0
108
108
  }
109
109
  }
110
110
  ]);
111
- const ce = [
111
+ const ie = [
112
112
  {
113
- originalElementToHighlightRef: i.current.labelRef,
113
+ originalElementToHighlightRef: o.current.labelRef,
114
114
  isActive: !1,
115
115
  type: c.TOOLTIP,
116
- elementToHighlight: /* @__PURE__ */ t(R, {}),
116
+ elementToHighlight: /* @__PURE__ */ t(O, {}),
117
117
  indicator: {
118
- position: "top",
118
+ position: "right",
119
119
  backgroundColor: "ORANGE_4",
120
- tooltipItem: /* @__PURE__ */ t(y, { children: /* @__PURE__ */ t(a, { $renderAs: I, children: "Train to think deeper & plan ahead. Play 3 new games everyday." }) }),
121
- tooltipXCoOrdinates: O.width / 2,
122
- tooltipYCoOrdinates: O.height + 10
120
+ width: 264,
121
+ tooltipItem: /* @__PURE__ */ t(L, { children: /* @__PURE__ */ t(a, { $renderAs: "ab2-bold", children: "Train to think deeper & plan ahead. Play 3 new games everyday." }) }),
122
+ tooltipXCoOrdinates: f.width + 50,
123
+ tooltipYCoOrdinates: f.height / 2
123
124
  }
124
125
  },
125
126
  {
@@ -127,37 +128,38 @@ const xe = ({
127
128
  isActive: !1,
128
129
  type: c.NUDGE,
129
130
  elementToHighlight: /* @__PURE__ */ t(
130
- ne,
131
+ te,
131
132
  {
132
133
  renderAs: "secondary",
133
- Icon: te,
134
- onClick: () => m(
135
- p.PUZZLE_ACTIVITY,
134
+ Icon: z,
135
+ onClick: () => h(
136
+ E.PUZZLE_ACTIVITY,
136
137
  r.current,
137
138
  "PURPLE_4"
138
139
  ),
139
- analyticsLabel: oe.JOURNEY_NEXT_ACTIVITY
140
+ analyticsLabel: re.JOURNEY_NEXT_ACTIVITY
140
141
  }
141
142
  ),
142
143
  indicator: {
143
144
  nudge: "click",
144
- content: !d && /* @__PURE__ */ t(a, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
145
+ content: /* @__PURE__ */ t(a, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
145
146
  nudgePointerX: 0,
146
147
  nudgePointerY: 0
147
148
  }
148
149
  }
149
- ], ae = [
150
+ ], oe = [
150
151
  {
151
152
  originalElementToHighlightRef: r.current.labelRef,
152
153
  isActive: !1,
153
154
  type: c.TOOLTIP,
154
- elementToHighlight: /* @__PURE__ */ t(R, {}),
155
+ elementToHighlight: /* @__PURE__ */ t(O, {}),
155
156
  indicator: {
156
- position: "top",
157
+ position: "right",
157
158
  backgroundColor: "PURPLE_4",
158
- tooltipItem: /* @__PURE__ */ t(y, { children: /* @__PURE__ */ t(a, { $renderAs: I, children: "Think in new ways & stay sharp. Solve 3 new puzzles everyday." }) }),
159
- tooltipXCoOrdinates: T.width / 2,
160
- tooltipYCoOrdinates: T.height + 10
159
+ width: 264,
160
+ tooltipItem: /* @__PURE__ */ t(L, { children: /* @__PURE__ */ t(a, { $renderAs: "ab2-bold", children: "Think in new ways & stay sharp. Solve 3 new puzzles everyday." }) }),
161
+ tooltipXCoOrdinates: s.width + 50,
162
+ tooltipYCoOrdinates: s.height / 2
161
163
  }
162
164
  },
163
165
  {
@@ -165,7 +167,7 @@ const xe = ({
165
167
  isActive: !1,
166
168
  type: c.NUDGE,
167
169
  elementToHighlight: /* @__PURE__ */ t(
168
- Ee,
170
+ me,
169
171
  {
170
172
  label: "",
171
173
  value: e.data.filter((g) => g.solved).length,
@@ -176,48 +178,39 @@ const xe = ({
176
178
  name: "",
177
179
  // We dont want to show the name of the puzzle in onboarding
178
180
  isCompleted: g.solved,
179
- onPress: () => U(g)
181
+ onPress: () => G(g)
180
182
  }))
181
183
  }
182
184
  ),
183
185
  indicator: {
184
186
  nudge: "click",
185
- content: !d && /* @__PURE__ */ t(a, { $renderAs: "ab1", $color: "WHITE", children: "Click to solve a puzzle" }),
186
- nudgePointerX: u.width * 0.6,
187
- nudgePointerY: u.height * 0.4
187
+ content: /* @__PURE__ */ t(a, { $renderAs: "ab1", $color: "WHITE", children: "Click to solve a puzzle" }),
188
+ nudgePointerX: m.width * 0.6,
189
+ nudgePointerY: m.height * 0.4
188
190
  }
189
191
  }
190
192
  ];
191
- P(o, [...h, ...ce, ...ae]), (ee = n.current) == null || ee.goToIndex(0);
192
- const v = setTimeout(() => {
193
- clearTimeout(v), s(o);
194
- }, Ce);
195
- _.current.push(v), f && l.current ? m(p.SKILL_ACTIVITY, l.current, "BLUE_4", !0) : m(p.GAMES_ACTIVITY, i.current, "ORANGE_4", !0);
193
+ N(i, [...u, ...ie, ...oe]), (Q = n.current) == null || Q.goToIndex(0);
194
+ const Y = setTimeout(() => {
195
+ clearTimeout(Y), d(i);
196
+ }, Ee);
197
+ p.current.push(Y), _ && l.current ? h(E.SKILL_ACTIVITY, l.current, "BLUE_4", !0) : h(E.GAMES_ACTIVITY, o.current, "ORANGE_4", !0);
196
198
  },
197
- [
198
- n,
199
- I,
200
- d,
201
- P,
202
- o,
203
- m,
204
- U,
205
- s
206
- ]
207
- ), le = de(
199
+ [n, N, i, h, G, d]
200
+ ), ne = le(
208
201
  () => ({
209
- gameRefs: i,
202
+ gameRefs: o,
210
203
  puzzleRefs: r,
211
204
  lessonRefs: l,
212
- startJourney: Y
205
+ startJourney: U
213
206
  }),
214
- [Y]
207
+ [U]
215
208
  );
216
- return se(() => () => {
217
- _.current.forEach((e) => clearTimeout(e)), _.current = [];
218
- }, [n]), le;
209
+ return ce(() => () => {
210
+ p.current.forEach((e) => clearTimeout(e)), p.current = [];
211
+ }, [n]), ne;
219
212
  };
220
213
  export {
221
- xe as useGameLauncherJourney
214
+ ke as useGameLauncherJourney
222
215
  };
223
216
  //# sourceMappingURL=use-game-launcher-journey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-game-launcher-journey.js","sources":["../../../../../../src/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.tsx"],"sourcesContent":["import type { ICoachmarkProps } from '../../../../journey/use-journey/journey-context-types';\nimport type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { INudgeProps } from '../../../../ui/nudge/nudge-types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type { ISegmentedGameCardRefs } from '../../comps/segmented-game-card/segmented-game-card-types';\nimport type {\n IProject,\n Puzzle,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IUseGameLauncherJourneyProps } from './use-game-launcher-journey-types';\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport { PLATFORM_EVENTS_STUDENT as AnalyticsLabel } from '../../../../analytics-events/platform-events-student';\nimport { JOURNEY_ID_STUDENT } from '../../../../journey/journey-id/journey-id-student';\nimport { IndicatorType } from '../../../../journey/use-journey/constants';\nimport { useJourney } from '../../../../journey/use-journey/use-journey';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { getTheme } from '../../../../ui/theme/get-theme';\nimport { CIRCLE_ONBOARDING_ANALYTICS_STEPS as ActionEvent } from '../../../enum/circle-onboarding-steps';\nimport { ProjectType } from '../../../games/web-view/enums';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { SegmentedGameCard } from '../../comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport {\n GO_TO_NEXT_SLIDE_AFTER_MS,\n SHOW_LABEL_HIGHLIGHT_AFTER_MS,\n SHOW_NUDGE_AFTER_MS,\n SLIDE_TO_LESSON_MS,\n} from './constants';\n\nexport const useGameLauncherJourney = ({\n carouselRefs,\n onSegmentClick,\n onJourneyComplete,\n}: IUseGameLauncherJourneyProps) => {\n const journeyId = JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY;\n\n const { breakpoints } = getTheme();\n const { isMobile } = breakpoints;\n const tooltipTextRenderAs = isMobile ? 'ab3-bold' : 'ab2-bold';\n\n const gameRefs = useRef<ISegmentedGameCardRefs>(null);\n const puzzleRefs = useRef<ISegmentedGameCardRefs>(null);\n const lessonRefs = useRef<ISegmentedGameCardRefs>(null);\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { playButtonSound } = useCircleSounds();\n const { nextCoachmark, setJourney, endJourney } = useJourney();\n const { onEvent: trackAnalytics } = useUIContext();\n\n const trackEventViewed = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_VIEWED, {\n step,\n });\n },\n [trackAnalytics],\n );\n const trackEventCompleted = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_COMPLETED, {\n step,\n });\n },\n [trackAnalytics],\n );\n\n const goToNextCard = useCallback(\n (\n analyticsLabelViewed: ActionEvent,\n refOfNextSlide: ISegmentedGameCardRefs,\n color: TColorNames,\n isFirstSlide: boolean = false,\n ) => {\n if (!isFirstSlide) {\n playButtonSound();\n carouselRefs.current?.goToIndex(carouselRefs.current?.currentIndex + 1);\n nextCoachmark(journeyId, false, GO_TO_NEXT_SLIDE_AFTER_MS);\n }\n\n trackEventViewed(analyticsLabelViewed);\n\n const animateLabelTimer = setTimeout(() => {\n clearTimeout(animateLabelTimer);\n refOfNextSlide.startLabelAnimation(color);\n }, SHOW_LABEL_HIGHLIGHT_AFTER_MS);\n\n timerRefs.current.push(animateLabelTimer); // Store to cleanup later\n\n nextCoachmark(journeyId, true, SHOW_NUDGE_AFTER_MS);\n },\n [carouselRefs, journeyId, nextCoachmark, playButtonSound, trackEventViewed],\n );\n\n const handleEndJourney = useCallback(\n (puzzlesData: Puzzle) => {\n onSegmentClick(puzzlesData, ProjectType.PUZZLE);\n trackEventCompleted(ActionEvent.PUZZLE_ACTIVITY);\n endJourney(journeyId);\n onJourneyComplete(journeyId);\n },\n [endJourney, journeyId, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const startJourney = useCallback(\n (puzzlesData: IProject<Puzzle>, isLessonAvailable: boolean) => {\n // If element refs are not available return, this is just for type safety\n if (\n !carouselRefs?.current?.nextBtnRef.current ||\n !puzzleRefs?.current?.segmentedCardWrapperRef.current ||\n !gameRefs?.current?.labelRef.current ||\n !puzzleRefs?.current?.labelRef.current ||\n !puzzlesData\n ) {\n return;\n }\n\n const lessonLabelDims = lessonRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const gameLabelDims = gameRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const puzzleLabelDims = puzzleRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const launcherDims =\n puzzleRefs.current?.segmentedCardWrapperRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n let lessonSteps: ICoachmarkProps[] = [];\n\n if (isLessonAvailable && lessonRefs.current) {\n lessonSteps = [\n {\n originalElementToHighlightRef: lessonRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'BLUE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Get faster & stay ahead in school. Practice 3 new skills everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: lessonLabelDims.width / 2,\n tooltipYCoOrdinates: lessonLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselRefs.current?.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.GAMES_ACTIVITY,\n gameRefs.current as ISegmentedGameCardRefs,\n 'ORANGE_4',\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n }\n\n const gameSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: gameRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'ORANGE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Train to think deeper & plan ahead. Play 3 new games everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: gameLabelDims.width / 2,\n tooltipYCoOrdinates: gameLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselRefs.current.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.PUZZLE_ACTIVITY,\n puzzleRefs.current as ISegmentedGameCardRefs,\n 'PURPLE_4',\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n\n const puzzleSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'PURPLE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Think in new ways & stay sharp. Solve 3 new puzzles everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: puzzleLabelDims.width / 2,\n tooltipYCoOrdinates: puzzleLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: puzzleRefs.current.segmentedCardWrapperRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={puzzlesData.data.filter(puzzle => puzzle.solved).length}\n maxValue={puzzlesData.data.length}\n initialValue={puzzlesData.initialProgressValue}\n data={puzzlesData.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: puzzle.solved,\n onPress: () => handleEndJourney(puzzle),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to solve a puzzle\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n\n setJourney(journeyId, [...lessonSteps, ...gameSteps, ...puzzleSteps]);\n\n carouselRefs.current?.goToIndex(0); // Always start from 0th Index no matter what the current index is\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n nextCoachmark(journeyId);\n }, SLIDE_TO_LESSON_MS);\n\n timerRefs.current.push(delayBeforeStart); // Store to cleanup later\n\n if (isLessonAvailable && lessonRefs.current) {\n goToNextCard(ActionEvent.SKILL_ACTIVITY, lessonRefs.current, 'BLUE_4', true);\n } else {\n goToNextCard(ActionEvent.GAMES_ACTIVITY, gameRefs.current, 'ORANGE_4', true);\n }\n },\n [\n carouselRefs,\n tooltipTextRenderAs,\n isMobile,\n setJourney,\n journeyId,\n goToNextCard,\n handleEndJourney,\n nextCoachmark,\n ],\n );\n\n const data = useMemo(\n () => ({\n gameRefs,\n puzzleRefs,\n lessonRefs,\n startJourney,\n }),\n [startJourney],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n timerRefs.current.forEach(timer => clearTimeout(timer));\n timerRefs.current = [];\n };\n }, [carouselRefs]);\n\n return data;\n};\n"],"names":["useGameLauncherJourney","carouselRefs","onSegmentClick","onJourneyComplete","journeyId","JOURNEY_ID_STUDENT","breakpoints","getTheme","isMobile","tooltipTextRenderAs","gameRefs","useRef","puzzleRefs","lessonRefs","timerRefs","playButtonSound","useCircleSounds","nextCoachmark","setJourney","endJourney","useJourney","trackAnalytics","useUIContext","trackEventViewed","useCallback","step","AnalyticsLabel","trackEventCompleted","goToNextCard","analyticsLabelViewed","refOfNextSlide","color","isFirstSlide","_b","_a","GO_TO_NEXT_SLIDE_AFTER_MS","animateLabelTimer","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS","handleEndJourney","puzzlesData","ProjectType","ActionEvent","startJourney","isLessonAvailable","_c","_d","lessonLabelDims","_g","_f","_e","gameLabelDims","_j","_i","_h","puzzleLabelDims","_m","_l","_k","launcherDims","_p","_o","_n","lessonSteps","IndicatorType","jsx","Fragment","FlexView","Text","_q","IconButton","CaratRightIcon","GAME_LAUNCHER_ANALYTICS_EVENTS","gameSteps","puzzleSteps","SegmentedGameCard","puzzle","_r","delayBeforeStart","SLIDE_TO_LESSON_MS","data","useMemo","useEffect","timer"],"mappings":"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"}
1
+ {"version":3,"file":"use-game-launcher-journey.js","sources":["../../../../../../src/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.tsx"],"sourcesContent":["import type { ICoachmarkProps } from '../../../../journey/use-journey/journey-context-types';\nimport type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { INudgeProps } from '../../../../ui/nudge/nudge-types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type { ISegmentedGameCardRefs } from '../../comps/segmented-game-card/segmented-game-card-types';\nimport type {\n IProject,\n Puzzle,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IUseGameLauncherJourneyProps } from './use-game-launcher-journey-types';\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport { PLATFORM_EVENTS_STUDENT as AnalyticsLabel } from '../../../../analytics-events/platform-events-student';\nimport { JOURNEY_ID_STUDENT } from '../../../../journey/journey-id/journey-id-student';\nimport { IndicatorType } from '../../../../journey/use-journey/constants';\nimport { useJourney } from '../../../../journey/use-journey/use-journey';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { CIRCLE_ONBOARDING_ANALYTICS_STEPS as ActionEvent } from '../../../enum/circle-onboarding-steps';\nimport { ProjectType } from '../../../games/web-view/enums';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { SegmentedGameCard } from '../../comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport {\n GO_TO_NEXT_SLIDE_AFTER_MS,\n SHOW_LABEL_HIGHLIGHT_AFTER_MS,\n SHOW_NUDGE_AFTER_MS,\n SLIDE_TO_LESSON_MS,\n} from './constants';\n\nexport const useGameLauncherJourney = ({\n carouselRefs,\n onSegmentClick,\n onJourneyComplete,\n}: IUseGameLauncherJourneyProps) => {\n const journeyId = JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY;\n\n const gameRefs = useRef<ISegmentedGameCardRefs>(null);\n const puzzleRefs = useRef<ISegmentedGameCardRefs>(null);\n const lessonRefs = useRef<ISegmentedGameCardRefs>(null);\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { playButtonSound } = useCircleSounds();\n const { nextCoachmark, setJourney, endJourney } = useJourney();\n const { onEvent: trackAnalytics } = useUIContext();\n\n const trackEventViewed = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_VIEWED, {\n step,\n });\n },\n [trackAnalytics],\n );\n const trackEventCompleted = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_COMPLETED, {\n step,\n });\n },\n [trackAnalytics],\n );\n\n const goToNextCard = useCallback(\n (\n analyticsLabelViewed: ActionEvent,\n refOfNextSlide: ISegmentedGameCardRefs,\n color: TColorNames,\n isFirstSlide: boolean = false,\n ) => {\n if (!isFirstSlide) {\n playButtonSound();\n carouselRefs.current?.goToIndex(carouselRefs.current?.currentIndex + 1);\n nextCoachmark(journeyId, false, GO_TO_NEXT_SLIDE_AFTER_MS);\n }\n\n trackEventViewed(analyticsLabelViewed);\n\n const animateLabelTimer = setTimeout(() => {\n clearTimeout(animateLabelTimer);\n refOfNextSlide.startLabelAnimation(color);\n }, SHOW_LABEL_HIGHLIGHT_AFTER_MS);\n\n timerRefs.current.push(animateLabelTimer); // Store to cleanup later\n\n nextCoachmark(journeyId, true, SHOW_NUDGE_AFTER_MS);\n },\n [carouselRefs, journeyId, nextCoachmark, playButtonSound, trackEventViewed],\n );\n\n const handleEndJourney = useCallback(\n (puzzlesData: Puzzle) => {\n onSegmentClick(puzzlesData, ProjectType.PUZZLE);\n trackEventCompleted(ActionEvent.PUZZLE_ACTIVITY);\n endJourney(journeyId);\n onJourneyComplete(journeyId);\n },\n [endJourney, journeyId, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const startJourney = useCallback(\n (puzzlesData: IProject<Puzzle>, isLessonAvailable: boolean) => {\n // If element refs are not available return, this is just for type safety\n if (\n !carouselRefs?.current?.nextBtnRef.current ||\n !puzzleRefs?.current?.segmentedCardWrapperRef.current ||\n !gameRefs?.current?.labelRef.current ||\n !puzzleRefs?.current?.labelRef.current ||\n !puzzlesData\n ) {\n return;\n }\n\n const lessonLabelDims = lessonRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const gameLabelDims = gameRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const puzzleLabelDims = puzzleRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const launcherDims =\n puzzleRefs.current?.segmentedCardWrapperRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n let lessonSteps: ICoachmarkProps[] = [];\n\n if (isLessonAvailable && lessonRefs.current) {\n lessonSteps = [\n {\n originalElementToHighlightRef: lessonRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'BLUE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Get faster & stay ahead in school. Practice 3 new skills everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: lessonLabelDims.width + 50,\n tooltipYCoOrdinates: lessonLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselRefs.current?.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.GAMES_ACTIVITY,\n gameRefs.current as ISegmentedGameCardRefs,\n 'ORANGE_4',\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n }\n\n const gameSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: gameRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'ORANGE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Train to think deeper & plan ahead. Play 3 new games everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: gameLabelDims.width + 50,\n tooltipYCoOrdinates: gameLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselRefs.current.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.PUZZLE_ACTIVITY,\n puzzleRefs.current as ISegmentedGameCardRefs,\n 'PURPLE_4',\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n\n const puzzleSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'PURPLE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Think in new ways & stay sharp. Solve 3 new puzzles everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: puzzleLabelDims.width + 50,\n tooltipYCoOrdinates: puzzleLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: puzzleRefs.current.segmentedCardWrapperRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={puzzlesData.data.filter(puzzle => puzzle.solved).length}\n maxValue={puzzlesData.data.length}\n initialValue={puzzlesData.initialProgressValue}\n data={puzzlesData.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: puzzle.solved,\n onPress: () => handleEndJourney(puzzle),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to solve a puzzle\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n\n setJourney(journeyId, [...lessonSteps, ...gameSteps, ...puzzleSteps]);\n\n carouselRefs.current?.goToIndex(0); // Always start from 0th Index no matter what the current index is\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n nextCoachmark(journeyId);\n }, SLIDE_TO_LESSON_MS);\n\n timerRefs.current.push(delayBeforeStart); // Store to cleanup later\n\n if (isLessonAvailable && lessonRefs.current) {\n goToNextCard(ActionEvent.SKILL_ACTIVITY, lessonRefs.current, 'BLUE_4', true);\n } else {\n goToNextCard(ActionEvent.GAMES_ACTIVITY, gameRefs.current, 'ORANGE_4', true);\n }\n },\n [carouselRefs, setJourney, journeyId, goToNextCard, handleEndJourney, nextCoachmark],\n );\n\n const data = useMemo(\n () => ({\n gameRefs,\n puzzleRefs,\n lessonRefs,\n startJourney,\n }),\n [startJourney],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n timerRefs.current.forEach(timer => clearTimeout(timer));\n timerRefs.current = [];\n };\n }, [carouselRefs]);\n\n return data;\n};\n"],"names":["useGameLauncherJourney","carouselRefs","onSegmentClick","onJourneyComplete","journeyId","JOURNEY_ID_STUDENT","gameRefs","useRef","puzzleRefs","lessonRefs","timerRefs","playButtonSound","useCircleSounds","nextCoachmark","setJourney","endJourney","useJourney","trackAnalytics","useUIContext","trackEventViewed","useCallback","step","AnalyticsLabel","trackEventCompleted","goToNextCard","analyticsLabelViewed","refOfNextSlide","color","isFirstSlide","_b","_a","GO_TO_NEXT_SLIDE_AFTER_MS","animateLabelTimer","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS","handleEndJourney","puzzlesData","ProjectType","ActionEvent","startJourney","isLessonAvailable","_c","_d","lessonLabelDims","_g","_f","_e","gameLabelDims","_j","_i","_h","puzzleLabelDims","_m","_l","_k","launcherDims","_p","_o","_n","lessonSteps","IndicatorType","jsx","Fragment","FlexView","Text","_q","IconButton","CaratRightIcon","GAME_LAUNCHER_ANALYTICS_EVENTS","gameSteps","puzzleSteps","SegmentedGameCard","puzzle","_r","delayBeforeStart","SLIDE_TO_LESSON_MS","data","useMemo","useEffect","timer"],"mappings":"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"}