@cuemath/leap 3.2.15-as2 → 3.2.15-link.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/assets/illustrations/illustrations.js +6 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/after-noon.js +34 -0
  4. package/dist/assets/line-icons/icons/after-noon.js.map +1 -0
  5. package/dist/assets/line-icons/icons/apple-icon-white.js +42 -0
  6. package/dist/assets/line-icons/icons/apple-icon-white.js.map +1 -0
  7. package/dist/assets/line-icons/icons/evening.js +35 -0
  8. package/dist/assets/line-icons/icons/evening.js.map +1 -0
  9. package/dist/assets/line-icons/icons/morning.js +35 -0
  10. package/dist/assets/line-icons/icons/morning.js.map +1 -0
  11. package/dist/assets/line-icons/icons/star3.js +32 -0
  12. package/dist/assets/line-icons/icons/star3.js.map +1 -0
  13. package/dist/assets/lottie/lottie.js +11 -1
  14. package/dist/assets/lottie/lottie.js.map +1 -1
  15. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +9 -0
  16. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +1 -0
  17. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +65 -0
  18. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -0
  19. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +92 -0
  20. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -0
  21. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +18 -13
  22. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  23. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +12 -0
  24. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +1 -0
  25. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +34 -0
  26. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -0
  27. package/dist/features/auth/comps/otp-input/otp-input-styled.js +22 -0
  28. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +1 -0
  29. package/dist/features/auth/comps/otp-input/otp-input.js +51 -0
  30. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -0
  31. package/dist/features/auth/comps/pill-button/pill-button-styled.js +44 -0
  32. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -0
  33. package/dist/features/auth/comps/pill-button/pill-button.js +75 -0
  34. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -0
  35. package/dist/features/auth/comps/resend-otp/resend-otp.js +54 -47
  36. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  37. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +17 -0
  38. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +1 -0
  39. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +67 -0
  40. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +1 -0
  41. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +29 -17
  42. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  43. package/dist/features/auth/comps/tabs/tabs-styled.js +22 -10
  44. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  45. package/dist/features/auth/comps/tabs/tabs.js +5 -5
  46. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  47. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js +19 -0
  48. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js.map +1 -0
  49. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js +32 -0
  50. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js.map +1 -0
  51. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js +44 -0
  52. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js.map +1 -0
  53. package/dist/features/auth/signup-v2/signup-header/signup-header.js +54 -0
  54. package/dist/features/auth/signup-v2/signup-header/signup-header.js.map +1 -0
  55. package/dist/features/auth/signup-v2/signup-options/signup-options.js +83 -0
  56. package/dist/features/auth/signup-v2/signup-options/signup-options.js.map +1 -0
  57. package/dist/features/chapters-v2/utils/node-card-utils.js +7 -7
  58. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  59. package/dist/features/journey/comps/coachmark/coachmark.js +28 -29
  60. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  61. package/dist/features/journey/journey-id/journey-id-student.js +2 -2
  62. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  63. package/dist/features/journey/use-journey/journey-context-provider.js +72 -73
  64. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  65. package/dist/features/journey/use-journey/journey-styled.js +4 -6
  66. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  67. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js +7 -50
  68. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js.map +1 -1
  69. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +15 -69
  70. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  71. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +49 -0
  72. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -0
  73. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +64 -0
  74. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -0
  75. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js +28 -0
  76. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js.map +1 -0
  77. package/dist/features/ui/accordion/accordion-items/accordion-items.js +83 -0
  78. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -0
  79. package/dist/features/ui/accordion/accordion.js +62 -0
  80. package/dist/features/ui/accordion/accordion.js.map +1 -0
  81. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +60 -12
  82. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  83. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +77 -72
  84. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  85. package/dist/features/ui/image/image.js +1 -1
  86. package/dist/features/ui/image/image.js.map +1 -1
  87. package/dist/features/ui/inputs/base-input/base-input.js +11 -11
  88. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  89. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  90. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  91. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +5 -5
  92. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  93. package/dist/features/ui/inputs/text-input/text-input.js +19 -18
  94. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  95. package/dist/features/ui/modals/modal-styled.js +43 -8
  96. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  97. package/dist/features/ui/modals/modal.js +37 -27
  98. package/dist/features/ui/modals/modal.js.map +1 -1
  99. package/dist/features/ui/nudge/nudge-styled.js +7 -14
  100. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  101. package/dist/features/ui/nudge/nudge.js +12 -13
  102. package/dist/features/ui/nudge/nudge.js.map +1 -1
  103. package/dist/features/ui/text/text.js +31 -29
  104. package/dist/features/ui/text/text.js.map +1 -1
  105. package/dist/features/ui/theme/button.js +78 -78
  106. package/dist/features/ui/theme/button.js.map +1 -1
  107. package/dist/features/worksheet/worksheet/worksheet-helpers.js +31 -32
  108. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  109. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +24 -24
  110. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  111. package/dist/index.d.ts +151 -48
  112. package/dist/index.js +522 -498
  113. package/dist/index.js.map +1 -1
  114. package/dist/static/animated-avatar.1ad58b1d.json +1 -0
  115. package/dist/static/animated-avatar.69b07505.json +1 -0
  116. package/dist/static/animated-avatar.9c560b46.json +1 -0
  117. package/dist/static/calendar-purple.1a840b41.svg +1 -0
  118. package/dist/static/flying-disk.c7f6ed39.json +1 -0
  119. package/dist/static/graduation-cap.3be3340a.json +1 -0
  120. package/dist/static/handshake.287e7dfb.svg +1 -0
  121. package/dist/static/light-bulb.c6db0b23.json +1 -0
  122. package/dist/static/money.332aacf1.svg +1 -0
  123. package/dist/static/muscle.9bcfb8a7.json +1 -0
  124. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  125. package/dist/static/parent-avatar.822c7b9b.svg +1 -0
  126. package/dist/static/pencil.23df9da0.json +1 -0
  127. package/dist/static/plus-sign.de6af957.json +1 -0
  128. package/dist/static/racing-car.2cbf864e.json +1 -0
  129. package/dist/static/rocket.0a3ccab0.json +1 -0
  130. package/dist/static/shovel.abeec04c.json +1 -0
  131. package/dist/static/stripe-blurple.6abf422f.svg +1 -0
  132. package/dist/static/trustpilot.bd3d79e1.svg +1 -0
  133. package/package.json +2 -3
  134. package/dist/assets/line-icons/icons/hint-fill.js +0 -35
  135. package/dist/assets/line-icons/icons/hint-fill.js.map +0 -1
  136. package/dist/features/puzzles/app/puzzle-app-styled.js +0 -81
  137. package/dist/features/puzzles/app/puzzle-app-styled.js.map +0 -1
  138. package/dist/features/puzzles/app/puzzle-app-view.js +0 -120
  139. package/dist/features/puzzles/app/puzzle-app-view.js.map +0 -1
  140. package/dist/features/puzzles/app/puzzle-app.js +0 -82
  141. package/dist/features/puzzles/app/puzzle-app.js.map +0 -1
  142. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js +0 -6
  143. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js.map +0 -1
  144. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js +0 -63
  145. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +0 -1
  146. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js +0 -21
  147. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +0 -1
  148. package/dist/features/ui/carousal/carousal-styles.js +0 -45
  149. package/dist/features/ui/carousal/carousal-styles.js.map +0 -1
  150. package/dist/features/ui/carousal/carousal.js +0 -76
  151. package/dist/features/ui/carousal/carousal.js.map +0 -1
  152. package/dist/features/worksheet/worksheet/mocks/activity.js +0 -6
  153. package/dist/features/worksheet/worksheet/mocks/activity.js.map +0 -1
  154. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js +0 -38
  155. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js.map +0 -1
  156. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js +0 -38
  157. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js.map +0 -1
  158. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js +0 -38
  159. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js.map +0 -1
  160. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js +0 -38
  161. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js.map +0 -1
  162. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js +0 -38
  163. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js.map +0 -1
  164. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js +0 -95
  165. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js.map +0 -1
  166. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js +0 -38
  167. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js.map +0 -1
  168. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js +0 -38
  169. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js.map +0 -1
  170. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js +0 -38
  171. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js.map +0 -1
  172. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js +0 -38
  173. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js.map +0 -1
  174. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js +0 -38
  175. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js.map +0 -1
  176. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js +0 -41
  177. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js.map +0 -1
  178. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js +0 -38
  179. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js.map +0 -1
  180. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js +0 -39
  181. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js.map +0 -1
  182. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js +0 -39
  183. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js.map +0 -1
  184. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js +0 -39
  185. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js.map +0 -1
  186. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js +0 -39
  187. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js.map +0 -1
  188. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js +0 -39
  189. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js.map +0 -1
  190. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js +0 -39
  191. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js.map +0 -1
  192. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js +0 -38
  193. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js.map +0 -1
  194. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js +0 -38
  195. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js.map +0 -1
  196. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js +0 -38
  197. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js.map +0 -1
  198. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js +0 -38
  199. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js.map +0 -1
  200. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js +0 -39
  201. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js.map +0 -1
  202. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js +0 -38
  203. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js.map +0 -1
  204. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js +0 -38
  205. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js.map +0 -1
  206. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js +0 -38
  207. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js.map +0 -1
  208. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js +0 -38
  209. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js.map +0 -1
  210. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js +0 -38
  211. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js.map +0 -1
  212. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +0 -5
  213. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +0 -1
  214. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +0 -57
  215. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +0 -1
  216. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +0 -231
  217. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +0 -1
  218. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +0 -174
  219. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +0 -1
  220. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +0 -255
  221. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +0 -1
  222. package/dist/static/nudge-tap.0591aef4.json +0 -1
  223. package/dist/types/models/worksheet.js +0 -5
  224. package/dist/types/models/worksheet.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectable-info-card-styled.js","sources":["../../../../../src/features/auth/comps/selectable-info-card/selectable-info-card-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)<{ selected: boolean }>`\n ${({ selected, theme }) => {\n return `\n cursor: pointer;\n transition: all 0.3s ease;\n border-width: 2px;\n\n &:hover {\n background-color: ${!selected ? theme.colors.BLACK_5 : undefined};\n }\n `;\n }}\n`;\n"],"names":["Wrapper","styled","FlexView","selected","theme"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA,IAClC,CAAC,EAAE,UAAAC,GAAU,OAAAC,QACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAMkBD,IAAkC,SAAvBC,EAAM,OAAO,OAAmB;AAAA;AAAA,GAGrE;AAAA;"}
