@velora-dex/widget 0.1.3 → 0.2.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 (483) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/components/ui/accordion.d.ts +3 -1
  3. package/dist/components/ui/accordion.d.ts.map +1 -1
  4. package/dist/components/ui/accordion.js +42 -27
  5. package/dist/components/ui/accordion.js.map +1 -1
  6. package/dist/components/ui/button.js.map +1 -1
  7. package/dist/components/ui/dialog.js.map +1 -1
  8. package/dist/components/ui/dropdown-menu.js.map +1 -1
  9. package/dist/components/ui/progress.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/tooltip.js.map +1 -1
  12. package/dist/components/web3/AccountButton.d.ts.map +1 -1
  13. package/dist/components/web3/AccountButton.js +24 -27
  14. package/dist/components/web3/AccountButton.js.map +1 -1
  15. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  16. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  17. package/dist/components/web3/ConnectWallets/index.js +43 -35
  18. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  20. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  22. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  23. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +103 -133
  24. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  25. package/dist/components/widget/AppHeader/Activities/Activities.js +4 -12
  26. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  27. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  28. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  30. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  31. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  32. package/dist/components/widget/AppHeader/AppHeader.js +39 -33
  33. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  34. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  35. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  36. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  37. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  38. package/dist/components/widget/DexesList/DexesList.js +3 -14
  39. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  40. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  41. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +131 -115
  42. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  43. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  44. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +4 -12
  45. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  46. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  47. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  48. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  49. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  50. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  51. package/dist/components/widget/Dialog/state/dialogAtom.js +24 -26
  52. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  53. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  54. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  55. package/dist/components/widget/Drawer/index.js +119 -54
  56. package/dist/components/widget/Drawer/index.js.map +1 -1
  57. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  58. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  59. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  60. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  61. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  62. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +84 -66
  63. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  64. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  65. package/dist/components/widget/Line/Line.js.map +1 -1
  66. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  67. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  68. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +28 -30
  69. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  70. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  71. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  72. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  73. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +1 -1
  74. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  75. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +1 -1
  76. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  77. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  78. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  79. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  80. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  81. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  82. package/dist/components/widget/SelectToken/SelectTokenButton.js +51 -51
  83. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  84. package/dist/components/widget/SelectToken/types.d.ts +1 -1
  85. package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
  86. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  87. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  88. package/dist/components/widget/SwapRate/SwapRate.js +75 -43
  89. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  90. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  91. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  92. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  93. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  94. package/dist/components/widget/TokenInput/index.js +107 -148
  95. package/dist/components/widget/TokenInput/index.js.map +1 -1
  96. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  97. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  98. package/dist/components/widget/TradeOverview/Stepper.js +23 -38
  99. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  100. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  101. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +36 -27
  102. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  103. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +79 -36
  104. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  105. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  106. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -0
  107. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  108. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  109. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  110. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  111. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  112. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  113. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  114. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  115. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  116. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  117. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  118. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  119. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  120. package/dist/components/widget/TransactionDetails/TransactionListItem.js +57 -38
  121. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  122. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  123. package/dist/components/widget/Warning/Warning.js.map +1 -1
  124. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  125. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  126. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
  127. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +72 -90
  128. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  129. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  130. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +141 -84
  131. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  132. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  133. package/dist/configurator/Configurator.d.ts.map +1 -1
  134. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +5 -0
  135. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -0
  136. package/dist/configurator/components/CrossChainSwitcher.d.ts +5 -0
  137. package/dist/configurator/components/CrossChainSwitcher.d.ts.map +1 -0
  138. package/dist/configurator/components/DeltaSwitcher.d.ts +5 -0
  139. package/dist/configurator/components/DeltaSwitcher.d.ts.map +1 -0
  140. package/dist/configurator/components/DevTools.d.ts +7 -0
  141. package/dist/configurator/components/DevTools.d.ts.map +1 -0
  142. package/dist/configurator/components/EnabledChainsSelector.d.ts +8 -0
  143. package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -0
  144. package/dist/configurator/components/FormPropsInputs.d.ts +6 -0
  145. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -0
  146. package/dist/configurator/components/PanelHeader.d.ts +6 -0
  147. package/dist/configurator/components/PanelHeader.d.ts.map +1 -0
  148. package/dist/configurator/components/PartnerInput.d.ts +5 -0
  149. package/dist/configurator/components/PartnerInput.d.ts.map +1 -0
  150. package/dist/configurator/components/PrivyInputs.d.ts +7 -0
  151. package/dist/configurator/components/PrivyInputs.d.ts.map +1 -0
  152. package/dist/configurator/components/ThemeSwitcher.d.ts +6 -0
  153. package/dist/configurator/components/ThemeSwitcher.d.ts.map +1 -0
  154. package/dist/configurator/components/TokenListsInput.d.ts +5 -0
  155. package/dist/configurator/components/TokenListsInput.d.ts.map +1 -0
  156. package/dist/configurator/components/TradeModesSelector.d.ts +7 -0
  157. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -0
  158. package/dist/configurator/components/WidgetModeSwitcher.d.ts +5 -0
  159. package/dist/configurator/components/WidgetModeSwitcher.d.ts.map +1 -0
  160. package/dist/configurator/components/common/DetailWithTooltip.d.ts +3 -0
  161. package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -0
  162. package/dist/configurator/components/common/Input.d.ts +8 -0
  163. package/dist/configurator/components/common/Input.d.ts.map +1 -0
  164. package/dist/configurator/components/common/Switch.d.ts +12 -0
  165. package/dist/configurator/components/common/Switch.d.ts.map +1 -0
  166. package/dist/configurator/state/themeAtom.d.ts +3 -0
  167. package/dist/configurator/state/themeAtom.d.ts.map +1 -0
  168. package/dist/core/ConnectWalletDrawerButton.d.ts.map +1 -1
  169. package/dist/core/ConnectWalletDrawerButton.js +73 -64
  170. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  171. package/dist/core/LimitOrderButton.js.map +1 -1
  172. package/dist/core/LimitOrderDetails.js.map +1 -1
  173. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  174. package/dist/core/OtcOrderButton.js +4 -1
  175. package/dist/core/OtcOrderButton.js.map +1 -1
  176. package/dist/core/OtcOrderDetails.js.map +1 -1
  177. package/dist/core/Toaster.js.map +1 -1
  178. package/dist/core/TradeFlowButton.d.ts.map +1 -1
  179. package/dist/core/TradeFlowButton.js +414 -621
  180. package/dist/core/TradeFlowButton.js.map +1 -1
  181. package/dist/core/Updaters.js.map +1 -1
  182. package/dist/core/Warnings.js.map +1 -1
  183. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  184. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  185. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +85 -49
  186. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  187. package/dist/core/index.d.ts.map +1 -1
  188. package/dist/core/index.js +98 -90
  189. package/dist/core/index.js.map +1 -1
  190. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  191. package/dist/core/inputs/hooks/useTokenFromInputProps.js +83 -54
  192. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  193. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  194. package/dist/core/inputs/hooks/useTokenToInputProps.js +20 -28
  195. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  196. package/dist/core/inputs/state/common.d.ts +2 -2
  197. package/dist/core/inputs/state/common.js.map +1 -1
  198. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  199. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -14
  200. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  201. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  202. package/dist/core/inputs/state/types.d.ts +15 -0
  203. package/dist/core/inputs/state/types.d.ts.map +1 -0
  204. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  205. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  206. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  207. package/dist/core/limit/useLimitNotSupported.js +12 -1
  208. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  209. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  210. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  211. package/dist/core/limit/useLimitRate.js.map +1 -1
  212. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  213. package/dist/core/limit/useLimitTokenFromInputProps.js +69 -52
  214. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  215. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  216. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  217. package/dist/core/logger.js +12 -14
  218. package/dist/core/logger.js.map +1 -1
  219. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  220. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  221. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  222. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  223. package/dist/core/otc/useOtcNotSupported.js +12 -1
  224. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  225. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  226. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  227. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  228. package/dist/core/otc/useOtcTokenFromInputProps.js +69 -52
  229. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  230. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  231. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  232. package/dist/core/state/chainToAtom.js.map +1 -1
  233. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  234. package/dist/core/state/configActionsAtom.js +3 -1
  235. package/dist/core/state/configActionsAtom.js.map +1 -1
  236. package/dist/core/state/configAtom.d.ts +5 -3
  237. package/dist/core/state/configAtom.d.ts.map +1 -1
  238. package/dist/core/state/configAtom.js +5 -9
  239. package/dist/core/state/configAtom.js.map +1 -1
  240. package/dist/core/state/configEffectAtom.js.map +1 -1
  241. package/dist/core/state/containerAtom.js.map +1 -1
  242. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  243. package/dist/core/state/externalProviderAtom.js.map +1 -1
  244. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  245. package/dist/core/state/tradeModeAtom.js.map +1 -1
  246. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  247. package/dist/core/state/widgetEventsAtom.js +55 -41
  248. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  249. package/dist/core/swapDetails/useSwapDetailsListProps.js +34 -36
  250. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  251. package/dist/core/types.d.ts +4 -1
  252. package/dist/core/types.d.ts.map +1 -1
  253. package/dist/events/getters/limit.d.ts.map +1 -1
  254. package/dist/events/getters/limit.js +3 -2
  255. package/dist/events/getters/limit.js.map +1 -1
  256. package/dist/events/getters/otc.d.ts.map +1 -1
  257. package/dist/events/getters/otc.js +3 -2
  258. package/dist/events/getters/otc.js.map +1 -1
  259. package/dist/events/getters/swap.d.ts.map +1 -1
  260. package/dist/events/getters/swap.js +3 -2
  261. package/dist/events/getters/swap.js.map +1 -1
  262. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  263. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  264. package/dist/events/hooks/useOnWalletConnect.js +2 -0
  265. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  266. package/dist/events/types/approve.d.ts +22 -6
  267. package/dist/events/types/approve.d.ts.map +1 -1
  268. package/dist/events/types/common.d.ts +3 -2
  269. package/dist/events/types/common.d.ts.map +1 -1
  270. package/dist/events/types/connectWallet.d.ts +2 -0
  271. package/dist/events/types/connectWallet.d.ts.map +1 -1
  272. package/dist/events/types/index.d.ts +5 -2
  273. package/dist/events/types/index.d.ts.map +1 -1
  274. package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +1 -0
  275. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  276. package/dist/hooks/batch/useAwaitCalls.js +20 -16
  277. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  278. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  279. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  280. package/dist/hooks/connectors/useIsConnectedSafe.js +10 -18
  281. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  282. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  283. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +4 -15
  284. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  285. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  286. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  287. package/dist/hooks/getCode/useIsContractAtAddress.js +30 -46
  288. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  289. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  290. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +21 -12
  291. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  292. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  293. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +22 -12
  294. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  295. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  296. package/dist/hooks/otc/mutations/useFillOrder.js +10 -32
  297. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  298. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts +22 -3
  299. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts.map +1 -1
  300. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +39 -2
  301. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  302. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  303. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  304. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -3
  305. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  306. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  307. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +7 -4
  308. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  309. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +46 -4
  310. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  311. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  312. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +38 -36
  313. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  314. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  315. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  316. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  317. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  318. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  319. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  320. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  321. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  322. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  323. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +39 -31
  324. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  325. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +7 -15
  326. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  327. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  328. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  329. package/dist/hooks/sdk/useSpender.js.map +1 -1
  330. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -1
  331. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  332. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js +23 -13
  333. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  334. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  335. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  336. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +41 -10
  337. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  338. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +25 -0
  339. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -0
  340. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +88 -0
  341. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -0
  342. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +16 -0
  343. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -0
  344. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +83 -0
  345. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -0
  346. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  347. package/dist/hooks/swap/prices/delta/orders/utils.js +3 -2
  348. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  349. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  350. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts +22 -3
  351. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  352. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +39 -2
  353. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  354. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  355. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  356. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  357. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  358. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  359. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  360. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  361. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts +9 -0
  362. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  363. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +49 -2
  364. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  365. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  366. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  367. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  368. package/dist/hooks/swap/tradeFlow/common/types.d.ts +17 -0
  369. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  370. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +3 -1
  371. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  372. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +164 -140
  373. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  374. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  375. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts +46 -0
  376. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts.map +1 -0
  377. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js +328 -0
  378. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -0
  379. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts.map +1 -1
  380. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +16 -14
  381. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  382. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +74 -0
  383. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -0
  384. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +274 -0
  385. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -0
  386. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts +15 -0
  387. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts.map +1 -0
  388. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +88 -0
  389. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -0
  390. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  391. package/dist/hooks/swap/tradeFlow/common/utils.d.ts +1 -0
  392. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  393. package/dist/hooks/swap/tradeFlow/common/utils.js +16 -1
  394. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  395. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +28 -23
  396. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  397. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +59 -17
  398. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  399. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  400. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -3
  401. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  402. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +61 -15
  403. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  404. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  405. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -18
  406. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  407. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  408. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  409. package/dist/hooks/tokens/allowance/useTokenAllowance.js +25 -15
  410. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  411. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +8 -10
  412. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  413. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  414. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  415. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +20 -37
  416. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  417. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  418. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +11 -19
  419. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  420. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  421. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  422. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +21 -25
  423. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  424. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  425. package/dist/hooks/tokens/useAllTokensWithFilter.js +121 -49
  426. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  427. package/dist/hooks/tokens/useNativeToken.js +1 -1
  428. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  429. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  430. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  431. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  432. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  433. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  434. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  435. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  436. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  437. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  438. package/dist/hooks/useBridgeInfo.js.map +1 -1
  439. package/dist/hooks/useCurrentChain.js.map +1 -1
  440. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  441. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  442. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  443. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  444. package/dist/hooks/useMinViemClient.js.map +1 -1
  445. package/dist/hooks/useSDK.d.ts +3 -2
  446. package/dist/hooks/useSDK.d.ts.map +1 -1
  447. package/dist/hooks/useSDK.js +37 -8
  448. package/dist/hooks/useSDK.js.map +1 -1
  449. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  450. package/dist/hooks/useSlippage.js.map +1 -1
  451. package/dist/index.d.ts +5 -1
  452. package/dist/index.d.ts.map +1 -1
  453. package/dist/lib/utils/approval.js.map +1 -1
  454. package/dist/lib/utils/theme.d.ts +2 -0
  455. package/dist/lib/utils/theme.d.ts.map +1 -0
  456. package/dist/lib/utils/theme.js +10 -0
  457. package/dist/lib/utils/theme.js.map +1 -0
  458. package/dist/lib/utils/tradeFlow.d.ts +3 -0
  459. package/dist/lib/utils/tradeFlow.d.ts.map +1 -0
  460. package/dist/lib/utils/tradeFlow.js +12 -0
  461. package/dist/lib/utils/tradeFlow.js.map +1 -0
  462. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  463. package/dist/styles.css +89 -44
  464. package/dist/tokens/hooks.js.map +1 -1
  465. package/dist/tokens/lists/state/effects.js.map +1 -1
  466. package/dist/tokens/queries.js +6 -10
  467. package/dist/tokens/queries.js.map +1 -1
  468. package/dist/tokens/stabeCoins/hooks.js +3 -5
  469. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  470. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  471. package/dist/transactions/queries/ensureCallsStatus.d.ts +1 -0
  472. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  473. package/dist/transactions/queries/ensureCallsStatus.js +7 -5
  474. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  475. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  476. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  477. package/dist/transactions/types.d.ts +21 -1
  478. package/dist/transactions/types.d.ts.map +1 -1
  479. package/package.json +2 -2
  480. package/dist/components/widget/TokenInput/EmptyInput.js +0 -58
  481. package/dist/components/widget/TokenInput/EmptyInput.js.map +0 -1
  482. package/dist/external/.pnpm/react-compiler-runtime@19.1.0-rc.2_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +0 -1
  483. /package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.1 → react-compiler-runtime@1.0.0_react@19.1.1}/external/react-compiler-runtime/dist/index.js +0 -0
