@velora-dex/widget 0.3.1 → 0.3.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 (285) hide show
  1. package/dist/assets/bridges/canonical-uni.svg.js +12 -0
  2. package/dist/assets/bridges/canonical-uni.svg.js.map +1 -0
  3. package/dist/assets/bridges/cctp.svg.js +12 -0
  4. package/dist/assets/bridges/cctp.svg.js.map +1 -0
  5. package/dist/assets/bridges/celer.svg.js +16 -0
  6. package/dist/assets/bridges/celer.svg.js.map +1 -0
  7. package/dist/assets/bridges/relay.svg.js +12 -0
  8. package/dist/assets/bridges/relay.svg.js.map +1 -0
  9. package/dist/assets/refresh.svg.js +12 -0
  10. package/dist/assets/refresh.svg.js.map +1 -0
  11. package/dist/assets/speedometer.svg.js +12 -0
  12. package/dist/assets/speedometer.svg.js.map +1 -0
  13. package/dist/components/ui/accordion.d.ts +3 -2
  14. package/dist/components/ui/accordion.d.ts.map +1 -1
  15. package/dist/components/ui/accordion.js +64 -40
  16. package/dist/components/ui/accordion.js.map +1 -1
  17. package/dist/components/ui/skeleton.d.ts.map +1 -1
  18. package/dist/components/ui/skeleton.js.map +1 -1
  19. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  20. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  21. package/dist/components/widget/AppHeader/AppHeader.js +67 -81
  22. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  23. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  24. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  25. package/dist/components/widget/BridgeList/BridgeListItem.d.ts +7 -0
  26. package/dist/components/widget/BridgeList/BridgeListItem.d.ts.map +1 -0
  27. package/dist/components/widget/BridgeList/BridgeListItem.js +475 -0
  28. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -0
  29. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts +9 -0
  30. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts.map +1 -0
  31. package/dist/components/widget/BridgeList/BridgeProtocolsList.js +219 -0
  32. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -0
  33. package/dist/components/widget/BridgeList/BridgesList.d.ts +12 -0
  34. package/dist/components/widget/BridgeList/BridgesList.d.ts.map +1 -0
  35. package/dist/components/widget/BridgeList/BridgesList.js +76 -0
  36. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -0
  37. package/dist/components/widget/BridgeList/hooks.d.ts +17 -0
  38. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -0
  39. package/dist/components/widget/BridgeList/hooks.js +259 -0
  40. package/dist/components/widget/BridgeList/hooks.js.map +1 -0
  41. package/dist/components/widget/BridgeList/types.d.ts +20 -0
  42. package/dist/components/widget/BridgeList/types.d.ts.map +1 -0
  43. package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts +3 -0
  44. package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts.map +1 -0
  45. package/dist/components/widget/BridgePreferences/BridgePreferences.js +136 -0
  46. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -0
  47. package/dist/components/widget/BridgePreferences/types.d.ts +11 -0
  48. package/dist/components/widget/BridgePreferences/types.d.ts.map +1 -0
  49. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +8 -0
  50. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -0
  51. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js +137 -0
  52. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -0
  53. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts +2 -0
  54. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -0
  55. package/dist/components/widget/CompareQuotes/CompareQuotes.js +210 -0
  56. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -0
  57. package/dist/components/widget/Details/DetailWithValueListExpandable.d.ts.map +1 -1
  58. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  59. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +2 -2
  60. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  61. package/dist/components/widget/Duration/Duration.d.ts +6 -0
  62. package/dist/components/widget/Duration/Duration.d.ts.map +1 -0
  63. package/dist/components/widget/Duration/Duration.js +95 -0
  64. package/dist/components/widget/Duration/Duration.js.map +1 -0
  65. package/dist/components/widget/Duration/types.d.ts +5 -0
  66. package/dist/components/widget/Duration/types.d.ts.map +1 -0
  67. package/dist/components/widget/Duration/utils.d.ts +4 -0
  68. package/dist/components/widget/Duration/utils.d.ts.map +1 -0
  69. package/dist/components/widget/Duration/utils.js +6 -0
  70. package/dist/components/widget/Duration/utils.js.map +1 -0
  71. package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts +2 -0
  72. package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts.map +1 -0
  73. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js +42 -0
  74. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -0
  75. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +1 -1
  76. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  77. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +10 -64
  78. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  79. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  80. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  81. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  82. package/dist/components/widget/SettingsButton/SettingsButton.d.ts +5 -0
  83. package/dist/components/widget/SettingsButton/SettingsButton.d.ts.map +1 -0
  84. package/dist/components/widget/SettingsButton/SettingsButton.js +61 -0
  85. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -0
  86. package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
  87. package/dist/components/widget/TokenBadge/TokenBadge.js +114 -65
  88. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  89. package/dist/components/widget/TokenBadge/types.d.ts +1 -0
  90. package/dist/components/widget/TokenBadge/types.d.ts.map +1 -1
  91. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  92. package/dist/components/widget/TokenInput/index.js +35 -19
  93. package/dist/components/widget/TokenInput/index.js.map +1 -1
  94. package/dist/components/widget/TokenInput/types.d.ts +1 -0
  95. package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
  96. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  97. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  98. package/dist/components/widget/TradeOverview/TradeDetails.js +1 -1
  99. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  100. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +1 -1
  101. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  102. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -1
  103. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  104. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  105. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts +21 -0
  106. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts.map +1 -0
  107. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js +90 -0
  108. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -0
  109. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts +12 -0
  110. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts.map +1 -0
  111. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js +68 -0
  112. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -0
  113. package/dist/components/widget/TradeParameters/TradeParameters.d.ts +3 -2
  114. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  115. package/dist/components/widget/TradeParameters/TradeParameters.js +66 -45
  116. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  117. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  118. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +3 -1
  119. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  120. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +10 -0
  121. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -0
  122. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +19 -0
  123. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -0
  124. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts +4 -0
  125. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts.map +1 -0
  126. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js +7 -0
  127. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js.map +1 -0
  128. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +8 -0
  129. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -0
  130. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +21 -0
  131. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -0
  132. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts +2 -0
  133. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts.map +1 -0
  134. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js +11 -0
  135. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -0
  136. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.d.ts +4 -0
  137. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.d.ts.map +1 -0
  138. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js +8 -0
  139. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -0
  140. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.d.ts +4 -0
  141. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.d.ts.map +1 -0
  142. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js +11 -0
  143. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -0
  144. package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts +3 -0
  145. package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts.map +1 -0
  146. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts +15 -0
  147. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts.map +1 -0
  148. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js +63 -0
  149. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -0
  150. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +5 -0
  151. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  152. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +150 -67
  153. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  154. package/dist/components/widget/YouGet/YouGet.d.ts.map +1 -1
  155. package/dist/components/widget/YouGet/YouGet.js +93 -99
  156. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  157. package/dist/components/widget/YouGet/types.d.ts +2 -1
  158. package/dist/components/widget/YouGet/types.d.ts.map +1 -1
  159. package/dist/configurator/state/themeAtom.d.ts.map +1 -1
  160. package/dist/core/Updaters.d.ts.map +1 -1
  161. package/dist/core/Updaters.js +2 -0
  162. package/dist/core/Updaters.js.map +1 -1
  163. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  164. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  165. package/dist/core/index.d.ts.map +1 -1
  166. package/dist/core/index.js +22 -14
  167. package/dist/core/index.js.map +1 -1
  168. package/dist/core/inputs/hooks/types.d.ts +2 -2
  169. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  170. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  171. package/dist/core/inputs/hooks/useTokenFromInputProps.js +121 -103
  172. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  173. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  174. package/dist/core/inputs/hooks/useTokenToInputProps.js +158 -130
  175. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  176. package/dist/core/inputs/hooks/utils.d.ts +10 -0
  177. package/dist/core/inputs/hooks/utils.d.ts.map +1 -0
  178. package/dist/core/inputs/hooks/utils.js +41 -0
  179. package/dist/core/inputs/hooks/utils.js.map +1 -0
  180. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  181. package/dist/core/limit/state/utils.js.map +1 -1
  182. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  183. package/dist/core/limit/useLimitRate.js.map +1 -1
  184. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  185. package/dist/core/screen/screenByType.d.ts +2 -0
  186. package/dist/core/screen/screenByType.d.ts.map +1 -1
  187. package/dist/core/screen/screenByType.js +5 -1
  188. package/dist/core/screen/screenByType.js.map +1 -1
  189. package/dist/core/screen/state/hooks/useSetScreen.d.ts +3 -0
  190. package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -1
  191. package/dist/core/screen/state/hooks/useSetScreen.js +43 -11
  192. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  193. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
  194. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  195. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  196. package/dist/core/swapDetails/priceImpact.js +7 -3
  197. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  198. package/dist/events/getters/settings.d.ts.map +1 -1
  199. package/dist/events/getters/settings.js +7 -1
  200. package/dist/events/getters/settings.js.map +1 -1
  201. package/dist/events/types/common.d.ts +6 -1
  202. package/dist/events/types/common.d.ts.map +1 -1
  203. package/dist/events/types/settings.d.ts +2 -1
  204. package/dist/events/types/settings.d.ts.map +1 -1
  205. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  206. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  207. package/dist/hooks/otc/mutations/useFillOrder.js +1 -2
  208. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  209. package/dist/hooks/swap/prices/constants.d.ts +3 -0
  210. package/dist/hooks/swap/prices/constants.d.ts.map +1 -0
  211. package/dist/hooks/swap/prices/constants.js +5 -0
  212. package/dist/hooks/swap/prices/constants.js.map +1 -0
  213. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +6 -0
  214. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -0
  215. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js +36 -0
  216. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -0
  217. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +7 -0
  218. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  219. package/dist/hooks/swap/prices/delta/bridge/utils.js +35 -1
  220. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  221. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  222. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts +13 -0
  223. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts.map +1 -0
  224. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts +3 -0
  225. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts.map +1 -0
  226. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +75 -0
  227. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -0
  228. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -2
  229. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  230. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +3 -1
  231. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  232. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  233. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  234. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  235. package/dist/hooks/swap/prices/types.d.ts +1 -0
  236. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  237. package/dist/hooks/swap/prices/useSwapPrices.d.ts +5 -0
  238. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  239. package/dist/hooks/swap/prices/useSwapPrices.js +119 -94
  240. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  241. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  242. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +15 -1
  243. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  244. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  245. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  246. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  247. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  248. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  249. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  250. package/dist/hooks/tokens/useAllTokensWithFilter.js +11 -6
  251. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  252. package/dist/hooks/useBridgeProtocols.d.ts +3 -0
  253. package/dist/hooks/useBridgeProtocols.d.ts.map +1 -0
  254. package/dist/hooks/useBridgeProtocols.js +35 -0
  255. package/dist/hooks/useBridgeProtocols.js.map +1 -0
  256. package/dist/hooks/useClickOutside.js.map +1 -1
  257. package/dist/lib/constants/storage.d.ts +2 -0
  258. package/dist/lib/constants/storage.d.ts.map +1 -0
  259. package/dist/lib/constants/storage.js +4 -0
  260. package/dist/lib/constants/storage.js.map +1 -0
  261. package/dist/lib/constants/weth.js.map +1 -1
  262. package/dist/lib/utils/priceImpact.d.ts +5 -2
  263. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  264. package/dist/lib/utils/priceImpact.js +8 -5
  265. package/dist/lib/utils/priceImpact.js.map +1 -1
  266. package/dist/lib/utils/tuple.d.ts +1 -0
  267. package/dist/lib/utils/tuple.d.ts.map +1 -1
  268. package/dist/lib/utils/tuple.js +5 -1
  269. package/dist/lib/utils/tuple.js.map +1 -1
  270. package/dist/lib/web3/privy/config.js +1 -1
  271. package/dist/lib/web3/wagmi/config.js +1 -1
  272. package/dist/styles.css +58 -3
  273. package/dist/tokens/queries.d.ts.map +1 -1
  274. package/dist/tokens/queries.js.map +1 -1
  275. package/dist/tokens/state/importedTokensAtom.d.ts.map +1 -1
  276. package/dist/tokens/state/importedTokensAtom.js +4 -1
  277. package/dist/tokens/state/importedTokensAtom.js.map +1 -1
  278. package/dist/tokens/utils/sorting.d.ts +5 -0
  279. package/dist/tokens/utils/sorting.d.ts.map +1 -1
  280. package/dist/tokens/utils/sorting.js +34 -1
  281. package/dist/tokens/utils/sorting.js.map +1 -1
  282. package/dist/transactions/state/transactionsAtom.d.ts.map +1 -1
  283. package/dist/transactions/state/transactionsAtom.js +2 -1
  284. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  285. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/prices/queries.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport {\n LONG_STALE_TIME_FOR_REACTIVENESS,\n ONE_MINUTE_MS,\n} from \"@/lib/constants/time\";\n\nimport axios from \"axios\";\nimport { isAddress } from \"viem\";\n\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport type {\n FiatPriceFromApi,\n FiatPriceMap,\n TokenPricesQueryKey,\n} from \"./types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst keysToSkip: (keyof FiatPriceFromApi)[] = [\n \"source\",\n \"address\",\n \"updatedAt\",\n];\n\nfunction shouldTryOverride(key: string): boolean {\n return !keysToSkip.includes(key as keyof FiatPriceFromApi);\n}\n\nexport async function fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n signal?: AbortSignal;\n}) {\n const {\n data: { prices },\n } = await axios.get<{ prices: FiatPriceMap }>(\n `${getApiURL()}/fiat/prices/${chainId}`,\n { signal }\n );\n\n if (!fallbackToCachedPrices) return prices;\n\n // fiat-fetcher gives the prices either from coingecko or chainlink,\n // and in case of chainlink there are some missing values in price object\n\n const lastPrices = queryClient.getQueryData<FiatPriceMap>(\n constructTokenPricesQueryKey(chainId)\n );\n\n if (!lastPrices) return prices;\n\n const combined = Object.entries(prices).reduce<FiatPriceMap>(\n (acc, [address, price]) => {\n // skip if address is not valid\n if (!isAddress(address)) return acc;\n\n const lastPrice = lastPrices[address];\n // no previous price, do nothing\n if (!lastPrice) return acc;\n\n // assume that coinGecko prices have more data\n // and we don't want to change them\n if (price.source === \"coinGecko\") return acc;\n\n // no need to override the price when from the same source\n if (price.source === lastPrice.source) return acc;\n\n // make sure we have all the keys\n // not just the ones that are in the new price object\n const mergedPrice = { ...lastPrice, ...price };\n\n let changed = false;\n\n for (const key of Object.keys(mergedPrice)) {\n if (shouldTryOverride(key)) {\n const val =\n price[key as keyof typeof price] ??\n ((changed = true), lastPrice[key as keyof typeof lastPrice]);\n\n (mergedPrice[\n key as keyof typeof mergedPrice\n ] as FiatPriceFromApi[keyof FiatPriceFromApi]) = val;\n }\n }\n\n // we updated the price\n if (changed) {\n // let's keep updatedAt, source from the last price\n mergedPrice.updatedAt = lastPrice.updatedAt;\n mergedPrice.source = lastPrice.source;\n }\n\n acc[address] = mergedPrice;\n return acc;\n },\n prices\n );\n\n return combined;\n}\n\nexport function constructTokenPricesQueryKey(\n chainId: number\n): TokenPricesQueryKey {\n return [\"token-prices\", chainId];\n}\n\nexport function constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices,\n enabled,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n enabled?: boolean;\n}): UseQueryOptions<FiatPriceMap, Error, FiatPriceMap, TokenPricesQueryKey> {\n {\n return {\n queryKey: constructTokenPricesQueryKey(chainId),\n queryFn: ({ signal }) =>\n fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n }),\n enabled,\n notifyOnChangeProps: [\"data\", \"isLoading\", \"isError\"],\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n refetchInterval: ONE_MINUTE_MS,\n };\n }\n}\n"],"names":["keysToSkip","shouldTryOverride","key","includes","fetchTokenPricesWithFallback","chainId","fallbackToCachedPrices","signal","data","prices","axios","get","getApiURL","lastPrices","queryClient","getQueryData","constructTokenPricesQueryKey","combined","Object","entries","reduce","acc","address","price","isAddress","lastPrice","source","mergedPrice","changed","keys","val","updatedAt","constructTokenPricesQueryOptions","enabled","queryKey","queryFn","notifyOnChangeProps","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","refetchInterval","ONE_MINUTE_MS"],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/prices/queries.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport {\n LONG_STALE_TIME_FOR_REACTIVENESS,\n ONE_MINUTE_MS,\n} from \"@/lib/constants/time\";\n\nimport axios from \"axios\";\nimport { isAddress } from \"viem\";\n\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport type {\n FiatPriceFromApi,\n FiatPriceMap,\n TokenPricesQueryKey,\n} from \"./types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst keysToSkip: (keyof FiatPriceFromApi)[] = [\n \"source\",\n \"address\",\n \"updatedAt\",\n];\n\nfunction shouldTryOverride(key: string): boolean {\n return !keysToSkip.includes(key as keyof FiatPriceFromApi);\n}\n\nexport async function fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n signal?: AbortSignal;\n}) {\n const {\n data: { prices },\n } = await axios.get<{ prices: FiatPriceMap }>(\n `${getApiURL()}/fiat/prices/${chainId}`,\n {\n signal,\n }\n );\n\n if (!fallbackToCachedPrices) return prices;\n\n // fiat-fetcher gives the prices either from coingecko or chainlink,\n // and in case of chainlink there are some missing values in price object\n\n const lastPrices = queryClient.getQueryData<FiatPriceMap>(\n constructTokenPricesQueryKey(chainId)\n );\n\n if (!lastPrices) return prices;\n\n const combined = Object.entries(prices).reduce<FiatPriceMap>(\n (acc, [address, price]) => {\n // skip if address is not valid\n if (!isAddress(address)) return acc;\n\n const lastPrice = lastPrices[address];\n // no previous price, do nothing\n if (!lastPrice) return acc;\n\n // assume that coinGecko prices have more data\n // and we don't want to change them\n if (price.source === \"coinGecko\") return acc;\n\n // no need to override the price when from the same source\n if (price.source === lastPrice.source) return acc;\n\n // make sure we have all the keys\n // not just the ones that are in the new price object\n const mergedPrice = { ...lastPrice, ...price };\n\n let changed = false;\n\n for (const key of Object.keys(mergedPrice)) {\n if (shouldTryOverride(key)) {\n const val =\n price[key as keyof typeof price] ??\n ((changed = true), lastPrice[key as keyof typeof lastPrice]);\n\n (mergedPrice[\n key as keyof typeof mergedPrice\n ] as FiatPriceFromApi[keyof FiatPriceFromApi]) = val;\n }\n }\n\n // we updated the price\n if (changed) {\n // let's keep updatedAt, source from the last price\n mergedPrice.updatedAt = lastPrice.updatedAt;\n mergedPrice.source = lastPrice.source;\n }\n\n acc[address] = mergedPrice;\n return acc;\n },\n prices\n );\n\n return combined;\n}\n\nexport function constructTokenPricesQueryKey(\n chainId: number\n): TokenPricesQueryKey {\n return [\"token-prices\", chainId];\n}\n\nexport function constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices,\n enabled,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n enabled?: boolean;\n}): UseQueryOptions<FiatPriceMap, Error, FiatPriceMap, TokenPricesQueryKey> {\n {\n return {\n queryKey: constructTokenPricesQueryKey(chainId),\n queryFn: ({ signal }) =>\n fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n }),\n enabled,\n notifyOnChangeProps: [\"data\", \"isLoading\", \"isError\"],\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n refetchInterval: ONE_MINUTE_MS,\n };\n }\n}\n"],"names":["keysToSkip","shouldTryOverride","key","includes","fetchTokenPricesWithFallback","chainId","fallbackToCachedPrices","signal","data","prices","axios","get","getApiURL","lastPrices","queryClient","getQueryData","constructTokenPricesQueryKey","combined","Object","entries","reduce","acc","address","price","isAddress","lastPrice","source","mergedPrice","changed","keys","val","updatedAt","constructTokenPricesQueryOptions","enabled","queryKey","queryFn","notifyOnChangeProps","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","refetchInterval","ONE_MINUTE_MS"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAllTokensWithFilter.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAK5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAE5F,eAAO,MAAM,sBAAsB,GAAI,6EAKpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,KAAG,wBAAwB,EA2E3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAMpC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,aAAa,GACd,EAAE,wBAAwB,GAAG;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC,CAqBA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,8BAuBA"}
1
+ {"version":3,"file":"useAllTokensWithFilter.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAK5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAE5F,eAAO,MAAM,sBAAsB,GAAI,6EAKpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,KAAG,wBAAwB,EA8E3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAMpC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,aAAa,GACd,EAAE,wBAAwB,GAAG;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC,CAqBA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,8BAuBA"}
@@ -1,5 +1,5 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
- import { sortTokens } from '../../tokens/utils/sorting.js';
2
+ import { createSortWithClosestMatch } from '../../tokens/utils/sorting.js';
3
3
  import { filterTokens } from '../../tokens/utils/filtering.js';
4
4
  import { useAllTokens } from '../../tokens/hooks.js';
5
5
  import { useAtomValue } from '../../core/store.js';
@@ -126,10 +126,12 @@ const useAllTokensWithFilter = (t0) => {
126
126
  const attachTokenBalance = useAttachTokenBalanceMultichain(t6);
127
127
  let t7;
128
128
  if ($[19] !== attachTokenBalance || $[20] !== tokenFilter || $[21] !== tokensToDisplay) {
129
+ const trimmedTokenFilter = tokenFilter.trim();
130
+ const sorter = createSortWithClosestMatch(trimmedTokenFilter);
129
131
  t7 = filterTokens({
130
- filterString: tokenFilter.trim(),
132
+ filterString: trimmedTokenFilter,
131
133
  tokenArray: tokensToDisplay
132
- }).map(attachTokenBalance).sort(sortTokens);
134
+ }).map(attachTokenBalance).sort(sorter);
133
135
  $[19] = attachTokenBalance;
134
136
  $[20] = tokenFilter;
135
137
  $[21] = tokensToDisplay;
@@ -227,10 +229,13 @@ function useAcrossTokenLists(t0) {
227
229
  const attachTokenBalance = useAttachTokenBalanceMultichain(t3);
228
230
  let t4;
229
231
  if ($[9] !== attachTokenBalance || $[10] !== crossTokens || $[11] !== tokenFilter) {
230
- t4 = filterTokens({
231
- filterString: tokenFilter.trim(),
232
+ const trimmedTokenFilter = tokenFilter.trim();
233
+ const sorter = createSortWithClosestMatch(trimmedTokenFilter);
234
+ const filteredTokens = filterTokens({
235
+ filterString: trimmedTokenFilter,
232
236
  tokenArray: crossTokens
233
- }).map(attachTokenBalance).sort(sortTokens);
237
+ });
238
+ t4 = filteredTokens.map(attachTokenBalance).sort(sorter);
234
239
  $[9] = attachTokenBalance;
235
240
  $[10] = crossTokens;
236
241
  $[11] = tokenFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"useAllTokensWithFilter.js","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"sourcesContent":["import { sortTokens } from \"@/tokens/utils/sorting\";\nimport { filterTokens } from \"@/tokens/utils/filtering\";\nimport { useAllTokens } from \"@/tokens/hooks\";\nimport type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { useMemo } from \"react\";\nimport { useNativeToken } from \"./useNativeToken\";\nimport { useAttachTokenBalanceMultichain } from \"./balances/useAttachTokenBalanceMultichain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensFromAcross } from \"./useTokensFromAcross\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isAddress } from \"viem\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\n\nexport const useAllTokensWithFilter = ({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound,\n withETH = true,\n}: {\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n searchOnOtherChainsIfNothingFound?: boolean;\n withETH?: boolean;\n}): TokenMaybeWithUsdBalance[] => {\n const appChainId = useChainId();\n\n const allTokens = useAllTokens(forcedChainId);\n const nativeToken = useNativeToken(forcedChainId);\n\n const allIncludedTokens = withETH\n ? [nativeToken].concat(allTokens)\n : allTokens;\n\n const filteredTokens = useMemo(() => {\n return filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: allIncludedTokens,\n });\n }, [tokenFilter, allIncludedTokens]);\n\n const isTokenFilterValidAddress = isAddress(tokenFilter);\n const searchOnAllChains =\n (isTokenFilterValidAddress && searchOnOtherChainsIfNothingFound) || // if it's a token address, always search on other chains, if allowed\n // -- we want to show this token on all chains.\n (filteredTokens.length === 0 &&\n // not already found tokens on current chain &&\n // filter given, and explicitly asked to search other chains\n !!tokenFilter &&\n searchOnOtherChainsIfNothingFound);\n\n const { tokens: tokensFromAllChains, addressMap: tokensFromAllChainsMap } =\n useAllTokensFromChains({\n // no need to exclude any chains, we actually want to search on all chains in this scenario\n // excludeChains: forcedChainId ? [forcedChainId] : [appChainId],\n includeChains: !searchOnAllChains ? emptyArray : undefined,\n });\n\n const { addressesMap, tokensToDisplay } = useMemo(() => {\n if (searchOnAllChains)\n return {\n tokensToDisplay: tokensFromAllChains,\n addressesMap: tokensFromAllChainsMap,\n };\n\n const currentChainId = forcedChainId ?? appChainId;\n const allTokensWithNativeAddresses = allIncludedTokens.map(\n ({ address }) => address\n );\n\n return {\n tokensToDisplay: allIncludedTokens,\n addressesMap: {\n [currentChainId]: allTokensWithNativeAddresses,\n },\n };\n }, [\n appChainId,\n forcedChainId,\n searchOnAllChains,\n tokensFromAllChains,\n tokensFromAllChainsMap,\n allIncludedTokens,\n ]);\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap,\n });\n\n const filteredAndSortedTokens = useMemo<TokenMaybeWithUsdBalance[]>(() => {\n return filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: tokensToDisplay,\n })\n .map(attachTokenBalance)\n .sort(sortTokens);\n }, [attachTokenBalance, tokenFilter, tokensToDisplay]);\n\n return filteredAndSortedTokens;\n};\n\nexport const usePrefetchTokenBalances = () => {\n // will fetch balances for all tokens from tokenLists for current chain,\n // if necessary, can be made to fetch for all chains, but that may be too many requests\n useAllTokensWithFilter({\n tokenFilter: \"\",\n });\n};\n\ntype AllTokensFromChainsInput = {\n includeChains?: number[];\n excludeChains?: number[];\n};\n\n/**\n * @description\n * Returns tokens and token address maps from all chains, optionally filtered by include/exclude chains.\n * If no chains are specified, it will return all tokens from all chains.\n * If includeChains is specified, it will only return tokens from those chains.\n * If excludeChains is specified, it will exclude tokens from those chains.\n */\nexport function useAllTokensFromChains({\n includeChains,\n excludeChains,\n}: AllTokensFromChainsInput): {\n tokens: Token[];\n addressMap: Record<number, string[]>;\n} {\n const { listByChainId: tokensListsByChain } =\n useAtomValue(allTokensByChainAtom);\n\n return useMemo(() => {\n const tokens: Token[] = [];\n const addressMap: Record<number, string[]> = {};\n\n for (const [_chainId, { tokens: _tokens }] of Object.entries(\n tokensListsByChain\n )) {\n const chainId = Number(_chainId);\n if (includeChains && !includeChains.includes(chainId)) continue;\n if (excludeChains && excludeChains.includes(chainId)) continue;\n\n tokens.push(..._tokens);\n addressMap[chainId] = _tokens.map((token) => token.address);\n }\n\n return { tokens, addressMap };\n }, [tokensListsByChain, includeChains, excludeChains]);\n}\n\nexport function useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n}: {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}) {\n const { crossTokens } = useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n });\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: {\n [toChainId]: crossTokens.map((token) => token.address),\n },\n });\n\n return useMemo<TokenMaybeWithUsdBalance[]>(\n () =>\n filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: crossTokens,\n })\n .map(attachTokenBalance)\n .sort(sortTokens),\n [attachTokenBalance, crossTokens, tokenFilter]\n );\n}\n"],"names":["useAllTokensWithFilter","t0","$","_c","tokenFilter","forcedChainId","searchOnOtherChainsIfNothingFound","withETH","t1","undefined","appChainId","useChainId","allTokens","useAllTokens","nativeToken","useNativeToken","t2","concat","allIncludedTokens","filteredTokens","filterTokens","filterString","trim","tokenArray","isTokenFilterValidAddress","isAddress","searchOnAllChains","length","t3","emptyArray","t4","includeChains","tokens","tokensFromAllChains","addressMap","tokensFromAllChainsMap","useAllTokensFromChains","t5","bb0","t6","tokensToDisplay","addressesMap","currentChainId","map","_temp","allTokensWithNativeAddresses","t7","t8","attachTokenBalance","useAttachTokenBalanceMultichain","sort","sortTokens","filteredAndSortedTokens","usePrefetchTokenBalances","Symbol","for","excludeChains","listByChainId","tokensListsByChain","useAtomValue","allTokensByChainAtom","useMemo","_chainId","_tokens","Object","entries","chainId","Number","includes","push","token","address","useAcrossTokenLists","fromChainId","toChainId","mode","crossTokens","useTokensFromAcross","_temp3"],"mappings":"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"}
1
+ {"version":3,"file":"useAllTokensWithFilter.js","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"sourcesContent":["import { createSortWithClosestMatch } from \"@/tokens/utils/sorting\";\nimport { filterTokens } from \"@/tokens/utils/filtering\";\nimport { useAllTokens } from \"@/tokens/hooks\";\nimport type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { useMemo } from \"react\";\nimport { useNativeToken } from \"./useNativeToken\";\nimport { useAttachTokenBalanceMultichain } from \"./balances/useAttachTokenBalanceMultichain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensFromAcross } from \"./useTokensFromAcross\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isAddress } from \"viem\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\n\nexport const useAllTokensWithFilter = ({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound,\n withETH = true,\n}: {\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n searchOnOtherChainsIfNothingFound?: boolean;\n withETH?: boolean;\n}): TokenMaybeWithUsdBalance[] => {\n const appChainId = useChainId();\n\n const allTokens = useAllTokens(forcedChainId);\n const nativeToken = useNativeToken(forcedChainId);\n\n const allIncludedTokens = withETH\n ? [nativeToken].concat(allTokens)\n : allTokens;\n\n const filteredTokens = useMemo(() => {\n return filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: allIncludedTokens,\n });\n }, [tokenFilter, allIncludedTokens]);\n\n const isTokenFilterValidAddress = isAddress(tokenFilter);\n const searchOnAllChains =\n (isTokenFilterValidAddress && searchOnOtherChainsIfNothingFound) || // if it's a token address, always search on other chains, if allowed\n // -- we want to show this token on all chains.\n (filteredTokens.length === 0 &&\n // not already found tokens on current chain &&\n // filter given, and explicitly asked to search other chains\n !!tokenFilter &&\n searchOnOtherChainsIfNothingFound);\n\n const { tokens: tokensFromAllChains, addressMap: tokensFromAllChainsMap } =\n useAllTokensFromChains({\n // no need to exclude any chains, we actually want to search on all chains in this scenario\n // excludeChains: forcedChainId ? [forcedChainId] : [appChainId],\n includeChains: !searchOnAllChains ? emptyArray : undefined,\n });\n\n const { addressesMap, tokensToDisplay } = useMemo(() => {\n if (searchOnAllChains)\n return {\n tokensToDisplay: tokensFromAllChains,\n addressesMap: tokensFromAllChainsMap,\n };\n\n const currentChainId = forcedChainId ?? appChainId;\n const allTokensWithNativeAddresses = allIncludedTokens.map(\n ({ address }) => address\n );\n\n return {\n tokensToDisplay: allIncludedTokens,\n addressesMap: {\n [currentChainId]: allTokensWithNativeAddresses,\n },\n };\n }, [\n appChainId,\n forcedChainId,\n searchOnAllChains,\n tokensFromAllChains,\n tokensFromAllChainsMap,\n allIncludedTokens,\n ]);\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap,\n });\n\n const filteredAndSortedTokens = useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n return filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: tokensToDisplay,\n })\n .map(attachTokenBalance)\n .sort(sorter);\n }, [attachTokenBalance, tokenFilter, tokensToDisplay]);\n\n return filteredAndSortedTokens;\n};\n\nexport const usePrefetchTokenBalances = () => {\n // will fetch balances for all tokens from tokenLists for current chain,\n // if necessary, can be made to fetch for all chains, but that may be too many requests\n useAllTokensWithFilter({\n tokenFilter: \"\",\n });\n};\n\ntype AllTokensFromChainsInput = {\n includeChains?: number[];\n excludeChains?: number[];\n};\n\n/**\n * @description\n * Returns tokens and token address maps from all chains, optionally filtered by include/exclude chains.\n * If no chains are specified, it will return all tokens from all chains.\n * If includeChains is specified, it will only return tokens from those chains.\n * If excludeChains is specified, it will exclude tokens from those chains.\n */\nexport function useAllTokensFromChains({\n includeChains,\n excludeChains,\n}: AllTokensFromChainsInput): {\n tokens: Token[];\n addressMap: Record<number, string[]>;\n} {\n const { listByChainId: tokensListsByChain } =\n useAtomValue(allTokensByChainAtom);\n\n return useMemo(() => {\n const tokens: Token[] = [];\n const addressMap: Record<number, string[]> = {};\n\n for (const [_chainId, { tokens: _tokens }] of Object.entries(\n tokensListsByChain\n )) {\n const chainId = Number(_chainId);\n if (includeChains && !includeChains.includes(chainId)) continue;\n if (excludeChains && excludeChains.includes(chainId)) continue;\n\n tokens.push(..._tokens);\n addressMap[chainId] = _tokens.map((token) => token.address);\n }\n\n return { tokens, addressMap };\n }, [tokensListsByChain, includeChains, excludeChains]);\n}\n\nexport function useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n}: {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}) {\n const { crossTokens } = useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n });\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: {\n [toChainId]: crossTokens.map((token) => token.address),\n },\n });\n\n return useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n const filteredTokens = filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: crossTokens,\n });\n return filteredTokens.map(attachTokenBalance).sort(sorter);\n }, [attachTokenBalance, crossTokens, tokenFilter]);\n}\n"],"names":["useAllTokensWithFilter","t0","$","_c","tokenFilter","forcedChainId","searchOnOtherChainsIfNothingFound","withETH","t1","undefined","appChainId","useChainId","allTokens","useAllTokens","nativeToken","useNativeToken","t2","concat","allIncludedTokens","filteredTokens","filterTokens","filterString","trim","tokenArray","isTokenFilterValidAddress","isAddress","searchOnAllChains","length","t3","emptyArray","t4","includeChains","tokens","tokensFromAllChains","addressMap","tokensFromAllChainsMap","useAllTokensFromChains","t5","bb0","t6","tokensToDisplay","addressesMap","currentChainId","map","_temp","allTokensWithNativeAddresses","t7","t8","attachTokenBalance","useAttachTokenBalanceMultichain","trimmedTokenFilter","sorter","createSortWithClosestMatch","sort","filteredAndSortedTokens","usePrefetchTokenBalances","Symbol","for","excludeChains","listByChainId","tokensListsByChain","useAtomValue","allTokensByChainAtom","useMemo","_chainId","_tokens","Object","entries","chainId","Number","includes","push","token","address","useAcrossTokenLists","fromChainId","toChainId","mode","crossTokens","useTokensFromAcross","_temp3"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { BridgeProtocolsMapping } from './swap/prices/delta/queries/bridgeProtocols/types';
2
+ export declare function useGetBridgeProtocolsMap(): import('./swap/prices/delta/queries/bridgeProtocols/types').BridgeProtocolsQueryResult<BridgeProtocolsMapping>;
3
+ //# sourceMappingURL=useBridgeProtocols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBridgeProtocols.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeProtocols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,mDAAmD,CAAC;AAW3D,wBAAgB,wBAAwB,mHAUvC"}
@@ -0,0 +1,35 @@
1
+ import { d as distExports } from '../_virtual/index.js';
2
+ import { useBridgeProtocolsQuery } from './swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js';
3
+
4
+ const createProtocolMapping = (data) => data.reduce((acc, {
5
+ protocol,
6
+ ...rest
7
+ }) => {
8
+ const lowercasedProtocol = protocol.toLowerCase();
9
+ acc[lowercasedProtocol] = {
10
+ protocol: lowercasedProtocol,
11
+ ...rest
12
+ };
13
+ return acc;
14
+ }, {});
15
+ function useGetBridgeProtocolsMap() {
16
+ const $ = distExports.c(1);
17
+ let t0;
18
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
19
+ t0 = {
20
+ query: {
21
+ staleTime: Infinity,
22
+ gcTime: Infinity,
23
+ select: createProtocolMapping
24
+ }
25
+ };
26
+ $[0] = t0;
27
+ } else {
28
+ t0 = $[0];
29
+ }
30
+ const result = useBridgeProtocolsQuery(t0);
31
+ return result;
32
+ }
33
+
34
+ export { useGetBridgeProtocolsMap };
35
+ //# sourceMappingURL=useBridgeProtocols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBridgeProtocols.js","sources":["../../src/hooks/useBridgeProtocols.ts"],"sourcesContent":["import type {\n BridgeProtocolsMapping,\n BridgeProtocolsReturn,\n} from \"./swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useBridgeProtocolsQuery } from \"./swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\n\n// mapping {[protocol.toLowerCase()]: bridgeProtocolResponse} for faster access\nconst createProtocolMapping = (data: BridgeProtocolsReturn) =>\n data.reduce<BridgeProtocolsMapping>((acc, { protocol, ...rest }) => {\n const lowercasedProtocol = protocol.toLowerCase();\n acc[lowercasedProtocol] = { protocol: lowercasedProtocol, ...rest };\n return acc;\n }, {});\n\nexport function useGetBridgeProtocolsMap() {\n const result = useBridgeProtocolsQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n select: createProtocolMapping,\n },\n });\n\n return result;\n}\n"],"names":["createProtocolMapping","data","reduce","acc","protocol","rest","lowercasedProtocol","toLowerCase","useGetBridgeProtocolsMap","$","_c","t0","Symbol","for","query","staleTime","Infinity","gcTime","select","result","useBridgeProtocolsQuery"],"mappings":";;;AAOA,MAAMA,wBAAwBA,CAACC,IAAAA,KAC7BA,IAAAA,CAAKC,MAAAA,CAA+B,CAACC,GAAAA,EAAK;AAAA,EAAEC,QAAAA;AAAAA,EAAU,GAAGC;AAAK,CAAA,KAAM;AAClE,EAAA,MAAMC,kBAAAA,GAAqBF,SAASG,WAAAA,EAAY;AAChDJ,EAAAA,GAAAA,CAAIG,kBAAkB,CAAA,GAAI;AAAA,IAAEF,QAAAA,EAAUE,kBAAAA;AAAAA,IAAoB,GAAGD;AAAAA,GAAK;AAClE,EAAA,OAAOF,GAAAA;AACT,CAAA,EAAG,EAAE,CAAA;AAEA,SAAAK,wBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACkCF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,KAAAA,EAC9B;AAAA,QAAAC,SAAAA,EACMC,QAAAA;AAAAA,QAAQC,MAAAA,EACXD,QAAAA;AAAAA,QAAQE,MAAAA,EACRlB;AAAAA;AACV,KACF;AAACS,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAAU,MAAAA,GAAeC,wBAAwBT,EAMtC,CAAA;AAAE,EAAA,OAEIQ,MAAAA;AAAM;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useClickOutside.js","sources":["../../src/hooks/useClickOutside.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from \"react\";\n\nexport function useClickOutside<T extends HTMLElement>(\n ref: React.RefObject<T | null>,\n callback: (event: PointerEvent) => void,\n) {\n // keep track of the latest callback\n // and don't include it in the effect deps\n const callbackRef = useRef(callback);\n useLayoutEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const listener = (event: PointerEvent) => {\n const element = event.target as Node | null;\n // element belongs to Document tree\n if (!element || !element.isConnected) return;\n if (!ref.current) return;\n\n if (ref.current.contains(element)) {\n return;\n }\n /**\n * edge case when a Dropdown is opened and click is performed outside of dropdown,\n * but inside the Widget container, still registers as a click outside the Widget because:\n * 1. Dropdown onOpen assigns document.style.pointerEvents = \"none\"\n * and events don't reach below <html> (this prevents detecting document.elementsFromPoint)\n * 2. Dropdown onOpen adds pointerdown listener to document, which triggers after pointerdown listener here,\n * so we can't use DropdownMenuContent.onPointerDownOutside to intercept first\n *\n * Manual check against BoundingClientRect to determine if click is inside the Widget works\n */\n\n const clickPoint = {\n // in viewport coordinates\n x: event.clientX,\n y: event.clientY,\n };\n\n // in viewport coordinates\n const dimensions = ref.current.getBoundingClientRect();\n const isClickInside =\n clickPoint.x >= dimensions.left &&\n clickPoint.x <= dimensions.right &&\n clickPoint.y >= dimensions.top &&\n clickPoint.y <= dimensions.bottom;\n\n if (isClickInside) {\n return;\n }\n\n callbackRef.current(event);\n };\n\n // pointerdown = mousedown + touchstart\n document.addEventListener(\"pointerdown\", listener);\n\n return () => {\n document.removeEventListener(\"pointerdown\", listener);\n };\n }, [ref]);\n}\n"],"names":["useClickOutside","ref","callback","$","_c","callbackRef","useRef","t0","t1","current","useLayoutEffect","t2","t3","listener","event","element","target","isConnected","contains","clickPoint","x","clientX","y","clientY","dimensions","getBoundingClientRect","isClickInside","left","right","top","bottom","document","addEventListener","removeEventListener","useEffect"],"mappings":";;;AAEO,SAAAA,eAAAA,CAAAC,KAAAC,QAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAML,EAAA,MAAAC,WAAAA,GAAoBC,OAAOJ,QAAQ,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAD,QAAAA,EAAA;AACrBK,IAAAA,EAAAA,GAAAA,MAAA;AACdF,MAAAA,WAAAA,CAAWI,OAAAA,GAAWP,QAAAA;AAAAA,IAAH,CAAA;AAClBM,IAAAA,EAAAA,GAAA,CAACN,QAAQ,CAAA;AAACC,IAAAA,CAAAA,MAAAD,QAAAA;AAAAC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAAK,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAFbO,EAAAA,eAAAA,CAAgBH,IAEbC,EAAU,CAAA;AAAC,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAF,GAAAA,EAAA;AAEJU,IAAAA,EAAAA,GAAAA,MAAA;AACR,MAAA,MAAAE,WAAiBC,CAAAA,KAAAA,KAAA;AACf,QAAA,MAAAC,UAAgBD,KAAAA,CAAKE,MAAAA;AAErB,QAAA,IAAI,CAACD,OAAAA,IAAD,CAAaA,OAAAA,CAAOE,WAAAA,EAAY;AAAA,UAAA;AAAA,QAAA;AACpC,QAAA,IAAI,CAAChB,IAAGQ,OAAAA,EAAQ;AAAA,UAAA;AAAA,QAAA;AAEhB,QAAA,IAAIR,GAAAA,CAAGQ,OAAAA,CAAQS,QAAAA,CAAUH,OAAO,CAAA,EAAC;AAAA,UAAA;AAAA,QAAA;AAcjC,QAAA,MAAAI,UAAAA,GAAmB;AAAA,UAAAC,GAEdN,KAAAA,CAAKO,OAAAA;AAAAA,UAAQC,GACbR,KAAAA,CAAKS;AAAAA,SACV;AAGA,QAAA,MAAAC,UAAAA,GAAmBvB,GAAAA,CAAGQ,OAAAA,CAAQgB,qBAAAA,EAAuB;AACrD,QAAA,MAAAC,aAAAA,GACEP,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUG,QAC1BR,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUI,KAAAA,IAC1BT,WAAUG,CAAAA,IAAME,UAAAA,CAAUK,GAAAA,IAC1BV,UAAAA,CAAUG,KAAME,UAAAA,CAAUM,MAAAA;AAE5B,QAAA,IAAIJ,aAAAA,EAAa;AAAA,UAAA;AAAA,QAAA;AAIjBrB,QAAAA,WAAAA,CAAWI,QAASK,KAAK,CAAA;AAAA,MAAC,CAAA;AAI5BiB,MAAAA,QAAAA,CAAQC,gBAAAA,CAAkB,eAAenB,QAAQ,CAAA;AAAC,MAAA,OAE3C,MAAA;AACLkB,QAAAA,QAAAA,CAAQE,mBAAAA,CAAqB,eAAepB,QAAQ,CAAA;AAAA,MAAC,CAAA;AAAA,IACtD,CAAA;AACAD,IAAAA,EAAAA,GAAA,CAACX,GAAG,CAAA;AAACE,IAAAA,CAAAA,MAAAF,GAAAA;AAAAE,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAAS,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAhDR+B,EAAAA,SAAAA,CAAUvB,IAgDPC,EAAK,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useClickOutside.js","sources":["../../src/hooks/useClickOutside.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from \"react\";\n\nexport function useClickOutside<T extends HTMLElement>(\n ref: React.RefObject<T | null>,\n callback: (event: PointerEvent) => void\n) {\n // keep track of the latest callback\n // and don't include it in the effect deps\n const callbackRef = useRef(callback);\n useLayoutEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const listener = (event: PointerEvent) => {\n const element = event.target as Node | null;\n // element belongs to Document tree\n if (!element || !element.isConnected) return;\n if (!ref.current) return;\n\n if (ref.current.contains(element)) {\n return;\n }\n /**\n * edge case when a Dropdown is opened and click is performed outside of dropdown,\n * but inside the Widget container, still registers as a click outside the Widget because:\n * 1. Dropdown onOpen assigns document.style.pointerEvents = \"none\"\n * and events don't reach below <html> (this prevents detecting document.elementsFromPoint)\n * 2. Dropdown onOpen adds pointerdown listener to document, which triggers after pointerdown listener here,\n * so we can't use DropdownMenuContent.onPointerDownOutside to intercept first\n *\n * Manual check against BoundingClientRect to determine if click is inside the Widget works\n */\n\n const clickPoint = {\n // in viewport coordinates\n x: event.clientX,\n y: event.clientY,\n };\n\n // in viewport coordinates\n const dimensions = ref.current.getBoundingClientRect();\n const isClickInside =\n clickPoint.x >= dimensions.left &&\n clickPoint.x <= dimensions.right &&\n clickPoint.y >= dimensions.top &&\n clickPoint.y <= dimensions.bottom;\n\n if (isClickInside) {\n return;\n }\n\n callbackRef.current(event);\n };\n\n // pointerdown = mousedown + touchstart\n document.addEventListener(\"pointerdown\", listener);\n\n return () => {\n document.removeEventListener(\"pointerdown\", listener);\n };\n }, [ref]);\n}\n"],"names":["useClickOutside","ref","callback","$","_c","callbackRef","useRef","t0","t1","current","useLayoutEffect","t2","t3","listener","event","element","target","isConnected","contains","clickPoint","x","clientX","y","clientY","dimensions","getBoundingClientRect","isClickInside","left","right","top","bottom","document","addEventListener","removeEventListener","useEffect"],"mappings":";;;AAEO,SAAAA,eAAAA,CAAAC,KAAAC,QAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAML,EAAA,MAAAC,WAAAA,GAAoBC,OAAOJ,QAAQ,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAD,QAAAA,EAAA;AACrBK,IAAAA,EAAAA,GAAAA,MAAA;AACdF,MAAAA,WAAAA,CAAWI,OAAAA,GAAWP,QAAAA;AAAAA,IAAH,CAAA;AAClBM,IAAAA,EAAAA,GAAA,CAACN,QAAQ,CAAA;AAACC,IAAAA,CAAAA,MAAAD,QAAAA;AAAAC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAAK,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAFbO,EAAAA,eAAAA,CAAgBH,IAEbC,EAAU,CAAA;AAAC,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAF,GAAAA,EAAA;AAEJU,IAAAA,EAAAA,GAAAA,MAAA;AACR,MAAA,MAAAE,WAAiBC,CAAAA,KAAAA,KAAA;AACf,QAAA,MAAAC,UAAgBD,KAAAA,CAAKE,MAAAA;AAErB,QAAA,IAAI,CAACD,OAAAA,IAAD,CAAaA,OAAAA,CAAOE,WAAAA,EAAY;AAAA,UAAA;AAAA,QAAA;AACpC,QAAA,IAAI,CAAChB,IAAGQ,OAAAA,EAAQ;AAAA,UAAA;AAAA,QAAA;AAEhB,QAAA,IAAIR,GAAAA,CAAGQ,OAAAA,CAAQS,QAAAA,CAAUH,OAAO,CAAA,EAAC;AAAA,UAAA;AAAA,QAAA;AAcjC,QAAA,MAAAI,UAAAA,GAAmB;AAAA,UAAAC,GAEdN,KAAAA,CAAKO,OAAAA;AAAAA,UAAQC,GACbR,KAAAA,CAAKS;AAAAA,SACV;AAGA,QAAA,MAAAC,UAAAA,GAAmBvB,GAAAA,CAAGQ,OAAAA,CAAQgB,qBAAAA,EAAuB;AACrD,QAAA,MAAAC,aAAAA,GACEP,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUG,QAC1BR,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUI,KAAAA,IAC1BT,WAAUG,CAAAA,IAAME,UAAAA,CAAUK,GAAAA,IAC1BV,UAAAA,CAAUG,KAAME,UAAAA,CAAUM,MAAAA;AAE5B,QAAA,IAAIJ,aAAAA,EAAa;AAAA,UAAA;AAAA,QAAA;AAIjBrB,QAAAA,WAAAA,CAAWI,QAASK,KAAK,CAAA;AAAA,MAAC,CAAA;AAI5BiB,MAAAA,QAAAA,CAAQC,gBAAAA,CAAkB,eAAenB,QAAQ,CAAA;AAAC,MAAA,OAE3C,MAAA;AACLkB,QAAAA,QAAAA,CAAQE,mBAAAA,CAAqB,eAAepB,QAAQ,CAAA;AAAA,MAAC,CAAA;AAAA,IACtD,CAAA;AACAD,IAAAA,EAAAA,GAAA,CAACX,GAAG,CAAA;AAACE,IAAAA,CAAAA,MAAAF,GAAAA;AAAAE,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAAS,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAhDR+B,EAAAA,SAAAA,CAAUvB,IAgDPC,EAAK,CAAA;AAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare const LOCAL_STORAGE_PREFIX = "velora_widget";
2
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/storage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ const LOCAL_STORAGE_PREFIX = "velora_widget";
2
+
3
+ export { LOCAL_STORAGE_PREFIX };
4
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sources":["../../../src/lib/constants/storage.ts"],"sourcesContent":["export const LOCAL_STORAGE_PREFIX = \"velora_widget\";\n"],"names":["LOCAL_STORAGE_PREFIX"],"mappings":"AAAO,MAAMA,oBAAAA,GAAuB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"weth.js","sources":["../../../src/lib/constants/weth.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\n\nimport { ReactComponent as WethSvg } from \"@/assets/weth.svg\";\nimport WethSvgStr from \"@/assets/weth.svg?url\";\nimport { ReactComponent as WmaticSvg } from \"@/assets/wmatic.svg\";\nimport WmaticSvgStr from \"@/assets/wmatic.svg?url\";\nimport { ReactComponent as WavaxSvg } from \"@/assets/wavax.svg\";\nimport WavaxSvgStr from \"@/assets/wavax.svg?url\";\nimport { ReactComponent as WbnbSvg } from \"@/assets/wbnb.svg\";\nimport WbnbSvgStr from \"@/assets/wbnb.svg?url\";\nimport { ReactComponent as WxdaiSvg } from \"@/assets/wxdai.svg\";\nimport WxdaiSvgStr from \"@/assets/wxdai.svg?url\";\nimport { ReactComponent as wSSvg } from \"@/assets/wS.svg\";\nimport wSSvgStr from \"@/assets/wS.svg?url\";\n\nexport const wrappedNativeCurrency: Record<SupportedChainId, Address> = {\n [mainnet.id]: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n [optimism.id]: \"0x4200000000000000000000000000000000000006\",\n [polygon.id]: \"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270\",\n [base.id]: \"0x4200000000000000000000000000000000000006\",\n [arbitrum.id]: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n [avalanche.id]: \"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7\",\n [gnosis.id]: \"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d\",\n [bsc.id]: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n [sonic.id]: \"0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38\",\n [unichain.id]: \"0x4200000000000000000000000000000000000006\"\n};\n\nexport const wrappedNativeCurrencyLogo: Record<\n SupportedChainId,\n {\n component: typeof WethSvg;\n string: string;\n }\n> = {\n [mainnet.id]: { component: WethSvg, string: WethSvgStr },\n [optimism.id]: { component: WethSvg, string: WethSvgStr },\n [polygon.id]: { component: WmaticSvg, string: WmaticSvgStr },\n [base.id]: { component: WethSvg, string: WethSvgStr },\n [arbitrum.id]: { component: WethSvg, string: WethSvgStr },\n [avalanche.id]: { component: WavaxSvg, string: WavaxSvgStr },\n [gnosis.id]: { component: WxdaiSvg, string: WxdaiSvgStr },\n [bsc.id]: { component: WbnbSvg, string: WbnbSvgStr },\n [sonic.id]: { component: wSSvg, string: wSSvgStr },\n [unichain.id]: { component: WethSvg, string: WethSvgStr },\n};\n"],"names":["wrappedNativeCurrency","mainnet","id","optimism","polygon","base","arbitrum","avalanche","gnosis","bsc","sonic","unichain","wrappedNativeCurrencyLogo","component","WethSvg","string","WethSvgStr","WmaticSvg","WmaticSvgStr","WavaxSvg","WavaxSvgStr","WxdaiSvg","WxdaiSvgStr","WbnbSvg","WbnbSvgStr","wSSvg","wSSvgStr"],"mappings":";;;;;;;;;;;;;;AA4BO,MAAMA,qBAAAA,GAA2D;AAAA,EACtE,CAACC,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,4CAAA;AAAA,EACf,CAACE,OAAAA,CAAQF,EAAE,GAAG,4CAAA;AAAA,EACd,CAACG,IAAAA,CAAKH,EAAE,GAAG,4CAAA;AAAA,EACX,CAACI,QAAAA,CAASJ,EAAE,GAAG,4CAAA;AAAA,EACf,CAACK,SAAAA,CAAUL,EAAE,GAAG,4CAAA;AAAA,EAChB,CAACM,MAAAA,CAAON,EAAE,GAAG,4CAAA;AAAA,EACb,CAACO,GAAAA,CAAIP,EAAE,GAAG,4CAAA;AAAA,EACV,CAACQ,KAAAA,CAAMR,EAAE,GAAG,4CAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,yBAAAA,GAMT;AAAA,EACF,CAACX,OAAAA,CAAQC,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACvD,CAACb,QAAAA,CAASD,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACZ,OAAAA,CAAQF,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWI,YAAAA;AAAAA,IAAWF,MAAAA,EAAQG;AAAAA,GAAa;AAAA,EAC3D,CAACb,IAAAA,CAAKH,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACpD,CAACV,QAAAA,CAASJ,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACT,SAAAA,CAAUL,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWM,YAAAA;AAAAA,IAAUJ,MAAAA,EAAQK;AAAAA,GAAY;AAAA,EAC3D,CAACZ,MAAAA,CAAON,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWQ,YAAAA;AAAAA,IAAUN,MAAAA,EAAQO;AAAAA,GAAY;AAAA,EACxD,CAACb,GAAAA,CAAIP,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWU,YAAAA;AAAAA,IAASR,MAAAA,EAAQS;AAAAA,GAAW;AAAA,EACnD,CAACd,KAAAA,CAAMR,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWY,YAAAA;AAAAA,IAAOV,MAAAA,EAAQW;AAAAA,GAAS;AAAA,EACjD,CAACf,QAAAA,CAAST,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA;AAC/C;;;;"}
1
+ {"version":3,"file":"weth.js","sources":["../../../src/lib/constants/weth.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\n\nimport { ReactComponent as WethSvg } from \"@/assets/weth.svg\";\nimport WethSvgStr from \"@/assets/weth.svg?url\";\nimport { ReactComponent as WmaticSvg } from \"@/assets/wmatic.svg\";\nimport WmaticSvgStr from \"@/assets/wmatic.svg?url\";\nimport { ReactComponent as WavaxSvg } from \"@/assets/wavax.svg\";\nimport WavaxSvgStr from \"@/assets/wavax.svg?url\";\nimport { ReactComponent as WbnbSvg } from \"@/assets/wbnb.svg\";\nimport WbnbSvgStr from \"@/assets/wbnb.svg?url\";\nimport { ReactComponent as WxdaiSvg } from \"@/assets/wxdai.svg\";\nimport WxdaiSvgStr from \"@/assets/wxdai.svg?url\";\nimport { ReactComponent as wSSvg } from \"@/assets/wS.svg\";\nimport wSSvgStr from \"@/assets/wS.svg?url\";\n\nexport const wrappedNativeCurrency: Record<SupportedChainId, Address> = {\n [mainnet.id]: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n [optimism.id]: \"0x4200000000000000000000000000000000000006\",\n [polygon.id]: \"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270\",\n [base.id]: \"0x4200000000000000000000000000000000000006\",\n [arbitrum.id]: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n [avalanche.id]: \"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7\",\n [gnosis.id]: \"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d\",\n [bsc.id]: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n [sonic.id]: \"0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38\",\n [unichain.id]: \"0x4200000000000000000000000000000000000006\",\n};\n\nexport const wrappedNativeCurrencyLogo: Record<\n SupportedChainId,\n {\n component: typeof WethSvg;\n string: string;\n }\n> = {\n [mainnet.id]: { component: WethSvg, string: WethSvgStr },\n [optimism.id]: { component: WethSvg, string: WethSvgStr },\n [polygon.id]: { component: WmaticSvg, string: WmaticSvgStr },\n [base.id]: { component: WethSvg, string: WethSvgStr },\n [arbitrum.id]: { component: WethSvg, string: WethSvgStr },\n [avalanche.id]: { component: WavaxSvg, string: WavaxSvgStr },\n [gnosis.id]: { component: WxdaiSvg, string: WxdaiSvgStr },\n [bsc.id]: { component: WbnbSvg, string: WbnbSvgStr },\n [sonic.id]: { component: wSSvg, string: wSSvgStr },\n [unichain.id]: { component: WethSvg, string: WethSvgStr },\n};\n"],"names":["wrappedNativeCurrency","mainnet","id","optimism","polygon","base","arbitrum","avalanche","gnosis","bsc","sonic","unichain","wrappedNativeCurrencyLogo","component","WethSvg","string","WethSvgStr","WmaticSvg","WmaticSvgStr","WavaxSvg","WavaxSvgStr","WxdaiSvg","WxdaiSvgStr","WbnbSvg","WbnbSvgStr","wSSvg","wSSvgStr"],"mappings":";;;;;;;;;;;;;;AA4BO,MAAMA,qBAAAA,GAA2D;AAAA,EACtE,CAACC,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,4CAAA;AAAA,EACf,CAACE,OAAAA,CAAQF,EAAE,GAAG,4CAAA;AAAA,EACd,CAACG,IAAAA,CAAKH,EAAE,GAAG,4CAAA;AAAA,EACX,CAACI,QAAAA,CAASJ,EAAE,GAAG,4CAAA;AAAA,EACf,CAACK,SAAAA,CAAUL,EAAE,GAAG,4CAAA;AAAA,EAChB,CAACM,MAAAA,CAAON,EAAE,GAAG,4CAAA;AAAA,EACb,CAACO,GAAAA,CAAIP,EAAE,GAAG,4CAAA;AAAA,EACV,CAACQ,KAAAA,CAAMR,EAAE,GAAG,4CAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,yBAAAA,GAMT;AAAA,EACF,CAACX,OAAAA,CAAQC,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACvD,CAACb,QAAAA,CAASD,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACZ,OAAAA,CAAQF,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWI,YAAAA;AAAAA,IAAWF,MAAAA,EAAQG;AAAAA,GAAa;AAAA,EAC3D,CAACb,IAAAA,CAAKH,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACpD,CAACV,QAAAA,CAASJ,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACT,SAAAA,CAAUL,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWM,YAAAA;AAAAA,IAAUJ,MAAAA,EAAQK;AAAAA,GAAY;AAAA,EAC3D,CAACZ,MAAAA,CAAON,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWQ,YAAAA;AAAAA,IAAUN,MAAAA,EAAQO;AAAAA,GAAY;AAAA,EACxD,CAACb,GAAAA,CAAIP,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWU,YAAAA;AAAAA,IAASR,MAAAA,EAAQS;AAAAA,GAAW;AAAA,EACnD,CAACd,KAAAA,CAAMR,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWY,YAAAA;AAAAA,IAAOV,MAAAA,EAAQW;AAAAA,GAAS;AAAA,EACjD,CAACf,QAAAA,CAAST,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA;AAC/C;;;;"}
@@ -1,8 +1,11 @@
1
- import { DeltaOrMarketPrice } from '../../hooks/swap/prices/types';
2
1
  import { default as Big } from 'big.js';
