@velora-dex/widget 0.2.5-dev.6 → 0.2.5-dev.7
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/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +43 -42
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.d.ts +2 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js +30 -32
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +1 -3
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +114 -97
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +3 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +17 -14
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -2
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +16 -17
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js +76 -73
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +3 -0
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/types.d.ts +2 -1
- package/dist/components/widget/ReceiverAddress/types.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js +9 -8
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.d.ts.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.js +7 -31
- package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +5 -0
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts +3 -2
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +3 -3
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
- package/dist/configurator/components/common/ButtonGroup.d.ts +12 -0
- package/dist/configurator/components/common/ButtonGroup.d.ts.map +1 -0
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +49 -23
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +22 -1
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/across/isCrosshcainPossible.d.ts +10 -0
- package/dist/core/across/isCrosshcainPossible.d.ts.map +1 -0
- package/dist/core/across/isCrosshcainPossible.js +41 -0
- package/dist/core/across/isCrosshcainPossible.js.map +1 -0
- package/dist/core/across/utils.d.ts +7 -3
- package/dist/core/across/utils.d.ts.map +1 -1
- package/dist/core/across/utils.js +10 -7
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +56 -33
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +72 -17
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +76 -66
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +15 -3
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +51 -12
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +33 -44
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +85 -21
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/types.d.ts +9 -1
- package/dist/core/inputs/state/types.d.ts.map +1 -1
- package/dist/core/limit/state/deadlineAtom.d.ts +10 -2
- package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js +15 -8
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/isCrosschainAtom.d.ts +3 -0
- package/dist/core/limit/state/isCrosschainAtom.d.ts.map +1 -0
- package/dist/core/limit/state/isCrosschainAtom.js +13 -0
- package/dist/core/limit/state/isCrosschainAtom.js.map +1 -0
- package/dist/core/limit/state/limitInputActionsAtom.d.ts +4 -1
- package/dist/core/limit/state/limitInputActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/limitInputActionsAtom.js +6 -2
- package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/limitTokenAtoms.d.ts +10 -0
- package/dist/core/limit/state/limitTokenAtoms.d.ts.map +1 -0
- package/dist/core/limit/state/limitTokenAtoms.js +17 -0
- package/dist/core/limit/state/limitTokenAtoms.js.map +1 -0
- package/dist/core/limit/state/receiverAddressAtom.d.ts +7 -0
- package/dist/core/limit/state/receiverAddressAtom.d.ts.map +1 -0
- package/dist/core/limit/state/receiverAddressAtom.js +40 -0
- package/dist/core/limit/state/receiverAddressAtom.js.map +1 -0
- package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js +94 -18
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.d.ts +0 -9
- package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +53 -21
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.d.ts +9 -1
- package/dist/core/limit/state/utils.d.ts.map +1 -1
- package/dist/core/limit/state/utils.js +44 -2
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts +9 -0
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +145 -8
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +132 -72
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.d.ts +8 -3
- package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js +16 -10
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.d.ts +4 -1
- package/dist/core/otc/state/otcInputActionsAtom.d.ts.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.js +6 -2
- package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.d.ts +2 -0
- package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/core/screen/hooks/useOnClickOutside.js +30 -0
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -0
- package/dist/core/screen/screenByType.d.ts +1 -3
- package/dist/core/screen/screenByType.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.d.ts +2 -0
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.js +37 -7
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.d.ts +0 -3
- package/dist/core/state/configEffectAtom.d.ts.map +1 -1
- package/dist/core/state/configEffectAtom.js +49 -37
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.d.ts +3 -0
- package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.d.ts +8 -0
- package/dist/core/state/getSelectableDestChains.d.ts.map +1 -0
- package/dist/core/state/getSelectableDestChains.js +34 -0
- package/dist/core/state/getSelectableDestChains.js.map +1 -0
- package/dist/events/getters/limit.d.ts.map +1 -1
- package/dist/events/getters/limit.js +5 -2
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js +37 -25
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/types/formInput.d.ts +1 -1
- package/dist/events/types/formInput.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +2 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +24 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +6 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +9 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +4 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +12 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +19 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +4 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +81 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +8 -12
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +54 -21
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +3 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js +25 -22
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts +3 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js +36 -25
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.d.ts +7 -2
- package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
- package/dist/hooks/useAvailableCrosses.js +39 -25
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBridgeInfo.d.ts +4 -1
- package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/useBridgeInfo.js +26 -11
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useClickOutside.d.ts +1 -1
- package/dist/hooks/useClickOutside.d.ts.map +1 -1
- package/dist/hooks/useClickOutside.js +27 -13
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts +3 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js +33 -22
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts +5 -1
- package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
- package/dist/hooks/useSelectableDestChains.js +42 -36
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/styles.css +3 -0
- package/package.json +2 -2
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts +0 -15
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +0 -92
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +0 -1
|
@@ -6,7 +6,7 @@ import { TokenSearch } from './TokenSearch.js';
|
|
|
6
6
|
import { useDeferredInputState } from '../../../../hooks/useDebouncedInputState.js';
|
|
7
7
|
import { useState, useEffect } from 'react';
|
|
8
8
|
import { useChainId } from 'wagmi';
|
|
9
|
-
import { useSwapChainTo } from '../../../../core/state/chainToAtom.js';
|
|
9
|
+
import { useSwapChainTo, useLimitChainTo } from '../../../../core/state/chainToAtom.js';
|
|
10
10
|
import { TokenCloud } from './TokenListBody/TokenCloud/index.js';
|
|
11
11
|
import { useTradeMode } from '../../../../core/state/tradeModeAtom.js';
|
|
12
12
|
import { assertProp } from '../../../../lib/utils/index.js';
|
|
@@ -241,7 +241,7 @@ const SelectTokenFromContent = (t0) => {
|
|
|
241
241
|
return t12;
|
|
242
242
|
};
|
|
243
243
|
const SelectTokenToContent = (t0) => {
|
|
244
|
-
const $ = distExports.c(
|
|
244
|
+
const $ = distExports.c(44);
|
|
245
245
|
const {
|
|
246
246
|
onClose,
|
|
247
247
|
onSelect: _onSelect,
|
|
@@ -250,32 +250,48 @@ const SelectTokenToContent = (t0) => {
|
|
|
250
250
|
} = t0;
|
|
251
251
|
const tradeMode = useTradeMode();
|
|
252
252
|
const isSwap = tradeMode === "swap";
|
|
253
|
+
const isLimit = tradeMode === "limit";
|
|
253
254
|
const isOTC = tradeMode === "otc";
|
|
255
|
+
const acrossMode = isLimit ? "limit" : "swap";
|
|
256
|
+
const modeSupportsCrosschain = isSwap || isLimit;
|
|
254
257
|
const includeNativeTokenInList = !isOTC;
|
|
255
258
|
const appChainId = useChainId();
|
|
256
259
|
const swapChainTo = useSwapChainTo();
|
|
257
|
-
const
|
|
260
|
+
const limitChainTo = useLimitChainTo();
|
|
261
|
+
const initialChainId = isSwap ? swapChainTo ?? appChainId : isLimit ? limitChainTo ?? appChainId : appChainId;
|
|
258
262
|
const [selectedChainId, setSelectedChainId] = useState(initialChainId);
|
|
259
|
-
|
|
263
|
+
let t1;
|
|
264
|
+
if ($[0] !== acrossMode || $[1] !== appChainId) {
|
|
265
|
+
t1 = {
|
|
266
|
+
fromChainId: appChainId,
|
|
267
|
+
mode: acrossMode
|
|
268
|
+
};
|
|
269
|
+
$[0] = acrossMode;
|
|
270
|
+
$[1] = appChainId;
|
|
271
|
+
$[2] = t1;
|
|
272
|
+
} else {
|
|
273
|
+
t1 = $[2];
|
|
274
|
+
}
|
|
275
|
+
const enabledDestChains = useSelectableDestChains(t1).selectableChains;
|
|
260
276
|
const selectableChains = _selectableChains ?? enabledDestChains;
|
|
261
277
|
const isChainSelectable = (chainId) => selectableChains?.includes(chainId) ?? false;
|
|
262
|
-
let
|
|
263
|
-
if ($[
|
|
264
|
-
|
|
265
|
-
$[
|
|
266
|
-
$[
|
|
267
|
-
$[
|
|
268
|
-
$[
|
|
269
|
-
$[
|
|
278
|
+
let t2;
|
|
279
|
+
if ($[3] !== appChainId || $[4] !== isChainSelectable || $[5] !== selectableChains || $[6] !== selectedChainId) {
|
|
280
|
+
t2 = isChainSelectable(selectedChainId) ? selectedChainId : isChainSelectable(appChainId) ? appChainId : selectableChains[0];
|
|
281
|
+
$[3] = appChainId;
|
|
282
|
+
$[4] = isChainSelectable;
|
|
283
|
+
$[5] = selectableChains;
|
|
284
|
+
$[6] = selectedChainId;
|
|
285
|
+
$[7] = t2;
|
|
270
286
|
} else {
|
|
271
|
-
|
|
287
|
+
t2 = $[7];
|
|
272
288
|
}
|
|
273
|
-
const chainToSet =
|
|
289
|
+
const chainToSet = t2;
|
|
274
290
|
const shouldSetChainId = chainToSet !== selectedChainId;
|
|
275
|
-
let t2;
|
|
276
291
|
let t3;
|
|
277
|
-
|
|
278
|
-
|
|
292
|
+
let t4;
|
|
293
|
+
if ($[8] !== chainToSet || $[9] !== onClose || $[10] !== shouldSetChainId) {
|
|
294
|
+
t3 = () => {
|
|
279
295
|
if (!shouldSetChainId) {
|
|
280
296
|
return;
|
|
281
297
|
}
|
|
@@ -285,40 +301,40 @@ const SelectTokenToContent = (t0) => {
|
|
|
285
301
|
onClose?.();
|
|
286
302
|
}
|
|
287
303
|
};
|
|
288
|
-
|
|
289
|
-
$[
|
|
290
|
-
$[
|
|
291
|
-
$[
|
|
292
|
-
$[
|
|
293
|
-
$[
|
|
304
|
+
t4 = [chainToSet, onClose, shouldSetChainId];
|
|
305
|
+
$[8] = chainToSet;
|
|
306
|
+
$[9] = onClose;
|
|
307
|
+
$[10] = shouldSetChainId;
|
|
308
|
+
$[11] = t3;
|
|
309
|
+
$[12] = t4;
|
|
294
310
|
} else {
|
|
295
|
-
|
|
296
|
-
|
|
311
|
+
t3 = $[11];
|
|
312
|
+
t4 = $[12];
|
|
297
313
|
}
|
|
298
|
-
useEffect(
|
|
314
|
+
useEffect(t3, t4);
|
|
299
315
|
const {
|
|
300
316
|
effectiveInputValue,
|
|
301
317
|
inputValue,
|
|
302
318
|
handleInputValueChange,
|
|
303
319
|
clearInputValue
|
|
304
320
|
} = useDeferredInputState();
|
|
305
|
-
let
|
|
306
|
-
if ($[
|
|
307
|
-
|
|
321
|
+
let t5;
|
|
322
|
+
if ($[13] !== _onSelect || $[14] !== onClose) {
|
|
323
|
+
t5 = (token) => {
|
|
308
324
|
onClose?.();
|
|
309
325
|
_onSelect?.(token);
|
|
310
326
|
};
|
|
311
|
-
$[
|
|
312
|
-
$[
|
|
313
|
-
$[
|
|
327
|
+
$[13] = _onSelect;
|
|
328
|
+
$[14] = onClose;
|
|
329
|
+
$[15] = t5;
|
|
314
330
|
} else {
|
|
315
|
-
|
|
331
|
+
t5 = $[15];
|
|
316
332
|
}
|
|
317
|
-
const onSelect =
|
|
333
|
+
const onSelect = t5;
|
|
318
334
|
const isCrossChain = selectedChainId !== appChainId;
|
|
319
|
-
let
|
|
320
|
-
if ($[
|
|
321
|
-
|
|
335
|
+
let t6;
|
|
336
|
+
if ($[16] !== onSelect || $[17] !== onSelectImportToken) {
|
|
337
|
+
t6 = (token_0) => {
|
|
322
338
|
if (token_0.fetchedOnChain) {
|
|
323
339
|
assertProp(token_0, "symbol");
|
|
324
340
|
onSelectImportToken({
|
|
@@ -329,89 +345,90 @@ const SelectTokenToContent = (t0) => {
|
|
|
329
345
|
onSelect(token_0);
|
|
330
346
|
}
|
|
331
347
|
};
|
|
332
|
-
$[
|
|
333
|
-
$[
|
|
334
|
-
$[
|
|
348
|
+
$[16] = onSelect;
|
|
349
|
+
$[17] = onSelectImportToken;
|
|
350
|
+
$[18] = t6;
|
|
335
351
|
} else {
|
|
336
|
-
|
|
352
|
+
t6 = $[18];
|
|
337
353
|
}
|
|
338
|
-
const onSelectToken =
|
|
339
|
-
const chainSwitchingDisabled = !
|
|
340
|
-
let
|
|
341
|
-
if ($[
|
|
342
|
-
|
|
343
|
-
$[
|
|
354
|
+
const onSelectToken = t6;
|
|
355
|
+
const chainSwitchingDisabled = !modeSupportsCrosschain || selectableChains.length <= 1;
|
|
356
|
+
let t7;
|
|
357
|
+
if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
|
|
358
|
+
t7 = (chainId_0) => chainId_0 !== "all" && setSelectedChainId(chainId_0);
|
|
359
|
+
$[19] = t7;
|
|
344
360
|
} else {
|
|
345
|
-
|
|
361
|
+
t7 = $[19];
|
|
346
362
|
}
|
|
347
|
-
let
|
|
348
|
-
if ($[
|
|
349
|
-
|
|
363
|
+
let t8;
|
|
364
|
+
if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
|
|
365
|
+
t8 = {
|
|
350
366
|
align: "end"
|
|
351
367
|
};
|
|
352
|
-
$[
|
|
368
|
+
$[20] = t8;
|
|
353
369
|
} else {
|
|
354
|
-
|
|
370
|
+
t8 = $[20];
|
|
355
371
|
}
|
|
356
|
-
let
|
|
357
|
-
if ($[
|
|
358
|
-
|
|
372
|
+
let t9;
|
|
373
|
+
if ($[21] !== chainSwitchingDisabled || $[22] !== selectableChains || $[23] !== selectedChainId) {
|
|
374
|
+
t9 = {
|
|
359
375
|
selectedNetwork: selectedChainId,
|
|
360
|
-
onSelect:
|
|
376
|
+
onSelect: t7,
|
|
361
377
|
networks: selectableChains,
|
|
362
378
|
disabled: chainSwitchingDisabled,
|
|
363
|
-
dropdownProps:
|
|
379
|
+
dropdownProps: t8
|
|
364
380
|
};
|
|
365
|
-
$[
|
|
366
|
-
$[
|
|
367
|
-
$[
|
|
368
|
-
$[
|
|
381
|
+
$[21] = chainSwitchingDisabled;
|
|
382
|
+
$[22] = selectableChains;
|
|
383
|
+
$[23] = selectedChainId;
|
|
384
|
+
$[24] = t9;
|
|
369
385
|
} else {
|
|
370
|
-
|
|
386
|
+
t9 = $[24];
|
|
371
387
|
}
|
|
372
|
-
let
|
|
373
|
-
if ($[
|
|
374
|
-
|
|
375
|
-
$[
|
|
376
|
-
$[
|
|
377
|
-
$[
|
|
378
|
-
$[
|
|
379
|
-
$[
|
|
388
|
+
let t10;
|
|
389
|
+
if ($[25] !== clearInputValue || $[26] !== handleInputValueChange || $[27] !== inputValue || $[28] !== t9) {
|
|
390
|
+
t10 = /* @__PURE__ */ jsx(TokenSearch, { value: inputValue, onChange: handleInputValueChange, clearSearch: clearInputValue, compactNetworkSwitcherProps: t9 });
|
|
391
|
+
$[25] = clearInputValue;
|
|
392
|
+
$[26] = handleInputValueChange;
|
|
393
|
+
$[27] = inputValue;
|
|
394
|
+
$[28] = t9;
|
|
395
|
+
$[29] = t10;
|
|
380
396
|
} else {
|
|
381
|
-
|
|
397
|
+
t10 = $[29];
|
|
382
398
|
}
|
|
383
|
-
let
|
|
384
|
-
if ($[
|
|
385
|
-
|
|
399
|
+
let t11;
|
|
400
|
+
if ($[30] !== acrossMode || $[31] !== appChainId || $[32] !== chainSwitchingDisabled || $[33] !== effectiveInputValue || $[34] !== includeNativeTokenInList || $[35] !== isCrossChain || $[36] !== onSelect || $[37] !== onSelectToken || $[38] !== selectableChains || $[39] !== selectedChainId) {
|
|
401
|
+
t11 = !isCrossChain ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
386
402
|
/* @__PURE__ */ jsx(TokenCloud, { onSelectToken: onSelect, forcedChainId: selectedChainId, showNetworkIcon: true, withETH: includeNativeTokenInList }),
|
|
387
403
|
/* @__PURE__ */ jsx(RegularTokenList, { tokenFilter: effectiveInputValue, onSelectToken, forcedChainId: selectedChainId, className: "flex-1", withETH: includeNativeTokenInList, singleChainTokensOnly: chainSwitchingDisabled, selectableChains })
|
|
388
|
-
] }) : /* @__PURE__ */ jsx(AcrossTokenLists, { tokenFilter: effectiveInputValue, onSelect, fromChainId: appChainId, toChainId: selectedChainId, className: "flex-1" });
|
|
389
|
-
$[
|
|
390
|
-
$[
|
|
391
|
-
$[
|
|
392
|
-
$[
|
|
393
|
-
$[
|
|
394
|
-
$[
|
|
395
|
-
$[
|
|
396
|
-
$[
|
|
397
|
-
$[
|
|
398
|
-
$[
|
|
404
|
+
] }) : /* @__PURE__ */ jsx(AcrossTokenLists, { tokenFilter: effectiveInputValue, onSelect, fromChainId: appChainId, toChainId: selectedChainId, className: "flex-1", mode: acrossMode });
|
|
405
|
+
$[30] = acrossMode;
|
|
406
|
+
$[31] = appChainId;
|
|
407
|
+
$[32] = chainSwitchingDisabled;
|
|
408
|
+
$[33] = effectiveInputValue;
|
|
409
|
+
$[34] = includeNativeTokenInList;
|
|
410
|
+
$[35] = isCrossChain;
|
|
411
|
+
$[36] = onSelect;
|
|
412
|
+
$[37] = onSelectToken;
|
|
413
|
+
$[38] = selectableChains;
|
|
414
|
+
$[39] = selectedChainId;
|
|
415
|
+
$[40] = t11;
|
|
399
416
|
} else {
|
|
400
|
-
|
|
417
|
+
t11 = $[40];
|
|
401
418
|
}
|
|
402
|
-
let
|
|
403
|
-
if ($[
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
419
|
+
let t12;
|
|
420
|
+
if ($[41] !== t10 || $[42] !== t11) {
|
|
421
|
+
t12 = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
422
|
+
t10,
|
|
423
|
+
t11
|
|
407
424
|
] });
|
|
408
|
-
$[
|
|
409
|
-
$[
|
|
410
|
-
$[
|
|
425
|
+
$[41] = t10;
|
|
426
|
+
$[42] = t11;
|
|
427
|
+
$[43] = t12;
|
|
411
428
|
} else {
|
|
412
|
-
|
|
429
|
+
t12 = $[43];
|
|
413
430
|
}
|
|
414
|
-
return
|
|
431
|
+
return t12;
|
|
415
432
|
};
|
|
416
433
|
|
|
417
434
|
export { SelectTokenContent, SelectTokenScreen };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTokenDialog.js","sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useSwapChainTo } from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { GenericScreen } from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\n\nexport type SelectTokenScreenProps = Omit<\n SelectTokenProps,\n \"onSelectImportToken\"\n> & {\n drawerContainer?: HTMLElement | null;\n};\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: Omit<SelectTokenProps, \"onSelectImportToken\"> & {\n drawerContainer?: HTMLElement | null;\n}) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n });\n return (\n <GenericScreen\n title=\"Select a token...\"\n onGoBack={props.onClose}\n showBackButton\n >\n <SelectTokenContent\n {...props}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nexport const SelectTokenContent = ({\n tokenType,\n onClose,\n onSelect,\n onSelectImportToken,\n selectableChains,\n}: SelectTokenProps) => {\n const content =\n tokenType === \"from\" ? (\n <SelectTokenFromContent\n onClose={onClose}\n onSelectImportToken={onSelectImportToken}\n onSelect={onSelect}\n selectableChains={selectableChains}\n />\n ) : (\n <SelectTokenToContent\n onClose={onClose}\n onSelectImportToken={onSelectImportToken}\n onSelect={onSelect}\n selectableChains={selectableChains}\n />\n );\n\n // h-[558px] to fit into WIDGET_HEIGHT_CLASSNAME full-cover drawer, pb-8 have whole rows visible\n return <div className=\"flex flex-col gap-y-2 h-[558px] pb-8\">{content}</div>;\n};\n\nexport type SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n};\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n return (\n <>\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={{\n selectedNetwork: selectedChainId,\n onSelect: (chainId) =>\n chainId !== \"all\" && setSelectedChainId(chainId),\n networks: selectableChains,\n dropdownProps: { align: \"end\" },\n disabled: selectableChains.length <= 1,\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n />\n </>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isOTC = tradeMode === \"otc\";\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n\n const initialChainId = isSwap ? (swapChainTo ?? appChainId) : appChainId;\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains =\n useSelectableDestChains(appChainId).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const chainSwitchingDisabled = !isSwap || selectableChains.length <= 1;\n\n return (\n <>\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={{\n selectedNetwork: selectedChainId,\n onSelect: (chainId) =>\n chainId !== \"all\" && setSelectedChainId(chainId),\n networks: selectableChains,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n />\n )}\n </>\n );\n};\n"],"names":["SelectTokenScreen","t0","$","_c","drawerContainer","props","t1","tokenType","onOpenImportTokenDrawer","importTokenDrawer","useImportTokenDrawer","t2","t3","onClose","SelectTokenContent","onSelect","onSelectImportToken","selectableChains","content","SelectTokenFromContent","_onSelect","_selectableChains","appChainId","useChainId","selectedChainId","setSelectedChainId","useState","enabledSrcChains","useEnabledSrcChains","useEffect","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","useDeferredInputState","token","t4","token_0","fetchedOnChain","assertProp","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","align","t7","length","t8","selectedNetwork","networks","dropdownProps","disabled","t9","t10","t11","t12","SelectTokenToContent","tradeMode","useTradeMode","isSwap","isOTC","includeNativeTokenInList","swapChainTo","useSwapChainTo","initialChainId","enabledDestChains","useSelectableDestChains","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainSwitchingDisabled","chainId_0"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectTokenDialog.js","sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useLimitChainTo, useSwapChainTo } from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { GenericScreen } from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\n\nexport type SelectTokenScreenProps = Omit<\n SelectTokenProps,\n \"onSelectImportToken\"\n> & {\n drawerContainer?: HTMLElement | null;\n};\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: SelectTokenScreenProps) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n });\n return (\n <GenericScreen\n title=\"Select a token...\"\n onGoBack={props.onClose}\n showBackButton\n >\n <SelectTokenContent\n {...props}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nexport const SelectTokenContent = ({\n tokenType,\n onClose,\n onSelect,\n onSelectImportToken,\n selectableChains,\n}: SelectTokenProps) => {\n const content =\n tokenType === \"from\" ? (\n <SelectTokenFromContent\n onClose={onClose}\n onSelectImportToken={onSelectImportToken}\n onSelect={onSelect}\n selectableChains={selectableChains}\n />\n ) : (\n <SelectTokenToContent\n onClose={onClose}\n onSelectImportToken={onSelectImportToken}\n onSelect={onSelect}\n selectableChains={selectableChains}\n />\n );\n\n // h-[558px] to fit into WIDGET_HEIGHT_CLASSNAME full-cover drawer, pb-8 have whole rows visible\n return <div className=\"flex flex-col gap-y-2 h-[558px] pb-8\">{content}</div>;\n};\n\nexport type SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n};\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n return (\n <>\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={{\n selectedNetwork: selectedChainId,\n onSelect: (chainId) =>\n chainId !== \"all\" && setSelectedChainId(chainId),\n networks: selectableChains,\n dropdownProps: { align: \"end\" },\n disabled: selectableChains.length <= 1,\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n />\n </>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isLimit = tradeMode === \"limit\";\n const isOTC = tradeMode === \"otc\";\n\n // types also expect \"otc\" here, but only \"swap\" and \"limit\" are actually possible for across mode\n const acrossMode = isLimit ? \"limit\" : \"swap\";\n\n const modeSupportsCrosschain = isSwap || isLimit;\n\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n const limitChainTo = useLimitChainTo();\n\n const initialChainId = isSwap\n ? (swapChainTo ?? appChainId)\n : isLimit\n ? (limitChainTo ?? appChainId)\n : appChainId;\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n }).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const chainSwitchingDisabled =\n !modeSupportsCrosschain || selectableChains.length <= 1;\n\n return (\n <>\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={{\n selectedNetwork: selectedChainId,\n onSelect: (chainId) =>\n chainId !== \"all\" && setSelectedChainId(chainId),\n networks: selectableChains,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n mode={acrossMode}\n />\n )}\n </>\n );\n};\n"],"names":["SelectTokenScreen","t0","$","_c","drawerContainer","props","t1","tokenType","onOpenImportTokenDrawer","importTokenDrawer","useImportTokenDrawer","t2","t3","onClose","SelectTokenContent","onSelect","onSelectImportToken","selectableChains","content","SelectTokenFromContent","_onSelect","_selectableChains","appChainId","useChainId","selectedChainId","setSelectedChainId","useState","enabledSrcChains","useEnabledSrcChains","useEffect","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","useDeferredInputState","token","t4","token_0","fetchedOnChain","assertProp","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","align","t7","length","t8","selectedNetwork","networks","dropdownProps","disabled","t9","t10","t11","t12","SelectTokenToContent","tradeMode","useTradeMode","isSwap","isLimit","isOTC","acrossMode","modeSupportsCrosschain","includeNativeTokenInList","swapChainTo","useSwapChainTo","limitChainTo","useLimitChainTo","initialChainId","fromChainId","mode","enabledDestChains","useSelectableDestChains","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainSwitchingDisabled","chainId_0"],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { SupportedChainId } from '../../../../../lib/web3/wagmi/types';
|
|
2
2
|
import { TokenListBodyProps } from './types';
|
|
3
|
+
import { BridgeInfoMode } from '../../../../../hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo';
|
|
3
4
|
type AcrossTokenListsProps = Pick<TokenListBodyProps, "onSelect"> & {
|
|
4
5
|
tokenFilter: string;
|
|
5
6
|
fromChainId: SupportedChainId;
|
|
6
7
|
toChainId: SupportedChainId;
|
|
7
8
|
className?: string;
|
|
9
|
+
mode: BridgeInfoMode;
|
|
8
10
|
};
|
|
9
|
-
export declare const AcrossTokenLists: ({ tokenFilter, onSelect, fromChainId, toChainId, className, }: AcrossTokenListsProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const AcrossTokenLists: ({ tokenFilter, onSelect, fromChainId, toChainId, className, mode, }: AcrossTokenListsProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=AcrossTokenList.d.ts.map
|
package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcrossTokenList.d.ts","sourceRoot":"","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AcrossTokenList.d.ts","sourceRoot":"","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AAEjG,KAAK,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,qEAO9B,qBAAqB,4CAgBvB,CAAC"}
|
|
@@ -4,38 +4,41 @@ import { useAcrossTokenLists } from '../../../../../hooks/tokens/useAllTokensWit
|
|
|
4
4
|
import { TokenListBody } from './TokenListBody.js';
|
|
5
5
|
|
|
6
6
|
const AcrossTokenLists = (t0) => {
|
|
7
|
-
const $ = distExports.c(
|
|
7
|
+
const $ = distExports.c(9);
|
|
8
8
|
const {
|
|
9
9
|
tokenFilter,
|
|
10
10
|
onSelect,
|
|
11
11
|
fromChainId,
|
|
12
12
|
toChainId,
|
|
13
|
-
className
|
|
13
|
+
className,
|
|
14
|
+
mode
|
|
14
15
|
} = t0;
|
|
15
16
|
let t1;
|
|
16
|
-
if ($[0] !== fromChainId || $[1] !==
|
|
17
|
+
if ($[0] !== fromChainId || $[1] !== mode || $[2] !== toChainId || $[3] !== tokenFilter) {
|
|
17
18
|
t1 = {
|
|
18
19
|
tokenFilter,
|
|
19
20
|
fromChainId,
|
|
20
|
-
toChainId
|
|
21
|
+
toChainId,
|
|
22
|
+
mode
|
|
21
23
|
};
|
|
22
24
|
$[0] = fromChainId;
|
|
23
|
-
$[1] =
|
|
24
|
-
$[2] =
|
|
25
|
-
$[3] =
|
|
25
|
+
$[1] = mode;
|
|
26
|
+
$[2] = toChainId;
|
|
27
|
+
$[3] = tokenFilter;
|
|
28
|
+
$[4] = t1;
|
|
26
29
|
} else {
|
|
27
|
-
t1 = $[
|
|
30
|
+
t1 = $[4];
|
|
28
31
|
}
|
|
29
32
|
const tokenRows = useAcrossTokenLists(t1);
|
|
30
33
|
let t2;
|
|
31
|
-
if ($[
|
|
34
|
+
if ($[5] !== className || $[6] !== onSelect || $[7] !== tokenRows) {
|
|
32
35
|
t2 = /* @__PURE__ */ jsx(TokenListBody, { onSelect, tokenRows, visibleRows: 8, className });
|
|
33
|
-
$[
|
|
34
|
-
$[
|
|
35
|
-
$[
|
|
36
|
-
$[
|
|
36
|
+
$[5] = className;
|
|
37
|
+
$[6] = onSelect;
|
|
38
|
+
$[7] = tokenRows;
|
|
39
|
+
$[8] = t2;
|
|
37
40
|
} else {
|
|
38
|
-
t2 = $[
|
|
41
|
+
t2 = $[8];
|
|
39
42
|
}
|
|
40
43
|
return t2;
|
|
41
44
|
};
|
package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcrossTokenList.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.tsx"],"sourcesContent":["import { useAcrossTokenLists } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nimport { TokenListBody } from \"./TokenListBody\";\nimport type { TokenListBodyProps } from \"./types\";\n\ntype AcrossTokenListsProps = Pick<TokenListBodyProps, \"onSelect\"> & {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n className?: string;\n};\n\nexport const AcrossTokenLists = ({\n tokenFilter,\n onSelect,\n fromChainId,\n toChainId,\n className,\n}: AcrossTokenListsProps) => {\n const tokenRows = useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n });\n\n return (\n <TokenListBody\n onSelect={onSelect}\n tokenRows={tokenRows}\n visibleRows={8}\n className={className}\n />\n );\n};\n"],"names":["AcrossTokenLists","t0","$","_c","tokenFilter","onSelect","fromChainId","toChainId","className","t1","tokenRows","useAcrossTokenLists","t2"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"AcrossTokenList.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.tsx"],"sourcesContent":["import { useAcrossTokenLists } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nimport { TokenListBody } from \"./TokenListBody\";\nimport type { TokenListBodyProps } from \"./types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\n\ntype AcrossTokenListsProps = Pick<TokenListBodyProps, \"onSelect\"> & {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n className?: string;\n mode: BridgeInfoMode;\n};\n\nexport const AcrossTokenLists = ({\n tokenFilter,\n onSelect,\n fromChainId,\n toChainId,\n className,\n mode,\n}: AcrossTokenListsProps) => {\n const tokenRows = useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n });\n\n return (\n <TokenListBody\n onSelect={onSelect}\n tokenRows={tokenRows}\n visibleRows={8}\n className={className}\n />\n );\n};\n"],"names":["AcrossTokenLists","t0","$","_c","tokenFilter","onSelect","fromChainId","toChainId","className","mode","t1","tokenRows","useAcrossTokenLists","t2"],"mappings":";;;;;AAeO,MAAMA,mBAAmBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAR,EAAAA;AAOT,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAI,WAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAO,IAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAK,SAAAA,IAAAL,CAAAA,QAAAE,WAAAA,EAAA;AACgBM,IAAAA,EAAAA,GAAA;AAAA,MAAAN,WAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAC,SAAAA;AAAAA,MAAAE;AAAAA,KAKtC;AAACP,IAAAA,CAAAA,MAAAI,WAAAA;AAAAJ,IAAAA,CAAAA,MAAAO,IAAAA;AAAAP,IAAAA,CAAAA,MAAAK,SAAAA;AAAAL,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAS,SAAAA,GAAkBC,oBAAoBF,EAKrC,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAM,SAAAA,IAAAN,CAAAA,QAAAG,QAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAS,SAAAA,EAAA;AAGDE,IAAAA,EAAAA,uBAAC,aAAA,EAAA,EACWR,QAAAA,EACCM,SAAAA,EACE,WAAA,EAAA,GACFH,SAAAA,EAAS,CAAA;AACpBN,IAAAA,CAAAA,MAAAM,SAAAA;AAAAN,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAS,SAAAA;AAAAT,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALFW,EAAAA;AAKE;;;;"}
|
|
@@ -31,8 +31,7 @@ export declare const useDrawerControls: ({ onOpen: _onOpen, onClose: _onClose, d
|
|
|
31
31
|
* const { containerRef } = useDrawerContainerHeightTransition();
|
|
32
32
|
* return <div ref={containerRef} className="widget-container">...</div>
|
|
33
33
|
*/
|
|
34
|
-
export declare const useDrawerContainerHeightTransition: () => {
|
|
35
|
-
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
34
|
+
export declare const useDrawerContainerHeightTransition: (containerRef: React.RefObject<HTMLDivElement | null>) => {
|
|
36
35
|
drawerId: DrawerId | null;
|
|
37
36
|
isDrawerFullCover: boolean;
|
|
38
37
|
isDrawerOpen: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDrawerControls.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,eAAe,GACf,sCAAsC,GACtC,uBAAuB,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC;AAEvD,eAAO,MAAM,cAAc;;CAA8B,CAAC;AAU1D,eAAO,MAAM,eAAe,QAAO,QAAQ,GAAG,IAE7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mDAI/B;IACD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,KAAG,cAyCH,CAAC;AAYF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kCAAkC,
|
|
1
|
+
{"version":3,"file":"useDrawerControls.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,eAAe,GACf,sCAAsC,GACtC,uBAAuB,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC;AAEvD,eAAO,MAAM,cAAc;;CAA8B,CAAC;AAU1D,eAAO,MAAM,eAAe,QAAO,QAAQ,GAAG,IAE7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mDAI/B;IACD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,KAAG,cAyCH,CAAC;AAYF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kCAAkC,GAC7C,cAAc,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,KACnD;IACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CAoEvB,CAAC"}
|
|
@@ -99,9 +99,8 @@ const useDrawerControls = (t0) => {
|
|
|
99
99
|
};
|
|
100
100
|
const fullCoverDrawers = /* @__PURE__ */ new Set([]);
|
|
101
101
|
const transition = "height 0.3s ease-in-out";
|
|
102
|
-
const useDrawerContainerHeightTransition = () => {
|
|
103
|
-
const $ = distExports.c(
|
|
104
|
-
const containerRef = useRef(null);
|
|
102
|
+
const useDrawerContainerHeightTransition = (containerRef) => {
|
|
103
|
+
const $ = distExports.c(10);
|
|
105
104
|
const previousHeightRef = useRef(null);
|
|
106
105
|
const currentDrawerId = useOpenDrawerId();
|
|
107
106
|
let t0;
|
|
@@ -115,7 +114,7 @@ const useDrawerContainerHeightTransition = () => {
|
|
|
115
114
|
const isDrawerFullCover = t0;
|
|
116
115
|
let t1;
|
|
117
116
|
let t2;
|
|
118
|
-
if ($[2] !== isDrawerFullCover) {
|
|
117
|
+
if ($[2] !== containerRef || $[3] !== isDrawerFullCover) {
|
|
119
118
|
t1 = () => {
|
|
120
119
|
if (containerRef.current) {
|
|
121
120
|
const container = containerRef.current;
|
|
@@ -154,30 +153,30 @@ const useDrawerContainerHeightTransition = () => {
|
|
|
154
153
|
}
|
|
155
154
|
}
|
|
156
155
|
};
|
|
157
|
-
t2 = [isDrawerFullCover];
|
|
158
|
-
$[2] =
|
|
159
|
-
$[3] =
|
|
160
|
-
$[4] =
|
|
156
|
+
t2 = [containerRef, isDrawerFullCover];
|
|
157
|
+
$[2] = containerRef;
|
|
158
|
+
$[3] = isDrawerFullCover;
|
|
159
|
+
$[4] = t1;
|
|
160
|
+
$[5] = t2;
|
|
161
161
|
} else {
|
|
162
|
-
t1 = $[
|
|
163
|
-
t2 = $[
|
|
162
|
+
t1 = $[4];
|
|
163
|
+
t2 = $[5];
|
|
164
164
|
}
|
|
165
165
|
useLayoutEffect(t1, t2);
|
|
166
166
|
const t3 = !!currentDrawerId;
|
|
167
167
|
let t4;
|
|
168
|
-
if ($[
|
|
168
|
+
if ($[6] !== currentDrawerId || $[7] !== isDrawerFullCover || $[8] !== t3) {
|
|
169
169
|
t4 = {
|
|
170
|
-
containerRef,
|
|
171
170
|
drawerId: currentDrawerId,
|
|
172
171
|
isDrawerFullCover,
|
|
173
172
|
isDrawerOpen: t3
|
|
174
173
|
};
|
|
175
|
-
$[
|
|
176
|
-
$[
|
|
177
|
-
$[
|
|
178
|
-
$[
|
|
174
|
+
$[6] = currentDrawerId;
|
|
175
|
+
$[7] = isDrawerFullCover;
|
|
176
|
+
$[8] = t3;
|
|
177
|
+
$[9] = t4;
|
|
179
178
|
} else {
|
|
180
|
-
t4 = $[
|
|
179
|
+
t4 = $[9];
|
|
181
180
|
}
|
|
182
181
|
return t4;
|
|
183
182
|
};
|