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

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 (615) 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.d.ts +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts.map +1 -1
  17. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +30 -16
  18. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  19. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  20. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/index.js +1 -1
  23. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  27. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  28. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
  29. package/dist/components/web3/ConnectWallets/walletIcons.js +1 -1
  30. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  31. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  32. package/dist/components/web3/providers.js.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  34. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  35. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  36. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  37. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  38. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  39. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  40. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  41. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  42. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +61 -53
  43. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  44. package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
  45. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  46. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  47. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
  48. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  49. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  50. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  51. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  52. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  53. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  54. package/dist/components/widget/Button/RefreshButton.d.ts +3 -0
  55. package/dist/components/widget/Button/RefreshButton.d.ts.map +1 -0
  56. package/dist/components/widget/Button/RefreshButton.js +28 -0
  57. package/dist/components/widget/Button/RefreshButton.js.map +1 -0
  58. package/dist/components/widget/Button/types.d.ts +7 -0
  59. package/dist/components/widget/Button/types.d.ts.map +1 -0
  60. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -1
  61. package/dist/components/widget/CompareQuotes/CompareQuotes.js +67 -73
  62. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  63. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  64. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  65. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  66. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  67. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  68. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  69. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  70. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  71. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  72. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  73. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  74. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  75. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  76. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  77. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  78. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  79. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  80. package/dist/components/widget/Drawer/index.js.map +1 -1
  81. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  82. package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
  83. package/dist/components/widget/Dropdown/DropdownWithItems.js +3 -2
  84. package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
  85. package/dist/components/widget/Dropdown/types.d.ts +1 -1
  86. package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
  87. package/dist/components/widget/Duration/Duration.js.map +1 -1
  88. package/dist/components/widget/Duration/utils.js.map +1 -1
  89. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  90. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  91. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  92. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  93. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  94. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  95. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  96. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  97. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  98. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  99. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  100. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  101. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  102. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  103. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  104. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  105. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  106. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  107. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  108. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  109. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  110. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  111. package/dist/components/widget/Line/Line.js.map +1 -1
  112. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  113. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  114. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  115. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  116. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  117. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  118. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  119. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  120. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  121. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  122. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  123. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  124. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  125. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  126. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  127. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  128. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  129. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  130. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  131. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  132. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  133. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  134. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  135. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  136. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  137. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  138. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  139. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  140. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  141. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  142. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  143. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  144. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  145. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  146. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  147. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  148. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  149. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  150. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +4 -1
  151. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -1
  152. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +51 -28
  153. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  154. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  155. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  156. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  157. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  158. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  159. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  160. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  161. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  162. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  163. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  164. package/dist/components/widget/TokenInput/index.js.map +1 -1
  165. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  178. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  179. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  180. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  181. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  182. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  183. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  184. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  185. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  186. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  187. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  188. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  189. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  190. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  191. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  192. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  193. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  194. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  195. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  196. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  197. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  198. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  205. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  206. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  207. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  208. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  209. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  210. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  211. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  212. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  213. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  214. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  215. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  216. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  217. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  218. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  219. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  220. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  221. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  222. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  223. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  224. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  225. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  226. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  227. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  228. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  229. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  230. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  231. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  232. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  233. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  234. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  235. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  236. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  237. package/dist/components/widget/Warning/Warning.js.map +1 -1
  238. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  239. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  240. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  241. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  242. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  243. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  244. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  245. package/dist/core/LimitOrderButton.js.map +1 -1
  246. package/dist/core/LimitOrderDetails.js.map +1 -1
  247. package/dist/core/OtcOrderButton.js.map +1 -1
  248. package/dist/core/OtcOrderDetails.js.map +1 -1
  249. package/dist/core/Toaster.js.map +1 -1
  250. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  251. package/dist/core/TwapDetails.js.map +1 -1
  252. package/dist/core/Updaters.js.map +1 -1
  253. package/dist/core/Warnings.js.map +1 -1
  254. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  255. package/dist/core/across/utils.js.map +1 -1
  256. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  257. package/dist/core/index.js.map +1 -1
  258. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  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.js.map +1 -1
  262. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  263. package/dist/core/inputs/hooks/utils.js.map +1 -1
  264. package/dist/core/inputs/state/common.js.map +1 -1
  265. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  266. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  267. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  268. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  269. package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
  270. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  271. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  272. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  273. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  274. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  275. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  276. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  277. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  278. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  279. package/dist/core/limit/state/utils.js.map +1 -1
  280. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  281. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  282. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  283. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  284. package/dist/core/limit/useLimitRate.js.map +1 -1
  285. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  286. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  287. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  288. package/dist/core/logger.js.map +1 -1
  289. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  290. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  291. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  292. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  293. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  294. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  295. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  296. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  297. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  298. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  299. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  300. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  301. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  302. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  303. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  304. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  305. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  306. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  307. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  308. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  309. package/dist/core/screen/state/screenAtom.js.map +1 -1
  310. package/dist/core/state/apiConfigAtom.js.map +1 -1
  311. package/dist/core/state/chainToAtom.js.map +1 -1
  312. package/dist/core/state/configActionsAtom.js.map +1 -1
  313. package/dist/core/state/configAtom.js +2 -2
  314. package/dist/core/state/configAtom.js.map +1 -1
  315. package/dist/core/state/configEffectAtom.js.map +1 -1
  316. package/dist/core/state/containerAtom.js.map +1 -1
  317. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  318. package/dist/core/state/enabledTradeModesAtom.d.ts +7 -1
  319. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
  320. package/dist/core/state/enabledTradeModesAtom.js +1 -1
  321. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  322. package/dist/core/state/externalProviderAtom.js.map +1 -1
  323. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  324. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  325. package/dist/core/state/tradeModeAtom.js +1 -1
  326. package/dist/core/state/tradeModeAtom.js.map +1 -1
  327. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  328. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  329. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  330. package/dist/core/subscriptions.js.map +1 -1
  331. package/dist/core/swapDetails/fees.js.map +1 -1
  332. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  333. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  334. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  335. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  336. package/dist/core/swapDetails/useSwapDetailsListProps.js +37 -31
  337. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  338. package/dist/core/swapDetails/youGet.js.map +1 -1
  339. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  340. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  341. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  342. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  343. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  344. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  345. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -1
  346. package/dist/core/twap/useTwapDetailsListProps.js +36 -31
  347. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  348. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  349. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  350. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  351. package/dist/events/effects/formInput.js.map +1 -1
  352. package/dist/events/effects/price.js.map +1 -1
  353. package/dist/events/effects/swapMode.js.map +1 -1
  354. package/dist/events/getters/limit.js.map +1 -1
  355. package/dist/events/getters/otc.js.map +1 -1
  356. package/dist/events/getters/settings.js.map +1 -1
  357. package/dist/events/getters/swap.js.map +1 -1
  358. package/dist/events/getters/twap.js.map +1 -1
  359. package/dist/events/getters/widgetState.js.map +1 -1
  360. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  361. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  362. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  363. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  364. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  365. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  366. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  367. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  368. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  369. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  370. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  371. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  372. package/dist/hooks/gas/utils.js.map +1 -1
  373. package/dist/hooks/getCode/query.js.map +1 -1
  374. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  375. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  376. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  377. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  378. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  379. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  380. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  381. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  382. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  383. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  384. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  385. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  386. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  387. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  388. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  389. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  390. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  391. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  392. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  393. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  394. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  395. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  396. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  397. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  398. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  399. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  400. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  401. package/dist/hooks/permit/utils/constants.js.map +1 -1
  402. package/dist/hooks/permit/utils/construct.js.map +1 -1
  403. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  404. package/dist/hooks/permit/utils/detect.js.map +1 -1
  405. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  406. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  407. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  408. package/dist/hooks/permit/utils/utils.js.map +1 -1
  409. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  410. package/dist/hooks/sdk/useSpender.js.map +1 -1
  411. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  412. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  413. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  414. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  415. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  416. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  417. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  418. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  419. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  420. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  421. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  422. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  423. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  424. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  425. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  426. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  427. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  428. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  429. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  430. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  431. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  432. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  433. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  434. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  435. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  436. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  437. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  438. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  439. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  440. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  441. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  442. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  443. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  444. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  445. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  446. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  447. package/dist/hooks/swap/prices/factory.js.map +1 -1
  448. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  449. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  450. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  451. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  452. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  453. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  454. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  455. package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -7
  456. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  457. package/dist/hooks/swap/prices/useSwapPrices.js +28 -24
  458. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  459. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  460. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  461. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  462. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  463. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  464. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  465. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  466. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  467. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  468. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  469. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  470. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  471. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  472. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  473. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  474. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  475. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  476. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  477. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  478. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  479. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  480. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  481. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  482. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  483. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  484. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  485. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  486. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  487. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  488. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  489. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  490. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  491. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  492. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  493. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  494. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  495. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  496. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  497. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  498. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  499. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  500. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  501. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  502. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  503. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  504. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  505. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  506. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  507. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  508. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  509. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  510. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  511. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  512. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  513. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  514. package/dist/hooks/txs/queries/utils.js.map +1 -1
  515. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  516. package/dist/hooks/useBreakpoints.js.map +1 -1
  517. package/dist/hooks/useBridgeInfo.js.map +1 -1
  518. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  519. package/dist/hooks/useCachedQueryError.js.map +1 -1
  520. package/dist/hooks/useChainMatches.js.map +1 -1
  521. package/dist/hooks/useClickOutside.js.map +1 -1
  522. package/dist/hooks/useCurrentChain.js.map +1 -1
  523. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  524. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  525. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  526. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  527. package/dist/hooks/useMinViemClient.js.map +1 -1
  528. package/dist/hooks/useSDK.js.map +1 -1
  529. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  530. package/dist/hooks/useSlippage.js.map +1 -1
  531. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  532. package/dist/lib/constants/urls.js.map +1 -1
  533. package/dist/lib/ipfs.js.map +1 -1
  534. package/dist/lib/queryClient.js.map +1 -1
  535. package/dist/lib/tradeMode.d.ts +1 -0
  536. package/dist/lib/tradeMode.d.ts.map +1 -1
  537. package/dist/lib/tradeMode.js +4 -1
  538. package/dist/lib/tradeMode.js.map +1 -1
  539. package/dist/lib/utils/approval.js.map +1 -1
  540. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  541. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  542. package/dist/lib/utils/delta.js.map +1 -1
  543. package/dist/lib/utils/dexes.js.map +1 -1
  544. package/dist/lib/utils/explorer.js.map +1 -1
  545. package/dist/lib/utils/fee.js.map +1 -1
  546. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  547. package/dist/lib/utils/formatPercent.js.map +1 -1
  548. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  549. package/dist/lib/utils/index.js.map +1 -1
  550. package/dist/lib/utils/logger.js.map +1 -1
  551. package/dist/lib/utils/metabase.js.map +1 -1
  552. package/dist/lib/utils/mobile.js.map +1 -1
  553. package/dist/lib/utils/price.js.map +1 -1
  554. package/dist/lib/utils/priceImpact.js.map +1 -1
  555. package/dist/lib/utils/providerErrors.js.map +1 -1
  556. package/dist/lib/utils/rate.js.map +1 -1
  557. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  558. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  559. package/dist/lib/utils/scaleFactor.js.map +1 -1
  560. package/dist/lib/utils/slippage.js.map +1 -1
  561. package/dist/lib/utils/time.js.map +1 -1
  562. package/dist/lib/utils/toDecimal.js.map +1 -1
  563. package/dist/lib/utils/toasts.js.map +1 -1
  564. package/dist/lib/utils/tradeFlow.js.map +1 -1
  565. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  566. package/dist/lib/utils/tuple.js.map +1 -1
  567. package/dist/lib/utils/twap.js.map +1 -1
  568. package/dist/lib/utils/useDateNow.js.map +1 -1
  569. package/dist/lib/web3/wagmi/config.d.ts +0 -18
  570. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  571. package/dist/lib/web3/wagmi/config.js +19 -6
  572. package/dist/lib/web3/wagmi/config.js.map +1 -1
  573. package/dist/lib/web3/wagmi/external.js.map +1 -1
  574. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  575. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  576. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  577. package/dist/styles.css +1 -1
  578. package/dist/tokens/blacklist.js.map +1 -1
  579. package/dist/tokens/constructor.js.map +1 -1
  580. package/dist/tokens/defaultTokens.js.map +1 -1
  581. package/dist/tokens/hooks.js.map +1 -1
  582. package/dist/tokens/lists/constants.js.map +1 -1
  583. package/dist/tokens/lists/download.js.map +1 -1
  584. package/dist/tokens/lists/state/effects.js.map +1 -1
  585. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  586. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  587. package/dist/tokens/overrides.js.map +1 -1
  588. package/dist/tokens/queries.js.map +1 -1
  589. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  590. package/dist/tokens/stabeCoins/index.js.map +1 -1
  591. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  592. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  593. package/dist/tokens/state/constructTokens.js.map +1 -1
  594. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  595. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  596. package/dist/tokens/utils/brand.js.map +1 -1
  597. package/dist/tokens/utils/eth.js.map +1 -1
  598. package/dist/tokens/utils/filtering.js.map +1 -1
  599. package/dist/tokens/utils/sets.js.map +1 -1
  600. package/dist/tokens/utils/sorting.js.map +1 -1
  601. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  602. package/dist/transactions/hash.js.map +1 -1
  603. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  604. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  605. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  606. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  607. package/dist/transactions/state/effects/finalize.js.map +1 -1
  608. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  609. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  610. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  611. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  612. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  613. package/dist/transactions/status.js.map +1 -1
  614. package/dist/transactions/utils.js.map +1 -1
  615. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityItems.js","names":["useState","cn","OtcOrdersListItem","LimitOrdersListItem","Skeleton","emptyArray","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","OrderItem","Button","ReactComponent","EyeSVG","EyeCrossedSVG","ordersCountAtomMap","useAtom","TransactionListItemComp","heightClassName","titleClassName","OrdersData","orders","isLoading","ActivityItems","t0","$","_c","activeOrders","orderHistory","onItemClick","relation","t1","t2","status","areHidden","activeOrdersHidden","toggleHidden","toggleActiveOrdersHidden","notEmpty","activeOrdersNotEmpty","showMoreProps","activeOrdersShowMore","EyeIcon","ActiveOrdersIcon","countToShow","activeOrdersCountToShow","useOrderItemsProps","t3","t4","orderHistoryHidden","toggleOrderHistoryHidden","orderHistoryNotEmpty","orderHistoryShowMore","OrderHistoryIcon","orderHistoryCountToShow","activeOrdersIsLoading","orderHistoryIsLoading","t5","Symbol","for","Array","from","length","map","_temp","order","orderHash","id","renderer","t6","t7","paginatedItems","hasMore","showMore","nextShowMoreCount","t8","t9","undefined","items","useShowMoreProps","setAreHidden","props","ITEMS_PER_PAGE","itemsPerPage","itemsCount","setItemsCount","specificStatusCount","slice","prev","Math","min","_","i"],"sources":["../../../../../src/components/widget/AppHeader/Activities/ActivityItems.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nimport { OtcOrdersListItem } from \"../../OtcOrderItem/OtcOrderListItem\";\nimport { LimitOrdersListItem } from \"../../LimitOrderItem/LimitOrderListItem\";\n\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\nimport { emptyArray } from \"@/lib/constants\";\nimport {\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n type OrderItem,\n} from \"./utils\";\nimport { Button } from \"@/components/ui/button\";\n\nimport { ReactComponent as EyeSVG } from \"./assets/eye.svg\";\nimport { ReactComponent as EyeCrossedSVG } from \"./assets/eye-crossed.svg\";\nimport { ordersCountAtomMap } from \"../state/showMoreAtom\";\nimport { useAtom } from \"@/core/store\";\nimport { TransactionListItemComp } from \"../../TransactionDetails/TransactionListItem\";\n\nconst heightClassName = \"h-[420px]\";\nconst titleClassName = \"text-contrast-5 dark:text-contrast-6 text-xs pb-2\";\n\ntype OrdersData = {\n orders?: OrderItem[];\n isLoading: boolean;\n};\n\nexport const ActivityItems = ({\n activeOrders,\n orderHistory,\n onItemClick,\n relation,\n}: {\n activeOrders?: OrdersData;\n orderHistory?: OrdersData;\n onItemClick: (item: OrderItem) => void;\n relation: \"asMaker\" | \"asTaker\";\n}) => {\n const {\n areHidden: activeOrdersHidden,\n toggleHidden: toggleActiveOrdersHidden,\n notEmpty: activeOrdersNotEmpty,\n showMoreProps: activeOrdersShowMore,\n EyeIcon: ActiveOrdersIcon,\n countToShow: activeOrdersCountToShow,\n } = useOrderItemsProps({\n orders: activeOrders?.orders,\n status: \"active\",\n relation,\n });\n const {\n areHidden: orderHistoryHidden,\n toggleHidden: toggleOrderHistoryHidden,\n notEmpty: orderHistoryNotEmpty,\n showMoreProps: orderHistoryShowMore,\n EyeIcon: OrderHistoryIcon,\n countToShow: orderHistoryCountToShow,\n } = useOrderItemsProps({\n orders: orderHistory?.orders,\n status: \"history\",\n relation,\n });\n\n const activeOrdersIsLoading = activeOrders?.isLoading;\n const orderHistoryIsLoading = orderHistory?.isLoading;\n\n if (\n activeOrdersIsLoading &&\n orderHistoryIsLoading &&\n !activeOrdersNotEmpty &&\n !orderHistoryNotEmpty\n )\n return (\n <div className={cn(\"flex flex-col gap-4 px-6\", heightClassName)}>\n {Array.from({ length: 3 }).map((_, i) => (\n <Skeleton className=\"h-[116px]\" key={i} />\n ))}\n </div>\n );\n\n if (!activeOrdersNotEmpty && !orderHistoryNotEmpty)\n return <div className={heightClassName} />;\n\n const renderer = (order: OrderItem) =>\n isOtcOrderItem(order) ? (\n <OtcOrdersListItem\n orderItem={order}\n key={`otc_${order.orderHash}`}\n onClick={onItemClick}\n />\n ) : isLimitOrderItem(order) ? (\n <LimitOrdersListItem\n auction={order}\n key={`limit_${order.id}`}\n onClick={onItemClick}\n />\n ) : isTransactionListItem(order) ? (\n <TransactionListItemComp\n txItem={order}\n key={`tx_${order.id}`}\n onClick={onItemClick}\n />\n ) : null;\n\n return (\n <div\n className={cn(\n \"overflow-auto [scrollbar-gutter:stable_both-edges]\",\n heightClassName\n )}\n >\n {activeOrdersNotEmpty && (\n <div className={cn(\"px-5\", { \"pb-6\": !orderHistoryNotEmpty })}>\n <div\n className={cn(titleClassName, \"flex justify-between items-center\")}\n >\n ACTIVE ORDERS ({activeOrdersCountToShow})\n {orderHistoryNotEmpty && (\n <ActiveOrdersIcon\n onClick={toggleActiveOrdersHidden}\n className=\"cursor-pointer size-4\"\n />\n )}\n </div>\n {!activeOrdersHidden && (\n <>\n <div className=\"flex flex-col gap-y-4\">\n {activeOrdersShowMore.paginatedItems.map(renderer)}\n </div>\n {activeOrdersShowMore.hasMore && (\n <Button\n variant=\"ghost\"\n className=\"mt-4 w-full h-4 text-xs text-center text-primary-azul-1 cursor-pointer hover:text-primary-azul-1 hover:bg-contrast-7\"\n onClick={activeOrdersShowMore.showMore}\n >\n Show more (+{activeOrdersShowMore.nextShowMoreCount})\n </Button>\n )}\n </>\n )}\n </div>\n )}\n {orderHistoryNotEmpty && (\n <div className={cn(\"px-5 pb-6\", { \"pt-4\": activeOrdersNotEmpty })}>\n <div\n className={cn(titleClassName, \"flex justify-between items-center\")}\n >\n ORDER HISTORY ({orderHistoryCountToShow})\n {activeOrdersNotEmpty && (\n <OrderHistoryIcon\n onClick={toggleOrderHistoryHidden}\n className=\"cursor-pointer size-4\"\n />\n )}\n </div>\n {!orderHistoryHidden && (\n <>\n <div className=\"flex flex-col gap-y-4\">\n {orderHistoryShowMore.paginatedItems.map(renderer)}\n </div>\n {orderHistoryShowMore.hasMore && (\n <Button\n variant=\"ghost\"\n className=\"mt-4 w-full h-4 text-xs text-center text-primary-azul-1 cursor-pointer hover:text-primary-azul-1 hover:bg-contrast-7\"\n onClick={orderHistoryShowMore.showMore}\n >\n Show more (+{orderHistoryShowMore.nextShowMoreCount})\n </Button>\n )}\n </>\n )}\n </div>\n )}\n </div>\n );\n};\n\nfunction useOrderItemsProps({\n orders = emptyArray,\n status,\n relation,\n}: {\n orders?: OrderItem[];\n status: \"active\" | \"history\";\n relation: \"asMaker\" | \"asTaker\";\n}) {\n const showMoreProps = useShowMoreProps({\n items: orders,\n status,\n relation,\n });\n const [areHidden, setAreHidden] = useState(false);\n\n const toggleHidden = () => {\n setAreHidden(!areHidden);\n };\n\n const EyeIcon = areHidden ? EyeSVG : EyeCrossedSVG;\n const countToShow = orders.length >= 99 ? \"+99\" : orders.length;\n const notEmpty = orders.length > 0;\n\n const props = {\n showMoreProps,\n areHidden,\n setAreHidden,\n toggleHidden,\n countToShow,\n notEmpty,\n EyeIcon,\n };\n\n return props;\n}\n\nconst ITEMS_PER_PAGE = 15;\n\nfunction useShowMoreProps<T = unknown>({\n items = [],\n itemsPerPage = ITEMS_PER_PAGE,\n status,\n relation,\n}: {\n items: T[];\n itemsPerPage?: number;\n status: \"active\" | \"history\";\n relation: \"asMaker\" | \"asTaker\";\n}) {\n const [itemsCount, setItemsCount] = useAtom(ordersCountAtomMap[relation]);\n const specificStatusCount = itemsCount[status];\n\n const paginatedItems = items.slice(0, specificStatusCount);\n\n const showMore = () => {\n setItemsCount((prev) => ({\n ...prev,\n [status]: prev[status] + itemsPerPage,\n }));\n };\n\n const hasMore = items.length > specificStatusCount;\n const nextShowMoreCount = Math.min(\n itemsPerPage,\n items.length - specificStatusCount\n );\n\n return {\n paginatedItems,\n showMore,\n hasMore,\n nextShowMoreCount: nextShowMoreCount < 0 ? 0 : nextShowMoreCount,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActivityItems.js","names":["useState","cn","OtcOrdersListItem","LimitOrdersListItem","Skeleton","emptyArray","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","OrderItem","Button","ReactComponent","EyeSVG","EyeCrossedSVG","ordersCountAtomMap","useAtom","TransactionListItemComp","heightClassName","titleClassName","OrdersData","orders","isLoading","ActivityItems","t0","$","_c","activeOrders","orderHistory","onItemClick","relation","t1","t2","status","areHidden","activeOrdersHidden","toggleHidden","toggleActiveOrdersHidden","notEmpty","activeOrdersNotEmpty","showMoreProps","activeOrdersShowMore","EyeIcon","ActiveOrdersIcon","countToShow","activeOrdersCountToShow","useOrderItemsProps","t3","t4","orderHistoryHidden","toggleOrderHistoryHidden","orderHistoryNotEmpty","orderHistoryShowMore","OrderHistoryIcon","orderHistoryCountToShow","activeOrdersIsLoading","orderHistoryIsLoading","t5","Symbol","for","Array","from","length","map","_temp","order","orderHash","id","renderer","t6","t7","paginatedItems","hasMore","showMore","nextShowMoreCount","t8","t9","undefined","items","useShowMoreProps","setAreHidden","props","ITEMS_PER_PAGE","itemsPerPage","itemsCount","setItemsCount","specificStatusCount","slice","prev","Math","min","_","i"],"sources":["../../../../../src/components/widget/AppHeader/Activities/ActivityItems.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nimport { OtcOrdersListItem } from \"../../OtcOrderItem/OtcOrderListItem\";\nimport { LimitOrdersListItem } from \"../../LimitOrderItem/LimitOrderListItem\";\n\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\nimport { emptyArray } from \"@/lib/constants\";\nimport {\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n type OrderItem,\n} from \"./utils\";\nimport { Button } from \"@/components/ui/button\";\n\nimport { ReactComponent as EyeSVG } from \"./assets/eye.svg\";\nimport { ReactComponent as EyeCrossedSVG } from \"./assets/eye-crossed.svg\";\nimport { ordersCountAtomMap } from \"../state/showMoreAtom\";\nimport { useAtom } from \"@/core/store\";\nimport { TransactionListItemComp } from \"../../TransactionDetails/TransactionListItem\";\n\nconst heightClassName = \"h-[420px]\";\nconst titleClassName = \"text-contrast-5 dark:text-contrast-6 text-xs pb-2\";\n\ntype OrdersData = {\n orders?: OrderItem[];\n isLoading: boolean;\n};\n\nexport const ActivityItems = ({\n activeOrders,\n orderHistory,\n onItemClick,\n relation,\n}: {\n activeOrders?: OrdersData;\n orderHistory?: OrdersData;\n onItemClick: (item: OrderItem) => void;\n relation: \"asMaker\" | \"asTaker\";\n}) => {\n const {\n areHidden: activeOrdersHidden,\n toggleHidden: toggleActiveOrdersHidden,\n notEmpty: activeOrdersNotEmpty,\n showMoreProps: activeOrdersShowMore,\n EyeIcon: ActiveOrdersIcon,\n countToShow: activeOrdersCountToShow,\n } = useOrderItemsProps({\n orders: activeOrders?.orders,\n status: \"active\",\n relation,\n });\n const {\n areHidden: orderHistoryHidden,\n toggleHidden: toggleOrderHistoryHidden,\n notEmpty: orderHistoryNotEmpty,\n showMoreProps: orderHistoryShowMore,\n EyeIcon: OrderHistoryIcon,\n countToShow: orderHistoryCountToShow,\n } = useOrderItemsProps({\n orders: orderHistory?.orders,\n status: \"history\",\n relation,\n });\n\n const activeOrdersIsLoading = activeOrders?.isLoading;\n const orderHistoryIsLoading = orderHistory?.isLoading;\n\n if (\n activeOrdersIsLoading &&\n orderHistoryIsLoading &&\n !activeOrdersNotEmpty &&\n !orderHistoryNotEmpty\n )\n return (\n <div className={cn(\"flex flex-col gap-4 px-6\", heightClassName)}>\n {Array.from({ length: 3 }).map((_, i) => (\n <Skeleton className=\"h-[116px]\" key={i} />\n ))}\n </div>\n );\n\n if (!activeOrdersNotEmpty && !orderHistoryNotEmpty)\n return <div className={heightClassName} />;\n\n const renderer = (order: OrderItem) =>\n isOtcOrderItem(order) ? (\n <OtcOrdersListItem\n orderItem={order}\n key={`otc_${order.orderHash}`}\n onClick={onItemClick}\n />\n ) : isLimitOrderItem(order) ? (\n <LimitOrdersListItem\n auction={order}\n key={`limit_${order.id}`}\n onClick={onItemClick}\n />\n ) : isTransactionListItem(order) ? (\n <TransactionListItemComp\n txItem={order}\n key={`tx_${order.id}`}\n onClick={onItemClick}\n />\n ) : null;\n\n return (\n <div\n className={cn(\n \"overflow-auto [scrollbar-gutter:stable_both-edges]\",\n heightClassName\n )}\n >\n {activeOrdersNotEmpty && (\n <div className={cn(\"px-5\", { \"pb-6\": !orderHistoryNotEmpty })}>\n <div\n className={cn(titleClassName, \"flex justify-between items-center\")}\n >\n ACTIVE ORDERS ({activeOrdersCountToShow})\n {orderHistoryNotEmpty && (\n <ActiveOrdersIcon\n onClick={toggleActiveOrdersHidden}\n className=\"cursor-pointer size-4\"\n />\n )}\n </div>\n {!activeOrdersHidden && (\n <>\n <div className=\"flex flex-col gap-y-4\">\n {activeOrdersShowMore.paginatedItems.map(renderer)}\n </div>\n {activeOrdersShowMore.hasMore && (\n <Button\n variant=\"ghost\"\n className=\"mt-4 w-full h-4 text-xs text-center text-primary-azul-1 cursor-pointer hover:text-primary-azul-1 hover:bg-contrast-7\"\n onClick={activeOrdersShowMore.showMore}\n >\n Show more (+{activeOrdersShowMore.nextShowMoreCount})\n </Button>\n )}\n </>\n )}\n </div>\n )}\n {orderHistoryNotEmpty && (\n <div className={cn(\"px-5 pb-6\", { \"pt-4\": activeOrdersNotEmpty })}>\n <div\n className={cn(titleClassName, \"flex justify-between items-center\")}\n >\n ORDER HISTORY ({orderHistoryCountToShow})\n {activeOrdersNotEmpty && (\n <OrderHistoryIcon\n onClick={toggleOrderHistoryHidden}\n className=\"cursor-pointer size-4\"\n />\n )}\n </div>\n {!orderHistoryHidden && (\n <>\n <div className=\"flex flex-col gap-y-4\">\n {orderHistoryShowMore.paginatedItems.map(renderer)}\n </div>\n {orderHistoryShowMore.hasMore && (\n <Button\n variant=\"ghost\"\n className=\"mt-4 w-full h-4 text-xs text-center text-primary-azul-1 cursor-pointer hover:text-primary-azul-1 hover:bg-contrast-7\"\n onClick={orderHistoryShowMore.showMore}\n >\n Show more (+{orderHistoryShowMore.nextShowMoreCount})\n </Button>\n )}\n </>\n )}\n </div>\n )}\n </div>\n );\n};\n\nfunction useOrderItemsProps({\n orders = emptyArray,\n status,\n relation,\n}: {\n orders?: OrderItem[];\n status: \"active\" | \"history\";\n relation: \"asMaker\" | \"asTaker\";\n}) {\n const showMoreProps = useShowMoreProps({\n items: orders,\n status,\n relation,\n });\n const [areHidden, setAreHidden] = useState(false);\n\n const toggleHidden = () => {\n setAreHidden(!areHidden);\n };\n\n const EyeIcon = areHidden ? EyeSVG : EyeCrossedSVG;\n const countToShow = orders.length >= 99 ? \"+99\" : orders.length;\n const notEmpty = orders.length > 0;\n\n const props = {\n showMoreProps,\n areHidden,\n setAreHidden,\n toggleHidden,\n countToShow,\n notEmpty,\n EyeIcon,\n };\n\n return props;\n}\n\nconst ITEMS_PER_PAGE = 15;\n\nfunction useShowMoreProps<T = unknown>({\n items = [],\n itemsPerPage = ITEMS_PER_PAGE,\n status,\n relation,\n}: {\n items: T[];\n itemsPerPage?: number;\n status: \"active\" | \"history\";\n relation: \"asMaker\" | \"asTaker\";\n}) {\n const [itemsCount, setItemsCount] = useAtom(ordersCountAtomMap[relation]);\n const specificStatusCount = itemsCount[status];\n\n const paginatedItems = items.slice(0, specificStatusCount);\n\n const showMore = () => {\n setItemsCount((prev) => ({\n ...prev,\n [status]: prev[status] + itemsPerPage,\n }));\n };\n\n const hasMore = items.length > specificStatusCount;\n const nextShowMoreCount = Math.min(\n itemsPerPage,\n items.length - specificStatusCount\n );\n\n return {\n paginatedItems,\n showMore,\n hasMore,\n nextShowMoreCount: nextShowMoreCount < 0 ? 0 : nextShowMoreCount,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuBA,IAAMiB,IAAkB,aAClBC,IAAiB,qDAOVI,KAAgBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,iBAAAC,iBAAAC,gBAAAC,gBAAAN,GAmBlBO,IAAAJ,GAAYN,QAAQW;CAAA,AAAAP,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KADPC,IAAA;EAAAX,QACbU;EAAoBE,QACpB;EAAQH;EAEjB,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAXD,IAAA,EAAAS,WAAAC,GAAAC,cAAAC,GAAAC,UAAAC,GAAAC,eAAAC,GAAAC,SAAAC,GAAAC,aAAAC,MAOIC,EAAmBd,EAIrB,EASQe,IAAAnB,GAAYP,QAAQ2B;CAAA,AAAAvB,EAAA,OAAAK,KAAAL,EAAA,OAAAsB,KADPC,IAAA;EAAA3B,QACb0B;EAAoBd,QACpB;EAASH;EAElB,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAsB,GAAAtB,EAAA,KAAAuB,KAAAA,IAAAvB,EAAA;CAXD,IAAA,EAAAS,WAAAe,GAAAb,cAAAc,GAAAZ,UAAAa,GAAAX,eAAAY,GAAAV,SAAAW,GAAAT,aAAAU,MAOIR,EAAmBE,EAIrB,EAEFO,IAA8B5B,GAAYL,WAC1CkC,IAA8B5B,GAAYN;CAE1C,IACEiC,KAAAC,KAAA,CAECjB,KAFD,CAGCY,GAAoB;EAAA,IAAAM;EAOb,OAPahC,EAAA,OAAAiC,OAAAC,IAAA,4BAAA,IAGnBF,IAAA,kBAAA,OAAA;GAAgB,WAAAvD,EAAG,4BAA4BgB,EAAe;aAC3D0C,MAAKC,KAAM,EAAAC,QAAU,GAAG,CAAC,CAAAC,IAAKC,EAE9B;GACG,CAAA,EAAAvC,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAJNgC;;CAOJ,IAAI,CAAClB,KAAD,CAA0BY,GAAoB;EAAA,IAAAM;EACN,OADMhC,EAAA,OAAAiC,OAAAC,IAAA,4BAAA,IACzCF,IAAA,kBAAA,OAAA,EAAgBvC,WAAAA,GAAmB,CAAA,EAAAO,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAAnCgC;;CAAoC,IAAAA;CAAA,AAAAhC,EAAA,OAAAI,IAqBnC4B,IAAAhC,EAAA,MAnBOgC,KAAAQ,MACfzD,EAAeyD,EAkBP,GAjBN,kBAAC,GAAD;EACaA,WAAAA;EAEFpC,SAAAA;EAcL,EAfC,OAAOoC,EAAKC,YAeb,GAZJ3D,EAAiB0D,EAYb,GAXN,kBAAC,GAAD;EACWA,SAAAA;EAEApC,SAAAA;EAQL,EATC,SAASoC,EAAKE,KASf,GANJ1D,EAAsBwD,EAMlB,GALN,kBAAC,GAAD;EACUA,QAAAA;EAECpC,SAAAA;EAEL,EAHC,MAAMoC,EAAKE,KAGZ,GANJ,MAMI1C,EAAA,KAAAI,GAAAJ,EAAA,KAAAgC;CAnBV,IAAAW,IAAiBX,GAmBNY;CAAA,AAAA5C,EAAA,QAAAiC,OAAAC,IAAA,4BAAA,IAIIU,IAAAnE,EACT,sDACAgB,EACD,EAAAO,EAAA,MAAA4C,KAAAA,IAAA5C,EAAA;CAAA,IAAA6C;CAAA,AAAA7C,EAAA,QAAAkB,KAAAlB,EAAA,QAAAoB,KAAApB,EAAA,QAAAU,KAAAV,EAAA,QAAAc,KAAAd,EAAA,QAAAgB,KAAAhB,EAAA,QAAA0B,KAAA1B,EAAA,QAAA2C,KAAA3C,EAAA,QAAAY,KAEAiC,IAAA/B,KACC,kBAAA,OAAA;EAAgB,WAAArC,EAAG,QAAQ,EAAA,QAAU,CAACiD,GAAsB,CAAA;YAA5D,CACE,kBAAA,OAAA;GACa,WAAAjD,EAAGiB,GAAgB,oCAAmC;aADnE;IAEC;IACiB0B;IAAwB;IACvCM,KACC,kBAAC,GAAD;KACWd,SAAAA;KACC,WAAA;KAEd,CAAA;IAED;MAAA,CAACF,KAAD,kBAAA,GAAA,EAAA,UAAA,CAEG,kBAAA,OAAA;GAAe,WAAA;aACZM,EAAoB8B,eAAeR,IAAKK,EAAQ;GAElD,CAAA,EAAA3B,EAAoB+B,WACnB,kBAAC,GAAD;GACU,SAAA;GACE,WAAA;GACD,SAAA/B,EAAoBgC;aAH/B;IAIC;IACchC,EAAoBiC;IAAmB;IAExD;KAEJ,EAAA,CAAA,CAEH;KAAAjD,EAAA,MAAAkB,GAAAlB,EAAA,MAAAoB,GAAApB,EAAA,MAAAU,GAAAV,EAAA,MAAAc,GAAAd,EAAA,MAAAgB,GAAAhB,EAAA,MAAA0B,GAAA1B,EAAA,MAAA2C,GAAA3C,EAAA,MAAAY,GAAAZ,EAAA,MAAA6C,KAAAA,IAAA7C,EAAA;CAAA,IAAAkD;CAAA,AAAAlD,EAAA,QAAA4B,KAAA5B,EAAA,QAAAc,KAAAd,EAAA,QAAA6B,KAAA7B,EAAA,QAAAwB,KAAAxB,EAAA,QAAA0B,KAAA1B,EAAA,QAAA2B,KAAA3B,EAAA,QAAA2C,KAAA3C,EAAA,QAAAyB,KACAyB,IAAAxB,KACC,kBAAA,OAAA;EAAgB,WAAAjD,EAAG,aAAa,EAAA,QAAUqC,GAAsB,CAAA;YAAhE,CACE,kBAAA,OAAA;GACa,WAAArC,EAAGiB,GAAgB,oCAAmC;aADnE;IAEC;IACiBmC;IAAwB;IACvCf,KACC,kBAAC,GAAD;KACWW,SAAAA;KACC,WAAA;KAEd,CAAA;IAED;MAAA,CAACD,KAAD,kBAAA,GAAA,EAAA,UAAA,CAEG,kBAAA,OAAA;GAAe,WAAA;aACZG,EAAoBmB,eAAeR,IAAKK,EAAQ;GAElD,CAAA,EAAAhB,EAAoBoB,WACnB,kBAAC,GAAD;GACU,SAAA;GACE,WAAA;GACD,SAAApB,EAAoBqB;aAH/B;IAIC;IACcrB,EAAoBsB;IAAmB;IAExD;KAEJ,EAAA,CAAA,CAEH;KAAAjD,EAAA,MAAA4B,GAAA5B,EAAA,MAAAc,GAAAd,EAAA,MAAA6B,GAAA7B,EAAA,MAAAwB,GAAAxB,EAAA,MAAA0B,GAAA1B,EAAA,MAAA2B,GAAA3B,EAAA,MAAA2C,GAAA3C,EAAA,MAAAyB,GAAAzB,EAAA,MAAAkD,KAAAA,IAAAlD,EAAA;CAAA,IAAAmD;CACG,OADHnD,EAAA,QAAA6C,KAAA7C,EAAA,QAAAkD,KAnEHC,IAAA,kBAAA,OAAA;EACa,WAAAP;YADb,CAMGC,GA+BAK,EA+BG;KAAAlD,EAAA,MAAA6C,GAAA7C,EAAA,MAAAkD,GAAAlD,EAAA,MAAAmD,KAAAA,IAAAnD,EAAA,KApENmD;;AAwEJ,SAAA9B,EAAAtB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA4B,EAAAL,QAAAU,GAAAE,WAAAH,gBAAAN,GAC1BH,IAAAU,MAAA8C,KAAAA,IAAAvE,IAAAyB,GAAmBC;CAAA,AAAAP,EAAA,OAAAJ,KAAAI,EAAA,OAAAK,KAAAL,EAAA,OAAAQ,KAQoBD,IAAA;EAAA8C,OAC9BzD;EAAMY;EAAAH;EAGd,EAAAL,EAAA,KAAAJ,GAAAI,EAAA,KAAAK,GAAAL,EAAA,KAAAQ,GAAAR,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAJD,IAAAe,IAAsBuC,EAAiB/C,EAIrC,EACF,CAAAE,GAAA8C,KAAkC/E,EAAS,GAAM,EAAC8C;CAAA,AAAAtB,EAAA,OAAAS,IAIjDa,IAAAtB,EAAA,MAFoBsB,UAAA;EACnBiC,EAAa,CAAC9C,EAAU;IACzBT,EAAA,KAAAS,GAAAT,EAAA,KAAAsB;CAFD,IAAAX,IAAqBW,GAIrBL,IAAgBR,IAAArB,IAAAC,GAChB8B,IAAoBvB,EAAMyC,UAAW,KAAjB,QAA8BzC,EAAMyC,QACxDxB,IAAiBjB,EAAMyC,SAAU,GAAEd;CAUjC,OAViCvB,EAAA,OAAAiB,KAAAjB,EAAA,OAAAS,KAAAT,EAAA,OAAAmB,KAAAnB,EAAA,OAAAa,KAAAb,EAAA,QAAAe,KAAAf,EAAA,QAAAW,KAErBY,IAAA;EAAAR;EAAAN;EAAA8C;EAAA5C;EAAAQ;EAAAN;EAAAI;EAQb,EAAAjB,EAAA,KAAAiB,GAAAjB,EAAA,KAAAS,GAAAT,EAAA,KAAAmB,GAAAnB,EAAA,KAAAa,GAAAb,EAAA,MAAAe,GAAAf,EAAA,MAAAW,GAAAX,EAAA,MAAAuB,KAAAA,IAAAvB,EAAA,KAEMwD;;AAGT,IAAMC,IAAiB;AAEvB,SAAAH,EAAAvD,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAuC,EAAAoD,OAAA/C,GAAAoD,cAAAnD,GAAAC,WAAAH,gBAAAN,GAUtCuB;CAAA,AAAAtB,EAAA,OAAAM,IATWgB,IAAAtB,EAAA,MAAVsB,IAAAhB,MAAA8C,KAAAA,IAAA,EAAU,GAAV9C,GAAUN,EAAA,KAAAM,GAAAN,EAAA,KAAAsB;CAAV,IAAA+B,IAAA/B,GACAoC,IAAAnD,MAAA6C,KAAAA,IAAAK,IAAAlD,GASA,CAAAoD,GAAAC,KAAoCrE,EAAQD,EAAmBe,GAAU,EACzEwD,IAA4BF,EAAWnD,IAAQe;CAAA,AAAAvB,EAAA,OAAAqD,KAAArD,EAAA,OAAA6D,KAExBtC,IAAA8B,EAAKS,MAAO,GAAGD,EAAoB,EAAA7D,EAAA,KAAAqD,GAAArD,EAAA,KAAA6D,GAAA7D,EAAA,KAAAuB,KAAAA,IAAAvB,EAAA;CAA1D,IAAA8C,IAAuBvB,GAAoCS;CAAA,AAAAhC,EAAA,OAAA0D,KAAA1D,EAAA,OAAA4D,KAAA5D,EAAA,OAAAQ,KAE1CwB,UAAA;EACf4B,GAAcG,OAAW;GAAA,GACpBA;IACFvD,IAASuD,EAAKvD,KAAUkD;GAC1B,EAAE;IACJ1D,EAAA,KAAA0D,GAAA1D,EAAA,KAAA4D,GAAA5D,EAAA,KAAAQ,GAAAR,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA;CALD,IAAAgD,IAAiBhB,GAOjBe,IAAgBM,EAAKhB,SAAUwB,GAC/BZ,IAA0Be,KAAIC,IAC5BP,GACAL,EAAKhB,SAAUwB,EAChB,EAMoBjB,IAAAK,IAAoB,IAApB,IAAAA,GAA6CJ;CACjE,OADiE7C,EAAA,OAAA+C,KAAA/C,EAAA,QAAA8C,KAAA9C,EAAA,QAAAgD,KAAAhD,EAAA,QAAA4C,KAJ3DC,IAAA;EAAAC;EAAAE;EAAAD;EAAAE,mBAIcL;EACpB,EAAA5C,EAAA,KAAA+C,GAAA/C,EAAA,MAAA8C,GAAA9C,EAAA,MAAAgD,GAAAhD,EAAA,MAAA4C,GAAA5C,EAAA,MAAA6C,KAAAA,IAAA7C,EAAA,KALM6C;;AA1NoB,SAAAN,EAAA2B,GAAAC,GAAA;CAAA,OAgDnB,kBAAC,GAAD,EAAoB,WAAA,aAAsB,EAALA,EAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"Drawers.js","names":["Dispatch","SetStateAction","ControlledDrawer","DrawerControls","FillableOtcOrderItem","FillOtcReviewAndConfirm","OrderItem","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","LimitOrderDetails","OtcOrderDetails","TransactionDetails","TransactionReceipt","CancelDeltaOrdersReturn","isStandaloneTransactionItem","OrderDetailsDrawer","t0","$","_c","selectedOrder","setSelectedOrder","drawerControls","onDismiss","_onDismiss","t1","isLimitOrderSelected","t2","isOtcOrderItemSelected","t3","onClose","t4","logger","successRes","prevOrder","state","dropped","replacementTx","hash","transactionHash","action","info","onCancelSuccess","t5","error","message","onCancelError","t6","t7","ReviewAndConfirmDrawer","fillableOrder","onFlowStart"],"sources":["../../../../../src/components/widget/AppHeader/Activities/Drawers.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { ControlledDrawer } from \"../../Drawer\";\nimport { type DrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport type { FillableOtcOrderItem } from \"../../OtcOrderItem/types\";\nimport { FillOtcReviewAndConfirm } from \"../../ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm\";\nimport {\n type OrderItem,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n} from \"./utils\";\n\nimport { LimitOrderDetails } from \"../../LimitOrderItem/LimitOrderDetails/LimitOrderDetails\";\nimport { OtcOrderDetails } from \"../../OtcOrderItem/OtcOrderDetails/OtcOrderDetails\";\nimport { TransactionDetails } from \"../../TransactionDetails/LimitOrderDetails/TransactionDetails\";\nimport type { TransactionReceipt } from \"viem\";\nimport type { CancelDeltaOrdersReturn } from \"@/hooks/swap/prices/delta/mutations/useCancelDeltaOrders\";\nimport { isStandaloneTransactionItem } from \"@/transactions/utils\";\n\nexport const OrderDetailsDrawer = ({\n selectedOrder,\n setSelectedOrder,\n drawerControls,\n onDismiss: _onDismiss,\n}: {\n selectedOrder: OrderItem;\n setSelectedOrder: Dispatch<SetStateAction<OrderItem | null>>;\n drawerControls: DrawerControls;\n onDismiss?: () => void;\n}) => {\n const isLimitOrderSelected = isLimitOrderItem(selectedOrder);\n const isOtcOrderItemSelected = isOtcOrderItem(selectedOrder);\n\n const onDismiss = () => {\n _onDismiss?.();\n drawerControls.onClose();\n setSelectedOrder(null);\n };\n\n const onCancelSuccess = (\n successRes: TransactionReceipt | CancelDeltaOrdersReturn\n ) => {\n setSelectedOrder((prevOrder) => {\n if (prevOrder) {\n // LimitOrderItem CANCELLED status are updated via API polling\n // OtcOrderItem CANCELLED status is updated optimistically\n\n if (isOtcOrderItem(prevOrder) && prevOrder.state !== \"CANCELLED\")\n return { ...prevOrder, state: \"CANCELLED\" };\n\n if (\n // TransactionListItem for Swap txs is updated in store,\n // but currently selectedOrder is now stale, so update it manually.\n // Can use useFocusAtom for the selectedOrder, or useSplitAtom for all Orders together,\n // if selectedOrder needs to be reactive (all orders changed -> selectedOrder changed)\n isTransactionListItem(prevOrder) &&\n isStandaloneTransactionItem(prevOrder) &&\n \"transactionHash\" in successRes\n ) {\n return {\n ...prevOrder,\n dropped: true,\n replacementTx: {\n hash: successRes.transactionHash,\n action: \"cancel\",\n },\n };\n }\n }\n\n return prevOrder;\n });\n\n drawerControls.logger.info(\n \"Order cancelled successfully\",\n selectedOrder,\n successRes\n );\n };\n\n const onCancelError = (error: Error) => {\n drawerControls.logger.error(\n \"Order cancellation failed\",\n selectedOrder,\n error.message\n );\n };\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Order Details\"\n showGoBackButton\n >\n {isLimitOrderSelected ? (\n <LimitOrderDetails\n order={selectedOrder}\n logger={drawerControls.logger}\n onDismiss={onDismiss}\n onCancelSuccess={onCancelSuccess}\n onCancelError={onCancelError}\n />\n ) : isOtcOrderItemSelected ? (\n <OtcOrderDetails\n order={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n ) : (\n <TransactionDetails\n txItem={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n )}\n </ControlledDrawer>\n );\n};\n\nexport const ReviewAndConfirmDrawer = ({\n fillableOrder,\n drawerControls,\n onFlowStart,\n onDismiss,\n}: {\n fillableOrder: FillableOtcOrderItem;\n drawerControls: DrawerControls;\n onFlowStart: () => void;\n onDismiss?: () => void;\n}) => {\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Trade Overview\"\n showGoBackButton\n >\n <FillOtcReviewAndConfirm\n fillableOrder={fillableOrder}\n onFlowStart={onFlowStart}\n onDismiss={() => {\n onDismiss?.();\n drawerControls.onClose();\n }}\n />\n </ControlledDrawer>\n );\n};\n"],"mappings":";;;;;;;;;;;AAmBA,IAAagB,KAAqBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,kBAAAC,qBAAAC,mBAAAC,WAAAC,MAAAP,GAUlCQ;AAAA,CAAAP,EAAA,OAAAE,IAC6DK,IAAAP,EAAA,MAA/BO,IAAAlB,EAAiBa,EAAc,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAO;CAA5D,IAAAC,IAA6BD,GAAgCE;AAAA,CAAAT,EAAA,OAAAE,IACDO,IAAAT,EAAA,MAA7BS,IAAAnB,EAAeY,EAAc,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAS;CAA5D,IAAAC,IAA+BD,GAA8BE;AAAA,CAAAX,EAAA,OAAAM,KAAAN,EAAA,OAAAI,KAAAJ,EAAA,OAAAG,KAE3CQ,UAAA;AAGhBR,EAFAG,KAAc,EACdF,EAAcQ,SAAU,EACxBT,EAAiB,KAAK;IACvBH,EAAA,KAAAM,GAAAN,EAAA,KAAAI,GAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAW,KAAAA,IAAAX,EAAA;CAJD,IAAAK,IAAkBM,GAIhBE;AAAA,CAAAb,EAAA,OAAAI,EAAAU,UAAAd,EAAA,OAAAE,KAAAF,EAAA,QAAAG,KAEsBU,KAAAE,MAAA;AAkCtBX,EA/BAD,GAAiBa,MAAA;AACf,OAAIA,GAAS;AAIX,QAAI1B,EAAe0B,EAA6C,IAA/BA,EAASC,UAAW,YAAW,QACvD;KAAA,GAAKD;KAASC,OAAS;KAAa;AAE7C,QAKE1B,EAAsByB,EACgB,IAAtCnB,EAA4BmB,EACG,IAA/B,qBAAqBD,EAAU,QAExB;KAAA,GACFC;KAASE,SACH;KAAIC,eACE;MAAAC,MACPL,EAAUM;MAAgBC,QACxB;MACV;KACD;;AAEJ,UAEMN;IACP,EAEFZ,EAAcU,OAAOS,KACnB,gCACArB,GACAa,EACD;IACFf,EAAA,KAAAI,EAAAU,QAAAd,EAAA,KAAAE,GAAAF,EAAA,MAAAG,GAAAH,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAvCD,IAAAwB,IAAwBX,GAuCtBY;AAAA,CAAAzB,EAAA,QAAAI,EAAAU,UAAAd,EAAA,QAAAE,KAEoBuB,KAAAC,MAAA;AACpBtB,IAAcU,OAAOY,MACnB,6BACAxB,GACAwB,EAAKC,QACN;IACF3B,EAAA,MAAAI,EAAAU,QAAAd,EAAA,MAAAE,GAAAF,EAAA,MAAAyB,KAAAA,IAAAzB,EAAA;CAND,IAAA4B,IAAsBH,GAMpBI;AAAA,CAAA7B,EAAA,QAAAI,EAAAU,UAAAd,EAAA,QAAAQ,KAAAR,EAAA,QAAAU,KAAAV,EAAA,QAAA4B,KAAA5B,EAAA,QAAAwB,KAAAxB,EAAA,QAAAK,KAAAL,EAAA,QAAAE,KAQG2B,IAAArB,IACC,kBAAC,GAAD;EACSN,OAAAA;EACC,QAAAE,EAAcU;EACXT;EACMmB;EACFI;EAgBlB,CAAA,GAdGlB,IACF,kBAAC,GAAD;EACSR,OAAAA;EACIG;EACQmB,mBAAAA;EACFI,iBAAAA;EASpB,CAAA,GANC,kBAAC,GAAD;EACU1B,QAAAA;EACGG;EACQmB,mBAAAA;EACFI,iBAAAA;EAEpB,CAAA,EAAA5B,EAAA,MAAAI,EAAAU,QAAAd,EAAA,MAAAQ,GAAAR,EAAA,MAAAU,GAAAV,EAAA,MAAA4B,GAAA5B,EAAA,MAAAwB,GAAAxB,EAAA,MAAAK,GAAAL,EAAA,MAAAE,GAAAF,EAAA,MAAA6B,KAAAA,IAAA7B,EAAA;CAAA,IAAA8B;AACgB,QADhB9B,EAAA,QAAAI,KAAAJ,EAAA,QAAA6B,KA3BHC,IAAA,kBAAC,GAAD;EAAiB,GACX1B;EACE,OAAA;EACN,kBAAA;YAECyB;EAuBgB,CAAA,EAAA7B,EAAA,MAAAI,GAAAJ,EAAA,MAAA6B,GAAA7B,EAAA,MAAA8B,KAAAA,IAAA9B,EAAA,KA5BnB8B;GAgCSC,KAAyBhC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAA+B,kBAAA5B,mBAAA6B,gBAAA5B,iBAAAN,GAUtCQ;AAAA,CAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAUkBE,UAAA;AAETH,EADAC,KAAa,EACbD,EAAcQ,SAAU;IACzBZ,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAS;AAAA,CAAAT,EAAA,OAAAgC,KAAAhC,EAAA,OAAAiC,KAAAjC,EAAA,OAAAO,KANHE,IAAA,kBAAC,GAAD;EACiBuB;EACFC;EACF,WAAA1B;EAIX,CAAA,EAAAP,EAAA,KAAAgC,GAAAhC,EAAA,KAAAiC,GAAAjC,EAAA,KAAAO,GAAAP,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAAW;AACe,QADfX,EAAA,OAAAI,KAAAJ,EAAA,OAAAS,KAZJE,IAAA,kBAAC,GAAD;EAAiB,GACXP;EACE,OAAA;EACN,kBAAA;YAEAK;EAQiB,CAAA,EAAAT,EAAA,KAAAI,GAAAJ,EAAA,KAAAS,GAAAT,EAAA,KAAAW,KAAAA,IAAAX,EAAA,IAbnBW"}
