@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":"TokenListRow.js","names":["Token","TokenMaybeWithUsdBalance","TokenBadge","formatUnits","toDecimalTrimmed","formatFiatPrice","Button","JSX","Prettify","TokenRowForFetchedToken","fetchedOnChain","RowRendererProps","row","onSelect","token","RowRenderer","props","Element","BaseRowRenderer","afterBadge","React","ReactNode","BaseRenderer","t0","$","_c","t1","undefined","t2","Symbol","for","logo","t3","address","img","network","t4","t5","DefaultRenderer","afterBalance","DefaultRowRenderer","balance","decimals","formattedBalance","BigInt","balanceToDisplay","usdBalance","formattedUsdBalance","usdBalanceToDisplay","symbol","t6","name","t7","t8","t9","t10","t11","FetchedTokenRenderer","RendererByType","Renderer"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.tsx"],"sourcesContent":["import type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { Button } from \"@/components/ui/button\";\nimport type { JSX } from \"react\";\nimport type { Prettify } from \"ts-essentials\";\n\nexport type TokenRowForFetchedToken = Prettify<\n TokenMaybeWithUsdBalance & {\n fetchedOnChain?: true;\n }\n>;\n\nexport type RowRendererProps = {\n row: TokenRowForFetchedToken;\n onSelect?: (token: Token) => void;\n};\n\nexport type RowRenderer = (props: RowRendererProps) => JSX.Element;\n\ntype BaseRowRenderer = (\n props: RowRendererProps & {\n afterBadge?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst BaseRenderer: BaseRowRenderer = ({ row, onSelect, afterBadge }) => {\n return (\n <div className=\"h-full px-1\">\n <div\n className=\"px-2 rounded-sm hover:bg-contrast-9 dark:hover:bg-contrast-3 h-full hover:cursor-pointer transition-colors\"\n onClick={\n onSelect\n ? () => {\n onSelect(row);\n }\n : undefined\n }\n >\n <div className=\"flex items-center gap-2 h-full border-b-[0.5px] border-b-contrast-7 dark:border-b-contrast-3 hover:cursor-pointer\">\n <TokenBadge\n address={row.address}\n img={row.img}\n chainId={row.network}\n showNetworkIcon\n classes={{ logo: \"size-[24px]\" }}\n />\n {afterBadge}\n </div>\n </div>\n </div>\n );\n};\n\ntype DefaultRenderer = (\n props: RowRendererProps & {\n afterBalance?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst DefaultRowRenderer: DefaultRenderer = ({\n row,\n onSelect,\n afterBalance,\n}) => {\n const formattedBalance = row.balance\n ? formatUnits(BigInt(row.balance), row.decimals)\n : undefined;\n\n const balanceToDisplay = formattedBalance\n ? toDecimalTrimmed(formattedBalance)\n : \"0\";\n\n const formattedUsdBalance = row.usdBalance\n ? formatFiatPrice(row.usdBalance)\n : undefined;\n\n const usdBalanceToDisplay =\n formattedUsdBalance === undefined\n ? \"$0\" // no usd prices or token.balance is zero\n : formattedUsdBalance === \"$0.00\"\n ? \"<$0.01\" // usd balance is less than 0.01\n : formattedUsdBalance;\n\n return (\n <BaseRenderer\n row={row}\n onSelect={onSelect}\n afterBadge={\n <>\n <div className=\"flex-1\">\n <div className=\"flex items-center justify-between text-sm gap-2 text-contrast-3\">\n <div className=\"dark:text-contrast-6 font-medium\">\n {row.symbol}\n </div>\n <div className=\"dark:text-contrast-7 font-medium break-all\">\n {balanceToDisplay}\n </div>\n </div>\n <div className=\"text-contrast-5 dark:text-contrast-5 flex items-center justify-between text-[10px]\">\n <div>{row.name}</div>\n <div>{usdBalanceToDisplay}</div>\n </div>\n </div>\n {afterBalance}\n </>\n }\n />\n );\n};\n\nconst FetchedTokenRenderer: RowRenderer = ({ row, onSelect }) => {\n return (\n <DefaultRowRenderer\n row={row}\n afterBalance={\n <Button\n onClick={onSelect ? () => onSelect(row) : undefined}\n variant={\"secondary\"}\n size=\"sm\"\n className=\"ml-2 flex-shrink-0 uppercase\"\n >\n Import\n </Button>\n }\n />\n );\n};\n\nexport const RendererByType = (props: RowRendererProps) => {\n const Renderer = props.row.fetchedOnChain\n ? FetchedTokenRenderer\n : DefaultRowRenderer;\n return <Renderer {...props} />;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"TokenListRow.js","names":["Token","TokenMaybeWithUsdBalance","TokenBadge","formatUnits","toDecimalTrimmed","formatFiatPrice","Button","JSX","Prettify","TokenRowForFetchedToken","fetchedOnChain","RowRendererProps","row","onSelect","token","RowRenderer","props","Element","BaseRowRenderer","afterBadge","React","ReactNode","BaseRenderer","t0","$","_c","t1","undefined","t2","Symbol","for","logo","t3","address","img","network","t4","t5","DefaultRenderer","afterBalance","DefaultRowRenderer","balance","decimals","formattedBalance","BigInt","balanceToDisplay","usdBalance","formattedUsdBalance","usdBalanceToDisplay","symbol","t6","name","t7","t8","t9","t10","t11","FetchedTokenRenderer","RendererByType","Renderer"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.tsx"],"sourcesContent":["import type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { Button } from \"@/components/ui/button\";\nimport type { JSX } from \"react\";\nimport type { Prettify } from \"ts-essentials\";\n\nexport type TokenRowForFetchedToken = Prettify<\n TokenMaybeWithUsdBalance & {\n fetchedOnChain?: true;\n }\n>;\n\nexport type RowRendererProps = {\n row: TokenRowForFetchedToken;\n onSelect?: (token: Token) => void;\n};\n\nexport type RowRenderer = (props: RowRendererProps) => JSX.Element;\n\ntype BaseRowRenderer = (\n props: RowRendererProps & {\n afterBadge?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst BaseRenderer: BaseRowRenderer = ({ row, onSelect, afterBadge }) => {\n return (\n <div className=\"h-full px-1\">\n <div\n className=\"px-2 rounded-sm hover:bg-contrast-9 dark:hover:bg-contrast-3 h-full hover:cursor-pointer transition-colors\"\n onClick={\n onSelect\n ? () => {\n onSelect(row);\n }\n : undefined\n }\n >\n <div className=\"flex items-center gap-2 h-full border-b-[0.5px] border-b-contrast-7 dark:border-b-contrast-3 hover:cursor-pointer\">\n <TokenBadge\n address={row.address}\n img={row.img}\n chainId={row.network}\n showNetworkIcon\n classes={{ logo: \"size-[24px]\" }}\n />\n {afterBadge}\n </div>\n </div>\n </div>\n );\n};\n\ntype DefaultRenderer = (\n props: RowRendererProps & {\n afterBalance?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst DefaultRowRenderer: DefaultRenderer = ({\n row,\n onSelect,\n afterBalance,\n}) => {\n const formattedBalance = row.balance\n ? formatUnits(BigInt(row.balance), row.decimals)\n : undefined;\n\n const balanceToDisplay = formattedBalance\n ? toDecimalTrimmed(formattedBalance)\n : \"0\";\n\n const formattedUsdBalance = row.usdBalance\n ? formatFiatPrice(row.usdBalance)\n : undefined;\n\n const usdBalanceToDisplay =\n formattedUsdBalance === undefined\n ? \"$0\" // no usd prices or token.balance is zero\n : formattedUsdBalance === \"$0.00\"\n ? \"<$0.01\" // usd balance is less than 0.01\n : formattedUsdBalance;\n\n return (\n <BaseRenderer\n row={row}\n onSelect={onSelect}\n afterBadge={\n <>\n <div className=\"flex-1\">\n <div className=\"flex items-center justify-between text-sm gap-2 text-contrast-3\">\n <div className=\"dark:text-contrast-6 font-medium\">\n {row.symbol}\n </div>\n <div className=\"dark:text-contrast-7 font-medium break-all\">\n {balanceToDisplay}\n </div>\n </div>\n <div className=\"text-contrast-5 dark:text-contrast-5 flex items-center justify-between text-[10px]\">\n <div>{row.name}</div>\n <div>{usdBalanceToDisplay}</div>\n </div>\n </div>\n {afterBalance}\n </>\n }\n />\n );\n};\n\nconst FetchedTokenRenderer: RowRenderer = ({ row, onSelect }) => {\n return (\n <DefaultRowRenderer\n row={row}\n afterBalance={\n <Button\n onClick={onSelect ? () => onSelect(row) : undefined}\n variant={\"secondary\"}\n size=\"sm\"\n className=\"ml-2 flex-shrink-0 uppercase\"\n >\n Import\n </Button>\n }\n />\n );\n};\n\nexport const RendererByType = (props: RowRendererProps) => {\n const Renderer = props.row.fetchedOnChain\n ? FetchedTokenRenderer\n : DefaultRowRenderer;\n return <Renderer {...props} />;\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenSearch.js","names":["CompactNetworkSwitcher","TokenSearchProps","SearchInput","TokenSearch","React","FC","t0","$","_c","value","onChange","clearSearch","compactNetworkSwitcherProps","classes","t1","t2"],"sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenSearch.tsx"],"sourcesContent":["import { CompactNetworkSwitcher } from \"@/components/widget/NetworkSwitcher/CompactNetworkSwitcher\";\nimport type { TokenSearchProps } from \"./types\";\nimport { SearchInput } from \"@/components/SearchInput/SearchInput\";\n\nexport const TokenSearch: React.FC<TokenSearchProps> = ({\n value,\n onChange,\n clearSearch,\n compactNetworkSwitcherProps,\n classes,\n}) => {\n return (\n <div className=\"px-4\">\n <SearchInput\n value={value}\n onChange={onChange}\n classes={classes}\n onClear={clearSearch}\n afterClearElement={\n compactNetworkSwitcherProps && (\n <CompactNetworkSwitcher {...compactNetworkSwitcherProps} />\n )\n }\n placeholder=\"Search by name or address\"\n />\n </div>\n );\n};\n"],"mappings":";;;;;AAIA,IAAaG,KAA0CG,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,UAAAC,aAAAC,gBAAAC,gCAAAC,eAAAP,GAMvDQ;AAAA,CAAAP,EAAA,OAAAK,IAWUE,IAAAP,EAAA,MAFDO,IAAAF,KACE,kBAAC,GAAD,EAAuB,GAAKA,GAC7B,CAAA,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAO;CAAA,IAAAC;AAID,QAJCR,EAAA,OAAAM,KAAAN,EAAA,OAAAI,KAAAJ,EAAA,OAAAG,KAAAH,EAAA,OAAAO,KAAAP,EAAA,OAAAE,KATPM,IAAA,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GACSN;GACGC;GACDG;GACAF,SAAAA;GAEP,mBAAAG;GAIU,aAAA;GAEhB,CAAA;EAAM,CAAA,EAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAI,GAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAO,GAAAP,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IAbNQ"}
1
+ {"version":3,"file":"TokenSearch.js","names":["CompactNetworkSwitcher","TokenSearchProps","SearchInput","TokenSearch","React","FC","t0","$","_c","value","onChange","clearSearch","compactNetworkSwitcherProps","classes","t1","t2"],"sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenSearch.tsx"],"sourcesContent":["import { CompactNetworkSwitcher } from \"@/components/widget/NetworkSwitcher/CompactNetworkSwitcher\";\nimport type { TokenSearchProps } from \"./types\";\nimport { SearchInput } from \"@/components/SearchInput/SearchInput\";\n\nexport const TokenSearch: React.FC<TokenSearchProps> = ({\n value,\n onChange,\n clearSearch,\n compactNetworkSwitcherProps,\n classes,\n}) => {\n return (\n <div className=\"px-4\">\n <SearchInput\n value={value}\n onChange={onChange}\n classes={classes}\n onClear={clearSearch}\n afterClearElement={\n compactNetworkSwitcherProps && (\n <CompactNetworkSwitcher {...compactNetworkSwitcherProps} />\n )\n }\n placeholder=\"Search by name or address\"\n />\n </div>\n );\n};\n"],"mappings":";;;;;AAIA,IAAaG,KAA0CG,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,UAAAC,aAAAC,gBAAAC,gCAAAC,eAAAP,GAMvDQ;CAAA,AAAAP,EAAA,OAAAK,IAWUE,IAAAP,EAAA,MAFDO,IAAAF,KACE,kBAAC,GAAD,EAAuB,GAAKA,GAC7B,CAAA,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAO;CAAA,IAAAC;CAID,OAJCR,EAAA,OAAAM,KAAAN,EAAA,OAAAI,KAAAJ,EAAA,OAAAG,KAAAH,EAAA,OAAAO,KAAAP,EAAA,OAAAE,KATPM,IAAA,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GACSN;GACGC;GACDG;GACAF,SAAAA;GAEP,mBAAAG;GAIU,aAAA;GAEhB,CAAA;EAAM,CAAA,EAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAI,GAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAO,GAAAP,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IAbNQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.js","names":["cn","openDrawerAtom","useSetAtom","DrawerOverlayProps","open","onClick","closeDrawerOnClick","className","InWidgetDrawerOverlay","t0","$","_c","t1","undefined","setOpenDrawer","t2","t3","t4","t5","t6"],"sources":["../../../../src/components/widget/Drawer/Overlay.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { openDrawerAtom } from \"./state/useDrawerControls\";\nimport { useSetAtom } from \"@/core/store\";\n\ntype DrawerOverlayProps = {\n open: boolean;\n onClick?: () => void;\n closeDrawerOnClick?: boolean;\n className?: string;\n};\n// Used when Partial Drawer is open,\n// darkens the Widget in the background,\n// onClick closes the Partial Drawer\nexport function InWidgetDrawerOverlay({\n open,\n onClick,\n closeDrawerOnClick = true,\n className,\n}: DrawerOverlayProps) {\n const setOpenDrawer = useSetAtom(openDrawerAtom);\n\n return (\n <div\n className={cn(\n \"absolute inset-0 bg-gray-900 z-10 transition-opacity duration-300 rounded-xxl\",\n {\n \"opacity-0\": !open,\n \"opacity-75\": open,\n // allow clicking through when no drawer is open\n \"pointer-events-none\": !open,\n },\n className\n )}\n onClick={() => {\n if (closeDrawerOnClick) {\n setOpenDrawer(null);\n }\n onClick?.();\n }}\n />\n );\n}\n"],"mappings":";;;;;;AAaA,SAAOQ,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA+B,EAAAP,SAAAC,YAAAC,oBAAAM,GAAAL,iBAAAE,GAGpCH,IAAAM,MAAAC,KAAAA,IAAA,KAAAD,GAGAE,IAAsBZ,EAAWD,EAAe,EAO3Bc,IAAA,CAACX,GAGSY,IAAA,CAACZ,GAAIa;AAAA,CAAAP,EAAA,OAAAH,KAAAG,EAAA,OAAAN,KAAAM,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KANrBC,IAAAjB,EACT,iFACA;EAAA,aACee;EAAK,cACJX;EAAI,uBAEKY;EACxB,EACDT,EACD,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAN,GAAAM,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;AAAA,CAAAR,EAAA,OAAAJ,KAAAI,EAAA,OAAAL,KAAAK,EAAA,OAAAI,KACQI,UAAA;AAIPb,EAHIC,KACFQ,EAAc,KAAK,EAErBT,KAAW;IACZK,EAAA,KAAAJ,GAAAI,EAAA,KAAAL,GAAAK,EAAA,KAAAI,GAAAJ,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAS;AACD,QADCT,EAAA,OAAAO,KAAAP,EAAA,QAAAQ,KAhBHC,IAAA,kBAAA,OAAA;EACa,WAAAF;EAUF,SAAAC;EAMT,CAAA,EAAAR,EAAA,KAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,KAAAA,IAAAT,EAAA,KAjBFS"}
1
+ {"version":3,"file":"Overlay.js","names":["cn","openDrawerAtom","useSetAtom","DrawerOverlayProps","open","onClick","closeDrawerOnClick","className","InWidgetDrawerOverlay","t0","$","_c","t1","undefined","setOpenDrawer","t2","t3","t4","t5","t6"],"sources":["../../../../src/components/widget/Drawer/Overlay.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { openDrawerAtom } from \"./state/useDrawerControls\";\nimport { useSetAtom } from \"@/core/store\";\n\ntype DrawerOverlayProps = {\n open: boolean;\n onClick?: () => void;\n closeDrawerOnClick?: boolean;\n className?: string;\n};\n// Used when Partial Drawer is open,\n// darkens the Widget in the background,\n// onClick closes the Partial Drawer\nexport function InWidgetDrawerOverlay({\n open,\n onClick,\n closeDrawerOnClick = true,\n className,\n}: DrawerOverlayProps) {\n const setOpenDrawer = useSetAtom(openDrawerAtom);\n\n return (\n <div\n className={cn(\n \"absolute inset-0 bg-gray-900 z-10 transition-opacity duration-300 rounded-xxl\",\n {\n \"opacity-0\": !open,\n \"opacity-75\": open,\n // allow clicking through when no drawer is open\n \"pointer-events-none\": !open,\n },\n className\n )}\n onClick={() => {\n if (closeDrawerOnClick) {\n setOpenDrawer(null);\n }\n onClick?.();\n }}\n />\n );\n}\n"],"mappings":";;;;;;AAaA,SAAOQ,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA+B,EAAAP,SAAAC,YAAAC,oBAAAM,GAAAL,iBAAAE,GAGpCH,IAAAM,MAAAC,KAAAA,IAAA,KAAAD,GAGAE,IAAsBZ,EAAWD,EAAe,EAO3Bc,IAAA,CAACX,GAGSY,IAAA,CAACZ,GAAIa;CAAA,AAAAP,EAAA,OAAAH,KAAAG,EAAA,OAAAN,KAAAM,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KANrBC,IAAAjB,EACT,iFACA;EAAA,aACee;EAAK,cACJX;EAAI,uBAEKY;EACxB,EACDT,EACD,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAN,GAAAM,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;CAAA,AAAAR,EAAA,OAAAJ,KAAAI,EAAA,OAAAL,KAAAK,EAAA,OAAAI,KACQI,UAAA;EAIPb,AAHIC,KACFQ,EAAc,KAAK,EAErBT,KAAW;IACZK,EAAA,KAAAJ,GAAAI,EAAA,KAAAL,GAAAK,EAAA,KAAAI,GAAAJ,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAS;CACD,OADCT,EAAA,OAAAO,KAAAP,EAAA,QAAAQ,KAhBHC,IAAA,kBAAA,OAAA;EACa,WAAAF;EAUF,SAAAC;EAMT,CAAA,EAAAR,EAAA,KAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,KAAAA,IAAAT,EAAA,KAjBFS"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Drawer","DrawerClose","DrawerContent","DrawerHeader","DrawerTitle","DrawerPortal","DrawerDescription","useContainerAtom","cn","LoggerInstance","WithClasses","XIcon","ArrowLeft","ControlledDrawerProps","React","ComponentProps","open","children","ReactNode","container","HTMLElement","title","description","showGoBackButton","onGoBack","showCloseButton","logger","closeButtonReplacement","scrollIntoView","ControlledDrawer","t0","$","_c","_container","classes","props","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","dismissible","t11","t12","t13","t14","undefined","drawerContainer","shouldShowHeader","content","restoreContainer","onAnimationStart","event","maybeMoveIntoPage","element","currentTarget","onAnimationEnd","maybeScrollIntoView","onClose","isElementAbovePage","Element","rect","getBoundingClientRect","diff","Math","ceil","top","window","scrollY","isAbove","overlap","abs","MaybeMoveIntoPageProps","style","translate","isElementVisibleInViewport","innerHeight","bottom","left","innerWidth","right","behavior","block","inline","transition"],"sources":["../../../../src/components/widget/Drawer/index.tsx"],"sourcesContent":["import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerPortal,\n DrawerDescription,\n} from \"@/components/ui/drawer\";\nimport { useContainerAtom } from \"@/core/state/containerAtom\";\nimport { cn } from \"@/lib/utils\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { XIcon, ArrowLeft } from \"lucide-react\";\n\ntype ControlledDrawerProps = React.ComponentProps<typeof Drawer> & {\n open: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | null;\n title?: string;\n description?: string;\n showGoBackButton?: boolean;\n onGoBack?: () => void;\n showCloseButton?: boolean;\n logger?: LoggerInstance;\n closeButtonReplacement?: React.ReactNode;\n scrollIntoView?: boolean;\n} & WithClasses<\"content\">;\n\nexport function ControlledDrawer({\n children,\n container: _container,\n title,\n description,\n showCloseButton,\n showGoBackButton,\n onGoBack,\n closeButtonReplacement,\n logger,\n dismissible = false,\n scrollIntoView = true, // If Drawer Opened offscreen, scroll into view\n classes,\n ...props\n}: ControlledDrawerProps) {\n const drawerContainer = useContainerAtom();\n const container = _container || drawerContainer;\n\n const shouldShowHeader = !!(\n showGoBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <Drawer\n {...props}\n container={container}\n dismissible={dismissible}\n modal={false}\n >\n <DrawerPortal>\n <DrawerContent\n className={cn(\n \"absolute p-0 bg-contrast-8 dark:bg-contrast-1\",\n classes?.content\n )}\n onAnimationStart={() => {\n if (drawerContainer && !props.open) {\n // restore container to bottom\n restoreContainer.onAnimationStart(drawerContainer);\n }\n }}\n onAnimationEnd={(event) => {\n if (drawerContainer) {\n maybeMoveIntoPage({\n element: event.currentTarget,\n open: props.open,\n drawerContainer,\n });\n // restore normal transition if it was set to none\n restoreContainer.onAnimationEnd(drawerContainer);\n }\n\n // only after animated to Open state to prevent jiggle\n if (scrollIntoView && props.open) {\n // On short screens a Drawer may open offscreen and not be noticable\n maybeScrollIntoView(event.currentTarget);\n }\n }}\n >\n {shouldShowHeader ? (\n <DrawerHeader>\n <div className=\"flex items-center justify-between\">\n <DrawerTitle className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {showGoBackButton && (\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0\"\n onClick={onGoBack || props.onClose}\n />\n )}\n {title}\n </DrawerTitle>\n {closeButtonReplacement ??\n (showCloseButton && (\n <DrawerClose\n className=\"ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n onClick={props.onClose}\n >\n <XIcon />\n </DrawerClose>\n ))}\n </div>\n </DrawerHeader>\n ) : (\n // workaround to avoid \"DialogContent requires a DialogTitle for the component to be accessible for screen reader users\"\n // error if !shouldShowHeader\n <DrawerTitle className=\"sr-only\" />\n )}\n <DrawerDescription>{description}</DrawerDescription>\n {children}\n </DrawerContent>\n </DrawerPortal>\n </Drawer>\n );\n}\n\n// Helper function to check if an element is above the page (not viewport)\nfunction isElementAbovePage(element: Element) {\n const rect = element.getBoundingClientRect();\n const diff = Math.ceil(rect.top + window.scrollY);\n const isAbove = diff < 0;\n const overlap = isAbove ? Math.abs(diff) : 0;\n return {\n overlap,\n isAbove,\n };\n}\n\ntype MaybeMoveIntoPageProps = {\n element: Element;\n open: boolean;\n drawerContainer: HTMLElement;\n};\n\nfunction maybeMoveIntoPage({\n element,\n open,\n drawerContainer,\n}: MaybeMoveIntoPageProps) {\n if (open) {\n const { isAbove, overlap } = isElementAbovePage(element);\n if (isAbove) {\n drawerContainer.style.translate = `0 ${overlap}px`;\n }\n } else {\n drawerContainer.style.translate = \"\";\n }\n}\n\n// Helper function to check if an element is visible in the viewport\nfunction isElementVisibleInViewport(element: Element): boolean {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top <= window.innerHeight &&\n rect.bottom >= 0 &&\n rect.left <= window.innerWidth &&\n rect.right >= 0\n );\n}\n\nfunction maybeScrollIntoView(element: Element) {\n if (isElementVisibleInViewport(element)) {\n return;\n }\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n}\n\nconst restoreContainer = {\n onAnimationStart: (drawerContainer: HTMLElement) => {\n // restore container to bottom\n drawerContainer.style.translate = \"\";\n // set transition to snap container to bottom, looks better when not animated, because drawer is already closing\n drawerContainer.style.transition = \"none\";\n },\n onAnimationEnd: (drawerContainer: HTMLElement) => {\n // restore normal transition if it was set to none\n drawerContainer.style.transition = \"\";\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Drawer","DrawerClose","DrawerContent","DrawerHeader","DrawerTitle","DrawerPortal","DrawerDescription","useContainerAtom","cn","LoggerInstance","WithClasses","XIcon","ArrowLeft","ControlledDrawerProps","React","ComponentProps","open","children","ReactNode","container","HTMLElement","title","description","showGoBackButton","onGoBack","showCloseButton","logger","closeButtonReplacement","scrollIntoView","ControlledDrawer","t0","$","_c","_container","classes","props","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","dismissible","t11","t12","t13","t14","undefined","drawerContainer","shouldShowHeader","content","restoreContainer","onAnimationStart","event","maybeMoveIntoPage","element","currentTarget","onAnimationEnd","maybeScrollIntoView","onClose","isElementAbovePage","Element","rect","getBoundingClientRect","diff","Math","ceil","top","window","scrollY","isAbove","overlap","abs","MaybeMoveIntoPageProps","style","translate","isElementVisibleInViewport","innerHeight","bottom","left","innerWidth","right","behavior","block","inline","transition"],"sources":["../../../../src/components/widget/Drawer/index.tsx"],"sourcesContent":["import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerPortal,\n DrawerDescription,\n} from \"@/components/ui/drawer\";\nimport { useContainerAtom } from \"@/core/state/containerAtom\";\nimport { cn } from \"@/lib/utils\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { XIcon, ArrowLeft } from \"lucide-react\";\n\ntype ControlledDrawerProps = React.ComponentProps<typeof Drawer> & {\n open: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | null;\n title?: string;\n description?: string;\n showGoBackButton?: boolean;\n onGoBack?: () => void;\n showCloseButton?: boolean;\n logger?: LoggerInstance;\n closeButtonReplacement?: React.ReactNode;\n scrollIntoView?: boolean;\n} & WithClasses<\"content\">;\n\nexport function ControlledDrawer({\n children,\n container: _container,\n title,\n description,\n showCloseButton,\n showGoBackButton,\n onGoBack,\n closeButtonReplacement,\n logger,\n dismissible = false,\n scrollIntoView = true, // If Drawer Opened offscreen, scroll into view\n classes,\n ...props\n}: ControlledDrawerProps) {\n const drawerContainer = useContainerAtom();\n const container = _container || drawerContainer;\n\n const shouldShowHeader = !!(\n showGoBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <Drawer\n {...props}\n container={container}\n dismissible={dismissible}\n modal={false}\n >\n <DrawerPortal>\n <DrawerContent\n className={cn(\n \"absolute p-0 bg-contrast-8 dark:bg-contrast-1\",\n classes?.content\n )}\n onAnimationStart={() => {\n if (drawerContainer && !props.open) {\n // restore container to bottom\n restoreContainer.onAnimationStart(drawerContainer);\n }\n }}\n onAnimationEnd={(event) => {\n if (drawerContainer) {\n maybeMoveIntoPage({\n element: event.currentTarget,\n open: props.open,\n drawerContainer,\n });\n // restore normal transition if it was set to none\n restoreContainer.onAnimationEnd(drawerContainer);\n }\n\n // only after animated to Open state to prevent jiggle\n if (scrollIntoView && props.open) {\n // On short screens a Drawer may open offscreen and not be noticable\n maybeScrollIntoView(event.currentTarget);\n }\n }}\n >\n {shouldShowHeader ? (\n <DrawerHeader>\n <div className=\"flex items-center justify-between\">\n <DrawerTitle className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {showGoBackButton && (\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0\"\n onClick={onGoBack || props.onClose}\n />\n )}\n {title}\n </DrawerTitle>\n {closeButtonReplacement ??\n (showCloseButton && (\n <DrawerClose\n className=\"ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n onClick={props.onClose}\n >\n <XIcon />\n </DrawerClose>\n ))}\n </div>\n </DrawerHeader>\n ) : (\n // workaround to avoid \"DialogContent requires a DialogTitle for the component to be accessible for screen reader users\"\n // error if !shouldShowHeader\n <DrawerTitle className=\"sr-only\" />\n )}\n <DrawerDescription>{description}</DrawerDescription>\n {children}\n </DrawerContent>\n </DrawerPortal>\n </Drawer>\n );\n}\n\n// Helper function to check if an element is above the page (not viewport)\nfunction isElementAbovePage(element: Element) {\n const rect = element.getBoundingClientRect();\n const diff = Math.ceil(rect.top + window.scrollY);\n const isAbove = diff < 0;\n const overlap = isAbove ? Math.abs(diff) : 0;\n return {\n overlap,\n isAbove,\n };\n}\n\ntype MaybeMoveIntoPageProps = {\n element: Element;\n open: boolean;\n drawerContainer: HTMLElement;\n};\n\nfunction maybeMoveIntoPage({\n element,\n open,\n drawerContainer,\n}: MaybeMoveIntoPageProps) {\n if (open) {\n const { isAbove, overlap } = isElementAbovePage(element);\n if (isAbove) {\n drawerContainer.style.translate = `0 ${overlap}px`;\n }\n } else {\n drawerContainer.style.translate = \"\";\n }\n}\n\n// Helper function to check if an element is visible in the viewport\nfunction isElementVisibleInViewport(element: Element): boolean {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top <= window.innerHeight &&\n rect.bottom >= 0 &&\n rect.left <= window.innerWidth &&\n rect.right >= 0\n );\n}\n\nfunction maybeScrollIntoView(element: Element) {\n if (isElementVisibleInViewport(element)) {\n return;\n }\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n}\n\nconst restoreContainer = {\n onAnimationStart: (drawerContainer: HTMLElement) => {\n // restore container to bottom\n drawerContainer.style.translate = \"\";\n // set transition to snap container to bottom, looks better when not animated, because drawer is already closing\n drawerContainer.style.transition = \"none\";\n },\n onAnimationEnd: (drawerContainer: HTMLElement) => {\n // restore normal transition if it was set to none\n drawerContainer.style.transition = \"\";\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerControls.js","names":["DRAWER_HEIGHT","useLogger","LoggerInstance","atom","useLayoutEffect","useRef","useState","useAtom","useAtomValue","useSetAtom","DrawerControls","open","onOpen","onClose","onOpenChange","logger","DrawerId","openDrawerAtom","onMount","set","useOpenDrawerId","useSetOpenDrawer","DrawerControlsProps","drawerId","useDrawerControls","t0","$","_c","_onOpen","_onClose","openDrawer","setOpenDrawer","t1","info","t2","currentOpenDrawer","t3","open_0","t4","useLocalDrawerControls","undefined","setOpen","t5","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","isDrawerOpen"],"sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"sourcesContent":["import { DRAWER_HEIGHT } from \"@/core/constants\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { atom } from \"jotai\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\n\nexport type DrawerControls = {\n open: boolean;\n onOpen: () => void;\n onClose: () => void;\n onOpenChange: (open: boolean) => void;\n logger: LoggerInstance;\n};\n\nexport type DrawerId =\n | \"account-button-drawer\"\n | \"trade-parameters-drawer\"\n | \"receiver-address-drawer\"\n | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"custom-duration-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nopenDrawerAtom.onMount = (set) => {\n return () => {\n // Reset open drawer on unmount to prevent stuck open drawers on remount.\n // This happens, for example, on route change in the UI with any drawer open.\n set(null);\n };\n};\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useSetOpenDrawer = () => {\n return useSetAtom(openDrawerAtom);\n};\n\ntype DrawerControlsProps = {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: DrawerControlsProps): DrawerControls => {\n const [openDrawer, setOpenDrawer] = useAtom(openDrawerAtom);\n\n const open = openDrawer === drawerId;\n\n const logger = useLogger(drawerId);\n\n const onOpen = () => {\n logger.info(\"onOpen\");\n setOpenDrawer(drawerId);\n _onOpen?.();\n };\n const onClose = () => {\n logger.info(\"onClose\");\n setOpenDrawer((currentOpenDrawer) => {\n // only reset openDrawer if closing the drawer that is currently open,\n // so that we don't interfere with other drawers that are opening at the same time\n if (currentOpenDrawer === drawerId) {\n return null;\n }\n return currentOpenDrawer;\n });\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n logger,\n };\n};\n\nexport const useLocalDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n}: Omit<DrawerControlsProps, \"drawerId\"> = {}): Omit<\n DrawerControls,\n \"logger\"\n> => {\n const [open, setOpen] = useState(false);\n const onOpen = () => {\n setOpen(true);\n _onOpen?.();\n };\n const onClose = () => {\n setOpen(false);\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n };\n};\n\n/**\n * Drawer IDs that should be considered full-cover drawers.\n *\n * When a full-cover drawer opens, the widget container height is transitioned to a fixed WIDGET_HEIGHT_CLASSNAME height.\n * When the drawer closes, the widget container height is transitioned back to the natural height.\n */\nconst fullCoverDrawers = new Set<DrawerId>([]);\n\nconst transition = \"height 0.3s ease-in-out\";\n\n/**\n * Hook that manages smooth height transitions for the main widget container when full-cover drawers open/close.\n *\n * When a full-cover drawer opens, this hook smoothly animates the widget height from its natural height\n * to a fixed WIDGET_HEIGHT_CLASSNAME height. When the drawer closes, it animates back to the original height and then\n * resets to auto for natural sizing.\n *\n * This prevents jarring height jumps and provides a polished user experience during drawer interactions.\n *\n * @returns {Object} containerRef - React ref that should be attached to the widget container element\n *\n * @example\n * const { containerRef } = useDrawerContainerHeightTransition();\n * return <div ref={containerRef} className=\"widget-container\">...</div>\n */\nexport const useDrawerContainerHeightTransition = (\n containerRef: React.RefObject<HTMLDivElement | null>\n): {\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\n const previousHeightRef = useRef<number | null>(null);\n\n const currentDrawerId = useOpenDrawerId();\n const isDrawerFullCover =\n !!currentDrawerId && fullCoverDrawers.has(currentDrawerId);\n\n useLayoutEffect(() => {\n if (containerRef.current) {\n const container = containerRef.current;\n\n if (isDrawerFullCover) {\n // Get current height\n const currentHeight = container.scrollHeight;\n // widget will be fully covered by the drawer, won't see the transition\n const shouldSkipTransition = currentHeight <= DRAWER_HEIGHT;\n if (shouldSkipTransition) {\n return;\n }\n previousHeightRef.current = currentHeight;\n container.style.overflow = \"hidden\";\n\n // Set current height first (no transition)\n container.style.transition = \"none\";\n container.style.height = `${currentHeight}px`;\n\n // Use requestAnimationFrame to ensure the first height is painted\n requestAnimationFrame(() => {\n // Enable transition and set target height\n container.style.transition = transition;\n container.style.height = `${DRAWER_HEIGHT}px`;\n });\n } else if (previousHeightRef.current !== null) {\n // Only transition back if we have a previous height\n container.style.transition = transition;\n container.style.height = `${previousHeightRef.current}px`;\n previousHeightRef.current = null;\n\n // After transition completes, reset to auto\n const onTransitionEnd = (event: TransitionEvent) => {\n if (\n event.target === container &&\n event.propertyName === \"height\" &&\n event.type === \"transitionend\"\n ) {\n container.style.height = \"auto\";\n container.style.transition = \"\";\n container.style.overflow = \"\";\n\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n }\n };\n container.addEventListener(\"transitionend\", onTransitionEnd);\n\n return () => {\n // cleanup just in case\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n };\n }\n }\n }, [containerRef, isDrawerFullCover]);\n\n return {\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawerControls.js","names":["DRAWER_HEIGHT","useLogger","LoggerInstance","atom","useLayoutEffect","useRef","useState","useAtom","useAtomValue","useSetAtom","DrawerControls","open","onOpen","onClose","onOpenChange","logger","DrawerId","openDrawerAtom","onMount","set","useOpenDrawerId","useSetOpenDrawer","DrawerControlsProps","drawerId","useDrawerControls","t0","$","_c","_onOpen","_onClose","openDrawer","setOpenDrawer","t1","info","t2","currentOpenDrawer","t3","open_0","t4","useLocalDrawerControls","undefined","setOpen","t5","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","isDrawerOpen"],"sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"sourcesContent":["import { DRAWER_HEIGHT } from \"@/core/constants\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { atom } from \"jotai\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\n\nexport type DrawerControls = {\n open: boolean;\n onOpen: () => void;\n onClose: () => void;\n onOpenChange: (open: boolean) => void;\n logger: LoggerInstance;\n};\n\nexport type DrawerId =\n | \"account-button-drawer\"\n | \"trade-parameters-drawer\"\n | \"receiver-address-drawer\"\n | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"custom-duration-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nopenDrawerAtom.onMount = (set) => {\n return () => {\n // Reset open drawer on unmount to prevent stuck open drawers on remount.\n // This happens, for example, on route change in the UI with any drawer open.\n set(null);\n };\n};\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useSetOpenDrawer = () => {\n return useSetAtom(openDrawerAtom);\n};\n\ntype DrawerControlsProps = {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: DrawerControlsProps): DrawerControls => {\n const [openDrawer, setOpenDrawer] = useAtom(openDrawerAtom);\n\n const open = openDrawer === drawerId;\n\n const logger = useLogger(drawerId);\n\n const onOpen = () => {\n logger.info(\"onOpen\");\n setOpenDrawer(drawerId);\n _onOpen?.();\n };\n const onClose = () => {\n logger.info(\"onClose\");\n setOpenDrawer((currentOpenDrawer) => {\n // only reset openDrawer if closing the drawer that is currently open,\n // so that we don't interfere with other drawers that are opening at the same time\n if (currentOpenDrawer === drawerId) {\n return null;\n }\n return currentOpenDrawer;\n });\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n logger,\n };\n};\n\nexport const useLocalDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n}: Omit<DrawerControlsProps, \"drawerId\"> = {}): Omit<\n DrawerControls,\n \"logger\"\n> => {\n const [open, setOpen] = useState(false);\n const onOpen = () => {\n setOpen(true);\n _onOpen?.();\n };\n const onClose = () => {\n setOpen(false);\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n };\n};\n\n/**\n * Drawer IDs that should be considered full-cover drawers.\n *\n * When a full-cover drawer opens, the widget container height is transitioned to a fixed WIDGET_HEIGHT_CLASSNAME height.\n * When the drawer closes, the widget container height is transitioned back to the natural height.\n */\nconst fullCoverDrawers = new Set<DrawerId>([]);\n\nconst transition = \"height 0.3s ease-in-out\";\n\n/**\n * Hook that manages smooth height transitions for the main widget container when full-cover drawers open/close.\n *\n * When a full-cover drawer opens, this hook smoothly animates the widget height from its natural height\n * to a fixed WIDGET_HEIGHT_CLASSNAME height. When the drawer closes, it animates back to the original height and then\n * resets to auto for natural sizing.\n *\n * This prevents jarring height jumps and provides a polished user experience during drawer interactions.\n *\n * @returns {Object} containerRef - React ref that should be attached to the widget container element\n *\n * @example\n * const { containerRef } = useDrawerContainerHeightTransition();\n * return <div ref={containerRef} className=\"widget-container\">...</div>\n */\nexport const useDrawerContainerHeightTransition = (\n containerRef: React.RefObject<HTMLDivElement | null>\n): {\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\n const previousHeightRef = useRef<number | null>(null);\n\n const currentDrawerId = useOpenDrawerId();\n const isDrawerFullCover =\n !!currentDrawerId && fullCoverDrawers.has(currentDrawerId);\n\n useLayoutEffect(() => {\n if (containerRef.current) {\n const container = containerRef.current;\n\n if (isDrawerFullCover) {\n // Get current height\n const currentHeight = container.scrollHeight;\n // widget will be fully covered by the drawer, won't see the transition\n const shouldSkipTransition = currentHeight <= DRAWER_HEIGHT;\n if (shouldSkipTransition) {\n return;\n }\n previousHeightRef.current = currentHeight;\n container.style.overflow = \"hidden\";\n\n // Set current height first (no transition)\n container.style.transition = \"none\";\n container.style.height = `${currentHeight}px`;\n\n // Use requestAnimationFrame to ensure the first height is painted\n requestAnimationFrame(() => {\n // Enable transition and set target height\n container.style.transition = transition;\n container.style.height = `${DRAWER_HEIGHT}px`;\n });\n } else if (previousHeightRef.current !== null) {\n // Only transition back if we have a previous height\n container.style.transition = transition;\n container.style.height = `${previousHeightRef.current}px`;\n previousHeightRef.current = null;\n\n // After transition completes, reset to auto\n const onTransitionEnd = (event: TransitionEvent) => {\n if (\n event.target === container &&\n event.propertyName === \"height\" &&\n event.type === \"transitionend\"\n ) {\n container.style.height = \"auto\";\n container.style.transition = \"\";\n container.style.overflow = \"\";\n\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n }\n };\n container.addEventListener(\"transitionend\", onTransitionEnd);\n\n return () => {\n // cleanup just in case\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n };\n }\n }\n }, [containerRef, isDrawerFullCover]);\n\n return {\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownWithItems.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Dropdown/DropdownWithItems.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAYtD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAiD9D,CAAC"}
1
+ {"version":3,"file":"DropdownWithItems.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Dropdown/DropdownWithItems.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAYtD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoD9D,CAAC"}
@@ -23,11 +23,12 @@ var u = {
23
23
  children: f
24
24
  }), /* @__PURE__ */ c(r, {
25
25
  className: e(u.group, m?.group),
26
- children: p?.map(({ label: t, onSelect: n, selected: r, className: a }, o) => /* @__PURE__ */ c(i, {
26
+ children: p?.map(({ label: t, onSelect: n, selected: r, className: a, disabled: o }, s) => /* @__PURE__ */ c(i, {
27
27
  onSelect: n,
28
28
  className: e(u.item, m?.item, a, r && e(u.itemSelected, m?.itemSelected)),
29
+ disabled: o,
29
30
  children: t
30
- }, o))
31
+ }, s))
31
32
  })]
32
33
  })] });
