@cuemath/leap 3.2.16-link.2 → 3.2.16-mb

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 (243) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -6
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +1 -11
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/auth/account-selector/account-selector.js +25 -26
  6. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  7. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +14 -20
  8. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  9. package/dist/features/auth/comps/resend-otp/resend-otp.js +47 -54
  10. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  11. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +17 -29
  12. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  13. package/dist/features/auth/comps/tabs/tabs-styled.js +10 -22
  14. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  15. package/dist/features/auth/comps/tabs/tabs.js +5 -5
  16. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  17. package/dist/features/auth/comps/user-list/user-item/user-item.js +31 -30
  18. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  19. package/dist/features/auth/comps/user-list/user-list.js +34 -35
  20. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  21. package/dist/features/auth/forgot-password/forgot-password-styled.js +15 -14
  22. package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
  23. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +7 -6
  24. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
  25. package/dist/features/auth/login/login-styled.js +9 -8
  26. package/dist/features/auth/login/login-styled.js.map +1 -1
  27. package/dist/features/chapters-v2/utils/node-card-utils.js +7 -7
  28. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  29. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +98 -121
  30. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  31. package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js +28 -29
  32. package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js.map +1 -1
  33. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +42 -43
  34. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  35. package/dist/features/circle-games/games/tutorial/tutorial.js +35 -43
  36. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  37. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js +2 -2
  38. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  39. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js +1 -1
  40. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  41. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js +24 -26
  42. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
  43. package/dist/features/circle-games/sign-up/constants.js +1 -3
  44. package/dist/features/circle-games/sign-up/constants.js.map +1 -1
  45. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +42 -42
  46. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  47. package/dist/features/hooks/use-viewport/use-viewport.js +22 -0
  48. package/dist/features/hooks/use-viewport/use-viewport.js.map +1 -0
  49. package/dist/features/journey/comps/coachmark/coachmark.js +27 -29
  50. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  51. package/dist/features/journey/journey-id/journey-id-student.js +2 -2
  52. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  53. package/dist/features/journey/use-journey/journey-context-provider.js +72 -73
  54. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  55. package/dist/features/journey/use-journey/journey-styled.js +4 -6
  56. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  57. package/dist/features/stickers/sticker-data.js +234 -0
  58. package/dist/features/stickers/sticker-data.js.map +1 -0
  59. package/dist/features/{ui/sticker-grid/sticker-grid-styles.js → stickers/sticker-selector/sticker-selector-styles.js} +4 -3
  60. package/dist/features/stickers/sticker-selector/sticker-selector-styles.js.map +1 -0
  61. package/dist/features/stickers/sticker-selector/sticker-selector.js +25 -0
  62. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -0
  63. package/dist/features/stickers/sticker-selector/sticker.js +57 -0
  64. package/dist/features/stickers/sticker-selector/sticker.js.map +1 -0
  65. package/dist/features/{ui/stickers/stickers-effects.js → stickers/stickers-effects/effects.js} +6 -6
  66. package/dist/features/stickers/stickers-effects/effects.js.map +1 -0
  67. package/dist/features/{ui/stickers/stickers-styled.js → stickers/stickers-effects/stickers-effects-styled.js} +2 -2
  68. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -0
  69. package/dist/features/{ui/stickers/stickers-utils.js → stickers/stickers-effects/stickers-effects-utils.js} +6 -6
  70. package/dist/features/stickers/stickers-effects/stickers-effects-utils.js.map +1 -0
  71. package/dist/features/stickers/stickers-effects/stickers-effects.js +39 -0
  72. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -0
  73. package/dist/features/trial-session/comps/student-profile/student-profile.js +1 -1
  74. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js +50 -7
  75. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js.map +1 -1
  76. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +69 -15
  77. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  78. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +60 -12
  79. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  80. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +77 -72
  81. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  82. package/dist/features/ui/error/error.js +27 -65
  83. package/dist/features/ui/error/error.js.map +1 -1
  84. package/dist/features/ui/image/image.js +1 -1
  85. package/dist/features/ui/image/image.js.map +1 -1
  86. package/dist/features/ui/inputs/base-input/base-input.js +11 -11
  87. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  88. package/dist/features/ui/inputs/text-input/text-input.js +18 -19
  89. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  90. package/dist/features/ui/lottie-animation/lottie-animation.js +29 -25
  91. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  92. package/dist/features/ui/modals/modal-styled.js +58 -69
  93. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  94. package/dist/features/ui/modals/modal.js +14 -50
  95. package/dist/features/ui/modals/modal.js.map +1 -1
  96. package/dist/features/ui/nudge/nudge-styled.js +7 -14
  97. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  98. package/dist/features/ui/nudge/nudge.js +12 -13
  99. package/dist/features/ui/nudge/nudge.js.map +1 -1
  100. package/dist/features/ui/streak-icon/streak-icon-styled.js +13 -13
  101. package/dist/features/ui/streak-icon/streak-icon-styled.js.map +1 -1
  102. package/dist/features/ui/streak-icon/streak-icon.js +15 -17
  103. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  104. package/dist/features/ui/text/text.js +38 -44
  105. package/dist/features/ui/text/text.js.map +1 -1
  106. package/dist/features/ui/theme/button.js +78 -78
  107. package/dist/features/ui/theme/button.js.map +1 -1
  108. package/dist/features/ui/theme/constants.js +2 -4
  109. package/dist/features/ui/theme/constants.js.map +1 -1
  110. package/dist/features/ui/theme/get-device.js +3 -3
  111. package/dist/features/ui/theme/get-device.js.map +1 -1
  112. package/dist/features/worksheet/worksheet/constants.js +13 -12
  113. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  114. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +24 -24
  115. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  116. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +260 -246
  117. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  118. package/dist/features/worksheet/worksheet/worksheet-styled.js +28 -37
  119. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  120. package/dist/features/worksheet/worksheet/worksheet.js +164 -166
  121. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  122. package/dist/index.d.ts +53 -247
  123. package/dist/index.js +585 -633
  124. package/dist/index.js.map +1 -1
  125. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  126. package/package.json +3 -2
  127. package/dist/assets/line-icons/icons/after-noon.js +0 -34
  128. package/dist/assets/line-icons/icons/after-noon.js.map +0 -1
  129. package/dist/assets/line-icons/icons/apple-icon-white.js +0 -42
  130. package/dist/assets/line-icons/icons/apple-icon-white.js.map +0 -1
  131. package/dist/assets/line-icons/icons/cue-board-filled.js +0 -33
  132. package/dist/assets/line-icons/icons/cue-board-filled.js.map +0 -1
  133. package/dist/assets/line-icons/icons/cue-board.js +0 -23
  134. package/dist/assets/line-icons/icons/cue-board.js.map +0 -1
  135. package/dist/assets/line-icons/icons/evening.js +0 -35
  136. package/dist/assets/line-icons/icons/evening.js.map +0 -1
  137. package/dist/assets/line-icons/icons/hint-fill.js +0 -35
  138. package/dist/assets/line-icons/icons/hint-fill.js.map +0 -1
  139. package/dist/assets/line-icons/icons/morning.js +0 -35
  140. package/dist/assets/line-icons/icons/morning.js.map +0 -1
  141. package/dist/assets/line-icons/icons/screen-grab-filled.js +0 -35
  142. package/dist/assets/line-icons/icons/screen-grab-filled.js.map +0 -1
  143. package/dist/assets/line-icons/icons/screen-grab.js +0 -23
  144. package/dist/assets/line-icons/icons/screen-grab.js.map +0 -1
  145. package/dist/assets/line-icons/icons/star3.js +0 -32
  146. package/dist/assets/line-icons/icons/star3.js.map +0 -1
  147. package/dist/assets/line-icons/icons/sticker-filled.js +0 -64
  148. package/dist/assets/line-icons/icons/sticker-filled.js.map +0 -1
  149. package/dist/assets/line-icons/icons/sticker.js +0 -46
  150. package/dist/assets/line-icons/icons/sticker.js.map +0 -1
  151. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +0 -9
  152. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +0 -1
  153. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +0 -52
  154. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +0 -1
  155. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +0 -95
  156. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +0 -1
  157. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text-styled.js +0 -10
  158. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text-styled.js.map +0 -1
  159. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.js +0 -17
  160. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.js.map +0 -1
  161. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +0 -12
  162. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +0 -1
  163. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +0 -34
  164. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +0 -1
  165. package/dist/features/auth/comps/otp-input/otp-input-styled.js +0 -22
  166. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +0 -1
  167. package/dist/features/auth/comps/otp-input/otp-input.js +0 -51
  168. package/dist/features/auth/comps/otp-input/otp-input.js.map +0 -1
  169. package/dist/features/auth/comps/pill-button/pill-button-styled.js +0 -44
  170. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +0 -1
  171. package/dist/features/auth/comps/pill-button/pill-button.js +0 -75
  172. package/dist/features/auth/comps/pill-button/pill-button.js.map +0 -1
  173. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +0 -17
  174. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +0 -1
  175. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +0 -67
  176. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +0 -1
  177. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +0 -19
  178. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +0 -1
  179. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +0 -32
  180. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +0 -1
  181. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +0 -44
  182. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +0 -1
  183. package/dist/features/auth/pla-signup/signup-header/signup-header.js +0 -54
  184. package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +0 -1
  185. package/dist/features/auth/pla-signup/signup-options/signup-options.js +0 -83
  186. package/dist/features/auth/pla-signup/signup-options/signup-options.js.map +0 -1
  187. package/dist/features/puzzles/app/puzzle-app-styled.js +0 -81
  188. package/dist/features/puzzles/app/puzzle-app-styled.js.map +0 -1
  189. package/dist/features/puzzles/app/puzzle-app-view.js +0 -120
  190. package/dist/features/puzzles/app/puzzle-app-view.js.map +0 -1
  191. package/dist/features/puzzles/app/puzzle-app.js +0 -62
  192. package/dist/features/puzzles/app/puzzle-app.js.map +0 -1
  193. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +0 -49
  194. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +0 -1
  195. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +0 -64
  196. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +0 -1
  197. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js +0 -28
  198. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js.map +0 -1
  199. package/dist/features/ui/accordion/accordion-items/accordion-items.js +0 -83
  200. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +0 -1
  201. package/dist/features/ui/accordion/accordion.js +0 -62
  202. package/dist/features/ui/accordion/accordion.js.map +0 -1
  203. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js +0 -6
  204. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js.map +0 -1
  205. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js +0 -63
  206. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +0 -1
  207. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js +0 -21
  208. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +0 -1
  209. package/dist/features/ui/drawer/drawer-styled.js +0 -34
  210. package/dist/features/ui/drawer/drawer-styled.js.map +0 -1
  211. package/dist/features/ui/drawer/drawer.js +0 -42
  212. package/dist/features/ui/drawer/drawer.js.map +0 -1
  213. package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +0 -1
  214. package/dist/features/ui/sticker-grid/sticker-grid.js +0 -24
  215. package/dist/features/ui/sticker-grid/sticker-grid.js.map +0 -1
  216. package/dist/features/ui/sticker-grid/sticker.js +0 -57
  217. package/dist/features/ui/sticker-grid/sticker.js.map +0 -1
  218. package/dist/features/ui/stickers/constants.js +0 -6
  219. package/dist/features/ui/stickers/constants.js.map +0 -1
  220. package/dist/features/ui/stickers/stickers-effects.js.map +0 -1
  221. package/dist/features/ui/stickers/stickers-styled.js.map +0 -1
  222. package/dist/features/ui/stickers/stickers-utils.js.map +0 -1
  223. package/dist/features/ui/stickers/stickers.js +0 -40
  224. package/dist/features/ui/stickers/stickers.js.map +0 -1
  225. package/dist/static/animated-avatar.1ad58b1d.json +0 -1
  226. package/dist/static/animated-avatar.69b07505.json +0 -1
  227. package/dist/static/animated-avatar.9c560b46.json +0 -1
  228. package/dist/static/calendar-purple.1a840b41.svg +0 -1
  229. package/dist/static/flying-disk.c7f6ed39.json +0 -1
  230. package/dist/static/graduation-cap.3be3340a.json +0 -1
  231. package/dist/static/handshake.287e7dfb.svg +0 -1
  232. package/dist/static/light-bulb.c6db0b23.json +0 -1
  233. package/dist/static/money.332aacf1.svg +0 -1
  234. package/dist/static/muscle.9bcfb8a7.json +0 -1
  235. package/dist/static/nudge-tap.0591aef4.json +0 -1
  236. package/dist/static/parent-avatar.822c7b9b.svg +0 -1
  237. package/dist/static/pencil.23df9da0.json +0 -1
  238. package/dist/static/plus-sign.de6af957.json +0 -1
  239. package/dist/static/racing-car.2cbf864e.json +0 -1
  240. package/dist/static/rocket.0a3ccab0.json +0 -1
  241. package/dist/static/shovel.abeec04c.json +0 -1
  242. package/dist/static/stripe-blurple.6abf422f.svg +0 -1
  243. package/dist/static/trustpilot.bd3d79e1.svg +0 -1
