@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,3107 @@
1
+ "use client";
2
+ import {
3
+ Text
4
+ } from "./chunk-OJLDTEKB.js";
5
+ import {
6
+ Box,
7
+ themeVars,
8
+ useFunkitTranslation
9
+ } from "./chunk-ZEFHAWRH.js";
10
+ import {
11
+ usePolymarketAccountBalances
12
+ } from "./chunk-FF2UPSLS.js";
13
+ import {
14
+ logger
15
+ } from "./chunk-UUHGOBKZ.js";
16
+
17
+ // src/clients/polymarket/polymarket.tsx
18
+ import {
19
+ POLYMARKET_API_KEY,
20
+ initializeCheckoutTokenTransferAddress
21
+ } from "@funkit/api-base";
22
+ import { formatCurrencyAndStringify } from "@funkit/utils";
23
+ import React25 from "react";
24
+ import {
25
+ encodeFunctionData,
26
+ erc20Abi,
27
+ getAddress as getAddress2,
28
+ maxUint256
29
+ } from "viem";
30
+ import { polygon } from "viem/chains";
31
+
32
+ // src/components/Dropdown/AccountSelectDropdown.tsx
33
+ import React24 from "react";
34
+
35
+ // src/components/Dropdown/BaseDropdown.tsx
36
+ import { isMobile } from "@funkit/utils";
37
+ import * as DropdownMenu2 from "@radix-ui/react-dropdown-menu";
38
+ import React23, { useCallback as useCallback2, useEffect as useEffect6, useMemo as useMemo2, useRef as useRef2, useState as useState5 } from "react";
39
+
40
+ // src/hooks/useScrollDivider.ts
41
+ import { useCallback, useEffect, useState } from "react";
42
+ var useScrollDivider = () => {
43
+ const [refElement, setRefElement] = useState(null);
44
+ const ref = useCallback((node) => setRefElement(node), []);
45
+ const [isTop, setIsTop] = useState(true);
46
+ const [isAtBottom, setIsAtBottom] = useState(false);
47
+ const [isScrollable, setIsScrollable] = useState(false);
48
+ const [isScrolling, setIsScrolling] = useState(false);
49
+ useEffect(() => {
50
+ const content = refElement;
51
+ if (!content || !window.ResizeObserver) {
52
+ return;
53
+ }
54
+ const handleScrollPositionChange = () => {
55
+ const { scrollTop, scrollHeight, clientHeight } = content;
56
+ setIsTop(scrollTop === 0);
57
+ setIsAtBottom(scrollTop + clientHeight >= scrollHeight - 1);
58
+ setIsScrollable(scrollHeight > clientHeight + 2);
59
+ };
60
+ const handleContentChange = () => {
61
+ handleScrollPositionChange();
62
+ setTimeout(handleScrollPositionChange, 500);
63
+ };
64
+ const onScrollChange = () => {
65
+ handleScrollPositionChange();
66
+ setIsScrolling(true);
67
+ };
68
+ const onScrollEnd = () => setIsScrolling(false);
69
+ content.addEventListener("scrollend", onScrollEnd);
70
+ content.addEventListener("scroll", onScrollChange);
71
+ const resizeObserver = new window.ResizeObserver(handleContentChange);
72
+ resizeObserver.observe(content);
73
+ const mutationObserver = new MutationObserver(handleContentChange);
74
+ mutationObserver.observe(content, {
75
+ childList: true,
76
+ subtree: true,
77
+ attributes: true,
78
+ attributeFilter: ["style", "class"]
79
+ });
80
+ handleScrollPositionChange();
81
+ return () => {
82
+ content.removeEventListener("scroll", onScrollChange);
83
+ content.removeEventListener("scrollend", onScrollEnd);
84
+ resizeObserver.unobserve(content);
85
+ mutationObserver.disconnect();
86
+ };
87
+ }, [refElement]);
88
+ return {
89
+ ref,
90
+ hasTopDivider: !isTop,
91
+ hasBottomDivider: isScrollable,
92
+ isAtBottom,
93
+ isScrolling,
94
+ isScrollable
95
+ };
96
+ };
97
+
98
+ // src/providers/FunkitProvider.tsx
99
+ import { QueryClientProvider } from "@tanstack/react-query";
100
+ import React21, {
101
+ createContext as createContext3,
102
+ useContext as useContext3,
103
+ useEffect as useEffect5,
104
+ useMemo,
105
+ useRef
106
+ } from "react";
107
+
108
+ // src/consts/bluvo.tsx
109
+ import {
110
+ ETHEREAL_API_KEY,
111
+ FormOfPaymentType
112
+ } from "@funkit/api-base";
113
+ import React7 from "react";
114
+
115
+ // src/components/Icons/BinanceIcon.tsx
116
+ import React from "react";
117
+ var BinanceIcon = ({ size = 24 }) => {
118
+ return /* @__PURE__ */ React.createElement(
119
+ "svg",
120
+ {
121
+ width: size,
122
+ height: size,
123
+ viewBox: "0 0 20 20",
124
+ fill: "none",
125
+ xmlns: "http://www.w3.org/2000/svg"
126
+ },
127
+ /* @__PURE__ */ React.createElement("rect", { width: "20", height: "20", rx: "4", fill: "#F3BA2F" }),
128
+ /* @__PURE__ */ React.createElement(
129
+ "path",
130
+ {
131
+ 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",
132
+ fill: "#fff"
133
+ }
134
+ ),
135
+ /* @__PURE__ */ React.createElement(
136
+ "path",
137
+ {
138
+ d: "M11.38 10 10 8.62 8.98 9.64l-.11.12-.25.24L10 11.38z",
139
+ fill: "#fff"
140
+ }
141
+ )
142
+ );
143
+ };
144
+
145
+ // src/components/Icons/BybitIcon.tsx
146
+ import React2 from "react";
147
+ var BybitIcon = ({ size = 24 }) => {
148
+ return /* @__PURE__ */ React2.createElement(
149
+ "svg",
150
+ {
151
+ width: size,
152
+ height: size,
153
+ viewBox: "0 0 20 20",
154
+ fill: "none",
155
+ xmlns: "http://www.w3.org/2000/svg"
156
+ },
157
+ /* @__PURE__ */ React2.createElement("rect", { width: "20", height: "20", rx: "4", fill: "#0B0E11" }),
158
+ /* @__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(
159
+ "path",
160
+ {
161
+ 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",
162
+ fill: "white"
163
+ }
164
+ ), /* @__PURE__ */ React2.createElement(
165
+ "path",
166
+ {
167
+ d: "M30.3882 22.8293V31.9983H25.926V22.8293L19.0073 9.64111H23.8886L28.1888 18.6527L32.4239 9.64111H37.3052L30.3882 22.8293Z",
168
+ fill: "white"
169
+ }
170
+ ), /* @__PURE__ */ React2.createElement(
171
+ "path",
172
+ {
173
+ 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",
174
+ fill: "white"
175
+ }
176
+ ), /* @__PURE__ */ React2.createElement(
177
+ "path",
178
+ {
179
+ d: "M80.986 13.5355V32H76.4921V13.5355H70.4785V9.64111H86.9996V13.5355H80.986Z",
180
+ fill: "white"
181
+ }
182
+ ))
183
+ );
184
+ };
185
+
186
+ // src/components/Icons/CoinbaseIcon.tsx
187
+ import React3 from "react";
188
+ var CoinbaseIcon = ({ size = 24 }) => {
189
+ return /* @__PURE__ */ React3.createElement(
190
+ "svg",
191
+ {
192
+ xmlns: "http://www.w3.org/2000/svg",
193
+ width: size,
194
+ height: size,
195
+ viewBox: "0 0 20 20",
196
+ fill: "none"
197
+ },
198
+ /* @__PURE__ */ React3.createElement("rect", { width: "20", height: "20", rx: "4", fill: "#2C5FF6" }),
199
+ /* @__PURE__ */ React3.createElement(
200
+ "path",
201
+ {
202
+ 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",
203
+ fill: "#fff"
204
+ }
205
+ )
206
+ );
207
+ };
208
+
209
+ // src/components/Icons/GateIoIcon.tsx
210
+ import React4 from "react";
211
+ var GateIoIcon = ({ size = 24 }) => {
212
+ return /* @__PURE__ */ React4.createElement(
213
+ "svg",
214
+ {
215
+ width: size,
216
+ height: size,
217
+ viewBox: "0 0 25 25",
218
+ fill: "none",
219
+ xmlns: "http://www.w3.org/2000/svg"
220
+ },
221
+ /* @__PURE__ */ React4.createElement("rect", { width: "25", height: "25", rx: "5.357", fill: "#fff" }),
222
+ /* @__PURE__ */ React4.createElement("g", { clipPath: "url(#a)" }, /* @__PURE__ */ React4.createElement(
223
+ "mask",
224
+ {
225
+ id: "b",
226
+ maskUnits: "userSpaceOnUse",
227
+ x: "5",
228
+ y: "5",
229
+ width: "15",
230
+ height: "15",
231
+ style: { maskType: "luminance" }
232
+ },
233
+ /* @__PURE__ */ React4.createElement("path", { d: "M5 5h15v15H5V5Z", fill: "#fff" })
234
+ ), /* @__PURE__ */ React4.createElement("g", { mask: "url(#b)" }, /* @__PURE__ */ React4.createElement(
235
+ "path",
236
+ {
237
+ fillRule: "evenodd",
238
+ clipRule: "evenodd",
239
+ 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",
240
+ fill: "#2354E6"
241
+ }
242
+ )), /* @__PURE__ */ React4.createElement(
243
+ "path",
244
+ {
245
+ fillRule: "evenodd",
246
+ clipRule: "evenodd",
247
+ d: "M12.5 12.5h4.125V8.375H12.5V12.5Z",
248
+ fill: "#17E6A1"
249
+ }
250
+ )),
251
+ /* @__PURE__ */ React4.createElement("defs", null, /* @__PURE__ */ React4.createElement("clipPath", { id: "a" }, /* @__PURE__ */ React4.createElement("path", { fill: "#fff", transform: "translate(5 5)", d: "M0 0h15v15H0z" })))
252
+ );
253
+ };
254
+
255
+ // src/components/Icons/GeminiIcon.tsx
256
+ import React5 from "react";
257
+ var GeminiIcon = ({ size = 24 }) => {
258
+ return /* @__PURE__ */ React5.createElement(
259
+ "svg",
260
+ {
261
+ width: size,
262
+ height: size,
263
+ viewBox: "0 0 20 20",
264
+ fill: "none",
265
+ xmlns: "http://www.w3.org/2000/svg"
266
+ },
267
+ /* @__PURE__ */ React5.createElement(
268
+ "path",
269
+ {
270
+ 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",
271
+ fill: "#58C8E6"
272
+ }
273
+ ),
274
+ /* @__PURE__ */ React5.createElement(
275
+ "path",
276
+ {
277
+ 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",
278
+ fill: "#fff"
279
+ }
280
+ )
281
+ );
282
+ };
283
+
284
+ // src/components/Icons/KrakenIcon.tsx
285
+ import React6 from "react";
286
+ var KrakenIcon = ({ size = 24 }) => {
287
+ return /* @__PURE__ */ React6.createElement(
288
+ "svg",
289
+ {
290
+ width: size,
291
+ height: size,
292
+ viewBox: "0 0 20 20",
293
+ fill: "none",
294
+ xmlns: "http://www.w3.org/2000/svg"
295
+ },
296
+ /* @__PURE__ */ React6.createElement(
297
+ "path",
298
+ {
299
+ 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",
300
+ fill: "#5741D9"
301
+ }
302
+ ),
303
+ /* @__PURE__ */ React6.createElement(
304
+ "path",
305
+ {
306
+ 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",
307
+ fill: "#fff"
308
+ }
309
+ )
310
+ );
311
+ };
312
+
313
+ // src/consts/bluvo.tsx
314
+ var BLUVO_MIN_DEPOSIT_BY_CUSTOMER = {
315
+ [ETHEREAL_API_KEY]: 15
316
+ };
317
+ var BLUVO_EXCHANGES = {
318
+ coinbase: {
319
+ icon: (size) => /* @__PURE__ */ React7.createElement(CoinbaseIcon, { size }),
320
+ name: "Coinbase"
321
+ },
322
+ binance: {
323
+ icon: (size) => /* @__PURE__ */ React7.createElement(BinanceIcon, { size }),
324
+ name: "Binance"
325
+ },
326
+ gemini: {
327
+ icon: (size) => /* @__PURE__ */ React7.createElement(GeminiIcon, { size }),
328
+ name: "Gemini"
329
+ },
330
+ kraken: {
331
+ icon: (size) => /* @__PURE__ */ React7.createElement(KrakenIcon, { size }),
332
+ name: "Kraken"
333
+ },
334
+ gate: {
335
+ icon: (size) => /* @__PURE__ */ React7.createElement(GateIoIcon, { size }),
336
+ name: "Gate"
337
+ }
338
+ };
339
+ function getExchangeName(brokerType) {
340
+ return BLUVO_EXCHANGES[brokerType].name;
341
+ }
342
+ var FOP_COMPONENT_ICONS = {
343
+ [FormOfPaymentType.BYBIT]: (size) => /* @__PURE__ */ React7.createElement(BybitIcon, { size })
344
+ };
345
+
346
+ // src/consts/polymarket.ts
347
+ import { getAddress } from "viem";
348
+ var POLYMARKET_PUSD_ADDRESS = getAddress(
349
+ "0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"
350
+ );
351
+
352
+ // src/domains/paymentMethods.ts
353
+ import { PaymentMethod } from "@funkit/connect-core";
354
+ import { exhaustiveCheck, formatAddress } from "@funkit/utils";
355
+ function createPaymentMethodInfo(params) {
356
+ switch (params.paymentMethod) {
357
+ case PaymentMethod.CARD:
358
+ return {
359
+ paymentMethod: PaymentMethod.CARD,
360
+ title: params.titleCustomization,
361
+ description: ""
362
+ };
363
+ case PaymentMethod.ACCOUNT_BALANCE:
364
+ return {
365
+ paymentMethod: PaymentMethod.ACCOUNT_BALANCE,
366
+ title: "Your Wallet",
367
+ description: formatAddress(params.walletAddress || "")
368
+ };
369
+ case PaymentMethod.BROKERAGE:
370
+ return {
371
+ paymentMethod: PaymentMethod.BROKERAGE,
372
+ title: getExchangeName(params.exchange),
373
+ description: "",
374
+ deviceId: params.deviceId,
375
+ exchange: params.exchange
376
+ };
377
+ case PaymentMethod.TOKEN_TRANSFER:
378
+ return {
379
+ // this is an arbitrary value for Polymarket.
380
+ paymentMethod: PaymentMethod.TOKEN_TRANSFER,
381
+ title: "QR Code Transfer",
382
+ description: ""
383
+ };
384
+ case PaymentMethod.BITCOIN_LIGHTNING:
385
+ return {
386
+ paymentMethod: PaymentMethod.BITCOIN_LIGHTNING,
387
+ title: "Bitcoin on Cash App",
388
+ description: ""
389
+ };
390
+ case PaymentMethod.VIRTUAL_BANK:
391
+ return {
392
+ paymentMethod: PaymentMethod.VIRTUAL_BANK,
393
+ title: "Fiat Account",
394
+ description: "",
395
+ matchingFiatAccount: params.matchingFiatAccount,
396
+ bridgeCustomer: params.bridgeCustomer
397
+ };
398
+ default:
399
+ exhaustiveCheck(params);
400
+ return {};
401
+ }
402
+ }
403
+
404
+ // src/domains/clientMetadata.ts
405
+ function generateClientMetadataForTokenTransfer() {
406
+ return {
407
+ id: "",
408
+ startTimestampMs: 0,
409
+ finalDollarValue: 0,
410
+ latestQuote: null,
411
+ depositAddress: null,
412
+ initSettings: {
413
+ config: {
414
+ targetAsset: "0x",
415
+ targetChain: "",
416
+ targetAssetTicker: "",
417
+ checkoutItemTitle: ""
418
+ }
419
+ },
420
+ selectedSourceAssetInfo: {
421
+ address: "0x",
422
+ symbol: "",
423
+ chainId: "",
424
+ iconSrc: null
425
+ },
426
+ selectedPaymentMethodInfo: createPaymentMethodInfo({
427
+ paymentMethod: PaymentMethod.TOKEN_TRANSFER
428
+ })
429
+ };
430
+ }
431
+
432
+ // src/components/FunSkeletonLoader/FunSkeletonBlock.tsx
433
+ import React9 from "react";
434
+
435
+ // src/providers/FunkitThemeProvider.tsx
436
+ import React8, { createContext, useContext, useEffect as useEffect2, useState as useState2 } from "react";
437
+
438
+ // src/themes/baseTheme.ts
439
+ var systemFontStack = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"';
440
+ var fontStacks = {
441
+ rounded: `SFRounded, ui-rounded, "SF Pro Rounded", ${systemFontStack}`,
442
+ system: systemFontStack,
443
+ fun: `SF Pro, ${systemFontStack}`
444
+ };
445
+ var radiusScales = {
446
+ large: {
447
+ actionButton: "12px",
448
+ actionButtonInner: "10px",
449
+ connectButton: "12px",
450
+ modal: "24px",
451
+ modalMobile: "28px",
452
+ modalActionButton: "24px",
453
+ modalActionButtonMobile: "28px",
454
+ summaryBox: "12px",
455
+ youPayYouReceive: "24px",
456
+ inputAmountSwitcher: "24px",
457
+ qrCode: "12px",
458
+ tooltip: "4px",
459
+ skeleton: "4px",
460
+ dropdown: "12px",
461
+ dropdownItem: "4px",
462
+ dropdownList: "12px",
463
+ modalTopbarIcon: "9999px",
464
+ withdrawalInput: "12px",
465
+ useConnected: "8px"
466
+ },
467
+ medium: {
468
+ actionButton: "10px",
469
+ actionButtonInner: "8px",
470
+ connectButton: "10px",
471
+ modal: "16px",
472
+ modalMobile: "18px",
473
+ modalActionButton: "16px",
474
+ modalActionButtonMobile: "18px",
475
+ summaryBox: "10px",
476
+ youPayYouReceive: "24px",
477
+ inputAmountSwitcher: "24px",
478
+ qrCode: "10px",
479
+ tooltip: "4px",
480
+ skeleton: "4px",
481
+ dropdown: "10px",
482
+ dropdownItem: "4px",
483
+ dropdownList: "10px",
484
+ modalTopbarIcon: "9999px",
485
+ withdrawalInput: "10px",
486
+ useConnected: "8px"
487
+ },
488
+ none: {
489
+ actionButton: "0px",
490
+ actionButtonInner: "0px",
491
+ connectButton: "0px",
492
+ modal: "0px",
493
+ modalMobile: "0px",
494
+ modalActionButton: "0px",
495
+ modalActionButtonMobile: "0px",
496
+ summaryBox: "0px",
497
+ youPayYouReceive: "0px",
498
+ inputAmountSwitcher: "0px",
499
+ qrCode: "0px",
500
+ tooltip: "0px",
501
+ skeleton: "0px",
502
+ dropdown: "0px",
503
+ dropdownItem: "0px",
504
+ dropdownList: "0px",
505
+ modalTopbarIcon: "0px",
506
+ withdrawalInput: "0px",
507
+ useConnected: "0px"
508
+ },
509
+ small: {
510
+ actionButton: "8px",
511
+ actionButtonInner: "6px",
512
+ connectButton: "8px",
513
+ modal: "8px",
514
+ modalMobile: "8px",
515
+ modalActionButton: "8px",
516
+ modalActionButtonMobile: "8px",
517
+ summaryBox: "8px",
518
+ youPayYouReceive: "24px",
519
+ inputAmountSwitcher: "24px",
520
+ qrCode: "8px",
521
+ tooltip: "4px",
522
+ skeleton: "4px",
523
+ dropdown: "8px",
524
+ dropdownItem: "4px",
525
+ dropdownList: "8px",
526
+ modalTopbarIcon: "9999px",
527
+ withdrawalInput: "8px",
528
+ useConnected: "8px"
529
+ }
530
+ };
531
+ var blurs = {
532
+ large: {
533
+ modalOverlay: "blur(20px)"
534
+ },
535
+ none: {
536
+ modalOverlay: "blur(0px)"
537
+ },
538
+ small: {
539
+ modalOverlay: "blur(8px)"
540
+ },
541
+ tiny: {
542
+ modalOverlay: "blur(4px)"
543
+ }
544
+ };
545
+ var DEFAULT_FONT_WEIGHTS = {
546
+ regular: "400",
547
+ medium: "500",
548
+ // 510 in figma, but chrome no longer supports 510 - lowered to 500
549
+ semibold: "600",
550
+ // 590 in figma, but chrome no longer supports 590 - raised to 600
551
+ bold: "700",
552
+ heavy: "800"
553
+ };
554
+ var DEFAULT_FONT_SIZES = {
555
+ "10": { fontSize: "10px", lineHeight: "15px" },
556
+ "12": { fontSize: "12px", lineHeight: "14px" },
557
+ "13": { fontSize: "13px", lineHeight: "18px" },
558
+ "14": { fontSize: "14px", lineHeight: "18px" },
559
+ "16": { fontSize: "16px", lineHeight: "20px" },
560
+ "18": { fontSize: "18px", lineHeight: "24px" },
561
+ "20": { fontSize: "20px", lineHeight: "20px" },
562
+ "21": { fontSize: "21px", lineHeight: "21px" },
563
+ "40": { fontSize: "40px", lineHeight: "48px" },
564
+ "57": { fontSize: "57px", lineHeight: "68px" }
565
+ };
566
+ var FONT_SIZINGS = {
567
+ regular: DEFAULT_FONT_SIZES,
568
+ small: {
569
+ "8": { fontSize: "8px", lineHeight: "16px" },
570
+ "10": { fontSize: "8px", lineHeight: "16px" },
571
+ "12": { fontSize: "10px", lineHeight: "16px" },
572
+ "13": { fontSize: "10px", lineHeight: "16px" },
573
+ "14": { fontSize: "12px", lineHeight: "16px" },
574
+ "16": { fontSize: "14px", lineHeight: "18px" },
575
+ "18": { fontSize: "14px", lineHeight: "20px" },
576
+ "20": { fontSize: "18px", lineHeight: "20px" },
577
+ "21": { fontSize: "19px", lineHeight: "19px" },
578
+ "23": { fontSize: "20px", lineHeight: "28px" },
579
+ "40": { fontSize: "34px", lineHeight: "40px" },
580
+ "57": { fontSize: "50px", lineHeight: "60px" }
581
+ }
582
+ };
583
+ var nestedModalZIndexes = {
584
+ coinbase: 2147483647,
585
+ walletConnect: 99999999999999,
586
+ privy: 999999
587
+ };
588
+ var DEFAULT_MODAL_Z_INDEX = Math.min(...Object.values(nestedModalZIndexes)) - 2;
589
+ var baseTheme = ({
590
+ borderRadius = "large",
591
+ fontStack = "fun",
592
+ fontSizing = "regular",
593
+ customFontFamily,
594
+ customFontWeights = DEFAULT_FONT_WEIGHTS,
595
+ customFontSizings = FONT_SIZINGS[fontSizing],
596
+ customBorderWidths,
597
+ customBorderRadiuses = radiusScales[borderRadius],
598
+ customDimensions,
599
+ customSpacings,
600
+ customTextTransforms,
601
+ overlayBlur = "small",
602
+ modalZIndex = DEFAULT_MODAL_Z_INDEX
603
+ }) => ({
604
+ modalZIndex: String(modalZIndex),
605
+ blurs: {
606
+ modalOverlay: blurs[overlayBlur].modalOverlay
607
+ },
608
+ dimensions: {
609
+ connectExchangeIconSize: "48px",
610
+ cryptoCashToggleIconSize: "20px",
611
+ dollarValueSkeletonHeight: "60px",
612
+ dollarValueSkeletonWidth: "160px",
613
+ inputAmountQuickOptionButtonHeight: "36px",
614
+ inputAmountMinHeight: "76px",
615
+ modalBottomBarButtonHeight: "34px",
616
+ modalTopBarHeight: "56px",
617
+ modalTopbarIconSize: "16px",
618
+ modalTopbarIconWrapperSize: "32px",
619
+ paymentAmountSkeletonBlockHeight: "14px",
620
+ paymentAmountSkeletonBlockWidth: "93px",
621
+ paymentAmountSkeletonCircleSize: "15px",
622
+ paymentMethodItemIconSize: "20px",
623
+ selectAssetItemIconSize: "24px",
624
+ sourceListGap: "4px",
625
+ txBreakdownSkeletonWidth: "72px",
626
+ txSummaryLineSkeletonHeight: "14px",
627
+ txSummaryLineSkeletonWidth: "54px",
628
+ ...customDimensions,
629
+ modalBottomBarCloseButtonHeight: customDimensions?.modalBottomBarCloseButtonHeight ?? customDimensions?.modalBottomBarButtonHeight ?? "34px"
630
+ },
631
+ fonts: typeof customFontFamily === "string" ? {
632
+ amountValue: customFontFamily,
633
+ body: customFontFamily,
634
+ buttonTextPrimary: customFontFamily,
635
+ buttonTextSecondary: customFontFamily,
636
+ buttonTextTertiary: customFontFamily,
637
+ dropdownGroupHeader: customFontFamily,
638
+ header: customFontFamily,
639
+ inputAmount: customFontFamily,
640
+ modalTopbarTitle: customFontFamily,
641
+ txStatusDescription: customFontFamily,
642
+ txStatusTitle: customFontFamily
643
+ } : {
644
+ amountValue: fontStacks[fontStack],
645
+ body: fontStacks[fontStack],
646
+ buttonTextPrimary: fontStacks[fontStack],
647
+ buttonTextSecondary: fontStacks[fontStack],
648
+ buttonTextTertiary: fontStacks[fontStack],
649
+ dropdownGroupHeader: fontStacks[fontStack],
650
+ header: fontStacks[fontStack],
651
+ inputAmount: fontStacks[fontStack],
652
+ modalTopbarTitle: fontStacks[fontStack],
653
+ txStatusDescription: fontStacks[fontStack],
654
+ txStatusTitle: fontStacks[fontStack],
655
+ ...customFontFamily
656
+ },
657
+ fontWeight: {
658
+ ...DEFAULT_FONT_WEIGHTS,
659
+ cryptoCashToggle: DEFAULT_FONT_WEIGHTS.medium,
660
+ dropdownGroupHeader: DEFAULT_FONT_WEIGHTS.medium,
661
+ inputAmount: DEFAULT_FONT_WEIGHTS.medium,
662
+ inputLabel: DEFAULT_FONT_WEIGHTS.medium,
663
+ inputValue: DEFAULT_FONT_WEIGHTS.medium,
664
+ modalTopbarTitle: DEFAULT_FONT_WEIGHTS.medium,
665
+ modalBottomBarButtonText: DEFAULT_FONT_WEIGHTS.medium,
666
+ paymentMethodItemSubtitle: DEFAULT_FONT_WEIGHTS.regular,
667
+ paymentMethodItemTitle: DEFAULT_FONT_WEIGHTS.medium,
668
+ selectAssetItemSubtitle: DEFAULT_FONT_WEIGHTS.regular,
669
+ selectAssetItemTitle: DEFAULT_FONT_WEIGHTS.medium,
670
+ sourceListSectionLabelFontWeight: DEFAULT_FONT_WEIGHTS.medium,
671
+ txBreakdown: DEFAULT_FONT_WEIGHTS.regular,
672
+ txStatusDescription: DEFAULT_FONT_WEIGHTS.regular,
673
+ txStatusTitle: DEFAULT_FONT_WEIGHTS.medium,
674
+ txSummaryLabel: DEFAULT_FONT_WEIGHTS.medium,
675
+ txSummaryValue: DEFAULT_FONT_WEIGHTS.medium,
676
+ formOfPaymentsListSectionLabelFontWeight: DEFAULT_FONT_WEIGHTS.medium,
677
+ withdrawalYouWillReceiveLabel: DEFAULT_FONT_WEIGHTS.regular,
678
+ withdrawalYouWillReceiveValueCrypto: DEFAULT_FONT_WEIGHTS.medium,
679
+ withdrawalYouWillReceiveValueUsd: DEFAULT_FONT_WEIGHTS.regular,
680
+ ...customFontWeights
681
+ },
682
+ fontSize: {
683
+ ...FONT_SIZINGS[fontSizing],
684
+ body: FONT_SIZINGS[fontSizing][14],
685
+ cryptoCashToggle: FONT_SIZINGS[fontSizing][12],
686
+ "header-14": { fontSize: "14px", lineHeight: "14px" },
687
+ "header-36": { fontSize: "36px", lineHeight: "36px" },
688
+ buttonTextPrimary: FONT_SIZINGS[fontSizing][12],
689
+ buttonTextSecondary: FONT_SIZINGS[fontSizing][10],
690
+ buttonTextTertiary: FONT_SIZINGS[fontSizing][12],
691
+ dollarValue: FONT_SIZINGS[fontSizing][40],
692
+ dropdownGroupHeader: FONT_SIZINGS[fontSizing][12],
693
+ inputAmount: FONT_SIZINGS[fontSizing][57],
694
+ inputLabel: customFontSizings[12] ?? FONT_SIZINGS[fontSizing][12],
695
+ inputValue: customFontSizings[13] ?? FONT_SIZINGS[fontSizing][13],
696
+ modalTopbarSubtitle: FONT_SIZINGS[fontSizing][10],
697
+ modalTopbarTitle: FONT_SIZINGS[fontSizing][13],
698
+ modalBottomBarButtonText: FONT_SIZINGS[fontSizing][12],
699
+ paymentMethodItemSubtitle: FONT_SIZINGS[fontSizing][12],
700
+ paymentMethodItemTitle: FONT_SIZINGS[fontSizing][12],
701
+ selectAssetItemSubtitle: FONT_SIZINGS[fontSizing][10],
702
+ selectAssetItemTitle: FONT_SIZINGS[fontSizing][13],
703
+ txBreakdown: FONT_SIZINGS[fontSizing][12],
704
+ txStatusDescription: FONT_SIZINGS[fontSizing][13],
705
+ txStatusTitle: FONT_SIZINGS[fontSizing][13],
706
+ txSummaryLabel: FONT_SIZINGS[fontSizing][12],
707
+ txSummaryValue: FONT_SIZINGS[fontSizing][12],
708
+ withdrawalYouWillReceive: customFontSizings[12] ?? FONT_SIZINGS[fontSizing][12],
709
+ youPayYouReceivePrimaryFontSize: FONT_SIZINGS[fontSizing][12],
710
+ youPayYouReceiveSecondaryFontSize: FONT_SIZINGS[fontSizing][10],
711
+ depositAddressFontSize: FONT_SIZINGS[fontSizing][10],
712
+ funFeatureListItemFontSize: FONT_SIZINGS[fontSizing][12],
713
+ dropdownItemFontSize: FONT_SIZINGS[fontSizing][12],
714
+ sourceListSectionLabelFontSize: FONT_SIZINGS[fontSizing][12],
715
+ formOfPaymentsListSectionLabelFontSize: FONT_SIZINGS[fontSizing][12],
716
+ quickOptionFontSize: FONT_SIZINGS[fontSizing][14],
717
+ useConnectedFontSize: FONT_SIZINGS[fontSizing][12],
718
+ paymentFeeSummaryTooltip: FONT_SIZINGS[fontSizing][10],
719
+ tooltipContent: FONT_SIZINGS[fontSizing][10],
720
+ ...customFontSizings
721
+ },
722
+ radii: {
723
+ actionButton: radiusScales[borderRadius].actionButton,
724
+ actionButtonInner: radiusScales[borderRadius].actionButtonInner,
725
+ connectButton: radiusScales[borderRadius].connectButton,
726
+ menuButton: radiusScales[borderRadius].connectButton,
727
+ modal: radiusScales[borderRadius].modal,
728
+ modalMobile: radiusScales[borderRadius].modalMobile,
729
+ modalActionButton: radiusScales[borderRadius].modalActionButton,
730
+ modalActionButtonMobile: radiusScales[borderRadius].modalActionButtonMobile,
731
+ summaryBox: radiusScales[borderRadius].summaryBox,
732
+ youPayYouReceive: radiusScales[borderRadius].youPayYouReceive,
733
+ inputAmountSwitcher: radiusScales[borderRadius].inputAmountSwitcher,
734
+ qrCode: radiusScales[borderRadius].qrCode,
735
+ skeleton: radiusScales[borderRadius].skeleton,
736
+ tooltip: radiusScales[borderRadius].tooltip,
737
+ dropdown: radiusScales[borderRadius].dropdown,
738
+ dropdownItem: radiusScales[borderRadius].dropdownItem,
739
+ dropdownList: customBorderRadiuses?.dropdownList ?? customBorderRadiuses?.dropdown ?? radiusScales[borderRadius].dropdown,
740
+ modalTopbarIcon: radiusScales[borderRadius].modalTopbarIcon,
741
+ withdrawalInput: radiusScales[borderRadius].withdrawalInput,
742
+ useConnected: radiusScales[borderRadius].useConnected,
743
+ ...customBorderRadiuses
744
+ },
745
+ borderWidths: {
746
+ activeOptionBorderWidth: "1px",
747
+ buttonTertiaryBorderWidth: "0px",
748
+ cryptoCashToggleContainerBorderWidth: "0px",
749
+ cryptoCashToggleActiveTabBorderWidth: "1px",
750
+ cryptoCashToggleInactiveTabBorderWidth: "1px",
751
+ txSummaryBoxBorderWidth: "1px",
752
+ ...customBorderWidths
753
+ },
754
+ spacing: {
755
+ confirmationStepMarginTop: "6px",
756
+ confirmationStepVerticalGap: "18px",
757
+ cryptoCashToggleContainerPadding: "3px",
758
+ cryptoCashToggleMarginBottom: "16px",
759
+ cryptoCashToggleMarginTop: "24px",
760
+ cryptoCashToggleTabPaddingY: "6px",
761
+ dropdownItemIconGap: "4px",
762
+ dropdownItemPaddingX: "4px",
763
+ dropdownItemPaddingY: "6px",
764
+ dropdownCompactPaddingX: "6px",
765
+ dropdownCompactPaddingY: "6px",
766
+ dropdownPaddingX: "12px",
767
+ dropdownPaddingY: "12px",
768
+ modalBaseHorizontalPadding: "6px",
769
+ modalBottomBarButtonPaddingY: "0px",
770
+ modalBottomHorizontalPadding: "12px",
771
+ modalPaddingBottomUpper: "16px",
772
+ modalPaddingBottomLower: "16px",
773
+ modalTopBarVerticalTextSpacing: "0px",
774
+ selectAssetItemPaddingX: "12px",
775
+ selectAssetItemPaddingY: "8px",
776
+ selectAssetItemTextGap: "0px",
777
+ selectBrokerageItemPaddingX: "12px",
778
+ selectBrokerageItemPaddingY: "11px",
779
+ selectBrokerageListGap: "0px",
780
+ walletConnectorListGap: "10px",
781
+ txBreakdownMarginY: "18px",
782
+ txBreakdownPaddingX: "12px",
783
+ txSummaryBoxPaddingX: "12px",
784
+ txSummaryBoxPaddingY: "12px",
785
+ txSummaryLineItemPadding: "0px",
786
+ txSummaryDividerMarginX: "12px",
787
+ txSummaryDividerMarginY: "12px",
788
+ verticalSectionGap: "18px",
789
+ withdrawalModalPaddingTop: "12px",
790
+ youPayYouReceivePaddingLeft: "12px",
791
+ youPayYouReceivePaddingRight: "16px",
792
+ youPayYouReceivePaddingY: "8px",
793
+ inputPaddingX: "12px",
794
+ inputPaddingY: "12px",
795
+ dropdownActiveItemRegularSizePaddingY: "8px",
796
+ assetListDefaultGap: "4px",
797
+ dropdownGroupDividerMarginY: "8px",
798
+ ...customSpacings
799
+ },
800
+ textTransforms: {
801
+ inputAmountQuickOptionButton: "none",
802
+ txStatusTitle: "none",
803
+ ...customTextTransforms
804
+ }
805
+ });
806
+
807
+ // src/themes/darkTheme.ts
808
+ var accentColors = {
809
+ blue: { accentColor: "#3898FF", accentColorForeground: "#FFF" },
810
+ green: { accentColor: "#66CC00", accentColorForeground: "#000" },
811
+ orange: { accentColor: "#F6851B", accentColorForeground: "#000" },
812
+ pink: { accentColor: "#FF7AB8", accentColorForeground: "#000" },
813
+ purple: { accentColor: "#7A70FF", accentColorForeground: "#FFF" },
814
+ red: { accentColor: "#F34126", accentColorForeground: "#FFF" },
815
+ white: { accentColor: "#FFF", accentColorForeground: "#000" }
816
+ };
817
+ var defaultAccentColor = accentColors.white;
818
+ var darkTheme = ({
819
+ accentColor = defaultAccentColor.accentColor,
820
+ accentColorForeground = defaultAccentColor.accentColorForeground,
821
+ customColors,
822
+ customShadows,
823
+ ...baseThemeOptions
824
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: just a bunch of ?? defaults
825
+ } = {}) => ({
826
+ ...baseTheme(baseThemeOptions),
827
+ colors: {
828
+ accentColor,
829
+ accentColorForeground,
830
+ actionButtonBorder: "rgba(255, 255, 255, 0.04)",
831
+ connectButtonBackground: "#000",
832
+ connectButtonBackgroundError: "#C60000",
833
+ connectButtonText: "#FFF",
834
+ connectButtonTextError: "#FFF",
835
+ connectionIndicator: "#30E000",
836
+ error: accentColors.red.accentColor,
837
+ errorBackground: "#F2E6E4",
838
+ errorBorder: "rgba(243, 65, 38, 0.2)",
839
+ generalBorder: "#292929",
840
+ // strokeColor in figma
841
+ generalBorderDim: "rgba(255, 255, 255, 0.04)",
842
+ menuItemBackground: "rgba(255, 255, 255, 0.03)",
843
+ selectedOptionBorder: "rgba(224, 232, 255, 0.1)",
844
+ focusedOptionBorder: "#8C8C8C",
845
+ standby: "#F6851B",
846
+ success: "#66CC00",
847
+ delayedStatusIcon: customColors?.secondaryText ?? "#8C8C8C",
848
+ // backward compatibility
849
+ chainIconBorder: "#fff",
850
+ // FUNKIT COLORS
851
+ // modal backgrounds
852
+ modalBackdrop: "rgba(0, 0, 0, 0.2)",
853
+ modalBackground: "#000000",
854
+ modalBorder: "#292929",
855
+ modalTopbarIcon: "#FFF",
856
+ modalTopbarIconBackground: customColors?.modalTopbarIconBackground ?? "transparent",
857
+ modalTopbarIconBackgroundHover: customColors?.modalTopbarIconBackgroundHover ?? customColors?.buttonIconBackgroundHover ?? "#333333",
858
+ modalTopbarIconBackgroundPressed: customColors?.modalTopbarIconBackgroundPressed ?? customColors?.buttonIconBackgroundPressed ?? "#333333",
859
+ modalTopbarIconStroke: customColors?.modalTopbarIconStroke ?? customColors?.buttonIconStroke ?? "rgba(255, 255, 255, 0.35)",
860
+ offBackground: "#1F1F1F",
861
+ offBackgroundInverse: "#F2F2F2",
862
+ hoverState: "#333333",
863
+ lightStroke: "#333333",
864
+ mediumStroke: "#333333",
865
+ heavyStroke: "rgba(117, 117, 117, 0.40)",
866
+ strokeColor: "#333333",
867
+ secondaryBackground: "#333333",
868
+ //Text
869
+ primaryText: "#FFF",
870
+ secondaryText: "#8C8C8C",
871
+ tertiaryText: "rgba(255, 255, 255, 0.35)",
872
+ textSelection: "rgba(255, 255, 255, 0.10)",
873
+ selectedDropdownItemText: customColors?.primaryText ?? "#FFF",
874
+ copyButtonBackgroundBase: customColors?.offBackground ?? "#1F1F1F",
875
+ copyButtonBackgroundHover: customColors?.hoverState ?? "#333333",
876
+ copyButtonBackgroundActive: customColors?.inputBorderHover ?? "#525252",
877
+ useConnectedBackgroundBase: customColors?.mediumStroke ?? "#333333",
878
+ useConnectedBackgroundHover: customColors?.mediumStroke ?? "#333333",
879
+ copyButtonBorderBase: customColors?.mediumStroke ?? "#333333",
880
+ copyButtonBorderHover: customColors?.mediumStroke ?? "#333333",
881
+ funFeatureListBackgroundBase: customColors?.offBackground ?? "#1F1F1F",
882
+ funFeatureListBackgroundHover: customColors?.hoverState ?? "#333333",
883
+ funFeatureListBorderColor: "transparent",
884
+ funFeatureListBorderColorHover: "transparent",
885
+ selectedDropdownItemBackground: "transparent",
886
+ alwaysVisibleLabelBackgroundHover: "transparent",
887
+ // input
888
+ inputLabel: customColors?.primaryText ?? "#FFF",
889
+ inputBackground: "#000000",
890
+ inputBackgroundHover: customColors?.offBackground ?? "#1F1F1F",
891
+ inputBorderBase: "#333333",
892
+ inputBorderHover: "#525252",
893
+ // tab
894
+ activeTabBorderColor: "#333333",
895
+ activeTabBackground: "#333333",
896
+ inactiveTabBorderColor: "transparent",
897
+ inactiveTabBackgroundBase: "transparent",
898
+ inactiveTabBackgroundHover: "transparent",
899
+ inactiveTabBackgroundActive: "transparent",
900
+ activeTabText: customColors?.primaryText ?? "#FFF",
901
+ inactiveTabTextBase: customColors?.secondaryText ?? "#8C8C8C",
902
+ inactiveTabHover: customColors?.primaryText ?? "#FFF",
903
+ // button
904
+ actionColor: "#FFF",
905
+ actionColorHover: "rgba(255, 255, 255, 0.8)",
906
+ actionColorDisabled: "rgba(255, 255, 255, 0.65)",
907
+ buttonPrimary: accentColor,
908
+ buttonDisabled: "rgba(255, 255, 255, 0.20)",
909
+ buttonTextPrimary: "#000000",
910
+ buttonTextHover: "#000000",
911
+ buttonTextDisabled: "#000000",
912
+ buttonWarning: accentColors.red.accentColor,
913
+ buttonSuccess: "#2EA200",
914
+ transparent: "transparent",
915
+ buttonBackgroundTertiary: "#333333",
916
+ buttonBackgroundHoverTertiary: "#333333",
917
+ buttonBackgroundDisabledTertiary: "transparent",
918
+ buttonTextTertiary: "#FFF",
919
+ buttonTextDisabledTertiary: "rgba(255, 255, 255, 0.65)",
920
+ buttonBackground: "#FFF",
921
+ buttonBackgroundHover: "#f2f2f2",
922
+ buttonBackgroundPressed: "#FFF",
923
+ buttonBackgroundDisabled: "rgba(255, 255, 255, 0.65)",
924
+ buttonTextSecondaryDisabled: "rgba(255, 255, 255, 0.65)",
925
+ buttonTextSecondary: "#FFFFFF",
926
+ buttonIconBackgroundHover: "#333333",
927
+ buttonIconBackgroundPressed: "#333333",
928
+ buttonIconStroke: "rgba(255, 255, 255, 0.35)",
929
+ buttonBorderTertiary: "transparent",
930
+ buttonBorderFocusedTertiary: "rgba(255, 255, 255, 0.35)",
931
+ buttonFocusedOutline: "none",
932
+ buttonBorderGradient: "none",
933
+ buttonHoverBorderGradient: "none",
934
+ buttonDisabledBorderGradient: "none",
935
+ // TODO: Make common colors when refactoring the design system
936
+ inputAmountQuickOptionBaseBackground: "#1F1F1F",
937
+ inputAmountQuickOptionHoverBackground: "#333333",
938
+ inputAmountQuickOptionActiveBackground: "#333333",
939
+ inputAmountQuickOptionDisabledBackground: "#333333",
940
+ inputAmountQuickOptionBaseBorder: "#f2f2f2",
941
+ inputAmountQuickOptionHoverBorder: "rgba(255, 255, 255, 0.35)",
942
+ inputAmountQuickOptionActiveBorder: "rgba(255, 255, 255, 0.35)",
943
+ inputAmountQuickOptionFocusedBorder: "rgba(255, 255, 255, 0.35)",
944
+ inputAmountFiatDecimalsColor: customColors?.inputAmountFiatDecimalsColor ?? "none",
945
+ youPayYouReceiveBackground: "#000000",
946
+ // modalBackground
947
+ youPayYouReceiveBorder: "#333333",
948
+ // mediumStroke
949
+ youPayYouReceivePrimaryText: "#FFF",
950
+ // primaryText
951
+ youPayYouReceiveSecondaryText: "#8C8C8C",
952
+ // secondaryText
953
+ withdrawalYouWillReceiveLabel: customColors?.withdrawalYouWillReceiveLabel ?? customColors?.primaryText ?? "#FFF",
954
+ withdrawalYouWillReceiveValueCrypto: customColors?.withdrawalYouWillReceiveValueCrypto ?? customColors?.primaryText ?? "#FFF",
955
+ withdrawalYouWillReceiveValueUsd: customColors?.withdrawalYouWillReceiveValueUsd ?? customColors?.secondaryText ?? "#8C8C8C",
956
+ // badges
957
+ badgeBackgroundSuccess: "rgba(124, 242, 136, 0.1)",
958
+ badgeBorderSuccess: "rgba(124, 242, 136, 0.2)",
959
+ badgeTextSuccess: "rgb(124, 242, 136)",
960
+ newBadgeBackground: "linear-gradient(180deg, rgba(57, 76, 56, 0.55) 0%, rgba(61, 81, 65, 0.55) 100%)",
961
+ newBadgeBorder: "rgba(122, 221, 122, 0.3)",
962
+ newBadgeText: "#A4FF9A",
963
+ approvedBadgeBackground: "linear-gradient(180deg, rgba(236, 255, 234, 0.20) 0%, rgba(228, 255, 233, 0.20) 100%)",
964
+ approvedBadgeBorder: "rgba(109, 216, 109, 0.08)",
965
+ approvedBadgeText: "#8FFFA9",
966
+ failedBadgeBackground: "rgba(255, 61, 61, 0.18)",
967
+ failedBadgeBorder: "rgba(255, 255, 255, 0.10)",
968
+ failedBadgeText: "#F88877",
969
+ announceGradientFrom: "#AAAAAA",
970
+ announceGradientTo: "#BEBEBE",
971
+ fiatPendingGradientFrom: "#AAAAAA",
972
+ fiatPendingGradientTo: "#BEBEBE",
973
+ fiatSuccessBackgroundFill: "rgba(102, 204, 0, 0.30)",
974
+ fiatFailedBackgroundFill: "rgba(255, 61, 61, 0.30)",
975
+ fiatStatusIconBorder: "rgba(255, 255, 255, 0.06)",
976
+ fiatAccountIconFill: "#002F5E",
977
+ fiatAccountGradientFrom: "#3A82FE",
978
+ fiatAccountGradientTo: "#73A7FF",
979
+ modalHeaderDivider: "#333333",
980
+ // lightStroke
981
+ modalFooterDivider: "#333333",
982
+ // lightStroke
983
+ spinnerBackground: customColors?.mediumStroke ?? "rgba(0, 0, 0, 0.3)",
984
+ // 30% buttonTextPrimary
985
+ spinnerIndicator: customColors?.primaryText ?? "#000",
986
+ // 100% buttonTextPrimary
987
+ spinnerBackgroundVerifyAccount: "rgba(0, 0, 0, 0.3)",
988
+ // 30% buttonTextPrimary
989
+ spinnerIndicatorVerifyAccount: customColors?.primaryText ?? "#000",
990
+ // 100% buttonTextPrimary
991
+ // Override colors
992
+ ...customColors || {},
993
+ // option Boxes
994
+ optionBoxBackground: customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#000",
995
+ // keeps gradient in SourcePaymentMethodItem if optionBoxBackground differs from modal background
996
+ optionBoxBackgroundUninteractive: customColors?.optionBoxBackgroundUninteractive ?? "transparent",
997
+ optionBoxBorderBase: customColors?.optionBoxBorderBase ?? customColors?.mediumStroke ?? "#333333",
998
+ optionBoxBorderHover: customColors?.optionBoxBorderHover ?? customColors?.mediumStroke ?? "#333333",
999
+ optionBoxDefaultModeNotActiveBorderBase: customColors?.optionBoxDefaultModeNotActiveBorderBase ?? "transparent",
1000
+ optionBoxDefaultModeNotActiveBorderHover: customColors?.optionBoxDefaultModeNotActiveBorderHover ?? "transparent",
1001
+ dropdownActiveItemBackgroundBase: customColors?.dropdownActiveItemBackgroundBase ?? customColors?.modalBackground ?? "#000000",
1002
+ openDropdownBackgroundColor: customColors?.openDropdownBackgroundColor ?? customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#000",
1003
+ dropdownActiveItemBackgroundHover: customColors?.dropdownActiveItemBackgroundHover ?? customColors?.offBackground ?? "#1F1F1F",
1004
+ dropdownActiveItemBackgroundDisabled: customColors?.dropdownActiveItemBackgroundDisabled ?? "transparent",
1005
+ dropdownActiveItemBorderBase: customColors?.dropdownActiveItemBorderBase ?? customColors?.mediumStroke ?? "#333333",
1006
+ dropdownActiveItemBorderHover: customColors?.dropdownActiveItemBorderHover ?? customColors?.mediumStroke ?? "#333333",
1007
+ dropdownGroupHeader: customColors?.dropdownGroupHeader ?? customColors?.primaryText ?? "#FFF",
1008
+ // primaryText
1009
+ txSummaryBoxBackground: customColors?.txSummaryBoxBackground ?? customColors?.modalBackground ?? "#000",
1010
+ txSummaryBoxBorder: customColors?.txSummaryBoxBorder ?? customColors?.lightStroke ?? "#333333",
1011
+ modalBackgroundCheckoutComplete: customColors?.modalBackgroundCheckoutComplete ?? customColors?.modalBackground ?? "#000",
1012
+ counterRingColor: customColors?.counterRingColor ?? accentColor,
1013
+ cryptoCashToggleContainerBorderColor: customColors?.cryptoCashToggleContainerBorderColor ?? "transparent",
1014
+ cryptoCashToggleBackground: customColors?.cryptoCashToggleBackground ?? "transparent"
1015
+ },
1016
+ shadows: {
1017
+ connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
1018
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
1019
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
1020
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.24)",
1021
+ 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)",
1022
+ 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)",
1023
+ qrCode: "0px 0px 0px 1px rgba(255, 255, 255, 0.16)",
1024
+ buttonShadow: "none",
1025
+ buttonShadowTertiary: "none",
1026
+ buttonHoverShadow: "none",
1027
+ buttonHoverShadowTertiary: "none",
1028
+ buttonFocusedShadow: "0px 0px 0px 2px rgba(255, 255, 255, 0.25)",
1029
+ buttonFocusedShadowTertiary: "0px 0px 0px 2px rgba(255, 255, 255, 0.25)",
1030
+ buttonDisabledShadow: "none",
1031
+ buttonDisabledShadowTertiary: "none",
1032
+ buttonInnerShadow: "none",
1033
+ buttonInnerShadowTertiary: customShadows?.buttonInnerShadow ?? "none",
1034
+ buttonFocusedInnerShadow: "none",
1035
+ buttonFocusedInnerShadowTertiary: customShadows?.buttonFocusedInnerShadow ?? "none",
1036
+ buttonHoverInnerShadow: "none",
1037
+ buttonHoverInnerShadowTertiary: customShadows?.buttonHoverInnerShadow ?? "none",
1038
+ buttonDisabledInnerShadow: "none",
1039
+ buttonDisabledInnerShadowTertiary: customShadows?.buttonDisabledInnerShadow ?? "none",
1040
+ selectedDropdownItem: "none",
1041
+ // Override shadows
1042
+ ...customShadows || {}
1043
+ },
1044
+ moonpayTheme: "dark"
1045
+ });
1046
+ darkTheme.accentColors = accentColors;
1047
+
1048
+ // src/themes/lightTheme.ts
1049
+ var accentColors2 = {
1050
+ blue: { accentColor: "#31A3F8", accentColorForeground: "#31A3F859" },
1051
+ green: { accentColor: "#66CC00", accentColorForeground: "#FFF" },
1052
+ orange: { accentColor: "#F6851B", accentColorForeground: "#FFF" },
1053
+ pink: { accentColor: "#FF5CA0", accentColorForeground: "#FFF" },
1054
+ purple: { accentColor: "#5F5AFA", accentColorForeground: "#FFF" },
1055
+ red: { accentColor: "#F34126", accentColorForeground: "#FFF" },
1056
+ white: { accentColor: "#000000", accentColorForeground: "#FFF" }
1057
+ };
1058
+ var defaultAccentColor2 = accentColors2.white;
1059
+ var lightTheme = ({
1060
+ accentColor = defaultAccentColor2.accentColor,
1061
+ accentColorForeground = defaultAccentColor2.accentColorForeground,
1062
+ customColors,
1063
+ customShadows,
1064
+ ...baseThemeOptions
1065
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: just a bunch of ?? defaults
1066
+ } = {}) => ({
1067
+ ...baseTheme(baseThemeOptions),
1068
+ colors: {
1069
+ accentColor,
1070
+ accentColorForeground,
1071
+ actionButtonBorder: "rgba(0, 0, 0, 0.04)",
1072
+ connectButtonBackground: "#FFF",
1073
+ connectButtonBackgroundError: "#C60000",
1074
+ connectButtonText: "#25292E",
1075
+ connectButtonTextError: "#FFF",
1076
+ connectionIndicator: "#30E000",
1077
+ error: accentColors2.red.accentColor,
1078
+ errorBackground: "#F2E6E4",
1079
+ errorBorder: "rgba(243, 65, 38, 0.2)",
1080
+ generalBorder: "#F7F7F7",
1081
+ // strokeColor in figma
1082
+ generalBorderDim: "rgba(0, 0, 0, 0.03)",
1083
+ menuItemBackground: "#FCFCFC",
1084
+ selectedOptionBorder: "#F7F7F7",
1085
+ focusedOptionBorder: "#737373",
1086
+ standby: "#F6851B",
1087
+ success: "#66CC00",
1088
+ delayedStatusIcon: customColors?.secondaryText ?? "#737373",
1089
+ // backward compatibility
1090
+ chainIconBorder: "#fff",
1091
+ // FUNKIT COLORS
1092
+ // modal backgrounds
1093
+ modalBackdrop: "rgba(0, 0, 0, 0.2)",
1094
+ modalTopbarIcon: "#000",
1095
+ modalTopbarIconBackground: customColors?.modalTopbarIconBackground ?? "transparent",
1096
+ modalTopbarIconBackgroundHover: customColors?.modalTopbarIconBackgroundHover ?? customColors?.buttonIconBackgroundHover ?? "#F7F7F7",
1097
+ modalTopbarIconBackgroundPressed: customColors?.modalTopbarIconBackgroundPressed ?? customColors?.buttonIconBackgroundPressed ?? "#F0F0F0",
1098
+ modalTopbarIconStroke: customColors?.modalTopbarIconStroke ?? customColors?.buttonIconStroke ?? "rgba(0, 0, 0, 0.35)",
1099
+ modalBackground: "#FFF",
1100
+ modalBorder: "#F7F7F7",
1101
+ offBackground: "#F7F7F7",
1102
+ offBackgroundInverse: "#333333",
1103
+ hoverState: "#F0F0F0",
1104
+ lightStroke: "#F7F7F7",
1105
+ mediumStroke: "#F0F0F0",
1106
+ heavyStroke: "#E5E5E5",
1107
+ strokeColor: "#E8E8E8",
1108
+ secondaryBackground: "#F7F7F7",
1109
+ //Text
1110
+ primaryText: "#000",
1111
+ secondaryText: "#737373",
1112
+ tertiaryText: "rgba(0, 0, 0, 0.35)",
1113
+ textSelection: "rgba(0, 0, 0, 0.10)",
1114
+ selectedDropdownItemText: customColors?.primaryText ?? "#000",
1115
+ copyButtonBackgroundBase: customColors?.offBackground ?? "#F7F7F7",
1116
+ copyButtonBackgroundHover: customColors?.hoverState ?? "#F0F0F0",
1117
+ copyButtonBackgroundActive: customColors?.inputBorderHover ?? "#E5E5E5",
1118
+ useConnectedBackgroundBase: customColors?.mediumStroke ?? "#F0F0F0",
1119
+ useConnectedBackgroundHover: customColors?.mediumStroke ?? "#F0F0F0",
1120
+ copyButtonBorderBase: customColors?.mediumStroke ?? "#F0F0F0",
1121
+ copyButtonBorderHover: customColors?.mediumStroke ?? "#F0F0F0",
1122
+ funFeatureListBackgroundBase: customColors?.offBackground ?? "#F7F7F7",
1123
+ funFeatureListBackgroundHover: customColors?.hoverState ?? "#F0F0F0",
1124
+ funFeatureListBorderColor: "transparent",
1125
+ funFeatureListBorderColorHover: "transparent",
1126
+ selectedDropdownItemBackground: "transparent",
1127
+ alwaysVisibleLabelBackgroundHover: "transparent",
1128
+ // input
1129
+ inputLabel: customColors?.primaryText ?? "#000",
1130
+ inputBackground: "#FFFFFF",
1131
+ inputBackgroundHover: customColors?.offBackground ?? "#F7F7F7",
1132
+ inputBorderBase: "#F0F0F0",
1133
+ inputBorderHover: "#E5E5E5",
1134
+ // tab
1135
+ activeTabBorderColor: "#F7F7F7",
1136
+ activeTabBackground: "#F7F7F7",
1137
+ inactiveTabBorderColor: "transparent",
1138
+ inactiveTabBackgroundBase: "transparent",
1139
+ inactiveTabBackgroundHover: "transparent",
1140
+ inactiveTabBackgroundActive: "transparent",
1141
+ activeTabText: customColors?.primaryText ?? "#000",
1142
+ inactiveTabTextBase: customColors?.secondaryText ?? "#737373",
1143
+ inactiveTabHover: customColors?.primaryText ?? "#000",
1144
+ // button
1145
+ actionColor: "#000",
1146
+ actionColorHover: "rgba(0, 0, 0, 0.7)",
1147
+ actionColorDisabled: "rgba(0, 0, 0, 0.50)",
1148
+ buttonPrimary: accentColor,
1149
+ buttonDisabled: "#31A3F826",
1150
+ buttonWarning: accentColors2.red.accentColor,
1151
+ buttonSuccess: "#2EA200",
1152
+ buttonTextPrimary: "#FFFFFF",
1153
+ buttonTextHover: "#FFF",
1154
+ buttonTextDisabled: "#FFF",
1155
+ transparent: "transparent",
1156
+ buttonBackgroundTertiary: "#F7F7F7",
1157
+ buttonBackgroundHoverTertiary: "#F0F0F0",
1158
+ buttonBackgroundDisabledTertiary: "transparent",
1159
+ buttonTextTertiary: "#000",
1160
+ buttonTextDisabledTertiary: "rgba(0, 0, 0, 0.5)",
1161
+ buttonBackground: "#000",
1162
+ buttonBackgroundHover: "#333333",
1163
+ buttonBackgroundPressed: "#000",
1164
+ buttonBackgroundDisabled: "rgba(0, 0, 0, 0.5)",
1165
+ buttonTextSecondaryDisabled: "rgba(0, 0, 0, 0.5)",
1166
+ buttonTextSecondary: "#000000",
1167
+ buttonIconBackgroundHover: "#F7F7F7",
1168
+ buttonIconBackgroundPressed: "#F0F0F0",
1169
+ buttonIconStroke: "rgba(0, 0, 0, 0.35)",
1170
+ buttonBorderTertiary: "transparent",
1171
+ buttonBorderFocusedTertiary: "rgba(0, 0, 0, 0.35)",
1172
+ buttonFocusedOutline: "none",
1173
+ buttonBorderGradient: "none",
1174
+ buttonHoverBorderGradient: "none",
1175
+ buttonDisabledBorderGradient: "none",
1176
+ // TODO: Make common colors when refactoring the design system
1177
+ inputAmountQuickOptionBaseBackground: "#F7F7F7",
1178
+ inputAmountQuickOptionHoverBackground: "#F0F0F0",
1179
+ inputAmountQuickOptionActiveBackground: "#F0F0F0",
1180
+ inputAmountQuickOptionDisabledBackground: "#F7F7F7",
1181
+ inputAmountQuickOptionBaseBorder: "#F7F7F7",
1182
+ inputAmountQuickOptionHoverBorder: "rgba(0, 0, 0, 0.35)",
1183
+ inputAmountQuickOptionActiveBorder: "rgba(0, 0, 0, 0.35)",
1184
+ inputAmountQuickOptionFocusedBorder: "rgba(0, 0, 0, 0.35)",
1185
+ inputAmountFiatDecimalsColor: customColors?.inputAmountFiatDecimalsColor ?? "none",
1186
+ youPayYouReceiveBackground: "#FFF",
1187
+ // modalBackground
1188
+ youPayYouReceiveBorder: "#F0F0F0",
1189
+ // mediumStroke
1190
+ youPayYouReceivePrimaryText: "#000",
1191
+ // primaryText
1192
+ youPayYouReceiveSecondaryText: "#737373",
1193
+ // secondaryText
1194
+ withdrawalYouWillReceiveLabel: customColors?.withdrawalYouWillReceiveLabel ?? customColors?.primaryText ?? "#000",
1195
+ withdrawalYouWillReceiveValueCrypto: customColors?.withdrawalYouWillReceiveValueCrypto ?? customColors?.primaryText ?? "#000",
1196
+ withdrawalYouWillReceiveValueUsd: customColors?.withdrawalYouWillReceiveValueUsd ?? customColors?.secondaryText ?? "#737373",
1197
+ // badges
1198
+ badgeBackgroundSuccess: "rgba(124, 242, 136, 0.1)",
1199
+ badgeBorderSuccess: "rgba(124, 242, 136, 0.2)",
1200
+ badgeTextSuccess: "rgb(124, 242, 136)",
1201
+ newBadgeBackground: "linear-gradient(180deg, #ECFFEA 0%, #E4FFE9 100%)",
1202
+ newBadgeBorder: "rgba(122, 221, 122, 0.5)",
1203
+ newBadgeText: "#028320",
1204
+ approvedBadgeBackground: "linear-gradient(180deg, #ECFFEA 0%, #E4FFE9 100%)",
1205
+ approvedBadgeBorder: "rgba(109, 216, 109, 0.5)",
1206
+ approvedBadgeText: "#028320",
1207
+ failedBadgeBackground: "rgba(255, 61, 61, 0.08)",
1208
+ failedBadgeBorder: "rgba(0, 0, 0, 0.03)",
1209
+ failedBadgeText: "#C2341E",
1210
+ announceGradientFrom: "#595959",
1211
+ announceGradientTo: "#9C9C9C",
1212
+ fiatPendingGradientFrom: "#454545",
1213
+ fiatPendingGradientTo: "#747474",
1214
+ fiatSuccessBackgroundFill: "rgba(102, 204, 0, 0.16)",
1215
+ fiatFailedBackgroundFill: "rgba(255, 61, 61, 0.12)",
1216
+ fiatStatusIconBorder: "rgba(0, 0, 0, 0.03)",
1217
+ fiatAccountIconFill: "#E7F3FE",
1218
+ fiatAccountGradientFrom: "#055DF5",
1219
+ fiatAccountGradientTo: "#4C8DFD",
1220
+ modalHeaderDivider: "#F7F7F7",
1221
+ // lightStroke
1222
+ modalFooterDivider: "#F7F7F7",
1223
+ // lightStroke
1224
+ spinnerBackground: customColors?.mediumStroke ?? "rgba(255, 255, 255, 0.3)",
1225
+ // 30% buttonTextPrimary
1226
+ spinnerIndicator: customColors?.primaryText ?? "#FFF",
1227
+ // 100% buttonTextPrimary
1228
+ spinnerBackgroundVerifyAccount: "rgba(255, 255, 255, 0.3)",
1229
+ // 30% buttonTextPrimary
1230
+ spinnerIndicatorVerifyAccount: customColors?.primaryText ?? "#FFF",
1231
+ // 100% buttonTextPrimary
1232
+ // Override colors
1233
+ ...customColors || {},
1234
+ // option Boxes
1235
+ optionBoxBackground: customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#FFF",
1236
+ // keeps gradient in SourcePaymentMethodItem if optionBoxBackground differs from modal background
1237
+ optionBoxBackgroundUninteractive: customColors?.optionBoxBackgroundUninteractive ?? "transparent",
1238
+ optionBoxBorderBase: customColors?.optionBoxBorderBase ?? customColors?.mediumStroke ?? "#F0F0F0",
1239
+ optionBoxBorderHover: customColors?.optionBoxBorderHover ?? customColors?.mediumStroke ?? "#F0F0F0",
1240
+ optionBoxDefaultModeNotActiveBorderBase: customColors?.optionBoxDefaultModeNotActiveBorderBase ?? "transparent",
1241
+ optionBoxDefaultModeNotActiveBorderHover: customColors?.optionBoxDefaultModeNotActiveBorderHover ?? "transparent",
1242
+ dropdownActiveItemBackgroundBase: customColors?.dropdownActiveItemBackgroundBase ?? customColors?.modalBackground ?? "#FFF",
1243
+ openDropdownBackgroundColor: customColors?.openDropdownBackgroundColor ?? customColors?.optionBoxBackground ?? customColors?.modalBackground ?? "#FFF",
1244
+ dropdownActiveItemBackgroundHover: customColors?.dropdownActiveItemBackgroundHover ?? customColors?.offBackground ?? "#F7F7F7",
1245
+ dropdownActiveItemBackgroundDisabled: customColors?.dropdownActiveItemBackgroundDisabled ?? "transparent",
1246
+ dropdownActiveItemBorderBase: customColors?.dropdownActiveItemBorderBase ?? customColors?.mediumStroke ?? "#F0F0F0",
1247
+ dropdownActiveItemBorderHover: customColors?.dropdownActiveItemBorderHover ?? customColors?.mediumStroke ?? "#F0F0F0",
1248
+ dropdownGroupHeader: customColors?.dropdownGroupHeader ?? customColors?.primaryText ?? "#000",
1249
+ // primaryText
1250
+ txSummaryBoxBackground: customColors?.txSummaryBoxBackground ?? customColors?.modalBackground ?? "#FFF",
1251
+ txSummaryBoxBorder: customColors?.txSummaryBoxBorder ?? customColors?.lightStroke ?? "#F7F7F7",
1252
+ modalBackgroundCheckoutComplete: customColors?.modalBackgroundCheckoutComplete ?? customColors?.modalBackground ?? "#FFF",
1253
+ counterRingColor: customColors?.counterRingColor ?? accentColor,
1254
+ cryptoCashToggleContainerBorderColor: customColors?.cryptoCashToggleContainerBorderColor ?? "transparent",
1255
+ cryptoCashToggleBackground: customColors?.cryptoCashToggleBackground ?? "transparent"
1256
+ },
1257
+ shadows: {
1258
+ connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
1259
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
1260
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
1261
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.12)",
1262
+ 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)",
1263
+ 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)",
1264
+ 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)",
1265
+ buttonShadow: "none",
1266
+ buttonShadowTertiary: customShadows?.buttonShadow ?? "none",
1267
+ buttonFocusedShadow: "0px 0px 0px 2px rgba(0, 0, 0, 0.25)",
1268
+ buttonFocusedShadowTertiary: "0px 0px 0px 2px rgba(0, 0, 0, 0.25)",
1269
+ buttonHoverShadow: "none",
1270
+ buttonHoverShadowTertiary: "none",
1271
+ buttonDisabledShadow: "none",
1272
+ buttonDisabledShadowTertiary: customShadows?.buttonDisabledShadow ?? "none",
1273
+ buttonInnerShadow: "none",
1274
+ buttonInnerShadowTertiary: customShadows?.buttonInnerShadow ?? "none",
1275
+ buttonFocusedInnerShadow: "none",
1276
+ buttonFocusedInnerShadowTertiary: customShadows?.buttonFocusedInnerShadow ?? "none",
1277
+ buttonHoverInnerShadow: "none",
1278
+ buttonHoverInnerShadowTertiary: customShadows?.buttonHoverInnerShadow ?? "none",
1279
+ buttonDisabledInnerShadow: "none",
1280
+ buttonDisabledInnerShadowTertiary: customShadows?.buttonDisabledInnerShadow ?? "none",
1281
+ selectedDropdownItem: "none",
1282
+ // Override shadows
1283
+ ...customShadows || {}
1284
+ },
1285
+ moonpayTheme: "light"
1286
+ });
1287
+ lightTheme.accentColors = accentColors2;
1288
+
1289
+ // src/providers/FunkitThemeProvider.tsx
1290
+ var DEFAULT_THEME_SET = {
1291
+ lightTheme: lightTheme(),
1292
+ darkTheme: darkTheme()
1293
+ };
1294
+ var DEFAULT_THEME = DEFAULT_THEME_SET.darkTheme;
1295
+ var ThemeIdContext = createContext(void 0);
1296
+ var ThemeContext = createContext({
1297
+ activeTheme: DEFAULT_THEME,
1298
+ lightTheme: void 0,
1299
+ darkTheme: void 0,
1300
+ setTheme: () => {
1301
+ return;
1302
+ },
1303
+ toggleTheme: () => {
1304
+ return;
1305
+ },
1306
+ themeColorScheme: void 0
1307
+ });
1308
+ var useActiveTheme = () => {
1309
+ const {
1310
+ activeTheme,
1311
+ setTheme,
1312
+ lightTheme: lightTheme2,
1313
+ darkTheme: darkTheme2,
1314
+ toggleTheme,
1315
+ themeColorScheme
1316
+ } = useContext(ThemeContext);
1317
+ return {
1318
+ activeTheme,
1319
+ /** 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` */
1320
+ setTheme,
1321
+ /** 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 */
1322
+ lightTheme: lightTheme2,
1323
+ /** 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 */
1324
+ darkTheme: darkTheme2,
1325
+ /** 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 */
1326
+ toggleTheme,
1327
+ /** 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 */
1328
+ themeColorScheme
1329
+ };
1330
+ };
1331
+
1332
+ // src/components/FunSkeletonLoader/FunSkeletonLoader.css.ts
1333
+ var animateSkeletonClass = "FunSkeletonLoader_animateSkeletonClass__dj0x602 sprinkles_background_inputBorderHover_base__1rsrm2f15a";
1334
+
1335
+ // src/components/FunSkeletonLoader/FunSkeletonBlock.tsx
1336
+ function FunSkeletonBlock({
1337
+ borderRadius = "skeleton",
1338
+ fontSize,
1339
+ height,
1340
+ width = "full",
1341
+ ...props
1342
+ }) {
1343
+ const { activeTheme } = useActiveTheme();
1344
+ const cssHeight = height ? activeTheme.dimensions[height] || (height.endsWith("px") ? height : `${height}px`) : activeTheme.fontSize[fontSize].lineHeight;
1345
+ return /* @__PURE__ */ React9.createElement(
1346
+ Box,
1347
+ {
1348
+ borderRadius,
1349
+ className: animateSkeletonClass,
1350
+ width,
1351
+ ...props,
1352
+ style: { height: cssHeight, ...props.style }
1353
+ }
1354
+ );
1355
+ }
1356
+
1357
+ // src/components/FunInput/FunInput.css.ts
1358
+ var baseWrapperStyles = "FunInput_baseWrapperStyles__zue0i60";
1359
+ var baseWrapperStylesNoTransition = "FunInput_baseWrapperStylesNoTransition__zue0i61";
1360
+ 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";
1361
+ 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";
1362
+ 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";
1363
+ 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";
1364
+ 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";
1365
+ 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";
1366
+ var numberInputResetStyle = "FunInput_numberInputResetStyle__zue0i62";
1367
+
1368
+ // src/components/FunTooltip/FunTooltip.tsx
1369
+ import * as Tooltip from "@radix-ui/react-tooltip";
1370
+ import React10, {
1371
+ createContext as createContext2,
1372
+ useContext as useContext2,
1373
+ useState as useState3
1374
+ } from "react";
1375
+ var TooltipAnchorRefContext = createContext2(null);
1376
+
1377
+ // src/components/FunInput/FunInput.tsx
1378
+ import React12, {
1379
+ forwardRef,
1380
+ useEffect as useEffect3,
1381
+ useState as useState4
1382
+ } from "react";
1383
+ import clsx from "clsx";
1384
+
1385
+ // src/components/Icons/SearchIcon.tsx
1386
+ import React11 from "react";
1387
+ var SearchIcon = () => {
1388
+ return /* @__PURE__ */ React11.createElement(
1389
+ "svg",
1390
+ {
1391
+ width: "15",
1392
+ height: "15",
1393
+ viewBox: "0 0 15 15",
1394
+ fill: "none",
1395
+ xmlns: "http://www.w3.org/2000/svg"
1396
+ },
1397
+ /* @__PURE__ */ React11.createElement(
1398
+ "path",
1399
+ {
1400
+ 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",
1401
+ fill: "currentColor"
1402
+ }
1403
+ ),
1404
+ /* @__PURE__ */ React11.createElement(
1405
+ "path",
1406
+ {
1407
+ 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",
1408
+ fill: "currentColor"
1409
+ }
1410
+ )
1411
+ );
1412
+ };
1413
+
1414
+ // src/components/FunInput/FunInput.tsx
1415
+ var DEFAULT_ICON_FONT_SIZE = "57px";
1416
+ var FunInput = forwardRef(function FunInputWithRef({
1417
+ prefix,
1418
+ suffix,
1419
+ prefixIcon,
1420
+ placeholder,
1421
+ value,
1422
+ label,
1423
+ onChange,
1424
+ onKeyDown,
1425
+ onKeySubmit,
1426
+ onPaste,
1427
+ onMouseDown,
1428
+ onFocus: userOnFocus,
1429
+ onBlur: userOnBlur,
1430
+ adornmentColor = "secondaryText",
1431
+ fontFamily = "body",
1432
+ textWeight = "inputLabel",
1433
+ inputStyle = {},
1434
+ inputProps = { type: "text" },
1435
+ error,
1436
+ alwaysFocused,
1437
+ overrideBorderWidth,
1438
+ overrideBackground,
1439
+ ignoreFontSize,
1440
+ borderRadius = "connectButton",
1441
+ isLoading = false,
1442
+ allowMultiline = false,
1443
+ ignoreBaseTransitions = false,
1444
+ decimalsColor,
1445
+ decimalSeparator,
1446
+ testId
1447
+ }, ref) {
1448
+ const { activeTheme } = useActiveTheme();
1449
+ const [focused, setFocused] = useState4(false);
1450
+ const onFocus = () => {
1451
+ setFocused(true);
1452
+ userOnFocus?.();
1453
+ };
1454
+ const onBlur = () => {
1455
+ setFocused(false);
1456
+ userOnBlur?.();
1457
+ };
1458
+ const isFocused = alwaysFocused || focused;
1459
+ const isValidDecimalColor = !!decimalsColor && activeTheme.colors?.[decimalsColor] !== "none";
1460
+ const getBorderColor = () => {
1461
+ if (error) {
1462
+ return { base: "error" };
1463
+ }
1464
+ if (inputProps.disabled) {
1465
+ return { base: "inputBorderBase" };
1466
+ }
1467
+ if (isFocused) {
1468
+ return { base: "secondaryText" };
1469
+ }
1470
+ return {
1471
+ base: "inputBorderBase",
1472
+ hover: "inputBorderHover"
1473
+ };
1474
+ };
1475
+ const textareaRef = React12.useRef(null);
1476
+ useEffect3(() => {
1477
+ if (allowMultiline) {
1478
+ adjustTextareaHeight(textareaRef.current);
1479
+ }
1480
+ }, [allowMultiline, value]);
1481
+ const { integerPart, decimalPart, shouldColorDecimals } = React12.useMemo(() => {
1482
+ if (!isValidDecimalColor || !value || !decimalSeparator) {
1483
+ return { integerPart: "", decimalPart: "", shouldColorDecimals: false };
1484
+ }
1485
+ const stringValue = String(value);
1486
+ const parts = stringValue.split(decimalSeparator);
1487
+ return {
1488
+ integerPart: parts[0] || "",
1489
+ decimalPart: parts[1] !== void 0 ? `${decimalSeparator}${parts[1]}` : "",
1490
+ shouldColorDecimals: parts[1] !== void 0
1491
+ };
1492
+ }, [value, isValidDecimalColor, decimalSeparator]);
1493
+ const renderInputOrTextarea = () => {
1494
+ const commonProps = {
1495
+ // ref,
1496
+ value,
1497
+ placeholder,
1498
+ onChange,
1499
+ onKeyDown: (e) => {
1500
+ e.stopPropagation();
1501
+ onKeyDown?.(e);
1502
+ if (e.key === "Enter") {
1503
+ onKeySubmit?.();
1504
+ }
1505
+ },
1506
+ onPaste,
1507
+ onMouseDown,
1508
+ onFocus,
1509
+ onBlur,
1510
+ onWheel: (e) => {
1511
+ e.currentTarget.blur();
1512
+ },
1513
+ className: clsx(
1514
+ error ? ignoreBaseTransitions ? inputClassErrorNoTransition : inputClassError : inputProps.disabled ? ignoreBaseTransitions ? inputClassDisabledNoTransition : inputClassDisabled : ignoreBaseTransitions ? inputClassNoTransition : inputClass,
1515
+ numberInputResetStyle
1516
+ ),
1517
+ ...inputProps,
1518
+ // If decimals are colored, the actual input element is hidden
1519
+ // but keep the caret visible via caretColor
1520
+ style: {
1521
+ ...inputStyle,
1522
+ color: shouldColorDecimals ? "transparent" : void 0,
1523
+ caretColor: isValidDecimalColor ? themeVars.colors.primaryText : void 0
1524
+ },
1525
+ "data-auto-focus": inputProps.autoFocus,
1526
+ "data-testid": testId ? `rk-${testId.replace(/^rk-/, "")}` : void 0
1527
+ };
1528
+ const handleTextareaOnChange = (e) => {
1529
+ adjustTextareaHeight(textareaRef.current);
1530
+ if (onChange) {
1531
+ onChange(e);
1532
+ }
1533
+ };
1534
+ const handleTextAreaOnPaste = (e) => {
1535
+ adjustTextareaHeight(textareaRef.current);
1536
+ if (onPaste) {
1537
+ onPaste(e);
1538
+ }
1539
+ };
1540
+ const inputElement = allowMultiline ? /* @__PURE__ */ React12.createElement(
1541
+ "textarea",
1542
+ {
1543
+ ...commonProps,
1544
+ ref: (el) => {
1545
+ textareaRef.current = el;
1546
+ if (typeof ref === "function") {
1547
+ ref(el);
1548
+ } else if (ref && typeof ref === "object" && "current" in ref) {
1549
+ ref.current = el;
1550
+ }
1551
+ },
1552
+ rows: 1,
1553
+ style: {
1554
+ ...commonProps.style,
1555
+ resize: "none",
1556
+ boxSizing: "border-box"
1557
+ },
1558
+ onChange: handleTextareaOnChange,
1559
+ onPaste: handleTextAreaOnPaste
1560
+ }
1561
+ ) : /* @__PURE__ */ React12.createElement(
1562
+ "input",
1563
+ {
1564
+ ...commonProps,
1565
+ ref: (el) => {
1566
+ if (typeof ref === "function") {
1567
+ ref(el);
1568
+ } else if (ref && typeof ref === "object" && "current" in ref) {
1569
+ ref.current = el;
1570
+ }
1571
+ },
1572
+ type: inputProps?.type || "text"
1573
+ }
1574
+ );
1575
+ if (shouldColorDecimals) {
1576
+ return /* @__PURE__ */ React12.createElement(Box, { style: { position: "relative", display: "flex", flex: 1 } }, /* @__PURE__ */ React12.createElement(
1577
+ Box,
1578
+ {
1579
+ color: "primaryText",
1580
+ style: {
1581
+ position: "absolute",
1582
+ left: 0,
1583
+ top: 0,
1584
+ pointerEvents: "none",
1585
+ fontFamily: "inherit",
1586
+ fontSize: "inherit",
1587
+ fontWeight: "inherit",
1588
+ lineHeight: "inherit",
1589
+ whiteSpace: "nowrap",
1590
+ display: "flex",
1591
+ alignItems: "center",
1592
+ height: "100%"
1593
+ }
1594
+ },
1595
+ /* @__PURE__ */ React12.createElement("span", { style: { color: "inherit" } }, integerPart),
1596
+ /* @__PURE__ */ React12.createElement(DecimalSpan, { decimalsColor }, decimalPart)
1597
+ ), inputElement);
1598
+ }
1599
+ return inputElement;
1600
+ };
1601
+ return /* @__PURE__ */ React12.createElement(
1602
+ Box,
1603
+ {
1604
+ color: "primaryText",
1605
+ display: "flex",
1606
+ flexDirection: "column",
1607
+ fontSize: "inherit",
1608
+ gap: "8",
1609
+ width: "full"
1610
+ },
1611
+ label && /* @__PURE__ */ React12.createElement(Text, { size: "inputLabel", weight: textWeight }, label),
1612
+ isLoading ? /* @__PURE__ */ React12.createElement(FunSkeletonBlock, { height: "44" }) : /* @__PURE__ */ React12.createElement(
1613
+ Box,
1614
+ {
1615
+ borderRadius,
1616
+ fontFamily,
1617
+ minWidth: "full",
1618
+ display: "flex",
1619
+ alignItems: allowMultiline ? "flex-start" : "center",
1620
+ color: adornmentColor,
1621
+ borderColor: getBorderColor(),
1622
+ borderWidth: overrideBorderWidth ?? "1",
1623
+ borderStyle: "solid",
1624
+ fontSize: ignoreFontSize ? "inherit" : "inputValue",
1625
+ fontWeight: "inputValue",
1626
+ className: ignoreBaseTransitions ? baseWrapperStylesNoTransition : baseWrapperStyles,
1627
+ background: overrideBackground || {
1628
+ base: "inputBackground",
1629
+ hover: "inputBackgroundHover"
1630
+ }
1631
+ },
1632
+ prefix && /* @__PURE__ */ React12.createElement(Box, { paddingLeft: "12", height: "max" }, prefix),
1633
+ prefixIcon === "SearchIcon" && /* @__PURE__ */ React12.createElement(
1634
+ Box,
1635
+ {
1636
+ display: "flex",
1637
+ paddingLeft: "12",
1638
+ height: "max",
1639
+ alignItems: "center",
1640
+ color: isFocused ? "primaryText" : "secondaryText"
1641
+ },
1642
+ /* @__PURE__ */ React12.createElement(SearchIcon, null)
1643
+ ),
1644
+ prefixIcon === "$" && /* @__PURE__ */ React12.createElement(Box, { display: "flex", alignItems: "center", paddingLeft: "32" }, /* @__PURE__ */ React12.createElement(
1645
+ DollarTextIcon,
1646
+ {
1647
+ fontSize: inputStyle.fontSize || DEFAULT_ICON_FONT_SIZE
1648
+ }
1649
+ )),
1650
+ renderInputOrTextarea(),
1651
+ suffix && /* @__PURE__ */ React12.createElement(
1652
+ Box,
1653
+ {
1654
+ paddingLeft: "4",
1655
+ paddingRight: "10",
1656
+ ...allowMultiline ? {
1657
+ style: {
1658
+ paddingTop: `calc(${themeVars.spacing.inputPaddingY} - 3px)`
1659
+ }
1660
+ } : {}
1661
+ },
1662
+ suffix
1663
+ )
1664
+ ),
1665
+ error && typeof error === "string" && /* @__PURE__ */ React12.createElement(Text, { color: "error", size: "10" }, error)
1666
+ );
1667
+ });
1668
+ var adjustTextareaHeight = (textarea) => {
1669
+ if (textarea) {
1670
+ textarea.style.height = "auto";
1671
+ textarea.style.height = `${textarea.scrollHeight}px`;
1672
+ }
1673
+ };
1674
+ var DollarTextIcon = ({ fontSize }) => /* @__PURE__ */ React12.createElement(
1675
+ Text,
1676
+ {
1677
+ style: {
1678
+ paddingBottom: 2,
1679
+ fontSize,
1680
+ fontWeight: 800
1681
+ }
1682
+ },
1683
+ "$"
1684
+ );
1685
+ var DecimalSpan = ({
1686
+ decimalsColor,
1687
+ children
1688
+ }) => /* @__PURE__ */ React12.createElement(
1689
+ Box,
1690
+ {
1691
+ color: decimalsColor,
1692
+ style: { fontFamily: "inherit", fontSize: "inherit" }
1693
+ },
1694
+ children
1695
+ );
1696
+
1697
+ // src/utils/tokenMath.ts
1698
+ import * as dnum from "dnum";
1699
+ import { formatUnits } from "viem";
1700
+ function floorToDecimals(value, decimals) {
1701
+ const d = dnum.from(value, decimals);
1702
+ return dnum.toNumber(d, decimals);
1703
+ }
1704
+
1705
+ // src/components/Icons/CheckIcon.tsx
1706
+ import React13 from "react";
1707
+ var CheckIcon = ({
1708
+ size = 16,
1709
+ className
1710
+ }) => /* @__PURE__ */ React13.createElement(
1711
+ "svg",
1712
+ {
1713
+ width: size,
1714
+ height: size,
1715
+ viewBox: "0 0 16 16",
1716
+ fill: "none",
1717
+ xmlns: "http://www.w3.org/2000/svg",
1718
+ className
1719
+ },
1720
+ /* @__PURE__ */ React13.createElement(
1721
+ "path",
1722
+ {
1723
+ d: "M12.4919 4.88281L6.25757 11.1172L3.50781 8",
1724
+ stroke: "currentColor",
1725
+ strokeWidth: "1.5",
1726
+ strokeLinecap: "round",
1727
+ strokeLinejoin: "round",
1728
+ pathLength: "100"
1729
+ }
1730
+ )
1731
+ );
1732
+
1733
+ // src/components/Dropdown/BaseDropdownItem.tsx
1734
+ import { noop } from "@funkit/utils";
1735
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
1736
+ import React14 from "react";
1737
+ import clsx2 from "clsx";
1738
+
1739
+ // src/components/Dropdown/BaseDropdownItem.css.ts
1740
+ var disabledDropdownItemStyles = "BaseDropdownItem_disabledDropdownItemStyles__18hhw3k3 BaseDropdownItem__18hhw3k2";
1741
+ var enabledDropdownItemStyles = "BaseDropdownItem_enabledDropdownItemStyles__18hhw3k1 BaseDropdownItem__18hhw3k0";
1742
+
1743
+ // src/components/Dropdown/BaseDropdownItem.tsx
1744
+ function BaseDropdownItem({
1745
+ iconComponent,
1746
+ label,
1747
+ description,
1748
+ id,
1749
+ onClick = noop,
1750
+ isSelected = false,
1751
+ isDisabled = false,
1752
+ borderRadius = "connectButton",
1753
+ horizontalIconGap = "dropdownItemIconGap",
1754
+ tagComponent,
1755
+ horizontalPadding = "dropdownItemPaddingX",
1756
+ verticalPadding = "dropdownItemPaddingY"
1757
+ }) {
1758
+ return /* @__PURE__ */ React14.createElement(
1759
+ DropdownMenu.Item,
1760
+ {
1761
+ disabled: isDisabled,
1762
+ onSelect: () => onClick(id),
1763
+ asChild: true
1764
+ },
1765
+ /* @__PURE__ */ React14.createElement(
1766
+ Box,
1767
+ {
1768
+ width: "full",
1769
+ display: "flex",
1770
+ alignItems: "center",
1771
+ justifyContent: "space-between",
1772
+ gap: "24",
1773
+ paddingY: verticalPadding,
1774
+ paddingX: horizontalPadding,
1775
+ className: clsx2(
1776
+ isDisabled ? disabledDropdownItemStyles : enabledDropdownItemStyles
1777
+ ),
1778
+ boxShadow: isSelected ? "selectedDropdownItem" : void 0,
1779
+ borderRadius
1780
+ },
1781
+ /* @__PURE__ */ React14.createElement(
1782
+ Box,
1783
+ {
1784
+ display: "flex",
1785
+ alignItems: "center",
1786
+ justifyContent: "flex-start",
1787
+ gap: horizontalIconGap
1788
+ },
1789
+ iconComponent && /* @__PURE__ */ React14.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "center" }, iconComponent),
1790
+ /* @__PURE__ */ React14.createElement(Box, { display: "flex", flexDirection: "column", justifyContent: "center" }, /* @__PURE__ */ React14.createElement(
1791
+ Text,
1792
+ {
1793
+ size: "dropdownItemFontSize",
1794
+ weight: "medium",
1795
+ color: isSelected ? "selectedDropdownItemText" : void 0
1796
+ },
1797
+ label
1798
+ ), description != null && /* @__PURE__ */ React14.createElement(Text, { size: "12", color: "secondaryText" }, description))
1799
+ ),
1800
+ /* @__PURE__ */ React14.createElement(
1801
+ Box,
1802
+ {
1803
+ display: "flex",
1804
+ alignItems: "center",
1805
+ justifyContent: "center",
1806
+ gap: "16"
1807
+ },
1808
+ tagComponent,
1809
+ /* @__PURE__ */ React14.createElement(
1810
+ Box,
1811
+ {
1812
+ width: "16",
1813
+ height: "16",
1814
+ alignItems: "center",
1815
+ justifyContent: "center",
1816
+ color: isSelected ? "selectedDropdownItemText" : "transparent"
1817
+ },
1818
+ /* @__PURE__ */ React14.createElement(CheckIcon, null)
1819
+ )
1820
+ )
1821
+ )
1822
+ );
1823
+ }
1824
+ var BaseDropdownItem_default = BaseDropdownItem;
1825
+
1826
+ // src/components/Icons/CaretDownIcon.tsx
1827
+ import clsx3 from "clsx";
1828
+ import React15 from "react";
1829
+
1830
+ // src/components/Icons/CaretDownIcon.css.ts
1831
+ var caretClosed = "CaretDownIcon_caretClosed__1gjdf1i3";
1832
+ var caretOpened = "CaretDownIcon_caretOpened__1gjdf1i2";
1833
+
1834
+ // src/components/Icons/CaretDownIcon.tsx
1835
+ var CaretDownIcon = () => {
1836
+ return /* @__PURE__ */ React15.createElement(
1837
+ "svg",
1838
+ {
1839
+ width: "8",
1840
+ height: "5",
1841
+ viewBox: "0 0 8 5",
1842
+ fill: "none",
1843
+ xmlns: "http://www.w3.org/2000/svg"
1844
+ },
1845
+ /* @__PURE__ */ React15.createElement(
1846
+ "path",
1847
+ {
1848
+ 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",
1849
+ fill: "currentColor"
1850
+ }
1851
+ )
1852
+ );
1853
+ };
1854
+ var AnimatedCaretDownIcon = ({
1855
+ expanded,
1856
+ color = "primaryText",
1857
+ compact = false
1858
+ }) => {
1859
+ const animationClassName = clsx3(
1860
+ expanded !== void 0 && (expanded ? caretOpened : caretClosed)
1861
+ );
1862
+ if (compact) {
1863
+ return /* @__PURE__ */ React15.createElement(
1864
+ Box,
1865
+ {
1866
+ color,
1867
+ width: "8",
1868
+ height: "8",
1869
+ display: "flex",
1870
+ alignItems: "center",
1871
+ justifyContent: "center",
1872
+ className: animationClassName
1873
+ },
1874
+ /* @__PURE__ */ React15.createElement(CaretDownIcon, null)
1875
+ );
1876
+ }
1877
+ return /* @__PURE__ */ React15.createElement(
1878
+ Box,
1879
+ {
1880
+ color,
1881
+ width: "16",
1882
+ height: "16",
1883
+ display: "flex",
1884
+ alignItems: "center",
1885
+ justifyContent: "center",
1886
+ className: animationClassName
1887
+ },
1888
+ /* @__PURE__ */ React15.createElement(
1889
+ Box,
1890
+ {
1891
+ width: "8",
1892
+ height: "8",
1893
+ display: "flex",
1894
+ alignItems: "center",
1895
+ justifyContent: "center"
1896
+ },
1897
+ /* @__PURE__ */ React15.createElement(CaretDownIcon, null)
1898
+ )
1899
+ );
1900
+ };
1901
+
1902
+ // src/components/FunNoResults/FunNoResults.tsx
1903
+ import React18 from "react";
1904
+
1905
+ // src/components/Icons/CoinsIcon.tsx
1906
+ import React16 from "react";
1907
+ var CoinsIcon = ({
1908
+ size = 48,
1909
+ bgColor = "#141C41",
1910
+ iconColor = "#878A98"
1911
+ }) => {
1912
+ return /* @__PURE__ */ React16.createElement(
1913
+ "svg",
1914
+ {
1915
+ width: size,
1916
+ height: size,
1917
+ viewBox: "0 0 48 49",
1918
+ fill: "none",
1919
+ xmlns: "http://www.w3.org/2000/svg"
1920
+ },
1921
+ /* @__PURE__ */ React16.createElement("g", { clipPath: "url(#clip0_30657_22302)" }, /* @__PURE__ */ React16.createElement(
1922
+ "path",
1923
+ {
1924
+ 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",
1925
+ fill: bgColor,
1926
+ stroke: bgColor
1927
+ }
1928
+ ), /* @__PURE__ */ React16.createElement("g", { clipPath: "url(#clip1_30657_22302)" }, /* @__PURE__ */ React16.createElement(
1929
+ "path",
1930
+ {
1931
+ 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",
1932
+ stroke: iconColor,
1933
+ strokeWidth: "1.5",
1934
+ strokeLinecap: "round",
1935
+ strokeLinejoin: "round"
1936
+ }
1937
+ ))),
1938
+ /* @__PURE__ */ React16.createElement("defs", null, /* @__PURE__ */ React16.createElement("clipPath", { id: "clip0_30657_22302" }, /* @__PURE__ */ React16.createElement(
1939
+ "rect",
1940
+ {
1941
+ width: "48",
1942
+ height: "48",
1943
+ fill: "white",
1944
+ transform: "translate(0 0.5)"
1945
+ }
1946
+ )), /* @__PURE__ */ React16.createElement("clipPath", { id: "clip1_30657_22302" }, /* @__PURE__ */ React16.createElement(
1947
+ "rect",
1948
+ {
1949
+ width: "24",
1950
+ height: "24",
1951
+ fill: "white",
1952
+ transform: "translate(12 12)"
1953
+ }
1954
+ )))
1955
+ );
1956
+ };
1957
+
1958
+ // src/components/Icons/SearchSkeletonIcon.tsx
1959
+ import React17 from "react";
1960
+ var SearchSkeletonIcon = () => {
1961
+ return /* @__PURE__ */ React17.createElement(
1962
+ "svg",
1963
+ {
1964
+ width: "122",
1965
+ height: "81",
1966
+ viewBox: "0 0 122 81",
1967
+ fill: "none",
1968
+ xmlns: "http://www.w3.org/2000/svg"
1969
+ },
1970
+ /* @__PURE__ */ React17.createElement("g", { clipPath: "url(#clip0_7590_15835)" }, /* @__PURE__ */ React17.createElement(
1971
+ "path",
1972
+ {
1973
+ fillRule: "evenodd",
1974
+ clipRule: "evenodd",
1975
+ 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",
1976
+ fill: "currentColor"
1977
+ }
1978
+ ), /* @__PURE__ */ React17.createElement(
1979
+ "path",
1980
+ {
1981
+ 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",
1982
+ fill: "currentColor"
1983
+ }
1984
+ ), /* @__PURE__ */ React17.createElement(
1985
+ "path",
1986
+ {
1987
+ 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",
1988
+ fill: "currentColor"
1989
+ }
1990
+ ), /* @__PURE__ */ React17.createElement(
1991
+ "path",
1992
+ {
1993
+ 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",
1994
+ fill: "currentColor"
1995
+ }
1996
+ )),
1997
+ /* @__PURE__ */ React17.createElement("defs", null, /* @__PURE__ */ React17.createElement("clipPath", { id: "clip0_7590_15835" }, /* @__PURE__ */ React17.createElement(
1998
+ "rect",
1999
+ {
2000
+ width: "121",
2001
+ height: "81",
2002
+ fill: "white",
2003
+ transform: "translate(0.5)"
2004
+ }
2005
+ )))
2006
+ );
2007
+ };
2008
+
2009
+ // src/components/FunNoResults/FunNoResults.tsx
2010
+ var FunNoResults = ({
2011
+ text,
2012
+ title,
2013
+ variant = "default",
2014
+ actionButton
2015
+ }) => {
2016
+ return /* @__PURE__ */ React18.createElement(
2017
+ Box,
2018
+ {
2019
+ display: "flex",
2020
+ flexDirection: "column",
2021
+ justifyContent: "center",
2022
+ alignItems: "center",
2023
+ gap: variant === "default" ? "12" : "16",
2024
+ color: "secondaryText",
2025
+ style: { flex: 1 }
2026
+ },
2027
+ variant === "default" && /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(SearchSkeletonIcon, null), /* @__PURE__ */ React18.createElement(Text, { color: "secondaryText", size: "10" }, text)),
2028
+ variant === "actionable" && /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(
2029
+ CoinsIcon,
2030
+ {
2031
+ bgColor: themeVars.colors.offBackground,
2032
+ iconColor: themeVars.colors.actionColor
2033
+ }
2034
+ ), /* @__PURE__ */ React18.createElement(
2035
+ Box,
2036
+ {
2037
+ display: "flex",
2038
+ flexDirection: "column",
2039
+ alignItems: "center",
2040
+ gap: "12"
2041
+ },
2042
+ /* @__PURE__ */ React18.createElement(
2043
+ Box,
2044
+ {
2045
+ display: "flex",
2046
+ flexDirection: "column",
2047
+ alignItems: "center",
2048
+ textAlign: "center",
2049
+ gap: "8"
2050
+ },
2051
+ title && /* @__PURE__ */ React18.createElement(Text, { size: "14", color: "primaryText" }, title),
2052
+ /* @__PURE__ */ React18.createElement(Text, { color: "secondaryText", size: "12" }, text)
2053
+ ),
2054
+ actionButton && /* @__PURE__ */ React18.createElement(Box, null, actionButton)
2055
+ ))
2056
+ );
2057
+ };
2058
+
2059
+ // src/components/Icons/SwitchIcon.tsx
2060
+ import React19 from "react";
2061
+ var SwitchIcon = () => {
2062
+ return /* @__PURE__ */ React19.createElement(
2063
+ "svg",
2064
+ {
2065
+ width: "15",
2066
+ height: "14",
2067
+ viewBox: "0 0 15 14",
2068
+ fill: "none",
2069
+ xmlns: "http://www.w3.org/2000/svg"
2070
+ },
2071
+ /* @__PURE__ */ React19.createElement(
2072
+ "path",
2073
+ {
2074
+ fillRule: "evenodd",
2075
+ clipRule: "evenodd",
2076
+ 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",
2077
+ fill: "currentColor"
2078
+ }
2079
+ )
2080
+ );
2081
+ };
2082
+
2083
+ // src/components/Dropdown/BaseDropdown.css.ts
2084
+ var BORDER_RADIUS = "dropdown";
2085
+ var baseDropdownItemWrapperStyles = "BaseDropdown_baseDropdownItemWrapperStyles__1nns6ys3 sprinkles_borderRadius_dropdownItem__1rsrm2f17";
2086
+ var scrollGradientWrapperStyles = "BaseDropdown_scrollGradientWrapperStyles__1nns6ys1";
2087
+ var scrollableDropdownStyles = "BaseDropdown_scrollableDropdownStyles__1nns6ys0";
2088
+
2089
+ // src/providers/FunkitStatsigProvider.tsx
2090
+ import { datadogLogs } from "@datadog/browser-logs";
2091
+ import {
2092
+ LogEventCompressionMode,
2093
+ LogLevel,
2094
+ StatsigProvider,
2095
+ useClientAsyncInit
2096
+ } from "@statsig/react-bindings";
2097
+ import React20, { useEffect as useEffect4 } from "react";
2098
+ var STATSIG_CLIENT_KEY = "client-UmFd8WIJljA7cLmZuDqs3X25M8sKd5WIQP4BSC2bRbM";
2099
+
2100
+ // src/providers/FunkitProvider.tsx
2101
+ var ThemeIdContext2 = createContext3(void 0);
2102
+ var attr = "data-rk";
2103
+ var createThemeRootProps = (id) => ({ [attr]: id || "" });
2104
+ var useThemeRootProps = () => {
2105
+ const id = useContext3(ThemeIdContext2);
2106
+ return createThemeRootProps(id);
2107
+ };
2108
+
2109
+ // src/components/Dropdown/BaseActiveDropdownItem.tsx
2110
+ import React22 from "react";
2111
+
2112
+ // src/components/Dropdown/BaseActiveDropdownItem.css.ts
2113
+ var baseStyles = "BaseActiveDropdownItem_baseStyles__1dewiqw0";
2114
+
2115
+ // src/components/Dropdown/BaseActiveDropdownItem.tsx
2116
+ function BaseActiveDropdownItem({
2117
+ iconComponent,
2118
+ label,
2119
+ isOpened,
2120
+ onClick,
2121
+ horizontalIconGap = "dropdownItemIconGap",
2122
+ alwaysVisibleLabel,
2123
+ tagComponent,
2124
+ tagPosition = "start",
2125
+ size = "regular",
2126
+ color = "primaryText",
2127
+ arrowColor = "secondaryText",
2128
+ background,
2129
+ labelStyle,
2130
+ compactIcon = false
2131
+ }) {
2132
+ return /* @__PURE__ */ React22.createElement(
2133
+ Box,
2134
+ {
2135
+ display: "flex",
2136
+ alignItems: "center",
2137
+ justifyContent: "space-between",
2138
+ gap: "6",
2139
+ cursor: "pointer",
2140
+ onClick,
2141
+ background: background ?? {
2142
+ base: "dropdownActiveItemBackgroundBase",
2143
+ hover: "dropdownActiveItemBackgroundHover"
2144
+ },
2145
+ borderColor: {
2146
+ base: "dropdownActiveItemBorderBase",
2147
+ hover: "dropdownActiveItemBorderHover"
2148
+ },
2149
+ borderWidth: size === "compact" ? "0" : "1",
2150
+ borderRadius: BORDER_RADIUS,
2151
+ borderStyle: "solid",
2152
+ paddingY: size === "compact" ? "2" : size === "large" ? "10" : "dropdownActiveItemRegularSizePaddingY",
2153
+ paddingX: size === "compact" ? "4" : size === "large" ? "8" : "dropdownPaddingX",
2154
+ className: baseStyles
2155
+ },
2156
+ /* @__PURE__ */ React22.createElement(
2157
+ Box,
2158
+ {
2159
+ display: "flex",
2160
+ alignItems: "center",
2161
+ justifyContent: "space-between",
2162
+ gap: horizontalIconGap,
2163
+ style: size === "compact" ? void 0 : { flex: "1 0 auto" }
2164
+ },
2165
+ alwaysVisibleLabel && /* @__PURE__ */ React22.createElement(Box, { style: { flex: 1 } }, /* @__PURE__ */ React22.createElement(Text, { color: "secondaryText", size: "12" }, alwaysVisibleLabel)),
2166
+ /* @__PURE__ */ React22.createElement(
2167
+ Box,
2168
+ {
2169
+ display: "flex",
2170
+ alignItems: "center",
2171
+ justifyContent: "space-between",
2172
+ gap: horizontalIconGap,
2173
+ background: {
2174
+ base: "transparent",
2175
+ hover: "alwaysVisibleLabelBackgroundHover"
2176
+ },
2177
+ ...alwaysVisibleLabel ? {} : { style: { flex: 1 } }
2178
+ },
2179
+ /* @__PURE__ */ React22.createElement(
2180
+ Box,
2181
+ {
2182
+ display: "flex",
2183
+ alignItems: "center",
2184
+ justifyContent: "center",
2185
+ gap: horizontalIconGap,
2186
+ ...alwaysVisibleLabel ? { style: { flexDirection: "row-reverse" } } : {}
2187
+ },
2188
+ tagPosition === "start" && tagComponent,
2189
+ /* @__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(
2190
+ Text,
2191
+ {
2192
+ color,
2193
+ size: "dropdownItemFontSize",
2194
+ weight: "medium",
2195
+ style: labelStyle
2196
+ },
2197
+ label
2198
+ ))
2199
+ ),
2200
+ /* @__PURE__ */ React22.createElement(Box, { display: "flex", alignItems: "center", gap: "5" }, tagPosition === "end" && tagComponent, /* @__PURE__ */ React22.createElement(
2201
+ AnimatedCaretDownIcon,
2202
+ {
2203
+ expanded: isOpened,
2204
+ color: arrowColor,
2205
+ compact: compactIcon
2206
+ }
2207
+ ))
2208
+ )
2209
+ )
2210
+ );
2211
+ }
2212
+ var BaseActiveDropdownItem_default = BaseActiveDropdownItem;
2213
+
2214
+ // src/components/Dropdown/BaseDropdown.utils.ts
2215
+ var NO_SELECTION_VALUE = "";
2216
+ var ADDITIONAL_GROUP_KEY = "__additional__";
2217
+ function buildAllOptions(options, allowUnselect, unselectLabel) {
2218
+ if (allowUnselect) {
2219
+ return [
2220
+ {
2221
+ label: unselectLabel ?? "",
2222
+ value: NO_SELECTION_VALUE
2223
+ },
2224
+ ...options
2225
+ ];
2226
+ }
2227
+ return options;
2228
+ }
2229
+ function filterOptions(allOptions, searchInput) {
2230
+ const search = searchInput?.trim().toLowerCase() ?? "";
2231
+ return allOptions.filter(
2232
+ (option) => option.label.toLowerCase().includes(search)
2233
+ );
2234
+ }
2235
+ function organizeDropdownGroups(filteredOptions, groups, additionalGroup, additionalGroupLabel) {
2236
+ const organizedGroups = [];
2237
+ if (!groups) {
2238
+ organizedGroups.push({
2239
+ key: ADDITIONAL_GROUP_KEY,
2240
+ label: void 0,
2241
+ options: filteredOptions
2242
+ });
2243
+ return {
2244
+ organizedGroups,
2245
+ organizedOptions: filteredOptions
2246
+ };
2247
+ }
2248
+ const unselectOption = filteredOptions.find(
2249
+ (option) => option.value === NO_SELECTION_VALUE
2250
+ );
2251
+ if (unselectOption) {
2252
+ organizedGroups.push({
2253
+ key: NO_SELECTION_VALUE,
2254
+ label: void 0,
2255
+ options: [unselectOption]
2256
+ });
2257
+ }
2258
+ const optionsByValue = new Map(
2259
+ filteredOptions.filter((option) => option.value !== NO_SELECTION_VALUE).map((option) => [option.value, option])
2260
+ );
2261
+ const inflatedGroups = groups.map((group) => ({
2262
+ ...group,
2263
+ // Only take the options that actually exist
2264
+ // Note that this preserves the ordering of `group.values`
2265
+ options: group.values.map((value) => optionsByValue.get(value)).filter((option) => !!option)
2266
+ })).filter((group) => group.options.length > 0);
2267
+ const hasNonEmptyGroup = inflatedGroups.length > 0;
2268
+ for (const group of inflatedGroups) {
2269
+ organizedGroups.push({
2270
+ key: group.key,
2271
+ label: group.label,
2272
+ options: group.options
2273
+ });
2274
+ if (additionalGroup === "others") {
2275
+ for (const option of group.options) {
2276
+ optionsByValue.delete(option.value);
2277
+ }
2278
+ }
2279
+ }
2280
+ if (optionsByValue.size > 0) {
2281
+ organizedGroups.push({
2282
+ key: ADDITIONAL_GROUP_KEY,
2283
+ // Only show additional group label if there actually are other groups
2284
+ label: hasNonEmptyGroup ? additionalGroupLabel : void 0,
2285
+ options: [...optionsByValue.values()]
2286
+ });
2287
+ }
2288
+ const organizedOptions = organizedGroups.flatMap((group) => group.options);
2289
+ return { organizedGroups, organizedOptions };
2290
+ }
2291
+
2292
+ // src/components/Dropdown/BaseDropdown.tsx
2293
+ var HORIZONTAL_ICON_GAP = "4";
2294
+ var activeDropdownItemSize = {
2295
+ compact: "18",
2296
+ regular: "36",
2297
+ large: "40"
2298
+ };
2299
+ function BaseDropdown({
2300
+ activeItemProps,
2301
+ value,
2302
+ options,
2303
+ groups,
2304
+ additionalGroup = "others",
2305
+ additionalGroupLabel,
2306
+ allowUnselect = false,
2307
+ unselectLabel,
2308
+ onOptionSelected,
2309
+ onOpen,
2310
+ renderDropdownOption,
2311
+ searchableOptions = false,
2312
+ searchPlaceholder,
2313
+ placeholder,
2314
+ resetSearchOnClose = true,
2315
+ openToTopOnMobile = true,
2316
+ alwaysOpenToTop = false,
2317
+ openDropdownFullWidth = true,
2318
+ isLoading = false,
2319
+ preloadIconUrls,
2320
+ horizontalIconGap = HORIZONTAL_ICON_GAP,
2321
+ openDropdownBackgroundColor = "openDropdownBackgroundColor",
2322
+ size = "regular",
2323
+ label,
2324
+ maxDropdownHeight,
2325
+ dropdownWidth,
2326
+ dropdownAlign = "end",
2327
+ testId
2328
+ }) {
2329
+ const { t } = useFunkitTranslation();
2330
+ const themeRootProps = useThemeRootProps();
2331
+ const isMobileDevice = isMobile();
2332
+ const [isOpened, setIsOpened] = useState5(false);
2333
+ const [searchInput, setSearchInput] = useState5("");
2334
+ const { ref: scrollRef, hasTopDivider, isAtBottom } = useScrollDivider();
2335
+ const allOptions = useMemo2(
2336
+ () => buildAllOptions(options, allowUnselect, unselectLabel),
2337
+ [options, allowUnselect, unselectLabel]
2338
+ );
2339
+ const selectedOption = allOptions.find((option) => option.value === value);
2340
+ const prevIsOpenedRef = useRef2(false);
2341
+ const portalThemeRef = useRef2(null);
2342
+ const handleSearch = (event) => {
2343
+ setSearchInput(event.target.value);
2344
+ };
2345
+ const filteredOptions = useMemo2(
2346
+ () => filterOptions(allOptions, searchInput),
2347
+ [allOptions, searchInput]
2348
+ );
2349
+ const { organizedGroups, organizedOptions } = useMemo2(
2350
+ () => organizeDropdownGroups(
2351
+ filteredOptions,
2352
+ groups,
2353
+ additionalGroup,
2354
+ additionalGroupLabel
2355
+ ),
2356
+ [additionalGroup, additionalGroupLabel, filteredOptions, groups]
2357
+ );
2358
+ const handleOpenChange = useCallback2(
2359
+ (open) => {
2360
+ setIsOpened(open);
2361
+ if (open) {
2362
+ onOpen?.();
2363
+ } else {
2364
+ resetSearchOnClose && setSearchInput("");
2365
+ }
2366
+ },
2367
+ [onOpen, resetSearchOnClose]
2368
+ );
2369
+ useEffect6(() => {
2370
+ if (isOpened && !prevIsOpenedRef.current) {
2371
+ prevIsOpenedRef.current = true;
2372
+ if (selectedOption) {
2373
+ const selectedOptionIndex = organizedOptions.findIndex(
2374
+ (option) => option.value === selectedOption.value
2375
+ );
2376
+ if (selectedOptionIndex !== -1) {
2377
+ requestAnimationFrame(() => {
2378
+ const selectedOptionElement = document.getElementById(
2379
+ `${selectedOption.value}-dropdown-item`
2380
+ );
2381
+ selectedOptionElement?.scrollIntoView({
2382
+ behavior: "instant",
2383
+ block: "center"
2384
+ });
2385
+ });
2386
+ }
2387
+ }
2388
+ } else if (!isOpened) {
2389
+ prevIsOpenedRef.current = false;
2390
+ }
2391
+ }, [isOpened, selectedOption, organizedOptions]);
2392
+ const dropdownSide = alwaysOpenToTop || openToTopOnMobile && isMobileDevice ? "top" : "bottom";
2393
+ 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(
2394
+ DropdownMenu2.Root,
2395
+ {
2396
+ open: isOpened,
2397
+ onOpenChange: handleOpenChange,
2398
+ modal: false
2399
+ },
2400
+ /* @__PURE__ */ React23.createElement(
2401
+ Box,
2402
+ {
2403
+ position: "relative",
2404
+ display: size === "compact" ? "flex" : void 0
2405
+ },
2406
+ isLoading ? /* @__PURE__ */ React23.createElement(FunSkeletonBlock, { height: activeDropdownItemSize[size] }) : /* @__PURE__ */ React23.createElement(DropdownMenu2.Trigger, { asChild: true }, /* @__PURE__ */ React23.createElement("div", null, /* @__PURE__ */ React23.createElement(
2407
+ BaseActiveDropdownItem_default,
2408
+ {
2409
+ ...activeItemProps,
2410
+ size,
2411
+ horizontalIconGap,
2412
+ isOpened,
2413
+ label: activeItemProps?.label ?? selectedOption?.label ?? placeholder ?? ""
2414
+ }
2415
+ ))),
2416
+ /* @__PURE__ */ React23.createElement(DropdownMenu2.Portal, null, /* @__PURE__ */ React23.createElement(
2417
+ DropdownMenu2.Content,
2418
+ {
2419
+ ...themeRootProps,
2420
+ ref: portalThemeRef,
2421
+ side: dropdownSide,
2422
+ sideOffset: dropdownSide === "top" ? 8 : 6,
2423
+ align: dropdownAlign,
2424
+ className: "funkit-dropdown-content",
2425
+ style: {
2426
+ zIndex: `calc(${themeVars.modalZIndex} + 1)`,
2427
+ width: dropdownWidth ? `${dropdownWidth}px` : openDropdownFullWidth ? "var(--radix-dropdown-menu-trigger-width)" : void 0,
2428
+ transformOrigin: "var(--radix-dropdown-menu-content-transform-origin)"
2429
+ },
2430
+ onCloseAutoFocus: (e) => e.preventDefault()
2431
+ },
2432
+ /* @__PURE__ */ React23.createElement(TooltipAnchorRefContext.Provider, { value: portalThemeRef }, /* @__PURE__ */ React23.createElement(
2433
+ Box,
2434
+ {
2435
+ background: openDropdownBackgroundColor,
2436
+ borderColor: "transparent",
2437
+ borderWidth: "1",
2438
+ borderRadius: "dropdownList",
2439
+ borderStyle: "solid",
2440
+ boxShadow: "dropdown",
2441
+ className: maxDropdownHeight ? scrollGradientWrapperStyles : void 0,
2442
+ "data-fade-top": maxDropdownHeight && hasTopDivider ? "true" : "false",
2443
+ "data-fade-bottom": maxDropdownHeight && !isAtBottom ? "true" : "false"
2444
+ },
2445
+ /* @__PURE__ */ React23.createElement(
2446
+ Box,
2447
+ {
2448
+ className: maxDropdownHeight ? scrollableDropdownStyles : void 0,
2449
+ ref: maxDropdownHeight ? scrollRef : void 0,
2450
+ style: { maxHeight: maxDropdownHeight }
2451
+ },
2452
+ /* @__PURE__ */ React23.createElement(Box, { display: "flex", flexDirection: "column" }, searchableOptions && /* @__PURE__ */ React23.createElement(Box, { paddingTop: "8", paddingX: "8" }, /* @__PURE__ */ React23.createElement(
2453
+ FunInput,
2454
+ {
2455
+ placeholder: searchPlaceholder ?? t("common.searchTokens"),
2456
+ value: searchInput,
2457
+ onChange: handleSearch,
2458
+ prefixIcon: "SearchIcon"
2459
+ }
2460
+ )), organizedOptions.length === 0 ? /* @__PURE__ */ React23.createElement(FunNoResults, { text: t("common.noResultsFound") }) : /* @__PURE__ */ React23.createElement(
2461
+ Box,
2462
+ {
2463
+ as: "ul",
2464
+ display: "flex",
2465
+ flexDirection: "column",
2466
+ paddingY: size === "compact" ? "dropdownCompactPaddingY" : "dropdownPaddingY"
2467
+ },
2468
+ organizedGroups.map(
2469
+ ({
2470
+ key: groupKey,
2471
+ label: groupLabel,
2472
+ options: optionsInGroup
2473
+ }, groupIndex) => /* @__PURE__ */ React23.createElement(React23.Fragment, { key: groupKey }, groupIndex > 0 && /* @__PURE__ */ React23.createElement(
2474
+ Box,
2475
+ {
2476
+ height: "1",
2477
+ background: "lightStroke",
2478
+ marginY: "dropdownGroupDividerMarginY"
2479
+ }
2480
+ ), groupLabel && /* @__PURE__ */ React23.createElement(
2481
+ Box,
2482
+ {
2483
+ paddingX: size === "compact" ? "dropdownCompactPaddingX" : "dropdownPaddingX"
2484
+ },
2485
+ /* @__PURE__ */ React23.createElement(
2486
+ Box,
2487
+ {
2488
+ paddingX: "dropdownItemPaddingX",
2489
+ paddingY: "dropdownItemPaddingY"
2490
+ },
2491
+ /* @__PURE__ */ React23.createElement(
2492
+ Text,
2493
+ {
2494
+ color: "dropdownGroupHeader",
2495
+ font: "dropdownGroupHeader",
2496
+ size: "dropdownGroupHeader",
2497
+ weight: "dropdownGroupHeader"
2498
+ },
2499
+ groupLabel
2500
+ )
2501
+ )
2502
+ ), optionsInGroup.map((singleOption) => {
2503
+ const isSelected = singleOption.value === selectedOption?.value;
2504
+ return /* @__PURE__ */ React23.createElement(
2505
+ Box,
2506
+ {
2507
+ key: singleOption.value,
2508
+ paddingX: size === "compact" ? "dropdownCompactPaddingX" : "dropdownPaddingX"
2509
+ },
2510
+ /* @__PURE__ */ React23.createElement(
2511
+ Box,
2512
+ {
2513
+ id: `${singleOption.value}-dropdown-item`,
2514
+ as: "li",
2515
+ background: {
2516
+ base: isSelected ? "selectedDropdownItemBackground" : "transparent",
2517
+ hover: "offBackground"
2518
+ },
2519
+ className: baseDropdownItemWrapperStyles,
2520
+ onClick: () => {
2521
+ onOptionSelected?.(singleOption);
2522
+ }
2523
+ },
2524
+ renderDropdownOption(
2525
+ singleOption,
2526
+ isSelected
2527
+ )
2528
+ )
2529
+ );
2530
+ }))
2531
+ )
2532
+ ))
2533
+ )
2534
+ ))
2535
+ )),
2536
+ preloadIconUrls && /* @__PURE__ */ React23.createElement(
2537
+ Box,
2538
+ {
2539
+ display: "none",
2540
+ "aria-hidden": true,
2541
+ style: { position: "absolute", top: "-100%", left: "-100%" }
2542
+ },
2543
+ preloadIconUrls.map((url, index) => /* @__PURE__ */ React23.createElement("img", { key: `${url}-${index}`, src: url, alt: "" }))
2544
+ )
2545
+ )
2546
+ ));
2547
+ }
2548
+ var BaseDropdown_default = BaseDropdown;
2549
+
2550
+ // src/components/Dropdown/AccountSelectDropdown.tsx
2551
+ var ACCOUNTS_GROUP = "accounts";
2552
+ var ACTION_GROUP = "action";
2553
+ function AccountSelectDropdown({
2554
+ accounts,
2555
+ selectedValue,
2556
+ onSelect,
2557
+ action,
2558
+ prefixLabel,
2559
+ label,
2560
+ size,
2561
+ dropdownWidth,
2562
+ testId
2563
+ }) {
2564
+ const options = [
2565
+ ...accounts.map((account) => ({
2566
+ value: account.value,
2567
+ label: account.label
2568
+ })),
2569
+ ...action ? [{ value: action.id, label: action.label }] : []
2570
+ ];
2571
+ const groups = action ? [
2572
+ {
2573
+ key: ACCOUNTS_GROUP,
2574
+ label: "",
2575
+ values: accounts.map((account) => account.value)
2576
+ },
2577
+ { key: ACTION_GROUP, label: "", values: [action.id] }
2578
+ ] : void 0;
2579
+ return /* @__PURE__ */ React24.createElement(
2580
+ BaseDropdown_default,
2581
+ {
2582
+ testId,
2583
+ label,
2584
+ size,
2585
+ dropdownWidth,
2586
+ value: selectedValue,
2587
+ options,
2588
+ groups,
2589
+ activeItemProps: { alwaysVisibleLabel: prefixLabel },
2590
+ renderDropdownOption: (option, isSelected) => {
2591
+ if (action && option.value === action.id) {
2592
+ return /* @__PURE__ */ React24.createElement(
2593
+ BaseDropdownItem_default,
2594
+ {
2595
+ id: option.value,
2596
+ label: option.label,
2597
+ iconComponent: action.icon && // Render the icon in the theme's primary text colour
2598
+ // (the icon uses `currentColor`), matching the label.
2599
+ /* @__PURE__ */ React24.createElement(Box, { display: "flex", color: "primaryText" }, action.icon),
2600
+ horizontalIconGap: "8",
2601
+ onClick: action.onSelect
2602
+ }
2603
+ );
2604
+ }
2605
+ const account = accounts.find((item) => item.value === option.value);
2606
+ return /* @__PURE__ */ React24.createElement(
2607
+ BaseDropdownItem_default,
2608
+ {
2609
+ id: option.value,
2610
+ label: option.label,
2611
+ description: account?.description,
2612
+ isSelected,
2613
+ onClick: onSelect
2614
+ }
2615
+ );
2616
+ }
2617
+ }
2618
+ );
2619
+ }
2620
+
2621
+ // src/utils/statsig/checkFeatureGate.ts
2622
+ import { defaultFeatureGates as fallbackFeatureGates } from "@funkit/connect-core";
2623
+ import { StatsigClient } from "@statsig/react-bindings";
2624
+ function checkFeatureGate(name) {
2625
+ try {
2626
+ return StatsigClient.instance(STATSIG_CLIENT_KEY).checkGate(name);
2627
+ } catch (err) {
2628
+ logger.warn("checkFeatureGate:error", { name, err });
2629
+ return fallbackFeatureGates[name];
2630
+ }
2631
+ }
2632
+
2633
+ // src/clients/polymarket/polymarket.tsx
2634
+ var PMCT_WITHDRAW_ACTION_TYPE = "PMCT_WITHDRAW";
2635
+ var POLYGON_USDCE = "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174";
2636
+ var PUSD_TOKEN = {
2637
+ address: POLYMARKET_PUSD_ADDRESS,
2638
+ symbol: "pUSD",
2639
+ iconSrc: "https://sdk-cdn.fun.xyz/images/pusd.svg"
2640
+ };
2641
+ var PUSD_OFFRAMP_ADDRESS = "0x2957922Eb93258b93368531d39fAcCA3B4dC5854";
2642
+ var PUSD_OFFRAMP_ABI = [
2643
+ {
2644
+ name: "unwrap",
2645
+ type: "function",
2646
+ inputs: [
2647
+ { name: "_asset", type: "address" },
2648
+ { name: "_to", type: "address" },
2649
+ { name: "_amount", type: "uint256" }
2650
+ ],
2651
+ outputs: [],
2652
+ stateMutability: "nonpayable"
2653
+ }
2654
+ ];
2655
+ function createPolymarketWithdrawalCallback(config) {
2656
+ const { userId, sendPmctTransfer } = config;
2657
+ return async (param) => {
2658
+ const { targetAssetAddress, targetChainId, destinationAddress, funQuote } = param;
2659
+ logger.info("polymarket:withdrawal:start", {
2660
+ targetChainId,
2661
+ targetAssetAddress,
2662
+ destinationAddress,
2663
+ quoteId: param.quoteId
2664
+ });
2665
+ const transferInit = await initializeCheckoutTokenTransferAddress({
2666
+ apiKey: POLYMARKET_API_KEY,
2667
+ userId,
2668
+ recipientAddr: destinationAddress,
2669
+ toChainId: targetChainId.toString(),
2670
+ toTokenAddress: targetAssetAddress,
2671
+ logger,
2672
+ clientMetadata: {
2673
+ ...generateClientMetadataForTokenTransfer(),
2674
+ isWithdrawal: true
2675
+ },
2676
+ actionType: PMCT_WITHDRAW_ACTION_TYPE
2677
+ });
2678
+ const udaAddress = transferInit.depositAddr;
2679
+ logger.info("polymarket:withdrawal:udaGenerated", { udaAddress });
2680
+ const amountBaseUnit = extractWithdrawalAmount(funQuote);
2681
+ await sendPmctTransfer({
2682
+ udaAddress,
2683
+ amountBaseUnit
2684
+ });
2685
+ logger.info("polymarket:withdrawal:transferSubmitted", {
2686
+ udaAddress,
2687
+ amountBaseUnit: amountBaseUnit.toString()
2688
+ });
2689
+ return void 0;
2690
+ };
2691
+ }
2692
+ function buildUdaWithdrawalConfig(config) {
2693
+ logger.info("polymarket:withdrawal:flow", { flow: "uda" });
2694
+ return {
2695
+ modalTitle: config.modalTitle ?? "Withdraw",
2696
+ disableConnectedWallet: config.disableConnectedWallet,
2697
+ withdrawCallback: createPolymarketWithdrawalCallback(config),
2698
+ sourceChainId: polygon.id.toString(),
2699
+ sourceTokenSymbol: config.sourceTokenSymbol ?? "USDC",
2700
+ defaultReceiveToken: config.defaultReceiveToken ?? "USDC",
2701
+ sourceTokenAddress: config.sourceTokenAddress ?? POLYGON_USDCE,
2702
+ iconSrc: config.iconSrc ?? "https://sdk-cdn.fun.xyz/images/usdc.svg",
2703
+ getMinWithdrawalUSD: () => 3
2704
+ };
2705
+ }
2706
+ function buildWalletUnwrapWithdrawalConfig(config) {
2707
+ logger.info("polymarket:withdrawal:flow", { flow: "wallet-unwrap" });
2708
+ const {
2709
+ proxyAddress,
2710
+ publicClient,
2711
+ sendTransactions: callerSendTransactions,
2712
+ confirmTransaction
2713
+ } = config;
2714
+ const wallet = {
2715
+ address: () => proxyAddress,
2716
+ getChainId: async () => polygon.id,
2717
+ switchChain: async (chainId) => {
2718
+ if (chainId !== polygon.id) {
2719
+ throw new Error(
2720
+ `Cannot switch chain: Polymarket withdrawal is fixed to ${polygon.id}, requested ${chainId}`
2721
+ );
2722
+ }
2723
+ },
2724
+ sendTransaction: async (_chainId, transaction) => callerSendTransactions([transaction]),
2725
+ sendTransactions: async (_chainId, txs) => callerSendTransactions(txs),
2726
+ confirmTransaction: confirmTransaction ?? (async (txHash) => publicClient.waitForTransactionReceipt({ hash: txHash }))
2727
+ };
2728
+ const preWithdrawalAction = async ({
2729
+ funQuote
2730
+ }) => {
2731
+ logger.info("polymarket:withdrawal:wallet:start", { proxyAddress });
2732
+ try {
2733
+ const amountBaseUnit = extractWithdrawalAmount(funQuote);
2734
+ const currentAllowance = await publicClient.readContract({
2735
+ address: PUSD_TOKEN.address,
2736
+ abi: erc20Abi,
2737
+ functionName: "allowance",
2738
+ args: [proxyAddress, PUSD_OFFRAMP_ADDRESS]
2739
+ });
2740
+ const needsApprovalTx = currentAllowance < amountBaseUnit;
2741
+ logger.info("polymarket:withdrawal:wallet:allowanceChecked", {
2742
+ proxyAddress,
2743
+ amountBaseUnit: amountBaseUnit.toString(),
2744
+ currentAllowance: currentAllowance.toString(),
2745
+ needsApprovalTx
2746
+ });
2747
+ const txs = [];
2748
+ if (needsApprovalTx) {
2749
+ txs.push({
2750
+ to: PUSD_TOKEN.address,
2751
+ data: encodeFunctionData({
2752
+ abi: erc20Abi,
2753
+ functionName: "approve",
2754
+ args: [PUSD_OFFRAMP_ADDRESS, amountBaseUnit]
2755
+ }),
2756
+ value: "0"
2757
+ });
2758
+ }
2759
+ txs.push({
2760
+ to: PUSD_OFFRAMP_ADDRESS,
2761
+ data: encodeFunctionData({
2762
+ abi: PUSD_OFFRAMP_ABI,
2763
+ functionName: "unwrap",
2764
+ args: [POLYGON_USDCE, proxyAddress, amountBaseUnit]
2765
+ }),
2766
+ value: "0"
2767
+ });
2768
+ logger.info("polymarket:withdrawal:wallet:txsStaged", {
2769
+ proxyAddress,
2770
+ txCount: txs.length,
2771
+ needsApprovalTx
2772
+ });
2773
+ return txs;
2774
+ } catch (err) {
2775
+ logger.error("polymarket:withdrawal:wallet:error", err, {
2776
+ phase: "preWithdrawal",
2777
+ proxyAddress
2778
+ });
2779
+ throw err;
2780
+ }
2781
+ };
2782
+ return {
2783
+ modalTitle: config.modalTitle ?? "Withdraw",
2784
+ disableConnectedWallet: config.disableConnectedWallet,
2785
+ sourceChainId: polygon.id.toString(),
2786
+ sourceTokenSymbol: config.sourceTokenSymbol ?? PUSD_TOKEN.symbol,
2787
+ sourceTokenAddress: config.sourceTokenAddress ?? POLYGON_USDCE,
2788
+ defaultReceiveToken: config.defaultReceiveToken ?? "USDC",
2789
+ iconSrc: config.iconSrc ?? PUSD_TOKEN.iconSrc,
2790
+ getMinWithdrawalUSD: () => 0,
2791
+ wallet,
2792
+ preWithdrawalAction
2793
+ };
2794
+ }
2795
+ function extractWithdrawalAmount(funQuote) {
2796
+ const quote = funQuote;
2797
+ const amountStr = quote?.baseQuote?.estTotalFromAmountBaseUnit;
2798
+ if (!amountStr) {
2799
+ logger.error("polymarket:withdrawal:missingAmountInQuote", { quote });
2800
+ throw new Error("Missing withdrawal amount in quote");
2801
+ }
2802
+ return BigInt(amountStr);
2803
+ }
2804
+ function createPolymarketWithdrawalConfig(config) {
2805
+ if ("sendPmctTransfer" in config && "sendTransactions" in config) {
2806
+ const walletUnwrapEnabled = checkFeatureGate(
2807
+ "enable-polymarket-wallet-withdrawal"
2808
+ );
2809
+ logger.info("polymarket:withdrawal:gate", { walletUnwrapEnabled });
2810
+ return walletUnwrapEnabled ? buildWalletUnwrapWithdrawalConfig(config) : buildUdaWithdrawalConfig(config);
2811
+ }
2812
+ return "sendPmctTransfer" in config ? buildUdaWithdrawalConfig(config) : buildWalletUnwrapWithdrawalConfig(config);
2813
+ }
2814
+ var COLLATERAL_ONRAMP_ADDRESS = "0x93070a847efEf7F70739046A929D47a521F5B8ee";
2815
+ var COLLATERAL_ONRAMP_ABI = [
2816
+ {
2817
+ name: "wrap",
2818
+ type: "function",
2819
+ inputs: [
2820
+ { name: "_asset", type: "address" },
2821
+ { name: "_to", type: "address" },
2822
+ { name: "_amount", type: "uint256" }
2823
+ ],
2824
+ outputs: [],
2825
+ stateMutability: "nonpayable"
2826
+ }
2827
+ ];
2828
+ var POLYMARKET_PERPS_ADDRESS = "0xdca4af75705dbb50f62437045aff9921947917d2";
2829
+ var POLYMARKET_PERPS_ABI = [
2830
+ {
2831
+ name: "deposit",
2832
+ type: "function",
2833
+ stateMutability: "nonpayable",
2834
+ inputs: [
2835
+ { internalType: "address", name: "token", type: "address" },
2836
+ { internalType: "uint256", name: "amount", type: "uint256" },
2837
+ { internalType: "address", name: "to", type: "address" }
2838
+ ],
2839
+ outputs: []
2840
+ }
2841
+ ];
2842
+ var VAULT_DEPOSITOR_POLYGON = getAddress2(
2843
+ "0xC8A6871D4eC4DaE64f605db0f8a0B3D9ef928D64"
2844
+ );
2845
+ var VAULT_DEPOSITOR_ABI = [
2846
+ {
2847
+ name: "deposit",
2848
+ type: "function",
2849
+ stateMutability: "nonpayable",
2850
+ inputs: [
2851
+ { name: "token", type: "address" },
2852
+ { name: "vault", type: "address" },
2853
+ { name: "callData", type: "bytes" },
2854
+ { name: "minAmountOut", type: "uint256" }
2855
+ ],
2856
+ outputs: [{ name: "returnData", type: "bytes" }]
2857
+ }
2858
+ ];
2859
+ var RELAY_ROUTER_V3_ADDRESS = getAddress2(
2860
+ "0xb92fe925DC43a0ECdE6c8b1a2709c170Ec4fFf4f"
2861
+ );
2862
+ var RELAY_ROUTER_V3_ABI = [
2863
+ {
2864
+ inputs: [
2865
+ { internalType: "address[]", name: "tokens", type: "address[]" },
2866
+ { internalType: "address[]", name: "tos", type: "address[]" },
2867
+ { internalType: "bytes[]", name: "datas", type: "bytes[]" },
2868
+ { internalType: "uint256[]", name: "amounts", type: "uint256[]" }
2869
+ ],
2870
+ name: "cleanupErc20sViaCall",
2871
+ outputs: [],
2872
+ stateMutability: "nonpayable",
2873
+ type: "function"
2874
+ }
2875
+ ];
2876
+ var AMOUNT_PLACEHOLDER = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffdeadbeefn;
2877
+ function createPerpsGenerateActionParams(config) {
2878
+ const { recipientAddress } = config;
2879
+ return async () => {
2880
+ const wrapUsdceToPusd = encodeFunctionData({
2881
+ abi: COLLATERAL_ONRAMP_ABI,
2882
+ functionName: "wrap",
2883
+ args: [POLYGON_USDCE, RELAY_ROUTER_V3_ADDRESS, AMOUNT_PLACEHOLDER]
2884
+ });
2885
+ const wrapUsdceToPusdViaVaultDepositor = encodeFunctionData({
2886
+ abi: VAULT_DEPOSITOR_ABI,
2887
+ functionName: "deposit",
2888
+ args: [POLYGON_USDCE, COLLATERAL_ONRAMP_ADDRESS, wrapUsdceToPusd, 0n]
2889
+ });
2890
+ const depositPusdToPerps = encodeFunctionData({
2891
+ abi: POLYMARKET_PERPS_ABI,
2892
+ functionName: "deposit",
2893
+ args: [PUSD_TOKEN.address, AMOUNT_PLACEHOLDER, recipientAddress]
2894
+ });
2895
+ const depositPusdToPerpsViaVaultDepositor = encodeFunctionData({
2896
+ abi: VAULT_DEPOSITOR_ABI,
2897
+ functionName: "deposit",
2898
+ args: [
2899
+ PUSD_TOKEN.address,
2900
+ POLYMARKET_PERPS_ADDRESS,
2901
+ depositPusdToPerps,
2902
+ 0n
2903
+ ]
2904
+ });
2905
+ const legs = [
2906
+ // Leg 1 — sweep the bridged USDC.e and wrap it into pUSD.
2907
+ {
2908
+ token: POLYGON_USDCE,
2909
+ to: VAULT_DEPOSITOR_POLYGON,
2910
+ data: wrapUsdceToPusdViaVaultDepositor,
2911
+ // 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
2912
+ amount: 0n
2913
+ },
2914
+ // Leg 2 — sweep the resulting pUSD and deposit it into Polymarket Perps
2915
+ // for the recipient.
2916
+ {
2917
+ token: PUSD_TOKEN.address,
2918
+ to: VAULT_DEPOSITOR_POLYGON,
2919
+ data: depositPusdToPerpsViaVaultDepositor,
2920
+ // 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
2921
+ amount: 0n
2922
+ }
2923
+ ];
2924
+ return [
2925
+ // RelayRouterV3 calls its function `cleanupErc20sViaCall`
2926
+ // that iterates over the legs and does the following for each leg:
2927
+ // 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):
2928
+ // `IERC20(token).balanceOf(address(this))`
2929
+ // 2. Approves the token to the target address (https://github.com/relayprotocol/relay-periphery/blob/0e4aabb750efb1f807d7f12b83b090b51b9ee736/src/v3/RelayRouterV3.sol#L183-L184):
2930
+ // `IERC20(token).approve(to, amount)`
2931
+ // 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):
2932
+ // `(bool success, ) = to.call(data);
2933
+ // `if (!success) { revert CallFailed(); }`
2934
+ {
2935
+ contractAbi: RELAY_ROUTER_V3_ABI,
2936
+ contractAddress: RELAY_ROUTER_V3_ADDRESS,
2937
+ functionName: "cleanupErc20sViaCall",
2938
+ // cleanupErc20sViaCall takes parallel arrays — transpose the per-leg rows.
2939
+ functionArgs: [
2940
+ legs.map((leg) => leg.token),
2941
+ legs.map((leg) => leg.to),
2942
+ legs.map((leg) => leg.data),
2943
+ legs.map((leg) => leg.amount)
2944
+ ]
2945
+ }
2946
+ ];
2947
+ };
2948
+ }
2949
+ var POLYMARKET_PREDICTIONS_ROUTING_ID = "POLYMARKET_PREDICTIONS";
2950
+ var POLYMARKET_PERPS_ROUTING_ID = "POLYMARKET_PERPS";
2951
+ function createPredictionsGenerateActionParams(config) {
2952
+ const { recipientAddress } = config;
2953
+ return async () => {
2954
+ const wrapUsdceToPusd = encodeFunctionData({
2955
+ abi: COLLATERAL_ONRAMP_ABI,
2956
+ functionName: "wrap",
2957
+ args: [POLYGON_USDCE, recipientAddress, AMOUNT_PLACEHOLDER]
2958
+ });
2959
+ return [
2960
+ // Approve USDC.e to the VaultDepositor (infinite).
2961
+ {
2962
+ contractAbi: erc20Abi,
2963
+ contractAddress: POLYGON_USDCE,
2964
+ functionName: "approve",
2965
+ functionArgs: [VAULT_DEPOSITOR_POLYGON, maxUint256]
2966
+ },
2967
+ // VaultDepositor pulls the USDC.e and forwards to CollateralOnramp.wrap,
2968
+ // minting pUSD to the predictions proxy.
2969
+ {
2970
+ contractAbi: VAULT_DEPOSITOR_ABI,
2971
+ contractAddress: VAULT_DEPOSITOR_POLYGON,
2972
+ functionName: "deposit",
2973
+ functionArgs: [
2974
+ POLYGON_USDCE,
2975
+ COLLATERAL_ONRAMP_ADDRESS,
2976
+ wrapUsdceToPusd,
2977
+ 0n
2978
+ ]
2979
+ }
2980
+ ];
2981
+ };
2982
+ }
2983
+ var PERPS_MIN_DEPOSIT_USD = 10;
2984
+ function createPolymarketDepositConfig({
2985
+ predictions,
2986
+ perps,
2987
+ modalTitleMeta,
2988
+ modalTitles
2989
+ }) {
2990
+ const isPerpsRoute = (routingId) => routingId === POLYMARKET_PERPS_ROUTING_ID;
2991
+ return {
2992
+ targetChain: polygon.id.toString(),
2993
+ targetAsset: POLYGON_USDCE,
2994
+ targetAssetAmount: 0,
2995
+ targetAssetTicker: PUSD_TOKEN.symbol,
2996
+ checkoutItemTitle: PUSD_TOKEN.symbol,
2997
+ iconSrc: PUSD_TOKEN.iconSrc,
2998
+ modalTitleMeta,
2999
+ // Predictions is the default destination.
3000
+ dynamicRoutingId: POLYMARKET_PREDICTIONS_ROUTING_ID,
3001
+ customRecipient: predictions.address,
3002
+ modalTitle: ({ dynamicRoutingId }) => isPerpsRoute(dynamicRoutingId) ? modalTitles?.perps ?? "Deposit (Perps)" : modalTitles?.predictions ?? "Deposit (Predictions)",
3003
+ getMinDepositUSD: ({ dynamicRoutingId }) => isPerpsRoute(dynamicRoutingId) ? PERPS_MIN_DEPOSIT_USD : 0,
3004
+ generateActionsParams: (_targetAssetAmount, outputConfig) => isPerpsRoute(
3005
+ outputConfig?.dynamicRoutingId
3006
+ ) ? createPerpsGenerateActionParams({ recipientAddress: perps.address })() : createPredictionsGenerateActionParams({
3007
+ recipientAddress: predictions.address
3008
+ })(),
3009
+ // Both transfer directions are integrator-owned; the step picks the source
3010
+ // account's transfer.
3011
+ polymarketPerpsTransfer: {
3012
+ predictions: {
3013
+ address: predictions.address,
3014
+ getMinTopupAmount: predictions.getMinTopupAmount,
3015
+ transfer: predictions.transfer,
3016
+ getBalanceUsd: predictions.getBalanceUsd
3017
+ },
3018
+ perps: {
3019
+ address: perps.address,
3020
+ getMinTopupAmount: perps.getMinTopupAmount,
3021
+ transfer: perps.transfer,
3022
+ getBalanceUsd: perps.getBalanceUsd
3023
+ }
3024
+ }
3025
+ };
3026
+ }
3027
+ var ACCOUNT_DROPDOWN_OPTIONS_WIDTH = 264;
3028
+ var BALANCE_PLACEHOLDER = "\u2014";
3029
+ function formatBalance(balanceUsd) {
3030
+ return balanceUsd === void 0 ? BALANCE_PLACEHOLDER : formatCurrencyAndStringify(floorToDecimals(balanceUsd, 2));
3031
+ }
3032
+ function PolymarketDepositAccountDropdown({
3033
+ onStepChange,
3034
+ modalState,
3035
+ dynamicRoutingId,
3036
+ applyDynamicTargetAssetCandidate,
3037
+ predictions,
3038
+ perps
3039
+ }) {
3040
+ const { t } = useFunkitTranslation();
3041
+ const balances = usePolymarketAccountBalances({ predictions, perps });
3042
+ const selectedRoutingId = dynamicRoutingId === POLYMARKET_PERPS_ROUTING_ID ? POLYMARKET_PERPS_ROUTING_ID : POLYMARKET_PREDICTIONS_ROUTING_ID;
3043
+ const accountCandidate = (routingId, recipient) => ({
3044
+ tokenAddress: POLYGON_USDCE,
3045
+ tokenChainId: polygon.id.toString(),
3046
+ tokenSymbol: PUSD_TOKEN.symbol,
3047
+ iconSrc: PUSD_TOKEN.iconSrc,
3048
+ dynamicRoutingId: routingId,
3049
+ customRecipient: recipient
3050
+ });
3051
+ const handleSelectAccount = (routingId) => {
3052
+ const isPerps = routingId === POLYMARKET_PERPS_ROUTING_ID;
3053
+ applyDynamicTargetAssetCandidate?.(
3054
+ accountCandidate(
3055
+ isPerps ? POLYMARKET_PERPS_ROUTING_ID : POLYMARKET_PREDICTIONS_ROUTING_ID,
3056
+ isPerps ? perps.address : predictions.address
3057
+ )
3058
+ );
3059
+ };
3060
+ return /* @__PURE__ */ React25.createElement(
3061
+ AccountSelectDropdown,
3062
+ {
3063
+ prefixLabel: t("perpsTransfer.depositTo"),
3064
+ dropdownWidth: ACCOUNT_DROPDOWN_OPTIONS_WIDTH,
3065
+ accounts: [
3066
+ {
3067
+ value: POLYMARKET_PREDICTIONS_ROUTING_ID,
3068
+ label: t("perpsTransfer.predictions"),
3069
+ description: formatBalance(balances.predictions.balanceUsd)
3070
+ },
3071
+ {
3072
+ value: POLYMARKET_PERPS_ROUTING_ID,
3073
+ label: t("perpsTransfer.perps"),
3074
+ description: formatBalance(balances.perps.balanceUsd)
3075
+ }
3076
+ ],
3077
+ selectedValue: selectedRoutingId,
3078
+ onSelect: handleSelectAccount,
3079
+ action: {
3080
+ id: "transfer-between-accounts",
3081
+ label: t("perpsTransfer.transferBetweenAccounts"),
3082
+ icon: /* @__PURE__ */ React25.createElement(SwitchIcon, null),
3083
+ // Navigation is absent on the loading skeleton; the action only fires
3084
+ // on the interactive screen. The transfer step reads balances from the
3085
+ // same shared cache, so none need to be threaded through here.
3086
+ onSelect: () => {
3087
+ if (onStepChange && modalState) {
3088
+ onStepChange({
3089
+ ...modalState,
3090
+ step: "perps_transfer" /* PERPS_TRANSFER */
3091
+ });
3092
+ }
3093
+ }
3094
+ }
3095
+ }
3096
+ );
3097
+ }
3098
+
3099
+ export {
3100
+ createPolymarketWithdrawalConfig,
3101
+ createPerpsGenerateActionParams,
3102
+ POLYMARKET_PREDICTIONS_ROUTING_ID,
3103
+ POLYMARKET_PERPS_ROUTING_ID,
3104
+ createPredictionsGenerateActionParams,
3105
+ createPolymarketDepositConfig,
3106
+ PolymarketDepositAccountDropdown
3107
+ };