@velora-dex/widget 0.0.23 → 0.1.0-rc.1

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 (435) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/badge.js.map +1 -1
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/ui/card.js.map +1 -1
  6. package/dist/components/ui/dialog.js.map +1 -1
  7. package/dist/components/ui/drawer.d.ts +2 -2
  8. package/dist/components/ui/drawer.d.ts.map +1 -1
  9. package/dist/components/ui/drawer.js +2 -2
  10. package/dist/components/ui/drawer.js.map +1 -1
  11. package/dist/components/ui/dropdown-menu.js.map +1 -1
  12. package/dist/components/ui/input.js.map +1 -1
  13. package/dist/components/ui/progress.js.map +1 -1
  14. package/dist/components/ui/skeleton.js.map +1 -1
  15. package/dist/components/ui/sonner.d.ts.map +1 -1
  16. package/dist/components/ui/sonner.js +1 -2
  17. package/dist/components/ui/sonner.js.map +1 -1
  18. package/dist/components/ui/switch.js.map +1 -1
  19. package/dist/components/ui/tooltip.js.map +1 -1
  20. package/dist/components/web3/AccountButton.js.map +1 -1
  21. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/WalletConnectButtons.d.ts.map +1 -1
  23. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js +23 -14
  24. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  27. package/dist/components/web3/ConnectWallets/privy/connectRunner.d.ts.map +1 -1
  28. package/dist/components/web3/ConnectWallets/privy/connectRunner.js +0 -2
  29. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  30. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  31. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  32. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +30 -0
  33. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  34. package/dist/components/web3/ConnectWallets/walletIcons.js +84 -2
  35. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  36. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  37. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +69 -65
  38. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  39. package/dist/components/web3/providers.d.ts +3 -0
  40. package/dist/components/web3/providers.d.ts.map +1 -1
  41. package/dist/components/web3/providers.js +18 -1
  42. package/dist/components/web3/providers.js.map +1 -1
  43. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  44. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  45. package/dist/components/widget/AppHeader/AppHeader.js +49 -55
  46. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  47. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  48. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  49. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  50. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  51. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +1 -1
  52. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  53. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +2 -2
  54. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  55. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  56. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  57. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +125 -78
  58. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  59. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +5 -2
  60. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  61. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +10 -8
  62. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  63. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +5 -2
  64. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +10 -8
  66. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  67. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts +11 -0
  68. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts.map +1 -0
  69. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +101 -0
  70. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -0
  71. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts +5 -0
  72. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -0
  73. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +186 -0
  74. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -0
  75. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts +6 -2
  76. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  77. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +33 -20
  78. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  79. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +1 -1
  80. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  81. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  82. package/dist/components/widget/Drawer/Overlay.d.ts +9 -0
  83. package/dist/components/widget/Drawer/Overlay.d.ts.map +1 -0
  84. package/dist/components/widget/Drawer/Overlay.js +62 -0
  85. package/dist/components/widget/Drawer/Overlay.js.map +1 -0
  86. package/dist/components/widget/Drawer/index.d.ts +3 -1
  87. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  88. package/dist/components/widget/Drawer/index.js +65 -37
  89. package/dist/components/widget/Drawer/index.js.map +1 -1
  90. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +27 -1
  91. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  92. package/dist/components/widget/Drawer/state/useDrawerControls.js +91 -2
  93. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  94. package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
  95. package/dist/components/widget/Dropdown/DropdownWithItems.js +5 -3
  96. package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
  97. package/dist/components/widget/Dropdown/types.d.ts +2 -1
  98. package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
  99. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  100. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  101. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  102. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  103. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  104. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  105. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  106. package/dist/components/widget/Line/Line.js.map +1 -1
  107. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  108. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.d.ts.map +1 -1
  109. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js +14 -10
  110. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  111. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
  112. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +10 -8
  113. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  114. package/dist/components/widget/NetworkSwitcher/types.d.ts +2 -2
  115. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  116. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  117. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  118. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  119. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  120. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  121. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  122. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +1 -2
  123. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  124. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts +1 -1
  125. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  126. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +5 -1
  127. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  128. package/dist/components/widget/RowVirtualizer/types.d.ts +1 -0
  129. package/dist/components/widget/RowVirtualizer/types.d.ts.map +1 -1
  130. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  131. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  132. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  133. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  134. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  135. package/dist/components/widget/SwapRate/SwapRate.js +3 -0
  136. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  137. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  138. package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
  139. package/dist/components/widget/TokenBadge/TokenBadge.js +1 -1
  140. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  141. package/dist/components/widget/TokenInput/EmptyInput.js.map +1 -1
  142. package/dist/components/widget/TokenInput/index.js +1 -1
  143. package/dist/components/widget/TokenInput/index.js.map +1 -1
  144. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  145. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  147. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  148. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  149. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  150. package/dist/components/widget/TradeOverview/Stepper.js +39 -21
  151. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  152. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  153. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  154. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  155. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  156. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  157. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +40 -72
  158. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts +23 -3
  160. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  161. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +68 -20
  162. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  170. package/dist/components/widget/TradeOverview/TradeOverview.js +40 -56
  171. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  176. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  177. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  178. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  179. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  180. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +2 -2
  181. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  182. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.d.ts.map +1 -1
  183. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js +42 -19
  184. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  185. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  186. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js +3 -3
  187. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  188. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  189. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +1 -1
  190. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  191. package/dist/components/widget/Warning/Warning.js.map +1 -1
  192. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  193. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  194. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  195. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  196. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +18 -24
  197. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  198. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  199. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  200. package/dist/configurator/Configurator.d.ts.map +1 -1
  201. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  202. package/dist/core/Toaster.js.map +1 -1
  203. package/dist/core/TradeFlowButton.js +154 -126
  204. package/dist/core/TradeFlowButton.js.map +1 -1
  205. package/dist/core/Updaters.d.ts.map +1 -1
  206. package/dist/core/Updaters.js +2 -0
  207. package/dist/core/Updaters.js.map +1 -1
  208. package/dist/core/across/utils.d.ts.map +1 -1
  209. package/dist/core/across/utils.js +1 -2
  210. package/dist/core/across/utils.js.map +1 -1
  211. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  212. package/dist/core/index.d.ts.map +1 -1
  213. package/dist/core/index.js +90 -55
  214. package/dist/core/index.js.map +1 -1
  215. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  216. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  217. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  218. package/dist/core/inputs/hooks/useTokenToInputProps.js +16 -19
  219. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  220. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  221. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  222. package/dist/core/inputs/state/selectedTokenActionsAtom.js +2 -2
  223. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  224. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  225. package/dist/core/inputs/state/store.d.ts +6 -0
  226. package/dist/core/inputs/state/store.d.ts.map +1 -0
  227. package/dist/core/inputs/state/store.js +6 -0
  228. package/dist/core/inputs/state/store.js.map +1 -0
  229. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  230. package/dist/core/logger.d.ts.map +1 -1
  231. package/dist/core/logger.js +4 -5
  232. package/dist/core/logger.js.map +1 -1
  233. package/dist/core/state/chainToAtom.d.ts +2 -2
  234. package/dist/core/state/chainToAtom.js.map +1 -1
  235. package/dist/core/state/configActionsAtom.d.ts +1 -1
  236. package/dist/core/state/configActionsAtom.js.map +1 -1
  237. package/dist/core/state/configAtom.js.map +1 -1
  238. package/dist/core/state/externalProviderAtom.js.map +1 -1
  239. package/dist/core/swapDetails/fees.js.map +1 -1
  240. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  241. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  242. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  243. package/dist/core/swapDetails/useSwapDetailsListProps.js +0 -1
  244. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  245. package/dist/core/swapDetails/youGet.d.ts +1 -3
  246. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  247. package/dist/core/swapDetails/youGet.js +1 -3
  248. package/dist/core/swapDetails/youGet.js.map +1 -1
  249. package/dist/crosschain_token_list.json +3230 -0
  250. package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.0 → react-compiler-runtime@19.1.0-rc.2_react@19.1.1}/external/react-compiler-runtime/dist/index.js.map +1 -1
  251. package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js.map +1 -1
  252. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  253. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  254. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  255. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  256. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  257. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  258. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  259. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  260. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  261. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  262. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  263. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  264. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  265. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  266. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  267. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  268. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  269. package/dist/hooks/permit/utils/construct.js.map +1 -1
  270. package/dist/hooks/permit/utils/detect.js.map +1 -1
  271. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  272. package/dist/hooks/permit/utils/encodeArgs.js +1 -1
  273. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  274. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  275. package/dist/hooks/permit/utils/utils.js.map +1 -1
  276. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  277. package/dist/hooks/sdk/useSpender.js.map +1 -1
  278. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  279. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  280. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  281. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +8 -6
  282. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  283. package/dist/hooks/swap/prices/delta/orders/utils.js +7 -4
  284. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  285. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  286. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +2 -1
  287. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  288. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +16 -2
  289. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  290. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +64 -3
  291. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  292. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  293. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +8 -0
  294. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  295. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +12 -3
  296. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  297. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  298. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  299. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +14 -1
  300. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  301. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +60 -2
  302. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  303. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  304. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  305. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  306. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  307. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  308. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  309. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  310. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  311. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -4
  312. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  313. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +207 -458
  314. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  315. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  316. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +1 -1
  317. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  318. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +1 -0
  319. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  320. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +210 -411
  321. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  322. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  323. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  324. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  325. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  326. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.d.ts.map +1 -1
  327. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +18 -7
  328. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  329. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts +3 -2
  330. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
  331. package/dist/hooks/tokens/balances/useInvalidateTokenData.js +60 -77
  332. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  333. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  334. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  335. package/dist/hooks/tokens/balances/useSelectedTokenBalances.d.ts +5 -0
  336. package/dist/hooks/tokens/balances/useSelectedTokenBalances.d.ts.map +1 -0
  337. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js +38 -0
  338. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -0
  339. package/dist/hooks/tokens/balances/useTokenBalance.d.ts +15 -0
  340. package/dist/hooks/tokens/balances/useTokenBalance.d.ts.map +1 -1
  341. package/dist/hooks/tokens/balances/useTokenBalance.js +2 -0
  342. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  343. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  344. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  345. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  346. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  347. package/dist/hooks/tokens/useTokenLists.js.map +1 -1
  348. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  349. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  350. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  351. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  352. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  353. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  354. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  355. package/dist/hooks/txs/queries/utils.d.ts +3 -0
  356. package/dist/hooks/txs/queries/utils.d.ts.map +1 -0
  357. package/dist/hooks/txs/queries/utils.js +6 -0
  358. package/dist/hooks/txs/queries/utils.js.map +1 -0
  359. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  360. package/dist/hooks/useBridgeInfo.js.map +1 -1
  361. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  362. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  363. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  364. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  365. package/dist/hooks/useMinViemClient.js.map +1 -1
  366. package/dist/hooks/useSDK.js +1 -1
  367. package/dist/hooks/useSDK.js.map +1 -1
  368. package/dist/hooks/useSlippage.js.map +1 -1
  369. package/dist/lib/constants/index.d.ts +1 -1
  370. package/dist/lib/constants/index.d.ts.map +1 -1
  371. package/dist/lib/constants/index.js +1 -1
  372. package/dist/lib/constants/index.js.map +1 -1
  373. package/dist/lib/ipfs.js.map +1 -1
  374. package/dist/lib/queryClient.d.ts.map +1 -1
  375. package/dist/lib/queryClient.js +32 -2
  376. package/dist/lib/queryClient.js.map +1 -1
  377. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  378. package/dist/lib/utils/delta.js.map +1 -1
  379. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  380. package/dist/lib/utils/index.js.map +1 -1
  381. package/dist/lib/utils/logger.js.map +1 -1
  382. package/dist/lib/utils/price.d.ts +2 -6
  383. package/dist/lib/utils/price.d.ts.map +1 -1
  384. package/dist/lib/utils/price.js +6 -13
  385. package/dist/lib/utils/price.js.map +1 -1
  386. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  387. package/dist/lib/utils/priceImpact.js +1 -1
  388. package/dist/lib/utils/priceImpact.js.map +1 -1
  389. package/dist/lib/utils/providerErrors.js.map +1 -1
  390. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  391. package/dist/lib/utils/toasts.d.ts +2 -2
  392. package/dist/lib/utils/toasts.d.ts.map +1 -1
  393. package/dist/lib/utils/toasts.js +0 -24
  394. package/dist/lib/utils/toasts.js.map +1 -1
  395. package/dist/lib/web3/wagmi/config.d.ts +12 -2
  396. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  397. package/dist/lib/web3/wagmi/config.js +5 -2
  398. package/dist/lib/web3/wagmi/config.js.map +1 -1
  399. package/dist/lib/web3/wagmi/constants.d.ts +12 -2
  400. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  401. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +25 -0
  402. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -0
  403. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +113 -0
  404. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -0
  405. package/dist/styles.css +84 -12
  406. package/dist/tokens/lists/constants.js.map +1 -1
  407. package/dist/tokens/lists/download.js.map +1 -1
  408. package/dist/tokens/lists/hooks.js.map +1 -1
  409. package/dist/tokens/lists/lists.json.d.ts +84 -2
  410. package/dist/tokens/lists/lists.json.js +104 -2
  411. package/dist/tokens/lists/lists.json.js.map +1 -1
  412. package/dist/tokens/lists/state/observer.js +2 -2
  413. package/dist/tokens/lists/state/observer.js.map +1 -1
  414. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  415. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +2 -2
  416. package/dist/tokens/lists/utils.js +1 -1
  417. package/dist/tokens/overrides.js.map +1 -1
  418. package/dist/tokens/queries.js.map +1 -1
  419. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  420. package/dist/tokens/state/constructTokens.js.map +1 -1
  421. package/dist/tokens/state/tokensAtom.js.map +1 -1
  422. package/dist/tokens/utils/filtering.js.map +1 -1
  423. package/dist/tokens/utils/sets.js.map +1 -1
  424. package/dist/tokens/utils/sorting.js.map +1 -1
  425. package/dist/tokens/utils/transferAmountsFromReceipt.d.ts +51 -0
  426. package/dist/tokens/utils/transferAmountsFromReceipt.d.ts.map +1 -0
  427. package/dist/tokens/utils/transferAmountsFromReceipt.js +281 -0
  428. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -0
  429. package/package.json +33 -32
  430. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts +0 -25
  431. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts.map +0 -1
  432. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js +0 -103
  433. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js.map +0 -1
  434. /package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.0 → react-compiler-runtime@19.1.0-rc.2_react@19.1.1}/external/react-compiler-runtime/dist/index.js +0 -0
  435. /package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js +0 -0