@@ -0,0 +1,67 @@
1
+ import { jsxs as s, jsx as n } from "react/jsx-runtime";
2
+ import { memo as d, useRef as C, useCallback as t, useMemo as b } from "react";
3
+ import g from "../../../ui/layout/flex-view.js";
4
+ import x from "../../../ui/lottie-animation/lottie-animation.js";
5
+ import m from "../../../ui/text/text.js";
6
+ import { Wrapper as I } from "./selectable-info-card-styled.js";
7
+ const T = ({
8
+ id: a,
9
+ title: u,
10
+ description: c,
11
+ icon: i,
12
+ selected: r,
13
+ onClick: l
14
+ }) => {
15
+ const e = C(null), f = t(() => {
16
+ l(a);
17
+ }, [a, l]), p = t(() => {
18
+ var o;
19
+ (o = e.current) == null || o.play();
20
+ }, []), $ = t(() => {
21
+ var o;
22
+ r || (o = e.current) == null || o.stop();
23
+ }, [r]), h = b(
24
+ () => ({
25
+ autoplay: r,
26
+ loop: !0,
27
+ renderer: "canvas"
28
+ }),
29
+ [r]
30
+ );
31
+ return /* @__PURE__ */ s(
32
+ I,
33
+ {
34
+ $gutterX: 1,
35
+ $gapX: 1,
36
+ $borderColor: "WHITE",
37
+ $flexDirection: "row",
38
+ $background: r ? "WHITE_1" : "BLACK_1",
39
+ onMouseEnter: p,
40
+ onMouseLeave: $,
41
+ onClick: f,
42
+ $flexColumnGapX: 0.5,
43
+ selected: r,
44
+ $alignItems: "center",
45
+ children: [
46
+ i && /* @__PURE__ */ n(
47
+ x,
48
+ {
49
+ src: i,
50
+ ref: e,
51
+ settings: h,
52
+ width: 40,
53
+ height: 40
54
+ }
55
+ ),
56
+ /* @__PURE__ */ s(g, { children: [
57
+ /* @__PURE__ */ n(m, { $renderAs: "ab3", $color: r ? "BLACK_1" : "WHITE", children: u }),
58
+ /* @__PURE__ */ n(m, { $renderAs: "ub3", $color: r ? "BLACK_T_60" : "WHITE_T_60", children: c })
59
+ ] })
60
+ ]
61
+ }
62
+ );
63
+ }, H = d(T);
64
+ export {
65
+ H as default
66
+ };
67
+ //# sourceMappingURL=selectable-info-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectable-info-card.js","sources":["../../../../../src/features/auth/comps/selectable-info-card/selectable-info-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport type { ISelectableInfoCardProps } from './selectable-info-card-types';\n\nimport { useCallback, useMemo, useRef, memo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../ui/text/text';\nimport * as Styled from './selectable-info-card-styled';\n\nconst SelectableInfoCard = ({\n id,\n title,\n description,\n icon,\n selected,\n onClick,\n}: ISelectableInfoCardProps) => {\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const handleClick = useCallback(() => {\n onClick(id);\n }, [id, onClick]);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n if (selected) return;\n animationRef.current?.stop();\n }, [selected]);\n\n const renderSettings = useMemo(\n () => ({\n autoplay: selected,\n loop: true,\n renderer: 'canvas',\n }),\n [selected],\n );\n\n return (\n <Styled.Wrapper\n $gutterX={1}\n $gapX={1}\n $borderColor=\"WHITE\"\n $flexDirection=\"row\"\n $background={selected ? 'WHITE_1' : 'BLACK_1'}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n onClick={handleClick}\n $flexColumnGapX={0.5}\n selected={selected}\n $alignItems=\"center\"\n >\n {icon && (\n <LottieAnimation\n src={icon}\n ref={animationRef}\n settings={renderSettings}\n width={40}\n height={40}\n />\n )}\n\n <FlexView>\n <Text $renderAs=\"ab3\" $color={selected ? 'BLACK_1' : 'WHITE'}>\n {title}\n </Text>\n <Text $renderAs=\"ub3\" $color={selected ? 'BLACK_T_60' : 'WHITE_T_60'}>\n {description}\n </Text>\n </FlexView>\n </Styled.Wrapper>\n );\n};\n\nexport default memo(SelectableInfoCard);\n"],"names":["SelectableInfoCard","id","title","description","icon","selected","onClick","animationRef","useRef","handleClick","useCallback","handleOnMouseEnter","_a","handleOnMouseLeave","renderSettings","useMemo","jsxs","Styled.Wrapper","jsx","LottieAnimation","FlexView","Text","selectableInfoCard","memo"],"mappings":";;;;;;AAUA,MAAMA,IAAqB,CAAC;AAAA,EAC1B,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,MAAgC;AACxB,QAAAC,IAAeC,EAAmC,IAAI,GAEtDC,IAAcC,EAAY,MAAM;AACpC,IAAAJ,EAAQL,CAAE;AAAA,EAAA,GACT,CAACA,GAAIK,CAAO,CAAC,GAEVK,IAAqBD,EAAY,MAAM;;AAC3C,KAAAE,IAAAL,EAAa,YAAb,QAAAK,EAAsB;AAAA,EACxB,GAAG,CAAE,CAAA,GAECC,IAAqBH,EAAY,MAAM;;AAC3C,IAAIL,MACJO,IAAAL,EAAa,YAAb,QAAAK,EAAsB;AAAA,EAAK,GAC1B,CAACP,CAAQ,CAAC,GAEPS,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,UAAUV;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,CAACA,CAAQ;AAAA,EAAA;AAIT,SAAA,gBAAAW;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,OAAO;AAAA,MACP,cAAa;AAAA,MACb,gBAAe;AAAA,MACf,aAAaZ,IAAW,YAAY;AAAA,MACpC,cAAcM;AAAA,MACd,cAAcE;AAAA,MACd,SAASJ;AAAA,MACT,iBAAiB;AAAA,MACjB,UAAAJ;AAAA,MACA,aAAY;AAAA,MAEX,UAAA;AAAA,QACCD,KAAA,gBAAAc;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKf;AAAA,YACL,KAAKG;AAAA,YACL,UAAUO;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,UAAA;AAAA,QACV;AAAA,0BAGDM,GACC,EAAA,UAAA;AAAA,UAAA,gBAAAF,EAACG,KAAK,WAAU,OAAM,QAAQhB,IAAW,YAAY,SAClD,UACHH,EAAA,CAAA;AAAA,UACA,gBAAAgB,EAACG,KAAK,WAAU,OAAM,QAAQhB,IAAW,eAAe,cACrD,UACHF,EAAA,CAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEemB,IAAAC,EAAKvB,CAAkB;"}
@@ -1,23 +1,35 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { memo as m, useCallback as c } from "react";
3
- import { TabsText as i } from "../tabs-styled.js";
4
- const n = ({ tab: e, isSelected: o, onChange: r }) => {
5
- const l = c(() => {
6
- r(e.id);
7
- }, [e.id, r]);
8
- return /* @__PURE__ */ t(
9
- i,
1
+ import { jsxs as l, jsx as n } from "react/jsx-runtime";
2
+ import { memo as s, useCallback as m } from "react";
3
+ import $ from "../../../../ui/text/text.js";
4
+ import { TabWrapper as d, Icon as a } from "../tabs-styled.js";
5
+ const f = ({ tab: o, isSelected: e, onChange: r }) => {
6
+ const { Icon: t, iconPosition: i = "left" } = o, c = m(() => {
7
+ r(o.id);
8
+ }, [o.id, r]);
9
+ return /* @__PURE__ */ l(
10
+ d,
10
11
  {
11
- $renderAs: o ? "ub2-bold" : "ub2",
12
- $align: "center",
13
- $selected: o,
14
- onClick: l,
15
- $color: "WHITE",
16
- children: e.label
12
+ $selected: e,
13
+ $flexDirection: "row",
14
+ $alignItems: "center",
15
+ $justifyContent: "center",
16
+ children: [
17
+ t ? /* @__PURE__ */ n(a, { $selected: e, $iconPosition: i, children: /* @__PURE__ */ n(t, {}) }) : void 0,
18
+ /* @__PURE__ */ n(
19
+ $,
20
+ {
21
+ $renderAs: e ? "ub2-bold" : "ub2",
22
+ $align: "center",
23
+ onClick: c,
24
+ $color: "WHITE",
25
+ children: o.label
26
+ }
27
+ )
28
+ ]
17
29
  }
18
30
  );
19
- }, b = m(n);
31
+ }, x = s(f);
20
32
  export {
21
- b as default
33
+ x as default
22
34
  };
23
35
  //# sourceMappingURL=tab-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-item.js","sources":["../../../../../../src/features/auth/comps/tabs/tab-tem/tab-item.tsx"],"sourcesContent":["import type { ITabItemProps } from '../tabs-types';\n\nimport { memo, useCallback } from 'react';\n\nimport * as Styled from '../tabs-styled';\n\nconst TabItem = ({ tab, isSelected, onChange }: ITabItemProps) => {\n const handleClick = useCallback(() => {\n onChange(tab.id);\n }, [tab.id, onChange]);\n\n return (\n <Styled.TabsText\n $renderAs={isSelected ? 'ub2-bold' : 'ub2'}\n $align=\"center\"\n $selected={isSelected}\n onClick={handleClick}\n $color=\"WHITE\"\n >\n {tab.label}\n </Styled.TabsText>\n );\n};\n\nexport default memo(TabItem);\n"],"names":["TabItem","tab","isSelected","onChange","handleClick","useCallback","jsx","Styled.TabsText","TabItem$1","memo"],"mappings":";;;AAMA,MAAMA,IAAU,CAAC,EAAE,KAAAC,GAAK,YAAAC,GAAY,UAAAC,QAA8B;AAC1D,QAAAC,IAAcC,EAAY,MAAM;AACpC,IAAAF,EAASF,EAAI,EAAE;AAAA,EACd,GAAA,CAACA,EAAI,IAAIE,CAAQ,CAAC;AAGnB,SAAA,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWL,IAAa,aAAa;AAAA,MACrC,QAAO;AAAA,MACP,WAAWA;AAAA,MACX,SAASE;AAAA,MACT,QAAO;AAAA,MAEN,UAAIH,EAAA;AAAA,IAAA;AAAA,EAAA;AAGX,GAEeO,IAAAC,EAAKT,CAAO;"}
1
+ {"version":3,"file":"tab-item.js","sources":["../../../../../../src/features/auth/comps/tabs/tab-tem/tab-item.tsx"],"sourcesContent":["import type { ITabItemProps } from '../tabs-types';\n\nimport { memo, useCallback } from 'react';\n\nimport Text from '../../../../ui/text/text';\nimport * as Styled from '../tabs-styled';\n\nconst TabItem = ({ tab, isSelected, onChange }: ITabItemProps) => {\n const { Icon, iconPosition = 'left' } = tab;\n\n const handleClick = useCallback(() => {\n onChange(tab.id);\n }, [tab.id, onChange]);\n\n return (\n <Styled.TabWrapper\n $selected={isSelected}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {Icon ? (\n <Styled.Icon $selected={isSelected} $iconPosition={iconPosition}>\n <Icon />\n </Styled.Icon>\n ) : undefined}\n <Text\n $renderAs={isSelected ? 'ub2-bold' : 'ub2'}\n $align=\"center\"\n onClick={handleClick}\n $color=\"WHITE\"\n >\n {tab.label}\n </Text>\n </Styled.TabWrapper>\n );\n};\n\nexport default memo(TabItem);\n"],"names":["TabItem","tab","isSelected","onChange","Icon","iconPosition","handleClick","useCallback","jsxs","Styled.TabWrapper","jsx","Styled.Icon","Text","TabItem$1","memo"],"mappings":";;;;AAOA,MAAMA,IAAU,CAAC,EAAE,KAAAC,GAAK,YAAAC,GAAY,UAAAC,QAA8B;AAChE,QAAM,EAAEC,MAAAA,GAAM,cAAAC,IAAe,OAAA,IAAWJ,GAElCK,IAAcC,EAAY,MAAM;AACpC,IAAAJ,EAASF,EAAI,EAAE;AAAA,EACd,GAAA,CAACA,EAAI,IAAIE,CAAQ,CAAC;AAGnB,SAAA,gBAAAK;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWP;AAAA,MACX,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEf,UAAA;AAAA,QACCE,IAAA,gBAAAM,EAACC,GAAA,EAAY,WAAWT,GAAY,eAAeG,GACjD,UAAA,gBAAAK,EAACN,GAAK,CAAA,CAAA,EACR,CAAA,IACE;AAAA,QACJ,gBAAAM;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,WAAWV,IAAa,aAAa;AAAA,YACrC,QAAO;AAAA,YACP,SAASI;AAAA,YACT,QAAO;AAAA,YAEN,UAAIL,EAAA;AAAA,UAAA;AAAA,QACP;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeY,IAAAC,EAAKd,CAAO;"}
@@ -1,23 +1,35 @@
1
1
  import s from "styled-components";
2
- import p from "../../../ui/text/text.js";
3
- const d = s.div(({ theme: r, $tabsCount: o }) => {
4
- const { colors: t } = r;
2
+ import i from "../../../ui/layout/flex-view.js";
3
+ const d = s.div(({ theme: o, $tabsCount: r, $background: t }) => {
4
+ const { colors: e } = o;
5
5
  return `
6
6
  display: grid;
7
- background: ${t.BLACK_4};
8
- grid-template-columns: repeat(${o}, 1fr);
7
+ background: ${e[t]};
8
+ grid-template-columns: repeat(${r}, 1fr);
9
9
  `;
10
- }), l = s(p)(({ theme: r, $selected: o }) => {
11
- const { layout: t, colors: e } = r, { WHITE_T_15: n, WHITE: a } = e;
10
+ }), c = s(i)(({ theme: o, $selected: r }) => {
11
+ const { layout: t, colors: e } = o, { WHITE_T_15: n, WHITE: p } = e;
12
12
  return `
13
13
  cursor: pointer;
14
14
  padding: ${t.gutter * 0.875}px 0;
15
- border-bottom: 1.5px solid ${o ? a : n};
15
+ border-bottom: 1.5px solid ${r ? p : n};
16
16
  transition: all 0.3s ease;
17
17
  `;
18
- });
18
+ }), g = s.div(({ theme: o, $iconPosition: r, $selected: t }) => `
19
+ ${r === "left" ? "padding-right" : "padding-left"}: 4px;
20
+ order: ${r === "left" ? -1 : 1};
21
+
22
+ & svg {
23
+ display: ${t ? "block" : "none"};
24
+ width: 16px;
25
+ height: 16px;
26
+ color: ${o.colors.WHITE_1};
27
+ transition: color 0.2s ease-in-out;
28
+ }
29
+ `);
19
30
  export {
20
- l as TabsText,
31
+ g as Icon,
32
+ c as TabWrapper,
21
33
  d as TabsWrapper
22
34
  };
23
35
  //# sourceMappingURL=tabs-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport Text from '../../../ui/text/text';\n\ninterface TabsWrapperProps {\n $tabsCount: number;\n}\n\nconst TabsWrapper = styled.div<TabsWrapperProps>(({ theme, $tabsCount }) => {\n const { colors } = theme;\n\n return `\n display: grid;\n background: ${colors.BLACK_4};\n grid-template-columns: repeat(${$tabsCount}, 1fr);\n `;\n});\n\ninterface ITabsText {\n $selected?: boolean;\n}\n\nconst TabsText = styled(Text)<ITabsText>(({ theme, $selected }) => {\n const { layout, colors } = theme;\n const { WHITE_T_15, WHITE } = colors;\n\n return `\n cursor: pointer;\n padding: ${layout.gutter * 0.875}px 0;\n border-bottom: 1.5px solid ${$selected ? WHITE : WHITE_T_15};\n transition: all 0.3s ease;\n `;\n});\n\nexport { TabsWrapper, TabsText };\n"],"names":["TabsWrapper","styled","theme","$tabsCount","colors","TabsText","Text","$selected","layout","WHITE_T_15","WHITE"],"mappings":";;AAQA,MAAMA,IAAcC,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,YAAAC,QAAiB;AACpE,QAAA,EAAE,QAAAC,EAAW,IAAAF;AAEZ,SAAA;AAAA;AAAA,kBAESE,EAAO,OAAO;AAAA,oCACID,CAAU;AAAA;AAE9C,CAAC,GAMKE,IAAWJ,EAAOK,CAAI,EAAa,CAAC,EAAE,OAAAJ,GAAO,WAAAK,QAAgB;AAC3D,QAAA,EAAE,QAAAC,GAAQ,QAAAJ,EAAW,IAAAF,GACrB,EAAE,YAAAO,GAAY,OAAAC,EAAU,IAAAN;AAEvB,SAAA;AAAA;AAAA,eAEMI,EAAO,SAAS,KAAK;AAAA,iCACHD,IAAYG,IAAQD,CAAU;AAAA;AAAA;AAG/D,CAAC;"}
1
+ {"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\nimport type { ITabItem } from './tabs-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\ninterface TabsWrapperProps {\n $tabsCount: number;\n $background: TColorNames;\n}\n\nconst TabsWrapper = styled.div<TabsWrapperProps>(({ theme, $tabsCount, $background }) => {\n const { colors } = theme;\n\n return `\n display: grid;\n background: ${colors[$background]};\n grid-template-columns: repeat(${$tabsCount}, 1fr);\n `;\n});\n\ninterface ITabsText {\n $selected?: boolean;\n}\n\nconst TabWrapper = styled(FlexView)<ITabsText>(({ theme, $selected }) => {\n const { layout, colors } = theme;\n const { WHITE_T_15, WHITE } = colors;\n\n return `\n cursor: pointer;\n padding: ${layout.gutter * 0.875}px 0;\n border-bottom: 1.5px solid ${$selected ? WHITE : WHITE_T_15};\n transition: all 0.3s ease;\n `;\n});\n\ninterface IStyledIconProps {\n $iconPosition: NonNullable<ITabItem['iconPosition']>;\n $selected: boolean;\n}\n\nconst Icon = styled.div<IStyledIconProps>(({ theme, $iconPosition, $selected }) => {\n return `\n ${$iconPosition === 'left' ? 'padding-right' : 'padding-left'}: 4px;\n order: ${$iconPosition === 'left' ? -1 : 1};\n \n & svg {\n display: ${$selected ? 'block' : 'none'};\n width: 16px;\n height: 16px;\n color: ${theme.colors.WHITE_1};\n transition: color 0.2s ease-in-out;\n }\n `;\n});\n\nexport { TabsWrapper, Icon, TabWrapper };\n"],"names":["TabsWrapper","styled","theme","$tabsCount","$background","colors","TabWrapper","FlexView","$selected","layout","WHITE_T_15","WHITE","Icon","$iconPosition"],"mappings":";;AAYM,MAAAA,IAAcC,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,YAAAC,GAAY,aAAAC,QAAkB;AACjF,QAAA,EAAE,QAAAC,EAAW,IAAAH;AAEZ,SAAA;AAAA;AAAA,kBAESG,EAAOD,CAAW,CAAC;AAAA,oCACDD,CAAU;AAAA;AAE9C,CAAC,GAMKG,IAAaL,EAAOM,CAAQ,EAAa,CAAC,EAAE,OAAAL,GAAO,WAAAM,QAAgB;AACjE,QAAA,EAAE,QAAAC,GAAQ,QAAAJ,EAAW,IAAAH,GACrB,EAAE,YAAAQ,GAAY,OAAAC,EAAU,IAAAN;AAEvB,SAAA;AAAA;AAAA,eAEMI,EAAO,SAAS,KAAK;AAAA,iCACHD,IAAYG,IAAQD,CAAU;AAAA;AAAA;AAG/D,CAAC,GAOKE,IAAOX,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,eAAAW,GAAe,WAAAL,QAC1D;AAAA,MACHK,MAAkB,SAAS,kBAAkB,cAAc;AAAA,aACpDA,MAAkB,SAAS,KAAK,CAAC;AAAA;AAAA;AAAA,iBAG7BL,IAAY,UAAU,MAAM;AAAA;AAAA;AAAA,eAG9BN,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA,OAIlC;"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
- import { memo as i } from "react";
3
- import p from "./tab-tem/tab-item.js";
4
- import { TabsWrapper as s } from "./tabs-styled.js";
5
- const a = ({ selectedTab: t, onChange: e, tabs: o }) => /* @__PURE__ */ m(s, { $tabsCount: o.length, children: o.map((r) => /* @__PURE__ */ m(p, { tab: r, isSelected: r.id === t, onChange: e }, r.id)) }), l = i(a);
2
+ import { memo as p } from "react";
3
+ import s from "./tab-tem/tab-item.js";
4
+ import { TabsWrapper as a } from "./tabs-styled.js";
5
+ const n = ({ selectedTab: t, onChange: e, tabs: o, background: i = "BLACK_4" }) => /* @__PURE__ */ m(a, { $tabsCount: o.length, $background: i, children: o.map((r) => /* @__PURE__ */ m(s, { tab: r, isSelected: r.id === t, onChange: e }, r.id)) }), u = p(n);
6
6
  export {
7
- l as default
7
+ u as default
8
8
  };
9
9
  //# sourceMappingURL=tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sources":["../../../../../src/features/auth/comps/tabs/tabs.tsx"],"sourcesContent":["import type { ITabsProps } from './tabs-types';\n\nimport { memo } from 'react';\n\nimport TabItem from './tab-tem/tab-item';\nimport * as Styled from './tabs-styled';\n\nconst Tabs = ({ selectedTab, onChange, tabs }: ITabsProps) => {\n return (\n <Styled.TabsWrapper $tabsCount={tabs.length}>\n {tabs.map(tab => (\n <TabItem key={tab.id} tab={tab} isSelected={tab.id === selectedTab} onChange={onChange} />\n ))}\n </Styled.TabsWrapper>\n );\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","selectedTab","onChange","tabs","jsx","Styled.TabsWrapper","tab","TabItem","memo"],"mappings":";;;;AAOA,MAAMA,IAAO,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,MAAAC,QAEnC,gBAAAC,EAACC,GAAA,EAAmB,YAAYF,EAAK,QAClC,YAAK,IAAI,CAAAG,wBACPC,GAAqB,EAAA,KAAAD,GAAU,YAAYA,EAAI,OAAOL,GAAa,UAAAC,EAAtD,GAAAI,EAAI,EAAsE,CACzF,EACH,CAAA,GAIWH,IAAAK,EAAKR,CAAI;"}
1
+ {"version":3,"file":"tabs.js","sources":["../../../../../src/features/auth/comps/tabs/tabs.tsx"],"sourcesContent":["import type { ITabsProps } from './tabs-types';\n\nimport { memo } from 'react';\n\nimport TabItem from './tab-tem/tab-item';\nimport * as Styled from './tabs-styled';\n\nconst Tabs = ({ selectedTab, onChange, tabs, background = 'BLACK_4' }: ITabsProps) => {\n return (\n <Styled.TabsWrapper $tabsCount={tabs.length} $background={background}>\n {tabs.map(tab => (\n <TabItem key={tab.id} tab={tab} isSelected={tab.id === selectedTab} onChange={onChange} />\n ))}\n </Styled.TabsWrapper>\n );\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","selectedTab","onChange","tabs","background","jsx","Styled.TabsWrapper","TabItem","tab","memo"],"mappings":";;;;AAOA,MAAMA,IAAO,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,MAAAC,GAAM,YAAAC,IAAa,gBAEtD,gBAAAC,EAACC,GAAA,EAAmB,YAAYH,EAAK,QAAQ,aAAaC,GACvD,UAAKD,EAAA,IAAI,OACP,gBAAAE,EAAAE,GAAA,EAAqB,KAAAC,GAAU,YAAYA,EAAI,OAAOP,GAAa,UAAAC,EAAtD,GAAAM,EAAI,EAAsE,CACzF,EACH,CAAA,GAIWL,IAAAM,EAAKT,CAAI;"}
@@ -0,0 +1,19 @@
1
+ import { ILLUSTRATIONS as t } from "../../../../assets/illustrations/illustrations.js";
2
+ const o = [
3
+ {
4
+ icon: t.HANDSHAKE,
5
+ title: "Help us find the right tutor for your child"
6
+ },
7
+ {
8
+ icon: t.CALENDAR_PURPLE,
9
+ title: "Schedule your FREE class with the tutor"
10
+ },
11
+ {
12
+ icon: t.MONEY,
13
+ title: "Pay & continue with our flexible classes"
14
+ }
15
+ ];
16
+ export {
17
+ o as onboardingGuideSteps
18
+ };
19
+ //# sourceMappingURL=onboarding-guide-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-guide-constants.js","sources":["../../../../../src/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\n\nexport const onboardingGuideSteps = [\n {\n icon: ILLUSTRATIONS.HANDSHAKE,\n title: `Help us find the right tutor for your child`,\n },\n {\n icon: ILLUSTRATIONS.CALENDAR_PURPLE,\n title: `Schedule your FREE class with the tutor`,\n },\n {\n icon: ILLUSTRATIONS.MONEY,\n title: `Pay & continue with our flexible classes`,\n },\n];\n"],"names":["onboardingGuideSteps","ILLUSTRATIONS"],"mappings":";AAEO,MAAMA,IAAuB;AAAA,EAClC;AAAA,IACE,MAAMC,EAAc;AAAA,IACpB,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAMA,EAAc;AAAA,IACpB,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAMA,EAAc;AAAA,IACpB,OAAO;AAAA,EACT;AACF;"}
@@ -0,0 +1,32 @@
1
+ import e from "styled-components";
2
+ import i from "../../../ui/layout/flex-view.js";
3
+ const l = e(i)(({ theme: { colors: t, mediaQueries: o } }) => `
4
+ position: relative;
5
+ &:not(:last-child)::after {
6
+ content: '';
7
+ width: 37px;
8
+ height: 2px;
9
+ right: -32px;
10
+ top: 25px;
11
+ position: absolute;
12
+ background-color: ${t.WHITE_T_15};
13
+ }
14
+ &:last-child {
15
+ margin-bottom: 0;
16
+ }
17
+ ${o.minWidthSmallDesktop} {
18
+ margin-bottom: 48px;
19
+ &:not(:last-child)::after {
20
+ left: 28px;
21
+ bottom: -36px;
22
+ right: unset;
23
+ top: unset;
24
+ width: 2px;
25
+ height: 24px;
26
+ }
27
+ }
28
+ `);
29
+ export {
30
+ l as StepItem
31
+ };
32
+ //# sourceMappingURL=onboarding-guide-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-guide-styled.js","sources":["../../../../../src/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nexport const StepItem = styled(FlexView)(({ theme: { colors, mediaQueries } }) => {\n return `\n position: relative;\n &:not(:last-child)::after {\n content: '';\n width: 37px;\n height: 2px;\n right: -32px;\n top: 25px;\n position: absolute;\n background-color: ${colors.WHITE_T_15};\n }\n &:last-child {\n margin-bottom: 0;\n }\n ${mediaQueries.minWidthSmallDesktop} {\n margin-bottom: 48px;\n &:not(:last-child)::after {\n left: 28px;\n bottom: -36px;\n right: unset;\n top: unset;\n width: 2px;\n height: 24px;\n }\n }\n`;\n});\n"],"names":["StepItem","styled","FlexView","colors","mediaQueries"],"mappings":";;AAIa,MAAAA,IAAWC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,QAAAC,GAAQ,cAAAC,EAAa,QACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASeD,EAAO,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,IAKrCC,EAAa,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAYpC;"}
@@ -0,0 +1,44 @@
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import { useTheme as m } from "styled-components";
3
+ import t from "../../../ui/layout/flex-view.js";
4
+ import a from "../../../ui/separator/separator.js";
5
+ import l from "../../../ui/text/text.js";
6
+ import { EDeviceType as p } from "../../../ui/theme/constants.js";
7
+ import { onboardingGuideSteps as s } from "./onboarding-guide-constants.js";
8
+ import { StepItem as $ } from "./onboarding-guide-styled.js";
9
+ const d = () => {
10
+ const { device: c } = m(), r = c <= p.TABLET;
11
+ return /* @__PURE__ */ n(t, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: [
12
+ /* @__PURE__ */ e(l, { $whiteSpace: "pre-line", $renderAs: "ah4", $color: "WHITE", $renderOnTabletAs: "ab1", children: "Get started in 3 easy steps!" }),
13
+ /* @__PURE__ */ e(a, { heightX: r ? 1 : 2.75 }),
14
+ /* @__PURE__ */ e(t, { $flexDirection: r ? "row" : "column", $flexColumnGapX: 1.5, children: s.map((i, o) => /* @__PURE__ */ n(
15
+ $,
16
+ {
17
+ $flex: 1,
18
+ $flexDirection: r ? "column" : "row",
19
+ $flexColumnGapX: 1.5,
20
+ $flexRowGapX: 0.5,
21
+ $alignItems: "center",
22
+ children: [
23
+ /* @__PURE__ */ e("img", { src: i.icon, alt: `Step ${o + 1}`, width: 56, height: 56 }),
24
+ /* @__PURE__ */ e(t, { $width: r ? 101 : 210, children: /* @__PURE__ */ e(
25
+ l,
26
+ {
27
+ $whiteSpace: "pre-line",
28
+ $renderAs: "ab2",
29
+ $renderOnTabletAs: "ab3",
30
+ $color: "WHITE",
31
+ $align: r ? "center" : "left",
32
+ children: i.title
33
+ }
34
+ ) })
35
+ ]
36
+ },
37
+ o
38
+ )) })
39
+ ] });
40
+ }, G = d;
41
+ export {
42
+ G as default
43
+ };
44
+ //# sourceMappingURL=onboarding-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-guide.js","sources":["../../../../../src/features/auth/signup-v2/onboarding-guide/onboarding-guide.tsx"],"sourcesContent":["import { useTheme } from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { EDeviceType } from '../../../ui/theme/constants';\nimport { onboardingGuideSteps } from './onboarding-guide-constants';\nimport * as Styled from './onboarding-guide-styled';\n\nconst OnboardingGuide = () => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $whiteSpace=\"pre-line\" $renderAs=\"ah4\" $color=\"WHITE\" $renderOnTabletAs=\"ab1\">\n Get started in 3 easy steps!\n </Text>\n <Separator heightX={isCompact ? 1 : 2.75} />\n <FlexView $flexDirection={isCompact ? 'row' : 'column'} $flexColumnGapX={1.5}>\n {onboardingGuideSteps.map((step, index) => (\n <Styled.StepItem\n key={index}\n $flex={1}\n $flexDirection={isCompact ? 'column' : 'row'}\n $flexColumnGapX={1.5}\n $flexRowGapX={0.5}\n $alignItems={'center'}\n >\n <img src={step.icon} alt={`Step ${index + 1}`} width={56} height={56} />\n <FlexView $width={isCompact ? 101 : 210}>\n <Text\n $whiteSpace=\"pre-line\"\n $renderAs=\"ab2\"\n $renderOnTabletAs=\"ab3\"\n $color=\"WHITE\"\n $align={isCompact ? 'center' : 'left'}\n >\n {step.title}\n </Text>\n </FlexView>\n </Styled.StepItem>\n ))}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default OnboardingGuide;\n"],"names":["OnboardingGuide","device","useTheme","isCompact","EDeviceType","FlexView","jsx","Text","Separator","onboardingGuideSteps","step","index","jsxs","Styled.StepItem","OnboardingGuide$1"],"mappings":";;;;;;;;AASA,MAAMA,IAAkB,MAAM;AACtB,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY;AAExC,2BACGC,GAAS,EAAA,OAAO,GAAG,aAAY,UAAS,iBAAgB,UACvD,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,aAAY,YAAW,WAAU,OAAM,QAAO,SAAQ,mBAAkB,OAAM,UAEpF,+BAAA,CAAA;AAAA,IACC,gBAAAD,EAAAE,GAAA,EAAU,SAASL,IAAY,IAAI,MAAM;AAAA,IACzC,gBAAAG,EAAAD,GAAA,EAAS,gBAAgBF,IAAY,QAAQ,UAAU,iBAAiB,KACtE,UAAqBM,EAAA,IAAI,CAACC,GAAMC,MAC/B,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,OAAO;AAAA,QACP,gBAAgBV,IAAY,WAAW;AAAA,QACvC,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,aAAa;AAAA,QAEb,UAAA;AAAA,UAAA,gBAAAG,EAAC,OAAI,EAAA,KAAKI,EAAK,MAAM,KAAK,QAAQC,IAAQ,CAAC,IAAI,OAAO,IAAI,QAAQ,IAAI;AAAA,UACrE,gBAAAL,EAAAD,GAAA,EAAS,QAAQF,IAAY,MAAM,KAClC,UAAA,gBAAAG;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,WAAU;AAAA,cACV,mBAAkB;AAAA,cAClB,QAAO;AAAA,cACP,QAAQJ,IAAY,WAAW;AAAA,cAE9B,UAAKO,EAAA;AAAA,YAAA;AAAA,UAAA,GAEV;AAAA,QAAA;AAAA,MAAA;AAAA,MAlBKC;AAAA,IAoBR,CAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ,GAEAG,IAAed;"}
@@ -0,0 +1,54 @@
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
+ import { useTheme as s } from "styled-components";
3
+ import { ILLUSTRATIONS as o } from "../../../../assets/illustrations/illustrations.js";
4
+ import i from "../../../ui/image/image.js";
5
+ import n from "../../../ui/layout/flex-view.js";
6
+ import c from "../../../ui/separator/separator.js";
7
+ import l from "../../../ui/text/text.js";
8
+ import { EDeviceType as a } from "../../../ui/theme/constants.js";
9
+ const d = () => {
10
+ const { device: m } = s(), e = m <= a.TABLET;
11
+ return /* @__PURE__ */ t(
12
+ n,
13
+ {
14
+ $flexDirection: e ? "row" : "column",
15
+ $alignItems: e ? "center" : "flex-start",
16
+ $width: "100%",
17
+ $flexColumnGapX: 1,
18
+ $justifyContent: e ? "space-between" : "flex-start",
19
+ children: [
20
+ /* @__PURE__ */ r(
21
+ i,
22
+ {
23
+ width: e ? 80 : 107,
24
+ src: o.CIRCLE_CUEMATH_LOGO_WHITE,
25
+ height: e ? 12 : 16
26
+ }
27
+ ),
28
+ !e && /* @__PURE__ */ r(c, { heightX: 1 }),
29
+ /* @__PURE__ */ t(n, { $flexDirection: "row", $alignItems: "flex-end", children: [
30
+ /* @__PURE__ */ t(l, { $renderAs: "ab2", $renderOnTabletAs: "ub3", $color: "WHITE", children: [
31
+ "Rated",
32
+ " ",
33
+ /* @__PURE__ */ r(l, { $inline: !0, $renderAs: "ab2-bold", $renderOnTabletAs: "ub3-bold", $color: "WHITE", children: "4.8+" }),
34
+ " ",
35
+ "on"
36
+ ] }),
37
+ " ",
38
+ /* @__PURE__ */ r(
39
+ i,
40
+ {
41
+ src: o.TRUSTPILOT,
42
+ width: e ? 80 : 99,
43
+ height: e ? 20 : 25
44
+ }
45
+ )
46
+ ] })
47
+ ]
48
+ }
49
+ );
50
+ }, b = d;
51
+ export {
52
+ b as default
53
+ };
54
+ //# sourceMappingURL=signup-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signup-header.js","sources":["../../../../../src/features/auth/signup-v2/signup-header/signup-header.tsx"],"sourcesContent":["import { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { EDeviceType } from '../../../ui/theme/constants';\n\nconst SignupHeader = () => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n\n return (\n <FlexView\n $flexDirection={isCompact ? 'row' : 'column'}\n $alignItems={isCompact ? 'center' : 'flex-start'}\n $width=\"100%\"\n $flexColumnGapX={1}\n $justifyContent={isCompact ? 'space-between' : 'flex-start'}\n >\n <Image\n width={isCompact ? 80 : 107}\n src={ILLUSTRATIONS.CIRCLE_CUEMATH_LOGO_WHITE}\n height={isCompact ? 12 : 16}\n />\n {!isCompact && <Separator heightX={1} />}\n <FlexView $flexDirection=\"row\" $alignItems=\"flex-end\">\n <Text $renderAs=\"ab2\" $renderOnTabletAs=\"ub3\" $color=\"WHITE\">\n Rated{' '}\n <Text $inline $renderAs=\"ab2-bold\" $renderOnTabletAs=\"ub3-bold\" $color=\"WHITE\">\n 4.8+\n </Text>{' '}\n on\n </Text>\n &nbsp;\n <Image\n src={ILLUSTRATIONS.TRUSTPILOT}\n width={isCompact ? 80 : 99}\n height={isCompact ? 20 : 25}\n />\n </FlexView>\n </FlexView>\n );\n};\n\nexport default SignupHeader;\n"],"names":["SignupHeader","device","useTheme","isCompact","EDeviceType","jsxs","FlexView","jsx","Image","ILLUSTRATIONS","Separator","Text","SignupHeader$1"],"mappings":";;;;;;;;AASA,MAAMA,IAAe,MAAM;AACnB,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY;AAGtC,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBH,IAAY,QAAQ;AAAA,MACpC,aAAaA,IAAY,WAAW;AAAA,MACpC,QAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,iBAAiBA,IAAY,kBAAkB;AAAA,MAE/C,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,OAAOL,IAAY,KAAK;AAAA,YACxB,KAAKM,EAAc;AAAA,YACnB,QAAQN,IAAY,KAAK;AAAA,UAAA;AAAA,QAC3B;AAAA,QACC,CAACA,KAAc,gBAAAI,EAAAG,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,QACrC,gBAAAL,EAAAC,GAAA,EAAS,gBAAe,OAAM,aAAY,YACzC,UAAA;AAAA,UAAA,gBAAAD,EAACM,KAAK,WAAU,OAAM,mBAAkB,OAAM,QAAO,SAAQ,UAAA;AAAA,YAAA;AAAA,YACrD;AAAA,YACN,gBAAAJ,EAACI,GAAK,EAAA,SAAO,IAAC,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,UAE/E,OAAA,CAAA;AAAA,YAAQ;AAAA,YAAI;AAAA,UAAA,GAEd;AAAA,UAAO;AAAA,UAEP,gBAAAJ;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,KAAKC,EAAc;AAAA,cACnB,OAAON,IAAY,KAAK;AAAA,cACxB,QAAQA,IAAY,KAAK;AAAA,YAAA;AAAA,UAC3B;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAS,IAAeZ;"}
@@ -0,0 +1,83 @@
1
+ import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
+ import { memo as b } from "react";
3
+ import { useTheme as u } from "styled-components";
4
+ import $ from "../../../../assets/line-icons/icons/apple-icon-white.js";
5
+ import x from "../../../../assets/line-icons/icons/google-icon.js";
6
+ import r from "../../../ui/buttons/button/button.js";
7
+ import A from "../../../ui/buttons/text-button/text-button.js";
8
+ import t from "../../../ui/layout/flex-view.js";
9
+ import a from "../../../ui/separator/separator.js";
10
+ import c from "../../../ui/text/text.js";
11
+ import { EDeviceType as I } from "../../../ui/theme/constants.js";
12
+ const k = ({
13
+ onEmailSignup: m,
14
+ onAppleSignup: p,
15
+ onGoogleSignup: d,
16
+ loadingProvider: l,
17
+ onGoToLogin: h,
18
+ title: f
19
+ }) => {
20
+ const { device: g } = u(), o = g <= I.TABLET, n = l === "google", s = l === "apple";
21
+ return /* @__PURE__ */ i(t, { $alignItems: "flex-start", children: [
22
+ /* @__PURE__ */ e(c, { $renderAs: "ah3-bold", $renderOnMobileAs: "ah4-bold", $color: "WHITE", $whiteSpace: "pre", children: f }),
23
+ /* @__PURE__ */ e(a, { heightX: o ? 1.5 : 2.5 }),
24
+ /* @__PURE__ */ i(
25
+ t,
26
+ {
27
+ $flexGapX: 1,
28
+ $flex: 1,
29
+ $justifyContent: "center",
30
+ $alignItems: "flex-start",
31
+ $width: "100%",
32
+ children: [
33
+ /* @__PURE__ */ e(
34
+ r,
35
+ {
36
+ renderAs: "black-dark",
37
+ Icon: x,
38
+ width: o ? "100%" : 320,
39
+ label: "Signup with Google",
40
+ onClick: d,
41
+ size: "small",
42
+ busy: n,
43
+ disabled: n
44
+ }
45
+ ),
46
+ /* @__PURE__ */ e(
47
+ r,
48
+ {
49
+ renderAs: "black-dark",
50
+ size: "small",
51
+ width: o ? "100%" : 320,
52
+ Icon: $,
53
+ label: "Signup with Apple",
54
+ onClick: p,
55
+ busy: s,
56
+ disabled: s
57
+ }
58
+ ),
59
+ /* @__PURE__ */ e(
60
+ r,
61
+ {
62
+ renderAs: "black-dark",
63
+ size: "small",
64
+ width: o ? "100%" : 320,
65
+ label: "Continue with Email",
66
+ onClick: m
67
+ }
68
+ )
69
+ ]
70
+ }
71
+ ),
72
+ /* @__PURE__ */ e(a, { heightX: 1.5 }),
73
+ /* @__PURE__ */ i(t, { $flexDirection: "row", $alignItems: "center", children: [
74
+ /* @__PURE__ */ e(c, { $renderAs: "ub3", $color: "WHITE", children: "Already have an account?" }),
75
+ " ",
76
+ /* @__PURE__ */ e(A, { size: "small", label: "Log In", color: "WHITE", onClick: h })
77
+ ] })
78
+ ] });
79
+ }, B = b(k);
80
+ export {
81
+ B as default
82
+ };
83
+ //# sourceMappingURL=signup-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signup-options.js","sources":["../../../../../src/features/auth/signup-v2/signup-options/signup-options.tsx"],"sourcesContent":["import type { ISignupOptionsProps } from './signup-options-types';\n\nimport { memo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport AppleIcon from '../../../../assets/line-icons/icons/apple-icon-white';\nimport GoogleIcon from '../../../../assets/line-icons/icons/google-icon';\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { EDeviceType } from '../../../ui/theme/constants';\n\nconst SignupOptions: FC<ISignupOptionsProps> = ({\n onEmailSignup,\n onAppleSignup,\n onGoogleSignup,\n loadingProvider,\n onGoToLogin,\n title,\n}) => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n const isLoadingGoogle = loadingProvider === 'google';\n const isLoadingApple = loadingProvider === 'apple';\n\n return (\n <FlexView $alignItems=\"flex-start\">\n <Text $renderAs=\"ah3-bold\" $renderOnMobileAs=\"ah4-bold\" $color=\"WHITE\" $whiteSpace=\"pre\">\n {title}\n </Text>\n <Separator heightX={isCompact ? 1.5 : 2.5} />\n <FlexView\n $flexGapX={1}\n $flex={1}\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $width=\"100%\"\n >\n <Button\n renderAs=\"black-dark\"\n Icon={GoogleIcon}\n width={isCompact ? '100%' : 320}\n label=\"Signup with Google\"\n onClick={onGoogleSignup}\n size=\"small\"\n busy={isLoadingGoogle}\n disabled={isLoadingGoogle}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n Icon={AppleIcon}\n label=\"Signup with Apple\"\n onClick={onAppleSignup}\n busy={isLoadingApple}\n disabled={isLoadingApple}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n label=\"Continue with Email\"\n onClick={onEmailSignup}\n />\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3\" $color=\"WHITE\">\n Already have an account?\n </Text>\n &nbsp;\n <TextButton size=\"small\" label=\"Log In\" color=\"WHITE\" onClick={onGoToLogin} />\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(SignupOptions);\n"],"names":["SignupOptions","onEmailSignup","onAppleSignup","onGoogleSignup","loadingProvider","onGoToLogin","title","device","useTheme","isCompact","EDeviceType","isLoadingGoogle","isLoadingApple","jsxs","FlexView","jsx","Text","Separator","Button","GoogleIcon","AppleIcon","TextButton","signupOptions","memo"],"mappings":";;;;;;;;;;;AAcA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY,QAClCC,IAAkBP,MAAoB,UACtCQ,IAAiBR,MAAoB;AAGzC,SAAA,gBAAAS,EAACC,GAAS,EAAA,aAAY,cACpB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,aAAY,OAChF,UACHV,EAAA,CAAA;AAAA,IACC,gBAAAS,EAAAE,GAAA,EAAU,SAASR,IAAY,MAAM,KAAK;AAAA,IAC3C,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,OAAO;AAAA,QACP,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,QAAO;AAAA,QAEP,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAMC;AAAA,cACN,OAAOV,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASN;AAAA,cACT,MAAK;AAAA,cACL,MAAMQ;AAAA,cACN,UAAUA;AAAA,YAAA;AAAA,UACZ;AAAA,UACA,gBAAAI;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,MAAMW;AAAAA,cACN,OAAM;AAAA,cACN,SAASlB;AAAA,cACT,MAAMU;AAAA,cACN,UAAUA;AAAA,YAAA;AAAA,UACZ;AAAA,UACA,gBAAAG;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASR;AAAA,YAAA;AAAA,UACX;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAc,EAACE,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACxB,gBAAAJ,EAAAC,GAAA,EAAS,gBAAe,OAAM,aAAY,UACzC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,SAAQ,UAErC,4BAAA;AAAA,MAAO;AAAA,MAEP,gBAAAD,EAACM,KAAW,MAAK,SAAQ,OAAM,UAAS,OAAM,SAAQ,SAAShB,EAAa,CAAA;AAAA,IAAA,GAC9E;AAAA,EACF,EAAA,CAAA;AAEJ,GAEeiB,IAAAC,EAAKvB,CAAa;"}
@@ -9,14 +9,14 @@ import E from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
9
  import I from "../../ui/text/text.js";