33
34
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownWithItems.js","names":["DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuLabel","DropdownMenuGroup","DropdownMenuItem","Button","cn","DropdownWithItemsProps","defaultClasses","content","group","item","itemSelected","trigger","DropdownWithItems","React","FC","menuTrigger","label","items","classes","align","map","onSelect","selected","className","index"],"sources":["../../../../src/components/widget/Dropdown/DropdownWithItems.tsx"],"sourcesContent":["import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuGroup,\n DropdownMenuItem,\n} from \"@/components/ui/dropdown-menu\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\nimport type { DropdownWithItemsProps } from \"./types\";\n\nconst defaultClasses: DropdownWithItemsProps[\"classes\"] = {\n content:\n \"p-2 border border-transparent bg-contrast-9 dark:bg-contrast-2 dark:border-contrast-3\",\n group: \"space-y-1\",\n item: \"min-w-[160px] min-h-[32px] text-xs hover:bg-contrast-8 dark:hover:bg-contrast-3 rounded-md px-2 py-1 cursor-pointer\",\n itemSelected: \"bg-contrast-8 dark:bg-contrast-3\",\n trigger:\n \"transition-all focus-visible:outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] focus-visible:rounded-xs\",\n};\n\nexport const DropdownWithItems: React.FC<DropdownWithItemsProps> = ({\n menuTrigger = <Button variant=\"outline\">Open</Button>,\n label,\n items,\n classes,\n align = \"start\",\n}) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n className={cn(defaultClasses.trigger, classes?.trigger)}\n >\n {menuTrigger}\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className={cn(defaultClasses.content, classes?.content)}\n align={align}\n >\n {label && (\n <DropdownMenuLabel\n className={cn(defaultClasses.label, classes?.label)}\n >\n {label}\n </DropdownMenuLabel>\n )}\n <DropdownMenuGroup className={cn(defaultClasses.group, classes?.group)}>\n {items?.map(({ label, onSelect, selected, className }, index) => (\n <DropdownMenuItem\n key={index}\n onSelect={onSelect}\n className={cn(\n // apply default classes first\n defaultClasses.item,\n // then apply custom classes\n classes?.item,\n // but option.className takes precedence\n className,\n // and if selected, apply selected class\n selected &&\n cn(defaultClasses.itemSelected, classes?.itemSelected)\n )}\n >\n {label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"mappings":";;;;;AAYA,IAAMS,IAAoD;CACxDC,SACE;CACFC,OAAO;CACPC,MAAM;CACNC,cAAc;CACdC,SACE;CACH,EAEYC,KAAuD,EAClEG,iBAAc,kBAAC,GAAD;CAAQ,SAAQ;WAAU;CAAa,CAAA,EACrDC,UACAC,UACAC,YACAC,WAAQ,cAGN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;CACE,WAAWf,EAAGE,EAAeK,SAASO,GAASP,QAAQ;WAEtDI;CACkB,CAAA,EACrB,kBAAC,GAAD;CACE,WAAWX,EAAGE,EAAeC,SAASW,GAASX,QAAQ;CAChDY;WAFT,CAIGH,KACC,kBAAC,GAAD;EACE,WAAWZ,EAAGE,EAAeU,OAAOE,GAASF,MAAM;YAElDA;EAEJ,CAAA,EACD,kBAAC,GAAD;EAAmB,WAAWZ,EAAGE,EAAeE,OAAOU,GAASV,MAAM;YACnES,GAAOG,KAAK,EAAEJ,OAAAA,GAAOK,aAAUC,aAAUC,gBAAaC,MACrD,kBAAC,GAAD;GAEYH;GACV,WAAWjB,EAETE,EAAeG,MAEfS,GAAST,MAETc,GAEAD,KACElB,EAAGE,EAAeI,cAAcQ,GAASR,aAC7C,CAAC;aAEAM;GAEJ,EAhBQQ,EAgBR,CAAC;EACe,CAAA,CACA;GACR,EAAA,CAAA"}
1
+ {"version":3,"file":"DropdownWithItems.js","names":["DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuLabel","DropdownMenuGroup","DropdownMenuItem","Button","cn","DropdownWithItemsProps","defaultClasses","content","group","item","itemSelected","trigger","DropdownWithItems","React","FC","menuTrigger","label","items","classes","align","map","onSelect","selected","className","disabled","index"],"sources":["../../../../src/components/widget/Dropdown/DropdownWithItems.tsx"],"sourcesContent":["import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuGroup,\n DropdownMenuItem,\n} from \"@/components/ui/dropdown-menu\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\nimport type { DropdownWithItemsProps } from \"./types\";\n\nconst defaultClasses: DropdownWithItemsProps[\"classes\"] = {\n content:\n \"p-2 border border-transparent bg-contrast-9 dark:bg-contrast-2 dark:border-contrast-3\",\n group: \"space-y-1\",\n item: \"min-w-[160px] min-h-[32px] text-xs hover:bg-contrast-8 dark:hover:bg-contrast-3 rounded-md px-2 py-1 cursor-pointer\",\n itemSelected: \"bg-contrast-8 dark:bg-contrast-3\",\n trigger:\n \"transition-all focus-visible:outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] focus-visible:rounded-xs\",\n};\n\nexport const DropdownWithItems: React.FC<DropdownWithItemsProps> = ({\n menuTrigger = <Button variant=\"outline\">Open</Button>,\n label,\n items,\n classes,\n align = \"start\",\n}) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n className={cn(defaultClasses.trigger, classes?.trigger)}\n >\n {menuTrigger}\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className={cn(defaultClasses.content, classes?.content)}\n align={align}\n >\n {label && (\n <DropdownMenuLabel\n className={cn(defaultClasses.label, classes?.label)}\n >\n {label}\n </DropdownMenuLabel>\n )}\n <DropdownMenuGroup className={cn(defaultClasses.group, classes?.group)}>\n {items?.map(\n ({ label, onSelect, selected, className, disabled }, index) => (\n <DropdownMenuItem\n key={index}\n onSelect={onSelect}\n className={cn(\n // apply default classes first\n defaultClasses.item,\n // then apply custom classes\n classes?.item,\n // but option.className takes precedence\n className,\n // and if selected, apply selected class\n selected &&\n cn(defaultClasses.itemSelected, classes?.itemSelected)\n )}\n disabled={disabled}\n >\n {label}\n </DropdownMenuItem>\n )\n )}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"mappings":";;;;;AAYA,IAAMS,IAAoD;CACxDC,SACE;CACFC,OAAO;CACPC,MAAM;CACNC,cAAc;CACdC,SACE;CACH,EAEYC,KAAuD,EAClEG,iBAAc,kBAAC,GAAD;CAAQ,SAAQ;WAAU;CAAa,CAAA,EACrDC,UACAC,UACAC,YACAC,WAAQ,cAGN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;CACE,WAAWf,EAAGE,EAAeK,SAASO,GAASP,QAAQ;WAEtDI;CACkB,CAAA,EACrB,kBAAC,GAAD;CACE,WAAWX,EAAGE,EAAeC,SAASW,GAASX,QAAQ;CAChDY;WAFT,CAIGH,KACC,kBAAC,GAAD;EACE,WAAWZ,EAAGE,EAAeU,OAAOE,GAASF,MAAM;YAElDA;EAEJ,CAAA,EACD,kBAAC,GAAD;EAAmB,WAAWZ,EAAGE,EAAeE,OAAOU,GAASV,MAAM;YACnES,GAAOG,KACL,EAAEJ,OAAAA,GAAOK,aAAUC,aAAUC,cAAWC,eAAYC,MACnD,kBAAC,GAAD;GAEYJ;GACV,WAAWjB,EAETE,EAAeG,MAEfS,GAAST,MAETc,GAEAD,KACElB,EAAGE,EAAeI,cAAcQ,GAASR,aAC7C,CAAC;GACSc;aAETR;GAGP,EAlBWS,EAkBX,CAAC;EACgB,CAAA,CACA;GACR,EAAA,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { WithClasses } from '../../../types/withClasses';
2
2
  import { DropdownMenuContentProps, DropdownMenuItemProps } from '@radix-ui/react-dropdown-menu';
3
- export type DropdownItem = Pick<DropdownMenuItemProps, "onSelect" | "className"> & {
3
+ export type DropdownItem = Pick<DropdownMenuItemProps, "onSelect" | "className" | "disabled"> & {
4
4
  label: DropdownMenuItemProps["children"];
5
5
  selected?: boolean;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Dropdown/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,qBAAqB,EACrB,UAAU,GAAG,WAAW,CACzB,GAAG;IACF,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;CAC3C,GAAG,WAAW,CACb,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CACpE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Dropdown/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,qBAAqB,EACrB,UAAU,GAAG,WAAW,GAAG,UAAU,CACtC,GAAG;IACF,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;CAC3C,GAAG,WAAW,CACb,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CACpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Duration.js","names":["cn","getDuration","WithClasses","isPartWithValue","Duration","t0","$","_c","timeMs","classes","showSeconds","t1","undefined","t2","duration","value","asYears","years","unit","asMonths","months","asDays","days","asHours","hours","asMinutes","minutes","asSeconds","seconds","filter","parts","t3","root","t4","t5","length","map","_temp","t6","part","i"],"sources":["../../../../src/components/widget/Duration/Duration.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { getDuration } from \"@/lib/utils/time\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { isPartWithValue } from \"./utils\";\n\nexport const Duration = ({\n timeMs,\n classes,\n showSeconds = false,\n}: {\n timeMs: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const duration = getDuration(timeMs);\n\n const parts = [\n { value: duration.asYears() >= 1 ? duration.years() : null, unit: \"y\" },\n { value: duration.asMonths() >= 1 ? duration.months() : null, unit: \"mo\" },\n { value: duration.asDays() >= 1 ? duration.days() : null, unit: \"d\" },\n { value: duration.asHours() >= 1 ? duration.hours() : null, unit: \"h\" },\n { value: duration.asMinutes() >= 1 ? duration.minutes() : null, unit: \"m\" },\n showSeconds && {\n value: duration.asSeconds() >= 1 ? duration.seconds() : null,\n unit: \"s\",\n },\n ].filter(isPartWithValue);\n\n return (\n <div\n className={cn(\n \"text-xs flex gap-1 items-center dark:text-contrast-7\",\n classes?.root\n )}\n >\n {!parts.length\n ? \"-\"\n : parts.map((part, i) => (\n <span key={i}>\n <span>{part.value}</span>\n <span>{part.unit}</span>\n </span>\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaI,KAAWC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,WAAAC,YAAAC,aAAAC,MAAAN,GAGvBK,IAAAC,MAAAC,KAAAA,IAAA,KAAAD,GAAmBE;AAAA,KAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,GAAA;EAKnB,IAAAM,IAAiBb,EAAYO,EAAO;AAYXF,EAVXO,IAAA;GACZ;IAAAE,OAASD,EAAQE,SAAU,IAAI,IAAIF,EAAQG,OAAe,GAAjD;IAAiDC,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQK,UAAW,IAAI,IAAIL,EAAQM,QAAgB,GAAnD;IAAmDF,MAAQ;IAAM;GAC1E;IAAAH,OAASD,EAAQO,QAAS,IAAI,IAAIP,EAAQQ,MAAc,GAA/C;IAA+CJ,MAAQ;IAAK;GACrE;IAAAH,OAASD,EAAQS,SAAU,IAAI,IAAIT,EAAQU,OAAe,GAAjD;IAAiDN,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQW,WAAY,IAAI,IAAIX,EAAQY,SAAiB,GAArD;IAAqDR,MAAQ;IAAK;GAC3ER,KAAA;IAAAK,OACSD,EAAQa,WAAY,IAAI,IAAIb,EAAQc,SAAiB,GAArD;IAAqDV,MACtD;IACP;GACF,CAAAW,OAAQ1B,EAAgB,EAAAG,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAO;OAAAA,KAAAP,EAAA;CAVzB,IAAAwB,IAAcjB,GAgBRkB,IAAAtB,GAAOuB,MAAMC;AAAA,CAAA3B,EAAA,OAAAyB,IACdE,IAAA3B,EAAA,MAHU2B,IAAAjC,EACT,wDACA+B,EACD,EAAAzB,EAAA,KAAAyB,GAAAzB,EAAA,KAAA2B;CAAA,IAAAC;AAAA,CAAA5B,EAAA,OAAAwB,IASKI,IAAA5B,EAAA,MAPL4B,IAACJ,EAAKK,SAEHL,EAAKM,IAAKC,EAKR,GAPL,KAOK/B,EAAA,KAAAwB,GAAAxB,EAAA,KAAA4B;CAAA,IAAAI;AACF,QADEhC,EAAA,OAAA2B,KAAA3B,EAAA,OAAA4B,KAbRI,IAAA,kBAAA,OAAA;EACa,WAAAL;YAKVC;EAQG,CAAA,EAAA5B,EAAA,KAAA2B,GAAA3B,EAAA,KAAA4B,GAAA5B,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAdNgC;;AAvBoB,SAAAD,EAAAE,GAAAC,GAAA;AAAA,QAgCZ,kBAAA,QAAA,EAAA,UAAA,CACE,kBAAA,QAAA,EAAA,UAAOD,EAAIxB,OACX,CAAA,EAAA,kBAAA,QAAA,EAAA,UAAOwB,EAAIrB,MACb,CAAA,CAAO,EAAA,EAHIsB,EAGJ"}
1
+ {"version":3,"file":"Duration.js","names":["cn","getDuration","WithClasses","isPartWithValue","Duration","t0","$","_c","timeMs","classes","showSeconds","t1","undefined","t2","duration","value","asYears","years","unit","asMonths","months","asDays","days","asHours","hours","asMinutes","minutes","asSeconds","seconds","filter","parts","t3","root","t4","t5","length","map","_temp","t6","part","i"],"sources":["../../../../src/components/widget/Duration/Duration.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { getDuration } from \"@/lib/utils/time\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { isPartWithValue } from \"./utils\";\n\nexport const Duration = ({\n timeMs,\n classes,\n showSeconds = false,\n}: {\n timeMs: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const duration = getDuration(timeMs);\n\n const parts = [\n { value: duration.asYears() >= 1 ? duration.years() : null, unit: \"y\" },\n { value: duration.asMonths() >= 1 ? duration.months() : null, unit: \"mo\" },\n { value: duration.asDays() >= 1 ? duration.days() : null, unit: \"d\" },\n { value: duration.asHours() >= 1 ? duration.hours() : null, unit: \"h\" },\n { value: duration.asMinutes() >= 1 ? duration.minutes() : null, unit: \"m\" },\n showSeconds && {\n value: duration.asSeconds() >= 1 ? duration.seconds() : null,\n unit: \"s\",\n },\n ].filter(isPartWithValue);\n\n return (\n <div\n className={cn(\n \"text-xs flex gap-1 items-center dark:text-contrast-7\",\n classes?.root\n )}\n >\n {!parts.length\n ? \"-\"\n : parts.map((part, i) => (\n <span key={i}>\n <span>{part.value}</span>\n <span>{part.unit}</span>\n </span>\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaI,KAAWC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,WAAAC,YAAAC,aAAAC,MAAAN,GAGvBK,IAAAC,MAAAC,KAAAA,IAAA,KAAAD,GAAmBE;CAAA,IAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,GAAA;EAKnB,IAAAM,IAAiBb,EAAYO,EAAO;EAYXF,AAVXO,IAAA;GACZ;IAAAE,OAASD,EAAQE,SAAU,IAAI,IAAIF,EAAQG,OAAe,GAAjD;IAAiDC,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQK,UAAW,IAAI,IAAIL,EAAQM,QAAgB,GAAnD;IAAmDF,MAAQ;IAAM;GAC1E;IAAAH,OAASD,EAAQO,QAAS,IAAI,IAAIP,EAAQQ,MAAc,GAA/C;IAA+CJ,MAAQ;IAAK;GACrE;IAAAH,OAASD,EAAQS,SAAU,IAAI,IAAIT,EAAQU,OAAe,GAAjD;IAAiDN,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQW,WAAY,IAAI,IAAIX,EAAQY,SAAiB,GAArD;IAAqDR,MAAQ;IAAK;GAC3ER,KAAA;IAAAK,OACSD,EAAQa,WAAY,IAAI,IAAIb,EAAQc,SAAiB,GAArD;IAAqDV,MACtD;IACP;GACF,CAAAW,OAAQ1B,EAAgB,EAAAG,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAO;QAAAA,IAAAP,EAAA;CAVzB,IAAAwB,IAAcjB,GAgBRkB,IAAAtB,GAAOuB,MAAMC;CAAA,AAAA3B,EAAA,OAAAyB,IACdE,IAAA3B,EAAA,MAHU2B,IAAAjC,EACT,wDACA+B,EACD,EAAAzB,EAAA,KAAAyB,GAAAzB,EAAA,KAAA2B;CAAA,IAAAC;CAAA,AAAA5B,EAAA,OAAAwB,IASKI,IAAA5B,EAAA,MAPL4B,IAACJ,EAAKK,SAEHL,EAAKM,IAAKC,EAKR,GAPL,KAOK/B,EAAA,KAAAwB,GAAAxB,EAAA,KAAA4B;CAAA,IAAAI;CACF,OADEhC,EAAA,OAAA2B,KAAA3B,EAAA,OAAA4B,KAbRI,IAAA,kBAAA,OAAA;EACa,WAAAL;YAKVC;EAQG,CAAA,EAAA5B,EAAA,KAAA2B,GAAA3B,EAAA,KAAA4B,GAAA5B,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAdNgC;;AAvBoB,SAAAD,EAAAE,GAAAC,GAAA;CAAA,OAgCZ,kBAAA,QAAA,EAAA,UAAA,CACE,kBAAA,QAAA,EAAA,UAAOD,EAAIxB,OACX,CAAA,EAAA,kBAAA,QAAA,EAAA,UAAOwB,EAAIrB,MACb,CAAA,CAAO,EAAA,EAHIsB,EAGJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["DeepNonNullable","DurationPart","isPartWithValue","part","value"],"sources":["../../../../src/components/widget/Duration/utils.ts"],"sourcesContent":["import type { DeepNonNullable } from \"ts-essentials\";\nimport type { DurationPart } from \"./types\";\n\nexport function isPartWithValue(\n part?: false | DurationPart\n): part is DeepNonNullable<DurationPart> {\n return !!part && !!part.value; // value > 0\n}\n"],"mappings":";AAGA,SAAgBE,EACdC,GACuC;AACvC,QAAO,CAAC,CAACA,KAAQ,CAAC,CAACA,EAAKC"}
1
+ {"version":3,"file":"utils.js","names":["DeepNonNullable","DurationPart","isPartWithValue","part","value"],"sources":["../../../../src/components/widget/Duration/utils.ts"],"sourcesContent":["import type { DeepNonNullable } from \"ts-essentials\";\nimport type { DurationPart } from \"./types\";\n\nexport function isPartWithValue(\n part?: false | DurationPart\n): part is DeepNonNullable<DurationPart> {\n return !!part && !!part.value; // value > 0\n}\n"],"mappings":";AAGA,SAAgBE,EACdC,GACuC;CACvC,OAAO,CAAC,CAACA,KAAQ,CAAC,CAACA,EAAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledExchanges.js","names":["GenericScreen","useSetScreen","EnabledExchangesList","useDexesList","emptyArray","isFilledArray","useMemo","useState","EnabledExchangesScreenProps","SearchInput","useChainId","useAtom","atom","getDefaultDraftDisabledDexesForChain","screenClasses","root","const","useTempDisabledDexes","initDexes","$","_c","chainId","t0","bb0","t1","disabledDexes","setDisabledDexes","EnabledExchangesScreen","onGoBack","_onGoBack","onClose","_onClose","initialDisabledDexes","closeScreen","data","dexes","undefined","search","setSearch","t2","normalizedSearch","trim","toLowerCase","filter","dex","includes","filteredDexes","t3","t4","t5","e","target","value","updatedDisabledDexes","t6"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchanges.tsx"],"sourcesContent":["import { GenericScreen } from \"../Screen/GenericScreen\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { EnabledExchangesList } from \"./EnabledExchangesList\";\nimport { useDexesList } from \"@/hooks/swap/prices/market/queries/dexesList/useDexesList\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useMemo, useState } from \"react\";\nimport type { EnabledExchangesScreenProps } from \"./types\";\nimport { SearchInput } from \"@/components/SearchInput/SearchInput\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport { getDefaultDraftDisabledDexesForChain } from \"../TradeParameters/state/tradePreferencesAtom\";\n\nconst screenClasses = {\n root: \"min-h-[571px]\",\n} as const;\n\nfunction useTempDisabledDexes(\n initDexes: EnabledExchangesScreenProps[\"initialDisabledDexes\"]\n) {\n const chainId = useChainId();\n const [disabledDexes, setDisabledDexes] = useAtom(\n // produces a new atom after chain switch\n useMemo(() => {\n // when just initialized from TradeParameters drawer\n if (initDexes.chainId === chainId) {\n return atom({\n disabledDexes: initDexes.disabledDexes,\n chainId: initDexes.chainId,\n });\n }\n // after chain was possibly changed\n return getDefaultDraftDisabledDexesForChain(chainId);\n }, [chainId, initDexes.chainId, initDexes.disabledDexes])\n );\n return {\n disabledDexes,\n setDisabledDexes,\n };\n}\n\nexport const EnabledExchangesScreen = ({\n onGoBack: _onGoBack,\n onClose: _onClose,\n initialDisabledDexes,\n}: EnabledExchangesScreenProps) => {\n const { closeScreen } = useSetScreen();\n const { data: dexes = emptyArray } = useDexesList();\n\n const { disabledDexes, setDisabledDexes } =\n useTempDisabledDexes(initialDisabledDexes);\n const [search, setSearch] = useState(\"\");\n\n const normalizedSearch = search.trim().toLowerCase();\n const filteredDexes = normalizedSearch\n ? dexes.filter((dex) => dex.toLowerCase().includes(normalizedSearch))\n : dexes;\n\n const onGoBack = _onGoBack || closeScreen;\n const onClose = () => _onClose(disabledDexes);\n\n return (\n <GenericScreen\n showBackButton\n title=\"Enabled Exchanges\"\n onGoBack={() => {\n onGoBack();\n onClose();\n }}\n classes={screenClasses}\n >\n {isFilledArray(dexes) && (\n <>\n <div className=\"px-6 pt-2 pb-1\">\n <SearchInput\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClear={() => setSearch(\"\")}\n placeholder=\"Search by exchange name\"\n />\n </div>\n <EnabledExchangesList\n dexes={dexes}\n filteredDexes={filteredDexes}\n disabledDexes={disabledDexes.disabledDexes}\n onDisableDexesChange={(updatedDisabledDexes) => {\n setDisabledDexes({\n disabledDexes: updatedDisabledDexes,\n chainId: disabledDexes.chainId,\n });\n }}\n />\n </>\n )}\n </GenericScreen>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"EnabledExchanges.js","names":["GenericScreen","useSetScreen","EnabledExchangesList","useDexesList","emptyArray","isFilledArray","useMemo","useState","EnabledExchangesScreenProps","SearchInput","useChainId","useAtom","atom","getDefaultDraftDisabledDexesForChain","screenClasses","root","const","useTempDisabledDexes","initDexes","$","_c","chainId","t0","bb0","t1","disabledDexes","setDisabledDexes","EnabledExchangesScreen","onGoBack","_onGoBack","onClose","_onClose","initialDisabledDexes","closeScreen","data","dexes","undefined","search","setSearch","t2","normalizedSearch","trim","toLowerCase","filter","dex","includes","filteredDexes","t3","t4","t5","e","target","value","updatedDisabledDexes","t6"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchanges.tsx"],"sourcesContent":["import { GenericScreen } from \"../Screen/GenericScreen\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { EnabledExchangesList } from \"./EnabledExchangesList\";\nimport { useDexesList } from \"@/hooks/swap/prices/market/queries/dexesList/useDexesList\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useMemo, useState } from \"react\";\nimport type { EnabledExchangesScreenProps } from \"./types\";\nimport { SearchInput } from \"@/components/SearchInput/SearchInput\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport { getDefaultDraftDisabledDexesForChain } from \"../TradeParameters/state/tradePreferencesAtom\";\n\nconst screenClasses = {\n root: \"min-h-[571px]\",\n} as const;\n\nfunction useTempDisabledDexes(\n initDexes: EnabledExchangesScreenProps[\"initialDisabledDexes\"]\n) {\n const chainId = useChainId();\n const [disabledDexes, setDisabledDexes] = useAtom(\n // produces a new atom after chain switch\n useMemo(() => {\n // when just initialized from TradeParameters drawer\n if (initDexes.chainId === chainId) {\n return atom({\n disabledDexes: initDexes.disabledDexes,\n chainId: initDexes.chainId,\n });\n }\n // after chain was possibly changed\n return getDefaultDraftDisabledDexesForChain(chainId);\n }, [chainId, initDexes.chainId, initDexes.disabledDexes])\n );\n return {\n disabledDexes,\n setDisabledDexes,\n };\n}\n\nexport const EnabledExchangesScreen = ({\n onGoBack: _onGoBack,\n onClose: _onClose,\n initialDisabledDexes,\n}: EnabledExchangesScreenProps) => {\n const { closeScreen } = useSetScreen();\n const { data: dexes = emptyArray } = useDexesList();\n\n const { disabledDexes, setDisabledDexes } =\n useTempDisabledDexes(initialDisabledDexes);\n const [search, setSearch] = useState(\"\");\n\n const normalizedSearch = search.trim().toLowerCase();\n const filteredDexes = normalizedSearch\n ? dexes.filter((dex) => dex.toLowerCase().includes(normalizedSearch))\n : dexes;\n\n const onGoBack = _onGoBack || closeScreen;\n const onClose = () => _onClose(disabledDexes);\n\n return (\n <GenericScreen\n showBackButton\n title=\"Enabled Exchanges\"\n onGoBack={() => {\n onGoBack();\n onClose();\n }}\n classes={screenClasses}\n >\n {isFilledArray(dexes) && (\n <>\n <div className=\"px-6 pt-2 pb-1\">\n <SearchInput\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClear={() => setSearch(\"\")}\n placeholder=\"Search by exchange name\"\n />\n </div>\n <EnabledExchangesList\n dexes={dexes}\n filteredDexes={filteredDexes}\n disabledDexes={disabledDexes.disabledDexes}\n onDisableDexesChange={(updatedDisabledDexes) => {\n setDisabledDexes({\n disabledDexes: updatedDisabledDexes,\n chainId: disabledDexes.chainId,\n });\n }}\n />\n </>\n )}\n </GenericScreen>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAMc,IAAgB,EACpBC,MAAM,iBACP;AAED,SAAAE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAGEC,IAAgBX,GAAY,EAACY;CAAAC,KAAA;EAKzB,IAAIL,EAASG,YAAaA,GAAO;GAAA,IAAAG;GAC/BF,AAD+BH,EAAA,OAAAD,EAAAG,WAAAF,EAAA,OAAAD,EAAAO,iBACxBD,IAAAZ,EAAK;IAAAa,eACKP,EAASO;IAAcJ,SAC7BH,EAASG;IACnB,CAAC,EAAAF,EAAA,KAAAD,EAAAG,SAAAF,EAAA,KAAAD,EAAAO,eAAAN,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAHFG,IAAOE;GAAP,MAAAD;;EAID,IAAAC;EAEDF,AAFCH,EAAA,OAAAE,IAEmDG,IAAAL,EAAA,MAA7CK,IAAAX,EAAqCQ,EAAQ,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAK,IAApDF,IAAOE;;CAXX,IAAA,CAAAC,GAAAC,KAA0Cf,EAExCW,EAWD,EAACE;CAID,OAJCL,EAAA,OAAAM,KAAAN,EAAA,OAAAO,KACKF,IAAA;EAAAC;EAAAC;EAGN,EAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAO,GAAAP,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAHMK;;AAMT,IAAaG,KAAyBL,MAAA;CAAA,IAAAH,IAAAC,EAAA,GAAA,EAAC,EAAAQ,UAAAC,GAAAC,SAAAC,GAAAC,4BAAAV,GAKrC,EAAAW,mBAAwBhC,GAAc,EACtC,EAAAiC,MAAAV,MAAqCrB,GAAc,EAArCgC,IAAAX,MAAAY,KAAAA,IAAAhC,IAAAoB,GAEd,EAAAC,kBAAAC,wBACET,EAAqBe,EAAqB,EAC5C,CAAAK,GAAAC,KAA4B/B,EAAS,GAAG,EAACgC;CAAA,IAAApB,EAAA,OAAAgB,KAAAhB,EAAA,OAAAkB,GAAA;EAEzC,IAAAG,IAAyBH,EAAMI,MAAO,CAAAC,aAAc;EAG3CvB,AAFaoB,IAAAC,IAClBL,EAAKQ,QAAQC,MAASA,EAAGF,aAAc,CAAAG,SAAUL,EAC7C,CAAC,GAFaL,GAEbhB,EAAA,KAAAgB,GAAAhB,EAAA,KAAAkB,GAAAlB,EAAA,KAAAoB;QAAAA,IAAApB,EAAA;CAFT,IAAA2B,IAAsBP,GAItBX,IAAiBC,KAAAI,GAAyBc;CAAA,AAAA5B,EAAA,OAAAY,KAAAZ,EAAA,OAAAM,KAC1BsB,UAAMhB,EAASN,EAAc,EAAAN,EAAA,KAAAY,GAAAZ,EAAA,KAAAM,GAAAN,EAAA,KAAA4B,KAAAA,IAAA5B,EAAA;CAA7C,IAAAW,IAAgBiB,GAA8BC;CAAA,AAAA7B,EAAA,OAAAW,KAAAX,EAAA,OAAAS,KAMhCoB,UAAA;EAERlB,AADAF,GAAU,EACVE,GAAS;IACVX,EAAA,KAAAW,GAAAX,EAAA,KAAAS,GAAAT,EAAA,KAAA6B,KAAAA,IAAA7B,EAAA;CAAA,IAAA8B;CAAA,AAAA9B,EAAA,OAAAgB,KAAAhB,EAAA,QAAAM,KAAAN,EAAA,QAAA2B,KAAA3B,EAAA,QAAAkB,KAAAlB,EAAA,QAAAO,KAGAuB,IAAA5C,EAAc8B,EAsBd,IAtBA,kBAAA,GAAA,EAAA,UAAA,CAEG,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GACSE,OAAAA;GACG,WAAAa,MAAOZ,EAAUY,EAACC,OAAOC,MAAM;GAChC,eAAMd,EAAU,GAAE;GACf,aAAA;GAEhB,CAAA;EACA,CAAA,EAAA,kBAAC,GAAD;EACSH;EACQW;EACA,eAAArB,EAAaA;EACN,uBAAA4B,MAAA;GACpB3B,EAAiB;IAAAD,eACA4B;IAAoBhC,SAC1BI,EAAaJ;IACvB,CAAC;;EAEJ,CAAA,CAEL,EAAA,CAAA,EAAAF,EAAA,KAAAgB,GAAAhB,EAAA,MAAAM,GAAAN,EAAA,MAAA2B,GAAA3B,EAAA,MAAAkB,GAAAlB,EAAA,MAAAO,GAAAP,EAAA,MAAA8B,KAAAA,IAAA9B,EAAA;CAAA,IAAAmC;CACa,OADbnC,EAAA,QAAA6B,KAAA7B,EAAA,QAAA8B,KA/BHK,IAAA,kBAAC,GAAD;EACE,gBAAA;EACM,OAAA;EACI,UAAAN;EAIDlC,SAAAA;YAERmC;EAuBa,CAAA,EAAA9B,EAAA,MAAA6B,GAAA7B,EAAA,MAAA8B,GAAA9B,EAAA,MAAAmC,KAAAA,IAAAnC,EAAA,KAhChBmC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledExchangesList.js","names":["emptyArray","NonEmptyArray","DisabledDexes","EnabledList","EnabledExchangesList","t0","$","_c","dexes","filteredDexes","disabledDexes","onDisableDexesChange","t1","Set","disabledDexesSet","shouldShowAllSwitch","length","t2","dex_1","has","dex","t3","t4","t5","item","all","enable","newDisabledDexes","filter","d","t6","_temp","_temp2","dex_0"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchangesList.tsx"],"sourcesContent":["import { emptyArray } from \"@/lib/constants\";\nimport type { NonEmptyArray } from \"ts-essentials\";\nimport type { DisabledDexes } from \"../TradeParameters/state/enabledExchanges/types\";\nimport { EnabledList } from \"../EnabledList/EnabledList\";\n\nexport const EnabledExchangesList = ({\n dexes,\n filteredDexes,\n disabledDexes,\n onDisableDexesChange,\n}: {\n dexes: NonEmptyArray<DisabledDexes[number]>;\n filteredDexes: DisabledDexes;\n disabledDexes: DisabledDexes;\n onDisableDexesChange: (disabledDexes: DisabledDexes) => void;\n}) => {\n const disabledDexesSet = new Set(disabledDexes);\n\n const shouldShowAllSwitch = filteredDexes.length > 0;\n\n return (\n <EnabledList\n items={filteredDexes}\n getKey={(dex) => dex}\n getLabel={(dex) => dex}\n isEnabled={(dex) => !disabledDexesSet.has(dex)}\n isAllEnabled={() => disabledDexes.length === 0}\n onEnable={({ item, all, enable }) => {\n if (all) {\n onDisableDexesChange(enable ? emptyArray : dexes);\n } else if (item) {\n const newDisabledDexes = enable\n ? disabledDexes.filter((d) => d !== item)\n : [...disabledDexes, item];\n onDisableDexesChange(newDisabledDexes);\n }\n }}\n showEnableAll={shouldShowAllSwitch}\n enableAllLabel={`Enable All Exchanges (${dexes.length})`}\n noItemStatus={`No exchanges found`}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,UAAAC,kBAAAC,kBAAAC,4BAAAN,GAUpCO;AAAA,CAAAN,EAAA,OAAAI,IACgDE,IAAAN,EAAA,MAAtBM,IAAA,IAAIC,IAAIH,EAAc,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAM;CAA/C,IAAAE,IAAyBF,GAEzBG,IAA4BN,EAAaO,SAAU,GAAEC;AAAA,CAAAX,EAAA,OAAAQ,IAOHG,IAAAX,EAAA,MAAnCW,KAAAC,MAAS,CAACJ,EAAgBK,IAAKC,EAAI,EAAAd,EAAA,KAAAQ,GAAAR,EAAA,KAAAW;CAAA,IAAAI;AAAA,CAAAf,EAAA,OAAAI,EAAAM,SACAK,IAAAf,EAAA,MAAhCe,UAAMX,EAAaM,WAAY,GAACV,EAAA,KAAAI,EAAAM,QAAAV,EAAA,KAAAe;CAAA,IAAAC;AAAA,CAAAhB,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KACpCW,KAAAC,MAAA;EAAC,IAAA,EAAAC,SAAAC,QAAAC,cAAAH;AACT,EAAIE,IACFd,EAAqBe,IAAA1B,IAAAQ,EAA4B,GACxCgB,KAITb,EAHyBe,IACrBhB,EAAakB,QAAQC,MAAOA,MAAML,EACV,GAFH,CAAA,GAEjBd,GAAec,EAAK,CACU;IAEzClB,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAEe,IAAAiB,IAAA,yBAAyBf,EAAKQ,OAAO,IAAGc;AAExD,QAFwDxB,EAAA,QAAAG,KAAAH,EAAA,QAAAS,KAAAT,EAAA,QAAAW,KAAAX,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAjB1DO,IAAA,kBAAC,GAAD;EACSrB,OAAAA;EACC,QAAAsB;EACE,UAAAC;EACC,WAAAf;EACG,cAAAI;EACJ,UAAAC;EAUKP,eAAAA;EACC,gBAAAQ;EACF,cAAA;EACd,CAAA,EAAAjB,EAAA,MAAAG,GAAAH,EAAA,MAAAS,GAAAT,EAAA,MAAAW,GAAAX,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA,KAnBFwB;;AAhBgC,SAAAC,EAAAX,GAAA;AAAA,QAkBbA;;AAlBa,SAAAY,EAAAC,GAAA;AAAA,QAmBXb"}
1
+ {"version":3,"file":"EnabledExchangesList.js","names":["emptyArray","NonEmptyArray","DisabledDexes","EnabledList","EnabledExchangesList","t0","$","_c","dexes","filteredDexes","disabledDexes","onDisableDexesChange","t1","Set","disabledDexesSet","shouldShowAllSwitch","length","t2","dex_1","has","dex","t3","t4","t5","item","all","enable","newDisabledDexes","filter","d","t6","_temp","_temp2","dex_0"],"sources":["../../../../src/components/widget/EnabledExchanges/EnabledExchangesList.tsx"],"sourcesContent":["import { emptyArray } from \"@/lib/constants\";\nimport type { NonEmptyArray } from \"ts-essentials\";\nimport type { DisabledDexes } from \"../TradeParameters/state/enabledExchanges/types\";\nimport { EnabledList } from \"../EnabledList/EnabledList\";\n\nexport const EnabledExchangesList = ({\n dexes,\n filteredDexes,\n disabledDexes,\n onDisableDexesChange,\n}: {\n dexes: NonEmptyArray<DisabledDexes[number]>;\n filteredDexes: DisabledDexes;\n disabledDexes: DisabledDexes;\n onDisableDexesChange: (disabledDexes: DisabledDexes) => void;\n}) => {\n const disabledDexesSet = new Set(disabledDexes);\n\n const shouldShowAllSwitch = filteredDexes.length > 0;\n\n return (\n <EnabledList\n items={filteredDexes}\n getKey={(dex) => dex}\n getLabel={(dex) => dex}\n isEnabled={(dex) => !disabledDexesSet.has(dex)}\n isAllEnabled={() => disabledDexes.length === 0}\n onEnable={({ item, all, enable }) => {\n if (all) {\n onDisableDexesChange(enable ? emptyArray : dexes);\n } else if (item) {\n const newDisabledDexes = enable\n ? disabledDexes.filter((d) => d !== item)\n : [...disabledDexes, item];\n onDisableDexesChange(newDisabledDexes);\n }\n }}\n showEnableAll={shouldShowAllSwitch}\n enableAllLabel={`Enable All Exchanges (${dexes.length})`}\n noItemStatus={`No exchanges found`}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaI,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,UAAAC,kBAAAC,kBAAAC,4BAAAN,GAUpCO;CAAA,AAAAN,EAAA,OAAAI,IACgDE,IAAAN,EAAA,MAAtBM,IAAA,IAAIC,IAAIH,EAAc,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAM;CAA/C,IAAAE,IAAyBF,GAEzBG,IAA4BN,EAAaO,SAAU,GAAEC;CAAA,AAAAX,EAAA,OAAAQ,IAOHG,IAAAX,EAAA,MAAnCW,KAAAC,MAAS,CAACJ,EAAgBK,IAAKC,EAAI,EAAAd,EAAA,KAAAQ,GAAAR,EAAA,KAAAW;CAAA,IAAAI;CAAA,AAAAf,EAAA,OAAAI,EAAAM,SACAK,IAAAf,EAAA,MAAhCe,UAAMX,EAAaM,WAAY,GAACV,EAAA,KAAAI,EAAAM,QAAAV,EAAA,KAAAe;CAAA,IAAAC;CAAA,AAAAhB,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KACpCW,KAAAC,MAAA;EAAC,IAAA,EAAAC,SAAAC,QAAAC,cAAAH;EACT,AAAIE,IACFd,EAAqBe,IAAA1B,IAAAQ,EAA4B,GACxCgB,KAITb,EAHyBe,IACrBhB,EAAakB,QAAQC,MAAOA,MAAML,EACV,GAFH,CAAA,GAEjBd,GAAec,EAAK,CACU;IAEzClB,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAEe,IAAAiB,IAAA,yBAAyBf,EAAKQ,OAAO,IAAGc;CAExD,OAFwDxB,EAAA,QAAAG,KAAAH,EAAA,QAAAS,KAAAT,EAAA,QAAAW,KAAAX,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAjB1DO,IAAA,kBAAC,GAAD;EACSrB,OAAAA;EACC,QAAAsB;EACE,UAAAC;EACC,WAAAf;EACG,cAAAI;EACJ,UAAAC;EAUKP,eAAAA;EACC,gBAAAQ;EACF,cAAA;EACd,CAAA,EAAAjB,EAAA,MAAAG,GAAAH,EAAA,MAAAS,GAAAT,EAAA,MAAAW,GAAAX,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA,KAnBFwB;;AAhBgC,SAAAC,EAAAX,GAAA;CAAA,OAkBbA;;AAlBa,SAAAY,EAAAC,GAAA;CAAA,OAmBXb"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledList.js","names":["Switch","ListItemWithSwitch","EnabledList","items","T","getKey","item","getLabel","React","ReactNode","onEnable","check","all","enable","isEnabled","isAllEnabled","noItemStatus","enableAllLabel","showEnableAll","t0","$","_c","t1","length","every","allEnabled","t2","checked","onEnableAllChange","t3","checked_0","onItemChange","t4","t5","map","item_0","checked_1","t6"],"sources":["../../../../src/components/widget/EnabledList/EnabledList.tsx"],"sourcesContent":["import { Switch } from \"@/components/ui/switch\";\nimport { ListItemWithSwitch } from \"@/components/widget/ListItem/ListItemWithSwitch\";\n\ntype EnabledList<T> = {\n items: T[];\n getKey: (item: T) => string;\n getLabel: (item: T) => React.ReactNode;\n onEnable: (check: { item?: T; all: boolean; enable: boolean }) => void;\n isEnabled: (item: T) => boolean;\n isAllEnabled?: (items: T[]) => boolean;\n noItemStatus?: React.ReactNode;\n enableAllLabel?: React.ReactNode;\n showEnableAll?: boolean;\n};\n\nexport const EnabledList = <T,>({\n items,\n getKey,\n getLabel,\n onEnable,\n isEnabled,\n isAllEnabled, // optional source of truth for all enabled state\n noItemStatus,\n showEnableAll,\n enableAllLabel,\n}: EnabledList<T>) => {\n const allEnabled =\n isAllEnabled?.(items) ?? (items.length > 0 && items.every(isEnabled));\n\n const onEnableAllChange = (checked: boolean) => {\n onEnable({ all: true, enable: checked });\n };\n\n const onItemChange = (checked: boolean, item: T) => {\n onEnable({ all: false, item, enable: checked });\n };\n\n return (\n <div className=\"px-6 h-[420px] overflow-auto [scrollbar-gutter:stable_both-edges]\">\n {showEnableAll && (\n <div className=\"flex items-center justify-between gap-2 py-4 border-b border-b-contrast-7 dark:border-b-contrast-3\">\n <div className=\"text-sm dark:text-contrast-7\">\n {enableAllLabel || `Enable All (${items.length})`}\n </div>\n <Switch\n checked={allEnabled}\n onCheckedChange={onEnableAllChange}\n className=\"cursor-pointer\"\n />\n </div>\n )}\n {items.length === 0 ? (\n <div className=\"text-sm text-contrast-5 dark:text-contrast-4 py-6 text-center\">\n {noItemStatus || \"No items found\"}\n </div>\n ) : (\n items.map((item) => (\n <ListItemWithSwitch\n key={getKey(item)}\n label={getLabel(item)}\n checked={isEnabled(item)}\n onCheckedChange={(checked) => {\n onItemChange(checked, item);\n }}\n />\n ))\n )}\n </div>\n );\n};\n"],"mappings":";;;;;AAeA,IAAaE,KAAciB,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAK,EAAAlB,UAAAE,WAAAE,aAAAG,aAAAI,cAAAC,iBAAAC,iBAAAE,kBAAAD,sBAAAE,GAUfG;AAAA,CAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAjB,KAEbmB,IAAAP,IAAeZ,EAAsD,KAA3CA,EAAKoB,SAAU,KAAKpB,EAAKqB,MAAOV,EAAW,GAAAM,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAjB,GAAAiB,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CADvE,IAAAK,IACEH,GAAsEI;AAAA,CAAAN,EAAA,OAAAV,IAIvEgB,IAAAN,EAAA,MAFyBM,KAAAC,MAAA;AACxBjB,IAAS;GAAAE,KAAO;GAAIC,QAAUc;GAAS,CAAC;IACzCP,EAAA,KAAAV,GAAAU,EAAA,KAAAM;CAFD,IAAAE,IAA0BF,GAExBG;AAAA,CAAAT,EAAA,OAAAV,IAIDmB,IAAAT,EAAA,MAFoBS,KAAAC,GAAAxB,MAAA;AACnBI,IAAS;GAAAE,KAAO;GAAKN;GAAAO,QAAgBc;GAAS,CAAC;IAChDP,EAAA,KAAAV,GAAAU,EAAA,KAAAS;CAFD,IAAAE,IAAqBF,GAEnBG;AAAA,CAAAZ,EAAA,OAAAK,KAAAL,EAAA,OAAAH,KAAAG,EAAA,QAAAjB,EAAAoB,UAAAH,EAAA,QAAAQ,KAAAR,EAAA,QAAAF,KAIGc,IAAAd,KACC,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZD,KAAA,eAAiCd,EAAKoB,OAAO;GAEhD,CAAA,EAAA,kBAAC,GAAD;GACWE,SAAAA;GACQG,iBAAAA;GACP,WAAA;GAEd,CAAA,CACD;KAAAR,EAAA,KAAAK,GAAAL,EAAA,KAAAH,GAAAG,EAAA,MAAAjB,EAAAoB,QAAAH,EAAA,MAAAQ,GAAAR,EAAA,MAAAF,GAAAE,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,QAAAf,KAAAe,EAAA,QAAAb,KAAAa,EAAA,QAAAN,KAAAM,EAAA,QAAAjB,KAAAiB,EAAA,QAAAJ,KAAAI,EAAA,QAAAW,KACAE,IAAA9B,EAAKoB,WAAY,IAChB,kBAAA,OAAA;EAAe,WAAA;YACZP,KAAA;EAaJ,CAAA,GAVCb,EAAK+B,KAAKC,MACR,kBAAC,GAAD;EAES,OAAA5B,EAASD,EAAI;EACX,SAAAQ,EAAUR,EAAI;EACN,kBAAA8B,MAAA;AACfL,KAAaJ,GAASrB,EAAK;;EAInC,EARWD,EAAOC,EAAI,CAQtB,CAAC,EAAAc,EAAA,MAAAf,GAAAe,EAAA,MAAAb,GAAAa,EAAA,MAAAN,GAAAM,EAAA,MAAAjB,GAAAiB,EAAA,MAAAJ,GAAAI,EAAA,MAAAW,GAAAX,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAiB;AACG,QADHjB,EAAA,QAAAY,KAAAZ,EAAA,QAAAa,KA5BHI,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACGL,GAYAC,EAgBG;KAAAb,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KA7BNiB"}
1
+ {"version":3,"file":"EnabledList.js","names":["Switch","ListItemWithSwitch","EnabledList","items","T","getKey","item","getLabel","React","ReactNode","onEnable","check","all","enable","isEnabled","isAllEnabled","noItemStatus","enableAllLabel","showEnableAll","t0","$","_c","t1","length","every","allEnabled","t2","checked","onEnableAllChange","t3","checked_0","onItemChange","t4","t5","map","item_0","checked_1","t6"],"sources":["../../../../src/components/widget/EnabledList/EnabledList.tsx"],"sourcesContent":["import { Switch } from \"@/components/ui/switch\";\nimport { ListItemWithSwitch } from \"@/components/widget/ListItem/ListItemWithSwitch\";\n\ntype EnabledList<T> = {\n items: T[];\n getKey: (item: T) => string;\n getLabel: (item: T) => React.ReactNode;\n onEnable: (check: { item?: T; all: boolean; enable: boolean }) => void;\n isEnabled: (item: T) => boolean;\n isAllEnabled?: (items: T[]) => boolean;\n noItemStatus?: React.ReactNode;\n enableAllLabel?: React.ReactNode;\n showEnableAll?: boolean;\n};\n\nexport const EnabledList = <T,>({\n items,\n getKey,\n getLabel,\n onEnable,\n isEnabled,\n isAllEnabled, // optional source of truth for all enabled state\n noItemStatus,\n showEnableAll,\n enableAllLabel,\n}: EnabledList<T>) => {\n const allEnabled =\n isAllEnabled?.(items) ?? (items.length > 0 && items.every(isEnabled));\n\n const onEnableAllChange = (checked: boolean) => {\n onEnable({ all: true, enable: checked });\n };\n\n const onItemChange = (checked: boolean, item: T) => {\n onEnable({ all: false, item, enable: checked });\n };\n\n return (\n <div className=\"px-6 h-[420px] overflow-auto [scrollbar-gutter:stable_both-edges]\">\n {showEnableAll && (\n <div className=\"flex items-center justify-between gap-2 py-4 border-b border-b-contrast-7 dark:border-b-contrast-3\">\n <div className=\"text-sm dark:text-contrast-7\">\n {enableAllLabel || `Enable All (${items.length})`}\n </div>\n <Switch\n checked={allEnabled}\n onCheckedChange={onEnableAllChange}\n className=\"cursor-pointer\"\n />\n </div>\n )}\n {items.length === 0 ? (\n <div className=\"text-sm text-contrast-5 dark:text-contrast-4 py-6 text-center\">\n {noItemStatus || \"No items found\"}\n </div>\n ) : (\n items.map((item) => (\n <ListItemWithSwitch\n key={getKey(item)}\n label={getLabel(item)}\n checked={isEnabled(item)}\n onCheckedChange={(checked) => {\n onItemChange(checked, item);\n }}\n />\n ))\n )}\n </div>\n );\n};\n"],"mappings":";;;;;AAeA,IAAaE,KAAciB,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAK,EAAAlB,UAAAE,WAAAE,aAAAG,aAAAI,cAAAC,iBAAAC,iBAAAE,kBAAAD,sBAAAE,GAUfG;CAAA,AAAAF,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KAAAM,EAAA,OAAAjB,KAEbmB,IAAAP,IAAeZ,EAAsD,KAA3CA,EAAKoB,SAAU,KAAKpB,EAAKqB,MAAOV,EAAW,GAAAM,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAjB,GAAAiB,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CADvE,IAAAK,IACEH,GAAsEI;CAAA,AAAAN,EAAA,OAAAV,IAIvEgB,IAAAN,EAAA,MAFyBM,KAAAC,MAAA;EACxBjB,EAAS;GAAAE,KAAO;GAAIC,QAAUc;GAAS,CAAC;IACzCP,EAAA,KAAAV,GAAAU,EAAA,KAAAM;CAFD,IAAAE,IAA0BF,GAExBG;CAAA,AAAAT,EAAA,OAAAV,IAIDmB,IAAAT,EAAA,MAFoBS,KAAAC,GAAAxB,MAAA;EACnBI,EAAS;GAAAE,KAAO;GAAKN;GAAAO,QAAgBc;GAAS,CAAC;IAChDP,EAAA,KAAAV,GAAAU,EAAA,KAAAS;CAFD,IAAAE,IAAqBF,GAEnBG;CAAA,AAAAZ,EAAA,OAAAK,KAAAL,EAAA,OAAAH,KAAAG,EAAA,QAAAjB,EAAAoB,UAAAH,EAAA,QAAAQ,KAAAR,EAAA,QAAAF,KAIGc,IAAAd,KACC,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZD,KAAA,eAAiCd,EAAKoB,OAAO;GAEhD,CAAA,EAAA,kBAAC,GAAD;GACWE,SAAAA;GACQG,iBAAAA;GACP,WAAA;GAEd,CAAA,CACD;KAAAR,EAAA,KAAAK,GAAAL,EAAA,KAAAH,GAAAG,EAAA,MAAAjB,EAAAoB,QAAAH,EAAA,MAAAQ,GAAAR,EAAA,MAAAF,GAAAE,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;CAAA,AAAAb,EAAA,QAAAf,KAAAe,EAAA,QAAAb,KAAAa,EAAA,QAAAN,KAAAM,EAAA,QAAAjB,KAAAiB,EAAA,QAAAJ,KAAAI,EAAA,QAAAW,KACAE,IAAA9B,EAAKoB,WAAY,IAChB,kBAAA,OAAA;EAAe,WAAA;YACZP,KAAA;EAaJ,CAAA,GAVCb,EAAK+B,KAAKC,MACR,kBAAC,GAAD;EAES,OAAA5B,EAASD,EAAI;EACX,SAAAQ,EAAUR,EAAI;EACN,kBAAA8B,MAAA;GACfL,EAAaJ,GAASrB,EAAK;;EAInC,EARWD,EAAOC,EAAI,CAQtB,CAAC,EAAAc,EAAA,MAAAf,GAAAe,EAAA,MAAAb,GAAAa,EAAA,MAAAN,GAAAM,EAAA,MAAAjB,GAAAiB,EAAA,MAAAJ,GAAAI,EAAA,MAAAW,GAAAX,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAiB;CACG,OADHjB,EAAA,QAAAY,KAAAZ,EAAA,QAAAa,KA5BHI,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACGL,GAYAC,EAgBG;KAAAb,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KA7BNiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FetchingQuotes.js","names":["ReactComponent","CellerBridgeSVG","RelayBridgeSVG","CctpBridgeSVG","CanonicalUni","motion","icons","animationDuration","animationDelay","FetchingQuotes","$","_c","t0","Symbol","for","map","_temp","Icon","index","zIndex","marginRight","y","duration","repeat","Infinity","repeatDelay","length","delay","ease"],"sources":["../../../../src/components/widget/FetchingQuotes/FetchingQuotes.tsx"],"sourcesContent":["import { ReactComponent as CellerBridgeSVG } from \"@/assets/bridges/celer.svg\";\nimport { ReactComponent as RelayBridgeSVG } from \"@/assets/bridges/relay.svg\";\nimport { ReactComponent as CctpBridgeSVG } from \"@/assets/bridges/cctp.svg\";\nimport { ReactComponent as CanonicalUni } from \"@/assets/bridges/canonical-uni.svg\";\nimport { motion } from \"motion/react\";\n\nconst icons = [RelayBridgeSVG, CctpBridgeSVG, CellerBridgeSVG, CanonicalUni];\n\nconst animationDuration = 0.8;\nconst animationDelay = 0.25;\n\nexport const FetchingQuotes = () => {\n return (\n // min-h-[20px] to align with YouGet and don't cause layout shift when the price fetches\n <div className=\"min-h-[20px] flex items-center justify-center gap-3\">\n <div className=\"flex items-center justify-center\">\n {icons.map((Icon, index) => (\n <motion.div\n key={index}\n style={{\n // zIndex so later icons (higher index) appear above earlier ones, with the last icon on top\n zIndex: index,\n marginRight: -5,\n }}\n animate={{ y: [0, -10, 0] }}\n transition={{\n duration: animationDuration,\n repeat: Infinity,\n repeatDelay: icons.length * animationDelay,\n delay: index * animationDelay,\n ease: \"easeInOut\",\n }}\n >\n <Icon className=\"size-4\" />\n </motion.div>\n ))}\n </div>\n <div className=\"text-center text-xs text-contrast-5 dark:text-contrast-8\">\n Fetching Quotes\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAMA,IAAMM,IAAQ;CAACJ;CAAgBC;CAAeF;CAAiBG;CAAa,EAEtEG,IAAoB,IACpBC,IAAiB,KAEVC,UAAiB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AA6BpB,QA7BoBF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAG1BF,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZN,EAAKS,IAAKC,EAmBV;GAEH,CAAA,EAAA,kBAAA,OAAA;GAAe,WAAA;aAA2D;GAG5E,CAAA,CAAM;KAAAN,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IA1BNE;;AAH0B,SAAAI,EAAAC,GAAAC,GAAA;AAAA,QAMpB,kBAAA,EAAA,KAAA;EAES,OAAA;GAAAC,QAEGD;GAAKE,aACA;GACf;EACS,SAAA,EAAAC,GAAK;GAAC;GAAG;GAAK;GAAC,EAAE;EACd,YAAA;GAAAC,UACAf;GAAiBgB,QACnBC;GAAQC,aACHnB,EAAKoB,SAAUlB;GAAcmB,OACnCT,IAAQV;GAAcoB,MACvB;GACR;YAEA,kBAAC,GAAD,EAAgB,WAAA,UAClB,CAAA;EAAa,EAhBNV,EAgBM"}
1
+ {"version":3,"file":"FetchingQuotes.js","names":["ReactComponent","CellerBridgeSVG","RelayBridgeSVG","CctpBridgeSVG","CanonicalUni","motion","icons","animationDuration","animationDelay","FetchingQuotes","$","_c","t0","Symbol","for","map","_temp","Icon","index","zIndex","marginRight","y","duration","repeat","Infinity","repeatDelay","length","delay","ease"],"sources":["../../../../src/components/widget/FetchingQuotes/FetchingQuotes.tsx"],"sourcesContent":["import { ReactComponent as CellerBridgeSVG } from \"@/assets/bridges/celer.svg\";\nimport { ReactComponent as RelayBridgeSVG } from \"@/assets/bridges/relay.svg\";\nimport { ReactComponent as CctpBridgeSVG } from \"@/assets/bridges/cctp.svg\";\nimport { ReactComponent as CanonicalUni } from \"@/assets/bridges/canonical-uni.svg\";\nimport { motion } from \"motion/react\";\n\nconst icons = [RelayBridgeSVG, CctpBridgeSVG, CellerBridgeSVG, CanonicalUni];\n\nconst animationDuration = 0.8;\nconst animationDelay = 0.25;\n\nexport const FetchingQuotes = () => {\n return (\n // min-h-[20px] to align with YouGet and don't cause layout shift when the price fetches\n <div className=\"min-h-[20px] flex items-center justify-center gap-3\">\n <div className=\"flex items-center justify-center\">\n {icons.map((Icon, index) => (\n <motion.div\n key={index}\n style={{\n // zIndex so later icons (higher index) appear above earlier ones, with the last icon on top\n zIndex: index,\n marginRight: -5,\n }}\n animate={{ y: [0, -10, 0] }}\n transition={{\n duration: animationDuration,\n repeat: Infinity,\n repeatDelay: icons.length * animationDelay,\n delay: index * animationDelay,\n ease: \"easeInOut\",\n }}\n >\n <Icon className=\"size-4\" />\n </motion.div>\n ))}\n </div>\n <div className=\"text-center text-xs text-contrast-5 dark:text-contrast-8\">\n Fetching Quotes\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAMA,IAAMM,IAAQ;CAACJ;CAAgBC;CAAeF;CAAiBG;CAAa,EAEtEG,IAAoB,IACpBC,IAAiB,KAEVC,UAAiB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CA6BpB,OA7BoBF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAG1BF,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAA,OAAA;GAAe,WAAA;aACZN,EAAKS,IAAKC,EAmBV;GAEH,CAAA,EAAA,kBAAA,OAAA;GAAe,WAAA;aAA2D;GAG5E,CAAA,CAAM;KAAAN,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IA1BNE;;AAH0B,SAAAI,EAAAC,GAAAC,GAAA;CAAA,OAMpB,kBAAA,EAAA,KAAA;EAES,OAAA;GAAAC,QAEGD;GAAKE,aACA;GACf;EACS,SAAA,EAAAC,GAAK;GAAC;GAAG;GAAK;GAAC,EAAE;EACd,YAAA;GAAAC,UACAf;GAAiBgB,QACnBC;GAAQC,aACHnB,EAAKoB,SAAUlB;GAAcmB,OACnCT,IAAQV;GAAcoB,MACvB;GACR;YAEA,kBAAC,GAAD,EAAgB,WAAA,UAClB,CAAA;EAAa,EAhBNV,EAgBM"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckIcon.js","names":["ReactComponent","CheckSVG","CheckIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/CheckIcon.tsx"],"sourcesContent":["import { ReactComponent as CheckSVG } from \"@/assets/check.svg\";\n\nexport const CheckIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <CheckSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
1
+ {"version":3,"file":"CheckIcon.js","names":["ReactComponent","CheckSVG","CheckIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/CheckIcon.tsx"],"sourcesContent":["import { ReactComponent as CheckSVG } from \"@/assets/check.svg\";\n\nexport const CheckIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <CheckSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChevronIcon.js","names":["ReactComponent","ChevronIconSVG","cn","ChevronIcon","t0","$","_c","className","props","t1","t2"],"sources":["../../../../src/components/widget/Icon/ChevronIcon.tsx"],"sourcesContent":["import { ReactComponent as ChevronIconSVG } from \"@/assets/chevron.svg\";\nimport { cn } from \"@/lib/utils\";\n\nexport const ChevronIcon = ({\n className,\n ...props\n}: React.SVGProps<SVGSVGElement>) => {\n return (\n <ChevronIconSVG\n {...props}\n className={cn(\n \"text-contrast-5 dark:text-contrast-6 cursor-pointer\",\n className\n )}\n />\n );\n};\n"],"mappings":";;;;;AAGA,IAAaG,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;AAAA,CAAAH,EAAA,OAAAD,KAGKG,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAHJ,kBAAAG,KAAAJ,GAGIC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;AAAA,CAAAJ,EAAA,OAAAE,IAOzBE,IAAAJ,EAAA,MAHUI,IAAAP,EACT,uDACAK,EACD,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;AACD,QADCL,EAAA,OAAAG,KAAAH,EAAA,OAAAI,KALHC,IAAA,kBAAC,GAAD;EAAe,GACTF;EACO,WAAAC;EAIX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IANFK"}
1
+ {"version":3,"file":"ChevronIcon.js","names":["ReactComponent","ChevronIconSVG","cn","ChevronIcon","t0","$","_c","className","props","t1","t2"],"sources":["../../../../src/components/widget/Icon/ChevronIcon.tsx"],"sourcesContent":["import { ReactComponent as ChevronIconSVG } from \"@/assets/chevron.svg\";\nimport { cn } from \"@/lib/utils\";\n\nexport const ChevronIcon = ({\n className,\n ...props\n}: React.SVGProps<SVGSVGElement>) => {\n return (\n <ChevronIconSVG\n {...props}\n className={cn(\n \"text-contrast-5 dark:text-contrast-6 cursor-pointer\",\n className\n )}\n />\n );\n};\n"],"mappings":";;;;;AAGA,IAAaG,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;CAAA,AAAAH,EAAA,OAAAD,KAGKG,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAHJ,kBAAAG,KAAAJ,GAGIC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;CAAA,AAAAJ,EAAA,OAAAE,IAOzBE,IAAAJ,EAAA,MAHUI,IAAAP,EACT,uDACAK,EACD,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;CACD,OADCL,EAAA,OAAAG,KAAAH,EAAA,OAAAI,KALHC,IAAA,kBAAC,GAAD;EAAe,GACTF;EACO,WAAAC;EAIX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IANFK"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeltaIcon.js","names":["ReactComponent","DeltaSVG","DeltaIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/DeltaIcon.tsx"],"sourcesContent":["import { ReactComponent as DeltaSVG } from \"@/assets/delta.svg\";\n\nexport const DeltaIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <DeltaSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
1
+ {"version":3,"file":"DeltaIcon.js","names":["ReactComponent","DeltaSVG","DeltaIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/DeltaIcon.tsx"],"sourcesContent":["import { ReactComponent as DeltaSVG } from \"@/assets/delta.svg\";\n\nexport const DeltaIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <DeltaSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAvBE,IAAA,kBAAC,GAAD,EAAS,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAvBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"EllipseIcon.js","names":["ReactComponent","EllipseSVG","EllipseIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/EllipseIcon.tsx"],"sourcesContent":["import { ReactComponent as EllipseSVG } from \"@/assets/ellipse.svg\";\n\nexport const EllipseIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <EllipseSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAzBE,IAAA,kBAAC,GAAD,EAAW,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAzBA"}
1
+ {"version":3,"file":"EllipseIcon.js","names":["ReactComponent","EllipseSVG","EllipseIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/EllipseIcon.tsx"],"sourcesContent":["import { ReactComponent as EllipseSVG } from \"@/assets/ellipse.svg\";\n\nexport const EllipseIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <EllipseSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAzBE,IAAA,kBAAC,GAAD,EAAW,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAzBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfoIcon.js","names":["ReactComponent","InfoSVG","cn","forwardRef","InfoIcon","SVGSVGElement","React","SVGProps","t0","ref","$","_c","className","props","t1","t2","displayName"],"sources":["../../../../src/components/widget/Icon/InfoIcon.tsx"],"sourcesContent":["import { ReactComponent as InfoSVG } from \"@/assets/info.svg\";\nimport { cn } from \"@/lib/utils\";\nimport { forwardRef } from \"react\";\n\nexport const InfoIcon = forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(({ className, ...props }, ref) => {\n return (\n <InfoSVG\n ref={ref}\n {...props}\n className={cn(\"fill-contrast-6 dark:fill-contrast-4\", className)}\n />\n );\n});\n\nInfoIcon.displayName = \"InfoIcon\";\n"],"mappings":";;;;;;AAIA,IAAaI,IAAWD,GAGtBK,GAAAC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;AAAA,CAAAH,EAAA,OAAAF,KAAwBI,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAAvB,kBAAAG,KAAAL,GAAuBE,EAAA,KAAAF,GAAAE,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;AAAA,CAAAJ,EAAA,OAAAE,IAK4CE,IAAAJ,EAAA,MAArDI,IAAAZ,EAAG,wCAAwCU,EAAU,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;AAChE,QADgEL,EAAA,OAAAG,KAAAH,EAAA,OAAAD,KAAAC,EAAA,OAAAI,KAHlEC,IAAA,kBAAC,GAAD;EACON;EAAG,GACJI;EACO,WAAAC;EACX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAD,GAAAC,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAJFK;EAMF;AAEFX,EAASY,cAAc"}
1
+ {"version":3,"file":"InfoIcon.js","names":["ReactComponent","InfoSVG","cn","forwardRef","InfoIcon","SVGSVGElement","React","SVGProps","t0","ref","$","_c","className","props","t1","t2","displayName"],"sources":["../../../../src/components/widget/Icon/InfoIcon.tsx"],"sourcesContent":["import { ReactComponent as InfoSVG } from \"@/assets/info.svg\";\nimport { cn } from \"@/lib/utils\";\nimport { forwardRef } from \"react\";\n\nexport const InfoIcon = forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(({ className, ...props }, ref) => {\n return (\n <InfoSVG\n ref={ref}\n {...props}\n className={cn(\"fill-contrast-6 dark:fill-contrast-4\", className)}\n />\n );\n});\n\nInfoIcon.displayName = \"InfoIcon\";\n"],"mappings":";;;;;;AAIA,IAAaI,IAAWD,GAGtBK,GAAAC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC,GAAAC;CAAA,AAAAH,EAAA,OAAAF,KAAwBI,IAAAF,EAAA,IAAAG,IAAAH,EAAA,OAAvB,kBAAAG,KAAAL,GAAuBE,EAAA,KAAAF,GAAAE,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAAA,IAAAC;CAAA,AAAAJ,EAAA,OAAAE,IAK4CE,IAAAJ,EAAA,MAArDI,IAAAZ,EAAG,wCAAwCU,EAAU,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;CAChE,OADgEL,EAAA,OAAAG,KAAAH,EAAA,OAAAD,KAAAC,EAAA,OAAAI,KAHlEC,IAAA,kBAAC,GAAD;EACON;EAAG,GACJI;EACO,WAAAC;EACX,CAAA,EAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAD,GAAAC,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAJFK;EAMF;AAEFX,EAASY,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarketIcon.js","names":["ReactComponent","MarketSVG","MarketIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/MarketIcon.tsx"],"sourcesContent":["import { ReactComponent as MarketSVG } from \"@/assets/market.svg\";\n\nexport const MarketIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <MarketSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
1
+ {"version":3,"file":"MarketIcon.js","names":["ReactComponent","MarketSVG","MarketIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/MarketIcon.tsx"],"sourcesContent":["import { ReactComponent as MarketSVG } from \"@/assets/market.svg\";\n\nexport const MarketIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <MarketSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SliderIcon.js","names":["ReactComponent","SliderSVG","SliderIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/SliderIcon.tsx"],"sourcesContent":["import { ReactComponent as SliderSVG } from \"@/assets/slider.svg\";\n\nexport const SliderIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <SliderSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AACO,QADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
1
+ {"version":3,"file":"SliderIcon.js","names":["ReactComponent","SliderSVG","SliderIcon","props","$","_c","t0"],"sources":["../../../../src/components/widget/Icon/SliderIcon.tsx"],"sourcesContent":["import { ReactComponent as SliderSVG } from \"@/assets/slider.svg\";\n\nexport const SliderIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return <SliderSVG {...props} />;\n};\n"],"mappings":";;;;AAEA,IAAaE,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CACO,OADPF,EAAA,OAAAD,IACOG,IAAAF,EAAA,MAAxBE,IAAA,kBAAC,GAAD,EAAU,GAAKH,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAE,IAAxBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImportToken.js","names":["useSetAtom","addImportedTokenAtom","WarningWithTitle","Button","TokenBadge","ImportTokenDrawerProps","constructTokenLinkForChain","ImportedToken","URL_CUSTOM_TOKEN_RISKS","ImportTokenProps","onClose","onImported","token","ImportToken","props","$","_c","addImportedToken","t0","importedToken","newToken","afterAction","onConfirmAction","handleImport","t1","address","network","chainId","t2","Symbol","for","logo","root","t3","img","symbol","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport { addImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { WarningWithTitle } from \"../Warning/Warning\";\nimport { Button } from \"@/components/ui/button\";\nimport { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { ImportTokenDrawerProps } from \"./types\";\nimport { constructTokenLinkForChain } from \"@/lib/utils/explorer\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\n\nconst URL_CUSTOM_TOKEN_RISKS =\n \"https://help.velora.xyz/en/articles/6660821-the-risks-of-using-custom-tokens\";\n\ntype ImportTokenProps = ImportTokenDrawerProps & {\n onClose: () => void;\n onImported?: (token: ImportedToken) => void;\n};\n\nexport const ImportToken = (props: ImportTokenProps) => {\n const addImportedToken = useSetAtom(addImportedTokenAtom);\n\n const handleImport = () => {\n const importedToken = addImportedToken({\n newToken: props.token,\n afterAction: props.onConfirmAction,\n });\n\n props.onClose();\n if (importedToken) {\n props.onImported?.(importedToken);\n }\n };\n\n return (\n <div className=\"p-[24px] pt-0\">\n <div className=\"mb-5 text-contrast-4 dark:text-contrast-7\">\n <a\n href={constructTokenLinkForChain({\n chainId: props.token.network,\n address: props.token.address,\n })}\n target=\"_blank\"\n className=\"underline-offset-2\"\n >\n <TokenBadge\n img={props.token.img}\n classes={{ logo: \"size-[24px]\", root: \"underline\" }}\n address={props.token.address}\n symbol={props.token.symbol}\n chainId={props.token.network}\n showNetworkIcon\n />\n </a>\n </div>\n <WarningWithTitle\n title=\"Custom Tokens Alert\"\n message={\n <div className=\"flex flex-col gap-2\">\n <div>\n Always verify the tokens you are importing are legitimate, as\n trading unsafe tokens can lead to financial losses.\n </div>\n <div>\n Velora cannot verify the security of the token, and some tokens\n with transfer fees might fail when using our UI.\n </div>\n </div>\n }\n />\n\n <div className=\"text-sm text-contrast-4 dark:text-contrast-6 mt-7\">\n By proceeding to import custom tokens, you confirm that you acknowledge{\" \"}\n <a\n className=\"underline hover:text-contrast-5 dark:hover:text-contrast-7\"\n href={URL_CUSTOM_TOKEN_RISKS}\n target=\"_blank\"\n >\n the risks of using custom tokens\n </a>\n </div>\n <div className=\"pt-8 pb-5\">\n <Button radius=\"xs\" className=\"w-full h-[40px]\" onClick={handleImport}>\n Import\n </Button>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ImportToken.js","names":["useSetAtom","addImportedTokenAtom","WarningWithTitle","Button","TokenBadge","ImportTokenDrawerProps","constructTokenLinkForChain","ImportedToken","URL_CUSTOM_TOKEN_RISKS","ImportTokenProps","onClose","onImported","token","ImportToken","props","$","_c","addImportedToken","t0","importedToken","newToken","afterAction","onConfirmAction","handleImport","t1","address","network","chainId","t2","Symbol","for","logo","root","t3","img","symbol","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport { addImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { WarningWithTitle } from \"../Warning/Warning\";\nimport { Button } from \"@/components/ui/button\";\nimport { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport type { ImportTokenDrawerProps } from \"./types\";\nimport { constructTokenLinkForChain } from \"@/lib/utils/explorer\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\n\nconst URL_CUSTOM_TOKEN_RISKS =\n \"https://help.velora.xyz/en/articles/6660821-the-risks-of-using-custom-tokens\";\n\ntype ImportTokenProps = ImportTokenDrawerProps & {\n onClose: () => void;\n onImported?: (token: ImportedToken) => void;\n};\n\nexport const ImportToken = (props: ImportTokenProps) => {\n const addImportedToken = useSetAtom(addImportedTokenAtom);\n\n const handleImport = () => {\n const importedToken = addImportedToken({\n newToken: props.token,\n afterAction: props.onConfirmAction,\n });\n\n props.onClose();\n if (importedToken) {\n props.onImported?.(importedToken);\n }\n };\n\n return (\n <div className=\"p-[24px] pt-0\">\n <div className=\"mb-5 text-contrast-4 dark:text-contrast-7\">\n <a\n href={constructTokenLinkForChain({\n chainId: props.token.network,\n address: props.token.address,\n })}\n target=\"_blank\"\n className=\"underline-offset-2\"\n >\n <TokenBadge\n img={props.token.img}\n classes={{ logo: \"size-[24px]\", root: \"underline\" }}\n address={props.token.address}\n symbol={props.token.symbol}\n chainId={props.token.network}\n showNetworkIcon\n />\n </a>\n </div>\n <WarningWithTitle\n title=\"Custom Tokens Alert\"\n message={\n <div className=\"flex flex-col gap-2\">\n <div>\n Always verify the tokens you are importing are legitimate, as\n trading unsafe tokens can lead to financial losses.\n </div>\n <div>\n Velora cannot verify the security of the token, and some tokens\n with transfer fees might fail when using our UI.\n </div>\n </div>\n }\n />\n\n <div className=\"text-sm text-contrast-4 dark:text-contrast-6 mt-7\">\n By proceeding to import custom tokens, you confirm that you acknowledge{\" \"}\n <a\n className=\"underline hover:text-contrast-5 dark:hover:text-contrast-7\"\n href={URL_CUSTOM_TOKEN_RISKS}\n target=\"_blank\"\n >\n the risks of using custom tokens\n </a>\n </div>\n <div className=\"pt-8 pb-5\">\n <Button radius=\"xs\" className=\"w-full h-[40px]\" onClick={handleImport}>\n Import\n </Button>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useImportTokenDrawer.js","names":["useState","ControlledDrawer","useDrawerControls","ImportToken","ImportTokenDrawerProps","UseImportTokenDrawerReturn","ImportedToken","ImportDrawerProps","drawerContainer","HTMLElement","tokenType","onImported","token","useImportTokenDrawer","t0","$","_c","t1","t2","drawerId","t3","drawerProps","onOpen","importTokenProps","setImportTokenProps","t4","onClose","t5","importTokenDrawer","t6","importTokenDrawerProps","onOpenImportTokenDrawer","t7"],"sources":["../../../../src/components/widget/ImportToken/useImportTokenDrawer.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ImportToken } from \"./ImportToken\";\nimport type {\n ImportTokenDrawerProps,\n UseImportTokenDrawerReturn,\n} from \"./types\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\n\ntype ImportDrawerProps = {\n drawerContainer?: HTMLElement | null;\n tokenType: \"from\" | \"to\" | undefined;\n onImported?: (token: ImportedToken) => void;\n};\n\nexport const useImportTokenDrawer = ({\n drawerContainer,\n tokenType,\n onImported,\n}: ImportDrawerProps): UseImportTokenDrawerReturn => {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: `import-token-drawer-${tokenType}`,\n });\n\n const [importTokenProps, setImportTokenProps] =\n useState<ImportTokenDrawerProps | null>(null);\n\n const importTokenDrawer = (\n <ControlledDrawer\n {...drawerProps}\n title=\"Add Custom Token\"\n showCloseButton\n container={drawerContainer}\n >\n {importTokenProps ? (\n <ImportToken\n {...importTokenProps}\n onClose={drawerProps.onClose}\n onImported={onImported}\n />\n ) : null}\n </ControlledDrawer>\n );\n\n const onOpenImportTokenDrawer: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"] =\n (importTokenDrawerProps) => {\n setImportTokenProps(importTokenDrawerProps);\n onOpen();\n };\n\n return {\n onOpenImportTokenDrawer,\n importTokenDrawer,\n };\n};\n"],"mappings":";;;;;;;AAgBA,IAAaa,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAR,oBAAAE,cAAAC,kBAAAG,GAMvBG,IAAA,uBAAuBP,KAAWQ;AAAA,CAAAH,EAAA,OAAAE,IAC7CC,IAAAH,EAAA,MAFoDG,IAAA,EAAAC,UACzCF,GACX,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAFkC,IAAAE,IAAAlB,EAAkBgB,EAEnD,EAAAG,GAAAC;AAAA,CAAAP,EAAA,OAAAK,KAACC,IAAAN,EAAA,IAAAO,IAAAP,EAAA,OAFH,eAAAM,KAAmCD,GAEhCL,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;CAEH,IAAA,CAAAC,GAAAC,KACExB,EAAwC,KAAK,EAACyB;AAAA,CAAAV,EAAA,OAAAM,KAAAN,EAAA,OAAAQ,KAAAR,EAAA,OAAAJ,KAS3Cc,IAAAF,IACC,kBAAC,GAAD;EAAY,GACNA;EACK,SAAAF,EAAWK;EACRf;EAER,CAAA,GANP,MAMOI,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,GAAAR,EAAA,KAAAJ,GAAAI,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAY;AAAA,CAAAZ,EAAA,OAAAP,KAAAO,EAAA,QAAAM,KAAAN,EAAA,QAAAU,KAZVE,IAAA,kBAAC,GAAD;EAAiB,GACXN;EACE,OAAA;EACN,iBAAA;EACWb,WAAAA;YAEViB;EAOgB,CAAA,EAAAV,EAAA,KAAAP,GAAAO,EAAA,MAAAM,GAAAN,EAAA,MAAAU,GAAAV,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAdrB,IAAAa,IACED,GAcAE;AAAA,CAAAd,EAAA,QAAAO,IAMCO,IAAAd,EAAA,OAHDc,KAAAC,MAAA;AAEER,EADAE,EAAoBM,EAAuB,EAC3CR,GAAQ;IACTP,EAAA,MAAAO,GAAAP,EAAA,MAAAc;CAJH,IAAAE,IACEF,GAGEG;AAKH,QALGjB,EAAA,QAAAa,KAAAb,EAAA,QAAAgB,KAEGC,IAAA;EAAAD;EAAAH;EAGN,EAAAb,EAAA,MAAAa,GAAAb,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KAHMiB"}
1
+ {"version":3,"file":"useImportTokenDrawer.js","names":["useState","ControlledDrawer","useDrawerControls","ImportToken","ImportTokenDrawerProps","UseImportTokenDrawerReturn","ImportedToken","ImportDrawerProps","drawerContainer","HTMLElement","tokenType","onImported","token","useImportTokenDrawer","t0","$","_c","t1","t2","drawerId","t3","drawerProps","onOpen","importTokenProps","setImportTokenProps","t4","onClose","t5","importTokenDrawer","t6","importTokenDrawerProps","onOpenImportTokenDrawer","t7"],"sources":["../../../../src/components/widget/ImportToken/useImportTokenDrawer.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ImportToken } from \"./ImportToken\";\nimport type {\n ImportTokenDrawerProps,\n UseImportTokenDrawerReturn,\n} from \"./types\";\nimport type { ImportedToken } from \"@/tokens/state/types\";\n\ntype ImportDrawerProps = {\n drawerContainer?: HTMLElement | null;\n tokenType: \"from\" | \"to\" | undefined;\n onImported?: (token: ImportedToken) => void;\n};\n\nexport const useImportTokenDrawer = ({\n drawerContainer,\n tokenType,\n onImported,\n}: ImportDrawerProps): UseImportTokenDrawerReturn => {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: `import-token-drawer-${tokenType}`,\n });\n\n const [importTokenProps, setImportTokenProps] =\n useState<ImportTokenDrawerProps | null>(null);\n\n const importTokenDrawer = (\n <ControlledDrawer\n {...drawerProps}\n title=\"Add Custom Token\"\n showCloseButton\n container={drawerContainer}\n >\n {importTokenProps ? (\n <ImportToken\n {...importTokenProps}\n onClose={drawerProps.onClose}\n onImported={onImported}\n />\n ) : null}\n </ControlledDrawer>\n );\n\n const onOpenImportTokenDrawer: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"] =\n (importTokenDrawerProps) => {\n setImportTokenProps(importTokenDrawerProps);\n onOpen();\n };\n\n return {\n onOpenImportTokenDrawer,\n importTokenDrawer,\n };\n};\n"],"mappings":";;;;;;;AAgBA,IAAaa,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAR,oBAAAE,cAAAC,kBAAAG,GAMvBG,IAAA,uBAAuBP,KAAWQ;CAAA,AAAAH,EAAA,OAAAE,IAC7CC,IAAAH,EAAA,MAFoDG,IAAA,EAAAC,UACzCF,GACX,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAFkC,IAAAE,IAAAlB,EAAkBgB,EAEnD,EAAAG,GAAAC;CAAA,AAAAP,EAAA,OAAAK,KAACC,IAAAN,EAAA,IAAAO,IAAAP,EAAA,OAFH,eAAAM,KAAmCD,GAEhCL,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;CAEH,IAAA,CAAAC,GAAAC,KACExB,EAAwC,KAAK,EAACyB;CAAA,AAAAV,EAAA,OAAAM,KAAAN,EAAA,OAAAQ,KAAAR,EAAA,OAAAJ,KAS3Cc,IAAAF,IACC,kBAAC,GAAD;EAAY,GACNA;EACK,SAAAF,EAAWK;EACRf;EAER,CAAA,GANP,MAMOI,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,GAAAR,EAAA,KAAAJ,GAAAI,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAY;CAAA,AAAAZ,EAAA,OAAAP,KAAAO,EAAA,QAAAM,KAAAN,EAAA,QAAAU,KAZVE,IAAA,kBAAC,GAAD;EAAiB,GACXN;EACE,OAAA;EACN,iBAAA;EACWb,WAAAA;YAEViB;EAOgB,CAAA,EAAAV,EAAA,KAAAP,GAAAO,EAAA,MAAAM,GAAAN,EAAA,MAAAU,GAAAV,EAAA,MAAAY,KAAAA,IAAAZ,EAAA;CAdrB,IAAAa,IACED,GAcAE;CAAA,AAAAd,EAAA,QAAAO,IAMCO,IAAAd,EAAA,OAHDc,KAAAC,MAAA;EAEER,AADAE,EAAoBM,EAAuB,EAC3CR,GAAQ;IACTP,EAAA,MAAAO,GAAAP,EAAA,MAAAc;CAJH,IAAAE,IACEF,GAGEG;CAKH,OALGjB,EAAA,QAAAa,KAAAb,EAAA,QAAAgB,KAEGC,IAAA;EAAAD;EAAAH;EAGN,EAAAb,EAAA,MAAAa,GAAAb,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KAHMiB"}