@funkit/connect 0.0.0-20260710210119

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 (1068) hide show
  1. package/CHANGELOG.md +5368 -0
  2. package/README.md +33 -0
  3. package/dist/__generated__/default_configs.d.ts +901 -0
  4. package/dist/__generated__/default_feature_gates.d.ts +20 -0
  5. package/dist/__private__/index.d.ts +6 -0
  6. package/dist/argentWallet-2WSTOUAO.js +7 -0
  7. package/dist/bifrostWallet-5NQVDZ5P.js +7 -0
  8. package/dist/bitgetWallet-CBQAJOIK.js +7 -0
  9. package/dist/bitskiWallet-OLIYN3IU.js +7 -0
  10. package/dist/bitverseWallet-AQMAJ2NN.js +7 -0
  11. package/dist/bloomWallet-MJRQJYSG.js +7 -0
  12. package/dist/braveWallet-T76TVZA6.js +7 -0
  13. package/dist/bybitWallet-GOPAS32Q.js +7 -0
  14. package/dist/chunk-36KVHK22.js +252 -0
  15. package/dist/chunk-4YEAUICE.js +380 -0
  16. package/dist/chunk-67BKQQNG.js +252 -0
  17. package/dist/chunk-L67HP4HQ.js +252 -0
  18. package/dist/clients/aave.d.ts +118 -0
  19. package/dist/clients/aave.js +187 -0
  20. package/dist/clients/argentWallet-2WSTOUAO.js +7 -0
  21. package/dist/clients/bifrostWallet-5NQVDZ5P.js +7 -0
  22. package/dist/clients/bitgetWallet-CBQAJOIK.js +7 -0
  23. package/dist/clients/bitskiWallet-OLIYN3IU.js +7 -0
  24. package/dist/clients/bitverseWallet-AQMAJ2NN.js +7 -0
  25. package/dist/clients/bloomWallet-MJRQJYSG.js +7 -0
  26. package/dist/clients/braveWallet-T76TVZA6.js +7 -0
  27. package/dist/clients/bybitWallet-GOPAS32Q.js +7 -0
  28. package/dist/clients/chunk-2ICQJAOL.js +3110 -0
  29. package/dist/clients/chunk-3GO74QTP.js +2382 -0
  30. package/dist/clients/chunk-3QHYYLVM.js +240 -0
  31. package/dist/clients/chunk-4BNXKPUU.js +186 -0
  32. package/dist/clients/chunk-54PPXA7V.js +1175 -0
  33. package/dist/clients/chunk-54S4HRC3.js +2371 -0
  34. package/dist/clients/chunk-6PIIYPQK.js +702 -0
  35. package/dist/clients/chunk-75XRUTNC.js +2382 -0
  36. package/dist/clients/chunk-7GWX2ZS4.js +69 -0
  37. package/dist/clients/chunk-AHYOV7AV.js +52 -0
  38. package/dist/clients/chunk-AIZBEECW.js +1473 -0
  39. package/dist/clients/chunk-BUCJRBW7.js +1472 -0
  40. package/dist/clients/chunk-ELGM5UDC.js +1472 -0
  41. package/dist/clients/chunk-ESCZBHBX.js +1175 -0
  42. package/dist/clients/chunk-ETB2YYFT.js +230 -0
  43. package/dist/clients/chunk-GHJHQPLZ.js +54 -0
  44. package/dist/clients/chunk-GP6UR3LS.js +2382 -0
  45. package/dist/clients/chunk-GRR4Z7QO.js +3107 -0
  46. package/dist/clients/chunk-GUWXVR5S.js +186 -0
  47. package/dist/clients/chunk-HM2WB3GQ.js +290 -0
  48. package/dist/clients/chunk-HMP3LHMW.js +109 -0
  49. package/dist/clients/chunk-HRWCNZJA.js +230 -0
  50. package/dist/clients/chunk-IERR754R.js +228 -0
  51. package/dist/clients/chunk-J746GETK.js +2382 -0
  52. package/dist/clients/chunk-JBWB54MX.js +69 -0
  53. package/dist/clients/chunk-KWIR3HO4.js +94 -0
  54. package/dist/clients/chunk-L7PABCF2.js +54 -0
  55. package/dist/clients/chunk-LHFW4VTP.js +2382 -0
  56. package/dist/clients/chunk-LQTZHM56.js +2371 -0
  57. package/dist/clients/chunk-MMXH5GF4.js +3099 -0
  58. package/dist/clients/chunk-MRBN4XCA.js +96 -0
  59. package/dist/clients/chunk-NPPIETHZ.js +54 -0
  60. package/dist/clients/chunk-NUJ6ZM5F.js +186 -0
  61. package/dist/clients/chunk-PEVDOGEA.js +109 -0
  62. package/dist/clients/chunk-QNXNREDK.js +2383 -0
  63. package/dist/clients/chunk-QU7MENZ6.js +2371 -0
  64. package/dist/clients/chunk-S54VYTTG.js +3100 -0
  65. package/dist/clients/chunk-S7FRYR55.js +696 -0
  66. package/dist/clients/chunk-STLOQEN7.js +11 -0
  67. package/dist/clients/chunk-UMJOQJUR.js +2382 -0
  68. package/dist/clients/chunk-UPZNKPYU.js +27 -0
  69. package/dist/clients/chunk-UUHGOBKZ.js +51 -0
  70. package/dist/clients/chunk-VKQFGBUV.js +3128 -0
  71. package/dist/clients/chunk-VM4K5P7V.js +116 -0
  72. package/dist/clients/chunk-XRGI3YJM.js +1175 -0
  73. package/dist/clients/chunk-Y2KXVS36.js +230 -0
  74. package/dist/clients/chunk-YFHTV7DT.js +98 -0
  75. package/dist/clients/chunk-YYMIRDCQ.js +230 -0
  76. package/dist/clients/clvWallet-VVMLP7BK.js +7 -0
  77. package/dist/clients/coin98Wallet-I5CP5KYZ.js +7 -0
  78. package/dist/clients/coinbaseWallet-ICYEIYQD.js +7 -0
  79. package/dist/clients/coreWallet-RFVUHOVE.js +7 -0
  80. package/dist/clients/dawnWallet-QBFTQLS4.js +7 -0
  81. package/dist/clients/desigWallet-IBKYOHSY.js +7 -0
  82. package/dist/clients/enkryptWallet-ZVUZMI7H.js +7 -0
  83. package/dist/clients/fanatics.css +14694 -0
  84. package/dist/clients/fanatics.d.ts +53 -0
  85. package/dist/clients/fanatics.js +490 -0
  86. package/dist/clients/foxWallet-I7D5KIW4.js +7 -0
  87. package/dist/clients/frameWallet-UDD4OVZX.js +7 -0
  88. package/dist/clients/frontierWallet-5QV7ZACT.js +7 -0
  89. package/dist/clients/gateWallet-CJNGQQCV.js +7 -0
  90. package/dist/clients/imTokenWallet-UPA7ADZ2.js +7 -0
  91. package/dist/clients/injectedWallet-OIRJSVBZ.js +7 -0
  92. package/dist/clients/kresusWallet-7ROCNWAU.js +7 -0
  93. package/dist/clients/ledgerWallet-3FCEIKPD.js +7 -0
  94. package/dist/clients/lighter.css +17520 -0
  95. package/dist/clients/lighter.d.ts +182 -0
  96. package/dist/clients/lighter.js +666 -0
  97. package/dist/clients/mallard.d.ts +91 -0
  98. package/dist/clients/mallard.js +195 -0
  99. package/dist/clients/metaMaskWallet-RMHEKBDR.js +7 -0
  100. package/dist/clients/mewWallet-ANFGVCZT.js +7 -0
  101. package/dist/clients/nado.d.ts +78 -0
  102. package/dist/clients/oktoWallet-Q5XCEOTD.js +7 -0
  103. package/dist/clients/okxWallet-GJMKZIND.js +7 -0
  104. package/dist/clients/omniWallet-YH4FEL6J.js +7 -0
  105. package/dist/clients/oneInchWallet-4S73ZPPN.js +7 -0
  106. package/dist/clients/oneKeyWallet-YVJDPHJS.js +7 -0
  107. package/dist/clients/phantomWallet-LZDJJ5XR.js +7 -0
  108. package/dist/clients/polymarket/PolymarketDepositAccountDropdown.css +17520 -0
  109. package/dist/clients/polymarket/PolymarketDepositAccountDropdown.d.ts +30 -0
  110. package/dist/clients/polymarket/PolymarketDepositAccountDropdown.js +14 -0
  111. package/dist/clients/polymarket/createPolymarketDepositConfig.d.ts +54 -0
  112. package/dist/clients/polymarket/createPolymarketDepositConfig.js +15 -0
  113. package/dist/clients/polymarket/index.css +17520 -0
  114. package/dist/clients/polymarket/index.d.ts +8 -0
  115. package/dist/clients/polymarket/index.js +42 -0
  116. package/dist/clients/polymarket/polymarket.d.ts +218 -0
  117. package/dist/clients/polymarket/polymarket.js +24 -0
  118. package/dist/clients/polymarket/usePolymarketAccountBalances.d.ts +66 -0
  119. package/dist/clients/polymarket/usePolymarketAccountBalances.js +12 -0
  120. package/dist/clients/polymarket.d.ts +161 -0
  121. package/dist/clients/rabbyWallet-TYX2JDHU.js +7 -0
  122. package/dist/clients/rainbowWallet-MFJQCICF.js +7 -0
  123. package/dist/clients/ramperWallet-Q2XAH4WA.js +7 -0
  124. package/dist/clients/rolly.d.ts +46 -0
  125. package/dist/clients/rolly.js +82 -0
  126. package/dist/clients/roninWallet-SAB5ESVK.js +7 -0
  127. package/dist/clients/safeWallet-Y3VPODK2.js +7 -0
  128. package/dist/clients/safeheronWallet-MCFXLKO5.js +7 -0
  129. package/dist/clients/safepalWallet-7YULGM2L.js +7 -0
  130. package/dist/clients/subWallet-5WUZ4IIO.js +7 -0
  131. package/dist/clients/tahoWallet-U2VWWO76.js +7 -0
  132. package/dist/clients/talismanWallet-ZYTPIANG.js +7 -0
  133. package/dist/clients/tokenPocketWallet-FLFG3JUQ.js +7 -0
  134. package/dist/clients/tokenaryWallet-S3JS2IGK.js +7 -0
  135. package/dist/clients/trustWallet-2N5TZJGC.js +7 -0
  136. package/dist/clients/uniswapWallet-NJQBP5VM.js +7 -0
  137. package/dist/clients/walletConnectWallet-E4OQJ4DC.js +7 -0
  138. package/dist/clients/xdefiWallet-ZKBEFEOH.js +7 -0
  139. package/dist/clients/zealWallet-7VO3C4PM.js +7 -0
  140. package/dist/clients/zerionWallet-SEPREHKH.js +7 -0
  141. package/dist/clvWallet-VVMLP7BK.js +7 -0
  142. package/dist/coin98Wallet-I5CP5KYZ.js +7 -0
  143. package/dist/coinbaseWallet-ICYEIYQD.js +7 -0
  144. package/dist/components/AnimatedDollarValue/AnimatedDollarValue.d.ts +8 -0
  145. package/dist/components/AnimatedWidthWrapper/AnimatedWidthWrapper.d.ts +4 -0
  146. package/dist/components/ApprovalMethodToggle/ApprovalMethodToggle.d.ts +16 -0
  147. package/dist/components/AsyncImage/AsyncImage.d.ts +22 -0
  148. package/dist/components/AsyncImage/useAsyncImage.d.ts +5 -0
  149. package/dist/components/Avatar/Avatar.d.ts +10 -0
  150. package/dist/components/Avatar/EmojiAvatar.d.ts +2 -0
  151. package/dist/components/Avatar/MarbleAvatar.d.ts +10 -0
  152. package/dist/components/Avatar/emojiAvatarForAddress.d.ts +106 -0
  153. package/dist/components/BitcoinLightningBanner/BitcoinLightningBanner.d.ts +12 -0
  154. package/dist/components/BottomLinks/BottomLinks.css.d.ts +6 -0
  155. package/dist/components/BottomLinks/BottomLinks.d.ts +14 -0
  156. package/dist/components/Box/Box.d.ts +96 -0
  157. package/dist/components/CheckoutTopAnnouncementBanner/CheckoutTopAnnouncementBanner.d.ts +2 -0
  158. package/dist/components/CloseButton/CloseButton.d.ts +7 -0
  159. package/dist/components/ConnectButton/ConnectButton.d.ts +32 -0
  160. package/dist/components/ConnectButton/ConnectButtonRenderer.d.ts +40 -0
  161. package/dist/components/ConnectButton/abbreviateETHBalance.d.ts +1 -0
  162. package/dist/components/ConnectButton/formatENS.d.ts +2 -0
  163. package/dist/components/CopyAddress/CopyAddressButton.d.ts +5 -0
  164. package/dist/components/CopyAddress/CopyIconButton.d.ts +6 -0
  165. package/dist/components/CopyAddress/CopyInputDisplayedAddress.css.d.ts +14 -0
  166. package/dist/components/CopyAddress/CopyInputDisplayedAddress.d.ts +17 -0
  167. package/dist/components/CopyAddress/OldCopyAddressButton.d.ts +5 -0
  168. package/dist/components/CurrencySelector/CurrencySelector.d.ts +8 -0
  169. package/dist/components/Dialog/Dialog.css.d.ts +14 -0
  170. package/dist/components/Dialog/Dialog.d.ts +74 -0
  171. package/dist/components/Dialog/DialogContent.css.d.ts +39 -0
  172. package/dist/components/Dialog/FocusTrap.d.ts +2 -0
  173. package/dist/components/Dialog/hooks.d.ts +20 -0
  174. package/dist/components/Dropdown/AccountSelectDropdown.d.ts +45 -0
  175. package/dist/components/Dropdown/BaseActiveDropdownItem.css.d.ts +1 -0
  176. package/dist/components/Dropdown/BaseActiveDropdownItem.d.ts +29 -0
  177. package/dist/components/Dropdown/BaseDropdown.css.d.ts +5 -0
  178. package/dist/components/Dropdown/BaseDropdown.d.ts +73 -0
  179. package/dist/components/Dropdown/BaseDropdown.utils.d.ts +23 -0
  180. package/dist/components/Dropdown/BaseDropdownItem.css.d.ts +2 -0
  181. package/dist/components/Dropdown/BaseDropdownItem.d.ts +22 -0
  182. package/dist/components/Dropdown/ChainDropdown.d.ts +30 -0
  183. package/dist/components/Dropdown/ReceiveTokenDropdown.d.ts +18 -0
  184. package/dist/components/Dropdown/TokenAndChainDropdown.d.ts +42 -0
  185. package/dist/components/Dropdown/TokenDropdown.d.ts +32 -0
  186. package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +16 -0
  187. package/dist/components/ErrorBoundary/ErrorFallback.d.ts +2 -0
  188. package/dist/components/FreeUsdcBanner/FreeUsdcBanner.css.d.ts +15 -0
  189. package/dist/components/FreeUsdcBanner/FreeUsdcBanner.d.ts +5 -0
  190. package/dist/components/FunAlert/FunAlert.d.ts +12 -0
  191. package/dist/components/FunAsset/FunAssetItem.d.ts +15 -0
  192. package/dist/components/FunAsset/FunAssetLoading.d.ts +7 -0
  193. package/dist/components/FunAssetAvatar/FunAssetAvatar.css.d.ts +2 -0
  194. package/dist/components/FunAssetAvatar/FunAssetAvatar.d.ts +15 -0
  195. package/dist/components/FunBadge/BridgeCustomerStatusBadge.d.ts +9 -0
  196. package/dist/components/FunBadge/FunBadge.css.d.ts +2 -0
  197. package/dist/components/FunBadge/FunBadge.d.ts +25 -0
  198. package/dist/components/FunBottomBar/FunBottomBar.css.d.ts +1 -0
  199. package/dist/components/FunBottomBar/FunBottomBar.d.ts +10 -0
  200. package/dist/components/FunButton/FunBackButton.d.ts +7 -0
  201. package/dist/components/FunButton/FunButton.css.d.ts +12 -0
  202. package/dist/components/FunButton/FunButton.d.ts +20 -0
  203. package/dist/components/FunButton/FunIconButton.d.ts +44 -0
  204. package/dist/components/FunButton/FunLinkButton.d.ts +22 -0
  205. package/dist/components/FunButton/FunRedirectButton.d.ts +20 -0
  206. package/dist/components/FunCheckbox/FunCheckbox.d.ts +9 -0
  207. package/dist/components/FunCheckoutBlocked/FunCheckoutBlocked.css.d.ts +1 -0
  208. package/dist/components/FunCheckoutBlocked/FunCheckoutBlocked.d.ts +7 -0
  209. package/dist/components/FunCheckoutHistory/AddTokenToWalletButton.css.d.ts +1 -0
  210. package/dist/components/FunCheckoutHistory/AddTokenToWalletButton.d.ts +47 -0
  211. package/dist/components/FunCheckoutHistory/FunCheckoutHistoryContent.d.ts +16 -0
  212. package/dist/components/FunCheckoutHistory/FunCheckoutHistoryDetail.d.ts +19 -0
  213. package/dist/components/FunCheckoutHistory/FunCheckoutHistoryHelp.d.ts +10 -0
  214. package/dist/components/FunCheckoutHistory/FunCheckoutHistoryTransaction.css.d.ts +1 -0
  215. package/dist/components/FunCheckoutHistory/FunCheckoutHistoryTransaction.d.ts +21 -0
  216. package/dist/components/FunCheckoutHistory/FunCheckoutStatus.d.ts +9 -0
  217. package/dist/components/FunCheckoutHistory/FunDirectExecutionHistoryBottomBar.d.ts +11 -0
  218. package/dist/components/FunCheckoutHistory/FunDirectExecutionHistoryDetail.d.ts +33 -0
  219. package/dist/components/FunCheckoutHistory/FunDirectExecutionStatus.d.ts +28 -0
  220. package/dist/components/FunCheckoutHistory/FunTxSummarySections.d.ts +7 -0
  221. package/dist/components/FunCheckoutHistory/PendingSuccessScreen.d.ts +13 -0
  222. package/dist/components/FunCheckoutHistory/TotalTimeItem.d.ts +6 -0
  223. package/dist/components/FunCheckoutHistory/YouSendItem.d.ts +6 -0
  224. package/dist/components/FunCheckoutHistory/useCustomStatusAnimationAboveTopbar.d.ts +31 -0
  225. package/dist/components/FunConnectOptions/FunConnectOptions.d.ts +13 -0
  226. package/dist/components/FunConnectOptions/FunConnectResultStep.d.ts +11 -0
  227. package/dist/components/FunConnectOptions/FunSignInStep.d.ts +15 -0
  228. package/dist/components/FunConnectOptions/FunWeb3ConnectingStep.d.ts +8 -0
  229. package/dist/components/FunCountdown/FunCountdown.css.d.ts +2 -0
  230. package/dist/components/FunCountdown/FunCountdown.d.ts +17 -0
  231. package/dist/components/FunDivider/FunDivider.css.d.ts +1 -0
  232. package/dist/components/FunDivider/FunDivider.d.ts +12 -0
  233. package/dist/components/FunDot/FunDot.d.ts +2 -0
  234. package/dist/components/FunFeatureList/FunFeatureList.css.d.ts +1 -0
  235. package/dist/components/FunFeatureList/FunFeatureList.d.ts +16 -0
  236. package/dist/components/FunFeatureList/FunFeatureListItem.d.ts +10 -0
  237. package/dist/components/FunGuarantees/FunGuarantees.d.ts +11 -0
  238. package/dist/components/FunInfoBanner/ChainInfoBanners.d.ts +7 -0
  239. package/dist/components/FunInfoBanner/EphemeralInfoBanner.d.ts +6 -0
  240. package/dist/components/FunInfoBanner/FunInfoBanner.d.ts +6 -0
  241. package/dist/components/FunInfoBanner/InfoBanner.css.d.ts +2 -0
  242. package/dist/components/FunInfoBanner/InfoBanner.d.ts +8 -0
  243. package/dist/components/FunInput/FunInput.css.d.ts +10 -0
  244. package/dist/components/FunInput/FunInput.d.ts +43 -0
  245. package/dist/components/FunInput/FunTextAreaInput.css.d.ts +1 -0
  246. package/dist/components/FunInput/FunTextAreaInput.d.ts +3 -0
  247. package/dist/components/FunInput/FunTwoFaInput.d.ts +13 -0
  248. package/dist/components/FunInputButton/FunInputButton.d.ts +14 -0
  249. package/dist/components/FunMessage/FunMessage.d.ts +9 -0
  250. package/dist/components/FunNoResults/FunNoResults.d.ts +9 -0
  251. package/dist/components/FunNotification/FunNotification.css.d.ts +2 -0
  252. package/dist/components/FunNotification/FunNotification.d.ts +20 -0
  253. package/dist/components/FunNotificationBanner/FunNotificationBanner.css.d.ts +2 -0
  254. package/dist/components/FunNotificationBanner/FunNotificationBanner.d.ts +13 -0
  255. package/dist/components/FunNotificationBanner/FunNotificationBannerIcon.css.d.ts +5 -0
  256. package/dist/components/FunNotificationBanner/FunNotificationBannerIcon.d.ts +8 -0
  257. package/dist/components/FunNotificationBanner/FunNotificationShowMoreButton.d.ts +8 -0
  258. package/dist/components/FunOptionBox/FunOptionBox.css.d.ts +1 -0
  259. package/dist/components/FunOptionBox/FunOptionBox.d.ts +12 -0
  260. package/dist/components/FunPaymentMethodItem/FunPaymentMethodItem.d.ts +23 -0
  261. package/dist/components/FunPaymentMethodItem/FunPaymentMethodItemSkeleton.d.ts +2 -0
  262. package/dist/components/FunPayments/FunPaymentMethods.d.ts +108 -0
  263. package/dist/components/FunPoweredTagline/FunPoweredTagline.css.d.ts +1 -0
  264. package/dist/components/FunPoweredTagline/FunPoweredTagline.d.ts +5 -0
  265. package/dist/components/FunSelect/FunClickOutside.d.ts +7 -0
  266. package/dist/components/FunSelect/FunSelect.d.ts +16 -0
  267. package/dist/components/FunSelectBrokerage/FunBrokerageItem.css.d.ts +1 -0
  268. package/dist/components/FunSelectBrokerage/FunBrokerageItem.d.ts +12 -0
  269. package/dist/components/FunSelectBrokerage/FunSelectBrokerage.d.ts +10 -0
  270. package/dist/components/FunSkeletonLoader/FunSkeletonBlock.d.ts +18 -0
  271. package/dist/components/FunSkeletonLoader/FunSkeletonCircle.d.ts +7 -0
  272. package/dist/components/FunSkeletonLoader/FunSkeletonLoader.css.d.ts +2 -0
  273. package/dist/components/FunTooltip/FunTooltip.css.d.ts +2 -0
  274. package/dist/components/FunTooltip/FunTooltip.d.ts +38 -0
  275. package/dist/components/FunTransactionSummary/DestinationHealthFactorRow.d.ts +15 -0
  276. package/dist/components/FunTransactionSummary/DestinationYieldRows.d.ts +17 -0
  277. package/dist/components/FunTransactionSummary/FunTxSummaryComponents.d.ts +8 -0
  278. package/dist/components/FunTransactionSummary/PaymentAmountSummary.d.ts +17 -0
  279. package/dist/components/FunTransactionSummary/PaymentFeesSummary.css.d.ts +4 -0
  280. package/dist/components/FunTransactionSummary/PaymentFeesSummary.d.ts +25 -0
  281. package/dist/components/FunTransactionSummary/PaymentFeesSummary.track.d.ts +4 -0
  282. package/dist/components/FunTransactionSummary/PaymentMethodSummary.d.ts +25 -0
  283. package/dist/components/FunTransactionSummary/PaymentRouteSummary.d.ts +13 -0
  284. package/dist/components/GradientLoader/GradientLoader.css.d.ts +1 -0
  285. package/dist/components/GradientLoader/GradientLoader.d.ts +2 -0
  286. package/dist/components/HelpAlert/HelpAlert.d.ts +7 -0
  287. package/dist/components/Icons/AcornsIcon.d.ts +4 -0
  288. package/dist/components/Icons/AcrossIcon.d.ts +4 -0
  289. package/dist/components/Icons/AlpacaIcon.d.ts +4 -0
  290. package/dist/components/Icons/ApplePayIcon.d.ts +4 -0
  291. package/dist/components/Icons/ArrowIcon.d.ts +9 -0
  292. package/dist/components/Icons/ArrowRightNarrowIcon.d.ts +4 -0
  293. package/dist/components/Icons/BinanceIcon.d.ts +4 -0
  294. package/dist/components/Icons/BitFlyerIcon.d.ts +4 -0
  295. package/dist/components/Icons/BitcoinIcon.d.ts +4 -0
  296. package/dist/components/Icons/BitfinexIcon.d.ts +4 -0
  297. package/dist/components/Icons/BitstampIcon.d.ts +4 -0
  298. package/dist/components/Icons/BrokerageIcon.d.ts +4 -0
  299. package/dist/components/Icons/BybitIcon.d.ts +4 -0
  300. package/dist/components/Icons/CaretDownIcon.css.d.ts +2 -0
  301. package/dist/components/Icons/CaretDownIcon.d.ts +14 -0
  302. package/dist/components/Icons/CashAppIcon.d.ts +4 -0
  303. package/dist/components/Icons/CexloIcon.d.ts +4 -0
  304. package/dist/components/Icons/CheckIcon.d.ts +5 -0
  305. package/dist/components/Icons/CloseIcon.d.ts +4 -0
  306. package/dist/components/Icons/CoinbaseIcon.d.ts +4 -0
  307. package/dist/components/Icons/CoinlistIcon.d.ts +4 -0
  308. package/dist/components/Icons/CoinsIcon.d.ts +6 -0
  309. package/dist/components/Icons/CopyDoublePaperSheetIcon.d.ts +5 -0
  310. package/dist/components/Icons/CopyDoubleRoundedSquareIcon.d.ts +7 -0
  311. package/dist/components/Icons/CreditCardIcon.d.ts +4 -0
  312. package/dist/components/Icons/CreditCardIcons.d.ts +4 -0
  313. package/dist/components/Icons/CryptoComIcon.d.ts +4 -0
  314. package/dist/components/Icons/CryptoIcon.d.ts +2 -0
  315. package/dist/components/Icons/CryptoTransferQRIcon.d.ts +4 -0
  316. package/dist/components/Icons/DeviceConfirmationIcon.d.ts +2 -0
  317. package/dist/components/Icons/DisconnectSqIcon.d.ts +4 -0
  318. package/dist/components/Icons/EmailConfirmationIcon.d.ts +2 -0
  319. package/dist/components/Icons/EtoroIcon.d.ts +4 -0
  320. package/dist/components/Icons/EtradeIcon.d.ts +4 -0
  321. package/dist/components/Icons/EvmWallet.d.ts +4 -0
  322. package/dist/components/Icons/ExchangeIcon.d.ts +4 -0
  323. package/dist/components/Icons/FanaticsCreditCardIcon.d.ts +4 -0
  324. package/dist/components/Icons/FunInfoIcon.d.ts +4 -0
  325. package/dist/components/Icons/FunLogoIcon.d.ts +2 -0
  326. package/dist/components/Icons/FunTechnologyLogo.d.ts +2 -0
  327. package/dist/components/Icons/FunWarningIcon.d.ts +4 -0
  328. package/dist/components/Icons/FunkitPaymentsIconLine.d.ts +6 -0
  329. package/dist/components/Icons/GasIcon.d.ts +4 -0
  330. package/dist/components/Icons/GateIoIcon.d.ts +4 -0
  331. package/dist/components/Icons/GeminiIcon.d.ts +4 -0
  332. package/dist/components/Icons/GlobeIcon.d.ts +4 -0
  333. package/dist/components/Icons/GooglePayIcon.d.ts +4 -0
  334. package/dist/components/Icons/GreenRoundCheckmark.d.ts +4 -0
  335. package/dist/components/Icons/HandIcon.d.ts +2 -0
  336. package/dist/components/Icons/HomeIcon.d.ts +4 -0
  337. package/dist/components/Icons/HuobiIcon.d.ts +4 -0
  338. package/dist/components/Icons/Icons.css.d.ts +4 -0
  339. package/dist/components/Icons/KrakenIcon.d.ts +4 -0
  340. package/dist/components/Icons/KucoinIcon.d.ts +4 -0
  341. package/dist/components/Icons/LightningBoltIcon.d.ts +4 -0
  342. package/dist/components/Icons/LockIcon.d.ts +4 -0
  343. package/dist/components/Icons/LogoutIcon.d.ts +4 -0
  344. package/dist/components/Icons/MailIcon.d.ts +6 -0
  345. package/dist/components/Icons/New/ArrowCircleUpRightIcon.d.ts +4 -0
  346. package/dist/components/Icons/New/BankIcon.d.ts +7 -0
  347. package/dist/components/Icons/New/BanknoteIcon.d.ts +4 -0
  348. package/dist/components/Icons/New/CashIcon.d.ts +4 -0
  349. package/dist/components/Icons/New/CheckCircleIcon.d.ts +2 -0
  350. package/dist/components/Icons/New/CircleBitcoinIcon.d.ts +4 -0
  351. package/dist/components/Icons/New/CoinsHandIcon.d.ts +4 -0
  352. package/dist/components/Icons/New/DollarIcon.d.ts +4 -0
  353. package/dist/components/Icons/New/FiatAccountIcon.d.ts +4 -0
  354. package/dist/components/Icons/New/FileIcon.d.ts +2 -0
  355. package/dist/components/Icons/New/InfoIcon.d.ts +7 -0
  356. package/dist/components/Icons/New/LightningBoltOutlineIcon.d.ts +4 -0
  357. package/dist/components/Icons/New/LinkExternalIcon.d.ts +4 -0
  358. package/dist/components/Icons/New/MessageIcon.d.ts +2 -0
  359. package/dist/components/Icons/New/PercentageIcon.d.ts +2 -0
  360. package/dist/components/Icons/New/ShieldCheckIcon.d.ts +4 -0
  361. package/dist/components/Icons/New/SpeedometerIcon.d.ts +2 -0
  362. package/dist/components/Icons/New/TimeIcon.d.ts +4 -0
  363. package/dist/components/Icons/OkcoinIcon.d.ts +4 -0
  364. package/dist/components/Icons/OkxIcon.d.ts +4 -0
  365. package/dist/components/Icons/PayPalIcon.d.ts +5 -0
  366. package/dist/components/Icons/PublicIcon.d.ts +4 -0
  367. package/dist/components/Icons/RedRoundErrorCross.d.ts +4 -0
  368. package/dist/components/Icons/RedirectIcon.d.ts +2 -0
  369. package/dist/components/Icons/RelayIcon.d.ts +4 -0
  370. package/dist/components/Icons/RevolutPayIcon.d.ts +4 -0
  371. package/dist/components/Icons/RobinhoodIcon.d.ts +4 -0
  372. package/dist/components/Icons/SearchIcon.d.ts +2 -0
  373. package/dist/components/Icons/SearchSkeletonIcon.d.ts +2 -0
  374. package/dist/components/Icons/SelectDropdownIcon.d.ts +2 -0
  375. package/dist/components/Icons/SepaBankIcon.d.ts +4 -0
  376. package/dist/components/Icons/SettingsIcon.d.ts +4 -0
  377. package/dist/components/Icons/ShieldIcon.d.ts +2 -0
  378. package/dist/components/Icons/SocialMediaIcons.d.ts +13 -0
  379. package/dist/components/Icons/SocialsIcon.d.ts +2 -0
  380. package/dist/components/Icons/SourcePaymentIcons.d.ts +22 -0
  381. package/dist/components/Icons/SpinnerIcon.d.ts +9 -0
  382. package/dist/components/Icons/SpinnerIconWithBackground.d.ts +9 -0
  383. package/dist/components/Icons/StashIcon.d.ts +4 -0
  384. package/dist/components/Icons/StatusIcons.css.d.ts +16 -0
  385. package/dist/components/Icons/StatusIcons.d.ts +17 -0
  386. package/dist/components/Icons/SuccessIcon.d.ts +4 -0
  387. package/dist/components/Icons/SwitchIcon.d.ts +2 -0
  388. package/dist/components/Icons/TwoFaIcon.d.ts +2 -0
  389. package/dist/components/Icons/UserSquareIcon.d.ts +4 -0
  390. package/dist/components/Icons/VenmoIcon.d.ts +4 -0
  391. package/dist/components/Icons/VerificationFailedIcon.d.ts +4 -0
  392. package/dist/components/Icons/VerificationPendingIcon.d.ts +4 -0
  393. package/dist/components/Icons/VerificationSuccessIcon.d.ts +4 -0
  394. package/dist/components/Icons/VerifyIdentityIcon.d.ts +4 -0
  395. package/dist/components/Icons/WeBullIcon.d.ts +4 -0
  396. package/dist/components/Icons/WhitelistIcon.d.ts +2 -0
  397. package/dist/components/Icons/utils.d.ts +2 -0
  398. package/dist/components/MeldQuoteItem/MeldQuoteItem.d.ts +14 -0
  399. package/dist/components/MenuButton/MenuButton.css.d.ts +1 -0
  400. package/dist/components/MenuButton/MenuButton.d.ts +9 -0
  401. package/dist/components/ModalErrorState/ModalErrorState.d.ts +24 -0
  402. package/dist/components/ModalHeightAnimationLayer/FunCheckoutModalHeightAnimationWrapper.d.ts +11 -0
  403. package/dist/components/ModalHeightAnimationLayer/ModalHeightAnimationLayer.d.ts +15 -0
  404. package/dist/components/ModalHeightAnimationLayer/WithdrawalModalHeightAnimationWrapper.d.ts +8 -0
  405. package/dist/components/ModalSelection/ModalSelection.d.ts +19 -0
  406. package/dist/components/NewTokenDepositAlert/NewTokenDepositAlert.d.ts +7 -0
  407. package/dist/components/PaddedScrollableArea/PaddedScrollableArea.d.ts +27 -0
  408. package/dist/components/PaddedScrollableArea/paddedScrollableArea.css.d.ts +4 -0
  409. package/dist/components/QRCode/QRCode.d.ts +21 -0
  410. package/dist/components/QRCode/QRCodeSkeletonLoader.d.ts +9 -0
  411. package/dist/components/ReceiveAmount/ReceiveAmount.d.ts +12 -0
  412. package/dist/components/SourceMeldQuoteItem/SourceMeldQuoteItem.d.ts +23 -0
  413. package/dist/components/SourcePaymentMethodItem/SourcePaymentMethodItem.css.d.ts +5 -0
  414. package/dist/components/SourcePaymentMethodItem/SourcePaymentMethodItem.d.ts +9 -0
  415. package/dist/components/SwappedIframeSkeleton.d.ts +7 -0
  416. package/dist/components/Tabs/Tabs.d.ts +23 -0
  417. package/dist/components/Tabs/tabs.css.d.ts +5 -0
  418. package/dist/components/Text/Text.d.ts +20 -0
  419. package/dist/components/TransactionStatus/AnimatedSpinner/AnimatedSpinner.d.ts +10 -0
  420. package/dist/components/TransactionStatus/AnimatedSpinner/AnimatedSpinnerLoading.d.ts +6 -0
  421. package/dist/components/TransactionStatus/AnimatedText.d.ts +14 -0
  422. package/dist/components/TransactionStatus/DotsDivider.d.ts +2 -0
  423. package/dist/components/TransactionStatus/StepSpinner.d.ts +17 -0
  424. package/dist/components/TransactionStatus/TransactionStatus.d.ts +34 -0
  425. package/dist/components/TransactionStatus/TransactionStatusLoading.d.ts +6 -0
  426. package/dist/components/TransferTokenDetails/TransferTokenDetails.d.ts +11 -0
  427. package/dist/components/VirtualFiatAccount/AccountDetailsTab/AccountDetailsTab.d.ts +9 -0
  428. package/dist/components/VirtualFiatAccount/CreateAccountScreen/CreateAccountScreen.d.ts +15 -0
  429. package/dist/components/VirtualFiatAccount/IntroScreen/IntroScreen.d.ts +6 -0
  430. package/dist/components/VirtualFiatAccount/VerifyAccountScreen/VerifyAccountScreen.d.ts +15 -0
  431. package/dist/components/YouPayYouReceive/YouPayYouReceive.d.ts +22 -0
  432. package/dist/config/getDefaultConfig.d.ts +25 -0
  433. package/dist/consts/assets.d.ts +1 -0
  434. package/dist/consts/bluvo.d.ts +73 -0
  435. package/dist/consts/checkout.d.ts +25 -0
  436. package/dist/consts/customers.d.ts +39 -0
  437. package/dist/consts/design.d.ts +2 -0
  438. package/dist/consts/funkit.d.ts +30 -0
  439. package/dist/consts/layout.d.ts +7 -0
  440. package/dist/consts/meld.d.ts +4 -0
  441. package/dist/consts/polymarket.d.ts +16 -0
  442. package/dist/consts/quote.d.ts +69 -0
  443. package/dist/coreWallet-RFVUHOVE.js +7 -0
  444. package/dist/css/atoms.d.ts +6 -0
  445. package/dist/css/cssObjectFromTheme.d.ts +6 -0
  446. package/dist/css/cssStringFromTheme.d.ts +4 -0
  447. package/dist/css/modalTransitionStyles.css.d.ts +8 -0
  448. package/dist/css/reset.css.d.ts +14 -0
  449. package/dist/css/scrollStyles.css.d.ts +2 -0
  450. package/dist/css/sprinkles.css.d.ts +1360 -0
  451. package/dist/css/touchableStyles.css.d.ts +4 -0
  452. package/dist/css/touchableStyles.d.ts +8 -0
  453. package/dist/dawnWallet-QBFTQLS4.js +7 -0
  454. package/dist/desigWallet-IBKYOHSY.js +7 -0
  455. package/dist/domains/aave.d.ts +33 -0
  456. package/dist/domains/asset.d.ts +34 -0
  457. package/dist/domains/bridge.d.ts +26 -0
  458. package/dist/domains/checkout.d.ts +18 -0
  459. package/dist/domains/checkoutErrors.d.ts +22 -0
  460. package/dist/domains/checkoutNotifications.d.ts +1 -0
  461. package/dist/domains/checkoutRecipient.d.ts +6 -0
  462. package/dist/domains/clientMetadata.d.ts +67 -0
  463. package/dist/domains/dynamicRouting.d.ts +36 -0
  464. package/dist/domains/feeEstimate.d.ts +8 -0
  465. package/dist/domains/fees.d.ts +53 -0
  466. package/dist/domains/meld.d.ts +14 -0
  467. package/dist/domains/nado.d.ts +9 -0
  468. package/dist/domains/paymentMethods.d.ts +90 -0
  469. package/dist/domains/quote.d.ts +66 -0
  470. package/dist/domains/quoteMode/exactIn.d.ts +2 -0
  471. package/dist/domains/quoteMode/exactOut.d.ts +3 -0
  472. package/dist/domains/quoteMode/gasEstimate.d.ts +9 -0
  473. package/dist/domains/quoteMode/index.d.ts +9 -0
  474. package/dist/domains/quoteMode/oneToOne.d.ts +21 -0
  475. package/dist/domains/quoteMode/resolveQuoteMode.d.ts +22 -0
  476. package/dist/domains/quoteMode/types.d.ts +132 -0
  477. package/dist/domains/relay.d.ts +63 -0
  478. package/dist/domains/swapped.d.ts +16 -0
  479. package/dist/domains/wallet.d.ts +32 -0
  480. package/dist/enkryptWallet-ZVUZMI7H.js +7 -0
  481. package/dist/foxWallet-I7D5KIW4.js +7 -0
  482. package/dist/frameWallet-UDD4OVZX.js +7 -0
  483. package/dist/frontierWallet-5QV7ZACT.js +7 -0
  484. package/dist/gateWallet-CJNGQQCV.js +7 -0
  485. package/dist/hooks/queries/useCheckout.d.ts +3 -0
  486. package/dist/hooks/queries/useErc20Asset.d.ts +5 -0
  487. package/dist/hooks/queries/useFops.d.ts +17 -0
  488. package/dist/hooks/queries/useHasSavedFops.d.ts +2 -0
  489. package/dist/hooks/queries/useLightningQuote.d.ts +21 -0
  490. package/dist/hooks/queries/useMeldCryptoCurrencyCode.d.ts +2 -0
  491. package/dist/hooks/queries/useMeldCurrencies.d.ts +1 -0
  492. package/dist/hooks/queries/useMeldDefaultCurrency.d.ts +5 -0
  493. package/dist/hooks/queries/useMeldLimits.d.ts +167 -0
  494. package/dist/hooks/queries/useRecentCheckouts.d.ts +13 -0
  495. package/dist/hooks/queries/useRecentDeposits.d.ts +83 -0
  496. package/dist/hooks/queries/useSwappedDefaultCurrency.d.ts +5 -0
  497. package/dist/hooks/queries/useSwappedExchanges.d.ts +14 -0
  498. package/dist/hooks/queries/useWithdrawFops.d.ts +21 -0
  499. package/dist/hooks/queries/useWithdrawalQuote.d.ts +237 -0
  500. package/dist/hooks/queries/useWithdrawalRisk.d.ts +1 -0
  501. package/dist/hooks/statsig/index.d.ts +3 -0
  502. package/dist/hooks/statsig/useDynamicConfig.d.ts +5 -0
  503. package/dist/hooks/statsig/useExperiment.d.ts +1 -0
  504. package/dist/hooks/statsig/useFeatureGate.d.ts +1 -0
  505. package/dist/hooks/track/CheckoutModalEvent.d.ts +81 -0
  506. package/dist/hooks/track/WithdrawModalEvent.d.ts +20 -0
  507. package/dist/hooks/track/useTrack.d.ts +17 -0
  508. package/dist/hooks/useAllowedAssets.d.ts +12 -0
  509. package/dist/hooks/useAnimatedNavigation.d.ts +27 -0
  510. package/dist/hooks/useAssetPrice.d.ts +37 -0
  511. package/dist/hooks/useAutoClearState.d.ts +4 -0
  512. package/dist/hooks/useBluvo.d.ts +1532 -0
  513. package/dist/hooks/useCheckoutDirectExecution.d.ts +62 -0
  514. package/dist/hooks/useCheckoutDirectExecutionHistory.d.ts +28 -0
  515. package/dist/hooks/useCheckoutItemDisplay.d.ts +8 -0
  516. package/dist/hooks/useCheckoutModalTitle.d.ts +2 -0
  517. package/dist/hooks/useCheckoutQuoteNotification.d.ts +13 -0
  518. package/dist/hooks/useCheckoutTimeEstimate.d.ts +14 -0
  519. package/dist/hooks/useCheckoutTransferInit.d.ts +20 -0
  520. package/dist/hooks/useConnectionStatus.d.ts +2 -0
  521. package/dist/hooks/useCopyToClipboard.d.ts +8 -0
  522. package/dist/hooks/useCountdown.d.ts +12 -0
  523. package/dist/hooks/useDirectExecutionInfoPolling.d.ts +8 -0
  524. package/dist/hooks/useDynamicRoutes.d.ts +4 -0
  525. package/dist/hooks/useEffectEvent.d.ts +1 -0
  526. package/dist/hooks/useEnabledTokenTransferChainTokens.d.ts +3 -0
  527. package/dist/hooks/useExchangeOptions.d.ts +19 -0
  528. package/dist/hooks/useFiatExchangeRates.d.ts +5 -0
  529. package/dist/hooks/useFrogAccount.d.ts +337 -0
  530. package/dist/hooks/useFunListeners.d.ts +6 -0
  531. package/dist/hooks/useFunkitMaxCheckoutUsdInfo.d.ts +25 -0
  532. package/dist/hooks/useFunkitTranslation.d.ts +21 -0
  533. package/dist/hooks/useGetAssetHoldingsFromRpc.d.ts +23 -0
  534. package/dist/hooks/useHasHover.d.ts +1 -0
  535. package/dist/hooks/useInjectedAssetHoldings.d.ts +20 -0
  536. package/dist/hooks/useInterval.d.ts +1 -0
  537. package/dist/hooks/useIsBlacklisted.d.ts +6 -0
  538. package/dist/hooks/useIsBlacklistedWithdrawalAddress.d.ts +4 -0
  539. package/dist/hooks/useIsCheckoutComplete.d.ts +13 -0
  540. package/dist/hooks/useIsDynamicRoutingEnabled.d.ts +4 -0
  541. package/dist/hooks/useIsMainnetConfigured.d.ts +1 -0
  542. package/dist/hooks/useIsMounted.d.ts +1 -0
  543. package/dist/hooks/useIsStablecoin.d.ts +2 -0
  544. package/dist/hooks/useIsTokenWhitelisted.d.ts +30 -0
  545. package/dist/hooks/useIsUsUser.d.ts +1 -0
  546. package/dist/hooks/useIsUserUnderComplianceReview.d.ts +1 -0
  547. package/dist/hooks/useIsomorphicEffect.d.ts +2 -0
  548. package/dist/hooks/useMainnetEnsAvatar.d.ts +2 -0
  549. package/dist/hooks/useMainnetEnsName.d.ts +2 -0
  550. package/dist/hooks/useMinDeposit.d.ts +5 -0
  551. package/dist/hooks/useNewTokenBanner.d.ts +7 -0
  552. package/dist/hooks/useOnNewNotification.d.ts +8 -0
  553. package/dist/hooks/usePaymentMethodIcon.d.ts +17 -0
  554. package/dist/hooks/usePaymentMethodTabs.d.ts +8 -0
  555. package/dist/hooks/usePaymentSources.d.ts +22 -0
  556. package/dist/hooks/usePolymarketAccountBalances.d.ts +66 -0
  557. package/dist/hooks/useReceiveAmountLabel.d.ts +5 -0
  558. package/dist/hooks/useRelayBypass.d.ts +10 -0
  559. package/dist/hooks/useScrollDivider.d.ts +19 -0
  560. package/dist/hooks/useSkipSwappedPreload.d.ts +7 -0
  561. package/dist/hooks/useStartBitcoinLightning.d.ts +11 -0
  562. package/dist/hooks/useStepQueryReadiness.d.ts +32 -0
  563. package/dist/hooks/useSupportedAssets.d.ts +9 -0
  564. package/dist/hooks/useSwappedIframeLifecycle.d.ts +12 -0
  565. package/dist/hooks/useSwappedPreload.d.ts +15 -0
  566. package/dist/hooks/useSymbolRefresh.d.ts +7 -0
  567. package/dist/hooks/useTextMeasurer.d.ts +3 -0
  568. package/dist/hooks/useTokenAndChainDropdown.d.ts +32 -0
  569. package/dist/hooks/useTokenTransfer.d.ts +28 -0
  570. package/dist/hooks/useTokenTransferConfig.d.ts +9 -0
  571. package/dist/hooks/useUDAParams.d.ts +3 -0
  572. package/dist/hooks/useUpdateActiveFunkitCheckout.d.ts +8 -0
  573. package/dist/hooks/useUserIpInfo.d.ts +19 -0
  574. package/dist/hooks/useWalletAssetHoldings.d.ts +10 -0
  575. package/dist/hooks/useWalletAssets.d.ts +14 -0
  576. package/dist/hooks/useWalletLabel.d.ts +5 -0
  577. package/dist/hooks/useXstockAssetHoldings.d.ts +17 -0
  578. package/dist/hooks/useXstocksWrappedTokenAddress.d.ts +16 -0
  579. package/dist/imTokenWallet-UPA7ADZ2.js +7 -0
  580. package/dist/index.css +17520 -0
  581. package/dist/index.d.ts +46 -0
  582. package/dist/index.js +50298 -0
  583. package/dist/injectedWallet-OIRJSVBZ.js +7 -0
  584. package/dist/interfaces/identity.d.ts +48 -0
  585. package/dist/interfaces/logTransport.d.ts +51 -0
  586. package/dist/interfaces/swapped-transport.d.ts +78 -0
  587. package/dist/kresusWallet-7ROCNWAU.js +7 -0
  588. package/dist/ledgerWallet-3FCEIKPD.js +7 -0
  589. package/dist/locales/i18n.d.ts +5 -0
  590. package/dist/locales/index.d.ts +2 -0
  591. package/dist/metaMaskWallet-RMHEKBDR.js +7 -0
  592. package/dist/mewWallet-ANFGVCZT.js +7 -0
  593. package/dist/modals/AccountModal/AccountModal.d.ts +8 -0
  594. package/dist/modals/ChainModal/Chain.d.ts +19 -0
  595. package/dist/modals/ChainModal/ChainModal.css.d.ts +2 -0
  596. package/dist/modals/ChainModal/ChainModal.d.ts +6 -0
  597. package/dist/modals/CheckoutModal/Brokerage/BrokerageSuccessModal.d.ts +10 -0
  598. package/dist/modals/CheckoutModal/Brokerage/BrokerageTwoFA.d.ts +16 -0
  599. package/dist/modals/CheckoutModal/Brokerage/ConnectExchange.d.ts +12 -0
  600. package/dist/modals/CheckoutModal/Brokerage/SelectBrokerage.d.ts +14 -0
  601. package/dist/modals/CheckoutModal/Brokerage/components/BrokerageSuccess.d.ts +8 -0
  602. package/dist/modals/CheckoutModal/CheckoutBlockedReason.d.ts +1 -0
  603. package/dist/modals/CheckoutModal/CheckoutComplete/CheckoutComplete.d.ts +13 -0
  604. package/dist/modals/CheckoutModal/CheckoutComplete/useLogCheckoutCompletion.d.ts +3 -0
  605. package/dist/modals/CheckoutModal/CheckoutHelp/CheckoutHelp.d.ts +9 -0
  606. package/dist/modals/CheckoutModal/CheckoutModalPrefetchedHooks.d.ts +7 -0
  607. package/dist/modals/CheckoutModal/ConfirmationStep/CheckoutPrimaryInfo.d.ts +16 -0
  608. package/dist/modals/CheckoutModal/ConfirmationStep/ConfirmationStep.d.ts +14 -0
  609. package/dist/modals/CheckoutModal/ConfirmationStep/ConfirmationStepLoading.d.ts +3 -0
  610. package/dist/modals/CheckoutModal/ConfirmationStep/DisclaimerText.d.ts +10 -0
  611. package/dist/modals/CheckoutModal/ConfirmationStep/mapRetryAction.d.ts +18 -0
  612. package/dist/modals/CheckoutModal/ConfirmationStep/useAccountBalanceTransfer.d.ts +2 -0
  613. package/dist/modals/CheckoutModal/ConfirmationStep/useCheckoutConfirmation.d.ts +14 -0
  614. package/dist/modals/CheckoutModal/ConfirmationStep/useCheckoutQuote.d.ts +19 -0
  615. package/dist/modals/CheckoutModal/ConfirmationStep/usePostCheckout.d.ts +22 -0
  616. package/dist/modals/CheckoutModal/ConfirmationStep/useQuoteRefresh.d.ts +23 -0
  617. package/dist/modals/CheckoutModal/ConfirmationStep/useSourceAssetConfirm.d.ts +23 -0
  618. package/dist/modals/CheckoutModal/FunCheckoutModal.d.ts +9 -0
  619. package/dist/modals/CheckoutModal/FunCheckoutStep.d.ts +27 -0
  620. package/dist/modals/CheckoutModal/InputAmount/InputAmount.d.ts +28 -0
  621. package/dist/modals/CheckoutModal/InputAmount/InputAmountLayout.d.ts +20 -0
  622. package/dist/modals/CheckoutModal/InputAmount/InputAmountLoaded.d.ts +18 -0
  623. package/dist/modals/CheckoutModal/InputAmount/InputAmountLoading.d.ts +8 -0
  624. package/dist/modals/CheckoutModal/InputAmount/QuickOptions.d.ts +13 -0
  625. package/dist/modals/CheckoutModal/InputAmount/aaveClient.d.ts +16 -0
  626. package/dist/modals/CheckoutModal/InputAmount/state.d.ts +163 -0
  627. package/dist/modals/CheckoutModal/InputAmount/useAaveNativeSupply.d.ts +99 -0
  628. package/dist/modals/CheckoutModal/InputAmount/useAmountInput.d.ts +19 -0
  629. package/dist/modals/CheckoutModal/InputAmount/useAvailableBalanceForCheckout.d.ts +4 -0
  630. package/dist/modals/CheckoutModal/InputAmount/useCheckoutAmountLimits.d.ts +17 -0
  631. package/dist/modals/CheckoutModal/InputAmount/useMeld.d.ts +36 -0
  632. package/dist/modals/CheckoutModal/InputAmount/useNadoDirectTransfer.d.ts +66 -0
  633. package/dist/modals/CheckoutModal/InputAmount/utils.d.ts +68 -0
  634. package/dist/modals/CheckoutModal/LightningInvoice/LightningInvoice.d.ts +9 -0
  635. package/dist/modals/CheckoutModal/LightningInvoice/LightningInvoiceQrCode.d.ts +9 -0
  636. package/dist/modals/CheckoutModal/LoadingAccount.d.ts +21 -0
  637. package/dist/modals/CheckoutModal/MeldCurrencySelect/MeldCurrencySelect.d.ts +12 -0
  638. package/dist/modals/CheckoutModal/MeldCurrencySelect/currenciesWithMultipleCountries.d.ts +1 -0
  639. package/dist/modals/CheckoutModal/MeldCurrencySelect/utils.d.ts +1 -0
  640. package/dist/modals/CheckoutModal/MeldQuotes/MeldQuotes.d.ts +16 -0
  641. package/dist/modals/CheckoutModal/MeldQuotes/useMeldLink.d.ts +2 -0
  642. package/dist/modals/CheckoutModal/MeldQuotes/useMeldQuotes.d.ts +16 -0
  643. package/dist/modals/CheckoutModal/MeldRedirect/MeldRedirect.d.ts +14 -0
  644. package/dist/modals/CheckoutModal/SelectAsset/SelectAsset.d.ts +18 -0
  645. package/dist/modals/CheckoutModal/SelectAsset/SelectAssetInfoSection.d.ts +12 -0
  646. package/dist/modals/CheckoutModal/SelectAsset/SelectAssetList.d.ts +24 -0
  647. package/dist/modals/CheckoutModal/SourceChange/ComplianceReviewBanner.d.ts +6 -0
  648. package/dist/modals/CheckoutModal/SourceChange/ConnectedSource.d.ts +12 -0
  649. package/dist/modals/CheckoutModal/SourceChange/CryptoCashToggle.d.ts +14 -0
  650. package/dist/modals/CheckoutModal/SourceChange/FlatList.d.ts +31 -0
  651. package/dist/modals/CheckoutModal/SourceChange/FormOfPaymentsList.d.ts +49 -0
  652. package/dist/modals/CheckoutModal/SourceChange/FormOfPaymentsListLoading.d.ts +6 -0
  653. package/dist/modals/CheckoutModal/SourceChange/GroupedList.d.ts +25 -0
  654. package/dist/modals/CheckoutModal/SourceChange/PayPal.d.ts +2 -0
  655. package/dist/modals/CheckoutModal/SourceChange/SourceChange.d.ts +84 -0
  656. package/dist/modals/CheckoutModal/SourceChange/SourceChangeLoading.d.ts +4 -0
  657. package/dist/modals/CheckoutModal/SourceChange/SourceList.d.ts +27 -0
  658. package/dist/modals/CheckoutModal/SourceChange/buildSourceGroups.d.ts +70 -0
  659. package/dist/modals/CheckoutModal/SourceChange/sourceChange.css.d.ts +8 -0
  660. package/dist/modals/CheckoutModal/SourceChange/useSourceChangeLayout.d.ts +10 -0
  661. package/dist/modals/CheckoutModal/SwappedIframe/SwappedIframe.css.d.ts +1 -0
  662. package/dist/modals/CheckoutModal/SwappedIframe/SwappedIframe.d.ts +3 -0
  663. package/dist/modals/CheckoutModal/SwappedIframe/SwappedIframeController.d.ts +17 -0
  664. package/dist/modals/CheckoutModal/SwappedIframe/index.d.ts +1 -0
  665. package/dist/modals/CheckoutModal/TransferToken/CheckoutNotification.d.ts +12 -0
  666. package/dist/modals/CheckoutModal/TransferToken/CheckoutNotifications.d.ts +3 -0
  667. package/dist/modals/CheckoutModal/TransferToken/CheckoutNotifications.track.d.ts +5 -0
  668. package/dist/modals/CheckoutModal/TransferToken/DirectExecutionNotification.d.ts +18 -0
  669. package/dist/modals/CheckoutModal/TransferToken/TransferToken.d.ts +12 -0
  670. package/dist/modals/CheckoutModal/TransferToken/types.d.ts +15 -0
  671. package/dist/modals/CheckoutModal/TransferToken/useTransferTokenTracking.d.ts +29 -0
  672. package/dist/modals/CheckoutModal/VirtualFiatAccount/BridgeCustomer.d.ts +13 -0
  673. package/dist/modals/CheckoutModal/VirtualFiatAccount/BridgeKyc.d.ts +22 -0
  674. package/dist/modals/CheckoutModal/VirtualFiatAccount/ErrorScreen.d.ts +7 -0
  675. package/dist/modals/CheckoutModal/VirtualFiatAccount/FiatAccountDetail.d.ts +9 -0
  676. package/dist/modals/CheckoutModal/VirtualFiatAccount/KycIframe.d.ts +5 -0
  677. package/dist/modals/CheckoutModal/VirtualFiatAccount/VirtualFiatAccount.d.ts +9 -0
  678. package/dist/modals/CheckoutModal/Withdrawal/WithdrawalComplete.d.ts +28 -0
  679. package/dist/modals/CheckoutModal/Withdrawal/WithdrawalEnterAmount.d.ts +26 -0
  680. package/dist/modals/CheckoutModal/selectSuccessScreenBackground.d.ts +29 -0
  681. package/dist/modals/CheckoutModal/stepTransition.d.ts +190 -0
  682. package/dist/modals/CheckoutModal/stepTransition.track.d.ts +6 -0
  683. package/dist/modals/CheckoutModal/useCheckoutBlocked.d.ts +18 -0
  684. package/dist/modals/ConnectModal/ConnectModal.d.ts +6 -0
  685. package/dist/modals/DevTest/DevEmbed.d.ts +2 -0
  686. package/dist/modals/PolymarketPerpsTransfer/DirectionSwapButton.d.ts +17 -0
  687. package/dist/modals/PolymarketPerpsTransfer/PerpsTransferBottomBar.d.ts +11 -0
  688. package/dist/modals/PolymarketPerpsTransfer/PerpsTransferRows.d.ts +10 -0
  689. package/dist/modals/PolymarketPerpsTransfer/PerpsTransferStep.d.ts +11 -0
  690. package/dist/modals/PolymarketPerpsTransfer/PolymarketPerpsTransferScreen.d.ts +52 -0
  691. package/dist/modals/PolymarketPerpsTransfer/TransferActionButton.d.ts +34 -0
  692. package/dist/modals/PolymarketPerpsTransfer/TransferAmountPill.css.d.ts +13 -0
  693. package/dist/modals/PolymarketPerpsTransfer/TransferAmountPill.d.ts +27 -0
  694. package/dist/modals/PolymarketPerpsTransfer/TransferAmountRow.css.d.ts +13 -0
  695. package/dist/modals/PolymarketPerpsTransfer/TransferAmountRow.d.ts +27 -0
  696. package/dist/modals/PolymarketPerpsTransfer/usePerpsTransferContent.d.ts +38 -0
  697. package/dist/modals/PolymarketPerpsTransfer/usePerpsTransferForm.d.ts +66 -0
  698. package/dist/modals/ProfileDetails/ActivityTraversalContext.d.ts +38 -0
  699. package/dist/modals/ProfileDetails/FunProfileViews/Home/BalanceSection.d.ts +6 -0
  700. package/dist/modals/ProfileDetails/FunProfileViews/Home/Home.css.d.ts +4 -0
  701. package/dist/modals/ProfileDetails/FunProfileViews/Home/HomeCheckoutDisplayRow.css.d.ts +2 -0
  702. package/dist/modals/ProfileDetails/FunProfileViews/Home/HomeCheckoutDisplayRow.d.ts +9 -0
  703. package/dist/modals/ProfileDetails/FunProfileViews/Home/HomeTokenDisplayRow.d.ts +6 -0
  704. package/dist/modals/ProfileDetails/FunProfileViews/Home/ProfileTitleSection.d.ts +12 -0
  705. package/dist/modals/ProfileDetails/FunProfileViews/Home/index.d.ts +15 -0
  706. package/dist/modals/ProfileDetails/FunProfileViews/Settings/Settings.d.ts +7 -0
  707. package/dist/modals/ProfileDetails/ProfileDetails.d.ts +13 -0
  708. package/dist/modals/WithdrawalModal/ErrorMessage.d.ts +10 -0
  709. package/dist/modals/WithdrawalModal/LighterWithdrawal.d.ts +182 -0
  710. package/dist/modals/WithdrawalModal/RecipientAddress.d.ts +23 -0
  711. package/dist/modals/WithdrawalModal/WithdrawAmountInput.d.ts +42 -0
  712. package/dist/modals/WithdrawalModal/WithdrawalCallbackSuccess.d.ts +10 -0
  713. package/dist/modals/WithdrawalModal/WithdrawalContent.d.ts +95 -0
  714. package/dist/modals/WithdrawalModal/WithdrawalMethodSelect.d.ts +20 -0
  715. package/dist/modals/WithdrawalModal/WithdrawalModal.d.ts +9 -0
  716. package/dist/modals/WithdrawalModal/WithdrawalSuccess.d.ts +14 -0
  717. package/dist/modals/WithdrawalModal/WithdrawalSwappedIframeController.d.ts +13 -0
  718. package/dist/modals/WithdrawalModal/WithdrawalTypeSelect.d.ts +16 -0
  719. package/dist/modals/WithdrawalModal/types.d.ts +7 -0
  720. package/dist/modals/WithdrawalModal/useFiatWithdrawal.d.ts +40 -0
  721. package/dist/modals/WithdrawalModal/useWithdrawal.d.ts +27 -0
  722. package/dist/oktoWallet-Q5XCEOTD.js +7 -0
  723. package/dist/okxWallet-GJMKZIND.js +7 -0
  724. package/dist/omniWallet-YH4FEL6J.js +7 -0
  725. package/dist/oneInchWallet-4S73ZPPN.js +7 -0
  726. package/dist/oneKeyWallet-YVJDPHJS.js +7 -0
  727. package/dist/phantomWallet-LZDJJ5XR.js +7 -0
  728. package/dist/providers/AuthenticationContext.d.ts +29 -0
  729. package/dist/providers/AvatarContext.d.ts +9 -0
  730. package/dist/providers/FunkitBrokerageProvider.d.ts +20 -0
  731. package/dist/providers/FunkitCheckoutContext/index.d.ts +94 -0
  732. package/dist/providers/FunkitCheckoutContext/track.d.ts +12 -0
  733. package/dist/providers/FunkitCheckoutContext/types.d.ts +468 -0
  734. package/dist/providers/FunkitConfigContext.d.ts +279 -0
  735. package/dist/providers/FunkitConnectChainContext.d.ts +15 -0
  736. package/dist/providers/FunkitFlagsProvider.d.ts +26 -0
  737. package/dist/providers/FunkitHistoryContext.d.ts +45 -0
  738. package/dist/providers/FunkitI18nProvider.d.ts +12 -0
  739. package/dist/providers/FunkitMoonpayProvider.d.ts +10 -0
  740. package/dist/providers/FunkitProvider.d.ts +35 -0
  741. package/dist/providers/FunkitQuoteContext.d.ts +86 -0
  742. package/dist/providers/FunkitQuoteContext.track.d.ts +8 -0
  743. package/dist/providers/FunkitSandboxContext.d.ts +2 -0
  744. package/dist/providers/FunkitStatsigProvider.d.ts +9 -0
  745. package/dist/providers/FunkitThemeProvider.d.ts +1620 -0
  746. package/dist/providers/GeneralWalletProvider.d.ts +121 -0
  747. package/dist/providers/ModalContext.d.ts +45 -0
  748. package/dist/providers/ModalSizeContext.d.ts +15 -0
  749. package/dist/providers/QuoteModeContext.d.ts +6 -0
  750. package/dist/providers/ShowBalanceContext.d.ts +12 -0
  751. package/dist/providers/SwappedProvider.d.ts +22 -0
  752. package/dist/providers/UserPresenceContext.d.ts +9 -0
  753. package/dist/providers/provideFunkitConnectChains.d.ts +6 -0
  754. package/dist/providers/useFingerprint.d.ts +2 -0
  755. package/dist/providers/usePreloadImages.d.ts +1 -0
  756. package/dist/providers/walletConnectDeepLink.d.ts +5 -0
  757. package/dist/rabbyWallet-TYX2JDHU.js +7 -0
  758. package/dist/rainbowWallet-MFJQCICF.js +7 -0
  759. package/dist/ramperWallet-Q2XAH4WA.js +7 -0
  760. package/dist/roninWallet-SAB5ESVK.js +7 -0
  761. package/dist/safeWallet-Y3VPODK2.js +7 -0
  762. package/dist/safeheronWallet-MCFXLKO5.js +7 -0
  763. package/dist/safepalWallet-7YULGM2L.js +7 -0
  764. package/dist/subWallet-5WUZ4IIO.js +7 -0
  765. package/dist/tahoWallet-U2VWWO76.js +7 -0
  766. package/dist/talismanWallet-ZYTPIANG.js +7 -0
  767. package/dist/themes/baseTheme.d.ts +43 -0
  768. package/dist/themes/baseTheme.js +9 -0
  769. package/dist/themes/darkTheme.d.ts +6 -0
  770. package/dist/themes/darkTheme.js +8 -0
  771. package/dist/themes/lightTheme.d.ts +6 -0
  772. package/dist/themes/lightTheme.js +8 -0
  773. package/dist/tokenPocketWallet-FLFG3JUQ.js +7 -0
  774. package/dist/tokenaryWallet-S3JS2IGK.js +7 -0
  775. package/dist/transports/iframeSwappedTransport.d.ts +16 -0
  776. package/dist/trustWallet-2N5TZJGC.js +7 -0
  777. package/dist/types/utils.d.ts +36 -0
  778. package/dist/uniswapWallet-NJQBP5VM.js +7 -0
  779. package/dist/utils/aborts.d.ts +11 -0
  780. package/dist/utils/across.d.ts +5 -0
  781. package/dist/utils/address.d.ts +1 -0
  782. package/dist/utils/assets.d.ts +11 -0
  783. package/dist/utils/bluvo.d.ts +153 -0
  784. package/dist/utils/checkout.d.ts +120 -0
  785. package/dist/utils/checkoutHistory.d.ts +10 -0
  786. package/dist/utils/combineChainSymbolOrAddress.d.ts +4 -0
  787. package/dist/utils/consts.d.ts +5 -0
  788. package/dist/utils/customer.d.ts +454 -0
  789. package/dist/utils/datadogBrowserLogsTransport.d.ts +17 -0
  790. package/dist/utils/depositCutoff.d.ts +9 -0
  791. package/dist/utils/directExecution.d.ts +1 -0
  792. package/dist/utils/flags/config.d.ts +333 -0
  793. package/dist/utils/flags/endpoint.d.ts +22 -0
  794. package/dist/utils/flags/hash.d.ts +13 -0
  795. package/dist/utils/flags/impl.d.ts +10 -0
  796. package/dist/utils/flags/resolver.d.ts +34 -0
  797. package/dist/utils/flags/types.d.ts +49 -0
  798. package/dist/utils/freeUsdcBanner.d.ts +3 -0
  799. package/dist/utils/funLogger.d.ts +3 -0
  800. package/dist/utils/funkitProvider.d.ts +9 -0
  801. package/dist/utils/getExchangeRate.d.ts +1 -0
  802. package/dist/utils/isMainnetUsdt.d.ts +2 -0
  803. package/dist/utils/lighter.d.ts +16 -0
  804. package/dist/utils/openExternalFlowPopup.d.ts +21 -0
  805. package/dist/utils/payment.d.ts +10 -0
  806. package/dist/utils/platforms.d.ts +10 -0
  807. package/dist/utils/polygonRpcCheck.d.ts +12 -0
  808. package/dist/utils/polymarket.d.ts +6 -0
  809. package/dist/utils/privyHelper.d.ts +3 -0
  810. package/dist/utils/purifyCheckoutHistoryItem.d.ts +41 -0
  811. package/dist/utils/safeBigInt.d.ts +5 -0
  812. package/dist/utils/safeJSON.d.ts +5 -0
  813. package/dist/utils/sanitizeHtml.d.ts +7 -0
  814. package/dist/utils/sanitizeUrl.d.ts +10 -0
  815. package/dist/utils/signature.d.ts +2 -0
  816. package/dist/utils/statsig/checkFeatureGate.d.ts +19 -0
  817. package/dist/utils/swapped.d.ts +26 -0
  818. package/dist/utils/swappedRouteOverride.d.ts +27 -0
  819. package/dist/utils/timeFormat.d.ts +16 -0
  820. package/dist/utils/tokenIconUrl.d.ts +2 -0
  821. package/dist/utils/tokenMath.d.ts +44 -0
  822. package/dist/utils/tokenTransfer/disabledList.d.ts +1 -0
  823. package/dist/utils/tokenTransfer/types.d.ts +7 -0
  824. package/dist/utils/transfer.d.ts +1 -0
  825. package/dist/utils/userInfo.d.ts +36 -0
  826. package/dist/utils/withdrawal.d.ts +45 -0
  827. package/dist/wagmi/actions.d.ts +10 -0
  828. package/dist/wagmi/chains.d.ts +2 -0
  829. package/dist/wagmi/connectors.d.ts +2 -0
  830. package/dist/wagmi/hooks.d.ts +4 -0
  831. package/dist/wagmi/query.d.ts +1 -0
  832. package/dist/walletConnectWallet-E4OQJ4DC.js +7 -0
  833. package/dist/wallets/Wallet.d.ts +136 -0
  834. package/dist/wallets/computeWalletConnectMetaData.d.ts +9 -0
  835. package/dist/wallets/connectorsForWallets.d.ts +11 -0
  836. package/dist/wallets/downloadUrls.d.ts +4 -0
  837. package/dist/wallets/getDefaultWallets.d.ts +10 -0
  838. package/dist/wallets/getInjectedConnector.d.ts +11 -0
  839. package/dist/wallets/getWalletConnectConnector.d.ts +7 -0
  840. package/dist/wallets/groupedWallets.d.ts +11 -0
  841. package/dist/wallets/latestWalletId.d.ts +1 -0
  842. package/dist/wallets/recentWalletIds.d.ts +2 -0
  843. package/dist/wallets/useWalletConnectors.d.ts +14 -0
  844. package/dist/wallets/walletConnectors/argentWallet/argentWallet.d.ts +3 -0
  845. package/dist/wallets/walletConnectors/argentWallet/argentWallet.js +9 -0
  846. package/dist/wallets/walletConnectors/argentWallet-2WSTOUAO.js +7 -0
  847. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.d.ts +3 -0
  848. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +10 -0
  849. package/dist/wallets/walletConnectors/bifrostWallet-5NQVDZ5P.js +7 -0
  850. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.d.ts +3 -0
  851. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +10 -0
  852. package/dist/wallets/walletConnectors/bitgetWallet-CBQAJOIK.js +7 -0
  853. package/dist/wallets/walletConnectors/bitskiWallet/bitskiWallet.d.ts +2 -0
  854. package/dist/wallets/walletConnectors/bitskiWallet/bitskiWallet.js +9 -0
  855. package/dist/wallets/walletConnectors/bitskiWallet-OLIYN3IU.js +7 -0
  856. package/dist/wallets/walletConnectors/bitverseWallet/bitverseWallet.d.ts +3 -0
  857. package/dist/wallets/walletConnectors/bitverseWallet/bitverseWallet.js +9 -0
  858. package/dist/wallets/walletConnectors/bitverseWallet-AQMAJ2NN.js +7 -0
  859. package/dist/wallets/walletConnectors/bloomWallet/bloomWallet.d.ts +2 -0
  860. package/dist/wallets/walletConnectors/bloomWallet/bloomWallet.js +9 -0
  861. package/dist/wallets/walletConnectors/bloomWallet-MJRQJYSG.js +7 -0
  862. package/dist/wallets/walletConnectors/braveWallet/braveWallet.d.ts +2 -0
  863. package/dist/wallets/walletConnectors/braveWallet/braveWallet.js +9 -0
  864. package/dist/wallets/walletConnectors/braveWallet-T76TVZA6.js +7 -0
  865. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.d.ts +3 -0
  866. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +10 -0
  867. package/dist/wallets/walletConnectors/bybitWallet-GOPAS32Q.js +7 -0
  868. package/dist/wallets/walletConnectors/chunk-2CX7LX4J.js +58 -0
  869. package/dist/wallets/walletConnectors/chunk-2DLDAZRH.js +95 -0
  870. package/dist/wallets/walletConnectors/chunk-2VP2F6EK.js +70 -0
  871. package/dist/wallets/walletConnectors/chunk-3FCWJRI4.js +28 -0
  872. package/dist/wallets/walletConnectors/chunk-4DCO3TGL.js +53 -0
  873. package/dist/wallets/walletConnectors/chunk-4NV5BYRP.js +95 -0
  874. package/dist/wallets/walletConnectors/chunk-4T6ZSRJF.js +69 -0
  875. package/dist/wallets/walletConnectors/chunk-52QXXLDS.js +44 -0
  876. package/dist/wallets/walletConnectors/chunk-6BW3HLBG.js +96 -0
  877. package/dist/wallets/walletConnectors/chunk-76S7R2ND.js +51 -0
  878. package/dist/wallets/walletConnectors/chunk-7HRFUZFX.js +45 -0
  879. package/dist/wallets/walletConnectors/chunk-7ZYCBDQ4.js +50 -0
  880. package/dist/wallets/walletConnectors/chunk-AVDUNQUW.js +96 -0
  881. package/dist/wallets/walletConnectors/chunk-BU3ZAT5X.js +45 -0
  882. package/dist/wallets/walletConnectors/chunk-CCQV2ZET.js +218 -0
  883. package/dist/wallets/walletConnectors/chunk-CPI4TD43.js +99 -0
  884. package/dist/wallets/walletConnectors/chunk-DS73TZ6O.js +26 -0
  885. package/dist/wallets/walletConnectors/chunk-F5XEEVG6.js +98 -0
  886. package/dist/wallets/walletConnectors/chunk-FW3WZETT.js +52 -0
  887. package/dist/wallets/walletConnectors/chunk-G2PHTVL6.js +25 -0
  888. package/dist/wallets/walletConnectors/chunk-GUQM4QSL.js +66 -0
  889. package/dist/wallets/walletConnectors/chunk-HBQK5RD5.js +55 -0
  890. package/dist/wallets/walletConnectors/chunk-HNRB7KJU.js +92 -0
  891. package/dist/wallets/walletConnectors/chunk-HTHAK6XB.js +93 -0
  892. package/dist/wallets/walletConnectors/chunk-IGKXZBTA.js +39 -0
  893. package/dist/wallets/walletConnectors/chunk-IULPZP2Q.js +69 -0
  894. package/dist/wallets/walletConnectors/chunk-JN5I3DNC.js +48 -0
  895. package/dist/wallets/walletConnectors/chunk-JPN6TWIT.js +92 -0
  896. package/dist/wallets/walletConnectors/chunk-KCRO2AGO.js +106 -0
  897. package/dist/wallets/walletConnectors/chunk-KI5Y2BBF.js +94 -0
  898. package/dist/wallets/walletConnectors/chunk-MIQTHJ6X.js +66 -0
  899. package/dist/wallets/walletConnectors/chunk-MQM45ADF.js +27 -0
  900. package/dist/wallets/walletConnectors/chunk-N4IJLYFY.js +70 -0
  901. package/dist/wallets/walletConnectors/chunk-NR2OGDHQ.js +103 -0
  902. package/dist/wallets/walletConnectors/chunk-NSK6A7TI.js +54 -0
  903. package/dist/wallets/walletConnectors/chunk-NTMBEOR2.js +58 -0
  904. package/dist/wallets/walletConnectors/chunk-OEEGYENV.js +87 -0
  905. package/dist/wallets/walletConnectors/chunk-OLZ7626J.js +100 -0
  906. package/dist/wallets/walletConnectors/chunk-OQB55QXP.js +53 -0
  907. package/dist/wallets/walletConnectors/chunk-OX37G4YT.js +98 -0
  908. package/dist/wallets/walletConnectors/chunk-PJ7Y57EH.js +79 -0
  909. package/dist/wallets/walletConnectors/chunk-QG6ZHI7B.js +55 -0
  910. package/dist/wallets/walletConnectors/chunk-QY53O7WG.js +55 -0
  911. package/dist/wallets/walletConnectors/chunk-RB3HR4R2.js +95 -0
  912. package/dist/wallets/walletConnectors/chunk-RB66PKPA.js +46 -0
  913. package/dist/wallets/walletConnectors/chunk-RCY66YHF.js +34 -0
  914. package/dist/wallets/walletConnectors/chunk-RICTB3FA.js +54 -0
  915. package/dist/wallets/walletConnectors/chunk-RPV27V2Y.js +90 -0
  916. package/dist/wallets/walletConnectors/chunk-RVOY537T.js +100 -0
  917. package/dist/wallets/walletConnectors/chunk-STVVP43G.js +94 -0
  918. package/dist/wallets/walletConnectors/chunk-SWFF3TWJ.js +100 -0
  919. package/dist/wallets/walletConnectors/chunk-T6LGKC3F.js +17 -0
  920. package/dist/wallets/walletConnectors/chunk-TKB2OY6G.js +99 -0
  921. package/dist/wallets/walletConnectors/chunk-UK7C2JXW.js +87 -0
  922. package/dist/wallets/walletConnectors/chunk-VAPGUPHO.js +92 -0
  923. package/dist/wallets/walletConnectors/chunk-VH3THHJY.js +28 -0
  924. package/dist/wallets/walletConnectors/chunk-VTM6EECM.js +110 -0
  925. package/dist/wallets/walletConnectors/chunk-W2LCLDPX.js +70 -0
  926. package/dist/wallets/walletConnectors/chunk-WAHGI5L7.js +96 -0
  927. package/dist/wallets/walletConnectors/chunk-WKNQMP4A.js +93 -0
  928. package/dist/wallets/walletConnectors/chunk-WNAGGFMG.js +57 -0
  929. package/dist/wallets/walletConnectors/chunk-WVT6BBJH.js +56 -0
  930. package/dist/wallets/walletConnectors/chunk-X6CGV36L.js +103 -0
  931. package/dist/wallets/walletConnectors/chunk-XCNHV3HS.js +110 -0
  932. package/dist/wallets/walletConnectors/chunk-YEZM4CK4.js +96 -0
  933. package/dist/wallets/walletConnectors/chunk-YO2K4MBH.js +218 -0
  934. package/dist/wallets/walletConnectors/chunk-YQFGVZGR.js +92 -0
  935. package/dist/wallets/walletConnectors/chunk-YWOVAU6O.js +58 -0
  936. package/dist/wallets/walletConnectors/chunk-Z3PPW6NC.js +56 -0
  937. package/dist/wallets/walletConnectors/chunk-ZNX4EMPB.js +106 -0
  938. package/dist/wallets/walletConnectors/clvWallet/clvWallet.d.ts +3 -0
  939. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +10 -0
  940. package/dist/wallets/walletConnectors/clvWallet-VVMLP7BK.js +7 -0
  941. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.d.ts +3 -0
  942. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +10 -0
  943. package/dist/wallets/walletConnectors/coin98Wallet-I5CP5KYZ.js +7 -0
  944. package/dist/wallets/walletConnectors/coinbaseWallet/coinbaseWallet.d.ts +12 -0
  945. package/dist/wallets/walletConnectors/coinbaseWallet/coinbaseWallet.js +8 -0
  946. package/dist/wallets/walletConnectors/coinbaseWallet-ICYEIYQD.js +7 -0
  947. package/dist/wallets/walletConnectors/coreWallet/coreWallet.d.ts +3 -0
  948. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +10 -0
  949. package/dist/wallets/walletConnectors/coreWallet-RFVUHOVE.js +7 -0
  950. package/dist/wallets/walletConnectors/dawnWallet/dawnWallet.d.ts +2 -0
  951. package/dist/wallets/walletConnectors/dawnWallet/dawnWallet.js +9 -0
  952. package/dist/wallets/walletConnectors/dawnWallet-QBFTQLS4.js +7 -0
  953. package/dist/wallets/walletConnectors/desigWallet/desigWallet.d.ts +2 -0
  954. package/dist/wallets/walletConnectors/desigWallet/desigWallet.js +9 -0
  955. package/dist/wallets/walletConnectors/desigWallet-IBKYOHSY.js +7 -0
  956. package/dist/wallets/walletConnectors/enkryptWallet/enkryptWallet.d.ts +2 -0
  957. package/dist/wallets/walletConnectors/enkryptWallet/enkryptWallet.js +9 -0
  958. package/dist/wallets/walletConnectors/enkryptWallet-ZVUZMI7H.js +7 -0
  959. package/dist/wallets/walletConnectors/foxWallet/foxWallet.d.ts +3 -0
  960. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +10 -0
  961. package/dist/wallets/walletConnectors/foxWallet-I7D5KIW4.js +7 -0
  962. package/dist/wallets/walletConnectors/frameWallet/frameWallet.d.ts +2 -0
  963. package/dist/wallets/walletConnectors/frameWallet/frameWallet.js +9 -0
  964. package/dist/wallets/walletConnectors/frameWallet-UDD4OVZX.js +7 -0
  965. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.d.ts +3 -0
  966. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +10 -0
  967. package/dist/wallets/walletConnectors/frontierWallet-5QV7ZACT.js +7 -0
  968. package/dist/wallets/walletConnectors/gateWallet/gateWallet.d.ts +3 -0
  969. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +10 -0
  970. package/dist/wallets/walletConnectors/gateWallet-CJNGQQCV.js +7 -0
  971. package/dist/wallets/walletConnectors/imTokenWallet/imTokenWallet.d.ts +3 -0
  972. package/dist/wallets/walletConnectors/imTokenWallet/imTokenWallet.js +9 -0
  973. package/dist/wallets/walletConnectors/imTokenWallet-UPA7ADZ2.js +7 -0
  974. package/dist/wallets/walletConnectors/index.d.ts +50 -0
  975. package/dist/wallets/walletConnectors/index.js +202 -0
  976. package/dist/wallets/walletConnectors/injectedWallet/injectedWallet.d.ts +2 -0
  977. package/dist/wallets/walletConnectors/injectedWallet/injectedWallet.js +9 -0
  978. package/dist/wallets/walletConnectors/injectedWallet-OIRJSVBZ.js +7 -0
  979. package/dist/wallets/walletConnectors/kresusWallet/kresusWallet.d.ts +3 -0
  980. package/dist/wallets/walletConnectors/kresusWallet/kresusWallet.js +9 -0
  981. package/dist/wallets/walletConnectors/kresusWallet-7ROCNWAU.js +7 -0
  982. package/dist/wallets/walletConnectors/ledgerWallet/ledgerWallet.d.ts +3 -0
  983. package/dist/wallets/walletConnectors/ledgerWallet/ledgerWallet.js +9 -0
  984. package/dist/wallets/walletConnectors/ledgerWallet-3FCEIKPD.js +7 -0
  985. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.d.ts +3 -0
  986. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +10 -0
  987. package/dist/wallets/walletConnectors/metaMaskWallet-RMHEKBDR.js +7 -0
  988. package/dist/wallets/walletConnectors/mewWallet/mewWallet.d.ts +2 -0
  989. package/dist/wallets/walletConnectors/mewWallet/mewWallet.js +9 -0
  990. package/dist/wallets/walletConnectors/mewWallet-ANFGVCZT.js +7 -0
  991. package/dist/wallets/walletConnectors/oktoWallet/oktoWallet.d.ts +3 -0
  992. package/dist/wallets/walletConnectors/oktoWallet/oktoWallet.js +9 -0
  993. package/dist/wallets/walletConnectors/oktoWallet-Q5XCEOTD.js +7 -0
  994. package/dist/wallets/walletConnectors/okxWallet/okxWallet.d.ts +3 -0
  995. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +10 -0
  996. package/dist/wallets/walletConnectors/okxWallet-GJMKZIND.js +7 -0
  997. package/dist/wallets/walletConnectors/omniWallet/omniWallet.d.ts +3 -0
  998. package/dist/wallets/walletConnectors/omniWallet/omniWallet.js +9 -0
  999. package/dist/wallets/walletConnectors/omniWallet-YH4FEL6J.js +7 -0
  1000. package/dist/wallets/walletConnectors/oneInchWallet/oneInchWallet.d.ts +3 -0
  1001. package/dist/wallets/walletConnectors/oneInchWallet/oneInchWallet.js +9 -0
  1002. package/dist/wallets/walletConnectors/oneInchWallet-4S73ZPPN.js +7 -0
  1003. package/dist/wallets/walletConnectors/oneKeyWallet/oneKeyWallet.d.ts +2 -0
  1004. package/dist/wallets/walletConnectors/oneKeyWallet/oneKeyWallet.js +9 -0
  1005. package/dist/wallets/walletConnectors/oneKeyWallet-YVJDPHJS.js +7 -0
  1006. package/dist/wallets/walletConnectors/phantomWallet/phantomWallet.d.ts +2 -0
  1007. package/dist/wallets/walletConnectors/phantomWallet/phantomWallet.js +9 -0
  1008. package/dist/wallets/walletConnectors/phantomWallet-LZDJJ5XR.js +7 -0
  1009. package/dist/wallets/walletConnectors/rabbyWallet/rabbyWallet.d.ts +2 -0
  1010. package/dist/wallets/walletConnectors/rabbyWallet/rabbyWallet.js +9 -0
  1011. package/dist/wallets/walletConnectors/rabbyWallet-TYX2JDHU.js +7 -0
  1012. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.d.ts +3 -0
  1013. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +10 -0
  1014. package/dist/wallets/walletConnectors/rainbowWallet-MFJQCICF.js +7 -0
  1015. package/dist/wallets/walletConnectors/ramperWallet/ramperWallet.d.ts +2 -0
  1016. package/dist/wallets/walletConnectors/ramperWallet/ramperWallet.js +9 -0
  1017. package/dist/wallets/walletConnectors/ramperWallet-Q2XAH4WA.js +7 -0
  1018. package/dist/wallets/walletConnectors/roninWallet/roninWallet.d.ts +3 -0
  1019. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +10 -0
  1020. package/dist/wallets/walletConnectors/roninWallet-SAB5ESVK.js +7 -0
  1021. package/dist/wallets/walletConnectors/safeWallet/safeWallet.d.ts +2 -0
  1022. package/dist/wallets/walletConnectors/safeWallet/safeWallet.js +8 -0
  1023. package/dist/wallets/walletConnectors/safeWallet-Y3VPODK2.js +7 -0
  1024. package/dist/wallets/walletConnectors/safeheronWallet/safeheronWallet.d.ts +2 -0
  1025. package/dist/wallets/walletConnectors/safeheronWallet/safeheronWallet.js +9 -0
  1026. package/dist/wallets/walletConnectors/safeheronWallet-MCFXLKO5.js +7 -0
  1027. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.d.ts +3 -0
  1028. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +10 -0
  1029. package/dist/wallets/walletConnectors/safepalWallet-7YULGM2L.js +7 -0
  1030. package/dist/wallets/walletConnectors/subWallet/subWallet.d.ts +3 -0
  1031. package/dist/wallets/walletConnectors/subWallet/subWallet.js +10 -0
  1032. package/dist/wallets/walletConnectors/subWallet-5WUZ4IIO.js +7 -0
  1033. package/dist/wallets/walletConnectors/tahoWallet/tahoWallet.d.ts +2 -0
  1034. package/dist/wallets/walletConnectors/tahoWallet/tahoWallet.js +9 -0
  1035. package/dist/wallets/walletConnectors/tahoWallet-U2VWWO76.js +7 -0
  1036. package/dist/wallets/walletConnectors/talismanWallet/talismanWallet.d.ts +2 -0
  1037. package/dist/wallets/walletConnectors/talismanWallet/talismanWallet.js +9 -0
  1038. package/dist/wallets/walletConnectors/talismanWallet-ZYTPIANG.js +7 -0
  1039. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.d.ts +3 -0
  1040. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +10 -0
  1041. package/dist/wallets/walletConnectors/tokenPocketWallet-FLFG3JUQ.js +7 -0
  1042. package/dist/wallets/walletConnectors/tokenaryWallet/tokenaryWallet.d.ts +2 -0
  1043. package/dist/wallets/walletConnectors/tokenaryWallet/tokenaryWallet.js +9 -0
  1044. package/dist/wallets/walletConnectors/tokenaryWallet-S3JS2IGK.js +7 -0
  1045. package/dist/wallets/walletConnectors/trustWallet/trustWallet.d.ts +3 -0
  1046. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +10 -0
  1047. package/dist/wallets/walletConnectors/trustWallet-2N5TZJGC.js +7 -0
  1048. package/dist/wallets/walletConnectors/uniswapWallet/uniswapWallet.d.ts +4 -0
  1049. package/dist/wallets/walletConnectors/uniswapWallet/uniswapWallet.js +9 -0
  1050. package/dist/wallets/walletConnectors/uniswapWallet-NJQBP5VM.js +7 -0
  1051. package/dist/wallets/walletConnectors/walletConnectWallet/walletConnectWallet.d.ts +6 -0
  1052. package/dist/wallets/walletConnectors/walletConnectWallet/walletConnectWallet.js +9 -0
  1053. package/dist/wallets/walletConnectors/walletConnectWallet-E4OQJ4DC.js +7 -0
  1054. package/dist/wallets/walletConnectors/xdefiWallet/xdefiWallet.d.ts +2 -0
  1055. package/dist/wallets/walletConnectors/xdefiWallet/xdefiWallet.js +9 -0
  1056. package/dist/wallets/walletConnectors/xdefiWallet-ZKBEFEOH.js +7 -0
  1057. package/dist/wallets/walletConnectors/zealWallet/zealWallet.d.ts +2 -0
  1058. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +9 -0
  1059. package/dist/wallets/walletConnectors/zealWallet-7VO3C4PM.js +7 -0
  1060. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.d.ts +3 -0
  1061. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +10 -0
  1062. package/dist/wallets/walletConnectors/zerionWallet-SEPREHKH.js +7 -0
  1063. package/dist/xdefiWallet-ZKBEFEOH.js +7 -0
  1064. package/dist/zealWallet-7VO3C4PM.js +7 -0
  1065. package/dist/zerionWallet-SEPREHKH.js +7 -0
  1066. package/package.json +140 -0
  1067. package/styles.css/package.json +3 -0
  1068. package/wallets/package.json +3 -0
