@turnkey/react-wallet-kit 1.0.0-beta.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 (248) hide show
  1. package/LICENSE +201 -0
  2. package/README.MD +112 -0
  3. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +420 -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 +73 -0
  14. package/dist/components/auth/Email.js.map +1 -0
  15. package/dist/components/auth/Email.mjs +95 -0
  16. package/dist/components/auth/Email.mjs.map +1 -0
  17. package/dist/components/auth/OAuth.d.ts +10 -0
  18. package/dist/components/auth/OAuth.d.ts.map +1 -0
  19. package/dist/components/auth/OAuth.js +42 -0
  20. package/dist/components/auth/OAuth.js.map +1 -0
  21. package/dist/components/auth/OAuth.mjs +46 -0
  22. package/dist/components/auth/OAuth.mjs.map +1 -0
  23. package/dist/components/auth/OTP.d.ts +19 -0
  24. package/dist/components/auth/OTP.d.ts.map +1 -0
  25. package/dist/components/auth/OTP.js +204 -0
  26. package/dist/components/auth/OTP.js.map +1 -0
  27. package/dist/components/auth/OTP.mjs +288 -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 +26 -0
  38. package/dist/components/auth/Passkey.js.map +1 -0
  39. package/dist/components/auth/Passkey.mjs +22 -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 +93 -0
  46. package/dist/components/auth/Phone.mjs.map +1 -0
  47. package/dist/components/auth/Wallet.d.ts +30 -0
  48. package/dist/components/auth/Wallet.d.ts.map +1 -0
  49. package/dist/components/auth/Wallet.js +408 -0
  50. package/dist/components/auth/Wallet.js.map +1 -0
  51. package/dist/components/auth/Wallet.mjs +509 -0
  52. package/dist/components/auth/Wallet.mjs.map +1 -0
  53. package/dist/components/auth/index.d.ts +2 -0
  54. package/dist/components/auth/index.d.ts.map +1 -0
  55. package/dist/components/auth/index.js +327 -0
  56. package/dist/components/auth/index.js.map +1 -0
  57. package/dist/components/auth/index.mjs +540 -0
  58. package/dist/components/auth/index.mjs.map +1 -0
  59. package/dist/components/design/Buttons.d.ts +26 -0
  60. package/dist/components/design/Buttons.d.ts.map +1 -0
  61. package/dist/components/design/Buttons.js +79 -0
  62. package/dist/components/design/Buttons.js.map +1 -0
  63. package/dist/components/design/Buttons.mjs +71 -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 +113 -0
  74. package/dist/components/design/Inputs.js.map +1 -0
  75. package/dist/components/design/Inputs.mjs +108 -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 +27 -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 +43 -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 +10 -0
  102. package/dist/components/design/Svg.d.ts.map +1 -0
  103. package/dist/components/design/Svg.js +156 -0
  104. package/dist/components/design/Svg.js.map +1 -0
  105. package/dist/components/design/Svg.mjs +153 -0
  106. package/dist/components/design/Svg.mjs.map +1 -0
  107. package/dist/components/export/Export.d.ts +9 -0
  108. package/dist/components/export/Export.d.ts.map +1 -0
  109. package/dist/components/export/Export.js +140 -0
  110. package/dist/components/export/Export.js.map +1 -0
  111. package/dist/components/export/Export.mjs +178 -0
  112. package/dist/components/export/Export.mjs.map +1 -0
  113. package/dist/components/export/ExportWarning.d.ts +12 -0
  114. package/dist/components/export/ExportWarning.d.ts.map +1 -0
  115. package/dist/components/export/ExportWarning.js +87 -0
  116. package/dist/components/export/ExportWarning.js.map +1 -0
  117. package/dist/components/export/ExportWarning.mjs +113 -0
  118. package/dist/components/export/ExportWarning.mjs.map +1 -0
  119. package/dist/components/import/Import.d.ts +14 -0
  120. package/dist/components/import/Import.d.ts.map +1 -0
  121. package/dist/components/import/Import.js +226 -0
  122. package/dist/components/import/Import.js.map +1 -0
  123. package/dist/components/import/Import.mjs +328 -0
  124. package/dist/components/import/Import.mjs.map +1 -0
  125. package/dist/components/sign/Message.d.ts +17 -0
  126. package/dist/components/sign/Message.d.ts.map +1 -0
  127. package/dist/components/sign/Message.js +127 -0
  128. package/dist/components/sign/Message.js.map +1 -0
  129. package/dist/components/sign/Message.mjs +145 -0
  130. package/dist/components/sign/Message.mjs.map +1 -0
  131. package/dist/components/user/LinkWallet.d.ts +8 -0
  132. package/dist/components/user/LinkWallet.d.ts.map +1 -0
  133. package/dist/components/user/LinkWallet.js +102 -0
  134. package/dist/components/user/LinkWallet.js.map +1 -0
  135. package/dist/components/user/LinkWallet.mjs +162 -0
  136. package/dist/components/user/LinkWallet.mjs.map +1 -0
  137. package/dist/components/user/RemoveEmail.d.ts +11 -0
  138. package/dist/components/user/RemoveEmail.d.ts.map +1 -0
  139. package/dist/components/user/RemoveEmail.js +101 -0
  140. package/dist/components/user/RemoveEmail.js.map +1 -0
  141. package/dist/components/user/RemoveEmail.mjs +122 -0
  142. package/dist/components/user/RemoveEmail.mjs.map +1 -0
  143. package/dist/components/user/RemoveOAuthProvider.d.ts +11 -0
  144. package/dist/components/user/RemoveOAuthProvider.d.ts.map +1 -0
  145. package/dist/components/user/RemoveOAuthProvider.js +106 -0
  146. package/dist/components/user/RemoveOAuthProvider.js.map +1 -0
  147. package/dist/components/user/RemoveOAuthProvider.mjs +129 -0
  148. package/dist/components/user/RemoveOAuthProvider.mjs.map +1 -0
  149. package/dist/components/user/RemovePasskey.d.ts +11 -0
  150. package/dist/components/user/RemovePasskey.d.ts.map +1 -0
  151. package/dist/components/user/RemovePasskey.js +109 -0
  152. package/dist/components/user/RemovePasskey.js.map +1 -0
  153. package/dist/components/user/RemovePasskey.mjs +132 -0
  154. package/dist/components/user/RemovePasskey.mjs.map +1 -0
  155. package/dist/components/user/RemovePhoneNumber.d.ts +11 -0
  156. package/dist/components/user/RemovePhoneNumber.d.ts.map +1 -0
  157. package/dist/components/user/RemovePhoneNumber.js +101 -0
  158. package/dist/components/user/RemovePhoneNumber.js.map +1 -0
  159. package/dist/components/user/RemovePhoneNumber.mjs +122 -0
  160. package/dist/components/user/RemovePhoneNumber.mjs.map +1 -0
  161. package/dist/components/user/UpdateEmail.d.ts +8 -0
  162. package/dist/components/user/UpdateEmail.d.ts.map +1 -0
  163. package/dist/components/user/UpdateEmail.js +139 -0
  164. package/dist/components/user/UpdateEmail.js.map +1 -0
  165. package/dist/components/user/UpdateEmail.mjs +186 -0
  166. package/dist/components/user/UpdateEmail.mjs.map +1 -0
  167. package/dist/components/user/UpdatePhoneNumber.d.ts +8 -0
  168. package/dist/components/user/UpdatePhoneNumber.d.ts.map +1 -0
  169. package/dist/components/user/UpdatePhoneNumber.js +136 -0
  170. package/dist/components/user/UpdatePhoneNumber.js.map +1 -0
  171. package/dist/components/user/UpdatePhoneNumber.mjs +187 -0
  172. package/dist/components/user/UpdatePhoneNumber.mjs.map +1 -0
  173. package/dist/components/user/UpdateUserName.d.ts +11 -0
  174. package/dist/components/user/UpdateUserName.d.ts.map +1 -0
  175. package/dist/components/user/UpdateUserName.js +112 -0
  176. package/dist/components/user/UpdateUserName.js.map +1 -0
  177. package/dist/components/user/UpdateUserName.mjs +139 -0
  178. package/dist/components/user/UpdateUserName.mjs.map +1 -0
  179. package/dist/index.d.ts +5 -0
  180. package/dist/index.d.ts.map +1 -0
  181. package/dist/index.js +32 -0
  182. package/dist/index.js.map +1 -0
  183. package/dist/index.mjs +6 -0
  184. package/dist/index.mjs.map +1 -0
  185. package/dist/providers/TurnkeyProvider.d.ts +8 -0
  186. package/dist/providers/TurnkeyProvider.d.ts.map +1 -0
  187. package/dist/providers/TurnkeyProvider.js +35 -0
  188. package/dist/providers/TurnkeyProvider.js.map +1 -0
  189. package/dist/providers/TurnkeyProvider.mjs +33 -0
  190. package/dist/providers/TurnkeyProvider.mjs.map +1 -0
  191. package/dist/providers/client/Hook.d.ts +3 -0
  192. package/dist/providers/client/Hook.d.ts.map +1 -0
  193. package/dist/providers/client/Hook.js +14 -0
  194. package/dist/providers/client/Hook.js.map +1 -0
  195. package/dist/providers/client/Hook.mjs +12 -0
  196. package/dist/providers/client/Hook.mjs.map +1 -0
  197. package/dist/providers/client/Provider.d.ts +39 -0
  198. package/dist/providers/client/Provider.d.ts.map +1 -0
  199. package/dist/providers/client/Provider.js +2489 -0
  200. package/dist/providers/client/Provider.js.map +1 -0
  201. package/dist/providers/client/Provider.mjs +4744 -0
  202. package/dist/providers/client/Provider.mjs.map +1 -0
  203. package/dist/providers/client/Types.d.ts +524 -0
  204. package/dist/providers/client/Types.d.ts.map +1 -0
  205. package/dist/providers/client/Types.js +9 -0
  206. package/dist/providers/client/Types.js.map +1 -0
  207. package/dist/providers/client/Types.mjs +7 -0
  208. package/dist/providers/client/Types.mjs.map +1 -0
  209. package/dist/providers/index.d.ts +5 -0
  210. package/dist/providers/index.d.ts.map +1 -0
  211. package/dist/providers/modal/Hook.d.ts +3 -0
  212. package/dist/providers/modal/Hook.d.ts.map +1 -0
  213. package/dist/providers/modal/Hook.js +14 -0
  214. package/dist/providers/modal/Hook.js.map +1 -0
  215. package/dist/providers/modal/Hook.mjs +12 -0
  216. package/dist/providers/modal/Hook.mjs.map +1 -0
  217. package/dist/providers/modal/Provider.d.ts +21 -0
  218. package/dist/providers/modal/Provider.d.ts.map +1 -0
  219. package/dist/providers/modal/Provider.js +37 -0
  220. package/dist/providers/modal/Provider.js.map +1 -0
  221. package/dist/providers/modal/Provider.mjs +48 -0
  222. package/dist/providers/modal/Provider.mjs.map +1 -0
  223. package/dist/providers/modal/Root.d.ts +7 -0
  224. package/dist/providers/modal/Root.d.ts.map +1 -0
  225. package/dist/providers/modal/Root.js +258 -0
  226. package/dist/providers/modal/Root.js.map +1 -0
  227. package/dist/providers/modal/Root.mjs +263 -0
  228. package/dist/providers/modal/Root.mjs.map +1 -0
  229. package/dist/providers/theme/Overrides.d.ts +18 -0
  230. package/dist/providers/theme/Overrides.d.ts.map +1 -0
  231. package/dist/providers/theme/Overrides.js +35 -0
  232. package/dist/providers/theme/Overrides.js.map +1 -0
  233. package/dist/providers/theme/Overrides.mjs +37 -0
  234. package/dist/providers/theme/Overrides.mjs.map +1 -0
  235. package/dist/styles.css +1 -0
  236. package/dist/types/base.d.ts +79 -0
  237. package/dist/types/base.d.ts.map +1 -0
  238. package/dist/types/base.js +19 -0
  239. package/dist/types/base.js.map +1 -0
  240. package/dist/types/base.mjs +19 -0
  241. package/dist/types/base.mjs.map +1 -0
  242. package/dist/utils.d.ts +72 -0
  243. package/dist/utils.d.ts.map +1 -0
  244. package/dist/utils.js +211 -0
  245. package/dist/utils.js.map +1 -0
  246. package/dist/utils.mjs +307 -0
  247. package/dist/utils.mjs.map +1 -0
  248. package/package.json +69 -0