@@ -4,12 +4,8 @@ import { DrawerHeader, DrawerTitle, DrawerClose, Drawer, DrawerDescription, Draw
4
4
  import { useContainerAtom } from '../../../core/state/containerAtom.js';
5
5
  import { ArrowLeft, XIcon } from 'lucide-react';
6
6
 
7
- function isElementVisibleInViewport(element) {
8
- const rect = element.getBoundingClientRect();
9
- return rect.top <= window.innerHeight && rect.bottom >= 0 && rect.left <= window.innerWidth && rect.right >= 0;
10
- }
11
7
  function ControlledDrawer(t0) {
12
- const $ = distExports.c(35);
8
+ const $ = distExports.c(40);
13
9
  let _container;
14
10
  let children;
15
11
  let closeButtonReplacement;
@@ -28,7 +24,7 @@ function ControlledDrawer(t0) {
28
24
  title: t52,
29
25
  description: t62,
30
26
  showCloseButton: t72,
31
- showGoBackButton: t8,
27
+ showGoBackButton: t82,
32
28
  onGoBack: t9,
33
29
  closeButtonReplacement: t10,
34
30
  logger,
@@ -41,7 +37,7 @@ function ControlledDrawer(t0) {
41
37
  title = t52;
42
38
  description = t62;
43
39
  showCloseButton = t72;
44
- showGoBackButton = t8;
40
+ showGoBackButton = t82;
45
41
  onGoBack = t9;
46
42
  closeButtonReplacement = t10;
47
43
  t1 = t11;
@@ -78,78 +74,147 @@ function ControlledDrawer(t0) {
78
74
  const container = _container || drawerContainer;
79
75
  const shouldShowHeader = !!(showGoBackButton || title || showCloseButton || closeButtonReplacement);
80
76
  let t3;
81
- if ($[12] !== props || $[13] !== scrollIntoView) {
82
- t3 = scrollIntoView ? (event) => {
83
- if (props.open && !isElementVisibleInViewport(event.currentTarget)) {
84
- event.currentTarget.scrollIntoView({
85
- behavior: "smooth",
86
- block: "nearest",
87
- inline: "nearest"
88
- });
77
+ if ($[12] !== drawerContainer || $[13] !== props) {
78
+ t3 = () => {
79
+ if (drawerContainer && !props.open) {
80
+ restoreContainer.onAnimationStart(drawerContainer);
89
81
  }
90
- } : void 0;
91
- $[12] = props;
92
- $[13] = scrollIntoView;
82
+ };
83
+ $[12] = drawerContainer;
84
+ $[13] = props;
93
85
  $[14] = t3;
94
86
  } else {
95
87
  t3 = $[14];
96
88
  }
97
89
  let t4;
98
- if ($[15] !== closeButtonReplacement || $[16] !== onGoBack || $[17] !== props || $[18] !== shouldShowHeader || $[19] !== showCloseButton || $[20] !== showGoBackButton || $[21] !== title) {
99
- t4 = shouldShowHeader ? /* @__PURE__ */ jsx(DrawerHeader, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
90
+ if ($[15] !== drawerContainer || $[16] !== props || $[17] !== scrollIntoView) {
91
+ t4 = (event) => {
92
+ if (drawerContainer) {
93
+ maybeMoveIntoPage({
94
+ element: event.currentTarget,
95
+ open: props.open,
96
+ drawerContainer
97
+ });
98
+ restoreContainer.onAnimationEnd(drawerContainer);
99
+ }
100
+ if (scrollIntoView && props.open) {
101
+ maybeScrollIntoView(event.currentTarget);
102
+ }
103
+ };
104
+ $[15] = drawerContainer;
105
+ $[16] = props;
106
+ $[17] = scrollIntoView;
107
+ $[18] = t4;
108
+ } else {
109
+ t4 = $[18];
110
+ }
111
+ let t5;
112
+ if ($[19] !== closeButtonReplacement || $[20] !== onGoBack || $[21] !== props || $[22] !== shouldShowHeader || $[23] !== showCloseButton || $[24] !== showGoBackButton || $[25] !== title) {
113
+ t5 = shouldShowHeader ? /* @__PURE__ */ jsx(DrawerHeader, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
100
114
  /* @__PURE__ */ jsxs(DrawerTitle, { className: "flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7", children: [
101
115
  showGoBackButton && /* @__PURE__ */ jsx(ArrowLeft, { className: "ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0", onClick: onGoBack || props.onClose }),
102
116
  title
103
117
  ] }),
104
118
  closeButtonReplacement ?? (showCloseButton && /* @__PURE__ */ jsx(DrawerClose, { className: "ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", onClick: props.onClose, children: /* @__PURE__ */ jsx(XIcon, {}) }))
105
119
  ] }) }) : /* @__PURE__ */ jsx(DrawerTitle, { className: "sr-only" });
106
- $[15] = closeButtonReplacement;
107
- $[16] = onGoBack;
108
- $[17] = props;
109
- $[18] = shouldShowHeader;
110
- $[19] = showCloseButton;
111
- $[20] = showGoBackButton;
112
- $[21] = title;
113
- $[22] = t4;
120
+ $[19] = closeButtonReplacement;
121
+ $[20] = onGoBack;
122
+ $[21] = props;
123
+ $[22] = shouldShowHeader;
124
+ $[23] = showCloseButton;
125
+ $[24] = showGoBackButton;
126
+ $[25] = title;
127
+ $[26] = t5;
114
128
  } else {
115
- t4 = $[22];
129
+ t5 = $[26];
116
130
  }
117
- let t5;
118
- if ($[23] !== description) {
119
- t5 = /* @__PURE__ */ jsx(DrawerDescription, { children: description });
120
- $[23] = description;
121
- $[24] = t5;
131
+ let t6;
132
+ if ($[27] !== description) {
133
+ t6 = /* @__PURE__ */ jsx(DrawerDescription, { children: description });
134
+ $[27] = description;
135
+ $[28] = t6;
122
136
  } else {
123
- t5 = $[24];
137
+ t6 = $[28];
124
138
  }
125
- let t6;
126
- if ($[25] !== children || $[26] !== t3 || $[27] !== t4 || $[28] !== t5) {
127
- t6 = /* @__PURE__ */ jsx(DrawerPortal, { children: /* @__PURE__ */ jsxs(DrawerContent, { className: "absolute p-0 bg-contrast-8 dark:bg-contrast-1", onAnimationEnd: t3, children: [
128
- t4,
139
+ let t7;
140
+ if ($[29] !== children || $[30] !== t3 || $[31] !== t4 || $[32] !== t5 || $[33] !== t6) {
141
+ t7 = /* @__PURE__ */ jsx(DrawerPortal, { children: /* @__PURE__ */ jsxs(DrawerContent, { className: "absolute p-0 bg-contrast-8 dark:bg-contrast-1", onAnimationStart: t3, onAnimationEnd: t4, children: [
129
142
  t5,
143
+ t6,
130
144
  children
131
145
  ] }) });
132
- $[25] = children;
133
- $[26] = t3;
134
- $[27] = t4;
135
- $[28] = t5;
136
- $[29] = t6;
137
- } else {
138
- t6 = $[29];
139
- }
140
- let t7;
141
- if ($[30] !== container || $[31] !== dismissible || $[32] !== props || $[33] !== t6) {
142
- t7 = /* @__PURE__ */ jsx(Drawer, { ...props, container, dismissible, modal: false, children: t6 });
143
- $[30] = container;
144
- $[31] = dismissible;
145
- $[32] = props;
146
+ $[29] = children;
147
+ $[30] = t3;
148
+ $[31] = t4;
149
+ $[32] = t5;
146
150
  $[33] = t6;
147
151
  $[34] = t7;
148
152
  } else {
149
153
  t7 = $[34];
150
154
  }
151
- return t7;
155
+ let t8;
156
+ if ($[35] !== container || $[36] !== dismissible || $[37] !== props || $[38] !== t7) {
157
+ t8 = /* @__PURE__ */ jsx(Drawer, { ...props, container, dismissible, modal: false, children: t7 });
158
+ $[35] = container;
159
+ $[36] = dismissible;
160
+ $[37] = props;
161
+ $[38] = t7;
162
+ $[39] = t8;
163
+ } else {
164
+ t8 = $[39];
165
+ }
166
+ return t8;
167
+ }
168
+ function isElementAbovePage(element) {
169
+ const rect = element.getBoundingClientRect();
170
+ const diff = Math.ceil(rect.top + window.scrollY);
171
+ const isAbove = diff < 0;
172
+ const overlap = isAbove ? Math.abs(diff) : 0;
173
+ return {
174
+ overlap,
175
+ isAbove
176
+ };
177
+ }
178
+ function maybeMoveIntoPage({
179
+ element,
180
+ open,
181
+ drawerContainer
182
+ }) {
183
+ if (open) {
184
+ const {
185
+ isAbove,
186
+ overlap
187
+ } = isElementAbovePage(element);
188
+ if (isAbove) {
189
+ drawerContainer.style.translate = `0 ${overlap}px`;
190
+ }
191
+ } else {
192
+ drawerContainer.style.translate = "";
193
+ }
194
+ }
195
+ function isElementVisibleInViewport(element) {
196
+ const rect = element.getBoundingClientRect();
197
+ return rect.top <= window.innerHeight && rect.bottom >= 0 && rect.left <= window.innerWidth && rect.right >= 0;
198
+ }
199
+ function maybeScrollIntoView(element) {
200
+ if (isElementVisibleInViewport(element)) {
201
+ return;
202
+ }
203
+ element.scrollIntoView({
204
+ behavior: "smooth",
205
+ block: "nearest",
206
+ inline: "nearest"
207
+ });
152
208
  }
209
+ const restoreContainer = {
210
+ onAnimationStart: (drawerContainer) => {
211
+ drawerContainer.style.translate = "";
212
+ drawerContainer.style.transition = "none";
213
+ },
214
+ onAnimationEnd: (drawerContainer) => {
215
+ drawerContainer.style.transition = "";
216
+ }
217
+ };
153
218
 
154
219
  export { ControlledDrawer };
155
220
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/widget/Drawer/index.tsx"],"sourcesContent":["import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerPortal,\n DrawerDescription,\n} from \"@/components/ui/drawer\";\nimport { useContainerAtom } from \"@/core/state/containerAtom\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { XIcon, ArrowLeft } from \"lucide-react\";\n\ntype ControlledDrawerProps = React.ComponentProps<typeof Drawer> & {\n open: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | null;\n title?: string;\n description?: string;\n showGoBackButton?: boolean;\n onGoBack?: () => void;\n showCloseButton?: boolean;\n logger?: LoggerInstance;\n closeButtonReplacement?: React.ReactNode;\n scrollIntoView?: boolean;\n};\n\n// Helper function to check if an element is visible in the viewport\nfunction isElementVisibleInViewport(element: HTMLElement): boolean {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top <= window.innerHeight &&\n rect.bottom >= 0 &&\n rect.left <= window.innerWidth &&\n rect.right >= 0\n );\n}\n\nexport function ControlledDrawer({\n children,\n container: _container,\n title,\n description,\n showCloseButton,\n showGoBackButton,\n onGoBack,\n closeButtonReplacement,\n logger,\n dismissible = false,\n scrollIntoView = true, // If Drawer Opened offscreen, scroll into view\n ...props\n}: ControlledDrawerProps) {\n const drawerContainer = useContainerAtom();\n const container = _container || drawerContainer;\n\n const shouldShowHeader = !!(\n showGoBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <Drawer\n {...props}\n container={container}\n dismissible={dismissible}\n modal={false}\n >\n <DrawerPortal>\n <DrawerContent\n className=\"absolute p-0 bg-contrast-8 dark:bg-contrast-1\"\n onAnimationEnd={\n scrollIntoView\n ? (event) => {\n // only after animated to Open state to prevent jiggle\n if (\n props.open &&\n !isElementVisibleInViewport(event.currentTarget)\n ) {\n // On short screens a Drawer may open offscreen and not be noticable\n event.currentTarget.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }\n }\n : undefined\n }\n >\n {shouldShowHeader ? (\n <DrawerHeader>\n <div className=\"flex items-center justify-between\">\n <DrawerTitle className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {showGoBackButton && (\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0\"\n onClick={onGoBack || props.onClose}\n />\n )}\n {title}\n </DrawerTitle>\n {closeButtonReplacement ??\n (showCloseButton && (\n <DrawerClose\n className=\"ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n onClick={props.onClose}\n >\n <XIcon />\n </DrawerClose>\n ))}\n </div>\n </DrawerHeader>\n ) : (\n // workaround to avoid \"DialogContent requires a DialogTitle for the component to be accessible for screen reader users\"\n // error if !shouldShowHeader\n <DrawerTitle className=\"sr-only\" />\n )}\n <DrawerDescription>{description}</DrawerDescription>\n {children}\n </DrawerContent>\n </DrawerPortal>\n </Drawer>\n );\n}\n"],"names":["isElementVisibleInViewport","element","rect","getBoundingClientRect","top","window","innerHeight","bottom","left","innerWidth","right","ControlledDrawer","t0","$","_c","_container","children","closeButtonReplacement","description","onGoBack","props","showCloseButton","showGoBackButton","t1","t2","title","t3","container","t4","t5","t6","t7","t8","t9","t10","logger","dismissible","t11","scrollIntoView","t12","t13","undefined","drawerContainer","useContainerAtom","shouldShowHeader","event","open","currentTarget","behavior","block","inline","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/widget/Drawer/index.tsx"],"sourcesContent":["import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerPortal,\n DrawerDescription,\n} from \"@/components/ui/drawer\";\nimport { useContainerAtom } from \"@/core/state/containerAtom\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { XIcon, ArrowLeft } from \"lucide-react\";\n\ntype ControlledDrawerProps = React.ComponentProps<typeof Drawer> & {\n open: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | null;\n title?: string;\n description?: string;\n showGoBackButton?: boolean;\n onGoBack?: () => void;\n showCloseButton?: boolean;\n logger?: LoggerInstance;\n closeButtonReplacement?: React.ReactNode;\n scrollIntoView?: boolean;\n};\n\nexport function ControlledDrawer({\n children,\n container: _container,\n title,\n description,\n showCloseButton,\n showGoBackButton,\n onGoBack,\n closeButtonReplacement,\n logger,\n dismissible = false,\n scrollIntoView = true, // If Drawer Opened offscreen, scroll into view\n ...props\n}: ControlledDrawerProps) {\n const drawerContainer = useContainerAtom();\n const container = _container || drawerContainer;\n\n const shouldShowHeader = !!(\n showGoBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <Drawer\n {...props}\n container={container}\n dismissible={dismissible}\n modal={false}\n >\n <DrawerPortal>\n <DrawerContent\n className=\"absolute p-0 bg-contrast-8 dark:bg-contrast-1\"\n onAnimationStart={() => {\n if (drawerContainer && !props.open) {\n // restore container to bottom\n restoreContainer.onAnimationStart(drawerContainer);\n }\n }}\n onAnimationEnd={(event) => {\n if (drawerContainer) {\n maybeMoveIntoPage({\n element: event.currentTarget,\n open: props.open,\n drawerContainer,\n });\n // restore normal transition if it was set to none\n restoreContainer.onAnimationEnd(drawerContainer);\n }\n\n // only after animated to Open state to prevent jiggle\n if (scrollIntoView && props.open) {\n // On short screens a Drawer may open offscreen and not be noticable\n maybeScrollIntoView(event.currentTarget);\n }\n }}\n >\n {shouldShowHeader ? (\n <DrawerHeader>\n <div className=\"flex items-center justify-between\">\n <DrawerTitle className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {showGoBackButton && (\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0\"\n onClick={onGoBack || props.onClose}\n />\n )}\n {title}\n </DrawerTitle>\n {closeButtonReplacement ??\n (showCloseButton && (\n <DrawerClose\n className=\"ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n onClick={props.onClose}\n >\n <XIcon />\n </DrawerClose>\n ))}\n </div>\n </DrawerHeader>\n ) : (\n // workaround to avoid \"DialogContent requires a DialogTitle for the component to be accessible for screen reader users\"\n // error if !shouldShowHeader\n <DrawerTitle className=\"sr-only\" />\n )}\n <DrawerDescription>{description}</DrawerDescription>\n {children}\n </DrawerContent>\n </DrawerPortal>\n </Drawer>\n );\n}\n\n// Helper function to check if an element is above the page (not viewport)\nfunction isElementAbovePage(element: Element) {\n const rect = element.getBoundingClientRect();\n const diff = Math.ceil(rect.top + window.scrollY);\n const isAbove = diff < 0;\n const overlap = isAbove ? Math.abs(diff) : 0;\n return {\n overlap,\n isAbove,\n };\n}\n\ntype MaybeMoveIntoPageProps = {\n element: Element;\n open: boolean;\n drawerContainer: HTMLElement;\n};\n\nfunction maybeMoveIntoPage({\n element,\n open,\n drawerContainer,\n}: MaybeMoveIntoPageProps) {\n if (open) {\n const { isAbove, overlap } = isElementAbovePage(element);\n if (isAbove) {\n drawerContainer.style.translate = `0 ${overlap}px`;\n }\n } else {\n drawerContainer.style.translate = \"\";\n }\n}\n\n// Helper function to check if an element is visible in the viewport\nfunction isElementVisibleInViewport(element: Element): boolean {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top <= window.innerHeight &&\n rect.bottom >= 0 &&\n rect.left <= window.innerWidth &&\n rect.right >= 0\n );\n}\n\nfunction maybeScrollIntoView(element: Element) {\n if (isElementVisibleInViewport(element)) {\n return;\n }\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n}\n\nconst restoreContainer = {\n onAnimationStart: (drawerContainer: HTMLElement) => {\n // restore container to bottom\n drawerContainer.style.translate = \"\";\n // set transition to snap container to bottom, looks better when not animated, because drawer is already closing\n drawerContainer.style.transition = \"none\";\n },\n onAnimationEnd: (drawerContainer: HTMLElement) => {\n // restore normal transition if it was set to none\n drawerContainer.style.transition = \"\";\n },\n};\n"],"names":["ControlledDrawer","t0","$","_c","_container","children","closeButtonReplacement","description","onGoBack","props","showCloseButton","showGoBackButton","t1","t2","title","t3","container","t4","t5","t6","t7","t8","t9","t10","logger","dismissible","t11","scrollIntoView","t12","t13","undefined","drawerContainer","useContainerAtom","shouldShowHeader","open","restoreContainer","onAnimationStart","event","maybeMoveIntoPage","element","currentTarget","onAnimationEnd","maybeScrollIntoView","onClose","isElementAbovePage","rect","getBoundingClientRect","diff","Math","ceil","top","window","scrollY","isAbove","overlap","abs","style","translate","isElementVisibleInViewport","innerHeight","bottom","left","innerWidth","right","behavior","block","inline","transition"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerControls.js","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"sourcesContent":["import { DRAWER_HEIGHT } from \"@/core/constants\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { atom, useAtom, useAtomValue } from \"jotai\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nexport type DrawerControls = {\n open: boolean;\n onOpen: () => void;\n onClose: () => void;\n onOpenChange: (open: boolean) => void;\n logger: LoggerInstance;\n};\n\nexport type DrawerId =\n | \"account-button-drawer\"\n | \"trade-parameters-drawer\"\n | \"receiver-address-drawer\"\n | `empty-select-token-drawer-${\"from\" | \"to\" | undefined}`\n | `select-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"trade-flow-drawer\"\n | \"limit-order-flow-drawer\"\n | \"otc-order-flow-drawer\"\n | \"fill-otc-order-flow-drawer\"\n | \"limit-orders-drawer\" // @TODO Activities cleanup\n | \"limit-order-details\" // @TODO Activities cleanup\n | \"otc-orders-drawer\" // @TODO Activities cleanup\n | \"otc-order-details\" // @TODO Activities cleanup\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"activities-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n}): DrawerControls => {\n const [openDrawer, setOpenDrawer] = useAtom(openDrawerAtom);\n\n const open = openDrawer === drawerId;\n\n const logger = useLogger(drawerId);\n\n const onOpen = () => {\n logger.info(\"onOpen\");\n setOpenDrawer(drawerId);\n _onOpen?.();\n };\n const onClose = () => {\n logger.info(\"onClose\");\n setOpenDrawer((currentOpenDrawer) => {\n // only reset openDrawer if closing the drawer that is currently open,\n // so that we don't interfere with other drawers that are opening at the same time\n if (currentOpenDrawer === drawerId) {\n return null;\n }\n return currentOpenDrawer;\n });\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n logger,\n };\n};\n\n/**\n * Drawer IDs that should be considered full-cover drawers.\n *\n * When a full-cover drawer opens, the widget container height is transitioned to a fixed WIDGET_HEIGHT_CLASSNAME height.\n * When the drawer closes, the widget container height is transitioned back to the natural height.\n */\nconst fullCoverDrawers = new Set<DrawerId>([\n \"trade-flow-drawer\",\n \"limit-order-flow-drawer\",\n \"otc-order-flow-drawer\",\n \"fill-otc-order-flow-drawer\",\n \"select-token-drawer-from\",\n \"select-token-drawer-to\",\n \"empty-select-token-drawer-from\",\n \"empty-select-token-drawer-to\",\n]);\n\nconst transition = \"height 0.3s ease-in-out\";\n\n/**\n * Hook that manages smooth height transitions for the main widget container when full-cover drawers open/close.\n *\n * When a full-cover drawer opens, this hook smoothly animates the widget height from its natural height\n * to a fixed WIDGET_HEIGHT_CLASSNAME height. When the drawer closes, it animates back to the original height and then\n * resets to auto for natural sizing.\n *\n * This prevents jarring height jumps and provides a polished user experience during drawer interactions.\n *\n * @returns {Object} containerRef - React ref that should be attached to the widget container element\n *\n * @example\n * const { containerRef } = useDrawerContainerHeightTransition();\n * return <div ref={containerRef} className=\"widget-container\">...</div>\n */\nexport const useDrawerContainerHeightTransition = (): {\n containerRef: React.RefObject<HTMLDivElement | null>;\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\n const containerRef = useRef<HTMLDivElement>(null);\n const previousHeightRef = useRef<number | null>(null);\n\n const currentDrawerId = useOpenDrawerId();\n const isDrawerFullCover =\n !!currentDrawerId && fullCoverDrawers.has(currentDrawerId);\n\n useLayoutEffect(() => {\n if (containerRef.current) {\n const container = containerRef.current;\n\n if (isDrawerFullCover) {\n // Get current height\n const currentHeight = container.scrollHeight;\n // widget will be fully covered by the drawer, won't see the transition\n const shouldSkipTransition = currentHeight <= DRAWER_HEIGHT;\n if (shouldSkipTransition) {\n return;\n }\n previousHeightRef.current = currentHeight;\n container.style.overflow = \"hidden\";\n\n // Set current height first (no transition)\n container.style.transition = \"none\";\n container.style.height = `${currentHeight}px`;\n\n // Use requestAnimationFrame to ensure the first height is painted\n requestAnimationFrame(() => {\n // Enable transition and set target height\n container.style.transition = transition;\n container.style.height = `${DRAWER_HEIGHT}px`;\n });\n } else if (previousHeightRef.current !== null) {\n // Only transition back if we have a previous height\n container.style.transition = transition;\n container.style.height = `${previousHeightRef.current}px`;\n previousHeightRef.current = null;\n\n // After transition completes, reset to auto\n const onTransitionEnd = (event: TransitionEvent) => {\n if (\n event.target === container &&\n event.propertyName === \"height\" &&\n event.type === \"transitionend\"\n ) {\n container.style.height = \"auto\";\n container.style.transition = \"\";\n container.style.overflow = \"\";\n\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n }\n };\n container.addEventListener(\"transitionend\", onTransitionEnd);\n\n return () => {\n // cleanup just in case\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n };\n }\n }\n }, [isDrawerFullCover]);\n\n return {\n containerRef,\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"names":["openDrawerAtom","atom","useOpenDrawerId","useAtomValue","useDrawerControls","t0","$","_c","onOpen","_onOpen","onClose","_onClose","drawerId","openDrawer","setOpenDrawer","useAtom","open","logger","useLogger","t1","info","t2","currentOpenDrawer","t3","open_0","onOpenChange","t4","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","useRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","DRAWER_HEIGHT","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","useLayoutEffect","isDrawerOpen"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawerControls.js","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"sourcesContent":["import { DRAWER_HEIGHT } from \"@/core/constants\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { atom, useAtom, useAtomValue } from \"jotai\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nexport type DrawerControls = {\n open: boolean;\n onOpen: () => void;\n onClose: () => void;\n onOpenChange: (open: boolean) => void;\n logger: LoggerInstance;\n};\n\nexport type DrawerId =\n | \"account-button-drawer\"\n | \"trade-parameters-drawer\"\n | \"receiver-address-drawer\"\n | `empty-select-token-drawer-${\"from\" | \"to\" | undefined}`\n | `select-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"trade-flow-drawer\"\n | \"limit-order-flow-drawer\"\n | \"otc-order-flow-drawer\"\n | \"fill-otc-order-flow-drawer\"\n | \"limit-orders-drawer\" // @TODO Activities cleanup\n | \"limit-order-details\" // @TODO Activities cleanup\n | \"otc-orders-drawer\" // @TODO Activities cleanup\n | \"otc-order-details\" // @TODO Activities cleanup\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"activities-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n}): DrawerControls => {\n const [openDrawer, setOpenDrawer] = useAtom(openDrawerAtom);\n\n const open = openDrawer === drawerId;\n\n const logger = useLogger(drawerId);\n\n const onOpen = () => {\n logger.info(\"onOpen\");\n setOpenDrawer(drawerId);\n _onOpen?.();\n };\n const onClose = () => {\n logger.info(\"onClose\");\n setOpenDrawer((currentOpenDrawer) => {\n // only reset openDrawer if closing the drawer that is currently open,\n // so that we don't interfere with other drawers that are opening at the same time\n if (currentOpenDrawer === drawerId) {\n return null;\n }\n return currentOpenDrawer;\n });\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n logger,\n };\n};\n\n/**\n * Drawer IDs that should be considered full-cover drawers.\n *\n * When a full-cover drawer opens, the widget container height is transitioned to a fixed WIDGET_HEIGHT_CLASSNAME height.\n * When the drawer closes, the widget container height is transitioned back to the natural height.\n */\nconst fullCoverDrawers = new Set<DrawerId>([\n \"trade-flow-drawer\",\n \"limit-order-flow-drawer\",\n \"otc-order-flow-drawer\",\n \"fill-otc-order-flow-drawer\",\n \"select-token-drawer-from\",\n \"select-token-drawer-to\",\n \"empty-select-token-drawer-from\",\n \"empty-select-token-drawer-to\",\n]);\n\nconst transition = \"height 0.3s ease-in-out\";\n\n/**\n * Hook that manages smooth height transitions for the main widget container when full-cover drawers open/close.\n *\n * When a full-cover drawer opens, this hook smoothly animates the widget height from its natural height\n * to a fixed WIDGET_HEIGHT_CLASSNAME height. When the drawer closes, it animates back to the original height and then\n * resets to auto for natural sizing.\n *\n * This prevents jarring height jumps and provides a polished user experience during drawer interactions.\n *\n * @returns {Object} containerRef - React ref that should be attached to the widget container element\n *\n * @example\n * const { containerRef } = useDrawerContainerHeightTransition();\n * return <div ref={containerRef} className=\"widget-container\">...</div>\n */\nexport const useDrawerContainerHeightTransition = (): {\n containerRef: React.RefObject<HTMLDivElement | null>;\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\n const containerRef = useRef<HTMLDivElement>(null);\n const previousHeightRef = useRef<number | null>(null);\n\n const currentDrawerId = useOpenDrawerId();\n const isDrawerFullCover =\n !!currentDrawerId && fullCoverDrawers.has(currentDrawerId);\n\n useLayoutEffect(() => {\n if (containerRef.current) {\n const container = containerRef.current;\n\n if (isDrawerFullCover) {\n // Get current height\n const currentHeight = container.scrollHeight;\n // widget will be fully covered by the drawer, won't see the transition\n const shouldSkipTransition = currentHeight <= DRAWER_HEIGHT;\n if (shouldSkipTransition) {\n return;\n }\n previousHeightRef.current = currentHeight;\n container.style.overflow = \"hidden\";\n\n // Set current height first (no transition)\n container.style.transition = \"none\";\n container.style.height = `${currentHeight}px`;\n\n // Use requestAnimationFrame to ensure the first height is painted\n requestAnimationFrame(() => {\n // Enable transition and set target height\n container.style.transition = transition;\n container.style.height = `${DRAWER_HEIGHT}px`;\n });\n } else if (previousHeightRef.current !== null) {\n // Only transition back if we have a previous height\n container.style.transition = transition;\n container.style.height = `${previousHeightRef.current}px`;\n previousHeightRef.current = null;\n\n // After transition completes, reset to auto\n const onTransitionEnd = (event: TransitionEvent) => {\n if (\n event.target === container &&\n event.propertyName === \"height\" &&\n event.type === \"transitionend\"\n ) {\n container.style.height = \"auto\";\n container.style.transition = \"\";\n container.style.overflow = \"\";\n\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n }\n };\n container.addEventListener(\"transitionend\", onTransitionEnd);\n\n return () => {\n // cleanup just in case\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n };\n }\n }\n }, [isDrawerFullCover]);\n\n return {\n containerRef,\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"names":["openDrawerAtom","atom","useOpenDrawerId","useAtomValue","useDrawerControls","t0","$","_c","onOpen","_onOpen","onClose","_onClose","drawerId","openDrawer","setOpenDrawer","useAtom","open","logger","useLogger","t1","info","t2","currentOpenDrawer","t3","open_0","onOpenChange","t4","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","useRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","DRAWER_HEIGHT","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","useLayoutEffect","isDrawerOpen"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImportToken.js","sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"sourcesContent":["import { useSetAtom } from \"jotai\";\nimport { addImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { WarningWithTitle } from \"../Warning/Warning\";\nimport { Button } from \"@/components/ui/button\";\nimport { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { ImportTokenDrawerProps } from \"./types\";\nimport { constructTokenLinkForChain } from \"@/lib/utils/explorer\";\n\nconst URL_CUSTOM_TOKEN_RISKS =\n \"https://help.velora.xyz/en/articles/6660821-the-risks-of-using-custom-tokens\";\n\ntype ImportTokenProps = ImportTokenDrawerProps & {\n onClose: () => void;\n};\n\nexport const ImportToken = (props: ImportTokenProps) => {\n const addImportedToken = useSetAtom(addImportedTokenAtom);\n\n const handleImport = () => {\n addImportedToken({\n newToken: props.token,\n afterAction: props.onConfirmAction,\n });\n\n props.onClose();\n };\n\n return (\n <div className=\"p-[24px] pt-0\">\n <div className=\"mb-5\">\n <a\n href={constructTokenLinkForChain({\n chainId: props.token.network,\n address: props.token.address,\n })}\n target=\"_blank\"\n >\n <TokenBadge\n img={props.token.img}\n classes={{ logo: \"size-[24px]\", root: \"underline\" }}\n address={props.token.address}\n symbol={props.token.symbol}\n chainId={props.token.network}\n showNetworkIcon\n />\n </a>\n </div>\n <WarningWithTitle\n title=\"Custom Tokens Alert\"\n message={\n <div className=\"flex flex-col gap-2\">\n <div>\n Always verify the tokens you are importing are legitimate, as\n trading unsafe tokens can lead to financial losses.\n </div>\n <div>\n Velora cannot verify the security of the token, and some tokens\n with transfer fees might fail when using our UI.\n </div>\n </div>\n }\n />\n\n <div className=\"text-sm text-contrast-4 dark:text-contrast-6 mt-7\">\n By proceeding to import custom tokens, you confirm that you acknowledge{\" \"}\n <a\n className=\"underline hover:text-contrast-5 dark:hover:text-contrast-7\"\n href={URL_CUSTOM_TOKEN_RISKS}\n target=\"_blank\"\n >\n the risks of using custom tokens\n </a>\n </div>\n <div className=\"pt-8 pb-5\">\n <Button radius=\"xs\" className=\"w-full h-[40px]\" onClick={handleImport}>\n Import\n </Button>\n </div>\n </div>\n );\n};\n"],"names":["URL_CUSTOM_TOKEN_RISKS","ImportToken","props","$","_c","addImportedToken","useSetAtom","addImportedTokenAtom","t0","newToken","token","afterAction","onConfirmAction","onClose","handleImport","t1","address","network","constructTokenLinkForChain","chainId","t2","Symbol","for","logo","root","t3","img","symbol","t4","t5","t6","t7","t8"],"mappings":"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"}
1
+ {"version":3,"file":"ImportToken.js","sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"sourcesContent":["import { useSetAtom } from \"jotai\";\nimport { addImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { WarningWithTitle } from \"../Warning/Warning\";\nimport { Button } from \"@/components/ui/button\";\nimport { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { ImportTokenDrawerProps } from \"./types\";\nimport { constructTokenLinkForChain } from \"@/lib/utils/explorer\";\n\nconst URL_CUSTOM_TOKEN_RISKS =\n \"https://help.velora.xyz/en/articles/6660821-the-risks-of-using-custom-tokens\";\n\ntype ImportTokenProps = ImportTokenDrawerProps & {\n onClose: () => void;\n};\n\nexport const ImportToken = (props: ImportTokenProps) => {\n const addImportedToken = useSetAtom(addImportedTokenAtom);\n\n const handleImport = () => {\n addImportedToken({\n newToken: props.token,\n afterAction: props.onConfirmAction,\n });\n\n props.onClose();\n };\n\n return (\n <div className=\"p-[24px] pt-0\">\n <div className=\"mb-5\">\n <a\n href={constructTokenLinkForChain({\n chainId: props.token.network,\n address: props.token.address,\n })}\n target=\"_blank\"\n >\n <TokenBadge\n img={props.token.img}\n classes={{ logo: \"size-[24px]\", root: \"underline\" }}\n address={props.token.address}\n symbol={props.token.symbol}\n chainId={props.token.network}\n showNetworkIcon\n />\n </a>\n </div>\n <WarningWithTitle\n title=\"Custom Tokens Alert\"\n message={\n <div className=\"flex flex-col gap-2\">\n <div>\n Always verify the tokens you are importing are legitimate, as\n trading unsafe tokens can lead to financial losses.\n </div>\n <div>\n Velora cannot verify the security of the token, and some tokens\n with transfer fees might fail when using our UI.\n </div>\n </div>\n }\n />\n\n <div className=\"text-sm text-contrast-4 dark:text-contrast-6 mt-7\">\n By proceeding to import custom tokens, you confirm that you acknowledge{\" \"}\n <a\n className=\"underline hover:text-contrast-5 dark:hover:text-contrast-7\"\n href={URL_CUSTOM_TOKEN_RISKS}\n target=\"_blank\"\n >\n the risks of using custom tokens\n </a>\n </div>\n <div className=\"pt-8 pb-5\">\n <Button radius=\"xs\" className=\"w-full h-[40px]\" onClick={handleImport}>\n Import\n </Button>\n </div>\n </div>\n );\n};\n"],"names":["URL_CUSTOM_TOKEN_RISKS","ImportToken","props","$","_c","addImportedToken","useSetAtom","addImportedTokenAtom","t0","newToken","token","afterAction","onConfirmAction","onClose","handleImport","t1","address","network","constructTokenLinkForChain","chainId","t2","Symbol","for","logo","root","t3","img","symbol","t4","t5","t6","t7","t8"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useImportTokenDrawer.js","sources":["../../../../src/components/widget/ImportToken/useImportTokenDrawer.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ImportToken } from \"./ImportToken\";\nimport type {\n ImportTokenDrawerProps,\n UseImportTokenDrawerReturn,\n} from \"./types\";\n\ntype ImportDrawerProps = {\n drawerContainer?: HTMLElement | null;\n tokenType: \"from\" | \"to\" | undefined;\n};\n\nexport const useImportTokenDrawer = ({\n drawerContainer,\n tokenType,\n}: ImportDrawerProps): UseImportTokenDrawerReturn => {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: `import-token-drawer-${tokenType}`,\n });\n\n const [importTokenProps, setImportTokenProps] =\n useState<ImportTokenDrawerProps | null>(null);\n\n const importTokenDrawer = (\n <ControlledDrawer\n {...drawerProps}\n title=\"Add Custom Token\"\n showCloseButton\n container={drawerContainer}\n >\n {importTokenProps ? (\n <ImportToken {...importTokenProps} onClose={drawerProps.onClose} />\n ) : null}\n </ControlledDrawer>\n );\n\n const onOpenImportTokenDrawer: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"] =\n (importTokenDrawerProps) => {\n setImportTokenProps(importTokenDrawerProps);\n onOpen();\n };\n\n return {\n onOpenImportTokenDrawer,\n importTokenDrawer,\n };\n};\n"],"names":["useImportTokenDrawer","t0","$","_c","drawerContainer","tokenType","t1","t2","drawerId","t3","useDrawerControls","drawerProps","onOpen","importTokenProps","setImportTokenProps","useState","t4","onClose","t5","importTokenDrawer","t6","importTokenDrawerProps","onOpenImportTokenDrawer","t7"],"mappings":"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"}
1
+ {"version":3,"file":"useImportTokenDrawer.js","sources":["../../../../src/components/widget/ImportToken/useImportTokenDrawer.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ImportToken } from \"./ImportToken\";\nimport type {\n ImportTokenDrawerProps,\n UseImportTokenDrawerReturn,\n} from \"./types\";\n\ntype ImportDrawerProps = {\n drawerContainer?: HTMLElement | null;\n tokenType: \"from\" | \"to\" | undefined;\n};\n\nexport const useImportTokenDrawer = ({\n drawerContainer,\n tokenType,\n}: ImportDrawerProps): UseImportTokenDrawerReturn => {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: `import-token-drawer-${tokenType}`,\n });\n\n const [importTokenProps, setImportTokenProps] =\n useState<ImportTokenDrawerProps | null>(null);\n\n const importTokenDrawer = (\n <ControlledDrawer\n {...drawerProps}\n title=\"Add Custom Token\"\n showCloseButton\n container={drawerContainer}\n >\n {importTokenProps ? (\n <ImportToken {...importTokenProps} onClose={drawerProps.onClose} />\n ) : null}\n </ControlledDrawer>\n );\n\n const onOpenImportTokenDrawer: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"] =\n (importTokenDrawerProps) => {\n setImportTokenProps(importTokenDrawerProps);\n onOpen();\n };\n\n return {\n onOpenImportTokenDrawer,\n importTokenDrawer,\n };\n};\n"],"names":["useImportTokenDrawer","t0","$","_c","drawerContainer","tokenType","t1","t2","drawerId","t3","useDrawerControls","drawerProps","onOpen","importTokenProps","setImportTokenProps","useState","t4","onClose","t5","importTokenDrawer","t6","importTokenDrawerProps","onOpenImportTokenDrawer","t7"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Controls.js","sources":["../../../../../src/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport {\n type CancelLimitDeltaOrdersMutationOptions,\n useCancelDeltaOrderEventCallbacks,\n useCancelLimitDeltaOrders,\n} from \"@/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { useChainId, useAccount } from \"wagmi\";\nimport type { LimitOrderItem } from \"../types\";\nimport { ReactComponent as Spinner } from \"@/assets/spinner.svg\";\n\nexport type LimitOrderControlsProps = {\n order: LimitOrderItem;\n onDismiss: () => void;\n onCancelSuccess: CancelLimitDeltaOrdersMutationOptions[\"onSuccess\"];\n onCancelError: CancelLimitDeltaOrdersMutationOptions[\"onError\"];\n};\n\nexport const Controls = ({\n order,\n onDismiss,\n onCancelError,\n onCancelSuccess,\n}: LimitOrderControlsProps) => {\n const cancellable = DeltaOrderStatusChecker.cancellable.has(order.status);\n\n const explorerLink = constructExplorerOrderDetailsLink(order.id);\n\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const cancelOrderEvents = useCancelDeltaOrderEventCallbacks(order);\n\n const { mutate, isPending, isSuccess } = useCancelLimitDeltaOrders({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onMutate: cancelOrderEvents.onMutate,\n onSuccess: (data, vars, context) => {\n onCancelSuccess?.(data, vars, context);\n cancelOrderEvents.onSuccess?.(data, vars);\n },\n onError: (error, vars, context) => {\n onCancelError?.(error, vars, context);\n cancelOrderEvents.onError?.(error, vars);\n },\n },\n });\n\n const button1 = cancellable ? (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm text-secondary-radical-red-1 dark:text-secondary-radical-red-1\"\n disabled={isPending || isSuccess}\n onClick={() =>\n mutate({\n orderIds: [order.id],\n })\n }\n >\n Cancel This Order\n {isPending && (\n <Spinner\n width={16}\n height={16}\n className=\"animate-spin direction-reverse\"\n />\n )}\n </Button>\n ) : (\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Make Another Trade\n </Button>\n );\n\n const explorerBtn = (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n );\n\n return (\n <div className=\"flex flex-col gap-4 mt-auto\">\n {button1}\n {explorerBtn}\n </div>\n );\n};\n"],"names":["Controls","t0","$","_c","order","onDismiss","onCancelError","onCancelSuccess","t1","status","DeltaOrderStatusChecker","cancellable","has","t2","id","constructExplorerOrderDetailsLink","explorerLink","chainId","useChainId","address","account","useAccount","t3","minClient","useMinViemClient","cancelOrderEvents","useCancelDeltaOrderEventCallbacks","t4","data","vars","context","onSuccess","t5","error","vars_0","context_0","onError","t6","onMutate","t7","client","mutationOptions","mutate","isPending","isSuccess","useCancelLimitDeltaOrders","t8","orderIds","Spinner","button1","t9","explorerBtn","t10"],"mappings":"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"}
1
+ {"version":3,"file":"Controls.js","sources":["../../../../../src/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport {\n type CancelLimitDeltaOrdersMutationOptions,\n useCancelDeltaOrderEventCallbacks,\n useCancelLimitDeltaOrders,\n} from \"@/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { useChainId, useAccount } from \"wagmi\";\nimport type { LimitOrderItem } from \"../types\";\nimport { ReactComponent as Spinner } from \"@/assets/spinner.svg\";\n\nexport type LimitOrderControlsProps = {\n order: LimitOrderItem;\n onDismiss: () => void;\n onCancelSuccess: CancelLimitDeltaOrdersMutationOptions[\"onSuccess\"];\n onCancelError: CancelLimitDeltaOrdersMutationOptions[\"onError\"];\n};\n\nexport const Controls = ({\n order,\n onDismiss,\n onCancelError,\n onCancelSuccess,\n}: LimitOrderControlsProps) => {\n const cancellable = DeltaOrderStatusChecker.cancellable.has(order.status);\n\n const explorerLink = constructExplorerOrderDetailsLink(order.id);\n\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const cancelOrderEvents = useCancelDeltaOrderEventCallbacks(order);\n\n const { mutate, isPending, isSuccess } = useCancelLimitDeltaOrders({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onMutate: cancelOrderEvents.onMutate,\n onSuccess: (data, vars, context) => {\n onCancelSuccess?.(data, vars, context);\n cancelOrderEvents.onSuccess?.(data, vars);\n },\n onError: (error, vars, context) => {\n onCancelError?.(error, vars, context);\n cancelOrderEvents.onError?.(error, vars);\n },\n },\n });\n\n const button1 = cancellable ? (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm text-secondary-radical-red-1 dark:text-secondary-radical-red-1\"\n disabled={isPending || isSuccess}\n onClick={() =>\n mutate({\n orderIds: [order.id],\n })\n }\n >\n Cancel This Order\n {isPending && (\n <Spinner\n width={16}\n height={16}\n className=\"animate-spin direction-reverse\"\n />\n )}\n </Button>\n ) : (\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Make Another Trade\n </Button>\n );\n\n const explorerBtn = (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n );\n\n return (\n <div className=\"flex flex-col gap-4 mt-auto\">\n {button1}\n {explorerBtn}\n </div>\n );\n};\n"],"names":["Controls","t0","$","_c","order","onDismiss","onCancelError","onCancelSuccess","t1","status","DeltaOrderStatusChecker","cancellable","has","t2","id","constructExplorerOrderDetailsLink","explorerLink","chainId","useChainId","address","account","useAccount","t3","minClient","useMinViemClient","cancelOrderEvents","useCancelDeltaOrderEventCallbacks","t4","data","vars","context","onSuccess","t5","error","vars_0","context_0","onError","t6","onMutate","t7","client","mutationOptions","mutate","isPending","isSuccess","useCancelLimitDeltaOrders","t8","orderIds","Spinner","button1","t9","explorerBtn","t10"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LimitOrderDetails.js","sources":["../../../../../src/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.tsx"],"sourcesContent":["import type { LimitOrderItem } from \"../types\";\nimport { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { isTruthy } from \"@/lib/utils\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructExpiresInDetail,\n constructOrderRateDetail,\n constructOrderStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n} from \"./utils\";\n\nimport { Controls, type LimitOrderControlsProps } from \"./Controls\";\nimport { isLimitOrderWithExtra } from \"../utils\";\n\nconst detailsClasses = {\n root: \"pt-4 gap-4\",\n title: \"text-contrast-5 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-6\",\n};\n\nexport const LimitOrderDetails = ({\n order,\n ...callbacks\n}: {\n order: LimitOrderItem;\n onDismiss: () => void;\n} & Pick<LimitOrderControlsProps, \"onCancelSuccess\" | \"onCancelError\">) => {\n const payReceiveInfoProps =\n isLimitOrderWithExtra(order) && constructPayReceiveInfoProps(order);\n\n const overallPending =\n DeltaOrderStatusChecker.pending.has(order.status) ||\n DeltaOrderStatusChecker.executing.has(order.status);\n\n const details: DetailWithValue[] = [\n constructSubmitDateDetail(order),\n overallPending && constructExpiresInDetail({ expiresIn: +order.expiresAt }),\n constructOrderRateDetail(order),\n constructOrderStatusDetail(order),\n constructOrderTypeDetail(order),\n ].filter(isTruthy);\n\n return (\n <div className=\"px-6 pb-8 h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={order} {...callbacks} />\n </div>\n );\n};\n"],"names":["detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","callbacks","order","t1","isLimitOrderWithExtra","constructPayReceiveInfoProps","payReceiveInfoProps","t2","overallPending","DeltaOrderStatusChecker","pending","has","status","executing","constructSubmitDateDetail","constructExpiresInDetail","expiresIn","expiresAt","constructOrderRateDetail","constructOrderStatusDetail","constructOrderTypeDetail","filter","isTruthy","details","t3","t4","t5","t6"],"mappings":"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"}
1
+ {"version":3,"file":"LimitOrderDetails.js","sources":["../../../../../src/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.tsx"],"sourcesContent":["import type { LimitOrderItem } from \"../types\";\nimport { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { isTruthy } from \"@/lib/utils\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructExpiresInDetail,\n constructOrderRateDetail,\n constructOrderStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n} from \"./utils\";\n\nimport { Controls, type LimitOrderControlsProps } from \"./Controls\";\nimport { isLimitOrderWithExtra } from \"../utils\";\n\nconst detailsClasses = {\n root: \"pt-4 gap-4\",\n title: \"text-contrast-5 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-6\",\n};\n\nexport const LimitOrderDetails = ({\n order,\n ...callbacks\n}: {\n order: LimitOrderItem;\n onDismiss: () => void;\n} & Pick<LimitOrderControlsProps, \"onCancelSuccess\" | \"onCancelError\">) => {\n const payReceiveInfoProps =\n isLimitOrderWithExtra(order) && constructPayReceiveInfoProps(order);\n\n const overallPending =\n DeltaOrderStatusChecker.pending.has(order.status) ||\n DeltaOrderStatusChecker.executing.has(order.status);\n\n const details: DetailWithValue[] = [\n constructSubmitDateDetail(order),\n overallPending && constructExpiresInDetail({ expiresIn: +order.expiresAt }),\n constructOrderRateDetail(order),\n constructOrderStatusDetail(order),\n constructOrderTypeDetail(order),\n ].filter(isTruthy);\n\n return (\n <div className=\"px-6 pb-8 h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={order} {...callbacks} />\n </div>\n );\n};\n"],"names":["detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","callbacks","order","t1","isLimitOrderWithExtra","constructPayReceiveInfoProps","payReceiveInfoProps","t2","overallPending","DeltaOrderStatusChecker","pending","has","status","executing","constructSubmitDateDetail","constructExpiresInDetail","expiresIn","expiresAt","constructOrderRateDetail","constructOrderStatusDetail","constructOrderTypeDetail","filter","isTruthy","details","t3","t4","t5","t6"],"mappings":";;;;;;;;;;AAkBA,MAAMA,cAAAA,GAAiB;AAAA,EACrBC,IAAAA,EAAM,YAAA;AAAA,EACNC,KAAAA,EAAO,sCAAA;AAAA,EACPC,KAAAA,EAAO;AACT,CAAA;AAEO,MAAMC,oBAAoBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,SAAAA;AAAA,EAAA,IAAAC,KAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAD,EAAAA,EAAA;AAAC,IAAA,CAAA;AAAA,MAAAI,KAAAA;AAAAA,MAAA,GAAAD;AAAAA,KAAA,GAAAH,EAAAA;AAMoCC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAG,KAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,SAAAA,GAAAF,EAAA,CAAA,CAAA;AAAAG,IAAAA,KAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAG,KAAAA,EAAA;AAElEC,IAAAA,EAAAA,GAAAC,qBAAAA,CAAsBF,KAA4C,CAAA,IAAlCG,4BAAAA,CAA6BH,KAAK,CAAA;AAACH,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AADrE,EAAA,MAAAO,mBAAAA,GACEH,EAAAA;AAAoE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAG,KAAAA,EAAA;AAEtE,IAAA,MAAAM,cAAAA,GACEC,uBAAAA,CAAuBC,OAAAA,CAAQC,GAAAA,CAAKT,KAAAA,CAAKU,MACS,CAAA,IAAlDH,uBAAAA,CAAuBI,SAAAA,CAAUF,GAAAA,CAAKT,KAAAA,CAAKU,MAAO,CAAA;AAEjBL,IAAAA,EAAAA,GAAA,CACjCO,yBAAAA,CAA0BZ,KAAK,CAAA,EAC/BM,kBAAkBO,wBAAAA,CAAyB;AAAA,MAAAC,SAAAA,EAAa,CAACd,KAAAA,CAAKe;AAAAA,KAAY,CAAA,EAC1EC,wBAAAA,CAAyBhB,KAAK,CAAA,EAC9BiB,0BAAAA,CAA2BjB,KAAK,CAAA,EAChCkB,wBAAAA,CAAyBlB,KAAK,CAAC,CAAA,CAChCmB,OAAQC,QAAQ,CAAA;AAACvB,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AANlB,EAAA,MAAAwB,OAAAA,GAAmChB,EAAAA;AAMhB,EAAA,IAAAiB,EAAAA;AAAA,EAAA,IAAAzB,CAAAA,QAAAO,mBAAAA,EAAA;AAIdkB,IAAAA,EAAAA,GAAAlB,mBAAAA,oBAAuB,GAAA,CAAC,cAAA,EAAA,EAAc,GAAKA,mBAAAA,EAAmB,CAAA;AAAIP,IAAAA,CAAAA,MAAAO,mBAAAA;AAAAP,IAAAA,CAAAA,MAAAyB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA0B,EAAAA;AAAA,EAAA,IAAA1B,CAAAA,QAAAwB,OAAAA,EAAA;AACnEE,IAAAA,EAAAA,mBAAA,GAAA,CAAC,mBAAA,EAAA,EAA6BF,OAAAA,EAAkB9B,OAAAA,EAAAA,cAAAA,EAAc,CAAA;AAAIM,IAAAA,CAAAA,MAAAwB,OAAAA;AAAAxB,IAAAA,CAAAA,OAAA0B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA2B,EAAAA;AAAA,EAAA,IAAA3B,EAAA,EAAA,CAAA,KAAAE,aAAAF,CAAAA,SAAAG,KAAAA,EAAA;AAClEwB,IAAAA,EAAAA,mBAAA,GAAA,CAAC,QAAA,EAAA,EAAgBxB,KAAAA,EAAK,GAAMD,SAAAA,EAAS,CAAA;AAAIF,IAAAA,CAAAA,OAAAE,SAAAA;AAAAF,IAAAA,CAAAA,OAAAG,KAAAA;AAAAH,IAAAA,CAAAA,OAAA2B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA3B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA4B,EAAAA;AAAA,EAAA,IAAA5B,CAAAA,CAAA,EAAA,CAAA,KAAAyB,EAAAA,IAAAzB,CAAAA,SAAA0B,EAAAA,IAAA1B,CAAAA,CAAA,EAAA,CAAA,KAAA2B,EAAAA,EAAA;AAH3CC,IAAAA,EAAAA,iCAAe,SAAA,EAAA,mCAAA,EACZH,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MACDC,EAAAA;AAAAA,MACAC;AAAAA,KAAAA,EACF,CAAA;AAAM3B,IAAAA,CAAAA,OAAAyB,EAAAA;AAAAzB,IAAAA,CAAAA,OAAA0B,EAAAA;AAAA1B,IAAAA,CAAAA,OAAA2B,EAAAA;AAAA3B,IAAAA,CAAAA,OAAA4B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJN4B,EAAAA;AAIM;;;;"}