@@ -5,6 +5,7 @@ import { useGetContracts } from '../hooks/sdk/useGetContracts.js';
5
5
  import { useGetBridgeInfo } from '../hooks/useBridgeInfo.js';
6
6
  import { useFetchTokenListsOnAllChains } from '../tokens/queries.js';
7
7
  import { usePrefetchTokenBalances } from '../hooks/tokens/useTokenLists.js';
8
+ import { useSafeInfo } from '../lib/web3/wagmi/isInsideSafeIframe.js';
8
9
 
9
10
  const Updaters = () => {
10
11
  useFetchTokenListsOnAllChains();
@@ -14,6 +15,7 @@ const Updaters = () => {
14
15
  useTokenFromPermitInfo();
15
16
  useTokenFromPermit1Nonce();
16
17
  useTokenFromPermit2TransferFromNonce();
18
+ useSafeInfo();
17
19
  return null;
18
20
  };
19
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenListsOnAllChains } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useTokenLists\";\n\nexport const Updaters = () => {\n useFetchTokenListsOnAllChains();\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo(); // @TODO: prefetch instead\n useGetContracts(); // @TODO: prefetch instead\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n return null;\n};\n"],"names":["Updaters","useFetchTokenListsOnAllChains","usePrefetchTokenBalances","useGetBridgeInfo","useGetContracts","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce"],"mappings":";;;;;;;;AAQO,MAAMA,WAAWA,MAAA;AACtBC,EAAAA,6BAAAA,EAA8B;AAE9BC,EAAAA,wBAAAA,EAAyB;AACzBC,EAAAA,gBAAAA,EAAiB;AACjBC,EAAAA,eAAAA,EAAgB;AAGhBC,EAAAA,sBAAAA,EAAuB;AAEvBC,EAAAA,wBAAAA,EAAyB;AAEzBC,EAAAA,oCAAAA,EAAqC;AAAC,EAAA,OAAA,IAAA;AAAA;;;;"}
1
+ {"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenListsOnAllChains } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useTokenLists\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\n\nexport const Updaters = () => {\n useFetchTokenListsOnAllChains();\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo(); // @TODO: prefetch instead\n useGetContracts(); // @TODO: prefetch instead\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n return null;\n};\n"],"names":["Updaters","useFetchTokenListsOnAllChains","usePrefetchTokenBalances","useGetBridgeInfo","useGetContracts","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useSafeInfo"],"mappings":";;;;;;;;;AASO,MAAMA,WAAWA,MAAA;AACtBC,EAAAA,6BAAAA,EAA8B;AAE9BC,EAAAA,wBAAAA,EAAyB;AACzBC,EAAAA,gBAAAA,EAAiB;AACjBC,EAAAA,eAAAA,EAAgB;AAGhBC,EAAAA,sBAAAA,EAAuB;AAEvBC,EAAAA,wBAAAA,EAAyB;AAEzBC,EAAAA,oCAAAA,EAAqC;AAIrCC,EAAAA,WAAAA,EAAY;AAAC,EAAA,OAAA,IAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/across/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,OAAO,CAUV;AAED,wBAAgB,wBAAwB,CAAC,EACvC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,aAAa,GAAG,SAAS,CAkB5B;AAED,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAa9C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/across/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,OAAO,CAUV;AAED,wBAAgB,wBAAwB,CAAC,EACvC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,aAAa,GAAG,SAAS,CAiB5B;AAED,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAa9C"}
@@ -1,6 +1,6 @@
1
1
  import { queryClient } from '../../lib/queryClient.js';
