@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,87 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var reactFontawesome = require('@fortawesome/react-fontawesome');
5
+ var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
6
+ var base = require('../../types/base.js');
7
+ var Hook = require('../../providers/client/Hook.js');
8
+ var sdkTypes = require('@turnkey/sdk-types');
9
+ var Buttons = require('../design/Buttons.js');
10
+ var react = require('react');
11
+
12
+ function ExportWarning(props) {
13
+ const {
14
+ walletId,
15
+ exportIframeClient,
16
+ targetPublicKey,
17
+ exportType,
18
+ stampWith
19
+ } = props;
20
+ const [isLoading, setIsLoading] = react.useState(false);
21
+ const {
22
+ exportWallet,
23
+ session
24
+ } = Hook.useTurnkey();
25
+ return jsxRuntime.jsxs("div", {
26
+ className: "flex flex-col w-full px-10",
27
+ children: [jsxRuntime.jsxs("div", {
28
+ className: "flex flex-col gap-4 py-6 text-icon-text-light dark:text-icon-text-dark",
29
+ children: [jsxRuntime.jsx(IconText, {
30
+ icon: freeSolidSvgIcons.faTriangleExclamation,
31
+ text: "Keep your seed phrase private."
32
+ }), jsxRuntime.jsx(IconText, {
33
+ icon: freeSolidSvgIcons.faUnlock,
34
+ text: "Anyone who has your seed phrase can access your wallet."
35
+ }), jsxRuntime.jsx(IconText, {
36
+ icon: freeSolidSvgIcons.faEye,
37
+ text: "Make sure nobody can see your screen when viewing your seed phrase."
38
+ })]
39
+ }), jsxRuntime.jsx(Buttons.ActionButton, {
40
+ loading: isLoading,
41
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
42
+ className: "text-primary-text-light dark:text-primary-text-dark bg-primary-light dark:bg-primary-dark",
43
+ onClick: async () => {
44
+ setIsLoading(true);
45
+ try {
46
+ const exportBundle = await exportWallet({
47
+ walletId: walletId,
48
+ targetPublicKey: targetPublicKey || exportIframeClient?.iframePublicKey,
49
+ ...(stampWith && {
50
+ stampWith: stampWith
51
+ })
52
+ });
53
+ if (!exportBundle) {
54
+ throw new sdkTypes.TurnkeyError("Failed to retrieve export bundle", sdkTypes.TurnkeyErrorCodes.EXPORT_WALLET_ERROR);
55
+ }
56
+ await exportIframeClient?.injectWalletExportBundle(exportBundle, session?.organizationId);
57
+ if (props.setExportIframeVisible) {
58
+ props.setExportIframeVisible(true);
59
+ }
60
+ } catch (error) {
61
+ throw new sdkTypes.TurnkeyError(`Error exporting wallet`, sdkTypes.TurnkeyErrorCodes.EXPORT_WALLET_ERROR, error);
62
+ } finally {
63
+ setIsLoading(false);
64
+ }
65
+ },
66
+ children: exportType === base.ExportType.PrivateKey ? "Export Private Key" : "Export Wallet"
67
+ })]
68
+ });
69
+ }
70
+ function IconText(props) {
71
+ return jsxRuntime.jsxs("div", {
72
+ className: "flex items-center gap-4",
73
+ children: [jsxRuntime.jsx("div", {
74
+ className: "w-6 h-fit shrink-0 flex items-center justify-center",
75
+ children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
76
+ size: "lg",
77
+ icon: props.icon
78
+ })
79
+ }), jsxRuntime.jsx("span", {
80
+ className: "text-sm",
81
+ children: props.text
82
+ })]
83
+ });
84
+ }
85
+
86
+ exports.ExportWarning = ExportWarning;
87
+ //# sourceMappingURL=ExportWarning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportWarning.js","sources":["../../../src/components/export/ExportWarning.tsx"],"sourcesContent":[null],"names":["ExportWarning","props","walletId","exportIframeClient","targetPublicKey","exportType","stampWith","isLoading","setIsLoading","useState","exportWallet","session","useTurnkey","_jsxs","className","children","_jsx","IconText","icon","faTriangleExclamation","text","faUnlock","faEye","ActionButton","loading","spinnerClassName","onClick","exportBundle","iframePublicKey","TurnkeyError","TurnkeyErrorCodes","EXPORT_WALLET_ERROR","injectWalletExportBundle","organizationId","setExportIframeVisible","error","ExportType","PrivateKey","FontAwesomeIcon","size"],"mappings":";;;;;;;;;;;AAeM,SAAUA,aAAaA,CAACC,KAO7B,EAAA;EACC,MAAM;IACJC,QAAQ;IACRC,kBAAkB;IAClBC,eAAe;IACfC,UAAU;AACVC,IAAAA;AACD,GAAA,GAAGL,KAAK;EAET,MAAM,CAACM,SAAS,EAAEC,YAAY,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;EAEjD,MAAM;IAAEC,YAAY;AAAEC,IAAAA;GAAS,GAAGC,eAAU,EAAE;EAC9C,OACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,4BAA4B;AAAAC,IAAAA,QAAA,EAAA,CACzCF,eAAK,CAAA,KAAA,EAAA;AAAAC,MAAAA,SAAS,EAAC,wEAAwE;AACrFC,MAAAA,QAAA,EAAA,CAAAC,cAAA,CAACC,QAAQ,EACP;AAAAC,QAAAA,IAAI,EAAEC,uCAAqB;AAC3BC,QAAAA,IAAI,EAAC;QACL,EACFJ,cAAA,CAACC,QAAQ,EAAA;AACPC,QAAAA,IAAI,EAAEG,0BAAQ;AACdD,QAAAA,IAAI,EAAC;AACL,OAAA,CAAA,EACFJ,cAAC,CAAAC,QAAQ,EACP;AAAAC,QAAAA,IAAI,EAAEI,uBAAK;AACXF,QAAAA,IAAI,EAAC;AAAqE,OAAA,CAC1E;AACE,KAAA,CAAA,EACNJ,eAACO,oBAAY,EAAA;AACXC,MAAAA,OAAO,EAAEjB,SAAS;AAClBkB,MAAAA,gBAAgB,EAAC,qDAAqD;AACtEX,MAAAA,SAAS,EAAC,2FAA2F;MACrGY,OAAO,EAAE,YAAW;QAClBlB,YAAY,CAAC,IAAI,CAAC;QAClB,IAAI;AACF,UAAA,MAAMmB,YAAY,GAAG,MAAMjB,YAAY,CAAC;AACtCR,YAAAA,QAAQ,EAAEA,QAAQ;AAClBE,YAAAA,eAAe,EACbA,eAAe,IAAID,kBAAkB,EAAEyB,eAAgB;AACzD,YAAA,IAAItB,SAAS,IAAI;AAAEA,cAAAA,SAAS,EAAEA;aAAW;AAC1C,WAAA,CAAC;UACF,IAAI,CAACqB,YAAY,EAAE;YACjB,MAAM,IAAIE,qBAAY,CACpB,kCAAkC,EAClCC,0BAAiB,CAACC,mBAAmB,CACtC;AACH;UACA,MAAM5B,kBAAkB,EAAE6B,wBAAwB,CAChDL,YAAY,EACZhB,OAAO,EAAEsB,cAAe,CACzB;UACD,IAAIhC,KAAK,CAACiC,sBAAsB,EAAE;AAChCjC,YAAAA,KAAK,CAACiC,sBAAsB,CAAC,IAAI,CAAC;AACpC;SACD,CAAC,OAAOC,KAAK,EAAE;UACd,MAAM,IAAIN,qBAAY,CACpB,CAAwB,sBAAA,CAAA,EACxBC,0BAAiB,CAACC,mBAAmB,EACrCI,KAAK,CACN;AACH,SAAC,SAAS;UACR3B,YAAY,CAAC,KAAK,CAAC;AACrB;OACD;MAEAO,QAAA,EAAAV,UAAU,KAAK+B,eAAU,CAACC,UAAU,GACjC,oBAAoB,GACpB;AACS,KAAA,CAAA;AAAA,GAAA,CACX;AAEV;AAEA,SAASpB,QAAQA,CAAChB,KAA6C,EAAA;EAC7D,OACEY,eAAK,CAAA,KAAA,EAAA;AAAAC,IAAAA,SAAS,EAAC,yBAAyB;eACtCE,cAAK,CAAA,KAAA,EAAA;AAAAF,MAAAA,SAAS,EAAC,qDAAqD;gBAClEE,cAAC,CAAAsB,gCAAe,EAAC;AAAAC,QAAAA,IAAI,EAAE,IAAI;QAAErB,IAAI,EAAEjB,KAAK,CAACiB;OAAQ;AAAA,KAAA,CAC7C,EACNF,cAAM,CAAA,MAAA,EAAA;AAAAF,MAAAA,SAAS,EAAC,SAAS;gBAAEb,KAAK,CAACmB;AAAY,KAAA,CAAA;AAAA,GAAA,CACzC;AAEV;;;;"}
@@ -0,0 +1,113 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { faTriangleExclamation, faUnlock, faEye } from '@fortawesome/free-solid-svg-icons';
5
+ import { ExportType } from '../../types/base.mjs';
6
+ import { useTurnkey } from '../../providers/client/Hook.mjs';
7
+ import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
8
+ import { ActionButton } from '../design/Buttons.mjs';
9
+ import { useState } from 'react';
10
+
11
+ function ExportWarning(props) {
12
+ var walletId = props.walletId,
13
+ exportIframeClient = props.exportIframeClient,
14
+ targetPublicKey = props.targetPublicKey,
15
+ exportType = props.exportType,
16
+ stampWith = props.stampWith;
17
+ var _useState = useState(false),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ isLoading = _useState2[0],
20
+ setIsLoading = _useState2[1];
21
+ var _useTurnkey = useTurnkey(),
22
+ exportWallet = _useTurnkey.exportWallet,
23
+ session = _useTurnkey.session;
24
+ return jsxs("div", {
25
+ className: "flex flex-col w-full px-10",
26
+ children: [jsxs("div", {
27
+ className: "flex flex-col gap-4 py-6 text-icon-text-light dark:text-icon-text-dark",
28
+ children: [jsx(IconText, {
29
+ icon: faTriangleExclamation,
30
+ text: "Keep your seed phrase private."
31
+ }), jsx(IconText, {
32
+ icon: faUnlock,
33
+ text: "Anyone who has your seed phrase can access your wallet."
34
+ }), jsx(IconText, {
35
+ icon: faEye,
36
+ text: "Make sure nobody can see your screen when viewing your seed phrase."
37
+ })]
38
+ }), jsx(ActionButton, {
39
+ loading: isLoading,
40
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
41
+ className: "text-primary-text-light dark:text-primary-text-dark bg-primary-light dark:bg-primary-dark",
42
+ onClick: function () {
43
+ var _onClick = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
44
+ var exportBundle;
45
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ setIsLoading(true);
49
+ _context.prev = 1;
50
+ _context.next = 4;
51
+ return exportWallet(_objectSpread2({
52
+ walletId: walletId,
53
+ targetPublicKey: targetPublicKey || (exportIframeClient === null || exportIframeClient === void 0 ? void 0 : exportIframeClient.iframePublicKey)
54
+ }, stampWith && {
55
+ stampWith: stampWith
56
+ }));
57
+ case 4:
58
+ exportBundle = _context.sent;
59
+ if (exportBundle) {
60
+ _context.next = 7;
61
+ break;
62
+ }
63
+ throw new TurnkeyError("Failed to retrieve export bundle", TurnkeyErrorCodes.EXPORT_WALLET_ERROR);
64
+ case 7:
65
+ _context.next = 9;
66
+ return exportIframeClient === null || exportIframeClient === void 0 ? void 0 : exportIframeClient.injectWalletExportBundle(exportBundle, session === null || session === void 0 ? void 0 : session.organizationId);
67
+ case 9:
68
+ if (props.setExportIframeVisible) {
69
+ props.setExportIframeVisible(true);
70
+ }
71
+ _context.next = 15;
72
+ break;
73
+ case 12:
74
+ _context.prev = 12;
75
+ _context.t0 = _context["catch"](1);
76
+ throw new TurnkeyError("Error exporting wallet", TurnkeyErrorCodes.EXPORT_WALLET_ERROR, _context.t0);
77
+ case 15:
78
+ _context.prev = 15;
79
+ setIsLoading(false);
80
+ return _context.finish(15);
81
+ case 18:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }, _callee, null, [[1, 12, 15, 18]]);
86
+ }));
87
+ function onClick() {
88
+ return _onClick.apply(this, arguments);
89
+ }
90
+ return onClick;
91
+ }(),
92
+ children: exportType === ExportType.PrivateKey ? "Export Private Key" : "Export Wallet"
93
+ })]
94
+ });
95
+ }
96
+ function IconText(props) {
97
+ return jsxs("div", {
98
+ className: "flex items-center gap-4",
99
+ children: [jsx("div", {
100
+ className: "w-6 h-fit shrink-0 flex items-center justify-center",
101
+ children: jsx(FontAwesomeIcon, {
102
+ size: "lg",
103
+ icon: props.icon
104
+ })
105
+ }), jsx("span", {
106
+ className: "text-sm",
107
+ children: props.text
108
+ })]
109
+ });
110
+ }
111
+
112
+ export { ExportWarning };
113
+ //# sourceMappingURL=ExportWarning.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportWarning.mjs","sources":["../../../src/components/export/ExportWarning.tsx"],"sourcesContent":[null],"names":["ExportWarning","props","walletId","exportIframeClient","targetPublicKey","exportType","stampWith","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useTurnkey","useTurnkey","exportWallet","session","_jsxs","className","children","_jsx","IconText","icon","faTriangleExclamation","text","faUnlock","faEye","ActionButton","loading","spinnerClassName","onClick","_onClick","_asyncToGenerator","_regeneratorRuntime","mark","_callee","exportBundle","wrap","_callee$","_context","prev","next","_objectSpread","iframePublicKey","sent","TurnkeyError","TurnkeyErrorCodes","EXPORT_WALLET_ERROR","injectWalletExportBundle","organizationId","setExportIframeVisible","t0","finish","stop","apply","arguments","ExportType","PrivateKey","FontAwesomeIcon","size"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { TurnkeyError, v1AddressFormat, v1WalletAccountParams } from "@turnkey/sdk-types";
2
+ import { type StamperType } from "@turnkey/core";
3
+ export declare enum ExportType {
4
+ Wallet = "WALLET",
5
+ PrivateKey = "PRIVATE_KEY"
6
+ }
7
+ export declare function ImportComponent(params: {
8
+ defaultWalletAccounts?: v1AddressFormat[] | v1WalletAccountParams[];
9
+ onSuccess: (walletId: string) => void;
10
+ onError: (error: TurnkeyError) => void;
11
+ successPageDuration?: number | undefined;
12
+ stampWith?: StamperType | undefined;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=Import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Import.d.ts","sourceRoot":"","sources":["../../../src/components/import/Import.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EAEZ,eAAe,EACf,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAIvB,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,UAAU,gBAAgB;CAC3B;AAaD,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,qBAAqB,CAAC,EAAE,eAAe,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACpE,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACrC,2CAiSA"}
@@ -0,0 +1,226 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var Hook$1 = require('../../providers/modal/Hook.js');
6
+ var Hook = require('../../providers/client/Hook.js');
7
+ var iframeStamper = require('@turnkey/iframe-stamper');
8
+ var sdkTypes = require('@turnkey/sdk-types');
9
+ var Buttons = require('../design/Buttons.js');
10
+ var react$1 = require('@headlessui/react');
11
+ var core = require('@turnkey/core');
12
+ var Success = require('../design/Success.js');
13
+ var clsx = require('clsx');
14
+
15
+ exports.ExportType = void 0;
16
+ (function (ExportType) {
17
+ ExportType["Wallet"] = "WALLET";
18
+ ExportType["PrivateKey"] = "PRIVATE_KEY";
19
+ })(exports.ExportType || (exports.ExportType = {}));
20
+ const TurnkeyImportIframeContainerId = "turnkey-import-iframe-container-id";
21
+ const TurnkeyIframeElementId = "turnkey-default-iframe-element-id";
22
+ const TurnkeyIframeClassNames = "w-full h-full overflow-hidden border-none !text-base bg-icon-background-light dark:bg-icon-background-dark";
23
+ // IMPORTANT: These colors need to match --icon-text-light, --icon-background-light, --icon-background-dark and --icon-text-dark in index.css
24
+ const iconBackgroundLight = "#e5e7eb";
25
+ const iconBackgroundDark = "#333336";
26
+ const iconTextLight = "#828282";
27
+ const iconTextDark = "#a3a3a5";
28
+ function ImportComponent(params) {
29
+ const {
30
+ onSuccess,
31
+ onError,
32
+ defaultWalletAccounts,
33
+ successPageDuration,
34
+ stampWith
35
+ } = params;
36
+ const {
37
+ config,
38
+ session,
39
+ importWallet,
40
+ httpClient
41
+ } = Hook.useTurnkey();
42
+ const [walletName, setWalletName] = react.useState("");
43
+ const [isLoading, setIsLoading] = react.useState(false);
44
+ const [error, setError] = react.useState(null);
45
+ const [shaking, setShaking] = react.useState(false);
46
+ const shakeInput = () => {
47
+ setShaking(true);
48
+ setTimeout(() => setShaking(false), 250);
49
+ };
50
+ const apiBaseUrl = config?.apiBaseUrl;
51
+ const importIframeUrl = config?.importIframeUrl;
52
+ const {
53
+ closeModal,
54
+ pushPage,
55
+ isMobile
56
+ } = Hook$1.useModal();
57
+ const [importIframeClient, setImportIframeClient] = react.useState(null);
58
+ if (!apiBaseUrl) {
59
+ throw new sdkTypes.TurnkeyError("API base URL is not configured. Please set it in the Turnkey configuration.");
60
+ }
61
+ react.useEffect(() => {
62
+ const initIframe = async () => {
63
+ try {
64
+ const newImportIframeClient = new iframeStamper.IframeStamper({
65
+ iframeUrl: importIframeUrl,
66
+ iframeElementId: TurnkeyIframeElementId,
67
+ iframeContainer: document.getElementById(TurnkeyImportIframeContainerId)
68
+ });
69
+ await newImportIframeClient.init();
70
+ await newImportIframeClient.applySettings({
71
+ styles: {
72
+ fontSize: "16px",
73
+ // IMPORTANT: These colors need to match --icon-text-light and --icon-text-dark in index.css
74
+ backgroundColor: config?.ui?.darkMode ? config?.ui?.colors?.dark?.iconBackground || iconBackgroundDark : config?.ui?.colors?.light?.iconBackground || iconBackgroundLight,
75
+ color: config?.ui?.darkMode ? config?.ui?.colors?.dark?.iconText || iconTextDark : config?.ui?.colors?.light?.iconText || iconTextLight
76
+ }
77
+ });
78
+ setImportIframeClient(newImportIframeClient);
79
+ } catch (error) {
80
+ throw new sdkTypes.TurnkeyError(`Error initializing IframeStamper`, sdkTypes.TurnkeyErrorCodes.INTERNAL_ERROR, error);
81
+ }
82
+ };
83
+ const existingIframe = document.getElementById(TurnkeyIframeElementId);
84
+ if (!existingIframe) {
85
+ initIframe();
86
+ }
87
+ const iframeElement = document.getElementById(TurnkeyIframeElementId);
88
+ if (iframeElement) {
89
+ iframeElement.className = TurnkeyIframeClassNames;
90
+ }
91
+ return () => {
92
+ handleImportModalClose();
93
+ };
94
+ }, []);
95
+ react.useEffect(() => {
96
+ const reapplyIframeStyles = async () => {
97
+ await importIframeClient?.applySettings({
98
+ styles: {
99
+ fontSize: "16px",
100
+ backgroundColor: config?.ui?.darkMode ? config?.ui?.colors?.dark?.iconBackground || iconBackgroundDark : config?.ui?.colors?.light?.iconBackground || iconBackgroundLight,
101
+ color: config?.ui?.darkMode ? config?.ui?.colors?.dark?.iconText || iconTextDark : config?.ui?.colors?.light?.iconText || iconTextLight
102
+ }
103
+ });
104
+ };
105
+ reapplyIframeStyles();
106
+ }, [config.ui]);
107
+ function handleImportModalClose() {
108
+ if (importIframeClient) {
109
+ setImportIframeClient(null);
110
+ const existingIframe = document.getElementById(TurnkeyIframeElementId);
111
+ if (existingIframe) {
112
+ existingIframe.remove();
113
+ }
114
+ }
115
+ }
116
+ async function handleImport() {
117
+ setIsLoading(true);
118
+ try {
119
+ if (!importIframeClient) {
120
+ throw new sdkTypes.TurnkeyError("Import iframe client not initialized", sdkTypes.TurnkeyErrorCodes.INTERNAL_ERROR);
121
+ }
122
+ const initResult = await httpClient?.initImportWallet({
123
+ organizationId: session?.organizationId,
124
+ userId: session?.userId
125
+ });
126
+ if (!initResult || !initResult.importBundle) {
127
+ throw new sdkTypes.TurnkeyError("Failed to retrieve import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
128
+ }
129
+ const injected = await importIframeClient.injectImportBundle(initResult.importBundle, session?.organizationId, session?.userId);
130
+ if (!injected) {
131
+ throw new sdkTypes.TurnkeyError("Failed to inject import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
132
+ }
133
+ const encryptedBundle = await importIframeClient.extractWalletEncryptedBundle();
134
+ if (!encryptedBundle || encryptedBundle.trim() === "") {
135
+ throw new sdkTypes.TurnkeyError("Encrypted bundle is empty", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
136
+ }
137
+ let accounts = [];
138
+ if (Array.isArray(defaultWalletAccounts) && defaultWalletAccounts.length > 0 && defaultWalletAccounts[0]?.addressFormat === undefined) {
139
+ accounts = core.generateWalletAccountsFromAddressFormat({
140
+ addresses: defaultWalletAccounts
141
+ });
142
+ } else if (Array.isArray(defaultWalletAccounts)) {
143
+ accounts = defaultWalletAccounts;
144
+ }
145
+ const response = await importWallet({
146
+ walletName: walletName,
147
+ accounts,
148
+ encryptedBundle,
149
+ stampWith
150
+ });
151
+ if (response) {
152
+ onSuccess(response);
153
+ if (successPageDuration && successPageDuration !== 0) {
154
+ pushPage({
155
+ key: "success",
156
+ content: jsxRuntime.jsx(Success.SuccessPage, {
157
+ text: "Wallet imported successfully!",
158
+ duration: successPageDuration,
159
+ onComplete: () => {
160
+ handleImportModalClose();
161
+ closeModal();
162
+ }
163
+ }),
164
+ preventBack: true,
165
+ showTitle: false
166
+ });
167
+ } else {
168
+ handleImportModalClose();
169
+ closeModal();
170
+ }
171
+ handleImportModalClose();
172
+ } else {
173
+ await importIframeClient.clear();
174
+ throw new sdkTypes.TurnkeyError("Failed to import wallet", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
175
+ }
176
+ } catch (error) {
177
+ shakeInput();
178
+ setError(error instanceof sdkTypes.TurnkeyError ? error : new sdkTypes.TurnkeyError(`Error importing wallet`, sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR, error));
179
+ if (error instanceof sdkTypes.TurnkeyError) onError(error);
180
+ throw new sdkTypes.TurnkeyError(`Error importing wallet`, sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR, error);
181
+ } finally {
182
+ setIsLoading(false);
183
+ }
184
+ }
185
+ return jsxRuntime.jsxs("div", {
186
+ className: clsx("flex flex-col items-center pt-4", isMobile ? "w-full" : "w-[21rem]"),
187
+ children: [jsxRuntime.jsx("p", {
188
+ className: "text-sm text-icon-text-light dark:text-icon-text-dark",
189
+ children: "Enter your seed phrase. Seed phrases are typically 12-24 words."
190
+ }), jsxRuntime.jsx("div", {
191
+ id: TurnkeyImportIframeContainerId,
192
+ style: {
193
+ height: "100%",
194
+ overflow: "hidden",
195
+ display: "block",
196
+ backgroundColor: config?.ui?.darkMode ? config?.ui?.colors?.dark?.iconBackground || iconBackgroundDark : config?.ui?.colors?.light?.iconBackground || iconBackgroundLight,
197
+ width: "100%",
198
+ boxSizing: "border-box",
199
+ padding: "5px",
200
+ borderStyle: "solid",
201
+ borderWidth: "1px",
202
+ borderRadius: "8px",
203
+ borderColor: config?.ui?.darkMode ? config?.ui?.colors?.dark?.iconText || iconTextDark : config?.ui?.colors?.light?.iconText || iconTextLight
204
+ },
205
+ className: `transition-all ${shaking ? "animate-shake" : ""}`
206
+ }), jsxRuntime.jsx(react$1.Input, {
207
+ type: "text",
208
+ placeholder: "Enter your wallet name",
209
+ value: walletName,
210
+ onChange: e => setWalletName(e.target.value),
211
+ 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"
212
+ }), jsxRuntime.jsx(Buttons.ActionButton, {
213
+ loading: isLoading,
214
+ spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
215
+ onClick: handleImport,
216
+ className: "bg-primary-light dark:bg-primary-dark text-primary-text-light dark:text-primary-text-dark",
217
+ children: "Import"
218
+ }), jsxRuntime.jsxs("p", {
219
+ 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"),
220
+ children: [error?.message, ":", " ", error?.cause instanceof sdkTypes.TurnkeyError ? error?.cause.message : error?.cause?.toString() || "Unknown error"]
221
+ })]
222
+ });
223
+ }
224
+
225
+ exports.ImportComponent = ImportComponent;
226
+ //# sourceMappingURL=Import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Import.js","sources":["../../../src/components/import/Import.tsx"],"sourcesContent":[null],"names":["ExportType","TurnkeyImportIframeContainerId","TurnkeyIframeElementId","TurnkeyIframeClassNames","iconBackgroundLight","iconBackgroundDark","iconTextLight","iconTextDark","ImportComponent","params","onSuccess","onError","defaultWalletAccounts","successPageDuration","stampWith","config","session","importWallet","httpClient","useTurnkey","walletName","setWalletName","useState","isLoading","setIsLoading","error","setError","shaking","setShaking","shakeInput","setTimeout","apiBaseUrl","importIframeUrl","closeModal","pushPage","isMobile","useModal","importIframeClient","setImportIframeClient","TurnkeyError","useEffect","initIframe","newImportIframeClient","IframeStamper","iframeUrl","iframeElementId","iframeContainer","document","getElementById","init","applySettings","styles","fontSize","backgroundColor","ui","darkMode","colors","dark","iconBackground","light","color","iconText","TurnkeyErrorCodes","INTERNAL_ERROR","existingIframe","iframeElement","className","handleImportModalClose","reapplyIframeStyles","remove","handleImport","initResult","initImportWallet","organizationId","userId","importBundle","IMPORT_WALLET_ERROR","injected","injectImportBundle","encryptedBundle","extractWalletEncryptedBundle","trim","accounts","Array","isArray","length","addressFormat","undefined","generateWalletAccountsFromAddressFormat","addresses","response","key","content","_jsx","SuccessPage","text","duration","onComplete","preventBack","showTitle","clear","_jsxs","clsx","children","id","style","height","overflow","display","width","boxSizing","padding","borderStyle","borderWidth","borderRadius","borderColor","Input","type","placeholder","value","onChange","e","target","ActionButton","loading","spinnerClassName","onClick","message","cause","toString"],"mappings":";;;;;;;;;;;;;;AAmBYA;AAAZ,CAAA,UAAYA,UAAU,EAAA;AACpBA,EAAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,UAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC5B,CAAC,EAHWA,kBAAU,KAAVA,kBAAU,GAGrB,EAAA,CAAA,CAAA;AAED,MAAMC,8BAA8B,GAAG,oCAAoC;AAC3E,MAAMC,sBAAsB,GAAG,mCAAmC;AAClE,MAAMC,uBAAuB,GAC3B,4GAA4G;AAE9G;AACA,MAAMC,mBAAmB,GAAG,SAAS;AACrC,MAAMC,kBAAkB,GAAG,SAAS;AACpC,MAAMC,aAAa,GAAG,SAAS;AAC/B,MAAMC,YAAY,GAAG,SAAS;AAExB,SAAUC,eAAeA,CAACC,MAM/B,EAAA;EACC,MAAM;IACJC,SAAS;IACTC,OAAO;IACPC,qBAAqB;IACrBC,mBAAmB;AACnBC,IAAAA;AACD,GAAA,GAAGL,MAAM;EAEV,MAAM;IAAEM,MAAM;IAAEC,OAAO;IAAEC,YAAY;AAAEC,IAAAA;GAAY,GAAGC,eAAU,EAAE;EAClE,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAQ,CAAS,EAAE,CAAC;EACxD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGF,cAAQ,CAAU,KAAK,CAAC;EAC1D,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGJ,cAAQ,CAAsB,IAAI,CAAC;EAE7D,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAGN,cAAQ,CAAC,KAAK,CAAC;EAE7C,MAAMO,UAAU,GAAGA,MAAK;IACtBD,UAAU,CAAC,IAAI,CAAC;IAChBE,UAAU,CAAC,MAAMF,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;GACzC;AAED,EAAA,MAAMG,UAAU,GAAGhB,MAAM,EAAEgB,UAAU;AACrC,EAAA,MAAMC,eAAe,GAAGjB,MAAM,EAAEiB,eAAgB;EAEhD,MAAM;IAAEC,UAAU;IAAEC,QAAQ;AAAEC,IAAAA;GAAU,GAAGC,eAAQ,EAAE;EAErD,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/ChB,cAAQ,CAAuB,IAAI,CAAC;EAEtC,IAAI,CAACS,UAAU,EAAE;AACf,IAAA,MAAM,IAAIQ,qBAAY,CACpB,6EAA6E,CAC9E;AACH;AAEAC,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,MAAMC,UAAU,GAAG,YAAW;MAC5B,IAAI;AACF,QAAA,MAAMC,qBAAqB,GAAG,IAAIC,2BAAa,CAAC;AAC9CC,UAAAA,SAAS,EAAEZ,eAAe;AAC1Ba,UAAAA,eAAe,EAAE3C,sBAAsB;AACvC4C,UAAAA,eAAe,EAAEC,QAAQ,CAACC,cAAc,CACtC/C,8BAA8B;AAEjC,SAAA,CAAC;AACF,QAAA,MAAMyC,qBAAqB,CAACO,IAAI,EAAE;QAClC,MAAMP,qBAAqB,CAACQ,aAAa,CAAC;AACxCC,UAAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAE,MAAM;AAChB;AACAC,YAAAA,eAAe,EAAEtC,MAAM,EAAEuC,EAAE,EAAEC,QAAQ,GACjCxC,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEC,IAAI,EAAEC,cAAc,IAAIrD,kBAAkB,GAC9DU,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEG,KAAK,EAAED,cAAc,IACzCtD,mBAAmB;AACvBwD,YAAAA,KAAK,EAAE7C,MAAM,EAAEuC,EAAE,EAAEC,QAAQ,GACvBxC,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEC,IAAI,EAAEI,QAAQ,IAAItD,YAAY,GAClDQ,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEG,KAAK,EAAEE,QAAQ,IAAIvD;AAC5C;AACF,SAAA,CAAC;QACFgC,qBAAqB,CAACI,qBAAqB,CAAC;OAC7C,CAAC,OAAOjB,KAAK,EAAE;QACd,MAAM,IAAIc,qBAAY,CACpB,CAAkC,gCAAA,CAAA,EAClCuB,0BAAiB,CAACC,cAAc,EAChCtC,KAAK,CACN;AACH;KACD;AAED,IAAA,MAAMuC,cAAc,GAAGjB,QAAQ,CAACC,cAAc,CAAC9C,sBAAsB,CAAC;IACtE,IAAI,CAAC8D,cAAc,EAAE;AACnBvB,MAAAA,UAAU,EAAE;AACd;AAEA,IAAA,MAAMwB,aAAa,GAAGlB,QAAQ,CAACC,cAAc,CAAC9C,sBAAsB,CAAC;AAErE,IAAA,IAAI+D,aAAa,EAAE;MACjBA,aAAa,CAACC,SAAS,GAAG/D,uBAAuB;AACnD;AAEA,IAAA,OAAO,MAAK;AACVgE,MAAAA,sBAAsB,EAAE;KACzB;GACF,EAAE,EAAE,CAAC;AAEN3B,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,MAAM4B,mBAAmB,GAAG,YAAW;MACrC,MAAM/B,kBAAkB,EAAEa,aAAa,CAAC;AACtCC,QAAAA,MAAM,EAAE;AACNC,UAAAA,QAAQ,EAAE,MAAM;AAChBC,UAAAA,eAAe,EAAEtC,MAAM,EAAEuC,EAAE,EAAEC,QAAQ,GACjCxC,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEC,IAAI,EAAEC,cAAc,IAAIrD,kBAAkB,GAC9DU,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEG,KAAK,EAAED,cAAc,IAAItD,mBAAmB;AACpEwD,UAAAA,KAAK,EAAE7C,MAAM,EAAEuC,EAAE,EAAEC,QAAQ,GACvBxC,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEC,IAAI,EAAEI,QAAQ,IAAItD,YAAY,GAClDQ,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEG,KAAK,EAAEE,QAAQ,IAAIvD;AAC5C;AACF,OAAA,CAAC;KACH;AACD8D,IAAAA,mBAAmB,EAAE;AACvB,GAAC,EAAE,CAACrD,MAAM,CAACuC,EAAE,CAAC,CAAC;EAEf,SAASa,sBAAsBA,GAAA;AAC7B,IAAA,IAAI9B,kBAAkB,EAAE;MACtBC,qBAAqB,CAAC,IAAI,CAAC;AAE3B,MAAA,MAAM0B,cAAc,GAAGjB,QAAQ,CAACC,cAAc,CAAC9C,sBAAsB,CAAC;AACtE,MAAA,IAAI8D,cAAc,EAAE;QAClBA,cAAc,CAACK,MAAM,EAAE;AACzB;AACF;AACF;EAEA,eAAeC,YAAYA,GAAA;IACzB9C,YAAY,CAAC,IAAI,CAAC;IAClB,IAAI;MACF,IAAI,CAACa,kBAAkB,EAAE;QACvB,MAAM,IAAIE,qBAAY,CACpB,sCAAsC,EACtCuB,0BAAiB,CAACC,cAAc,CACjC;AACH;AACA,MAAA,MAAMQ,UAAU,GAAG,MAAMrD,UAAU,EAAEsD,gBAAgB,CAAC;QACpDC,cAAc,EAAEzD,OAAO,EAAEyD,cAAe;QACxCC,MAAM,EAAE1D,OAAO,EAAE0D;AAClB,OAAA,CAAC;AAEF,MAAA,IAAI,CAACH,UAAU,IAAI,CAACA,UAAU,CAACI,YAAY,EAAE;QAC3C,MAAM,IAAIpC,qBAAY,CACpB,kCAAkC,EAClCuB,0BAAiB,CAACc,mBAAmB,CACtC;AACH;AAEA,MAAA,MAAMC,QAAQ,GAAG,MAAMxC,kBAAkB,CAACyC,kBAAkB,CAC1DP,UAAU,CAACI,YAAY,EACvB3D,OAAO,EAAEyD,cAAe,EACxBzD,OAAO,EAAE0D,MAAO,CACjB;MAED,IAAI,CAACG,QAAQ,EAAE;QACb,MAAM,IAAItC,qBAAY,CACpB,gCAAgC,EAChCuB,0BAAiB,CAACc,mBAAmB,CACtC;AACH;AACA,MAAA,MAAMG,eAAe,GACnB,MAAM1C,kBAAkB,CAAC2C,4BAA4B,EAAE;MACzD,IAAI,CAACD,eAAe,IAAIA,eAAe,CAACE,IAAI,EAAE,KAAK,EAAE,EAAE;QACrD,MAAM,IAAI1C,qBAAY,CACpB,2BAA2B,EAC3BuB,0BAAiB,CAACc,mBAAmB,CACtC;AACH;MAEA,IAAIM,QAAQ,GAA4B,EAAE;MAC1C,IACEC,KAAK,CAACC,OAAO,CAACxE,qBAAqB,CAAC,IACpCA,qBAAqB,CAACyE,MAAM,GAAG,CAAC,IAC/BzE,qBAA+B,CAAC,CAAC,CAAC,EAAE0E,aAAa,KAAKC,SAAS,EAChE;QACAL,QAAQ,GAAGM,4CAAuC,CAAC;AACjDC,UAAAA,SAAS,EAAE7E;AACZ,SAAA,CAAC;OACH,MAAM,IAAIuE,KAAK,CAACC,OAAO,CAACxE,qBAAqB,CAAC,EAAE;AAC/CsE,QAAAA,QAAQ,GAAGtE,qBAAgD;AAC7D;AAEA,MAAA,MAAM8E,QAAQ,GAAG,MAAMzE,YAAY,CAAC;AAClCG,QAAAA,UAAU,EAAEA,UAAU;QACtB8D,QAAQ;QACRH,eAAe;AACfjE,QAAAA;AACD,OAAA,CAAC;AAEF,MAAA,IAAI4E,QAAQ,EAAE;QACZhF,SAAS,CAACgF,QAAQ,CAAC;AACnB,QAAA,IAAI7E,mBAAmB,IAAIA,mBAAmB,KAAK,CAAC,EAAE;AACpDqB,UAAAA,QAAQ,CAAC;AACPyD,YAAAA,GAAG,EAAE,SAAS;AACdC,YAAAA,OAAO,EACLC,cAAA,CAACC,mBAAW,EAAA;AACVC,cAAAA,IAAI,EAAC,+BAA+B;AACpCC,cAAAA,QAAQ,EAAEnF,mBAAmB;cAC7BoF,UAAU,EAAEA,MAAK;AACf9B,gBAAAA,sBAAsB,EAAE;AACxBlC,gBAAAA,UAAU,EAAE;AACd;cAEH;AACDiE,YAAAA,WAAW,EAAE,IAAI;AACjBC,YAAAA,SAAS,EAAE;AACZ,WAAA,CAAC;AACJ,SAAC,MAAM;AACLhC,UAAAA,sBAAsB,EAAE;AACxBlC,UAAAA,UAAU,EAAE;AACd;AACAkC,QAAAA,sBAAsB,EAAE;AAC1B,OAAC,MAAM;AACL,QAAA,MAAM9B,kBAAkB,CAAC+D,KAAK,EAAE;QAChC,MAAM,IAAI7D,qBAAY,CACpB,yBAAyB,EACzBuB,0BAAiB,CAACc,mBAAmB,CACtC;AACH;KACD,CAAC,OAAOnD,KAAK,EAAE;AACdI,MAAAA,UAAU,EAAE;AACZH,MAAAA,QAAQ,CACND,KAAK,YAAYc,qBAAY,GACzBd,KAAK,GACL,IAAIc,qBAAY,CACd,CAAA,sBAAA,CAAwB,EACxBuB,0BAAiB,CAACc,mBAAmB,EACrCnD,KAAK,CACN,CACN;AAED,MAAA,IAAIA,KAAK,YAAYc,qBAAY,EAAE5B,OAAO,CAACc,KAAK,CAAC;MACjD,MAAM,IAAIc,qBAAY,CACpB,CAAwB,sBAAA,CAAA,EACxBuB,0BAAiB,CAACc,mBAAmB,EACrCnD,KAAK,CACN;AACH,KAAC,SAAS;MACRD,YAAY,CAAC,KAAK,CAAC;AACrB;AACF;EAEA,OACE6E,eAAA,CAAA,KAAA,EAAA;IACEnC,SAAS,EAAEoC,IAAI,CACb,iCAAiC,EACjCnE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAClC;AAAAoE,IAAAA,QAAA,EAAA,CAEDV,cAAG,CAAA,GAAA,EAAA;AAAA3B,MAAAA,SAAS,EAAC,uDAAuD;AAAAqC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAEhE,EACJV,cAAA,CAAA,KAAA,EAAA;AACEW,MAAAA,EAAE,EAAEvG,8BAA8B;AAClCwG,MAAAA,KAAK,EAAE;AACLC,QAAAA,MAAM,EAAE,MAAM;AACdC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,OAAO,EAAE,OAAO;AAChBvD,QAAAA,eAAe,EAAEtC,MAAM,EAAEuC,EAAE,EAAEC,QAAQ,GACjCxC,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEC,IAAI,EAAEC,cAAc,IAAIrD,kBAAkB,GAC9DU,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEG,KAAK,EAAED,cAAc,IAAItD,mBAAmB;AACpEyG,QAAAA,KAAK,EAAE,MAAM;AACbC,QAAAA,SAAS,EAAE,YAAY;AACvBC,QAAAA,OAAO,EAAE,KAAK;AACdC,QAAAA,WAAW,EAAE,OAAO;AACpBC,QAAAA,WAAW,EAAE,KAAK;AAClBC,QAAAA,YAAY,EAAE,KAAK;AACnBC,QAAAA,WAAW,EAAEpG,MAAM,EAAEuC,EAAE,EAAEC,QAAQ,GAC7BxC,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEC,IAAI,EAAEI,QAAQ,IAAItD,YAAY,GAClDQ,MAAM,EAAEuC,EAAE,EAAEE,MAAM,EAAEG,KAAK,EAAEE,QAAQ,IAAIvD;OAC5C;AACD4D,MAAAA,SAAS,EAAE,CAAkBvC,eAAAA,EAAAA,OAAO,GAAG,eAAe,GAAG,EAAE,CAAA;AAC3D,KAAA,CAAA,EACFkE,eAACuB,aAAK,EAAA;AACJC,MAAAA,IAAI,EAAC,MAAM;AACXC,MAAAA,WAAW,EAAC,wBAAwB;AACpCC,MAAAA,KAAK,EAAEnG,UAAU;MACjBoG,QAAQ,EAAGC,CAAC,IAAKpG,aAAa,CAACoG,CAAC,CAACC,MAAM,CAACH,KAAK,CAAC;AAC9CrD,MAAAA,SAAS,EAAC;AACV,KAAA,CAAA,EACF2B,eAAC8B,oBAAY,EAAA;AACXC,MAAAA,OAAO,EAAErG,SAAS;AAClBsG,MAAAA,gBAAgB,EAAC,qDAAqD;AACtEC,MAAAA,OAAO,EAAExD,YAAY;AACrBJ,MAAAA,SAAS,EAAC,2FAA2F;AAGxFqC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAAA,EACfF;MACEnC,SAAS,EAAEoC,IAAI,CACb,sEAAsE,EACtE7E,KAAK,GACD,sCAAsC,GACtC,wCAAwC,CAC7C;AAAA8E,MAAAA,QAAA,EAAA,CAEA9E,KAAK,EAAEsG,OAAO,EAAG,GAAA,EAAA,GAAG,EACpBtG,KAAK,EAAEuG,KAAK,YAAYzF,qBAAY,GACjCd,KAAK,EAAEuG,KAAK,CAACD,OAAO,GACpBtG,KAAK,EAAEuG,KAAK,EAAEC,QAAQ,EAAE,IAAI,eAAe;AAAA,KAAA,CAC7C;AACA,GAAA,CAAA;AAEV;;;;"}