@velora-dex/widget 0.2.0 → 0.2.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.
- package/README.md +3 -3
- package/dist/assets/price-impact.svg.js +12 -0
- package/dist/assets/price-impact.svg.js.map +1 -0
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/web3/AccountButton.d.ts.map +1 -1
- package/dist/components/web3/AccountButton.js +24 -27
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +103 -133
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +39 -33
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +3 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +70 -64
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +3 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +39 -21
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Drawer/index.d.ts.map +1 -1
- package/dist/components/widget/Drawer/index.js +119 -54
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -0
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js +4 -4
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +21 -18
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/types.d.ts +1 -0
- package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
- package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js +33 -39
- package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +6 -2
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +117 -109
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SelectToken/types.d.ts +3 -1
- package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +102 -141
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.d.ts.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.js +48 -26
- package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
- package/dist/core/Toaster.js +1 -1
- package/dist/core/Toaster.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -50
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +98 -90
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +2 -2
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -14
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/types.d.ts +15 -0
- package/dist/core/inputs/state/types.d.ts.map +1 -0
- package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +5 -1
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.d.ts +7 -0
- package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +167 -23
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js +3 -1
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js +42 -16
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +3 -1
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +4 -2
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +4 -2
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +55 -41
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/swapDetails/fees.d.ts.map +1 -1
- package/dist/core/swapDetails/fees.js +4 -2
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/orderRouting.d.ts.map +1 -1
- package/dist/core/swapDetails/orderRouting.js +7 -3
- package/dist/core/swapDetails/orderRouting.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts +3 -1
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +6 -2
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +155 -42
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.d.ts.map +1 -1
- package/dist/core/swapDetails/youGet.js +5 -2
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/types.d.ts +4 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/getters/limit.d.ts.map +1 -1
- package/dist/events/getters/limit.js +3 -2
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.d.ts.map +1 -1
- package/dist/events/getters/otc.js +3 -2
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/swap.d.ts.map +1 -1
- package/dist/events/getters/swap.js +3 -2
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +2 -0
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/common.d.ts +3 -2
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/connectWallet.d.ts +2 -0
- package/dist/events/types/connectWallet.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +5 -2
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +4 -4
- package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js +2 -2
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts +2 -2
- package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js +2 -2
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.d.ts +5 -5
- package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +2 -2
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +15 -1
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts +7 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +81 -67
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/utils/tradeFlow.d.ts +3 -0
- package/dist/lib/utils/tradeFlow.d.ts.map +1 -0
- package/dist/lib/utils/tradeFlow.js +12 -0
- package/dist/lib/utils/tradeFlow.js.map +1 -0
- package/dist/lib/utils/useDateNow.d.ts +2 -0
- package/dist/lib/utils/useDateNow.d.ts.map +1 -0
- package/dist/lib/utils/useDateNow.js +7 -0
- package/dist/lib/utils/useDateNow.js.map +1 -0
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +20 -17
- package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js +6 -23
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/package.json +8 -7
- package/dist/components/widget/TokenInput/EmptyInput.js +0 -58
- package/dist/components/widget/TokenInput/EmptyInput.js.map +0 -1
package/dist/styles.css
CHANGED
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
:root, :host {
|
|
71
71
|
--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
72
72
|
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
73
73
|
--color-red-800: oklch(44.4% .177 26.899);
|
|
@@ -349,6 +349,9 @@
|
|
|
349
349
|
.velora-widget.velora-widget .relative {
|
|
350
350
|
position: relative;
|
|
351
351
|
}
|
|
352
|
+
.velora-widget.velora-widget .sticky {
|
|
353
|
+
position: sticky;
|
|
354
|
+
}
|
|
352
355
|
.velora-widget.velora-widget .inset-0 {
|
|
353
356
|
inset: calc(var(--spacing) * 0);
|
|
354
357
|
}
|
|
@@ -415,6 +418,9 @@
|
|
|
415
418
|
.velora-widget.velora-widget .z-10 {
|
|
416
419
|
z-index: 10;
|
|
417
420
|
}
|
|
421
|
+
.velora-widget.velora-widget .z-11 {
|
|
422
|
+
z-index: 11;
|
|
423
|
+
}
|
|
418
424
|
.velora-widget.velora-widget .z-50 {
|
|
419
425
|
z-index: 50;
|
|
420
426
|
}
|
|
@@ -461,6 +467,9 @@
|
|
|
461
467
|
.velora-widget.velora-widget .m-0 {
|
|
462
468
|
margin: calc(var(--spacing) * 0);
|
|
463
469
|
}
|
|
470
|
+
.velora-widget.velora-widget .m-\[-8px\] {
|
|
471
|
+
margin: -8px;
|
|
472
|
+
}
|
|
464
473
|
.velora-widget.velora-widget .m-auto {
|
|
465
474
|
margin: auto;
|
|
466
475
|
}
|
|
@@ -926,10 +935,6 @@
|
|
|
926
935
|
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
927
936
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
928
937
|
}
|
|
929
|
-
.velora-widget.velora-widget .translate-y-0\.5 {
|
|
930
|
-
--tw-translate-y: calc(var(--spacing) * .5);
|
|
931
|
-
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
932
|
-
}
|
|
933
938
|
.velora-widget.velora-widget .translate-y-\[-50\%\] {
|
|
934
939
|
--tw-translate-y: -50%;
|
|
935
940
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
@@ -1509,9 +1514,6 @@
|
|
|
1509
1514
|
.velora-widget.velora-widget .pt-\[24px\] {
|
|
1510
1515
|
padding-top: 24px;
|
|
1511
1516
|
}
|
|
1512
|
-
.velora-widget.velora-widget .pt-\[185px\] {
|
|
1513
|
-
padding-top: 185px;
|
|
1514
|
-
}
|
|
1515
1517
|
.velora-widget.velora-widget .pr-0\.5 {
|
|
1516
1518
|
padding-right: calc(var(--spacing) * .5);
|
|
1517
1519
|
}
|
|
@@ -1776,6 +1778,9 @@
|
|
|
1776
1778
|
.velora-widget.velora-widget .underline {
|
|
1777
1779
|
text-decoration-line: underline;
|
|
1778
1780
|
}
|
|
1781
|
+
.velora-widget.velora-widget .underline-offset-2 {
|
|
1782
|
+
text-underline-offset: 2px;
|
|
1783
|
+
}
|
|
1779
1784
|
.velora-widget.velora-widget .underline-offset-4 {
|
|
1780
1785
|
text-underline-offset: 4px;
|
|
1781
1786
|
}
|
|
@@ -1924,6 +1929,10 @@
|
|
|
1924
1929
|
--tw-duration: .3s;
|
|
1925
1930
|
transition-duration: .3s;
|
|
1926
1931
|
}
|
|
1932
|
+
.velora-widget.velora-widget .duration-500 {
|
|
1933
|
+
--tw-duration: .5s;
|
|
1934
|
+
transition-duration: .5s;
|
|
1935
|
+
}
|
|
1927
1936
|
.velora-widget.velora-widget .ease-in-out {
|
|
1928
1937
|
--tw-ease: var(--ease-in-out);
|
|
1929
1938
|
transition-timing-function: var(--ease-in-out);
|
|
@@ -2213,9 +2222,6 @@
|
|
|
2213
2222
|
.velora-widget.velora-widget .disabled\:pointer-events-none:disabled {
|
|
2214
2223
|
pointer-events: none;
|
|
2215
2224
|
}
|
|
2216
|
-
.velora-widget.velora-widget .disabled\:cursor-default:disabled {
|
|
2217
|
-
cursor: default;
|
|
2218
|
-
}
|
|
2219
2225
|
.velora-widget.velora-widget .disabled\:cursor-not-allowed:disabled {
|
|
2220
2226
|
cursor: not-allowed;
|
|
2221
2227
|
}
|
|
@@ -2228,9 +2234,6 @@
|
|
|
2228
2234
|
.velora-widget.velora-widget .disabled\:opacity-50:disabled {
|
|
2229
2235
|
opacity: .5;
|
|
2230
2236
|
}
|
|
2231
|
-
.velora-widget.velora-widget .disabled\:opacity-100:disabled {
|
|
2232
|
-
opacity: 1;
|
|
2233
|
-
}
|
|
2234
2237
|
.velora-widget.velora-widget .disabled\:shadow-none:disabled {
|
|
2235
2238
|
--tw-shadow: 0 0 #0000;
|
|
2236
2239
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -2536,9 +2539,6 @@
|
|
|
2536
2539
|
.velora-widget.velora-widget .dark\:bg-\[\#0000000D\]:is(.velora-widget.dark *) {
|
|
2537
2540
|
background-color: #0000000d;
|
|
2538
2541
|
}
|
|
2539
|
-
.velora-widget.velora-widget .dark\:bg-\[\#151724\]:is(.velora-widget.dark *) {
|
|
2540
|
-
background-color: #151724;
|
|
2541
|
-
}
|
|
2542
2542
|
.velora-widget.velora-widget .dark\:bg-contrast-1:is(.velora-widget.dark *) {
|
|
2543
2543
|
background-color: var(--contrast-1);
|
|
2544
2544
|
}
|
|
@@ -2788,6 +2788,9 @@
|
|
|
2788
2788
|
:is(.velora-widget.velora-widget .data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant="destructive"] > *):is(svg) {
|
|
2789
2789
|
color: var(--destructive) !important;
|
|
2790
2790
|
}
|
|
2791
|
+
.velora-widget.velora-widget .\[\&\>\*\]\:pointer-events-auto > * {
|
|
2792
|
+
pointer-events: auto;
|
|
2793
|
+
}
|
|
2791
2794
|
.velora-widget.velora-widget .\[\&\>svg\]\:pointer-events-none > svg {
|
|
2792
2795
|
pointer-events: none;
|
|
2793
2796
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addImportedTokenAtom.d.ts","sourceRoot":"","sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"addImportedTokenAtom.d.ts","sourceRoot":"","sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAKpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,KAAK,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,eAAe,KAAK,IAAI,CAAC;AAEtE,eAAO,MAAM,oBAAoB;cASjB,eAAe;kBACX,sBAAsB,CAAC,iBAAiB,CAAC;;;CAuC5D,CAAC;AAKF,eAAO,MAAM,wBAAwB;aAKR,OAAO;aAAW,gBAAgB;;;CA8B9D,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { atom } from 'jotai';
|
|
2
2
|
import { importedTokensAtom, autoImportedTokensAtom } from './importedTokensAtom.js';
|
|
3
|
-
import { pickDefaultTokenPair } from '../defaultTokens.js';
|
|
4
|
-
import { swapTokenToAtom, swapTokenFromAtom } from '../../core/inputs/state/selectedTokenAtom.js';
|
|
5
|
-
import { selectSwapTokenToAtom, selectSwapTokenFromAtom } from '../../core/inputs/state/selectedTokenActionsAtom.js';
|
|
6
3
|
import { fetchUnknownTokenData } from '../../hooks/tokens/data/useMultichainTokensData.js';
|
|
7
4
|
import { constructToken } from '@velora-dex/sdk';
|
|
5
|
+
import { tradeModeAtom } from '../../core/state/tradeModeAtom.js';
|
|
6
|
+
import { tradeModeToSetTokenAtoms } from '../../core/inputs/state/common.js';
|
|
8
7
|
|
|
9
8
|
const addImportedTokenAtom = atom(null, (get, set, {
|
|
10
9
|
newToken,
|
|
@@ -27,26 +26,10 @@ const addImportedTokenAtom = atom(null, (get, set, {
|
|
|
27
26
|
[chainId]: [...tokensForChain, tokenToAdd]
|
|
28
27
|
});
|
|
29
28
|
if (!afterAction) return tokenToAdd;
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
tokenToAdd.network,
|
|
35
|
-
"swap"
|
|
36
|
-
// "swap" is alright as long as we set token into Swap TokenInput
|
|
37
|
-
);
|
|
38
|
-
const oppositeDefaultToken = afterAction === "set-token-from" ? defaultTokenTo : defaultTokenFrom;
|
|
39
|
-
if (afterAction === "set-token-from") {
|
|
40
|
-
set(selectSwapTokenToAtom, oppositeDefaultToken);
|
|
41
|
-
} else {
|
|
42
|
-
set(selectSwapTokenFromAtom, oppositeDefaultToken);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (afterAction === "set-token-from") {
|
|
46
|
-
set(selectSwapTokenFromAtom, tokenToAdd);
|
|
47
|
-
} else if (afterAction === "set-token-to") {
|
|
48
|
-
set(selectSwapTokenToAtom, tokenToAdd);
|
|
49
|
-
}
|
|
29
|
+
const tradeMode = get(tradeModeAtom);
|
|
30
|
+
const tokensToSet = tradeModeToSetTokenAtoms[tradeMode];
|
|
31
|
+
const tokenAtomToSet = tokensToSet[afterAction === "set-token-from" ? "tokenFromAtom" : "tokenToAtom"];
|
|
32
|
+
set(tokenAtomToSet, tokenToAdd);
|
|
50
33
|
return tokenToAdd;
|
|
51
34
|
});
|
|
52
35
|
const autoAddImportedTokenAtom = atom([], async (get, set, minTokenData) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addImportedTokenAtom.js","sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { ImportedToken, Token } from \"./types\";\nimport type { ImportTokenDrawerProps } from \"@/components/widget/ImportToken/types\";\
|
|
1
|
+
{"version":3,"file":"addImportedTokenAtom.js","sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { ImportedToken, Token } from \"./types\";\nimport type { ImportTokenDrawerProps } from \"@/components/widget/ImportToken/types\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"./importedTokensAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport { fetchUnknownTokenData } from \"@/hooks/tokens/data/useMultichainTokensData\";\nimport { constructToken } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { tradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport { tradeModeToSetTokenAtoms } from \"@/core/inputs/state/common\";\n\ntype TokenWithSymbol = MarkRequired<Token, \"symbol\">;\nexport type OnImportAction = (tokenImported: TokenWithSymbol) => void;\n\nexport const addImportedTokenAtom = atom(\n null,\n (\n get,\n set,\n {\n newToken,\n afterAction,\n }: {\n newToken: TokenWithSymbol;\n afterAction?: ImportTokenDrawerProps[\"onConfirmAction\"];\n }\n ) => {\n const chainId = newToken.network;\n const currentTokens = get(importedTokensAtom);\n const tokensForChain = currentTokens[chainId] ?? [];\n // Avoid duplicates by address\n const newTokenAddressLower = newToken.address.toLowerCase();\n const alreadyExists = tokensForChain.some(\n (t) => t.address.toLowerCase() === newTokenAddressLower\n );\n if (alreadyExists) return;\n\n const tokenToAdd: ImportedToken = {\n // get rid of extra props attached for display purposes (usdBalance, fetchedOnChain)\n ...pickOnlyTokenProps(newToken),\n imported: true,\n symbol: newToken.symbol,\n };\n\n set(importedTokensAtom, {\n ...currentTokens,\n [chainId]: [...tokensForChain, tokenToAdd],\n });\n\n if (!afterAction) return tokenToAdd;\n\n const tradeMode = get(tradeModeAtom);\n const tokensToSet = tradeModeToSetTokenAtoms[tradeMode];\n const tokenAtomToSet =\n tokensToSet[\n afterAction === \"set-token-from\" ? \"tokenFromAtom\" : \"tokenToAtom\"\n ];\n // atom setter inside takes care of disallowed pair choices,\n // like invalid crosschain match\n set(tokenAtomToSet, tokenToAdd);\n\n return tokenToAdd;\n }\n);\n\n// fetches Token data onchain internally,\n// adds it to addImportedTokenAtom.\n// then adds it to autoImportedTokensAtom.\nexport const autoAddImportedTokenAtom = atom(\n [],\n async (\n get,\n set,\n minTokenData: { address: Address; chainId: SupportedChainId }\n ) => {\n const fetchedToken = await fetchUnknownTokenData(minTokenData);\n\n if (fetchedToken) {\n const constructedToken = constructToken(fetchedToken);\n const importedToken = set(addImportedTokenAtom, {\n newToken: {\n ...constructedToken,\n symbol: fetchedToken.symbol,\n network: minTokenData.chainId,\n },\n });\n\n if (importedToken) {\n const currentAutoImportedTokens = get(autoImportedTokensAtom);\n const alreadyExists = currentAutoImportedTokens.some(\n (t) =>\n t.address.toLowerCase() === importedToken.address.toLowerCase() &&\n t.network === importedToken.network\n );\n if (alreadyExists) return;\n\n set(autoImportedTokensAtom, [\n ...currentAutoImportedTokens,\n importedToken,\n ]);\n }\n }\n }\n);\n\nfunction pickOnlyTokenProps(token: Token): Token {\n return {\n address: token.address,\n decimals: token.decimals,\n symbol: token.symbol,\n tokenType: token.tokenType,\n mainConnector: token.mainConnector,\n connectors: token.connectors,\n network: token.network,\n img: token.img,\n allowance: token.allowance,\n balance: token.balance,\n imported: token.imported,\n name: token.name,\n fromList: token.fromList,\n fromListURL: token.fromListURL,\n };\n}\n"],"names":["addImportedTokenAtom","atom","get","set","newToken","afterAction","chainId","network","currentTokens","importedTokensAtom","tokensForChain","newTokenAddressLower","address","toLowerCase","alreadyExists","some","t","tokenToAdd","pickOnlyTokenProps","imported","symbol","tradeMode","tradeModeAtom","tokensToSet","tradeModeToSetTokenAtoms","tokenAtomToSet","autoAddImportedTokenAtom","minTokenData","fetchedToken","fetchUnknownTokenData","constructedToken","constructToken","importedToken","currentAutoImportedTokens","autoImportedTokensAtom","token","decimals","tokenType","mainConnector","connectors","img","allowance","balance","name","fromList","fromListURL"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velora-dex/widget",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"@eslint/js": "^9.32.0",
|
|
34
34
|
"@tailwindcss/vite": "^4.1.11",
|
|
35
35
|
"@tanstack/eslint-plugin-query": "^5.83.1",
|
|
36
|
+
"@tanstack/react-query": "^5.90.12",
|
|
37
|
+
"@tanstack/react-query-devtools": "^5.91.1",
|
|
36
38
|
"@types/big.js": "^6.2.2",
|
|
37
39
|
"@types/node": "^20.19.9",
|
|
38
40
|
"@types/react": "^19.1.9",
|
|
@@ -70,8 +72,6 @@
|
|
|
70
72
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
71
73
|
"@radix-ui/react-tooltip": "^1.2.7",
|
|
72
74
|
"@tanstack/react-pacer": "^0.14.0",
|
|
73
|
-
"@tanstack/react-query": "^5.84.1",
|
|
74
|
-
"@tanstack/react-query-devtools": "^5.84.1",
|
|
75
75
|
"@tanstack/react-virtual": "^3.13.12",
|
|
76
76
|
"@uniswap/token-lists": "1.0.0-beta.34",
|
|
77
77
|
"@velora-dex/sdk": "9.2.0",
|
|
@@ -83,9 +83,9 @@
|
|
|
83
83
|
"copy-to-clipboard": "^3.3.3",
|
|
84
84
|
"dayjs": "^1.11.18",
|
|
85
85
|
"immer": "^10.1.1",
|
|
86
|
-
"jotai": "
|
|
86
|
+
"jotai": "2.15.0",
|
|
87
87
|
"jotai-devtools": "^0.13.0",
|
|
88
|
-
"jotai-effect": "
|
|
88
|
+
"jotai-effect": "2.1.6",
|
|
89
89
|
"jotai-immer": "^0.4.1",
|
|
90
90
|
"jotai-tanstack-query": "^0.11.0",
|
|
91
91
|
"lucide-react": "^0.536.0",
|
|
@@ -100,7 +100,8 @@
|
|
|
100
100
|
"wagmi": "^2.16.1"
|
|
101
101
|
},
|
|
102
102
|
"peerDependencies": {
|
|
103
|
-
"react": "^
|
|
104
|
-
"react
|
|
103
|
+
"@tanstack/react-query": "^5.90.0",
|
|
104
|
+
"react": "18.x || 19.x",
|
|
105
|
+
"react-dom": "18.x || 19.x"
|
|
105
106
|
}
|
|
106
107
|
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { d as distExports } from '../../../_virtual/index.js';
|
|
3
|
-
import { EmptySelectTokenButton } from '../SelectToken/SelectTokenButton.js';
|
|
4
|
-
import { cn } from '../../../lib/utils/index.js';
|
|
5
|
-
|
|
6
|
-
const EmptyInput = (t0) => {
|
|
7
|
-
const $ = distExports.c(11);
|
|
8
|
-
const {
|
|
9
|
-
tokenType,
|
|
10
|
-
drawerContainer,
|
|
11
|
-
onTokenSelect,
|
|
12
|
-
classes,
|
|
13
|
-
disabled
|
|
14
|
-
} = t0;
|
|
15
|
-
const t1 = classes?.root;
|
|
16
|
-
let t2;
|
|
17
|
-
if ($[0] !== t1) {
|
|
18
|
-
t2 = cn("flex items-center gap-2 justify-between p-4 border-1 rounded-[12px] border-transparent focus-within:border-primary-azul-1 bg-contrast-8 dark:bg-contrast-2", t1);
|
|
19
|
-
$[0] = t1;
|
|
20
|
-
$[1] = t2;
|
|
21
|
-
} else {
|
|
22
|
-
t2 = $[1];
|
|
23
|
-
}
|
|
24
|
-
let t3;
|
|
25
|
-
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
26
|
-
t3 = /* @__PURE__ */ jsx("div", { className: "text-contrast-3 dark:text-contrast-6 text-sm", children: "Receive" });
|
|
27
|
-
$[2] = t3;
|
|
28
|
-
} else {
|
|
29
|
-
t3 = $[2];
|
|
30
|
-
}
|
|
31
|
-
let t4;
|
|
32
|
-
if ($[3] !== disabled || $[4] !== drawerContainer || $[5] !== onTokenSelect || $[6] !== tokenType) {
|
|
33
|
-
t4 = /* @__PURE__ */ jsx(EmptySelectTokenButton, { tokenType, drawerContainer, onTokenSelect, disabled });
|
|
34
|
-
$[3] = disabled;
|
|
35
|
-
$[4] = drawerContainer;
|
|
36
|
-
$[5] = onTokenSelect;
|
|
37
|
-
$[6] = tokenType;
|
|
38
|
-
$[7] = t4;
|
|
39
|
-
} else {
|
|
40
|
-
t4 = $[7];
|
|
41
|
-
}
|
|
42
|
-
let t5;
|
|
43
|
-
if ($[8] !== t2 || $[9] !== t4) {
|
|
44
|
-
t5 = /* @__PURE__ */ jsxs("div", { className: t2, children: [
|
|
45
|
-
t3,
|
|
46
|
-
t4
|
|
47
|
-
] });
|
|
48
|
-
$[8] = t2;
|
|
49
|
-
$[9] = t4;
|
|
50
|
-
$[10] = t5;
|
|
51
|
-
} else {
|
|
52
|
-
t5 = $[10];
|
|
53
|
-
}
|
|
54
|
-
return t5;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export { EmptyInput };
|
|
58
|
-
//# sourceMappingURL=EmptyInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyInput.js","sources":["../../../../src/components/widget/TokenInput/EmptyInput.tsx"],"sourcesContent":["import { EmptySelectTokenButton } from \"@/components/widget/SelectToken/SelectTokenButton\";\nimport type { TokenInputProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\n\nexport const EmptyInput: React.FC<\n Pick<\n TokenInputProps,\n \"tokenType\" | \"drawerContainer\" | \"onTokenSelect\" | \"classes\" | \"disabled\"\n >\n> = ({ tokenType, drawerContainer, onTokenSelect, classes, disabled }) => {\n return (\n <div\n className={cn(\n \"flex items-center gap-2 justify-between p-4 border-1 rounded-[12px] border-transparent focus-within:border-primary-azul-1 bg-contrast-8 dark:bg-contrast-2\",\n classes?.root\n )}\n >\n <div className=\"text-contrast-3 dark:text-contrast-6 text-sm\">\n Receive\n </div>\n <EmptySelectTokenButton\n tokenType={tokenType}\n drawerContainer={drawerContainer}\n onTokenSelect={onTokenSelect}\n disabled={disabled}\n />\n </div>\n );\n};\n"],"names":["EmptyInput","t0","$","_c","tokenType","drawerContainer","onTokenSelect","classes","disabled","t1","root","t2","cn","t3","Symbol","for","t4","t5"],"mappings":";;;;;AAIO,MAAMA,aAKTC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC,eAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAP,EAAAA;AAKG,EAAA,MAAAQ,KAAAF,OAAAA,EAAOG,IAAAA;AAAM,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAO,EAAAA,EAAA;AAFJE,IAAAA,EAAAA,GAAAC,EAAAA,CACT,8JACAH,EACF,CAAA;AAACP,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAY,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEDF,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,8CAAA,EAA+C,QAAA,EAAA,SAAA,EAE9D,CAAA;AAAMX,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAM,QAAAA,IAAAN,EAAA,CAAA,CAAA,KAAAG,eAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAI,aAAAA,IAAAJ,CAAAA,QAAAE,SAAAA,EAAA;AACNY,IAAAA,EAAAA,mBAAA,GAAA,CAAC,sBAAA,EAAA,EACYZ,SAAAA,EACMC,eAAAA,EACFC,eACLE,QAAAA,EAAQ,CAAA;AAClBN,IAAAA,CAAAA,MAAAM,QAAAA;AAAAN,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAI,aAAAA;AAAAJ,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAf,EAAA,CAAA,CAAA,KAAAS,MAAAT,CAAAA,QAAAc,EAAAA,EAAA;AAdJC,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EACa,SAAA,EAAAN,EAAAA,EAKXE,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAGAG;AAAAA,KAAAA,EAMF,CAAA;AAAMd,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAc,EAAAA;AAAAd,IAAAA,CAAAA,OAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAfNe,EAAAA;AAeM;;;;"}
|