2
2
  import { fromListsAtom } from '../../tokens/state/tokensAtom.js';
3
- import { getDefaultStore } from 'jotai';
3
+ import { jotaiStore } from '../inputs/state/store.js';
4
4
 
5
5
  function isAcrossAvailable({
6
6
  chainIdFrom,
@@ -17,7 +17,6 @@ function findFirstTokenFromAcross({
17
17
  }) {
18
18
  const cachedBridgeInfo = queryClient.getQueryData(["swap/delta/bridge-info"]);
19
19
  if (!cachedBridgeInfo) return;
20
- const jotaiStore = getDefaultStore();
21
20
  const tokenMap = jotaiStore.get(fromListsAtom).listByChainId[toChainId]?.addressMap;
22
21
  const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];
23
22
  const tokenToAddress = acrossTokens?.find((address) => tokenMap?.[address.toLowerCase()]);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { fromListsAtom } from \"@/tokens/state/tokensAtom\";\nimport type { Token, TokenFromList } from \"@/tokens/state/types\";\n\nimport { getDefaultStore } from \"jotai\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n}): boolean {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n}): TokenFromList | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return;\n\n const jotaiStore = getDefaultStore();\n const tokenMap =\n jotaiStore.get(fromListsAtom).listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"names":["isAcrossAvailable","chainIdFrom","chainIdTo","cachedBridgeInfo","queryClient","getQueryData","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","jotaiStore","getDefaultStore","tokenMap","get","fromListsAtom","listByChainId","addressMap","tokenToAddress","find","address","toLowerCase","undefined","isTokenFromAcross","token","tokenAddresses","isIncluded"],"mappings":";;;;AAQO,SAASA,iBAAAA,CAAkB;AAAA,EAChCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAAY;AACV,EAAA,MAAMC,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,kBAAkB,OAAO,KAAA;AAE9B,EAAA,MAAMG,YAAAA,GAAeH,gBAAAA,CAAiBF,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,OAAO,CAAC,CAACI,YAAAA,EAAcC,MAAAA;AACzB;AAEO,SAASC,wBAAAA,CAAyB;AAAA,EACvCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAA8B;AAC5B,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AAEvB,EAAA,MAAMQ,aAAaC,eAAAA,EAAgB;AACnC,EAAA,MAAMC,WACJF,UAAAA,CAAWG,GAAAA,CAAIC,aAAa,CAAA,CAAEC,aAAAA,CAAcN,SAAS,CAAA,EAAGO,UAAAA;AAE1D,EAAA,MAAMX,YAAAA,GAAeH,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,MAAMQ,cAAAA,GAAiBZ,cAAca,IAAAA,CAClCC,CAAAA,OAAAA,KAAYP,WAAWO,OAAAA,CAAQC,WAAAA,EAAa,CAC/C,CAAA;AAEA,EAAA,OAAOH,cAAAA,GAAiBL,QAAAA,GAAWK,cAAAA,CAAeG,WAAAA,EAAa,CAAA,GAAIC,MAAAA;AACrE;AAQO,SAASC,iBAAAA,CAAkB;AAAA,EAChCC,KAAAA;AAAAA,EACAf,WAAAA;AAAAA,EACAC;AACsB,CAAA,EAAwB;AAC9C,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AACD,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AACvB,EAAA,MAAMsB,cAAAA,GAAiBtB,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAEhE,EAAA,IAAI,CAACe,gBAAgB,OAAO,KAAA;AAC5B,EAAA,MAAMC,UAAAA,GAAaD,cAAAA,CAAeN,IAAAA,CAC/BC,CAAAA,OAAAA,KAAYA,OAAAA,CAAQC,aAAY,KAAMG,KAAAA,CAAMJ,OAAAA,CAAQC,WAAAA,EACvD,CAAA;AAEA,EAAA,OAAO,CAAC,CAACK,UAAAA;AACX;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { fromListsAtom } from \"@/tokens/state/tokensAtom\";\nimport type { Token, TokenFromList } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { jotaiStore } from \"../inputs/state/store\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n}): boolean {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n}): TokenFromList | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return;\n\n const tokenMap =\n jotaiStore.get(fromListsAtom).listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"names":["isAcrossAvailable","chainIdFrom","chainIdTo","cachedBridgeInfo","queryClient","getQueryData","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","tokenMap","jotaiStore","get","fromListsAtom","listByChainId","addressMap","tokenToAddress","find","address","toLowerCase","undefined","isTokenFromAcross","token","tokenAddresses","isIncluded"],"mappings":";;;;AAQO,SAASA,iBAAAA,CAAkB;AAAA,EAChCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAAY;AACV,EAAA,MAAMC,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,kBAAkB,OAAO,KAAA;AAE9B,EAAA,MAAMG,YAAAA,GAAeH,gBAAAA,CAAiBF,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,OAAO,CAAC,CAACI,YAAAA,EAAcC,MAAAA;AACzB;AAEO,SAASC,wBAAAA,CAAyB;AAAA,EACvCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAA8B;AAC5B,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AAEvB,EAAA,MAAMQ,WACJC,UAAAA,CAAWC,GAAAA,CAAIC,aAAa,CAAA,CAAEC,aAAAA,CAAcL,SAAS,CAAA,EAAGM,UAAAA;AAE1D,EAAA,MAAMV,YAAAA,GAAeH,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,MAAMO,cAAAA,GAAiBX,cAAcY,IAAAA,CAClCC,CAAAA,OAAAA,KAAYR,WAAWQ,OAAAA,CAAQC,WAAAA,EAAa,CAC/C,CAAA;AAEA,EAAA,OAAOH,cAAAA,GAAiBN,QAAAA,GAAWM,cAAAA,CAAeG,WAAAA,EAAa,CAAA,GAAIC,MAAAA;AACrE;AAQO,SAASC,iBAAAA,CAAkB;AAAA,EAChCC,KAAAA;AAAAA,EACAd,WAAAA;AAAAA,EACAC;AACsB,CAAA,EAAwB;AAC9C,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AACD,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AACvB,EAAA,MAAMqB,cAAAA,GAAiBrB,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAEhE,EAAA,IAAI,CAACc,gBAAgB,OAAO,KAAA;AAC5B,EAAA,MAAMC,UAAAA,GAAaD,cAAAA,CAAeN,IAAAA,CAC/BC,CAAAA,OAAAA,KAAYA,OAAAA,CAAQC,aAAY,KAAMG,KAAAA,CAAMJ,OAAAA,CAAQC,WAAAA,EACvD,CAAA;AAEA,EAAA,OAAO,CAAC,CAACK,UAAAA;AACX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useChainId, useAccount } from \"wagmi\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n};\n\nfunction getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: {\n priceMode: \"market\" | \"delta\";\n priceError: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet: boolean;\n}): string | undefined {\n // price error take precedence\n // can't swap without a price anyway\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: {\n tokenFrom?: Token;\n tokenTo?: Token;\n}): {\n disabled: boolean;\n labelOverride?: string;\n} {\n const appChainId = useChainId();\n const { chainId: walletChainId, isConnected } = useAccount();\n const { priceMode, error: priceError } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const wrongNetwork =\n isConnected && !!walletChainId && appChainId !== walletChainId;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance = useIsTokenFromInsufficientBalance();\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const { address: receiver } = useReceiverAddress();\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return { disabled, labelOverride };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverride","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","useWidgetButtonExtraProps","t0","$","_c","tokenFrom","tokenTo","appChainId","useChainId","chainId","walletChainId","isConnected","useAccount","t1","Symbol","for","enabled","error","useCurrentSwapPrice","t2","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","address","receiver","useReceiverAddress","disabled","t3","labelOverride","t4"],"mappings":"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"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useChainId, useAccount } from \"wagmi\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n};\n\nfunction getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: {\n priceMode: \"market\" | \"delta\";\n priceError: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet: boolean;\n}): string | undefined {\n // price error take precedence\n // can't swap without a price anyway\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: {\n tokenFrom?: Token;\n tokenTo?: Token;\n}): {\n disabled: boolean;\n labelOverride?: string;\n} {\n const appChainId = useChainId();\n const { chainId: walletChainId, isConnected } = useAccount();\n const { priceMode, error: priceError } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const wrongNetwork =\n isConnected && !!walletChainId && appChainId !== walletChainId;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance = useIsTokenFromInsufficientBalance();\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const { address: receiver } = useReceiverAddress();\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return { disabled, labelOverride };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverride","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","useWidgetButtonExtraProps","t0","$","_c","tokenFrom","tokenTo","appChainId","useChainId","chainId","walletChainId","isConnected","useAccount","t1","Symbol","for","enabled","error","useCurrentSwapPrice","t2","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","address","receiver","useReceiverAddress","disabled","t3","labelOverride","t4"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwD3C,eAAO,MAAM,MAAM,GAAI,sBAAsB,WAAW,4CAiDvD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA0G3C,eAAO,MAAM,MAAM,GAAI,sBAAsB,WAAW,4CAMvD,CAAC"}
