@0xkey-io/react-wallet-kit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/LICENSE +201 -0
  2. package/README.MD +116 -0
  3. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +307 -0
  4. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
  5. package/dist/components/auth/Action.d.ts +10 -0
  6. package/dist/components/auth/Action.d.ts.map +1 -0
  7. package/dist/components/auth/Action.js +76 -0
  8. package/dist/components/auth/Action.js.map +1 -0
  9. package/dist/components/auth/Action.mjs +97 -0
  10. package/dist/components/auth/Action.mjs.map +1 -0
  11. package/dist/components/auth/Email.d.ts +6 -0
  12. package/dist/components/auth/Email.d.ts.map +1 -0
  13. package/dist/components/auth/Email.js +77 -0
  14. package/dist/components/auth/Email.js.map +1 -0
  15. package/dist/components/auth/Email.mjs +98 -0
  16. package/dist/components/auth/Email.mjs.map +1 -0
  17. package/dist/components/auth/OAuth.d.ts +13 -0
  18. package/dist/components/auth/OAuth.d.ts.map +1 -0
  19. package/dist/components/auth/OAuth.js +63 -0
  20. package/dist/components/auth/OAuth.js.map +1 -0
  21. package/dist/components/auth/OAuth.mjs +68 -0
  22. package/dist/components/auth/OAuth.mjs.map +1 -0
  23. package/dist/components/auth/OTP.d.ts +21 -0
  24. package/dist/components/auth/OTP.d.ts.map +1 -0
  25. package/dist/components/auth/OTP.js +218 -0
  26. package/dist/components/auth/OTP.js.map +1 -0
  27. package/dist/components/auth/OTP.mjs +301 -0
  28. package/dist/components/auth/OTP.mjs.map +1 -0
  29. package/dist/components/auth/OrSeparator.d.ts +2 -0
  30. package/dist/components/auth/OrSeparator.d.ts.map +1 -0
  31. package/dist/components/auth/OrSeparator.js +20 -0
  32. package/dist/components/auth/OrSeparator.js.map +1 -0
  33. package/dist/components/auth/OrSeparator.mjs +18 -0
  34. package/dist/components/auth/OrSeparator.mjs.map +1 -0
  35. package/dist/components/auth/Passkey.d.ts +7 -0
  36. package/dist/components/auth/Passkey.d.ts.map +1 -0
  37. package/dist/components/auth/Passkey.js +34 -0
  38. package/dist/components/auth/Passkey.js.map +1 -0
  39. package/dist/components/auth/Passkey.mjs +30 -0
  40. package/dist/components/auth/Passkey.mjs.map +1 -0
  41. package/dist/components/auth/Phone.d.ts +6 -0
  42. package/dist/components/auth/Phone.d.ts.map +1 -0
  43. package/dist/components/auth/Phone.js +67 -0
  44. package/dist/components/auth/Phone.js.map +1 -0
  45. package/dist/components/auth/Phone.mjs +92 -0
  46. package/dist/components/auth/Phone.mjs.map +1 -0
  47. package/dist/components/auth/Wallet.d.ts +34 -0
  48. package/dist/components/auth/Wallet.d.ts.map +1 -0
  49. package/dist/components/auth/Wallet.js +517 -0
  50. package/dist/components/auth/Wallet.js.map +1 -0
  51. package/dist/components/auth/Wallet.mjs +618 -0
  52. package/dist/components/auth/Wallet.mjs.map +1 -0
  53. package/dist/components/auth/index.d.ts +9 -0
  54. package/dist/components/auth/index.d.ts.map +1 -0
  55. package/dist/components/auth/index.js +457 -0
  56. package/dist/components/auth/index.js.map +1 -0
  57. package/dist/components/auth/index.mjs +672 -0
  58. package/dist/components/auth/index.mjs.map +1 -0
  59. package/dist/components/design/Buttons.d.ts +29 -0
  60. package/dist/components/design/Buttons.d.ts.map +1 -0
  61. package/dist/components/design/Buttons.js +87 -0
  62. package/dist/components/design/Buttons.js.map +1 -0
  63. package/dist/components/design/Buttons.mjs +79 -0
  64. package/dist/components/design/Buttons.mjs.map +1 -0
  65. package/dist/components/design/Failure.d.ts +9 -0
  66. package/dist/components/design/Failure.d.ts.map +1 -0
  67. package/dist/components/design/Failure.js +33 -0
  68. package/dist/components/design/Failure.js.map +1 -0
  69. package/dist/components/design/Failure.mjs +34 -0
  70. package/dist/components/design/Failure.mjs.map +1 -0
  71. package/dist/components/design/Inputs.d.ts +9 -0
  72. package/dist/components/design/Inputs.d.ts.map +1 -0
  73. package/dist/components/design/Inputs.js +135 -0
  74. package/dist/components/design/Inputs.js.map +1 -0
  75. package/dist/components/design/Inputs.mjs +133 -0
  76. package/dist/components/design/Inputs.mjs.map +1 -0
  77. package/dist/components/design/Lottie/Dynamic.d.ts +2 -0
  78. package/dist/components/design/Lottie/Dynamic.d.ts.map +1 -0
  79. package/dist/components/design/Lottie/Dynamic.js +9 -0
  80. package/dist/components/design/Lottie/Dynamic.js.map +1 -0
  81. package/dist/components/design/Lottie/Dynamic.mjs +24 -0
  82. package/dist/components/design/Lottie/Dynamic.mjs.map +1 -0
  83. package/dist/components/design/Lottie/Wrapper.d.ts +8 -0
  84. package/dist/components/design/Lottie/Wrapper.d.ts.map +1 -0
  85. package/dist/components/design/Lottie/Wrapper.js +26 -0
  86. package/dist/components/design/Lottie/Wrapper.js.map +1 -0
  87. package/dist/components/design/Lottie/Wrapper.mjs +42 -0
  88. package/dist/components/design/Lottie/Wrapper.mjs.map +1 -0
  89. package/dist/components/design/Spinners.d.ts +9 -0
  90. package/dist/components/design/Spinners.d.ts.map +1 -0
  91. package/dist/components/design/Spinners.js +38 -0
  92. package/dist/components/design/Spinners.js.map +1 -0
  93. package/dist/components/design/Spinners.mjs +37 -0
  94. package/dist/components/design/Spinners.mjs.map +1 -0
  95. package/dist/components/design/Success.d.ts +8 -0
  96. package/dist/components/design/Success.d.ts.map +1 -0
  97. package/dist/components/design/Success.js +82 -0
  98. package/dist/components/design/Success.js.map +1 -0
  99. package/dist/components/design/Success.mjs +86 -0
  100. package/dist/components/design/Success.mjs.map +1 -0
  101. package/dist/components/design/Svg.d.ts +13 -0
  102. package/dist/components/design/Svg.d.ts.map +1 -0
  103. package/dist/components/design/Svg.js +165 -0
  104. package/dist/components/design/Svg.js.map +1 -0
  105. package/dist/components/design/Svg.mjs +161 -0
  106. package/dist/components/design/Svg.mjs.map +1 -0
  107. package/dist/components/export/Export.d.ts +13 -0
  108. package/dist/components/export/Export.d.ts.map +1 -0
  109. package/dist/components/export/Export.js +169 -0
  110. package/dist/components/export/Export.js.map +1 -0
  111. package/dist/components/export/Export.mjs +213 -0
  112. package/dist/components/export/Export.mjs.map +1 -0
  113. package/dist/components/export/ExportWarning.d.ts +15 -0
  114. package/dist/components/export/ExportWarning.d.ts.map +1 -0
  115. package/dist/components/export/ExportWarning.js +141 -0
  116. package/dist/components/export/ExportWarning.js.map +1 -0
  117. package/dist/components/export/ExportWarning.mjs +174 -0
  118. package/dist/components/export/ExportWarning.mjs.map +1 -0
  119. package/dist/components/import/Import.d.ts +20 -0
  120. package/dist/components/import/Import.d.ts.map +1 -0
  121. package/dist/components/import/Import.js +290 -0
  122. package/dist/components/import/Import.js.map +1 -0
  123. package/dist/components/import/Import.mjs +422 -0
  124. package/dist/components/import/Import.mjs.map +1 -0
  125. package/dist/components/onramp/OnRamp.d.ts +14 -0
  126. package/dist/components/onramp/OnRamp.d.ts.map +1 -0
  127. package/dist/components/onramp/OnRamp.js +61 -0
  128. package/dist/components/onramp/OnRamp.js.map +1 -0
  129. package/dist/components/onramp/OnRamp.mjs +79 -0
  130. package/dist/components/onramp/OnRamp.mjs.map +1 -0
  131. package/dist/components/send-transaction/SendTransaction.d.ts +12 -0
  132. package/dist/components/send-transaction/SendTransaction.d.ts.map +1 -0
  133. package/dist/components/send-transaction/SendTransaction.js +65 -0
  134. package/dist/components/send-transaction/SendTransaction.js.map +1 -0
  135. package/dist/components/send-transaction/SendTransaction.mjs +89 -0
  136. package/dist/components/send-transaction/SendTransaction.mjs.map +1 -0
  137. package/dist/components/send-transaction/helpers.d.ts +4 -0
  138. package/dist/components/send-transaction/helpers.d.ts.map +1 -0
  139. package/dist/components/send-transaction/helpers.js +37 -0
  140. package/dist/components/send-transaction/helpers.js.map +1 -0
  141. package/dist/components/send-transaction/helpers.mjs +34 -0
  142. package/dist/components/send-transaction/helpers.mjs.map +1 -0
  143. package/dist/components/sign/Message.d.ts +18 -0
  144. package/dist/components/sign/Message.d.ts.map +1 -0
  145. package/dist/components/sign/Message.js +132 -0
  146. package/dist/components/sign/Message.js.map +1 -0
  147. package/dist/components/sign/Message.mjs +148 -0
  148. package/dist/components/sign/Message.mjs.map +1 -0
  149. package/dist/components/user/ConnectWallet.d.ts +8 -0
  150. package/dist/components/user/ConnectWallet.d.ts.map +1 -0
  151. package/dist/components/user/ConnectWallet.js +114 -0
  152. package/dist/components/user/ConnectWallet.js.map +1 -0
  153. package/dist/components/user/ConnectWallet.mjs +194 -0
  154. package/dist/components/user/ConnectWallet.mjs.map +1 -0
  155. package/dist/components/user/RemoveEmail.d.ts +12 -0
  156. package/dist/components/user/RemoveEmail.d.ts.map +1 -0
  157. package/dist/components/user/RemoveEmail.js +105 -0
  158. package/dist/components/user/RemoveEmail.js.map +1 -0
  159. package/dist/components/user/RemoveEmail.mjs +124 -0
  160. package/dist/components/user/RemoveEmail.mjs.map +1 -0
  161. package/dist/components/user/RemoveOAuthProvider.d.ts +12 -0
  162. package/dist/components/user/RemoveOAuthProvider.d.ts.map +1 -0
  163. package/dist/components/user/RemoveOAuthProvider.js +110 -0
  164. package/dist/components/user/RemoveOAuthProvider.js.map +1 -0
  165. package/dist/components/user/RemoveOAuthProvider.mjs +131 -0
  166. package/dist/components/user/RemoveOAuthProvider.mjs.map +1 -0
  167. package/dist/components/user/RemovePasskey.d.ts +12 -0
  168. package/dist/components/user/RemovePasskey.d.ts.map +1 -0
  169. package/dist/components/user/RemovePasskey.js +114 -0
  170. package/dist/components/user/RemovePasskey.js.map +1 -0
  171. package/dist/components/user/RemovePasskey.mjs +135 -0
  172. package/dist/components/user/RemovePasskey.mjs.map +1 -0
  173. package/dist/components/user/RemovePhoneNumber.d.ts +12 -0
  174. package/dist/components/user/RemovePhoneNumber.d.ts.map +1 -0
  175. package/dist/components/user/RemovePhoneNumber.js +105 -0
  176. package/dist/components/user/RemovePhoneNumber.js.map +1 -0
  177. package/dist/components/user/RemovePhoneNumber.mjs +124 -0
  178. package/dist/components/user/RemovePhoneNumber.mjs.map +1 -0
  179. package/dist/components/user/UpdateEmail.d.ts +12 -0
  180. package/dist/components/user/UpdateEmail.d.ts.map +1 -0
  181. package/dist/components/user/UpdateEmail.js +154 -0
  182. package/dist/components/user/UpdateEmail.js.map +1 -0
  183. package/dist/components/user/UpdateEmail.mjs +197 -0
  184. package/dist/components/user/UpdateEmail.mjs.map +1 -0
  185. package/dist/components/user/UpdatePhoneNumber.d.ts +12 -0
  186. package/dist/components/user/UpdatePhoneNumber.d.ts.map +1 -0
  187. package/dist/components/user/UpdatePhoneNumber.js +151 -0
  188. package/dist/components/user/UpdatePhoneNumber.js.map +1 -0
  189. package/dist/components/user/UpdatePhoneNumber.mjs +198 -0
  190. package/dist/components/user/UpdatePhoneNumber.mjs.map +1 -0
  191. package/dist/components/user/UpdateUserName.d.ts +13 -0
  192. package/dist/components/user/UpdateUserName.d.ts.map +1 -0
  193. package/dist/components/user/UpdateUserName.js +113 -0
  194. package/dist/components/user/UpdateUserName.js.map +1 -0
  195. package/dist/components/user/UpdateUserName.mjs +139 -0
  196. package/dist/components/user/UpdateUserName.mjs.map +1 -0
  197. package/dist/components/verify/Verify.d.ts +9 -0
  198. package/dist/components/verify/Verify.d.ts.map +1 -0
  199. package/dist/components/verify/Verify.js +121 -0
  200. package/dist/components/verify/Verify.js.map +1 -0
  201. package/dist/components/verify/Verify.mjs +149 -0
  202. package/dist/components/verify/Verify.mjs.map +1 -0
  203. package/dist/index.d.ts +25 -0
  204. package/dist/index.d.ts.map +1 -0
  205. package/dist/index.js +74 -0
  206. package/dist/index.js.map +1 -0
  207. package/dist/index.mjs +8 -0
  208. package/dist/index.mjs.map +1 -0
  209. package/dist/providers/ZeroXKeyProvider.d.ts +9 -0
  210. package/dist/providers/ZeroXKeyProvider.d.ts.map +1 -0
  211. package/dist/providers/ZeroXKeyProvider.js +36 -0
  212. package/dist/providers/ZeroXKeyProvider.js.map +1 -0
  213. package/dist/providers/ZeroXKeyProvider.mjs +34 -0
  214. package/dist/providers/ZeroXKeyProvider.mjs.map +1 -0
  215. package/dist/providers/client/Hook.d.ts +4 -0
  216. package/dist/providers/client/Hook.d.ts.map +1 -0
  217. package/dist/providers/client/Hook.js +15 -0
  218. package/dist/providers/client/Hook.js.map +1 -0
  219. package/dist/providers/client/Hook.mjs +13 -0
  220. package/dist/providers/client/Hook.mjs.map +1 -0
  221. package/dist/providers/client/Provider.d.ts +39 -0
  222. package/dist/providers/client/Provider.d.ts.map +1 -0
  223. package/dist/providers/client/Provider.js +3934 -0
  224. package/dist/providers/client/Provider.js.map +1 -0
  225. package/dist/providers/client/Provider.mjs +6895 -0
  226. package/dist/providers/client/Provider.mjs.map +1 -0
  227. package/dist/providers/client/Types.d.ts +711 -0
  228. package/dist/providers/client/Types.d.ts.map +1 -0
  229. package/dist/providers/client/Types.js +10 -0
  230. package/dist/providers/client/Types.js.map +1 -0
  231. package/dist/providers/client/Types.mjs +8 -0
  232. package/dist/providers/client/Types.mjs.map +1 -0
  233. package/dist/providers/index.d.ts +5 -0
  234. package/dist/providers/index.d.ts.map +1 -0
  235. package/dist/providers/modal/Hook.d.ts +4 -0
  236. package/dist/providers/modal/Hook.d.ts.map +1 -0
  237. package/dist/providers/modal/Hook.js +15 -0
  238. package/dist/providers/modal/Hook.js.map +1 -0
  239. package/dist/providers/modal/Hook.mjs +13 -0
  240. package/dist/providers/modal/Hook.mjs.map +1 -0
  241. package/dist/providers/modal/Provider.d.ts +27 -0
  242. package/dist/providers/modal/Provider.d.ts.map +1 -0
  243. package/dist/providers/modal/Provider.js +48 -0
  244. package/dist/providers/modal/Provider.js.map +1 -0
  245. package/dist/providers/modal/Provider.mjs +68 -0
  246. package/dist/providers/modal/Provider.mjs.map +1 -0
  247. package/dist/providers/modal/Root.d.ts +7 -0
  248. package/dist/providers/modal/Root.d.ts.map +1 -0
  249. package/dist/providers/modal/Root.js +345 -0
  250. package/dist/providers/modal/Root.js.map +1 -0
  251. package/dist/providers/modal/Root.mjs +352 -0
  252. package/dist/providers/modal/Root.mjs.map +1 -0
  253. package/dist/providers/theme/Overrides.d.ts +18 -0
  254. package/dist/providers/theme/Overrides.d.ts.map +1 -0
  255. package/dist/providers/theme/Overrides.js +35 -0
  256. package/dist/providers/theme/Overrides.js.map +1 -0
  257. package/dist/providers/theme/Overrides.mjs +37 -0
  258. package/dist/providers/theme/Overrides.mjs.map +1 -0
  259. package/dist/styles.css +1 -0
  260. package/dist/tests/oauth-test.d.ts +2 -0
  261. package/dist/tests/oauth-test.d.ts.map +1 -0
  262. package/dist/tests/timers-test.d.ts +2 -0
  263. package/dist/tests/timers-test.d.ts.map +1 -0
  264. package/dist/tests/utils-test.d.ts +2 -0
  265. package/dist/tests/utils-test.d.ts.map +1 -0
  266. package/dist/typedoc-entry/index.d.ts +5 -0
  267. package/dist/typedoc-entry/index.d.ts.map +1 -0
  268. package/dist/types/base.d.ts +178 -0
  269. package/dist/types/base.d.ts.map +1 -0
  270. package/dist/types/base.js +55 -0
  271. package/dist/types/base.js.map +1 -0
  272. package/dist/types/base.mjs +50 -0
  273. package/dist/types/base.mjs.map +1 -0
  274. package/dist/types/method-types.d.ts +258 -0
  275. package/dist/types/method-types.d.ts.map +1 -0
  276. package/dist/utils/oauth/completion.d.ts +132 -0
  277. package/dist/utils/oauth/completion.d.ts.map +1 -0
  278. package/dist/utils/oauth/completion.js +136 -0
  279. package/dist/utils/oauth/completion.js.map +1 -0
  280. package/dist/utils/oauth/completion.mjs +176 -0
  281. package/dist/utils/oauth/completion.mjs.map +1 -0
  282. package/dist/utils/oauth/config.d.ts +34 -0
  283. package/dist/utils/oauth/config.d.ts.map +1 -0
  284. package/dist/utils/oauth/config.js +69 -0
  285. package/dist/utils/oauth/config.js.map +1 -0
  286. package/dist/utils/oauth/config.mjs +54 -0
  287. package/dist/utils/oauth/config.mjs.map +1 -0
  288. package/dist/utils/oauth/helpers.d.ts +13 -0
  289. package/dist/utils/oauth/helpers.d.ts.map +1 -0
  290. package/dist/utils/oauth/helpers.js +38 -0
  291. package/dist/utils/oauth/helpers.js.map +1 -0
  292. package/dist/utils/oauth/helpers.mjs +35 -0
  293. package/dist/utils/oauth/helpers.mjs.map +1 -0
  294. package/dist/utils/oauth/index.d.ts +7 -0
  295. package/dist/utils/oauth/index.d.ts.map +1 -0
  296. package/dist/utils/oauth/pkce.d.ts +14 -0
  297. package/dist/utils/oauth/pkce.d.ts.map +1 -0
  298. package/dist/utils/oauth/pkce.js +48 -0
  299. package/dist/utils/oauth/pkce.js.map +1 -0
  300. package/dist/utils/oauth/pkce.mjs +85 -0
  301. package/dist/utils/oauth/pkce.mjs.map +1 -0
  302. package/dist/utils/oauth/storage.d.ts +48 -0
  303. package/dist/utils/oauth/storage.d.ts.map +1 -0
  304. package/dist/utils/oauth/storage.js +87 -0
  305. package/dist/utils/oauth/storage.js.map +1 -0
  306. package/dist/utils/oauth/storage.mjs +78 -0
  307. package/dist/utils/oauth/storage.mjs.map +1 -0
  308. package/dist/utils/oauth/url.d.ts +94 -0
  309. package/dist/utils/oauth/url.d.ts.map +1 -0
  310. package/dist/utils/oauth/url.js +224 -0
  311. package/dist/utils/oauth/url.js.map +1 -0
  312. package/dist/utils/oauth/url.mjs +230 -0
  313. package/dist/utils/oauth/url.mjs.map +1 -0
  314. package/dist/utils/timers.d.ts +73 -0
  315. package/dist/utils/timers.d.ts.map +1 -0
  316. package/dist/utils/timers.js +133 -0
  317. package/dist/utils/timers.js.map +1 -0
  318. package/dist/utils/timers.mjs +142 -0
  319. package/dist/utils/timers.mjs.map +1 -0
  320. package/dist/utils/utils.d.ts +40 -0
  321. package/dist/utils/utils.d.ts.map +1 -0
  322. package/dist/utils/utils.js +116 -0
  323. package/dist/utils/utils.js.map +1 -0
  324. package/dist/utils/utils.mjs +164 -0
  325. package/dist/utils/utils.mjs.map +1 -0
  326. package/package.json +91 -0