@@ -0,0 +1,3100 @@
1
+ "use client";
2
+ import {
3
+ Text
4
+ } from "./chunk-GHJHQPLZ.js";
5
+ import {
6
+ Box,
7
+ logger,
8
+ themeVars,
9
+ useFunkitTranslation
10
+ } from "./chunk-VM4K5P7V.js";
11
+
12
+ // src/clients/polymarket/polymarket.tsx
13
+ import {
14
+ POLYMARKET_API_KEY,
15
+ initializeCheckoutTokenTransferAddress
16
+ } from "@funkit/api-base";
17
+ import { formatCurrencyAndStringify } from "@funkit/utils";
18
+ import React25, { useEffect as useEffect7, useRef as useRef3 } from "react";
19
+ import {
20
+ encodeFunctionData,
21
+ erc20Abi,
22
+ getAddress as getAddress2,
23
+ maxUint256
24
+ } from "viem";
25
+ import { polygon } from "viem/chains";
26
+
27
+ // src/components/Dropdown/AccountSelectDropdown.tsx
28
+ import React24 from "react";
29
+
30
+ // src/components/Dropdown/BaseDropdown.tsx
31
+ import { isMobile } from "@funkit/utils";
32
+ import * as DropdownMenu2 from "@radix-ui/react-dropdown-menu";
33
+ import React23, { useCallback as useCallback2, useEffect as useEffect6, useMemo as useMemo2, useRef as useRef2, useState as useState5 } from "react";
34
+
35
+ // src/hooks/useScrollDivider.ts
36
+ import { useCallback, useEffect, useState } from "react";
37
+ var useScrollDivider = () => {
38
+ const [refElement, setRefElement] = useState(null);
39
+ const ref = useCallback((node) => setRefElement(node), []);
40
+ const [isTop, setIsTop] = useState(true);
41
+ const [isAtBottom, setIsAtBottom] = useState(false);
42
+ const [isScrollable, setIsScrollable] = useState(false);
43
+ const [isScrolling, setIsScrolling] = useState(false);
44
+ useEffect(() => {
45
+ const content = refElement;
46
+ if (!content || !window.ResizeObserver) {
47
+ return;
48
+ }
49
+ const handleScrollPositionChange = () => {
50
+ const { scrollTop, scrollHeight, clientHeight } = content;
51
+ setIsTop(scrollTop === 0);
52
+ setIsAtBottom(scrollTop + clientHeight >= scrollHeight - 1);
53
+ setIsScrollable(scrollHeight > clientHeight + 2);
54
+ };
55
+ const handleContentChange = () => {
56
+ handleScrollPositionChange();
57
+ setTimeout(handleScrollPositionChange, 500);
58
+ };
59
+ const onScrollChange = () => {
60
+ handleScrollPositionChange();
61
+ setIsScrolling(true);
62
+ };
63
+ const onScrollEnd = () => setIsScrolling(false);
64
+ content.addEventListener("scrollend", onScrollEnd);
65
+ content.addEventListener("scroll", onScrollChange);
66
+ const resizeObserver = new window.ResizeObserver(handleContentChange);
67
+ resizeObserver.observe(content);
68
+ const mutationObserver = new MutationObserver(handleContentChange);
69
+ mutationObserver.observe(content, {
70
+ childList: true,
71
+ subtree: true,
72
+ attributes: true,
73
+ attributeFilter: ["style", "class"]
74
+ });
75
+ handleScrollPositionChange();
76
+ return () => {
77
+ content.removeEventListener("scroll", onScrollChange);
78
+ content.removeEventListener("scrollend", onScrollEnd);
79
+ resizeObserver.unobserve(content);
80
+ mutationObserver.disconnect();
81
+ };
82
+ }, [refElement]);
83
+ return {
84
+ ref,
85
+ hasTopDivider: !isTop,
86
+ hasBottomDivider: isScrollable,
87
+ isAtBottom,
88
+ isScrolling,
89
+ isScrollable
90
+ };
91
+ };
92
+
93
+ // src/providers/FunkitProvider.tsx
94
+ import { QueryClientProvider } from "@tanstack/react-query";
95
+ import React21, {
96
+ createContext as createContext3,
97
+ useContext as useContext3,
98
+ useEffect as useEffect5,
99
+ useMemo,
100
+ useRef
101
+ } from "react";
102
+
103
+ // src/consts/bluvo.tsx
104
+ import {
105
+ ETHEREAL_API_KEY,
106
+ FormOfPaymentType
107
+ } from "@funkit/api-base";
108
+ import React7 from "react";
109
+
110
+ // src/components/Icons/BinanceIcon.tsx
111
+ import React from "react";
112
+ var BinanceIcon = ({ size = 24 }) => {
113
+ return /* @__PURE__ */ React.createElement(
114
+ "svg",
115
+ {
116
+ width: size,
117
+ height: size,
118
+ viewBox: "0 0 20 20",
119
+ fill: "none",
120
+ xmlns: "http://www.w3.org/2000/svg"
121
+ },
122
+ /* @__PURE__ */ React.createElement("rect", { width: "20", height: "20", rx: "4", fill: "#F3BA2F" }),
123
+ /* @__PURE__ */ React.createElement(
124
+ "path",
125
+ {
126
+ d: "M7.67 9.04 10 6.71l2.33 2.34 1.36-1.36L10 4 6.31 7.69zM4 10l1.36-1.36L6.7 10l-1.35 1.36zm3.67.96L10 13.29l2.33-2.33 1.36 1.35-3.69 3.7-3.69-3.7zm5.62-.96 1.35-1.35L16 10l-1.36 1.36z",
127
+ fill: "#fff"
128
+ }
129
+ ),
130
+ /* @__PURE__ */ React.createElement(
131
+ "path",
132
+ {
133
+ d: "M11.38 10 10 8.62 8.98 9.64l-.11.12-.25.24L10 11.38z",
134
+ fill: "#fff"
135
+ }
136
+ )
137
+ );
138
+ };
139
+
140
+ // src/components/Icons/BybitIcon.tsx
141
+ import React2 from "react";
142
+ var BybitIcon = ({ size = 24 }) => {
143
+ return /* @__PURE__ */ React2.createElement(
144
+ "svg",
145
+ {
146
+ width: size,
147
+ height: size,
148
+ viewBox: "0 0 20 20",
149
+ fill: "none",
150
+ xmlns: "http://www.w3.org/2000/svg"
151
+ },
152
+ /* @__PURE__ */ React2.createElement("rect", { width: "20", height: "20", rx: "4", fill: "#0B0E11" }),
153
+ /* @__PURE__ */ React2.createElement("g", { transform: "translate(2 6.78) scale(0.184)" }, /* @__PURE__ */ React2.createElement("path", { d: "M62.0083 25.3572V3H66.5022V25.3572H62.0083Z", fill: "#F7A600" }), /* @__PURE__ */ React2.createElement(
154
+ "path",
155
+ {
156
+ d: "M9.63407 31.9983H0V9.64111H9.24666C13.7406 9.64111 16.3591 12.0903 16.3591 15.9214C16.3591 18.4013 14.6774 20.0039 13.5134 20.5375C14.9028 21.1652 16.6813 22.5779 16.6813 25.5624C16.6813 29.7373 13.7406 31.9983 9.63407 31.9983ZM8.89096 13.5355H4.4939V18.6852H8.89096C10.7981 18.6852 11.8652 17.6488 11.8652 16.1095C11.8652 14.5719 10.7981 13.5355 8.89096 13.5355ZM9.18151 22.6104H4.4939V28.1056H9.18151C11.2189 28.1056 12.1874 26.8503 12.1874 25.3418C12.1874 23.835 11.2171 22.6104 9.18151 22.6104Z",
157
+ fill: "white"
158
+ }
159
+ ), /* @__PURE__ */ React2.createElement(
160
+ "path",
161
+ {
162
+ d: "M30.3882 22.8293V31.9983H25.926V22.8293L19.0073 9.64111H23.8886L28.1888 18.6527L32.4239 9.64111H37.3052L30.3882 22.8293Z",
163
+ fill: "white"
164
+ }
165
+ ), /* @__PURE__ */ React2.createElement(
166
+ "path",
167
+ {
168
+ d: "M50.0457 31.9983H40.4116V9.64111H49.6583C54.1522 9.64111 56.7707 12.0903 56.7707 15.9214C56.7707 18.4013 55.089 20.0039 53.925 20.5375C55.3144 21.1652 57.093 22.5779 57.093 25.5624C57.093 29.7373 54.1522 31.9983 50.0457 31.9983ZM49.3026 13.5355H44.9055V18.6852H49.3026C51.2097 18.6852 52.2768 17.6488 52.2768 16.1095C52.2768 14.5719 51.2097 13.5355 49.3026 13.5355ZM49.5931 22.6104H44.9055V28.1056H49.5931C51.6305 28.1056 52.599 26.8503 52.599 25.3418C52.599 23.835 51.6305 22.6104 49.5931 22.6104Z",
169
+ fill: "white"
170
+ }
171
+ ), /* @__PURE__ */ React2.createElement(
172
+ "path",
173
+ {
174
+ d: "M80.986 13.5355V32H76.4921V13.5355H70.4785V9.64111H86.9996V13.5355H80.986Z",
175
+ fill: "white"
176
+ }
177
+ ))
178
+ );
179
+ };
180
+
181
+ // src/components/Icons/CoinbaseIcon.tsx
182
+ import React3 from "react";
183
+ var CoinbaseIcon = ({ size = 24 }) => {
184
+ return /* @__PURE__ */ React3.createElement(
185
+ "svg",
186
+ {
187
+ xmlns: "http://www.w3.org/2000/svg",
188
+ width: size,
189
+ height: size,
190
+ viewBox: "0 0 20 20",
191
+ fill: "none"
192
+ },
193
+ /* @__PURE__ */ React3.createElement("rect", { width: "20", height: "20", rx: "4", fill: "#2C5FF6" }),
194
+ /* @__PURE__ */ React3.createElement(
195
+ "path",
196
+ {
197
+ d: "M9.99 13.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5c1.76 0 3.22 1.305 3.46 3h3.52A7.005 7.005 0 0 0 9.99 3c-3.86 0-7 3.14-7 7s3.14 7 7 7c3.69 0 6.725-2.87 6.98-6.5h-3.52c-.24 1.695-1.7 3-3.46 3Z",
198
+ fill: "#fff"
199
+ }
200
+ )
201
+ );
202
+ };
203
+
204
+ // src/components/Icons/GateIoIcon.tsx
205
+ import React4 from "react";
206
+ var GateIoIcon = ({ size = 24 }) => {
207
+ return /* @__PURE__ */ React4.createElement(
208
+ "svg",
209
+ {
210
+ width: size,
211
+ height: size,
212
+ viewBox: "0 0 25 25",
213
+ fill: "none",
214
+ xmlns: "http://www.w3.org/2000/svg"
215
+ },
216
+ /* @__PURE__ */ React4.createElement("rect", { width: "25", height: "25", rx: "5.357", fill: "#fff" }),
217
+ /* @__PURE__ */ React4.createElement("g", { clipPath: "url(#a)" }, /* @__PURE__ */ React4.createElement(
218
+ "mask",
219
+ {
220
+ id: "b",
221
+ maskUnits: "userSpaceOnUse",
222
+ x: "5",
223
+ y: "5",
224
+ width: "15",
225
+ height: "15",
226
+ style: { maskType: "luminance" }
227
+ },
228
+ /* @__PURE__ */ React4.createElement("path", { d: "M5 5h15v15H5V5Z", fill: "#fff" })
229
+ ), /* @__PURE__ */ React4.createElement("g", { mask: "url(#b)" }, /* @__PURE__ */ React4.createElement(
230
+ "path",
231
+ {
232
+ fillRule: "evenodd",
233
+ clipRule: "evenodd",
234
+ d: "M12.5 16.625a4.125 4.125 0 0 1 0-8.25V5a7.5 7.5 0 1 0 7.5 7.5h-3.375a4.125 4.125 0 0 1-4.125 4.125Z",
235
+ fill: "#2354E6"
236
+ }
237
+ )), /* @__PURE__ */ React4.createElement(
238
+ "path",
239
+ {
240
+ fillRule: "evenodd",
241
+ clipRule: "evenodd",
242
+ d: "M12.5 12.5h4.125V8.375H12.5V12.5Z",
243
+ fill: "#17E6A1"
244
+ }
245
+ )),
246
+ /* @__PURE__ */ React4.createElement("defs", null, /* @__PURE__ */ React4.createElement("clipPath", { id: "a" }, /* @__PURE__ */ React4.createElement("path", { fill: "#fff", transform: "translate(5 5)", d: "M0 0h15v15H0z" })))
247
+ );
248
+ };
249
+
250
+ // src/components/Icons/GeminiIcon.tsx
251
+ import React5 from "react";
252
+ var GeminiIcon = ({ size = 24 }) => {
253
+ return /* @__PURE__ */ React5.createElement(
254
+ "svg",
255
+ {
256
+ width: size,
257
+ height: size,
258
+ viewBox: "0 0 20 20",
259
+ fill: "none",
260
+ xmlns: "http://www.w3.org/2000/svg"
261
+ },
262
+ /* @__PURE__ */ React5.createElement(
263
+ "path",
264
+ {
265
+ d: "M16 0H4a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4",
266
+ fill: "#58C8E6"
267
+ }
268
+ ),
269
+ /* @__PURE__ */ React5.createElement(
270
+ "path",
271
+ {
272
+ d: "M15.025 7.686H8.661a3.21 3.21 0 0 1 3.182-2.746 3.21 3.21 0 0 1 3.182 2.746m-3.653.94v2.746H8.626V8.626zm-.035 3.686a3.21 3.21 0 0 1-3.182 2.746 3.21 3.21 0 0 1-3.183-2.746zm-6.365-.94A3.23 3.23 0 0 1 7.686 8.66v2.71zm10.053-2.746a3.23 3.23 0 0 1-2.711 2.71v-2.71zM11.843 4C9.734 4 7.937 5.624 7.712 7.712A4.18 4.18 0 0 0 4 11.843 4.16 4.16 0 0 0 8.157 16c2.109 0 3.909-1.624 4.131-3.712C14.376 12.063 16 10.266 16 8.157A4.16 4.16 0 0 0 11.843 4",
273
+ fill: "#fff"
274
+ }
275
+ )
276
+ );
277
+ };
278
+
279
+ // src/components/Icons/KrakenIcon.tsx
280
+ import React6 from "react";
281
+ var KrakenIcon = ({ size = 24 }) => {
282
+ return /* @__PURE__ */ React6.createElement(
283
+ "svg",
284
+ {
285
+ width: size,
286
+ height: size,
287
+ viewBox: "0 0 20 20",
288
+ fill: "none",
289
+ xmlns: "http://www.w3.org/2000/svg"
290
+ },
291
+ /* @__PURE__ */ React6.createElement(
292
+ "path",
293
+ {
294
+ d: "M16 0H4a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4",
295
+ fill: "#5741D9"
296
+ }
297
+ ),
298
+ /* @__PURE__ */ React6.createElement(
299
+ "path",
300
+ {
301
+ d: "M4 11.78v-.67a6.4 6.4 0 0 1 .83-3.26 6 6 0 0 1 2.64-2.3A6 6 0 0 1 9.89 5q1.84-.02 3.4.96a5.6 5.6 0 0 1 2.64 4.18q.1.9.07 1.82l-.01.98q0 .22-.05.43c-.15.54-.8.8-1.27.49a.8.8 0 0 1-.35-.57l-.04-.48v-1.98q0-.4-.26-.68a.83.83 0 0 0-1.17-.04 1 1 0 0 0-.32.65v.28l-.01 2.19c0 .41-.33.73-.76.76a1 1 0 0 1-.56-.17.8.8 0 0 1-.3-.48l-.03-.33v-2.2a1 1 0 0 0-.26-.65.84.84 0 0 0-1.25.02 1 1 0 0 0-.24.64V13q0 .28-.1.54a1 1 0 0 1-.32.34.8.8 0 0 1-1.17-.4 1 1 0 0 1-.07-.38V11q.01-.24-.05-.47a.9.9 0 0 0-.72-.62c-.37-.06-.65.11-.85.4q-.14.22-.14.46v2q.02.3-.04.59a.84.84 0 0 1-.87.63.9.9 0 0 1-.74-.63A1 1 0 0 1 4 13z",
302
+ fill: "#fff"
303
+ }
304
+ )
305
+ );
306
+ };
307
+
308
+ // src/consts/bluvo.tsx
309
+ var BLUVO_MIN_DEPOSIT_BY_CUSTOMER = {
310
+ [ETHEREAL_API_KEY]: 15
311
+ };
312
+ var BLUVO_EXCHANGES = {
313
+ coinbase: {
314
+ icon: (size) => /* @__PURE__ */ React7.createElement(CoinbaseIcon, { size }),
315
+ name: "Coinbase"
316
+ },
317
+ binance: {
318
+ icon: (size) => /* @__PURE__ */ React7.createElement(BinanceIcon, { size }),
319
+ name: "Binance"
320
+ },
321
+ gemini: {
322
+ icon: (size) => /* @__PURE__ */ React7.createElement(GeminiIcon, { size }),
323
+ name: "Gemini"
324
+ },
325
+ kraken: {
326
+ icon: (size) => /* @__PURE__ */ React7.createElement(KrakenIcon, { size }),
327
+ name: "Kraken"
328
+ },
329
+ gate: {
330
+ icon: (size) => /* @__PURE__ */ React7.createElement(GateIoIcon, { size }),
331
+ name: "Gate"
332
+ }
333
+ };
334
+ function getExchangeName(brokerType) {
335
+ return BLUVO_EXCHANGES[brokerType].name;
336
+ }
337
+ var FOP_COMPONENT_ICONS = {
338
+ [FormOfPaymentType.BYBIT]: (size) => /* @__PURE__ */ React7.createElement(BybitIcon, { size })
339
+ };
340
+
341
+ // src/consts/polymarket.ts
342
+ import { getAddress } from "viem";
343
+ var POLYMARKET_PUSD_ADDRESS = getAddress(
344
+ "0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"
345
+ );
346
+
347
+ // src/domains/paymentMethods.ts
348
+ import { PaymentMethod } from "@funkit/connect-core";
349
+ import { exhaustiveCheck, formatAddress } from "@funkit/utils";
350
+ function createPaymentMethodInfo(params) {
351
+ switch (params.paymentMethod) {
352
+ case PaymentMethod.CARD:
353
+ return {
354
+ paymentMethod: PaymentMethod.CARD,
355
+ title: params.titleCustomization,
356
+ description: ""
357
+ };
358
+ case PaymentMethod.ACCOUNT_BALANCE:
359
+ return {
360
+ paymentMethod: PaymentMethod.ACCOUNT_BALANCE,
361
+ title: "Your Wallet",
362
+ description: formatAddress(params.walletAddress || "")
363
+ };
364
+ case PaymentMethod.BROKERAGE:
365
+ return {
366
+ paymentMethod: PaymentMethod.BROKERAGE,
367
+ title: getExchangeName(params.exchange),
368
+ description: "",
369
+ deviceId: params.deviceId,
370
+ exchange: params.exchange
371
+ };
372
+ case PaymentMethod.TOKEN_TRANSFER:
373
+ return {
374
+ // this is an arbitrary value for Polymarket.
375
+ paymentMethod: PaymentMethod.TOKEN_TRANSFER,
376
+ title: "QR Code Transfer",
377
+ description: ""
378
+ };
379
+ case PaymentMethod.BITCOIN_LIGHTNING:
380
+ return {
381
+ paymentMethod: PaymentMethod.BITCOIN_LIGHTNING,
382
+ title: "Bitcoin on Cash App",
383
+ description: ""
384
+ };
385
+ case PaymentMethod.VIRTUAL_BANK:
386
+ return {
387
+ paymentMethod: PaymentMethod.VIRTUAL_BANK,
388
+ title: "Fiat Account",
389
+ description: "",
390
+ matchingFiatAccount: params.matchingFiatAccount,
391
+ bridgeCustomer: params.bridgeCustomer
392
+ };
393
+ default:
394
+ exhaustiveCheck(params);
395
+ return {};
396
+ }
397
+ }
398
+
399
+ // src/domains/clientMetadata.ts
400
+ function generateClientMetadataForTokenTransfer() {
401
+ return {
402
+ id: "",
403
+ startTimestampMs: 0,
404
+ finalDollarValue: 0,
405
+ latestQuote: null,
406
+ depositAddress: null,
407
+ initSettings: {
408
+ config: {
409
+ targetAsset: "0x",
410
+ targetChain: "",
411
+ targetAssetTicker: "",
412
+ checkoutItemTitle: ""
413
+ }
414
+ },
415
+ selectedSourceAssetInfo: {
416
+ address: "0x",
417
+ symbol: "",
418
+ chainId: "",
419
+ iconSrc: null
420
+ },
421
+ selectedPaymentMethodInfo: createPaymentMethodInfo({
422
+ paymentMethod: PaymentMethod.TOKEN_TRANSFER
423
+ })
424
+ };
425
+ }
426
+
427
+ // src/components/FunSkeletonLoader/FunSkeletonBlock.tsx
428
+ import React9 from "react";
429
+
430
+ // src/providers/FunkitThemeProvider.tsx
431
+ import React8, { createContext, useContext, useEffect as useEffect2, useState as useState2 } from "react";
432
+
433
+ // src/themes/baseTheme.ts
434
+ var systemFontStack = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"';
435
+ var fontStacks = {
436
+ rounded: `SFRounded, ui-rounded, "SF Pro Rounded", ${systemFontStack}`,
437
+ system: systemFontStack,
438
+ fun: `SF Pro, ${systemFontStack}`
439
+ };
440
+ var radiusScales = {
441
+ large: {
442
+ actionButton: "12px",
443
+ actionButtonInner: "10px",
444
+ connectButton: "12px",
445
+ modal: "24px",
446
+ modalMobile: "28px",
447
+ modalActionButton: "24px",
448
+ modalActionButtonMobile: "28px",
449
+ summaryBox: "12px",
450
+ youPayYouReceive: "24px",
451
+ inputAmountSwitcher: "24px",
452
+ qrCode: "12px",
453
+ tooltip: "4px",
454
+ skeleton: "4px",
455
+ dropdown: "12px",
456
+ dropdownItem: "4px",
457
+ dropdownList: "12px",
458
+ modalTopbarIcon: "9999px",
459
+ withdrawalInput: "12px",
460
+ useConnected: "8px"
461
+ },
462
+ medium: {
463
+ actionButton: "10px",
464
+ actionButtonInner: "8px",
465
+ connectButton: "10px",
466
+ modal: "16px",
467
+ modalMobile: "18px",
468
+ modalActionButton: "16px",
469
+ modalActionButtonMobile: "18px",
470
+ summaryBox: "10px",
471
+ youPayYouReceive: "24px",
472
+ inputAmountSwitcher: "24px",
473
+ qrCode: "10px",
474
+ tooltip: "4px",
475
+ skeleton: "4px",
476
+ dropdown: "10px",
477
+ dropdownItem: "4px",
478
+ dropdownList: "10px",
479
+ modalTopbarIcon: "9999px",
480
+ withdrawalInput: "10px",
481
+ useConnected: "8px"
482
+ },
483
+ none: {
484
+ actionButton: "0px",
485
+ actionButtonInner: "0px",
486
+ connectButton: "0px",
487
+ modal: "0px",
488
+ modalMobile: "0px",
489
+ modalActionButton: "0px",
490
+ modalActionButtonMobile: "0px",
491
+ summaryBox: "0px",
492
+ youPayYouReceive: "0px",
493
+ inputAmountSwitcher: "0px",
494
+ qrCode: "0px",
495
+ tooltip: "0px",
496
+ skeleton: "0px",
497
+ dropdown: "0px",
498
+ dropdownItem: "0px",
499
+ dropdownList: "0px",
500
+ modalTopbarIcon: "0px",
501
+ withdrawalInput: "0px",
502
+ useConnected: "0px"
503
+ },
504
+ small: {
505
+ actionButton: "8px",
506
+ actionButtonInner: "6px",
507
+ connectButton: "8px",
508
+ modal: "8px",
509
+ modalMobile: "8px",
510
+ modalActionButton: "8px",
511
+ modalActionButtonMobile: "8px",
512
+ summaryBox: "8px",
513
+ youPayYouReceive: "24px",
514
+ inputAmountSwitcher: "24px",
515
+ qrCode: "8px",
516
+ tooltip: "4px",
517
+ skeleton: "4px",
518
+ dropdown: "8px",
519
+ dropdownItem: "4px",
520
+ dropdownList: "8px",
521
+ modalTopbarIcon: "9999px",
522
+ withdrawalInput: "8px",
523
+ useConnected: "8px"
524
+ }
525
+ };
526
+ var blurs = {
527
+ large: {
528
+ modalOverlay: "blur(20px)"
529
+ },
530
+ none: {
531
+ modalOverlay: "blur(0px)"
532
+ },
533
+ small: {
534
+ modalOverlay: "blur(8px)"
535
+ },
536
+ tiny: {
537
+ modalOverlay: "blur(4px)"
538
+ }
539
+ };
540
+ var DEFAULT_FONT_WEIGHTS = {
541
+ regular: "400",
542
+ medium: "500",
543
+ // 510 in figma, but chrome no longer supports 510 - lowered to 500
544
+ semibold: "600",
545
+ // 590 in figma, but chrome no longer supports 590 - raised to 600
546
+ bold: "700",
547
+ heavy: "800"
548
+ };
549
+ var DEFAULT_FONT_SIZES = {
550
+ "10": { fontSize: "10px", lineHeight: "15px" },
551
+ "12": { fontSize: "12px", lineHeight: "14px" },
552
+ "13": { fontSize: "13px", lineHeight: "18px" },
553
+ "14": { fontSize: "14px", lineHeight: "18px" },
554
+ "16": { fontSize: "16px", lineHeight: "20px" },
555
+ "18": { fontSize: "18px", lineHeight: "24px" },
556
+ "20": { fontSize: "20px", lineHeight: "20px" },
557
+ "21": { fontSize: "21px", lineHeight: "21px" },
558
+ "40": { fontSize: "40px", lineHeight: "48px" },
559
+ "57": { fontSize: "57px", lineHeight: "68px" }
560
+ };
561
+ var FONT_SIZINGS = {
562
+ regular: DEFAULT_FONT_SIZES,
563
+ small: {
564
+ "8": { fontSize: "8px", lineHeight: "16px" },
565
+ "10": { fontSize: "8px", lineHeight: "16px" },
566
+ "12": { fontSize: "10px", lineHeight: "16px" },
567
+ "13": { fontSize: "10px", lineHeight: "16px" },
568
+ "14": { fontSize: "12px", lineHeight: "16px" },
569
+ "16": { fontSize: "14px", lineHeight: "18px" },
570
+ "18": { fontSize: "14px", lineHeight: "20px" },
571
+ "20": { fontSize: "18px", lineHeight: "20px" },
572
+ "21": { fontSize: "19px", lineHeight: "19px" },
573
+ "23": { fontSize: "20px", lineHeight: "28px" },
574
+ "40": { fontSize: "34px", lineHeight: "40px" },
575
+ "57": { fontSize: "50px", lineHeight: "60px" }
576
+ }
577
+ };
578
+ var nestedModalZIndexes = {
579
+ coinbase: 2147483647,
580
+ walletConnect: 99999999999999,
581
+ privy: 999999
582
+ };
583
+ var DEFAULT_MODAL_Z_INDEX = Math.min(...Object.values(nestedModalZIndexes)) - 2;
584
+ var baseTheme = ({
585
+ borderRadius = "large",
586
+ fontStack = "fun",
587
+ fontSizing = "regular",
588
+ customFontFamily,
589
+ customFontWeights = DEFAULT_FONT_WEIGHTS,
590
+ customFontSizings = FONT_SIZINGS[fontSizing],
591
+ customBorderWidths,
592
+ customBorderRadiuses = radiusScales[borderRadius],
593
+ customDimensions,
594
+ customSpacings,
595
+ customTextTransforms,
596
+ overlayBlur = "small",
597
+ modalZIndex = DEFAULT_MODAL_Z_INDEX
598
+ }) => ({
599
+ modalZIndex: String(modalZIndex),
600
+ blurs: {
601
+ modalOverlay: blurs[overlayBlur].modalOverlay
602
+ },
603
+ dimensions: {
604
+ connectExchangeIconSize: "48px",
605
+ cryptoCashToggleIconSize: "20px",
606
+ dollarValueSkeletonHeight: "60px",
607
+ dollarValueSkeletonWidth: "160px",
608
+ inputAmountQuickOptionButtonHeight: "36px",
609
+ inputAmountMinHeight: "76px",
610
+ modalBottomBarButtonHeight: "34px",
611
+ modalTopBarHeight: "56px",
612
+ modalTopbarIconSize: "16px",
613
+ modalTopbarIconWrapperSize: "32px",
614
+ paymentAmountSkeletonBlockHeight: "14px",
615
+ paymentAmountSkeletonBlockWidth: "93px",
616
+ paymentAmountSkeletonCircleSize: "15px",
617
+ paymentMethodItemIconSize: "20px",
618
+ selectAssetItemIconSize: "24px",
619
+ sourceListGap: "4px",
620
+ txBreakdownSkeletonWidth: "72px",
621
+ txSummaryLineSkeletonHeight: "14px",
622
+ txSummaryLineSkeletonWidth: "54px",
623
+ ...customDimensions,
624
+ modalBottomBarCloseButtonHeight: customDimensions?.modalBottomBarCloseButtonHeight ?? customDimensions?.modalBottomBarButtonHeight ?? "34px"
625
+ },
626
+ fonts: typeof customFontFamily === "string" ? {
627
+ amountValue: customFontFamily,
628
+ body: customFontFamily,
629
+ buttonTextPrimary: customFontFamily,
630
+ buttonTextSecondary: customFontFamily,
631
+ buttonTextTertiary: customFontFamily,
632
+ dropdownGroupHeader: customFontFamily,
633
+ header: customFontFamily,
634
+ inputAmount: customFontFamily,
635
+ modalTopbarTitle: customFontFamily,
636
+ txStatusDescription: customFontFamily,
637
+ txStatusTitle: customFontFamily
638
+ } : {
639
+ amountValue: fontStacks[fontStack],
640
+ body: fontStacks[fontStack],
641
+ buttonTextPrimary: fontStacks[fontStack],
642
+ buttonTextSecondary: fontStacks[fontStack],
643
+ buttonTextTertiary: fontStacks[fontStack],
644
+ dropdownGroupHeader: fontStacks[fontStack],
645
+ header: fontStacks[fontStack],
646
+ inputAmount: fontStacks[fontStack],
647
+ modalTopbarTitle: fontStacks[fontStack],
648
+ txStatusDescription: fontStacks[fontStack],
649
+ txStatusTitle: fontStacks[fontStack],
650
+ ...customFontFamily
651
+ },
652
+ fontWeight: {
653
+ ...DEFAULT_FONT_WEIGHTS,
654
+ cryptoCashToggle: DEFAULT_FONT_WEIGHTS.medium,
655
+ dropdownGroupHeader: DEFAULT_FONT_WEIGHTS.medium,
656
+ inputAmount: DEFAULT_FONT_WEIGHTS.medium,
657
+ inputLabel: DEFAULT_FONT_WEIGHTS.medium,
658
+ inputValue: DEFAULT_FONT_WEIGHTS.medium,
659
+ modalTopbarTitle: DEFAULT_FONT_WEIGHTS.medium,
660
+ modalBottomBarButtonText: DEFAULT_FONT_WEIGHTS.medium,
661
+ paymentMethodItemSubtitle: DEFAULT_FONT_WEIGHTS.regular,
662
+ paymentMethodItemTitle: DEFAULT_FONT_WEIGHTS.medium,
663
+ selectAssetItemSubtitle: DEFAULT_FONT_WEIGHTS.regular,
664
+ selectAssetItemTitle: DEFAULT_FONT_WEIGHTS.medium,
665
+ sourceListSectionLabelFontWeight: DEFAULT_FONT_WEIGHTS.medium,
666
+ txBreakdown: DEFAULT_FONT_WEIGHTS.regular,
667
+ txStatusDescription: DEFAULT_FONT_WEIGHTS.regular,
668
+ txStatusTitle: DEFAULT_FONT_WEIGHTS.medium,
669
+ txSummaryLabel: DEFAULT_FONT_WEIGHTS.medium,
670
+ txSummaryValue: DEFAULT_FONT_WEIGHTS.medium,
671
+ formOfPaymentsListSectionLabelFontWeight: DEFAULT_FONT_WEIGHTS.medium,
672
+ withdrawalYouWillReceiveLabel: DEFAULT_FONT_WEIGHTS.regular,
673
+ withdrawalYouWillReceiveValueCrypto: DEFAULT_FONT_WEIGHTS.medium,
674
+ withdrawalYouWillReceiveValueUsd: DEFAULT_FONT_WEIGHTS.regular,
675
+ ...customFontWeights
676
+ },
677
+ fontSize: {
678
+ ...FONT_SIZINGS[fontSizing],
679
+ body: FONT_SIZINGS[fontSizing][14],
680
+ cryptoCashToggle: FONT_SIZINGS[fontSizing][12],
681
+ "header-14": { fontSize: "14px", lineHeight: "14px" },
682
+ "header-36": { fontSize: "36px", lineHeight: "36px" },
683
+ buttonTextPrimary: FONT_SIZINGS[fontSizing][12],
684
+ buttonTextSecondary: FONT_SIZINGS[fontSizing][10],
685
+ buttonTextTertiary: FONT_SIZINGS[fontSizing][12],
686
+ dollarValue: FONT_SIZINGS[fontSizing][40],
687
+ dropdownGroupHeader: FONT_SIZINGS[fontSizing][12],
688
+ inputAmount: FONT_SIZINGS[fontSizing][57],
689
+ inputLabel: customFontSizings[12] ?? FONT_SIZINGS[fontSizing][12],
690
+ inputValue: customFontSizings[13] ?? FONT_SIZINGS[fontSizing][13],
691
+ modalTopbarSubtitle: FONT_SIZINGS[fontSizing][10],
692
+ modalTopbarTitle: FONT_SIZINGS[fontSizing][13],
693
+ modalBottomBarButtonText: FONT_SIZINGS[fontSizing][12],
694
+ paymentMethodItemSubtitle: FONT_SIZINGS[fontSizing][12],
695
+ paymentMethodItemTitle: FONT_SIZINGS[fontSizing][12],
696
+ selectAssetItemSubtitle: FONT_SIZINGS[fontSizing][10],
697
+ selectAssetItemTitle: FONT_SIZINGS[fontSizing][13],
698
+ txBreakdown: FONT_SIZINGS[fontSizing][12],
699
+ txStatusDescription: FONT_SIZINGS[fontSizing][13],
700
+ txStatusTitle: FONT_SIZINGS[fontSizing][13],
701
+ txSummaryLabel: FONT_SIZINGS[fontSizing][12],
702
+ txSummaryValue: FONT_SIZINGS[fontSizing][12],
703
+ withdrawalYouWillReceive: customFontSizings[12] ?? FONT_SIZINGS[fontSizing][12],
704
+ youPayYouReceivePrimaryFontSize: FONT_SIZINGS[fontSizing][12],
705
+ youPayYouReceiveSecondaryFontSize: FONT_SIZINGS[fontSizing][10],
706
+ depositAddressFontSize: FONT_SIZINGS[fontSizing][10],
707
+ funFeatureListItemFontSize: FONT_SIZINGS[fontSizing][12],
708
+ dropdownItemFontSize: FONT_SIZINGS[fontSizing][12],
709
+ sourceListSectionLabelFontSize: FONT_SIZINGS[fontSizing][12],
710
+ formOfPaymentsListSectionLabelFontSize: FONT_SIZINGS[fontSizing][12],
711
+ quickOptionFontSize: FONT_SIZINGS[fontSizing][14],
712
+ useConnectedFontSize: FONT_SIZINGS[fontSizing][12],
713
+ paymentFeeSummaryTooltip: FONT_SIZINGS[fontSizing][10],
714
+ tooltipContent: FONT_SIZINGS[fontSizing][10],
715
+ ...customFontSizings
716
+ },
717
+ radii: {
718
+ actionButton: radiusScales[borderRadius].actionButton,
719
+ actionButtonInner: radiusScales[borderRadius].actionButtonInner,
720
+ connectButton: radiusScales[borderRadius].connectButton,
721
+ menuButton: radiusScales[borderRadius].connectButton,
722
+ modal: radiusScales[borderRadius].modal,
723
+ modalMobile: radiusScales[borderRadius].modalMobile,
724
+ modalActionButton: radiusScales[borderRadius].modalActionButton,
725
+ modalActionButtonMobile: radiusScales[borderRadius].modalActionButtonMobile,
726
+ summaryBox: radiusScales[borderRadius].summaryBox,
727
+ youPayYouReceive: radiusScales[borderRadius].youPayYouReceive,
728
+ inputAmountSwitcher: radiusScales[borderRadius].inputAmountSwitcher,
729
+ qrCode: radiusScales[borderRadius].qrCode,
730
+ skeleton: radiusScales[borderRadius].skeleton,
731
+ tooltip: radiusScales[borderRadius].tooltip,
732
+ dropdown: radiusScales[borderRadius].dropdown,
733
+ dropdownItem: radiusScales[borderRadius].dropdownItem,
734
+ dropdownList: customBorderRadiuses?.dropdownList ?? customBorderRadiuses?.dropdown ?? radiusScales[borderRadius].dropdown,
735
+ modalTopbarIcon: radiusScales[borderRadius].modalTopbarIcon,
736
+ withdrawalInput: radiusScales[borderRadius].withdrawalInput,
737
+ useConnected: radiusScales[borderRadius].useConnected,
738
+ ...customBorderRadiuses
739
+ },
740
+ borderWidths: {
741
+ activeOptionBorderWidth: "1px",
742
+ buttonTertiaryBorderWidth: "0px",
743
+ cryptoCashToggleContainerBorderWidth: "0px",
744
+ cryptoCashToggleActiveTabBorderWidth: "1px",
745
+ cryptoCashToggleInactiveTabBorderWidth: "1px",
746
+ txSummaryBoxBorderWidth: "1px",
747
+ ...customBorderWidths
748
+ },
749
+ spacing: {
750
+ confirmationStepMarginTop: "6px",
751
+ confirmationStepVerticalGap: "18px",
752
+ cryptoCashToggleContainerPadding: "3px",
753
+ cryptoCashToggleMarginBottom: "16px",
754
+ cryptoCashToggleMarginTop: "24px",
755
+ cryptoCashToggleTabPaddingY: "6px",
756
+ dropdownItemIconGap: "4px",
757
+ dropdownItemPaddingX: "4px",
758
+ dropdownItemPaddingY: "6px",
759
+ dropdownCompactPaddingX: "6px",
760
+ dropdownCompactPaddingY: "6px",
761
+ dropdownPaddingX: "12px",
762
+ dropdownPaddingY: "12px",
763
+ modalBaseHorizontalPadding: "6px",
764
+ modalBottomBarButtonPaddingY: "0px",
765
+ modalBottomHorizontalPadding: "12px",
766
+ modalPaddingBottomUpper: "16px",
767
+ modalPaddingBottomLower: "16px",
768
+ modalTopBarVerticalTextSpacing: "0px",
769
+ selectAssetItemPaddingX: "12px",
770
+ selectAssetItemPaddingY: "8px",
771
+ selectAssetItemTextGap: "0px",
772
+ selectBrokerageItemPaddingX: "12px",
773
+ selectBrokerageItemPaddingY: "11px",
774
+ selectBrokerageListGap: "0px",
775
+ walletConnectorListGap: "10px",
776
+ txBreakdownMarginY: "18px",
777
+ txBreakdownPaddingX: "12px",
778
+ txSummaryBoxPaddingX: "12px",
779
+ txSummaryBoxPaddingY: "12px",
780
+ txSummaryLineItemPadding: "0px",
781
+ txSummaryDividerMarginX: "12px",
782
+ txSummaryDividerMarginY: "12px",
783
+ verticalSectionGap: "18px",
784
+ withdrawalModalPaddingTop: "12px",
785
+ youPayYouReceivePaddingLeft: "12px",
786
+ youPayYouReceivePaddingRight: "16px",
787
+ youPayYouReceivePaddingY: "8px",
788
+ inputPaddingX: "12px",
789
+ inputPaddingY: "12px",
790
+ dropdownActiveItemRegularSizePaddingY: "8px",
791
+ assetListDefaultGap: "4px",
792
+ dropdownGroupDividerMarginY: "8px",
793
+ ...customSpacings
794
+ },
795
+ textTransforms: {
796
+ inputAmountQuickOptionButton: "none",
797
+ txStatusTitle: "none",
798
+ ...customTextTransforms
799
+ }
800
+ });
801
+
802
+ // src/themes/darkTheme.ts
803
+ var accentColors = {
804
+ blue: { accentColor: "#3898FF", accentColorForeground: "#FFF" },
805
+ green: { accentColor: "#66CC00", accentColorForeground: "#000" },
806
+ orange: { accentColor: "#F6851B", accentColorForeground: "#000" },
807
+ pink: { accentColor: "#FF7AB8", accentColorForeground: "#000" },
808
+ purple: { accentColor: "#7A70FF", accentColorForeground: "#FFF" },
809
+ red: { accentColor: "#F34126", accentColorForeground: "#FFF" },
810
+ white: { accentColor: "#FFF", accentColorForeground: "#000" }
811
+ };
812
+ var defaultAccentColor = accentColors.white;
813
+ var darkTheme = ({
814
+ accentColor = defaultAccentColor.accentColor,
815
+ accentColorForeground = defaultAccentColor.accentColorForeground,
816
+ customColors,
817
+ customShadows,
818
+ ...baseThemeOptions
819
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: just a bunch of ?? defaults
820
+ } = {}) => ({
821
+ ...baseTheme(baseThemeOptions),
822
+ colors: {
823
+ accentColor,
824
+ accentColorForeground,
825
+ actionButtonBorder: "rgba(255, 255, 255, 0.04)",
826
+ connectButtonBackground: "#000",
827
+ connectButtonBackgroundError: "#C60000",
828
+ connectButtonText: "#FFF",
829
+ connectButtonTextError: "#FFF",
830
+ connectionIndicator: "#30E000",
831
+ error: accentColors.red.accentColor,
832
+ errorBackground: "#F2E6E4",
833
+ errorBorder: "rgba(243, 65, 38, 0.2)",
834
+ generalBorder: "#292929",
835
+ // strokeColor in figma
836
+ generalBorderDim: "rgba(255, 255, 255, 0.04)",
837
+ menuItemBackground: "rgba(255, 255, 255, 0.03)",
838
+ selectedOptionBorder: "rgba(224, 232, 255, 0.1)",
839
+ focusedOptionBorder: "#8C8C8C",
840
+ standby: "#F6851B",
841
+ success: "#66CC00",
842
+ delayedStatusIcon: customColors?.secondaryText ?? "#8C8C8C",
843
+ // backward compatibility
844
+ chainIconBorder: "#fff",
845
+ // FUNKIT COLORS
846
+ // modal backgrounds
847
+ modalBackdrop: "rgba(0, 0, 0, 0.2)",
848
+ modalBackground: "#000000",
849
+ modalBorder: "#292929",
850
+ modalTopbarIcon: "#FFF",
851
+ modalTopbarIconBackground: customColors?.modalTopbarIconBackground ?? "transparent",
852
+ modalTopbarIconBackgroundHover: customColors?.modalTopbarIconBackgroundHover ?? customColors?.buttonIconBackgroundHover ?? "#333333",
853
+ modalTopbarIconBackgroundPressed: customColors?.modalTopbarIconBackgroundPressed ?? customColors?.buttonIconBackgroundPressed ?? "#333333",
854
+ modalTopbarIconStroke: customColors?.modalTopbarIconStroke ?? customColors?.buttonIconStroke ?? "rgba(255, 255, 255, 0.35)",
855
+ offBackground: "#1F1F1F",
856
+ offBackgroundInverse: "#F2F2F2",
857
+ hoverState: "#333333",
858
+ lightStroke: "#333333",
859
+ mediumStroke: "#333333",
860
+ heavyStroke: "rgba(117, 117, 117, 0.40)",
861
+ strokeColor: "#333333",
862
+ secondaryBackground: "#333333",
863
+ //Text
864
+ primaryText: "#FFF",
865
+ secondaryText: "#8C8C8C",
866
+ tertiaryText: "rgba(255, 255, 255, 0.35)",
867
+ textSelection: "rgba(255, 255, 255, 0.10)",
868
+ selectedDropdownItemText: customColors?.primaryText ?? "#FFF",
869
+ copyButtonBackgroundBase: customColors?.offBackground ?? "#1F1F1F",
870
+ copyButtonBackgroundHover: customColors?.hoverState ?? "#333333",
871
+ copyButtonBackgroundActive: customColors?.inputBorderHover ?? "#525252",
872
+ useConnectedBackgroundBase: customColors?.mediumStroke ?? "#333333",
873
+ useConnectedBackgroundHover: customColors?.mediumStroke ?? "#333333",
874
+ copyButtonBorderBase: customColors?.mediumStroke ?? "#333333",
875
+ copyButtonBorderHover: customColors?.mediumStroke ?? "#333333",
876
+ funFeatureListBackgroundBase: customColors?.offBackground ?? "#1F1F1F",
877
+ funFeatureListBackgroundHover: customColors?.hoverState ?? "#333333",
878
+ funFeatureListBorderColor: "transparent",
879
+ funFeatureListBorderColorHover: "transparent",
880
+ selectedDropdownItemBackground: "transparent",
881
+ alwaysVisibleLabelBackgroundHover: "transparent",
882
+ // input
883
+ inputLabel: customColors?.primaryText ?? "#FFF",
884
+ inputBackground: "#000000",
885
+ inputBackgroundHover: customColors?.offBackground ?? "#1F1F1F",
886
+ inputBorderBase: "#333333",
887
+ inputBorderHover: "#525252",
888
+ // tab
889
+ activeTabBorderColor: "#333333",
890
+ activeTabBackground: "#333333",
891
+ inactiveTabBorderColor: "transparent",
892
+ inactiveTabBackgroundBase: "transparent",
893
+ inactiveTabBackgroundHover: "transparent",
894
+ inactiveTabBackgroundActive: "transparent",
895
+ activeTabText: customColors?.primaryText ?? "#FFF",
896
+ inactiveTabTextBase: customColors?.secondaryText ?? "#8C8C8C",
897
+ inactiveTabHover: customColors?.primaryText ?? "#FFF",
898
+ // button
899
+ actionColor: "#FFF",
900
+ actionColorHover: "rgba(255, 255, 255, 0.8)",
901
+ actionColorDisabled: "rgba(255, 255, 255, 0.65)",
902
+ buttonPrimary: accentColor,
903
+ buttonDisabled: "rgba(255, 255, 255, 0.20)",
904
+ buttonTextPrimary: "#000000",
905
+ buttonTextHover: "#000000",
906
+ buttonTextDisabled: "#000000",
907
+ buttonWarning: accentColors.red.accentColor,
908
+ buttonSuccess: "#2EA200",
909
+ transparent: "transparent",
910
+ buttonBackgroundTertiary: "#333333",
911
+ buttonBackgroundHoverTertiary: "#333333",
912
+ buttonBackgroundDisabledTertiary: "transparent",
913
+ buttonTextTertiary: "#FFF",
914
+ buttonTextDisabledTertiary: "rgba(255, 255, 255, 0.65)",
915
+ buttonBackground: "#FFF",
916
+ buttonBackgroundHover: "#f2f2f2",
917
+ buttonBackgroundPressed: "#FFF",
918
+ buttonBackgroundDisabled: "rgba(255, 255, 255, 0.65)",
919
+ buttonTextSecondaryDisabled: "rgba(255, 255, 255, 0.65)",
920
+ buttonTextSecondary: "#FFFFFF",
921
+ buttonIconBackgroundHover: "#333333",
922
+ buttonIconBackgroundPressed: "#333333",
923
+ buttonIconStroke: "rgba(255, 255, 255, 0.35)",
924
+ buttonBorderTertiary: "transparent",
925
+ buttonBorderFocusedTertiary: "rgba(255, 255, 255, 0.35)",
926
+ buttonFocusedOutline: "none",
927
+ buttonBorderGradient: "none",
928
+ buttonHoverBorderGradient: "none",
929
+ buttonDisabledBorderGradient: "none",
930
+ // TODO: Make common colors when refactoring the design system
931
+ inputAmountQuickOptionBaseBackground: "#1F1F1F",
932
+ inputAmountQuickOptionHoverBackground: "#333333",
933
+ inputAmountQuickOptionActiveBackground: "#333333",
934
+ inputAmountQuickOptionDisabledBackground: "#333333",
935
+ inputAmountQuickOptionBaseBorder: "#f2f2f2",
936
+ inputAmountQuickOptionHoverBorder: "rgba(255, 255, 255, 0.35)",
937
+ inputAmountQuickOptionActiveBorder: "rgba(255, 255, 255, 0.35)",
938
+ inputAmountQuickOptionFocusedBorder: "rgba(255, 255, 255, 0.35)",
939
+ inputAmountFiatDecimalsColor: customColors?.inputAmountFiatDecimalsColor ?? "none",
940
+ youPayYouReceiveBackground: "#000000",
941
+ // modalBackground
942
+ youPayYouReceiveBorder: "#333333",
943
+ // mediumStroke
944
+ youPayYouReceivePrimaryText: "#FFF",
945
+ // primaryText
946
+ youPayYouReceiveSecondaryText: "#8C8C8C",
947
+ // secondaryText
948
+ withdrawalYouWillReceiveLabel: customColors?.withdrawalYouWillReceiveLabel ?? customColors?.primaryText ?? "#FFF",
949
+ withdrawalYouWillReceiveValueCrypto: customColors?.withdrawalYouWillReceiveValueCrypto ?? customColors?.primaryText ?? "#FFF",
950
+ withdrawalYouWillReceiveValueUsd: customColors?.withdrawalYouWillReceiveValueUsd ?? customColors?.secondaryText ?? "#8C8C8C",
951
+ // badges
952
+ badgeBackgroundSuccess: "rgba(124, 242, 136, 0.1)",
953
+ badgeBorderSuccess: "rgba(124, 242, 136, 0.2)",
954
+ badgeTextSuccess: "rgb(124, 242, 136)",
955
+ newBadgeBackground: "linear-gradient(180deg, rgba(57, 76, 56, 0.55) 0%, rgba(61, 81, 65, 0.55) 100%)",
956
+ newBadgeBorder: "rgba(122, 221, 122, 0.3)",
957
+ newBadgeText: "#A4FF9A",
958
+ approvedBadgeBackground: "linear-gradient(180deg, rgba(236, 255, 234, 0.20) 0%, rgba(228, 255, 233, 0.20) 100%)",
959
+ approvedBadgeBorder: "rgba(109, 216, 109, 0.08)",
960
+ approvedBadgeText: "#8FFFA9",
961
+ failedBadgeBackground: "rgba(255, 61, 61, 0.18)",
962
+ failedBadgeBorder: "rgba(255, 255, 255, 0.10)",
963
+ failedBadgeText: "#F88877",
964
+ announceGradientFrom: "#AAAAAA",
965
+ announceGradientTo: "#BEBEBE",
966
+ fiatPendingGradientFrom: "#AAAAAA",
967
+ fiatPendingGradientTo: "#BEBEBE",
968
+ fiatSuccessBackgroundFill: "rgba(102, 204, 0, 0.30)",
969
+ fiatFailedBackgroundFill: "rgba(255, 61, 61, 0.30)",
970
+ fiatStatusIconBorder: "rgba(255, 255, 255, 0.06)",
971
+ fiatAccountIconFill: "#002F5E",
972
+ fiatAccountGradientFrom: "#3A82FE",
973
+ fiatAccountGradientTo: "#73A7FF",
974
+ modalHeaderDivider: "#333333",
975
+ // lightStroke
976
+ modalFooterDivider: "#333333",
977
+ // lightStroke
978
+ spinnerBackground: customColors?.mediumStroke ?? "rgba(0, 0, 0, 0.3)",
979
+ // 30% buttonTextPrimary
980
+ spinnerIndicator: customColors?.primaryText ?? "#000",
981
+ // 100% buttonTextPrimary
982
+ spinnerBackgroundVerifyAccount: "rgba(0, 0, 0, 0.3)",
983
+ // 30% buttonTextPrimary
984
+ spinnerIndicatorVerifyAccount: customColors?.primaryText ?? "#000",
985
+ // 100% buttonTextPrimary
986
+ // Override colors
987
+ ...customColors || {},
988
+ // option Boxes
989
+ optionBoxBackground: customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#000",
990
+ // keeps gradient in SourcePaymentMethodItem if optionBoxBackground differs from modal background
991
+ optionBoxBackgroundUninteractive: customColors?.optionBoxBackgroundUninteractive ?? "transparent",
992
+ optionBoxBorderBase: customColors?.optionBoxBorderBase ?? customColors?.mediumStroke ?? "#333333",
993
+ optionBoxBorderHover: customColors?.optionBoxBorderHover ?? customColors?.mediumStroke ?? "#333333",
994
+ optionBoxDefaultModeNotActiveBorderBase: customColors?.optionBoxDefaultModeNotActiveBorderBase ?? "transparent",
995
+ optionBoxDefaultModeNotActiveBorderHover: customColors?.optionBoxDefaultModeNotActiveBorderHover ?? "transparent",
996
+ dropdownActiveItemBackgroundBase: customColors?.dropdownActiveItemBackgroundBase ?? customColors?.modalBackground ?? "#000000",
997
+ openDropdownBackgroundColor: customColors?.openDropdownBackgroundColor ?? customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#000",
998
+ dropdownActiveItemBackgroundHover: customColors?.dropdownActiveItemBackgroundHover ?? customColors?.offBackground ?? "#1F1F1F",
999
+ dropdownActiveItemBackgroundDisabled: customColors?.dropdownActiveItemBackgroundDisabled ?? "transparent",
1000
+ dropdownActiveItemBorderBase: customColors?.dropdownActiveItemBorderBase ?? customColors?.mediumStroke ?? "#333333",
1001
+ dropdownActiveItemBorderHover: customColors?.dropdownActiveItemBorderHover ?? customColors?.mediumStroke ?? "#333333",
1002
+ dropdownGroupHeader: customColors?.dropdownGroupHeader ?? customColors?.primaryText ?? "#FFF",
1003
+ // primaryText
1004
+ txSummaryBoxBackground: customColors?.txSummaryBoxBackground ?? customColors?.modalBackground ?? "#000",
1005
+ txSummaryBoxBorder: customColors?.txSummaryBoxBorder ?? customColors?.lightStroke ?? "#333333",
1006
+ modalBackgroundCheckoutComplete: customColors?.modalBackgroundCheckoutComplete ?? customColors?.modalBackground ?? "#000",
1007
+ counterRingColor: customColors?.counterRingColor ?? accentColor,
1008
+ cryptoCashToggleContainerBorderColor: customColors?.cryptoCashToggleContainerBorderColor ?? "transparent",
1009
+ cryptoCashToggleBackground: customColors?.cryptoCashToggleBackground ?? "transparent"
1010
+ },
1011
+ shadows: {
1012
+ connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
1013
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
1014
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
1015
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.24)",
1016
+ dropdown: "0px 0px 0px 1px rgba(255, 255, 255, 0.16), 0px 2px 6px rgba(0, 0, 0, 0.03), 0px 4px 42px rgba(0, 0, 0, 0.06)",
1017
+ notification: "0px 0px 0px 1px rgba(255, 255, 255, 0.20), 0px 2px 6px 0px rgba(0, 0, 0, 0.05), 0px 4px 42px 0px rgba(0, 0, 0, 0.06)",
1018
+ qrCode: "0px 0px 0px 1px rgba(255, 255, 255, 0.16)",
1019
+ buttonShadow: "none",
1020
+ buttonShadowTertiary: "none",
1021
+ buttonHoverShadow: "none",
1022
+ buttonHoverShadowTertiary: "none",
1023
+ buttonFocusedShadow: "0px 0px 0px 2px rgba(255, 255, 255, 0.25)",
1024
+ buttonFocusedShadowTertiary: "0px 0px 0px 2px rgba(255, 255, 255, 0.25)",
1025
+ buttonDisabledShadow: "none",
1026
+ buttonDisabledShadowTertiary: "none",
1027
+ buttonInnerShadow: "none",
1028
+ buttonInnerShadowTertiary: customShadows?.buttonInnerShadow ?? "none",
1029
+ buttonFocusedInnerShadow: "none",
1030
+ buttonFocusedInnerShadowTertiary: customShadows?.buttonFocusedInnerShadow ?? "none",
1031
+ buttonHoverInnerShadow: "none",
1032
+ buttonHoverInnerShadowTertiary: customShadows?.buttonHoverInnerShadow ?? "none",
1033
+ buttonDisabledInnerShadow: "none",
1034
+ buttonDisabledInnerShadowTertiary: customShadows?.buttonDisabledInnerShadow ?? "none",
1035
+ selectedDropdownItem: "none",
1036
+ // Override shadows
1037
+ ...customShadows || {}
1038
+ },
1039
+ moonpayTheme: "dark"
1040
+ });
1041
+ darkTheme.accentColors = accentColors;
1042
+
1043
+ // src/themes/lightTheme.ts
1044
+ var accentColors2 = {
1045
+ blue: { accentColor: "#31A3F8", accentColorForeground: "#31A3F859" },
1046
+ green: { accentColor: "#66CC00", accentColorForeground: "#FFF" },
1047
+ orange: { accentColor: "#F6851B", accentColorForeground: "#FFF" },
1048
+ pink: { accentColor: "#FF5CA0", accentColorForeground: "#FFF" },
1049
+ purple: { accentColor: "#5F5AFA", accentColorForeground: "#FFF" },
1050
+ red: { accentColor: "#F34126", accentColorForeground: "#FFF" },
1051
+ white: { accentColor: "#000000", accentColorForeground: "#FFF" }
1052
+ };
1053
+ var defaultAccentColor2 = accentColors2.white;
1054
+ var lightTheme = ({
1055
+ accentColor = defaultAccentColor2.accentColor,
1056
+ accentColorForeground = defaultAccentColor2.accentColorForeground,
1057
+ customColors,
1058
+ customShadows,
1059
+ ...baseThemeOptions
1060
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: just a bunch of ?? defaults
1061
+ } = {}) => ({
1062
+ ...baseTheme(baseThemeOptions),
1063
+ colors: {
1064
+ accentColor,
1065
+ accentColorForeground,
1066
+ actionButtonBorder: "rgba(0, 0, 0, 0.04)",
1067
+ connectButtonBackground: "#FFF",
1068
+ connectButtonBackgroundError: "#C60000",
1069
+ connectButtonText: "#25292E",
1070
+ connectButtonTextError: "#FFF",
1071
+ connectionIndicator: "#30E000",
1072
+ error: accentColors2.red.accentColor,
1073
+ errorBackground: "#F2E6E4",
1074
+ errorBorder: "rgba(243, 65, 38, 0.2)",
1075
+ generalBorder: "#F7F7F7",
1076
+ // strokeColor in figma
1077
+ generalBorderDim: "rgba(0, 0, 0, 0.03)",
1078
+ menuItemBackground: "#FCFCFC",
1079
+ selectedOptionBorder: "#F7F7F7",
1080
+ focusedOptionBorder: "#737373",
1081
+ standby: "#F6851B",
1082
+ success: "#66CC00",
1083
+ delayedStatusIcon: customColors?.secondaryText ?? "#737373",
1084
+ // backward compatibility
1085
+ chainIconBorder: "#fff",
1086
+ // FUNKIT COLORS
1087
+ // modal backgrounds
1088
+ modalBackdrop: "rgba(0, 0, 0, 0.2)",
1089
+ modalTopbarIcon: "#000",
1090
+ modalTopbarIconBackground: customColors?.modalTopbarIconBackground ?? "transparent",
1091
+ modalTopbarIconBackgroundHover: customColors?.modalTopbarIconBackgroundHover ?? customColors?.buttonIconBackgroundHover ?? "#F7F7F7",
1092
+ modalTopbarIconBackgroundPressed: customColors?.modalTopbarIconBackgroundPressed ?? customColors?.buttonIconBackgroundPressed ?? "#F0F0F0",
1093
+ modalTopbarIconStroke: customColors?.modalTopbarIconStroke ?? customColors?.buttonIconStroke ?? "rgba(0, 0, 0, 0.35)",
1094
+ modalBackground: "#FFF",
1095
+ modalBorder: "#F7F7F7",
1096
+ offBackground: "#F7F7F7",
1097
+ offBackgroundInverse: "#333333",
1098
+ hoverState: "#F0F0F0",
1099
+ lightStroke: "#F7F7F7",
1100
+ mediumStroke: "#F0F0F0",
1101
+ heavyStroke: "#E5E5E5",
1102
+ strokeColor: "#E8E8E8",
1103
+ secondaryBackground: "#F7F7F7",
1104
+ //Text
1105
+ primaryText: "#000",
1106
+ secondaryText: "#737373",
1107
+ tertiaryText: "rgba(0, 0, 0, 0.35)",
1108
+ textSelection: "rgba(0, 0, 0, 0.10)",
1109
+ selectedDropdownItemText: customColors?.primaryText ?? "#000",
1110
+ copyButtonBackgroundBase: customColors?.offBackground ?? "#F7F7F7",
1111
+ copyButtonBackgroundHover: customColors?.hoverState ?? "#F0F0F0",
1112
+ copyButtonBackgroundActive: customColors?.inputBorderHover ?? "#E5E5E5",
1113
+ useConnectedBackgroundBase: customColors?.mediumStroke ?? "#F0F0F0",
1114
+ useConnectedBackgroundHover: customColors?.mediumStroke ?? "#F0F0F0",
1115
+ copyButtonBorderBase: customColors?.mediumStroke ?? "#F0F0F0",
1116
+ copyButtonBorderHover: customColors?.mediumStroke ?? "#F0F0F0",
1117
+ funFeatureListBackgroundBase: customColors?.offBackground ?? "#F7F7F7",
1118
+ funFeatureListBackgroundHover: customColors?.hoverState ?? "#F0F0F0",
1119
+ funFeatureListBorderColor: "transparent",
1120
+ funFeatureListBorderColorHover: "transparent",
1121
+ selectedDropdownItemBackground: "transparent",
1122
+ alwaysVisibleLabelBackgroundHover: "transparent",
1123
+ // input
1124
+ inputLabel: customColors?.primaryText ?? "#000",
1125
+ inputBackground: "#FFFFFF",
1126
+ inputBackgroundHover: customColors?.offBackground ?? "#F7F7F7",
1127
+ inputBorderBase: "#F0F0F0",
1128
+ inputBorderHover: "#E5E5E5",
1129
+ // tab
1130
+ activeTabBorderColor: "#F7F7F7",
1131
+ activeTabBackground: "#F7F7F7",
1132
+ inactiveTabBorderColor: "transparent",
1133
+ inactiveTabBackgroundBase: "transparent",
1134
+ inactiveTabBackgroundHover: "transparent",
1135
+ inactiveTabBackgroundActive: "transparent",
1136
+ activeTabText: customColors?.primaryText ?? "#000",
1137
+ inactiveTabTextBase: customColors?.secondaryText ?? "#737373",
1138
+ inactiveTabHover: customColors?.primaryText ?? "#000",
1139
+ // button
1140
+ actionColor: "#000",
1141
+ actionColorHover: "rgba(0, 0, 0, 0.7)",
1142
+ actionColorDisabled: "rgba(0, 0, 0, 0.50)",
1143
+ buttonPrimary: accentColor,
1144
+ buttonDisabled: "#31A3F826",
1145
+ buttonWarning: accentColors2.red.accentColor,
1146
+ buttonSuccess: "#2EA200",
1147
+ buttonTextPrimary: "#FFFFFF",
1148
+ buttonTextHover: "#FFF",
1149
+ buttonTextDisabled: "#FFF",
1150
+ transparent: "transparent",
1151
+ buttonBackgroundTertiary: "#F7F7F7",
1152
+ buttonBackgroundHoverTertiary: "#F0F0F0",
1153
+ buttonBackgroundDisabledTertiary: "transparent",
1154
+ buttonTextTertiary: "#000",
1155
+ buttonTextDisabledTertiary: "rgba(0, 0, 0, 0.5)",
1156
+ buttonBackground: "#000",
1157
+ buttonBackgroundHover: "#333333",
1158
+ buttonBackgroundPressed: "#000",
1159
+ buttonBackgroundDisabled: "rgba(0, 0, 0, 0.5)",
1160
+ buttonTextSecondaryDisabled: "rgba(0, 0, 0, 0.5)",
1161
+ buttonTextSecondary: "#000000",
1162
+ buttonIconBackgroundHover: "#F7F7F7",
1163
+ buttonIconBackgroundPressed: "#F0F0F0",
1164
+ buttonIconStroke: "rgba(0, 0, 0, 0.35)",
1165
+ buttonBorderTertiary: "transparent",
1166
+ buttonBorderFocusedTertiary: "rgba(0, 0, 0, 0.35)",
1167
+ buttonFocusedOutline: "none",
1168
+ buttonBorderGradient: "none",
1169
+ buttonHoverBorderGradient: "none",
1170
+ buttonDisabledBorderGradient: "none",
1171
+ // TODO: Make common colors when refactoring the design system
1172
+ inputAmountQuickOptionBaseBackground: "#F7F7F7",
1173
+ inputAmountQuickOptionHoverBackground: "#F0F0F0",
1174
+ inputAmountQuickOptionActiveBackground: "#F0F0F0",
1175
+ inputAmountQuickOptionDisabledBackground: "#F7F7F7",
1176
+ inputAmountQuickOptionBaseBorder: "#F7F7F7",
1177
+ inputAmountQuickOptionHoverBorder: "rgba(0, 0, 0, 0.35)",
1178
+ inputAmountQuickOptionActiveBorder: "rgba(0, 0, 0, 0.35)",
1179
+ inputAmountQuickOptionFocusedBorder: "rgba(0, 0, 0, 0.35)",
1180
+ inputAmountFiatDecimalsColor: customColors?.inputAmountFiatDecimalsColor ?? "none",
1181
+ youPayYouReceiveBackground: "#FFF",
1182
+ // modalBackground
1183
+ youPayYouReceiveBorder: "#F0F0F0",
1184
+ // mediumStroke
1185
+ youPayYouReceivePrimaryText: "#000",
1186
+ // primaryText
1187
+ youPayYouReceiveSecondaryText: "#737373",
1188
+ // secondaryText
1189
+ withdrawalYouWillReceiveLabel: customColors?.withdrawalYouWillReceiveLabel ?? customColors?.primaryText ?? "#000",
1190
+ withdrawalYouWillReceiveValueCrypto: customColors?.withdrawalYouWillReceiveValueCrypto ?? customColors?.primaryText ?? "#000",
1191
+ withdrawalYouWillReceiveValueUsd: customColors?.withdrawalYouWillReceiveValueUsd ?? customColors?.secondaryText ?? "#737373",
1192
+ // badges
1193
+ badgeBackgroundSuccess: "rgba(124, 242, 136, 0.1)",
1194
+ badgeBorderSuccess: "rgba(124, 242, 136, 0.2)",
1195
+ badgeTextSuccess: "rgb(124, 242, 136)",
1196
+ newBadgeBackground: "linear-gradient(180deg, #ECFFEA 0%, #E4FFE9 100%)",
1197
+ newBadgeBorder: "rgba(122, 221, 122, 0.5)",
1198
+ newBadgeText: "#028320",
1199
+ approvedBadgeBackground: "linear-gradient(180deg, #ECFFEA 0%, #E4FFE9 100%)",
1200
+ approvedBadgeBorder: "rgba(109, 216, 109, 0.5)",
1201
+ approvedBadgeText: "#028320",
1202
+ failedBadgeBackground: "rgba(255, 61, 61, 0.08)",
1203
+ failedBadgeBorder: "rgba(0, 0, 0, 0.03)",
1204
+ failedBadgeText: "#C2341E",
1205
+ announceGradientFrom: "#595959",
1206
+ announceGradientTo: "#9C9C9C",
1207
+ fiatPendingGradientFrom: "#454545",
1208
+ fiatPendingGradientTo: "#747474",
1209
+ fiatSuccessBackgroundFill: "rgba(102, 204, 0, 0.16)",
1210
+ fiatFailedBackgroundFill: "rgba(255, 61, 61, 0.12)",
1211
+ fiatStatusIconBorder: "rgba(0, 0, 0, 0.03)",
1212
+ fiatAccountIconFill: "#E7F3FE",
1213
+ fiatAccountGradientFrom: "#055DF5",
1214
+ fiatAccountGradientTo: "#4C8DFD",
1215
+ modalHeaderDivider: "#F7F7F7",
1216
+ // lightStroke
1217
+ modalFooterDivider: "#F7F7F7",
1218
+ // lightStroke
1219
+ spinnerBackground: customColors?.mediumStroke ?? "rgba(255, 255, 255, 0.3)",
1220
+ // 30% buttonTextPrimary
1221
+ spinnerIndicator: customColors?.primaryText ?? "#FFF",
1222
+ // 100% buttonTextPrimary
1223
+ spinnerBackgroundVerifyAccount: "rgba(255, 255, 255, 0.3)",
1224
+ // 30% buttonTextPrimary
1225
+ spinnerIndicatorVerifyAccount: customColors?.primaryText ?? "#FFF",
1226
+ // 100% buttonTextPrimary
1227
+ // Override colors
1228
+ ...customColors || {},
1229
+ // option Boxes
1230
+ optionBoxBackground: customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#FFF",
1231
+ // keeps gradient in SourcePaymentMethodItem if optionBoxBackground differs from modal background
1232
+ optionBoxBackgroundUninteractive: customColors?.optionBoxBackgroundUninteractive ?? "transparent",
1233
+ optionBoxBorderBase: customColors?.optionBoxBorderBase ?? customColors?.mediumStroke ?? "#F0F0F0",
1234
+ optionBoxBorderHover: customColors?.optionBoxBorderHover ?? customColors?.mediumStroke ?? "#F0F0F0",
1235
+ optionBoxDefaultModeNotActiveBorderBase: customColors?.optionBoxDefaultModeNotActiveBorderBase ?? "transparent",
1236
+ optionBoxDefaultModeNotActiveBorderHover: customColors?.optionBoxDefaultModeNotActiveBorderHover ?? "transparent",
1237
+ dropdownActiveItemBackgroundBase: customColors?.dropdownActiveItemBackgroundBase ?? customColors?.modalBackground ?? "#FFF",
1238
+ openDropdownBackgroundColor: customColors?.openDropdownBackgroundColor ?? customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#FFF",
1239
+ dropdownActiveItemBackgroundHover: customColors?.dropdownActiveItemBackgroundHover ?? customColors?.offBackground ?? "#F7F7F7",
1240
+ dropdownActiveItemBackgroundDisabled: customColors?.dropdownActiveItemBackgroundDisabled ?? "transparent",
1241
+ dropdownActiveItemBorderBase: customColors?.dropdownActiveItemBorderBase ?? customColors?.mediumStroke ?? "#F0F0F0",
1242
+ dropdownActiveItemBorderHover: customColors?.dropdownActiveItemBorderHover ?? customColors?.mediumStroke ?? "#F0F0F0",
1243
+ dropdownGroupHeader: customColors?.dropdownGroupHeader ?? customColors?.primaryText ?? "#000",
1244
+ // primaryText
1245
+ txSummaryBoxBackground: customColors?.txSummaryBoxBackground ?? customColors?.modalBackground ?? "#FFF",
1246
+ txSummaryBoxBorder: customColors?.txSummaryBoxBorder ?? customColors?.lightStroke ?? "#F7F7F7",
1247
+ modalBackgroundCheckoutComplete: customColors?.modalBackgroundCheckoutComplete ?? customColors?.modalBackground ?? "#FFF",
1248
+ counterRingColor: customColors?.counterRingColor ?? accentColor,
1249
+ cryptoCashToggleContainerBorderColor: customColors?.cryptoCashToggleContainerBorderColor ?? "transparent",
1250
+ cryptoCashToggleBackground: customColors?.cryptoCashToggleBackground ?? "transparent"
1251
+ },
1252
+ shadows: {
1253
+ connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
1254
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
1255
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
1256
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.12)",
1257
+ dropdown: "0px 0px 0px 1px rgba(0, 0, 0, 0.05), 0px 2px 6px 0px rgba(0, 0, 0, 0.03), 0px 4px 42px 0px rgba(0, 0, 0, 0.06)",
1258
+ notification: "0px 0px 0px 1px rgba(0, 0, 0, 0.06), 0px 2px 6px 0px rgba(0, 0, 0, 0.05), 0px 4px 42px 0px rgba(0, 0, 0, 0.06)",
1259
+ qrCode: "0px 0px 0px 1px rgba(0, 0, 0, 0.10), 0px 1px 4px 0px rgba(0, 0, 0, 0.04), 0px 4px 24px 0px rgba(8, 7, 7, 0.10)",
1260
+ buttonShadow: "none",
1261
+ buttonShadowTertiary: customShadows?.buttonShadow ?? "none",
1262
+ buttonFocusedShadow: "0px 0px 0px 2px rgba(0, 0, 0, 0.25)",
1263
+ buttonFocusedShadowTertiary: "0px 0px 0px 2px rgba(0, 0, 0, 0.25)",
1264
+ buttonHoverShadow: "none",
1265
+ buttonHoverShadowTertiary: "none",
1266
+ buttonDisabledShadow: "none",
1267
+ buttonDisabledShadowTertiary: customShadows?.buttonDisabledShadow ?? "none",
1268
+ buttonInnerShadow: "none",
1269
+ buttonInnerShadowTertiary: customShadows?.buttonInnerShadow ?? "none",
1270
+ buttonFocusedInnerShadow: "none",
1271
+ buttonFocusedInnerShadowTertiary: customShadows?.buttonFocusedInnerShadow ?? "none",
1272
+ buttonHoverInnerShadow: "none",
1273
+ buttonHoverInnerShadowTertiary: customShadows?.buttonHoverInnerShadow ?? "none",
1274
+ buttonDisabledInnerShadow: "none",
1275
+ buttonDisabledInnerShadowTertiary: customShadows?.buttonDisabledInnerShadow ?? "none",
1276
+ selectedDropdownItem: "none",
1277
+ // Override shadows
1278
+ ...customShadows || {}
1279
+ },
1280
+ moonpayTheme: "light"
1281
+ });
1282
+ lightTheme.accentColors = accentColors2;
1283
+
1284
+ // src/providers/FunkitThemeProvider.tsx
1285
+ var DEFAULT_THEME_SET = {
1286
+ lightTheme: lightTheme(),
1287
+ darkTheme: darkTheme()
1288
+ };
1289
+ var DEFAULT_THEME = DEFAULT_THEME_SET.darkTheme;
1290
+ var ThemeIdContext = createContext(void 0);
1291
+ var ThemeContext = createContext({
1292
+ activeTheme: DEFAULT_THEME,
1293
+ lightTheme: void 0,
1294
+ darkTheme: void 0,
1295
+ setTheme: () => {
1296
+ return;
1297
+ },
1298
+ toggleTheme: () => {
1299
+ return;
1300
+ },
1301
+ themeColorScheme: void 0
1302
+ });
1303
+ var useActiveTheme = () => {
1304
+ const {
1305
+ activeTheme,
1306
+ setTheme,
1307
+ lightTheme: lightTheme2,
1308
+ darkTheme: darkTheme2,
1309
+ toggleTheme,
1310
+ themeColorScheme
1311
+ } = useContext(ThemeContext);
1312
+ return {
1313
+ activeTheme,
1314
+ /** Overrides the currently active `theme` with disregard to the `theme` provided to the `FunkitProvider`, ie. `toggleTheme` will switch to the `theme` provided to the `FunkitProvider`, not the theme set by `setTheme` */
1315
+ setTheme,
1316
+ /** Returns the `light` theme as long as a themeSet was passed to the `FunkitProvider`, if only a single theme object was passed it will be returned as `lightTheme` and `darkTheme` making them the same */
1317
+ lightTheme: lightTheme2,
1318
+ /** Returns the `dark` theme as long as a themeSet was passed to the `FunkitProvider`, if only a single theme object was passed it will be returned as `darkTheme` and `lightTheme` making them the same */
1319
+ darkTheme: darkTheme2,
1320
+ /** Toggles between `light` and `dark` themes as long as they were passed to the `FunkitProvider`, if only a single theme object was passed toggling will be disabled */
1321
+ toggleTheme,
1322
+ /** Returns an indication whether a `light` or a `dark` theme should be currently active, has meaning only if a themeSet was passed to the `FunkitProvider`, if only a single theme object was passed it reflects the system color scheme */
1323
+ themeColorScheme
1324
+ };
1325
+ };
1326
+
1327
+ // src/components/FunSkeletonLoader/FunSkeletonLoader.css.ts
1328
+ var animateSkeletonClass = "FunSkeletonLoader_animateSkeletonClass__dj0x602 sprinkles_background_inputBorderHover_base__1rsrm2f15a";
1329
+
1330
+ // src/components/FunSkeletonLoader/FunSkeletonBlock.tsx
1331
+ function FunSkeletonBlock({
1332
+ borderRadius = "skeleton",
1333
+ fontSize,
1334
+ height,
1335
+ width = "full",
1336
+ ...props
1337
+ }) {
1338
+ const { activeTheme } = useActiveTheme();
1339
+ const cssHeight = height ? activeTheme.dimensions[height] || (height.endsWith("px") ? height : `${height}px`) : activeTheme.fontSize[fontSize].lineHeight;
1340
+ return /* @__PURE__ */ React9.createElement(
1341
+ Box,
1342
+ {
1343
+ borderRadius,
1344
+ className: animateSkeletonClass,
1345
+ width,
1346
+ ...props,
1347
+ style: { height: cssHeight, ...props.style }
1348
+ }
1349
+ );
1350
+ }
1351
+
1352
+ // src/components/FunInput/FunInput.css.ts
1353
+ var baseWrapperStyles = "FunInput_baseWrapperStyles__zue0i60";
1354
+ var baseWrapperStylesNoTransition = "FunInput_baseWrapperStylesNoTransition__zue0i61";
1355
+ var inputClass = "FunInput_inputClass__zue0i64 sprinkles_color_primaryText_base__1rsrm2f2py sprinkles_paddingLeft_inputPaddingX__1rsrm2fri sprinkles_paddingRight_inputPaddingX__1rsrm2ftj sprinkles_paddingTop_inputPaddingY__1rsrm2fvl sprinkles_paddingBottom_inputPaddingY__1rsrm2fpi";
1356
+ var inputClassDisabled = "FunInput_inputClassDisabled__zue0i68 sprinkles_color_actionColorDisabled_base__1rsrm2f2ta sprinkles_paddingLeft_inputPaddingX__1rsrm2fri sprinkles_paddingRight_inputPaddingX__1rsrm2ftj sprinkles_paddingTop_inputPaddingY__1rsrm2fvl sprinkles_paddingBottom_inputPaddingY__1rsrm2fpi";
1357
+ var inputClassDisabledNoTransition = "FunInput_inputClassDisabledNoTransition__zue0i6a sprinkles_color_actionColorDisabled_base__1rsrm2f2ta sprinkles_paddingLeft_inputPaddingX__1rsrm2fri sprinkles_paddingRight_inputPaddingX__1rsrm2ftj sprinkles_paddingTop_inputPaddingY__1rsrm2fvl sprinkles_paddingBottom_inputPaddingY__1rsrm2fpi";
1358
+ var inputClassError = "FunInput_inputClassError__zue0i6c sprinkles_color_primaryText_base__1rsrm2f2py sprinkles_paddingLeft_inputPaddingX__1rsrm2fri sprinkles_paddingRight_inputPaddingX__1rsrm2ftj sprinkles_paddingTop_inputPaddingY__1rsrm2fvl sprinkles_paddingBottom_inputPaddingY__1rsrm2fpi";
1359
+ var inputClassErrorNoTransition = "FunInput_inputClassErrorNoTransition__zue0i6f sprinkles_color_primaryText_base__1rsrm2f2py sprinkles_paddingLeft_inputPaddingX__1rsrm2fri sprinkles_paddingRight_inputPaddingX__1rsrm2ftj sprinkles_paddingTop_inputPaddingY__1rsrm2fvl sprinkles_paddingBottom_inputPaddingY__1rsrm2fpi";
1360
+ var inputClassNoTransition = "FunInput_inputClassNoTransition__zue0i66 sprinkles_color_primaryText_base__1rsrm2f2py sprinkles_paddingLeft_inputPaddingX__1rsrm2fri sprinkles_paddingRight_inputPaddingX__1rsrm2ftj sprinkles_paddingTop_inputPaddingY__1rsrm2fvl sprinkles_paddingBottom_inputPaddingY__1rsrm2fpi";
1361
+ var numberInputResetStyle = "FunInput_numberInputResetStyle__zue0i62";
1362
+
1363
+ // src/components/FunTooltip/FunTooltip.tsx
1364
+ import * as Tooltip from "@radix-ui/react-tooltip";
1365
+ import React10, {
1366
+ createContext as createContext2,
1367
+ useContext as useContext2,
1368
+ useState as useState3
1369
+ } from "react";
1370
+ var TooltipAnchorRefContext = createContext2(null);
1371
+
1372
+ // src/components/FunInput/FunInput.tsx
1373
+ import React12, {
1374
+ forwardRef,
1375
+ useEffect as useEffect3,
1376
+ useState as useState4
1377
+ } from "react";
1378
+ import clsx from "clsx";
1379
+
1380
+ // src/components/Icons/SearchIcon.tsx
1381
+ import React11 from "react";
1382
+ var SearchIcon = () => {
1383
+ return /* @__PURE__ */ React11.createElement(
1384
+ "svg",
1385
+ {
1386
+ width: "15",
1387
+ height: "15",
1388
+ viewBox: "0 0 15 15",
1389
+ fill: "none",
1390
+ xmlns: "http://www.w3.org/2000/svg"
1391
+ },
1392
+ /* @__PURE__ */ React11.createElement(
1393
+ "path",
1394
+ {
1395
+ d: "M6.45041 12.9008C5.17464 12.9008 3.92752 12.5225 2.86676 11.8138C1.80599 11.105 0.979229 10.0975 0.491012 8.91887C0.00279446 7.74023 -0.124946 6.44321 0.123947 5.19199C0.37284 3.94074 0.987179 2.79139 1.88928 1.88928C2.79139 0.987179 3.94074 0.37284 5.19199 0.123947C6.44321 -0.124946 7.74023 0.00279446 8.91887 0.491012C10.0975 0.979229 11.105 1.80599 11.8138 2.86676C12.5225 3.92752 12.9008 5.17464 12.9008 6.45041C12.9008 7.29744 12.7339 8.13625 12.4098 8.91887C12.0856 9.70148 11.6105 10.4126 11.0115 11.0115C10.4126 11.6105 9.70148 12.0856 8.91887 12.4098C8.13625 12.7339 7.29744 12.9008 6.45041 12.9008ZM6.45041 1.29351C5.43386 1.29351 4.44014 1.59496 3.59491 2.15972C2.74968 2.72448 2.0909 3.52721 1.70189 4.46637C1.31287 5.40554 1.21108 6.43893 1.4094 7.43596C1.60772 8.43299 2.09724 9.34881 2.81604 10.0676C3.53486 10.7864 4.45067 11.276 5.44769 11.4743C6.44467 11.6726 7.47811 11.5708 8.41731 11.1818C9.35643 10.7927 10.1592 10.134 10.724 9.28876C11.2887 8.44352 11.5902 7.44984 11.5902 6.43328C11.5902 5.07012 11.0487 3.7628 10.0847 2.79891C9.12086 1.83502 7.81356 1.29351 6.45041 1.29351Z",
1396
+ fill: "currentColor"
1397
+ }
1398
+ ),
1399
+ /* @__PURE__ */ React11.createElement(
1400
+ "path",
1401
+ {
1402
+ d: "M14.3567 15C14.2723 15.0003 14.1886 14.9839 14.1107 14.9515C14.0327 14.9192 13.962 14.8716 13.9027 14.8115L10.3648 11.2737C10.2513 11.1519 10.1896 10.9907 10.1925 10.8243C10.1954 10.6578 10.2629 10.4991 10.3806 10.3813C10.4983 10.2636 10.6571 10.1962 10.8236 10.1933C10.99 10.1904 11.151 10.2521 11.2729 10.3656L14.8107 13.9035C14.931 14.024 14.9986 14.1872 14.9986 14.3575C14.9986 14.5277 14.931 14.691 14.8107 14.8115C14.7515 14.8716 14.6807 14.9192 14.6027 14.9515C14.5248 14.9839 14.4411 15.0003 14.3567 15Z",
1403
+ fill: "currentColor"
1404
+ }
1405
+ )
1406
+ );
1407
+ };
1408
+
1409
+ // src/components/FunInput/FunInput.tsx
1410
+ var DEFAULT_ICON_FONT_SIZE = "57px";
1411
+ var FunInput = forwardRef(function FunInputWithRef({
1412
+ prefix,
1413
+ suffix,
1414
+ prefixIcon,
1415
+ placeholder,
1416
+ value,
1417
+ label,
1418
+ onChange,
1419
+ onKeyDown,
1420
+ onKeySubmit,
1421
+ onPaste,
1422
+ onMouseDown,
1423
+ onFocus: userOnFocus,
1424
+ onBlur: userOnBlur,
1425
+ adornmentColor = "secondaryText",
1426
+ fontFamily = "body",
1427
+ textWeight = "inputLabel",
1428
+ inputStyle = {},
1429
+ inputProps = { type: "text" },
1430
+ error,
1431
+ alwaysFocused,
1432
+ overrideBorderWidth,
1433
+ overrideBackground,
1434
+ ignoreFontSize,
1435
+ borderRadius = "connectButton",
1436
+ isLoading = false,
1437
+ allowMultiline = false,
1438
+ ignoreBaseTransitions = false,
1439
+ decimalsColor,
1440
+ decimalSeparator,
1441
+ testId
1442
+ }, ref) {
1443
+ const { activeTheme } = useActiveTheme();
1444
+ const [focused, setFocused] = useState4(false);
1445
+ const onFocus = () => {
1446
+ setFocused(true);
1447
+ userOnFocus?.();
1448
+ };
1449
+ const onBlur = () => {
1450
+ setFocused(false);
1451
+ userOnBlur?.();
1452
+ };
1453
+ const isFocused = alwaysFocused || focused;
1454
+ const isValidDecimalColor = !!decimalsColor && activeTheme.colors?.[decimalsColor] !== "none";
1455
+ const getBorderColor = () => {
1456
+ if (error) {
1457
+ return { base: "error" };
1458
+ }
1459
+ if (inputProps.disabled) {
1460
+ return { base: "inputBorderBase" };
1461
+ }
1462
+ if (isFocused) {
1463
+ return { base: "secondaryText" };
1464
+ }
1465
+ return {
1466
+ base: "inputBorderBase",
1467
+ hover: "inputBorderHover"
1468
+ };
1469
+ };
1470
+ const textareaRef = React12.useRef(null);
1471
+ useEffect3(() => {
1472
+ if (allowMultiline) {
1473
+ adjustTextareaHeight(textareaRef.current);
1474
+ }
1475
+ }, [allowMultiline, value]);
1476
+ const { integerPart, decimalPart, shouldColorDecimals } = React12.useMemo(() => {
1477
+ if (!isValidDecimalColor || !value || !decimalSeparator) {
1478
+ return { integerPart: "", decimalPart: "", shouldColorDecimals: false };
1479
+ }
1480
+ const stringValue = String(value);
1481
+ const parts = stringValue.split(decimalSeparator);
1482
+ return {
1483
+ integerPart: parts[0] || "",
1484
+ decimalPart: parts[1] !== void 0 ? `${decimalSeparator}${parts[1]}` : "",
1485
+ shouldColorDecimals: parts[1] !== void 0
1486
+ };
1487
+ }, [value, isValidDecimalColor, decimalSeparator]);
1488
+ const renderInputOrTextarea = () => {
1489
+ const commonProps = {
1490
+ // ref,
1491
+ value,
1492
+ placeholder,
1493
+ onChange,
1494
+ onKeyDown: (e) => {
1495
+ e.stopPropagation();
1496
+ onKeyDown?.(e);
1497
+ if (e.key === "Enter") {
1498
+ onKeySubmit?.();
1499
+ }
1500
+ },
1501
+ onPaste,
1502
+ onMouseDown,
1503
+ onFocus,
1504
+ onBlur,
1505
+ onWheel: (e) => {
1506
+ e.currentTarget.blur();
1507
+ },
1508
+ className: clsx(
1509
+ error ? ignoreBaseTransitions ? inputClassErrorNoTransition : inputClassError : inputProps.disabled ? ignoreBaseTransitions ? inputClassDisabledNoTransition : inputClassDisabled : ignoreBaseTransitions ? inputClassNoTransition : inputClass,
1510
+ numberInputResetStyle
1511
+ ),
1512
+ ...inputProps,
1513
+ // If decimals are colored, the actual input element is hidden
1514
+ // but keep the caret visible via caretColor
1515
+ style: {
1516
+ ...inputStyle,
1517
+ color: shouldColorDecimals ? "transparent" : void 0,
1518
+ caretColor: isValidDecimalColor ? themeVars.colors.primaryText : void 0
1519
+ },
1520
+ "data-auto-focus": inputProps.autoFocus,
1521
+ "data-testid": testId ? `rk-${testId.replace(/^rk-/, "")}` : void 0
1522
+ };
1523
+ const handleTextareaOnChange = (e) => {
1524
+ adjustTextareaHeight(textareaRef.current);
1525
+ if (onChange) {
1526
+ onChange(e);
1527
+ }
1528
+ };
1529
+ const handleTextAreaOnPaste = (e) => {
1530
+ adjustTextareaHeight(textareaRef.current);
1531
+ if (onPaste) {
1532
+ onPaste(e);
1533
+ }
1534
+ };
1535
+ const inputElement = allowMultiline ? /* @__PURE__ */ React12.createElement(
1536
+ "textarea",
1537
+ {
1538
+ ...commonProps,
1539
+ ref: (el) => {
1540
+ textareaRef.current = el;
1541
+ if (typeof ref === "function") {
1542
+ ref(el);
1543
+ } else if (ref && typeof ref === "object" && "current" in ref) {
1544
+ ref.current = el;
1545
+ }
1546
+ },
1547
+ rows: 1,
1548
+ style: {
1549
+ ...commonProps.style,
1550
+ resize: "none",
1551
+ boxSizing: "border-box"
1552
+ },
1553
+ onChange: handleTextareaOnChange,
1554
+ onPaste: handleTextAreaOnPaste
1555
+ }
1556
+ ) : /* @__PURE__ */ React12.createElement(
1557
+ "input",
1558
+ {
1559
+ ...commonProps,
1560
+ ref: (el) => {
1561
+ if (typeof ref === "function") {
1562
+ ref(el);
1563
+ } else if (ref && typeof ref === "object" && "current" in ref) {
1564
+ ref.current = el;
1565
+ }
1566
+ },
1567
+ type: inputProps?.type || "text"
1568
+ }
1569
+ );
1570
+ if (shouldColorDecimals) {
1571
+ return /* @__PURE__ */ React12.createElement(Box, { style: { position: "relative", display: "flex", flex: 1 } }, /* @__PURE__ */ React12.createElement(
1572
+ Box,
1573
+ {
1574
+ color: "primaryText",
1575
+ style: {
1576
+ position: "absolute",
1577
+ left: 0,
1578
+ top: 0,
1579
+ pointerEvents: "none",
1580
+ fontFamily: "inherit",
1581
+ fontSize: "inherit",
1582
+ fontWeight: "inherit",
1583
+ lineHeight: "inherit",
1584
+ whiteSpace: "nowrap",
1585
+ display: "flex",
1586
+ alignItems: "center",
1587
+ height: "100%"
1588
+ }
1589
+ },
1590
+ /* @__PURE__ */ React12.createElement("span", { style: { color: "inherit" } }, integerPart),
1591
+ /* @__PURE__ */ React12.createElement(DecimalSpan, { decimalsColor }, decimalPart)
1592
+ ), inputElement);
1593
+ }
1594
+ return inputElement;
1595
+ };
1596
+ return /* @__PURE__ */ React12.createElement(
1597
+ Box,
1598
+ {
1599
+ color: "primaryText",
1600
+ display: "flex",
1601
+ flexDirection: "column",
1602
+ fontSize: "inherit",
1603
+ gap: "8",
1604
+ width: "full"
1605
+ },
1606
+ label && /* @__PURE__ */ React12.createElement(Text, { size: "inputLabel", weight: textWeight }, label),
1607
+ isLoading ? /* @__PURE__ */ React12.createElement(FunSkeletonBlock, { height: "44" }) : /* @__PURE__ */ React12.createElement(
1608
+ Box,
1609
+ {
1610
+ borderRadius,
1611
+ fontFamily,
1612
+ minWidth: "full",
1613
+ display: "flex",
1614
+ alignItems: allowMultiline ? "flex-start" : "center",
1615
+ color: adornmentColor,
1616
+ borderColor: getBorderColor(),
1617
+ borderWidth: overrideBorderWidth ?? "1",
1618
+ borderStyle: "solid",
1619
+ fontSize: ignoreFontSize ? "inherit" : "inputValue",
1620
+ fontWeight: "inputValue",
1621
+ className: ignoreBaseTransitions ? baseWrapperStylesNoTransition : baseWrapperStyles,
1622
+ background: overrideBackground || {
1623
+ base: "inputBackground",
1624
+ hover: "inputBackgroundHover"
1625
+ }
1626
+ },
1627
+ prefix && /* @__PURE__ */ React12.createElement(Box, { paddingLeft: "12", height: "max" }, prefix),
1628
+ prefixIcon === "SearchIcon" && /* @__PURE__ */ React12.createElement(
1629
+ Box,
1630
+ {
1631
+ display: "flex",
1632
+ paddingLeft: "12",
1633
+ height: "max",
1634
+ alignItems: "center",
1635
+ color: isFocused ? "primaryText" : "secondaryText"
1636
+ },
1637
+ /* @__PURE__ */ React12.createElement(SearchIcon, null)
1638
+ ),
1639
+ prefixIcon === "$" && /* @__PURE__ */ React12.createElement(Box, { display: "flex", alignItems: "center", paddingLeft: "32" }, /* @__PURE__ */ React12.createElement(
1640
+ DollarTextIcon,
1641
+ {
1642
+ fontSize: inputStyle.fontSize || DEFAULT_ICON_FONT_SIZE
1643
+ }
1644
+ )),
1645
+ renderInputOrTextarea(),
1646
+ suffix && /* @__PURE__ */ React12.createElement(
1647
+ Box,
1648
+ {
1649
+ paddingLeft: "4",
1650
+ paddingRight: "10",
1651
+ ...allowMultiline ? {
1652
+ style: {
1653
+ paddingTop: `calc(${themeVars.spacing.inputPaddingY} - 3px)`
1654
+ }
1655
+ } : {}
1656
+ },
1657
+ suffix
1658
+ )
1659
+ ),
1660
+ error && typeof error === "string" && /* @__PURE__ */ React12.createElement(Text, { color: "error", size: "10" }, error)
1661
+ );
1662
+ });
1663
+ var adjustTextareaHeight = (textarea) => {
1664
+ if (textarea) {
1665
+ textarea.style.height = "auto";
1666
+ textarea.style.height = `${textarea.scrollHeight}px`;
1667
+ }
1668
+ };
1669
+ var DollarTextIcon = ({ fontSize }) => /* @__PURE__ */ React12.createElement(
1670
+ Text,
1671
+ {
1672
+ style: {
1673
+ paddingBottom: 2,
1674
+ fontSize,
1675
+ fontWeight: 800
1676
+ }
1677
+ },
1678
+ "$"
1679
+ );
1680
+ var DecimalSpan = ({
1681
+ decimalsColor,
1682
+ children
1683
+ }) => /* @__PURE__ */ React12.createElement(
1684
+ Box,
1685
+ {
1686
+ color: decimalsColor,
1687
+ style: { fontFamily: "inherit", fontSize: "inherit" }
1688
+ },
1689
+ children
1690
+ );
1691
+
1692
+ // src/components/Icons/CheckIcon.tsx
1693
+ import React13 from "react";
1694
+ var CheckIcon = ({
1695
+ size = 16,
1696
+ className
1697
+ }) => /* @__PURE__ */ React13.createElement(
1698
+ "svg",
1699
+ {
1700
+ width: size,
1701
+ height: size,
1702
+ viewBox: "0 0 16 16",
1703
+ fill: "none",
1704
+ xmlns: "http://www.w3.org/2000/svg",
1705
+ className
1706
+ },
1707
+ /* @__PURE__ */ React13.createElement(
1708
+ "path",
1709
+ {
1710
+ d: "M12.4919 4.88281L6.25757 11.1172L3.50781 8",
1711
+ stroke: "currentColor",
1712
+ strokeWidth: "1.5",
1713
+ strokeLinecap: "round",
1714
+ strokeLinejoin: "round",
1715
+ pathLength: "100"
1716
+ }
1717
+ )
1718
+ );
1719
+
1720
+ // src/components/Dropdown/BaseDropdownItem.tsx
1721
+ import { noop } from "@funkit/utils";
1722
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
1723
+ import React14 from "react";
1724
+ import clsx2 from "clsx";
1725
+
1726
+ // src/components/Dropdown/BaseDropdownItem.css.ts
1727
+ var disabledDropdownItemStyles = "BaseDropdownItem_disabledDropdownItemStyles__18hhw3k3 BaseDropdownItem__18hhw3k2";
1728
+ var enabledDropdownItemStyles = "BaseDropdownItem_enabledDropdownItemStyles__18hhw3k1 BaseDropdownItem__18hhw3k0";
1729
+
1730
+ // src/components/Dropdown/BaseDropdownItem.tsx
1731
+ function BaseDropdownItem({
1732
+ iconComponent,
1733
+ label,
1734
+ description,
1735
+ id,
1736
+ onClick = noop,
1737
+ isSelected = false,
1738
+ isDisabled = false,
1739
+ borderRadius = "connectButton",
1740
+ horizontalIconGap = "dropdownItemIconGap",
1741
+ tagComponent,
1742
+ horizontalPadding = "dropdownItemPaddingX",
1743
+ verticalPadding = "dropdownItemPaddingY"
1744
+ }) {
1745
+ return /* @__PURE__ */ React14.createElement(
1746
+ DropdownMenu.Item,
1747
+ {
1748
+ disabled: isDisabled,
1749
+ onSelect: () => onClick(id),
1750
+ asChild: true
1751
+ },
1752
+ /* @__PURE__ */ React14.createElement(
1753
+ Box,
1754
+ {
1755
+ width: "full",
1756
+ display: "flex",
1757
+ alignItems: "center",
1758
+ justifyContent: "space-between",
1759
+ gap: "24",
1760
+ paddingY: verticalPadding,
1761
+ paddingX: horizontalPadding,
1762
+ className: clsx2(
1763
+ isDisabled ? disabledDropdownItemStyles : enabledDropdownItemStyles
1764
+ ),
1765
+ boxShadow: isSelected ? "selectedDropdownItem" : void 0,
1766
+ borderRadius
1767
+ },
1768
+ /* @__PURE__ */ React14.createElement(
1769
+ Box,
1770
+ {
1771
+ display: "flex",
1772
+ alignItems: "center",
1773
+ justifyContent: "flex-start",
1774
+ gap: horizontalIconGap
1775
+ },
1776
+ iconComponent && /* @__PURE__ */ React14.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "center" }, iconComponent),
1777
+ /* @__PURE__ */ React14.createElement(Box, { display: "flex", flexDirection: "column", justifyContent: "center" }, /* @__PURE__ */ React14.createElement(
1778
+ Text,
1779
+ {
1780
+ size: "dropdownItemFontSize",
1781
+ weight: "medium",
1782
+ color: isSelected ? "selectedDropdownItemText" : void 0
1783
+ },
1784
+ label
1785
+ ), description && /* @__PURE__ */ React14.createElement(Text, { size: "12", color: "secondaryText" }, description))
1786
+ ),
1787
+ /* @__PURE__ */ React14.createElement(
1788
+ Box,
1789
+ {
1790
+ display: "flex",
1791
+ alignItems: "center",
1792
+ justifyContent: "center",
1793
+ gap: "16"
1794
+ },
1795
+ tagComponent,
1796
+ /* @__PURE__ */ React14.createElement(
1797
+ Box,
1798
+ {
1799
+ width: "16",
1800
+ height: "16",
1801
+ alignItems: "center",
1802
+ justifyContent: "center",
1803
+ color: isSelected ? "selectedDropdownItemText" : "transparent"
1804
+ },
1805
+ /* @__PURE__ */ React14.createElement(CheckIcon, null)
1806
+ )
1807
+ )
1808
+ )
1809
+ );
1810
+ }
1811
+ var BaseDropdownItem_default = BaseDropdownItem;
1812
+
1813
+ // src/components/Icons/CaretDownIcon.tsx
1814
+ import clsx3 from "clsx";
1815
+ import React15 from "react";
1816
+
1817
+ // src/components/Icons/CaretDownIcon.css.ts
1818
+ var caretClosed = "CaretDownIcon_caretClosed__1gjdf1i3";
1819
+ var caretOpened = "CaretDownIcon_caretOpened__1gjdf1i2";
1820
+
1821
+ // src/components/Icons/CaretDownIcon.tsx
1822
+ var CaretDownIcon = () => {
1823
+ return /* @__PURE__ */ React15.createElement(
1824
+ "svg",
1825
+ {
1826
+ width: "8",
1827
+ height: "5",
1828
+ viewBox: "0 0 8 5",
1829
+ fill: "none",
1830
+ xmlns: "http://www.w3.org/2000/svg"
1831
+ },
1832
+ /* @__PURE__ */ React15.createElement(
1833
+ "path",
1834
+ {
1835
+ d: "M3.45163 2.92973L0.879121 0.393174C0.654314 0.188182 0.317464 0.217886 0.126753 0.459527C-0.0639587 0.701168 -0.036324 1.06324 0.188483 1.26824L3.60944 4.64138C3.65478 4.68988 3.70789 4.72919 3.76623 4.7574C3.83874 4.79249 3.91764 4.80968 3.99714 4.80771C4.07647 4.80576 4.15489 4.78486 4.22578 4.74655C4.23264 4.74283 4.23943 4.73894 4.24614 4.7349C4.28505 4.71152 4.32107 4.68295 4.35332 4.64987L7.82907 1.18704C8.04528 0.97163 8.0581 0.608604 7.8577 0.376205C7.6573 0.143806 7.31956 0.130027 7.10335 0.345432L4.51922 2.91996C4.51922 2.94623 4 3.43025 4 3.43025L3.45163 2.92973Z",
1836
+ fill: "currentColor"
1837
+ }
1838
+ )
1839
+ );
1840
+ };
1841
+ var AnimatedCaretDownIcon = ({
1842
+ expanded,
1843
+ color = "primaryText",
1844
+ compact = false
1845
+ }) => {
1846
+ const animationClassName = clsx3(
1847
+ expanded !== void 0 && (expanded ? caretOpened : caretClosed)
1848
+ );
1849
+ if (compact) {
1850
+ return /* @__PURE__ */ React15.createElement(
1851
+ Box,
1852
+ {
1853
+ color,
1854
+ width: "8",
1855
+ height: "8",
1856
+ display: "flex",
1857
+ alignItems: "center",
1858
+ justifyContent: "center",
1859
+ className: animationClassName
1860
+ },
1861
+ /* @__PURE__ */ React15.createElement(CaretDownIcon, null)
1862
+ );
1863
+ }
1864
+ return /* @__PURE__ */ React15.createElement(
1865
+ Box,
1866
+ {
1867
+ color,
1868
+ width: "16",
1869
+ height: "16",
1870
+ display: "flex",
1871
+ alignItems: "center",
1872
+ justifyContent: "center",
1873
+ className: animationClassName
1874
+ },
1875
+ /* @__PURE__ */ React15.createElement(
1876
+ Box,
1877
+ {
1878
+ width: "8",
1879
+ height: "8",
1880
+ display: "flex",
1881
+ alignItems: "center",
1882
+ justifyContent: "center"
1883
+ },
1884
+ /* @__PURE__ */ React15.createElement(CaretDownIcon, null)
1885
+ )
1886
+ );
1887
+ };
1888
+
1889
+ // src/components/FunNoResults/FunNoResults.tsx
1890
+ import React18 from "react";
1891
+
1892
+ // src/components/Icons/CoinsIcon.tsx
1893
+ import React16 from "react";
1894
+ var CoinsIcon = ({
1895
+ size = 48,
1896
+ bgColor = "#141C41",
1897
+ iconColor = "#878A98"
1898
+ }) => {
1899
+ return /* @__PURE__ */ React16.createElement(
1900
+ "svg",
1901
+ {
1902
+ width: size,
1903
+ height: size,
1904
+ viewBox: "0 0 48 49",
1905
+ fill: "none",
1906
+ xmlns: "http://www.w3.org/2000/svg"
1907
+ },
1908
+ /* @__PURE__ */ React16.createElement("g", { clipPath: "url(#clip0_30657_22302)" }, /* @__PURE__ */ React16.createElement(
1909
+ "path",
1910
+ {
1911
+ d: "M24 1C36.9787 1 47.5 11.5213 47.5 24.5C47.5 37.4787 36.9787 48 24 48C11.0213 48 0.5 37.4787 0.5 24.5C0.5 11.5213 11.0213 1 24 1Z",
1912
+ fill: bgColor,
1913
+ stroke: bgColor
1914
+ }
1915
+ ), /* @__PURE__ */ React16.createElement("g", { clipPath: "url(#clip1_30657_22302)" }, /* @__PURE__ */ React16.createElement(
1916
+ "path",
1917
+ {
1918
+ d: "M25 17C25 18.1046 22.5376 19 19.5 19C16.4624 19 14 18.1046 14 17M25 17C25 15.8954 22.5376 15 19.5 15C16.4624 15 14 15.8954 14 17M25 17V18.5M14 17V29C14 30.1046 16.4624 31 19.5 31M19.5 23C19.3315 23 19.1647 22.9972 19 22.9918C16.1967 22.9 14 22.0433 14 21M19.5 27C16.4624 27 14 26.1046 14 25M34 23.5C34 24.6046 31.5376 25.5 28.5 25.5C25.4624 25.5 23 24.6046 23 23.5M34 23.5C34 22.3954 31.5376 21.5 28.5 21.5C25.4624 21.5 23 22.3954 23 23.5M34 23.5V31C34 32.1046 31.5376 33 28.5 33C25.4624 33 23 32.1046 23 31V23.5M34 27.25C34 28.3546 31.5376 29.25 28.5 29.25C25.4624 29.25 23 28.3546 23 27.25",
1919
+ stroke: iconColor,
1920
+ strokeWidth: "1.5",
1921
+ strokeLinecap: "round",
1922
+ strokeLinejoin: "round"
1923
+ }
1924
+ ))),
1925
+ /* @__PURE__ */ React16.createElement("defs", null, /* @__PURE__ */ React16.createElement("clipPath", { id: "clip0_30657_22302" }, /* @__PURE__ */ React16.createElement(
1926
+ "rect",
1927
+ {
1928
+ width: "48",
1929
+ height: "48",
1930
+ fill: "white",
1931
+ transform: "translate(0 0.5)"
1932
+ }
1933
+ )), /* @__PURE__ */ React16.createElement("clipPath", { id: "clip1_30657_22302" }, /* @__PURE__ */ React16.createElement(
1934
+ "rect",
1935
+ {
1936
+ width: "24",
1937
+ height: "24",
1938
+ fill: "white",
1939
+ transform: "translate(12 12)"
1940
+ }
1941
+ )))
1942
+ );
1943
+ };
1944
+
1945
+ // src/components/Icons/SearchSkeletonIcon.tsx
1946
+ import React17 from "react";
1947
+ var SearchSkeletonIcon = () => {
1948
+ return /* @__PURE__ */ React17.createElement(
1949
+ "svg",
1950
+ {
1951
+ width: "122",
1952
+ height: "81",
1953
+ viewBox: "0 0 122 81",
1954
+ fill: "none",
1955
+ xmlns: "http://www.w3.org/2000/svg"
1956
+ },
1957
+ /* @__PURE__ */ React17.createElement("g", { clipPath: "url(#clip0_7590_15835)" }, /* @__PURE__ */ React17.createElement(
1958
+ "path",
1959
+ {
1960
+ fillRule: "evenodd",
1961
+ clipRule: "evenodd",
1962
+ d: "M99.5636 34.0159C92.9099 34.0159 87.5159 39.4099 87.5159 46.0636C87.5159 52.7174 92.9099 58.1114 99.5636 58.1114C106.217 58.1114 111.611 52.7174 111.611 46.0636C111.611 39.4099 106.217 34.0159 99.5636 34.0159ZM83.5 46.0636C83.5 37.1919 90.6919 30 99.5636 30C108.435 30 115.627 37.1919 115.627 46.0636C115.627 49.7758 114.368 53.1938 112.254 55.9139L120.912 64.5722C121.696 65.3564 121.696 66.6277 120.912 67.4119C120.128 68.196 118.856 68.196 118.072 67.4119L109.414 58.7536C106.694 60.8681 103.276 62.1273 99.5636 62.1273C90.6919 62.1273 83.5 54.9353 83.5 46.0636Z",
1963
+ fill: "currentColor"
1964
+ }
1965
+ ), /* @__PURE__ */ React17.createElement(
1966
+ "path",
1967
+ {
1968
+ d: "M117.5 8H4.5C2.29086 8 0.5 9.79086 0.5 12V20C0.5 22.2091 2.29086 24 4.5 24H117.5C119.709 24 121.5 22.2091 121.5 20V12C121.5 9.79086 119.709 8 117.5 8Z",
1969
+ fill: "currentColor"
1970
+ }
1971
+ ), /* @__PURE__ */ React17.createElement(
1972
+ "path",
1973
+ {
1974
+ d: "M71.5 30H4.5C2.29086 30 0.5 31.7909 0.5 34V42C0.5 44.2091 2.29086 46 4.5 46H71.5C73.7091 46 75.5 44.2091 75.5 42V34C75.5 31.7909 73.7091 30 71.5 30Z",
1975
+ fill: "currentColor"
1976
+ }
1977
+ ), /* @__PURE__ */ React17.createElement(
1978
+ "path",
1979
+ {
1980
+ d: "M71.5 52H4.5C2.29086 52 0.5 53.7909 0.5 56V64C0.5 66.2091 2.29086 68 4.5 68H71.5C73.7091 68 75.5 66.2091 75.5 64V56C75.5 53.7909 73.7091 52 71.5 52Z",
1981
+ fill: "currentColor"
1982
+ }
1983
+ )),
1984
+ /* @__PURE__ */ React17.createElement("defs", null, /* @__PURE__ */ React17.createElement("clipPath", { id: "clip0_7590_15835" }, /* @__PURE__ */ React17.createElement(
1985
+ "rect",
1986
+ {
1987
+ width: "121",
1988
+ height: "81",
1989
+ fill: "white",
1990
+ transform: "translate(0.5)"
1991
+ }
1992
+ )))
1993
+ );
1994
+ };
1995
+
1996
+ // src/components/FunNoResults/FunNoResults.tsx
1997
+ var FunNoResults = ({
1998
+ text,
1999
+ title,
2000
+ variant = "default",
2001
+ actionButton
2002
+ }) => {
2003
+ return /* @__PURE__ */ React18.createElement(
2004
+ Box,
2005
+ {
2006
+ display: "flex",
2007
+ flexDirection: "column",
2008
+ justifyContent: "center",
2009
+ alignItems: "center",
2010
+ gap: variant === "default" ? "12" : "16",
2011
+ color: "secondaryText",
2012
+ style: { flex: 1 }
2013
+ },
2014
+ variant === "default" && /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(SearchSkeletonIcon, null), /* @__PURE__ */ React18.createElement(Text, { color: "secondaryText", size: "10" }, text)),
2015
+ variant === "actionable" && /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(
2016
+ CoinsIcon,
2017
+ {
2018
+ bgColor: themeVars.colors.offBackground,
2019
+ iconColor: themeVars.colors.actionColor
2020
+ }
2021
+ ), /* @__PURE__ */ React18.createElement(
2022
+ Box,
2023
+ {
2024
+ display: "flex",
2025
+ flexDirection: "column",
2026
+ alignItems: "center",
2027
+ gap: "12"
2028
+ },
2029
+ /* @__PURE__ */ React18.createElement(
2030
+ Box,
2031
+ {
2032
+ display: "flex",
2033
+ flexDirection: "column",
2034
+ alignItems: "center",
2035
+ textAlign: "center",
2036
+ gap: "8"
2037
+ },
2038
+ title && /* @__PURE__ */ React18.createElement(Text, { size: "14", color: "primaryText" }, title),
2039
+ /* @__PURE__ */ React18.createElement(Text, { color: "secondaryText", size: "12" }, text)
2040
+ ),
2041
+ actionButton && /* @__PURE__ */ React18.createElement(Box, null, actionButton)
2042
+ ))
2043
+ );
2044
+ };
2045
+
2046
+ // src/components/Icons/SwitchIcon.tsx
2047
+ import React19 from "react";
2048
+ var SwitchIcon = () => {
2049
+ return /* @__PURE__ */ React19.createElement(
2050
+ "svg",
2051
+ {
2052
+ width: "15",
2053
+ height: "14",
2054
+ viewBox: "0 0 15 14",
2055
+ fill: "none",
2056
+ xmlns: "http://www.w3.org/2000/svg"
2057
+ },
2058
+ /* @__PURE__ */ React19.createElement(
2059
+ "path",
2060
+ {
2061
+ fillRule: "evenodd",
2062
+ clipRule: "evenodd",
2063
+ d: "M0.96967 4.86358C0.676777 4.57069 0.676777 4.09582 0.96967 3.80292L3.63634 1.13626C3.92923 0.843363 4.4041 0.843363 4.697 1.13626L7.36366 3.80292C7.65656 4.09582 7.65656 4.57069 7.36366 4.86358C7.07077 5.15648 6.5959 5.15648 6.303 4.86358L4.91667 3.47725L4.91667 12.3333C4.91667 12.7475 4.58088 13.0833 4.16667 13.0833C3.75245 13.0833 3.41667 12.7475 3.41667 12.3333L3.41667 3.47725L2.03033 4.86358C1.73744 5.15648 1.26256 5.15648 0.96967 4.86358ZM7.63634 9.13626C7.92923 8.84336 8.4041 8.84336 8.697 9.13626L10.0833 10.5226V1.66659C10.0833 1.25237 10.4191 0.916586 10.8333 0.916586C11.2475 0.916586 11.5833 1.25237 11.5833 1.66659V10.5226L12.9697 9.13626C13.2626 8.84336 13.7374 8.84336 14.0303 9.13626C14.3232 9.42915 14.3232 9.90402 14.0303 10.1969L11.3637 12.8636C11.0708 13.1565 10.5959 13.1565 10.303 12.8636L7.63634 10.1969C7.34344 9.90402 7.34344 9.42915 7.63634 9.13626Z",
2064
+ fill: "currentColor"
2065
+ }
2066
+ )
2067
+ );
2068
+ };
2069
+
2070
+ // src/components/Dropdown/BaseDropdown.css.ts
2071
+ var BORDER_RADIUS = "dropdown";
2072
+ var baseDropdownItemWrapperStyles = "BaseDropdown_baseDropdownItemWrapperStyles__1nns6ys3 sprinkles_borderRadius_dropdownItem__1rsrm2f17";
2073
+ var scrollGradientWrapperStyles = "BaseDropdown_scrollGradientWrapperStyles__1nns6ys1";
2074
+ var scrollableDropdownStyles = "BaseDropdown_scrollableDropdownStyles__1nns6ys0";
2075
+
2076
+ // src/providers/FunkitStatsigProvider.tsx
2077
+ import { datadogLogs } from "@datadog/browser-logs";
2078
+ import {
2079
+ LogEventCompressionMode,
2080
+ LogLevel,
2081
+ StatsigProvider,
2082
+ useClientAsyncInit
2083
+ } from "@statsig/react-bindings";
2084
+ import React20, { useEffect as useEffect4 } from "react";
2085
+ var STATSIG_CLIENT_KEY = "client-UmFd8WIJljA7cLmZuDqs3X25M8sKd5WIQP4BSC2bRbM";
2086
+
2087
+ // src/providers/FunkitProvider.tsx
2088
+ var ThemeIdContext2 = createContext3(void 0);
2089
+ var attr = "data-rk";
2090
+ var createThemeRootProps = (id) => ({ [attr]: id || "" });
2091
+ var useThemeRootProps = () => {
2092
+ const id = useContext3(ThemeIdContext2);
2093
+ return createThemeRootProps(id);
2094
+ };
2095
+
2096
+ // src/components/Dropdown/BaseActiveDropdownItem.tsx
2097
+ import React22 from "react";
2098
+
2099
+ // src/components/Dropdown/BaseActiveDropdownItem.css.ts
2100
+ var baseStyles = "BaseActiveDropdownItem_baseStyles__1dewiqw0";
2101
+
2102
+ // src/components/Dropdown/BaseActiveDropdownItem.tsx
2103
+ function BaseActiveDropdownItem({
2104
+ iconComponent,
2105
+ label,
2106
+ isOpened,
2107
+ onClick,
2108
+ horizontalIconGap = "dropdownItemIconGap",
2109
+ alwaysVisibleLabel,
2110
+ tagComponent,
2111
+ tagPosition = "start",
2112
+ size = "regular",
2113
+ color = "primaryText",
2114
+ arrowColor = "secondaryText",
2115
+ background,
2116
+ labelStyle,
2117
+ compactIcon = false
2118
+ }) {
2119
+ return /* @__PURE__ */ React22.createElement(
2120
+ Box,
2121
+ {
2122
+ display: "flex",
2123
+ alignItems: "center",
2124
+ justifyContent: "space-between",
2125
+ gap: "6",
2126
+ cursor: "pointer",
2127
+ onClick,
2128
+ background: background ?? {
2129
+ base: "dropdownActiveItemBackgroundBase",
2130
+ hover: "dropdownActiveItemBackgroundHover"
2131
+ },
2132
+ borderColor: {
2133
+ base: "dropdownActiveItemBorderBase",
2134
+ hover: "dropdownActiveItemBorderHover"
2135
+ },
2136
+ borderWidth: size === "compact" ? "0" : "1",
2137
+ borderRadius: BORDER_RADIUS,
2138
+ borderStyle: "solid",
2139
+ paddingY: size === "compact" ? "2" : size === "large" ? "10" : "dropdownActiveItemRegularSizePaddingY",
2140
+ paddingX: size === "compact" ? "4" : size === "large" ? "8" : "dropdownPaddingX",
2141
+ className: baseStyles
2142
+ },
2143
+ /* @__PURE__ */ React22.createElement(
2144
+ Box,
2145
+ {
2146
+ display: "flex",
2147
+ alignItems: "center",
2148
+ justifyContent: "space-between",
2149
+ gap: horizontalIconGap,
2150
+ style: size === "compact" ? void 0 : { flex: "1 0 auto" }
2151
+ },
2152
+ alwaysVisibleLabel && /* @__PURE__ */ React22.createElement(Box, { style: { flex: 1 } }, /* @__PURE__ */ React22.createElement(Text, { color: "secondaryText", size: "12" }, alwaysVisibleLabel)),
2153
+ /* @__PURE__ */ React22.createElement(
2154
+ Box,
2155
+ {
2156
+ display: "flex",
2157
+ alignItems: "center",
2158
+ justifyContent: "space-between",
2159
+ gap: horizontalIconGap,
2160
+ background: {
2161
+ base: "transparent",
2162
+ hover: "alwaysVisibleLabelBackgroundHover"
2163
+ },
2164
+ ...alwaysVisibleLabel ? {} : { style: { flex: 1 } }
2165
+ },
2166
+ /* @__PURE__ */ React22.createElement(
2167
+ Box,
2168
+ {
2169
+ display: "flex",
2170
+ alignItems: "center",
2171
+ justifyContent: "center",
2172
+ gap: horizontalIconGap,
2173
+ ...alwaysVisibleLabel ? { style: { flexDirection: "row-reverse" } } : {}
2174
+ },
2175
+ tagPosition === "start" && tagComponent,
2176
+ /* @__PURE__ */ React22.createElement(Box, { display: "flex", alignItems: "center", gap: horizontalIconGap }, iconComponent && /* @__PURE__ */ React22.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "center" }, iconComponent), /* @__PURE__ */ React22.createElement(
2177
+ Text,
2178
+ {
2179
+ color,
2180
+ size: "dropdownItemFontSize",
2181
+ weight: "medium",
2182
+ style: labelStyle
2183
+ },
2184
+ label
2185
+ ))
2186
+ ),
2187
+ /* @__PURE__ */ React22.createElement(Box, { display: "flex", alignItems: "center", gap: "5" }, tagPosition === "end" && tagComponent, /* @__PURE__ */ React22.createElement(
2188
+ AnimatedCaretDownIcon,
2189
+ {
2190
+ expanded: isOpened,
2191
+ color: arrowColor,
2192
+ compact: compactIcon
2193
+ }
2194
+ ))
2195
+ )
2196
+ )
2197
+ );
2198
+ }
2199
+ var BaseActiveDropdownItem_default = BaseActiveDropdownItem;
2200
+
2201
+ // src/components/Dropdown/BaseDropdown.utils.ts
2202
+ var NO_SELECTION_VALUE = "";
2203
+ var ADDITIONAL_GROUP_KEY = "__additional__";
2204
+ function buildAllOptions(options, allowUnselect, unselectLabel) {
2205
+ if (allowUnselect) {
2206
+ return [
2207
+ {
2208
+ label: unselectLabel ?? "",
2209
+ value: NO_SELECTION_VALUE
2210
+ },
2211
+ ...options
2212
+ ];
2213
+ }
2214
+ return options;
2215
+ }
2216
+ function filterOptions(allOptions, searchInput) {
2217
+ const search = searchInput?.trim().toLowerCase() ?? "";
2218
+ return allOptions.filter(
2219
+ (option) => option.label.toLowerCase().includes(search)
2220
+ );
2221
+ }
2222
+ function organizeDropdownGroups(filteredOptions, groups, additionalGroup, additionalGroupLabel) {
2223
+ const organizedGroups = [];
2224
+ if (!groups) {
2225
+ organizedGroups.push({
2226
+ key: ADDITIONAL_GROUP_KEY,
2227
+ label: void 0,
2228
+ options: filteredOptions
2229
+ });
2230
+ return {
2231
+ organizedGroups,
2232
+ organizedOptions: filteredOptions
2233
+ };
2234
+ }
2235
+ const unselectOption = filteredOptions.find(
2236
+ (option) => option.value === NO_SELECTION_VALUE
2237
+ );
2238
+ if (unselectOption) {
2239
+ organizedGroups.push({
2240
+ key: NO_SELECTION_VALUE,
2241
+ label: void 0,
2242
+ options: [unselectOption]
2243
+ });
2244
+ }
2245
+ const optionsByValue = new Map(
2246
+ filteredOptions.filter((option) => option.value !== NO_SELECTION_VALUE).map((option) => [option.value, option])
2247
+ );
2248
+ const inflatedGroups = groups.map((group) => ({
2249
+ ...group,
2250
+ // Only take the options that actually exist
2251
+ // Note that this preserves the ordering of `group.values`
2252
+ options: group.values.map((value) => optionsByValue.get(value)).filter((option) => !!option)
2253
+ })).filter((group) => group.options.length > 0);
2254
+ const hasNonEmptyGroup = inflatedGroups.length > 0;
2255
+ for (const group of inflatedGroups) {
2256
+ organizedGroups.push({
2257
+ key: group.key,
2258
+ label: group.label,
2259
+ options: group.options
2260
+ });
2261
+ if (additionalGroup === "others") {
2262
+ for (const option of group.options) {
2263
+ optionsByValue.delete(option.value);
2264
+ }
2265
+ }
2266
+ }
2267
+ if (optionsByValue.size > 0) {
2268
+ organizedGroups.push({
2269
+ key: ADDITIONAL_GROUP_KEY,
2270
+ // Only show additional group label if there actually are other groups
2271
+ label: hasNonEmptyGroup ? additionalGroupLabel : void 0,
2272
+ options: [...optionsByValue.values()]
2273
+ });
2274
+ }
2275
+ const organizedOptions = organizedGroups.flatMap((group) => group.options);
2276
+ return { organizedGroups, organizedOptions };
2277
+ }
2278
+
2279
+ // src/components/Dropdown/BaseDropdown.tsx
2280
+ var HORIZONTAL_ICON_GAP = "4";
2281
+ var activeDropdownItemSize = {
2282
+ compact: "18",
2283
+ regular: "36",
2284
+ large: "40"
2285
+ };
2286
+ function BaseDropdown({
2287
+ activeItemProps,
2288
+ value,
2289
+ options,
2290
+ groups,
2291
+ additionalGroup = "others",
2292
+ additionalGroupLabel,
2293
+ allowUnselect = false,
2294
+ unselectLabel,
2295
+ onOptionSelected,
2296
+ onOpen,
2297
+ renderDropdownOption,
2298
+ searchableOptions = false,
2299
+ searchPlaceholder,
2300
+ placeholder,
2301
+ resetSearchOnClose = true,
2302
+ openToTopOnMobile = true,
2303
+ alwaysOpenToTop = false,
2304
+ openDropdownFullWidth = true,
2305
+ isLoading = false,
2306
+ preloadIconUrls,
2307
+ horizontalIconGap = HORIZONTAL_ICON_GAP,
2308
+ openDropdownBackgroundColor = "openDropdownBackgroundColor",
2309
+ size = "regular",
2310
+ label,
2311
+ maxDropdownHeight,
2312
+ dropdownWidth,
2313
+ dropdownAlign = "end",
2314
+ testId
2315
+ }) {
2316
+ const { t } = useFunkitTranslation();
2317
+ const themeRootProps = useThemeRootProps();
2318
+ const isMobileDevice = isMobile();
2319
+ const [isOpened, setIsOpened] = useState5(false);
2320
+ const [searchInput, setSearchInput] = useState5("");
2321
+ const { ref: scrollRef, hasTopDivider, isAtBottom } = useScrollDivider();
2322
+ const allOptions = useMemo2(
2323
+ () => buildAllOptions(options, allowUnselect, unselectLabel),
2324
+ [options, allowUnselect, unselectLabel]
2325
+ );
2326
+ const selectedOption = allOptions.find((option) => option.value === value);
2327
+ const prevIsOpenedRef = useRef2(false);
2328
+ const portalThemeRef = useRef2(null);
2329
+ const handleSearch = (event) => {
2330
+ setSearchInput(event.target.value);
2331
+ };
2332
+ const filteredOptions = useMemo2(
2333
+ () => filterOptions(allOptions, searchInput),
2334
+ [allOptions, searchInput]
2335
+ );
2336
+ const { organizedGroups, organizedOptions } = useMemo2(
2337
+ () => organizeDropdownGroups(
2338
+ filteredOptions,
2339
+ groups,
2340
+ additionalGroup,
2341
+ additionalGroupLabel
2342
+ ),
2343
+ [additionalGroup, additionalGroupLabel, filteredOptions, groups]
2344
+ );
2345
+ const handleOpenChange = useCallback2(
2346
+ (open) => {
2347
+ setIsOpened(open);
2348
+ if (open) {
2349
+ onOpen?.();
2350
+ } else {
2351
+ resetSearchOnClose && setSearchInput("");
2352
+ }
2353
+ },
2354
+ [onOpen, resetSearchOnClose]
2355
+ );
2356
+ useEffect6(() => {
2357
+ if (isOpened && !prevIsOpenedRef.current) {
2358
+ prevIsOpenedRef.current = true;
2359
+ if (selectedOption) {
2360
+ const selectedOptionIndex = organizedOptions.findIndex(
2361
+ (option) => option.value === selectedOption.value
2362
+ );
2363
+ if (selectedOptionIndex !== -1) {
2364
+ requestAnimationFrame(() => {
2365
+ const selectedOptionElement = document.getElementById(
2366
+ `${selectedOption.value}-dropdown-item`
2367
+ );
2368
+ selectedOptionElement?.scrollIntoView({
2369
+ behavior: "instant",
2370
+ block: "center"
2371
+ });
2372
+ });
2373
+ }
2374
+ }
2375
+ } else if (!isOpened) {
2376
+ prevIsOpenedRef.current = false;
2377
+ }
2378
+ }, [isOpened, selectedOption, organizedOptions]);
2379
+ const dropdownSide = alwaysOpenToTop || openToTopOnMobile && isMobileDevice ? "top" : "bottom";
2380
+ return /* @__PURE__ */ React23.createElement(Box, { display: "flex", flexDirection: "column", gap: "4", testId }, label && /* @__PURE__ */ React23.createElement(Text, { size: "12", color: "secondaryText" }, label), /* @__PURE__ */ React23.createElement(
2381
+ DropdownMenu2.Root,
2382
+ {
2383
+ open: isOpened,
2384
+ onOpenChange: handleOpenChange,
2385
+ modal: false
2386
+ },
2387
+ /* @__PURE__ */ React23.createElement(
2388
+ Box,
2389
+ {
2390
+ position: "relative",
2391
+ display: size === "compact" ? "flex" : void 0
2392
+ },
2393
+ isLoading ? /* @__PURE__ */ React23.createElement(FunSkeletonBlock, { height: activeDropdownItemSize[size] }) : /* @__PURE__ */ React23.createElement(DropdownMenu2.Trigger, { asChild: true }, /* @__PURE__ */ React23.createElement("div", null, /* @__PURE__ */ React23.createElement(
2394
+ BaseActiveDropdownItem_default,
2395
+ {
2396
+ ...activeItemProps,
2397
+ size,
2398
+ horizontalIconGap,
2399
+ isOpened,
2400
+ label: activeItemProps?.label ?? selectedOption?.label ?? placeholder ?? ""
2401
+ }
2402
+ ))),
2403
+ /* @__PURE__ */ React23.createElement(DropdownMenu2.Portal, null, /* @__PURE__ */ React23.createElement(
2404
+ DropdownMenu2.Content,
2405
+ {
2406
+ ...themeRootProps,
2407
+ ref: portalThemeRef,
2408
+ side: dropdownSide,
2409
+ sideOffset: dropdownSide === "top" ? 8 : 6,
2410
+ align: dropdownAlign,
2411
+ className: "funkit-dropdown-content",
2412
+ style: {
2413
+ zIndex: `calc(${themeVars.modalZIndex} + 1)`,
2414
+ width: dropdownWidth ? `${dropdownWidth}px` : openDropdownFullWidth ? "var(--radix-dropdown-menu-trigger-width)" : void 0,
2415
+ transformOrigin: "var(--radix-dropdown-menu-content-transform-origin)"
2416
+ },
2417
+ onCloseAutoFocus: (e) => e.preventDefault()
2418
+ },
2419
+ /* @__PURE__ */ React23.createElement(TooltipAnchorRefContext.Provider, { value: portalThemeRef }, /* @__PURE__ */ React23.createElement(
2420
+ Box,
2421
+ {
2422
+ background: openDropdownBackgroundColor,
2423
+ borderColor: "transparent",
2424
+ borderWidth: "1",
2425
+ borderRadius: "dropdownList",
2426
+ borderStyle: "solid",
2427
+ boxShadow: "dropdown",
2428
+ className: maxDropdownHeight ? scrollGradientWrapperStyles : void 0,
2429
+ "data-fade-top": maxDropdownHeight && hasTopDivider ? "true" : "false",
2430
+ "data-fade-bottom": maxDropdownHeight && !isAtBottom ? "true" : "false"
2431
+ },
2432
+ /* @__PURE__ */ React23.createElement(
2433
+ Box,
2434
+ {
2435
+ className: maxDropdownHeight ? scrollableDropdownStyles : void 0,
2436
+ ref: maxDropdownHeight ? scrollRef : void 0,
2437
+ style: { maxHeight: maxDropdownHeight }
2438
+ },
2439
+ /* @__PURE__ */ React23.createElement(Box, { display: "flex", flexDirection: "column" }, searchableOptions && /* @__PURE__ */ React23.createElement(Box, { paddingTop: "8", paddingX: "8" }, /* @__PURE__ */ React23.createElement(
2440
+ FunInput,
2441
+ {
2442
+ placeholder: searchPlaceholder ?? t("common.searchTokens"),
2443
+ value: searchInput,
2444
+ onChange: handleSearch,
2445
+ prefixIcon: "SearchIcon"
2446
+ }
2447
+ )), organizedOptions.length === 0 ? /* @__PURE__ */ React23.createElement(FunNoResults, { text: t("common.noResultsFound") }) : /* @__PURE__ */ React23.createElement(
2448
+ Box,
2449
+ {
2450
+ as: "ul",
2451
+ display: "flex",
2452
+ flexDirection: "column",
2453
+ paddingY: size === "compact" ? "dropdownCompactPaddingY" : "dropdownPaddingY"
2454
+ },
2455
+ organizedGroups.map(
2456
+ ({
2457
+ key: groupKey,
2458
+ label: groupLabel,
2459
+ options: optionsInGroup
2460
+ }, groupIndex) => /* @__PURE__ */ React23.createElement(React23.Fragment, { key: groupKey }, groupIndex > 0 && /* @__PURE__ */ React23.createElement(
2461
+ Box,
2462
+ {
2463
+ height: "1",
2464
+ background: "lightStroke",
2465
+ marginY: "dropdownGroupDividerMarginY"
2466
+ }
2467
+ ), groupLabel && /* @__PURE__ */ React23.createElement(
2468
+ Box,
2469
+ {
2470
+ paddingX: size === "compact" ? "dropdownCompactPaddingX" : "dropdownPaddingX"
2471
+ },
2472
+ /* @__PURE__ */ React23.createElement(
2473
+ Box,
2474
+ {
2475
+ paddingX: "dropdownItemPaddingX",
2476
+ paddingY: "dropdownItemPaddingY"
2477
+ },
2478
+ /* @__PURE__ */ React23.createElement(
2479
+ Text,
2480
+ {
2481
+ color: "dropdownGroupHeader",
2482
+ font: "dropdownGroupHeader",
2483
+ size: "dropdownGroupHeader",
2484
+ weight: "dropdownGroupHeader"
2485
+ },
2486
+ groupLabel
2487
+ )
2488
+ )
2489
+ ), optionsInGroup.map((singleOption) => {
2490
+ const isSelected = singleOption.value === selectedOption?.value;
2491
+ return /* @__PURE__ */ React23.createElement(
2492
+ Box,
2493
+ {
2494
+ key: singleOption.value,
2495
+ paddingX: size === "compact" ? "dropdownCompactPaddingX" : "dropdownPaddingX"
2496
+ },
2497
+ /* @__PURE__ */ React23.createElement(
2498
+ Box,
2499
+ {
2500
+ id: `${singleOption.value}-dropdown-item`,
2501
+ as: "li",
2502
+ background: {
2503
+ base: isSelected ? "selectedDropdownItemBackground" : "transparent",
2504
+ hover: "offBackground"
2505
+ },
2506
+ className: baseDropdownItemWrapperStyles,
2507
+ onClick: () => {
2508
+ onOptionSelected?.(singleOption);
2509
+ }
2510
+ },
2511
+ renderDropdownOption(
2512
+ singleOption,
2513
+ isSelected
2514
+ )
2515
+ )
2516
+ );
2517
+ }))
2518
+ )
2519
+ ))
2520
+ )
2521
+ ))
2522
+ )),
2523
+ preloadIconUrls && /* @__PURE__ */ React23.createElement(
2524
+ Box,
2525
+ {
2526
+ display: "none",
2527
+ "aria-hidden": true,
2528
+ style: { position: "absolute", top: "-100%", left: "-100%" }
2529
+ },
2530
+ preloadIconUrls.map((url, index) => /* @__PURE__ */ React23.createElement("img", { key: `${url}-${index}`, src: url, alt: "" }))
2531
+ )
2532
+ )
2533
+ ));
2534
+ }
2535
+ var BaseDropdown_default = BaseDropdown;
2536
+
2537
+ // src/components/Dropdown/AccountSelectDropdown.tsx
2538
+ var ACCOUNTS_GROUP = "accounts";
2539
+ var ACTION_GROUP = "action";
2540
+ function AccountSelectDropdown({
2541
+ accounts,
2542
+ selectedValue,
2543
+ onSelect,
2544
+ action,
2545
+ prefixLabel,
2546
+ label,
2547
+ size,
2548
+ dropdownWidth,
2549
+ testId
2550
+ }) {
2551
+ const options = [
2552
+ ...accounts.map((account) => ({
2553
+ value: account.value,
2554
+ label: account.label
2555
+ })),
2556
+ ...action ? [{ value: action.id, label: action.label }] : []
2557
+ ];
2558
+ const groups = action ? [
2559
+ {
2560
+ key: ACCOUNTS_GROUP,
2561
+ label: "",
2562
+ values: accounts.map((account) => account.value)
2563
+ },
2564
+ { key: ACTION_GROUP, label: "", values: [action.id] }
2565
+ ] : void 0;
2566
+ return /* @__PURE__ */ React24.createElement(
2567
+ BaseDropdown_default,
2568
+ {
2569
+ testId,
2570
+ label,
2571
+ size,
2572
+ dropdownWidth,
2573
+ value: selectedValue,
2574
+ options,
2575
+ groups,
2576
+ activeItemProps: { alwaysVisibleLabel: prefixLabel },
2577
+ renderDropdownOption: (option, isSelected) => {
2578
+ if (action && option.value === action.id) {
2579
+ return /* @__PURE__ */ React24.createElement(
2580
+ BaseDropdownItem_default,
2581
+ {
2582
+ id: option.value,
2583
+ label: option.label,
2584
+ iconComponent: action.icon && // Render the icon in the theme's primary text colour
2585
+ // (the icon uses `currentColor`), matching the label.
2586
+ /* @__PURE__ */ React24.createElement(Box, { display: "flex", color: "primaryText" }, action.icon),
2587
+ horizontalIconGap: "8",
2588
+ onClick: action.onSelect
2589
+ }
2590
+ );
2591
+ }
2592
+ const account = accounts.find((item) => item.value === option.value);
2593
+ return /* @__PURE__ */ React24.createElement(
2594
+ BaseDropdownItem_default,
2595
+ {
2596
+ id: option.value,
2597
+ label: option.label,
2598
+ description: account?.description,
2599
+ isSelected,
2600
+ onClick: onSelect
2601
+ }
2602
+ );
2603
+ }
2604
+ }
2605
+ );
2606
+ }
2607
+
2608
+ // src/utils/statsig/checkFeatureGate.ts
2609
+ import { defaultFeatureGates as fallbackFeatureGates } from "@funkit/connect-core";
2610
+ import { StatsigClient } from "@statsig/react-bindings";
2611
+ function checkFeatureGate(name) {
2612
+ try {
2613
+ return StatsigClient.instance(STATSIG_CLIENT_KEY).checkGate(name);
2614
+ } catch (err) {
2615
+ logger.warn("checkFeatureGate:error", { name, err });
2616
+ return fallbackFeatureGates[name];
2617
+ }
2618
+ }
2619
+
2620
+ // src/clients/polymarket/polymarket.tsx
2621
+ var PMCT_WITHDRAW_ACTION_TYPE = "PMCT_WITHDRAW";
2622
+ var POLYGON_USDCE = "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174";
2623
+ var PUSD_TOKEN = {
2624
+ address: POLYMARKET_PUSD_ADDRESS,
2625
+ symbol: "pUSD",
2626
+ iconSrc: "https://sdk-cdn.fun.xyz/images/pusd.svg"
2627
+ };
2628
+ var PUSD_OFFRAMP_ADDRESS = "0x2957922Eb93258b93368531d39fAcCA3B4dC5854";
2629
+ var PUSD_OFFRAMP_ABI = [
2630
+ {
2631
+ name: "unwrap",
2632
+ type: "function",
2633
+ inputs: [
2634
+ { name: "_asset", type: "address" },
2635
+ { name: "_to", type: "address" },
2636
+ { name: "_amount", type: "uint256" }
2637
+ ],
2638
+ outputs: [],
2639
+ stateMutability: "nonpayable"
2640
+ }
2641
+ ];
2642
+ function createPolymarketWithdrawalCallback(config) {
2643
+ const { userId, sendPmctTransfer } = config;
2644
+ return async (param) => {
2645
+ const { targetAssetAddress, targetChainId, destinationAddress, funQuote } = param;
2646
+ logger.info("polymarket:withdrawal:start", {
2647
+ targetChainId,
2648
+ targetAssetAddress,
2649
+ destinationAddress,
2650
+ quoteId: param.quoteId
2651
+ });
2652
+ const transferInit = await initializeCheckoutTokenTransferAddress({
2653
+ apiKey: POLYMARKET_API_KEY,
2654
+ userId,
2655
+ recipientAddr: destinationAddress,
2656
+ toChainId: targetChainId.toString(),
2657
+ toTokenAddress: targetAssetAddress,
2658
+ logger,
2659
+ clientMetadata: {
2660
+ ...generateClientMetadataForTokenTransfer(),
2661
+ isWithdrawal: true
2662
+ },
2663
+ actionType: PMCT_WITHDRAW_ACTION_TYPE
2664
+ });
2665
+ const udaAddress = transferInit.depositAddr;
2666
+ logger.info("polymarket:withdrawal:udaGenerated", { udaAddress });
2667
+ const amountBaseUnit = extractWithdrawalAmount(funQuote);
2668
+ await sendPmctTransfer({
2669
+ udaAddress,
2670
+ amountBaseUnit
2671
+ });
2672
+ logger.info("polymarket:withdrawal:transferSubmitted", {
2673
+ udaAddress,
2674
+ amountBaseUnit: amountBaseUnit.toString()
2675
+ });
2676
+ return void 0;
2677
+ };
2678
+ }
2679
+ function buildUdaWithdrawalConfig(config) {
2680
+ logger.info("polymarket:withdrawal:flow", { flow: "uda" });
2681
+ return {
2682
+ modalTitle: config.modalTitle ?? "Withdraw",
2683
+ disableConnectedWallet: config.disableConnectedWallet,
2684
+ withdrawCallback: createPolymarketWithdrawalCallback(config),
2685
+ sourceChainId: polygon.id.toString(),
2686
+ sourceTokenSymbol: config.sourceTokenSymbol ?? "USDC",
2687
+ defaultReceiveToken: config.defaultReceiveToken ?? "USDC",
2688
+ sourceTokenAddress: config.sourceTokenAddress ?? POLYGON_USDCE,
2689
+ iconSrc: config.iconSrc ?? "https://sdk-cdn.fun.xyz/images/usdc.svg",
2690
+ getMinWithdrawalUSD: () => 3
2691
+ };
2692
+ }
2693
+ function buildWalletUnwrapWithdrawalConfig(config) {
2694
+ logger.info("polymarket:withdrawal:flow", { flow: "wallet-unwrap" });
2695
+ const {
2696
+ proxyAddress,
2697
+ publicClient,
2698
+ sendTransactions: callerSendTransactions,
2699
+ confirmTransaction
2700
+ } = config;
2701
+ const wallet = {
2702
+ address: () => proxyAddress,
2703
+ getChainId: async () => polygon.id,
2704
+ switchChain: async (chainId) => {
2705
+ if (chainId !== polygon.id) {
2706
+ throw new Error(
2707
+ `Cannot switch chain: Polymarket withdrawal is fixed to ${polygon.id}, requested ${chainId}`
2708
+ );
2709
+ }
2710
+ },
2711
+ sendTransaction: async (_chainId, transaction) => callerSendTransactions([transaction]),
2712
+ sendTransactions: async (_chainId, txs) => callerSendTransactions(txs),
2713
+ confirmTransaction: confirmTransaction ?? (async (txHash) => publicClient.waitForTransactionReceipt({ hash: txHash }))
2714
+ };
2715
+ const preWithdrawalAction = async ({
2716
+ funQuote
2717
+ }) => {
2718
+ logger.info("polymarket:withdrawal:wallet:start", { proxyAddress });
2719
+ try {
2720
+ const amountBaseUnit = extractWithdrawalAmount(funQuote);
2721
+ const currentAllowance = await publicClient.readContract({
2722
+ address: PUSD_TOKEN.address,
2723
+ abi: erc20Abi,
2724
+ functionName: "allowance",
2725
+ args: [proxyAddress, PUSD_OFFRAMP_ADDRESS]
2726
+ });
2727
+ const needsApprovalTx = currentAllowance < amountBaseUnit;
2728
+ logger.info("polymarket:withdrawal:wallet:allowanceChecked", {
2729
+ proxyAddress,
2730
+ amountBaseUnit: amountBaseUnit.toString(),
2731
+ currentAllowance: currentAllowance.toString(),
2732
+ needsApprovalTx
2733
+ });
2734
+ const txs = [];
2735
+ if (needsApprovalTx) {
2736
+ txs.push({
2737
+ to: PUSD_TOKEN.address,
2738
+ data: encodeFunctionData({
2739
+ abi: erc20Abi,
2740
+ functionName: "approve",
2741
+ args: [PUSD_OFFRAMP_ADDRESS, amountBaseUnit]
2742
+ }),
2743
+ value: "0"
2744
+ });
2745
+ }
2746
+ txs.push({
2747
+ to: PUSD_OFFRAMP_ADDRESS,
2748
+ data: encodeFunctionData({
2749
+ abi: PUSD_OFFRAMP_ABI,
2750
+ functionName: "unwrap",
2751
+ args: [POLYGON_USDCE, proxyAddress, amountBaseUnit]
2752
+ }),
2753
+ value: "0"
2754
+ });
2755
+ logger.info("polymarket:withdrawal:wallet:txsStaged", {
2756
+ proxyAddress,
2757
+ txCount: txs.length,
2758
+ needsApprovalTx
2759
+ });
2760
+ return txs;
2761
+ } catch (err) {
2762
+ logger.error("polymarket:withdrawal:wallet:error", err, {
2763
+ phase: "preWithdrawal",
2764
+ proxyAddress
2765
+ });
2766
+ throw err;
2767
+ }
2768
+ };
2769
+ return {
2770
+ modalTitle: config.modalTitle ?? "Withdraw",
2771
+ disableConnectedWallet: config.disableConnectedWallet,
2772
+ sourceChainId: polygon.id.toString(),
2773
+ sourceTokenSymbol: config.sourceTokenSymbol ?? PUSD_TOKEN.symbol,
2774
+ sourceTokenAddress: config.sourceTokenAddress ?? POLYGON_USDCE,
2775
+ defaultReceiveToken: config.defaultReceiveToken ?? "USDC",
2776
+ iconSrc: config.iconSrc ?? PUSD_TOKEN.iconSrc,
2777
+ getMinWithdrawalUSD: () => 0,
2778
+ wallet,
2779
+ preWithdrawalAction
2780
+ };
2781
+ }
2782
+ function extractWithdrawalAmount(funQuote) {
2783
+ const quote = funQuote;
2784
+ const amountStr = quote?.baseQuote?.estTotalFromAmountBaseUnit;
2785
+ if (!amountStr) {
2786
+ logger.error("polymarket:withdrawal:missingAmountInQuote", { quote });
2787
+ throw new Error("Missing withdrawal amount in quote");
2788
+ }
2789
+ return BigInt(amountStr);
2790
+ }
2791
+ function createPolymarketWithdrawalConfig(config) {
2792
+ if ("sendPmctTransfer" in config && "sendTransactions" in config) {
2793
+ const walletUnwrapEnabled = checkFeatureGate(
2794
+ "enable-polymarket-wallet-withdrawal"
2795
+ );
2796
+ logger.info("polymarket:withdrawal:gate", { walletUnwrapEnabled });
2797
+ return walletUnwrapEnabled ? buildWalletUnwrapWithdrawalConfig(config) : buildUdaWithdrawalConfig(config);
2798
+ }
2799
+ return "sendPmctTransfer" in config ? buildUdaWithdrawalConfig(config) : buildWalletUnwrapWithdrawalConfig(config);
2800
+ }
2801
+ var COLLATERAL_ONRAMP_ADDRESS = "0x93070a847efEf7F70739046A929D47a521F5B8ee";
2802
+ var COLLATERAL_ONRAMP_ABI = [
2803
+ {
2804
+ name: "wrap",
2805
+ type: "function",
2806
+ inputs: [
2807
+ { name: "_asset", type: "address" },
2808
+ { name: "_to", type: "address" },
2809
+ { name: "_amount", type: "uint256" }
2810
+ ],
2811
+ outputs: [],
2812
+ stateMutability: "nonpayable"
2813
+ }
2814
+ ];
2815
+ var POLYMARKET_PERPS_ADDRESS = "0xdca4af75705dbb50f62437045aff9921947917d2";
2816
+ var POLYMARKET_PERPS_ABI = [
2817
+ {
2818
+ name: "deposit",
2819
+ type: "function",
2820
+ stateMutability: "nonpayable",
2821
+ inputs: [
2822
+ { internalType: "address", name: "token", type: "address" },
2823
+ { internalType: "uint256", name: "amount", type: "uint256" },
2824
+ { internalType: "address", name: "to", type: "address" }
2825
+ ],
2826
+ outputs: []
2827
+ }
2828
+ ];
2829
+ var VAULT_DEPOSITOR_POLYGON = getAddress2(
2830
+ "0xC8A6871D4eC4DaE64f605db0f8a0B3D9ef928D64"
2831
+ );
2832
+ var VAULT_DEPOSITOR_ABI = [
2833
+ {
2834
+ name: "deposit",
2835
+ type: "function",
2836
+ stateMutability: "nonpayable",
2837
+ inputs: [
2838
+ { name: "token", type: "address" },
2839
+ { name: "vault", type: "address" },
2840
+ { name: "callData", type: "bytes" },
2841
+ { name: "minAmountOut", type: "uint256" }
2842
+ ],
2843
+ outputs: [{ name: "returnData", type: "bytes" }]
2844
+ }
2845
+ ];
2846
+ var RELAY_ROUTER_V3_ADDRESS = getAddress2(
2847
+ "0xb92fe925DC43a0ECdE6c8b1a2709c170Ec4fFf4f"
2848
+ );
2849
+ var RELAY_ROUTER_V3_ABI = [
2850
+ {
2851
+ inputs: [
2852
+ { internalType: "address[]", name: "tokens", type: "address[]" },
2853
+ { internalType: "address[]", name: "tos", type: "address[]" },
2854
+ { internalType: "bytes[]", name: "datas", type: "bytes[]" },
2855
+ { internalType: "uint256[]", name: "amounts", type: "uint256[]" }
2856
+ ],
2857
+ name: "cleanupErc20sViaCall",
2858
+ outputs: [],
2859
+ stateMutability: "nonpayable",
2860
+ type: "function"
2861
+ }
2862
+ ];
2863
+ var AMOUNT_PLACEHOLDER = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffdeadbeefn;
2864
+ function createPerpsGenerateActionParams(config) {
2865
+ const { recipientAddress } = config;
2866
+ return async () => {
2867
+ const wrapUsdceToPusd = encodeFunctionData({
2868
+ abi: COLLATERAL_ONRAMP_ABI,
2869
+ functionName: "wrap",
2870
+ args: [POLYGON_USDCE, RELAY_ROUTER_V3_ADDRESS, AMOUNT_PLACEHOLDER]
2871
+ });
2872
+ const wrapUsdceToPusdViaVaultDepositor = encodeFunctionData({
2873
+ abi: VAULT_DEPOSITOR_ABI,
2874
+ functionName: "deposit",
2875
+ args: [POLYGON_USDCE, COLLATERAL_ONRAMP_ADDRESS, wrapUsdceToPusd, 0n]
2876
+ });
2877
+ const depositPusdToPerps = encodeFunctionData({
2878
+ abi: POLYMARKET_PERPS_ABI,
2879
+ functionName: "deposit",
2880
+ args: [PUSD_TOKEN.address, AMOUNT_PLACEHOLDER, recipientAddress]
2881
+ });
2882
+ const depositPusdToPerpsViaVaultDepositor = encodeFunctionData({
2883
+ abi: VAULT_DEPOSITOR_ABI,
2884
+ functionName: "deposit",
2885
+ args: [
2886
+ PUSD_TOKEN.address,
2887
+ POLYMARKET_PERPS_ADDRESS,
2888
+ depositPusdToPerps,
2889
+ 0n
2890
+ ]
2891
+ });
2892
+ const legs = [
2893
+ // Leg 1 — sweep the bridged USDC.e and wrap it into pUSD.
2894
+ {
2895
+ token: POLYGON_USDCE,
2896
+ to: VAULT_DEPOSITOR_POLYGON,
2897
+ data: wrapUsdceToPusdViaVaultDepositor,
2898
+ // relay replaces this with the actual amount of tokens available at execution time https://github.com/relayprotocol/relay-periphery/blob/0e4aabb750efb1f807d7f12b83b090b51b9ee736/src/v3/RelayRouterV3.sol#L177-L180
2899
+ amount: 0n
2900
+ },
2901
+ // Leg 2 — sweep the resulting pUSD and deposit it into Polymarket Perps
2902
+ // for the recipient.
2903
+ {
2904
+ token: PUSD_TOKEN.address,
2905
+ to: VAULT_DEPOSITOR_POLYGON,
2906
+ data: depositPusdToPerpsViaVaultDepositor,
2907
+ // relay replaces this with the actual amount of tokens available at execution time https://github.com/relayprotocol/relay-periphery/blob/0e4aabb750efb1f807d7f12b83b090b51b9ee736/src/v3/RelayRouterV3.sol#L177-L180
2908
+ amount: 0n
2909
+ }
2910
+ ];
2911
+ return [
2912
+ // RelayRouterV3 calls its function `cleanupErc20sViaCall`
2913
+ // that iterates over the legs and does the following for each leg:
2914
+ // 1. Substitutes 0n with the actual amount of tokens available at execution time (https://github.com/relayprotocol/relay-periphery/blob/0e4aabb750efb1f807d7f12b83b090b51b9ee736/src/v3/RelayRouterV3.sol#L177-L180):
2915
+ // `IERC20(token).balanceOf(address(this))`
2916
+ // 2. Approves the token to the target address (https://github.com/relayprotocol/relay-periphery/blob/0e4aabb750efb1f807d7f12b83b090b51b9ee736/src/v3/RelayRouterV3.sol#L183-L184):
2917
+ // `IERC20(token).approve(to, amount)`
2918
+ // 3. Makes the call to the target address and bubles up the revert if it fails (https://github.com/relayprotocol/relay-periphery/blob/0e4aabb750efb1f807d7f12b83b090b51b9ee736/src/v3/RelayRouterV3.sol#L186-L190):
2919
+ // `(bool success, ) = to.call(data);
2920
+ // `if (!success) { revert CallFailed(); }`
2921
+ {
2922
+ contractAbi: RELAY_ROUTER_V3_ABI,
2923
+ contractAddress: RELAY_ROUTER_V3_ADDRESS,
2924
+ functionName: "cleanupErc20sViaCall",
2925
+ // cleanupErc20sViaCall takes parallel arrays — transpose the per-leg rows.
2926
+ functionArgs: [
2927
+ legs.map((leg) => leg.token),
2928
+ legs.map((leg) => leg.to),
2929
+ legs.map((leg) => leg.data),
2930
+ legs.map((leg) => leg.amount)
2931
+ ]
2932
+ }
2933
+ ];
2934
+ };
2935
+ }
2936
+ var POLYMARKET_PREDICTIONS_ROUTING_ID = "POLYMARKET_PREDICTIONS";
2937
+ var POLYMARKET_PERPS_ROUTING_ID = "POLYMARKET_PERPS";
2938
+ function createPredictionsGenerateActionParams(config) {
2939
+ const { recipientAddress } = config;
2940
+ return async () => {
2941
+ const wrapUsdceToPusd = encodeFunctionData({
2942
+ abi: COLLATERAL_ONRAMP_ABI,
2943
+ functionName: "wrap",
2944
+ args: [POLYGON_USDCE, recipientAddress, AMOUNT_PLACEHOLDER]
2945
+ });
2946
+ return [
2947
+ // Approve USDC.e to the VaultDepositor (infinite).
2948
+ {
2949
+ contractAbi: erc20Abi,
2950
+ contractAddress: POLYGON_USDCE,
2951
+ functionName: "approve",
2952
+ functionArgs: [VAULT_DEPOSITOR_POLYGON, maxUint256]
2953
+ },
2954
+ // VaultDepositor pulls the USDC.e and forwards to CollateralOnramp.wrap,
2955
+ // minting pUSD to the predictions proxy.
2956
+ {
2957
+ contractAbi: VAULT_DEPOSITOR_ABI,
2958
+ contractAddress: VAULT_DEPOSITOR_POLYGON,
2959
+ functionName: "deposit",
2960
+ functionArgs: [
2961
+ POLYGON_USDCE,
2962
+ COLLATERAL_ONRAMP_ADDRESS,
2963
+ wrapUsdceToPusd,
2964
+ 0n
2965
+ ]
2966
+ }
2967
+ ];
2968
+ };
2969
+ }
2970
+ var PERPS_MIN_DEPOSIT_USD = 10;
2971
+ function createPolymarketDepositConfig({
2972
+ predictions,
2973
+ perps,
2974
+ modalTitleMeta
2975
+ }) {
2976
+ const isPerpsRoute = (routingId) => routingId === POLYMARKET_PERPS_ROUTING_ID;
2977
+ return {
2978
+ targetChain: polygon.id.toString(),
2979
+ targetAsset: POLYGON_USDCE,
2980
+ targetAssetAmount: 0,
2981
+ targetAssetTicker: PUSD_TOKEN.symbol,
2982
+ checkoutItemTitle: PUSD_TOKEN.symbol,
2983
+ iconSrc: PUSD_TOKEN.iconSrc,
2984
+ modalTitleMeta,
2985
+ // Predictions is the default destination.
2986
+ dynamicRoutingId: POLYMARKET_PREDICTIONS_ROUTING_ID,
2987
+ customRecipient: predictions.address,
2988
+ modalTitle: ({ dynamicRoutingId }) => isPerpsRoute(dynamicRoutingId) ? "Deposit (Polymarket Perps)" : "Deposit (Polymarket Predictions)",
2989
+ getMinDepositUSD: ({ dynamicRoutingId }) => isPerpsRoute(dynamicRoutingId) ? PERPS_MIN_DEPOSIT_USD : 0,
2990
+ generateActionsParams: (_targetAssetAmount, outputConfig) => isPerpsRoute(
2991
+ outputConfig?.dynamicRoutingId
2992
+ ) ? createPerpsGenerateActionParams({ recipientAddress: perps.address })() : createPredictionsGenerateActionParams({
2993
+ recipientAddress: predictions.address
2994
+ })(),
2995
+ // Both transfer directions are integrator-owned; the step picks the source
2996
+ // account's transfer.
2997
+ polymarketPerpsTransfer: {
2998
+ predictions: {
2999
+ address: predictions.address,
3000
+ getMinTopupAmount: predictions.getMinTopupAmount,
3001
+ transfer: predictions.transfer,
3002
+ getBalanceUsd: predictions.getBalanceUsd
3003
+ },
3004
+ perps: {
3005
+ address: perps.address,
3006
+ getMinTopupAmount: perps.getMinTopupAmount,
3007
+ transfer: perps.transfer,
3008
+ getBalanceUsd: perps.getBalanceUsd
3009
+ }
3010
+ }
3011
+ };
3012
+ }
3013
+ var ACCOUNT_DROPDOWN_OPTIONS_WIDTH = 264;
3014
+ var BALANCE_PLACEHOLDER = "\u2014";
3015
+ function formatBalance(balanceUsd) {
3016
+ return balanceUsd === void 0 ? BALANCE_PLACEHOLDER : formatCurrencyAndStringify(balanceUsd);
3017
+ }
3018
+ function PolymarketDepositAccountDropdown({
3019
+ onStepChange,
3020
+ modalState,
3021
+ dynamicRoutingId,
3022
+ applyDynamicTargetAssetCandidate,
3023
+ predictions,
3024
+ perps
3025
+ }) {
3026
+ const predictionsBalanceUsd = predictions.balanceUsd;
3027
+ const perpsBalanceUsd = perps.balanceUsd;
3028
+ const selectedRoutingId = dynamicRoutingId === POLYMARKET_PERPS_ROUTING_ID ? POLYMARKET_PERPS_ROUTING_ID : POLYMARKET_PREDICTIONS_ROUTING_ID;
3029
+ const predictionsBalanceRef = useRef3(predictionsBalanceUsd);
3030
+ const perpsBalanceRef = useRef3(perpsBalanceUsd);
3031
+ useEffect7(() => {
3032
+ predictionsBalanceRef.current = predictionsBalanceUsd;
3033
+ perpsBalanceRef.current = perpsBalanceUsd;
3034
+ }, [predictionsBalanceUsd, perpsBalanceUsd]);
3035
+ const accountCandidate = (routingId, recipient) => ({
3036
+ tokenAddress: POLYGON_USDCE,
3037
+ tokenChainId: polygon.id.toString(),
3038
+ tokenSymbol: PUSD_TOKEN.symbol,
3039
+ iconSrc: PUSD_TOKEN.iconSrc,
3040
+ dynamicRoutingId: routingId,
3041
+ customRecipient: recipient
3042
+ });
3043
+ const handleSelectAccount = (routingId) => {
3044
+ const isPerps = routingId === POLYMARKET_PERPS_ROUTING_ID;
3045
+ applyDynamicTargetAssetCandidate?.(
3046
+ accountCandidate(
3047
+ isPerps ? POLYMARKET_PERPS_ROUTING_ID : POLYMARKET_PREDICTIONS_ROUTING_ID,
3048
+ isPerps ? perps.address : predictions.address
3049
+ )
3050
+ );
3051
+ };
3052
+ return /* @__PURE__ */ React25.createElement(
3053
+ AccountSelectDropdown,
3054
+ {
3055
+ prefixLabel: "Deposit to",
3056
+ dropdownWidth: ACCOUNT_DROPDOWN_OPTIONS_WIDTH,
3057
+ accounts: [
3058
+ {
3059
+ value: POLYMARKET_PREDICTIONS_ROUTING_ID,
3060
+ label: "Predictions",
3061
+ description: formatBalance(predictionsBalanceUsd)
3062
+ },
3063
+ {
3064
+ value: POLYMARKET_PERPS_ROUTING_ID,
3065
+ label: "Perps",
3066
+ description: formatBalance(perpsBalanceUsd)
3067
+ }
3068
+ ],
3069
+ selectedValue: selectedRoutingId,
3070
+ onSelect: handleSelectAccount,
3071
+ action: {
3072
+ id: "transfer-between-accounts",
3073
+ label: "Transfer between accounts",
3074
+ icon: /* @__PURE__ */ React25.createElement(SwitchIcon, null),
3075
+ // Navigation is absent on the loading skeleton; the action only fires
3076
+ // on the interactive screen.
3077
+ onSelect: () => {
3078
+ if (onStepChange && modalState) {
3079
+ onStepChange({
3080
+ ...modalState,
3081
+ step: "perps_transfer" /* PERPS_TRANSFER */,
3082
+ predictionsBalanceUsd: predictionsBalanceRef.current ?? 0,
3083
+ perpsBalanceUsd: perpsBalanceRef.current ?? 0
3084
+ });
3085
+ }
3086
+ }
3087
+ }
3088
+ }
3089
+ );
3090
+ }
3091
+
3092
+ export {
3093
+ createPolymarketWithdrawalConfig,
3094
+ createPerpsGenerateActionParams,
3095
+ POLYMARKET_PREDICTIONS_ROUTING_ID,
3096
+ POLYMARKET_PERPS_ROUTING_ID,
3097
+ createPredictionsGenerateActionParams,
3098
+ createPolymarketDepositConfig,
3099
+ PolymarketDepositAccountDropdown
3100
+ };