@@ -1,64 +0,0 @@
1
- import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
- import { memo as G, useMemo as T } from "react";
3
- import C from "../../../../ui/image/image.js";
4
- import a from "../../../../ui/layout/flex-view.js";
5
- import j from "../../../../ui/separator/separator.js";
6
- import t from "../../../../ui/text/text.js";
7
- import { COUNTRY_FLAGS as k } from "../teacher-intro-constants.js";
8
- import { ProfilePicture as I, GridContainer as S, GridItem as i } from "./teacher-profile-styled.js";
9
- const O = G(({ teacherProfile: s }) => {
10
- const {
11
- degree: f,
12
- countries: o,
13
- lower_grade: c,
14
- higher_grade: n,
15
- header_image: u,
16
- years_of_experience: g,
17
- number_of_students_taught: m
18
- } = s || {}, { degree_name: d, field_of_study: l } = f || {}, $ = Object.values(k), h = n && parseInt(n, 10) > 8, p = T(() => h ? "High School" : ` ${c === "K" ? "" : "G"}${c} - G${n}`, [h, n, c]);
19
- return /* @__PURE__ */ e(a, { $flexDirection: "row", $borderColor: "BLACK_T_87", $background: "WHITE_3", children: [
20
- /* @__PURE__ */ r(I, { withLoader: !0, src: u, width: 350, height: 350 }),
21
- /* @__PURE__ */ e(S, { children: [
22
- /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
23
- /* @__PURE__ */ e(t, { $renderAs: "ah3-black", children: [
24
- g,
25
- "+"
26
- ] }),
27
- /* @__PURE__ */ r(t, { $renderAs: "ub3", children: "Yrs of Teaching Experience" })
28
- ] }),
29
- /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
30
- /* @__PURE__ */ e(t, { $renderAs: "ah3-black", children: [
31
- m,
32
- "+"
33
- ] }),
34
- /* @__PURE__ */ r(t, { $renderAs: "ub3", children: "Students Taught" })
35
- ] }),
36
- d && l && /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
37
- /* @__PURE__ */ r(t, { $renderAs: "ab1-black", children: d }),
38
- /* @__PURE__ */ e(t, { $renderAs: "ub3", children: [
39
- "In ",
40
- l
41
- ] })
42
- ] }),
43
- /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
44
- /* @__PURE__ */ e(t, { $renderAs: "ab1-black", children: [
45
- "Teaching ",
46
- p,
47
- " kids in"
48
- ] }),
49
- /* @__PURE__ */ r(j, { height: 12 }),
50
- /* @__PURE__ */ r(a, { $flexDirection: "row", $flexGap: 16, $flexWrap: !0, children: o && o.length > 0 && o.map((b) => {
51
- const _ = $.find((w) => w.name === b), { flag_icon: x = "", label: y, name: A } = _ || {};
52
- return /* @__PURE__ */ e(a, { $flexDirection: "row", $flexGap: 4, children: [
53
- /* @__PURE__ */ r(C, { src: x, width: 30, height: 20, withLoader: !1 }),
54
- /* @__PURE__ */ r(t, { $renderAs: "ab3-black", children: y })
55
- ] }, A);
56
- }) })
57
- ] })
58
- ] })
59
- ] });
60
- }), W = O;
61
- export {
62
- W as default
63
- };
64
- //# sourceMappingURL=teacher-profile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teacher-profile.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.tsx"],"sourcesContent":["import type { ITeacherProfileDetails } from '../../../trial-session-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo } from 'react';\n\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 { COUNTRY_FLAGS } from '../teacher-intro-constants';\nimport * as Styled from './teacher-profile-styled';\n\ninterface ITeacherProfileProps {\n teacherProfile?: ITeacherProfileDetails;\n}\n\nconst TeacherProfile: FC<ITeacherProfileProps> = memo(({ teacherProfile }) => {\n const {\n degree,\n countries,\n lower_grade: lowerGrade,\n higher_grade: higherGrade,\n header_image: headerImage,\n years_of_experience: yearsOfExperience,\n number_of_students_taught: numberOfStudentsTaught,\n } = teacherProfile || {};\n const { degree_name: degreeName, field_of_study: fieldOfStudy } = degree || {};\n\n const countryFlagArray = Object.values(COUNTRY_FLAGS);\n const isHighSchool = higherGrade && parseInt(higherGrade, 10) > 8;\n\n const displayGrade = useMemo(() => {\n return isHighSchool\n ? 'High School'\n : ` ${lowerGrade === 'K' ? '' : 'G'}${lowerGrade} - G${higherGrade}`;\n }, [isHighSchool, higherGrade, lowerGrade]);\n\n return (\n <FlexView $flexDirection=\"row\" $borderColor=\"BLACK_T_87\" $background=\"WHITE_3\">\n <Styled.ProfilePicture withLoader src={headerImage} width={350} height={350} />\n <Styled.GridContainer>\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ah3-black\">{yearsOfExperience}+</Text>\n <Text $renderAs=\"ub3\">Yrs of Teaching Experience</Text>\n </Styled.GridItem>\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ah3-black\">{numberOfStudentsTaught}+</Text>\n <Text $renderAs=\"ub3\">Students Taught</Text>\n </Styled.GridItem>\n {degreeName && fieldOfStudy && (\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ab1-black\">{degreeName}</Text>\n <Text $renderAs=\"ub3\">In {fieldOfStudy}</Text>\n </Styled.GridItem>\n )}\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ab1-black\">Teaching {displayGrade} kids in</Text>\n <Separator height={12} />\n <FlexView $flexDirection=\"row\" $flexGap={16} $flexWrap>\n {countries &&\n countries.length > 0 &&\n countries.map(country => {\n const countryFlag = countryFlagArray.find(item => item.name === country);\n const { flag_icon: flagIcon = '', label, name } = countryFlag || {};\n\n return (\n <FlexView key={name} $flexDirection=\"row\" $flexGap={4}>\n <Image src={flagIcon} width={30} height={20} withLoader={false} />\n <Text $renderAs=\"ab3-black\">{label}</Text>\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.GridItem>\n </Styled.GridContainer>\n </FlexView>\n );\n});\n\nexport default TeacherProfile;\n"],"names":["TeacherProfile","memo","teacherProfile","degree","countries","lowerGrade","higherGrade","headerImage","yearsOfExperience","numberOfStudentsTaught","degreeName","fieldOfStudy","countryFlagArray","COUNTRY_FLAGS","isHighSchool","displayGrade","useMemo","FlexView","jsx","Styled.ProfilePicture","jsxs","Styled.GridContainer","Styled.GridItem","Text","Separator","country","countryFlag","item","flagIcon","label","name","Image","TeacherProfile$1"],"mappings":";;;;;;;;AAgBA,MAAMA,IAA2CC,EAAK,CAAC,EAAE,gBAAAC,QAAqB;AACtE,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAaC;AAAA,IACb,cAAcC;AAAA,IACd,cAAcC;AAAA,IACd,qBAAqBC;AAAA,IACrB,2BAA2BC;AAAA,EAAA,IACzBP,KAAkB,CAAA,GAChB,EAAE,aAAaQ,GAAY,gBAAgBC,EAAa,IAAIR,KAAU,IAEtES,IAAmB,OAAO,OAAOC,CAAa,GAC9CC,IAAeR,KAAe,SAASA,GAAa,EAAE,IAAI,GAE1DS,IAAeC,EAAQ,MACpBF,IACH,gBACA,IAAIT,MAAe,MAAM,KAAK,GAAG,GAAGA,CAAU,OAAOC,CAAW,IACnE,CAACQ,GAAcR,GAAaD,CAAU,CAAC;AAE1C,2BACGY,GAAS,EAAA,gBAAe,OAAM,cAAa,cAAa,aAAY,WACnE,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAsB,YAAU,IAAC,KAAKZ,GAAa,OAAO,KAAK,QAAQ,IAAK,CAAA;AAAA,IAC7E,gBAAAa,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAD,EAACE,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,aAAa,UAAA;AAAA,UAAAf;AAAA,UAAkB;AAAA,QAAA,GAAC;AAAA,QAC/C,gBAAAU,EAAAK,GAAA,EAAK,WAAU,OAAM,UAA0B,8BAAA;AAAA,MAAA,GAClD;AAAA,wBACCD,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,aAAa,UAAA;AAAA,UAAAd;AAAA,UAAuB;AAAA,QAAA,GAAC;AAAA,QACpD,gBAAAS,EAAAK,GAAA,EAAK,WAAU,OAAM,UAAe,mBAAA;AAAA,MAAA,GACvC;AAAA,MACCb,KAAcC,KACZ,gBAAAS,EAAAE,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAJ,EAAAK,GAAA,EAAK,WAAU,aAAa,UAAWb,GAAA;AAAA,QACxC,gBAAAU,EAACG,GAAK,EAAA,WAAU,OAAM,UAAA;AAAA,UAAA;AAAA,UAAIZ;AAAA,QAAA,GAAa;AAAA,MAAA,GACzC;AAAA,wBAEDW,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,aAAY,UAAA;AAAA,UAAA;AAAA,UAAUR;AAAA,UAAa;AAAA,QAAA,GAAQ;AAAA,QAC3D,gBAAAG,EAACM,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QACtB,gBAAAN,EAAAD,GAAA,EAAS,gBAAe,OAAM,UAAU,IAAI,WAAS,IACnD,UAAAb,KACCA,EAAU,SAAS,KACnBA,EAAU,IAAI,CAAWqB,MAAA;AACvB,gBAAMC,IAAcd,EAAiB,KAAK,CAAQe,MAAAA,EAAK,SAASF,CAAO,GACjE,EAAE,WAAWG,IAAW,IAAI,OAAAC,GAAO,MAAAC,EAAK,IAAIJ,KAAe;AAEjE,iBACG,gBAAAN,EAAAH,GAAA,EAAoB,gBAAe,OAAM,UAAU,GAClD,UAAA;AAAA,YAAC,gBAAAC,EAAAa,GAAA,EAAM,KAAKH,GAAU,OAAO,IAAI,QAAQ,IAAI,YAAY,GAAO,CAAA;AAAA,YAC/D,gBAAAV,EAAAK,GAAA,EAAK,WAAU,aAAa,UAAMM,GAAA;AAAA,UAAA,EAAA,GAFtBC,CAGf;AAAA,QAEH,CAAA,GACL;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAEDE,IAAehC;"}
@@ -1,28 +0,0 @@
1
- import o from "styled-components";
2
- import r from "../../../../assets/line-icons/icons/plus.js";
3
- import t from "../../layout/flex-view.js";
4
- const a = o(t)(
5
- ({ $index: e, $visible: i, $accordionBorderColor: n }) => `
6
- border-bottom: 1px solid ${n};
7
- ${e === 0 ? `border-top: 1px solid ${n};` : ""}
8
- display: ${i ? "flex" : "none"};
9
- `
10
- ), c = o(t)`
11
- cursor: pointer;
12
- `, m = o.div`
13
- max-height: 0;
14
- overflow: hidden;
15
- transition: all 0.3s ease-in-out;
16
- `, p = o(t)`
17
- width: 100%;
18
- `, x = o(r)`
19
- transition: all 0.3s ease-in-out;
20
- `;
21
- export {
22
- m as AccordionAnswer,
23
- c as AccordionItemContainer,
24
- a as Container,
25
- p as ContentContainer,
26
- x as StyledPlusIcon
27
- };
28
- //# sourceMappingURL=accordion-items-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion-items-styled.js","sources":["../../../../../src/features/ui/accordion/accordion-items/accordion-items-styled.ts"],"sourcesContent":["import type { ContainerProps } from '../accordion-types';\n\nimport styled from 'styled-components';\n\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport FlexView from '../../layout/flex-view';\n\nconst Container = styled(FlexView)<ContainerProps>(\n ({ $index, $visible, $accordionBorderColor }) => `\n border-bottom: 1px solid ${$accordionBorderColor};\n ${$index === 0 ? `border-top: 1px solid ${$accordionBorderColor};` : ''}\n display: ${$visible ? 'flex' : 'none'};\n`,\n);\n\nconst AccordionItemContainer = styled(FlexView)`\n cursor: pointer;\n`;\n\nconst AccordionAnswer = styled.div`\n max-height: 0;\n overflow: hidden;\n transition: all 0.3s ease-in-out;\n`;\n\nconst ContentContainer = styled(FlexView)`\n width: 100%;\n`;\n\nconst StyledPlusIcon = styled(PlusIcon)`\n transition: all 0.3s ease-in-out;\n`;\n\nexport { Container, AccordionItemContainer, AccordionAnswer, ContentContainer, StyledPlusIcon };\n"],"names":["Container","styled","FlexView","$index","$visible","$accordionBorderColor","AccordionItemContainer","AccordionAnswer","ContentContainer","StyledPlusIcon","PlusIcon"],"mappings":";;;AAOM,MAAAA,IAAYC,EAAOC,CAAQ;AAAA,EAC/B,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,uBAAAC,EAA4B,MAAA;AAAA,6BACtBA,CAAqB;AAAA,IAC9CF,MAAW,IAAI,yBAAyBE,CAAqB,MAAM,EAAE;AAAA,aAC5DD,IAAW,SAAS,MAAM;AAAA;AAEvC,GAEME,IAAyBL,EAAOC,CAAQ;AAAA;AAAA,GAIxCK,IAAkBN,EAAO;AAAA;AAAA;AAAA;AAAA,GAMzBO,IAAmBP,EAAOC,CAAQ;AAAA;AAAA,GAIlCO,IAAiBR,EAAOS,CAAQ;AAAA;AAAA;"}
@@ -1,83 +0,0 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { memo as C, useCallback as p } from "react";
3
- import { useTheme as u } from "styled-components";
4
- import b from "../../layout/flex-view.js";
5
- import x from "../../separator/separator.js";
6
- import s from "../../text/text.js";
7
- import { EDeviceType as I } from "../../theme/constants.js";
8
- import { Container as g, ContentContainer as w, AccordionItemContainer as T, StyledPlusIcon as y, AccordionAnswer as B } from "./accordion-items-styled.js";
9
- const M = C((d) => {
10
- const { item: o, index: r, theme: m, refList: a, iconRef: f, visible: $, handleToggle: c } = d, { device: h } = u(), l = h === I.MOBILE, n = m === "dark", A = p(() => {
11
- c(r);
12
- }, [c, r]);
13
- return /* @__PURE__ */ e(
14
- g,
15
- {
16
- $flexDirection: "column",
17
- $justifyContent: "center",
18
- $alignItems: "flex-start",
19
- $index: r,
20
- $visible: $,
21
- onClick: A,
22
- $accordionBorderColor: n ? "WHITE" : "BLACK",
23
- children: /* @__PURE__ */ t(
24
- w,
25
- {
26
- $flexDirection: "column",
27
- $justifyContent: "center",
28
- $alignItems: "flex-start",
29
- $gap: 24,
30
- children: [
31
- /* @__PURE__ */ t(
32
- T,
33
- {
34
- $width: "100%",
35
- $flexDirection: "row",
36
- $justifyContent: "space-between",
37
- $alignItems: "center",
38
- children: [
39
- /* @__PURE__ */ e(s, { $renderAs: "ab1", $renderOnMobileAs: "ab2", $color: n ? "WHITE" : "BLACK", children: o.accordionQuestion + o.accordionQuestion }),
40
- /* @__PURE__ */ e(b, { children: /* @__PURE__ */ e(
41
- y,
42
- {
43
- color: n ? "WHITE" : "BLACK",
44
- width: l ? 24 : 40,
45
- height: l ? 24 : 40,
46
- ref: (i) => {
47
- f[r] = i;
48
- }
49
- }
50
- ) })
51
- ]
52
- }
53
- ),
54
- /* @__PURE__ */ t(
55
- B,
56
- {
57
- ref: (i) => {
58
- a[r] = i;
59
- },
60
- children: [
61
- /* @__PURE__ */ e(x, { height: 12 }),
62
- typeof o.accordionAnswer == "string" ? /* @__PURE__ */ e(
63
- s,
64
- {
65
- $renderAs: "ub2-bold",
66
- $renderOnMobileAs: "ub3-bold",
67
- $color: n ? "WHITE" : "BLACK",
68
- children: o.accordionAnswer
69
- }
70
- ) : o.accordionAnswer
71
- ]
72
- }
73
- )
74
- ]
75
- }
76
- )
77
- }
78
- );
79
- });
80
- export {
81
- M as default
82
- };
83
- //# sourceMappingURL=accordion-items.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion-items.js","sources":["../../../../../src/features/ui/accordion/accordion-items/accordion-items.tsx"],"sourcesContent":["import type { AccordionItemProps } from '../accordion-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport FlexView from '../../layout/flex-view';\nimport Separator from '../../separator/separator';\nimport Text from '../../text/text';\nimport { EDeviceType } from '../../theme/constants';\nimport * as Styled from './accordion-items-styled';\n\nconst AccordionItem: FC<AccordionItemProps> = memo(props => {\n const { item, index, theme, refList, iconRef, visible, handleToggle } = props;\n const { device } = useTheme();\n const isMobile = device === EDeviceType.MOBILE;\n const isDarkTheme = theme === 'dark';\n\n const handleClick = useCallback(() => {\n handleToggle(index);\n }, [handleToggle, index]);\n\n return (\n <Styled.Container\n $flexDirection=\"column\"\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $index={index}\n $visible={visible}\n onClick={handleClick}\n $accordionBorderColor={isDarkTheme ? 'WHITE' : 'BLACK'}\n >\n <Styled.ContentContainer\n $flexDirection=\"column\"\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $gap={24}\n >\n <Styled.AccordionItemContainer\n $width=\"100%\"\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n <Text $renderAs=\"ab1\" $renderOnMobileAs=\"ab2\" $color={isDarkTheme ? 'WHITE' : 'BLACK'}>\n {item.accordionQuestion + item.accordionQuestion}\n </Text>\n <FlexView>\n <Styled.StyledPlusIcon\n color={isDarkTheme ? 'WHITE' : 'BLACK'}\n width={isMobile ? 24 : 40}\n height={isMobile ? 24 : 40}\n ref={node => {\n iconRef[index] = node;\n }}\n />\n </FlexView>\n </Styled.AccordionItemContainer>\n\n <Styled.AccordionAnswer\n ref={node => {\n refList[index] = node;\n }}\n >\n <Separator height={12} />\n {typeof item.accordionAnswer === 'string' ? (\n <Text\n $renderAs=\"ub2-bold\"\n $renderOnMobileAs=\"ub3-bold\"\n $color={isDarkTheme ? 'WHITE' : 'BLACK'}\n >\n {item.accordionAnswer}\n </Text>\n ) : (\n item.accordionAnswer\n )}\n </Styled.AccordionAnswer>\n </Styled.ContentContainer>\n </Styled.Container>\n );\n});\n\nexport default AccordionItem;\n"],"names":["AccordionItem","memo","props","item","index","theme","refList","iconRef","visible","handleToggle","device","useTheme","isMobile","EDeviceType","isDarkTheme","handleClick","useCallback","jsx","Styled.Container","jsxs","Styled.ContentContainer","Styled.AccordionItemContainer","Text","FlexView","Styled.StyledPlusIcon","node","Styled.AccordionAnswer","Separator"],"mappings":";;;;;;;;AAYM,MAAAA,IAAwCC,EAAK,CAASC,MAAA;AACpD,QAAA,EAAE,MAAAC,GAAM,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,SAAAC,GAAS,SAAAC,GAAS,cAAAC,EAAiB,IAAAP,GAClE,EAAE,QAAAQ,MAAWC,KACbC,IAAWF,MAAWG,EAAY,QAClCC,IAAcT,MAAU,QAExBU,IAAcC,EAAY,MAAM;AACpC,IAAAP,EAAaL,CAAK;AAAA,EAAA,GACjB,CAACK,GAAcL,CAAK,CAAC;AAGtB,SAAA,gBAAAa;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,QAAQd;AAAA,MACR,UAAUI;AAAA,MACV,SAASO;AAAA,MACT,uBAAuBD,IAAc,UAAU;AAAA,MAE/C,UAAA,gBAAAK;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,gBAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,aAAY;AAAA,UACZ,MAAM;AAAA,UAEN,UAAA;AAAA,YAAA,gBAAAD;AAAA,cAACE;AAAAA,cAAA;AAAA,gBACC,QAAO;AAAA,gBACP,gBAAe;AAAA,gBACf,iBAAgB;AAAA,gBAChB,aAAY;AAAA,gBAEZ,UAAA;AAAA,kBAAA,gBAAAJ,EAACK,GAAK,EAAA,WAAU,OAAM,mBAAkB,OAAM,QAAQR,IAAc,UAAU,SAC3E,UAAAX,EAAK,oBAAoBA,EAAK,mBACjC;AAAA,oCACCoB,GACC,EAAA,UAAA,gBAAAN;AAAA,oBAACO;AAAAA,oBAAA;AAAA,sBACC,OAAOV,IAAc,UAAU;AAAA,sBAC/B,OAAOF,IAAW,KAAK;AAAA,sBACvB,QAAQA,IAAW,KAAK;AAAA,sBACxB,KAAK,CAAQa,MAAA;AACX,wBAAAlB,EAAQH,CAAK,IAAIqB;AAAA,sBACnB;AAAA,oBAAA;AAAA,kBAAA,GAEJ;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,YAEA,gBAAAN;AAAA,cAACO;AAAAA,cAAA;AAAA,gBACC,KAAK,CAAQD,MAAA;AACX,kBAAAnB,EAAQF,CAAK,IAAIqB;AAAA,gBACnB;AAAA,gBAEA,UAAA;AAAA,kBAAC,gBAAAR,EAAAU,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,kBACtB,OAAOxB,EAAK,mBAAoB,WAC/B,gBAAAc;AAAA,oBAACK;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,mBAAkB;AAAA,sBAClB,QAAQR,IAAc,UAAU;AAAA,sBAE/B,UAAKX,EAAA;AAAA,oBAAA;AAAA,sBAGRA,EAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,YAET;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -1,62 +0,0 @@
1
- import { jsxs as k, jsx as f } from "react/jsx-runtime";
2
- import { memo as C, useState as $, useMemo as b, useCallback as m, useEffect as x } from "react";
3
- import H from "../layout/flex-view.js";
4
- import R from "../separator/separator.js";
5
- import V from "../text/text.js";
6
- import w from "./accordion-items/accordion-items.js";
7
- const y = C((S) => {
8
- const { theme: p = "light", visibleBuffer: i, accordionData: c, defaultOpenElement: v = -1 } = S, [l, g] = $(i), [o, E] = $(v), r = b(() => [], []), s = b(() => [], []), T = p === "dark", A = m(() => {
9
- g((e) => e < c.length ? c.length : i);
10
- }, [c.length, i]), n = m((e, t) => {
11
- e instanceof HTMLDivElement ? e.style.maxHeight = t ? `${e.scrollHeight}px` : "0px" : e instanceof SVGSVGElement && (e.style.transform = t ? "rotateZ(45deg)" : "rotateZ(0deg)");
12
- }, []), D = m(
13
- (e) => {
14
- const t = r[e], h = s[e];
15
- if (!t || !h) return;
16
- const a = o === e, L = a ? -1 : e;
17
- if (o !== -1 && o !== e) {
18
- const u = r[o], d = s[o];
19
- u && d && (n(u, !1), n(d, !1));
20
- }
21
- n(t, !a), n(h, !a), E(L);
22
- },
23
- [r, s, o, n]
24
- );
25
- return x(() => {
26
- g(i);
27
- }, [i]), x(() => {
28
- o !== -1 && r[o] && s[o] && (n(r[o], !0), n(s[o], !0));
29
- }, [l, o, r, s, n]), /* @__PURE__ */ k(H, { $flexDirection: "column", children: [
30
- c.map((e, t) => /* @__PURE__ */ f(
31
- w,
32
- {
33
- item: e,
34
- index: t,
35
- handleToggle: D,
36
- refList: r,
37
- iconRef: s,
38
- visible: t < l,
39
- theme: p
40
- },
41
- `${e.accordionQuestion}-${t}`
42
- )),
43
- /* @__PURE__ */ f(R, { height: 24 }),
44
- /* @__PURE__ */ f(
45
- V,
46
- {
47
- $renderAs: "ub3-bold",
48
- $align: "center",
49
- $textDecoration: "underline",
50
- $marginBottom: 24,
51
- onClick: A,
52
- $color: T ? "WHITE" : "BLACK",
53
- $cursor: "pointer",
54
- children: l < c.length ? "See More" : "See Less"
55
- }
56
- )
57
- ] });
58
- }), Z = y;
59
- export {
60
- Z as default
61
- };
62
- //# sourceMappingURL=accordion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion.js","sources":["../../../../src/features/ui/accordion/accordion.tsx"],"sourcesContent":["import type { AccordionProps } from './accordion-types';\n\nimport { useCallback, useEffect, useMemo, useState, memo } from 'react';\n\nimport FlexView from '../layout/flex-view';\nimport Separator from '../separator/separator';\nimport Text from '../text/text';\nimport AccordionItem from './accordion-items/accordion-items';\n\nconst Accordion = memo<AccordionProps>(props => {\n const { theme = 'light', visibleBuffer, accordionData, defaultOpenElement = -1 } = props;\n const [visible, setVisible] = useState(visibleBuffer);\n const [openIndex, setOpenIndex] = useState<number>(defaultOpenElement);\n const refList = useMemo<(HTMLDivElement | null)[]>(() => [], []);\n const iconRef = useMemo<(SVGSVGElement | null)[]>(() => [], []);\n const isDarkTheme = theme === 'dark';\n\n const handleShowToggle = useCallback(() => {\n setVisible(prev => (prev < accordionData.length ? accordionData.length : visibleBuffer));\n }, [accordionData.length, visibleBuffer]);\n\n const animateElement = useCallback((element: HTMLElement | SVGElement, isOpen: boolean) => {\n if (element instanceof HTMLDivElement) {\n element.style.maxHeight = isOpen ? `${element.scrollHeight}px` : '0px';\n } else if (element instanceof SVGSVGElement) {\n element.style.transform = isOpen ? 'rotateZ(45deg)' : 'rotateZ(0deg)';\n }\n }, []);\n\n const handleToggle = useCallback(\n (currentIndex: number) => {\n const currentRefList = refList[currentIndex];\n const currentIconRef = iconRef[currentIndex];\n\n if (!currentRefList || !currentIconRef) return;\n\n const isCurrentlyOpen = openIndex === currentIndex;\n const newOpenIndex = isCurrentlyOpen ? -1 : currentIndex;\n\n // Close previously open item\n if (openIndex !== -1 && openIndex !== currentIndex) {\n const prevRef = refList[openIndex];\n const prevIcon = iconRef[openIndex];\n\n if (prevRef && prevIcon) {\n animateElement(prevRef, false);\n animateElement(prevIcon, false);\n }\n }\n\n // Toggle current item\n animateElement(currentRefList, !isCurrentlyOpen);\n animateElement(currentIconRef, !isCurrentlyOpen);\n\n setOpenIndex(newOpenIndex);\n },\n [refList, iconRef, openIndex, animateElement],\n );\n\n useEffect(() => {\n setVisible(visibleBuffer);\n }, [visibleBuffer]);\n\n useEffect(() => {\n if (openIndex !== -1 && refList[openIndex] && iconRef[openIndex]) {\n animateElement(refList[openIndex]!, true);\n animateElement(iconRef[openIndex]!, true);\n }\n }, [visible, openIndex, refList, iconRef, animateElement]);\n\n return (\n <FlexView $flexDirection=\"column\">\n {accordionData.map((item, index) => (\n <AccordionItem\n key={`${item.accordionQuestion}-${index}`}\n item={item}\n index={index}\n handleToggle={handleToggle}\n refList={refList}\n iconRef={iconRef}\n visible={index < visible}\n theme={theme}\n />\n ))}\n <Separator height={24} />\n <Text\n $renderAs=\"ub3-bold\"\n $align=\"center\"\n $textDecoration=\"underline\"\n $marginBottom={24}\n onClick={handleShowToggle}\n $color={isDarkTheme ? 'WHITE' : 'BLACK'}\n $cursor=\"pointer\"\n >\n {visible < accordionData.length ? 'See More' : 'See Less'}\n </Text>\n </FlexView>\n );\n});\n\nexport default Accordion;\n"],"names":["Accordion","memo","props","theme","visibleBuffer","accordionData","defaultOpenElement","visible","setVisible","useState","openIndex","setOpenIndex","refList","useMemo","iconRef","isDarkTheme","handleShowToggle","useCallback","prev","animateElement","element","isOpen","handleToggle","currentIndex","currentRefList","currentIconRef","isCurrentlyOpen","newOpenIndex","prevRef","prevIcon","useEffect","jsxs","FlexView","item","index","jsx","AccordionItem","Separator","Text","Accordion$1"],"mappings":";;;;;;AASA,MAAMA,IAAYC,EAAqB,CAASC,MAAA;AAC9C,QAAM,EAAE,OAAAC,IAAQ,SAAS,eAAAC,GAAe,eAAAC,GAAe,oBAAAC,IAAqB,GAAO,IAAAJ,GAC7E,CAACK,GAASC,CAAU,IAAIC,EAASL,CAAa,GAC9C,CAACM,GAAWC,CAAY,IAAIF,EAAiBH,CAAkB,GAC/DM,IAAUC,EAAmC,MAAM,CAAC,GAAG,CAAE,CAAA,GACzDC,IAAUD,EAAkC,MAAM,CAAC,GAAG,CAAE,CAAA,GACxDE,IAAcZ,MAAU,QAExBa,IAAmBC,EAAY,MAAM;AACzC,IAAAT,EAAW,OAASU,IAAOb,EAAc,SAASA,EAAc,SAASD,CAAc;AAAA,EACtF,GAAA,CAACC,EAAc,QAAQD,CAAa,CAAC,GAElCe,IAAiBF,EAAY,CAACG,GAAmCC,MAAoB;AACzF,IAAID,aAAmB,iBACrBA,EAAQ,MAAM,YAAYC,IAAS,GAAGD,EAAQ,YAAY,OAAO,QACxDA,aAAmB,kBACpBA,EAAA,MAAM,YAAYC,IAAS,mBAAmB;AAAA,EAE1D,GAAG,CAAE,CAAA,GAECC,IAAeL;AAAA,IACnB,CAACM,MAAyB;AAClB,YAAAC,IAAiBZ,EAAQW,CAAY,GACrCE,IAAiBX,EAAQS,CAAY;AAEvC,UAAA,CAACC,KAAkB,CAACC,EAAgB;AAExC,YAAMC,IAAkBhB,MAAca,GAChCI,IAAeD,IAAkB,KAAKH;AAGxC,UAAAb,MAAc,MAAMA,MAAca,GAAc;AAC5C,cAAAK,IAAUhB,EAAQF,CAAS,GAC3BmB,IAAWf,EAAQJ,CAAS;AAElC,QAAIkB,KAAWC,MACbV,EAAeS,GAAS,EAAK,GAC7BT,EAAeU,GAAU,EAAK;AAAA,MAElC;AAGe,MAAAV,EAAAK,GAAgB,CAACE,CAAe,GAChCP,EAAAM,GAAgB,CAACC,CAAe,GAE/Cf,EAAagB,CAAY;AAAA,IAC3B;AAAA,IACA,CAACf,GAASE,GAASJ,GAAWS,CAAc;AAAA,EAAA;AAG9C,SAAAW,EAAU,MAAM;AACd,IAAAtB,EAAWJ,CAAa;AAAA,EAAA,GACvB,CAACA,CAAa,CAAC,GAElB0B,EAAU,MAAM;AACd,IAAIpB,MAAc,MAAME,EAAQF,CAAS,KAAKI,EAAQJ,CAAS,MAC9CS,EAAAP,EAAQF,CAAS,GAAI,EAAI,GACzBS,EAAAL,EAAQJ,CAAS,GAAI,EAAI;AAAA,EAC1C,GACC,CAACH,GAASG,GAAWE,GAASE,GAASK,CAAc,CAAC,GAGvD,gBAAAY,EAACC,GAAS,EAAA,gBAAe,UACtB,UAAA;AAAA,IAAc3B,EAAA,IAAI,CAAC4B,GAAMC,MACxB,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QAEC,MAAAH;AAAA,QACA,OAAAC;AAAA,QACA,cAAAZ;AAAA,QACA,SAAAV;AAAA,QACA,SAAAE;AAAA,QACA,SAASoB,IAAQ3B;AAAA,QACjB,OAAAJ;AAAA,MAAA;AAAA,MAPK,GAAG8B,EAAK,iBAAiB,IAAIC,CAAK;AAAA,IAAA,CAS1C;AAAA,IACD,gBAAAC,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,QAAO;AAAA,QACP,iBAAgB;AAAA,QAChB,eAAe;AAAA,QACf,SAAStB;AAAA,QACT,QAAQD,IAAc,UAAU;AAAA,QAChC,SAAQ;AAAA,QAEP,UAAAR,IAAUF,EAAc,SAAS,aAAa;AAAA,MAAA;AAAA,IACjD;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAEDkC,IAAevC;"}
@@ -1,6 +0,0 @@
1
- const T = 8, R = 100;
2
- export {
3
- T as DEFAULT_ARROW_SIZE,
4
- R as THROTTLE_DURATION
5
- };
6
- //# sourceMappingURL=arrow-tooltip-constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrow-tooltip-constants.js","sources":["../../../../src/features/ui/arrow-tooltip/arrow-tooltip-constants.ts"],"sourcesContent":["export const DEFAULT_ARROW_SIZE = 8;\nexport const THROTTLE_DURATION = 100;\n"],"names":["DEFAULT_ARROW_SIZE","THROTTLE_DURATION"],"mappings":"AAAO,MAAMA,IAAqB,GACrBC,IAAoB;"}
@@ -1,63 +0,0 @@
1
- import w from "styled-components";
2
- import y from "../../layout/flex-view.js";
3
- import { arrowPosition as T, tooltipPosition as k, animateToolTip as m } from "../arrow-tooltip-util.js";
4
- const P = w(y)(({
5
- theme: o,
6
- $arrowColor: r,
7
- $arrowSize: t,
8
- $arrowXCoOrdinates: c,
9
- $arrowYCoOrdinates: d,
10
- $borderColor: p,
11
- $isAnimated: x,
12
- $position: n,
13
- $renderAs: s,
14
- $tooltipCoOrdinates: e,
15
- $tooltipOffset: f,
16
- $tooltipXCoOrdinates: g,
17
- $tooltipYCoOrdinates: u,
18
- $zIndex: C,
19
- $backgroundColor: O
20
- }) => {
21
- const { gutter: l } = o.layout, { REAL_BLACK_15: $ } = o.colors, { tooltipVariants: a } = o.arrowTooltip;
22
- let { backgroundColorName: i } = a[s];
23
- const { textColorName: b } = a[s];
24
- return i = O || i, `
25
- position: fixed;
26
- z-index: ${C || 1};
27
- padding: ${l * 0.25}px ${l * 0.5}px;
28
- color: ${b};
29
- box-shadow: 0px 2px 15px 0px ${$};
30
- background-color: ${o.colors[i]};
31
- border: 1px solid ${p ? o.colors[p] : "transparent"};
32
-
33
- &::after {
34
- content: '';
35
- position: absolute;
36
- height: ${t}px;
37
- width: ${t}px;
38
- clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
39
- background-color: ${r ? o.colors[r] : o.colors[i]};
40
- ${T({
41
- position: n,
42
- arrowXCoOrdinates: c,
43
- arrowYCoOrdinates: d,
44
- arrowSize: t
45
- })};
46
- }
47
-
48
- ${k({
49
- position: n,
50
- arrowSize: t,
51
- tooltipCoOrdinates: e,
52
- tooltipOffset: f,
53
- tooltipXCoOrdinates: g,
54
- tooltipYCoOrdinates: u
55
- })};
56
-
57
- ${m(x)};
58
- `;
59
- });
60
- export {
61
- P as TooltipBody
62
- };
63
- //# sourceMappingURL=tooltip-body-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip-body-styled.js","sources":["../../../../../src/features/ui/arrow-tooltip/comps/tooltip-body-styled.ts"],"sourcesContent":["import type { ITooltipBodyProps } from './tooltip-body-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../layout/flex-view';\nimport { animateToolTip, arrowPosition, tooltipPosition } from '../arrow-tooltip-util';\n\nexport const TooltipBody = styled(FlexView)<ITooltipBodyProps>(({\n theme,\n $arrowColor,\n $arrowSize,\n $arrowXCoOrdinates,\n $arrowYCoOrdinates,\n $borderColor,\n $isAnimated,\n $position,\n $renderAs,\n $tooltipCoOrdinates,\n $tooltipOffset,\n $tooltipXCoOrdinates,\n $tooltipYCoOrdinates,\n $zIndex,\n $backgroundColor,\n}) => {\n const { gutter } = theme.layout;\n const { REAL_BLACK_15 } = theme.colors;\n const { tooltipVariants } = theme.arrowTooltip;\n let { backgroundColorName } = tooltipVariants[$renderAs];\n const { textColorName } = tooltipVariants[$renderAs];\n\n backgroundColorName = $backgroundColor || backgroundColorName;\n\n return `\n position: fixed;\n z-index: ${$zIndex || 1};\n padding: ${gutter * 0.25}px ${gutter * 0.5}px;\n color: ${textColorName};\n box-shadow: 0px 2px 15px 0px ${REAL_BLACK_15};\n background-color: ${theme.colors[backgroundColorName]};\n border: 1px solid ${$borderColor ? theme.colors[$borderColor] : 'transparent'};\n\n &::after {\n content: '';\n position: absolute;\n height: ${$arrowSize}px;\n width: ${$arrowSize}px;\n clip-path: polygon(0% 0%, 100% 100%, 0% 100%);\n background-color: ${\n $arrowColor ? theme.colors[$arrowColor] : theme.colors[backgroundColorName]\n };\n ${arrowPosition({\n position: $position,\n arrowXCoOrdinates: $arrowXCoOrdinates,\n arrowYCoOrdinates: $arrowYCoOrdinates,\n arrowSize: $arrowSize,\n })};\n }\n\n ${tooltipPosition({\n position: $position,\n arrowSize: $arrowSize,\n tooltipCoOrdinates: $tooltipCoOrdinates,\n tooltipOffset: $tooltipOffset,\n tooltipXCoOrdinates: $tooltipXCoOrdinates,\n tooltipYCoOrdinates: $tooltipYCoOrdinates,\n })};\n\n ${animateToolTip($isAnimated)};\n `;\n});\n"],"names":["TooltipBody","styled","FlexView","theme","$arrowColor","$arrowSize","$arrowXCoOrdinates","$arrowYCoOrdinates","$borderColor","$isAnimated","$position","$renderAs","$tooltipCoOrdinates","$tooltipOffset","$tooltipXCoOrdinates","$tooltipYCoOrdinates","$zIndex","$backgroundColor","gutter","REAL_BLACK_15","tooltipVariants","backgroundColorName","textColorName","arrowPosition","tooltipPosition","animateToolTip"],"mappings":";;;AAOO,MAAMA,IAAcC,EAAOC,CAAQ,EAAqB,CAAC;AAAA,EAC9D,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAO,IAAIf,EAAM,QACnB,EAAE,eAAAgB,EAAc,IAAIhB,EAAM,QAC1B,EAAE,iBAAAiB,EAAgB,IAAIjB,EAAM;AAClC,MAAI,EAAE,qBAAAkB,EAAA,IAAwBD,EAAgBT,CAAS;AACvD,QAAM,EAAE,eAAAW,EAAA,IAAkBF,EAAgBT,CAAS;AAEnD,SAAAU,IAAsBJ,KAAoBI,GAEnC;AAAA;AAAA,eAEML,KAAW,CAAC;AAAA,eACZE,IAAS,IAAI,MAAMA,IAAS,GAAG;AAAA,aACjCI,CAAa;AAAA,mCACSH,CAAa;AAAA,wBACxBhB,EAAM,OAAOkB,CAAmB,CAAC;AAAA,wBACjCb,IAAeL,EAAM,OAAOK,CAAY,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKjEH,CAAU;AAAA,eACXA,CAAU;AAAA;AAAA,0BAGjBD,IAAcD,EAAM,OAAOC,CAAW,IAAID,EAAM,OAAOkB,CAAmB,CAC5E;AAAA,QACEE,EAAc;AAAA,IACd,UAAUb;AAAA,IACV,mBAAmBJ;AAAA,IACnB,mBAAmBC;AAAA,IACnB,WAAWF;AAAA,EAAA,CACZ,CAAC;AAAA;AAAA;AAAA,MAGFmB,EAAgB;AAAA,IAChB,UAAUd;AAAA,IACV,WAAWL;AAAA,IACX,oBAAoBO;AAAA,IACpB,eAAeC;AAAA,IACf,qBAAqBC;AAAA,IACrB,qBAAqBC;AAAA,EAAA,CACtB,CAAC;AAAA;AAAA,MAEAU,EAAehB,CAAW,CAAC;AAAA;AAEjC,CAAC;"}
@@ -1,21 +0,0 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { memo as i } from "react";
3
- import { useTheme as n } from "styled-components";
4
- import l from "../../text/text.js";
5
- import { TooltipBody as m } from "./tooltip-body-styled.js";
6
- const d = (o) => {
7
- const { arrowTooltip: r } = n(), { tooltipVariants: e } = r;
8
- return /* @__PURE__ */ t(m, { ...o, children: typeof o.children == "string" ? /* @__PURE__ */ t(
9
- l,
10
- {
11
- $renderAs: o.textVariant || "body3",
12
- $color: e[o.$renderAs].textColorName,
13
- $align: "center",
14
- children: o.children
15
- }
16
- ) : o.children });
17
- }, h = i(d);
18
- export {
19
- h as default
20
- };
21
- //# sourceMappingURL=tooltip-body.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip-body.js","sources":["../../../../../src/features/ui/arrow-tooltip/comps/tooltip-body.tsx"],"sourcesContent":["import type { ITooltipBodyProps } from './tooltip-body-types';\n\nimport React, { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../../text/text';\nimport * as Styled from './tooltip-body-styled';\n\nconst TooltipBody: React.FC<ITooltipBodyProps> = props => {\n const { arrowTooltip } = useTheme();\n const { tooltipVariants } = arrowTooltip;\n\n return (\n <Styled.TooltipBody {...props}>\n {typeof props.children === 'string' ? (\n <Text\n $renderAs={props.textVariant || 'body3'}\n $color={tooltipVariants[props.$renderAs].textColorName}\n $align=\"center\"\n >\n {props.children}\n </Text>\n ) : (\n props.children\n )}\n </Styled.TooltipBody>\n );\n};\n\nexport default memo(TooltipBody);\n"],"names":["TooltipBody","props","arrowTooltip","useTheme","tooltipVariants","jsx","Styled.TooltipBody","Text","TooltipBody$1","memo"],"mappings":";;;;;AAQA,MAAMA,IAA2C,CAASC,MAAA;AAClD,QAAA,EAAE,cAAAC,MAAiBC,KACnB,EAAE,iBAAAC,EAAoB,IAAAF;AAG1B,SAAA,gBAAAG,EAACC,GAAA,EAAoB,GAAGL,GACrB,UAAA,OAAOA,EAAM,YAAa,WACzB,gBAAAI;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWN,EAAM,eAAe;AAAA,MAChC,QAAQG,EAAgBH,EAAM,SAAS,EAAE;AAAA,MACzC,QAAO;AAAA,MAEN,UAAMA,EAAA;AAAA,IAAA;AAAA,EAAA,IAGTA,EAAM,SAEV,CAAA;AAEJ,GAEeO,IAAAC,EAAKT,CAAW;"}
@@ -1,34 +0,0 @@
1
- import o from "styled-components";
2
- import e from "../layout/flex-view.js";
3
- const a = o.div`
4
- position: fixed;
5
- top: 0;
6
- bottom: 0;
7
- left: ${({ $position: t }) => t === "left" ? 0 : "auto"};
8
- right: ${({ $position: t }) => t === "right" ? 0 : "auto"};
9
- width: 100%;
10
- height: 100%;
11
- z-index: ${({ $zIndex: t }) => t ?? 999};
12
- pointer-events: ${({ $isOpen: t }) => t ? "auto" : "none"};
13
- `, s = o(e)`
14
- position: absolute;
15
- top: 0;
16
- bottom: 0;
17
- ${({ $position: t }) => t === "left" ? "left: 0;" : "right: 0;"}
18
- width: ${({ $drawerWidth: t }) => typeof t == "number" ? `${t}px` : t};
19
- transform: ${({ $isOpen: t, $position: i }) => t ? "translateX(0)" : i === "left" ? "translateX(-100%)" : "translateX(100%)"};
20
- transition: transform 0.3s ease-in-out;
21
- height: 100%;
22
- `, p = o(e)`
23
- position: absolute;
24
- inset: 0;
25
- backdrop-filter: blur(40px);
26
- opacity: ${({ $isOpen: t }) => t ? 1 : 0};
27
- transition: opacity 0.3s ease-in-out;
28
- `;
29
- export {
30
- p as DrawerBackdrop,
31
- a as DrawerContainer,
32
- s as DrawerPanel
33
- };
34
- //# sourceMappingURL=drawer-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawer-styled.js","sources":["../../../../src/features/ui/drawer/drawer-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\ninterface DrawerContainerProps {\n $isOpen: boolean;\n $position: 'left' | 'right';\n $zIndex?: number;\n}\n\ninterface DrawerPanelProps extends DrawerContainerProps {\n $drawerWidth: number | string;\n}\n\nexport const DrawerContainer = styled.div<DrawerContainerProps>`\n position: fixed;\n top: 0;\n bottom: 0;\n left: ${({ $position }) => ($position === 'left' ? 0 : 'auto')};\n right: ${({ $position }) => ($position === 'right' ? 0 : 'auto')};\n width: 100%;\n height: 100%;\n z-index: ${({ $zIndex }) => $zIndex ?? 999};\n pointer-events: ${({ $isOpen }) => ($isOpen ? 'auto' : 'none')};\n`;\n\nexport const DrawerPanel = styled(FlexView)<DrawerPanelProps>`\n position: absolute;\n top: 0;\n bottom: 0;\n ${({ $position }) => ($position === 'left' ? 'left: 0;' : 'right: 0;')}\n width: ${({ $drawerWidth }) =>\n typeof $drawerWidth === 'number' ? `${$drawerWidth}px` : $drawerWidth};\n transform: ${({ $isOpen, $position }) =>\n $isOpen ? 'translateX(0)' : $position === 'left' ? 'translateX(-100%)' : 'translateX(100%)'};\n transition: transform 0.3s ease-in-out;\n height: 100%;\n`;\n\nexport const DrawerBackdrop = styled(FlexView)<{ $isOpen: boolean }>`\n position: absolute;\n inset: 0;\n backdrop-filter: blur(40px);\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n transition: opacity 0.3s ease-in-out;\n`;\n"],"names":["DrawerContainer","styled","$position","$zIndex","$isOpen","DrawerPanel","FlexView","$drawerWidth","DrawerBackdrop"],"mappings":";;AAcO,MAAMA,IAAkBC,EAAO;AAAA;AAAA;AAAA;AAAA,UAI5B,CAAC,EAAE,WAAAC,QAAiBA,MAAc,SAAS,IAAI,MAAO;AAAA,WACrD,CAAC,EAAE,WAAAA,QAAiBA,MAAc,UAAU,IAAI,MAAO;AAAA;AAAA;AAAA,aAGrD,CAAC,EAAE,SAAAC,QAAcA,KAAW,GAAG;AAAA,oBACxB,CAAC,EAAE,SAAAC,EAAA,MAAeA,IAAU,SAAS,MAAO;AAAA,GAGnDC,IAAcJ,EAAOK,CAAQ;AAAA;AAAA;AAAA;AAAA,IAItC,CAAC,EAAE,WAAAJ,QAAiBA,MAAc,SAAS,aAAa,WAAY;AAAA,WAC7D,CAAC,EAAE,cAAAK,EACV,MAAA,OAAOA,KAAiB,WAAW,GAAGA,CAAY,OAAOA,CAAY;AAAA,eAC1D,CAAC,EAAE,SAAAH,GAAS,WAAAF,QACvBE,IAAU,kBAAkBF,MAAc,SAAS,sBAAsB,kBAAkB;AAAA;AAAA;AAAA,GAKlFM,IAAiBP,EAAOK,CAAQ;AAAA;AAAA;AAAA;AAAA,aAIhC,CAAC,EAAE,SAAAF,EAAA,MAAeA,IAAU,IAAI,CAAE;AAAA;AAAA;"}
@@ -1,42 +0,0 @@
1
- import { jsxs as s, jsx as c } from "react/jsx-runtime";
2
- import { memo as $, useRef as w, useEffect as k } from "react";
3
- import { DrawerContainer as D, DrawerBackdrop as _, DrawerPanel as p } from "./drawer-styled.js";
4
- const E = $(
5
- ({ isOpen: r, onClose: e, children: i, drawerWidth: o = 300, position: n = "left", zIndex: u, theme: m = "dark" }) => {
6
- const t = w(null);
7
- k(() => {
8
- const d = (f) => {
9
- t.current && !t.current.contains(f.target) && (e == null || e());
10
- };
11
- return r && document.addEventListener("mousedown", d), () => {
12
- document.removeEventListener("mousedown", d);
13
- };
14
- }, [r, e]);
15
- const a = m === "dark";
16
- return /* @__PURE__ */ s(D, { $isOpen: r, $position: n, $zIndex: u, children: [
17
- /* @__PURE__ */ c(
18
- _,
19
- {
20
- $isOpen: r,
21
- onClick: e,
22
- $background: a ? "WHITE_T_10" : "BLACK_T_38"
23
- }
24
- ),
25
- /* @__PURE__ */ c(
26
- p,
27
- {
28
- ref: t,
29
- $isOpen: r,
30
- $position: n,
31
- $drawerWidth: o,
32
- $background: a ? "BLACK_3" : "WHITE_3",
33
- children: i
34
- }
35
- )
36
- ] });
37
- }
38
- ), L = E;
39
- export {
40
- L as default
41
- };
42
- //# sourceMappingURL=drawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawer.js","sources":["../../../../src/features/ui/drawer/drawer.tsx"],"sourcesContent":["import type { IDrawerProps } from './drawer-types';\nimport type { FC } from 'react';\n\nimport { memo, useEffect, useRef } from 'react';\n\nimport * as Styled from './drawer-styled';\n\nconst Drawer: FC<IDrawerProps> = memo(\n ({ isOpen, onClose, children, drawerWidth = 300, position = 'left', zIndex, theme = 'dark' }) => {\n const drawerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (drawerRef.current && !drawerRef.current.contains(e.target as Node)) {\n onClose?.();\n }\n };\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [isOpen, onClose]);\n\n const isDarkTheme = theme === 'dark';\n\n return (\n <Styled.DrawerContainer $isOpen={isOpen} $position={position} $zIndex={zIndex}>\n <Styled.DrawerBackdrop\n $isOpen={isOpen}\n onClick={onClose}\n $background={isDarkTheme ? 'WHITE_T_10' : 'BLACK_T_38'}\n />\n <Styled.DrawerPanel\n ref={drawerRef}\n $isOpen={isOpen}\n $position={position}\n $drawerWidth={drawerWidth}\n $background={isDarkTheme ? 'BLACK_3' : 'WHITE_3'}\n >\n {children}\n </Styled.DrawerPanel>\n </Styled.DrawerContainer>\n );\n },\n);\n\nexport default Drawer;\n"],"names":["Drawer","memo","isOpen","onClose","children","drawerWidth","position","zIndex","theme","drawerRef","useRef","useEffect","handleClickOutside","e","isDarkTheme","jsxs","Styled.DrawerContainer","jsx","Styled.DrawerBackdrop","Styled.DrawerPanel","Drawer$1"],"mappings":";;;AAOA,MAAMA,IAA2BC;AAAA,EAC/B,CAAC,EAAE,QAAAC,GAAQ,SAAAC,GAAS,UAAAC,GAAU,aAAAC,IAAc,KAAK,UAAAC,IAAW,QAAQ,QAAAC,GAAQ,OAAAC,IAAQ,OAAA,MAAa;AACzF,UAAAC,IAAYC,EAAuB,IAAI;AAE7C,IAAAC,EAAU,MAAM;AACR,YAAAC,IAAqB,CAACC,MAAkB;AACxC,QAAAJ,EAAU,WAAW,CAACA,EAAU,QAAQ,SAASI,EAAE,MAAc,MACzDV,KAAA,QAAAA;AAAA,MACZ;AAGF,aAAID,KACO,SAAA,iBAAiB,aAAaU,CAAkB,GAGpD,MAAM;AACF,iBAAA,oBAAoB,aAAaA,CAAkB;AAAA,MAAA;AAAA,IAC9D,GACC,CAACV,GAAQC,CAAO,CAAC;AAEpB,UAAMW,IAAcN,MAAU;AAG5B,WAAA,gBAAAO,EAACC,GAAA,EAAuB,SAASd,GAAQ,WAAWI,GAAU,SAASC,GACrE,UAAA;AAAA,MAAA,gBAAAU;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,SAAShB;AAAA,UACT,SAASC;AAAA,UACT,aAAaW,IAAc,eAAe;AAAA,QAAA;AAAA,MAC5C;AAAA,MACA,gBAAAG;AAAA,QAACE;AAAAA,QAAA;AAAA,UACC,KAAKV;AAAA,UACL,SAASP;AAAA,UACT,WAAWI;AAAA,UACX,cAAcD;AAAA,UACd,aAAaS,IAAc,YAAY;AAAA,UAEtC,UAAAV;AAAA,QAAA;AAAA,MACH;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF,GAEAgB,IAAepB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sticker-grid-styles.js","sources":["../../../../src/features/ui/sticker-grid/sticker-grid-styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StickerContainer = styled.div<{\n $size: number | string;\n $disabled?: boolean;\n}>`\n position: relative;\n width: ${({ $size }) => (typeof $size === 'number' ? `${$size}px` : $size)};\n height: ${({ $size }) => (typeof $size === 'number' ? `${$size}px` : $size)};\n cursor: ${({ $disabled }) => ($disabled ? 'none' : 'pointer')};\n border-radius: 8px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n background-color: transparent;\n opacity: ${({ $disabled }) => ($disabled ? 0.5 : 1)};\n\n &:hover {\n transform: ${({ $disabled }) => ($disabled ? 'none' : 'scale(1.1)')};\n background-color: rgba(255, 255, 255, 0.1);\n }\n\n &:active {\n transform: ${({ $disabled }) => ($disabled ? 'none' : 'scale(0.95)')};\n }\n`;\n\nexport const StaticEmoji = styled.div<{ $size: number | string }>`\n font-size: ${({ $size }) => {\n if (typeof $size === 'number') {\n return `${$size * 0.7}px`;\n }\n\n return '70%';\n }};\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n transition: opacity 0.2s ease;\n`;\n\nexport const LottieContainer = styled.div<{ $size: number | string }>`\n position: absolute;\n top: 50%;\n left: 50%;\n width: ${({ $size }) => (typeof $size === 'number' ? `${$size * 0.7}px` : $size)};\n height: ${({ $size }) => (typeof $size === 'number' ? `${$size * 0.7}px` : $size)};\n opacity: 0;\n transition: opacity 0.2s ease;\n transform: translate(-50%, -50%);\n pointer-events: none;\n\n ${StickerContainer}:hover & {\n opacity: 1;\n }\n`;\n\nexport const StickerGrid = styled.div<{\n $columns: number;\n $gap: number;\n}>`\n display: grid;\n grid-template-columns: repeat(${({ $columns }) => $columns}, 1fr);\n gap: ${({ $gap }) => $gap}px;\n padding: 16px;\n background-color: #2a2a2a;\n border-radius: 12px;\n max-height: 400px;\n overflow-y: auto;\n\n &::-webkit-scrollbar {\n width: 8px;\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(255, 255, 255, 0.1);\n border-radius: 4px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n border-radius: 4px;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background: rgba(255, 255, 255, 0.5);\n }\n`;\n\nexport const StickerGridContainer = styled.div<{\n $width: string;\n $height: string;\n}>`\n width: 100%;\n max-width: ${({ $width }) => $width};\n max-height: ${({ $height }) => $height};\n`;\n"],"names":["StickerContainer","styled","$size","$disabled","StaticEmoji","LottieContainer","StickerGrid","$columns","$gap","StickerGridContainer","$width","$height"],"mappings":";AAEO,MAAMA,IAAmBC,EAAO;AAAA;AAAA,WAK5B,CAAC,EAAE,OAAAC,EAAa,MAAA,OAAOA,KAAU,WAAW,GAAGA,CAAK,OAAOA,CAAM;AAAA,YAChE,CAAC,EAAE,OAAAA,EAAa,MAAA,OAAOA,KAAU,WAAW,GAAGA,CAAK,OAAOA,CAAM;AAAA,YACjE,CAAC,EAAE,WAAAC,EAAA,MAAiBA,IAAY,SAAS,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQlD,CAAC,EAAE,WAAAA,EAAA,MAAiBA,IAAY,MAAM,CAAE;AAAA;AAAA;AAAA,iBAGpC,CAAC,EAAE,WAAAA,EAAA,MAAiBA,IAAY,SAAS,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKtD,CAAC,EAAE,WAAAA,EAAA,MAAiBA,IAAY,SAAS,aAAc;AAAA;AAAA,GAI3DC,IAAcH,EAAO;AAAA,eACnB,CAAC,EAAE,OAAAC,QACV,OAAOA,KAAU,WACZ,GAAGA,IAAQ,GAAG,OAGhB,KACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUUG,IAAkBJ,EAAO;AAAA;AAAA;AAAA;AAAA,WAI3B,CAAC,EAAE,OAAAC,QAAa,OAAOA,KAAU,WAAW,GAAGA,IAAQ,GAAG,OAAOA,CAAM;AAAA,YACtE,CAAC,EAAE,OAAAA,QAAa,OAAOA,KAAU,WAAW,GAAGA,IAAQ,GAAG,OAAOA,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/EF,CAAgB;AAAA;AAAA;AAAA,GAKPM,IAAcL,EAAO;AAAA;AAAA,kCAKA,CAAC,EAAE,UAAAM,EAAS,MAAMA,CAAQ;AAAA,SACnD,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0BdC,IAAuBR,EAAO;AAAA;AAAA,eAK5B,CAAC,EAAE,QAAAS,EAAO,MAAMA,CAAM;AAAA,gBACrB,CAAC,EAAE,SAAAC,EAAQ,MAAMA,CAAO;AAAA;"}
@@ -1,24 +0,0 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { memo as d } from "react";
3
- import n from "./sticker.js";
4
- import { StickerGridContainer as a, StickerGrid as f } from "./sticker-grid-styles.js";
5
- const h = ({
6
- stickers: t,
7
- columns: i = 4,
8
- gap: e = 8,
9
- stickerSize: p = 48,
10
- onStickerClick: o
11
- }) => /* @__PURE__ */ m(a, { $width: "350px", $height: "400px", children: /* @__PURE__ */ m(f, { $columns: i, $gap: e, children: t.map((r) => /* @__PURE__ */ m(
12
- n,
13
- {
14
- emoji: r.emoji,
15
- lottieUrl: r.lottieUrl,
16
- size: p,
17
- onClick: () => o == null ? void 0 : o(r)
18
- },
19
- r.id
20
- )) }) }), $ = d(h);
21
- export {
22
- $ as default
23
- };
24
- //# sourceMappingURL=sticker-grid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sticker-grid.js","sources":["../../../../src/features/ui/sticker-grid/sticker-grid.tsx"],"sourcesContent":["import type { IStickerGridProps } from './sticker-grid-types';\n\nimport React, { memo } from 'react';\n\nimport Sticker from './sticker';\nimport { StickerGrid, StickerGridContainer } from './sticker-grid-styles';\n\nconst StickerGridComponent: React.FC<IStickerGridProps> = ({\n stickers,\n columns = 4,\n gap = 8,\n stickerSize = 48,\n onStickerClick,\n}) => {\n return (\n <StickerGridContainer $width=\"350px\" $height=\"400px\">\n <StickerGrid $columns={columns} $gap={gap}>\n {stickers.map(sticker => (\n <Sticker\n key={sticker.id}\n emoji={sticker.emoji}\n lottieUrl={sticker.lottieUrl}\n size={stickerSize}\n onClick={() => onStickerClick?.(sticker)}\n />\n ))}\n </StickerGrid>\n </StickerGridContainer>\n );\n};\n\nexport default memo(StickerGridComponent);\n"],"names":["StickerGridComponent","stickers","columns","gap","stickerSize","onStickerClick","jsx","StickerGridContainer","StickerGrid","sticker","Sticker","stickerGrid","memo"],"mappings":";;;;AAOA,MAAMA,IAAoD,CAAC;AAAA,EACzD,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,KAAAC,IAAM;AAAA,EACN,aAAAC,IAAc;AAAA,EACd,gBAAAC;AACF,MAEK,gBAAAC,EAAAC,GAAA,EAAqB,QAAO,SAAQ,SAAQ,SAC3C,UAAA,gBAAAD,EAACE,GAAY,EAAA,UAAUN,GAAS,MAAMC,GACnC,UAAAF,EAAS,IAAI,CACZQ,MAAA,gBAAAH;AAAA,EAACI;AAAA,EAAA;AAAA,IAEC,OAAOD,EAAQ;AAAA,IACf,WAAWA,EAAQ;AAAA,IACnB,MAAML;AAAA,IACN,SAAS,MAAMC,KAAA,gBAAAA,EAAiBI;AAAA,EAAO;AAAA,EAJlCA,EAAQ;AAAA,CAMhB,GACH,EACF,CAAA,GAIWE,IAAAC,EAAKZ,CAAoB;"}
@@ -1,57 +0,0 @@
1
- import { jsxs as p, jsx as s } from "react/jsx-runtime";
2
- import { memo as S, useState as v, useRef as L, useLayoutEffect as M, useCallback as i, useMemo as $ } from "react";
3
- import g from "../lottie-animation/lottie-animation.js";
4
- import { StickerContainer as k, StaticEmoji as E, LottieContainer as j } from "./sticker-grid-styles.js";
5
- const x = ({
6
- emoji: a,
7
- lottieUrl: c,
8
- size: t = 48,
9
- onClick: o,
10
- disabled: e = !1
11
- }) => {
12
- const [r, u] = v(!1), n = L(null);
13
- M(() => {
14
- n.current && n.current.playSegments([0, 1], !0);
15
- }, []);
16
- const f = i(() => {
17
- e || u(!0);
18
- }, [e]), m = i(() => {
19
- e || u(!1);
20
- }, [e]), l = i(() => {
21
- !e && o && o();
22
- }, [e, o]), h = $(
23
- () => ({
24
- loop: !0,
25
- renderer: "canvas",
26
- autoplay: r
27
- }),
28
- [r]
29
- );
30
- return /* @__PURE__ */ p(
31
- k,
32
- {
33
- $size: t,
34
- $disabled: e,
35
- onMouseEnter: f,
36
- onMouseLeave: m,
37
- onClick: l,
38
- children: [
39
- !r && /* @__PURE__ */ s(E, { $size: t, children: a }),
40
- c && /* @__PURE__ */ s(j, { $size: t, children: /* @__PURE__ */ s(
41
- g,
42
- {
43
- ref: n,
44
- src: c,
45
- width: "100%",
46
- height: "100%",
47
- settings: h
48
- }
49
- ) })
50
- ]
51
- }
52
- );
53
- }, d = S(x);
54
- export {
55
- d as default
56
- };
57
- //# sourceMappingURL=sticker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sticker.js","sources":["../../../../src/features/ui/sticker-grid/sticker.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../lottie-animation/types';\nimport type { IStickerProps } from './sticker-grid-types';\n\nimport React, { useCallback, useMemo, useRef, useState, memo, useLayoutEffect } from 'react';\n\nimport LottieAnimation from '../lottie-animation/lottie-animation';\nimport { StickerContainer, StaticEmoji, LottieContainer } from './sticker-grid-styles';\n\nconst Sticker: React.FC<IStickerProps> = ({\n emoji,\n lottieUrl,\n size = 48,\n onClick,\n disabled = false,\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n const lottieRef = useRef<ILottieAnimationRef>(null);\n\n useLayoutEffect(() => {\n if (lottieRef.current) {\n lottieRef.current.playSegments([0, 1], true);\n }\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n if (!disabled) setIsHovered(true);\n }, [disabled]);\n\n const handleMouseLeave = useCallback(() => {\n if (!disabled) setIsHovered(false);\n }, [disabled]);\n\n const handleClick = useCallback(() => {\n if (!disabled && onClick) onClick();\n }, [disabled, onClick]);\n\n const lottieSettings = useMemo(\n () => ({\n loop: true,\n renderer: 'canvas',\n autoplay: isHovered,\n }),\n [isHovered],\n );\n\n return (\n <StickerContainer\n $size={size}\n $disabled={disabled}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleClick}\n >\n {!isHovered && <StaticEmoji $size={size}>{emoji}</StaticEmoji>}\n\n {lottieUrl && (\n <LottieContainer $size={size}>\n <LottieAnimation\n ref={lottieRef}\n src={lottieUrl}\n width=\"100%\"\n height=\"100%\"\n settings={lottieSettings}\n />\n </LottieContainer>\n )}\n </StickerContainer>\n );\n};\n\nexport default memo(Sticker);\n"],"names":["Sticker","emoji","lottieUrl","size","onClick","disabled","isHovered","setIsHovered","useState","lottieRef","useRef","useLayoutEffect","handleMouseEnter","useCallback","handleMouseLeave","handleClick","lottieSettings","useMemo","jsxs","StickerContainer","jsx","StaticEmoji","LottieContainer","LottieAnimation","Sticker$1","memo"],"mappings":";;;;AAQA,MAAMA,IAAmC,CAAC;AAAA,EACxC,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,SAAAC;AAAA,EACA,UAAAC,IAAW;AACb,MAAM;AACJ,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1CC,IAAYC,EAA4B,IAAI;AAElD,EAAAC,EAAgB,MAAM;AACpB,IAAIF,EAAU,WACZA,EAAU,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,EAAI;AAAA,EAE/C,GAAG,CAAE,CAAA;AAEC,QAAAG,IAAmBC,EAAY,MAAM;AACrC,IAACR,KAAUE,EAAa,EAAI;AAAA,EAAA,GAC/B,CAACF,CAAQ,CAAC,GAEPS,IAAmBD,EAAY,MAAM;AACrC,IAACR,KAAUE,EAAa,EAAK;AAAA,EAAA,GAChC,CAACF,CAAQ,CAAC,GAEPU,IAAcF,EAAY,MAAM;AAChC,IAAA,CAACR,KAAYD,KAAiBA;EAAA,GACjC,CAACC,GAAUD,CAAO,CAAC,GAEhBY,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAUX;AAAA,IAAA;AAAA,IAEZ,CAACA,CAAS;AAAA,EAAA;AAIV,SAAA,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOhB;AAAA,MACP,WAAWE;AAAA,MACX,cAAcO;AAAA,MACd,cAAcE;AAAA,MACd,SAASC;AAAA,MAER,UAAA;AAAA,QAAA,CAACT,KAAa,gBAAAc,EAACC,GAAY,EAAA,OAAOlB,GAAO,UAAMF,GAAA;AAAA,QAE/CC,KACC,gBAAAkB,EAACE,GAAgB,EAAA,OAAOnB,GACtB,UAAA,gBAAAiB;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,KAAKd;AAAA,YACL,KAAKP;AAAA,YACL,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAUc;AAAA,UAAA;AAAA,QAAA,GAEd;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,GAEeQ,IAAAC,EAAKzB,CAAO;"}
@@ -1,6 +0,0 @@
1
- const I = 32, E = 48;
2
- export {
3
- E as STICKER_MAX_SIZE,
4
- I as STICKER_MIN_SIZE
5
- };
6
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/features/ui/stickers/constants.ts"],"sourcesContent":["export const STICKER_MIN_SIZE = 32;\nexport const STICKER_MAX_SIZE = 48;\n"],"names":["STICKER_MIN_SIZE","STICKER_MAX_SIZE"],"mappings":"AAAO,MAAMA,IAAmB,IACnBC,IAAmB;"}