@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,328 @@
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, useEffect } from 'react';
4
+ import { useModal } from '../../providers/modal/Hook.mjs';
5
+ import { useTurnkey } from '../../providers/client/Hook.mjs';
6
+ import { IframeStamper } from '@turnkey/iframe-stamper';
7
+ import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
8
+ import { ActionButton } from '../design/Buttons.mjs';
9
+ import { Input } from '@headlessui/react';
10
+ import { generateWalletAccountsFromAddressFormat } from '@turnkey/core';
11
+ import { SuccessPage } from '../design/Success.mjs';
12
+ import clsx from 'clsx';
13
+
14
+ var ExportType;
15
+ (function (ExportType) {
16
+ ExportType["Wallet"] = "WALLET";
17
+ ExportType["PrivateKey"] = "PRIVATE_KEY";
18
+ })(ExportType || (ExportType = {}));
19
+ var TurnkeyImportIframeContainerId = "turnkey-import-iframe-container-id";
20
+ var TurnkeyIframeElementId = "turnkey-default-iframe-element-id";
21
+ var TurnkeyIframeClassNames = "w-full h-full overflow-hidden border-none !text-base bg-icon-background-light dark:bg-icon-background-dark";
22
+ // IMPORTANT: These colors need to match --icon-text-light, --icon-background-light, --icon-background-dark and --icon-text-dark in index.css
23
+ var iconBackgroundLight = "#e5e7eb";
24
+ var iconBackgroundDark = "#333336";
25
+ var iconTextLight = "#828282";
26
+ var iconTextDark = "#a3a3a5";
27
+ function ImportComponent(params) {
28
+ var _config$ui11, _config$ui12, _config$ui12$colors, _config$ui12$colors$d, _config$ui13, _config$ui13$colors, _config$ui13$colors$l, _config$ui14, _config$ui15, _config$ui15$colors, _config$ui15$colors$d, _config$ui16, _config$ui16$colors, _config$ui16$colors$l, _error$cause;
29
+ var onSuccess = params.onSuccess,
30
+ onError = params.onError,
31
+ defaultWalletAccounts = params.defaultWalletAccounts,
32
+ successPageDuration = params.successPageDuration,
33
+ stampWith = params.stampWith;
34
+ var _useTurnkey = useTurnkey(),
35
+ config = _useTurnkey.config,
36
+ session = _useTurnkey.session,
37
+ importWallet = _useTurnkey.importWallet,
38
+ httpClient = _useTurnkey.httpClient;
39
+ var _useState = useState(""),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ walletName = _useState2[0],
42
+ setWalletName = _useState2[1];
43
+ var _useState3 = useState(false),
44
+ _useState4 = _slicedToArray(_useState3, 2),
45
+ isLoading = _useState4[0],
46
+ setIsLoading = _useState4[1];
47
+ var _useState5 = useState(null),
48
+ _useState6 = _slicedToArray(_useState5, 2),
49
+ error = _useState6[0],
50
+ setError = _useState6[1];
51
+ var _useState7 = useState(false),
52
+ _useState8 = _slicedToArray(_useState7, 2),
53
+ shaking = _useState8[0],
54
+ setShaking = _useState8[1];
55
+ var shakeInput = function shakeInput() {
56
+ setShaking(true);
57
+ setTimeout(function () {
58
+ return setShaking(false);
59
+ }, 250);
60
+ };
61
+ var apiBaseUrl = config === null || config === void 0 ? void 0 : config.apiBaseUrl;
62
+ var importIframeUrl = config === null || config === void 0 ? void 0 : config.importIframeUrl;
63
+ var _useModal = useModal(),
64
+ closeModal = _useModal.closeModal,
65
+ pushPage = _useModal.pushPage,
66
+ isMobile = _useModal.isMobile;
67
+ var _useState9 = useState(null),
68
+ _useState0 = _slicedToArray(_useState9, 2),
69
+ importIframeClient = _useState0[0],
70
+ setImportIframeClient = _useState0[1];
71
+ if (!apiBaseUrl) {
72
+ throw new TurnkeyError("API base URL is not configured. Please set it in the Turnkey configuration.");
73
+ }
74
+ useEffect(function () {
75
+ var initIframe = /*#__PURE__*/function () {
76
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
77
+ var _config$ui, _config$ui2, _config$ui2$colors, _config$ui2$colors$da, _config$ui3, _config$ui3$colors, _config$ui3$colors$li, _config$ui4, _config$ui5, _config$ui5$colors, _config$ui5$colors$da, _config$ui6, _config$ui6$colors, _config$ui6$colors$li, newImportIframeClient;
78
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
79
+ while (1) switch (_context.prev = _context.next) {
80
+ case 0:
81
+ _context.prev = 0;
82
+ newImportIframeClient = new IframeStamper({
83
+ iframeUrl: importIframeUrl,
84
+ iframeElementId: TurnkeyIframeElementId,
85
+ iframeContainer: document.getElementById(TurnkeyImportIframeContainerId)
86
+ });
87
+ _context.next = 4;
88
+ return newImportIframeClient.init();
89
+ case 4:
90
+ _context.next = 6;
91
+ return newImportIframeClient.applySettings({
92
+ styles: {
93
+ fontSize: "16px",
94
+ // IMPORTANT: These colors need to match --icon-text-light and --icon-text-dark in index.css
95
+ backgroundColor: config !== null && config !== void 0 && (_config$ui = config.ui) !== null && _config$ui !== void 0 && _config$ui.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui2 = config.ui) === null || _config$ui2 === void 0 ? void 0 : (_config$ui2$colors = _config$ui2.colors) === null || _config$ui2$colors === void 0 ? void 0 : (_config$ui2$colors$da = _config$ui2$colors.dark) === null || _config$ui2$colors$da === void 0 ? void 0 : _config$ui2$colors$da.iconBackground) || iconBackgroundDark : (config === null || config === void 0 ? void 0 : (_config$ui3 = config.ui) === null || _config$ui3 === void 0 ? void 0 : (_config$ui3$colors = _config$ui3.colors) === null || _config$ui3$colors === void 0 ? void 0 : (_config$ui3$colors$li = _config$ui3$colors.light) === null || _config$ui3$colors$li === void 0 ? void 0 : _config$ui3$colors$li.iconBackground) || iconBackgroundLight,
96
+ color: config !== null && config !== void 0 && (_config$ui4 = config.ui) !== null && _config$ui4 !== void 0 && _config$ui4.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui5 = config.ui) === null || _config$ui5 === void 0 ? void 0 : (_config$ui5$colors = _config$ui5.colors) === null || _config$ui5$colors === void 0 ? void 0 : (_config$ui5$colors$da = _config$ui5$colors.dark) === null || _config$ui5$colors$da === void 0 ? void 0 : _config$ui5$colors$da.iconText) || iconTextDark : (config === null || config === void 0 ? void 0 : (_config$ui6 = config.ui) === null || _config$ui6 === void 0 ? void 0 : (_config$ui6$colors = _config$ui6.colors) === null || _config$ui6$colors === void 0 ? void 0 : (_config$ui6$colors$li = _config$ui6$colors.light) === null || _config$ui6$colors$li === void 0 ? void 0 : _config$ui6$colors$li.iconText) || iconTextLight
97
+ }
98
+ });
99
+ case 6:
100
+ setImportIframeClient(newImportIframeClient);
101
+ _context.next = 12;
102
+ break;
103
+ case 9:
104
+ _context.prev = 9;
105
+ _context.t0 = _context["catch"](0);
106
+ throw new TurnkeyError("Error initializing IframeStamper", TurnkeyErrorCodes.INTERNAL_ERROR, _context.t0);
107
+ case 12:
108
+ case "end":
109
+ return _context.stop();
110
+ }
111
+ }, _callee, null, [[0, 9]]);
112
+ }));
113
+ return function initIframe() {
114
+ return _ref.apply(this, arguments);
115
+ };
116
+ }();
117
+ var existingIframe = document.getElementById(TurnkeyIframeElementId);
118
+ if (!existingIframe) {
119
+ initIframe();
120
+ }
121
+ var iframeElement = document.getElementById(TurnkeyIframeElementId);
122
+ if (iframeElement) {
123
+ iframeElement.className = TurnkeyIframeClassNames;
124
+ }
125
+ return function () {
126
+ handleImportModalClose();
127
+ };
128
+ }, []);
129
+ useEffect(function () {
130
+ var reapplyIframeStyles = /*#__PURE__*/function () {
131
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
132
+ var _config$ui7, _config$ui8, _config$ui8$colors, _config$ui8$colors$da, _config$ui9, _config$ui9$colors, _config$ui9$colors$li, _config$ui0, _config$ui1, _config$ui1$colors, _config$ui1$colors$da, _config$ui10, _config$ui10$colors, _config$ui10$colors$l;
133
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
134
+ while (1) switch (_context2.prev = _context2.next) {
135
+ case 0:
136
+ _context2.next = 2;
137
+ return importIframeClient === null || importIframeClient === void 0 ? void 0 : importIframeClient.applySettings({
138
+ styles: {
139
+ fontSize: "16px",
140
+ backgroundColor: config !== null && config !== void 0 && (_config$ui7 = config.ui) !== null && _config$ui7 !== void 0 && _config$ui7.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui8 = config.ui) === null || _config$ui8 === void 0 ? void 0 : (_config$ui8$colors = _config$ui8.colors) === null || _config$ui8$colors === void 0 ? void 0 : (_config$ui8$colors$da = _config$ui8$colors.dark) === null || _config$ui8$colors$da === void 0 ? void 0 : _config$ui8$colors$da.iconBackground) || iconBackgroundDark : (config === null || config === void 0 ? void 0 : (_config$ui9 = config.ui) === null || _config$ui9 === void 0 ? void 0 : (_config$ui9$colors = _config$ui9.colors) === null || _config$ui9$colors === void 0 ? void 0 : (_config$ui9$colors$li = _config$ui9$colors.light) === null || _config$ui9$colors$li === void 0 ? void 0 : _config$ui9$colors$li.iconBackground) || iconBackgroundLight,
141
+ color: config !== null && config !== void 0 && (_config$ui0 = config.ui) !== null && _config$ui0 !== void 0 && _config$ui0.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui1 = config.ui) === null || _config$ui1 === void 0 ? void 0 : (_config$ui1$colors = _config$ui1.colors) === null || _config$ui1$colors === void 0 ? void 0 : (_config$ui1$colors$da = _config$ui1$colors.dark) === null || _config$ui1$colors$da === void 0 ? void 0 : _config$ui1$colors$da.iconText) || iconTextDark : (config === null || config === void 0 ? void 0 : (_config$ui10 = config.ui) === null || _config$ui10 === void 0 ? void 0 : (_config$ui10$colors = _config$ui10.colors) === null || _config$ui10$colors === void 0 ? void 0 : (_config$ui10$colors$l = _config$ui10$colors.light) === null || _config$ui10$colors$l === void 0 ? void 0 : _config$ui10$colors$l.iconText) || iconTextLight
142
+ }
143
+ });
144
+ case 2:
145
+ case "end":
146
+ return _context2.stop();
147
+ }
148
+ }, _callee2);
149
+ }));
150
+ return function reapplyIframeStyles() {
151
+ return _ref2.apply(this, arguments);
152
+ };
153
+ }();
154
+ reapplyIframeStyles();
155
+ }, [config.ui]);
156
+ function handleImportModalClose() {
157
+ if (importIframeClient) {
158
+ setImportIframeClient(null);
159
+ var existingIframe = document.getElementById(TurnkeyIframeElementId);
160
+ if (existingIframe) {
161
+ existingIframe.remove();
162
+ }
163
+ }
164
+ }
165
+ function handleImport() {
166
+ return _handleImport.apply(this, arguments);
167
+ }
168
+ function _handleImport() {
169
+ _handleImport = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
170
+ var _defaultWalletAccount, initResult, injected, encryptedBundle, accounts, response;
171
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
172
+ while (1) switch (_context3.prev = _context3.next) {
173
+ case 0:
174
+ setIsLoading(true);
175
+ _context3.prev = 1;
176
+ if (importIframeClient) {
177
+ _context3.next = 4;
178
+ break;
179
+ }
180
+ throw new TurnkeyError("Import iframe client not initialized", TurnkeyErrorCodes.INTERNAL_ERROR);
181
+ case 4:
182
+ _context3.next = 6;
183
+ return httpClient === null || httpClient === void 0 ? void 0 : httpClient.initImportWallet({
184
+ organizationId: session === null || session === void 0 ? void 0 : session.organizationId,
185
+ userId: session === null || session === void 0 ? void 0 : session.userId
186
+ });
187
+ case 6:
188
+ initResult = _context3.sent;
189
+ if (!(!initResult || !initResult.importBundle)) {
190
+ _context3.next = 9;
191
+ break;
192
+ }
193
+ throw new TurnkeyError("Failed to retrieve import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
194
+ case 9:
195
+ _context3.next = 11;
196
+ return importIframeClient.injectImportBundle(initResult.importBundle, session === null || session === void 0 ? void 0 : session.organizationId, session === null || session === void 0 ? void 0 : session.userId);
197
+ case 11:
198
+ injected = _context3.sent;
199
+ if (injected) {
200
+ _context3.next = 14;
201
+ break;
202
+ }
203
+ throw new TurnkeyError("Failed to inject import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
204
+ case 14:
205
+ _context3.next = 16;
206
+ return importIframeClient.extractWalletEncryptedBundle();
207
+ case 16:
208
+ encryptedBundle = _context3.sent;
209
+ if (!(!encryptedBundle || encryptedBundle.trim() === "")) {
210
+ _context3.next = 19;
211
+ break;
212
+ }
213
+ throw new TurnkeyError("Encrypted bundle is empty", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
214
+ case 19:
215
+ accounts = [];
216
+ if (Array.isArray(defaultWalletAccounts) && defaultWalletAccounts.length > 0 && ((_defaultWalletAccount = defaultWalletAccounts[0]) === null || _defaultWalletAccount === void 0 ? void 0 : _defaultWalletAccount.addressFormat) === undefined) {
217
+ accounts = generateWalletAccountsFromAddressFormat({
218
+ addresses: defaultWalletAccounts
219
+ });
220
+ } else if (Array.isArray(defaultWalletAccounts)) {
221
+ accounts = defaultWalletAccounts;
222
+ }
223
+ _context3.next = 23;
224
+ return importWallet({
225
+ walletName: walletName,
226
+ accounts: accounts,
227
+ encryptedBundle: encryptedBundle,
228
+ stampWith: stampWith
229
+ });
230
+ case 23:
231
+ response = _context3.sent;
232
+ if (!response) {
233
+ _context3.next = 30;
234
+ break;
235
+ }
236
+ onSuccess(response);
237
+ if (successPageDuration && successPageDuration !== 0) {
238
+ pushPage({
239
+ key: "success",
240
+ content: jsx(SuccessPage, {
241
+ text: "Wallet imported successfully!",
242
+ duration: successPageDuration,
243
+ onComplete: function onComplete() {
244
+ handleImportModalClose();
245
+ closeModal();
246
+ }
247
+ }),
248
+ preventBack: true,
249
+ showTitle: false
250
+ });
251
+ } else {
252
+ handleImportModalClose();
253
+ closeModal();
254
+ }
255
+ handleImportModalClose();
256
+ _context3.next = 33;
257
+ break;
258
+ case 30:
259
+ _context3.next = 32;
260
+ return importIframeClient.clear();
261
+ case 32:
262
+ throw new TurnkeyError("Failed to import wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
263
+ case 33:
264
+ _context3.next = 41;
265
+ break;
266
+ case 35:
267
+ _context3.prev = 35;
268
+ _context3.t0 = _context3["catch"](1);
269
+ shakeInput();
270
+ setError(_context3.t0 instanceof TurnkeyError ? _context3.t0 : new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t0));
271
+ if (_context3.t0 instanceof TurnkeyError) onError(_context3.t0);
272
+ throw new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t0);
273
+ case 41:
274
+ _context3.prev = 41;
275
+ setIsLoading(false);
276
+ return _context3.finish(41);
277
+ case 44:
278
+ case "end":
279
+ return _context3.stop();
280
+ }
281
+ }, _callee3, null, [[1, 35, 41, 44]]);
282
+ }));
283
+ return _handleImport.apply(this, arguments);
284
+ }
285
+ return jsxs("div", {
286
+ className: clsx("flex flex-col items-center pt-4", isMobile ? "w-full" : "w-[21rem]"),
287
+ children: [jsx("p", {
288
+ className: "text-sm text-icon-text-light dark:text-icon-text-dark",
289
+ children: "Enter your seed phrase. Seed phrases are typically 12-24 words."
290
+ }), jsx("div", {
291
+ id: TurnkeyImportIframeContainerId,
292
+ style: {
293
+ height: "100%",
294
+ overflow: "hidden",
295
+ display: "block",
296
+ backgroundColor: config !== null && config !== void 0 && (_config$ui11 = config.ui) !== null && _config$ui11 !== void 0 && _config$ui11.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui12 = config.ui) === null || _config$ui12 === void 0 ? void 0 : (_config$ui12$colors = _config$ui12.colors) === null || _config$ui12$colors === void 0 ? void 0 : (_config$ui12$colors$d = _config$ui12$colors.dark) === null || _config$ui12$colors$d === void 0 ? void 0 : _config$ui12$colors$d.iconBackground) || iconBackgroundDark : (config === null || config === void 0 ? void 0 : (_config$ui13 = config.ui) === null || _config$ui13 === void 0 ? void 0 : (_config$ui13$colors = _config$ui13.colors) === null || _config$ui13$colors === void 0 ? void 0 : (_config$ui13$colors$l = _config$ui13$colors.light) === null || _config$ui13$colors$l === void 0 ? void 0 : _config$ui13$colors$l.iconBackground) || iconBackgroundLight,
297
+ width: "100%",
298
+ boxSizing: "border-box",
299
+ padding: "5px",
300
+ borderStyle: "solid",
301
+ borderWidth: "1px",
302
+ borderRadius: "8px",
303
+ borderColor: config !== null && config !== void 0 && (_config$ui14 = config.ui) !== null && _config$ui14 !== void 0 && _config$ui14.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui15 = config.ui) === null || _config$ui15 === void 0 ? void 0 : (_config$ui15$colors = _config$ui15.colors) === null || _config$ui15$colors === void 0 ? void 0 : (_config$ui15$colors$d = _config$ui15$colors.dark) === null || _config$ui15$colors$d === void 0 ? void 0 : _config$ui15$colors$d.iconText) || iconTextDark : (config === null || config === void 0 ? void 0 : (_config$ui16 = config.ui) === null || _config$ui16 === void 0 ? void 0 : (_config$ui16$colors = _config$ui16.colors) === null || _config$ui16$colors === void 0 ? void 0 : (_config$ui16$colors$l = _config$ui16$colors.light) === null || _config$ui16$colors$l === void 0 ? void 0 : _config$ui16$colors$l.iconText) || iconTextLight
304
+ },
305
+ className: "transition-all ".concat(shaking ? "animate-shake" : "")
306
+ }), jsx(Input, {
307
+ type: "text",
308
+ placeholder: "Enter your wallet name",
309
+ value: walletName,
310
+ onChange: function onChange(e) {
311
+ return setWalletName(e.target.value);
312
+ },
313
+ className: "placeholder:text-icon-text-light dark:placeholder:text-icon-text-dark w-full my-2 py-3 px-3 rounded-md text-inherit bg-icon-background-light dark:bg-icon-background-dark border border-modal-background-dark/20 dark:border-modal-background-light/20 focus:outline-primary-light focus:dark:outline-primary-dark focus:outline-[1px] focus:outline-offset-0 box-border"
314
+ }), jsx(ActionButton, {
315
+ loading: isLoading,
316
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
317
+ onClick: handleImport,
318
+ className: "bg-primary-light dark:bg-primary-dark text-primary-text-light dark:text-primary-text-dark",
319
+ children: "Import"
320
+ }), jsxs("p", {
321
+ className: clsx("text-sm text-red-500 transition-opacity delay-75 line-clamp-2 w-full", error ? "opacity-100 pointer-events-auto mt-2" : "opacity-0 pointer-events-none absolute"),
322
+ children: [error === null || error === void 0 ? void 0 : error.message, ":", " ", (error === null || error === void 0 ? void 0 : error.cause) instanceof TurnkeyError ? error === null || error === void 0 ? void 0 : error.cause.message : (error === null || error === void 0 ? void 0 : (_error$cause = error.cause) === null || _error$cause === void 0 ? void 0 : _error$cause.toString()) || "Unknown error"]
323
+ })]
324
+ });
325
+ }
326
+
327
+ export { ExportType, ImportComponent };
328
+ //# sourceMappingURL=Import.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Import.mjs","sources":["../../../src/components/import/Import.tsx"],"sourcesContent":[null],"names":["ExportType","TurnkeyImportIframeContainerId","TurnkeyIframeElementId","TurnkeyIframeClassNames","iconBackgroundLight","iconBackgroundDark","iconTextLight","iconTextDark","ImportComponent","params","_config$ui11","_config$ui12","_config$ui12$colors","_config$ui12$colors$d","_config$ui13","_config$ui13$colors","_config$ui13$colors$l","_config$ui14","_config$ui15","_config$ui15$colors","_config$ui15$colors$d","_config$ui16","_config$ui16$colors","_config$ui16$colors$l","_error$cause","onSuccess","onError","defaultWalletAccounts","successPageDuration","stampWith","_useTurnkey","useTurnkey","config","session","importWallet","httpClient","_useState","useState","_useState2","_slicedToArray","walletName","setWalletName","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","error","setError","_useState7","_useState8","shaking","setShaking","shakeInput","setTimeout","apiBaseUrl","importIframeUrl","_useModal","useModal","closeModal","pushPage","isMobile","_useState9","_useState0","importIframeClient","setImportIframeClient","TurnkeyError","useEffect","initIframe","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_config$ui","_config$ui2","_config$ui2$colors","_config$ui2$colors$da","_config$ui3","_config$ui3$colors","_config$ui3$colors$li","_config$ui4","_config$ui5","_config$ui5$colors","_config$ui5$colors$da","_config$ui6","_config$ui6$colors","_config$ui6$colors$li","newImportIframeClient","wrap","_callee$","_context","prev","next","IframeStamper","iframeUrl","iframeElementId","iframeContainer","document","getElementById","init","applySettings","styles","fontSize","backgroundColor","ui","darkMode","colors","dark","iconBackground","light","color","iconText","t0","TurnkeyErrorCodes","INTERNAL_ERROR","stop","apply","arguments","existingIframe","iframeElement","className","handleImportModalClose","reapplyIframeStyles","_ref2","_callee2","_config$ui7","_config$ui8","_config$ui8$colors","_config$ui8$colors$da","_config$ui9","_config$ui9$colors","_config$ui9$colors$li","_config$ui0","_config$ui1","_config$ui1$colors","_config$ui1$colors$da","_config$ui10","_config$ui10$colors","_config$ui10$colors$l","_callee2$","_context2","remove","handleImport","_handleImport","_callee3","_defaultWalletAccount","initResult","injected","encryptedBundle","accounts","response","_callee3$","_context3","initImportWallet","organizationId","userId","sent","importBundle","IMPORT_WALLET_ERROR","injectImportBundle","extractWalletEncryptedBundle","trim","Array","isArray","length","addressFormat","undefined","generateWalletAccountsFromAddressFormat","addresses","key","content","_jsx","SuccessPage","text","duration","onComplete","preventBack","showTitle","clear","finish","_jsxs","clsx","children","id","style","height","overflow","display","width","boxSizing","padding","borderStyle","borderWidth","borderRadius","borderColor","concat","Input","type","placeholder","value","onChange","e","target","ActionButton","loading","spinnerClassName","onClick","message","cause","toString"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type StamperType, type WalletAccount } from "@turnkey/core";
2
+ import { type v1HashFunction, type v1PayloadEncoding, type v1SignRawPayloadResult } from "@turnkey/sdk-types";
3
+ interface SignMessageModalProps {
4
+ message: string;
5
+ walletAccount: WalletAccount;
6
+ subText?: string | undefined;
7
+ stampWith?: StamperType | undefined;
8
+ successPageDuration?: number | undefined;
9
+ onSuccess: (result: v1SignRawPayloadResult) => void;
10
+ onError: (error: any) => void;
11
+ encoding?: v1PayloadEncoding;
12
+ hashFunction?: v1HashFunction;
13
+ addEthereumPrefix?: boolean;
14
+ }
15
+ export declare function SignMessageModal(props: SignMessageModalProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/components/sign/Message.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAU5B,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CA4H5D"}
@@ -0,0 +1,127 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react$1 = require('@headlessui/react');
5
+ var core = require('@turnkey/core');
6
+ var sdkTypes = require('@turnkey/sdk-types');
7
+ var Buttons = require('../design/Buttons.js');
8
+ var reactFontawesome = require('@fortawesome/react-fontawesome');
9
+ var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
10
+ var react = require('react');
11
+ var Hook$1 = require('../../providers/modal/Hook.js');
12
+ var Hook = require('../../providers/client/Hook.js');
13
+ var Success = require('../design/Success.js');
14
+ var clsx = require('clsx');
15
+
16
+ function SignMessageModal(props) {
17
+ const {
18
+ message,
19
+ walletAccount,
20
+ subText = "Use your wallet to sign this message",
21
+ stampWith,
22
+ successPageDuration,
23
+ onSuccess,
24
+ onError
25
+ } = props;
26
+ const {
27
+ signMessage
28
+ } = Hook.useTurnkey();
29
+ const {
30
+ pushPage,
31
+ closeModal,
32
+ isMobile
33
+ } = Hook$1.useModal();
34
+ const [loading, setLoading] = react.useState(false);
35
+ const textareaRef = react.useRef(null);
36
+ react.useEffect(() => {
37
+ const textarea = textareaRef.current;
38
+ if (textarea) {
39
+ textarea.style.height = "auto"; // reset height
40
+ textarea.style.height = `${Math.min(textarea.scrollHeight, 288)}px`; // max-h-72 = 288px
41
+ }
42
+ }, [message]);
43
+ const handleSign = async () => {
44
+ try {
45
+ setLoading(true);
46
+ const result = await signMessage({
47
+ message,
48
+ walletAccount,
49
+ ...(props?.encoding && {
50
+ encoding: props.encoding
51
+ }),
52
+ ...(props?.hashFunction && {
53
+ hashFunction: props.hashFunction
54
+ }),
55
+ ...(props?.addEthereumPrefix && {
56
+ addEthereumPrefix: props.addEthereumPrefix
57
+ }),
58
+ ...(stampWith && {
59
+ stampWith
60
+ })
61
+ });
62
+ handleSuccess(result);
63
+ } catch (error) {
64
+ if (error instanceof sdkTypes.TurnkeyError) onError(error);else {
65
+ const tkError = new sdkTypes.TurnkeyError("Failed to sign message", sdkTypes.TurnkeyErrorCodes.SIGN_MESSAGE_ERROR);
66
+ onError(tkError);
67
+ }
68
+ } finally {
69
+ setLoading(false);
70
+ }
71
+ };
72
+ const handleSuccess = result => {
73
+ onSuccess(result); // Run the success callback first before showing the success page.
74
+ if (!successPageDuration) {
75
+ closeModal();
76
+ return;
77
+ }
78
+ pushPage({
79
+ key: "success",
80
+ content: jsxRuntime.jsx(Success.SuccessPage, {
81
+ text: "Message signed successfully!",
82
+ duration: successPageDuration,
83
+ onComplete: () => {
84
+ closeModal();
85
+ }
86
+ }),
87
+ preventBack: true,
88
+ showTitle: false
89
+ });
90
+ };
91
+ return jsxRuntime.jsxs("div", {
92
+ className: clsx("flex flex-col items-center", isMobile ? "w-full py-4" : "w-80 p-4"),
93
+ children: [jsxRuntime.jsx("p", {
94
+ className: "mt-3 text-sm text-icon-text-light/70 dark:text-icon-text-dark/70",
95
+ children: subText
96
+ }), jsxRuntime.jsxs("div", {
97
+ className: "w-full flex flex-row items-center mt-1 gap-1.5 text-sm text-icon-text-light/70 dark:text-icon-text-dark/70",
98
+ children: [jsxRuntime.jsx("div", {
99
+ className: "flex items-center justify-center w-7 h-7 rounded-full bg-icon-background-light dark:bg-icon-background-dark text-icon-text-light dark:text-icon-text-dark",
100
+ children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
101
+ icon: freeSolidSvgIcons.faWallet
102
+ })
103
+ }), walletAccount.address?.length > 8 ? `${walletAccount.address.slice(0, 4)}...${walletAccount.address.slice(-4)}` : walletAccount.address, walletAccount.source === core.WalletSource.Connected && jsxRuntime.jsx("div", {
104
+ className: "rounded-full py-1 px-2 flex border border-primary-light/50 dark:border-primary-dark/50 text-primary-light dark:text-primary-dark text-xs font-medium",
105
+ children: "External"
106
+ })]
107
+ }), jsxRuntime.jsx("div", {
108
+ className: "w-full flex flex-col mt-2 px-3 space-y-2",
109
+ children: jsxRuntime.jsx(react$1.Textarea, {
110
+ ref: textareaRef,
111
+ className: "p-2 min-h-12 max-h-72 rounded-md tk-scrollbar border border-modal-background-dark/10 dark:border-modal-background-light/10 bg-icon-background-light dark:bg-icon-background-dark text-icon-text-light dark:text-icon-text-dark focus:outline-none resize-none overflow-y-auto",
112
+ value: message,
113
+ readOnly: true
114
+ })
115
+ }), jsxRuntime.jsx(Buttons.ActionButton, {
116
+ onClick: handleSign,
117
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
118
+ loading: loading,
119
+ loadingText: walletAccount.source === core.WalletSource.Connected ? "Check your external wallet!" : "Signing...",
120
+ className: "mt-4 bg-primary-light dark:bg-primary-dark text-primary-text-light dark:text-primary-text-dark w-full",
121
+ children: "Sign"
122
+ })]
123
+ });
124
+ }
125
+
126
+ exports.SignMessageModal = SignMessageModal;
127
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.js","sources":["../../../src/components/sign/Message.tsx"],"sourcesContent":[null],"names":["SignMessageModal","props","message","walletAccount","subText","stampWith","successPageDuration","onSuccess","onError","signMessage","useTurnkey","pushPage","closeModal","isMobile","useModal","loading","setLoading","useState","textareaRef","useRef","useEffect","textarea","current","style","height","Math","min","scrollHeight","handleSign","result","encoding","hashFunction","addEthereumPrefix","handleSuccess","error","TurnkeyError","tkError","TurnkeyErrorCodes","SIGN_MESSAGE_ERROR","key","content","_jsx","SuccessPage","text","duration","onComplete","preventBack","showTitle","_jsxs","className","clsx","children","FontAwesomeIcon","icon","faWallet","address","length","slice","source","WalletSource","Connected","Textarea","ref","value","readOnly","ActionButton","onClick","spinnerClassName","loadingText"],"mappings":"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"}