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