@cuemath/leap 3.2.18-mb → 3.2.19-aa0

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 (228) hide show
  1. package/dist/assets/illustrations/illustrations.js +5 -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/cue-board-filled.js +33 -0
  8. package/dist/assets/line-icons/icons/cue-board-filled.js.map +1 -0
  9. package/dist/assets/line-icons/icons/cue-board.js +23 -0
  10. package/dist/assets/line-icons/icons/cue-board.js.map +1 -0
  11. package/dist/assets/line-icons/icons/evening.js +35 -0
  12. package/dist/assets/line-icons/icons/evening.js.map +1 -0
  13. package/dist/assets/line-icons/icons/hint-fill.js +35 -0
  14. package/dist/assets/line-icons/icons/hint-fill.js.map +1 -0
  15. package/dist/assets/line-icons/icons/morning.js +35 -0
  16. package/dist/assets/line-icons/icons/morning.js.map +1 -0
  17. package/dist/assets/line-icons/icons/screen-grab-filled.js +35 -0
  18. package/dist/assets/line-icons/icons/screen-grab-filled.js.map +1 -0
  19. package/dist/assets/line-icons/icons/screen-grab.js +23 -0
  20. package/dist/assets/line-icons/icons/screen-grab.js.map +1 -0
  21. package/dist/assets/line-icons/icons/sticker-filled.js +64 -0
  22. package/dist/assets/line-icons/icons/sticker-filled.js.map +1 -0
  23. package/dist/assets/line-icons/icons/sticker.js +46 -0
  24. package/dist/assets/line-icons/icons/sticker.js.map +1 -0
  25. package/dist/assets/lottie/lottie.js +11 -1
  26. package/dist/assets/lottie/lottie.js.map +1 -1
  27. package/dist/features/auth/account-selector/account-selector.js +26 -25
  28. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  29. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +9 -0
  30. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +1 -0
  31. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +52 -0
  32. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -0
  33. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +93 -0
  34. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -0
  35. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text-styled.js +10 -0
  36. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text-styled.js.map +1 -0
  37. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.js +17 -0
  38. package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.js.map +1 -0
  39. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +20 -14
  40. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  41. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +12 -0
  42. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +1 -0
  43. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +34 -0
  44. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -0
  45. package/dist/features/auth/comps/otp-input/otp-input-styled.js +26 -0
  46. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +1 -0
  47. package/dist/features/auth/comps/otp-input/otp-input.js +50 -0
  48. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -0
  49. package/dist/features/auth/comps/pill-button/pill-button-styled.js +44 -0
  50. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -0
  51. package/dist/features/auth/comps/pill-button/pill-button.js +74 -0
  52. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -0
  53. package/dist/features/auth/comps/resend-otp/resend-otp.js +54 -47
  54. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  55. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +17 -0
  56. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +1 -0
  57. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +67 -0
  58. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +1 -0
  59. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +29 -17
  60. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  61. package/dist/features/auth/comps/tabs/tabs-styled.js +22 -10
  62. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  63. package/dist/features/auth/comps/tabs/tabs.js +5 -5
  64. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  65. package/dist/features/auth/comps/user-list/user-item/user-item.js +30 -31
  66. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  67. package/dist/features/auth/comps/user-list/user-list.js +35 -34
  68. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  69. package/dist/features/auth/forgot-password/forgot-password-styled.js +14 -15
  70. package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
  71. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +6 -7
  72. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
  73. package/dist/features/auth/login/login-styled.js +8 -9
  74. package/dist/features/auth/login/login-styled.js.map +1 -1
  75. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +19 -0
  76. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -0
  77. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +32 -0
  78. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -0
  79. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +44 -0
  80. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -0
  81. package/dist/features/auth/pla-signup/signup-header/signup-header.js +54 -0
  82. package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +1 -0
  83. package/dist/features/auth/pla-signup/signup-options/signup-options.js +83 -0
  84. package/dist/features/auth/pla-signup/signup-options/signup-options.js.map +1 -0
  85. package/dist/features/chapters-v2/utils/node-card-utils.js +7 -7
  86. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  87. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +4 -4
  88. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js.map +1 -1
  89. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +85 -85
  90. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  91. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +121 -98
  92. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  93. package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js +29 -28
  94. package/dist/features/circle-games/game-launcher/hooks/use-table-infinite-launcher-journey/use-table-infinite-launcher-journey.js.map +1 -1
  95. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +43 -42
  96. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  97. package/dist/features/circle-games/games/tutorial/tutorial.js +43 -35
  98. package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
  99. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js +2 -2
  100. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  101. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js +1 -1
  102. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  103. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js +26 -24
  104. package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
  105. package/dist/features/circle-games/sign-up/constants.js +3 -1
  106. package/dist/features/circle-games/sign-up/constants.js.map +1 -1
  107. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +42 -42
  108. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  109. package/dist/features/journey/comps/coachmark/coachmark.js +29 -27
  110. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  111. package/dist/features/journey/journey-id/journey-id-student.js +2 -2
  112. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  113. package/dist/features/journey/use-journey/journey-context-provider.js +73 -72
  114. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  115. package/dist/features/journey/use-journey/journey-styled.js +6 -4
  116. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  117. package/dist/features/puzzles/app/puzzle-app-styled.js +81 -0
  118. package/dist/features/puzzles/app/puzzle-app-styled.js.map +1 -0
  119. package/dist/features/puzzles/app/puzzle-app-view.js +120 -0
  120. package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -0
  121. package/dist/features/puzzles/app/puzzle-app.js +62 -0
  122. package/dist/features/puzzles/app/puzzle-app.js.map +1 -0
  123. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js +6 -0
  124. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js.map +1 -0
  125. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +12 -60
  126. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  127. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +72 -77
  128. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  129. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js +63 -0
  130. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +1 -0
  131. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js +21 -0
  132. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +1 -0
  133. package/dist/features/ui/buttons/button/button.js +41 -38
  134. package/dist/features/ui/buttons/button/button.js.map +1 -1
  135. package/dist/features/ui/buttons/icon-button/icon-button.js +31 -27
  136. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  137. package/dist/features/ui/buttons/text-button/text-button.js +26 -22
  138. package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
  139. package/dist/features/ui/drawer/drawer-styled.js +34 -0
  140. package/dist/features/ui/drawer/drawer-styled.js.map +1 -0
  141. package/dist/features/ui/drawer/drawer.js +42 -0
  142. package/dist/features/ui/drawer/drawer.js.map +1 -0
  143. package/dist/features/ui/error/error.js +65 -27
  144. package/dist/features/ui/error/error.js.map +1 -1
  145. package/dist/features/ui/grade-selector/grade-selector.js +33 -27
  146. package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
  147. package/dist/features/ui/image/image.js +1 -1
  148. package/dist/features/ui/image/image.js.map +1 -1
  149. package/dist/features/ui/lottie-animation/lottie-animation.js +25 -29
  150. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  151. package/dist/features/ui/modals/modal-styled.js +34 -58
  152. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  153. package/dist/features/ui/modals/modal.js +40 -14
  154. package/dist/features/ui/modals/modal.js.map +1 -1
  155. package/dist/features/ui/nudge/nudge-styled.js +14 -7
  156. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  157. package/dist/features/ui/nudge/nudge.js +13 -12
  158. package/dist/features/ui/nudge/nudge.js.map +1 -1
  159. package/dist/features/{stickers/sticker-selector/sticker-selector-styles.js → ui/sticker-grid/sticker-grid-styles.js} +3 -4
  160. package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +1 -0
  161. package/dist/features/ui/sticker-grid/sticker-grid.js +24 -0
  162. package/dist/features/ui/sticker-grid/sticker-grid.js.map +1 -0
  163. package/dist/features/ui/sticker-grid/sticker.js +57 -0
  164. package/dist/features/ui/sticker-grid/sticker.js.map +1 -0
  165. package/dist/features/ui/stickers/constants.js +6 -0
  166. package/dist/features/ui/stickers/constants.js.map +1 -0
  167. package/dist/features/{stickers/stickers-effects/effects.js → ui/stickers/stickers-effects.js} +6 -6
  168. package/dist/features/ui/stickers/stickers-effects.js.map +1 -0
  169. package/dist/features/{stickers/stickers-effects/stickers-effects-styled.js → ui/stickers/stickers-styled.js} +2 -2
  170. package/dist/features/ui/stickers/stickers-styled.js.map +1 -0
  171. package/dist/features/ui/stickers/stickers-utils.js +91 -0
  172. package/dist/features/ui/stickers/stickers-utils.js.map +1 -0
  173. package/dist/features/ui/stickers/stickers.js +40 -0
  174. package/dist/features/ui/stickers/stickers.js.map +1 -0
  175. package/dist/features/ui/streak-icon/streak-icon-styled.js +13 -13
  176. package/dist/features/ui/streak-icon/streak-icon-styled.js.map +1 -1
  177. package/dist/features/ui/streak-icon/streak-icon.js +17 -15
  178. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  179. package/dist/features/ui/tab/tab.js +30 -26
  180. package/dist/features/ui/tab/tab.js.map +1 -1
  181. package/dist/features/ui/text/text.js +40 -36
  182. package/dist/features/ui/text/text.js.map +1 -1
  183. package/dist/features/ui/theme/button.js +78 -78
  184. package/dist/features/ui/theme/button.js.map +1 -1
  185. package/dist/features/ui/theme/constants.js +4 -2
  186. package/dist/features/ui/theme/constants.js.map +1 -1
  187. package/dist/features/ui/theme/get-device.js +3 -3
  188. package/dist/features/ui/theme/get-device.js.map +1 -1
  189. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +24 -24
  190. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  191. package/dist/index.d.ts +194 -57
  192. package/dist/index.js +579 -541
  193. package/dist/index.js.map +1 -1
  194. package/dist/static/animated-avatar.1ad58b1d.json +1 -0
  195. package/dist/static/animated-avatar.69b07505.json +1 -0
  196. package/dist/static/animated-avatar.9c560b46.json +1 -0
  197. package/dist/static/calendar-purple.1a840b41.svg +1 -0
  198. package/dist/static/flying-disk.c7f6ed39.json +1 -0
  199. package/dist/static/graduation-cap.3be3340a.json +1 -0
  200. package/dist/static/handshake.287e7dfb.svg +1 -0
  201. package/dist/static/light-bulb.c6db0b23.json +1 -0
  202. package/dist/static/money.332aacf1.svg +1 -0
  203. package/dist/static/muscle.9bcfb8a7.json +1 -0
  204. package/dist/static/nudge-tap.0591aef4.json +1 -0
  205. package/dist/static/parent-avatar.822c7b9b.svg +1 -0
  206. package/dist/static/pencil.23df9da0.json +1 -0
  207. package/dist/static/plus-sign.de6af957.json +1 -0
  208. package/dist/static/racing-car.2cbf864e.json +1 -0
  209. package/dist/static/rocket.0a3ccab0.json +1 -0
  210. package/dist/static/shovel.abeec04c.json +1 -0
  211. package/dist/static/trustpilot.bd3d79e1.svg +1 -0
  212. package/package.json +1 -1
  213. package/dist/features/hooks/use-viewport/use-viewport.js +0 -22
  214. package/dist/features/hooks/use-viewport/use-viewport.js.map +0 -1
  215. package/dist/features/stickers/sticker-data.js +0 -234
  216. package/dist/features/stickers/sticker-data.js.map +0 -1
  217. package/dist/features/stickers/sticker-selector/sticker-selector-styles.js.map +0 -1
  218. package/dist/features/stickers/sticker-selector/sticker-selector.js +0 -25
  219. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +0 -1
  220. package/dist/features/stickers/sticker-selector/sticker.js +0 -57
  221. package/dist/features/stickers/sticker-selector/sticker.js.map +0 -1
  222. package/dist/features/stickers/stickers-effects/effects.js.map +0 -1
  223. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +0 -1
  224. package/dist/features/stickers/stickers-effects/stickers-effects-utils.js +0 -93
  225. package/dist/features/stickers/stickers-effects/stickers-effects-utils.js.map +0 -1
  226. package/dist/features/stickers/stickers-effects/stickers-effects.js +0 -39
  227. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +0 -1
  228. package/dist/static/nudge-tap.5cb30093.json +0 -1057