3
2
  export declare function calculatePriceImpactPercent(fromUSD: string, toUSD: string): Big;
4
- export declare function getPriceImpact(price: DeltaOrMarketPrice): {
3
+ export declare function getPriceImpact({ srcUSD, destUSD, }: {
4
+ srcUSD: string | null;
5
+ destUSD: string | null;
6
+ }): {
5
7
  priceImpact: number;
6
8
  isHighImpact: boolean;
7
9
  };
10
+ export declare function formatPriceImpactPercent(priceImpact: number): `${string}%`;
8
11
  //# sourceMappingURL=priceImpact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/priceImpact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,GAAG,MAAM,QAAQ,CAAC;AAEzB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,GAAG,CAUL;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB,CAsBA"}
1
+ {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/priceImpact.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AAEzB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,GAAG,CAUL;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,GAAG;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB,CAkBA;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAE1E"}
@@ -1,4 +1,3 @@
1
- import { isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
2
1
  import Big from 'big.js';
3
2
 
4
3
  function calculatePriceImpactPercent(fromUSD, toUSD) {
@@ -10,9 +9,10 @@ function calculatePriceImpactPercent(fromUSD, toUSD) {
10
9
  const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);
11
10
  return Big(Math.min(calculatedImpact.toNumber(), 100));
12
11
  }
13
- function getPriceImpact(price) {
14
- const srcUSD = price.srcUSD;
15
- const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;
12
+ function getPriceImpact({
13
+ srcUSD,
14
+ destUSD
15
+ }) {
16
16
  const impact = (
17
17
  // can't calc priceImpact without knowing USD prices of tokens
18
18
  srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null
@@ -29,6 +29,9 @@ function getPriceImpact(price) {
29
29
  isHighImpact: impactAbsoluteValue.gt(5)
30
30
  };
31
31
  }
32
+ function formatPriceImpactPercent(priceImpact) {
33
+ return `${priceImpact.toFixed(2)}%`;
34
+ }
32
35
 
33
- export { calculatePriceImpactPercent, getPriceImpact };
36
+ export { calculatePriceImpactPercent, formatPriceImpactPercent, getPriceImpact };
34
37
  //# sourceMappingURL=priceImpact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.js","sources":["../../../src/lib/utils/priceImpact.ts"],"sourcesContent":["import { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\n\nexport function calculatePriceImpactPercent(\n fromUSD: string,\n toUSD: string\n): Big {\n if (fromUSD === \"0\" || toUSD === \"0\") {\n return new Big(0);\n }\n\n const toBN = Big(toUSD);\n if (toBN.gte(fromUSD)) return Big(0);\n const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);\n\n return Big(Math.min(calculatedImpact.toNumber(), 100));\n}\n\nexport function getPriceImpact(price: DeltaOrMarketPrice): {\n priceImpact: number;\n isHighImpact: boolean;\n} {\n const srcUSD = price.srcUSD;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n\n const impact =\n // can't calc priceImpact without knowing USD prices of tokens\n srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null;\n\n if (impact === null) {\n return {\n priceImpact: 0,\n isHighImpact: false,\n };\n }\n\n const impactAbsoluteValue = impact.abs();\n\n return {\n priceImpact: impactAbsoluteValue.toNumber(),\n isHighImpact: impactAbsoluteValue.gt(5),\n };\n}\n"],"names":["calculatePriceImpactPercent","fromUSD","toUSD","Big","toBN","gte","calculatedImpact","minus","div","times","Math","min","toNumber","getPriceImpact","price","srcUSD","destUSD","isDeltaPrice","receivedDestUSD","impact","priceImpact","isHighImpact","impactAbsoluteValue","abs","gt"],"mappings":";;;AAIO,SAASA,2BAAAA,CACdC,SACAC,KAAAA,EACK;AACL,EAAA,IAAID,OAAAA,KAAY,GAAA,IAAOC,KAAAA,KAAU,GAAA,EAAK;AACpC,IAAA,OAAO,IAAIC,IAAI,CAAC,CAAA;AAAA,EAClB;AAEA,EAAA,MAAMC,IAAAA,GAAOD,IAAID,KAAK,CAAA;AACtB,EAAA,IAAIE,KAAKC,GAAAA,CAAIJ,OAAO,CAAA,EAAG,OAAOE,IAAI,CAAC,CAAA;AACnC,EAAA,MAAMG,gBAAAA,GAAmBH,GAAAA,CAAI,CAAC,CAAA,CAAEI,KAAAA,CAAMH,IAAAA,CAAKI,GAAAA,CAAIP,OAAO,CAAC,CAAA,CAAEQ,KAAAA,CAAM,GAAG,CAAA;AAElE,EAAA,OAAON,IAAIO,IAAAA,CAAKC,GAAAA,CAAIL,iBAAiBM,QAAAA,EAAS,EAAG,GAAG,CAAC,CAAA;AACvD;AAEO,SAASC,eAAeC,KAAAA,EAG7B;AACA,EAAA,MAAMC,SAASD,KAAAA,CAAMC,MAAAA;AAErB,EAAA,MAAMC,UAAUC,YAAAA,CAAaH,KAAK,CAAA,GAAIA,KAAAA,CAAMI,kBAAkBJ,KAAAA,CAAME,OAAAA;AAEpE,EAAA,MAAMG,MAAAA;AAAAA;AAAAA,IAEJJ,MAAAA,IAAUC,OAAAA,GAAUhB,2BAAAA,CAA4Be,MAAAA,EAAQC,OAAO,CAAA,GAAI;AAAA,GAAA;AAErE,EAAA,IAAIG,WAAW,IAAA,EAAM;AACnB,IAAA,OAAO;AAAA,MACLC,WAAAA,EAAa,CAAA;AAAA,MACbC,YAAAA,EAAc;AAAA,KAChB;AAAA,EACF;AAEA,EAAA,MAAMC,mBAAAA,GAAsBH,OAAOI,GAAAA,EAAI;AAEvC,EAAA,OAAO;AAAA,IACLH,WAAAA,EAAaE,oBAAoBV,QAAAA,EAAS;AAAA,IAC1CS,YAAAA,EAAcC,mBAAAA,CAAoBE,EAAAA,CAAG,CAAC;AAAA,GACxC;AACF;;;;"}
1
+ {"version":3,"file":"priceImpact.js","sources":["../../../src/lib/utils/priceImpact.ts"],"sourcesContent":["import Big from \"big.js\";\n\nexport function calculatePriceImpactPercent(\n fromUSD: string,\n toUSD: string\n): Big {\n if (fromUSD === \"0\" || toUSD === \"0\") {\n return new Big(0);\n }\n\n const toBN = Big(toUSD);\n if (toBN.gte(fromUSD)) return Big(0);\n const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);\n\n return Big(Math.min(calculatedImpact.toNumber(), 100));\n}\n\nexport function getPriceImpact({\n srcUSD,\n destUSD,\n}: {\n srcUSD: string | null;\n destUSD: string | null;\n}): {\n priceImpact: number;\n isHighImpact: boolean;\n} {\n const impact =\n // can't calc priceImpact without knowing USD prices of tokens\n srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null;\n\n if (impact === null) {\n return {\n priceImpact: 0,\n isHighImpact: false,\n };\n }\n\n const impactAbsoluteValue = impact.abs();\n\n return {\n priceImpact: impactAbsoluteValue.toNumber(),\n isHighImpact: impactAbsoluteValue.gt(5),\n };\n}\n\nexport function formatPriceImpactPercent(priceImpact: number): `${string}%` {\n return `${priceImpact.toFixed(2)}%`;\n}\n"],"names":["calculatePriceImpactPercent","fromUSD","toUSD","Big","toBN","gte","calculatedImpact","minus","div","times","Math","min","toNumber","getPriceImpact","srcUSD","destUSD","impact","priceImpact","isHighImpact","impactAbsoluteValue","abs","gt","formatPriceImpactPercent","toFixed"],"mappings":";;AAEO,SAASA,2BAAAA,CACdC,SACAC,KAAAA,EACK;AACL,EAAA,IAAID,OAAAA,KAAY,GAAA,IAAOC,KAAAA,KAAU,GAAA,EAAK;AACpC,IAAA,OAAO,IAAIC,IAAI,CAAC,CAAA;AAAA,EAClB;AAEA,EAAA,MAAMC,IAAAA,GAAOD,IAAID,KAAK,CAAA;AACtB,EAAA,IAAIE,KAAKC,GAAAA,CAAIJ,OAAO,CAAA,EAAG,OAAOE,IAAI,CAAC,CAAA;AACnC,EAAA,MAAMG,gBAAAA,GAAmBH,GAAAA,CAAI,CAAC,CAAA,CAAEI,KAAAA,CAAMH,IAAAA,CAAKI,GAAAA,CAAIP,OAAO,CAAC,CAAA,CAAEQ,KAAAA,CAAM,GAAG,CAAA;AAElE,EAAA,OAAON,IAAIO,IAAAA,CAAKC,GAAAA,CAAIL,iBAAiBM,QAAAA,EAAS,EAAG,GAAG,CAAC,CAAA;AACvD;AAEO,SAASC,cAAAA,CAAe;AAAA,EAC7BC,MAAAA;AAAAA,EACAC;AAIF,CAAA,EAGE;AACA,EAAA,MAAMC,MAAAA;AAAAA;AAAAA,IAEJF,MAAAA,IAAUC,OAAAA,GAAUf,2BAAAA,CAA4Bc,MAAAA,EAAQC,OAAO,CAAA,GAAI;AAAA,GAAA;AAErE,EAAA,IAAIC,WAAW,IAAA,EAAM;AACnB,IAAA,OAAO;AAAA,MACLC,WAAAA,EAAa,CAAA;AAAA,MACbC,YAAAA,EAAc;AAAA,KAChB;AAAA,EACF;AAEA,EAAA,MAAMC,mBAAAA,GAAsBH,OAAOI,GAAAA,EAAI;AAEvC,EAAA,OAAO;AAAA,IACLH,WAAAA,EAAaE,oBAAoBP,QAAAA,EAAS;AAAA,IAC1CM,YAAAA,EAAcC,mBAAAA,CAAoBE,EAAAA,CAAG,CAAC;AAAA,GACxC;AACF;AAEO,SAASC,yBAAyBL,WAAAA,EAAmC;AAC1E,EAAA,OAAO,CAAA,EAAGA,WAAAA,CAAYM,OAAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAClC;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { NonEmptyArray } from 'ts-essentials';
2
2
  export declare const isFilledArray: <T>(array: T[]) => array is NonEmptyArray<T>;
3
3
  export declare function assertFilledArray<T>(array: T[]): asserts array is NonEmptyArray<T>;
4
+ export declare function nonEmptyArrayOrUndefined<T>(arr?: T[]): NonEmptyArray<T> | undefined;
4
5
  export declare function isTupleOfLength<T, N extends number>(array: T[], len: N): array is TupleOfLength<T, N>;
5
6
  export declare function isTupleAtLeastLength<T, N extends number>(array: T[], len: N): array is TupleOfLengthAtLeast<T, N>;
6
7
  export type TupleOfLength<T, N extends number> = number extends N ? never : _TupleOf<T, N, []>;
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAErE,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,GACT,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAEnC;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACjD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAErC;AAGD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GAC7D,KAAK,GACL,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC3E,CAAC,GACD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GACpE,KAAK,GACL,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9B,KAAK,eAAe,CAClB,CAAC,EACD,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EAAE,IACjB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAErE,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,GACT,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAEnC;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,GAAG,CAAC,EAAE,CAAC,EAAE,GACR,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAG9B;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACjD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAErC;AAGD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GAC7D,KAAK,GACL,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC3E,CAAC,GACD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GACpE,KAAK,GACL,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9B,KAAK,eAAe,CAClB,CAAC,EACD,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EAAE,IACjB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC"}
@@ -3,9 +3,13 @@ import 'ts-essentials';
3
3
  const isFilledArray = (array) => {
4
4
  return array.length > 0;
5
5
  };
6
+ function nonEmptyArrayOrUndefined(arr) {
7
+ if (!arr) return;
8
+ return isFilledArray(arr) ? arr : void 0;
9
+ }
6
10
  function isTupleAtLeastLength(array, len) {
7
11
  return array.length >= len;
8
12
  }
9
13
 
10
- export { isFilledArray, isTupleAtLeastLength };
14
+ export { isFilledArray, isTupleAtLeastLength, nonEmptyArrayOrUndefined };
11
15
  //# sourceMappingURL=tuple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.js","sources":["../../../src/lib/utils/tuple.ts"],"sourcesContent":["import { assert, type NonEmptyArray } from \"ts-essentials\";\n\n// checks that array has at least one element\nexport const isFilledArray = <T>(array: T[]): array is NonEmptyArray<T> => {\n return array.length > 0;\n};\n\nexport function assertFilledArray<T>(\n array: T[]\n): asserts array is NonEmptyArray<T> {\n assert(isFilledArray(array), \"array must not be empty\");\n}\n\nexport function isTupleOfLength<T, N extends number>(\n array: T[],\n len: N\n): array is TupleOfLength<T, N> {\n return array.length === len;\n}\n\nexport function isTupleAtLeastLength<T, N extends number>(\n array: T[],\n len: N\n): array is TupleOfLengthAtLeast<T, N> {\n return array.length >= len;\n}\n\n// based on https://stackoverflow.com/a/52490977/7316062\nexport type TupleOfLength<T, N extends number> = number extends N\n ? never\n : _TupleOf<T, N, []>;\ntype _TupleOf<T, N extends number, R extends unknown[]> = R[\"length\"] extends N\n ? R\n : _TupleOf<T, N, [T, ...R]>;\n\nexport type TupleOfLengthAtLeast<T, N extends number> = number extends N\n ? never\n : _TupleOfAtLeast<T, N, []>;\ntype _TupleOfAtLeast<\n T,\n N extends number,\n R extends unknown[],\n> = R[\"length\"] extends N ? [...R, ...T[]] : _TupleOfAtLeast<T, N, [T, ...R]>;\n"],"names":["isFilledArray","array","length","isTupleAtLeastLength","len"],"mappings":";;AAGO,MAAMA,aAAAA,GAAgB,CAAIC,KAAAA,KAA0C;AACzE,EAAA,OAAOA,MAAMC,MAAAA,GAAS,CAAA;AACxB;AAeO,SAASC,oBAAAA,CACdF,OACAG,GAAAA,EACqC;AACrC,EAAA,OAAOH,MAAMC,MAAAA,IAAUE,GAAAA;AACzB;;;;"}
1
+ {"version":3,"file":"tuple.js","sources":["../../../src/lib/utils/tuple.ts"],"sourcesContent":["import { assert, type NonEmptyArray } from \"ts-essentials\";\n\n// checks that array has at least one element\nexport const isFilledArray = <T>(array: T[]): array is NonEmptyArray<T> => {\n return array.length > 0;\n};\n\nexport function assertFilledArray<T>(\n array: T[]\n): asserts array is NonEmptyArray<T> {\n assert(isFilledArray(array), \"array must not be empty\");\n}\n\nexport function nonEmptyArrayOrUndefined<T>(\n arr?: T[]\n): NonEmptyArray<T> | undefined {\n if (!arr) return;\n return isFilledArray(arr) ? arr : undefined;\n}\n\nexport function isTupleOfLength<T, N extends number>(\n array: T[],\n len: N\n): array is TupleOfLength<T, N> {\n return array.length === len;\n}\n\nexport function isTupleAtLeastLength<T, N extends number>(\n array: T[],\n len: N\n): array is TupleOfLengthAtLeast<T, N> {\n return array.length >= len;\n}\n\n// based on https://stackoverflow.com/a/52490977/7316062\nexport type TupleOfLength<T, N extends number> = number extends N\n ? never\n : _TupleOf<T, N, []>;\ntype _TupleOf<T, N extends number, R extends unknown[]> = R[\"length\"] extends N\n ? R\n : _TupleOf<T, N, [T, ...R]>;\n\nexport type TupleOfLengthAtLeast<T, N extends number> = number extends N\n ? never\n : _TupleOfAtLeast<T, N, []>;\ntype _TupleOfAtLeast<\n T,\n N extends number,\n R extends unknown[],\n> = R[\"length\"] extends N ? [...R, ...T[]] : _TupleOfAtLeast<T, N, [T, ...R]>;\n"],"names":["isFilledArray","array","length","nonEmptyArrayOrUndefined","arr","undefined","isTupleAtLeastLength","len"],"mappings":";;AAGO,MAAMA,aAAAA,GAAgB,CAAIC,KAAAA,KAA0C;AACzE,EAAA,OAAOA,MAAMC,MAAAA,GAAS,CAAA;AACxB;AAQO,SAASC,yBACdC,GAAAA,EAC8B;AAC9B,EAAA,IAAI,CAACA,GAAAA,EAAK;AACV,EAAA,OAAOJ,aAAAA,CAAcI,GAAG,CAAA,GAAIA,GAAAA,GAAMC,MAAAA;AACpC;AASO,SAASC,oBAAAA,CACdL,OACAM,GAAAA,EACqC;AACrC,EAAA,OAAON,MAAMC,MAAAA,IAAUK,GAAAA;AACzB;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
31
+ walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -6,7 +6,7 @@ import { isInIframe } from './isInsideSafeIframe.js';
6
6
 
7
7
  const connectors = [
8
8
  walletConnect({
9
- projectId: "7535ce67d223b89670980f2442899904"
9
+ projectId: "9796e40630a6bea7605ac281b0deb939"
10
10
  }),
11
11
  injected(),
12
12
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
package/dist/styles.css CHANGED
@@ -70,7 +70,7 @@
70
70
  }
71
71
  }
72
72
  }
73
- .velora-widget {
73
+ :root, :host {
74
74
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
75
75
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
76
76
  --color-red-800: oklch(44.4% .177 26.899);
@@ -113,6 +113,7 @@
113
113
  --font-geist: var(--font-geist);
114
114
  --font-geist-mono: var(--font-geist-mono);
115
115
  --font-inter: var(--font-inter);
116
+ --shadow-card-1: var(--shadow-card-1);
116
117
  }
117
118
  .velora-widget.velora-widget {
118
119
  -webkit-text-size-adjust: 100%;
@@ -611,6 +612,10 @@
611
612
  width: calc(var(--spacing) * 5);
612
613
  height: calc(var(--spacing) * 5);
613
614
  }
615
+ .velora-widget.velora-widget .size-5\.5 {
616
+ width: calc(var(--spacing) * 5.5);
617
+ height: calc(var(--spacing) * 5.5);
618
+ }
614
619
  .velora-widget.velora-widget .size-6 {
615
620
  width: calc(var(--spacing) * 6);
616
621
  height: calc(var(--spacing) * 6);
@@ -738,12 +743,18 @@
738
743
  .velora-widget.velora-widget .h-\[72px\] {
739
744
  height: 72px;
740
745
  }
746
+ .velora-widget.velora-widget .h-\[100px\] {
747
+ height: 100px;
748
+ }
741
749
  .velora-widget.velora-widget .h-\[116px\] {
742
750
  height: 116px;
743
751
  }
744
752
  .velora-widget.velora-widget .h-\[168px\] {
745
753
  height: 168px;
746
754
  }
755
+ .velora-widget.velora-widget .h-\[406px\] {
756
+ height: 406px;
757
+ }
747
758
  .velora-widget.velora-widget .h-\[420px\] {
748
759
  height: 420px;
749
760
  }
@@ -765,6 +776,9 @@
765
776
  .velora-widget.velora-widget .h-full {
766
777
  height: 100%;
767
778
  }
779
+ .velora-widget.velora-widget .h-min {
780
+ height: min-content;
781
+ }
768
782
  .velora-widget.velora-widget .h-px {
769
783
  height: 1px;
770
784
  }
@@ -780,6 +794,9 @@
780
794
  .velora-widget.velora-widget .max-h-\[80vh\] {
781
795
  max-height: 80vh;
782
796
  }
797
+ .velora-widget.velora-widget .min-h-\[20px\] {
798
+ min-height: 20px;
799
+ }
783
800
  .velora-widget.velora-widget .min-h-\[28px\] {
784
801
  min-height: 28px;
785
802
  }
@@ -792,6 +809,9 @@
792
809
  .velora-widget.velora-widget .min-h-\[400px\] {
793
810
  min-height: 400px;
794
811
  }
812
+ .velora-widget.velora-widget .min-h-\[571px\] {
813
+ min-height: 571px;
814
+ }
795
815
  .velora-widget.velora-widget .min-h-\[620px\] {
796
816
  min-height: 620px;
797
817
  }
@@ -900,6 +920,9 @@
900
920
  .velora-widget.velora-widget .min-w-0 {
901
921
  min-width: calc(var(--spacing) * 0);
902
922
  }
923
+ .velora-widget.velora-widget .min-w-6 {
924
+ min-width: calc(var(--spacing) * 6);
925
+ }
903
926
  .velora-widget.velora-widget .min-w-\[8rem\] {
904
927
  min-width: 8rem;
905
928
  }
@@ -1020,6 +1043,9 @@
1020
1043
  .velora-widget.velora-widget .flex-wrap {
1021
1044
  flex-wrap: wrap;
1022
1045
  }
1046
+ .velora-widget.velora-widget .items-baseline-last {
1047
+ align-items: last baseline;
1048
+ }
1023
1049
  .velora-widget.velora-widget .items-center {
1024
1050
  align-items: center;
1025
1051
  }
@@ -1062,6 +1088,9 @@
1062
1088
  .velora-widget.velora-widget .gap-3 {
1063
1089
  gap: calc(var(--spacing) * 3);
1064
1090
  }
1091
+ .velora-widget.velora-widget .gap-3\.5 {
1092
+ gap: calc(var(--spacing) * 3.5);
1093
+ }
1065
1094
  .velora-widget.velora-widget .gap-4 {
1066
1095
  gap: calc(var(--spacing) * 4);
1067
1096
  }
@@ -1086,6 +1115,9 @@
1086
1115
  .velora-widget.velora-widget .gap-\[6px\] {
1087
1116
  gap: 6px;
1088
1117
  }
1118
+ .velora-widget.velora-widget .gap-\[7px\] {
1119
+ gap: 7px;
1120
+ }
1089
1121
  .velora-widget.velora-widget .gap-\[8px\] {
1090
1122
  gap: 8px;
1091
1123
  }
@@ -1162,6 +1194,9 @@
1162
1194
  .velora-widget.velora-widget .rounded-\[17px\] {
1163
1195
  border-radius: 17px;
1164
1196
  }
1197
+ .velora-widget.velora-widget .rounded-\[40px\] {
1198
+ border-radius: 40px;
1199
+ }
1165
1200
  .velora-widget.velora-widget .rounded-\[43px\] {
1166
1201
  border-radius: 43px;
1167
1202
  }
@@ -1269,12 +1304,18 @@
1269
1304
  .velora-widget.velora-widget .bg-\[\#0000000D\] {
1270
1305
  background-color: #0000000d;
1271
1306
  }
1307
+ .velora-widget.velora-widget .bg-\[\#34CA9A1A\] {
1308
+ background-color: #34ca9a1a;
1309
+ }
1272
1310
  .velora-widget.velora-widget .bg-\[\#00976733\] {
1273
1311
  background-color: #00976733;
1274
1312
  }
1275
1313
  .velora-widget.velora-widget .bg-\[\#B7BECB\] {
1276
1314
  background-color: #b7becb;
1277
1315
  }
1316
+ .velora-widget.velora-widget .bg-\[\#F75C2A26\] {
1317
+ background-color: #f75c2a26;
1318
+ }
1278
1319
  .velora-widget.velora-widget .bg-\[\#FF3B301A\] {
1279
1320
  background-color: #ff3b301a;
1280
1321
  }
@@ -1666,6 +1707,10 @@
1666
1707
  .velora-widget.velora-widget .text-\[24px\] {
1667
1708
  font-size: 24px;
1668
1709
  }
1710
+ .velora-widget.velora-widget .leading-5 {
1711
+ --tw-leading: calc(var(--spacing) * 5);
1712
+ line-height: calc(var(--spacing) * 5);
1713
+ }
1669
1714
  .velora-widget.velora-widget .leading-none {
1670
1715
  --tw-leading: 1;
1671
1716
  line-height: 1;
@@ -1766,12 +1811,18 @@
1766
1811
  .velora-widget.velora-widget .text-primary-foreground {
1767
1812
  color: var(--primary-foreground);
1768
1813
  }
1814
+ .velora-widget.velora-widget .text-primary-papaya-1 {
1815
+ color: var(--primary-papaya-1);
1816
+ }
1769
1817
  .velora-widget.velora-widget .text-secondary-foreground {
1770
1818
  color: var(--secondary-foreground);
1771
1819
  }
1772
1820
  .velora-widget.velora-widget .text-secondary-iris-blue-1 {
1773
1821
  color: var(--secondary-iris_blue-1);
1774
1822
  }
1823
+ .velora-widget.velora-widget .text-secondary-light-slate-3 {
1824
+ color: var(--secondary-light_slate-3);
1825
+ }
1775
1826
  .velora-widget.velora-widget .text-secondary-orange-peel-1 {
1776
1827
  color: var(--secondary-orange_peel-1);
1777
1828
  }
@@ -1836,8 +1887,8 @@
1836
1887
  --tw-shadow: 0px 2px 6px 0px var(--tw-shadow-color, #2738720d);
1837
1888
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1838
1889
  }
1839
- .velora-widget.velora-widget .shadow-\[0px_4px_16px_rgba\(9\,22\,46\,0\.05\)\] {
1840
- --tw-shadow: 0px 4px 16px var(--tw-shadow-color, #09162e0d);
1890
+ .velora-widget.velora-widget .shadow-card-1 {
1891
+ --tw-shadow: var(--shadow-card-1);
1841
1892
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1842
1893
  }
1843
1894
  .velora-widget.velora-widget .shadow-lg {
@@ -1892,6 +1943,9 @@
1892
1943
  outline-style: var(--tw-outline-style);
1893
1944
  outline-width: 1px;
1894
1945
  }
1946
+ .velora-widget.velora-widget .outline-contrast-6 {
1947
+ outline-color: var(--contrast-6);
1948
+ }
1895
1949
  .velora-widget.velora-widget .outline-contrast-7 {
1896
1950
  outline-color: var(--contrast-7);
1897
1951
  }
@@ -3005,6 +3059,7 @@
3005
3059
  --secondary-shamrock_green-1: #009767;
3006
3060
  --secondary-shamrock_green-2: #34ca9a;
3007
3061
  --secondary-shamrock_green-3: #bbffea;
3062
+ --shadow-card-1: 0px 4px 16px #09162e0d;
3008
3063
  }
3009
3064
  .velora-widget.dark {
3010
3065
  --background: oklch(14.5% 0 0);