@@ -1,11 +1,11 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../_virtual/index.js';
3
3
  import '../styles.css';/* empty css */
4
4
  import { TokenInput } from '../components/widget/TokenInput/index.js';
5
5
  import { useTokenFromInputProps } from './inputs/hooks/useTokenFromInputProps.js';
6
6
  import { DialogRoot } from '../components/widget/Dialog/DialogRoot.js';
7
7
  import '../components/ui/button.js';
8
- import { Web3Providers } from '../components/web3/providers.js';
8
+ import { JotaiProvider, Web3Providers } from '../components/web3/providers.js';
9
9
  import { useAccount } from 'wagmi';
10
10
  import { WIDGET_ELEMENT_ID } from './constants.js';
11
11
  import { Updaters } from './Updaters.js';
@@ -36,6 +36,8 @@ import { externalProviderAtom } from './state/externalProviderAtom.js';
36
36
  import { AutoconnectExternalProvider } from '../components/web3/ConnectExternalProvider/AutoconnectExternal.js';
37
37
  import { TradeFlowButton } from './TradeFlowButton.js';
38
38
  import { ConnectWalletDrawerButton } from './ConnectWalletDrawerButton.js';
39
+ import { useDrawerContainerHeightTransition } from '../components/widget/Drawer/state/useDrawerControls.js';
40
+ import { InWidgetDrawerOverlay } from '../components/widget/Drawer/Overlay.js';
39
41
 