@@ -0,0 +1,50 @@
1
+ import { jsxs as h, jsx as a } from "react/jsx-runtime";
2
+ import { memo as I, useRef as w, useCallback as f } from "react";
3
+ import { LOTTIE as y } from "../../../../assets/lottie/lottie.js";
4
+ import g from "../../../ui/lottie-animation/lottie-animation.js";
5
+ import { Wrapper as E, InputBox as T } from "./otp-input-styled.js";
6
+ const $ = ({
7
+ length: s = 4,
8
+ value: e,
9
+ onChange: c,
10
+ error: p,
11
+ isBusy: u = !1
12
+ }) => {
13
+ const n = w([]), i = f(
14
+ (o, t) => {
15
+ var m;
16
+ const r = e.split("");
17
+ r[o] = t, c(r.join("")), t && o < s - 1 && ((m = n.current[o + 1]) == null || m.focus());
18
+ },
19
+ [s, c, e]
20
+ ), l = f(
21
+ (o, t) => {
22
+ var r;
23
+ o.key === "Backspace" && !e[t] && t > 0 && ((r = n.current[t - 1]) == null || r.focus());
24
+ },
25
+ [e]
26
+ );
27
+ return /* @__PURE__ */ h(E, { $flexDirection: "row", $flexColumnGapX: 1, $alignItems: "center", children: [
28
+ Array.from({ length: s }).map((o, t) => /* @__PURE__ */ a(
29
+ T,
30
+ {
31
+ type: "number",
32
+ maxLength: 1,
33
+ value: e[t] || "",
34
+ onChange: (r) => i(t, r.target.value),
35
+ onFocus: (r) => r.target.select(),
36
+ onKeyDown: (r) => l(r, t),
37
+ $hasError: !!p,
38
+ ref: (r) => {
39
+ r && (n.current[t] = r);
40
+ }
41
+ },
42
+ t
43
+ )),
44
+ u && /* @__PURE__ */ a(g, { src: y.SPINNER_WHITE, height: 24, width: 24 })
45
+ ] });
46
+ }, R = I($);
47
+ export {
48
+ R as default
49
+ };
50
+ //# sourceMappingURL=otp-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-input.js","sources":["../../../../../src/features/auth/comps/otp-input/otp-input.tsx"],"sourcesContent":["import type { IOTPInputProps } from './otp-input-types';\n\nimport { useCallback, useRef, memo } from 'react';\n\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport * as styled from './otp-input-styled';\n\nconst OTPInput: React.FC<IOTPInputProps> = ({\n length = 4,\n value,\n onChange,\n error,\n isBusy = false,\n}) => {\n const inputsRef = useRef<HTMLInputElement[]>([]);\n\n const handleChange = useCallback(\n (index: number, val: string) => {\n const newValue = value.split('');\n\n newValue[index] = val;\n onChange(newValue.join(''));\n\n if (val && index < length - 1) {\n inputsRef.current[index + 1]?.focus();\n }\n },\n [length, onChange, value],\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>, index: number) => {\n if (e.key === 'Backspace' && !value[index] && index > 0) {\n inputsRef.current[index - 1]?.focus();\n }\n },\n [value],\n );\n\n return (\n <styled.Wrapper $flexDirection=\"row\" $flexColumnGapX={1} $alignItems=\"center\">\n {Array.from({ length }).map((_, index) => (\n <styled.InputBox\n key={index}\n type=\"number\"\n maxLength={1}\n value={value[index] || ''}\n onChange={e => handleChange(index, e.target.value)}\n onFocus={e => e.target.select()}\n onKeyDown={e => handleKeyDown(e, index)}\n $hasError={!!error}\n ref={el => {\n if (el) inputsRef.current[index] = el;\n }}\n />\n ))}\n {isBusy && <LottieAnimation src={LOTTIE.SPINNER_WHITE} height={24} width={24} />}\n </styled.Wrapper>\n );\n};\n\nexport default memo(OTPInput);\n"],"names":["OTPInput","length","value","onChange","error","isBusy","inputsRef","useRef","handleChange","useCallback","index","val","newValue","_a","handleKeyDown","e","jsxs","styled.Wrapper","_","jsx","styled.InputBox","el","LottieAnimation","LOTTIE","otpInput","memo"],"mappings":";;;;;AAQA,MAAMA,IAAqC,CAAC;AAAA,EAC1C,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAAS;AACX,MAAM;AACE,QAAAC,IAAYC,EAA2B,CAAA,CAAE,GAEzCC,IAAeC;AAAA,IACnB,CAACC,GAAeC,MAAgB;;AACxB,YAAAC,IAAWV,EAAM,MAAM,EAAE;AAE/B,MAAAU,EAASF,CAAK,IAAIC,GACTR,EAAAS,EAAS,KAAK,EAAE,CAAC,GAEtBD,KAAOD,IAAQT,IAAS,OAC1BY,IAAAP,EAAU,QAAQI,IAAQ,CAAC,MAA3B,QAAAG,EAA8B;AAAA,IAElC;AAAA,IACA,CAACZ,GAAQE,GAAUD,CAAK;AAAA,EAAA,GAGpBY,IAAgBL;AAAA,IACpB,CAACM,GAA0CL,MAAkB;;AACvD,MAAAK,EAAE,QAAQ,eAAe,CAACb,EAAMQ,CAAK,KAAKA,IAAQ,OACpDG,IAAAP,EAAU,QAAQI,IAAQ,CAAC,MAA3B,QAAAG,EAA8B;AAAA,IAElC;AAAA,IACA,CAACX,CAAK;AAAA,EAAA;AAIN,SAAA,gBAAAc,EAACC,GAAA,EAAe,gBAAe,OAAM,iBAAiB,GAAG,aAAY,UAClE,UAAA;AAAA,IAAM,MAAA,KAAK,EAAE,QAAAhB,EAAQ,CAAA,EAAE,IAAI,CAACiB,GAAGR,MAC9B,gBAAAS;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,MAAK;AAAA,QACL,WAAW;AAAA,QACX,OAAOlB,EAAMQ,CAAK,KAAK;AAAA,QACvB,UAAU,CAAKK,MAAAP,EAAaE,GAAOK,EAAE,OAAO,KAAK;AAAA,QACjD,SAAS,CAAAA,MAAKA,EAAE,OAAO,OAAO;AAAA,QAC9B,WAAW,CAAAA,MAAKD,EAAcC,GAAGL,CAAK;AAAA,QACtC,WAAW,CAAC,CAACN;AAAA,QACb,KAAK,CAAMiB,MAAA;AACT,UAAIA,MAAIf,EAAU,QAAQI,CAAK,IAAIW;AAAA,QACrC;AAAA,MAAA;AAAA,MAVKX;AAAA,IAAA,CAYR;AAAA,IACAL,uBAAWiB,GAAgB,EAAA,KAAKC,EAAO,eAAe,QAAQ,IAAI,OAAO,GAAI,CAAA;AAAA,EAChF,EAAA,CAAA;AAEJ,GAEeC,IAAAC,EAAKzB,CAAQ;"}
@@ -0,0 +1,44 @@
1
+ import n, { css as p } from "styled-components";
2
+ import a from "../../../ui/layout/flex-view.js";
3
+ import $ from "../../../ui/text/text.js";
4
+ const T = n.button`
5
+ ${({ selected: o, disabled: r, width: t, height: l, borderColor: s, theme: i }) => {
6
+ const c = r ? i.colors.WHITE_T_10 : o ? i.colors.WHITE_1 : i.colors.BLACK_1, e = r ? i.colors.WHITE_T_15 : s;
7
+ return p`
8
+ position: relative;
9
+ display: inline-flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ cursor: ${r ? "not-allowed" : "pointer"};
13
+ transition: all 0.3s ease;
14
+ padding: 7.5px 16px;
15
+ border-radius: 40px;
16
+ border: 1px solid ${e};
17
+ width: ${t ? `${t}` : "auto"}${typeof t == "number" ? "px" : ""};
18
+ height: ${l ? `${l}px` : "auto"};
19
+ background-color: ${c};
20
+ &:hover {
21
+ background-color: ${!o && !r ? i.colors.WHITE_T_10 : void 0};
22
+ }
23
+ `;
24
+ }}
25
+ `, d = n(a)`
26
+ visibility: ${({ $showLottie: o }) => o ? "visible" : "hidden"};
27
+ `, f = n($)`
28
+ transition: all 0.3s ease-in-out;
29
+ position: relative;
30
+
31
+ ${({ shouldOffsetLabel: o }) => `
32
+ left: ${o ? "0" : "-10px"};
33
+ `};
34
+
35
+ ${({ selected: o, disabled: r, theme: t, textColor: l }) => `
36
+ color: ${r ? t.colors.WHITE_T_38 : o ? t.colors.BLACK_1 : l};
37
+ `};
38
+ `;
39
+ export {
40
+ d as IconWrapper,
41
+ f as Label,
42
+ T as Wrapper
43
+ };
44
+ //# sourceMappingURL=pill-button-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pill-button-styled.js","sources":["../../../../../src/features/auth/comps/pill-button/pill-button-styled.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\nexport const Wrapper = styled.button<{\n selected: boolean;\n disabled: boolean;\n width?: number | string;\n height?: number;\n borderColor?: string;\n}>`\n ${({ selected, disabled, width, height, borderColor, theme }) => {\n const defaultBgColor = disabled\n ? theme.colors.WHITE_T_10\n : selected\n ? theme.colors.WHITE_1\n : theme.colors.BLACK_1;\n\n const borderColorVal = disabled ? theme.colors.WHITE_T_15 : borderColor;\n\n return css`\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: ${disabled ? 'not-allowed' : 'pointer'};\n transition: all 0.3s ease;\n padding: 7.5px 16px;\n border-radius: 40px;\n border: 1px solid ${borderColorVal};\n width: ${width ? `${width}` : 'auto'}${typeof width === 'number' ? 'px' : ''};\n height: ${height ? `${height}px` : 'auto'};\n background-color: ${defaultBgColor};\n &:hover {\n background-color: ${!selected && !disabled ? theme.colors.WHITE_T_10 : undefined};\n }\n `;\n }}\n`;\n\nexport const IconWrapper = styled(FlexView)<{\n $showLottie: boolean;\n}>`\n visibility: ${({ $showLottie }) => ($showLottie ? 'visible' : 'hidden')};\n`;\n\nexport const Label = styled(Text)<{\n selected: boolean;\n disabled: boolean;\n shouldOffsetLabel: boolean;\n textColor: string;\n}>`\n transition: all 0.3s ease-in-out;\n position: relative;\n\n ${({ shouldOffsetLabel }) => `\n left: ${shouldOffsetLabel ? '0' : '-10px'};\n `};\n\n ${({ selected, disabled, theme, textColor }) => `\n color: ${disabled ? theme.colors.WHITE_T_38 : selected ? theme.colors.BLACK_1 : textColor};\n `};\n`;\n"],"names":["Wrapper","styled","selected","disabled","width","height","borderColor","theme","defaultBgColor","borderColorVal","css","IconWrapper","FlexView","$showLottie","Label","Text","shouldOffsetLabel","textColor"],"mappings":";;;AAKO,MAAMA,IAAUC,EAAO;AAAA,IAO1B,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,OAAAC,GAAO,QAAAC,GAAQ,aAAAC,GAAa,OAAAC,QAAY;AACzD,QAAAC,IAAiBL,IACnBI,EAAM,OAAO,aACbL,IACEK,EAAM,OAAO,UACbA,EAAM,OAAO,SAEbE,IAAiBN,IAAWI,EAAM,OAAO,aAAaD;AAErD,SAAAI;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKKP,IAAW,gBAAgB,SAAS;AAAA;AAAA;AAAA;AAAA,0BAI1BM,CAAc;AAAA,eACzBL,IAAQ,GAAGA,CAAK,KAAK,MAAM,GAAG,OAAOA,KAAU,WAAW,OAAO,EAAE;AAAA,gBAClEC,IAAS,GAAGA,CAAM,OAAO,MAAM;AAAA,0BACrBG,CAAc;AAAA;AAAA,4BAEZ,CAACN,KAAY,CAACC,IAAWI,EAAM,OAAO,aAAa,MAAS;AAAA;AAAA;AAGtF,CAAC;AAAA,GAGUI,IAAcV,EAAOW,CAAQ;AAAA,gBAG1B,CAAC,EAAE,aAAAC,EAAA,MAAmBA,IAAc,YAAY,QAAS;AAAA,GAG5DC,IAAQb,EAAOc,CAAI;AAAA;AAAA;AAAA;AAAA,IAS5B,CAAC,EAAE,mBAAAC,EAAA,MAAwB;AAAA,YACnBA,IAAoB,MAAM,OAAO;AAAA,GAC1C;AAAA;AAAA,IAEC,CAAC,EAAE,UAAAd,GAAU,UAAAC,GAAU,OAAAI,GAAO,WAAAU,EAAgB,MAAA;AAAA,aACrCd,IAAWI,EAAM,OAAO,aAAaL,IAAWK,EAAM,OAAO,UAAUU,CAAS;AAAA,GAC1F;AAAA;"}
@@ -0,0 +1,74 @@
1
+ import { jsx as o, jsxs as b } from "react/jsx-runtime";
2
+ import { memo as H, useState as L, useCallback as l, useEffect as M } from "react";
3
+ import { useTheme as R } from "styled-components";
4
+ import _ from "../../../ui/arrow-tooltip/arrow-tooltip.js";
5
+ import j from "../../../ui/layout/flex-view.js";
6
+ import y from "../../../ui/lottie-animation/lottie-animation.js";
7
+ import { Wrapper as B, IconWrapper as O, Label as P } from "./pill-button-styled.js";
8
+ const X = {
9
+ autoplay: !0,
10
+ loop: !0,
11
+ renderer: "canvas"
12
+ }, k = ({
13
+ id: i,
14
+ label: d,
15
+ selected: t = !1,
16
+ disabled: e = !1,
17
+ animatedLabel: u = "",
18
+ icon: r,
19
+ onClick: a,
20
+ tooltip: c,
21
+ width: A
22
+ }) => {
23
+ const [g, f] = L(!1), [n, v] = L(!1), { colors: h } = R(), s = !!u, $ = l(() => {
24
+ a(i);
25
+ }, [i, a]), C = l(() => f(!0), []), E = l(() => f(!1), []);
26
+ M(() => {
27
+ if (!s || e) return;
28
+ const T = setInterval(() => {
29
+ v((W) => !W);
30
+ }, 1e3);
31
+ return () => clearInterval(T);
32
+ }, [e, s]);
33
+ const m = !!r && !e && (s || t || g), I = h[n ? "YELLOW_4" : "WHITE_1"], w = h[n && !t ? "YELLOW_4" : "WHITE_1"], p = n ? u : d, x = /* @__PURE__ */ o(
34
+ B,
35
+ {
36
+ selected: t,
37
+ disabled: e,
38
+ onClick: $,
39
+ onMouseEnter: C,
40
+ onMouseLeave: E,
41
+ width: A,
42
+ borderColor: I,
43
+ children: /* @__PURE__ */ b(
44
+ j,
45
+ {
46
+ $flexDirection: "row",
47
+ $alignItems: "center",
48
+ $justifyContent: "center",
49
+ $flexColumnGapX: 0.25,
50
+ children: [
51
+ r && /* @__PURE__ */ o(O, { $widthX: 1, $heightX: 1, $showLottie: m, children: /* @__PURE__ */ o(y, { src: r, settings: X }) }),
52
+ /* @__PURE__ */ o(
53
+ P,
54
+ {
55
+ shouldOffsetLabel: m || !r,
56
+ selected: t,
57
+ disabled: e,
58
+ $renderAs: n ? t ? "ub3-bold" : "ub3" : t ? "ub2-bold" : "ub2",
59
+ textColor: w,
60
+ children: p
61
+ },
62
+ p
63
+ )
64
+ ]
65
+ }
66
+ )
67
+ }
68
+ );
69
+ return e && c ? /* @__PURE__ */ o(_, { renderAs: "primary", tooltipItem: c, position: "top", children: x }) : x;
70
+ }, K = H(k);
71
+ export {
72
+ K as default
73
+ };
74
+ //# sourceMappingURL=pill-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pill-button.js","sources":["../../../../../src/features/auth/comps/pill-button/pill-button.tsx"],"sourcesContent":["import type { IPillButtonProps } from './pill-button-types';\n\nimport { useCallback, useEffect, useState, type FC, memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './pill-button-styled';\n\nconst lottieSettings = {\n autoplay: true,\n loop: true,\n renderer: 'canvas',\n};\n\nconst PillButton: FC<IPillButtonProps> = ({\n id,\n label,\n selected = false,\n disabled = false,\n animatedLabel = '',\n icon,\n onClick,\n tooltip,\n width,\n}) => {\n const [isHovered, setHovered] = useState(false);\n const [highlightPhase, setHighlightPhase] = useState(false);\n const { colors } = useTheme();\n const shouldAnimate = !!animatedLabel;\n\n const handleClick = useCallback(() => {\n onClick(id);\n }, [id, onClick]);\n\n const handleMouseEnter = useCallback(() => setHovered(true), []);\n const handleMouseLeave = useCallback(() => setHovered(false), []);\n\n useEffect(() => {\n if (!shouldAnimate || disabled) return;\n\n const interval = setInterval(() => {\n setHighlightPhase(prev => !prev);\n }, 1000);\n\n return () => clearInterval(interval);\n }, [disabled, shouldAnimate]);\n\n const showLottie = !!icon && !disabled && (shouldAnimate || selected || isHovered);\n\n const borderColor = colors[highlightPhase ? 'YELLOW_4' : 'WHITE_1'];\n const textColor = colors[highlightPhase && !selected ? 'YELLOW_4' : 'WHITE_1'];\n const currentLabel = highlightPhase ? animatedLabel : label;\n const defaultTextRenderAs = selected ? 'ub2-bold' : 'ub2';\n const textRenderAs = highlightPhase ? (selected ? 'ub3-bold' : 'ub3') : defaultTextRenderAs;\n\n const ButtonContent = (\n <Styled.Wrapper\n selected={selected}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n width={width}\n borderColor={borderColor}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexColumnGapX={0.25}\n >\n {icon && (\n <Styled.IconWrapper $widthX={1} $heightX={1} $showLottie={showLottie}>\n <LottieAnimation src={icon} settings={lottieSettings} />\n </Styled.IconWrapper>\n )}\n <Styled.Label\n key={currentLabel}\n shouldOffsetLabel={showLottie || !icon}\n selected={selected}\n disabled={disabled}\n $renderAs={textRenderAs}\n textColor={textColor}\n >\n {currentLabel}\n </Styled.Label>\n </FlexView>\n </Styled.Wrapper>\n );\n\n return disabled && tooltip ? (\n <ArrowTooltip renderAs=\"primary\" tooltipItem={tooltip} position=\"top\">\n {ButtonContent}\n </ArrowTooltip>\n ) : (\n ButtonContent\n );\n};\n\nexport default memo(PillButton);\n"],"names":["lottieSettings","PillButton","id","label","selected","disabled","animatedLabel","icon","onClick","tooltip","width","isHovered","setHovered","useState","highlightPhase","setHighlightPhase","colors","useTheme","shouldAnimate","handleClick","useCallback","handleMouseEnter","handleMouseLeave","useEffect","interval","prev","showLottie","borderColor","textColor","currentLabel","ButtonContent","jsx","Styled.Wrapper","jsxs","FlexView","Styled.IconWrapper","LottieAnimation","Styled.Label","ArrowTooltip","pillButton","memo"],"mappings":";;;;;;;AAUA,MAAMA,IAAiB;AAAA,EACrB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ,GAEMC,IAAmC,CAAC;AAAA,EACxC,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAWC,CAAU,IAAIC,EAAS,EAAK,GACxC,CAACC,GAAgBC,CAAiB,IAAIF,EAAS,EAAK,GACpD,EAAE,QAAAG,MAAWC,KACbC,IAAgB,CAAC,CAACZ,GAElBa,IAAcC,EAAY,MAAM;AACpC,IAAAZ,EAAQN,CAAE;AAAA,EAAA,GACT,CAACA,GAAIM,CAAO,CAAC,GAEVa,IAAmBD,EAAY,MAAMR,EAAW,EAAI,GAAG,CAAA,CAAE,GACzDU,IAAmBF,EAAY,MAAMR,EAAW,EAAK,GAAG,CAAA,CAAE;AAEhE,EAAAW,EAAU,MAAM;AACV,QAAA,CAACL,KAAiBb,EAAU;AAE1B,UAAAmB,IAAW,YAAY,MAAM;AACf,MAAAT,EAAA,CAAAU,MAAQ,CAACA,CAAI;AAAA,OAC9B,GAAI;AAEA,WAAA,MAAM,cAAcD,CAAQ;AAAA,EAAA,GAClC,CAACnB,GAAUa,CAAa,CAAC;AAE5B,QAAMQ,IAAa,CAAC,CAACnB,KAAQ,CAACF,MAAaa,KAAiBd,KAAYO,IAElEgB,IAAcX,EAAOF,IAAiB,aAAa,SAAS,GAC5Dc,IAAYZ,EAAOF,KAAkB,CAACV,IAAW,aAAa,SAAS,GACvEyB,IAAef,IAAiBR,IAAgBH,GAIhD2B,IACJ,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAA5B;AAAA,MACA,UAAAC;AAAA,MACA,SAASc;AAAA,MACT,cAAcE;AAAA,MACd,cAAcC;AAAA,MACd,OAAAZ;AAAA,MACA,aAAAiB;AAAA,MAEA,UAAA,gBAAAM;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,gBAAe;AAAA,UACf,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,iBAAiB;AAAA,UAEhB,UAAA;AAAA,YAAA3B,uBACE4B,GAAA,EAAmB,SAAS,GAAG,UAAU,GAAG,aAAaT,GACxD,4BAACU,GAAgB,EAAA,KAAK7B,GAAM,UAAUP,EAAgB,CAAA,GACxD;AAAA,YAEF,gBAAA+B;AAAA,cAACM;AAAAA,cAAA;AAAA,gBAEC,mBAAmBX,KAAc,CAACnB;AAAA,gBAClC,UAAAH;AAAA,gBACA,UAAAC;AAAA,gBACA,WA5BaS,IAAkBV,IAAW,aAAa,QADnCA,IAAW,aAAa;AAAA,gBA8B5C,WAAAwB;AAAA,gBAEC,UAAAC;AAAA,cAAA;AAAA,cAPIA;AAAA,YAQP;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIG,SAAAxB,KAAYI,IACjB,gBAAAsB,EAACO,GAAa,EAAA,UAAS,WAAU,aAAa7B,GAAS,UAAS,OAC7D,UAAAqB,EAAA,CACH,IAEAA;AAEJ,GAEeS,IAAAC,EAAKvC,CAAU;"}
@@ -1,65 +1,72 @@
1
- import { jsx as e, jsxs as n, Fragment as _ } from "react/jsx-runtime";
2
- import { memo as x, useCallback as a } from "react";
3
- import k from "../../../ui/buttons/button/button.js";
4
- import u from "../../../ui/buttons/text-button/text-button.js";
5
- import i from "../../../ui/layout/flex-view.js";
6
- import c from "../../../ui/text/text.js";
7
- import { useResendTimer as C } from "./hooks/use-resend-timer.js";
1
+ import { jsx as r, jsxs as n, Fragment as C } from "react/jsx-runtime";
2
+ import { memo as g, useCallback as f } from "react";
3
+ import w from "../../../ui/buttons/button/button.js";
4
+ import $ from "../../../ui/buttons/text-button/text-button.js";
5
+ import m from "../../../ui/layout/flex-view.js";
6
+ import a from "../../../ui/text/text.js";
7
+ import { useResendTimer as A } from "./hooks/use-resend-timer.js";
8
8
  const I = ({
9
- onResendOTP: r,
10
- onResendVoiceOTP: l,
11
- timerSeconds: f = 15,
12
- showVoiceOTP: $ = !1,
13
- disabled: m,
14
- renderAs: h = "text",
15
- width: p
9
+ onResendOTP: l,
10
+ onResendVoiceOTP: i,
11
+ timerSeconds: h = 15,
12
+ showVoiceOTP: p = !1,
13
+ disabled: o,
14
+ renderAs: x = "text",
15
+ width: k,
16
+ textButtonColor: s = "WHITE_T_60",
17
+ size: d = "small"
16
18
  }) => {
17
- const { canResend: o, resetTimer: t, timeLeft: s } = C({
18
- initialSeconds: f
19
- }), d = a(() => {
20
- r == null || r(), t();
21
- }, [r, t]), b = a(() => {
19
+ const { canResend: c, resetTimer: t, timeLeft: u } = A({
20
+ initialSeconds: h
21
+ }), b = f(() => {
22
22
  l == null || l(), t();
23
- }, [l, t]);
24
- return h === "submit" ? /* @__PURE__ */ e(
25
- k,
26
- {
27
- size: "small",
28
- renderAs: "secondary-dark",
29
- type: "submit",
30
- label: o ? "Resend" : `Resend in ${s}`,
31
- width: p,
32
- onClick: d,
33
- disabled: !o || m
34
- }
35
- ) : /* @__PURE__ */ e(i, { children: o ? /* @__PURE__ */ n(i, { $flexDirection: "row", $alignItems: "center", $flexColumnGapX: 0.5, children: [
36
- /* @__PURE__ */ e(
37
- u,
23
+ }, [l, t]), _ = f(() => {
24
+ i == null || i(), t();
25
+ }, [i, t]);
26
+ if (x === "submit")
27
+ return /* @__PURE__ */ r(
28
+ w,
38
29
  {
39
- disabled: m,
30
+ size: d,
31
+ renderAs: "secondary-dark",
32
+ type: "submit",
33
+ label: c ? "Resend" : `Resend in ${u}`,
34
+ width: k,
35
+ onClick: b,
36
+ disabled: !c || o
37
+ }
38
+ );
39
+ const e = d === "xsmall";
40
+ return /* @__PURE__ */ r(m, { children: c ? /* @__PURE__ */ n(m, { $flexDirection: "row", $alignItems: "center", $flexColumnGapX: 0.5, children: [
41
+ /* @__PURE__ */ r(
42
+ $,
43
+ {
44
+ disabled: o,
40
45
  label: "Resend",
41
- color: "WHITE_T_60",
42
- onClick: d
46
+ size: e ? "small" : "regular",
47
+ color: s,
48
+ onClick: b
43
49
  }
44
50
  ),
45
- $ && /* @__PURE__ */ n(_, { children: [
46
- /* @__PURE__ */ e(c, { $renderAs: "ub2", $color: "WHITE_T_60", children: "or" }),
47
- /* @__PURE__ */ e(i, { $width: 116, children: /* @__PURE__ */ e(
48
- u,
51
+ p && /* @__PURE__ */ n(C, { children: [
52
+ /* @__PURE__ */ r(a, { $renderAs: e ? "ub3" : "ub2", $color: s, children: "or" }),
53
+ /* @__PURE__ */ r(m, { $width: 116, children: /* @__PURE__ */ r(
54
+ $,
49
55
  {
50
56
  label: "Get code via call",
51
- color: "WHITE_T_60",
52
- onClick: b
57
+ size: e ? "small" : "regular",
58
+ color: s,
59
+ onClick: _
53
60
  }
54
61
  ) })
55
62
  ] })
56
- ] }) : /* @__PURE__ */ e(i, { $width: 105, children: /* @__PURE__ */ n(c, { $renderAs: "ub2", $color: "WHITE_T_60", children: [
63
+ ] }) : /* @__PURE__ */ r(m, { $width: 105, children: /* @__PURE__ */ n(a, { $renderAs: e ? "ub3" : "ub2", $color: "WHITE_T_60", children: [
57
64
  "Resend in",
58
65
  " ",
59
- /* @__PURE__ */ e(c, { $renderAs: "ub2-bold", $inline: !0, $color: "WHITE_T_60", children: s })
66
+ /* @__PURE__ */ r(a, { $renderAs: e ? "ub3-bold" : "ub2-bold", $inline: !0, $color: "WHITE_T_60", children: u })
60
67
  ] }) }) });
61
- }, j = x(I);
68
+ }, F = g(I);
62
69
  export {
63
- j as default
70
+ F as default
64
71
  };
65
72
  //# sourceMappingURL=resend-otp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resend-otp.js","sources":["../../../../../src/features/auth/comps/resend-otp/resend-otp.tsx"],"sourcesContent":["import type { IOTPResendProps } from './resend-otp-types';\n\nimport { useCallback, memo } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useResendTimer } from './hooks/use-resend-timer';\n\nconst ResendOTP: React.FC<IOTPResendProps> = ({\n onResendOTP,\n onResendVoiceOTP,\n timerSeconds = 15,\n showVoiceOTP = false,\n disabled,\n renderAs = 'text',\n width,\n}) => {\n const { canResend, resetTimer, timeLeft } = useResendTimer({\n initialSeconds: timerSeconds,\n });\n\n const handleResendClick = useCallback(() => {\n onResendOTP?.();\n resetTimer();\n }, [onResendOTP, resetTimer]);\n\n const handleVoiceResendClick = useCallback(() => {\n onResendVoiceOTP?.();\n resetTimer();\n }, [onResendVoiceOTP, resetTimer]);\n\n if (renderAs === 'submit') {\n return (\n <Button\n size=\"small\"\n renderAs=\"secondary-dark\"\n type=\"submit\"\n label={canResend ? 'Resend' : `Resend in ${timeLeft}`}\n width={width}\n onClick={handleResendClick}\n disabled={!canResend || disabled}\n />\n );\n }\n\n return (\n <FlexView>\n {!canResend ? (\n <FlexView $width={105}>\n <Text $renderAs=\"ub2\" $color=\"WHITE_T_60\">\n Resend in{' '}\n <Text $renderAs=\"ub2-bold\" $inline $color=\"WHITE_T_60\">\n {timeLeft}\n </Text>\n </Text>\n </FlexView>\n ) : (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={0.5}>\n <TextButton\n disabled={disabled}\n label=\"Resend\"\n color=\"WHITE_T_60\"\n onClick={handleResendClick}\n />\n {showVoiceOTP && (\n <>\n <Text $renderAs=\"ub2\" $color=\"WHITE_T_60\">\n or\n </Text>\n <FlexView $width={116}>\n <TextButton\n label=\"Get code via call\"\n color=\"WHITE_T_60\"\n onClick={handleVoiceResendClick}\n />\n </FlexView>\n </>\n )}\n </FlexView>\n )}\n </FlexView>\n );\n};\n\nexport default memo(ResendOTP);\n"],"names":["ResendOTP","onResendOTP","onResendVoiceOTP","timerSeconds","showVoiceOTP","disabled","renderAs","width","canResend","resetTimer","timeLeft","useResendTimer","handleResendClick","useCallback","handleVoiceResendClick","jsx","Button","FlexView","jsxs","TextButton","Fragment","Text","ResendOtp","memo"],"mappings":";;;;;;;AAUA,MAAMA,IAAuC,CAAC;AAAA,EAC5C,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,cAAAC,IAAe;AAAA,EACf,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,OAAAC;AACF,MAAM;AACJ,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,UAAAC,EAAA,IAAaC,EAAe;AAAA,IACzD,gBAAgBR;AAAA,EAAA,CACjB,GAEKS,IAAoBC,EAAY,MAAM;AAC5B,IAAAZ,KAAA,QAAAA,KACHQ;EAAA,GACV,CAACR,GAAaQ,CAAU,CAAC,GAEtBK,IAAyBD,EAAY,MAAM;AAC5B,IAAAX,KAAA,QAAAA,KACRO;EAAA,GACV,CAACP,GAAkBO,CAAU,CAAC;AAEjC,SAAIH,MAAa,WAEb,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAS;AAAA,MACT,MAAK;AAAA,MACL,OAAOR,IAAY,WAAW,aAAaE,CAAQ;AAAA,MACnD,OAAAH;AAAA,MACA,SAASK;AAAA,MACT,UAAU,CAACJ,KAAaH;AAAA,IAAA;AAAA,EAAA,IAM3B,gBAAAU,EAAAE,GAAA,EACE,UAACT,IAUC,gBAAAU,EAAAD,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,iBAAiB,KACnE,UAAA;AAAA,IAAA,gBAAAF;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,UAAAd;AAAA,QACA,OAAM;AAAA,QACN,OAAM;AAAA,QACN,SAASO;AAAA,MAAA;AAAA,IACX;AAAA,IACCR,KAEG,gBAAAc,EAAAE,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAL,EAACM,GAAK,EAAA,WAAU,OAAM,QAAO,cAAa,UAE1C,MAAA;AAAA,MACA,gBAAAN,EAACE,GAAS,EAAA,QAAQ,KAChB,UAAA,gBAAAF;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,OAAM;AAAA,UACN,SAASL;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA,GACF;AAAA,EAAA,EAEJ,CAAA,IA9BC,gBAAAC,EAAAE,GAAA,EAAS,QAAQ,KAChB,UAAC,gBAAAC,EAAAG,GAAA,EAAK,WAAU,OAAM,QAAO,cAAa,UAAA;AAAA,IAAA;AAAA,IAC9B;AAAA,IACV,gBAAAN,EAACM,KAAK,WAAU,YAAW,SAAO,IAAC,QAAO,cACvC,UACHX,EAAA,CAAA;AAAA,EACF,EAAA,CAAA,EACF,CAAA,EAyBJ,CAAA;AAEJ,GAEeY,IAAAC,EAAKvB,CAAS;"}
1
+ {"version":3,"file":"resend-otp.js","sources":["../../../../../src/features/auth/comps/resend-otp/resend-otp.tsx"],"sourcesContent":["import type { IOTPResendProps } from './resend-otp-types';\n\nimport { useCallback, memo } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useResendTimer } from './hooks/use-resend-timer';\n\nconst ResendOTP: React.FC<IOTPResendProps> = ({\n onResendOTP,\n onResendVoiceOTP,\n timerSeconds = 15,\n showVoiceOTP = false,\n disabled,\n renderAs = 'text',\n width,\n textButtonColor = 'WHITE_T_60',\n size = 'small',\n}) => {\n const { canResend, resetTimer, timeLeft } = useResendTimer({\n initialSeconds: timerSeconds,\n });\n\n const handleResendClick = useCallback(() => {\n onResendOTP?.();\n resetTimer();\n }, [onResendOTP, resetTimer]);\n\n const handleVoiceResendClick = useCallback(() => {\n onResendVoiceOTP?.();\n resetTimer();\n }, [onResendVoiceOTP, resetTimer]);\n\n if (renderAs === 'submit') {\n return (\n <Button\n size={size}\n renderAs=\"secondary-dark\"\n type=\"submit\"\n label={canResend ? 'Resend' : `Resend in ${timeLeft}`}\n width={width}\n onClick={handleResendClick}\n disabled={!canResend || disabled}\n />\n );\n }\n\n const isXSmallSize = size === 'xsmall';\n\n return (\n <FlexView>\n {!canResend ? (\n <FlexView $width={105}>\n <Text $renderAs={isXSmallSize ? 'ub3' : 'ub2'} $color=\"WHITE_T_60\">\n Resend in{' '}\n <Text $renderAs={isXSmallSize ? 'ub3-bold' : 'ub2-bold'} $inline $color=\"WHITE_T_60\">\n {timeLeft}\n </Text>\n </Text>\n </FlexView>\n ) : (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={0.5}>\n <TextButton\n disabled={disabled}\n label=\"Resend\"\n size={isXSmallSize ? 'small' : 'regular'}\n color={textButtonColor}\n onClick={handleResendClick}\n />\n {showVoiceOTP && (\n <>\n <Text $renderAs={isXSmallSize ? 'ub3' : 'ub2'} $color={textButtonColor}>\n or\n </Text>\n <FlexView $width={116}>\n <TextButton\n label=\"Get code via call\"\n size={isXSmallSize ? 'small' : 'regular'}\n color={textButtonColor}\n onClick={handleVoiceResendClick}\n />\n </FlexView>\n </>\n )}\n </FlexView>\n )}\n </FlexView>\n );\n};\n\nexport default memo(ResendOTP);\n"],"names":["ResendOTP","onResendOTP","onResendVoiceOTP","timerSeconds","showVoiceOTP","disabled","renderAs","width","textButtonColor","size","canResend","resetTimer","timeLeft","useResendTimer","handleResendClick","useCallback","handleVoiceResendClick","jsx","Button","isXSmallSize","FlexView","jsxs","TextButton","Fragment","Text","ResendOtp","memo"],"mappings":";;;;;;;AAUA,MAAMA,IAAuC,CAAC;AAAA,EAC5C,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,cAAAC,IAAe;AAAA,EACf,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,OAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,MAAAC,IAAO;AACT,MAAM;AACJ,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,UAAAC,EAAA,IAAaC,EAAe;AAAA,IACzD,gBAAgBV;AAAA,EAAA,CACjB,GAEKW,IAAoBC,EAAY,MAAM;AAC5B,IAAAd,KAAA,QAAAA,KACHU;EAAA,GACV,CAACV,GAAaU,CAAU,CAAC,GAEtBK,IAAyBD,EAAY,MAAM;AAC5B,IAAAb,KAAA,QAAAA,KACRS;EAAA,GACV,CAACT,GAAkBS,CAAU,CAAC;AAEjC,MAAIL,MAAa;AAEb,WAAA,gBAAAW;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAAT;AAAA,QACA,UAAS;AAAA,QACT,MAAK;AAAA,QACL,OAAOC,IAAY,WAAW,aAAaE,CAAQ;AAAA,QACnD,OAAAL;AAAA,QACA,SAASO;AAAA,QACT,UAAU,CAACJ,KAAaL;AAAA,MAAA;AAAA,IAAA;AAK9B,QAAMc,IAAeV,MAAS;AAE9B,SACG,gBAAAQ,EAAAG,GAAA,EACE,UAACV,IAUC,gBAAAW,EAAAD,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,iBAAiB,KACnE,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,UAAAjB;AAAA,QACA,OAAM;AAAA,QACN,MAAMc,IAAe,UAAU;AAAA,QAC/B,OAAOX;AAAA,QACP,SAASM;AAAA,MAAA;AAAA,IACX;AAAA,IACCV,KAEG,gBAAAiB,EAAAE,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAN,EAACO,KAAK,WAAWL,IAAe,QAAQ,OAAO,QAAQX,GAAiB,UAExE,KAAA,CAAA;AAAA,MACA,gBAAAS,EAACG,GAAS,EAAA,QAAQ,KAChB,UAAA,gBAAAH;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,MAAMH,IAAe,UAAU;AAAA,UAC/B,OAAOX;AAAA,UACP,SAASQ;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA,GACF;AAAA,EAAA,EAEJ,CAAA,sBAhCCI,GAAS,EAAA,QAAQ,KAChB,UAAA,gBAAAC,EAACG,KAAK,WAAWL,IAAe,QAAQ,OAAO,QAAO,cAAa,UAAA;AAAA,IAAA;AAAA,IACvD;AAAA,IACV,gBAAAF,EAACO,GAAK,EAAA,WAAWL,IAAe,aAAa,YAAY,SAAO,IAAC,QAAO,cACrE,UACHP,EAAA,CAAA;AAAA,EACF,EAAA,CAAA,EACF,CAAA,EA2BJ,CAAA;AAEJ,GAEea,IAAAC,EAAK1B,CAAS;"}
@@ -0,0 +1,17 @@
1
+ import e from "styled-components";
2
+ import t from "../../../ui/layout/flex-view.js";
3
+ const s = e(t)`
4
+ ${({ selected: r, theme: o }) => `
5
+ cursor: pointer;
6
+ transition: all 0.3s ease;
7
+ border-width: 2px;
8
+
9
+ &:hover {
10
+ background-color: ${r ? void 0 : o.colors.BLACK_5};
11
+ }
12
+ `}
13
+ `;
14
+ export {
15
+ s as Wrapper
16
+ };
17
+ //# sourceMappingURL=selectable-info-card-styled.js.map
@@ -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;"}