@velora-dex/widget 0.8.1 → 0.8.3-dev.0

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 (692) hide show
  1. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/button.js.map +1 -1
  4. package/dist/components/ui/card.js.map +1 -1
  5. package/dist/components/ui/drawer.js.map +1 -1
  6. package/dist/components/ui/dropdown-menu.js.map +1 -1
  7. package/dist/components/ui/input.js.map +1 -1
  8. package/dist/components/ui/progress.js.map +1 -1
  9. package/dist/components/ui/skeleton.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/switch.js.map +1 -1
  12. package/dist/components/ui/tooltip.js.map +1 -1
  13. package/dist/components/web3/AccountButton.js.map +1 -1
  14. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  15. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  16. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  17. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  18. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/index.js +1 -1
  20. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  23. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  27. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  28. package/dist/components/web3/providers.js.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  30. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  31. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  32. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  34. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  35. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  36. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  37. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  38. package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
  39. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  40. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  41. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
  42. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  43. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  44. package/dist/components/widget/BridgeList/hooks.js +79 -73
  45. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  46. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  47. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  48. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  49. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  50. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  51. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  52. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  53. package/dist/components/widget/Button/RefreshButton.js.map +1 -1
  54. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  55. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  56. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  57. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  58. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  59. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  60. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  61. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  62. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  63. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  64. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  66. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  67. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  68. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  69. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  70. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  71. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  72. package/dist/components/widget/Drawer/index.js.map +1 -1
  73. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  74. package/dist/components/widget/Duration/Duration.js.map +1 -1
  75. package/dist/components/widget/Duration/utils.js.map +1 -1
  76. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  77. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  78. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  79. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  80. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  81. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  82. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  83. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  84. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  85. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  86. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  87. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  88. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  89. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  90. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  91. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  92. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  93. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  94. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  95. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  96. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  97. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  98. package/dist/components/widget/Line/Line.js.map +1 -1
  99. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  100. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  101. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  102. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  103. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  104. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  105. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  106. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  107. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  108. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  109. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  110. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  111. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  112. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  113. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  114. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  115. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  116. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  117. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  118. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  119. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  120. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  121. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  122. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  123. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  124. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  125. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  126. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  127. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  128. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  129. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  130. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  131. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  132. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  133. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  134. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  135. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  136. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  137. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  138. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  139. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  140. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  141. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  142. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  143. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  144. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  145. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  146. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  147. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  148. package/dist/components/widget/TokenInput/index.js.map +1 -1
  149. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  151. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  152. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  153. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  154. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  155. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
  156. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  160. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  161. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  162. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  178. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  179. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  180. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  181. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  182. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  183. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  184. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  185. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  186. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  187. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +4 -1
  188. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  189. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  190. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  191. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  192. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  193. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  194. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  195. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  196. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  197. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  198. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  205. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  206. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  207. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  208. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  209. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  210. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  211. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  212. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  213. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  214. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  215. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  216. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  217. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  218. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  219. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  220. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  221. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  222. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  223. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  224. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  225. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  226. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  227. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  228. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  229. package/dist/components/widget/Warning/Warning.js.map +1 -1
  230. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  231. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  232. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  233. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  234. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  235. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  236. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  237. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  238. package/dist/core/LimitOrderButton.js +46 -52
  239. package/dist/core/LimitOrderButton.js.map +1 -1
  240. package/dist/core/LimitOrderDetails.js.map +1 -1
  241. package/dist/core/OtcOrderButton.js.map +1 -1
  242. package/dist/core/OtcOrderDetails.js.map +1 -1
  243. package/dist/core/Toaster.js.map +1 -1
  244. package/dist/core/TradeFlowScreenButton.d.ts +3 -4
  245. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  246. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  247. package/dist/core/TwapDetails.js.map +1 -1
  248. package/dist/core/Updaters.js.map +1 -1
  249. package/dist/core/Warnings.js.map +1 -1
  250. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  251. package/dist/core/across/utils.js.map +1 -1
  252. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  253. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -4
  254. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  255. package/dist/core/index.js.map +1 -1
  256. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  257. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  258. package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
  259. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  260. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  261. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  262. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  263. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  264. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  265. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  266. package/dist/core/inputs/hooks/utils.js +7 -5
  267. package/dist/core/inputs/hooks/utils.js.map +1 -1
  268. package/dist/core/inputs/state/common.js.map +1 -1
  269. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  270. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  271. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  272. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  273. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  274. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  275. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  276. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  277. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  278. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  279. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  280. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  281. package/dist/core/limit/state/utils.js.map +1 -1
  282. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  283. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  284. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  285. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  286. package/dist/core/limit/useLimitRate.d.ts +2 -3
  287. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  288. package/dist/core/limit/useLimitRate.js +54 -110
  289. package/dist/core/limit/useLimitRate.js.map +1 -1
  290. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  291. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  292. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  293. package/dist/core/limit/useLimitTokenToInputProps.js +1 -4
  294. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  295. package/dist/core/logger.js.map +1 -1
  296. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  297. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  298. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  299. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  300. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  301. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  302. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  303. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  304. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  305. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  306. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  307. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  308. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  309. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  310. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  311. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  312. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  313. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  314. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  315. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  316. package/dist/core/screen/state/screenAtom.js.map +1 -1
  317. package/dist/core/state/apiConfigAtom.js.map +1 -1
  318. package/dist/core/state/chainToAtom.js.map +1 -1
  319. package/dist/core/state/configActionsAtom.js.map +1 -1
  320. package/dist/core/state/configEffectAtom.js.map +1 -1
  321. package/dist/core/state/containerAtom.js.map +1 -1
  322. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  323. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  324. package/dist/core/state/externalProviderAtom.js.map +1 -1
  325. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  326. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  327. package/dist/core/state/tradeModeAtom.js.map +1 -1
  328. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  329. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  330. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  331. package/dist/core/subscriptions.js.map +1 -1
  332. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  333. package/dist/core/swapDetails/fees.js +16 -11
  334. package/dist/core/swapDetails/fees.js.map +1 -1
  335. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  336. package/dist/core/swapDetails/maxToPay.js +18 -17
  337. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  338. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  339. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  340. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  341. package/dist/core/swapDetails/youGet.js.map +1 -1
  342. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  343. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  344. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  345. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  346. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  347. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  348. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  349. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  350. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  351. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  352. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  353. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  354. package/dist/events/effects/formInput.js.map +1 -1
  355. package/dist/events/effects/price.js.map +1 -1
  356. package/dist/events/effects/swapMode.js.map +1 -1
  357. package/dist/events/getters/limit.js.map +1 -1
  358. package/dist/events/getters/otc.js.map +1 -1
  359. package/dist/events/getters/settings.js.map +1 -1
  360. package/dist/events/getters/swap.js.map +1 -1
  361. package/dist/events/getters/twap.js.map +1 -1
  362. package/dist/events/getters/widgetState.js.map +1 -1
  363. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  364. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  365. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  366. package/dist/events/types/priceChange.d.ts +2 -2
  367. package/dist/events/types/priceChange.d.ts.map +1 -1
  368. package/dist/events/types/swap.d.ts +2 -2
  369. package/dist/events/types/swap.d.ts.map +1 -1
  370. package/dist/events/types/twap.d.ts +2 -2
  371. package/dist/events/types/twap.d.ts.map +1 -1
  372. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  373. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  374. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  375. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  376. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  377. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  378. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  379. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  380. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  381. package/dist/hooks/gas/utils.js.map +1 -1
  382. package/dist/hooks/getCode/query.js.map +1 -1
  383. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  384. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  385. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  386. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  387. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  388. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  389. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  390. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  391. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  392. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  393. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  394. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  395. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  396. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  397. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  398. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  399. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  400. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  401. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  402. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  403. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  404. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  405. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  406. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  407. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  408. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  409. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  410. package/dist/hooks/permit/utils/constants.js.map +1 -1
  411. package/dist/hooks/permit/utils/construct.js.map +1 -1
  412. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  413. package/dist/hooks/permit/utils/detect.js.map +1 -1
  414. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  415. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  416. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  417. package/dist/hooks/permit/utils/utils.js.map +1 -1
  418. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  419. package/dist/hooks/sdk/useSpender.js.map +1 -1
  420. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -4
  421. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  422. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  423. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -3
  424. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  425. package/dist/hooks/swap/prices/delta/bridge/utils.js +20 -17
  426. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  427. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  428. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  429. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  430. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
  431. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  432. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  433. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  434. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  435. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
  436. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  437. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  438. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  439. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +27 -28
  440. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  441. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  442. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  443. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
  444. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  445. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  446. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  447. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  448. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  449. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
  450. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  451. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  452. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  453. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +27 -28
  454. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  455. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  456. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  457. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  458. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
  459. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  460. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  461. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  462. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +1 -1
  463. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  464. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -6
  465. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  466. package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
  467. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  468. package/dist/hooks/swap/prices/delta/orders/types.d.ts +2 -1
  469. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  470. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  471. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  472. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  473. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +11 -14
  474. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  475. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
  476. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  477. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +2 -2
  478. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  479. package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
  480. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  481. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  482. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  483. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  484. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  485. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  486. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  487. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  488. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  489. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  490. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +17 -34
  491. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  492. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
  493. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  494. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  495. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  496. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  497. package/dist/hooks/swap/prices/factory.js +1 -1
  498. package/dist/hooks/swap/prices/factory.js.map +1 -1
  499. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  500. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  501. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  502. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  503. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  504. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  505. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  506. package/dist/hooks/swap/prices/types.d.ts +2 -3
  507. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  508. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  509. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  510. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  511. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  512. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  513. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  514. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  515. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  516. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  517. package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -5
  518. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  519. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  520. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  521. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +10 -17
  522. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  523. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  524. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  525. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  526. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  527. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  528. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  529. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  530. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  531. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  532. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  533. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  534. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  535. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  536. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  537. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +119 -124
  538. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  539. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  540. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  541. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  542. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +159 -196
  543. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  544. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  545. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  546. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  547. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  548. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  549. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +217 -229
  550. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  551. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  552. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  553. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  554. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  555. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  556. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  557. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  558. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  559. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  560. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  561. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  562. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  563. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  564. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  565. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  566. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  567. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  568. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  569. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  570. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  571. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  572. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  573. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  574. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  575. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  576. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  577. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  578. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  579. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  580. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  581. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  582. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  583. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  584. package/dist/hooks/txs/queries/utils.js.map +1 -1
  585. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  586. package/dist/hooks/useBreakpoints.js.map +1 -1
  587. package/dist/hooks/useBridgeInfo.js.map +1 -1
  588. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  589. package/dist/hooks/useCachedQueryError.js.map +1 -1
  590. package/dist/hooks/useChainMatches.js.map +1 -1
  591. package/dist/hooks/useClickOutside.js.map +1 -1
  592. package/dist/hooks/useCurrentChain.js.map +1 -1
  593. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  594. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  595. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  596. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  597. package/dist/hooks/useMinViemClient.js.map +1 -1
  598. package/dist/hooks/useSDK.d.ts +19 -3
  599. package/dist/hooks/useSDK.d.ts.map +1 -1
  600. package/dist/hooks/useSDK.js +65 -35
  601. package/dist/hooks/useSDK.js.map +1 -1
  602. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  603. package/dist/hooks/useSlippage.js.map +1 -1
  604. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  605. package/dist/lib/constants/urls.js.map +1 -1
  606. package/dist/lib/ipfs.js.map +1 -1
  607. package/dist/lib/queryClient.js +1 -1
  608. package/dist/lib/queryClient.js.map +1 -1
  609. package/dist/lib/tradeMode.js.map +1 -1
  610. package/dist/lib/utils/approval.js.map +1 -1
  611. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  612. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  613. package/dist/lib/utils/delta.js.map +1 -1
  614. package/dist/lib/utils/dexes.js.map +1 -1
  615. package/dist/lib/utils/explorer.js.map +1 -1
  616. package/dist/lib/utils/fee.js.map +1 -1
  617. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  618. package/dist/lib/utils/formatPercent.js.map +1 -1
  619. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  620. package/dist/lib/utils/index.js.map +1 -1
  621. package/dist/lib/utils/logger.js.map +1 -1
  622. package/dist/lib/utils/metabase.js.map +1 -1
  623. package/dist/lib/utils/mobile.js.map +1 -1
  624. package/dist/lib/utils/price.d.ts +5 -2
  625. package/dist/lib/utils/price.d.ts.map +1 -1
  626. package/dist/lib/utils/price.js +8 -5
  627. package/dist/lib/utils/price.js.map +1 -1
  628. package/dist/lib/utils/priceImpact.js.map +1 -1
  629. package/dist/lib/utils/providerErrors.js.map +1 -1
  630. package/dist/lib/utils/rate.js.map +1 -1
  631. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  632. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  633. package/dist/lib/utils/scaleFactor.js.map +1 -1
  634. package/dist/lib/utils/slippage.js.map +1 -1
  635. package/dist/lib/utils/time.js.map +1 -1
  636. package/dist/lib/utils/toDecimal.js.map +1 -1
  637. package/dist/lib/utils/toasts.js.map +1 -1
  638. package/dist/lib/utils/tradeFlow.js.map +1 -1
  639. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  640. package/dist/lib/utils/tuple.js.map +1 -1
  641. package/dist/lib/utils/twap.d.ts +2 -2
  642. package/dist/lib/utils/twap.d.ts.map +1 -1
  643. package/dist/lib/utils/twap.js +2 -2
  644. package/dist/lib/utils/twap.js.map +1 -1
  645. package/dist/lib/utils/useDateNow.js.map +1 -1
  646. package/dist/lib/web3/wagmi/config.js.map +1 -1
  647. package/dist/lib/web3/wagmi/external.js.map +1 -1
  648. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  649. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  650. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  651. package/dist/tokens/blacklist.js.map +1 -1
  652. package/dist/tokens/constructor.js.map +1 -1
  653. package/dist/tokens/defaultTokens.js.map +1 -1
  654. package/dist/tokens/hooks.js.map +1 -1
  655. package/dist/tokens/lists/constants.js.map +1 -1
  656. package/dist/tokens/lists/download.js.map +1 -1
  657. package/dist/tokens/lists/state/effects.js.map +1 -1
  658. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  659. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  660. package/dist/tokens/overrides.js.map +1 -1
  661. package/dist/tokens/queries.js.map +1 -1
  662. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  663. package/dist/tokens/stabeCoins/index.js.map +1 -1
  664. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  665. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  666. package/dist/tokens/state/constructTokens.js.map +1 -1
  667. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  668. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  669. package/dist/tokens/utils/brand.js.map +1 -1
  670. package/dist/tokens/utils/eth.js.map +1 -1
  671. package/dist/tokens/utils/filtering.js.map +1 -1
  672. package/dist/tokens/utils/sets.js.map +1 -1
  673. package/dist/tokens/utils/sorting.js.map +1 -1
  674. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  675. package/dist/transactions/hash.js.map +1 -1
  676. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  677. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  678. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  679. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  680. package/dist/transactions/state/effects/finalize.js.map +1 -1
  681. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  682. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  683. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  684. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  685. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  686. package/dist/transactions/status.js.map +1 -1
  687. package/dist/transactions/utils.js.map +1 -1
  688. package/package.json +6 -6
  689. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +0 -8
  690. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +0 -1
  691. package/dist/hooks/swap/prices/delta/bridge/const.js +0 -13
  692. package/dist/hooks/swap/prices/delta/bridge/const.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerControls.js","names":["DRAWER_HEIGHT","useLogger","LoggerInstance","atom","useLayoutEffect","useRef","useState","useAtom","useAtomValue","useSetAtom","DrawerControls","open","onOpen","onClose","onOpenChange","logger","DrawerId","openDrawerAtom","onMount","set","useOpenDrawerId","useSetOpenDrawer","DrawerControlsProps","drawerId","useDrawerControls","t0","$","_c","_onOpen","_onClose","openDrawer","setOpenDrawer","t1","info","t2","currentOpenDrawer","t3","open_0","t4","useLocalDrawerControls","undefined","setOpen","t5","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","isDrawerOpen"],"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 } from \"jotai\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\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 | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"custom-duration-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nopenDrawerAtom.onMount = (set) => {\n return () => {\n // Reset open drawer on unmount to prevent stuck open drawers on remount.\n // This happens, for example, on route change in the UI with any drawer open.\n set(null);\n };\n};\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useSetOpenDrawer = () => {\n return useSetAtom(openDrawerAtom);\n};\n\ntype DrawerControlsProps = {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: DrawerControlsProps): 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\nexport const useLocalDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n}: Omit<DrawerControlsProps, \"drawerId\"> = {}): Omit<\n DrawerControls,\n \"logger\"\n> => {\n const [open, setOpen] = useState(false);\n const onOpen = () => {\n setOpen(true);\n _onOpen?.();\n };\n const onClose = () => {\n setOpen(false);\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 };\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\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): {\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\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 }, [containerRef, isDrawerFullCover]);\n\n return {\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawerControls.js","names":["DRAWER_HEIGHT","useLogger","LoggerInstance","atom","useLayoutEffect","useRef","useState","useAtom","useAtomValue","useSetAtom","DrawerControls","open","onOpen","onClose","onOpenChange","logger","DrawerId","openDrawerAtom","onMount","set","useOpenDrawerId","useSetOpenDrawer","DrawerControlsProps","drawerId","useDrawerControls","t0","$","_c","_onOpen","_onClose","openDrawer","setOpenDrawer","t1","info","t2","currentOpenDrawer","t3","open_0","t4","useLocalDrawerControls","undefined","setOpen","t5","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","isDrawerOpen"],"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 } from \"jotai\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\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 | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"custom-duration-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nopenDrawerAtom.onMount = (set) => {\n return () => {\n // Reset open drawer on unmount to prevent stuck open drawers on remount.\n // This happens, for example, on route change in the UI with any drawer open.\n set(null);\n };\n};\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useSetOpenDrawer = () => {\n return useSetAtom(openDrawerAtom);\n};\n\ntype DrawerControlsProps = {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: DrawerControlsProps): 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\nexport const useLocalDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n}: Omit<DrawerControlsProps, \"drawerId\"> = {}): Omit<\n DrawerControls,\n \"logger\"\n> => {\n const [open, setOpen] = useState(false);\n const onOpen = () => {\n setOpen(true);\n _onOpen?.();\n };\n const onClose = () => {\n setOpen(false);\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 };\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\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): {\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\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 }, [containerRef, isDrawerFullCover]);\n\n return {\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Duration.js","names":["cn","getDuration","WithClasses","isPartWithValue","Duration","t0","$","_c","timeMs","classes","showSeconds","t1","undefined","t2","duration","value","asYears","years","unit","asMonths","months","asDays","days","asHours","hours","asMinutes","minutes","asSeconds","seconds","filter","parts","t3","root","t4","t5","length","map","_temp","t6","part","i"],"sources":["../../../../src/components/widget/Duration/Duration.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { getDuration } from \"@/lib/utils/time\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { isPartWithValue } from \"./utils\";\n\nexport const Duration = ({\n timeMs,\n classes,\n showSeconds = false,\n}: {\n timeMs: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const duration = getDuration(timeMs);\n\n const parts = [\n { value: duration.asYears() >= 1 ? duration.years() : null, unit: \"y\" },\n { value: duration.asMonths() >= 1 ? duration.months() : null, unit: \"mo\" },\n { value: duration.asDays() >= 1 ? duration.days() : null, unit: \"d\" },\n { value: duration.asHours() >= 1 ? duration.hours() : null, unit: \"h\" },\n { value: duration.asMinutes() >= 1 ? duration.minutes() : null, unit: \"m\" },\n showSeconds && {\n value: duration.asSeconds() >= 1 ? duration.seconds() : null,\n unit: \"s\",\n },\n ].filter(isPartWithValue);\n\n return (\n <div\n className={cn(\n \"text-xs flex gap-1 items-center dark:text-contrast-7\",\n classes?.root\n )}\n >\n {!parts.length\n ? \"-\"\n : parts.map((part, i) => (\n <span key={i}>\n <span>{part.value}</span>\n <span>{part.unit}</span>\n </span>\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaI,KAAWC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,WAAAC,YAAAC,aAAAC,MAAAN,GAGvBK,IAAAC,MAAAC,KAAAA,IAAA,KAAAD,GAAmBE;AAAA,KAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,GAAA;EAKnB,IAAAM,IAAiBb,EAAYO,EAAO;AAYXF,EAVXO,IAAA;GACZ;IAAAE,OAASD,EAAQE,SAAU,IAAI,IAAIF,EAAQG,OAAe,GAAjD;IAAiDC,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQK,UAAW,IAAI,IAAIL,EAAQM,QAAgB,GAAnD;IAAmDF,MAAQ;IAAM;GAC1E;IAAAH,OAASD,EAAQO,QAAS,IAAI,IAAIP,EAAQQ,MAAc,GAA/C;IAA+CJ,MAAQ;IAAK;GACrE;IAAAH,OAASD,EAAQS,SAAU,IAAI,IAAIT,EAAQU,OAAe,GAAjD;IAAiDN,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQW,WAAY,IAAI,IAAIX,EAAQY,SAAiB,GAArD;IAAqDR,MAAQ;IAAK;GAC3ER,KAAA;IAAAK,OACSD,EAAQa,WAAY,IAAI,IAAIb,EAAQc,SAAiB,GAArD;IAAqDV,MACtD;IACP;GACF,CAAAW,OAAQ1B,EAAgB,EAAAG,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAO;OAAAA,KAAAP,EAAA;CAVzB,IAAAwB,IAAcjB,GAgBRkB,IAAAtB,GAAOuB,MAAMC;AAAA,CAAA3B,EAAA,OAAAyB,IACdE,IAAA3B,EAAA,MAHU2B,IAAAjC,EACT,wDACA+B,EACD,EAAAzB,EAAA,KAAAyB,GAAAzB,EAAA,KAAA2B;CAAA,IAAAC;AAAA,CAAA5B,EAAA,OAAAwB,IASKI,IAAA5B,EAAA,MAPL4B,IAACJ,EAAKK,SAEHL,EAAKM,IAAKC,EAKR,GAPL,KAOK/B,EAAA,KAAAwB,GAAAxB,EAAA,KAAA4B;CAAA,IAAAI;AACF,QADEhC,EAAA,OAAA2B,KAAA3B,EAAA,OAAA4B,KAbRI,IAAA,kBAAA,OAAA;EACa,WAAAL;YAKVC;EAQG,CAAA,EAAA5B,EAAA,KAAA2B,GAAA3B,EAAA,KAAA4B,GAAA5B,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAdNgC;;AAvBoB,SAAAD,EAAAE,GAAAC,GAAA;AAAA,QAgCZ,kBAAA,QAAA,EAAA,UAAA,CACE,kBAAA,QAAA,EAAA,UAAOD,EAAIxB,OACX,CAAA,EAAA,kBAAA,QAAA,EAAA,UAAOwB,EAAIrB,MACb,CAAA,CAAO,EAAA,EAHIsB,EAGJ"}
1
+ {"version":3,"file":"Duration.js","names":["cn","getDuration","WithClasses","isPartWithValue","Duration","t0","$","_c","timeMs","classes","showSeconds","t1","undefined","t2","duration","value","asYears","years","unit","asMonths","months","asDays","days","asHours","hours","asMinutes","minutes","asSeconds","seconds","filter","parts","t3","root","t4","t5","length","map","_temp","t6","part","i"],"sources":["../../../../src/components/widget/Duration/Duration.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { getDuration } from \"@/lib/utils/time\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { isPartWithValue } from \"./utils\";\n\nexport const Duration = ({\n timeMs,\n classes,\n showSeconds = false,\n}: {\n timeMs: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const duration = getDuration(timeMs);\n\n const parts = [\n { value: duration.asYears() >= 1 ? duration.years() : null, unit: \"y\" },\n { value: duration.asMonths() >= 1 ? duration.months() : null, unit: \"mo\" },\n { value: duration.asDays() >= 1 ? duration.days() : null, unit: \"d\" },\n { value: duration.asHours() >= 1 ? duration.hours() : null, unit: \"h\" },\n { value: duration.asMinutes() >= 1 ? duration.minutes() : null, unit: \"m\" },\n showSeconds && {\n value: duration.asSeconds() >= 1 ? duration.seconds() : null,\n unit: \"s\",\n },\n ].filter(isPartWithValue);\n\n return (\n <div\n className={cn(\n \"text-xs flex gap-1 items-center dark:text-contrast-7\",\n classes?.root\n )}\n >\n {!parts.length\n ? \"-\"\n : parts.map((part, i) => (\n <span key={i}>\n <span>{part.value}</span>\n <span>{part.unit}</span>\n </span>\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaI,KAAWC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,WAAAC,YAAAC,aAAAC,MAAAN,GAGvBK,IAAAC,MAAAC,KAAAA,IAAA,KAAAD,GAAmBE;CAAA,IAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,GAAA;EAKnB,IAAAM,IAAiBb,EAAYO,EAAO;EAYXF,AAVXO,IAAA;GACZ;IAAAE,OAASD,EAAQE,SAAU,IAAI,IAAIF,EAAQG,OAAe,GAAjD;IAAiDC,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQK,UAAW,IAAI,IAAIL,EAAQM,QAAgB,GAAnD;IAAmDF,MAAQ;IAAM;GAC1E;IAAAH,OAASD,EAAQO,QAAS,IAAI,IAAIP,EAAQQ,MAAc,GAA/C;IAA+CJ,MAAQ;IAAK;GACrE;IAAAH,OAASD,EAAQS,SAAU,IAAI,IAAIT,EAAQU,OAAe,GAAjD;IAAiDN,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQW,WAAY,IAAI,IAAIX,EAAQY,SAAiB,GAArD;IAAqDR,MAAQ;IAAK;GAC3ER,KAAA;IAAAK,OACSD,EAAQa,WAAY,IAAI,IAAIb,EAAQc,SAAiB,GAArD;IAAqDV,MACtD;IACP;GACF,CAAAW,OAAQ1B,EAAgB,EAAAG,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAO;QAAAA,IAAAP,EAAA;CAVzB,IAAAwB,IAAcjB,GAgBRkB,IAAAtB,GAAOuB,MAAMC;CAAA,AAAA3B,EAAA,OAAAyB,IACdE,IAAA3B,EAAA,MAHU2B,IAAAjC,EACT,wDACA+B,EACD,EAAAzB,EAAA,KAAAyB,GAAAzB,EAAA,KAAA2B;CAAA,IAAAC;CAAA,AAAA5B,EAAA,OAAAwB,IASKI,IAAA5B,EAAA,MAPL4B,IAACJ,EAAKK,SAEHL,EAAKM,IAAKC,EAKR,GAPL,KAOK/B,EAAA,KAAAwB,GAAAxB,EAAA,KAAA4B;CAAA,IAAAI;CACF,OADEhC,EAAA,OAAA2B,KAAA3B,EAAA,OAAA4B,KAbRI,IAAA,kBAAA,OAAA;EACa,WAAAL;YAKVC;EAQG,CAAA,EAAA5B,EAAA,KAAA2B,GAAA3B,EAAA,KAAA4B,GAAA5B,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAdNgC;;AAvBoB,SAAAD,EAAAE,GAAAC,GAAA;CAAA,OAgCZ,kBAAA,QAAA,EAAA,UAAA,CACE,kBAAA,QAAA,EAAA,UAAOD,EAAIxB,OACX,CAAA,EAAA,kBAAA,QAAA,EAAA,UAAOwB,EAAIrB,MACb,CAAA,CAAO,EAAA,EAHIsB,EAGJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["DeepNonNullable","DurationPart","isPartWithValue","part","value"],"sources":["../../../../src/components/widget/Duration/utils.ts"],"sourcesContent":["import type { DeepNonNullable } from \"ts-essentials\";\nimport type { DurationPart } from \"./types\";\n\nexport function isPartWithValue(\n part?: false | DurationPart\n): part is DeepNonNullable<DurationPart> {\n return !!part && !!part.value; // value > 0\n}\n"],"mappings":";AAGA,SAAgBE,EACdC,GACuC;AACvC,QAAO,CAAC,CAACA,KAAQ,CAAC,CAACA,EAAKC"}
1
+ {"version":3,"file":"utils.js","names":["DeepNonNullable","DurationPart","isPartWithValue","part","value"],"sources":["../../../../src/components/widget/Duration/utils.ts"],"sourcesContent":["import type { DeepNonNullable } from \"ts-essentials\";\nimport type { DurationPart } from \"./types\";\n\nexport function isPartWithValue(\n part?: false | DurationPart\n): part is DeepNonNullable<DurationPart> {\n return !!part && !!part.value; // value > 0\n}\n"],"mappings":";AAGA,SAAgBE,EACdC,GACuC;CACvC,OAAO,CAAC,CAACA,KAAQ,CAAC,CAACA,EAAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledExchanges.js","names":["GenericScreen","useSetScreen","EnabledExchangesList","useDexesList","emptyArray","isFilledArray","useMemo","useState","EnabledExchangesScreenProps","SearchInput","useChainId","useAtom","atom","getDefaultDraftDisabledDexesForChain","screenClasses","root","const","useTempDisabledDexes","initDexes","$","_c","chainId","t0","bb0","t1","disabledDexes","setDisabledDexes","EnabledExchangesScreen","onGoBack","_onGoBack","onClose","_onClose","initialDisabledDexes","closeScreen","data","dexes","undefined","search","setSearch","t2","normalizedSearch","trim","toLowerCase","filter","dex","includes","filteredDexes","t3","t4","t5","e","target","value","updatedDisabledDexes","t6"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchanges.tsx"],"sourcesContent":["import { GenericScreen } from \"../Screen/GenericScreen\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { EnabledExchangesList } from \"./EnabledExchangesList\";\nimport { useDexesList } from \"@/hooks/swap/prices/market/queries/dexesList/useDexesList\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useMemo, useState } from \"react\";\nimport type { EnabledExchangesScreenProps } from \"./types\";\nimport { SearchInput } from \"@/components/SearchInput/SearchInput\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport { getDefaultDraftDisabledDexesForChain } from \"../TradeParameters/state/tradePreferencesAtom\";\n\nconst screenClasses = {\n root: \"min-h-[571px]\",\n} as const;\n\nfunction useTempDisabledDexes(\n initDexes: EnabledExchangesScreenProps[\"initialDisabledDexes\"]\n) {\n const chainId = useChainId();\n const [disabledDexes, setDisabledDexes] = useAtom(\n // produces a new atom after chain switch\n useMemo(() => {\n // when just initialized from TradeParameters drawer\n if (initDexes.chainId === chainId) {\n return atom({\n disabledDexes: initDexes.disabledDexes,\n chainId: initDexes.chainId,\n });\n }\n // after chain was possibly changed\n return getDefaultDraftDisabledDexesForChain(chainId);\n }, [chainId, initDexes.chainId, initDexes.disabledDexes])\n );\n return {\n disabledDexes,\n setDisabledDexes,\n };\n}\n\nexport const EnabledExchangesScreen = ({\n onGoBack: _onGoBack,\n onClose: _onClose,\n initialDisabledDexes,\n}: EnabledExchangesScreenProps) => {\n const { closeScreen } = useSetScreen();\n const { data: dexes = emptyArray } = useDexesList();\n\n const { disabledDexes, setDisabledDexes } =\n useTempDisabledDexes(initialDisabledDexes);\n const [search, setSearch] = useState(\"\");\n\n const normalizedSearch = search.trim().toLowerCase();\n const filteredDexes = normalizedSearch\n ? dexes.filter((dex) => dex.toLowerCase().includes(normalizedSearch))\n : dexes;\n\n const onGoBack = _onGoBack || closeScreen;\n const onClose = () => _onClose(disabledDexes);\n\n return (\n <GenericScreen\n showBackButton\n title=\"Enabled Exchanges\"\n onGoBack={() => {\n onGoBack();\n onClose();\n }}\n classes={screenClasses}\n >\n {isFilledArray(dexes) && (\n <>\n <div className=\"px-6 pt-2 pb-1\">\n <SearchInput\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClear={() => setSearch(\"\")}\n placeholder=\"Search by exchange name\"\n />\n </div>\n <EnabledExchangesList\n dexes={dexes}\n filteredDexes={filteredDexes}\n disabledDexes={disabledDexes.disabledDexes}\n onDisableDexesChange={(updatedDisabledDexes) => {\n setDisabledDexes({\n disabledDexes: updatedDisabledDexes,\n chainId: disabledDexes.chainId,\n });\n }}\n />\n </>\n )}\n </GenericScreen>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAMc,IAAgB,EACpBC,MAAM,iBACP;AAED,SAAAE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAGEC,IAAgBX,GAAY,EAACY;AAAAC,MAAA;AAKzB,MAAIL,EAASG,YAAaA,GAAO;GAAA,IAAAG;AAC/BF,GAD+BH,EAAA,OAAAD,EAAAG,WAAAF,EAAA,OAAAD,EAAAO,iBACxBD,IAAAZ,EAAK;IAAAa,eACKP,EAASO;IAAcJ,SAC7BH,EAASG;IACnB,CAAC,EAAAF,EAAA,KAAAD,EAAAG,SAAAF,EAAA,KAAAD,EAAAO,eAAAN,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAHFG,IAAOE;AAAP,SAAAD;;EAID,IAAAC;AAEDF,EAFCH,EAAA,OAAAE,IAEmDG,IAAAL,EAAA,MAA7CK,IAAAX,EAAqCQ,EAAQ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAK,IAApDF,IAAOE;;CAXX,IAAA,CAAAC,GAAAC,KAA0Cf,EAExCW,EAWD,EAACE;AAID,QAJCL,EAAA,OAAAM,KAAAN,EAAA,OAAAO,KACKF,IAAA;EAAAC;EAAAC;EAGN,EAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAO,GAAAP,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAHMK;;AAMT,IAAaG,KAAyBL,MAAA;CAAA,IAAAH,IAAAC,EAAA,GAAA,EAAC,EAAAQ,UAAAC,GAAAC,SAAAC,GAAAC,4BAAAV,GAKrC,EAAAW,mBAAwBhC,GAAc,EACtC,EAAAiC,MAAAV,MAAqCrB,GAAc,EAArCgC,IAAAX,MAAAY,KAAAA,IAAAhC,IAAAoB,GAEd,EAAAC,kBAAAC,wBACET,EAAqBe,EAAqB,EAC5C,CAAAK,GAAAC,KAA4B/B,EAAS,GAAG,EAACgC;AAAA,KAAApB,EAAA,OAAAgB,KAAAhB,EAAA,OAAAkB,GAAA;EAEzC,IAAAG,IAAyBH,EAAMI,MAAO,CAAAC,aAAc;AAG3CvB,EAFaoB,IAAAC,IAClBL,EAAKQ,QAAQC,MAASA,EAAGF,aAAc,CAAAG,SAAUL,EAC7C,CAAC,GAFaL,GAEbhB,EAAA,KAAAgB,GAAAhB,EAAA,KAAAkB,GAAAlB,EAAA,KAAAoB;OAAAA,KAAApB,EAAA;CAFT,IAAA2B,IAAsBP,GAItBX,IAAiBC,KAAAI,GAAyBc;AAAA,CAAA5B,EAAA,OAAAY,KAAAZ,EAAA,OAAAM,KAC1BsB,UAAMhB,EAASN,EAAc,EAAAN,EAAA,KAAAY,GAAAZ,EAAA,KAAAM,GAAAN,EAAA,KAAA4B,KAAAA,IAAA5B,EAAA;CAA7C,IAAAW,IAAgBiB,GAA8BC;AAAA,CAAA7B,EAAA,OAAAW,KAAAX,EAAA,OAAAS,KAMhCoB,UAAA;AAERlB,EADAF,GAAU,EACVE,GAAS;IACVX,EAAA,KAAAW,GAAAX,EAAA,KAAAS,GAAAT,EAAA,KAAA6B,KAAAA,IAAA7B,EAAA;CAAA,IAAA8B;AAAA,CAAA9B,EAAA,OAAAgB,KAAAhB,EAAA,QAAAM,KAAAN,EAAA,QAAA2B,KAAA3B,EAAA,QAAAkB,KAAAlB,EAAA,QAAAO,KAGAuB,IAAA5C,EAAc8B,EAsBd,IAtBA,kBAAA,GAAA,EAAA,UAAA,CAEG,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GACSE,OAAAA;GACG,WAAAa,MAAOZ,EAAUY,EAACC,OAAOC,MAAM;GAChC,eAAMd,EAAU,GAAE;GACf,aAAA;GAEhB,CAAA;EACA,CAAA,EAAA,kBAAC,GAAD;EACSH;EACQW;EACA,eAAArB,EAAaA;EACN,uBAAA4B,MAAA;AACpB3B,KAAiB;IAAAD,eACA4B;IAAoBhC,SAC1BI,EAAaJ;IACvB,CAAC;;EAEJ,CAAA,CAEL,EAAA,CAAA,EAAAF,EAAA,KAAAgB,GAAAhB,EAAA,MAAAM,GAAAN,EAAA,MAAA2B,GAAA3B,EAAA,MAAAkB,GAAAlB,EAAA,MAAAO,GAAAP,EAAA,MAAA8B,KAAAA,IAAA9B,EAAA;CAAA,IAAAmC;AACa,QADbnC,EAAA,QAAA6B,KAAA7B,EAAA,QAAA8B,KA/BHK,IAAA,kBAAC,GAAD;EACE,gBAAA;EACM,OAAA;EACI,UAAAN;EAIDlC,SAAAA;YAERmC;EAuBa,CAAA,EAAA9B,EAAA,MAAA6B,GAAA7B,EAAA,MAAA8B,GAAA9B,EAAA,MAAAmC,KAAAA,IAAAnC,EAAA,KAhChBmC"}
1
+ {"version":3,"file":"EnabledExchanges.js","names":["GenericScreen","useSetScreen","EnabledExchangesList","useDexesList","emptyArray","isFilledArray","useMemo","useState","EnabledExchangesScreenProps","SearchInput","useChainId","useAtom","atom","getDefaultDraftDisabledDexesForChain","screenClasses","root","const","useTempDisabledDexes","initDexes","$","_c","chainId","t0","bb0","t1","disabledDexes","setDisabledDexes","EnabledExchangesScreen","onGoBack","_onGoBack","onClose","_onClose","initialDisabledDexes","closeScreen","data","dexes","undefined","search","setSearch","t2","normalizedSearch","trim","toLowerCase","filter","dex","includes","filteredDexes","t3","t4","t5","e","target","value","updatedDisabledDexes","t6"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchanges.tsx"],"sourcesContent":["import { GenericScreen } from \"../Screen/GenericScreen\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { EnabledExchangesList } from \"./EnabledExchangesList\";\nimport { useDexesList } from \"@/hooks/swap/prices/market/queries/dexesList/useDexesList\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useMemo, useState } from \"react\";\nimport type { EnabledExchangesScreenProps } from \"./types\";\nimport { SearchInput } from \"@/components/SearchInput/SearchInput\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport { getDefaultDraftDisabledDexesForChain } from \"../TradeParameters/state/tradePreferencesAtom\";\n\nconst screenClasses = {\n root: \"min-h-[571px]\",\n} as const;\n\nfunction useTempDisabledDexes(\n initDexes: EnabledExchangesScreenProps[\"initialDisabledDexes\"]\n) {\n const chainId = useChainId();\n const [disabledDexes, setDisabledDexes] = useAtom(\n // produces a new atom after chain switch\n useMemo(() => {\n // when just initialized from TradeParameters drawer\n if (initDexes.chainId === chainId) {\n return atom({\n disabledDexes: initDexes.disabledDexes,\n chainId: initDexes.chainId,\n });\n }\n // after chain was possibly changed\n return getDefaultDraftDisabledDexesForChain(chainId);\n }, [chainId, initDexes.chainId, initDexes.disabledDexes])\n );\n return {\n disabledDexes,\n setDisabledDexes,\n };\n}\n\nexport const EnabledExchangesScreen = ({\n onGoBack: _onGoBack,\n onClose: _onClose,\n initialDisabledDexes,\n}: EnabledExchangesScreenProps) => {\n const { closeScreen } = useSetScreen();\n const { data: dexes = emptyArray } = useDexesList();\n\n const { disabledDexes, setDisabledDexes } =\n useTempDisabledDexes(initialDisabledDexes);\n const [search, setSearch] = useState(\"\");\n\n const normalizedSearch = search.trim().toLowerCase();\n const filteredDexes = normalizedSearch\n ? dexes.filter((dex) => dex.toLowerCase().includes(normalizedSearch))\n : dexes;\n\n const onGoBack = _onGoBack || closeScreen;\n const onClose = () => _onClose(disabledDexes);\n\n return (\n <GenericScreen\n showBackButton\n title=\"Enabled Exchanges\"\n onGoBack={() => {\n onGoBack();\n onClose();\n }}\n classes={screenClasses}\n >\n {isFilledArray(dexes) && (\n <>\n <div className=\"px-6 pt-2 pb-1\">\n <SearchInput\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClear={() => setSearch(\"\")}\n placeholder=\"Search by exchange name\"\n />\n </div>\n <EnabledExchangesList\n dexes={dexes}\n filteredDexes={filteredDexes}\n disabledDexes={disabledDexes.disabledDexes}\n onDisableDexesChange={(updatedDisabledDexes) => {\n setDisabledDexes({\n disabledDexes: updatedDisabledDexes,\n chainId: disabledDexes.chainId,\n });\n }}\n />\n </>\n )}\n </GenericScreen>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledExchangesList.js","names":["emptyArray","NonEmptyArray","DisabledDexes","EnabledList","EnabledExchangesList","t0","$","_c","dexes","filteredDexes","disabledDexes","onDisableDexesChange","t1","Set","disabledDexesSet","shouldShowAllSwitch","length","t2","dex_1","has","dex","t3","t4","t5","item","all","enable","newDisabledDexes","filter","d","t6","_temp","_temp2","dex_0"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchangesList.tsx"],"sourcesContent":["import { emptyArray } from \"@/lib/constants\";\nimport type { NonEmptyArray } from \"ts-essentials\";\nimport type { DisabledDexes } from \"../TradeParameters/state/enabledExchanges/types\";\nimport { EnabledList } from \"../EnabledList/EnabledList\";\n\nexport const EnabledExchangesList = ({\n dexes,\n filteredDexes,\n disabledDexes,\n onDisableDexesChange,\n}: {\n dexes: NonEmptyArray<DisabledDexes[number]>;\n filteredDexes: DisabledDexes;\n disabledDexes: DisabledDexes;\n onDisableDexesChange: (disabledDexes: DisabledDexes) => void;\n}) => {\n const disabledDexesSet = new Set(disabledDexes);\n\n const shouldShowAllSwitch = filteredDexes.length > 0;\n\n return (\n <EnabledList\n items={filteredDexes}\n getKey={(dex) => dex}\n getLabel={(dex) => dex}\n isEnabled={(dex) => !disabledDexesSet.has(dex)}\n isAllEnabled={() => disabledDexes.length === 0}\n onEnable={({ item, all, enable }) => {\n if (all) {\n onDisableDexesChange(enable ? emptyArray : dexes);\n } else if (item) {\n const newDisabledDexes = enable\n ? disabledDexes.filter((d) => d !== item)\n : [...disabledDexes, item];\n onDisableDexesChange(newDisabledDexes);\n }\n }}\n showEnableAll={shouldShowAllSwitch}\n enableAllLabel={`Enable All Exchanges (${dexes.length})`}\n noItemStatus={`No exchanges found`}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,UAAAC,kBAAAC,kBAAAC,4BAAAN,GAUpCO;AAAA,CAAAN,EAAA,OAAAI,IACgDE,IAAAN,EAAA,MAAtBM,IAAA,IAAIC,IAAIH,EAAc,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAM;CAA/C,IAAAE,IAAyBF,GAEzBG,IAA4BN,EAAaO,SAAU,GAAEC;AAAA,CAAAX,EAAA,OAAAQ,IAOHG,IAAAX,EAAA,MAAnCW,KAAAC,MAAS,CAACJ,EAAgBK,IAAKC,EAAI,EAAAd,EAAA,KAAAQ,GAAAR,EAAA,KAAAW;CAAA,IAAAI;AAAA,CAAAf,EAAA,OAAAI,EAAAM,SACAK,IAAAf,EAAA,MAAhCe,UAAMX,EAAaM,WAAY,GAACV,EAAA,KAAAI,EAAAM,QAAAV,EAAA,KAAAe;CAAA,IAAAC;AAAA,CAAAhB,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KACpCW,KAAAC,MAAA;EAAC,IAAA,EAAAC,SAAAC,QAAAC,cAAAH;AACT,EAAIE,IACFd,EAAqBe,IAAA1B,IAAAQ,EAA4B,GACxCgB,KAITb,EAHyBe,IACrBhB,EAAakB,QAAQC,MAAOA,MAAML,EACV,GAFH,CAAA,GAEjBd,GAAec,EAAK,CACU;IAEzClB,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAEe,IAAAiB,IAAA,yBAAyBf,EAAKQ,OAAO,IAAGc;AAExD,QAFwDxB,EAAA,QAAAG,KAAAH,EAAA,QAAAS,KAAAT,EAAA,QAAAW,KAAAX,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAjB1DO,IAAA,kBAAC,GAAD;EACSrB,OAAAA;EACC,QAAAsB;EACE,UAAAC;EACC,WAAAf;EACG,cAAAI;EACJ,UAAAC;EAUKP,eAAAA;EACC,gBAAAQ;EACF,cAAA;EACd,CAAA,EAAAjB,EAAA,MAAAG,GAAAH,EAAA,MAAAS,GAAAT,EAAA,MAAAW,GAAAX,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA,KAnBFwB;;AAhBgC,SAAAC,EAAAX,GAAA;AAAA,QAkBbA;;AAlBa,SAAAY,EAAAC,GAAA;AAAA,QAmBXb"}
1
+ {"version":3,"file":"EnabledExchangesList.js","names":["emptyArray","NonEmptyArray","DisabledDexes","EnabledList","EnabledExchangesList","t0","$","_c","dexes","filteredDexes","disabledDexes","onDisableDexesChange","t1","Set","disabledDexesSet","shouldShowAllSwitch","length","t2","dex_1","has","dex","t3","t4","t5","item","all","enable","newDisabledDexes","filter","d","t6","_temp","_temp2","dex_0"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchangesList.tsx"],"sourcesContent":["import { emptyArray } from \"@/lib/constants\";\nimport type { NonEmptyArray } from \"ts-essentials\";\nimport type { DisabledDexes } from \"../TradeParameters/state/enabledExchanges/types\";\nimport { EnabledList } from \"../EnabledList/EnabledList\";\n\nexport const EnabledExchangesList = ({\n dexes,\n filteredDexes,\n disabledDexes,\n onDisableDexesChange,\n}: {\n dexes: NonEmptyArray<DisabledDexes[number]>;\n filteredDexes: DisabledDexes;\n disabledDexes: DisabledDexes;\n onDisableDexesChange: (disabledDexes: DisabledDexes) => void;\n}) => {\n const disabledDexesSet = new Set(disabledDexes);\n\n const shouldShowAllSwitch = filteredDexes.length > 0;\n\n return (\n <EnabledList\n items={filteredDexes}\n getKey={(dex) => dex}\n getLabel={(dex) => dex}\n isEnabled={(dex) => !disabledDexesSet.has(dex)}\n isAllEnabled={() => disabledDexes.length === 0}\n onEnable={({ item, all, enable }) => {\n if (all) {\n onDisableDexesChange(enable ? emptyArray : dexes);\n } else if (item) {\n const newDisabledDexes = enable\n ? disabledDexes.filter((d) => d !== item)\n : [...disabledDexes, item];\n onDisableDexesChange(newDisabledDexes);\n }\n }}\n showEnableAll={shouldShowAllSwitch}\n enableAllLabel={`Enable All Exchanges (${dexes.length})`}\n noItemStatus={`No exchanges found`}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,UAAAC,kBAAAC,kBAAAC,4BAAAN,GAUpCO;CAAA,AAAAN,EAAA,OAAAI,IACgDE,IAAAN,EAAA,MAAtBM,IAAA,IAAIC,IAAIH,EAAc,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAM;CAA/C,IAAAE,IAAyBF,GAEzBG,IAA4BN,EAAaO,SAAU,GAAEC;CAAA,AAAAX,EAAA,OAAAQ,IAOHG,IAAAX,EAAA,MAAnCW,KAAAC,MAAS,CAACJ,EAAgBK,IAAKC,EAAI,EAAAd,EAAA,KAAAQ,GAAAR,EAAA,KAAAW;CAAA,IAAAI;CAAA,AAAAf,EAAA,OAAAI,EAAAM,SACAK,IAAAf,EAAA,MAAhCe,UAAMX,EAAaM,WAAY,GAACV,EAAA,KAAAI,EAAAM,QAAAV,EAAA,KAAAe;CAAA,IAAAC;CAAA,AAAAhB,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KACpCW,KAAAC,MAAA;EAAC,IAAA,EAAAC,SAAAC,QAAAC,cAAAH;EACT,AAAIE,IACFd,EAAqBe,IAAA1B,IAAAQ,EAA4B,GACxCgB,KAITb,EAHyBe,IACrBhB,EAAakB,QAAQC,MAAOA,MAAML,EACV,GAFH,CAAA,GAEjBd,GAAec,EAAK,CACU;IAEzClB,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAEe,IAAAiB,IAAA,yBAAyBf,EAAKQ,OAAO,IAAGc;CAExD,OAFwDxB,EAAA,QAAAG,KAAAH,EAAA,QAAAS,KAAAT,EAAA,QAAAW,KAAAX,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAjB1DO,IAAA,kBAAC,GAAD;EACSrB,OAAAA;EACC,QAAAsB;EACE,UAAAC;EACC,WAAAf;EACG,cAAAI;EACJ,UAAAC;EAUKP,eAAAA;EACC,gBAAAQ;EACF,cAAA;EACd,CAAA,EAAAjB,EAAA,MAAAG,GAAAH,EAAA,MAAAS,GAAAT,EAAA,MAAAW,GAAAX,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA,KAnBFwB;;AAhBgC,SAAAC,EAAAX,GAAA;CAAA,OAkBbA;;AAlBa,SAAAY,EAAAC,GAAA;CAAA,OAmBXb"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledList.js","names":["Switch","ListItemWithSwitch","EnabledList","items","T","getKey","item","getLabel","React","ReactNode","onEnable","check","all","enable","isEnabled","isAllEnabled","noItemStatus","enableAllLabel","showEnableAll","t0","$","_c","t1","length","every","allEnabled","t2","checked","onEnableAllChange","t3","checked_0","onItemChange","t4","t5","map","item_0","checked_1","t6"],"sources":["../../../../src/components/widget/EnabledList/EnabledList.tsx"],"sourcesContent":["import { Switch } from \"@/components/ui/switch\";\nimport { ListItemWithSwitch } from \"@/components/widget/ListItem/ListItemWithSwitch\";\n\ntype EnabledList<T> = {\n items: T[];\n getKey: (item: T) => string;\n getLabel: (item: T) => React.ReactNode;\n onEnable: (check: { item?: T; all: boolean; enable: boolean }) => void;\n isEnabled: (item: T) => boolean;\n isAllEnabled?: (items: T[]) => boolean;\n noItemStatus?: React.ReactNode;\n enableAllLabel?: React.ReactNode;\n showEnableAll?: boolean;\n};\n\nexport const EnabledList = <T,>({\n items,\n getKey,\n getLabel,\n onEnable,\n isEnabled,\n isAllEnabled, // optional source of truth for all enabled state\n noItemStatus,\n showEnableAll,\n enableAllLabel,\n}: EnabledList<T>) => {\n const allEnabled =\n isAllEnabled?.(items) ?? (items.length > 0 && items.every(isEnabled));\n\n const onEnableAllChange = (checked: boolean) => {\n onEnable({ all: true, enable: checked });\n };\n\n const onItemChange = (checked: boolean, item: T) => {\n onEnable({ all: false, item, enable: checked });\n };\n\n return (\n <div className=\"px-6 h-[420px] overflow-auto [scrollbar-gutter:stable_both-edges]\">\n {showEnableAll && (\n <div className=\"flex items-center justify-between gap-2 py-4 border-b border-b-contrast-7 dark:border-b-contrast-3\">\n <div className=\"text-sm dark:text-contrast-7\">\n {enableAllLabel || `Enable All (${items.length})`}\n </div>\n <Switch\n checked={allEnabled}\n onCheckedChange={onEnableAllChange}\n className=\"cursor-pointer\"\n />\n </div>\n )}\n {items.length === 0 ? (\n <div className=\"text-sm text-contrast-5 dark:text-contrast-4 py-6 text-center\">\n {noItemStatus || \"No items found\"}\n </div>\n ) : (\n items.map((item) => (\n <ListItemWithSwitch\n key={getKey(item)}\n label={getLabel(item)}\n checked={isEnabled(item)}\n onCheckedChange={(checked) => {\n onItemChange(checked, item);\n }}\n />\n ))\n )}\n </div>\n );\n};\n"],"mappings":";;;;;AAeA,IAAaE,KAAciB,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAK,EAAAlB,UAAAE,WAAAE,aAAAG,aAAAI,cAAAC,iBAAAC,iBAAAE,kBAAAD,sBAAAE,GAUfG;AAAA,CAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAjB,KAEbmB,IAAAP,IAAeZ,EAAsD,KAA3CA,EAAKoB,SAAU,KAAKpB,EAAKqB,MAAOV,EAAW,GAAAM,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAjB,GAAAiB,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CADvE,IAAAK,IACEH,GAAsEI;AAAA,CAAAN,EAAA,OAAAV,IAIvEgB,IAAAN,EAAA,MAFyBM,KAAAC,MAAA;AACxBjB,IAAS;GAAAE,KAAO;GAAIC,QAAUc;GAAS,CAAC;IACzCP,EAAA,KAAAV,GAAAU,EAAA,KAAAM;CAFD,IAAAE,IAA0BF,GAExBG;AAAA,CAAAT,EAAA,OAAAV,IAIDmB,IAAAT,EAAA,MAFoBS,KAAAC,GAAAxB,MAAA;AACnBI,IAAS;GAAAE,KAAO;GAAKN;GAAAO,QAAgBc;GAAS,CAAC;IAChDP,EAAA,KAAAV,GAAAU,EAAA,KAAAS;CAFD,IAAAE,IAAqBF,GAEnBG;AAAA,CAAAZ,EAAA,OAAAK,KAAAL,EAAA,OAAAH,KAAAG,EAAA,QAAAjB,EAAAoB,UAAAH,EAAA,QAAAQ,KAAAR,EAAA,QAAAF,KAIGc,IAAAd,KACC,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZD,KAAA,eAAiCd,EAAKoB,OAAO;GAEhD,CAAA,EAAA,kBAAC,GAAD;GACWE,SAAAA;GACQG,iBAAAA;GACP,WAAA;GAEd,CAAA,CACD;KAAAR,EAAA,KAAAK,GAAAL,EAAA,KAAAH,GAAAG,EAAA,MAAAjB,EAAAoB,QAAAH,EAAA,MAAAQ,GAAAR,EAAA,MAAAF,GAAAE,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,QAAAf,KAAAe,EAAA,QAAAb,KAAAa,EAAA,QAAAN,KAAAM,EAAA,QAAAjB,KAAAiB,EAAA,QAAAJ,KAAAI,EAAA,QAAAW,KACAE,IAAA9B,EAAKoB,WAAY,IAChB,kBAAA,OAAA;EAAe,WAAA;YACZP,KAAA;EAaJ,CAAA,GAVCb,EAAK+B,KAAKC,MACR,kBAAC,GAAD;EAES,OAAA5B,EAASD,EAAI;EACX,SAAAQ,EAAUR,EAAI;EACN,kBAAA8B,MAAA;AACfL,KAAaJ,GAASrB,EAAK;;EAInC,EARWD,EAAOC,EAAI,CAQtB,CAAC,EAAAc,EAAA,MAAAf,GAAAe,EAAA,MAAAb,GAAAa,EAAA,MAAAN,GAAAM,EAAA,MAAAjB,GAAAiB,EAAA,MAAAJ,GAAAI,EAAA,MAAAW,GAAAX,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAiB;AACG,QADHjB,EAAA,QAAAY,KAAAZ,EAAA,QAAAa,KA5BHI,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACGL,GAYAC,EAgBG;KAAAb,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KA7BNiB"}
1
+ {"version":3,"file":"EnabledList.js","names":["Switch","ListItemWithSwitch","EnabledList","items","T","getKey","item","getLabel","React","ReactNode","onEnable","check","all","enable","isEnabled","isAllEnabled","noItemStatus","enableAllLabel","showEnableAll","t0","$","_c","t1","length","every","allEnabled","t2","checked","onEnableAllChange","t3","checked_0","onItemChange","t4","t5","map","item_0","checked_1","t6"],"sources":["../../../../src/components/widget/EnabledList/EnabledList.tsx"],"sourcesContent":["import { Switch } from \"@/components/ui/switch\";\nimport { ListItemWithSwitch } from \"@/components/widget/ListItem/ListItemWithSwitch\";\n\ntype EnabledList<T> = {\n items: T[];\n getKey: (item: T) => string;\n getLabel: (item: T) => React.ReactNode;\n onEnable: (check: { item?: T; all: boolean; enable: boolean }) => void;\n isEnabled: (item: T) => boolean;\n isAllEnabled?: (items: T[]) => boolean;\n noItemStatus?: React.ReactNode;\n enableAllLabel?: React.ReactNode;\n showEnableAll?: boolean;\n};\n\nexport const EnabledList = <T,>({\n items,\n getKey,\n getLabel,\n onEnable,\n isEnabled,\n isAllEnabled, // optional source of truth for all enabled state\n noItemStatus,\n showEnableAll,\n enableAllLabel,\n}: EnabledList<T>) => {\n const allEnabled =\n isAllEnabled?.(items) ?? (items.length > 0 && items.every(isEnabled));\n\n const onEnableAllChange = (checked: boolean) => {\n onEnable({ all: true, enable: checked });\n };\n\n const onItemChange = (checked: boolean, item: T) => {\n onEnable({ all: false, item, enable: checked });\n };\n\n return (\n <div className=\"px-6 h-[420px] overflow-auto [scrollbar-gutter:stable_both-edges]\">\n {showEnableAll && (\n <div className=\"flex items-center justify-between gap-2 py-4 border-b border-b-contrast-7 dark:border-b-contrast-3\">\n <div className=\"text-sm dark:text-contrast-7\">\n {enableAllLabel || `Enable All (${items.length})`}\n </div>\n <Switch\n checked={allEnabled}\n onCheckedChange={onEnableAllChange}\n className=\"cursor-pointer\"\n />\n </div>\n )}\n {items.length === 0 ? (\n <div className=\"text-sm text-contrast-5 dark:text-contrast-4 py-6 text-center\">\n {noItemStatus || \"No items found\"}\n </div>\n ) : (\n items.map((item) => (\n <ListItemWithSwitch\n key={getKey(item)}\n label={getLabel(item)}\n checked={isEnabled(item)}\n onCheckedChange={(checked) => {\n onItemChange(checked, item);\n }}\n />\n ))\n )}\n </div>\n );\n};\n"],"mappings":";;;;;AAeA,IAAaE,KAAciB,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAK,EAAAlB,UAAAE,WAAAE,aAAAG,aAAAI,cAAAC,iBAAAC,iBAAAE,kBAAAD,sBAAAE,GAUfG;CAAA,AAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAjB,KAEbmB,IAAAP,IAAeZ,EAAsD,KAA3CA,EAAKoB,SAAU,KAAKpB,EAAKqB,MAAOV,EAAW,GAAAM,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAjB,GAAAiB,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CADvE,IAAAK,IACEH,GAAsEI;CAAA,AAAAN,EAAA,OAAAV,IAIvEgB,IAAAN,EAAA,MAFyBM,KAAAC,MAAA;EACxBjB,EAAS;GAAAE,KAAO;GAAIC,QAAUc;GAAS,CAAC;IACzCP,EAAA,KAAAV,GAAAU,EAAA,KAAAM;CAFD,IAAAE,IAA0BF,GAExBG;CAAA,AAAAT,EAAA,OAAAV,IAIDmB,IAAAT,EAAA,MAFoBS,KAAAC,GAAAxB,MAAA;EACnBI,EAAS;GAAAE,KAAO;GAAKN;GAAAO,QAAgBc;GAAS,CAAC;IAChDP,EAAA,KAAAV,GAAAU,EAAA,KAAAS;CAFD,IAAAE,IAAqBF,GAEnBG;CAAA,AAAAZ,EAAA,OAAAK,KAAAL,EAAA,OAAAH,KAAAG,EAAA,QAAAjB,EAAAoB,UAAAH,EAAA,QAAAQ,KAAAR,EAAA,QAAAF,KAIGc,IAAAd,KACC,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZD,KAAA,eAAiCd,EAAKoB,OAAO;GAEhD,CAAA,EAAA,kBAAC,GAAD;GACWE,SAAAA;GACQG,iBAAAA;GACP,WAAA;GAEd,CAAA,CACD;KAAAR,EAAA,KAAAK,GAAAL,EAAA,KAAAH,GAAAG,EAAA,MAAAjB,EAAAoB,QAAAH,EAAA,MAAAQ,GAAAR,EAAA,MAAAF,GAAAE,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;CAAA,AAAAb,EAAA,QAAAf,KAAAe,EAAA,QAAAb,KAAAa,EAAA,QAAAN,KAAAM,EAAA,QAAAjB,KAAAiB,EAAA,QAAAJ,KAAAI,EAAA,QAAAW,KACAE,IAAA9B,EAAKoB,WAAY,IAChB,kBAAA,OAAA;EAAe,WAAA;YACZP,KAAA;EAaJ,CAAA,GAVCb,EAAK+B,KAAKC,MACR,kBAAC,GAAD;EAES,OAAA5B,EAASD,EAAI;EACX,SAAAQ,EAAUR,EAAI;EACN,kBAAA8B,MAAA;GACfL,EAAaJ,GAASrB,EAAK;;EAInC,EARWD,EAAOC,EAAI,CAQtB,CAAC,EAAAc,EAAA,MAAAf,GAAAe,EAAA,MAAAb,GAAAa,EAAA,MAAAN,GAAAM,EAAA,MAAAjB,GAAAiB,EAAA,MAAAJ,GAAAI,EAAA,MAAAW,GAAAX,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAiB;CACG,OADHjB,EAAA,QAAAY,KAAAZ,EAAA,QAAAa,KA5BHI,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACGL,GAYAC,EAgBG;KAAAb,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KA7BNiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FetchingQuotes.js","names":["ReactComponent","CellerBridgeSVG","RelayBridgeSVG","CctpBridgeSVG","CanonicalUni","motion","icons","animationDuration","animationDelay","FetchingQuotes","$","_c","t0","Symbol","for","map","_temp","Icon","index","zIndex","marginRight","y","duration","repeat","Infinity","repeatDelay","length","delay","ease"],"sources":["../../../../src/components/widget/FetchingQuotes/FetchingQuotes.tsx"],"sourcesContent":["import { ReactComponent as CellerBridgeSVG } from \"@/assets/bridges/celer.svg\";\nimport { ReactComponent as RelayBridgeSVG } from \"@/assets/bridges/relay.svg\";\nimport { ReactComponent as CctpBridgeSVG } from \"@/assets/bridges/cctp.svg\";\nimport { ReactComponent as CanonicalUni } from \"@/assets/bridges/canonical-uni.svg\";\nimport { motion } from \"motion/react\";\n\nconst icons = [RelayBridgeSVG, CctpBridgeSVG, CellerBridgeSVG, CanonicalUni];\n\nconst animationDuration = 0.8;\nconst animationDelay = 0.25;\n\nexport const FetchingQuotes = () => {\n return (\n // min-h-[20px] to align with YouGet and don't cause layout shift when the price fetches\n <div className=\"min-h-[20px] flex items-center justify-center gap-3\">\n <div className=\"flex items-center justify-center\">\n {icons.map((Icon, index) => (\n <motion.div\n key={index}\n style={{\n // zIndex so later icons (higher index) appear above earlier ones, with the last icon on top\n zIndex: index,\n marginRight: -5,\n }}\n animate={{ y: [0, -10, 0] }}\n transition={{\n duration: animationDuration,\n repeat: Infinity,\n repeatDelay: icons.length * animationDelay,\n delay: index * animationDelay,\n ease: \"easeInOut\",\n }}\n >\n <Icon className=\"size-4\" />\n </motion.div>\n ))}\n </div>\n <div className=\"text-center text-xs text-contrast-5 dark:text-contrast-8\">\n Fetching Quotes\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAMA,IAAMM,IAAQ;CAACJ;CAAgBC;CAAeF;CAAiBG;CAAa,EAEtEG,IAAoB,IACpBC,IAAiB,KAEVC,UAAiB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AA6BpB,QA7BoBF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAG1BF,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZN,EAAKS,IAAKC,EAmBV;GAEH,CAAA,EAAA,kBAAA,OAAA;GAAe,WAAA;aAA2D;GAG5E,CAAA,CAAM;KAAAN,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IA1BNE;;AAH0B,SAAAI,EAAAC,GAAAC,GAAA;AAAA,QAMpB,kBAAA,EAAA,KAAA;EAES,OAAA;GAAAC,QAEGD;GAAKE,aACA;GACf;EACS,SAAA,EAAAC,GAAK;GAAC;GAAG;GAAK;GAAC,EAAE;EACd,YAAA;GAAAC,UACAf;GAAiBgB,QACnBC;GAAQC,aACHnB,EAAKoB,SAAUlB;GAAcmB,OACnCT,IAAQV;GAAcoB,MACvB;GACR;YAEA,kBAAC,GAAD,EAAgB,WAAA,UAClB,CAAA;EAAa,EAhBNV,EAgBM"}
1
+ {"version":3,"file":"FetchingQuotes.js","names":["ReactComponent","CellerBridgeSVG","RelayBridgeSVG","CctpBridgeSVG","CanonicalUni","motion","icons","animationDuration","animationDelay","FetchingQuotes","$","_c","t0","Symbol","for","map","_temp","Icon","index","zIndex","marginRight","y","duration","repeat","Infinity","repeatDelay","length","delay","ease"],"sources":["../../../../src/components/widget/FetchingQuotes/FetchingQuotes.tsx"],"sourcesContent":["import { ReactComponent as CellerBridgeSVG } from \"@/assets/bridges/celer.svg\";\nimport { ReactComponent as RelayBridgeSVG } from \"@/assets/bridges/relay.svg\";\nimport { ReactComponent as CctpBridgeSVG } from \"@/assets/bridges/cctp.svg\";\nimport { ReactComponent as CanonicalUni } from \"@/assets/bridges/canonical-uni.svg\";\nimport { motion } from \"motion/react\";\n\nconst icons = [RelayBridgeSVG, CctpBridgeSVG, CellerBridgeSVG, CanonicalUni];\n\nconst animationDuration = 0.8;\nconst animationDelay = 0.25;\n\nexport const FetchingQuotes = () => {\n return (\n // min-h-[20px] to align with YouGet and don't cause layout shift when the price fetches\n <div className=\"min-h-[20px] flex items-center justify-center gap-3\">\n <div className=\"flex items-center justify-center\">\n {icons.map((Icon, index) => (\n <motion.div\n key={index}\n style={{\n // zIndex so later icons (higher index) appear above earlier ones, with the last icon on top\n zIndex: index,\n marginRight: -5,\n }}\n animate={{ y: [0, -10, 0] }}\n transition={{\n duration: animationDuration,\n repeat: Infinity,\n repeatDelay: icons.length * animationDelay,\n delay: index * animationDelay,\n ease: \"easeInOut\",\n }}\n >\n <Icon className=\"size-4\" />\n </motion.div>\n ))}\n </div>\n <div className=\"text-center text-xs text-contrast-5 dark:text-contrast-8\">\n Fetching Quotes\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAMA,IAAMM,IAAQ;CAACJ;CAAgBC;CAAeF;CAAiBG;CAAa,EAEtEG,IAAoB,IACpBC,IAAiB,KAEVC,UAAiB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CA6BpB,OA7BoBF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAG1BF,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZN,EAAKS,IAAKC,EAmBV;GAEH,CAAA,EAAA,kBAAA,OAAA;GAAe,WAAA;aAA2D;GAG5E,CAAA,CAAM;KAAAN,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IA1BNE;;AAH0B,SAAAI,EAAAC,GAAAC,GAAA;CAAA,OAMpB,kBAAA,EAAA,KAAA;EAES,OAAA;GAAAC,QAEGD;GAAKE,aACA;GACf;EACS,SAAA,EAAAC,GAAK;GAAC;GAAG;GAAK;GAAC,EAAE;EACd,YAAA;GAAAC,UACAf;GAAiBgB,QACnBC;GAAQC,aACHnB,EAAKoB,SAAUlB;GAAcmB,OACnCT,IAAQV;GAAcoB,MACvB;GACR;YAEA,kBAAC,GAAD,EAAgB,WAAA,UAClB,CAAA;EAAa,EAhBNV,EAgBM"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckIcon.js","names":["ReactComponent","CheckSVG","CheckIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/CheckIcon.tsx"],"sourcesContent":["import { ReactComponent as CheckSVG } from \"@/assets/check.svg\";\n\nexport const CheckIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <CheckSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
1
+ {"version":3,"file":"CheckIcon.js","names":["ReactComponent","CheckSVG","CheckIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/CheckIcon.tsx"],"sourcesContent":["import { ReactComponent as CheckSVG } from \"@/assets/check.svg\";\n\nexport const CheckIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <CheckSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChevronIcon.js","names":["ReactComponent","ChevronIconSVG","cn","ChevronIcon","t0","$","_c","className","props","t1","t2"],"sources":["../../../../src/components/widget/Icon/ChevronIcon.tsx"],"sourcesContent":["import { ReactComponent as ChevronIconSVG } from \"@/assets/chevron.svg\";\nimport { cn } from \"@/lib/utils\";\n\nexport const ChevronIcon = ({\n className,\n ...props\n}: React.SVGProps<SVGSVGElement>) => {\n return (\n <ChevronIconSVG\n {...props}\n className={cn(\n \"text-contrast-5 dark:text-contrast-6 cursor-pointer\",\n className\n )}\n />\n );\n};\n"],"mappings":";;;;;AAGA,IAAaG,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;AAAA,CAAAH,EAAA,OAAAD,KAGKG,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAHJ,kBAAAG,KAAAJ,GAGIC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;AAAA,CAAAJ,EAAA,OAAAE,IAOzBE,IAAAJ,EAAA,MAHUI,IAAAP,EACT,uDACAK,EACD,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;AACD,QADCL,EAAA,OAAAG,KAAAH,EAAA,OAAAI,KALHC,IAAA,kBAAC,GAAD;EAAe,GACTF;EACO,WAAAC;EAIX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IANFK"}
1
+ {"version":3,"file":"ChevronIcon.js","names":["ReactComponent","ChevronIconSVG","cn","ChevronIcon","t0","$","_c","className","props","t1","t2"],"sources":["../../../../src/components/widget/Icon/ChevronIcon.tsx"],"sourcesContent":["import { ReactComponent as ChevronIconSVG } from \"@/assets/chevron.svg\";\nimport { cn } from \"@/lib/utils\";\n\nexport const ChevronIcon = ({\n className,\n ...props\n}: React.SVGProps<SVGSVGElement>) => {\n return (\n <ChevronIconSVG\n {...props}\n className={cn(\n \"text-contrast-5 dark:text-contrast-6 cursor-pointer\",\n className\n )}\n />\n );\n};\n"],"mappings":";;;;;AAGA,IAAaG,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;CAAA,AAAAH,EAAA,OAAAD,KAGKG,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAHJ,kBAAAG,KAAAJ,GAGIC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;CAAA,AAAAJ,EAAA,OAAAE,IAOzBE,IAAAJ,EAAA,MAHUI,IAAAP,EACT,uDACAK,EACD,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;CACD,OADCL,EAAA,OAAAG,KAAAH,EAAA,OAAAI,KALHC,IAAA,kBAAC,GAAD;EAAe,GACTF;EACO,WAAAC;EAIX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IANFK"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeltaIcon.js","names":["ReactComponent","DeltaSVG","DeltaIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/DeltaIcon.tsx"],"sourcesContent":["import { ReactComponent as DeltaSVG } from \"@/assets/delta.svg\";\n\nexport const DeltaIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <DeltaSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
1
+ {"version":3,"file":"DeltaIcon.js","names":["ReactComponent","DeltaSVG","DeltaIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/DeltaIcon.tsx"],"sourcesContent":["import { ReactComponent as DeltaSVG } from \"@/assets/delta.svg\";\n\nexport const DeltaIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <DeltaSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"EllipseIcon.js","names":["ReactComponent","EllipseSVG","EllipseIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/EllipseIcon.tsx"],"sourcesContent":["import { ReactComponent as EllipseSVG } from \"@/assets/ellipse.svg\";\n\nexport const EllipseIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <EllipseSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAzBE,IAAA,kBAAC,GAAD,EAAW,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAzBA"}
1
+ {"version":3,"file":"EllipseIcon.js","names":["ReactComponent","EllipseSVG","EllipseIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/EllipseIcon.tsx"],"sourcesContent":["import { ReactComponent as EllipseSVG } from \"@/assets/ellipse.svg\";\n\nexport const EllipseIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <EllipseSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAzBE,IAAA,kBAAC,GAAD,EAAW,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAzBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfoIcon.js","names":["ReactComponent","InfoSVG","cn","forwardRef","InfoIcon","SVGSVGElement","React","SVGProps","t0","ref","$","_c","className","props","t1","t2","displayName"],"sources":["../../../../src/components/widget/Icon/InfoIcon.tsx"],"sourcesContent":["import { ReactComponent as InfoSVG } from \"@/assets/info.svg\";\nimport { cn } from \"@/lib/utils\";\nimport { forwardRef } from \"react\";\n\nexport const InfoIcon = forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(({ className, ...props }, ref) => {\n return (\n <InfoSVG\n ref={ref}\n {...props}\n className={cn(\"fill-contrast-6 dark:fill-contrast-4\", className)}\n />\n );\n});\n\nInfoIcon.displayName = \"InfoIcon\";\n"],"mappings":";;;;;;AAIA,IAAaI,IAAWD,GAGtBK,GAAAC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;AAAA,CAAAH,EAAA,OAAAF,KAAwBI,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAAvB,kBAAAG,KAAAL,GAAuBE,EAAA,KAAAF,GAAAE,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;AAAA,CAAAJ,EAAA,OAAAE,IAK4CE,IAAAJ,EAAA,MAArDI,IAAAZ,EAAG,wCAAwCU,EAAU,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;AAChE,QADgEL,EAAA,OAAAG,KAAAH,EAAA,OAAAD,KAAAC,EAAA,OAAAI,KAHlEC,IAAA,kBAAC,GAAD;EACON;EAAG,GACJI;EACO,WAAAC;EACX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAD,GAAAC,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAJFK;EAMF;AAEFX,EAASY,cAAc"}
1
+ {"version":3,"file":"InfoIcon.js","names":["ReactComponent","InfoSVG","cn","forwardRef","InfoIcon","SVGSVGElement","React","SVGProps","t0","ref","$","_c","className","props","t1","t2","displayName"],"sources":["../../../../src/components/widget/Icon/InfoIcon.tsx"],"sourcesContent":["import { ReactComponent as InfoSVG } from \"@/assets/info.svg\";\nimport { cn } from \"@/lib/utils\";\nimport { forwardRef } from \"react\";\n\nexport const InfoIcon = forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(({ className, ...props }, ref) => {\n return (\n <InfoSVG\n ref={ref}\n {...props}\n className={cn(\"fill-contrast-6 dark:fill-contrast-4\", className)}\n />\n );\n});\n\nInfoIcon.displayName = \"InfoIcon\";\n"],"mappings":";;;;;;AAIA,IAAaI,IAAWD,GAGtBK,GAAAC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;CAAA,AAAAH,EAAA,OAAAF,KAAwBI,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAAvB,kBAAAG,KAAAL,GAAuBE,EAAA,KAAAF,GAAAE,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;CAAA,AAAAJ,EAAA,OAAAE,IAK4CE,IAAAJ,EAAA,MAArDI,IAAAZ,EAAG,wCAAwCU,EAAU,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;CAChE,OADgEL,EAAA,OAAAG,KAAAH,EAAA,OAAAD,KAAAC,EAAA,OAAAI,KAHlEC,IAAA,kBAAC,GAAD;EACON;EAAG,GACJI;EACO,WAAAC;EACX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAD,GAAAC,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAJFK;EAMF;AAEFX,EAASY,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarketIcon.js","names":["ReactComponent","MarketSVG","MarketIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/MarketIcon.tsx"],"sourcesContent":["import { ReactComponent as MarketSVG } from \"@/assets/market.svg\";\n\nexport const MarketIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <MarketSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
1
+ {"version":3,"file":"MarketIcon.js","names":["ReactComponent","MarketSVG","MarketIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/MarketIcon.tsx"],"sourcesContent":["import { ReactComponent as MarketSVG } from \"@/assets/market.svg\";\n\nexport const MarketIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <MarketSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SliderIcon.js","names":["ReactComponent","SliderSVG","SliderIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/SliderIcon.tsx"],"sourcesContent":["import { ReactComponent as SliderSVG } from \"@/assets/slider.svg\";\n\nexport const SliderIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <SliderSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
1
+ {"version":3,"file":"SliderIcon.js","names":["ReactComponent","SliderSVG","SliderIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/SliderIcon.tsx"],"sourcesContent":["import { ReactComponent as SliderSVG } from \"@/assets/slider.svg\";\n\nexport const SliderIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <SliderSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImportToken.js","names":["useSetAtom","addImportedTokenAtom","WarningWithTitle","Button","TokenBadge","ImportTokenDrawerProps","constructTokenLinkForChain","ImportedToken","URL_CUSTOM_TOKEN_RISKS","ImportTokenProps","onClose","onImported","token","ImportToken","props","$","_c","addImportedToken","t0","importedToken","newToken","afterAction","onConfirmAction","handleImport","t1","address","network","chainId","t2","Symbol","for","logo","root","t3","img","symbol","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\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\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\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 onImported?: (token: ImportedToken) => void;\n};\n\nexport const ImportToken = (props: ImportTokenProps) => {\n const addImportedToken = useSetAtom(addImportedTokenAtom);\n\n const handleImport = () => {\n const importedToken = addImportedToken({\n newToken: props.token,\n afterAction: props.onConfirmAction,\n });\n\n props.onClose();\n if (importedToken) {\n props.onImported?.(importedToken);\n }\n };\n\n return (\n <div className=\"p-[24px] pt-0\">\n <div className=\"mb-5 text-contrast-4 dark:text-contrast-7\">\n <a\n href={constructTokenLinkForChain({\n chainId: props.token.network,\n address: props.token.address,\n })}\n target=\"_blank\"\n className=\"underline-offset-2\"\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"],"mappings":";;;;;;;;;AASA,IAAMQ,IACJ,gFAOWK,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACzBC,IAAyBjB,EAAWC,EAAqB,EAACiB;AAAA,CAAAH,EAAA,OAAAE,KAAAF,EAAA,OAAAD,KAErCI,UAAA;EACnB,IAAAC,IAAsBF,EAAiB;GAAAG,UAC3BN,EAAKF;GAAMS,aACRP,EAAKQ;GACnB,CAAC;AAGF,EADAR,EAAKJ,SAAU,EACXS,KACFL,EAAKH,aAAcQ,EAAc;IAEpCJ,EAAA,KAAAE,GAAAF,EAAA,KAAAD,GAAAC,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAVD,IAAAQ,IAAqBL,GAUnBM;AAAA,CAAAT,EAAA,OAAAD,EAAAF,MAAAa,WAAAV,EAAA,OAAAD,EAAAF,MAAAc,WAMYF,IAAAlB,EAA2B;EAAAqB,SACtBb,EAAKF,MAAMc;EAAQD,SACnBX,EAAKF,MAAMa;EACrB,CAAC,EAAAV,EAAA,KAAAD,EAAAF,MAAAa,SAAAV,EAAA,KAAAD,EAAAF,MAAAc,SAAAX,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,OAAAc,OAAAC,IAAA,4BAAA,IAMSF,IAAA;EAAAG,MAAQ;EAAaC,MAAQ;EAAa,EAAAjB,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAkB;AAAA,CAAAlB,EAAA,OAAAD,EAAAF,MAAAa,WAAAV,EAAA,OAAAD,EAAAF,MAAAsB,OAAAnB,EAAA,OAAAD,EAAAF,MAAAc,WAAAX,EAAA,QAAAD,EAAAF,MAAAuB,UAFrDF,IAAA,kBAAC,GAAD;EACO,KAAAnB,EAAKF,MAAMsB;EACP,SAAAN;EACA,SAAAd,EAAKF,MAAMa;EACZ,QAAAX,EAAKF,MAAMuB;EACV,SAAArB,EAAKF,MAAMc;EACpB,iBAAA;EACA,CAAA,EAAAX,EAAA,KAAAD,EAAAF,MAAAa,SAAAV,EAAA,KAAAD,EAAAF,MAAAsB,KAAAnB,EAAA,KAAAD,EAAAF,MAAAc,SAAAX,EAAA,MAAAD,EAAAF,MAAAuB,QAAApB,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAAA,IAAAqB;AAAA,CAAArB,EAAA,QAAAS,KAAAT,EAAA,QAAAkB,KAhBNG,IAAA,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAA,KAAA;GACQ,MAAAZ;GAIC,QAAA;GACG,WAAA;aAEVS;GASJ,CAAA;EAAM,CAAA,EAAAlB,EAAA,MAAAS,GAAAT,EAAA,MAAAkB,GAAAlB,EAAA,MAAAqB,KAAAA,IAAArB,EAAA;CAAA,IAAAsB;AAAA,CAAAtB,EAAA,QAAAc,OAAAC,IAAA,4BAAA,IACNO,IAAA,kBAAC,GAAD;EACQ,OAAA;EAEJ,SAAA,kBAAA,OAAA;GAAe,WAAA;aAAf,CACE,kBAAA,OAAA,EAAA,UAAK,qHAIL,CAAA,EAAA,kBAAA,OAAA,EAAA,UAAK,oHAIP,CAAA,CAAK;;EAEP,CAAA,EAAAtB,EAAA,MAAAsB,KAAAA,IAAAtB,EAAA;CAAA,IAAAuB;AAAA,CAAAvB,EAAA,QAAAc,OAAAC,IAAA,4BAAA,IAEFQ,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf;GAAmE;GACO;GACxE,kBAAA,KAAA;IACY,WAAA;IACJ9B,MAAAA;IACC,QAAA;cACR;IAGH,CAAA;GAAM;KAAAO,EAAA,MAAAuB,KAAAA,IAAAvB,EAAA;CAAA,IAAAwB;AAAA,CAAAxB,EAAA,QAAAQ,IAKAgB,IAAAxB,EAAA,OAJNwB,IAAA,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GAAe,QAAA;GAAe,WAAA;GAA2BhB,SAAAA;aAAc;GAGzE,CAAA;EAAM,CAAA,EAAAR,EAAA,MAAAQ,GAAAR,EAAA,MAAAwB;CAAA,IAAAC;AACF,QADEzB,EAAA,QAAAqB,KAAArB,EAAA,QAAAwB,KAlDRC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf;GACEJ;GAmBAC;GAgBAC;GAUAC;GAKI;KAAAxB,EAAA,MAAAqB,GAAArB,EAAA,MAAAwB,GAAAxB,EAAA,MAAAyB,KAAAA,IAAAzB,EAAA,KAnDNyB"}
1
+ {"version":3,"file":"ImportToken.js","names":["useSetAtom","addImportedTokenAtom","WarningWithTitle","Button","TokenBadge","ImportTokenDrawerProps","constructTokenLinkForChain","ImportedToken","URL_CUSTOM_TOKEN_RISKS","ImportTokenProps","onClose","onImported","token","ImportToken","props","$","_c","addImportedToken","t0","importedToken","newToken","afterAction","onConfirmAction","handleImport","t1","address","network","chainId","t2","Symbol","for","logo","root","t3","img","symbol","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\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\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\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 onImported?: (token: ImportedToken) => void;\n};\n\nexport const ImportToken = (props: ImportTokenProps) => {\n const addImportedToken = useSetAtom(addImportedTokenAtom);\n\n const handleImport = () => {\n const importedToken = addImportedToken({\n newToken: props.token,\n afterAction: props.onConfirmAction,\n });\n\n props.onClose();\n if (importedToken) {\n props.onImported?.(importedToken);\n }\n };\n\n return (\n <div className=\"p-[24px] pt-0\">\n <div className=\"mb-5 text-contrast-4 dark:text-contrast-7\">\n <a\n href={constructTokenLinkForChain({\n chainId: props.token.network,\n address: props.token.address,\n })}\n target=\"_blank\"\n className=\"underline-offset-2\"\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useImportTokenDrawer.js","names":["useState","ControlledDrawer","useDrawerControls","ImportToken","ImportTokenDrawerProps","UseImportTokenDrawerReturn","ImportedToken","ImportDrawerProps","drawerContainer","HTMLElement","tokenType","onImported","token","useImportTokenDrawer","t0","$","_c","t1","t2","drawerId","t3","drawerProps","onOpen","importTokenProps","setImportTokenProps","t4","onClose","t5","importTokenDrawer","t6","importTokenDrawerProps","onOpenImportTokenDrawer","t7"],"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\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\n\ntype ImportDrawerProps = {\n drawerContainer?: HTMLElement | null;\n tokenType: \"from\" | \"to\" | undefined;\n onImported?: (token: ImportedToken) => void;\n};\n\nexport const useImportTokenDrawer = ({\n drawerContainer,\n tokenType,\n onImported,\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\n {...importTokenProps}\n onClose={drawerProps.onClose}\n onImported={onImported}\n />\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"],"mappings":";;;;;;;AAgBA,IAAaa,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAR,oBAAAE,cAAAC,kBAAAG,GAMvBG,IAAA,uBAAuBP,KAAWQ;AAAA,CAAAH,EAAA,OAAAE,IAC7CC,IAAAH,EAAA,MAFoDG,IAAA,EAAAC,UACzCF,GACX,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAFkC,IAAAE,IAAAlB,EAAkBgB,EAEnD,EAAAG,GAAAC;AAAA,CAAAP,EAAA,OAAAK,KAACC,IAAAN,EAAA,IAAAO,IAAAP,EAAA,OAFH,eAAAM,KAAmCD,GAEhCL,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;CAEH,IAAA,CAAAC,GAAAC,KACExB,EAAwC,KAAK,EAACyB;AAAA,CAAAV,EAAA,OAAAM,KAAAN,EAAA,OAAAQ,KAAAR,EAAA,OAAAJ,KAS3Cc,IAAAF,IACC,kBAAC,GAAD;EAAY,GACNA;EACK,SAAAF,EAAWK;EACRf;EAER,CAAA,GANP,MAMOI,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,GAAAR,EAAA,KAAAJ,GAAAI,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAY;AAAA,CAAAZ,EAAA,OAAAP,KAAAO,EAAA,QAAAM,KAAAN,EAAA,QAAAU,KAZVE,IAAA,kBAAC,GAAD;EAAiB,GACXN;EACE,OAAA;EACN,iBAAA;EACWb,WAAAA;YAEViB;EAOgB,CAAA,EAAAV,EAAA,KAAAP,GAAAO,EAAA,MAAAM,GAAAN,EAAA,MAAAU,GAAAV,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAdrB,IAAAa,IACED,GAcAE;AAAA,CAAAd,EAAA,QAAAO,IAMCO,IAAAd,EAAA,OAHDc,KAAAC,MAAA;AAEER,EADAE,EAAoBM,EAAuB,EAC3CR,GAAQ;IACTP,EAAA,MAAAO,GAAAP,EAAA,MAAAc;CAJH,IAAAE,IACEF,GAGEG;AAKH,QALGjB,EAAA,QAAAa,KAAAb,EAAA,QAAAgB,KAEGC,IAAA;EAAAD;EAAAH;EAGN,EAAAb,EAAA,MAAAa,GAAAb,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KAHMiB"}
1
+ {"version":3,"file":"useImportTokenDrawer.js","names":["useState","ControlledDrawer","useDrawerControls","ImportToken","ImportTokenDrawerProps","UseImportTokenDrawerReturn","ImportedToken","ImportDrawerProps","drawerContainer","HTMLElement","tokenType","onImported","token","useImportTokenDrawer","t0","$","_c","t1","t2","drawerId","t3","drawerProps","onOpen","importTokenProps","setImportTokenProps","t4","onClose","t5","importTokenDrawer","t6","importTokenDrawerProps","onOpenImportTokenDrawer","t7"],"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\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\n\ntype ImportDrawerProps = {\n drawerContainer?: HTMLElement | null;\n tokenType: \"from\" | \"to\" | undefined;\n onImported?: (token: ImportedToken) => void;\n};\n\nexport const useImportTokenDrawer = ({\n drawerContainer,\n tokenType,\n onImported,\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\n {...importTokenProps}\n onClose={drawerProps.onClose}\n onImported={onImported}\n />\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"],"mappings":";;;;;;;AAgBA,IAAaa,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAR,oBAAAE,cAAAC,kBAAAG,GAMvBG,IAAA,uBAAuBP,KAAWQ;CAAA,AAAAH,EAAA,OAAAE,IAC7CC,IAAAH,EAAA,MAFoDG,IAAA,EAAAC,UACzCF,GACX,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAFkC,IAAAE,IAAAlB,EAAkBgB,EAEnD,EAAAG,GAAAC;CAAA,AAAAP,EAAA,OAAAK,KAACC,IAAAN,EAAA,IAAAO,IAAAP,EAAA,OAFH,eAAAM,KAAmCD,GAEhCL,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;CAEH,IAAA,CAAAC,GAAAC,KACExB,EAAwC,KAAK,EAACyB;CAAA,AAAAV,EAAA,OAAAM,KAAAN,EAAA,OAAAQ,KAAAR,EAAA,OAAAJ,KAS3Cc,IAAAF,IACC,kBAAC,GAAD;EAAY,GACNA;EACK,SAAAF,EAAWK;EACRf;EAER,CAAA,GANP,MAMOI,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,GAAAR,EAAA,KAAAJ,GAAAI,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAY;CAAA,AAAAZ,EAAA,OAAAP,KAAAO,EAAA,QAAAM,KAAAN,EAAA,QAAAU,KAZVE,IAAA,kBAAC,GAAD;EAAiB,GACXN;EACE,OAAA;EACN,iBAAA;EACWb,WAAAA;YAEViB;EAOgB,CAAA,EAAAV,EAAA,KAAAP,GAAAO,EAAA,MAAAM,GAAAN,EAAA,MAAAU,GAAAV,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAdrB,IAAAa,IACED,GAcAE;CAAA,AAAAd,EAAA,QAAAO,IAMCO,IAAAd,EAAA,OAHDc,KAAAC,MAAA;EAEER,AADAE,EAAoBM,EAAuB,EAC3CR,GAAQ;IACTP,EAAA,MAAAO,GAAAP,EAAA,MAAAc;CAJH,IAAAE,IACEF,GAGEG;CAKH,OALGjB,EAAA,QAAAa,KAAAb,EAAA,QAAAgB,KAEGC,IAAA;EAAAD;EAAAH;EAGN,EAAAb,EAAA,MAAAa,GAAAb,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KAHMiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Controls.js","names":["Button","useMinViemClient","constructExplorerOrderDetailsLink","useAccount","useChainId","LimitOrderItem","JSX","useCancelOrWithdrawAndCancelDeltaOrder","CancelOrWithdrawAndCancelDeltaOrderMutOptions","DismissButton","LoggerInstance","useLocalDrawerControls","getOrderCancelDetailsForOrderItem","CancelButtonWithDrawer","LimitOrderControlsProps","order","logger","onDismiss","onCancelSuccess","onCancelError","Controls","t0","$","_c","props","t1","id","explorerLink","t2","explorerBtn","t3","t4","CancelOrDismissBtn","chainId","address","account","isConnected","minClient","cancelOrderDrawerControls","onClose","onError","onSuccess","onSettled","client","mutationOptions","cancelDeltaOrder","isOrderCancellable","isEthOrder","isPending","isSuccess","step","orderCancellationStep","reset","t5","orderCancelDetails","t6","cancelBtnText","cancelDrawerTitle","cancelTexts","drawerTitle","result","cancelOrder","t7","orderType"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/Controls.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport type { LimitOrderItem } from \"../types\";\nimport type { JSX } from \"react\";\nimport {\n useCancelOrWithdrawAndCancelDeltaOrder,\n type CancelOrWithdrawAndCancelDeltaOrderMutOptions,\n} from \"@/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport { DismissButton } from \"../../Button/DismissButton\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { useLocalDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { getOrderCancelDetailsForOrderItem } from \"../../TradeOverview/CancelOrder/utils\";\nimport { CancelButtonWithDrawer } from \"../../Button/CancelButton/CancelButtonWithDrawer\";\n\nexport type LimitOrderControlsProps = {\n order: LimitOrderItem;\n logger?: LoggerInstance;\n onDismiss: () => void;\n onCancelSuccess: CancelOrWithdrawAndCancelDeltaOrderMutOptions[\"onSuccess\"];\n onCancelError: CancelOrWithdrawAndCancelDeltaOrderMutOptions[\"onError\"];\n};\n\nexport const Controls = ({ order, ...props }: LimitOrderControlsProps) => {\n const explorerLink = constructExplorerOrderDetailsLink(order.id);\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 <CancelOrDismissBtn order={order} {...props} />\n {explorerBtn}\n </div>\n );\n};\n\nconst CancelOrDismissBtn = ({\n order,\n logger,\n onDismiss,\n onCancelError,\n onCancelSuccess,\n}: LimitOrderControlsProps): JSX.Element | null => {\n const chainId = useChainId();\n\n const { address: account, isConnected } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const cancelOrderDrawerControls = useLocalDrawerControls();\n\n const {\n cancelDeltaOrder,\n isOrderCancellable,\n isEthOrder,\n isPending,\n isSuccess,\n step: orderCancellationStep,\n reset,\n } = useCancelOrWithdrawAndCancelDeltaOrder({\n chainId,\n account,\n client: minClient,\n order,\n logger,\n mutationOptions: {\n onError: onCancelError,\n onSuccess: onCancelSuccess,\n onSettled: () => {\n cancelOrderDrawerControls.onClose();\n },\n },\n });\n\n const orderCancelDetails = getOrderCancelDetailsForOrderItem(order);\n\n if (\n !isConnected || // wallet not connected\n !isOrderCancellable || // the order is already executed/cancelled onchain or failed/cancelled offchain\n isSuccess || // cancellation successful\n orderCancelDetails === null // no cancel flow for this order type\n )\n return (\n <DismissButton onClick={onDismiss}>Make Another Trade</DismissButton>\n );\n\n const cancelBtnText = isEthOrder ? \"Withdraw & Cancel Order\" : \"Cancel Order\";\n const cancelDrawerTitle =\n orderCancelDetails.cancelTexts.drawerTitle || cancelBtnText;\n\n const cancelOrder = async () => {\n try {\n const result = await cancelDeltaOrder();\n return result;\n } catch {\n // allow to re-trigger cancellation after error (like UserCancelledError)\n reset();\n }\n };\n\n return (\n <CancelButtonWithDrawer\n isPending={isPending}\n drawerControls={cancelOrderDrawerControls}\n cancelBtnText={cancelBtnText}\n cancelDrawerTitle={cancelDrawerTitle}\n orderTypeToCancel={orderCancelDetails.orderType}\n onCancel={cancelOrder}\n step={orderCancellationStep}\n />\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Controls.js","names":["Button","useMinViemClient","constructExplorerOrderDetailsLink","useAccount","useChainId","LimitOrderItem","JSX","useCancelOrWithdrawAndCancelDeltaOrder","CancelOrWithdrawAndCancelDeltaOrderMutOptions","DismissButton","LoggerInstance","useLocalDrawerControls","getOrderCancelDetailsForOrderItem","CancelButtonWithDrawer","LimitOrderControlsProps","order","logger","onDismiss","onCancelSuccess","onCancelError","Controls","t0","$","_c","props","t1","id","explorerLink","t2","explorerBtn","t3","t4","CancelOrDismissBtn","chainId","address","account","isConnected","minClient","cancelOrderDrawerControls","onClose","onError","onSuccess","onSettled","client","mutationOptions","cancelDeltaOrder","isOrderCancellable","isEthOrder","isPending","isSuccess","step","orderCancellationStep","reset","t5","orderCancelDetails","t6","cancelBtnText","cancelDrawerTitle","cancelTexts","drawerTitle","result","cancelOrder","t7","orderType"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/Controls.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport type { LimitOrderItem } from \"../types\";\nimport type { JSX } from \"react\";\nimport {\n useCancelOrWithdrawAndCancelDeltaOrder,\n type CancelOrWithdrawAndCancelDeltaOrderMutOptions,\n} from \"@/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport { DismissButton } from \"../../Button/DismissButton\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { useLocalDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { getOrderCancelDetailsForOrderItem } from \"../../TradeOverview/CancelOrder/utils\";\nimport { CancelButtonWithDrawer } from \"../../Button/CancelButton/CancelButtonWithDrawer\";\n\nexport type LimitOrderControlsProps = {\n order: LimitOrderItem;\n logger?: LoggerInstance;\n onDismiss: () => void;\n onCancelSuccess: CancelOrWithdrawAndCancelDeltaOrderMutOptions[\"onSuccess\"];\n onCancelError: CancelOrWithdrawAndCancelDeltaOrderMutOptions[\"onError\"];\n};\n\nexport const Controls = ({ order, ...props }: LimitOrderControlsProps) => {\n const explorerLink = constructExplorerOrderDetailsLink(order.id);\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 <CancelOrDismissBtn order={order} {...props} />\n {explorerBtn}\n </div>\n );\n};\n\nconst CancelOrDismissBtn = ({\n order,\n logger,\n onDismiss,\n onCancelError,\n onCancelSuccess,\n}: LimitOrderControlsProps): JSX.Element | null => {\n const chainId = useChainId();\n\n const { address: account, isConnected } = useAccount();\n const { minClient } = useMinViemClient({ chainId, account });\n\n const cancelOrderDrawerControls = useLocalDrawerControls();\n\n const {\n cancelDeltaOrder,\n isOrderCancellable,\n isEthOrder,\n isPending,\n isSuccess,\n step: orderCancellationStep,\n reset,\n } = useCancelOrWithdrawAndCancelDeltaOrder({\n chainId,\n account,\n client: minClient,\n order,\n logger,\n mutationOptions: {\n onError: onCancelError,\n onSuccess: onCancelSuccess,\n onSettled: () => {\n cancelOrderDrawerControls.onClose();\n },\n },\n });\n\n const orderCancelDetails = getOrderCancelDetailsForOrderItem(order);\n\n if (\n !isConnected || // wallet not connected\n !isOrderCancellable || // the order is already executed/cancelled onchain or failed/cancelled offchain\n isSuccess || // cancellation successful\n orderCancelDetails === null // no cancel flow for this order type\n )\n return (\n <DismissButton onClick={onDismiss}>Make Another Trade</DismissButton>\n );\n\n const cancelBtnText = isEthOrder ? \"Withdraw & Cancel Order\" : \"Cancel Order\";\n const cancelDrawerTitle =\n orderCancelDetails.cancelTexts.drawerTitle || cancelBtnText;\n\n const cancelOrder = async () => {\n try {\n const result = await cancelDeltaOrder();\n return result;\n } catch {\n // allow to re-trigger cancellation after error (like UserCancelledError)\n reset();\n }\n };\n\n return (\n <CancelButtonWithDrawer\n isPending={isPending}\n drawerControls={cancelOrderDrawerControls}\n cancelBtnText={cancelBtnText}\n cancelDrawerTitle={cancelDrawerTitle}\n orderTypeToCancel={orderCancelDetails.orderType}\n onCancel={cancelOrder}\n step={orderCancellationStep}\n />\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LimitOrderDetails.js","names":["LimitOrderItem","DetailWithValueList","isTruthy","DetailWithValue","DeltaOrderStatusChecker","isTwapAuction","PayReceiveInfo","constructExpiresInDetail","constructOrderRateDetail","constructTwapSplitsDetail","constructOrderStatusDetail","constructOrderTypeDetail","constructPayReceiveInfoProps","constructSubmitDateDetail","constructTwapDurationDetail","Controls","LimitOrderControlsProps","isLimitOrderWithExtra","useWatchDeltaAuction","HALF_MINUTE_MS","detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","controlsProps","selectedOrder","order","t1","id","t2","status","completed","has","t3","t4","extra","itemType","auction","t5","t6","t7","logger","log","order_0","order_1","t8","orderId","refetchInterval","enabled","select","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","data","lastDeltaOrderState","order_2","t9","payReceiveInfoProps","details","overallPending","pending","executing","isTwap","t10","t11","t12","t13","t14","t15","deadline","filter"],"sources":["../../../../../src/components/widget/LimitOrderItem/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 {\n DeltaOrderStatusChecker,\n isTwapAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructExpiresInDetail,\n constructOrderRateDetail,\n constructTwapSplitsDetail,\n constructOrderStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n constructTwapDurationDetail,\n} from \"./utils\";\n\nimport { Controls, type LimitOrderControlsProps } from \"./Controls\";\nimport { isLimitOrderWithExtra } from \"../utils\";\nimport { useWatchDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\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: selectedOrder,\n ...controlsProps\n}: {\n order: LimitOrderItem;\n onDismiss: () => void;\n} & Pick<\n LimitOrderControlsProps,\n \"onCancelSuccess\" | \"onCancelError\" | \"logger\"\n>) => {\n // @TODO polling for OtcOrdeItem\n // Watch delta order if it's selected to get real-time updates on its status\n const { data: lastDeltaOrderState } =\n useWatchDeltaAuction<LimitOrderItem | null>({\n orderId: selectedOrder.id,\n refetchInterval: HALF_MINUTE_MS,\n enabled:\n // do not enable extra fetch for completed orders\n !DeltaOrderStatusChecker.completed.has(selectedOrder.status),\n select: (auction) => {\n if (!auction) return null;\n return {\n ...auction,\n // reuse existing order item data\n extra: selectedOrder.extra,\n itemType: selectedOrder.itemType,\n };\n },\n onAuctionSuccess: (order) => {\n controlsProps?.logger?.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n controlsProps?.logger?.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n controlsProps?.logger?.log(\"Delta Order updated\", order);\n },\n });\n\n const order = lastDeltaOrderState ?? selectedOrder;\n\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 const isTwap = isTwapAuction(order);\n\n let details: DetailWithValue[];\n if (isTwap) {\n details = [\n constructSubmitDateDetail(order),\n constructOrderRateDetail(order),\n constructTwapDurationDetail(order),\n constructTwapSplitsDetail(order),\n constructOrderStatusDetail(order),\n ];\n } else {\n details = [\n constructSubmitDateDetail(order),\n overallPending &&\n constructExpiresInDetail({\n deadline: order.order.deadline,\n }),\n constructOrderRateDetail(order),\n constructOrderStatusDetail(order),\n constructOrderTypeDetail(order),\n ].filter(isTruthy);\n }\n\n return (\n <div className=\"px-6 pb-8 min-h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={order} {...controlsProps} />\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"LimitOrderDetails.js","names":["LimitOrderItem","DetailWithValueList","isTruthy","DetailWithValue","DeltaOrderStatusChecker","isTwapAuction","PayReceiveInfo","constructExpiresInDetail","constructOrderRateDetail","constructTwapSplitsDetail","constructOrderStatusDetail","constructOrderTypeDetail","constructPayReceiveInfoProps","constructSubmitDateDetail","constructTwapDurationDetail","Controls","LimitOrderControlsProps","isLimitOrderWithExtra","useWatchDeltaAuction","HALF_MINUTE_MS","detailsClasses","root","title","value","LimitOrderDetails","t0","$","_c","controlsProps","selectedOrder","order","t1","id","t2","status","completed","has","t3","t4","extra","itemType","auction","t5","t6","t7","logger","log","order_0","order_1","t8","orderId","refetchInterval","enabled","select","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","data","lastDeltaOrderState","order_2","t9","payReceiveInfoProps","details","overallPending","pending","executing","isTwap","t10","t11","t12","t13","t14","t15","deadline","filter"],"sources":["../../../../../src/components/widget/LimitOrderItem/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 {\n DeltaOrderStatusChecker,\n isTwapAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { PayReceiveInfo } from \"../../PayReceiveInfo/PayReceiveInfo\";\nimport {\n constructExpiresInDetail,\n constructOrderRateDetail,\n constructTwapSplitsDetail,\n constructOrderStatusDetail,\n constructOrderTypeDetail,\n constructPayReceiveInfoProps,\n constructSubmitDateDetail,\n constructTwapDurationDetail,\n} from \"./utils\";\n\nimport { Controls, type LimitOrderControlsProps } from \"./Controls\";\nimport { isLimitOrderWithExtra } from \"../utils\";\nimport { useWatchDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\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: selectedOrder,\n ...controlsProps\n}: {\n order: LimitOrderItem;\n onDismiss: () => void;\n} & Pick<\n LimitOrderControlsProps,\n \"onCancelSuccess\" | \"onCancelError\" | \"logger\"\n>) => {\n // @TODO polling for OtcOrdeItem\n // Watch delta order if it's selected to get real-time updates on its status\n const { data: lastDeltaOrderState } =\n useWatchDeltaAuction<LimitOrderItem | null>({\n orderId: selectedOrder.id,\n refetchInterval: HALF_MINUTE_MS,\n enabled:\n // do not enable extra fetch for completed orders\n !DeltaOrderStatusChecker.completed.has(selectedOrder.status),\n select: (auction) => {\n if (!auction) return null;\n return {\n ...auction,\n // reuse existing order item data\n extra: selectedOrder.extra,\n itemType: selectedOrder.itemType,\n };\n },\n onAuctionSuccess: (order) => {\n controlsProps?.logger?.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n controlsProps?.logger?.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n controlsProps?.logger?.log(\"Delta Order updated\", order);\n },\n });\n\n const order = lastDeltaOrderState ?? selectedOrder;\n\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 const isTwap = isTwapAuction(order);\n\n let details: DetailWithValue[];\n if (isTwap) {\n details = [\n constructSubmitDateDetail(order),\n constructOrderRateDetail(order),\n constructTwapDurationDetail(order),\n constructTwapSplitsDetail(order),\n constructOrderStatusDetail(order),\n ];\n } else {\n details = [\n constructSubmitDateDetail(order),\n overallPending &&\n constructExpiresInDetail({\n deadline: order.order.deadline,\n }),\n constructOrderRateDetail(order),\n constructOrderStatusDetail(order),\n constructOrderTypeDetail(order),\n ].filter(isTruthy);\n }\n\n return (\n <div className=\"px-6 pb-8 min-h-[470px] flex flex-col\">\n {payReceiveInfoProps && <PayReceiveInfo {...payReceiveInfoProps} />}\n <DetailWithValueList details={details} classes={detailsClasses} />\n <Controls order={order} {...controlsProps} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAyBA,IAAMoB,IAAiB;CACrBC,MAAM;CACNC,OAAO;CACPC,OAAO;CACR,EAEYC,KAAoBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC,GAAAC;CAAA,AAAAH,EAAA,OAAAD,KAShCG,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OATiC,CAAAI,OAAAD,MAAAD,KAAAH,GASjCC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAKc,IAAAE,IAAAF,EAAaG,IAAGC;CAAA,AAAAP,EAAA,OAAAG,EAAAK,SAIqCD,IAAAP,EAAA,MAA3DO,IAAA7B,EAAuB+B,UAAUC,IAAKP,EAAaK,OAAQ,EAAAR,EAAA,KAAAG,EAAAK,QAAAR,EAAA,KAAAO;CAA5D,IAAAI,IAAA,CAACJ,GAA2DK;CAAA,AAAAZ,EAAA,OAAAG,EAAAU,SAAAb,EAAA,OAAAG,EAAAW,YACtDF,KAAAG,MACDA,IACE;EAAA,GACFA;EAAOF,OAEHV,EAAaU;EAAMC,UAChBX,EAAaW;EACxB,GANoB,MAOtBd,EAAA,KAAAG,EAAAU,OAAAb,EAAA,KAAAG,EAAAW,UAAAd,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAgB,GAAAC,GAAAC;CAAA,AAAAlB,EAAA,OAAAE,GAAAiB,UASAH,IAAAhB,EAAA,IAAAiB,IAAAjB,EAAA,KAAAkB,IAAAlB,EAAA,QARiBgB,KAAAZ,MAAA;EAChBF,GAAaiB,QAAaC,IAAC,uBAAuBhB,EAAM;IAExCa,KAAAI,MAAA;EAChBnB,GAAaiB,QAAaC,IAAC,uBAAuBhB,EAAM;IAExCc,KAAAI,MAAA;EAChBpB,GAAaiB,QAAaC,IAAC,uBAAuBhB,EAAM;IACzDJ,EAAA,KAAAE,GAAAiB,QAAAnB,EAAA,KAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB;CAAA,IAAAK;CAAA,AAAAvB,EAAA,QAAAG,EAAAG,MAAAN,EAAA,QAAAW,KAAAX,EAAA,QAAAY,KAAAZ,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAkB,KAvByCK,IAAA;EAAAC,SACjCnB;EAAgBoB,iBACRhC;EAAciC,SAG7Bf;EAA4DgB,QACtDf;EAQPgB,kBACiBZ;EAEjBa,kBACiBZ;EAEjBa,kBACiBZ;EAGnB,EAAAlB,EAAA,MAAAG,EAAAG,IAAAN,EAAA,MAAAW,GAAAX,EAAA,MAAAY,GAAAZ,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,GAAAlB,EAAA,MAAAuB,KAAAA,IAAAvB,EAAA;CAzBH,IAAA,EAAA+B,MAAAC,MACExC,EAA4C+B,EAwB1C,EAEJU,IAAcD,KAAA7B,GAAqC+B;CAAA,AAAAlC,EAAA,QAAAiC,IAGkBC,IAAAlC,EAAA,OAAnEkC,IAAA3C,EAAsBa,EAA6C,IAAnClB,EAA6BkB,EAAM,EAAAJ,EAAA,MAAAiC,GAAAjC,EAAA,MAAAkC;CADrE,IAAAC,IACED,GAAoEE;CAAA,IAAApC,EAAA,QAAAiC,GAAA;EAEtE,IAAAI,IACE3D,EAAuB4D,QAAQ5B,IAAKN,EAAKI,OACU,IAAnD9B,EAAuB6D,UAAU7B,IAAKN,EAAKI,OAAQ;EAIrD,IAHe7B,EAAcyB,EAGzBoC,EAAM;GAEN,IAAAC,IAAAtD,EAA0BiB,EAAM,EAChCsC,IAAA5D,EAAyBsB,EAAM,EAC/BuC,IAAAvD,EAA4BgB,EAAM,EAClCwC,IAAA7D,EAA0BqB,EAAM,EAChCyC,IAAA7D,EAA2BoB,EAAM,EAAA0C;GALnCV,AAKmCpC,EAAA,QAAAyC,KAAAzC,EAAA,QAAA0C,KAAA1C,EAAA,QAAA2C,KAAA3C,EAAA,QAAA4C,KAAA5C,EAAA,QAAA6C,KALzBC,IAAA;IACRL;IACAC;IACAC;IACAC;IACAC;IACD,EAAA7C,EAAA,MAAAyC,GAAAzC,EAAA,MAAA0C,GAAA1C,EAAA,MAAA2C,GAAA3C,EAAA,MAAA4C,GAAA5C,EAAA,MAAA6C,GAAA7C,EAAA,MAAA8C,KAAAA,IAAA9C,EAAA,KANDoC,IAAUA;SAQVA,IAAUA;GACRjD,EAA0BiB,EAAM;GAChCiC,KACExD,EAAyB,EAAAkE,UACb3C,EAAKA,MAAM2C,UACtB,CAAC;GACJjE,EAAyBsB,EAAM;GAC/BpB,EAA2BoB,EAAM;GACjCnB,EAAyBmB,EAAM;GAChC,CAAA4C,OAAQxE,EAAS;EACnBwB,AAAAA,EAAA,MAAAiC,GAAAjC,EAAA,MAAAoC;QAAAA,IAAApC,EAAA;CAAA,IAAAyC;CAAA,AAAAzC,EAAA,QAAAmC,IAIsEM,IAAAzC,EAAA,OAAlEyC,IAAAN,KAAuB,kBAAC,GAAD,EAAe,GAAKA,GAAuB,CAAA,EAAAnC,EAAA,MAAAmC,GAAAnC,EAAA,MAAAyC;CAAA,IAAAC;CAAA,AAAA1C,EAAA,QAAAoC,IACDM,IAAA1C,EAAA,OAAlE0C,IAAA,kBAAC,GAAD;EAA8BN;EAAkB1C,SAAAA;EAAkB,CAAA,EAAAM,EAAA,MAAAoC,GAAApC,EAAA,MAAA0C;CAAA,IAAAC;CAAA,AAAA3C,EAAA,QAAAE,KAAAF,EAAA,QAAAiC,KAClEU,IAAA,kBAAC,GAAD;EAAiBvC,OAAAA;EAAK,GAAMF;EAAiB,CAAA,EAAAF,EAAA,MAAAE,GAAAF,EAAA,MAAAiC,GAAAjC,EAAA,MAAA2C,KAAAA,IAAA3C,EAAA;CAAA,IAAA4C;CACzC,OADyC5C,EAAA,QAAAyC,KAAAzC,EAAA,QAAA0C,KAAA1C,EAAA,QAAA2C,KAH/CC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf;GACGH;GACDC;GACAC;GACI;KAAA3C,EAAA,MAAAyC,GAAAzC,EAAA,MAAA0C,GAAA1C,EAAA,MAAA2C,GAAA3C,EAAA,MAAA4C,KAAAA,IAAA5C,EAAA,KAJN4C"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["dayjs","LimitOrderItem","LimitOrderItemExtra","RequiredLimitOrderItemExtra","DetailWithValue","PayReceiveInfoProps","Rate","StatusBadge","TimeTillExpiry","formatTokenAmount","TokenBadgeProps","DeltaAuctionWithTwapOrder","Duration","getTwapAuctionDeadlines","ONE_MINUTE_MS","constructSubmitDateDetail","createdAt","title","value","format","timeTillExpiryClasses","root","constructExpiresInDetail","deadline","rateClasses","left","right","constructOrderRateDetail","extra","constructTwapDurationDetail","order","endsInMs","durationMs","now","Date","getTime","isFuture","showSecondsInExpiry","constructTwapSplitsDetail","numSlices","interval","constructOrderStatusDetail","status","constructOrderTypeDetail","type","tokenBadgeClasses","amount","symbol","logo","constructPayReceiveInfoProps","srcToken","destToken","srcAmountUnit","destAmountUnit","formattedSrcAmount","formattedDestAmount","topTokenBadgeProps","address","chainId","network","img","amountPosition","const","classes","showNetworkIcon","bottomTokenBadgeProps","topToken","tokenBadgeProps","label","bottomToken"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport type {\n LimitOrderItem,\n LimitOrderItemExtra,\n RequiredLimitOrderItemExtra,\n} from \"../types\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport type { PayReceiveInfoProps } from \"../../PayReceiveInfo/types\";\nimport { Rate, StatusBadge, TimeTillExpiry } from \"../LimitOrderListItem\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { TokenBadgeProps } from \"../../TokenBadge/types\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\nimport { Duration } from \"../../Duration/Duration\";\nimport { getTwapAuctionDeadlines } from \"@/lib/utils/twap\";\nimport { ONE_MINUTE_MS } from \"@/lib/constants/time\";\n\nexport function constructSubmitDateDetail({\n createdAt,\n}: {\n createdAt: string | number;\n}): DetailWithValue {\n return {\n title: \"Submit Date\",\n value: dayjs(createdAt).format(\"DD MMM YYYY h:mm A\"),\n };\n}\n\nconst timeTillExpiryClasses = {\n root: \"dark:text-contrast-6\",\n};\n\nexport function constructExpiresInDetail({\n deadline,\n}: {\n deadline: number;\n}): DetailWithValue {\n return {\n title: \"Expires in\",\n value: (\n <TimeTillExpiry deadline={deadline} classes={timeTillExpiryClasses} />\n ),\n };\n}\n\nconst rateClasses = {\n left: \"dark:text-contrast-6\",\n right: \"dark:text-contrast-6\",\n};\n\nexport function constructOrderRateDetail({\n extra,\n}: {\n extra: LimitOrderItemExtra;\n}): DetailWithValue {\n return {\n title: \"Order Rate\",\n value: <Rate extra={extra} classes={rateClasses} />,\n };\n}\n\nexport function constructTwapDurationDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n const { endsInMs, durationMs } = getTwapAuctionDeadlines(order);\n\n const now = new Date().getTime();\n const isFuture = endsInMs > now;\n\n // if less than 1 min to end,\n // show seconds instead of \"(ends in -)\"\n const showSecondsInExpiry = isFuture && endsInMs - now <= ONE_MINUTE_MS;\n\n return {\n title: \"Order Duration\",\n value: (\n <>\n <Duration\n timeMs={durationMs}\n classes={{\n root: \"inline-flex\",\n }}\n />\n {isFuture && (\n <>\n {\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (ends in{\" \"}\n <TimeTillExpiry\n showSeconds={showSecondsInExpiry}\n deadline={endsInMs / 1000}\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n )}\n </>\n ),\n };\n}\n\nexport function constructTwapSplitsDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n return {\n title: \"Order Splits\",\n value: (\n <>\n {order.order.numSlices} Parts{\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (once every{\" \"}\n <Duration\n timeMs={order.order.interval * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n ),\n };\n}\n\nexport function constructOrderStatusDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Status\",\n value: <StatusBadge status={order.status} />,\n };\n}\n\nexport function constructOrderTypeDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Type\",\n value: order.type,\n };\n}\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\nexport function constructPayReceiveInfoProps({\n extra,\n}: {\n extra: RequiredLimitOrderItemExtra;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n },\n };\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgBe,EAA0B,EACxCC,gBAGkB;AAClB,QAAO;EACLC,OAAO;EACPC,OAAOlB,EAAMgB,EAAU,CAACG,OAAO,qBAAoB;EACpD;;AAGH,IAAMC,IAAwB,EAC5BC,MAAM,wBACP;AAED,SAAgBC,EAAyB,EACvCC,eAGkB;AAClB,QAAO;EACLN,OAAO;EACPC,OACE,kBAAC,GAAD;GAA0BK;GAAU,SAASH;GAAsB,CAAA;EAEtE;;AAGH,IAAMI,IAAc;CAClBC,MAAM;CACNC,OAAO;CACR;AAED,SAAgBC,EAAyB,EACvCC,YAGkB;AAClB,QAAO;EACLX,OAAO;EACPC,OAAO,kBAAC,GAAD;GAAaU;GAAO,SAASJ;GAAY,CAAA;EACjD;;AAGH,SAAgBK,EACdC,GACiB;CACjB,IAAM,EAAEC,aAAUC,kBAAenB,EAAwBiB,EAAM,EAEzDG,qBAAM,IAAIC,MAAM,EAACC,SAAS,EAC1BC,IAAWL,IAAWE,GAItBI,IAAsBD,KAAYL,IAAWE,KAAAA;AAEnD,QAAO;EACLhB,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,QAAQc;GACR,SAAS,EACPX,MAAM,eACP;GAAC,CAAA,EAEHe,KACC,kBAAA,GAAA,EAAA,UAAA,CACG,KACD,kBAAC,QAAD;GAAM,WAAU;aAAhB;IAAsD;IAC3C;IACT,kBAAC,GAAD;KACE,aAAaC;KACb,UAAUN,IAAW;KACrB,SAAS,EACPV,MAAM,4DACP;KAAC,CAAA;;IAGA;KAET,EAAA,CAAA,CACH,EAAA,CAAA;EAEH;;AAGH,SAAgBiB,EACdR,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA;GACGY,EAAMA,MAAMS;GAAU;GAAO;GAC9B,kBAAC,QAAD;IAAM,WAAU;cAAhB;KAAsD;KACxC;KACZ,kBAAC,GAAD;MACE,QAAQT,EAAMA,MAAMU,WAAW;MAC/B,aAAA;MACA,SAAS,EACPnB,MAAM,4DACP;MAAC,CAAA;;KAGA;;GACR,EAAA,CAAA;EAEH;;AAGH,SAAgBoB,EACdX,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAO,kBAAC,GAAD,EAAa,QAAQY,EAAMY,QAAO,CAAA;EAC1C;;AAGH,SAAgBC,EACdb,GACiB;AACjB,QAAO;EACLb,OAAO;EACPC,OAAOY,EAAMc;EACd;;AAGH,IAAMC,IAAoB;CACxBC,QAAQ;CACRC,QAAQ;CACRC,MAAM;CACP;AAED,SAAgBC,EAA6B,EAC3CrB,YAGsB;CACtB,IAAM,EAAEsB,aAAUC,cAAWC,kBAAeC,sBAAmBzB,GAEzD0B,IAAqB7C,EAAkB2C,EAAc,EACrDG,IAAsB9C,EAAkB4C,EAAe,EAEvDG,IAAsC;EAC1CC,SAASP,EAASO;EAClBV,QAAQG,EAASH;EACjBW,SAASR,EAASS;EAClBC,KAAKV,EAASU;EACdd,QAAQQ;EACRO,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB,EAEKC,IAAyC;EAC7CR,SAASN,EAAUM;EACnBV,QAAQI,EAAUJ;EAClBW,SAASP,EAAUQ;EACnBC,KAAKT,EAAUS;EACfd,QAAQS;EACRM,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB;AAED,QAAO;EACLE,UAAU;GACRC,iBAAiBX;GACjBY,OAAO;GACR;EACDC,aAAa;GACXF,iBAAiBF;GACjBG,OAAO;GACT;EACD"}
1
+ {"version":3,"file":"utils.js","names":["dayjs","LimitOrderItem","LimitOrderItemExtra","RequiredLimitOrderItemExtra","DetailWithValue","PayReceiveInfoProps","Rate","StatusBadge","TimeTillExpiry","formatTokenAmount","TokenBadgeProps","DeltaAuctionWithTwapOrder","Duration","getTwapAuctionDeadlines","ONE_MINUTE_MS","constructSubmitDateDetail","createdAt","title","value","format","timeTillExpiryClasses","root","constructExpiresInDetail","deadline","rateClasses","left","right","constructOrderRateDetail","extra","constructTwapDurationDetail","order","endsInMs","durationMs","now","Date","getTime","isFuture","showSecondsInExpiry","constructTwapSplitsDetail","numSlices","interval","constructOrderStatusDetail","status","constructOrderTypeDetail","type","tokenBadgeClasses","amount","symbol","logo","constructPayReceiveInfoProps","srcToken","destToken","srcAmountUnit","destAmountUnit","formattedSrcAmount","formattedDestAmount","topTokenBadgeProps","address","chainId","network","img","amountPosition","const","classes","showNetworkIcon","bottomTokenBadgeProps","topToken","tokenBadgeProps","label","bottomToken"],"sources":["../../../../../src/components/widget/LimitOrderItem/LimitOrderDetails/utils.tsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport type {\n LimitOrderItem,\n LimitOrderItemExtra,\n RequiredLimitOrderItemExtra,\n} from \"../types\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport type { PayReceiveInfoProps } from \"../../PayReceiveInfo/types\";\nimport { Rate, StatusBadge, TimeTillExpiry } from \"../LimitOrderListItem\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { TokenBadgeProps } from \"../../TokenBadge/types\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\nimport { Duration } from \"../../Duration/Duration\";\nimport { getTwapAuctionDeadlines } from \"@/lib/utils/twap\";\nimport { ONE_MINUTE_MS } from \"@/lib/constants/time\";\n\nexport function constructSubmitDateDetail({\n createdAt,\n}: {\n createdAt: string | number;\n}): DetailWithValue {\n return {\n title: \"Submit Date\",\n value: dayjs(createdAt).format(\"DD MMM YYYY h:mm A\"),\n };\n}\n\nconst timeTillExpiryClasses = {\n root: \"dark:text-contrast-6\",\n};\n\nexport function constructExpiresInDetail({\n deadline,\n}: {\n deadline: number;\n}): DetailWithValue {\n return {\n title: \"Expires in\",\n value: (\n <TimeTillExpiry deadline={deadline} classes={timeTillExpiryClasses} />\n ),\n };\n}\n\nconst rateClasses = {\n left: \"dark:text-contrast-6\",\n right: \"dark:text-contrast-6\",\n};\n\nexport function constructOrderRateDetail({\n extra,\n}: {\n extra: LimitOrderItemExtra;\n}): DetailWithValue {\n return {\n title: \"Order Rate\",\n value: <Rate extra={extra} classes={rateClasses} />,\n };\n}\n\nexport function constructTwapDurationDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n const { endsInMs, durationMs } = getTwapAuctionDeadlines(order);\n\n const now = new Date().getTime();\n const isFuture = endsInMs > now;\n\n // if less than 1 min to end,\n // show seconds instead of \"(ends in -)\"\n const showSecondsInExpiry = isFuture && endsInMs - now <= ONE_MINUTE_MS;\n\n return {\n title: \"Order Duration\",\n value: (\n <>\n <Duration\n timeMs={durationMs}\n classes={{\n root: \"inline-flex\",\n }}\n />\n {isFuture && (\n <>\n {\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (ends in{\" \"}\n <TimeTillExpiry\n showSeconds={showSecondsInExpiry}\n deadline={endsInMs / 1000}\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n )}\n </>\n ),\n };\n}\n\nexport function constructTwapSplitsDetail(\n order: DeltaAuctionWithTwapOrder\n): DetailWithValue {\n return {\n title: \"Order Splits\",\n value: (\n <>\n {order.order.numSlices} Parts{\" \"}\n <span className=\"text-contrast-5 dark:text-contrast-5\">\n (once every{\" \"}\n <Duration\n timeMs={order.order.interval * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-contrast-5 dark:text-contrast-5\",\n }}\n />\n )\n </span>\n </>\n ),\n };\n}\n\nexport function constructOrderStatusDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Status\",\n value: <StatusBadge status={order.status} />,\n };\n}\n\nexport function constructOrderTypeDetail(\n order: LimitOrderItem\n): DetailWithValue {\n return {\n title: \"Order Type\",\n value: order.type,\n };\n}\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\nexport function constructPayReceiveInfoProps({\n extra,\n}: {\n extra: RequiredLimitOrderItemExtra;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: true,\n };\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n },\n };\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgBe,EAA0B,EACxCC,gBAGkB;CAClB,OAAO;EACLC,OAAO;EACPC,OAAOlB,EAAMgB,EAAU,CAACG,OAAO,qBAAoB;EACpD;;AAGH,IAAMC,IAAwB,EAC5BC,MAAM,wBACP;AAED,SAAgBC,EAAyB,EACvCC,eAGkB;CAClB,OAAO;EACLN,OAAO;EACPC,OACE,kBAAC,GAAD;GAA0BK;GAAU,SAASH;GAAsB,CAAA;EAEtE;;AAGH,IAAMI,IAAc;CAClBC,MAAM;CACNC,OAAO;CACR;AAED,SAAgBC,EAAyB,EACvCC,YAGkB;CAClB,OAAO;EACLX,OAAO;EACPC,OAAO,kBAAC,GAAD;GAAaU;GAAO,SAASJ;GAAY,CAAA;EACjD;;AAGH,SAAgBK,EACdC,GACiB;CACjB,IAAM,EAAEC,aAAUC,kBAAenB,EAAwBiB,EAAM,EAEzDG,qBAAM,IAAIC,MAAM,EAACC,SAAS,EAC1BC,IAAWL,IAAWE,GAItBI,IAAsBD,KAAYL,IAAWE,KAAAA;CAEnD,OAAO;EACLhB,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,QAAQc;GACR,SAAS,EACPX,MAAM,eACP;GAAC,CAAA,EAEHe,KACC,kBAAA,GAAA,EAAA,UAAA,CACG,KACD,kBAAC,QAAD;GAAM,WAAU;aAAhB;IAAsD;IAC3C;IACT,kBAAC,GAAD;KACE,aAAaC;KACb,UAAUN,IAAW;KACrB,SAAS,EACPV,MAAM,4DACP;KAAC,CAAA;;IAGA;KAET,EAAA,CAAA,CACH,EAAA,CAAA;EAEH;;AAGH,SAAgBiB,EACdR,GACiB;CACjB,OAAO;EACLb,OAAO;EACPC,OACE,kBAAA,GAAA,EAAA,UAAA;GACGY,EAAMA,MAAMS;GAAU;GAAO;GAC9B,kBAAC,QAAD;IAAM,WAAU;cAAhB;KAAsD;KACxC;KACZ,kBAAC,GAAD;MACE,QAAQT,EAAMA,MAAMU,WAAW;MAC/B,aAAA;MACA,SAAS,EACPnB,MAAM,4DACP;MAAC,CAAA;;KAGA;;GACR,EAAA,CAAA;EAEH;;AAGH,SAAgBoB,EACdX,GACiB;CACjB,OAAO;EACLb,OAAO;EACPC,OAAO,kBAAC,GAAD,EAAa,QAAQY,EAAMY,QAAO,CAAA;EAC1C;;AAGH,SAAgBC,EACdb,GACiB;CACjB,OAAO;EACLb,OAAO;EACPC,OAAOY,EAAMc;EACd;;AAGH,IAAMC,IAAoB;CACxBC,QAAQ;CACRC,QAAQ;CACRC,MAAM;CACP;AAED,SAAgBC,EAA6B,EAC3CrB,YAGsB;CACtB,IAAM,EAAEsB,aAAUC,cAAWC,kBAAeC,sBAAmBzB,GAEzD0B,IAAqB7C,EAAkB2C,EAAc,EACrDG,IAAsB9C,EAAkB4C,EAAe,EAEvDG,IAAsC;EAC1CC,SAASP,EAASO;EAClBV,QAAQG,EAASH;EACjBW,SAASR,EAASS;EAClBC,KAAKV,EAASU;EACdd,QAAQQ;EACRO,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB,EAEKC,IAAyC;EAC7CR,SAASN,EAAUM;EACnBV,QAAQI,EAAUJ;EAClBW,SAASP,EAAUQ;EACnBC,KAAKT,EAAUS;EACfd,QAAQS;EACRM,gBAAgB;EAChBE,SAASlB;EACTmB,iBAAiB;EAClB;CAED,OAAO;EACLE,UAAU;GACRC,iBAAiBX;GACjBY,OAAO;GACR;EACDC,aAAa;GACXF,iBAAiBF;GACjBG,OAAO;GACT;EACD"}
@@ -143,14 +143,11 @@ var g = "-", _ = (e) => {
143
143
  }), n[12] = b, n[13] = S, n[14] = w, n[15] = T) : T = n[15], T;
144
144
  }, w = (t) => {
145
145
  let i = f(10), { status: a, extraLabel: o } = t, s;
146
- if (i[0] !== a) {
147
- let t = n.success.has(a), r = n.failed.has(a), o = n.pending.has(a) || n.executing.has(a);
148
- s = e("text-[10px] p-0.5 px-2 rounded-lg w-max", {
149
- "text-secondary-shamrock-green-2 bg-[#00976733]": t,
150
- "text-secondary-radical-red-1 bg-[#FF3B301A]": r,
151
- "text-secondary-orange-peel-1 bg-[#FF950033]": o
152
- }), i[0] = a, i[1] = s;
153
- } else s = i[1];
146
+ i[0] === a ? s = i[1] : (s = e("text-[10px] p-0.5 px-2 rounded-lg w-max", {
147
+ "text-secondary-shamrock-green-2 bg-[#00976733]": n.success.has(a),
148
+ "text-secondary-radical-red-1 bg-[#FF3B301A]": n.failed.has(a),
149
+ "text-secondary-orange-peel-1 bg-[#FF950033]": n.pending.has(a) || n.executing.has(a)
150
+ }), i[0] = a, i[1] = s);
154
151
  let c;
155
152
  i[2] === a ? c = i[3] : (c = r(a), i[2] = a, i[3] = c);
156
153
  let l;
@@ -1 +1 @@
1
- {"version":3,"file":"LimitOrderListItem.js","names":["TokenBadge","LimitOrderItem","LimitOrderItemExtra","NetworkWithIcon","formatTokenAmount","calcRate","SupportedChainId","cn","DeltaOrderStatusChecker","getDisplayedOrderStatus","isTwapAuction","WithClasses","DeltaAuctionStatus","useDateNow","Duration","twapSliceInfo","getTwapAuctionDeadlines","missingContent","LimitOrdersListItem","t0","$","_c","auction","onClick","t1","t2","t3","t4","srcTokenBadgeClasses","logo","root","destTokenBadgeClasses","networkIconClasses","name","TradeAndNetwork","extra","chainId","Trade","srcToken","destToken","srcAmountUnit","destAmountUnit","visualItemType","formattedSrcAmount","formattedDestAmount","address","img","network","t5","icons","t6","t7","Symbol","for","t8","symbol","t9","typeAndAmounts","t10","Rate","classes","bb0","rateFormatted","left","right","StatusBadge","status","extraLabel","success","has","failed","overallPending","pending","executing","rateClasses","RateAndStatus","props","isTwap","undefined","extraStatusLabel","endsInMs","order","deadline","TimeTillExpiry","showSeconds","now","timeMs"],"sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"sourcesContent":["import { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { LimitOrderItem, LimitOrderItemExtra } from \"./types\";\nimport { NetworkWithIcon } from \"../NetworkWithIcon/NetworkWithIcon\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { cn } from \"@/lib/utils\";\nimport {\n DeltaOrderStatusChecker,\n getDisplayedOrderStatus,\n isTwapAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport type { DeltaAuctionStatus } from \"@velora-dex/sdk\";\nimport { useDateNow } from \"@/lib/utils/useDateNow\";\nimport { Duration } from \"../Duration/Duration\";\nimport { twapSliceInfo } from \"./utils\";\nimport { getTwapAuctionDeadlines } from \"@/lib/utils/twap\";\n\nconst missingContent = \"-\";\n\nexport const LimitOrdersListItem = ({\n auction,\n onClick,\n}: {\n auction: LimitOrderItem;\n onClick: (auction: LimitOrderItem) => void;\n}) => {\n return (\n <div\n className={\"bg-white dark:bg-contrast-3 p-4 rounded-sm cursor-pointer\"}\n onClick={() => onClick(auction)}\n >\n <TradeAndNetwork {...auction} />\n <RateAndStatus {...auction} />\n </div>\n );\n};\n\nconst srcTokenBadgeClasses = { logo: \"size-[16px]\", root: \"z-1\" };\nconst destTokenBadgeClasses = { logo: \"size-[16px]\", root: \"-ml-1\" };\nconst networkIconClasses = { root: \"gap-2\", name: \"dark:text-contrast-7\" };\n\nexport const TradeAndNetwork = ({\n extra,\n chainId,\n}: Pick<LimitOrderItem, \"extra\" | \"chainId\">) => {\n return (\n <div className=\"flex items-center justify-between pb-4\">\n <Trade {...extra} />\n <NetworkWithIcon\n networkId={chainId as SupportedChainId}\n classes={networkIconClasses}\n />\n </div>\n );\n};\n\nconst Trade = ({\n srcToken,\n destToken,\n srcAmountUnit,\n destAmountUnit,\n visualItemType,\n}: LimitOrderItemExtra) => {\n // @TODO we'll miss a big piece of info if we don't have the tokens\n // consider to fetch them onchain if missing in useQuery(select)\n // or just add more token lists\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const icons = (\n <div className=\"flex items-center\">\n <TokenBadge\n address={srcToken.address}\n chainId={srcToken.network}\n img={srcToken.img}\n classes={srcTokenBadgeClasses}\n />\n <TokenBadge\n address={destToken.address}\n img={destToken.img}\n chainId={destToken.network}\n classes={destTokenBadgeClasses}\n />\n </div>\n );\n\n const typeAndAmounts = (\n <div className=\"ml-2 flex flex-col\">\n <div className=\"text-xs font-medium text-contrast-5\">\n {visualItemType}\n </div>\n <div className=\"text-sm font-medium dark:text-contrast-9\">\n {srcToken.symbol} {formattedSrcAmount}\n <span className=\"mx-1\">→</span>\n {destToken.symbol} {formattedDestAmount}\n </div>\n </div>\n );\n\n return (\n <div className=\"flex items-center\">\n {icons}\n {typeAndAmounts}\n </div>\n );\n};\n\nexport const Rate = ({\n extra,\n classes,\n}: { extra: Omit<LimitOrderItemExtra, \"visualItemType\"> } & WithClasses<\n \"root\" | \"left\" | \"right\"\n>) => {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const rateFormatted = calcRate(srcAmountUnit, destAmountUnit)?.rateFormatted;\n if (!rateFormatted) return missingContent;\n\n const left = `${formatTokenAmount(rateFormatted)} ${destToken.symbol}`;\n const right = `per ${srcToken.symbol}`;\n\n return (\n <div className={cn(\"text-xs\", classes?.root)}>\n <span className={classes?.left}>{left}</span>{\" \"}\n <span className={classes?.right}>{right}</span>\n </div>\n );\n};\n\nexport const StatusBadge = ({\n status,\n extraLabel,\n}: {\n status: DeltaAuctionStatus;\n extraLabel?: React.ReactNode;\n}) => {\n const success = DeltaOrderStatusChecker.success.has(status);\n const failed = DeltaOrderStatusChecker.failed.has(status);\n const overallPending =\n DeltaOrderStatusChecker.pending.has(status) ||\n DeltaOrderStatusChecker.executing.has(status);\n\n return (\n <div\n className={cn(\"text-[10px] p-0.5 px-2 rounded-lg w-max\", {\n \"text-secondary-shamrock-green-2 bg-[#00976733]\": success,\n \"text-secondary-radical-red-1 bg-[#FF3B301A]\": failed,\n \"text-secondary-orange-peel-1 bg-[#FF950033]\": overallPending,\n })}\n >\n {getDisplayedOrderStatus(status)}\n {extraLabel && <> {extraLabel}</>}\n </div>\n );\n};\n\nconst rateClasses = {\n left: \"dark:text-contrast-7\",\n right: \"text-contrast-5\",\n};\n\nconst RateAndStatus = (props: LimitOrderItem) => {\n const overallPending =\n DeltaOrderStatusChecker.pending.has(props.status) ||\n DeltaOrderStatusChecker.executing.has(props.status);\n const isTwap = isTwapAuction(props);\n\n const extraStatusLabel = isTwap ? twapSliceInfo(props) : undefined;\n const deadline = isTwap\n ? getTwapAuctionDeadlines(props).endsInMs / 1000\n : props.order.deadline;\n\n return (\n <div className=\"flex items-center justify-between\">\n <Rate extra={props.extra} classes={rateClasses} />\n <div className=\"flex items-center gap-1\">\n {overallPending && <TimeTillExpiry deadline={deadline} />}\n <StatusBadge status={props.status} extraLabel={extraStatusLabel} />\n </div>\n </div>\n );\n};\n\nexport const TimeTillExpiry = ({\n deadline,\n classes,\n showSeconds,\n}: {\n deadline: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const now = useDateNow();\n const timeMs = (deadline - now / 1000) * 1000;\n\n return (\n <Duration timeMs={timeMs} classes={classes} showSeconds={showSeconds} />\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"LimitOrderListItem.js","names":["TokenBadge","LimitOrderItem","LimitOrderItemExtra","NetworkWithIcon","formatTokenAmount","calcRate","SupportedChainId","cn","DeltaOrderStatusChecker","getDisplayedOrderStatus","isTwapAuction","WithClasses","DeltaAuctionStatus","useDateNow","Duration","twapSliceInfo","getTwapAuctionDeadlines","missingContent","LimitOrdersListItem","t0","$","_c","auction","onClick","t1","t2","t3","t4","srcTokenBadgeClasses","logo","root","destTokenBadgeClasses","networkIconClasses","name","TradeAndNetwork","extra","chainId","Trade","srcToken","destToken","srcAmountUnit","destAmountUnit","visualItemType","formattedSrcAmount","formattedDestAmount","address","img","network","t5","icons","t6","t7","Symbol","for","t8","symbol","t9","typeAndAmounts","t10","Rate","classes","bb0","rateFormatted","left","right","StatusBadge","status","extraLabel","success","has","failed","overallPending","pending","executing","rateClasses","RateAndStatus","props","isTwap","undefined","extraStatusLabel","endsInMs","order","deadline","TimeTillExpiry","showSeconds","now","timeMs"],"sources":["../../../../src/components/widget/LimitOrderItem/LimitOrderListItem.tsx"],"sourcesContent":["import { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { LimitOrderItem, LimitOrderItemExtra } from \"./types\";\nimport { NetworkWithIcon } from \"../NetworkWithIcon/NetworkWithIcon\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { cn } from \"@/lib/utils\";\nimport {\n DeltaOrderStatusChecker,\n getDisplayedOrderStatus,\n isTwapAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport type { DeltaAuctionStatus } from \"@velora-dex/sdk\";\nimport { useDateNow } from \"@/lib/utils/useDateNow\";\nimport { Duration } from \"../Duration/Duration\";\nimport { twapSliceInfo } from \"./utils\";\nimport { getTwapAuctionDeadlines } from \"@/lib/utils/twap\";\n\nconst missingContent = \"-\";\n\nexport const LimitOrdersListItem = ({\n auction,\n onClick,\n}: {\n auction: LimitOrderItem;\n onClick: (auction: LimitOrderItem) => void;\n}) => {\n return (\n <div\n className={\"bg-white dark:bg-contrast-3 p-4 rounded-sm cursor-pointer\"}\n onClick={() => onClick(auction)}\n >\n <TradeAndNetwork {...auction} />\n <RateAndStatus {...auction} />\n </div>\n );\n};\n\nconst srcTokenBadgeClasses = { logo: \"size-[16px]\", root: \"z-1\" };\nconst destTokenBadgeClasses = { logo: \"size-[16px]\", root: \"-ml-1\" };\nconst networkIconClasses = { root: \"gap-2\", name: \"dark:text-contrast-7\" };\n\nexport const TradeAndNetwork = ({\n extra,\n chainId,\n}: Pick<LimitOrderItem, \"extra\" | \"chainId\">) => {\n return (\n <div className=\"flex items-center justify-between pb-4\">\n <Trade {...extra} />\n <NetworkWithIcon\n networkId={chainId as SupportedChainId}\n classes={networkIconClasses}\n />\n </div>\n );\n};\n\nconst Trade = ({\n srcToken,\n destToken,\n srcAmountUnit,\n destAmountUnit,\n visualItemType,\n}: LimitOrderItemExtra) => {\n // @TODO we'll miss a big piece of info if we don't have the tokens\n // consider to fetch them onchain if missing in useQuery(select)\n // or just add more token lists\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const icons = (\n <div className=\"flex items-center\">\n <TokenBadge\n address={srcToken.address}\n chainId={srcToken.network}\n img={srcToken.img}\n classes={srcTokenBadgeClasses}\n />\n <TokenBadge\n address={destToken.address}\n img={destToken.img}\n chainId={destToken.network}\n classes={destTokenBadgeClasses}\n />\n </div>\n );\n\n const typeAndAmounts = (\n <div className=\"ml-2 flex flex-col\">\n <div className=\"text-xs font-medium text-contrast-5\">\n {visualItemType}\n </div>\n <div className=\"text-sm font-medium dark:text-contrast-9\">\n {srcToken.symbol} {formattedSrcAmount}\n <span className=\"mx-1\">→</span>\n {destToken.symbol} {formattedDestAmount}\n </div>\n </div>\n );\n\n return (\n <div className=\"flex items-center\">\n {icons}\n {typeAndAmounts}\n </div>\n );\n};\n\nexport const Rate = ({\n extra,\n classes,\n}: { extra: Omit<LimitOrderItemExtra, \"visualItemType\"> } & WithClasses<\n \"root\" | \"left\" | \"right\"\n>) => {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n if (!srcToken || !destToken || !srcAmountUnit || !destAmountUnit)\n return missingContent;\n\n const rateFormatted = calcRate(srcAmountUnit, destAmountUnit)?.rateFormatted;\n if (!rateFormatted) return missingContent;\n\n const left = `${formatTokenAmount(rateFormatted)} ${destToken.symbol}`;\n const right = `per ${srcToken.symbol}`;\n\n return (\n <div className={cn(\"text-xs\", classes?.root)}>\n <span className={classes?.left}>{left}</span>{\" \"}\n <span className={classes?.right}>{right}</span>\n </div>\n );\n};\n\nexport const StatusBadge = ({\n status,\n extraLabel,\n}: {\n status: DeltaAuctionStatus;\n extraLabel?: React.ReactNode;\n}) => {\n const success = DeltaOrderStatusChecker.success.has(status);\n const failed = DeltaOrderStatusChecker.failed.has(status);\n const overallPending =\n DeltaOrderStatusChecker.pending.has(status) ||\n DeltaOrderStatusChecker.executing.has(status);\n\n return (\n <div\n className={cn(\"text-[10px] p-0.5 px-2 rounded-lg w-max\", {\n \"text-secondary-shamrock-green-2 bg-[#00976733]\": success,\n \"text-secondary-radical-red-1 bg-[#FF3B301A]\": failed,\n \"text-secondary-orange-peel-1 bg-[#FF950033]\": overallPending,\n })}\n >\n {getDisplayedOrderStatus(status)}\n {extraLabel && <> {extraLabel}</>}\n </div>\n );\n};\n\nconst rateClasses = {\n left: \"dark:text-contrast-7\",\n right: \"text-contrast-5\",\n};\n\nconst RateAndStatus = (props: LimitOrderItem) => {\n const overallPending =\n DeltaOrderStatusChecker.pending.has(props.status) ||\n DeltaOrderStatusChecker.executing.has(props.status);\n const isTwap = isTwapAuction(props);\n\n const extraStatusLabel = isTwap ? twapSliceInfo(props) : undefined;\n const deadline = isTwap\n ? getTwapAuctionDeadlines(props).endsInMs / 1000\n : props.order.deadline;\n\n return (\n <div className=\"flex items-center justify-between\">\n <Rate extra={props.extra} classes={rateClasses} />\n <div className=\"flex items-center gap-1\">\n {overallPending && <TimeTillExpiry deadline={deadline} />}\n <StatusBadge status={props.status} extraLabel={extraStatusLabel} />\n </div>\n </div>\n );\n};\n\nexport const TimeTillExpiry = ({\n deadline,\n classes,\n showSeconds,\n}: {\n deadline: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const now = useDateNow();\n const timeMs = (deadline - now / 1000) * 1000;\n\n return (\n <Duration timeMs={timeMs} classes={classes} showSeconds={showSeconds} />\n );\n};\n"],"mappings":"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"}