@@ -0,0 +1,288 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, toConsumableArray as _toConsumableArray, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { useState, useRef } from 'react';
4
+ import { useModal } from '../../providers/modal/Hook.mjs';
5
+ import { useTurnkey } from '../../providers/client/Hook.mjs';
6
+ import { Spinner } from '../design/Spinners.mjs';
7
+ import { Input } from '@headlessui/react';
8
+ import { BaseButton } from '../design/Buttons.mjs';
9
+ import { OtpType } from '@turnkey/core';
10
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
11
+ import { faEnvelope, faPhone } from '@fortawesome/free-solid-svg-icons';
12
+ import clsx from 'clsx';
13
+
14
+ function OtpVerification(props) {
15
+ var contact = props.contact,
16
+ otpType = props.otpType,
17
+ _props$otpLength = props.otpLength,
18
+ otpLength = _props$otpLength === void 0 ? 6 : _props$otpLength,
19
+ _props$alphanumeric = props.alphanumeric,
20
+ alphanumeric = _props$alphanumeric === void 0 ? true : _props$alphanumeric,
21
+ formattedContact = props.formattedContact,
22
+ _props$onContinue = props.onContinue,
23
+ onContinue = _props$onContinue === void 0 ? null : _props$onContinue;
24
+ var _useTurnkey = useTurnkey(),
25
+ initOtp = _useTurnkey.initOtp,
26
+ completeOtp = _useTurnkey.completeOtp;
27
+ var _useModal = useModal(),
28
+ closeModal = _useModal.closeModal,
29
+ isMobile = _useModal.isMobile;
30
+ var _useState = useState(false),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ submitting = _useState2[0],
33
+ setSubmitting = _useState2[1];
34
+ var _useState3 = useState(false),
35
+ _useState4 = _slicedToArray(_useState3, 2),
36
+ resending = _useState4[0],
37
+ setResending = _useState4[1];
38
+ var _useState5 = useState(false),
39
+ _useState6 = _slicedToArray(_useState5, 2),
40
+ resent = _useState6[0],
41
+ setResent = _useState6[1];
42
+ var _useState7 = useState(props.otpId),
43
+ _useState8 = _slicedToArray(_useState7, 2),
44
+ otpId = _useState8[0],
45
+ setOtpId = _useState8[1];
46
+ var _useState9 = useState(null),
47
+ _useState0 = _slicedToArray(_useState9, 2),
48
+ error = _useState0[0],
49
+ setError = _useState0[1];
50
+ var _useState1 = useState(false),
51
+ _useState10 = _slicedToArray(_useState1, 2),
52
+ shaking = _useState10[0],
53
+ setShaking = _useState10[1];
54
+ var shakeInput = function shakeInput() {
55
+ setShaking(true);
56
+ setTimeout(function () {
57
+ return setShaking(false);
58
+ }, 250);
59
+ };
60
+ var handleContinue = /*#__PURE__*/function () {
61
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(otpCode) {
62
+ var niceError;
63
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ _context.prev = 0;
67
+ setSubmitting(true);
68
+ if (!onContinue) {
69
+ _context.next = 7;
70
+ break;
71
+ }
72
+ _context.next = 5;
73
+ return onContinue(otpCode);
74
+ case 5:
75
+ _context.next = 10;
76
+ break;
77
+ case 7:
78
+ _context.next = 9;
79
+ return completeOtp({
80
+ otpId: otpId,
81
+ otpCode: otpCode,
82
+ contact: contact,
83
+ otpType: otpType
84
+ });
85
+ case 9:
86
+ closeModal();
87
+ case 10:
88
+ _context.next = 18;
89
+ break;
90
+ case 12:
91
+ _context.prev = 12;
92
+ _context.t0 = _context["catch"](0);
93
+ niceError = _context.t0.message.includes("Invalid OTP") ? "Invalid OTP code" : "An error has occurred"; // eek! maybe this is bad!
94
+ setError(niceError);
95
+ shakeInput();
96
+ throw new Error("Error completing OTP: ".concat(_context.t0));
97
+ case 18:
98
+ _context.prev = 18;
99
+ setSubmitting(false);
100
+ return _context.finish(18);
101
+ case 21:
102
+ case "end":
103
+ return _context.stop();
104
+ }
105
+ }, _callee, null, [[0, 12, 18, 21]]);
106
+ }));
107
+ return function handleContinue(_x) {
108
+ return _ref.apply(this, arguments);
109
+ };
110
+ }();
111
+ var handleResend = /*#__PURE__*/function () {
112
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
113
+ var id;
114
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
115
+ while (1) switch (_context2.prev = _context2.next) {
116
+ case 0:
117
+ setResending(true);
118
+ _context2.prev = 1;
119
+ _context2.next = 4;
120
+ return initOtp({
121
+ otpType: otpType,
122
+ contact: contact
123
+ });
124
+ case 4:
125
+ id = _context2.sent;
126
+ setOtpId(id);
127
+ setResent(true);
128
+ _context2.next = 12;
129
+ break;
130
+ case 9:
131
+ _context2.prev = 9;
132
+ _context2.t0 = _context2["catch"](1);
133
+ throw new Error("Error resending OTP: ".concat(_context2.t0));
134
+ case 12:
135
+ _context2.prev = 12;
136
+ setResending(false);
137
+ return _context2.finish(12);
138
+ case 15:
139
+ case "end":
140
+ return _context2.stop();
141
+ }
142
+ }, _callee2, null, [[1, 9, 12, 15]]);
143
+ }));
144
+ return function handleResend() {
145
+ return _ref2.apply(this, arguments);
146
+ };
147
+ }();
148
+ return jsxs("div", {
149
+ className: clsx("flex items-center justify-center py-3", isMobile ? "w-full" : "min-w-96"),
150
+ children: [jsxs("div", {
151
+ className: "flex flex-col items-center justify-center gap-6 transition-all duration-300 ".concat(submitting && "opacity-30 blur"),
152
+ children: [jsx(FontAwesomeIcon, {
153
+ size: "3x",
154
+ icon: otpType === OtpType.Email ? faEnvelope : otpType === OtpType.Sms ? faPhone : faEnvelope
155
+ }), jsxs("div", {
156
+ className: "flex flex-col text-center",
157
+ children: [jsx("span", {
158
+ className: "text-lg font-medium",
159
+ children: "Enter the ".concat(otpLength, "-digit code we sent to")
160
+ }), jsx("span", {
161
+ className: "text-base font-semibold",
162
+ children: formattedContact !== null && formattedContact !== void 0 ? formattedContact : contact
163
+ })]
164
+ }), jsx("div", {
165
+ className: "transition-all flex justify-center ".concat(shaking ? "animate-shake" : ""),
166
+ children: jsx(OtpInput, {
167
+ otpLength: otpLength,
168
+ onContinue: handleContinue,
169
+ alphanumeric: alphanumeric
170
+ })
171
+ }), error && jsx("div", {
172
+ className: "text-red-400 text-center text-sm",
173
+ children: error
174
+ }), jsx(BaseButton, {
175
+ onClick: handleResend,
176
+ disabled: resending || resent,
177
+ className: "text-xs text-inherit font-semibold bg-transparent border-none ".concat(resent && "opacity-30"),
178
+ children: resending ? jsxs("span", {
179
+ className: "flex items-center gap-2.5",
180
+ children: [jsx(Spinner, {
181
+ className: "size-3"
182
+ }), "Resending..."]
183
+ }) : resent ? "Code sent!" : "Resend Code"
184
+ })]
185
+ }), submitting && jsx("div", {
186
+ className: "absolute flex w-full h-full justify-center items-center",
187
+ children: jsx(Spinner, {
188
+ strokeWidth: 1,
189
+ className: "size-1/2"
190
+ })
191
+ })]
192
+ });
193
+ }
194
+ function OtpInput(props) {
195
+ var otpLength = props.otpLength,
196
+ onContinue = props.onContinue,
197
+ _props$alphanumeric2 = props.alphanumeric,
198
+ alphanumeric = _props$alphanumeric2 === void 0 ? false : _props$alphanumeric2;
199
+ var _useModal2 = useModal(),
200
+ isMobile = _useModal2.isMobile;
201
+ var _useState11 = useState(Array(otpLength).fill("")),
202
+ _useState12 = _slicedToArray(_useState11, 2),
203
+ values = _useState12[0],
204
+ setValues = _useState12[1];
205
+ var inputsRef = useRef([]);
206
+ var handleChange = function handleChange(index, value) {
207
+ if (!alphanumeric) value = value.replace(/[^0-9]/g, "");else value = value.replace(/[^a-zA-Z0-9]/g, "");
208
+ var newValues = _toConsumableArray(values);
209
+ newValues[index] = value.slice(-1); // only last char
210
+ setValues(newValues);
211
+ if (value && index < otpLength - 1) {
212
+ var _inputsRef$current;
213
+ (_inputsRef$current = inputsRef.current[index + 1]) === null || _inputsRef$current === void 0 ? void 0 : _inputsRef$current.focus();
214
+ }
215
+ if (value && newValues.every(function (v) {
216
+ return v;
217
+ })) {
218
+ onContinue(newValues.join(""));
219
+ }
220
+ };
221
+ var handleKeyDown = function handleKeyDown(e, index) {
222
+ if (e.key === "Backspace" && !values[index] && index > 0) {
223
+ var _inputsRef$current2;
224
+ (_inputsRef$current2 = inputsRef.current[index - 1]) === null || _inputsRef$current2 === void 0 ? void 0 : _inputsRef$current2.focus();
225
+ }
226
+ if (e.key === "ArrowLeft" && index > 0) {
227
+ var _inputsRef$current3;
228
+ (_inputsRef$current3 = inputsRef.current[index - 1]) === null || _inputsRef$current3 === void 0 ? void 0 : _inputsRef$current3.focus();
229
+ }
230
+ if (e.key === "ArrowRight" && index < otpLength - 1) {
231
+ var _inputsRef$current4;
232
+ (_inputsRef$current4 = inputsRef.current[index + 1]) === null || _inputsRef$current4 === void 0 ? void 0 : _inputsRef$current4.focus();
233
+ }
234
+ if (e.key === "Enter") {
235
+ onContinue(values.join(""));
236
+ }
237
+ };
238
+ var handlePaste = function handlePaste(e) {
239
+ var _inputsRef$current$la;
240
+ e.preventDefault();
241
+ var paste = e.clipboardData.getData("text").trim();
242
+ var cleaned = alphanumeric ? paste.replace(/[^a-zA-Z0-9]/g, "") : paste.replace(/[^0-9]/g, "");
243
+ var sliced = cleaned.slice(0, otpLength).split("");
244
+ var newValues = _toConsumableArray(values);
245
+ for (var i = 0; i < sliced.length; i++) {
246
+ var _sliced$i;
247
+ newValues[i] = (_sliced$i = sliced[i]) !== null && _sliced$i !== void 0 ? _sliced$i : "";
248
+ if (inputsRef.current[i]) {
249
+ var _sliced$i2;
250
+ inputsRef.current[i].value = (_sliced$i2 = sliced[i]) !== null && _sliced$i2 !== void 0 ? _sliced$i2 : "";
251
+ }
252
+ }
253
+ setValues(newValues);
254
+ // Focus the last filled box
255
+ var lastIndex = Math.min(sliced.length, otpLength - 1);
256
+ (_inputsRef$current$la = inputsRef.current[lastIndex]) === null || _inputsRef$current$la === void 0 ? void 0 : _inputsRef$current$la.focus();
257
+ onContinue(newValues.join(""));
258
+ };
259
+ return jsx("div", {
260
+ className: clsx("flex items-center justify-center space-x-2", isMobile ? "w-[95%]" : "w-full"),
261
+ children: Array.from({
262
+ length: otpLength
263
+ }).map(function (_, i) {
264
+ var _values$i;
265
+ return jsx(Input, {
266
+ type: alphanumeric ? "text" : "text",
267
+ inputMode: alphanumeric ? "text" : "numeric",
268
+ maxLength: 1,
269
+ value: (_values$i = values[i]) === null || _values$i === void 0 ? void 0 : _values$i.toUpperCase(),
270
+ autoComplete: "off",
271
+ onChange: function onChange(e) {
272
+ return handleChange(i, e.target.value.toUpperCase());
273
+ },
274
+ onKeyDown: function onKeyDown(e) {
275
+ return handleKeyDown(e, i);
276
+ },
277
+ onPaste: handlePaste,
278
+ ref: function ref(el) {
279
+ return inputsRef.current[i] = el;
280
+ },
281
+ className: clsx("text-center text-lg rounded-md border border-modal-background-dark/20 dark:border-modal-background-light/20 bg-button-light dark:bg-button-dark text-inherit focus:outline-primary-light focus:dark:outline-primary-dark focus:outline-[1px] focus:outline-offset-0 transition-all", isMobile ? "w-full h-10" : "h-12 w-12")
282
+ }, i);
283
+ })
284
+ });
285
+ }
286
+
287
+ export { OtpInput, OtpVerification };
288
+ //# sourceMappingURL=OTP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTP.mjs","sources":["../../../src/components/auth/OTP.tsx"],"sourcesContent":[null],"names":["OtpVerification","props","contact","otpType","_props$otpLength","otpLength","_props$alphanumeric","alphanumeric","formattedContact","_props$onContinue","onContinue","_useTurnkey","useTurnkey","initOtp","completeOtp","_useModal","useModal","closeModal","isMobile","_useState","useState","_useState2","_slicedToArray","submitting","setSubmitting","_useState3","_useState4","resending","setResending","_useState5","_useState6","resent","setResent","_useState7","otpId","_useState8","setOtpId","_useState9","_useState0","error","setError","_useState1","_useState10","shaking","setShaking","shakeInput","setTimeout","handleContinue","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","otpCode","niceError","wrap","_callee$","_context","prev","next","t0","message","includes","Error","concat","finish","stop","_x","apply","arguments","handleResend","_ref2","_callee2","id","_callee2$","_context2","sent","_jsxs","className","clsx","children","_jsx","FontAwesomeIcon","size","icon","OtpType","Email","faEnvelope","Sms","faPhone","OtpInput","BaseButton","onClick","disabled","Spinner","strokeWidth","_props$alphanumeric2","_useModal2","_useState11","Array","fill","_useState12","values","setValues","inputsRef","useRef","handleChange","index","value","replace","newValues","_toConsumableArray","slice","_inputsRef$current","current","focus","every","v","join","handleKeyDown","e","key","_inputsRef$current2","_inputsRef$current3","_inputsRef$current4","handlePaste","_inputsRef$current$la","preventDefault","paste","clipboardData","getData","trim","cleaned","sliced","split","i","length","_sliced$i","_sliced$i2","lastIndex","Math","min","from","map","_","_values$i","Input","type","inputMode","maxLength","toUpperCase","autoComplete","onChange","target","onKeyDown","onPaste","ref","el"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function OrSeparator(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=OrSeparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrSeparator.d.ts","sourceRoot":"","sources":["../../../src/components/auth/OrSeparator.tsx"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,4CAU1B"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+
5
+ function OrSeparator() {
6
+ return jsxRuntime.jsxs("div", {
7
+ className: "flex flex-row w-full items-center justify-center my-4",
8
+ children: [jsxRuntime.jsx("div", {
9
+ className: "flex flex-grow h-[1px] bg-icon-text-light/20 dark:bg-icon-text-dark/20"
10
+ }), jsxRuntime.jsx("span", {
11
+ className: "mx-2 text-xs text-icon-text-light/60 dark:text-icon-text-dark/60",
12
+ children: "OR"
13
+ }), jsxRuntime.jsx("div", {
14
+ className: "flex flex-grow h-[1px] bg-icon-text-light/20 dark:bg-icon-text-dark/20"
15
+ })]
16
+ });
17
+ }
18
+
19
+ exports.OrSeparator = OrSeparator;
20
+ //# sourceMappingURL=OrSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrSeparator.js","sources":["../../../src/components/auth/OrSeparator.tsx"],"sourcesContent":[null],"names":["OrSeparator","_jsxs","className","_jsx","children"],"mappings":";;;;SAAgBA,WAAWA,GAAA;EACzB,OACEC,eAAK,CAAA,KAAA,EAAA;AAAAC,IAAAA,SAAS,EAAC,uDAAuD;eACpEC,cAAK,CAAA,KAAA,EAAA;AAAAD,MAAAA,SAAS,EAAC;AAA2E,KAAA,CAAA,EAC1FC;AAAMD,MAAAA,SAAS,EAAC,kEAAkE;AAAAE,MAAAA,QAAA,EAAA;AAAA,KAAA,CAE3E,EACPD,cAAA,CAAA,KAAA,EAAA;AAAKD,MAAAA,SAAS,EAAC;AAAwE,KAAA,CAAG;AACtF,GAAA,CAAA;AAEV;;;;"}
@@ -0,0 +1,18 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ function OrSeparator() {
4
+ return jsxs("div", {
5
+ className: "flex flex-row w-full items-center justify-center my-4",
6
+ children: [jsx("div", {
7
+ className: "flex flex-grow h-[1px] bg-icon-text-light/20 dark:bg-icon-text-dark/20"
8
+ }), jsx("span", {
9
+ className: "mx-2 text-xs text-icon-text-light/60 dark:text-icon-text-dark/60",
10
+ children: "OR"
11
+ }), jsx("div", {
12
+ className: "flex flex-grow h-[1px] bg-icon-text-light/20 dark:bg-icon-text-dark/20"
13
+ })]
14
+ });
15
+ }
16
+
17
+ export { OrSeparator };
18
+ //# sourceMappingURL=OrSeparator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrSeparator.mjs","sources":["../../../src/components/auth/OrSeparator.tsx"],"sourcesContent":[null],"names":["OrSeparator","_jsxs","className","_jsx","children"],"mappings":";;SAAgBA,WAAWA,GAAA;EACzB,OACEC,IAAK,CAAA,KAAA,EAAA;AAAAC,IAAAA,SAAS,EAAC,uDAAuD;eACpEC,GAAK,CAAA,KAAA,EAAA;AAAAD,MAAAA,SAAS,EAAC;AAA2E,KAAA,CAAA,EAC1FC;AAAMD,MAAAA,SAAS,EAAC,kEAAkE;AAAAE,MAAAA,QAAA,EAAA;AAAA,KAAA,CAE3E,EACPD,GAAA,CAAA,KAAA,EAAA;AAAKD,MAAAA,SAAS,EAAC;AAAwE,KAAA,CAAG;AACtF,GAAA,CAAA;AAEV;;;;"}
@@ -0,0 +1,7 @@
1
+ interface PasskeyButtonsProps {
2
+ onLogin: () => void;
3
+ onSignUp: () => void;
4
+ }
5
+ export declare function PasskeyButtons(props: PasskeyButtonsProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=Passkey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Passkey.d.ts","sourceRoot":"","sources":["../../../src/components/auth/Passkey.tsx"],"names":[],"mappings":"AAEA,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAkBxD"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var Buttons = require('../design/Buttons.js');
5
+
6
+ function PasskeyButtons(props) {
7
+ const {
8
+ onLogin,
9
+ onSignUp
10
+ } = props;
11
+ return jsxRuntime.jsxs("div", {
12
+ className: "flex flex-col gap-2 w-full",
13
+ children: [jsxRuntime.jsx(Buttons.ActionButton, {
14
+ onClick: onLogin,
15
+ className: "w-full text-inherit bg-button-light dark:bg-button-dark",
16
+ children: "Log in with passkey"
17
+ }), jsxRuntime.jsx(Buttons.ActionButton, {
18
+ onClick: onSignUp,
19
+ className: "w-full bg-transparent text-primary-light dark:text-primary-dark border-none",
20
+ children: "Sign up with passkey"
21
+ })]
22
+ });
23
+ }
24
+
25
+ exports.PasskeyButtons = PasskeyButtons;
26
+ //# sourceMappingURL=Passkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Passkey.js","sources":["../../../src/components/auth/Passkey.tsx"],"sourcesContent":[null],"names":["PasskeyButtons","props","onLogin","onSignUp","_jsxs","className","children","_jsx","ActionButton","onClick"],"mappings":";;;;;AAOM,SAAUA,cAAcA,CAACC,KAA0B,EAAA;EACvD,MAAM;IAAEC,OAAO;AAAEC,IAAAA;AAAU,GAAA,GAAGF,KAAK;EACnC,OACEG,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,4BAA4B;AAAAC,IAAAA,QAAA,EAAA,CACzCC,cAAC,CAAAC,oBAAY,EACX;AAAAC,MAAAA,OAAO,EAAEP,OAAO;AAChBG,MAAAA,SAAS,EAAC,yDAAyD;AAAAC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAGtD,EACfC,cAAA,CAACC,oBAAY,EAAA;AACXC,MAAAA,OAAO,EAAEN,QAAQ;AACjBE,MAAAA,SAAS,EAAC,6EAA6E;AAG1EC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAAA;AAAA,GAAA,CACX;AAEV;;;;"}
@@ -0,0 +1,22 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { ActionButton } from '../design/Buttons.mjs';
3
+
4
+ function PasskeyButtons(props) {
5
+ var onLogin = props.onLogin,
6
+ onSignUp = props.onSignUp;
7
+ return jsxs("div", {
8
+ className: "flex flex-col gap-2 w-full",
9
+ children: [jsx(ActionButton, {
10
+ onClick: onLogin,
11
+ className: "w-full text-inherit bg-button-light dark:bg-button-dark",
12
+ children: "Log in with passkey"
13
+ }), jsx(ActionButton, {
14
+ onClick: onSignUp,
15
+ className: "w-full bg-transparent text-primary-light dark:text-primary-dark border-none",
16
+ children: "Sign up with passkey"
17
+ })]
18
+ });
19
+ }
20
+
21
+ export { PasskeyButtons };
22
+ //# sourceMappingURL=Passkey.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Passkey.mjs","sources":["../../../src/components/auth/Passkey.tsx"],"sourcesContent":[null],"names":["PasskeyButtons","props","onLogin","onSignUp","_jsxs","className","children","_jsx","ActionButton","onClick"],"mappings":";;;AAOM,SAAUA,cAAcA,CAACC,KAA0B,EAAA;AACvD,EAAA,IAAQC,OAAO,GAAeD,KAAK,CAA3BC,OAAO;IAAEC,QAAQ,GAAKF,KAAK,CAAlBE,QAAQ;EACzB,OACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,4BAA4B;AAAAC,IAAAA,QAAA,EAAA,CACzCC,GAAC,CAAAC,YAAY,EACX;AAAAC,MAAAA,OAAO,EAAEP,OAAO;AAChBG,MAAAA,SAAS,EAAC,yDAAyD;AAAAC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAGtD,EACfC,GAAA,CAACC,YAAY,EAAA;AACXC,MAAAA,OAAO,EAAEN,QAAQ;AACjBE,MAAAA,SAAS,EAAC,6EAA6E;AAG1EC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAAA;AAAA,GAAA,CACX;AAEV;;;;"}
@@ -0,0 +1,6 @@
1
+ interface PhoneNumberInputProps {
2
+ onContinue?: (phone: string, formattedPhone: string) => void;
3
+ }
4
+ export declare function PhoneNumberInput(props: PhoneNumberInputProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=Phone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Phone.d.ts","sourceRoot":"","sources":["../../../src/components/auth/Phone.tsx"],"names":[],"mappings":"AAOA,UAAU,qBAAqB;IAC7B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CA4E5D"}
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var Buttons = require('../design/Buttons.js');
6
+ var Inputs = require('../design/Inputs.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 PhoneNumberInput(props) {
12
+ const {
13
+ config
14
+ } = Hook.useTurnkey();
15
+ const {
16
+ onContinue
17
+ } = props;
18
+ const [phone, setPhone] = react.useState("");
19
+ const [formattedPhone, setFormattedPhone] = react.useState("");
20
+ const [isValid, setIsValid] = react.useState(false);
21
+ const [loading, setLoading] = react.useState(false);
22
+ const useContinueButton = config?.ui?.preferLargeActionButtons ?? false;
23
+ const handleContinue = async () => {
24
+ if (isValid && onContinue) {
25
+ setLoading(true);
26
+ try {
27
+ await Promise.resolve(onContinue(phone, formattedPhone));
28
+ } finally {
29
+ setLoading(false);
30
+ }
31
+ }
32
+ };
33
+ const buttonDisabled = !isValid;
34
+ const buttonClass = clsx("transition-all duration-300", (isValid || 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");
35
+ return jsxRuntime.jsxs("div", {
36
+ className: clsx("w-full items-center justify-center space-y-3", useContinueButton ? "flex flex-col" : "flex flex-row"),
37
+ children: [jsxRuntime.jsxs("div", {
38
+ className: clsx("w-full", !useContinueButton && "relative flex items-center"),
39
+ children: [jsxRuntime.jsx(Inputs.PhoneInputBox, {
40
+ value: phone,
41
+ onChange: (raw, formatted, valid) => {
42
+ setPhone(raw);
43
+ setFormattedPhone(formatted);
44
+ setIsValid(valid);
45
+ },
46
+ onEnter: handleContinue
47
+ }), !useContinueButton && jsxRuntime.jsx(Buttons.IconButton, {
48
+ icon: freeSolidSvgIcons.faArrowRight,
49
+ onClick: handleContinue,
50
+ disabled: buttonDisabled,
51
+ loading: loading,
52
+ className: clsx("absolute right-2 w-6 h-6", buttonClass),
53
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark"
54
+ })]
55
+ }), useContinueButton && jsxRuntime.jsx(Buttons.ActionButton, {
56
+ onClick: handleContinue,
57
+ disabled: buttonDisabled,
58
+ loading: loading,
59
+ className: clsx("w-full", buttonClass),
60
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
61
+ children: "Continue"
62
+ })]
63
+ });
64
+ }
65
+
66
+ exports.PhoneNumberInput = PhoneNumberInput;
67
+ //# sourceMappingURL=Phone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Phone.js","sources":["../../../src/components/auth/Phone.tsx"],"sourcesContent":[null],"names":["PhoneNumberInput","props","config","useTurnkey","onContinue","phone","setPhone","useState","formattedPhone","setFormattedPhone","isValid","setIsValid","loading","setLoading","useContinueButton","ui","preferLargeActionButtons","handleContinue","Promise","resolve","buttonDisabled","buttonClass","clsx","_jsxs","className","children","_jsx","PhoneInputBox","value","onChange","raw","formatted","valid","onEnter","IconButton","icon","faArrowRight","onClick","disabled","spinnerClassName","ActionButton"],"mappings":";;;;;;;;;;AAWM,SAAUA,gBAAgBA,CAACC,KAA4B,EAAA;EAC3D,MAAM;AAAEC,IAAAA;GAAQ,GAAGC,eAAU,EAAE;EAC/B,MAAM;AAAEC,IAAAA;AAAY,GAAA,GAAGH,KAAK;EAC5B,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC;EACtC,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGF,cAAQ,CAAC,EAAE,CAAC;EACxD,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAGJ,cAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAGN,cAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMO,iBAAiB,GAAGZ,MAAM,EAAEa,EAAE,EAAEC,wBAAwB,IAAI,KAAK;AAEvE,EAAA,MAAMC,cAAc,GAAG,YAAW;IAChC,IAAIP,OAAO,IAAIN,UAAU,EAAE;MACzBS,UAAU,CAAC,IAAI,CAAC;MAChB,IAAI;QACF,MAAMK,OAAO,CAACC,OAAO,CAACf,UAAU,CAACC,KAAK,EAAEG,cAAc,CAAC,CAAC;AAC1D,OAAC,SAAS;QACRK,UAAU,CAAC,KAAK,CAAC;AACnB;AACF;GACD;EAED,MAAMO,cAAc,GAAG,CAACV,OAAO;AAE/B,EAAA,MAAMW,WAAW,GAAGC,IAAI,CACtB,6BAA6B,EAC7B,CAACZ,OAAO,IAAII,iBAAiB,KAC3B,mJAAmJ,CACtJ;EAED,OACES;IACEC,SAAS,EAAEF,IAAI,CACb,8CAA8C,EAC9CR,iBAAiB,GAAG,eAAe,GAAG,eAAe,CACtD;AAEDW,IAAAA,QAAA,EAAA,CAAAF,eAAA,CAAA,KAAA,EAAA;MACEC,SAAS,EAAEF,IAAI,CACb,QAAQ,EACR,CAACR,iBAAiB,IAAI,4BAA4B,CACnD;AAEDW,MAAAA,QAAA,EAAA,CAAAC,cAAA,CAACC,oBAAa,EAAA;AACZC,QAAAA,KAAK,EAAEvB,KAAK;AACZwB,QAAAA,QAAQ,EAAEA,CAACC,GAAG,EAAEC,SAAS,EAAEC,KAAK,KAAI;UAClC1B,QAAQ,CAACwB,GAAG,CAAC;UACbrB,iBAAiB,CAACsB,SAAS,CAAC;UAC5BpB,UAAU,CAACqB,KAAK,CAAC;SAClB;AACDC,QAAAA,OAAO,EAAEhB;OAAc,CACvB,EAED,CAACH,iBAAiB,IACjBY,eAACQ,kBAAU,EAAA;AACTC,QAAAA,IAAI,EAAEC,8BAAY;AAClBC,QAAAA,OAAO,EAAEpB,cAAc;AACvBqB,QAAAA,QAAQ,EAAElB,cAAc;AACxBR,QAAAA,OAAO,EAAEA,OAAO;AAChBY,QAAAA,SAAS,EAAEF,IAAI,CAAC,0BAA0B,EAAED,WAAW,CAAC;AACxDkB,QAAAA,gBAAgB,EAAC;QAEpB;AAAA,KAAA,CACG,EAELzB,iBAAiB,IAChBY,cAAA,CAACc,oBAAY,EAAA;AACXH,MAAAA,OAAO,EAAEpB,cAAc;AACvBqB,MAAAA,QAAQ,EAAElB,cAAc;AACxBR,MAAAA,OAAO,EAAEA,OAAO;AAChBY,MAAAA,SAAS,EAAEF,IAAI,CAAC,QAAQ,EAAED,WAAW,CAAC;AACtCkB,MAAAA,gBAAgB,EAAC,qDAAqD;;MAIzE;AAAA,GAAA,CACG;AAEV;;;;"}
@@ -0,0 +1,93 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { useState } from 'react';
4
+ import { IconButton, ActionButton } from '../design/Buttons.mjs';
5
+ import { PhoneInputBox } from '../design/Inputs.mjs';
6
+ import { faArrowRight } from '@fortawesome/free-solid-svg-icons';
7
+ import clsx from 'clsx';
8
+ import { useTurnkey } from '../../providers/client/Hook.mjs';
9
+
10
+ function PhoneNumberInput(props) {
11
+ var _config$ui$preferLarg, _config$ui;
12
+ var _useTurnkey = useTurnkey(),
13
+ config = _useTurnkey.config;
14
+ var onContinue = props.onContinue;
15
+ var _useState = useState(""),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ phone = _useState2[0],
18
+ setPhone = _useState2[1];
19
+ var _useState3 = useState(""),
20
+ _useState4 = _slicedToArray(_useState3, 2),
21
+ formattedPhone = _useState4[0],
22
+ setFormattedPhone = _useState4[1];
23
+ var _useState5 = useState(false),
24
+ _useState6 = _slicedToArray(_useState5, 2),
25
+ isValid = _useState6[0],
26
+ setIsValid = _useState6[1];
27
+ var _useState7 = useState(false),
28
+ _useState8 = _slicedToArray(_useState7, 2),
29
+ loading = _useState8[0],
30
+ setLoading = _useState8[1];
31
+ 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;
32
+ var handleContinue = /*#__PURE__*/function () {
33
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
34
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
35
+ while (1) switch (_context.prev = _context.next) {
36
+ case 0:
37
+ if (!(isValid && onContinue)) {
38
+ _context.next = 8;
39
+ break;
40
+ }
41
+ setLoading(true);
42
+ _context.prev = 2;
43
+ _context.next = 5;
44
+ return Promise.resolve(onContinue(phone, formattedPhone));
45
+ case 5:
46
+ _context.prev = 5;
47
+ setLoading(false);
48
+ return _context.finish(5);
49
+ case 8:
50
+ case "end":
51
+ return _context.stop();
52
+ }
53
+ }, _callee, null, [[2,, 5, 8]]);
54
+ }));
55
+ return function handleContinue() {
56
+ return _ref.apply(this, arguments);
57
+ };
58
+ }();
59
+ var buttonDisabled = !isValid;
60
+ var buttonClass = clsx("transition-all duration-300", (isValid || 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");
61
+ return jsxs("div", {
62
+ className: clsx("w-full items-center justify-center space-y-3", useContinueButton ? "flex flex-col" : "flex flex-row"),
63
+ children: [jsxs("div", {
64
+ className: clsx("w-full", !useContinueButton && "relative flex items-center"),
65
+ children: [jsx(PhoneInputBox, {
66
+ value: phone,
67
+ onChange: function onChange(raw, formatted, valid) {
68
+ setPhone(raw);
69
+ setFormattedPhone(formatted);
70
+ setIsValid(valid);
71
+ },
72
+ onEnter: handleContinue
73
+ }), !useContinueButton && jsx(IconButton, {
74
+ icon: faArrowRight,
75
+ onClick: handleContinue,
76
+ disabled: buttonDisabled,
77
+ loading: loading,
78
+ className: clsx("absolute right-2 w-6 h-6", buttonClass),
79
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark"
80
+ })]
81
+ }), useContinueButton && jsx(ActionButton, {
82
+ onClick: handleContinue,
83
+ disabled: buttonDisabled,
84
+ loading: loading,
85
+ className: clsx("w-full", buttonClass),
86
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
87
+ children: "Continue"
88
+ })]
89
+ });
90
+ }
91
+
92
+ export { PhoneNumberInput };
93
+ //# sourceMappingURL=Phone.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Phone.mjs","sources":["../../../src/components/auth/Phone.tsx"],"sourcesContent":[null],"names":["PhoneNumberInput","props","_config$ui$preferLarg","_config$ui","_useTurnkey","useTurnkey","config","onContinue","_useState","useState","_useState2","_slicedToArray","phone","setPhone","_useState3","_useState4","formattedPhone","setFormattedPhone","_useState5","_useState6","isValid","setIsValid","_useState7","_useState8","loading","setLoading","useContinueButton","ui","preferLargeActionButtons","handleContinue","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","Promise","resolve","finish","stop","apply","arguments","buttonDisabled","buttonClass","clsx","_jsxs","className","children","_jsx","PhoneInputBox","value","onChange","raw","formatted","valid","onEnter","IconButton","icon","faArrowRight","onClick","disabled","spinnerClassName","ActionButton"],"mappings":"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"}