1
+ {"version":3,"file":"Drawers.js","names":["Dispatch","SetStateAction","ControlledDrawer","DrawerControls","FillableOtcOrderItem","FillOtcReviewAndConfirm","OrderItem","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","LimitOrderDetails","OtcOrderDetails","TransactionDetails","TransactionReceipt","CancelDeltaOrdersReturn","isStandaloneTransactionItem","OrderDetailsDrawer","t0","$","_c","selectedOrder","setSelectedOrder","drawerControls","onDismiss","_onDismiss","t1","isLimitOrderSelected","t2","isOtcOrderItemSelected","t3","onClose","t4","logger","successRes","prevOrder","state","dropped","replacementTx","hash","transactionHash","action","info","onCancelSuccess","t5","error","message","onCancelError","t6","t7","ReviewAndConfirmDrawer","fillableOrder","onFlowStart"],"sources":["../../../../../src/components/widget/AppHeader/Activities/Drawers.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { ControlledDrawer } from \"../../Drawer\";\nimport { type DrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport type { FillableOtcOrderItem } from \"../../OtcOrderItem/types\";\nimport { FillOtcReviewAndConfirm } from \"../../ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm\";\nimport {\n type OrderItem,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n} from \"./utils\";\n\nimport { LimitOrderDetails } from \"../../LimitOrderItem/LimitOrderDetails/LimitOrderDetails\";\nimport { OtcOrderDetails } from \"../../OtcOrderItem/OtcOrderDetails/OtcOrderDetails\";\nimport { TransactionDetails } from \"../../TransactionDetails/LimitOrderDetails/TransactionDetails\";\nimport type { TransactionReceipt } from \"viem\";\nimport type { CancelDeltaOrdersReturn } from \"@/hooks/swap/prices/delta/mutations/useCancelDeltaOrders\";\nimport { isStandaloneTransactionItem } from \"@/transactions/utils\";\n\nexport const OrderDetailsDrawer = ({\n selectedOrder,\n setSelectedOrder,\n drawerControls,\n onDismiss: _onDismiss,\n}: {\n selectedOrder: OrderItem;\n setSelectedOrder: Dispatch<SetStateAction<OrderItem | null>>;\n drawerControls: DrawerControls;\n onDismiss?: () => void;\n}) => {\n const isLimitOrderSelected = isLimitOrderItem(selectedOrder);\n const isOtcOrderItemSelected = isOtcOrderItem(selectedOrder);\n\n const onDismiss = () => {\n _onDismiss?.();\n drawerControls.onClose();\n setSelectedOrder(null);\n };\n\n const onCancelSuccess = (\n successRes: TransactionReceipt | CancelDeltaOrdersReturn\n ) => {\n setSelectedOrder((prevOrder) => {\n if (prevOrder) {\n // LimitOrderItem CANCELLED status are updated via API polling\n // OtcOrderItem CANCELLED status is updated optimistically\n\n if (isOtcOrderItem(prevOrder) && prevOrder.state !== \"CANCELLED\")\n return { ...prevOrder, state: \"CANCELLED\" };\n\n if (\n // TransactionListItem for Swap txs is updated in store,\n // but currently selectedOrder is now stale, so update it manually.\n // Can use useFocusAtom for the selectedOrder, or useSplitAtom for all Orders together,\n // if selectedOrder needs to be reactive (all orders changed -> selectedOrder changed)\n isTransactionListItem(prevOrder) &&\n isStandaloneTransactionItem(prevOrder) &&\n \"transactionHash\" in successRes\n ) {\n return {\n ...prevOrder,\n dropped: true,\n replacementTx: {\n hash: successRes.transactionHash,\n action: \"cancel\",\n },\n };\n }\n }\n\n return prevOrder;\n });\n\n drawerControls.logger.info(\n \"Order cancelled successfully\",\n selectedOrder,\n successRes\n );\n };\n\n const onCancelError = (error: Error) => {\n drawerControls.logger.error(\n \"Order cancellation failed\",\n selectedOrder,\n error.message\n );\n };\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Order Details\"\n showGoBackButton\n >\n {isLimitOrderSelected ? (\n <LimitOrderDetails\n order={selectedOrder}\n logger={drawerControls.logger}\n onDismiss={onDismiss}\n onCancelSuccess={onCancelSuccess}\n onCancelError={onCancelError}\n />\n ) : isOtcOrderItemSelected ? (\n <OtcOrderDetails\n order={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n ) : (\n <TransactionDetails\n txItem={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n )}\n </ControlledDrawer>\n );\n};\n\nexport const ReviewAndConfirmDrawer = ({\n fillableOrder,\n drawerControls,\n onFlowStart,\n onDismiss,\n}: {\n fillableOrder: FillableOtcOrderItem;\n drawerControls: DrawerControls;\n onFlowStart: () => void;\n onDismiss?: () => void;\n}) => {\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Trade Overview\"\n showGoBackButton\n >\n <FillOtcReviewAndConfirm\n fillableOrder={fillableOrder}\n onFlowStart={onFlowStart}\n onDismiss={() => {\n onDismiss?.();\n drawerControls.onClose();\n }}\n />\n </ControlledDrawer>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","names":["useUserLimitOrdersQuery","DeltaOrderStatusChecker","useUserDeltaOrdersQuery","useFetchTokens","AllChainsTokenMap","prepTokenKey","useTokensByAddressAllChains","emptyArray","LONG_STALE_TIME_FOR_REACTIVENESS","gatherObjectsByProp","SupportedChainId","constructTokenFromFetchedTokenInfo","DeltaAuction","LimitOrdersApiResponse","useAccount","useChainId","defaultOrderParams","activeOrderParams","LimitOrderItem","constructLimitOrderItem","OTC_ORDERS_QUERY_PARAMS","constructOtcOrderItem","filterByActiveAndCompletedOrders","isFillableOrderItem","getNotAvailableTokens","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","sortOrdersFn","OrderItem","useState","useDrawerControls","LimitOrderStateChecker","useSwapTxHistory","useUserPendingTransactionsOnEnabledChains","useUserSwapTransactionsOnEnabledChains","constructSwapTransactionsData","useAllEnabledChains","useAllEnabledChainsWithDelta","isFilledArray","useSwapTransactionItems","t0","$","_c","selectedNetwork","tokensAllChains","address","account","enabledChains","t1","limit","t2","select","txs","filter","t3","chainId","includes","params","query","data","t4","isLoading","swapTxsHistory","undefined","localSwapTxs","t5","missingTokens","tokens","t6","fetchedTokens","map","allTokens","allChainsTokenMap","t7","useOtcOrderItems","Symbol","for","staleTime","orderParams","asMaker","asTaker","otcOrdersAsMaker","orders","otcOrdersAsTaker","activeOrdersAsMaker","completedOrdersAsMaker","otcOrderItemsAsMaker","otcOrderItemsAsTaker","order","order_0","completedOrders","activeOrders","t8","length","completedOrdersAsTaker","activeOrdersAsTaker","asMakerIsLoading","asTakerIsLoading","t9","allOrders","t10","t11","useLimitOrderItems","enabledChainsWithDelta","allOrdersIsLoading","allOrdersData","activeOrdersIsLoading","activeOrdersData","allLimitOrdersSelect","activeLimitOrdersSelect","useOrderItems","appChainId","otcOrders","limitOrders","swapTxs","allTxs","sort","activeTxs","completedTxs","orderItem","push","completed","has","status","orderItems","useUserHasActiveLimitOrders","type","useUserHasActiveMarketDeltaOrders","selectOtc","state","active","useUserHasActiveOtcOrders","hasActiveAsMaker","hasActiveAsTaker","useUserHasActivities","hasActiveLimitOrders","hasActiveOtcOrders","pendingTransactions","hasActiveMarketDeltaOrders","hasLimitOrOtcOrders","hasPendingTransactions","useActivityProps","setSelectedNetwork","selectedOrder","setSelectedOrder","drawerId","orderDetailsDrawerControls","reviewAndConfirmDrawerControls","onOpen","Error","onSelectOrder"],"sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"sourcesContent":["import { useUserLimitOrdersQuery } from \"@/hooks/otc/queries/useLimitOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useUserDeltaOrdersQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport { useFetchTokens } from \"@/hooks/tokens/data/useFetchTokens\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport {\n prepTokenKey,\n useTokensByAddressAllChains,\n} from \"@/hooks/tokens/useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { constructTokenFromFetchedTokenInfo } from \"@/tokens/constructor\";\nimport type { DeltaAuction, LimitOrdersApiResponse } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport {\n defaultOrderParams,\n activeOrderParams,\n} from \"../../LimitOrderItem/constants\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport { constructLimitOrderItem } from \"../../LimitOrderItem/utils\";\nimport { OTC_ORDERS_QUERY_PARAMS } from \"../../OtcOrderItem/constants\";\nimport {\n constructOtcOrderItem,\n filterByActiveAndCompletedOrders,\n isFillableOrderItem,\n} from \"../../OtcOrderItem/utils\";\nimport {\n getNotAvailableTokens,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n sortOrdersFn,\n type OrderItem,\n} from \"./utils\";\nimport { useState } from \"react\";\nimport { useDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport { useSwapTxHistory } from \"@/hooks/txs/queries/useTxHistory\";\nimport {\n useUserPendingTransactionsOnEnabledChains,\n useUserSwapTransactionsOnEnabledChains,\n} from \"@/transactions/state/hooks/useTransactions\";\nimport { constructSwapTransactionsData } from \"../../TransactionDetails/utils\";\nimport {\n useAllEnabledChains,\n useAllEnabledChainsWithDelta,\n} from \"@/core/state/enabledChainsAtom\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\n\nfunction useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n const enabledChains = useAllEnabledChains();\n\n const { data: swapTxsHistory = emptyArray, isLoading } = useSwapTxHistory({\n params: { account, limit: 500 },\n query: {\n select: (txs) =>\n txs.filter(({ chainId }) => enabledChains.includes(chainId)),\n },\n });\n const localSwapTxs = useUserSwapTransactionsOnEnabledChains();\n\n const missingTokens = getNotAvailableTokens(\n [...localSwapTxs, ...swapTxsHistory],\n tokensAllChains\n );\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(missingTokens);\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n return {\n ...constructSwapTransactionsData({\n swapTxsHistory,\n localSwapTxs,\n allChainsTokenMap: allTokens,\n selectedNetwork,\n }),\n isLoading,\n };\n}\n\nfunction useOtcOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId;\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const asMaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: true,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const asTaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: false,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const otcOrdersAsMaker = asMaker.data?.orders ?? emptyArray;\n const otcOrdersAsTaker = asTaker.data?.orders ?? emptyArray;\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...otcOrdersAsMaker, ...otcOrdersAsTaker],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const otcOrderItemsAsMaker = otcOrdersAsMaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n const otcOrderItemsAsTaker = otcOrdersAsTaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n\n const {\n completedOrders: completedOrdersAsMaker = emptyArray,\n activeOrders: activeOrdersAsMaker = emptyArray,\n } =\n otcOrdersAsMaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsMaker)\n : {};\n\n const {\n completedOrders: completedOrdersAsTaker = emptyArray,\n activeOrders: activeOrdersAsTaker = emptyArray,\n } =\n otcOrdersAsTaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsTaker)\n : {};\n\n const asMakerIsLoading = asMaker.isLoading;\n const asTakerIsLoading = asTaker.isLoading;\n\n return {\n asMaker: {\n allOrders: otcOrderItemsAsMaker,\n activeOrders: activeOrdersAsMaker,\n completedOrders: completedOrdersAsMaker,\n isLoading: asMakerIsLoading,\n },\n asTaker: {\n allOrders: otcOrderItemsAsTaker,\n activeOrders: activeOrdersAsTaker,\n completedOrders: completedOrdersAsTaker,\n isLoading: asTakerIsLoading,\n },\n };\n}\n\nfunction useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n\n const { data: allOrdersData = emptyArray, isLoading: allOrdersIsLoading } =\n useUserDeltaOrdersQuery({\n orderParams: {\n ...defaultOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const {\n data: activeOrdersData = emptyArray,\n isLoading: activeOrdersIsLoading,\n } = useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...allOrdersData, ...activeOrdersData],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const { allOrders, completedOrders } = allLimitOrdersSelect({\n orders: allOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const activeOrders = activeLimitOrdersSelect({\n orders: activeOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const isLoading = allOrdersIsLoading || activeOrdersIsLoading;\n\n return {\n allOrders,\n activeOrders,\n completedOrders,\n isLoading,\n };\n}\n\nexport function useOrderItems({\n selectedNetwork,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const appChainId = useChainId();\n const tokensAllChains = useTokensByAddressAllChains();\n\n const otcOrders = useOtcOrderItems({\n // @TODO add all networks support on lorders API\n selectedNetwork: selectedNetwork === \"all\" ? appChainId : selectedNetwork,\n tokensAllChains,\n });\n const limitOrders = useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n const swapTxs = useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n return {\n asMaker: {\n allOrders: [\n ...otcOrders.asMaker.allOrders,\n ...limitOrders.allOrders,\n ...swapTxs.allTxs,\n ].sort(sortOrdersFn),\n activeOrders: [\n ...otcOrders.asMaker.activeOrders,\n ...limitOrders.activeOrders,\n ...swapTxs.activeTxs,\n ].sort(sortOrdersFn),\n completedOrders: [\n ...otcOrders.asMaker.completedOrders,\n ...limitOrders.completedOrders,\n ...swapTxs.completedTxs,\n ].sort(sortOrdersFn),\n isLoading:\n otcOrders.asMaker.isLoading ||\n limitOrders.isLoading ||\n swapTxs.isLoading,\n },\n asTaker: {\n allOrders: otcOrders.asTaker.allOrders,\n activeOrders: otcOrders.asTaker.activeOrders,\n completedOrders: otcOrders.asTaker.completedOrders,\n isLoading: otcOrders.asTaker.isLoading,\n },\n };\n}\n\nconst allLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const allOrders: LimitOrderItem[] = [];\n const completedOrders: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n allOrders.push(orderItem);\n\n if (DeltaOrderStatusChecker.completed.has(order.status)) {\n completedOrders.push(orderItem);\n }\n }\n }\n\n return { allOrders, completedOrders };\n};\n\nconst activeLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const orderItems: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n orderItems.push(orderItem);\n }\n }\n\n return orderItems;\n};\n\nconst useUserHasActiveLimitOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"LIMIT\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst useUserHasActiveMarketDeltaOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"MARKET\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst selectOtc = ({ orders }: LimitOrdersApiResponse) =>\n orders.filter(({ state }) => LimitOrderStateChecker.active.has(state))\n .length > 0;\n\nconst useUserHasActiveOtcOrders = () => {\n const appChainId = useChainId();\n\n const { data: hasActiveAsMaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n // @TODO add all networks support on lorders API\n asMaker: true,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const { data: hasActiveAsTaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n // @TODO add all networks support on lorders API\n chainId: appChainId,\n asMaker: false,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n return !!(hasActiveAsMaker || hasActiveAsTaker);\n};\n\nexport const useUserHasActivities = () => {\n const hasActiveLimitOrders = useUserHasActiveLimitOrders();\n const hasActiveOtcOrders = useUserHasActiveOtcOrders();\n const pendingTransactions = useUserPendingTransactionsOnEnabledChains();\n const hasActiveMarketDeltaOrders = useUserHasActiveMarketDeltaOrders();\n\n return {\n hasLimitOrOtcOrders: hasActiveLimitOrders.data || hasActiveOtcOrders,\n hasPendingTransactions: pendingTransactions.length > 0,\n hasActiveMarketDeltaOrders: !!hasActiveMarketDeltaOrders.data,\n };\n};\n\nexport function useActivityProps() {\n const enabledChains = useAllEnabledChains();\n\n const [selectedNetwork, setSelectedNetwork] = useState<\n SupportedChainId | \"all\"\n >(enabledChains.length === 1 ? enabledChains[0] : \"all\");\n const [selectedOrder, setSelectedOrder] = useState<OrderItem | null>(null);\n\n const orderDetailsDrawerControls = useDrawerControls({\n drawerId: \"order-details\",\n });\n const reviewAndConfirmDrawerControls = useDrawerControls({\n drawerId: \"fill-order-review-and-confirm-drawer\",\n });\n\n const onSelectOrder = (order: OrderItem) => {\n setSelectedOrder(order);\n\n if (isLimitOrderItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n if (isOtcOrderItem(order)) {\n if (isFillableOrderItem(order)) {\n reviewAndConfirmDrawerControls.onOpen();\n } else {\n orderDetailsDrawerControls.onOpen();\n }\n return;\n }\n\n if (isTransactionListItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n throw new Error(\"Unsupported order item type\");\n };\n\n return {\n selectedNetwork,\n setSelectedNetwork,\n selectedOrder,\n onSelectOrder,\n setSelectedOrder,\n orderDetailsDrawerControls,\n reviewAndConfirmDrawerControls,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","names":["useUserLimitOrdersQuery","DeltaOrderStatusChecker","useUserDeltaOrdersQuery","useFetchTokens","AllChainsTokenMap","prepTokenKey","useTokensByAddressAllChains","emptyArray","LONG_STALE_TIME_FOR_REACTIVENESS","gatherObjectsByProp","SupportedChainId","constructTokenFromFetchedTokenInfo","DeltaAuction","LimitOrdersApiResponse","useAccount","useChainId","defaultOrderParams","activeOrderParams","LimitOrderItem","constructLimitOrderItem","OTC_ORDERS_QUERY_PARAMS","constructOtcOrderItem","filterByActiveAndCompletedOrders","isFillableOrderItem","getNotAvailableTokens","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","sortOrdersFn","OrderItem","useState","useDrawerControls","LimitOrderStateChecker","useSwapTxHistory","useUserPendingTransactionsOnEnabledChains","useUserSwapTransactionsOnEnabledChains","constructSwapTransactionsData","useAllEnabledChains","useAllEnabledChainsWithDelta","isFilledArray","useSwapTransactionItems","t0","$","_c","selectedNetwork","tokensAllChains","address","account","enabledChains","t1","limit","t2","select","txs","filter","t3","chainId","includes","params","query","data","t4","isLoading","swapTxsHistory","undefined","localSwapTxs","t5","missingTokens","tokens","t6","fetchedTokens","map","allTokens","allChainsTokenMap","t7","useOtcOrderItems","Symbol","for","staleTime","orderParams","asMaker","asTaker","otcOrdersAsMaker","orders","otcOrdersAsTaker","activeOrdersAsMaker","completedOrdersAsMaker","otcOrderItemsAsMaker","otcOrderItemsAsTaker","order","order_0","completedOrders","activeOrders","t8","length","completedOrdersAsTaker","activeOrdersAsTaker","asMakerIsLoading","asTakerIsLoading","t9","allOrders","t10","t11","useLimitOrderItems","enabledChainsWithDelta","allOrdersIsLoading","allOrdersData","activeOrdersIsLoading","activeOrdersData","allLimitOrdersSelect","activeLimitOrdersSelect","useOrderItems","appChainId","otcOrders","limitOrders","swapTxs","allTxs","sort","activeTxs","completedTxs","orderItem","push","completed","has","status","orderItems","useUserHasActiveLimitOrders","type","useUserHasActiveMarketDeltaOrders","selectOtc","state","active","useUserHasActiveOtcOrders","hasActiveAsMaker","hasActiveAsTaker","useUserHasActivities","hasActiveLimitOrders","hasActiveOtcOrders","pendingTransactions","hasActiveMarketDeltaOrders","hasLimitOrOtcOrders","hasPendingTransactions","useActivityProps","setSelectedNetwork","selectedOrder","setSelectedOrder","drawerId","orderDetailsDrawerControls","reviewAndConfirmDrawerControls","onOpen","Error","onSelectOrder"],"sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"sourcesContent":["import { useUserLimitOrdersQuery } from \"@/hooks/otc/queries/useLimitOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useUserDeltaOrdersQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport { useFetchTokens } from \"@/hooks/tokens/data/useFetchTokens\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport {\n prepTokenKey,\n useTokensByAddressAllChains,\n} from \"@/hooks/tokens/useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { constructTokenFromFetchedTokenInfo } from \"@/tokens/constructor\";\nimport type { DeltaAuction, LimitOrdersApiResponse } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport {\n defaultOrderParams,\n activeOrderParams,\n} from \"../../LimitOrderItem/constants\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport { constructLimitOrderItem } from \"../../LimitOrderItem/utils\";\nimport { OTC_ORDERS_QUERY_PARAMS } from \"../../OtcOrderItem/constants\";\nimport {\n constructOtcOrderItem,\n filterByActiveAndCompletedOrders,\n isFillableOrderItem,\n} from \"../../OtcOrderItem/utils\";\nimport {\n getNotAvailableTokens,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n sortOrdersFn,\n type OrderItem,\n} from \"./utils\";\nimport { useState } from \"react\";\nimport { useDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport { useSwapTxHistory } from \"@/hooks/txs/queries/useTxHistory\";\nimport {\n useUserPendingTransactionsOnEnabledChains,\n useUserSwapTransactionsOnEnabledChains,\n} from \"@/transactions/state/hooks/useTransactions\";\nimport { constructSwapTransactionsData } from \"../../TransactionDetails/utils\";\nimport {\n useAllEnabledChains,\n useAllEnabledChainsWithDelta,\n} from \"@/core/state/enabledChainsAtom\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\n\nfunction useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n const enabledChains = useAllEnabledChains();\n\n const { data: swapTxsHistory = emptyArray, isLoading } = useSwapTxHistory({\n params: { account, limit: 500 },\n query: {\n select: (txs) =>\n txs.filter(({ chainId }) => enabledChains.includes(chainId)),\n },\n });\n const localSwapTxs = useUserSwapTransactionsOnEnabledChains();\n\n const missingTokens = getNotAvailableTokens(\n [...localSwapTxs, ...swapTxsHistory],\n tokensAllChains\n );\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(missingTokens);\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n return {\n ...constructSwapTransactionsData({\n swapTxsHistory,\n localSwapTxs,\n allChainsTokenMap: allTokens,\n selectedNetwork,\n }),\n isLoading,\n };\n}\n\nfunction useOtcOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId;\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const asMaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: true,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const asTaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: false,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const otcOrdersAsMaker = asMaker.data?.orders ?? emptyArray;\n const otcOrdersAsTaker = asTaker.data?.orders ?? emptyArray;\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...otcOrdersAsMaker, ...otcOrdersAsTaker],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const otcOrderItemsAsMaker = otcOrdersAsMaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n const otcOrderItemsAsTaker = otcOrdersAsTaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n\n const {\n completedOrders: completedOrdersAsMaker = emptyArray,\n activeOrders: activeOrdersAsMaker = emptyArray,\n } =\n otcOrdersAsMaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsMaker)\n : {};\n\n const {\n completedOrders: completedOrdersAsTaker = emptyArray,\n activeOrders: activeOrdersAsTaker = emptyArray,\n } =\n otcOrdersAsTaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsTaker)\n : {};\n\n const asMakerIsLoading = asMaker.isLoading;\n const asTakerIsLoading = asTaker.isLoading;\n\n return {\n asMaker: {\n allOrders: otcOrderItemsAsMaker,\n activeOrders: activeOrdersAsMaker,\n completedOrders: completedOrdersAsMaker,\n isLoading: asMakerIsLoading,\n },\n asTaker: {\n allOrders: otcOrderItemsAsTaker,\n activeOrders: activeOrdersAsTaker,\n completedOrders: completedOrdersAsTaker,\n isLoading: asTakerIsLoading,\n },\n };\n}\n\nfunction useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n\n const { data: allOrdersData = emptyArray, isLoading: allOrdersIsLoading } =\n useUserDeltaOrdersQuery({\n orderParams: {\n ...defaultOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const {\n data: activeOrdersData = emptyArray,\n isLoading: activeOrdersIsLoading,\n } = useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...allOrdersData, ...activeOrdersData],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const { allOrders, completedOrders } = allLimitOrdersSelect({\n orders: allOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const activeOrders = activeLimitOrdersSelect({\n orders: activeOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const isLoading = allOrdersIsLoading || activeOrdersIsLoading;\n\n return {\n allOrders,\n activeOrders,\n completedOrders,\n isLoading,\n };\n}\n\nexport function useOrderItems({\n selectedNetwork,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const appChainId = useChainId();\n const tokensAllChains = useTokensByAddressAllChains();\n\n const otcOrders = useOtcOrderItems({\n // @TODO add all networks support on lorders API\n selectedNetwork: selectedNetwork === \"all\" ? appChainId : selectedNetwork,\n tokensAllChains,\n });\n const limitOrders = useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n const swapTxs = useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n return {\n asMaker: {\n allOrders: [\n ...otcOrders.asMaker.allOrders,\n ...limitOrders.allOrders,\n ...swapTxs.allTxs,\n ].sort(sortOrdersFn),\n activeOrders: [\n ...otcOrders.asMaker.activeOrders,\n ...limitOrders.activeOrders,\n ...swapTxs.activeTxs,\n ].sort(sortOrdersFn),\n completedOrders: [\n ...otcOrders.asMaker.completedOrders,\n ...limitOrders.completedOrders,\n ...swapTxs.completedTxs,\n ].sort(sortOrdersFn),\n isLoading:\n otcOrders.asMaker.isLoading ||\n limitOrders.isLoading ||\n swapTxs.isLoading,\n },\n asTaker: {\n allOrders: otcOrders.asTaker.allOrders,\n activeOrders: otcOrders.asTaker.activeOrders,\n completedOrders: otcOrders.asTaker.completedOrders,\n isLoading: otcOrders.asTaker.isLoading,\n },\n };\n}\n\nconst allLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const allOrders: LimitOrderItem[] = [];\n const completedOrders: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n allOrders.push(orderItem);\n\n if (DeltaOrderStatusChecker.completed.has(order.status)) {\n completedOrders.push(orderItem);\n }\n }\n }\n\n return { allOrders, completedOrders };\n};\n\nconst activeLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const orderItems: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n orderItems.push(orderItem);\n }\n }\n\n return orderItems;\n};\n\nconst useUserHasActiveLimitOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"LIMIT\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst useUserHasActiveMarketDeltaOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"MARKET\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst selectOtc = ({ orders }: LimitOrdersApiResponse) =>\n orders.filter(({ state }) => LimitOrderStateChecker.active.has(state))\n .length > 0;\n\nconst useUserHasActiveOtcOrders = () => {\n const appChainId = useChainId();\n\n const { data: hasActiveAsMaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n // @TODO add all networks support on lorders API\n asMaker: true,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const { data: hasActiveAsTaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n // @TODO add all networks support on lorders API\n chainId: appChainId,\n asMaker: false,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n return !!(hasActiveAsMaker || hasActiveAsTaker);\n};\n\nexport const useUserHasActivities = () => {\n const hasActiveLimitOrders = useUserHasActiveLimitOrders();\n const hasActiveOtcOrders = useUserHasActiveOtcOrders();\n const pendingTransactions = useUserPendingTransactionsOnEnabledChains();\n const hasActiveMarketDeltaOrders = useUserHasActiveMarketDeltaOrders();\n\n return {\n hasLimitOrOtcOrders: hasActiveLimitOrders.data || hasActiveOtcOrders,\n hasPendingTransactions: pendingTransactions.length > 0,\n hasActiveMarketDeltaOrders: !!hasActiveMarketDeltaOrders.data,\n };\n};\n\nexport function useActivityProps() {\n const enabledChains = useAllEnabledChains();\n\n const [selectedNetwork, setSelectedNetwork] = useState<\n SupportedChainId | \"all\"\n >(enabledChains.length === 1 ? enabledChains[0] : \"all\");\n const [selectedOrder, setSelectedOrder] = useState<OrderItem | null>(null);\n\n const orderDetailsDrawerControls = useDrawerControls({\n drawerId: \"order-details\",\n });\n const reviewAndConfirmDrawerControls = useDrawerControls({\n drawerId: \"fill-order-review-and-confirm-drawer\",\n });\n\n const onSelectOrder = (order: OrderItem) => {\n setSelectedOrder(order);\n\n if (isLimitOrderItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n if (isOtcOrderItem(order)) {\n if (isFillableOrderItem(order)) {\n reviewAndConfirmDrawerControls.onOpen();\n } else {\n orderDetailsDrawerControls.onOpen();\n }\n return;\n }\n\n if (isTransactionListItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n throw new Error(\"Unsupported order item type\");\n };\n\n return {\n selectedNetwork,\n setSelectedNetwork,\n selectedOrder,\n onSelectOrder,\n setSelectedOrder,\n orderDetailsDrawerControls,\n reviewAndConfirmDrawerControls,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["AllChainsTokenMap","LimitOrderItem","OtcOrderItem","Address","Prettify","SupportedChainId","prepTokenKey","isSupportedChainId","getAuctionDestChainId","getOrderTokenAddresses","DeltaAuction","LimitOrderFromApi","TransactionListItem","TransactionItemSwap","OrderItem","RawOrderItem","isOtcOrderItem","item","itemType","isLimitOrderItem","isTransactionListItem","OrderComparisonData","Pick","sortOrdersFn","a","b","itemAComparisonValue","createdAt","timestamp","itemBComparisonValue","undefined","Date","getTime","getTokenAddresses","srcToken","makerAsset","destToken","takerAsset","order","transactionSpecificData","srcTokenAddress","destTokenAddress","getNotAvailableTokens","orderItems","tokenMap","addresses","chainIds","Set","forEach","srcChainId","chainId","destChainId","srcTokenKey","address","network","add","destTokenKey","Array","from"],"sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport type { OtcOrderItem } from \"../../OtcOrderItem/types\";\nimport type { Address, Prettify } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n getAuctionDestChainId,\n getOrderTokenAddresses,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { DeltaAuction, LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type { TransactionListItem } from \"../../TransactionDetails/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\n\nexport type OrderItem = OtcOrderItem | LimitOrderItem | TransactionListItem;\nexport type RawOrderItem =\n | LimitOrderFromApi\n | DeltaAuction\n | TransactionItemSwap;\n\nexport function isOtcOrderItem(item: OrderItem): item is OtcOrderItem {\n return item.itemType === \"otc-order\";\n}\n\nexport function isLimitOrderItem(item: OrderItem): item is LimitOrderItem {\n return item.itemType === \"limit-order\";\n}\nexport function isTransactionListItem(\n item: OrderItem\n): item is TransactionListItem {\n return item.itemType === \"transaction\";\n}\n\ntype OrderComparisonData = Prettify<\n | Pick<DeltaAuction | LimitOrderFromApi, \"createdAt\">\n | Pick<TransactionItemSwap, \"timestamp\">\n>;\n\nexport function sortOrdersFn(a: OrderComparisonData, b: OrderComparisonData) {\n const itemAComparisonValue = \"createdAt\" in a ? a.createdAt : a.timestamp;\n const itemBComparisonValue = \"createdAt\" in b ? b.createdAt : b.timestamp;\n\n if (\n itemAComparisonValue === undefined ||\n itemBComparisonValue === undefined\n ) {\n return 0;\n }\n\n return (\n new Date(itemBComparisonValue).getTime() -\n new Date(itemAComparisonValue).getTime()\n );\n}\n\nfunction getTokenAddresses(item: RawOrderItem) {\n if (\"makerAsset\" in item)\n return {\n srcToken: item.makerAsset,\n destToken: item.takerAsset,\n };\n\n if (\"order\" in item) return getOrderTokenAddresses(item.order);\n\n return {\n srcToken: item.transactionSpecificData.srcTokenAddress,\n destToken: item.transactionSpecificData.destTokenAddress,\n };\n}\n\nexport function getNotAvailableTokens(\n orderItems: RawOrderItem[],\n tokenMap: AllChainsTokenMap\n): {\n addresses: Address[];\n chainIds: SupportedChainId[];\n} {\n const addresses = new Set<Address>();\n const chainIds = new Set<SupportedChainId>();\n\n orderItems.forEach((item) => {\n const { srcToken, destToken } = getTokenAddresses(item);\n // item.order indicates it's a DeltaAuction\n const order = \"order\" in item ? item.order : undefined;\n\n const srcChainId = item.chainId;\n const destChainId = order\n ? getAuctionDestChainId({ order, chainId: item.chainId })\n : item.chainId;\n\n if (isSupportedChainId(srcChainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcToken,\n network: srcChainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(srcToken as Address);\n chainIds.add(srcChainId);\n }\n }\n\n if (isSupportedChainId(destChainId)) {\n const destTokenKey = prepTokenKey({\n address: destToken,\n network: destChainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(destToken as Address);\n chainIds.add(destChainId);\n }\n }\n });\n\n return {\n addresses: Array.from(addresses),\n chainIds: Array.from(chainIds),\n };\n}\n"],"mappings":";;;;AAqBA,SAAgBgB,EAAeC,GAAuC;AACpE,QAAOA,EAAKC,aAAa;;AAG3B,SAAgBC,EAAiBF,GAAyC;AACxE,QAAOA,EAAKC,aAAa;;AAE3B,SAAgBE,EACdH,GAC6B;AAC7B,QAAOA,EAAKC,aAAa;;AAQ3B,SAAgBK,EAAaC,GAAwBC,GAAwB;CAC3E,IAAMC,IAAuB,eAAeF,IAAIA,EAAEG,YAAYH,EAAEI,WAC1DC,IAAuB,eAAeJ,IAAIA,EAAEE,YAAYF,EAAEG;AAShE,QANEF,MAAyBI,KAAAA,KACzBD,MAAyBC,KAAAA,IAElB,IAIP,IAAIC,KAAKF,EAAqB,CAACG,SAAS,GACxC,IAAID,KAAKL,EAAqB,CAACM,SAAS;;AAI5C,SAASC,EAAkBhB,GAAoB;AAS7C,QARI,gBAAgBA,IACX;EACLiB,UAAUjB,EAAKkB;EACfC,WAAWnB,EAAKoB;EACjB,GAEC,WAAWpB,IAAaR,EAAuBQ,EAAKqB,MAAM,GAEvD;EACLJ,UAAUjB,EAAKsB,wBAAwBC;EACvCJ,WAAWnB,EAAKsB,wBAAwBE;EACzC;;AAGH,SAAgBC,EACdC,GACAC,GAIA;CACA,IAAMC,oBAAY,IAAIE,KAAc,EAC9BD,oBAAW,IAAIC,KAAuB;AAqC5C,QAnCAJ,EAAWK,SAAS/B,MAAS;EAC3B,IAAM,EAAEiB,aAAUE,iBAAcH,EAAkBhB,EAAK,EAEjDqB,IAAQ,WAAWrB,IAAOA,EAAKqB,QAAQR,KAAAA,GAEvCmB,IAAahC,EAAKiC,SAClBC,IAAcb,IAChB9B,EAAsB;GAAE8B;GAAOY,SAASjC,EAAKiC;GAAS,CAAC,GACvDjC,EAAKiC;AAcT,EAZI3C,EAAmB0C,EAAW,KAM3BL,EALetC,EAAa;GAC/B+C,SAASnB;GACToB,SAASL;GACV,CAAC,MAGAJ,EAAUU,IAAIrB,EAAoB,EAClCY,EAASS,IAAIN,EAAW,IAIxB1C,EAAmB4C,EAAY,KAM5BP,EALgBtC,EAAa;GAChC+C,SAASjB;GACTkB,SAASH;GACV,CAAC,MAGAN,EAAUU,IAAInB,EAAqB,EACnCU,EAASS,IAAIJ,EAAY;GAG7B,EAEK;EACLN,WAAWY,MAAMC,KAAKb,EAAU;EAChCC,UAAUW,MAAMC,KAAKZ,EAAQ;EAC9B"}
1
+ {"version":3,"file":"utils.js","names":["AllChainsTokenMap","LimitOrderItem","OtcOrderItem","Address","Prettify","SupportedChainId","prepTokenKey","isSupportedChainId","getAuctionDestChainId","getOrderTokenAddresses","DeltaAuction","LimitOrderFromApi","TransactionListItem","TransactionItemSwap","OrderItem","RawOrderItem","isOtcOrderItem","item","itemType","isLimitOrderItem","isTransactionListItem","OrderComparisonData","Pick","sortOrdersFn","a","b","itemAComparisonValue","createdAt","timestamp","itemBComparisonValue","undefined","Date","getTime","getTokenAddresses","srcToken","makerAsset","destToken","takerAsset","order","transactionSpecificData","srcTokenAddress","destTokenAddress","getNotAvailableTokens","orderItems","tokenMap","addresses","chainIds","Set","forEach","srcChainId","chainId","destChainId","srcTokenKey","address","network","add","destTokenKey","Array","from"],"sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport type { OtcOrderItem } from \"../../OtcOrderItem/types\";\nimport type { Address, Prettify } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n getAuctionDestChainId,\n getOrderTokenAddresses,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { DeltaAuction, LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type { TransactionListItem } from \"../../TransactionDetails/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\n\nexport type OrderItem = OtcOrderItem | LimitOrderItem | TransactionListItem;\nexport type RawOrderItem =\n | LimitOrderFromApi\n | DeltaAuction\n | TransactionItemSwap;\n\nexport function isOtcOrderItem(item: OrderItem): item is OtcOrderItem {\n return item.itemType === \"otc-order\";\n}\n\nexport function isLimitOrderItem(item: OrderItem): item is LimitOrderItem {\n return item.itemType === \"limit-order\";\n}\nexport function isTransactionListItem(\n item: OrderItem\n): item is TransactionListItem {\n return item.itemType === \"transaction\";\n}\n\ntype OrderComparisonData = Prettify<\n | Pick<DeltaAuction | LimitOrderFromApi, \"createdAt\">\n | Pick<TransactionItemSwap, \"timestamp\">\n>;\n\nexport function sortOrdersFn(a: OrderComparisonData, b: OrderComparisonData) {\n const itemAComparisonValue = \"createdAt\" in a ? a.createdAt : a.timestamp;\n const itemBComparisonValue = \"createdAt\" in b ? b.createdAt : b.timestamp;\n\n if (\n itemAComparisonValue === undefined ||\n itemBComparisonValue === undefined\n ) {\n return 0;\n }\n\n return (\n new Date(itemBComparisonValue).getTime() -\n new Date(itemAComparisonValue).getTime()\n );\n}\n\nfunction getTokenAddresses(item: RawOrderItem) {\n if (\"makerAsset\" in item)\n return {\n srcToken: item.makerAsset,\n destToken: item.takerAsset,\n };\n\n if (\"order\" in item) return getOrderTokenAddresses(item.order);\n\n return {\n srcToken: item.transactionSpecificData.srcTokenAddress,\n destToken: item.transactionSpecificData.destTokenAddress,\n };\n}\n\nexport function getNotAvailableTokens(\n orderItems: RawOrderItem[],\n tokenMap: AllChainsTokenMap\n): {\n addresses: Address[];\n chainIds: SupportedChainId[];\n} {\n const addresses = new Set<Address>();\n const chainIds = new Set<SupportedChainId>();\n\n orderItems.forEach((item) => {\n const { srcToken, destToken } = getTokenAddresses(item);\n // item.order indicates it's a DeltaAuction\n const order = \"order\" in item ? item.order : undefined;\n\n const srcChainId = item.chainId;\n const destChainId = order\n ? getAuctionDestChainId({ order, chainId: item.chainId })\n : item.chainId;\n\n if (isSupportedChainId(srcChainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcToken,\n network: srcChainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(srcToken as Address);\n chainIds.add(srcChainId);\n }\n }\n\n if (isSupportedChainId(destChainId)) {\n const destTokenKey = prepTokenKey({\n address: destToken,\n network: destChainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(destToken as Address);\n chainIds.add(destChainId);\n }\n }\n });\n\n return {\n addresses: Array.from(addresses),\n chainIds: Array.from(chainIds),\n };\n}\n"],"mappings":";;;;AAqBA,SAAgBgB,EAAeC,GAAuC;CACpE,OAAOA,EAAKC,aAAa;;AAG3B,SAAgBC,EAAiBF,GAAyC;CACxE,OAAOA,EAAKC,aAAa;;AAE3B,SAAgBE,EACdH,GAC6B;CAC7B,OAAOA,EAAKC,aAAa;;AAQ3B,SAAgBK,EAAaC,GAAwBC,GAAwB;CAC3E,IAAMC,IAAuB,eAAeF,IAAIA,EAAEG,YAAYH,EAAEI,WAC1DC,IAAuB,eAAeJ,IAAIA,EAAEE,YAAYF,EAAEG;CAShE,OANEF,MAAyBI,KAAAA,KACzBD,MAAyBC,KAAAA,IAElB,IAIP,IAAIC,KAAKF,EAAqB,CAACG,SAAS,GACxC,IAAID,KAAKL,EAAqB,CAACM,SAAS;;AAI5C,SAASC,EAAkBhB,GAAoB;CAS7C,OARI,gBAAgBA,IACX;EACLiB,UAAUjB,EAAKkB;EACfC,WAAWnB,EAAKoB;EACjB,GAEC,WAAWpB,IAAaR,EAAuBQ,EAAKqB,MAAM,GAEvD;EACLJ,UAAUjB,EAAKsB,wBAAwBC;EACvCJ,WAAWnB,EAAKsB,wBAAwBE;EACzC;;AAGH,SAAgBC,EACdC,GACAC,GAIA;CACA,IAAMC,oBAAY,IAAIE,KAAc,EAC9BD,oBAAW,IAAIC,KAAuB;CAqC5C,OAnCAJ,EAAWK,SAAS/B,MAAS;EAC3B,IAAM,EAAEiB,aAAUE,iBAAcH,EAAkBhB,EAAK,EAEjDqB,IAAQ,WAAWrB,IAAOA,EAAKqB,QAAQR,KAAAA,GAEvCmB,IAAahC,EAAKiC,SAClBC,IAAcb,IAChB9B,EAAsB;GAAE8B;GAAOY,SAASjC,EAAKiC;GAAS,CAAC,GACvDjC,EAAKiC;EAcT,AAZI3C,EAAmB0C,EAAW,KAM3BL,EALetC,EAAa;GAC/B+C,SAASnB;GACToB,SAASL;GACV,CAEaG,MACZP,EAAUU,IAAIrB,EAAoB,EAClCY,EAASS,IAAIN,EAAW,IAIxB1C,EAAmB4C,EAAY,KAM5BP,EALgBtC,EAAa;GAChC+C,SAASjB;GACTkB,SAASH;GACV,CAEaK,MACZX,EAAUU,IAAInB,EAAqB,EACnCU,EAASS,IAAIJ,EAAY;GAG7B,EAEK;EACLN,WAAWY,MAAMC,KAAKb,EAAU;EAChCC,UAAUW,MAAMC,KAAKZ,EAAQ;EAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityButton.js","names":["ReactComponent","ReceiptSVG","EllipseIcon","useUserHasActivities","useSetScreen","LoaderCircle","excludeUIAtom","useAtomValue","ActivityButton","$","_c","showActivitiesScreen","excludeUI","hasLimitOrOtcOrders","hasActiveMarketDeltaOrders","hasPendingTransactions","t0","includes","showLoader","showEllipseIcon","t1","t2","Symbol","for","t3","t4","t5","t6","t7"],"sources":["../../../../src/components/widget/AppHeader/ActivityButton.tsx"],"sourcesContent":["import { ReactComponent as ReceiptSVG } from \"@/assets/receipt.svg\";\nimport { EllipseIcon } from \"../Icon/EllipseIcon\";\n\nimport { useUserHasActivities } from \"./Activities/hooks\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const ActivityButton = () => {\n const { showActivitiesScreen } = useSetScreen();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const {\n hasLimitOrOtcOrders,\n hasActiveMarketDeltaOrders,\n hasPendingTransactions,\n } = useUserHasActivities();\n\n const showLoader =\n excludeUI.includes(\"snackbars\") &&\n (hasPendingTransactions || hasActiveMarketDeltaOrders);\n const showEllipseIcon = hasLimitOrOtcOrders || showLoader;\n\n return (\n <div\n className=\"group flex items-center justify-center hover:bg-contrast-8 dark:hover:bg-contrast-1 rounded-full p-1.5 cursor-pointer transition-colors duration-200\"\n onClick={() => {\n showActivitiesScreen();\n }}\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"relative\">\n <ReceiptSVG className=\"fill-contrast-1 dark:fill-contrast-5 dark:group-hover:fill-contrast-7 size-5 transition-colors\" />\n {showEllipseIcon && (\n <EllipseIcon className=\"absolute top-[-1px] right-[-1px] stroke-contrast-9 dark:stroke-contrast-3\" />\n )}\n </div>\n {showLoader && (\n <LoaderCircle\n size={16}\n className=\"animate-spin direction-reverse stroke-secondary-orange-peel-1\"\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AASA,IAAaQ,UAAiB;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAC5B,EAAAC,4BAAiCP,GAAc,EAC/CQ,IAAkBL,EAAaD,EAAc,EAE7C,EAAAO,wBAAAC,+BAAAC,8BAIIZ,GAAsB,EAACa;AAAA,CAAAP,EAAA,OAAAG,KAAAH,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAGzBC,IAAAJ,EAASK,SAAU,YACmC,KAArDF,KAAAD,IAAqDL,EAAA,KAAAG,GAAAH,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAFxD,IAAAS,IACEF,GAEFG,IAAwBN,KAAAK,GAAkCE;AAAA,CAAAX,EAAA,OAAAE,IAOrDS,IAAAX,EAAA,MAFQW,UAAA;AACPT,KAAsB;IACvBF,EAAA,KAAAE,GAAAF,EAAA,KAAAW;CAAA,IAAAC;AAAA,CAAAZ,EAAA,OAAAa,OAAAC,IAAA,4BAAA,IAIGF,IAAA,kBAAC,GAAD,EAAsB,WAAA,kGAAmG,CAAA,EAAAZ,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAe;AAAA,CAAAf,EAAA,OAAAU,IAGxHK,IAAAf,EAAA,MAFAe,IAAAL,KACC,kBAAC,GAAD,EAAuB,WAAA,6EACxB,CAAA,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAe;CAAA,IAAAC;AAAA,CAAAhB,EAAA,OAAAe,IACGC,IAAAhB,EAAA,OALNgB,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEJ,GACCG,EAGG;KAAAf,EAAA,KAAAe,GAAAf,EAAA,MAAAgB;CAAA,IAAAC;AAAA,CAAAjB,EAAA,QAAAS,IAMLQ,IAAAjB,EAAA,OALAiB,IAAAR,KACC,kBAAC,GAAD;EACQ,MAAA;EACI,WAAA;EAEb,CAAA,EAAAT,EAAA,MAAAS,GAAAT,EAAA,MAAAiB;CAAA,IAAAC;AAAA,CAAAlB,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAZHC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEF,GAMCC,EAMG;KAAAjB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAAA,IAAAmB;AACF,QADEnB,EAAA,QAAAW,KAAAX,EAAA,QAAAkB,KAnBRC,IAAA,kBAAA,OAAA;EACY,WAAA;EACD,SAAAR;YAITO;EAcI,CAAA,EAAAlB,EAAA,MAAAW,GAAAX,EAAA,MAAAkB,GAAAlB,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KApBNmB"}
1
+ {"version":3,"file":"ActivityButton.js","names":["ReactComponent","ReceiptSVG","EllipseIcon","useUserHasActivities","useSetScreen","LoaderCircle","excludeUIAtom","useAtomValue","ActivityButton","$","_c","showActivitiesScreen","excludeUI","hasLimitOrOtcOrders","hasActiveMarketDeltaOrders","hasPendingTransactions","t0","includes","showLoader","showEllipseIcon","t1","t2","Symbol","for","t3","t4","t5","t6","t7"],"sources":["../../../../src/components/widget/AppHeader/ActivityButton.tsx"],"sourcesContent":["import { ReactComponent as ReceiptSVG } from \"@/assets/receipt.svg\";\nimport { EllipseIcon } from \"../Icon/EllipseIcon\";\n\nimport { useUserHasActivities } from \"./Activities/hooks\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const ActivityButton = () => {\n const { showActivitiesScreen } = useSetScreen();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const {\n hasLimitOrOtcOrders,\n hasActiveMarketDeltaOrders,\n hasPendingTransactions,\n } = useUserHasActivities();\n\n const showLoader =\n excludeUI.includes(\"snackbars\") &&\n (hasPendingTransactions || hasActiveMarketDeltaOrders);\n const showEllipseIcon = hasLimitOrOtcOrders || showLoader;\n\n return (\n <div\n className=\"group flex items-center justify-center hover:bg-contrast-8 dark:hover:bg-contrast-1 rounded-full p-1.5 cursor-pointer transition-colors duration-200\"\n onClick={() => {\n showActivitiesScreen();\n }}\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"relative\">\n <ReceiptSVG className=\"fill-contrast-1 dark:fill-contrast-5 dark:group-hover:fill-contrast-7 size-5 transition-colors\" />\n {showEllipseIcon && (\n <EllipseIcon className=\"absolute top-[-1px] right-[-1px] stroke-contrast-9 dark:stroke-contrast-3\" />\n )}\n </div>\n {showLoader && (\n <LoaderCircle\n size={16}\n className=\"animate-spin direction-reverse stroke-secondary-orange-peel-1\"\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AASA,IAAaQ,UAAiB;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAC5B,EAAAC,4BAAiCP,GAAc,EAC/CQ,IAAkBL,EAAaD,EAAc,EAE7C,EAAAO,wBAAAC,+BAAAC,8BAIIZ,GAAsB,EAACa;CAAA,AAAAP,EAAA,OAAAG,KAAAH,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAGzBC,IAAAJ,EAASK,SAAU,YACmC,KAArDF,KAAAD,IAAqDL,EAAA,KAAAG,GAAAH,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAFxD,IAAAS,IACEF,GAEFG,IAAwBN,KAAAK,GAAkCE;CAAA,AAAAX,EAAA,OAAAE,IAOrDS,IAAAX,EAAA,MAFQW,UAAA;EACPT,GAAsB;IACvBF,EAAA,KAAAE,GAAAF,EAAA,KAAAW;CAAA,IAAAC;CAAA,AAAAZ,EAAA,OAAAa,OAAAC,IAAA,4BAAA,IAIGF,IAAA,kBAAC,GAAD,EAAsB,WAAA,kGAAmG,CAAA,EAAAZ,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAe;CAAA,AAAAf,EAAA,OAAAU,IAGxHK,IAAAf,EAAA,MAFAe,IAAAL,KACC,kBAAC,GAAD,EAAuB,WAAA,6EACxB,CAAA,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAe;CAAA,IAAAC;CAAA,AAAAhB,EAAA,OAAAe,IACGC,IAAAhB,EAAA,OALNgB,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEJ,GACCG,EAGG;KAAAf,EAAA,KAAAe,GAAAf,EAAA,MAAAgB;CAAA,IAAAC;CAAA,AAAAjB,EAAA,QAAAS,IAMLQ,IAAAjB,EAAA,OALAiB,IAAAR,KACC,kBAAC,GAAD;EACQ,MAAA;EACI,WAAA;EAEb,CAAA,EAAAT,EAAA,MAAAS,GAAAT,EAAA,MAAAiB;CAAA,IAAAC;CAAA,AAAAlB,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAZHC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEF,GAMCC,EAMG;KAAAjB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAAA,IAAAmB;CACF,OADEnB,EAAA,QAAAW,KAAAX,EAAA,QAAAkB,KAnBRC,IAAA,kBAAA,OAAA;EACY,WAAA;EACD,SAAAR;YAITO;EAcI,CAAA,EAAAlB,EAAA,MAAAW,GAAAX,EAAA,MAAAkB,GAAAlB,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KApBNmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.js","names":["useState","WithClasses","cn","useDrawerControls","ControlledDrawer","TradeParameters","useIsNotDefaultAnyParameter","AccountButton","ActivityButton","TradeModeSwitcher","useAccount","useAtomValue","excludeUIAtom","SettingsButton","useResetDraftBridgePreferences","useResetDraftPreferencesState","resetDraftBridgePreferences","AppHeader","t0","$","_c","classes","address","account","resetDraftPreferencesState","showDegenConfirmation","setShowDegenConfirmation","t1","drawerId","onOpen","t2","drawerProps","isNotDefaultAnyParameter","excludeUI","t3","includes","excludeWalletManagement","t4","excludeActivities","showWalletButton","showActivityButton","tradeModeSwitcherAsDropdown","t5","handleOpen","t6","t7","t8","Symbol","for","t9","onClose","t10","drawer","t11","root","t12","t13","t14","t15","t16","t17","t18"],"sources":["../../../../src/components/widget/AppHeader/AppHeader.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { cn } from \"@/lib/utils\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { TradeParameters } from \"../TradeParameters/TradeParameters\";\nimport { useIsNotDefaultAnyParameter } from \"../TradeParameters/hooks/useIsNotDefaultAnyParameter\";\nimport { AccountButton } from \"@/components/web3/AccountButton\";\nimport { ActivityButton } from \"./ActivityButton\";\nimport { TradeModeSwitcher } from \"./TradeModeSwitcher\";\nimport { useAccount } from \"wagmi\";\nimport { useAtomValue } from \"@/core/store\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { SettingsButton } from \"../SettingsButton/SettingsButton\";\nimport { useResetDraftBridgePreferences } from \"../TradeParameters/state/bridgePreferences/useBridgePreferences\";\n\nfunction useResetDraftPreferencesState() {\n const resetDraftBridgePreferences = useResetDraftBridgePreferences();\n\n return resetDraftBridgePreferences;\n}\n\nexport const AppHeader = ({ classes }: WithClasses<\"root\">) => {\n const { address: account } = useAccount();\n\n const resetDraftPreferencesState = useResetDraftPreferencesState();\n const [showDegenConfirmation, setShowDegenConfirmation] = useState(false);\n\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"trade-parameters-drawer\",\n onOpen: resetDraftPreferencesState,\n });\n const isNotDefaultAnyParameter = useIsNotDefaultAnyParameter();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const excludeWalletManagement = excludeUI.includes(\"wallet-management\");\n const excludeActivities = excludeUI.includes(\"activities\");\n\n const showWalletButton = !excludeWalletManagement;\n const showActivityButton = !!account && !excludeActivities;\n\n // If wallet management is excluded, we have more space in the header, so we can show the trade mode switcher as a row instead of a dropdown\n // If wallet management is included, we show the trade mode switcher as a dropdown to save space\n // Need to revisit this when adding another trade mode\n const tradeModeSwitcherAsDropdown = showWalletButton;\n\n const handleOpen = () => {\n setShowDegenConfirmation(false);\n onOpen();\n };\n\n const drawer = (\n <ControlledDrawer\n {...drawerProps}\n title={\n showDegenConfirmation ? \"Activate Degen Mode\" : \"Trading Parameters\"\n }\n showCloseButton={!showDegenConfirmation}\n showGoBackButton={showDegenConfirmation}\n onGoBack={() => setShowDegenConfirmation(false)}\n >\n <TradeParameters\n onCloseDrawer={drawerProps.onClose}\n onOpenDrawer={handleOpen}\n showDegenConfirmation={showDegenConfirmation}\n setShowDegenConfirmation={setShowDegenConfirmation}\n />\n </ControlledDrawer>\n );\n\n return (\n <div\n className={cn(\"flex items-center justify-between gap-2\", classes?.root)}\n >\n <TradeModeSwitcher asDropdown={tradeModeSwitcherAsDropdown} />\n <div className=\"flex items-center gap-2\">\n {showWalletButton && <AccountButton />}\n {showActivityButton && <ActivityButton />}\n <SettingsButton\n onClick={handleOpen}\n showEllipseIcon={isNotDefaultAnyParameter}\n />\n </div>\n {drawer}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"AppHeader.js","names":["useState","WithClasses","cn","useDrawerControls","ControlledDrawer","TradeParameters","useIsNotDefaultAnyParameter","AccountButton","ActivityButton","TradeModeSwitcher","useAccount","useAtomValue","excludeUIAtom","SettingsButton","useResetDraftBridgePreferences","useResetDraftPreferencesState","resetDraftBridgePreferences","AppHeader","t0","$","_c","classes","address","account","resetDraftPreferencesState","showDegenConfirmation","setShowDegenConfirmation","t1","drawerId","onOpen","t2","drawerProps","isNotDefaultAnyParameter","excludeUI","t3","includes","excludeWalletManagement","t4","excludeActivities","showWalletButton","showActivityButton","tradeModeSwitcherAsDropdown","t5","handleOpen","t6","t7","t8","Symbol","for","t9","onClose","t10","drawer","t11","root","t12","t13","t14","t15","t16","t17","t18"],"sources":["../../../../src/components/widget/AppHeader/AppHeader.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { cn } from \"@/lib/utils\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { TradeParameters } from \"../TradeParameters/TradeParameters\";\nimport { useIsNotDefaultAnyParameter } from \"../TradeParameters/hooks/useIsNotDefaultAnyParameter\";\nimport { AccountButton } from \"@/components/web3/AccountButton\";\nimport { ActivityButton } from \"./ActivityButton\";\nimport { TradeModeSwitcher } from \"./TradeModeSwitcher\";\nimport { useAccount } from \"wagmi\";\nimport { useAtomValue } from \"@/core/store\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { SettingsButton } from \"../SettingsButton/SettingsButton\";\nimport { useResetDraftBridgePreferences } from \"../TradeParameters/state/bridgePreferences/useBridgePreferences\";\n\nfunction useResetDraftPreferencesState() {\n const resetDraftBridgePreferences = useResetDraftBridgePreferences();\n\n return resetDraftBridgePreferences;\n}\n\nexport const AppHeader = ({ classes }: WithClasses<\"root\">) => {\n const { address: account } = useAccount();\n\n const resetDraftPreferencesState = useResetDraftPreferencesState();\n const [showDegenConfirmation, setShowDegenConfirmation] = useState(false);\n\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"trade-parameters-drawer\",\n onOpen: resetDraftPreferencesState,\n });\n const isNotDefaultAnyParameter = useIsNotDefaultAnyParameter();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const excludeWalletManagement = excludeUI.includes(\"wallet-management\");\n const excludeActivities = excludeUI.includes(\"activities\");\n\n const showWalletButton = !excludeWalletManagement;\n const showActivityButton = !!account && !excludeActivities;\n\n // If wallet management is excluded, we have more space in the header, so we can show the trade mode switcher as a row instead of a dropdown\n // If wallet management is included, we show the trade mode switcher as a dropdown to save space\n // Need to revisit this when adding another trade mode\n const tradeModeSwitcherAsDropdown = showWalletButton;\n\n const handleOpen = () => {\n setShowDegenConfirmation(false);\n onOpen();\n };\n\n const drawer = (\n <ControlledDrawer\n {...drawerProps}\n title={\n showDegenConfirmation ? \"Activate Degen Mode\" : \"Trading Parameters\"\n }\n showCloseButton={!showDegenConfirmation}\n showGoBackButton={showDegenConfirmation}\n onGoBack={() => setShowDegenConfirmation(false)}\n >\n <TradeParameters\n onCloseDrawer={drawerProps.onClose}\n onOpenDrawer={handleOpen}\n showDegenConfirmation={showDegenConfirmation}\n setShowDegenConfirmation={setShowDegenConfirmation}\n />\n </ControlledDrawer>\n );\n\n return (\n <div\n className={cn(\"flex items-center justify-between gap-2\", classes?.root)}\n >\n <TradeModeSwitcher asDropdown={tradeModeSwitcherAsDropdown} />\n <div className=\"flex items-center gap-2\">\n {showWalletButton && <AccountButton />}\n {showActivityButton && <ActivityButton />}\n <SettingsButton\n onClick={handleOpen}\n showEllipseIcon={isNotDefaultAnyParameter}\n />\n </div>\n {drawer}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TradeModeSwitcher.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/AppHeader/TradeModeSwitcher.tsx"],"names":[],"mappings":"AAoBA,eAAO,MAAM,iBAAiB,GAAI,gBAAgB;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,4CA2BzE,CAAC"}
1
+ {"version":3,"file":"TradeModeSwitcher.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/AppHeader/TradeModeSwitcher.tsx"],"names":[],"mappings":"AAwBA,eAAO,MAAM,iBAAiB,GAAI,gBAAgB;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,4CAqCzE,CAAC"}
@@ -1,87 +1,95 @@
1
1
  import { useAtomValue as e, useSetAtom as t } from "../../../core/store.js";
