@cuemath/leap 3.3.0 → 3.3.2-2.beta-guru-01

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 (399) hide show
  1. package/dist/assets/gif/gif.js +3 -0
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +10 -1
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/images/images.js +10 -0
  6. package/dist/assets/images/images.js.map +1 -1
  7. package/dist/assets/line-icons/icons/cue-coin.js +182 -0
  8. package/dist/assets/line-icons/icons/cue-coin.js.map +1 -0
  9. package/dist/assets/line-icons/icons/wins-common-icon.js +26 -0
  10. package/dist/assets/line-icons/icons/wins-common-icon.js.map +1 -0
  11. package/dist/assets/line-icons/icons/wins-epic-icon.js +25 -0
  12. package/dist/assets/line-icons/icons/wins-epic-icon.js.map +1 -0
  13. package/dist/assets/line-icons/icons/wins-legendary-icon.js +25 -0
  14. package/dist/assets/line-icons/icons/wins-legendary-icon.js.map +1 -0
  15. package/dist/assets/line-icons/icons/wins-mystery-icon.js +105 -0
  16. package/dist/assets/line-icons/icons/wins-mystery-icon.js.map +1 -0
  17. package/dist/assets/line-icons/icons/wins-mythic-icon.js +28 -0
  18. package/dist/assets/line-icons/icons/wins-mythic-icon.js.map +1 -0
  19. package/dist/assets/line-icons/icons/wins-rare-icon.js +28 -0
  20. package/dist/assets/line-icons/icons/wins-rare-icon.js.map +1 -0
  21. package/dist/assets/lottie/lottie.js +10 -3
  22. package/dist/assets/lottie/lottie.js.map +1 -1
  23. package/dist/constants/config.js +5 -0
  24. package/dist/constants/config.js.map +1 -0
  25. package/dist/constants/country.js +9 -0
  26. package/dist/constants/country.js.map +1 -1
  27. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +6 -6
  28. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  29. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +4 -4
  30. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -1
  31. package/dist/features/auth/comps/otp-input/otp-input.js +19 -18
  32. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  33. package/dist/features/auth/comps/pill-button/pill-button-styled.js +17 -17
  34. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -1
  35. package/dist/features/auth/comps/pill-button/pill-button.js +26 -24
  36. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  37. package/dist/features/auth/comps/user-list/user-item/user-item.js +32 -30
  38. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  39. package/dist/features/auth/comps/user-list/user-list.js +20 -19
  40. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  41. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +9 -9
  42. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -1
  43. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +58 -29
  44. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -1
  45. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +78 -41
  46. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
  47. package/dist/features/auth/pla-signup/pla-analytics-events.js +5 -4
  48. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  49. package/dist/features/auth/pla-signup/signup-header/signup-header.js +1 -1
  50. package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +1 -1
  51. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js +37 -35
  52. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js.map +1 -1
  53. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +75 -70
  54. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  55. package/dist/features/auth/signup/custom-input-field/custom-input-field.js +55 -50
  56. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  57. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js +47 -25
  58. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
  59. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js +16 -0
  60. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js.map +1 -0
  61. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js +62 -0
  62. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js.map +1 -0
  63. package/dist/features/auth/signup-unavailable/signup-unavailable.js +17 -0
  64. package/dist/features/auth/signup-unavailable/signup-unavailable.js.map +1 -0
  65. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +19 -18
  66. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
  67. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js +7 -7
  68. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js.map +1 -1
  69. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +26 -24
  70. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
  71. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js +15 -13
  72. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
  73. package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
  74. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +130 -69
  75. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  76. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +43 -33
  77. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  78. package/dist/features/chapters-v2/chapter-details/chapter-details.js +137 -95
  79. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  80. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +36 -31
  81. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  82. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js +22 -0
  83. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js.map +1 -0
  84. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js +141 -0
  85. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -0
  86. package/dist/features/chapters-v2/constants/block-constants.js +7 -5
  87. package/dist/features/chapters-v2/constants/block-constants.js.map +1 -1
  88. package/dist/features/chapters-v2/utils/index.js +22 -12
  89. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  90. package/dist/features/chapters-v2/utils/sat-sheet-utils.js +12 -0
  91. package/dist/features/chapters-v2/utils/sat-sheet-utils.js.map +1 -0
  92. package/dist/features/circle-games/games/web-view/web-view.js +0 -1
  93. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  94. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +86 -0
  95. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +1 -0
  96. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +140 -0
  97. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +1 -0
  98. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +8 -4
  99. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  100. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +23 -29
  101. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -1
  102. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  103. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  104. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  105. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  106. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +400 -0
  107. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  108. package/dist/features/milestone/constants.js +13 -10
  109. package/dist/features/milestone/constants.js.map +1 -1
  110. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +42 -40
  111. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  112. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +70 -64
  113. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  114. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +54 -29
  115. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  116. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +48 -28
  117. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  118. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +79 -76
  119. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  120. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +97 -94
  121. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  122. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +160 -143
  123. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  124. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +22 -12
  125. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  126. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  127. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +64 -59
  128. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  129. package/dist/features/milestone/create/milestone-create-container.js +17 -15
  130. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  131. package/dist/features/milestone/create/milestone-create-helpers.js +170 -153
  132. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  133. package/dist/features/milestone/create/milestone-create-styled.js +1 -1
  134. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  135. package/dist/features/milestone/create/milestone-create.js +19 -17
  136. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  137. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +19 -20
  138. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  139. package/dist/features/parent-dashboard/api/get-student-profile-summary.js +9 -0
  140. package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +1 -0
  141. package/dist/features/parent-dashboard/api/parent-home.js +10 -0
  142. package/dist/features/parent-dashboard/api/parent-home.js.map +1 -0
  143. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js +30 -0
  144. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -0
  145. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js +25 -0
  146. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -0
  147. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js +15 -0
  148. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js.map +1 -0
  149. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +90 -0
  150. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -0
  151. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js +19 -0
  152. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js.map +1 -0
  153. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js +32 -0
  154. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js.map +1 -0
  155. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +67 -0
  156. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -0
  157. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js +42 -0
  158. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js.map +1 -0
  159. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js +20 -0
  160. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js.map +1 -0
  161. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js +10 -0
  162. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js.map +1 -0
  163. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +42 -0
  164. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -0
  165. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +67 -0
  166. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -0
  167. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js +24 -0
  168. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js.map +1 -0
  169. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js +71 -0
  170. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js.map +1 -0
  171. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js +40 -0
  172. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js.map +1 -0
  173. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js +44 -0
  174. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js.map +1 -0
  175. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js +32 -0
  176. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +1 -0
  177. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +12 -0
  178. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +1 -0
  179. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +44 -0
  180. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -0
  181. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +13 -0
  182. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -0
  183. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +28 -0
  184. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -0
  185. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js +43 -0
  186. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js.map +1 -0
  187. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +59 -0
  188. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -0
  189. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js +86 -0
  190. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +1 -0
  191. package/dist/features/parent-dashboard/parent-dashboard-constants.js +26 -0
  192. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -0
  193. package/dist/features/parent-dashboard/parent-dashboard-styled.js +33 -0
  194. package/dist/features/parent-dashboard/parent-dashboard-styled.js.map +1 -0
  195. package/dist/features/parent-dashboard/parent-dashboard-types.js +6 -0
  196. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -0
  197. package/dist/features/parent-dashboard/parent-dashboard-view.js +215 -0
  198. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -0
  199. package/dist/features/parent-dashboard/parent-dashboard.js +8 -0
  200. package/dist/features/parent-dashboard/parent-dashboard.js.map +1 -0
  201. package/dist/features/sentry/constants/ignored.js +10 -6
  202. package/dist/features/sentry/constants/ignored.js.map +1 -1
  203. package/dist/features/sheets/constants/sheet.js +23 -10
  204. package/dist/features/sheets/constants/sheet.js.map +1 -1
  205. package/dist/features/sheets/utils/is-v3-worksheet.js +17 -0
  206. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  207. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  208. package/dist/features/trial-session/api/course-stream.js.map +1 -1
  209. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js +1 -1
  210. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
  211. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +66 -60
  212. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  213. package/dist/features/trial-session/comps/learning-plan/index.js +62 -88
  214. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  215. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +12 -12
  216. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  217. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js +25 -0
  218. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
  219. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js +43 -0
  220. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
  221. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +49 -0
  222. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
  223. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
  224. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
  225. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +132 -0
  226. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
  227. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
  228. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
  229. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
  230. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
  231. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js +17 -0
  232. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
  233. package/dist/features/trial-session/comps/pla/session-status/session-status.js +127 -0
  234. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
  235. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +53 -0
  236. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
  237. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +53 -0
  238. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
  239. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js +17 -0
  240. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
  241. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
  242. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
  243. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js +5 -0
  244. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  245. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js +17 -0
  246. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  247. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js +5 -0
  248. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  249. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +96 -0
  250. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
  251. package/dist/features/trial-session/comps/school-goals/school-goals.js +25 -24
  252. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  253. package/dist/features/trial-session/comps/session-report/report-404/report-404.js +34 -0
  254. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -0
  255. package/dist/features/trial-session/comps/session-report/report-information/report-card.js +41 -0
  256. package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -0
  257. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +39 -0
  258. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -0
  259. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +179 -0
  260. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -0
  261. package/dist/features/trial-session/comps/session-report/session-report-styled.js +6 -29
  262. package/dist/features/trial-session/comps/session-report/session-report-styled.js.map +1 -1
  263. package/dist/features/trial-session/comps/session-report/session-report.js +44 -174
  264. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  265. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +20 -5
  266. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
  267. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +59 -126
  268. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  269. package/dist/features/trial-session/comps/student-profile/constant.js +10 -0
  270. package/dist/features/trial-session/comps/student-profile/constant.js.map +1 -0
  271. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js +53 -0
  272. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -0
  273. package/dist/features/trial-session/comps/student-profile/student-profile.js +93 -46
  274. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  275. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js +12 -0
  276. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js.map +1 -0
  277. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +121 -42
  278. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -1
  279. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +174 -56
  280. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  281. package/dist/features/trial-session/comps/worksheet/worksheet.js +23 -23
  282. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  283. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +65 -63
  284. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  285. package/dist/features/trial-session/left-panel/index.js +1 -1
  286. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  287. package/dist/features/trial-session/right-panel/slide-components-map.js +32 -32
  288. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  289. package/dist/features/trial-session/trial-session-constants.js +3 -3
  290. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  291. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  292. package/dist/features/ui/buttons/icon-button/icon-button.js +32 -29
  293. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  294. package/dist/features/ui/constants/z-index.js +5 -3
  295. package/dist/features/ui/constants/z-index.js.map +1 -1
  296. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js +12 -11
  297. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  298. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js +2 -7
  299. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js.map +1 -1
  300. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +29 -27
  301. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  302. package/dist/features/ui/modals/modal.js +30 -28
  303. package/dist/features/ui/modals/modal.js.map +1 -1
  304. package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js +109 -0
  305. package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js.map +1 -0
  306. package/dist/features/wins-dashboard/belts-elements-stickers/belts.js +95 -0
  307. package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +1 -0
  308. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +184 -0
  309. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +1 -0
  310. package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js +36 -0
  311. package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js.map +1 -0
  312. package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js +83 -0
  313. package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +1 -0
  314. package/dist/features/wins-dashboard/constants.js +161 -0
  315. package/dist/features/wins-dashboard/constants.js.map +1 -0
  316. package/dist/features/wins-dashboard/header/wins-header.js +95 -0
  317. package/dist/features/wins-dashboard/header/wins-header.js.map +1 -0
  318. package/dist/features/wins-dashboard/student-badges/animated-tabbar.js +66 -0
  319. package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +1 -0
  320. package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js +135 -0
  321. package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +1 -0
  322. package/dist/features/wins-dashboard/student-badges/student-badge.js +168 -0
  323. package/dist/features/wins-dashboard/student-badges/student-badge.js.map +1 -0
  324. package/dist/features/wins-dashboard/student-badges/student-badges-lists.js +137 -0
  325. package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -0
  326. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +86 -90
  327. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  328. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +147 -0
  329. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -0
  330. package/dist/features/worksheet/worksheet/worksheet-container.js +62 -42
  331. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  332. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +197 -199
  333. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  334. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +228 -300
  335. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  336. package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -34
  337. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  338. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  339. package/dist/features/worksheet/worksheet/worksheet.js +206 -215
  340. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  341. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +33 -33
  342. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  343. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +30 -28
  344. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  345. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +69 -73
  346. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  347. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +30 -79
  348. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  349. package/dist/index.d.ts +473 -45
  350. package/dist/index.js +695 -627
  351. package/dist/index.js.map +1 -1
  352. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
  353. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  354. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  355. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  356. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  357. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  358. package/dist/node_modules/date-fns/fromUnixTime.js +9 -0
  359. package/dist/node_modules/date-fns/fromUnixTime.js.map +1 -0
  360. package/dist/static/awesome.4239f583.json +1 -0
  361. package/dist/static/black-belt.81b3ebf9.png +0 -0
  362. package/dist/static/blue-belt.508a1b4b.png +0 -0
  363. package/dist/static/{book-checked-green.c275dbd9.svg → book-checked-green.0436b91e.svg} +1 -1
  364. package/dist/static/brown-belt.09bb7e93.png +0 -0
  365. package/dist/static/clapping-hands.17e7ecf0.json +1 -0
  366. package/dist/static/common.9e8ceef1.svg +1 -0
  367. package/dist/static/community-bulb-yellow-2.f89c30f9.svg +1 -0
  368. package/dist/static/cool.cd6921bb.json +1 -0
  369. package/dist/static/epic.37a0265a.svg +1 -0
  370. package/dist/static/error-responsive.9916ff66.json +1 -0
  371. package/dist/static/error.dd744fa5.json +1 -0
  372. package/dist/static/green-belt.5501296f.png +0 -0
  373. package/dist/static/learning-puzzle-bot.6fe93cf6.svg +1 -0
  374. package/dist/static/legendary.f15d09ca.svg +1 -0
  375. package/dist/static/like-button.281a2618.json +1 -0
  376. package/dist/static/mastered-badge.91d25e92.png +0 -0
  377. package/dist/static/mystery.81ada5fb.svg +1 -0
  378. package/dist/static/mythic.58ba0ae0.svg +1 -0
  379. package/dist/static/orange-belt.1fefcc8c.png +0 -0
  380. package/dist/static/personalization.7a6c33e8.svg +1 -0
  381. package/dist/static/personalized-session.b4fd7df8.gif +0 -0
  382. package/dist/static/purple-belt.e15611b4.png +0 -0
  383. package/dist/static/rare.1ffaa311.svg +1 -0
  384. package/dist/static/red-belt.11f841d9.png +0 -0
  385. package/dist/static/regular-practice.b15f24d9.gif +0 -0
  386. package/dist/static/star-strike-emoji.c0b31028.json +1 -0
  387. package/dist/static/stepup.321df6ed.gif +0 -0
  388. package/dist/static/trophy.5ef1853a.json +1 -0
  389. package/dist/static/username-responsive.787b5515.json +1 -0
  390. package/dist/static/username.2c755605.json +1 -0
  391. package/dist/static/white-belt.ea93103e.png +0 -0
  392. package/dist/static/yellow-belt.0c47b8cc.png +0 -0
  393. package/package.json +1 -1
  394. package/dist/features/trial-session/comps/session-report/report-card.js +0 -26
  395. package/dist/features/trial-session/comps/session-report/report-card.js.map +0 -1
  396. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
  397. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
  398. package/dist/static/error.cbe1ddde.json +0 -1
  399. package/dist/static/username.9e034d51.json +0 -1