10
10
  import { InProgressIconWrapper as d } from "../comps/node-card/node-card-styled.js";
11
11
  import A from "../comps/tag/tag.js";
12
- const u = 60 * 60 * 24, _ = ["NOT_STARTED"], C = (r, c) => {
12
+ const _ = 60 * 60 * 24, u = ["NOT_STARTED", "IN_PROGRESS"], C = (r, c) => {
13
13
  if (!r || c)
14
14
  return { isOverdue: !1, daysText: "", differenceInDays: 0 };
15
- const i = Math.floor(Date.now() / 1e3), s = r - i, o = Math.ceil(s / u), a = o < 0, n = o > 0 ? `${Math.abs(o)}D` : "";
15
+ const i = Math.floor(Date.now() / 1e3), s = r - i, o = Math.ceil(s / _), a = o < 0, n = o > 0 ? `${Math.abs(o)}D` : "";
16
16
  return { isOverdue: a, daysText: n, differenceInDays: o };
17
- }, x = (r, c, i, s, o) => {
17
+ }, U = (r, c, i, s, o) => {
18
18
  const { isOverdue: a, daysText: n, differenceInDays: T } = C(s, o);
19
- if (!o && a && _.includes(r))
19
+ if (!o && a && u.includes(r))
20
20
  return {
21
21
  icon: /* @__PURE__ */ e(
22
22
  E,
@@ -117,7 +117,7 @@ const u = 60 * 60 * 24, _ = ["NOT_STARTED"], C = (r, c) => {
117
117
  icon: void 0
118
118
  };
119
119
  }
120
- }, y = (r) => {
120
+ }, x = (r) => {
121
121
  switch (r) {
122
122
  case "LEVEL2":
123
123
  case "LEVEL3":
@@ -186,7 +186,7 @@ const u = 60 * 60 * 24, _ = ["NOT_STARTED"], C = (r, c) => {
186
186
  }
187
187
  };
188
188
  export {
189
- y as getNodeCardBasedIcon,
190
- x as getNodeStateBasedTagInfo
189
+ x as getNodeCardBasedIcon,
190
+ U as getNodeStateBasedTagInfo
191
191
  };
192
192
  //# sourceMappingURL=node-card-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -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 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'TURING_SUBJECTIVE':\n return {\n lottie: LOTTIE.SUBJECTIVE,\n };\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return {\n lottie: LOTTIE.ACTIVITY,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
1
+ {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -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 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'TURING_SUBJECTIVE':\n return {\n lottie: LOTTIE.SUBJECTIVE,\n };\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return {\n lottie: LOTTIE.ACTIVITY,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}