2
2
  import { cn as n } from "../../../lib/utils/index.js";
3
- import { enabledTradeModesAtom as r } from "../../../core/state/enabledTradeModesAtom.js";
4
- import { tradeModeAtom as i, userTradeModeAtom as a } from "../../../core/state/tradeModeAtom.js";
5
- import { Button as o } from "../../ui/button.js";
6
- import { DropdownWithItems as s } from "../Dropdown/DropdownWithItems.js";
7
- import { ChevronIcon as c } from "../Icon/ChevronIcon.js";
8
- import { c as l } from "react-compiler-runtime";
9
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
3
+ import { sortTradeModes as r } from "../../../lib/tradeMode.js";
4
+ import { availableTradeModesAtom as i, enabledTradeModesFromConfigAtom as a } from "../../../core/state/enabledTradeModesAtom.js";
5
+ import { tradeModeAtom as o, userTradeModeAtom as s } from "../../../core/state/tradeModeAtom.js";
6
+ import { Button as c } from "../../ui/button.js";
7
+ import { DropdownWithItems as l } from "../Dropdown/DropdownWithItems.js";
8
+ import { ChevronIcon as u } from "../Icon/ChevronIcon.js";
9
+ import { c as d } from "react-compiler-runtime";
10
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
11
  //#region src/components/widget/AppHeader/TradeModeSwitcher.tsx