@@ -0,0 +1,184 @@
1
+ import { jsxs as u, jsx as o } from "react/jsx-runtime";
2
+ import w, { memo as S, useCallback as f } from "react";
3
+ import r, { css as c } from "styled-components";
4
+ import d from "../../ui/layout/flex-view.js";
5
+ import R from "../../ui/lottie-animation/lottie-animation.js";
6
+ import D from "../../ui/separator/separator.js";
7
+ import C from "../../ui/text/text.js";
8
+ import { SCREEN_SIZES as g, getRewardElement as W, elementColors as y } from "../constants.js";
9
+ const H = {
10
+ TETRA: 0.5,
11
+ COSA: 0.3,
12
+ DODA: 0.3,
13
+ HEXO: 0.5,
14
+ OCTO: 0.5,
15
+ EKA: 0.5,
16
+ DVI: 0.3,
17
+ CHATVA: 0.3,
18
+ ASHTA: 0.5,
19
+ ZODASA: 0.4,
20
+ CLAP: 0.6,
21
+ COOL: 0.6,
22
+ LIKE: 0.6,
23
+ WOW: 0.6,
24
+ CHEER: 0.6,
25
+ "ROCK-ON": 0.6
26
+ }, K = {
27
+ ASHTA: "Ashta",
28
+ CHATVA: "Chatva",
29
+ COSA: "Cosa",
30
+ DODA: "Doca",
31
+ DVI: "Dvi",
32
+ EKA: "Eka",
33
+ HEXO: "Hexo",
34
+ OCTO: "Octo",
35
+ TETRA: "T'tro",
36
+ ZODASA: "Zodasa",
37
+ CONGRATS: "Congrats",
38
+ COOL: "Cool",
39
+ KUDOS: "Kudos",
40
+ GREAT: "Great",
41
+ WOW: "Wow",
42
+ AWESOME: "Awesome"
43
+ }, V = (t, e) => {
44
+ let i = null, a = "-4px", n = null;
45
+ return t ? n = "-4px" : (i = `${e ? "-2px" : "2px"}`, a = `${e ? "-4px" : "2px"}`), `
46
+ bottom: ${i};
47
+ top: ${n};
48
+ right: ${a};
49
+ `;
50
+ }, P = r(d)`
51
+ align-items: center;
52
+ gap: 4px;
53
+ `, G = r(d)`
54
+ position: absolute;
55
+ top: -3px;
56
+ align-items: center;
57
+ justify-content: center;
58
+ width: 62px;
59
+ height: 62px;
60
+ `, j = r.div`
61
+ position: relative;
62
+ width: 62px;
63
+ height: 62px;
64
+ `, I = r.div`
65
+ position: relative;
66
+ `, M = r.img`
67
+ width: 56px;
68
+ height: 56px;
69
+ ${({ $disabled: t, $disabledVal: e }) => t && c`
70
+ filter: saturate(0);
71
+ opacity: ${e};
72
+ `}
73
+ `, _ = r.div`
74
+ border: 1px solid ${({ theme: t }) => t.colors.GREY_2};
75
+ border-radius: 8px;
76
+ `, Z = r(d)`
77
+ width: 62px;
78
+ height: 62px;
79
+ align-items: center;
80
+ justify-content: center;
81
+ ${({ $disabled: t, $disabledVal: e }) => t && c`
82
+ filter: saturate(0);
83
+ opacity: ${e};
84
+ `}
85
+ `, v = r(d)`
86
+ position: absolute;
87
+ ${({ $isSticker: t, $isCoddingType: e }) => V(t, e)};
88
+ background-color: ${({ theme: t }) => t.colors.GREY_2};
89
+ border-radius: ${({ $borderRadius: t }) => t};
90
+ border: ${({ $borderColor: t }) => `1px solid ${t}`};
91
+ width: ${({ $width: t }) => t}px;
92
+ height: 16px;
93
+ align-items: center;
94
+ justify-content: center;
95
+ ${({ $currentScreenWidth: t, $width: e }) => t < g.LAPTOP && c`
96
+ width: ${e + 6}px;
97
+ height: 22px;
98
+ `}
99
+ `, B = r(C)`
100
+ font-size: 9px;
101
+ line-height: 14px;
102
+ ${({ $currentScreenWidth: t }) => t < g.LAPTOP && c`
103
+ font-size: 12px;
104
+ line-height: 14px;
105
+ `}
106
+ `, N = r(C)`
107
+ color: ${({ theme: t }) => t.colors.BLACK};
108
+ opacity: ${({ $disabled: t }) => t ? 1 : 0.5};
109
+ `, k = ({
110
+ isAchieved: t = !1,
111
+ count: e = 0,
112
+ elementType: i,
113
+ isCoddingType: a = !1,
114
+ isSticker: n = !1,
115
+ lotties: A = {},
116
+ currentScreenWidth: $
117
+ }) => {
118
+ const h = e >= 100, O = K[i], x = H[i] || 1, { height: E, width: b, lottieSrc: s } = A[i] || {}, p = w.useRef(null), L = f(() => {
119
+ var l, m;
120
+ t && s && ((l = p.current) == null || l.play(), (m = p.current) == null || m.setLoop(!0));
121
+ }, [t, s]), T = f(() => {
122
+ var l;
123
+ s && ((l = p.current) == null || l.setLoop(!1));
124
+ }, [s]);
125
+ return /* @__PURE__ */ u(P, { children: [
126
+ /* @__PURE__ */ o(j, { children: /* @__PURE__ */ o(G, { $flexDirection: "row", children: /* @__PURE__ */ u(I, { children: [
127
+ !n && /* @__PURE__ */ o(
128
+ M,
129
+ {
130
+ $disabled: !t,
131
+ $disabledVal: x,
132
+ src: W(i),
133
+ alt: "reward"
134
+ }
135
+ ),
136
+ n && s && /* @__PURE__ */ o(_, { $disabled: !t, children: /* @__PURE__ */ o(
137
+ Z,
138
+ {
139
+ $disabled: !t,
140
+ $disabledVal: x,
141
+ onMouseEnter: L,
142
+ onMouseLeave: T,
143
+ children: /* @__PURE__ */ o(
144
+ R,
145
+ {
146
+ src: s,
147
+ width: b,
148
+ height: E,
149
+ ref: p,
150
+ settings: { autoplay: !1, loop: !1 }
151
+ }
152
+ )
153
+ }
154
+ ) }),
155
+ t && /* @__PURE__ */ o(
156
+ v,
157
+ {
158
+ $isSticker: n,
159
+ $borderColor: y[i] || "#000",
160
+ $width: h ? 28 : 16,
161
+ $borderRadius: h ? "26px" : "50%",
162
+ $isCoddingType: a,
163
+ $currentScreenWidth: $,
164
+ $flexDirection: "row",
165
+ children: /* @__PURE__ */ o(
166
+ B,
167
+ {
168
+ $currentScreenWidth: $,
169
+ $renderAs: "body3",
170
+ $color: "BLACK",
171
+ children: e
172
+ }
173
+ )
174
+ }
175
+ )
176
+ ] }) }) }),
177
+ /* @__PURE__ */ o(D, { height: 4 }),
178
+ /* @__PURE__ */ o(N, { $renderAs: "body3", $disabled: t, children: O })
179
+ ] });
180
+ }, tt = S(k);
181
+ export {
182
+ tt as default
183
+ };
184
+ //# sourceMappingURL=elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements.js","sources":["../../../../src/features/wins-dashboard/belts-elements-stickers/elements.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../ui/lottie-animation/types';\n\nimport React, { memo, useCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { elementColors, getRewardElement, SCREEN_SIZES } from '../constants';\n\nconst disablePercentages: Record<string, number> = {\n 'TETRA': 0.5,\n 'COSA': 0.3,\n 'DODA': 0.3,\n 'HEXO': 0.5,\n 'OCTO': 0.5,\n 'EKA': 0.5,\n 'DVI': 0.3,\n 'CHATVA': 0.3,\n 'ASHTA': 0.5,\n 'ZODASA': 0.4,\n 'CLAP': 0.6,\n 'COOL': 0.6,\n 'LIKE': 0.6,\n 'WOW': 0.6,\n 'CHEER': 0.6,\n 'ROCK-ON': 0.6,\n};\n\nconst elementTitles: Record<string, string> = {\n ASHTA: 'Ashta',\n CHATVA: 'Chatva',\n COSA: 'Cosa',\n DODA: 'Doca',\n DVI: 'Dvi',\n EKA: 'Eka',\n HEXO: 'Hexo',\n OCTO: 'Octo',\n TETRA: `T'tro`,\n ZODASA: 'Zodasa',\n CONGRATS: 'Congrats',\n COOL: 'Cool',\n KUDOS: 'Kudos',\n GREAT: 'Great',\n WOW: 'Wow',\n AWESOME: 'Awesome',\n};\n\nconst getPositionStyles = (isSticker: boolean, isCoddingType: boolean): string => {\n let bottom: string | null = null;\n let right = '-4px';\n let top: string | null = null;\n\n if (!isSticker) {\n bottom = `${isCoddingType ? '-2px' : '2px'}`;\n right = `${isCoddingType ? '-4px' : '2px'}`;\n } else {\n top = '-4px';\n }\n\n return `\n bottom: ${bottom};\n top: ${top};\n right: ${right};\n `;\n};\n\nconst ElementContainer = styled(FlexView)`\n align-items: center;\n gap: 4px;\n`;\n\nconst Wrapper = styled(FlexView)`\n position: absolute;\n top: -3px;\n align-items: center;\n justify-content: center;\n width: 62px;\n height: 62px;\n`;\n\nconst BgWrapper = styled.div`\n position: relative;\n width: 62px;\n height: 62px;\n`;\n\nconst GemContainer = styled.div`\n position: relative;\n`;\n\ninterface ImageWrapperProps {\n $disabled: boolean;\n $disabledVal: number;\n}\n\nconst ImageWrapper = styled.img<ImageWrapperProps>`\n width: 56px;\n height: 56px;\n ${({ $disabled, $disabledVal }) =>\n $disabled &&\n css`\n filter: saturate(0);\n opacity: ${$disabledVal};\n `}\n`;\n\ninterface LottieContainerProps {\n $disabled: boolean;\n}\n\nconst LottieContainer = styled.div<LottieContainerProps>`\n border: 1px solid ${({ theme }) => theme.colors.GREY_2};\n border-radius: 8px;\n`;\n\ninterface LottieWrapperProps {\n $disabled: boolean;\n $disabledVal: number;\n}\n\nconst LottieWrapper = styled(FlexView)<LottieWrapperProps>`\n width: 62px;\n height: 62px;\n align-items: center;\n justify-content: center;\n ${({ $disabled, $disabledVal }) =>\n $disabled &&\n css`\n filter: saturate(0);\n opacity: ${$disabledVal};\n `}\n`;\n\ninterface CountWrapperProps {\n $isSticker: boolean;\n $isCoddingType: boolean;\n $borderColor: string;\n $width: number;\n $borderRadius: string;\n $currentScreenWidth: number;\n}\n\nconst CountWrapper = styled(FlexView)<CountWrapperProps>`\n position: absolute;\n ${({ $isSticker, $isCoddingType }) => getPositionStyles($isSticker, $isCoddingType)};\n background-color: ${({ theme }) => theme.colors.GREY_2};\n border-radius: ${({ $borderRadius }) => $borderRadius};\n border: ${({ $borderColor }) => `1px solid ${$borderColor}`};\n width: ${({ $width }) => $width}px;\n height: 16px;\n align-items: center;\n justify-content: center;\n ${({ $currentScreenWidth, $width }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n width: ${$width + 6}px;\n height: 22px;\n `}\n`;\n\ninterface CountTextProps {\n $currentScreenWidth: number;\n}\n\nconst CountText = styled(Text)<CountTextProps>`\n font-size: 9px;\n line-height: 14px;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n font-size: 12px;\n line-height: 14px;\n `}\n`;\n\ninterface ElementTextProps {\n $disabled: boolean;\n}\n\nconst ElementText = styled(Text)<ElementTextProps>`\n color: ${({ theme }) => theme.colors.BLACK};\n opacity: ${({ $disabled }) => ($disabled ? 1 : 0.5)};\n`;\n\ninterface LottieData {\n height: number;\n width: number;\n lottieSrc: string;\n}\n\ninterface ElementProps {\n isAchieved?: boolean;\n count?: number;\n elementType: string;\n isCoddingType?: boolean;\n isSticker?: boolean;\n lotties?: Record<string, LottieData>;\n currentScreenWidth: number;\n}\n\nconst Element: React.FC<ElementProps> = ({\n isAchieved = false,\n count = 0,\n elementType,\n isCoddingType = false,\n isSticker = false,\n lotties = {},\n currentScreenWidth,\n}) => {\n const isLargeCount = count >= 100;\n const elementTitle = elementTitles[elementType];\n const disabledVal = disablePercentages[elementType] || 1;\n const { height, width, lottieSrc } = lotties[elementType] || {};\n const lottieRef = React.useRef<ILottieAnimationRef | null>(null);\n\n const handleMouseEnter = useCallback(() => {\n if (isAchieved && lottieSrc) {\n lottieRef.current?.play();\n lottieRef.current?.setLoop(true);\n }\n }, [isAchieved, lottieSrc]);\n\n const handleMouseLeave = useCallback(() => {\n if (lottieSrc) {\n lottieRef.current?.setLoop(false);\n }\n }, [lottieSrc]);\n\n return (\n <ElementContainer>\n <BgWrapper>\n <Wrapper $flexDirection=\"row\">\n <GemContainer>\n {!isSticker && (\n <ImageWrapper\n $disabled={!isAchieved}\n $disabledVal={disabledVal}\n src={getRewardElement(elementType)}\n alt=\"reward\"\n />\n )}\n {isSticker && lottieSrc && (\n <LottieContainer $disabled={!isAchieved}>\n <LottieWrapper\n $disabled={!isAchieved}\n $disabledVal={disabledVal}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <LottieAnimation\n src={lottieSrc}\n width={width}\n height={height}\n ref={lottieRef}\n settings={{ autoplay: false, loop: false }}\n />\n </LottieWrapper>\n </LottieContainer>\n )}\n\n {isAchieved && (\n <CountWrapper\n $isSticker={isSticker}\n $borderColor={elementColors[elementType as keyof typeof elementColors] || '#000'}\n $width={isLargeCount ? 28 : 16}\n $borderRadius={isLargeCount ? '26px' : '50%'}\n $isCoddingType={isCoddingType}\n $currentScreenWidth={currentScreenWidth}\n $flexDirection=\"row\"\n >\n <CountText\n $currentScreenWidth={currentScreenWidth}\n $renderAs=\"body3\"\n $color=\"BLACK\"\n >\n {count}\n </CountText>\n </CountWrapper>\n )}\n </GemContainer>\n </Wrapper>\n </BgWrapper>\n <Separator height={4} />\n <ElementText $renderAs=\"body3\" $disabled={isAchieved}>\n {elementTitle}\n </ElementText>\n </ElementContainer>\n );\n};\n\nexport default memo(Element);\n"],"names":["disablePercentages","elementTitles","getPositionStyles","isSticker","isCoddingType","bottom","right","top","ElementContainer","styled","FlexView","Wrapper","BgWrapper","GemContainer","ImageWrapper","$disabled","$disabledVal","css","LottieContainer","theme","LottieWrapper","CountWrapper","$isSticker","$isCoddingType","$borderRadius","$borderColor","$width","$currentScreenWidth","SCREEN_SIZES","CountText","Text","ElementText","Element","isAchieved","count","elementType","lotties","currentScreenWidth","isLargeCount","elementTitle","disabledVal","height","width","lottieSrc","lottieRef","React","handleMouseEnter","useCallback","_a","_b","handleMouseLeave","jsx","getRewardElement","LottieAnimation","elementColors","Separator","Element$1","memo"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { memo as a } from "react";
3
+ import t from "styled-components";
4
+ const $ = t.div`
5
+ position: relative;
6
+ overflow: hidden;
7
+ background: ${({ $backgroundColor: r, theme: o }) => o.colors[r] || r};
8
+ width: 100%;
9
+ height: ${({ $height: r }) => `${r}px`};
10
+ border-radius: ${({ $height: r, $corners: o }) => o ? `${r / 2}px` : 0};
11
+ `, c = t.div`
12
+ position: absolute;
13
+ background: ${({ $backgroundColor: r, theme: o }) => o.colors[r] || r};
14
+ transition: width 300ms ease-in-out;
15
+ width: ${({ $progress: r }) => `${r}%`};
16
+ height: 100%;
17
+ border-radius: ${({ $borderRadius: r }) => r || 0}px;
18
+ `, h = ({
19
+ borderRadius: r = 0,
20
+ height: o = 8,
21
+ progress: i,
22
+ corners: e = !0,
23
+ backgroundColor: d = "GREY_1",
24
+ progressColor: n = "GREY_4"
25
+ }) => /* @__PURE__ */ s($, { $height: o, $corners: e, $backgroundColor: d, children: /* @__PURE__ */ s(
26
+ c,
27
+ {
28
+ $progress: i,
29
+ $backgroundColor: n,
30
+ $borderRadius: r
31
+ }
32
+ ) }), p = a(h);
33
+ export {
34
+ p as default
35
+ };
36
+ //# sourceMappingURL=progress-bar-horizontal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar-horizontal.js","sources":["../../../../src/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.tsx"],"sourcesContent":["import type { TColorNames } from '../../ui/types';\n\nimport React, { memo } from 'react';\nimport styled from 'styled-components';\n\nconst Background = styled.div<{\n $backgroundColor: TColorNames | string;\n $height: number;\n $corners: boolean;\n}>`\n position: relative;\n overflow: hidden;\n background: ${({ $backgroundColor, theme }) =>\n theme.colors[$backgroundColor as TColorNames] || $backgroundColor};\n width: 100%;\n height: ${({ $height }) => `${$height}px`};\n border-radius: ${({ $height, $corners }) => ($corners ? `${$height / 2}px` : 0)};\n`;\n\nconst Progress = styled.div<{\n $backgroundColor: TColorNames | string;\n $progress: number;\n $borderRadius: number;\n}>`\n position: absolute;\n background: ${({ $backgroundColor, theme }) =>\n theme.colors[$backgroundColor as TColorNames] || $backgroundColor};\n transition: width 300ms ease-in-out;\n width: ${({ $progress }) => `${$progress}%`};\n height: 100%;\n border-radius: ${({ $borderRadius }) => $borderRadius || 0}px;\n`;\n\ninterface ProgressBarHorizontalProps {\n borderRadius?: number;\n progress: number;\n height?: number;\n backgroundColor?: TColorNames | string;\n progressColor?: TColorNames | string;\n corners?: boolean;\n}\n\nconst ProgressBarHorizontal: React.FC<ProgressBarHorizontalProps> = ({\n borderRadius = 0,\n height = 8,\n progress,\n corners = true,\n backgroundColor = 'GREY_1',\n progressColor = 'GREY_4',\n}) => {\n return (\n <Background $height={height} $corners={corners} $backgroundColor={backgroundColor}>\n <Progress\n $progress={progress}\n $backgroundColor={progressColor}\n $borderRadius={borderRadius}\n />\n </Background>\n );\n};\n\nexport default memo(ProgressBarHorizontal);\n"],"names":["Background","styled","$backgroundColor","theme","$height","$corners","Progress","$progress","$borderRadius","ProgressBarHorizontal","borderRadius","height","progress","corners","backgroundColor","progressColor","jsx","ProgressBarHorizontal$1","memo"],"mappings":";;;AAKA,MAAMA,IAAaC,EAAO;AAAA;AAAA;AAAA,gBAOV,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,QACjCA,EAAM,OAAOD,CAA+B,KAAKA,CAAgB;AAAA;AAAA,YAEzD,CAAC,EAAE,SAAAE,EAAc,MAAA,GAAGA,CAAO,IAAI;AAAA,mBACxB,CAAC,EAAE,SAAAA,GAAS,UAAAC,EAAS,MAAOA,IAAW,GAAGD,IAAU,CAAC,OAAO,CAAE;AAAA,GAG3EE,IAAWL,EAAO;AAAA;AAAA,gBAMR,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,QACjCA,EAAM,OAAOD,CAA+B,KAAKA,CAAgB;AAAA;AAAA,WAE1D,CAAC,EAAE,WAAAK,EAAgB,MAAA,GAAGA,CAAS,GAAG;AAAA;AAAA,mBAE1B,CAAC,EAAE,eAAAC,QAAoBA,KAAiB,CAAC;AAAA,GAYtDC,IAA8D,CAAC;AAAA,EACnE,cAAAC,IAAe;AAAA,EACf,QAAAC,IAAS;AAAA,EACT,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,iBAAAC,IAAkB;AAAA,EAClB,eAAAC,IAAgB;AAClB,wBAEKf,GAAW,EAAA,SAASW,GAAQ,UAAUE,GAAS,kBAAkBC,GAChE,UAAA,gBAAAE;AAAA,EAACV;AAAA,EAAA;AAAA,IACC,WAAWM;AAAA,IACX,kBAAkBG;AAAA,IAClB,eAAeL;AAAA,EAAA;AAEnB,EAAA,CAAA,GAIWO,IAAAC,EAAKT,CAAqB;"}
@@ -0,0 +1,83 @@
1
+ import { jsxs as I, jsx as r } from "react/jsx-runtime";
2
+ import { memo as $ } from "react";
3
+ import c, { css as p } from "styled-components";
4
+ import f from "../../ui/layout/flex-view.js";
5
+ import R from "../../ui/separator/separator.js";
6
+ import S from "../../ui/text/text.js";
7
+ import { SCREEN_SIZES as a, INSTRUCTION_REWARDS as w, MATH_REWARDS as N, STICKERS as A } from "../constants.js";
8
+ import g from "./elements.js";
9
+ const E = {
10
+ STICKER: "STICKERS",
11
+ CODING: "CODING",
12
+ CHIP: "CHIPS",
13
+ ELEMENT: "ELEMENTS"
14
+ }, L = c(f)`
15
+ background-color: ${({ theme: t }) => t.colors.WHITE};
16
+ `, P = c(f)`
17
+ max-width: 280px;
18
+ width: 100%;
19
+ ${({ $currentScreenWidth: t }) => t < a.LAPTOP && p`
20
+ max-width: 764px;
21
+ width: 100%;
22
+ `}
23
+ `, O = c.div`
24
+ width: 33%;
25
+ padding-bottom: 16px;
26
+ ${({ $currentScreenWidth: t }) => t < a.LAPTOP && p`
27
+ width: 15%;
28
+ height: 33%;
29
+ `}
30
+ `, u = c.div`
31
+ padding-left: ${({ $isSticker: t }) => t ? "13px" : "19px"};
32
+ color: ${({ theme: t }) => t.colors.BLACK};
33
+ font-size: 20px;
34
+ font-weight: 800;
35
+ ${({ $currentScreenWidth: t }) => t < a.LAPTOP && p`
36
+ padding-left: 0;
37
+ `}
38
+ `, D = (t, o) => {
39
+ let e = E.STICKER;
40
+ return t || (e = o ? E.CHIP : E.ELEMENT), e;
41
+ }, T = (t, o, e, n, s = {}, m) => /* @__PURE__ */ r(O, { $currentScreenWidth: m, children: /* @__PURE__ */ r(
42
+ g,
43
+ {
44
+ isAchieved: t in o,
45
+ count: o[t],
46
+ elementType: t,
47
+ isCoddingType: e,
48
+ isSticker: n,
49
+ lotties: s,
50
+ currentScreenWidth: m
51
+ }
52
+ ) }, t), K = ({
53
+ elements: t,
54
+ isSticker: o = !1,
55
+ lotties: e = {},
56
+ currentScreenWidth: n,
57
+ programStream: s
58
+ }) => {
59
+ const m = s === E.CODING ? [...w] : [...N], l = s === E.CODING, h = A, d = {};
60
+ return t && t.forEach((i) => {
61
+ const { name: x, count: C } = i;
62
+ d[x] = C;
63
+ }), /* @__PURE__ */ I(L, { children: [
64
+ /* @__PURE__ */ r(u, { $currentScreenWidth: n, $isSticker: o, children: /* @__PURE__ */ r(S, { $renderAs: "h5", $color: "BLACK", children: D(o, l) }) }),
65
+ /* @__PURE__ */ r(R, { height: 18 }),
66
+ /* @__PURE__ */ r(P, { $flexWrap: !0, $flexDirection: "row", $currentScreenWidth: n, children: o ? h.map(
67
+ (i) => T(
68
+ i,
69
+ d,
70
+ l,
71
+ o,
72
+ e,
73
+ n
74
+ )
75
+ ) : m.map(
76
+ (i) => T(i, d, l, !1, {}, n)
77
+ ) })
78
+ ] });
79
+ }, j = $(K);
80
+ export {
81
+ j as default
82
+ };
83
+ //# sourceMappingURL=reward-elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reward-elements.js","sources":["../../../../src/features/wins-dashboard/belts-elements-stickers/reward-elements.tsx"],"sourcesContent":["import React, { memo } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { INSTRUCTION_REWARDS, MATH_REWARDS, SCREEN_SIZES, STICKERS } from '../constants';\nimport Element from './elements';\n\nconst ELEMENT_TEXT = {\n STICKER: 'STICKERS',\n CODING: 'CODING',\n CHIP: 'CHIPS',\n ELEMENT: 'ELEMENTS',\n};\n\nconst InfoWrapper = styled(FlexView)`\n background-color: ${({ theme }) => theme.colors.WHITE};\n`;\n\ninterface ElementContainerProps {\n $currentScreenWidth: number;\n}\n\nconst ElementContainer = styled(FlexView)<ElementContainerProps>`\n max-width: 280px;\n width: 100%;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n max-width: 764px;\n width: 100%;\n `}\n`;\n\ninterface ElementWrapperProps {\n $currentScreenWidth: number;\n}\n\nconst ElementWrapper = styled.div<ElementWrapperProps>`\n width: 33%;\n padding-bottom: 16px;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n width: 15%;\n height: 33%;\n `}\n`;\n\ninterface ElementTextProps {\n $isSticker: boolean;\n $currentScreenWidth: number;\n}\n\nconst ElementText = styled.div<ElementTextProps>`\n padding-left: ${({ $isSticker }) => ($isSticker ? '13px' : '19px')};\n color: ${({ theme }) => theme.colors.BLACK};\n font-size: 20px;\n font-weight: 800;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n padding-left: 0;\n `}\n`;\n\nconst getElementText = (isSticker: boolean, isCoddingType: boolean): string => {\n let name = ELEMENT_TEXT.STICKER;\n\n if (!isSticker) {\n name = isCoddingType ? ELEMENT_TEXT.CHIP : ELEMENT_TEXT.ELEMENT;\n }\n\n return name;\n};\n\ninterface ElementData {\n name: string;\n count: number;\n}\n\ninterface LottieProps {\n height: number;\n width: number;\n lottieSrc: string;\n}\n\nconst getElements = (\n element: string,\n elementsCount: Record<string, number>,\n isCoddingType: boolean,\n isSticker: boolean,\n lotties: Record<string, LottieProps> = {},\n currentScreenWidth: number,\n) => {\n return (\n <ElementWrapper $currentScreenWidth={currentScreenWidth} key={element}>\n <Element\n isAchieved={element in elementsCount}\n count={elementsCount[element]}\n elementType={element}\n isCoddingType={isCoddingType}\n isSticker={isSticker}\n lotties={lotties}\n currentScreenWidth={currentScreenWidth}\n />\n </ElementWrapper>\n );\n};\n\ninterface RewardElementsProps {\n elements?: ElementData[];\n isSticker?: boolean;\n lotties?: Record<string, LottieProps>;\n currentScreenWidth: number;\n programStream?: string;\n}\n\nconst RewardElements: React.FC<RewardElementsProps> = ({\n elements,\n isSticker = false,\n lotties = {},\n currentScreenWidth,\n programStream,\n}) => {\n const totalElements =\n programStream === ELEMENT_TEXT.CODING ? [...INSTRUCTION_REWARDS] : [...MATH_REWARDS];\n const isCoddingType = programStream === ELEMENT_TEXT.CODING;\n const totalStickers = STICKERS;\n const elementsCount: Record<string, number> = {};\n\n if (elements) {\n elements.forEach(element => {\n const { name, count } = element;\n\n elementsCount[name] = count;\n });\n }\n\n return (\n <InfoWrapper>\n <ElementText $currentScreenWidth={currentScreenWidth} $isSticker={isSticker}>\n <Text $renderAs=\"h5\" $color=\"BLACK\">\n {getElementText(isSticker, isCoddingType)}\n </Text>\n </ElementText>\n <Separator height={18} />\n <ElementContainer $flexWrap $flexDirection=\"row\" $currentScreenWidth={currentScreenWidth}>\n {!isSticker\n ? totalElements.map(element =>\n getElements(element, elementsCount, isCoddingType, false, {}, currentScreenWidth),\n )\n : totalStickers.map(sticker =>\n getElements(\n sticker,\n elementsCount,\n isCoddingType,\n isSticker,\n lotties,\n currentScreenWidth,\n ),\n )}\n </ElementContainer>\n </InfoWrapper>\n );\n};\n\nexport default memo(RewardElements);\n"],"names":["ELEMENT_TEXT","InfoWrapper","styled","FlexView","theme","ElementContainer","$currentScreenWidth","SCREEN_SIZES","css","ElementWrapper","ElementText","$isSticker","getElementText","isSticker","isCoddingType","name","getElements","element","elementsCount","lotties","currentScreenWidth","jsx","Element","RewardElements","elements","programStream","totalElements","INSTRUCTION_REWARDS","MATH_REWARDS","totalStickers","STICKERS","count","Text","Separator","sticker","RewardElements$1","memo"],"mappings":";;;;;;;;AASA,MAAMA,IAAe;AAAA,EACnB,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX,GAEMC,IAAcC,EAAOC,CAAQ;AAAA,sBACb,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA,GAOjDC,IAAmBH,EAAOC,CAAQ;AAAA;AAAA;AAAA,IAGpC,CAAC,EAAE,qBAAAG,EACH,MAAAA,IAAsBC,EAAa,UACnCC;AAAA;AAAA;AAAA,KAGC;AAAA,GAOCC,IAAiBP,EAAO;AAAA;AAAA;AAAA,IAG1B,CAAC,EAAE,qBAAAI,EACH,MAAAA,IAAsBC,EAAa,UACnCC;AAAA;AAAA;AAAA,KAGC;AAAA,GAQCE,IAAcR,EAAO;AAAA,kBACT,CAAC,EAAE,YAAAS,EAAA,MAAkBA,IAAa,SAAS,MAAO;AAAA,WACzD,CAAC,EAAE,OAAAP,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,IAGxC,CAAC,EAAE,qBAAAE,EACH,MAAAA,IAAsBC,EAAa,UACnCC;AAAA;AAAA,KAEC;AAAA,GAGCI,IAAiB,CAACC,GAAoBC,MAAmC;AAC7E,MAAIC,IAAOf,EAAa;AAExB,SAAKa,MACIE,IAAAD,IAAgBd,EAAa,OAAOA,EAAa,UAGnDe;AACT,GAaMC,IAAc,CAClBC,GACAC,GACAJ,GACAD,GACAM,IAAuC,CAAC,GACxCC,MAGE,gBAAAC,EAACZ,GAAe,EAAA,qBAAqBW,GACnC,UAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,YAAYL,KAAWC;AAAA,IACvB,OAAOA,EAAcD,CAAO;AAAA,IAC5B,aAAaA;AAAA,IACb,eAAAH;AAAA,IACA,WAAAD;AAAA,IACA,SAAAM;AAAA,IACA,oBAAAC;AAAA,EAAA;AAAA,KAR0DH,CAU9D,GAYEM,IAAgD,CAAC;AAAA,EACrD,UAAAC;AAAA,EACA,WAAAX,IAAY;AAAA,EACZ,SAAAM,IAAU,CAAC;AAAA,EACX,oBAAAC;AAAA,EACA,eAAAK;AACF,MAAM;AACE,QAAAC,IACJD,MAAkBzB,EAAa,SAAS,CAAC,GAAG2B,CAAmB,IAAI,CAAC,GAAGC,CAAY,GAC/Ed,IAAgBW,MAAkBzB,EAAa,QAC/C6B,IAAgBC,GAChBZ,IAAwC,CAAA;AAE9C,SAAIM,KACFA,EAAS,QAAQ,CAAWP,MAAA;AACpB,UAAA,EAAE,MAAAF,GAAM,OAAAgB,EAAU,IAAAd;AAExB,IAAAC,EAAcH,CAAI,IAAIgB;AAAA,EAAA,CACvB,qBAIA9B,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAoB,EAACX,GAAY,EAAA,qBAAqBU,GAAoB,YAAYP,GAChE,UAAC,gBAAAQ,EAAAW,GAAA,EAAK,WAAU,MAAK,QAAO,SACzB,UAAApB,EAAeC,GAAWC,CAAa,EAC1C,CAAA,GACF;AAAA,IACA,gBAAAO,EAACY,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAZ,EAAChB,GAAiB,EAAA,WAAS,IAAC,gBAAe,OAAM,qBAAqBe,GACnE,UAACP,IAIEgB,EAAc;AAAA,MAAI,CAChBK,MAAAlB;AAAA,QACEkB;AAAA,QACAhB;AAAA,QACAJ;AAAA,QACAD;AAAA,QACAM;AAAA,QACAC;AAAA,MACF;AAAA,IAAA,IAXFM,EAAc;AAAA,MAAI,CAAAT,MAChBD,EAAYC,GAASC,GAAeJ,GAAe,IAAO,IAAIM,CAAkB;AAAA,OAYxF;AAAA,EACF,EAAA,CAAA;AAEJ,GAEee,IAAAC,EAAKb,CAAc;"}
@@ -0,0 +1,161 @@
1
+ import { ILLUSTRATIONS as T } from "../../assets/illustrations/illustrations.js";
2
+ import { IMAGES as E } from "../../assets/images/images.js";
3
+ import R from "../../assets/line-icons/icons/wins-common-icon.js";
4
+ import o from "../../assets/line-icons/icons/wins-epic-icon.js";
5
+ import C from "../../assets/line-icons/icons/wins-legendary-icon.js";
6
+ import D from "../../assets/line-icons/icons/wins-mystery-icon.js";
7
+ import n from "../../assets/line-icons/icons/wins-mythic-icon.js";
8
+ import c from "../../assets/line-icons/icons/wins-rare-icon.js";
9
+ import { LOTTIE as t } from "../../assets/lottie/lottie.js";
10
+ import { getTheme as s } from "../ui/theme/get-theme.js";
11
+ const m = {
12
+ TABLET: 864,
13
+ LAPTOP: 1024,
14
+ LAPTOPL: 1280
15
+ }, { colors: O } = s(), a = {
16
+ ASHTA: "#FF7E3B",
17
+ CHATVA: "#DA5107",
18
+ COSA: "#0A47C2",
19
+ DODA: "#850F85",
20
+ DVI: "#0A47C2",
21
+ EKA: "#3DD771",
22
+ HEXO: "#3DD771",
23
+ OCTO: "#FF7E3B",
24
+ TETRA: "#FFBA07",
25
+ ZODASA: "#1EB5F0",
26
+ CONGRATS: O.GREY_2,
27
+ COOL: O.GREY_2,
28
+ KUDOS: O.GREY_2,
29
+ GREAT: O.GREY_2,
30
+ WOW: O.GREY_2,
31
+ AWESOME: O.GREY_2
32
+ }, A = {
33
+ COMMON: "COMMON",
34
+ RARE: "RARE",
35
+ EPIC: "EPIC",
36
+ LEGENDARY: "LEGENDARY",
37
+ MYTHIC: "MYTHIC",
38
+ MYSTERY: "MYSTERY"
39
+ }, H = {
40
+ ACKNOWLEDGED: "ACKNOWLEDGED",
41
+ ASSIGNED: "ASSIGNED",
42
+ UNASSIGNED: "UNASSIGNED"
43
+ }, h = {
44
+ [A.COMMON]: "#1EB5F0",
45
+ [A.RARE]: "#3DD771",
46
+ [A.EPIC]: "#ED6CEF",
47
+ [A.LEGENDARY]: "#FF7E3B",
48
+ [A.MYTHIC]: "#FFBA07",
49
+ [A.MYSTERY]: O.WHITE
50
+ }, u = {
51
+ [A.COMMON]: R,
52
+ [A.RARE]: c,
53
+ [A.EPIC]: o,
54
+ [A.LEGENDARY]: C,
55
+ [A.MYTHIC]: n,
56
+ [A.MYSTERY]: D
57
+ }, P = {
58
+ [A.COMMON]: T.COMMON,
59
+ [A.RARE]: T.RARE,
60
+ [A.EPIC]: T.EPIC,
61
+ [A.LEGENDARY]: T.LEGENDARY,
62
+ [A.MYTHIC]: T.MYTHIC,
63
+ [A.MYSTERY]: T.MYSTERY
64
+ }, S = {
65
+ black: E.BLACK_BELT,
66
+ blue: E.BLUE_BELT,
67
+ brown: E.BROWN_BELT,
68
+ green: E.GREEN_BELT,
69
+ orange: E.ORANGE_BELT,
70
+ purple: E.PURPLE_BELT,
71
+ red: E.RED_BELT,
72
+ white: E.WHITE_BELT,
73
+ yellow: E.YELLOW_BELT
74
+ }, l = (r) => {
75
+ const e = r == null ? void 0 : r.toLowerCase();
76
+ return e && e in S ? S[e] : E.MASTERED_BADGE;
77
+ }, K = ["TETRA", "COSA", "DODA", "HEXO", "OCTO"], U = ["EKA", "DVI", "CHATVA", "ASHTA", "ZODASA"], F = ["CONGRATS", "COOL", "KUDOS", "GREAT", "WOW", "AWESOME"], f = (r) => {
78
+ switch (r) {
79
+ case "COSA":
80
+ return E.COSA;
81
+ case "OCTO":
82
+ return E.OCTO;
83
+ case "DODA":
84
+ return E.DODA;
85
+ case "HEXO":
86
+ return E.HEXO;
87
+ case "TETRA":
88
+ return E.TETRA;
89
+ case "EKA":
90
+ return E.EKA;
91
+ case "DVI":
92
+ return E.DVI;
93
+ case "CHATVA":
94
+ return E.CHATVA;
95
+ case "ASHTA":
96
+ return E.ASHTA;
97
+ case "ZODASA":
98
+ return E.ZODASA;
99
+ case "CONGRATS":
100
+ return E.CONGRATS;
101
+ case "COOL":
102
+ return E.COOL;
103
+ case "KUDOS":
104
+ return E.KUDOS;
105
+ case "GREAT":
106
+ return E.GREAT;
107
+ case "WOW":
108
+ return E.WOW;
109
+ case "AWESOME":
110
+ return E.AWESOME;
111
+ default:
112
+ return E.TETRA;
113
+ }
114
+ }, g = {
115
+ CONGRATS: {
116
+ height: 50,
117
+ width: 50,
118
+ lottieSrc: t.TROPHY
119
+ },
120
+ COOL: {
121
+ height: 50,
122
+ width: 50,
123
+ lottieSrc: t.COOL
124
+ },
125
+ KUDOS: {
126
+ height: 50,
127
+ width: 50,
128
+ lottieSrc: t.CLAPPING_HANDS
129
+ },
130
+ GREAT: {
131
+ height: 63,
132
+ width: 50,
133
+ lottieSrc: t.LIKE_BUTTON
134
+ },
135
+ WOW: {
136
+ height: 55,
137
+ width: 55,
138
+ lottieSrc: t.STAR_STRIKE_EMOJI
139
+ },
140
+ AWESOME: {
141
+ height: 50,
142
+ width: 50,
143
+ lottieSrc: t.AWESOME
144
+ }
145
+ };
146
+ export {
147
+ h as BADGE_TYPE_BACKGROUND,
148
+ P as BADGE_TYPE_BADGE_ICON,
149
+ u as BADGE_TYPE_TAB_ICON,
150
+ U as INSTRUCTION_REWARDS,
151
+ K as MATH_REWARDS,
152
+ m as SCREEN_SIZES,
153
+ F as STICKERS,
154
+ H as STUDENT_BADGE_STATUS,
155
+ A as STUDENT_BADGE_TYPE,
156
+ g as StickerMap,
157
+ a as elementColors,
158
+ l as getBeltIcon,
159
+ f as getRewardElement
160
+ };
161
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/features/wins-dashboard/constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../assets/illustrations/illustrations';\nimport { IMAGES } from '../../assets/images/images';\nimport WinsCommonIcon from '../../assets/line-icons/icons/wins-common-icon';\nimport WinsEpicIcon from '../../assets/line-icons/icons/wins-epic-icon';\nimport WinsLegendaryIcon from '../../assets/line-icons/icons/wins-legendary-icon';\nimport WinsMysteryIcon from '../../assets/line-icons/icons/wins-mystery-icon';\nimport WinsMythicIcon from '../../assets/line-icons/icons/wins-mythic-icon';\nimport WinsRareIcon from '../../assets/line-icons/icons/wins-rare-icon';\nimport { LOTTIE } from '../../assets/lottie/lottie';\nimport { getTheme } from '../ui/theme/get-theme';\n\nexport const SCREEN_SIZES = {\n TABLET: 864,\n LAPTOP: 1024,\n LAPTOPL: 1280,\n};\n\nexport const DEVICES = {\n TABLET: `(max-width: ${SCREEN_SIZES.TABLET}px)`,\n LAPTOP: `(max-width: ${SCREEN_SIZES.LAPTOP}px)`,\n LAPTOPL: `(max-width: ${SCREEN_SIZES.LAPTOPL}px)`,\n};\n\nconst { colors } = getTheme();\n\nexport const elementColors = {\n ASHTA: '#FF7E3B',\n CHATVA: '#DA5107',\n COSA: '#0A47C2',\n DODA: '#850F85',\n DVI: '#0A47C2',\n EKA: '#3DD771',\n HEXO: '#3DD771',\n OCTO: '#FF7E3B',\n TETRA: '#FFBA07',\n ZODASA: '#1EB5F0',\n CONGRATS: colors.GREY_2,\n COOL: colors.GREY_2,\n KUDOS: colors.GREY_2,\n GREAT: colors.GREY_2,\n WOW: colors.GREY_2,\n AWESOME: colors.GREY_2,\n};\n\nexport const STUDENT_BADGE_TYPE = {\n COMMON: 'COMMON',\n RARE: 'RARE',\n EPIC: 'EPIC',\n LEGENDARY: 'LEGENDARY',\n MYTHIC: 'MYTHIC',\n MYSTERY: 'MYSTERY',\n};\n\nexport const STUDENT_BADGE_STATUS = {\n ACKNOWLEDGED: 'ACKNOWLEDGED',\n ASSIGNED: 'ASSIGNED',\n UNASSIGNED: 'UNASSIGNED',\n};\n\nexport const BADGE_TYPE_BACKGROUND = {\n [STUDENT_BADGE_TYPE.COMMON]: '#1EB5F0',\n [STUDENT_BADGE_TYPE.RARE]: '#3DD771',\n [STUDENT_BADGE_TYPE.EPIC]: '#ED6CEF',\n [STUDENT_BADGE_TYPE.LEGENDARY]: '#FF7E3B',\n [STUDENT_BADGE_TYPE.MYTHIC]: '#FFBA07',\n [STUDENT_BADGE_TYPE.MYSTERY]: colors.WHITE,\n};\n\nexport const BADGE_TYPE_TAB_ICON: Record<\n string,\n React.FC<{ color?: string; selected?: boolean }>\n> = {\n [STUDENT_BADGE_TYPE.COMMON]: WinsCommonIcon,\n [STUDENT_BADGE_TYPE.RARE]: WinsRareIcon,\n [STUDENT_BADGE_TYPE.EPIC]: WinsEpicIcon,\n [STUDENT_BADGE_TYPE.LEGENDARY]: WinsLegendaryIcon,\n [STUDENT_BADGE_TYPE.MYTHIC]: WinsMythicIcon,\n [STUDENT_BADGE_TYPE.MYSTERY]: WinsMysteryIcon,\n};\n\nexport const BADGE_TYPE_BADGE_ICON = {\n [STUDENT_BADGE_TYPE.COMMON]: ILLUSTRATIONS.COMMON,\n [STUDENT_BADGE_TYPE.RARE]: ILLUSTRATIONS.RARE,\n [STUDENT_BADGE_TYPE.EPIC]: ILLUSTRATIONS.EPIC,\n [STUDENT_BADGE_TYPE.LEGENDARY]: ILLUSTRATIONS.LEGENDARY,\n [STUDENT_BADGE_TYPE.MYTHIC]: ILLUSTRATIONS.MYTHIC,\n [STUDENT_BADGE_TYPE.MYSTERY]: ILLUSTRATIONS.MYSTERY,\n};\n\n// Audio URLs for badge sounds (commented out for now until MP3 files are available)\n// export const BADGE_TYPE_BADGE_SOUND = {\n// [STUDENT_BADGE_TYPE.COMMON]: '/static/sounds/common-badge.mp3',\n// [STUDENT_BADGE_TYPE.RARE]: '/static/sounds/rare-badge.mp3',\n// [STUDENT_BADGE_TYPE.EPIC]: '/static/sounds/epic-badge.mp3',\n// [STUDENT_BADGE_TYPE.LEGENDARY]: '/static/sounds/legendary-badge.mp3',\n// [STUDENT_BADGE_TYPE.MYTHIC]: '/static/sounds/mythic-badge.mp3',\n// [STUDENT_BADGE_TYPE.MYSTERY]: '/static/sounds/mystery-badge.mp3',\n// };\n\nconst BELT_COLORS = [\n 'black',\n 'blue',\n 'brown',\n 'green',\n 'orange',\n 'purple',\n 'red',\n 'white',\n 'yellow',\n] as const;\n\ntype BeltColor = (typeof BELT_COLORS)[number];\n\nconst COLOR_TO_BELT_MAP: Record<BeltColor, string> = {\n black: IMAGES.BLACK_BELT,\n blue: IMAGES.BLUE_BELT,\n brown: IMAGES.BROWN_BELT,\n green: IMAGES.GREEN_BELT,\n orange: IMAGES.ORANGE_BELT,\n purple: IMAGES.PURPLE_BELT,\n red: IMAGES.RED_BELT,\n white: IMAGES.WHITE_BELT,\n yellow: IMAGES.YELLOW_BELT,\n};\n\nexport const getBeltIcon = (type: string) => {\n const key = type?.toLowerCase() as BeltColor;\n\n if (key && key in COLOR_TO_BELT_MAP) return COLOR_TO_BELT_MAP[key];\n\n return IMAGES.MASTERED_BADGE;\n};\n\nexport const MATH_REWARDS = ['TETRA', 'COSA', 'DODA', 'HEXO', 'OCTO'];\n\nexport const INSTRUCTION_REWARDS = ['EKA', 'DVI', 'CHATVA', 'ASHTA', 'ZODASA'];\n\nexport const STICKERS = ['CONGRATS', 'COOL', 'KUDOS', 'GREAT', 'WOW', 'AWESOME'];\n\nexport const getRewardElement = (rewardType: string): string => {\n switch (rewardType) {\n case 'COSA':\n return IMAGES.COSA;\n case 'OCTO':\n return IMAGES.OCTO;\n case 'DODA':\n return IMAGES.DODA;\n case 'HEXO':\n return IMAGES.HEXO;\n case 'TETRA':\n return IMAGES.TETRA;\n case 'EKA':\n return IMAGES.EKA;\n case 'DVI':\n return IMAGES.DVI;\n case 'CHATVA':\n return IMAGES.CHATVA;\n case 'ASHTA':\n return IMAGES.ASHTA;\n case 'ZODASA':\n return IMAGES.ZODASA;\n case 'CONGRATS':\n return IMAGES.CONGRATS;\n case 'COOL':\n return IMAGES.COOL;\n case 'KUDOS':\n return IMAGES.KUDOS;\n case 'GREAT':\n return IMAGES.GREAT;\n case 'WOW':\n return IMAGES.WOW;\n case 'AWESOME':\n return IMAGES.AWESOME;\n default:\n return IMAGES.TETRA;\n }\n};\n\nexport const StickerMap = {\n CONGRATS: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.TROPHY,\n },\n COOL: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.COOL,\n },\n KUDOS: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.CLAPPING_HANDS,\n },\n GREAT: {\n height: 63,\n width: 50,\n lottieSrc: LOTTIE.LIKE_BUTTON,\n },\n WOW: {\n height: 55,\n width: 55,\n lottieSrc: LOTTIE.STAR_STRIKE_EMOJI,\n },\n AWESOME: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.AWESOME,\n },\n};\n\nexport const TYPES = {\n SENT_BADGES: 'SENT_BADGES',\n PENDING_BADGES: 'PENDING_BADGES',\n};\n\nexport const ACTION = {\n ACKNOWLEDGE: 'ACKNOWLEDGE',\n};\n"],"names":["SCREEN_SIZES","colors","getTheme","elementColors","STUDENT_BADGE_TYPE","STUDENT_BADGE_STATUS","BADGE_TYPE_BACKGROUND","BADGE_TYPE_TAB_ICON","WinsCommonIcon","WinsRareIcon","WinsEpicIcon","WinsLegendaryIcon","WinsMythicIcon","WinsMysteryIcon","BADGE_TYPE_BADGE_ICON","ILLUSTRATIONS","COLOR_TO_BELT_MAP","IMAGES","getBeltIcon","type","key","MATH_REWARDS","INSTRUCTION_REWARDS","STICKERS","getRewardElement","rewardType","StickerMap","LOTTIE"],"mappings":";;;;;;;;;;AAWO,MAAMA,IAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX,GAQM,EAAE,QAAAC,EAAO,IAAIC,KAENC,IAAgB;AAAA,EAC3B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAUF,EAAO;AAAA,EACjB,MAAMA,EAAO;AAAA,EACb,OAAOA,EAAO;AAAA,EACd,OAAOA,EAAO;AAAA,EACd,KAAKA,EAAO;AAAA,EACZ,SAASA,EAAO;AAClB,GAEaG,IAAqB;AAAA,EAChC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AACX,GAEaC,IAAuB;AAAA,EAClC,cAAc;AAAA,EACd,UAAU;AAAA,EACV,YAAY;AACd,GAEaC,IAAwB;AAAA,EACnC,CAACF,EAAmB,MAAM,GAAG;AAAA,EAC7B,CAACA,EAAmB,IAAI,GAAG;AAAA,EAC3B,CAACA,EAAmB,IAAI,GAAG;AAAA,EAC3B,CAACA,EAAmB,SAAS,GAAG;AAAA,EAChC,CAACA,EAAmB,MAAM,GAAG;AAAA,EAC7B,CAACA,EAAmB,OAAO,GAAGH,EAAO;AACvC,GAEaM,IAGT;AAAA,EACF,CAACH,EAAmB,MAAM,GAAGI;AAAA,EAC7B,CAACJ,EAAmB,IAAI,GAAGK;AAAA,EAC3B,CAACL,EAAmB,IAAI,GAAGM;AAAA,EAC3B,CAACN,EAAmB,SAAS,GAAGO;AAAA,EAChC,CAACP,EAAmB,MAAM,GAAGQ;AAAA,EAC7B,CAACR,EAAmB,OAAO,GAAGS;AAChC,GAEaC,IAAwB;AAAA,EACnC,CAACV,EAAmB,MAAM,GAAGW,EAAc;AAAA,EAC3C,CAACX,EAAmB,IAAI,GAAGW,EAAc;AAAA,EACzC,CAACX,EAAmB,IAAI,GAAGW,EAAc;AAAA,EACzC,CAACX,EAAmB,SAAS,GAAGW,EAAc;AAAA,EAC9C,CAACX,EAAmB,MAAM,GAAGW,EAAc;AAAA,EAC3C,CAACX,EAAmB,OAAO,GAAGW,EAAc;AAC9C,GA0BMC,IAA+C;AAAA,EACnD,OAAOC,EAAO;AAAA,EACd,MAAMA,EAAO;AAAA,EACb,OAAOA,EAAO;AAAA,EACd,OAAOA,EAAO;AAAA,EACd,QAAQA,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,KAAKA,EAAO;AAAA,EACZ,OAAOA,EAAO;AAAA,EACd,QAAQA,EAAO;AACjB,GAEaC,IAAc,CAACC,MAAiB;AACrC,QAAAC,IAAMD,KAAA,gBAAAA,EAAM;AAElB,SAAIC,KAAOA,KAAOJ,IAA0BA,EAAkBI,CAAG,IAE1DH,EAAO;AAChB,GAEaI,IAAe,CAAC,SAAS,QAAQ,QAAQ,QAAQ,MAAM,GAEvDC,IAAsB,CAAC,OAAO,OAAO,UAAU,SAAS,QAAQ,GAEhEC,IAAW,CAAC,YAAY,QAAQ,SAAS,SAAS,OAAO,SAAS,GAElEC,IAAmB,CAACC,MAA+B;AAC9D,UAAQA,GAAY;AAAA,IAClB,KAAK;AACH,aAAOR,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB;AACE,aAAOA,EAAO;AAAA,EAClB;AACF,GAEaS,IAAa;AAAA,EACxB,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAWC,EAAO;AAAA,EACpB;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAWA,EAAO;AAAA,EACpB;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAWA,EAAO;AAAA,EACpB;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAWA,EAAO;AAAA,EACpB;AAAA,EACA,KAAK;AAAA,IACH,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAWA,EAAO;AAAA,EACpB;AAAA,EACA,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAWA,EAAO;AAAA,EACpB;AACF;"}
@@ -0,0 +1,95 @@
1
+ import { jsxs as r, jsx as e, Fragment as k } from "react/jsx-runtime";
2
+ import { memo as u, useCallback as C } from "react";
3
+ import h, { css as y } from "styled-components";
4
+ import H from "../../../assets/line-icons/icons/back2.js";
5
+ import W from "../../../assets/line-icons/icons/cue-coin.js";
6
+ import j from "../../ui/buttons/clickable/clickable.js";
7
+ import v from "../../ui/inputs/select-input/select-input.js";
8
+ import n from "../../ui/layout/flex-view.js";
9
+ import f from "../../ui/separator/separator.js";
10
+ import m from "../../ui/text/text.js";
11
+ const A = h(n)`
12
+ background: ${({ theme: i }) => i.colors.WHITE};
13
+ border-bottom: 1px solid ${({ theme: i }) => i.colors.GREY_2};
14
+ height: 64px;
15
+ left: ${({ widthOffset: i }) => i}px;
16
+ padding-left: 32px;
17
+ padding-right: 20px;
18
+ position: fixed;
19
+ right: 0;
20
+ top: ${({ topOffset: i }) => i}px;
21
+ width: calc(100% - ${({ widthOffset: i }) => i}px);
22
+ ${({ showLeftBorder: i }) => i && y`
23
+ position: sticky;
24
+ left: 0;
25
+ top: 0;
26
+ width: 100%;
27
+ border-left: 1px solid ${({ theme: t }) => t.colors.GREY_2};
28
+ `}
29
+ z-index: ${({
30
+ theme: {
31
+ zIndex: { WINS_HEADER: i }
32
+ }
33
+ }) => i};
34
+ `, D = h(n)`
35
+ flex: 1;
36
+ `, p = ({ variant: i, coin: t }) => /* @__PURE__ */ r(k, { children: [
37
+ /* @__PURE__ */ e(W, { variant: i, width: 32, height: 32 }),
38
+ /* @__PURE__ */ e(f, { width: 8 }),
39
+ /* @__PURE__ */ e(m, { $renderAs: "h5", children: t })
40
+ ] }), E = ({
41
+ currentSelectedProgram: i,
42
+ goldCoins: t = 0,
43
+ onBackClick: x,
44
+ onProgramChange: l,
45
+ programOptions: d = [],
46
+ silverCoins: c = 0,
47
+ showLeftBorder: $ = !1,
48
+ topOffset: w = 0,
49
+ widthOffset: b = 0
50
+ }) => {
51
+ const g = C(
52
+ (o) => {
53
+ const a = d.find((I) => I.id === o);
54
+ l && a && l(a);
55
+ },
56
+ [l, d]
57
+ ), s = d.map((o) => ({
58
+ id: o.id,
59
+ label: o.name
60
+ // Use 'name' from API data for display
61
+ }));
62
+ return /* @__PURE__ */ r(
63
+ A,
64
+ {
65
+ $flexDirection: "row",
66
+ topOffset: w,
67
+ widthOffset: b,
68
+ showLeftBorder: $,
69
+ children: [
70
+ /* @__PURE__ */ r(n, { $flexDirection: "row", $alignItems: "center", $flexGapX: 0.5, children: [
71
+ /* @__PURE__ */ e(j, { label: "Back", onClick: x, children: /* @__PURE__ */ e(H, { width: 24, height: 24 }) }),
72
+ /* @__PURE__ */ e(m, { $renderAs: "h6", children: "Wins" })
73
+ ] }),
74
+ /* @__PURE__ */ e(D, { $justifyContent: "center", $alignItems: "center", children: s.length > 1 && /* @__PURE__ */ e(
75
+ v,
76
+ {
77
+ options: s,
78
+ value: (i == null ? void 0 : i.id) || "",
79
+ onChange: g,
80
+ renderAs: "primary"
81
+ }
82
+ ) }),
83
+ /* @__PURE__ */ r(n, { $flexDirection: "row", $alignItems: "center", children: [
84
+ t > 0 && /* @__PURE__ */ e(p, { variant: "gold", coin: t }),
85
+ /* @__PURE__ */ e(f, { width: 8 }),
86
+ c > 0 && /* @__PURE__ */ e(p, { variant: "silver", coin: c })
87
+ ] })
88
+ ]
89
+ }
90
+ );
91
+ }, q = u(E);
92
+ export {
93
+ q as default
94
+ };
95
+ //# sourceMappingURL=wins-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wins-header.js","sources":["../../../../src/features/wins-dashboard/header/wins-header.tsx"],"sourcesContent":["import React, { memo, useCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Back2Icon from '../../../assets/line-icons/icons/back2';\nimport CueCoinIcon from '../../../assets/line-icons/icons/cue-coin';\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport SelectInput from '../../ui/inputs/select-input/select-input';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\n\ninterface HeaderProps {\n topOffset: number;\n widthOffset: number;\n showLeftBorder: boolean;\n}\n\nconst Header = styled(FlexView)<HeaderProps>`\n background: ${({ theme }) => theme.colors.WHITE};\n border-bottom: 1px solid ${({ theme }) => theme.colors.GREY_2};\n height: 64px;\n left: ${({ widthOffset }) => widthOffset}px;\n padding-left: 32px;\n padding-right: 20px;\n position: fixed;\n right: 0;\n top: ${({ topOffset }) => topOffset}px;\n width: calc(100% - ${({ widthOffset }) => widthOffset}px);\n ${({ showLeftBorder }) =>\n showLeftBorder &&\n css`\n position: sticky;\n left: 0;\n top: 0;\n width: 100%;\n border-left: 1px solid ${({ theme }) => theme.colors.GREY_2};\n `}\n z-index: ${({\n theme: {\n zIndex: { WINS_HEADER },\n },\n }) => WINS_HEADER};\n`;\n\nconst ProgramSwitcherWrapper = styled(FlexView)`\n flex: 1;\n`;\n\ninterface CoinViewProps {\n variant: 'gold' | 'silver';\n coin: number;\n}\n\nconst CoinView: React.FC<CoinViewProps> = ({ variant, coin }) => {\n return (\n <>\n <CueCoinIcon variant={variant} width={32} height={32} />\n <Separator width={8} />\n <Text $renderAs=\"h5\">{coin}</Text>\n </>\n );\n};\n\ninterface IProgramOption {\n badges_enabled: boolean;\n board: string;\n board_id: string;\n code: string;\n cue_program_type: string;\n description: string;\n grade: string;\n grades: string[];\n id: string;\n is_active: boolean;\n is_current: boolean;\n is_current_stream_program: boolean;\n is_demo: boolean;\n is_live: boolean;\n name: string;\n program_type: string;\n rewards_enabled: boolean;\n stream: string;\n sub_stream: string | null;\n [key: string]: unknown;\n}\n\ninterface WinsTabHeaderProps {\n currentSelectedProgram?: IProgramOption;\n goldCoins?: number;\n onBackClick?: () => void;\n onProgramChange?: (p: IProgramOption) => void;\n programOptions?: IProgramOption[];\n silverCoins?: number;\n showLeftBorder?: boolean;\n topOffset?: number;\n widthOffset?: number;\n}\n\nconst WinsTabHeader: React.FC<WinsTabHeaderProps> = ({\n currentSelectedProgram,\n goldCoins = 0,\n onBackClick,\n onProgramChange,\n programOptions = [],\n silverCoins = 0,\n showLeftBorder = false,\n topOffset = 0,\n widthOffset = 0,\n}) => {\n const handleProgramChange = useCallback(\n (selectedId: string) => {\n // Find the original program option from programOptions\n const originalOption = programOptions.find(op => op.id === selectedId);\n\n if (onProgramChange && originalOption) {\n onProgramChange(originalOption);\n }\n },\n [onProgramChange, programOptions],\n );\n\n // Transform program options to SelectInput format\n const selectOptions = programOptions.map(option => ({\n id: option.id,\n label: option.name, // Use 'name' from API data for display\n }));\n\n return (\n <Header\n $flexDirection=\"row\"\n topOffset={topOffset}\n widthOffset={widthOffset}\n showLeftBorder={showLeftBorder}\n >\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={0.5}>\n <Clickable label=\"Back\" onClick={onBackClick}>\n <Back2Icon width={24} height={24} />\n </Clickable>\n <Text $renderAs=\"h6\">Wins</Text>\n </FlexView>\n <ProgramSwitcherWrapper $justifyContent=\"center\" $alignItems=\"center\">\n {selectOptions.length > 1 && (\n <SelectInput\n options={selectOptions}\n value={currentSelectedProgram?.id || ''}\n onChange={handleProgramChange}\n renderAs=\"primary\"\n />\n )}\n </ProgramSwitcherWrapper>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n {goldCoins > 0 && <CoinView variant=\"gold\" coin={goldCoins} />}\n <Separator width={8} />\n {silverCoins > 0 && <CoinView variant=\"silver\" coin={silverCoins} />}\n </FlexView>\n </Header>\n );\n};\n\nexport default memo(WinsTabHeader);\n"],"names":["Header","styled","FlexView","theme","widthOffset","topOffset","showLeftBorder","css","WINS_HEADER","ProgramSwitcherWrapper","CoinView","variant","coin","jsxs","Fragment","jsx","CueCoinIcon","Separator","Text","WinsTabHeader","currentSelectedProgram","goldCoins","onBackClick","onProgramChange","programOptions","silverCoins","handleProgramChange","useCallback","selectedId","originalOption","op","selectOptions","option","Clickable","Back2Icon","SelectInput","winsHeader","memo"],"mappings":"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"}