40
42
  runSubscriptions();
41
43
  const App = () => {
@@ -61,7 +63,7 @@ const App = () => {
61
63
  }
62
64
  return t0;
63
65
  };
64
- const Widget = (t0) => {
66
+ const WidgetBase = (t0) => {
65
67
  const $ = distExports.c(30);
66
68
  const {
67
69
  config,
@@ -178,13 +180,36 @@ const Widget = (t0) => {
178
180
  }
179
181
  return t16;
180
182
  };
183
+ const Widget = (t0) => {
184
+ const $ = distExports.c(3);
185
+ const {
186
+ config,
187
+ provider
188
+ } = t0;
189
+ let t1;
190
+ if ($[0] !== config || $[1] !== provider) {
191
+ t1 = /* @__PURE__ */ jsx(JotaiProvider, { children: /* @__PURE__ */ jsx(WidgetBase, { config, provider }) });
192
+ $[0] = config;
193
+ $[1] = provider;
194
+ $[2] = t1;
195
+ } else {
196
+ t1 = $[2];
197
+ }
198
+ return t1;
199
+ };
181
200
  function Containers(t0) {
182
- const $ = distExports.c(11);
201
+ const $ = distExports.c(14);
183
202
  const {
184
203
  children
185
204
  } = t0;
186
205
  const setContainerElement = useSetAtom(containerAtom);
187
206
  const widgetConfig = useWidgetConfig();
207
+ const {
208
+ containerRef,
209
+ isDrawerFullCover,
210
+ isDrawerOpen
211
+ } = useDrawerContainerHeightTransition();
212
+ const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;
188
213
  const t1 = widgetConfig.theme === "dark";
189
214
  let t2;
190
215
  if ($[0] !== t1) {
@@ -197,40 +222,44 @@ function Containers(t0) {
197
222
  t2 = $[1];
198
223
  }
199
224
  let t3;
200
- if ($[2] !== setContainerElement) {
201
- t3 = /* @__PURE__ */ jsx("div", { className: "overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute", ref: setContainerElement });
202
- $[2] = setContainerElement;
225
+ if ($[2] !== partialDrawerOpen) {
226
+ t3 = /* @__PURE__ */ jsx(InWidgetDrawerOverlay, { open: partialDrawerOpen });
227
+ $[2] = partialDrawerOpen;
203
228
  $[3] = t3;
204
229
  } else {
205
230
  t3 = $[3];
206
231
  }
207
232
  let t4;
208
- if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
209
- t4 = cn("relative flex flex-col max-w-[460px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl");
210
- $[4] = t4;
233
+ if ($[4] !== setContainerElement) {
234
+ t4 = /* @__PURE__ */ jsx("div", { className: "overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute", ref: setContainerElement });
235
+ $[4] = setContainerElement;
236
+ $[5] = t4;
211
237
  } else {
212
- t4 = $[4];
238
+ t4 = $[5];
213
239
  }
214
240
  let t5;
215
- if ($[5] !== children) {
216
- t5 = /* @__PURE__ */ jsx("div", { className: t4, children });
217
- $[5] = children;
218
- $[6] = t5;
241
+ if ($[6] !== children) {
242
+ t5 = /* @__PURE__ */ jsx("div", { className: "relative flex flex-col max-w-[460px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl", children });
243
+ $[6] = children;
244
+ $[7] = t5;
219
245
  } else {
220
- t5 = $[6];
246
+ t5 = $[7];
221
247
  }
222
248
  let t6;
223
- if ($[7] !== t2 || $[8] !== t3 || $[9] !== t5) {
224
- t6 = /* @__PURE__ */ jsxs("div", { className: t2, id: WIDGET_ELEMENT_ID, children: [
249
+ if ($[8] !== containerRef || $[9] !== t2 || $[10] !== t3 || $[11] !== t4 || $[12] !== t5) {
250
+ t6 = /* @__PURE__ */ jsxs("div", { ref: containerRef, className: t2, id: WIDGET_ELEMENT_ID, children: [
225
251
  t3,
252
+ t4,
226
253
  t5
227
254
  ] });
228
- $[7] = t2;
229
- $[8] = t3;
230
- $[9] = t5;
231
- $[10] = t6;
255
+ $[8] = containerRef;
256
+ $[9] = t2;
257
+ $[10] = t3;
258
+ $[11] = t4;
259
+ $[12] = t5;
260
+ $[13] = t6;
232
261
  } else {
233
- t6 = $[10];
262
+ t6 = $[13];
234
263
  }
235
264
  return t6;
236
265
  }
@@ -507,10 +536,11 @@ function SwapModeSwitcher() {
507
536
  }
508
537
  }
509
538
  function ButtonWithDrawer(t0) {
510
- const $ = distExports.c(22);
539
+ const $ = distExports.c(25);
511
540
  let buttonProps;
512
541
  let deltaPrice;
513
542
  let drawerContainer;
543
+ let labelOverride;
514
544
  let marketPrice;
515
545
  let orderProps;
516
546
  let priceMode;
@@ -523,65 +553,70 @@ function ButtonWithDrawer(t0) {
523
553
  deltaPrice,
524
554
  priceMode,
525
555
  wrapEthProps,
556
+ labelOverride,
526
557
  ...buttonProps
527
558
  } = t0);
528
559
  $[0] = t0;
529
560
  $[1] = buttonProps;
530
561
  $[2] = deltaPrice;
531
562
  $[3] = drawerContainer;
532
- $[4] = marketPrice;
533
- $[5] = orderProps;
534
- $[6] = priceMode;
535
- $[7] = wrapEthProps;
563
+ $[4] = labelOverride;
564
+ $[5] = marketPrice;
565
+ $[6] = orderProps;
566
+ $[7] = priceMode;
567
+ $[8] = wrapEthProps;
536
568
  } else {
537
569
  buttonProps = $[1];
538
570
  deltaPrice = $[2];
539
571
  drawerContainer = $[3];
540
- marketPrice = $[4];
541
- orderProps = $[5];
542
- priceMode = $[6];
543
- wrapEthProps = $[7];
572
+ labelOverride = $[4];
573
+ marketPrice = $[5];
574
+ orderProps = $[6];
575
+ priceMode = $[7];
576
+ wrapEthProps = $[8];
544
577
  }
545
578
  const {
546
579
  isConnected
547
580
  } = useAccount();
548
581
  if (!isConnected) {
549
582
  let t12;
550
- if ($[8] !== buttonProps || $[9] !== drawerContainer) {
583
+ if ($[9] !== buttonProps || $[10] !== drawerContainer) {
551
584
  t12 = /* @__PURE__ */ jsx(ConnectWalletDrawerButton, { drawerContainer, ...buttonProps });
552
- $[8] = buttonProps;
553
- $[9] = drawerContainer;
554
- $[10] = t12;
585
+ $[9] = buttonProps;
586
+ $[10] = drawerContainer;
587
+ $[11] = t12;
555
588
  } else {
556
- t12 = $[10];
589
+ t12 = $[11];
557
590
  }
558
591
  return t12;
559
592
  }
560
593
  if (wrapEthProps.shouldWrap) {
561
594
  let t12;
562
- if ($[11] !== buttonProps || $[12] !== drawerContainer || $[13] !== wrapEthProps) {
563
- t12 = /* @__PURE__ */ jsx(WrapEthDrawerButton, { drawerContainer, wrapEthProps, ...buttonProps });
564
- $[11] = buttonProps;
565
- $[12] = drawerContainer;
566
- $[13] = wrapEthProps;
567
- $[14] = t12;
595
+ if ($[12] !== buttonProps || $[13] !== drawerContainer || $[14] !== labelOverride || $[15] !== wrapEthProps) {
596
+ t12 = /* @__PURE__ */ jsx(WrapEthDrawerButton, { drawerContainer, wrapEthProps, labelOverride, ...buttonProps });
597
+ $[12] = buttonProps;
598
+ $[13] = drawerContainer;
599
+ $[14] = labelOverride;
600
+ $[15] = wrapEthProps;
601
+ $[16] = t12;
568
602
  } else {
569
- t12 = $[14];
603
+ t12 = $[16];
570
604
  }
571
605
  return t12;
572
606
  }
573
607
  let t1;
574
- if ($[15] !== buttonProps || $[16] !== deltaPrice || $[17] !== drawerContainer || $[18] !== marketPrice || $[19] !== orderProps || $[20] !== priceMode) {
575
- t1 = /* @__PURE__ */ jsx(TradeFlowButton, { orderProps, drawerContainer, marketPrice, deltaPrice, priceMode, ...buttonProps });
576
- $[15] = buttonProps;
577
- $[16] = deltaPrice;
578
- $[17] = drawerContainer;
579
- $[18] = marketPrice;
580
- $[19] = orderProps;
581
- $[20] = priceMode;
582
- $[21] = t1;
583
- } else {
584
- t1 = $[21];
608
+ if ($[17] !== buttonProps || $[18] !== deltaPrice || $[19] !== drawerContainer || $[20] !== labelOverride || $[21] !== marketPrice || $[22] !== orderProps || $[23] !== priceMode) {
609
+ t1 = /* @__PURE__ */ jsx(TradeFlowButton, { orderProps, drawerContainer, marketPrice, deltaPrice, priceMode, labelOverride, ...buttonProps });
610
+ $[17] = buttonProps;
611
+ $[18] = deltaPrice;
612
+ $[19] = drawerContainer;
613
+ $[20] = labelOverride;
614
+ $[21] = marketPrice;
615
+ $[22] = orderProps;
616
+ $[23] = priceMode;
617
+ $[24] = t1;
618
+ } else {
619
+ t1 = $[24];
585
620
  }
586
621
  return t1;
587
622
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport { Web3Providers } from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport { type DeltaOrderTradeOverviewProps } from \"@/components/widget/TradeOverview/DeltaOrderTradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport { defaultWidgetConfig, useWidgetConfig } from \"./state/configAtom\";\nimport { setWidgetConfigAtom } from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { DevTools } from \"./DevTools\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { TradeFlowButton } from \"./TradeFlowButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\n\nrunSubscriptions();\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <TokenFromInput />\n <WidgetTokenSwitcher />\n <TokenToInput />\n <WidgetReceiverAddress />\n <WidgetButton />\n <SwapDetails />\n <SwapModeSwitcher />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nexport const Widget = ({ config, provider }: WidgetProps) => {\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [externalProviderAtom, provider || null],\n ]);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config?.theme,\n enableDelta: config?.enableDelta,\n partner: config?.partner,\n privyAppId: config?.privyAppId,\n privyClientId: config?.privyClientId,\n debug: config?.debug,\n widgetMode: config?.widgetMode,\n });\n }, [\n config?.theme,\n config?.enableDelta,\n config?.partner,\n config?.privyAppId,\n config?.privyClientId,\n config?.debug,\n config?.widgetMode,\n setWidgetConfig,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n // connect on mount (eager-connect) should be controlled by the App that uses the widget\n // otherwise we can get different wallets connected between the App and the widget\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n return (\n <div\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className=\"overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute\"\n ref={setContainerElement}\n />\n <div\n className={cn(\n \"relative flex flex-col max-w-[460px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\"\n )}\n >\n {children}\n </div>\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction TokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction WidgetTokenSwitcher() {\n const tokenSwitcherProps = useTokenSwitcherProps();\n return <TokenSwitcher {...tokenSwitcherProps} />;\n}\n\nfunction WidgetButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount?.toString() ?? \"0\",\n toAmount: tokenToInputProps.amount?.toString() ?? \"0\",\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <ButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n {...extraProps}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction WidgetReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress classes={{ root: \"mt-2\" }} />\n ) : null;\n}\n\nfunction SwapModeSwitcher() {\n const { delta, market } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market OrderRouting if marketPrice is available\n // 2. Show nothing if only delta price is available\n if (delta.price && market.price) {\n return <SwapModeSwitcherExpandable classes={{ root: \"mt-4\" }} />;\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: DeltaOrderTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction ButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n {...buttonProps}\n />\n );\n\n return (\n <TradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","App","$","_c","t0","Symbol","for","Widget","config","provider","setWidgetConfig","useSetAtom","setWidgetConfigAtom","t1","defaultWidgetConfig","t2","t3","externalProviderAtom","t4","useHydrateAtoms","t5","debug","enableDelta","partner","privyAppId","privyClientId","theme","widgetMode","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","setExternalProvider","t14","t15","t16","import","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","cn","dark","WIDGET_ELEMENT_ID","WidgetHeader","root","TokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","TokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","WidgetTokenSwitcher","tokenSwitcherProps","useTokenSwitcherProps","WidgetButton","amount","token","fromToken","toToken","fromAmount","toString","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","WidgetReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","ButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","shouldWrap"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport { JotaiProvider, Web3Providers } from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport { type DeltaOrderTradeOverviewProps } from \"@/components/widget/TradeOverview/DeltaOrderTradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport { defaultWidgetConfig, useWidgetConfig } from \"./state/configAtom\";\nimport { setWidgetConfigAtom } from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { TradeFlowButton } from \"./TradeFlowButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\n\nrunSubscriptions();\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <TokenFromInput />\n <WidgetTokenSwitcher />\n <TokenToInput />\n <WidgetReceiverAddress />\n <WidgetButton />\n <SwapDetails />\n <SwapModeSwitcher />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nconst WidgetBase = ({ config, provider }: WidgetProps) => {\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [externalProviderAtom, provider || null],\n ]);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config?.theme,\n enableDelta: config?.enableDelta,\n partner: config?.partner,\n privyAppId: config?.privyAppId,\n privyClientId: config?.privyClientId,\n debug: config?.debug,\n widgetMode: config?.widgetMode,\n });\n }, [\n config?.theme,\n config?.enableDelta,\n config?.partner,\n config?.privyAppId,\n config?.privyClientId,\n config?.debug,\n config?.widgetMode,\n setWidgetConfig,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider }: WidgetProps) => {\n return (\n <JotaiProvider>\n <WidgetBase config={config} provider={provider} />\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n const { containerRef, isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition();\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className=\"overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute\"\n ref={setContainerElement}\n />\n <div className=\"relative flex flex-col max-w-[460px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\">\n {children}\n </div>\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction TokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction WidgetTokenSwitcher() {\n const tokenSwitcherProps = useTokenSwitcherProps();\n return <TokenSwitcher {...tokenSwitcherProps} />;\n}\n\nfunction WidgetButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount?.toString() ?? \"0\",\n toAmount: tokenToInputProps.amount?.toString() ?? \"0\",\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <ButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n {...extraProps}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction WidgetReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress classes={{ root: \"mt-2\" }} />\n ) : null;\n}\n\nfunction SwapModeSwitcher() {\n const { delta, market } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market OrderRouting if marketPrice is available\n // 2. Show nothing if only delta price is available\n if (delta.price && market.price) {\n return <SwapModeSwitcherExpandable classes={{ root: \"mt-4\" }} />;\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: DeltaOrderTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction ButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <TradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","App","$","_c","t0","Symbol","for","WidgetBase","config","provider","setWidgetConfig","useSetAtom","setWidgetConfigAtom","t1","defaultWidgetConfig","t2","t3","externalProviderAtom","t4","useHydrateAtoms","t5","debug","enableDelta","partner","privyAppId","privyClientId","theme","widgetMode","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","setExternalProvider","t14","t15","t16","import","Widget","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","containerRef","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","cn","dark","WIDGET_ELEMENT_ID","WidgetHeader","root","TokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","TokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","WidgetTokenSwitcher","tokenSwitcherProps","useTokenSwitcherProps","WidgetButton","amount","token","fromToken","toToken","fromAmount","toString","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","WidgetReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","ButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap"],"mappings":"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"}