11
- var f = {
12
+ var m = {
12
13
  swap: "Swap",
13
14
  limit: "Limit",
14
15
  otc: "OTC",
15
16
  twap: "TWAP"
16
- }, p = (n) => {
17
- let o = l(18), { asDropdown: c } = n, d = t(a), p = e(i), g = e(r), _ = g.length <= 1;
18
- if (_) {
17
+ }, h = (n) => {
18
+ let c = d(22), { asDropdown: u } = n, p = t(s), h = e(o), v = e(a), y = e(i), b;
19
+ c[0] === y ? b = c[1] : (b = new Set(y), c[0] = y, c[1] = b);
20
+ let x = b, S = v.length === 1;
21
+ if (S) {
19
22
  let e;
20
- return o[0] !== _ || o[1] !== p ? (e = /* @__PURE__ */ u(m, {
21
- tradeMode: p,
22
- isDisabled: _
23
- }), o[0] = _, o[1] = p, o[2] = e) : e = o[2], e;
23
+ return c[2] !== h || c[3] !== S ? (e = /* @__PURE__ */ f(g, {
24
+ tradeMode: h,
25
+ isDisabled: S
26
+ }), c[2] = h, c[3] = S, c[4] = e) : e = c[4], e;
24
27
  }
25
- let v;
26
- if (o[3] !== g || o[4] !== d || o[5] !== p) {
28
+ let C;
29
+ if (c[5] !== x || c[6] !== h || c[7] !== v || c[8] !== p) {
30
+ let e = Array.from(new Set([h, ...v])), t;
31
+ c[10] !== x || c[11] !== h || c[12] !== p ? (t = (e) => ({
32
+ label: m[e],
33
+ onSelect: () => p(e),
34
+ selected: h === e,
35
+ disabled: !x.has(e)
36
+ }), c[10] = x, c[11] = h, c[12] = p, c[13] = t) : t = c[13], C = e.sort(r).map(t), c[5] = x, c[6] = h, c[7] = v, c[8] = p, c[9] = C;
37
+ } else C = c[9];
38
+ let w = C;
39
+ if (u) {
27
40
  let e;
28
- o[7] !== d || o[8] !== p ? (e = (e) => ({
29
- label: f[e],
30
- onSelect: () => d(e),
31
- selected: p === e
32
- }), o[7] = d, o[8] = p, o[9] = e) : e = o[9], v = g.map(e), o[3] = g, o[4] = d, o[5] = p, o[6] = v;
33
- } else v = o[6];
34
- let y = v;
35
- if (c) {
36
- let e;
37
- o[10] !== _ || o[11] !== p ? (e = /* @__PURE__ */ u(m, {
38
- tradeMode: p,
39
- isDisabled: _
40
- }), o[10] = _, o[11] = p, o[12] = e) : e = o[12];
41
+ c[14] !== h || c[15] !== S ? (e = /* @__PURE__ */ f(g, {
42
+ tradeMode: h,
43
+ isDisabled: S
44
+ }), c[14] = h, c[15] = S, c[16] = e) : e = c[16];
41
45
  let t;
42
- return o[13] !== y || o[14] !== e ? (t = /* @__PURE__ */ u(s, {
46
+ return c[17] !== w || c[18] !== e ? (t = /* @__PURE__ */ f(l, {
43
47
  menuTrigger: e,
44
- items: y
45
- }), o[13] = y, o[14] = e, o[15] = t) : t = o[15], t;
48
+ items: w
49
+ }), c[17] = w, c[18] = e, c[19] = t) : t = c[19], t;
46
50
  }
47
- let b;
48
- return o[16] === y ? b = o[17] : (b = /* @__PURE__ */ u(h, { tradeModeItems: y }), o[16] = y, o[17] = b), b;
49
- }, m = (e) => {
50
- let t = l(8), { tradeMode: r, isDisabled: i } = e, a = !i, o;
51
+ let T;
52
+ return c[20] === w ? T = c[21] : (T = /* @__PURE__ */ f(_, { tradeModeItems: w }), c[20] = w, c[21] = T), T;
53
+ }, g = (e) => {
54
+ let t = d(8), { tradeMode: r, isDisabled: i } = e, a = !i, o;
51
55
  t[0] === a ? o = t[1] : (o = n("flex items-center gap-2 font-medium text-contrast-3 dark:text-contrast-8", { "cursor-pointer": a }), t[0] = a, t[1] = o);
52
- let s = f[r], p;
53
- t[2] === i ? p = t[3] : (p = !i && /* @__PURE__ */ u(c, {
56
+ let s = m[r], c;
57
+ t[2] === i ? c = t[3] : (c = !i && /* @__PURE__ */ f(u, {
54
58
  width: 8,
55
59
  className: "pt-[2px] dark:text-contrast-5"
56
- }), t[2] = i, t[3] = p);
57
- let m;
58
- return t[4] !== o || t[5] !== s || t[6] !== p ? (m = /* @__PURE__ */ d("div", {
60
+ }), t[2] = i, t[3] = c);
61
+ let l;
62
+ return t[4] !== o || t[5] !== s || t[6] !== c ? (l = /* @__PURE__ */ p("div", {
59
63
  className: o,
60
64
  children: [
61
65
  s,
62
66
  " ",
63
- p
67
+ c
64
68
  ]
65
- }), t[4] = o, t[5] = s, t[6] = p, t[7] = m) : m = t[7], m;
66
- }, h = (e) => {
67
- let t = l(4), { tradeModeItems: n } = e, r;
68
- t[0] === n ? r = t[1] : (r = n.map(g), t[0] = n, t[1] = r);
69
+ }), t[4] = o, t[5] = s, t[6] = c, t[7] = l) : l = t[7], l;
70
+ }, _ = (e) => {
71
+ let t = d(4), { tradeModeItems: n } = e, r;
72
+ t[0] === n ? r = t[1] : (r = n.map(v), t[0] = n, t[1] = r);
69
73
  let i;
70
- return t[2] === r ? i = t[3] : (i = /* @__PURE__ */ u("div", {
74
+ return t[2] === r ? i = t[3] : (i = /* @__PURE__ */ f("div", {
71
75
  className: "flex items-center gap-6",
72
76
  children: r
73
77
  }), t[2] = r, t[3] = i), i;
74
78
  };
75
- function g(e) {
76
- let { selected: t, label: r, onSelect: i } = e;
77
- return /* @__PURE__ */ u(o, {
79
+ function v(e) {
80
+ let { selected: t, label: r, onSelect: i, disabled: a } = e;
81
+ return /* @__PURE__ */ f(c, {
78
82
  variant: "ghost",
79
- className: n("cursor-pointer text-contrast-5 font-medium text-base p-0 hover:bg-transparent dark:hover:bg-transparent h-min", { "text-contrast-3 dark:text-contrast-9": t }),
83
+ className: n("cursor-pointer text-contrast-5 font-medium text-base p-0 hover:bg-transparent dark:hover:bg-transparent h-min", {
84
+ "text-contrast-3 dark:text-contrast-9": t,
85
+ "hover:text-contrast-5": a
86
+ }),
80
87
  onClick: i,
88
+ disabled: a,
81
89
  children: r
82
90
  }, r);
83
91
  }
84
92
  //#endregion
85
- export { p as TradeModeSwitcher };
93
+ export { h as TradeModeSwitcher };
86
94
 
87
95
  //# sourceMappingURL=TradeModeSwitcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TradeModeSwitcher.js","names":["tradeModeAtom","userTradeModeAtom","TradeMode","useAtomValue","useSetAtom","DropdownWithItems","ChevronIcon","DropdownItem","enabledTradeModesAtom","cn","Button","tradeModeLabel","Record","swap","limit","otc","twap","TradeModeSwitcher","t0","$","_c","asDropdown","setTradeMode","tradeMode","enabledTradeModes","isDisabled","length","t1","t2","mode","label","onSelect","selected","map","items","t3","MenuTrigger","t4","t5","RelaxedDropdownItem","Omit","TradeModesRow","tradeModeItems","_temp"],"sources":["../../../../src/components/widget/AppHeader/TradeModeSwitcher.tsx"],"sourcesContent":["import {\n tradeModeAtom,\n userTradeModeAtom,\n type TradeMode,\n} from \"@/core/state/tradeModeAtom\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { DropdownWithItems } from \"../Dropdown/DropdownWithItems\";\nimport { ChevronIcon } from \"../Icon/ChevronIcon\";\nimport type { DropdownItem } from \"../Dropdown/types\";\nimport { enabledTradeModesAtom } from \"@/core/state/enabledTradeModesAtom\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\n\nconst tradeModeLabel: Record<TradeMode, string> = {\n swap: \"Swap\",\n limit: \"Limit\",\n otc: \"OTC\",\n twap: \"TWAP\",\n};\n\nexport const TradeModeSwitcher = ({ asDropdown }: { asDropdown?: boolean }) => {\n const setTradeMode = useSetAtom(userTradeModeAtom);\n const tradeMode = useAtomValue(tradeModeAtom);\n const enabledTradeModes = useAtomValue(enabledTradeModesAtom);\n const isDisabled = enabledTradeModes.length <= 1;\n\n if (isDisabled)\n return <MenuTrigger tradeMode={tradeMode} isDisabled={isDisabled} />;\n\n const items = enabledTradeModes.map((mode) => ({\n label: tradeModeLabel[mode],\n onSelect: () => setTradeMode(mode),\n selected: tradeMode === mode,\n })) satisfies DropdownItem[];\n\n if (asDropdown) {\n return (\n <DropdownWithItems\n menuTrigger={\n <MenuTrigger tradeMode={tradeMode} isDisabled={isDisabled} />\n }\n items={items}\n />\n );\n }\n\n return <TradeModesRow tradeModeItems={items} />;\n};\n\nconst MenuTrigger = ({\n tradeMode,\n isDisabled,\n}: {\n tradeMode: TradeMode;\n isDisabled: boolean;\n}) => {\n return (\n <div\n className={cn(\n \"flex items-center gap-2 font-medium text-contrast-3 dark:text-contrast-8\",\n {\n \"cursor-pointer\": !isDisabled,\n }\n )}\n >\n {tradeModeLabel[tradeMode]}{\" \"}\n {!isDisabled && (\n <ChevronIcon width={8} className=\"pt-[2px] dark:text-contrast-5\" />\n )}\n </div>\n );\n};\n\ntype RelaxedDropdownItem = Omit<DropdownItem, \"label\" | \"onSelect\"> & {\n label: string; // allows to pass key={label}\n onSelect: () => void; // allows to pass onClick={onSelect}\n};\n\nconst TradeModesRow = ({\n tradeModeItems,\n}: {\n tradeModeItems: RelaxedDropdownItem[];\n}) => {\n return (\n <div className=\"flex items-center gap-6\">\n {tradeModeItems.map(({ selected, label, onSelect }) => (\n <Button\n variant=\"ghost\"\n key={label}\n className={cn(\n \"cursor-pointer text-contrast-5 font-medium text-base p-0 hover:bg-transparent dark:hover:bg-transparent h-min\",\n { \"text-contrast-3 dark:text-contrast-9\": selected }\n )}\n onClick={onSelect}\n >\n {label}\n </Button>\n ))}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"TradeModeSwitcher.js","names":["tradeModeAtom","userTradeModeAtom","TradeMode","useAtomValue","useSetAtom","DropdownWithItems","ChevronIcon","DropdownItem","availableTradeModesAtom","enabledTradeModesFromConfigAtom","cn","Button","sortTradeModes","tradeModeLabel","Record","swap","limit","otc","twap","TradeModeSwitcher","t0","$","_c","asDropdown","setTradeMode","currentTradeMode","enabledTradeModesFromConfig","availableTradeModes","t1","Set","availableTradeModesSet","isDisabled","length","t2","tradeModesToShow","Array","from","t3","mode","label","onSelect","selected","disabled","has","sort","map","items","t4","MenuTrigger","tradeMode","t5","RelaxedDropdownItem","Omit","TradeModesRow","tradeModeItems","_temp"],"sources":["../../../../src/components/widget/AppHeader/TradeModeSwitcher.tsx"],"sourcesContent":["import {\n tradeModeAtom,\n userTradeModeAtom,\n type TradeMode,\n} from \"@/core/state/tradeModeAtom\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { DropdownWithItems } from \"../Dropdown/DropdownWithItems\";\nimport { ChevronIcon } from \"../Icon/ChevronIcon\";\nimport type { DropdownItem } from \"../Dropdown/types\";\nimport {\n availableTradeModesAtom,\n enabledTradeModesFromConfigAtom,\n} from \"@/core/state/enabledTradeModesAtom\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport { sortTradeModes } from \"@/lib/tradeMode\";\n\nconst tradeModeLabel: Record<TradeMode, string> = {\n swap: \"Swap\",\n limit: \"Limit\",\n otc: \"OTC\",\n twap: \"TWAP\",\n};\n\nexport const TradeModeSwitcher = ({ asDropdown }: { asDropdown?: boolean }) => {\n const setTradeMode = useSetAtom(userTradeModeAtom);\n const currentTradeMode = useAtomValue(tradeModeAtom);\n const enabledTradeModesFromConfig = useAtomValue(\n enabledTradeModesFromConfigAtom\n );\n const availableTradeModes = useAtomValue(availableTradeModesAtom);\n\n const availableTradeModesSet = new Set(availableTradeModes);\n const isDisabled = enabledTradeModesFromConfig.length === 1;\n\n if (isDisabled)\n return <MenuTrigger tradeMode={currentTradeMode} isDisabled={isDisabled} />;\n\n const tradeModesToShow = Array.from(\n new Set([currentTradeMode, ...enabledTradeModesFromConfig])\n ) as typeof enabledTradeModesFromConfig; // inherit NonEmptyArray<TradeMode>\n\n const items = tradeModesToShow.sort(sortTradeModes).map((mode) => ({\n label: tradeModeLabel[mode],\n onSelect: () => setTradeMode(mode),\n selected: currentTradeMode === mode,\n disabled: !availableTradeModesSet.has(mode),\n })) satisfies DropdownItem[];\n\n if (asDropdown) {\n return (\n <DropdownWithItems\n menuTrigger={\n <MenuTrigger tradeMode={currentTradeMode} isDisabled={isDisabled} />\n }\n items={items}\n />\n );\n }\n\n return <TradeModesRow tradeModeItems={items} />;\n};\n\nconst MenuTrigger = ({\n tradeMode,\n isDisabled,\n}: {\n tradeMode: TradeMode;\n isDisabled: boolean;\n}) => {\n return (\n <div\n className={cn(\n \"flex items-center gap-2 font-medium text-contrast-3 dark:text-contrast-8\",\n {\n \"cursor-pointer\": !isDisabled,\n }\n )}\n >\n {tradeModeLabel[tradeMode]}{\" \"}\n {!isDisabled && (\n <ChevronIcon width={8} className=\"pt-[2px] dark:text-contrast-5\" />\n )}\n </div>\n );\n};\n\ntype RelaxedDropdownItem = Omit<DropdownItem, \"label\" | \"onSelect\"> & {\n label: string; // allows to pass key={label}\n onSelect: () => void; // allows to pass onClick={onSelect}\n};\n\nconst TradeModesRow = ({\n tradeModeItems,\n}: {\n tradeModeItems: RelaxedDropdownItem[];\n}) => {\n return (\n <div className=\"flex items-center gap-6\">\n {tradeModeItems.map(({ selected, label, onSelect, disabled }) => (\n <Button\n variant=\"ghost\"\n key={label}\n className={cn(\n \"cursor-pointer text-contrast-5 font-medium text-base p-0 hover:bg-transparent dark:hover:bg-transparent h-min\",\n {\n \"text-contrast-3 dark:text-contrast-9\": selected,\n \"hover:text-contrast-5\": disabled,\n }\n )}\n onClick={onSelect}\n disabled={disabled}\n >\n {label}\n </Button>\n ))}\n </div>\n );\n};\n"],"mappings":"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"}