@velora-dex/widget 0.4.2-dev.3 → 0.4.3
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/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js +23 -18
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +4 -6
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +147 -133
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +55 -138
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js +137 -87
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/types.d.ts +5 -3
- package/dist/components/widget/PayReceiveInfo/types.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +2 -2
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -2
- package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +108 -87
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +14 -12
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +3 -3
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +74 -101
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +72 -63
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +16 -13
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.d.ts +2 -1
- package/dist/components/widget/TradeOverview/Step/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js +4 -2
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +59 -62
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +5 -3
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +181 -13
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts +2 -2
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +4 -4
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts +18 -2
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +145 -111
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts +2 -0
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +65 -58
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/steps.d.ts +32 -0
- package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +12 -2
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +13 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts +4 -0
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js +6 -0
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -0
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +4 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js +2 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts +2 -0
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +236 -3
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +40 -18
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +46 -24
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +2 -2
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/events/types/cancel.d.ts +1 -7
- package/dist/events/types/cancel.d.ts.map +1 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +9 -8
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +7 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +85 -13
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +1 -13
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +1 -80
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +1 -27
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +2 -3
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +2 -8
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +1 -27
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts +9 -0
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +32 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +149 -142
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +35 -35
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +3 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +20 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -8
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +127 -68
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +4 -3
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +186 -98
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -6
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +72 -56
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +33 -23
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +37 -11
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +161 -79
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.d.ts +10 -2
- package/dist/hooks/tokens/allowance/utils.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js +19 -8
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +3 -3
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +3 -3
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/constants/urls.d.ts.map +1 -1
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/utils/fee.js +1 -1
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/slippage.d.ts.map +1 -1
- package/dist/lib/utils/slippage.js +1 -1
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/toDecimal.d.ts.map +1 -1
- package/dist/lib/utils/toDecimal.js +5 -3
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/styles.css +0 -3
- package/dist/transactions/types.d.ts +1 -9
- package/dist/transactions/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/components/widget/Button/CancelButton/CancelButton.d.ts +0 -7
- package/dist/components/widget/Button/CancelButton/CancelButton.d.ts.map +0 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.js +0 -102
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +0 -1
- package/dist/components/widget/Button/CancelButton/constants.d.ts +0 -2
- package/dist/components/widget/Button/CancelButton/constants.d.ts.map +0 -1
- package/dist/components/widget/Button/CancelButton/constants.js +0 -4
- package/dist/components/widget/Button/CancelButton/constants.js.map +0 -1
- package/dist/components/widget/Button/DismissButton.d.ts +0 -4
- package/dist/components/widget/Button/DismissButton.d.ts.map +0 -1
- package/dist/components/widget/Button/DismissButton.js +0 -29
- package/dist/components/widget/Button/DismissButton.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +0 -11
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +0 -87
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +0 -31
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +0 -246
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +0 -44
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +0 -268
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts +0 -108
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +0 -168
- package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +0 -69
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +0 -192
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +0 -1
|
@@ -5,11 +5,17 @@ import { formatTokenAmount } from '../../../lib/utils/formatTokenBalance.js';
|
|
|
5
5
|
import { useTradeFlowContext } from './tradeFlowContext.js';
|
|
6
6
|
import { TradeDetailsDisplay } from './TradeDetailsDisplay.js';
|
|
7
7
|
import { isSwapTradeFlowType } from '../../../hooks/swap/tradeFlow/common/utils.js';
|
|
8
|
+
import { WarningWithTitle } from '../Warning/Warning.js';
|
|
9
|
+
import { useTokenPrice } from '../../../hooks/tokens/prices/useTokenPrices.js';
|
|
10
|
+
import { PayReceiveInfo } from '../PayReceiveInfo/PayReceiveInfo.js';
|
|
11
|
+
import { InfoIcon } from 'lucide-react';
|
|
12
|
+
import { SwapRate } from '../SwapRate/SwapRate.js';
|
|
13
|
+
import { parseUnits } from 'viem';
|
|
8
14
|
|
|
9
15
|
const badgeClasses = {
|
|
10
16
|
root: "text-xs text-contrast-1 dark:text-contrast-8 font-medium"
|
|
11
17
|
};
|
|
12
|
-
const
|
|
18
|
+
const TradeAnimatedProgressDetailsBase = (t0) => {
|
|
13
19
|
const $ = distExports.c(44);
|
|
14
20
|
const {
|
|
15
21
|
fromToken,
|
|
@@ -176,28 +182,190 @@ const TradeDetailsBase = (t0) => {
|
|
|
176
182
|
}
|
|
177
183
|
return t18;
|
|
178
184
|
};
|
|
185
|
+
const tokenBadgeClasses = {
|
|
186
|
+
amount: "dark:text-contrast-9",
|
|
187
|
+
symbol: "dark:text-contrast-9",
|
|
188
|
+
logo: "size-[18px]"
|
|
189
|
+
};
|
|
190
|
+
function constructPayReceiveInfoProps({
|
|
191
|
+
extra,
|
|
192
|
+
srcTokenPrice,
|
|
193
|
+
destTokenPrice
|
|
194
|
+
}) {
|
|
195
|
+
const {
|
|
196
|
+
srcToken,
|
|
197
|
+
destToken,
|
|
198
|
+
srcAmountUnit,
|
|
199
|
+
destAmountUnit
|
|
200
|
+
} = extra;
|
|
201
|
+
const formattedSrcAmount = formatTokenAmount(srcAmountUnit);
|
|
202
|
+
const formattedDestAmount = formatTokenAmount(destAmountUnit);
|
|
203
|
+
const srcUsdAmount = srcTokenPrice !== void 0 ? parseFloat(srcAmountUnit) * srcTokenPrice : void 0;
|
|
204
|
+
const destUsdAmount = destTokenPrice !== void 0 ? parseFloat(destAmountUnit) * destTokenPrice : void 0;
|
|
205
|
+
const isCrossChain = srcToken.network !== destToken.network;
|
|
206
|
+
const topTokenBadgeProps = {
|
|
207
|
+
address: srcToken.address,
|
|
208
|
+
symbol: srcToken.symbol,
|
|
209
|
+
chainId: srcToken.network,
|
|
210
|
+
img: srcToken.img,
|
|
211
|
+
amount: formattedSrcAmount,
|
|
212
|
+
amountPosition: "right",
|
|
213
|
+
classes: tokenBadgeClasses,
|
|
214
|
+
showNetworkIcon: isCrossChain
|
|
215
|
+
};
|
|
216
|
+
const bottomTokenBadgeProps = {
|
|
217
|
+
address: destToken.address,
|
|
218
|
+
symbol: destToken.symbol,
|
|
219
|
+
chainId: destToken.network,
|
|
220
|
+
img: destToken.img,
|
|
221
|
+
amount: formattedDestAmount,
|
|
222
|
+
amountPosition: "right",
|
|
223
|
+
classes: tokenBadgeClasses,
|
|
224
|
+
showNetworkIcon: isCrossChain
|
|
225
|
+
};
|
|
226
|
+
const srcAmountWei = parseUnits(srcAmountUnit, srcToken.decimals);
|
|
227
|
+
const destAmountWei = parseUnits(destAmountUnit, destToken.decimals);
|
|
228
|
+
return {
|
|
229
|
+
topToken: {
|
|
230
|
+
tokenBadgeProps: topTokenBadgeProps,
|
|
231
|
+
label: "Pay",
|
|
232
|
+
usdAmount: srcUsdAmount,
|
|
233
|
+
showNetwork: false,
|
|
234
|
+
classes: {
|
|
235
|
+
section: "p-4"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
bottomToken: {
|
|
239
|
+
tokenBadgeProps: bottomTokenBadgeProps,
|
|
240
|
+
label: "Receive",
|
|
241
|
+
usdAmount: destUsdAmount,
|
|
242
|
+
showNetwork: false,
|
|
243
|
+
extraLabel: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-xs font-normal text-secondary-orange-peel-1", children: [
|
|
244
|
+
/* @__PURE__ */ jsx(InfoIcon, { size: 16 }),
|
|
245
|
+
/* @__PURE__ */ jsx(SwapRate, { srcAmountWei: srcAmountWei.toString(), destAmountWei: destAmountWei.toString(), srcToken, destToken })
|
|
246
|
+
] }),
|
|
247
|
+
classes: {
|
|
248
|
+
section: "p-4"
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
classes: {
|
|
252
|
+
root: "bg-contrast-9 dark:bg-contrast-3",
|
|
253
|
+
line: "bg-contrast-7 dark:bg-contrast-2"
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
const warningClasses = {
|
|
258
|
+
root: "bg-[rgba(255,153,0,0.05)]"
|
|
259
|
+
};
|
|
260
|
+
const PriceChangedWarning = () => {
|
|
261
|
+
const $ = distExports.c(1);
|
|
262
|
+
let t0;
|
|
263
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
264
|
+
t0 = /* @__PURE__ */ jsx(WarningWithTitle, { title: "Price changed", message: /* @__PURE__ */ jsx("div", { children: "The price changed since your last attempt. Token amounts may differ. Please review before submitting again." }), classes: warningClasses });
|
|
265
|
+
$[0] = t0;
|
|
266
|
+
} else {
|
|
267
|
+
t0 = $[0];
|
|
268
|
+
}
|
|
269
|
+
return t0;
|
|
270
|
+
};
|
|
271
|
+
const TradeReviewDetailsBase = () => {
|
|
272
|
+
const $ = distExports.c(12);
|
|
273
|
+
const {
|
|
274
|
+
fromToken,
|
|
275
|
+
toToken,
|
|
276
|
+
fromAmount,
|
|
277
|
+
toAmount
|
|
278
|
+
} = useTradeFlowContext();
|
|
279
|
+
const {
|
|
280
|
+
data: srcTokenPrice
|
|
281
|
+
} = useTokenPrice(fromToken);
|
|
282
|
+
const {
|
|
283
|
+
data: destTokenPrice
|
|
284
|
+
} = useTokenPrice(toToken);
|
|
285
|
+
let t0;
|
|
286
|
+
if ($[0] !== destTokenPrice?.price || $[1] !== fromAmount || $[2] !== fromToken || $[3] !== srcTokenPrice?.price || $[4] !== toAmount || $[5] !== toToken) {
|
|
287
|
+
t0 = constructPayReceiveInfoProps({
|
|
288
|
+
extra: {
|
|
289
|
+
srcToken: fromToken,
|
|
290
|
+
destToken: toToken,
|
|
291
|
+
srcAmountUnit: fromAmount,
|
|
292
|
+
destAmountUnit: toAmount
|
|
293
|
+
},
|
|
294
|
+
srcTokenPrice: srcTokenPrice?.price,
|
|
295
|
+
destTokenPrice: destTokenPrice?.price
|
|
296
|
+
});
|
|
297
|
+
$[0] = destTokenPrice?.price;
|
|
298
|
+
$[1] = fromAmount;
|
|
299
|
+
$[2] = fromToken;
|
|
300
|
+
$[3] = srcTokenPrice?.price;
|
|
301
|
+
$[4] = toAmount;
|
|
302
|
+
$[5] = toToken;
|
|
303
|
+
$[6] = t0;
|
|
304
|
+
} else {
|
|
305
|
+
t0 = $[6];
|
|
306
|
+
}
|
|
307
|
+
const payReceiveInfoProps = t0;
|
|
308
|
+
let t1;
|
|
309
|
+
if ($[7] !== payReceiveInfoProps) {
|
|
310
|
+
t1 = /* @__PURE__ */ jsx(PayReceiveInfo, { ...payReceiveInfoProps });
|
|
311
|
+
$[7] = payReceiveInfoProps;
|
|
312
|
+
$[8] = t1;
|
|
313
|
+
} else {
|
|
314
|
+
t1 = $[8];
|
|
315
|
+
}
|
|
316
|
+
let t2;
|
|
317
|
+
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
|
|
318
|
+
t2 = /* @__PURE__ */ jsx(PriceChangedWarning, {});
|
|
319
|
+
$[9] = t2;
|
|
320
|
+
} else {
|
|
321
|
+
t2 = $[9];
|
|
322
|
+
}
|
|
323
|
+
let t3;
|
|
324
|
+
if ($[10] !== t1) {
|
|
325
|
+
t3 = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5", children: [
|
|
326
|
+
t1,
|
|
327
|
+
t2
|
|
328
|
+
] });
|
|
329
|
+
$[10] = t1;
|
|
330
|
+
$[11] = t3;
|
|
331
|
+
} else {
|
|
332
|
+
t3 = $[11];
|
|
333
|
+
}
|
|
334
|
+
return t3;
|
|
335
|
+
};
|
|
179
336
|
const TradeDetails = () => {
|
|
180
|
-
const $ = distExports.c(
|
|
337
|
+
const $ = distExports.c(8);
|
|
181
338
|
const {
|
|
182
339
|
fromToken,
|
|
183
340
|
toToken,
|
|
184
341
|
fromAmount,
|
|
185
342
|
toAmount,
|
|
186
343
|
swapSide,
|
|
187
|
-
tradeFlowType
|
|
344
|
+
tradeFlowType,
|
|
345
|
+
derivedStep
|
|
188
346
|
} = useTradeFlowContext();
|
|
347
|
+
if (derivedStep === "prepare-swap") {
|
|
348
|
+
let t02;
|
|
349
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
350
|
+
t02 = /* @__PURE__ */ jsx(TradeReviewDetailsBase, {});
|
|
351
|
+
$[0] = t02;
|
|
352
|
+
} else {
|
|
353
|
+
t02 = $[0];
|
|
354
|
+
}
|
|
355
|
+
return t02;
|
|
356
|
+
}
|
|
189
357
|
let t0;
|
|
190
|
-
if ($[
|
|
191
|
-
t0 = /* @__PURE__ */ jsx(
|
|
192
|
-
$[
|
|
193
|
-
$[
|
|
194
|
-
$[
|
|
195
|
-
$[
|
|
196
|
-
$[
|
|
197
|
-
$[
|
|
198
|
-
$[
|
|
358
|
+
if ($[1] !== fromAmount || $[2] !== fromToken || $[3] !== swapSide || $[4] !== toAmount || $[5] !== toToken || $[6] !== tradeFlowType) {
|
|
359
|
+
t0 = /* @__PURE__ */ jsx(TradeAnimatedProgressDetailsBase, { fromToken, toToken, fromAmount, toAmount, swapSide, tradeFlowType });
|
|
360
|
+
$[1] = fromAmount;
|
|
361
|
+
$[2] = fromToken;
|
|
362
|
+
$[3] = swapSide;
|
|
363
|
+
$[4] = toAmount;
|
|
364
|
+
$[5] = toToken;
|
|
365
|
+
$[6] = tradeFlowType;
|
|
366
|
+
$[7] = t0;
|
|
199
367
|
} else {
|
|
200
|
-
t0 = $[
|
|
368
|
+
t0 = $[7];
|
|
201
369
|
}
|
|
202
370
|
return t0;
|
|
203
371
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeDetails.js","sources":["../../../../src/components/widget/TradeOverview/TradeDetails.tsx"],"sourcesContent":["import { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { TradeDetailsDisplay } from \"./TradeDetailsDisplay\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isSwapTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\n\nexport type MinTradeFlowToken = Pick<\n Token,\n \"address\" | \"network\" | \"img\" | \"symbol\" | \"decimals\"\n>;\n\n// --- Details ---\ntype TradeDetailsProps = {\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n tradeFlowType: TradeFlowType;\n swapSide?: SwapSideUnion;\n};\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nconst TradeDetailsBase = ({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n tradeFlowType,\n swapSide = \"SELL\",\n}: TradeDetailsProps) => {\n const isSwapFlow = isSwapTradeFlowType(tradeFlowType);\n const isSell = swapSide === \"SELL\";\n\n let fromTokenLabel: string;\n let toTokenLabel: string;\n if (isSwapFlow) {\n // Swap Flow has special labels for BUY case\n fromTokenLabel = isSell ? \"Swap\" : \"For (at most)\";\n toTokenLabel = isSell ? \"For (at least)\" : \"Buy\";\n } else {\n fromTokenLabel = \"Pay\";\n toTokenLabel = \"Receive\";\n }\n\n const fromTokenObj = {\n token: fromToken,\n label: fromTokenLabel,\n amount: fromAmount,\n };\n const toTokenObj = {\n token: toToken,\n label: toTokenLabel,\n amount: toAmount,\n };\n\n const [firstToken, secondToken] =\n isSell || !isSwapFlow\n ? [fromTokenObj, toTokenObj]\n : // Swap Flow has reversed token order for BUY case\n [toTokenObj, fromTokenObj];\n\n return (\n <div className=\"flex flex-col bg-contrast-8 dark:bg-contrast-3 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5\">\n <TradeDetailsDisplay />\n <div className=\"flex items-center justify-between gap-2 py-[8px] px-[16px]\">\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{firstToken.label}</span>\n <TokenBadge\n address={firstToken.token.address}\n chainId={firstToken.token.network}\n img={firstToken.token.img}\n symbol={firstToken.token.symbol}\n showNetworkIcon\n amount={formatTokenAmount(firstToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{secondToken.label}</span>\n <TokenBadge\n address={secondToken.token.address}\n chainId={secondToken.token.network}\n img={secondToken.token.img}\n symbol={secondToken.token.symbol}\n showNetworkIcon\n amount={formatTokenAmount(secondToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n </div>\n </div>\n );\n};\nexport const TradeDetails = () => {\n const { fromToken, toToken, fromAmount, toAmount, swapSide, tradeFlowType } =\n useTradeFlowContext();\n\n return (\n <TradeDetailsBase\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n tradeFlowType={tradeFlowType}\n />\n );\n};\n"],"names":["badgeClasses","root","TradeDetailsBase","t0","$","_c","fromToken","toToken","fromAmount","toAmount","tradeFlowType","swapSide","t1","undefined","t2","isSwapTradeFlowType","isSwapFlow","isSell","fromTokenLabel","toTokenLabel","T0","t10","t11","t12","t13","t14","t3","t4","t5","t6","t7","t8","t9","fromTokenObj","token","label","amount","toTokenObj","firstToken","secondToken","Symbol","for","address","network","img","symbol","formatTokenAmount","TokenBadge","t15","t16","t17","t18","TradeDetails","useTradeFlowContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TradeDetails.js","sources":["../../../../src/components/widget/TradeOverview/TradeDetails.tsx"],"sourcesContent":["import { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { TradeDetailsDisplay } from \"./TradeDetailsDisplay\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isSwapTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport { WarningWithTitle } from \"../Warning/Warning\";\nimport type { WarningProps } from \"../Warning/types\";\nimport type { PayReceiveInfoProps } from \"../PayReceiveInfo/types\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport { PayReceiveInfo } from \"../PayReceiveInfo/PayReceiveInfo\";\nimport { InfoIcon } from \"lucide-react\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport { parseUnits } from \"viem\";\nimport type { TokenBadgeProps } from \"../TokenBadge/types\";\n\nexport type MinTradeFlowToken = Pick<\n Token,\n \"address\" | \"network\" | \"img\" | \"symbol\" | \"decimals\"\n>;\n\n// --- Details ---\ntype TradeDetailsProps = {\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n tradeFlowType: TradeFlowType;\n swapSide?: SwapSideUnion;\n};\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nconst TradeAnimatedProgressDetailsBase = ({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n tradeFlowType,\n swapSide = \"SELL\",\n}: TradeDetailsProps) => {\n const isSwapFlow = isSwapTradeFlowType(tradeFlowType);\n const isSell = swapSide === \"SELL\";\n\n let fromTokenLabel: string;\n let toTokenLabel: string;\n if (isSwapFlow) {\n // Swap Flow has special labels for BUY case\n fromTokenLabel = isSell ? \"Swap\" : \"For (at most)\";\n toTokenLabel = isSell ? \"For (at least)\" : \"Buy\";\n } else {\n fromTokenLabel = \"Pay\";\n toTokenLabel = \"Receive\";\n }\n\n const fromTokenObj = {\n token: fromToken,\n label: fromTokenLabel,\n amount: fromAmount,\n };\n const toTokenObj = {\n token: toToken,\n label: toTokenLabel,\n amount: toAmount,\n };\n\n const [firstToken, secondToken] =\n isSell || !isSwapFlow\n ? [fromTokenObj, toTokenObj]\n : // Swap Flow has reversed token order for BUY case\n [toTokenObj, fromTokenObj];\n\n return (\n <div className=\"flex flex-col bg-contrast-8 dark:bg-contrast-3 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5\">\n <TradeDetailsDisplay />\n <div className=\"flex items-center justify-between gap-2 py-[8px] px-[16px]\">\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{firstToken.label}</span>\n <TokenBadge\n address={firstToken.token.address}\n chainId={firstToken.token.network}\n img={firstToken.token.img}\n symbol={firstToken.token.symbol}\n showNetworkIcon\n amount={formatTokenAmount(firstToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{secondToken.label}</span>\n <TokenBadge\n address={secondToken.token.address}\n chainId={secondToken.token.network}\n img={secondToken.token.img}\n symbol={secondToken.token.symbol}\n showNetworkIcon\n amount={formatTokenAmount(secondToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n </div>\n </div>\n );\n};\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\ntype InfoPropsExtraInput = {\n srcToken: MinTradeFlowToken;\n destToken: MinTradeFlowToken;\n srcAmountUnit: string;\n destAmountUnit: string;\n};\n\nfunction constructPayReceiveInfoProps({\n extra,\n srcTokenPrice,\n destTokenPrice,\n}: {\n extra: InfoPropsExtraInput;\n srcTokenPrice?: number;\n destTokenPrice?: number;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const srcUsdAmount =\n srcTokenPrice !== undefined\n ? parseFloat(srcAmountUnit) * srcTokenPrice\n : undefined;\n const destUsdAmount =\n destTokenPrice !== undefined\n ? parseFloat(destAmountUnit) * destTokenPrice\n : undefined;\n\n const isCrossChain = srcToken.network !== destToken.network;\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: isCrossChain,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: isCrossChain,\n };\n\n const srcAmountWei = parseUnits(srcAmountUnit, srcToken.decimals);\n const destAmountWei = parseUnits(destAmountUnit, destToken.decimals);\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n usdAmount: srcUsdAmount,\n showNetwork: false,\n classes: {\n section: \"p-4\",\n },\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n usdAmount: destUsdAmount,\n showNetwork: false,\n extraLabel: (\n <div className=\"flex items-center gap-1.5 text-xs font-normal text-secondary-orange-peel-1\">\n <InfoIcon size={16} />\n <SwapRate\n srcAmountWei={srcAmountWei.toString()}\n destAmountWei={destAmountWei.toString()}\n srcToken={srcToken}\n destToken={destToken}\n />\n </div>\n ),\n classes: {\n section: \"p-4\",\n },\n },\n classes: {\n root: \"bg-contrast-9 dark:bg-contrast-3\",\n line: \"bg-contrast-7 dark:bg-contrast-2\",\n },\n };\n}\n\nconst warningClasses: WarningProps[\"classes\"] = {\n root: \"bg-[rgba(255,153,0,0.05)]\",\n};\n\nconst PriceChangedWarning = () => {\n return (\n <WarningWithTitle\n title=\"Price changed\"\n message={\n <div>\n The price changed since your last attempt. Token amounts may differ.\n Please review before submitting again.\n </div>\n }\n classes={warningClasses}\n />\n );\n};\n\nconst TradeReviewDetailsBase = () => {\n const { fromToken, toToken, fromAmount, toAmount } = useTradeFlowContext();\n const { data: srcTokenPrice } = useTokenPrice(fromToken);\n const { data: destTokenPrice } = useTokenPrice(toToken);\n const payReceiveInfoProps = constructPayReceiveInfoProps({\n extra: {\n srcToken: fromToken,\n destToken: toToken,\n srcAmountUnit: fromAmount,\n destAmountUnit: toAmount,\n },\n srcTokenPrice: srcTokenPrice?.price,\n destTokenPrice: destTokenPrice?.price,\n });\n\n return (\n <div className=\"flex flex-col gap-4 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5\">\n <PayReceiveInfo {...payReceiveInfoProps} />\n <PriceChangedWarning />\n </div>\n );\n};\n\nexport const TradeDetails = () => {\n const {\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n tradeFlowType,\n derivedStep,\n } = useTradeFlowContext();\n\n if (derivedStep === \"prepare-swap\") {\n return <TradeReviewDetailsBase />;\n }\n\n return (\n <TradeAnimatedProgressDetailsBase\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n tradeFlowType={tradeFlowType}\n />\n );\n};\n"],"names":["badgeClasses","root","TradeAnimatedProgressDetailsBase","t0","$","_c","fromToken","toToken","fromAmount","toAmount","tradeFlowType","swapSide","t1","undefined","t2","isSwapTradeFlowType","isSwapFlow","isSell","fromTokenLabel","toTokenLabel","T0","t10","t11","t12","t13","t14","t3","t4","t5","t6","t7","t8","t9","fromTokenObj","token","label","amount","toTokenObj","firstToken","secondToken","Symbol","for","address","network","img","symbol","formatTokenAmount","TokenBadge","t15","t16","t17","t18","tokenBadgeClasses","logo","constructPayReceiveInfoProps","extra","srcTokenPrice","destTokenPrice","srcToken","destToken","srcAmountUnit","destAmountUnit","formattedSrcAmount","formattedDestAmount","srcUsdAmount","parseFloat","destUsdAmount","isCrossChain","topTokenBadgeProps","chainId","amountPosition","classes","showNetworkIcon","bottomTokenBadgeProps","srcAmountWei","parseUnits","decimals","destAmountWei","topToken","tokenBadgeProps","usdAmount","showNetwork","section","bottomToken","extraLabel","toString","line","warningClasses","PriceChangedWarning","TradeReviewDetailsBase","useTradeFlowContext","data","useTokenPrice","price","payReceiveInfoProps","TradeDetails","derivedStep"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeDetailsDisplay.js","sources":["../../../../src/components/widget/TradeOverview/TradeDetailsDisplay.tsx"],"sourcesContent":["import {\n useTradeFlowContext,\n type TradeFlowDerivedStep,\n} from \"./tradeFlowContext\";\n\n// have to import by ?url because vite can't process .lottie file without a plugin,\n// and <DotLottieReact/> expects a url.\n// .json from inside the .lottie file is larger in size (.lottie is just an archive)\nimport ApprovingLottie_1 from \"./assets/1_approving.lottie?url\";\nimport InProgressLottie_2 from \"./assets/2_in_progress.lottie?url\";\nimport ExecutingLottie_3 from \"./assets/3_executing_step.lottie?url\";\nimport CompleteLottie_4 from \"./assets/4_complete_step.lottie?url\";\nimport ErrorLottie_5 from \"./assets/5_error_step.lottie?url\";\n\nimport { DotLottieReact } from \"@lottiefiles/dotlottie-react\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { lottieProps } from \"./motionProps\";\n\nconst step2lottie: Record<TradeFlowDerivedStep, string
|
|
1
|
+
{"version":3,"file":"TradeDetailsDisplay.js","sources":["../../../../src/components/widget/TradeOverview/TradeDetailsDisplay.tsx"],"sourcesContent":["import {\n useTradeFlowContext,\n type TradeFlowDerivedStep,\n} from \"./tradeFlowContext\";\n\n// have to import by ?url because vite can't process .lottie file without a plugin,\n// and <DotLottieReact/> expects a url.\n// .json from inside the .lottie file is larger in size (.lottie is just an archive)\nimport ApprovingLottie_1 from \"./assets/1_approving.lottie?url\";\nimport InProgressLottie_2 from \"./assets/2_in_progress.lottie?url\";\nimport ExecutingLottie_3 from \"./assets/3_executing_step.lottie?url\";\nimport CompleteLottie_4 from \"./assets/4_complete_step.lottie?url\";\nimport ErrorLottie_5 from \"./assets/5_error_step.lottie?url\";\n\nimport { DotLottieReact } from \"@lottiefiles/dotlottie-react\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { lottieProps } from \"./motionProps\";\n\nconst step2lottie: Partial<Record<TradeFlowDerivedStep, string>> = {\n signature: ApprovingLottie_1,\n auction: InProgressLottie_2,\n \"order-submission\": ExecutingLottie_3, // Limit/OTC Order submission\n \"swap-tx-execution\": ExecutingLottie_3,\n \"order-execution\": ExecutingLottie_3, // Limit/OTC Order execution\n complete: CompleteLottie_4,\n error: ErrorLottie_5,\n};\n\nexport const TradeDetailsDisplay = () => {\n const { derivedStep } = useTradeFlowContext();\n const lottiePath = derivedStep ? step2lottie[derivedStep] : null;\n\n return (\n <div className=\"h-[168px] rounded-sm bg-contrast-7 dark:bg-contrast-1 border border-t-0 border-transparent shadow-card-1 overflow-hidden\">\n <AnimatePresence mode=\"popLayout\">\n {lottiePath && (\n <motion.div {...lottieProps} key={derivedStep}>\n <DotLottieReact\n src={lottiePath}\n loop\n autoplay\n className=\"h-full w-full rounded-sm overflow-hidden\"\n />\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n};\n"],"names":["step2lottie","signature","ApprovingLottie_1","auction","InProgressLottie_2","ExecutingLottie_3","complete","CompleteLottie_4","error","ErrorLottie_5","TradeDetailsDisplay","$","_c","derivedStep","useTradeFlowContext","lottiePath","t0","lottieProps","t1"],"mappings":";;;;;;;;;;;;;AAkBA,MAAMA,WAAAA,GAA6D;AAAA,EACjEC,SAAAA,EAAWC,iBAAAA;AAAAA,EACXC,OAAAA,EAASC,kBAAAA;AAAAA,EACT,kBAAA,EAAoBC,iBAAAA;AAAAA;AAAAA,EACpB,mBAAA,EAAqBA,iBAAAA;AAAAA,EACrB,iBAAA,EAAmBA,iBAAAA;AAAAA;AAAAA,EACnBC,QAAAA,EAAUC,gBAAAA;AAAAA,EACVC,KAAAA,EAAOC;AACT,CAAA;AAEO,MAAMC,sBAAsBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACjC,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAwBC,mBAAAA,EAAoB;AAC5C,EAAA,MAAAC,UAAAA,GAAmBF,WAAAA,GAAcb,WAAAA,CAAYa,WAAW,CAAA,GAArC,IAAA;AAA8C,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAE,eAAAF,CAAAA,QAAAI,UAAAA,EAAA;AAK1DC,IAAAA,EAAAA,GAAAD,8BACC,aAAA,CAAA,MAAA,CAAA,KAAA,EAAA,GAAgBE,aAAkBJ,GAAAA,EAAAA,WAAAA,EAAAA,sBAC/B,cAAA,EAAA,EACME,GAAAA,EAAAA,YACL,IAAA,EAAA,IAAA,EACA,UAAA,IAAA,EACU,SAAA,EAAA,6CAEd,CAAA;AACDJ,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAI,UAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAK,EAAAA,EAAA;AAXLE,IAAAA,EAAAA,mBAAA,GAAA,CAAA,SAAe,SAAA,EAAA,0HAAA,EACb,8BAAC,eAAA,EAAA,EAAqB,IAAA,EAAA,WAAA,EACnBF,QAAAA,EAAAA,EAAAA,EAUH,CAAA,EACF,CAAA;AAAML,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAbNO,EAAAA;AAaM;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const TradeErrorFooter: ({ onDismiss,
|
|
1
|
+
export declare const TradeErrorFooter: ({ onDismiss, onResubmit, }: {
|
|
2
2
|
onDismiss?: () => void;
|
|
3
|
-
|
|
3
|
+
onResubmit?: () => void;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=TradeErrorFooter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeErrorFooter.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorFooter.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAAI,
|
|
1
|
+
{"version":3,"file":"TradeErrorFooter.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorFooter.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAAI,4BAG9B;IACD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,4CAwBA,CAAC"}
|
|
@@ -6,12 +6,12 @@ const TradeErrorFooter = (t0) => {
|
|
|
6
6
|
const $ = distExports.c(7);
|
|
7
7
|
const {
|
|
8
8
|
onDismiss,
|
|
9
|
-
|
|
9
|
+
onResubmit
|
|
10
10
|
} = t0;
|
|
11
11
|
let t1;
|
|
12
|
-
if ($[0] !==
|
|
13
|
-
t1 = /* @__PURE__ */ jsx(Button, { variant: "default", size: "xl", radius: "sm", className: "w-full text-sm", onClick:
|
|
14
|
-
$[0] =
|
|
12
|
+
if ($[0] !== onResubmit) {
|
|
13
|
+
t1 = /* @__PURE__ */ jsx(Button, { variant: "default", size: "xl", radius: "sm", className: "w-full text-sm", onClick: onResubmit, children: "Resubmit this Trade" });
|
|
14
|
+
$[0] = onResubmit;
|
|
15
15
|
$[1] = t1;
|
|
16
16
|
} else {
|
|
17
17
|
t1 = $[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeErrorFooter.js","sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\n\nexport const TradeErrorFooter = ({\n onDismiss,\n
|
|
1
|
+
{"version":3,"file":"TradeErrorFooter.js","sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\n\nexport const TradeErrorFooter = ({\n onDismiss,\n onResubmit,\n}: {\n onDismiss?: () => void;\n onResubmit?: () => void;\n}) => {\n return (\n <div className=\"flex flex-col justify-center w-full gap-4\">\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onResubmit}\n >\n Resubmit this Trade\n </Button>\n\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Dismiss\n </Button>\n </div>\n );\n};\n"],"names":["TradeErrorFooter","t0","$","_c","onDismiss","onResubmit","t1","t2","t3"],"mappings":";;;;AAEO,MAAMA,mBAAmBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAMhC,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAG,UAAAA,EAAA;AAGKC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,MAAA,EAAA,EACS,OAAA,EAAA,SAAA,EACH,IAAA,EAAA,IAAA,EACE,MAAA,EAAA,IAAA,EACG,SAAA,EAAA,gBAAA,EACDD,OAAAA,EAAAA,UAAAA,EACV,QAAA,EAAA,qBAAA,EAED,CAAA;AAASH,IAAAA,CAAAA,MAAAG,UAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAE,SAAAA,EAAA;AAETG,IAAAA,EAAAA,mBAAA,GAAA,CAAC,MAAA,EAAA,EACS,OAAA,EAAA,WAAA,EACH,IAAA,EAAA,IAAA,EACE,MAAA,EAAA,IAAA,EACG,SAAA,EAAA,gBAAA,EACDH,OAAAA,EAAAA,SAAAA,EACV,QAAA,EAAA,SAAA,EAED,CAAA;AAASF,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAI,MAAAJ,CAAAA,QAAAK,EAAAA,EAAA;AAnBXC,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,2CAAA,EACbF,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAUAC;AAAAA,KAAAA,EASF,CAAA;AAAML,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OApBNM,EAAAA;AAoBM;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeError/utils.ts"],"sourcesContent":["import { isRejectRequestProviderError } from \"@/lib/utils/providerErrors\";\nimport type { TradeFlowStep } from \"../tradeFlowContext\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport { isDeltaOrderFailedError } from \"@/hooks/swap/prices/delta/queries/errors\";\nimport { isCanceledDeltaAuction } from \"@/hooks/swap/prices/delta/orders/utils\";\n\nexport function getErrorMessageToDisplay(\n error: unknown,\n erroredStep?: TradeFlowStep\n): string | null {\n if (isRejectRequestProviderError(error)) {\n return null;\n }\n if (isDeltaOrderFailedError(error) && isCanceledDeltaAuction(error.order)) {\n return \"order cancellation\"; // no
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeError/utils.ts"],"sourcesContent":["import { isRejectRequestProviderError } from \"@/lib/utils/providerErrors\";\nimport type { TradeFlowStep } from \"../tradeFlowContext\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport { isDeltaOrderFailedError } from \"@/hooks/swap/prices/delta/queries/errors\";\nimport { isCanceledDeltaAuction } from \"@/hooks/swap/prices/delta/orders/utils\";\n\nexport function getErrorMessageToDisplay(\n error: unknown,\n erroredStep?: TradeFlowStep\n): string | null {\n if (isRejectRequestProviderError(error)) {\n return null;\n }\n if (isDeltaOrderFailedError(error) && isCanceledDeltaAuction(error.order)) {\n return \"order cancellation\"; // no step for cancellation, must handle separately from erroredStep\n }\n switch (erroredStep) {\n case \"signature\":\n return \"an order signatures issue\";\n case \"swap-tx-execution\":\n return \"a swap execution issue\";\n case \"auction\":\n return \"an auction issue\";\n case \"order-execution\":\n return \"an order execution issue\";\n case \"order-submission\":\n return \"an order submission issue\";\n default:\n // @TODO parse and display API errors\n return \"an unknown error\";\n }\n}\n\nexport function getErrorScreenTitle(\n error: unknown,\n tradeFlowType: TradeFlowType\n): string {\n const isOrderFlow = isOrderTradeFlowType(tradeFlowType);\n\n const action = isOrderFlow ? \"Order\" : \"Swap\";\n\n if (isRejectRequestProviderError(error)) {\n return `${action} Rejected`;\n }\n return `${action} Failed`;\n}\n"],"names":["getErrorMessageToDisplay","error","erroredStep","isRejectRequestProviderError","isDeltaOrderFailedError","isCanceledDeltaAuction","order","getErrorScreenTitle","tradeFlowType","isOrderFlow","isOrderTradeFlowType","action"],"mappings":";;;;;AAOO,SAASA,wBAAAA,CACdC,OACAC,WAAAA,EACe;AACf,EAAA,IAAIC,4BAAAA,CAA6BF,KAAK,CAAA,EAAG;AACvC,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAIG,wBAAwBH,KAAK,CAAA,IAAKI,sBAAAA,CAAuBJ,KAAAA,CAAMK,KAAK,CAAA,EAAG;AACzE,IAAA,OAAO,oBAAA;AAAA,EACT;AACA,EAAA,QAAQJ,WAAAA;AAAW,IACjB,KAAK,WAAA;AACH,MAAA,OAAO,2BAAA;AAAA,IACT,KAAK,mBAAA;AACH,MAAA,OAAO,wBAAA;AAAA,IACT,KAAK,SAAA;AACH,MAAA,OAAO,kBAAA;AAAA,IACT,KAAK,iBAAA;AACH,MAAA,OAAO,0BAAA;AAAA,IACT,KAAK,kBAAA;AACH,MAAA,OAAO,2BAAA;AAAA,IACT;AAEE,MAAA,OAAO,kBAAA;AAAA;AAEb;AAEO,SAASK,mBAAAA,CACdN,OACAO,aAAAA,EACQ;AACR,EAAA,MAAMC,WAAAA,GAAcC,qBAAqBF,aAAa,CAAA;AAEtD,EAAA,MAAMG,MAAAA,GAASF,cAAc,OAAA,GAAU,MAAA;AAEvC,EAAA,IAAIN,4BAAAA,CAA6BF,KAAK,CAAA,EAAG;AACvC,IAAA,OAAO,GAAGU,MAAM,CAAA,SAAA,CAAA;AAAA,EAClB;AACA,EAAA,OAAO,GAAGA,MAAM,CAAA,OAAA,CAAA;AAClB;;;;"}
|
|
@@ -13,20 +13,36 @@ export type PreWrapTradeOverviewProps = MinTradeOverviewProps & {
|
|
|
13
13
|
preWrapETH: boolean;
|
|
14
14
|
};
|
|
15
15
|
export type TradeOverviewProps<Key extends string = string, Result = unknown, FlowType extends string = string> = MinTradeOverviewProps & {
|
|
16
|
+
/** type of the flow */
|
|
16
17
|
tradeFlowType: FlowType;
|
|
18
|
+
/** steps of the flow */
|
|
17
19
|
steps: FlowStep<Key>[];
|
|
20
|
+
/** step that is currently active */
|
|
18
21
|
activeStep?: ActiveStep<Key>;
|
|
22
|
+
/** step within the order cancellation subflow */
|
|
19
23
|
orderCancellationStep?: GenericStep;
|
|
24
|
+
/** shows the help modal */
|
|
20
25
|
onHelp?: () => void;
|
|
26
|
+
/** cancels the flow and dismisses the overview */
|
|
21
27
|
onDismiss?: () => void;
|
|
28
|
+
/** cancels the flow */
|
|
22
29
|
onCancelFlow?: () => void;
|
|
23
|
-
|
|
30
|
+
/** switches to resubmit step */
|
|
31
|
+
onResubmit?: () => void;
|
|
32
|
+
/** restarts the flow in resubmit step */
|
|
33
|
+
onRestartFlow?: () => void;
|
|
34
|
+
/** cancels the order (still within the flow) */
|
|
24
35
|
onCancelOrder?: () => void;
|
|
36
|
+
/** whether the flow can be cancelled */
|
|
25
37
|
isFlowCancellable?: boolean;
|
|
38
|
+
/** link to the transaction explorer */
|
|
26
39
|
explorerLink?: string;
|
|
40
|
+
/** error that occurred during the flow */
|
|
27
41
|
error?: Error | null;
|
|
42
|
+
/** step that caused the error */
|
|
28
43
|
erroredStep?: Key;
|
|
44
|
+
/** result of the flow */
|
|
29
45
|
result?: Result;
|
|
30
46
|
};
|
|
31
|
-
export declare const TradeOverview: <Key extends string = string, Result = unknown, FlowType extends string = string>({ fromToken, toToken, fromAmount, toAmount, swapSide, steps, activeStep, orderCancellationStep, onHelp, onDismiss, onCancelFlow, onCancelOrder,
|
|
47
|
+
export declare const TradeOverview: <Key extends string = string, Result = unknown, FlowType extends string = string>({ fromToken, toToken, fromAmount, toAmount, swapSide, steps, activeStep, orderCancellationStep, onHelp, onDismiss, onCancelFlow, onCancelOrder, onResubmit, onRestartFlow, isFlowCancellable, explorerLink, result, error, erroredStep, tradeFlowType, }: TradeOverviewProps<Key, Result, FlowType>) => import("react/jsx-runtime").JSX.Element;
|
|
32
48
|
//# sourceMappingURL=TradeOverview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/TradeOverview.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"TradeOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/TradeOverview.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMtE,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAUzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAarD,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG;IAC9D,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,MAAM,GAAG,OAAO,EAChB,QAAQ,SAAS,MAAM,GAAG,MAAM,IAC9B,qBAAqB,GAAG;IAC1B,uBAAuB;IACvB,aAAa,EAAE,QAAQ,CAAC;IACxB,wBAAwB;IACxB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IACvB,oCAAoC;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,iDAAiD;IACjD,qBAAqB,CAAC,EAAE,WAAW,CAAC;IACpC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,wCAAwC;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,iCAAiC;IACjC,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAqMF,eAAO,MAAM,aAAa,GACxB,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,MAAM,GAAG,OAAO,EAChB,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,0PAqBC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,4CA4B3C,CAAC"}
|