@@ -0,0 +1,76 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var Hook = require('../../providers/modal/Hook.js');
6
+ var Spinners = require('../design/Spinners.js');
7
+ var clsx = require('clsx');
8
+
9
+ function ActionPage(props) {
10
+ const {
11
+ title,
12
+ icon,
13
+ closeOnComplete = true,
14
+ action
15
+ } = props;
16
+ const {
17
+ popPage,
18
+ closeModal,
19
+ isMobile
20
+ } = Hook.useModal();
21
+ const hasRun = react.useRef(false);
22
+ const iconRef = react.useRef(null);
23
+ const [spinnerSize, setSpinnerSize] = react.useState(40);
24
+ react.useEffect(() => {
25
+ if (iconRef.current) {
26
+ const rect = iconRef.current.getBoundingClientRect();
27
+ const size = Math.max(rect.width, rect.height);
28
+ setSpinnerSize(size + 50);
29
+ }
30
+ }, []);
31
+ react.useEffect(() => {
32
+ if (hasRun.current) return;
33
+ hasRun.current = true;
34
+ const runAction = async () => {
35
+ if (action) {
36
+ try {
37
+ await action();
38
+ } catch (error) {
39
+ popPage();
40
+ throw new Error(`${error}`);
41
+ }
42
+ if (closeOnComplete) {
43
+ closeModal();
44
+ }
45
+ }
46
+ };
47
+ runAction();
48
+ }, []);
49
+ return jsxRuntime.jsx("div", {
50
+ className: clsx("flex items-center justify-center py-10", isMobile ? "w-full" : "w-96"),
51
+ children: jsxRuntime.jsxs("div", {
52
+ className: "flex flex-col items-center justify-center gap-8",
53
+ children: [jsxRuntime.jsxs("div", {
54
+ className: "relative flex items-center justify-center",
55
+ children: [jsxRuntime.jsx("div", {
56
+ ref: iconRef,
57
+ className: "flex items-center justify-center",
58
+ children: icon
59
+ }), jsxRuntime.jsx(Spinners.Spinner, {
60
+ className: "absolute",
61
+ style: {
62
+ width: spinnerSize,
63
+ height: spinnerSize
64
+ },
65
+ strokeWidth: 1
66
+ })]
67
+ }), jsxRuntime.jsx("span", {
68
+ className: "text-lg font-semibold",
69
+ children: title
70
+ })]
71
+ })
72
+ });
73
+ }
74
+
75
+ exports.ActionPage = ActionPage;
76
+ //# sourceMappingURL=Action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.js","sources":["../../../src/components/auth/Action.tsx"],"sourcesContent":[null],"names":["ActionPage","props","title","icon","closeOnComplete","action","popPage","closeModal","isMobile","useModal","hasRun","useRef","iconRef","spinnerSize","setSpinnerSize","useState","useEffect","current","rect","getBoundingClientRect","size","Math","max","width","height","runAction","error","Error","_jsx","className","clsx","children","_jsxs","ref","Spinner","style","strokeWidth"],"mappings":";;;;;;;;AAYM,SAAUA,UAAUA,CAACC,KAAsB,EAAA;EAC/C,MAAM;IAAEC,KAAK;IAAEC,IAAI;AAAEC,IAAAA,eAAe,GAAG,IAAI;AAAEC,IAAAA;AAAM,GAAE,GAAGJ,KAAK;EAC7D,MAAM;IAAEK,OAAO;IAAEC,UAAU;AAAEC,IAAAA;GAAU,GAAGC,aAAQ,EAAE;AACpD,EAAA,MAAMC,MAAM,GAAGC,YAAM,CAAC,KAAK,CAAC;AAC5B,EAAA,MAAMC,OAAO,GAAGD,YAAM,CAAiB,IAAI,CAAC;EAC5C,MAAM,CAACE,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAS,EAAE,CAAC;AAE1DC,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIJ,OAAO,CAACK,OAAO,EAAE;MACnB,MAAMC,IAAI,GAAGN,OAAO,CAACK,OAAO,CAACE,qBAAqB,EAAE;AACpD,MAAA,MAAMC,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACJ,IAAI,CAACK,KAAK,EAAEL,IAAI,CAACM,MAAM,CAAC;AAC9CV,MAAAA,cAAc,CAACM,IAAI,GAAG,EAAE,CAAC;AAC3B,IAAA;EACF,CAAC,EAAE,EAAE,CAAC;AAENJ,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIN,MAAM,CAACO,OAAO,EAAE;IACpBP,MAAM,CAACO,OAAO,GAAG,IAAI;AACrB,IAAA,MAAMQ,SAAS,GAAG,YAAW;AAC3B,MAAA,IAAIpB,MAAM,EAAE;QACV,IAAI;UACF,MAAMA,MAAM,EAAE;QAChB,CAAC,CAAC,OAAOqB,KAAK,EAAE;AACdpB,UAAAA,OAAO,EAAE;AACT,UAAA,MAAM,IAAIqB,KAAK,CAAC,CAAA,EAAGD,KAAK,EAAE,CAAC;AAC7B,QAAA;AACA,QAAA,IAAItB,eAAe,EAAE;AACnBG,UAAAA,UAAU,EAAE;AACd,QAAA;AACF,MAAA;IACF,CAAC;AACDkB,IAAAA,SAAS,EAAE;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,OACEG;IACEC,SAAS,EAAEC,IAAI,CACb,wCAAwC,EACxCtB,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAAuB,IAAAA,QAAA,EAEDC,eAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,iDAAiD;AAAAE,MAAAA,QAAA,EAAA,CAC9DC;AAAKH,QAAAA,SAAS,EAAC,2CAA2C;AAAAE,QAAAA,QAAA,EAAA,CACxDH,cAAA,CAAA,KAAA,EAAA;AAAKK,UAAAA,GAAG,EAAErB,OAAO;AAAEiB,UAAAA,SAAS,EAAC,kCAAkC;oBAC5D1B;AAAI,SAAA,CACD,EACNyB,cAAA,CAACM,gBAAO,EAAA;AACNL,UAAAA,SAAS,EAAC,UAAU;AACpBM,UAAAA,KAAK,EAAE;AACLZ,YAAAA,KAAK,EAAEV,WAAW;AAClBW,YAAAA,MAAM,EAAEX;WACT;AACDuB,UAAAA,WAAW,EAAE;AAAC,SAAA,CACd;AAAA,OAAA,CACE,EACNR,cAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,uBAAuB;kBAAE3B;AAAK,OAAA,CAAQ;KAAA;AAClD,GAAA,CACF;AAEV;;;;"}
@@ -0,0 +1,97 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useRef, useState, useEffect } from 'react';
4
+ import { useModal } from '../../providers/modal/Hook.mjs';
5
+ import { Spinner } from '../design/Spinners.mjs';
6
+ import clsx from 'clsx';
7
+
8
+ function ActionPage(props) {
9
+ var title = props.title,
10
+ icon = props.icon,
11
+ _props$closeOnComplet = props.closeOnComplete,
12
+ closeOnComplete = _props$closeOnComplet === void 0 ? true : _props$closeOnComplet,
13
+ action = props.action;
14
+ var _useModal = useModal(),
15
+ popPage = _useModal.popPage,
16
+ closeModal = _useModal.closeModal,
17
+ isMobile = _useModal.isMobile;
18
+ var hasRun = useRef(false);
19
+ var iconRef = useRef(null);
20
+ var _useState = useState(40),
21
+ _useState2 = _slicedToArray(_useState, 2),
22
+ spinnerSize = _useState2[0],
23
+ setSpinnerSize = _useState2[1];
24
+ useEffect(function () {
25
+ if (iconRef.current) {
26
+ var rect = iconRef.current.getBoundingClientRect();
27
+ var size = Math.max(rect.width, rect.height);
28
+ setSpinnerSize(size + 50);
29
+ }
30
+ }, []);
31
+ useEffect(function () {
32
+ if (hasRun.current) return;
33
+ hasRun.current = true;
34
+ var runAction = /*#__PURE__*/function () {
35
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
36
+ var _t;
37
+ return _regenerator().w(function (_context) {
38
+ while (1) switch (_context.p = _context.n) {
39
+ case 0:
40
+ if (!action) {
41
+ _context.n = 5;
42
+ break;
43
+ }
44
+ _context.p = 1;
45
+ _context.n = 2;
46
+ return action();
47
+ case 2:
48
+ _context.n = 4;
49
+ break;
50
+ case 3:
51
+ _context.p = 3;
52
+ _t = _context.v;
53
+ popPage();
54
+ throw new Error("".concat(_t));
55
+ case 4:
56
+ if (closeOnComplete) {
57
+ closeModal();
58
+ }
59
+ case 5:
60
+ return _context.a(2);
61
+ }
62
+ }, _callee, null, [[1, 3]]);
63
+ }));
64
+ return function runAction() {
65
+ return _ref.apply(this, arguments);
66
+ };
67
+ }();
68
+ runAction();
69
+ }, []);
70
+ return jsx("div", {
71
+ className: clsx("flex items-center justify-center py-10", isMobile ? "w-full" : "w-96"),
72
+ children: jsxs("div", {
73
+ className: "flex flex-col items-center justify-center gap-8",
74
+ children: [jsxs("div", {
75
+ className: "relative flex items-center justify-center",
76
+ children: [jsx("div", {
77
+ ref: iconRef,
78
+ className: "flex items-center justify-center",
79
+ children: icon
80
+ }), jsx(Spinner, {
81
+ className: "absolute",
82
+ style: {
83
+ width: spinnerSize,
84
+ height: spinnerSize
85
+ },
86
+ strokeWidth: 1
87
+ })]
88
+ }), jsx("span", {
89
+ className: "text-lg font-semibold",
90
+ children: title
91
+ })]
92
+ })
93
+ });
94
+ }
95
+
96
+ export { ActionPage };
97
+ //# sourceMappingURL=Action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.mjs","sources":["../../../src/components/auth/Action.tsx"],"sourcesContent":[null],"names":["ActionPage","props","title","icon","_props$closeOnComplet","closeOnComplete","action","_useModal","useModal","popPage","closeModal","isMobile","hasRun","useRef","iconRef","_useState","useState","_useState2","_slicedToArray","spinnerSize","setSpinnerSize","useEffect","current","rect","getBoundingClientRect","size","Math","max","width","height","runAction","_ref","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","p","n","v","Error","concat","a","apply","arguments","_jsx","className","clsx","children","_jsxs","ref","Spinner","style","strokeWidth"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface EmailInputProps {
2
+ onContinue?: (email: string) => void;
3
+ }
4
+ export declare function EmailInput(props: EmailInputProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=Email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../../src/components/auth/Email.tsx"],"names":[],"mappings":"AAWA,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA2FhD"}
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var react$1 = require('@headlessui/react');
6
+ var Buttons = require('../design/Buttons.js');
7
+ var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
8
+ var clsx = require('clsx');
9
+ var Hook = require('../../providers/client/Hook.js');
10
+
11
+ function isValidEmail(email) {
12
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
13
+ }
14
+ function EmailInput(props) {
15
+ const {
16
+ onContinue
17
+ } = props;
18
+ const {
19
+ config
20
+ } = Hook.useZeroXKey();
21
+ const [loading, setLoading] = react.useState(false);
22
+ const [email, setEmail] = react.useState("");
23
+ const useContinueButton = config?.ui?.preferLargeActionButtons ?? false;
24
+ const emailIsValid = isValidEmail(email);
25
+ const handleContinue = async () => {
26
+ if (emailIsValid && onContinue) {
27
+ setLoading(true);
28
+ try {
29
+ await Promise.resolve(onContinue(email));
30
+ } finally {
31
+ setLoading(false);
32
+ }
33
+ }
34
+ };
35
+ const handleKeyDown = e => {
36
+ if (e.key === "Enter") {
37
+ handleContinue();
38
+ }
39
+ };
40
+ const buttonDisabled = !emailIsValid;
41
+ const inlineArrowClass = clsx("absolute right-1.5 !size-8 !rounded-full !border-none !bg-transparent transition-all duration-300 dark:!bg-transparent active:!outline-none", emailIsValid ? "text-icon-text-light dark:text-white/70" : "text-icon-text-light/40 dark:text-white/30");
42
+ const continueButtonClass = clsx("transition-all duration-300", (emailIsValid || useContinueButton) && "bg-primary-light dark:bg-primary-dark hover:bg-primary-light/90 dark:hover:bg-primary-dark/90 text-primary-text-light dark:text-primary-text-dark");
43
+ return jsxRuntime.jsxs("div", {
44
+ className: clsx("w-full items-center justify-center space-y-3", useContinueButton ? "flex flex-col" : "flex flex-row"),
45
+ children: [jsxRuntime.jsxs("div", {
46
+ className: clsx("w-full", !useContinueButton && "relative flex items-center"),
47
+ children: [jsxRuntime.jsx(react$1.Input, {
48
+ "data-testid": "email-input",
49
+ type: "email",
50
+ placeholder: "Enter your email",
51
+ value: email,
52
+ onChange: e => setEmail(e.target.value),
53
+ onKeyDown: handleKeyDown,
54
+ className: "box-border h-10 w-full rounded-lg border border-modal-background-dark/15 bg-button-light py-2.5 pl-4 pr-12 text-sm text-inherit placeholder:text-icon-text-light/45 focus:outline-1 focus:outline-offset-0 focus:outline-primary-light dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white dark:placeholder:text-white/35 focus:dark:outline-primary-dark"
55
+ }), !useContinueButton && jsxRuntime.jsx(Buttons.IconButton, {
56
+ icon: freeSolidSvgIcons.faArrowRight,
57
+ onClick: handleContinue,
58
+ disabled: buttonDisabled,
59
+ loading: loading,
60
+ name: "email-continue-icon",
61
+ className: inlineArrowClass,
62
+ spinnerClassName: "text-icon-text-light dark:text-icon-text-dark"
63
+ })]
64
+ }), useContinueButton && jsxRuntime.jsx(Buttons.ActionButton, {
65
+ onClick: handleContinue,
66
+ disabled: buttonDisabled,
67
+ loading: loading,
68
+ className: clsx("w-full", continueButtonClass),
69
+ name: "email-continue",
70
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
71
+ children: "Continue"
72
+ })]
73
+ });
74
+ }
75
+
76
+ exports.EmailInput = EmailInput;
77
+ //# sourceMappingURL=Email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Email.js","sources":["../../../src/components/auth/Email.tsx"],"sourcesContent":[null],"names":["isValidEmail","email","test","EmailInput","props","onContinue","config","useZeroXKey","loading","setLoading","useState","setEmail","useContinueButton","ui","preferLargeActionButtons","emailIsValid","handleContinue","Promise","resolve","handleKeyDown","e","key","buttonDisabled","inlineArrowClass","clsx","continueButtonClass","_jsxs","className","children","_jsx","Input","type","placeholder","value","onChange","target","onKeyDown","IconButton","icon","faArrowRight","onClick","disabled","name","spinnerClassName","ActionButton"],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { useState } from 'react';
4
+ import { Input } from '@headlessui/react';
5
+ import { IconButton, ActionButton } from '../design/Buttons.mjs';
6
+ import { faArrowRight } from '@fortawesome/free-solid-svg-icons';
7
+ import clsx from 'clsx';
8
+ import { useZeroXKey } from '../../providers/client/Hook.mjs';
9
+
10
+ function isValidEmail(email) {
11
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
12
+ }
13
+ function EmailInput(props) {
14
+ var _config$ui$preferLarg, _config$ui;
15
+ var onContinue = props.onContinue;
16
+ var _useZeroXKey = useZeroXKey(),
17
+ config = _useZeroXKey.config;
18
+ var _useState = useState(false),
19
+ _useState2 = _slicedToArray(_useState, 2),
20
+ loading = _useState2[0],
21
+ setLoading = _useState2[1];
22
+ var _useState3 = useState(""),
23
+ _useState4 = _slicedToArray(_useState3, 2),
24
+ email = _useState4[0],
25
+ setEmail = _useState4[1];
26
+ var useContinueButton = (_config$ui$preferLarg = config === null || config === void 0 ? void 0 : (_config$ui = config.ui) === null || _config$ui === void 0 ? void 0 : _config$ui.preferLargeActionButtons) !== null && _config$ui$preferLarg !== void 0 ? _config$ui$preferLarg : false;
27
+ var emailIsValid = isValidEmail(email);
28
+ var handleContinue = /*#__PURE__*/function () {
29
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
30
+ return _regenerator().w(function (_context) {
31
+ while (1) switch (_context.p = _context.n) {
32
+ case 0:
33
+ if (!(emailIsValid && onContinue)) {
34
+ _context.n = 3;
35
+ break;
36
+ }
37
+ setLoading(true);
38
+ _context.p = 1;
39
+ _context.n = 2;
40
+ return Promise.resolve(onContinue(email));
41
+ case 2:
42
+ _context.p = 2;
43
+ setLoading(false);
44
+ return _context.f(2);
45
+ case 3:
46
+ return _context.a(2);
47
+ }
48
+ }, _callee, null, [[1,, 2, 3]]);
49
+ }));
50
+ return function handleContinue() {
51
+ return _ref.apply(this, arguments);
52
+ };
53
+ }();
54
+ var handleKeyDown = function handleKeyDown(e) {
55
+ if (e.key === "Enter") {
56
+ handleContinue();
57
+ }
58
+ };
59
+ var buttonDisabled = !emailIsValid;
60
+ var inlineArrowClass = clsx("absolute right-1.5 !size-8 !rounded-full !border-none !bg-transparent transition-all duration-300 dark:!bg-transparent active:!outline-none", emailIsValid ? "text-icon-text-light dark:text-white/70" : "text-icon-text-light/40 dark:text-white/30");
61
+ var continueButtonClass = clsx("transition-all duration-300", (emailIsValid || useContinueButton) && "bg-primary-light dark:bg-primary-dark hover:bg-primary-light/90 dark:hover:bg-primary-dark/90 text-primary-text-light dark:text-primary-text-dark");
62
+ return jsxs("div", {
63
+ className: clsx("w-full items-center justify-center space-y-3", useContinueButton ? "flex flex-col" : "flex flex-row"),
64
+ children: [jsxs("div", {
65
+ className: clsx("w-full", !useContinueButton && "relative flex items-center"),
66
+ children: [jsx(Input, {
67
+ "data-testid": "email-input",
68
+ type: "email",
69
+ placeholder: "Enter your email",
70
+ value: email,
71
+ onChange: function onChange(e) {
72
+ return setEmail(e.target.value);
73
+ },
74
+ onKeyDown: handleKeyDown,
75
+ className: "box-border h-10 w-full rounded-lg border border-modal-background-dark/15 bg-button-light py-2.5 pl-4 pr-12 text-sm text-inherit placeholder:text-icon-text-light/45 focus:outline-1 focus:outline-offset-0 focus:outline-primary-light dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white dark:placeholder:text-white/35 focus:dark:outline-primary-dark"
76
+ }), !useContinueButton && jsx(IconButton, {
77
+ icon: faArrowRight,
78
+ onClick: handleContinue,
79
+ disabled: buttonDisabled,
80
+ loading: loading,
81
+ name: "email-continue-icon",
82
+ className: inlineArrowClass,
83
+ spinnerClassName: "text-icon-text-light dark:text-icon-text-dark"
84
+ })]
85
+ }), useContinueButton && jsx(ActionButton, {
86
+ onClick: handleContinue,
87
+ disabled: buttonDisabled,
88
+ loading: loading,
89
+ className: clsx("w-full", continueButtonClass),
90
+ name: "email-continue",
91
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
92
+ children: "Continue"
93
+ })]
94
+ });
95
+ }
96
+
97
+ export { EmailInput };
98
+ //# sourceMappingURL=Email.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Email.mjs","sources":["../../../src/components/auth/Email.tsx"],"sourcesContent":[null],"names":["isValidEmail","email","test","EmailInput","props","_config$ui$preferLarg","_config$ui","onContinue","_useZeroXKey","useZeroXKey","config","_useState","useState","_useState2","_slicedToArray","loading","setLoading","_useState3","_useState4","setEmail","useContinueButton","ui","preferLargeActionButtons","emailIsValid","handleContinue","_ref","_asyncToGenerator","_regenerator","m","_callee","w","_context","p","n","Promise","resolve","f","a","apply","arguments","handleKeyDown","e","key","buttonDisabled","inlineArrowClass","clsx","continueButtonClass","_jsxs","className","children","_jsx","Input","type","placeholder","value","onChange","target","onKeyDown","IconButton","icon","faArrowRight","onClick","disabled","name","spinnerClassName","ActionButton"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ interface OAuthButtonProps {
3
+ name: string;
4
+ icon: React.ReactNode;
5
+ onClick: () => void;
6
+ className?: string;
7
+ /** Compact square icon button (auth modal social row) */
8
+ iconOnly?: boolean;
9
+ "aria-label"?: string;
10
+ }
11
+ export declare function OAuthButton(props: OAuthButtonProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=OAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuth.d.ts","sourceRoot":"","sources":["../../../src/components/auth/OAuth.tsx"],"names":[],"mappings":";AAIA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAqElD"}
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var clsx = require('clsx');
6
+ var Buttons = require('../design/Buttons.js');
7
+
8
+ function OAuthButton(props) {
9
+ const {
10
+ name,
11
+ icon,
12
+ onClick,
13
+ className,
14
+ iconOnly = false,
15
+ "aria-label": ariaLabel
16
+ } = props;
17
+ const containerRef = react.useRef(null);
18
+ const [showText, setShowText] = react.useState(false);
19
+ react.useEffect(() => {
20
+ if (iconOnly) {
21
+ return;
22
+ }
23
+ const observer = new ResizeObserver(([entry]) => {
24
+ if (!entry) return;
25
+ const width = entry.contentRect.width;
26
+ setShowText(width > 300);
27
+ });
28
+ if (containerRef.current) {
29
+ observer.observe(containerRef.current);
30
+ }
31
+ return () => observer.disconnect();
32
+ }, [iconOnly]);
33
+ const testId = `oauth-${name.toLowerCase().replace(/\s+/g, "-")}`;
34
+ if (iconOnly) {
35
+ return jsxRuntime.jsx(Buttons.ActionButton, {
36
+ onClick: onClick,
37
+ name: testId,
38
+ "aria-label": ariaLabel ?? `Continue with ${name}`,
39
+ className: clsx("flex items-center justify-center shrink-0 max-w-none !w-12 !min-w-12 h-10 p-0 rounded-lg", "border border-modal-background-dark/15 bg-button-light text-icon-text-light", "dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white", className),
40
+ children: jsxRuntime.jsx("span", {
41
+ className: "flex size-full items-center justify-center [&>svg]:size-5",
42
+ children: icon
43
+ })
44
+ });
45
+ }
46
+ return jsxRuntime.jsx("div", {
47
+ ref: containerRef,
48
+ className: "w-full h-full",
49
+ children: jsxRuntime.jsxs(Buttons.ActionButton, {
50
+ onClick: onClick,
51
+ name: testId,
52
+ "aria-label": ariaLabel ?? `Continue with ${name}`,
53
+ className: clsx("flex items-center justify-center gap-2 w-full h-full rounded-md bg-button-light dark:bg-button-dark text-inherit", className),
54
+ children: [icon, showText && jsxRuntime.jsx("span", {
55
+ className: "truncate",
56
+ children: `Continue with ${name}`
57
+ })]
58
+ })
59
+ });
60
+ }
61
+
62
+ exports.OAuthButton = OAuthButton;
63
+ //# sourceMappingURL=OAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuth.js","sources":["../../../src/components/auth/OAuth.tsx"],"sourcesContent":[null],"names":["OAuthButton","props","name","icon","onClick","className","iconOnly","ariaLabel","containerRef","useRef","showText","setShowText","useState","useEffect","observer","ResizeObserver","entry","width","contentRect","current","observe","disconnect","testId","toLowerCase","replace","_jsx","ActionButton","clsx","children","ref","_jsxs"],"mappings":";;;;;;;AAcM,SAAUA,WAAWA,CAACC,KAAuB,EAAA;EACjD,MAAM;IACJC,IAAI;IACJC,IAAI;IACJC,OAAO;IACPC,SAAS;AACTC,IAAAA,QAAQ,GAAG,KAAK;AAChB,IAAA,YAAY,EAAEC;AAAS,GACxB,GAAGN,KAAK;AACT,EAAA,MAAMO,YAAY,GAAGC,YAAM,CAAiB,IAAI,CAAC;EACjD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAE/CC,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,IAAIP,QAAQ,EAAE;AACZ,MAAA;AACF,IAAA;IACA,MAAMQ,QAAQ,GAAG,IAAIC,cAAc,CAAC,CAAC,CAACC,KAAK,CAAC,KAAI;MAC9C,IAAI,CAACA,KAAK,EAAE;AACZ,MAAA,MAAMC,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACD,KAAK;AACrCN,MAAAA,WAAW,CAACM,KAAK,GAAG,GAAG,CAAC;AAC1B,IAAA,CAAC,CAAC;IAEF,IAAIT,YAAY,CAACW,OAAO,EAAE;AACxBL,MAAAA,QAAQ,CAACM,OAAO,CAACZ,YAAY,CAACW,OAAO,CAAC;AACxC,IAAA;AAEA,IAAA,OAAO,MAAML,QAAQ,CAACO,UAAU,EAAE;AACpC,EAAA,CAAC,EAAE,CAACf,QAAQ,CAAC,CAAC;AAEd,EAAA,MAAMgB,MAAM,GAAG,CAAA,MAAA,EAASpB,IAAI,CAACqB,WAAW,EAAE,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA,CAAE;AAEjE,EAAA,IAAIlB,QAAQ,EAAE;IACZ,OACEmB,cAAA,CAACC,oBAAY;AACXtB,MAAAA,OAAO,EAAEA,OAAO;AAChBF,MAAAA,IAAI,EAAEoB,MAAM;oBACAf,SAAS,IAAI,CAAA,cAAA,EAAiBL,IAAI,CAAA,CAAE;MAChDG,SAAS,EAAEsB,IAAI,CACb,0FAA0F,EAC1F,6EAA6E,EAC7E,2EAA2E,EAC3EtB,SAAS,CACV;AAAAuB,MAAAA,QAAA,EAEDH,cAAA,CAAA,MAAA,EAAA;AAAMpB,QAAAA,SAAS,EAAC,2DAA2D;AAAAuB,QAAAA,QAAA,EACxEzB;OAAI;AACA,KAAA,CACM;AAEnB,EAAA;EAEA,OACEsB,cAAA,CAAA,KAAA,EAAA;AAAKI,IAAAA,GAAG,EAAErB,YAAY;AAAEH,IAAAA,SAAS,EAAC,eAAe;AAAAuB,IAAAA,QAAA,EAC/CE,eAAA,CAACJ,oBAAY;AACXtB,MAAAA,OAAO,EAAEA,OAAO;AAChBF,MAAAA,IAAI,EAAEoB,MAAM;AAAA,MAAA,YAAA,EACAf,SAAS,IAAI,CAAA,cAAA,EAAiBL,IAAI,CAAA,CAAE;AAChDG,MAAAA,SAAS,EAAEsB,IAAI,CACb,kHAAkH,EAClHtB,SAAS,CACV;MAAAuB,QAAA,EAAA,CAEAzB,IAAI,EACJO,QAAQ,IACPe;AAAMpB,QAAAA,SAAS,EAAC,UAAU;QAAAuB,QAAA,EAAE,iBAAiB1B,IAAI,CAAA;AAAE,OAAA,CACpD;KAAA;AACY,GAAA,CACX;AAEV;;;;"}
@@ -0,0 +1,68 @@
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useRef, useState, useEffect } from 'react';
4
+ import clsx from 'clsx';
5
+ import { ActionButton } from '../design/Buttons.mjs';
6
+
7
+ function OAuthButton(props) {
8
+ var name = props.name,
9
+ icon = props.icon,
10
+ onClick = props.onClick,
11
+ className = props.className,
12
+ _props$iconOnly = props.iconOnly,
13
+ iconOnly = _props$iconOnly === void 0 ? false : _props$iconOnly,
14
+ ariaLabel = props["aria-label"];
15
+ var containerRef = useRef(null);
16
+ var _useState = useState(false),
17
+ _useState2 = _slicedToArray(_useState, 2),
18
+ showText = _useState2[0],
19
+ setShowText = _useState2[1];
20
+ useEffect(function () {
21
+ if (iconOnly) {
22
+ return;
23
+ }
24
+ var observer = new ResizeObserver(function (_ref) {
25
+ var _ref2 = _slicedToArray(_ref, 1),
26
+ entry = _ref2[0];
27
+ if (!entry) return;
28
+ var width = entry.contentRect.width;
29
+ setShowText(width > 300);
30
+ });
31
+ if (containerRef.current) {
32
+ observer.observe(containerRef.current);
33
+ }
34
+ return function () {
35
+ return observer.disconnect();
36
+ };
37
+ }, [iconOnly]);
38
+ var testId = "oauth-".concat(name.toLowerCase().replace(/\s+/g, "-"));
39
+ if (iconOnly) {
40
+ return jsx(ActionButton, {
41
+ onClick: onClick,
42
+ name: testId,
43
+ "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : "Continue with ".concat(name),
44
+ className: clsx("flex items-center justify-center shrink-0 max-w-none !w-12 !min-w-12 h-10 p-0 rounded-lg", "border border-modal-background-dark/15 bg-button-light text-icon-text-light", "dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white", className),
45
+ children: jsx("span", {
46
+ className: "flex size-full items-center justify-center [&>svg]:size-5",
47
+ children: icon
48
+ })
49
+ });
50
+ }
51
+ return jsx("div", {
52
+ ref: containerRef,
53
+ className: "w-full h-full",
54
+ children: jsxs(ActionButton, {
55
+ onClick: onClick,
56
+ name: testId,
57
+ "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : "Continue with ".concat(name),
58
+ className: clsx("flex items-center justify-center gap-2 w-full h-full rounded-md bg-button-light dark:bg-button-dark text-inherit", className),
59
+ children: [icon, showText && jsx("span", {
60
+ className: "truncate",
61
+ children: "Continue with ".concat(name)
62
+ })]
63
+ })
64
+ });
65
+ }
66
+
67
+ export { OAuthButton };
68
+ //# sourceMappingURL=OAuth.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuth.mjs","sources":["../../../src/components/auth/OAuth.tsx"],"sourcesContent":[null],"names":["OAuthButton","props","name","icon","onClick","className","_props$iconOnly","iconOnly","ariaLabel","containerRef","useRef","_useState","useState","_useState2","_slicedToArray","showText","setShowText","useEffect","observer","ResizeObserver","_ref","_ref2","entry","width","contentRect","current","observe","disconnect","testId","concat","toLowerCase","replace","_jsx","ActionButton","clsx","children","ref","_jsxs"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { OtpType } from "@0xkey-io/core";
2
+ interface OtpVerificationProps {
3
+ contact: string;
4
+ otpId: string;
5
+ otpEncryptionTargetBundle: string;
6
+ otpType: OtpType;
7
+ otpLength?: number | undefined;
8
+ alphanumeric?: boolean | undefined;
9
+ formattedContact?: string;
10
+ sessionKey?: string;
11
+ onContinue?: (optCode: string) => Promise<void>;
12
+ }
13
+ export declare function OtpVerification(props: OtpVerificationProps): import("react/jsx-runtime").JSX.Element;
14
+ interface OtpInputProps {
15
+ otpLength: number;
16
+ onContinue: (otpCode: string) => void;
17
+ alphanumeric?: boolean;
18
+ }
19
+ export declare function OtpInput(props: OtpInputProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=OTP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTP.d.ts","sourceRoot":"","sources":["../../../src/components/auth/OTP.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAqC,MAAM,gBAAgB,CAAC;AAK5E,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CA2I1D;AAED,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAmG5C"}