@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
package/dist/utils.mjs ADDED
@@ -0,0 +1,307 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, toConsumableArray as _toConsumableArray } from './_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
3
+ import { useState, useEffect, useRef, useCallback } from 'react';
4
+ import { WalletInterfaceType } from '@turnkey/core';
5
+
6
+ var GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
7
+ var APPLE_AUTH_URL = "https://account.apple.com/auth/authorize";
8
+ var FACEBOOK_AUTH_URL = "https://www.facebook.com/v11.0/dialog/oauth";
9
+ var FACEBOOK_GRAPH_URL = "https://graph.facebook.com/v11.0/oauth/access_token";
10
+ var popupWidth = 500;
11
+ var popupHeight = 600;
12
+ var SESSION_WARNING_THRESHOLD_MS = 60 * 1000; // 1 minute in milliseconds
13
+ var useDebouncedCallback = function useDebouncedCallback(fn) {
14
+ var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
15
+ var timer = useRef(null);
16
+ return useCallback(function () {
17
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18
+ args[_key] = arguments[_key];
19
+ }
20
+ if (timer.current) clearTimeout(timer.current);
21
+ timer.current = setTimeout(function () {
22
+ fn.apply(void 0, args);
23
+ timer.current = null;
24
+ }, wait);
25
+ }, [fn, wait]);
26
+ };
27
+ var isValidSession = function isValidSession(session) {
28
+ return (session === null || session === void 0 ? void 0 : session.expiry) !== undefined && session.expiry * 1000 > Date.now();
29
+ };
30
+ function withTurnkeyErrorHandling(_x, _x2) {
31
+ return _withTurnkeyErrorHandling.apply(this, arguments);
32
+ }
33
+ // Helper function to parse Apple OAuth redirects
34
+ function _withTurnkeyErrorHandling() {
35
+ _withTurnkeyErrorHandling = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(fn, callbacks) {
36
+ var fallbackMessage,
37
+ fallbackCode,
38
+ _callbacks$onError2,
39
+ _callbacks$onError,
40
+ tkError,
41
+ _args = arguments;
42
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
43
+ while (1) switch (_context.prev = _context.next) {
44
+ case 0:
45
+ fallbackMessage = _args.length > 2 && _args[2] !== undefined ? _args[2] : "An unknown error occurred";
46
+ fallbackCode = _args.length > 3 && _args[3] !== undefined ? _args[3] : TurnkeyErrorCodes.UNKNOWN;
47
+ _context.prev = 2;
48
+ _context.next = 5;
49
+ return fn();
50
+ case 5:
51
+ return _context.abrupt("return", _context.sent);
52
+ case 8:
53
+ _context.prev = 8;
54
+ _context.t0 = _context["catch"](2);
55
+ if (!(_context.t0 instanceof TurnkeyError)) {
56
+ _context.next = 13;
57
+ break;
58
+ }
59
+ callbacks === null || callbacks === void 0 ? void 0 : (_callbacks$onError = callbacks.onError) === null || _callbacks$onError === void 0 ? void 0 : _callbacks$onError.call(callbacks, _context.t0);
60
+ throw _context.t0;
61
+ case 13:
62
+ tkError = new TurnkeyError(fallbackMessage, fallbackCode, _context.t0);
63
+ callbacks === null || callbacks === void 0 ? void 0 : (_callbacks$onError2 = callbacks.onError) === null || _callbacks$onError2 === void 0 ? void 0 : _callbacks$onError2.call(callbacks, tkError);
64
+ throw tkError;
65
+ case 16:
66
+ case "end":
67
+ return _context.stop();
68
+ }
69
+ }, _callee, null, [[2, 8]]);
70
+ }));
71
+ return _withTurnkeyErrorHandling.apply(this, arguments);
72
+ }
73
+ function parseAppleOAuthRedirect(hash) {
74
+ // Apple's format has unencoded parameters in the state portion
75
+ var idTokenMatch = hash.match(/id_token=([^&]+)$/);
76
+ var idToken = idTokenMatch ? idTokenMatch[1] : null;
77
+ // Extract state parameters - state is at the beginning
78
+ // It typically looks like: state=provider=apple&flow=redirect&publicKey=123...&openModal=true&code=...&id_token=...
79
+ var stateEndIndex = hash.indexOf("&code=");
80
+ if (stateEndIndex === -1) return {
81
+ idToken: idToken,
82
+ provider: null,
83
+ flow: null,
84
+ publicKey: null,
85
+ openModal: null
86
+ };
87
+ var stateContent = hash.substring(6, stateEndIndex); // Remove "state=" prefix
88
+ var stateParams = new URLSearchParams(stateContent);
89
+ return {
90
+ idToken: idToken,
91
+ provider: stateParams.get("provider"),
92
+ flow: stateParams.get("flow"),
93
+ publicKey: stateParams.get("publicKey"),
94
+ openModal: stateParams.get("openModal")
95
+ };
96
+ }
97
+ // Helper function to parse Google OAuth redirects
98
+ function parseGoogleOAuthRedirect(hash) {
99
+ var hashParams = new URLSearchParams(hash);
100
+ var idToken = hashParams.get("id_token");
101
+ var state = hashParams.get("state");
102
+ var provider = null;
103
+ var flow = null;
104
+ var publicKey = null;
105
+ var openModal = null;
106
+ if (state) {
107
+ var stateParams = new URLSearchParams(state);
108
+ provider = stateParams.get("provider");
109
+ flow = stateParams.get("flow");
110
+ publicKey = stateParams.get("publicKey");
111
+ openModal = stateParams.get("openModal");
112
+ }
113
+ return {
114
+ idToken: idToken,
115
+ provider: provider,
116
+ flow: flow,
117
+ publicKey: publicKey,
118
+ openModal: openModal
119
+ };
120
+ }
121
+ // Main function to determine provider and parse accordingly
122
+ function parseOAuthRedirect(hash) {
123
+ // Check if this is an Apple redirect
124
+ if (hash.startsWith("state=provider=apple")) {
125
+ return parseAppleOAuthRedirect(hash);
126
+ } else {
127
+ return parseGoogleOAuthRedirect(hash);
128
+ }
129
+ }
130
+ // Function to generate PKCE challenge pair for Facebook OAuth
131
+ function generateChallengePair() {
132
+ return _generateChallengePair.apply(this, arguments);
133
+ }
134
+ // Function to exchange Facebook authorization code for token
135
+ function _generateChallengePair() {
136
+ _generateChallengePair = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
137
+ var randomBytes, verifier, encoder, data, digest, base64Challenge;
138
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
139
+ while (1) switch (_context2.prev = _context2.next) {
140
+ case 0:
141
+ randomBytes = new Uint8Array(32);
142
+ window.crypto.getRandomValues(randomBytes);
143
+ verifier = btoa(String.fromCharCode.apply(String, _toConsumableArray(randomBytes))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
144
+ encoder = new TextEncoder();
145
+ data = encoder.encode(verifier);
146
+ _context2.next = 7;
147
+ return window.crypto.subtle.digest("SHA-256", data);
148
+ case 7:
149
+ digest = _context2.sent;
150
+ base64Challenge = btoa(String.fromCharCode.apply(String, _toConsumableArray(new Uint8Array(digest)))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
151
+ return _context2.abrupt("return", {
152
+ verifier: verifier,
153
+ codeChallenge: base64Challenge
154
+ });
155
+ case 10:
156
+ case "end":
157
+ return _context2.stop();
158
+ }
159
+ }, _callee2);
160
+ }));
161
+ return _generateChallengePair.apply(this, arguments);
162
+ }
163
+ function exchangeCodeForToken(_x3, _x4, _x5, _x6) {
164
+ return _exchangeCodeForToken.apply(this, arguments);
165
+ }
166
+ function _exchangeCodeForToken() {
167
+ _exchangeCodeForToken = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(clientId, redirectUri, code, codeVerifier) {
168
+ var params, response, errorData;
169
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
170
+ while (1) switch (_context3.prev = _context3.next) {
171
+ case 0:
172
+ params = new URLSearchParams({
173
+ client_id: clientId,
174
+ redirect_uri: redirectUri,
175
+ code_verifier: codeVerifier,
176
+ code: code,
177
+ grant_type: "authorization_code"
178
+ });
179
+ _context3.next = 3;
180
+ return fetch(FACEBOOK_GRAPH_URL, {
181
+ method: "POST",
182
+ headers: {
183
+ "Content-Type": "application/x-www-form-urlencoded"
184
+ },
185
+ body: params.toString()
186
+ });
187
+ case 3:
188
+ response = _context3.sent;
189
+ if (response.ok) {
190
+ _context3.next = 9;
191
+ break;
192
+ }
193
+ _context3.next = 7;
194
+ return response.json();
195
+ case 7:
196
+ errorData = _context3.sent;
197
+ throw new Error("Facebook token exchange failed: ".concat(JSON.stringify(errorData)));
198
+ case 9:
199
+ _context3.next = 11;
200
+ return response.json();
201
+ case 11:
202
+ return _context3.abrupt("return", _context3.sent);
203
+ case 12:
204
+ case "end":
205
+ return _context3.stop();
206
+ }
207
+ }, _callee3);
208
+ }));
209
+ return _exchangeCodeForToken.apply(this, arguments);
210
+ }
211
+ function handleFacebookPKCEFlow(_x7) {
212
+ return _handleFacebookPKCEFlow.apply(this, arguments);
213
+ }
214
+ // Custom hook to get the current screen size
215
+ function _handleFacebookPKCEFlow() {
216
+ _handleFacebookPKCEFlow = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref) {
217
+ var code, publicKey, openModal, clientId, redirectURI, callbacks, completeOauth, onPushPage, verifier, tokenData;
218
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
219
+ while (1) switch (_context4.prev = _context4.next) {
220
+ case 0:
221
+ code = _ref.code, publicKey = _ref.publicKey, openModal = _ref.openModal, clientId = _ref.clientId, redirectURI = _ref.redirectURI, callbacks = _ref.callbacks, completeOauth = _ref.completeOauth, onPushPage = _ref.onPushPage;
222
+ // Retrieve the verifier stored during OAuth initiation
223
+ verifier = sessionStorage.getItem("facebook_verifier");
224
+ if (verifier) {
225
+ _context4.next = 4;
226
+ break;
227
+ }
228
+ throw new TurnkeyError("Missing PKCE verifier for Facebook authentication", TurnkeyErrorCodes.OAUTH_SIGNUP_ERROR);
229
+ case 4:
230
+ _context4.prev = 4;
231
+ _context4.next = 7;
232
+ return exchangeCodeForToken(clientId, redirectURI, code, verifier);
233
+ case 7:
234
+ tokenData = _context4.sent;
235
+ // Clean up the verifier as it's no longer needed
236
+ sessionStorage.removeItem("facebook_verifier");
237
+ // Handle different UI flows based on openModal parameter
238
+ if (!(openModal === "true")) {
239
+ _context4.next = 14;
240
+ break;
241
+ }
242
+ _context4.next = 12;
243
+ return onPushPage(tokenData.id_token);
244
+ case 12:
245
+ _context4.next = 20;
246
+ break;
247
+ case 14:
248
+ if (!(callbacks !== null && callbacks !== void 0 && callbacks.onOauthRedirect)) {
249
+ _context4.next = 18;
250
+ break;
251
+ }
252
+ callbacks.onOauthRedirect({
253
+ idToken: tokenData.id_token,
254
+ publicKey: publicKey
255
+ });
256
+ _context4.next = 20;
257
+ break;
258
+ case 18:
259
+ _context4.next = 20;
260
+ return completeOauth({
261
+ oidcToken: tokenData.id_token,
262
+ publicKey: publicKey
263
+ });
264
+ case 20:
265
+ // Clean up the URL after processing
266
+ window.history.replaceState(null, document.title, window.location.pathname);
267
+ return _context4.abrupt("return");
268
+ case 24:
269
+ _context4.prev = 24;
270
+ _context4.t0 = _context4["catch"](4);
271
+ console.error("Error exchanging Facebook code for token:", _context4.t0);
272
+ throw new TurnkeyError("Failed to complete Facebook authentication", TurnkeyErrorCodes.OAUTH_SIGNUP_ERROR, _context4.t0);
273
+ case 28:
274
+ case "end":
275
+ return _context4.stop();
276
+ }
277
+ }, _callee4, null, [[4, 24]]);
278
+ }));
279
+ return _handleFacebookPKCEFlow.apply(this, arguments);
280
+ }
281
+ function useScreenSize() {
282
+ var _useState = useState(typeof window !== "undefined" ? window.innerWidth : 1024),
283
+ _useState2 = _slicedToArray(_useState, 2),
284
+ width = _useState2[0],
285
+ setWidth = _useState2[1];
286
+ useEffect(function () {
287
+ var handleResize = function handleResize() {
288
+ return setWidth(window.innerWidth);
289
+ };
290
+ window.addEventListener("resize", handleResize);
291
+ return function () {
292
+ return window.removeEventListener("resize", handleResize);
293
+ };
294
+ }, []);
295
+ return {
296
+ width: width,
297
+ // I have no idea why but, Tailwind's responsive design breakpoints do not work. Throughout the modal components, you will see conditional styling using this `isMobile` variable.
298
+ // This is fine since we only need to style for 2 screen sizes: mobile and desktop. If anyone can figure out why Tailwind's responsive design breakpoints do not work, please fix it and restyle the components accordingly, changing the `isMobile` to the Tailwind stuff when applicable.
299
+ isMobile: width < 640
300
+ };
301
+ }
302
+ function isWalletConnect(wallet) {
303
+ return wallet.interfaceType == WalletInterfaceType.WalletConnect;
304
+ }
305
+
306
+ export { APPLE_AUTH_URL, FACEBOOK_AUTH_URL, FACEBOOK_GRAPH_URL, GOOGLE_AUTH_URL, SESSION_WARNING_THRESHOLD_MS, exchangeCodeForToken, generateChallengePair, handleFacebookPKCEFlow, isValidSession, isWalletConnect, parseOAuthRedirect, popupHeight, popupWidth, useDebouncedCallback, useScreenSize, withTurnkeyErrorHandling };
307
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sources":["../src/utils.ts"],"sourcesContent":[null],"names":["GOOGLE_AUTH_URL","APPLE_AUTH_URL","FACEBOOK_AUTH_URL","FACEBOOK_GRAPH_URL","popupWidth","popupHeight","SESSION_WARNING_THRESHOLD_MS","useDebouncedCallback","fn","wait","arguments","length","undefined","timer","useRef","useCallback","_len","args","Array","_key","current","clearTimeout","setTimeout","apply","isValidSession","session","expiry","Date","now","withTurnkeyErrorHandling","_x","_x2","_withTurnkeyErrorHandling","_asyncToGenerator","_regeneratorRuntime","mark","_callee","callbacks","fallbackMessage","fallbackCode","_callbacks$onError2","_callbacks$onError","tkError","_args","wrap","_callee$","_context","prev","next","TurnkeyErrorCodes","UNKNOWN","abrupt","sent","t0","TurnkeyError","onError","call","stop","parseAppleOAuthRedirect","hash","idTokenMatch","match","idToken","stateEndIndex","indexOf","provider","flow","publicKey","openModal","stateContent","substring","stateParams","URLSearchParams","get","parseGoogleOAuthRedirect","hashParams","state","parseOAuthRedirect","startsWith","generateChallengePair","_generateChallengePair","_callee2","randomBytes","verifier","encoder","data","digest","base64Challenge","_callee2$","_context2","Uint8Array","window","crypto","getRandomValues","btoa","String","fromCharCode","_toConsumableArray","replace","TextEncoder","encode","subtle","codeChallenge","exchangeCodeForToken","_x3","_x4","_x5","_x6","_exchangeCodeForToken","_callee3","clientId","redirectUri","code","codeVerifier","params","response","errorData","_callee3$","_context3","client_id","redirect_uri","code_verifier","grant_type","fetch","method","headers","body","toString","ok","json","Error","concat","JSON","stringify","handleFacebookPKCEFlow","_x7","_handleFacebookPKCEFlow","_callee4","_ref","redirectURI","completeOauth","onPushPage","tokenData","_callee4$","_context4","sessionStorage","getItem","OAUTH_SIGNUP_ERROR","removeItem","id_token","onOauthRedirect","oidcToken","history","replaceState","document","title","location","pathname","console","error","useScreenSize","_useState","useState","innerWidth","_useState2","_slicedToArray","width","setWidth","useEffect","handleResize","addEventListener","removeEventListener","isMobile","isWalletConnect","wallet","interfaceType","WalletInterfaceType","WalletConnect"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@turnkey/react-wallet-kit",
3
+ "version": "1.0.0-beta.0",
4
+ "description": "The easiest and most powerful way to integrate Turnkey's Embedded Wallets into your React applications.",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "README.md"
11
+ ],
12
+ "keywords": [
13
+ "turnkey"
14
+ ],
15
+ "license": "MIT",
16
+ "dependencies": {
17
+ "@fortawesome/fontawesome-svg-core": "^6.7.2",
18
+ "@fortawesome/free-brands-svg-icons": "^6.7.2",
19
+ "@fortawesome/free-solid-svg-icons": "^6.7.2",
20
+ "@fortawesome/react-fontawesome": "^0.2.2",
21
+ "@headlessui/react": "^2.2.6",
22
+ "@lottiefiles/react-lottie-player": "^3.6.0",
23
+ "@noble/hashes": "^1.8.0",
24
+ "buffer": "^6.0.3",
25
+ "clsx": "^2.1.1",
26
+ "libphonenumber-js": "^1.11.14",
27
+ "qrcode.react": "^4.2.0",
28
+ "react-international-phone": "^4.3.0",
29
+ "@turnkey/iframe-stamper": "^2.5.0",
30
+ "@turnkey/core": "1.0.0-beta.0",
31
+ "@turnkey/sdk-types": "0.4.0-beta.0"
32
+ },
33
+ "devDependencies": {
34
+ "@rollup/plugin-babel": "5.3.0",
35
+ "@rollup/plugin-node-resolve": "16.0.0",
36
+ "@rollup/plugin-strip": "^3.0.4",
37
+ "@tailwindcss/postcss": "^4.1.10",
38
+ "@types/react": "^18.2.75",
39
+ "@types/react-dom": "^18.2.7",
40
+ "autoprefixer": "^10.0.1",
41
+ "glob": "^8.0.3",
42
+ "postcss": "^8.4.38",
43
+ "react": "^18.2.0",
44
+ "react-dom": "^18.2.0",
45
+ "tailwindcss": "^4.1.10",
46
+ "typescript": "5.4.3"
47
+ },
48
+ "peerDependencies": {
49
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
50
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
51
+ },
52
+ "peerDependenciesMeta": {
53
+ "@types/react": {
54
+ "optional": true
55
+ }
56
+ },
57
+ "engines": {
58
+ "node": ">=18.0.0"
59
+ },
60
+ "publishConfig": {
61
+ "access": "public",
62
+ "tag": "beta"
63
+ },
64
+ "scripts": {
65
+ "build": "rollup -c",
66
+ "clean": "rimraf ./dist ./.cache",
67
+ "typecheck": "tsc -p tsconfig.typecheck.json"
68
+ }
69
+ }