@deframe-sdk/components 0.1.15 → 0.1.17
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/index.d.mts +60 -58
- package/dist/index.d.ts +60 -58
- package/dist/index.js +338 -305
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +340 -300
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +40 -21
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { HiXMark, HiChevronUp, HiChevronDown, HiChevronLeft, HiArrowRight, HiArr
|
|
|
4
4
|
import * as React6 from 'react';
|
|
5
5
|
import React6__default, { useState, useEffect } from 'react';
|
|
6
6
|
import { motion, AnimatePresence } from 'framer-motion';
|
|
7
|
-
import { MdClose, MdOutlineSearch, MdOutlineSearchOff, MdOutlineSwapHoriz, MdHistory, MdArrowRight, MdArrowDropDown, MdCheckCircleOutline, MdErrorOutline, MdWarningAmber, MdInfoOutline, MdArrowUpward, MdArrowDownward } from 'react-icons/md';
|
|
7
|
+
import { MdClose, MdOutlineSearch, MdOutlineSearchOff, MdOutlineSwapHoriz, MdHistory, MdOutlineSwapVert, MdArrowRight, MdArrowDropDown, MdCheckCircleOutline, MdErrorOutline, MdWarningAmber, MdInfoOutline, MdArrowUpward, MdArrowDownward } from 'react-icons/md';
|
|
8
8
|
import { IoAlertCircleOutline, IoTimeOutline, IoCheckmarkOutline } from 'react-icons/io5';
|
|
9
9
|
import { PiClockCountdownBold } from 'react-icons/pi';
|
|
10
10
|
|
|
@@ -231,14 +231,14 @@ function SecondaryButton(_a) {
|
|
|
231
231
|
].join(" ");
|
|
232
232
|
const stateClasses = {
|
|
233
233
|
enabled: [
|
|
234
|
-
"text-[color:var(--deframe-widget-color-
|
|
235
|
-
"border-[color:var(--deframe-widget-color-
|
|
234
|
+
"text-[color:var(--deframe-widget-color-brand-primary)]",
|
|
235
|
+
"border-[color:var(--deframe-widget-color-brand-primary)]",
|
|
236
236
|
"hover:opacity-90",
|
|
237
237
|
"cursor-pointer"
|
|
238
238
|
].join(" "),
|
|
239
239
|
disabled: [
|
|
240
|
-
"text-[color:var(--deframe-widget-color-
|
|
241
|
-
"border-[color:var(--deframe-widget-color-
|
|
240
|
+
"text-[color:var(--deframe-widget-color-brand-primary-disabled)]",
|
|
241
|
+
"border-[color:var(--deframe-widget-color-brand-primary-disabled)]",
|
|
242
242
|
"cursor-not-allowed"
|
|
243
243
|
].join(" ")
|
|
244
244
|
};
|
|
@@ -368,14 +368,21 @@ function InputField(_a) {
|
|
|
368
368
|
"transition-colors"
|
|
369
369
|
].join(" ");
|
|
370
370
|
const stateClasses = {
|
|
371
|
-
|
|
371
|
+
default: [
|
|
372
|
+
"border border-[var(--deframe-widget-color-border-primary)]",
|
|
373
|
+
"bg-[var(--deframe-widget-color-bg-raised)]"
|
|
374
|
+
].join(" "),
|
|
375
|
+
error: [
|
|
376
|
+
"border border-[var(--deframe-widget-color-state-error)]",
|
|
377
|
+
"bg-[var(--deframe-widget-color-bg-raised)]"
|
|
378
|
+
].join(" "),
|
|
372
379
|
disabled: [
|
|
373
380
|
"border",
|
|
374
381
|
"border-[var(--deframe-widget-color-border-primary-disabled)]",
|
|
382
|
+
"bg-[var(--deframe-widget-color-bg-raised-disabled)]",
|
|
375
383
|
"opacity-60",
|
|
376
384
|
"cursor-not-allowed"
|
|
377
|
-
].join(" ")
|
|
378
|
-
default: "border border-[var(--deframe-widget-color-border-primary)]"
|
|
385
|
+
].join(" ")
|
|
379
386
|
};
|
|
380
387
|
const stateKey = hasError ? "error" : disabled ? "disabled" : "default";
|
|
381
388
|
const fieldClasses = twMerge(baseClasses, stateClasses[stateKey], className);
|
|
@@ -418,12 +425,12 @@ function Link(_a) {
|
|
|
418
425
|
].join(" ");
|
|
419
426
|
const stateClasses = {
|
|
420
427
|
enabled: [
|
|
421
|
-
"text-[color:var(--deframe-widget-color-text-
|
|
422
|
-
"underline",
|
|
428
|
+
"text-[color:var(--deframe-widget-color-text-primary)]",
|
|
429
|
+
"hover:underline",
|
|
423
430
|
"cursor-pointer"
|
|
424
431
|
].join(" "),
|
|
425
432
|
disabled: [
|
|
426
|
-
"text-[color:var(--deframe-widget-color-text-
|
|
433
|
+
"text-[color:var(--deframe-widget-color-text-primary-disabled)]",
|
|
427
434
|
"cursor-not-allowed",
|
|
428
435
|
"pointer-events-none"
|
|
429
436
|
].join(" ")
|
|
@@ -2611,45 +2618,6 @@ var HistoryWithdrawDetailsView = ({
|
|
|
2611
2618
|
] }) })
|
|
2612
2619
|
] });
|
|
2613
2620
|
};
|
|
2614
|
-
var SwapNetworkSelectorView = ({
|
|
2615
|
-
chainLabel,
|
|
2616
|
-
chainImage,
|
|
2617
|
-
onClick,
|
|
2618
|
-
directionLabel = "De",
|
|
2619
|
-
testId = "swap-network-selector",
|
|
2620
|
-
className
|
|
2621
|
-
}) => {
|
|
2622
|
-
const baseClasses = "flex flex-row items-center gap-[var(--deframe-widget-size-gap-xs)]";
|
|
2623
|
-
return /* @__PURE__ */ jsxs("div", { "data-test-id": testId, className: twMerge(baseClasses, className), children: [
|
|
2624
|
-
/* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "tracking-wide text-[color:var(--deframe-widget-color-text-tertiary)]", children: directionLabel }),
|
|
2625
|
-
/* @__PURE__ */ jsxs(
|
|
2626
|
-
"button",
|
|
2627
|
-
{
|
|
2628
|
-
"data-testid": testId,
|
|
2629
|
-
type: "button",
|
|
2630
|
-
onClick,
|
|
2631
|
-
className: "ml-[var(--deframe-widget-size-gap-lg)] bg-[var(--deframe-widget-color-bg-tertiary)] border border-[color:var(--deframe-widget-color-border-tertiary)] rounded-[var(--deframe-widget-size-radius-md)] flex items-center gap-[var(--deframe-widget-size-gap-xs)] px-[var(--deframe-widget-size-padding-x-sm)] py-[var(--deframe-widget-size-padding-y-xs)] hover:border-[color:var(--deframe-widget-color-border-secondary)] transition-colors [font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] text-[color:var(--deframe-widget-color-text-secondary)] cursor-pointer",
|
|
2632
|
-
"aria-label": `${directionLabel} ${chainLabel}`,
|
|
2633
|
-
children: [
|
|
2634
|
-
chainImage ? /* @__PURE__ */ jsx("img", { src: chainImage, alt: chainLabel, className: "w-3 h-3 rounded-[var(--deframe-widget-size-radius-full)]" }) : null,
|
|
2635
|
-
/* @__PURE__ */ jsx("span", { children: chainLabel }),
|
|
2636
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-[18px] h-[18px]", children: /* @__PURE__ */ jsx(HiChevronDown, { className: "w-3 h-3 text-[color:var(--deframe-widget-color-text-tertiary)]" }) })
|
|
2637
|
-
]
|
|
2638
|
-
}
|
|
2639
|
-
)
|
|
2640
|
-
] });
|
|
2641
|
-
};
|
|
2642
|
-
var SwapQuoteHeaderView = ({
|
|
2643
|
-
label,
|
|
2644
|
-
timerElement,
|
|
2645
|
-
className
|
|
2646
|
-
}) => {
|
|
2647
|
-
const baseClasses = "border-b border-[color:var(--deframe-widget-color-border-secondary)] pb-[var(--deframe-widget-size-padding-y-sm)]";
|
|
2648
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-quote-header", className: twMerge(baseClasses, className), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2649
|
-
/* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "[font-weight:var(--deframe-widget-font-weight-semibold)] text-[color:var(--deframe-widget-color-text-secondary)] inline-flex items-center", children: label }),
|
|
2650
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-md)]", children: timerElement })
|
|
2651
|
-
] }) });
|
|
2652
|
-
};
|
|
2653
2621
|
var SwapAmountInputView = ({
|
|
2654
2622
|
value,
|
|
2655
2623
|
hasError,
|
|
@@ -2707,127 +2675,6 @@ var SwapAmountInputView = ({
|
|
|
2707
2675
|
})
|
|
2708
2676
|
);
|
|
2709
2677
|
};
|
|
2710
|
-
var SwapOutputAmountView = ({
|
|
2711
|
-
displayOutput,
|
|
2712
|
-
isLoading,
|
|
2713
|
-
loadingElement,
|
|
2714
|
-
searchingQuoteLabel = "Searching quote...",
|
|
2715
|
-
className
|
|
2716
|
-
}) => {
|
|
2717
|
-
const baseClasses = "[font-size:var(--deframe-widget-font-size-xxl)] [line-height:var(--deframe-widget-font-leading-xxl)] [font-weight:var(--deframe-widget-font-weight-extrabold)] text-right w-full min-w-[120px] text-[color:var(--deframe-widget-color-text-primary)]";
|
|
2718
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-flow-output-amount", className: twMerge(baseClasses, className), children: isLoading ? /* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "text-[color:var(--deframe-widget-color-text-primary-disabled)] inline-flex items-center", children: loadingElement != null ? loadingElement : searchingQuoteLabel }) : displayOutput });
|
|
2719
|
-
};
|
|
2720
|
-
var SwapQuoteErrorsView = ({
|
|
2721
|
-
hasQuoteError,
|
|
2722
|
-
hasBytecodeError,
|
|
2723
|
-
quoteErrorMessage = "Unable to get quote for this transaction",
|
|
2724
|
-
bytecodeErrorMessage = "Error building transaction"
|
|
2725
|
-
}) => {
|
|
2726
|
-
return /* @__PURE__ */ jsxs("div", { "data-test-id": "swap-quote-errors", children: [
|
|
2727
|
-
hasQuoteError && /* @__PURE__ */ jsx("div", { className: "mt-sm", children: /* @__PURE__ */ jsx(
|
|
2728
|
-
BannerNotification,
|
|
2729
|
-
{
|
|
2730
|
-
type: "inline",
|
|
2731
|
-
variant: "error",
|
|
2732
|
-
message: quoteErrorMessage
|
|
2733
|
-
}
|
|
2734
|
-
) }),
|
|
2735
|
-
hasBytecodeError && /* @__PURE__ */ jsx("div", { className: "mt-sm", children: /* @__PURE__ */ jsx(
|
|
2736
|
-
BannerNotification,
|
|
2737
|
-
{
|
|
2738
|
-
type: "inline",
|
|
2739
|
-
variant: "error",
|
|
2740
|
-
message: bytecodeErrorMessage
|
|
2741
|
-
}
|
|
2742
|
-
) })
|
|
2743
|
-
] });
|
|
2744
|
-
};
|
|
2745
|
-
var SLIPPAGE_OPTIONS = [10, 50, 100];
|
|
2746
|
-
var SwapSlippageToleranceButtonsView = ({
|
|
2747
|
-
slippageBps,
|
|
2748
|
-
onSelect,
|
|
2749
|
-
formatPercentage,
|
|
2750
|
-
className
|
|
2751
|
-
}) => {
|
|
2752
|
-
const baseClasses = "flex gap-[var(--deframe-widget-size-gap-xs)]";
|
|
2753
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-slippage-tolerance-buttons", className: twMerge(baseClasses, className), children: SLIPPAGE_OPTIONS.map((option) => {
|
|
2754
|
-
const isActive = slippageBps === option;
|
|
2755
|
-
const activeClasses = "border-[color:var(--deframe-widget-color-brand-primary)] text-[color:var(--deframe-widget-color-brand-primary)] bg-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_18%,transparent)]";
|
|
2756
|
-
const inactiveClasses = "border-[color:var(--deframe-widget-color-border-tertiary)] text-[color:var(--deframe-widget-color-text-secondary)] bg-[var(--deframe-widget-color-bg-primary)]";
|
|
2757
|
-
const buttonBase = "px-[var(--deframe-widget-size-padding-x-sm)] py-[var(--deframe-widget-size-padding-y-xs)] rounded-[var(--deframe-widget-size-radius-xs)] border [font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] cursor-pointer";
|
|
2758
|
-
return /* @__PURE__ */ jsx(
|
|
2759
|
-
"button",
|
|
2760
|
-
{
|
|
2761
|
-
"data-test-id": `slippage-option-${option}`,
|
|
2762
|
-
type: "button",
|
|
2763
|
-
onClick: () => onSelect(option),
|
|
2764
|
-
className: twMerge(buttonBase, isActive ? activeClasses : inactiveClasses),
|
|
2765
|
-
"aria-label": `${formatPercentage(option)}% slippage`,
|
|
2766
|
-
"aria-pressed": isActive,
|
|
2767
|
-
children: formatPercentage(option)
|
|
2768
|
-
},
|
|
2769
|
-
option
|
|
2770
|
-
);
|
|
2771
|
-
}) });
|
|
2772
|
-
};
|
|
2773
|
-
var SwapTokenSelectorView = ({
|
|
2774
|
-
token,
|
|
2775
|
-
onClick,
|
|
2776
|
-
testId = "swap-token-selector",
|
|
2777
|
-
selectTokenLabel = "Select token",
|
|
2778
|
-
className
|
|
2779
|
-
}) => {
|
|
2780
|
-
const baseClasses = "h-[56px] border border-[color:var(--deframe-widget-color-border-secondary)] rounded-[var(--deframe-widget-size-radius-xs)] overflow-hidden hover:border-[color:var(--deframe-widget-color-border-primary)] transition-colors flex items-center px-[var(--deframe-widget-size-padding-x-sm)] py-[6px] w-full cursor-pointer";
|
|
2781
|
-
return /* @__PURE__ */ jsxs(
|
|
2782
|
-
"button",
|
|
2783
|
-
{
|
|
2784
|
-
"data-test-id": testId,
|
|
2785
|
-
type: "button",
|
|
2786
|
-
onClick,
|
|
2787
|
-
className: twMerge(baseClasses, className),
|
|
2788
|
-
"aria-label": token ? token.symbol : selectTokenLabel,
|
|
2789
|
-
children: [
|
|
2790
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-sm)] flex-1", children: token ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2791
|
-
token.logoURI ? /* @__PURE__ */ jsx("img", { src: token.logoURI, alt: token.symbol, className: "w-6 h-6 rounded-[var(--deframe-widget-size-radius-full)]" }) : /* @__PURE__ */ jsx("div", { className: "w-6 h-6 rounded-[var(--deframe-widget-size-radius-full)] bg-[var(--deframe-widget-color-bg-secondary)] text-[color:var(--deframe-widget-color-text-secondary)] flex items-center justify-center text-[10px] [font-weight:var(--deframe-widget-font-weight-semibold)]", children: (token.symbol || "").slice(0, 3).toUpperCase() }),
|
|
2792
|
-
/* @__PURE__ */ jsx(TextBody, { as: "span", className: "text-[color:var(--deframe-widget-color-text-primary)]", children: token.symbol })
|
|
2793
|
-
] }) : /* @__PURE__ */ jsx(TextBody, { as: "span", className: "text-[color:var(--deframe-widget-color-text-secondary)]", children: selectTokenLabel }) }),
|
|
2794
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-[18px] h-[18px]", children: /* @__PURE__ */ jsx(HiChevronDown, { className: "w-3 h-3 text-[color:var(--deframe-widget-color-text-tertiary)]" }) })
|
|
2795
|
-
]
|
|
2796
|
-
}
|
|
2797
|
-
);
|
|
2798
|
-
};
|
|
2799
|
-
var SwapQuoteBlockchainCostsView = ({
|
|
2800
|
-
totalCostFormatted,
|
|
2801
|
-
feePercentage,
|
|
2802
|
-
gasCostFormatted,
|
|
2803
|
-
protocolFee,
|
|
2804
|
-
blockchainCostsLabel = "Blockchain Costs",
|
|
2805
|
-
networkGasLabel = "Network Gas",
|
|
2806
|
-
protocolFeeLabel = "Protocol Fee",
|
|
2807
|
-
collapseLabel = "Collapse",
|
|
2808
|
-
expandLabel = "Expand"
|
|
2809
|
-
}) => {
|
|
2810
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-quote-blockchain-costs", children: /* @__PURE__ */ jsx(
|
|
2811
|
-
CollapsibleInfoRow,
|
|
2812
|
-
{
|
|
2813
|
-
label: blockchainCostsLabel,
|
|
2814
|
-
value: `${totalCostFormatted} ~ ${feePercentage}%`,
|
|
2815
|
-
defaultOpen: true,
|
|
2816
|
-
collapseLabel,
|
|
2817
|
-
expandLabel,
|
|
2818
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-[var(--deframe-widget-size-gap-sm)]", children: [
|
|
2819
|
-
/* @__PURE__ */ jsxs(InfoRowWithIcon, { children: [
|
|
2820
|
-
/* @__PURE__ */ jsx(InfoRowIconLabel, { children: networkGasLabel }),
|
|
2821
|
-
/* @__PURE__ */ jsx(InfoRowIconValue, { children: gasCostFormatted })
|
|
2822
|
-
] }),
|
|
2823
|
-
/* @__PURE__ */ jsxs(InfoRowWithIcon, { borderBottom: true, children: [
|
|
2824
|
-
/* @__PURE__ */ jsx(InfoRowIconLabel, { children: protocolFeeLabel }),
|
|
2825
|
-
/* @__PURE__ */ jsx(InfoRowIconValue, { children: protocolFee })
|
|
2826
|
-
] })
|
|
2827
|
-
] })
|
|
2828
|
-
}
|
|
2829
|
-
) });
|
|
2830
|
-
};
|
|
2831
2678
|
var ChooseAStrategyActionsheetView = ({
|
|
2832
2679
|
isOpen,
|
|
2833
2680
|
currentActionSheetId,
|
|
@@ -2896,8 +2743,16 @@ var StrategyDetailsView = ({
|
|
|
2896
2743
|
headerTitle = "Details",
|
|
2897
2744
|
strategyInfoTitle = "Strategy Info",
|
|
2898
2745
|
depositButtonLabel = "Deposit",
|
|
2899
|
-
backAriaLabel = "Back"
|
|
2746
|
+
backAriaLabel = "Back",
|
|
2747
|
+
error,
|
|
2748
|
+
notFoundMessage
|
|
2900
2749
|
}) => {
|
|
2750
|
+
if (error) {
|
|
2751
|
+
return /* @__PURE__ */ jsx(BackgroundContainer, { children: /* @__PURE__ */ jsx("div", { className: "text-text-secondary dark:text-text-secondary-dark p-md", children: error }) });
|
|
2752
|
+
}
|
|
2753
|
+
if (notFoundMessage) {
|
|
2754
|
+
return /* @__PURE__ */ jsx(BackgroundContainer, { children: /* @__PURE__ */ jsx("div", { className: "text-text-secondary dark:text-text-secondary-dark p-md", children: notFoundMessage }) });
|
|
2755
|
+
}
|
|
2901
2756
|
return /* @__PURE__ */ jsxs(BackgroundContainer, { children: [
|
|
2902
2757
|
/* @__PURE__ */ jsx(DetailsHeader, { title: headerTitle, onBack, backAriaLabel }),
|
|
2903
2758
|
/* @__PURE__ */ jsx("div", { "data-test-id": "strategy-details-content", className: "flex-1 min-h-0 overflow-y-auto px-[var(--deframe-widget-size-padding-x-md)] py-[var(--deframe-widget-size-padding-y-md)] py-[var(--deframe-widget-size-padding-y-lg)] pb-[var(--deframe-widget-size-padding-y-xxl)]", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-[var(--deframe-widget-size-gap-lg)] min-h-full", children: [
|
|
@@ -4106,56 +3961,56 @@ var ChooseAnAssetSwapView = ({
|
|
|
4106
3961
|
}
|
|
4107
3962
|
) });
|
|
4108
3963
|
};
|
|
4109
|
-
var
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
advancedSettings,
|
|
4116
|
-
transactionDetails,
|
|
4117
|
-
confirmButton
|
|
3964
|
+
var SwapTokenSelectorView = ({
|
|
3965
|
+
token,
|
|
3966
|
+
onClick,
|
|
3967
|
+
testId = "swap-token-selector",
|
|
3968
|
+
selectTokenLabel = "Select token",
|
|
3969
|
+
className
|
|
4118
3970
|
}) => {
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
}
|
|
4152
|
-
),
|
|
4153
|
-
/* @__PURE__ */ jsx(
|
|
4154
|
-
"div",
|
|
3971
|
+
const baseClasses = "h-[56px] border border-[color:var(--deframe-widget-color-border-secondary)] rounded-[var(--deframe-widget-size-radius-xs)] overflow-hidden hover:border-[color:var(--deframe-widget-color-border-primary)] transition-colors flex items-center px-[var(--deframe-widget-size-padding-x-sm)] py-[6px] w-full cursor-pointer";
|
|
3972
|
+
return /* @__PURE__ */ jsxs(
|
|
3973
|
+
"button",
|
|
3974
|
+
{
|
|
3975
|
+
"data-test-id": testId,
|
|
3976
|
+
type: "button",
|
|
3977
|
+
onClick,
|
|
3978
|
+
className: twMerge(baseClasses, className),
|
|
3979
|
+
"aria-label": token ? token.symbol : selectTokenLabel,
|
|
3980
|
+
children: [
|
|
3981
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-sm)] flex-1", children: token ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3982
|
+
token.logoURI ? /* @__PURE__ */ jsx("img", { src: token.logoURI, alt: token.symbol, className: "w-6 h-6 rounded-[var(--deframe-widget-size-radius-full)]" }) : /* @__PURE__ */ jsx("div", { className: "w-6 h-6 rounded-[var(--deframe-widget-size-radius-full)] bg-[var(--deframe-widget-color-bg-secondary)] text-[color:var(--deframe-widget-color-text-secondary)] flex items-center justify-center text-[10px] [font-weight:var(--deframe-widget-font-weight-semibold)]", children: (token.symbol || "").slice(0, 3).toUpperCase() }),
|
|
3983
|
+
/* @__PURE__ */ jsx(TextBody, { as: "span", className: "text-[color:var(--deframe-widget-color-text-primary)]", children: token.symbol })
|
|
3984
|
+
] }) : /* @__PURE__ */ jsx(TextBody, { as: "span", className: "text-[color:var(--deframe-widget-color-text-secondary)]", children: selectTokenLabel }) }),
|
|
3985
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-[18px] h-[18px]", children: /* @__PURE__ */ jsx(HiChevronDown, { className: "w-3 h-3 text-[color:var(--deframe-widget-color-text-tertiary)]" }) })
|
|
3986
|
+
]
|
|
3987
|
+
}
|
|
3988
|
+
);
|
|
3989
|
+
};
|
|
3990
|
+
var SwapNetworkSelectorView = ({
|
|
3991
|
+
chainLabel,
|
|
3992
|
+
chainImage,
|
|
3993
|
+
onClick,
|
|
3994
|
+
directionLabel = "De",
|
|
3995
|
+
testId = "swap-network-selector",
|
|
3996
|
+
className
|
|
3997
|
+
}) => {
|
|
3998
|
+
const baseClasses = "flex flex-row items-center gap-[var(--deframe-widget-size-gap-xs)]";
|
|
3999
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": testId, className: twMerge(baseClasses, className), children: [
|
|
4000
|
+
/* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "tracking-wide text-[color:var(--deframe-widget-color-text-tertiary)]", children: directionLabel }),
|
|
4001
|
+
/* @__PURE__ */ jsxs(
|
|
4002
|
+
"button",
|
|
4155
4003
|
{
|
|
4156
|
-
"data-testid":
|
|
4157
|
-
|
|
4158
|
-
|
|
4004
|
+
"data-testid": testId,
|
|
4005
|
+
type: "button",
|
|
4006
|
+
onClick,
|
|
4007
|
+
className: "ml-[var(--deframe-widget-size-gap-lg)] bg-[var(--deframe-widget-color-bg-tertiary)] border border-[color:var(--deframe-widget-color-border-tertiary)] rounded-[var(--deframe-widget-size-radius-md)] flex items-center gap-[var(--deframe-widget-size-gap-xs)] px-[var(--deframe-widget-size-padding-x-sm)] py-[var(--deframe-widget-size-padding-y-xs)] hover:border-[color:var(--deframe-widget-color-border-secondary)] transition-colors [font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] text-[color:var(--deframe-widget-color-text-secondary)] cursor-pointer",
|
|
4008
|
+
"aria-label": `${directionLabel} ${chainLabel}`,
|
|
4009
|
+
children: [
|
|
4010
|
+
chainImage ? /* @__PURE__ */ jsx("img", { src: chainImage, alt: chainLabel, className: "w-3 h-3 rounded-[var(--deframe-widget-size-radius-full)]" }) : null,
|
|
4011
|
+
/* @__PURE__ */ jsx("span", { children: chainLabel }),
|
|
4012
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-[18px] h-[18px]", children: /* @__PURE__ */ jsx(HiChevronDown, { className: "w-3 h-3 text-[color:var(--deframe-widget-color-text-tertiary)]" }) })
|
|
4013
|
+
]
|
|
4159
4014
|
}
|
|
4160
4015
|
)
|
|
4161
4016
|
] });
|
|
@@ -4176,7 +4031,7 @@ var SwapFromCardView = ({
|
|
|
4176
4031
|
maxFractionDigits,
|
|
4177
4032
|
amountUsdFormatted,
|
|
4178
4033
|
isAmountUsdLoading,
|
|
4179
|
-
|
|
4034
|
+
field
|
|
4180
4035
|
}) => {
|
|
4181
4036
|
return /* @__PURE__ */ jsx(SectionCard, { className: "flex flex-col gap-sm", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-row gap-md items-center", children: [
|
|
4182
4037
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-sm flex-1", children: [
|
|
@@ -4231,7 +4086,7 @@ var SwapFromCardView = ({
|
|
|
4231
4086
|
}
|
|
4232
4087
|
)
|
|
4233
4088
|
] }),
|
|
4234
|
-
/* @__PURE__ */
|
|
4089
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col flex-1 items-end justify-center gap-xs", children: [
|
|
4235
4090
|
/* @__PURE__ */ jsx(
|
|
4236
4091
|
SwapAmountInputView,
|
|
4237
4092
|
{
|
|
@@ -4239,7 +4094,8 @@ var SwapFromCardView = ({
|
|
|
4239
4094
|
hasError: amountHasError,
|
|
4240
4095
|
onChange: onAmountChange,
|
|
4241
4096
|
maxFractionDigits,
|
|
4242
|
-
ariaLabel: labels.amountPlaceholder
|
|
4097
|
+
ariaLabel: labels.amountPlaceholder,
|
|
4098
|
+
field
|
|
4243
4099
|
}
|
|
4244
4100
|
),
|
|
4245
4101
|
/* @__PURE__ */ jsx(
|
|
@@ -4251,9 +4107,19 @@ var SwapFromCardView = ({
|
|
|
4251
4107
|
children: isAmountUsdLoading ? /* @__PURE__ */ jsx(LoadingDots, {}) : amountUsdFormatted
|
|
4252
4108
|
}
|
|
4253
4109
|
)
|
|
4254
|
-
] })
|
|
4110
|
+
] })
|
|
4255
4111
|
] }) });
|
|
4256
4112
|
};
|
|
4113
|
+
var SwapOutputAmountView = ({
|
|
4114
|
+
displayOutput,
|
|
4115
|
+
isLoading,
|
|
4116
|
+
loadingElement,
|
|
4117
|
+
searchingQuoteLabel = "Searching quote...",
|
|
4118
|
+
className
|
|
4119
|
+
}) => {
|
|
4120
|
+
const baseClasses = "[font-size:var(--deframe-widget-font-size-xxl)] [line-height:var(--deframe-widget-font-leading-xxl)] [font-weight:var(--deframe-widget-font-weight-extrabold)] text-right w-full min-w-[120px] text-[color:var(--deframe-widget-color-text-primary)]";
|
|
4121
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-flow-output-amount", className: twMerge(baseClasses, className), children: isLoading ? /* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "text-[color:var(--deframe-widget-color-text-primary-disabled)] inline-flex items-center", children: loadingElement != null ? loadingElement : searchingQuoteLabel }) : displayOutput });
|
|
4122
|
+
};
|
|
4257
4123
|
var SwapToCardView = ({
|
|
4258
4124
|
labels,
|
|
4259
4125
|
selectedToken,
|
|
@@ -4331,6 +4197,152 @@ var SwapToCardView = ({
|
|
|
4331
4197
|
] })
|
|
4332
4198
|
] }) });
|
|
4333
4199
|
};
|
|
4200
|
+
var SLIPPAGE_OPTIONS = [10, 50, 100];
|
|
4201
|
+
var SwapSlippageToleranceButtonsView = ({
|
|
4202
|
+
slippageBps,
|
|
4203
|
+
onSelect,
|
|
4204
|
+
formatPercentage,
|
|
4205
|
+
className
|
|
4206
|
+
}) => {
|
|
4207
|
+
const baseClasses = "flex gap-[var(--deframe-widget-size-gap-xs)]";
|
|
4208
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-slippage-tolerance-buttons", className: twMerge(baseClasses, className), children: SLIPPAGE_OPTIONS.map((option) => {
|
|
4209
|
+
const isActive = slippageBps === option;
|
|
4210
|
+
const activeClasses = "border-[color:var(--deframe-widget-color-brand-primary)] text-[color:var(--deframe-widget-color-brand-primary)] bg-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_18%,transparent)]";
|
|
4211
|
+
const inactiveClasses = "border-[color:var(--deframe-widget-color-border-tertiary)] text-[color:var(--deframe-widget-color-text-secondary)] bg-[var(--deframe-widget-color-bg-primary)]";
|
|
4212
|
+
const buttonBase = "px-[var(--deframe-widget-size-padding-x-sm)] py-[var(--deframe-widget-size-padding-y-xs)] rounded-[var(--deframe-widget-size-radius-xs)] border [font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] cursor-pointer";
|
|
4213
|
+
return /* @__PURE__ */ jsx(
|
|
4214
|
+
"button",
|
|
4215
|
+
{
|
|
4216
|
+
"data-test-id": `slippage-option-${option}`,
|
|
4217
|
+
type: "button",
|
|
4218
|
+
onClick: () => onSelect(option),
|
|
4219
|
+
className: twMerge(buttonBase, isActive ? activeClasses : inactiveClasses),
|
|
4220
|
+
"aria-label": `${formatPercentage(option)}% slippage`,
|
|
4221
|
+
"aria-pressed": isActive,
|
|
4222
|
+
children: formatPercentage(option)
|
|
4223
|
+
},
|
|
4224
|
+
option
|
|
4225
|
+
);
|
|
4226
|
+
}) });
|
|
4227
|
+
};
|
|
4228
|
+
var SwapAdvancedSettingsView = ({
|
|
4229
|
+
title,
|
|
4230
|
+
isOpen,
|
|
4231
|
+
onOpenChange,
|
|
4232
|
+
slippageBps,
|
|
4233
|
+
onSlippageSelect,
|
|
4234
|
+
formatPercentage,
|
|
4235
|
+
percentageOptions,
|
|
4236
|
+
onPercentageClick,
|
|
4237
|
+
slippageFormatted,
|
|
4238
|
+
collapseText,
|
|
4239
|
+
expandText,
|
|
4240
|
+
maxLabel
|
|
4241
|
+
}) => {
|
|
4242
|
+
return /* @__PURE__ */ jsx("div", { className: "pb-2 mt-md", children: /* @__PURE__ */ jsx(SectionCard, { children: /* @__PURE__ */ jsxs(
|
|
4243
|
+
CollapsibleSection,
|
|
4244
|
+
{
|
|
4245
|
+
title,
|
|
4246
|
+
subtitle: slippageFormatted,
|
|
4247
|
+
open: isOpen,
|
|
4248
|
+
onOpenChange,
|
|
4249
|
+
collapseText,
|
|
4250
|
+
expandText,
|
|
4251
|
+
children: [
|
|
4252
|
+
/* @__PURE__ */ jsx(
|
|
4253
|
+
SwapSlippageToleranceButtonsView,
|
|
4254
|
+
{
|
|
4255
|
+
slippageBps,
|
|
4256
|
+
onSelect: onSlippageSelect,
|
|
4257
|
+
formatPercentage,
|
|
4258
|
+
className: "mt-md"
|
|
4259
|
+
}
|
|
4260
|
+
),
|
|
4261
|
+
/* @__PURE__ */ jsx("div", { className: "w-full mt-md", children: /* @__PURE__ */ jsx("div", { className: "flex w-full gap-sm", children: percentageOptions.map((pct, index) => {
|
|
4262
|
+
const isMax = index === percentageOptions.length - 1;
|
|
4263
|
+
const label = isMax ? maxLabel : `${pct / 100}%`;
|
|
4264
|
+
return /* @__PURE__ */ jsx(
|
|
4265
|
+
PercentageButton,
|
|
4266
|
+
{
|
|
4267
|
+
type: "button",
|
|
4268
|
+
onClick: () => onPercentageClick(pct),
|
|
4269
|
+
children: label
|
|
4270
|
+
},
|
|
4271
|
+
pct
|
|
4272
|
+
);
|
|
4273
|
+
}) }) })
|
|
4274
|
+
]
|
|
4275
|
+
}
|
|
4276
|
+
) }) });
|
|
4277
|
+
};
|
|
4278
|
+
var SwapQuoteHeaderView = ({
|
|
4279
|
+
label,
|
|
4280
|
+
timerElement,
|
|
4281
|
+
className
|
|
4282
|
+
}) => {
|
|
4283
|
+
const baseClasses = "border-b border-[color:var(--deframe-widget-color-border-secondary)] pb-[var(--deframe-widget-size-padding-y-sm)]";
|
|
4284
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-quote-header", className: twMerge(baseClasses, className), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
4285
|
+
/* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "[font-weight:var(--deframe-widget-font-weight-semibold)] text-[color:var(--deframe-widget-color-text-secondary)] inline-flex items-center", children: label }),
|
|
4286
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-md)]", children: timerElement })
|
|
4287
|
+
] }) });
|
|
4288
|
+
};
|
|
4289
|
+
var SwapQuoteBlockchainCostsView = ({
|
|
4290
|
+
totalCostFormatted,
|
|
4291
|
+
feePercentage,
|
|
4292
|
+
gasCostFormatted,
|
|
4293
|
+
protocolFee,
|
|
4294
|
+
blockchainCostsLabel = "Blockchain Costs",
|
|
4295
|
+
networkGasLabel = "Network Gas",
|
|
4296
|
+
protocolFeeLabel = "Protocol Fee",
|
|
4297
|
+
collapseLabel = "Collapse",
|
|
4298
|
+
expandLabel = "Expand"
|
|
4299
|
+
}) => {
|
|
4300
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-quote-blockchain-costs", children: /* @__PURE__ */ jsx(
|
|
4301
|
+
CollapsibleInfoRow,
|
|
4302
|
+
{
|
|
4303
|
+
label: blockchainCostsLabel,
|
|
4304
|
+
value: `${totalCostFormatted} ~ ${feePercentage}%`,
|
|
4305
|
+
defaultOpen: true,
|
|
4306
|
+
collapseLabel,
|
|
4307
|
+
expandLabel,
|
|
4308
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-[var(--deframe-widget-size-gap-sm)]", children: [
|
|
4309
|
+
/* @__PURE__ */ jsxs(InfoRowWithIcon, { children: [
|
|
4310
|
+
/* @__PURE__ */ jsx(InfoRowIconLabel, { children: networkGasLabel }),
|
|
4311
|
+
/* @__PURE__ */ jsx(InfoRowIconValue, { children: gasCostFormatted })
|
|
4312
|
+
] }),
|
|
4313
|
+
/* @__PURE__ */ jsxs(InfoRowWithIcon, { borderBottom: true, children: [
|
|
4314
|
+
/* @__PURE__ */ jsx(InfoRowIconLabel, { children: protocolFeeLabel }),
|
|
4315
|
+
/* @__PURE__ */ jsx(InfoRowIconValue, { children: protocolFee })
|
|
4316
|
+
] })
|
|
4317
|
+
] })
|
|
4318
|
+
}
|
|
4319
|
+
) });
|
|
4320
|
+
};
|
|
4321
|
+
var SwapQuoteErrorsView = ({
|
|
4322
|
+
hasQuoteError,
|
|
4323
|
+
hasBytecodeError,
|
|
4324
|
+
quoteErrorMessage = "Unable to get quote for this transaction",
|
|
4325
|
+
bytecodeErrorMessage = "Error building transaction"
|
|
4326
|
+
}) => {
|
|
4327
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": "swap-quote-errors", children: [
|
|
4328
|
+
hasQuoteError && /* @__PURE__ */ jsx("div", { className: "mt-sm", children: /* @__PURE__ */ jsx(
|
|
4329
|
+
BannerNotification,
|
|
4330
|
+
{
|
|
4331
|
+
type: "inline",
|
|
4332
|
+
variant: "error",
|
|
4333
|
+
message: quoteErrorMessage
|
|
4334
|
+
}
|
|
4335
|
+
) }),
|
|
4336
|
+
hasBytecodeError && /* @__PURE__ */ jsx("div", { className: "mt-sm", children: /* @__PURE__ */ jsx(
|
|
4337
|
+
BannerNotification,
|
|
4338
|
+
{
|
|
4339
|
+
type: "inline",
|
|
4340
|
+
variant: "error",
|
|
4341
|
+
message: bytecodeErrorMessage
|
|
4342
|
+
}
|
|
4343
|
+
) })
|
|
4344
|
+
] });
|
|
4345
|
+
};
|
|
4334
4346
|
var SwapQuoteDetailsView = ({
|
|
4335
4347
|
labels,
|
|
4336
4348
|
isVisible,
|
|
@@ -4401,7 +4413,7 @@ var SwapQuoteDetailsView = ({
|
|
|
4401
4413
|
title: labels.headerLabel,
|
|
4402
4414
|
items,
|
|
4403
4415
|
defaultOpen: isVisible,
|
|
4404
|
-
className: "
|
|
4416
|
+
className: "rounded shadow-sm p-md flex flex-col bg-[var(--deframe-widget-color-bg-subtle)] lg:bg-[var(--deframe-widget-color-bg-raised)]"
|
|
4405
4417
|
},
|
|
4406
4418
|
`details-${isVisible}`
|
|
4407
4419
|
),
|
|
@@ -4416,56 +4428,6 @@ var SwapQuoteDetailsView = ({
|
|
|
4416
4428
|
)
|
|
4417
4429
|
] });
|
|
4418
4430
|
};
|
|
4419
|
-
var SwapAdvancedSettingsView = ({
|
|
4420
|
-
title,
|
|
4421
|
-
isOpen,
|
|
4422
|
-
onOpenChange,
|
|
4423
|
-
slippageBps,
|
|
4424
|
-
onSlippageSelect,
|
|
4425
|
-
formatPercentage,
|
|
4426
|
-
percentageOptions,
|
|
4427
|
-
onPercentageClick,
|
|
4428
|
-
slippageFormatted,
|
|
4429
|
-
collapseText,
|
|
4430
|
-
expandText,
|
|
4431
|
-
maxLabel
|
|
4432
|
-
}) => {
|
|
4433
|
-
return /* @__PURE__ */ jsx("div", { className: "pb-2 mt-md", children: /* @__PURE__ */ jsx(SectionCard, { children: /* @__PURE__ */ jsxs(
|
|
4434
|
-
CollapsibleSection,
|
|
4435
|
-
{
|
|
4436
|
-
title,
|
|
4437
|
-
subtitle: slippageFormatted,
|
|
4438
|
-
open: isOpen,
|
|
4439
|
-
onOpenChange,
|
|
4440
|
-
collapseText,
|
|
4441
|
-
expandText,
|
|
4442
|
-
children: [
|
|
4443
|
-
/* @__PURE__ */ jsx(
|
|
4444
|
-
SwapSlippageToleranceButtonsView,
|
|
4445
|
-
{
|
|
4446
|
-
slippageBps,
|
|
4447
|
-
onSelect: onSlippageSelect,
|
|
4448
|
-
formatPercentage,
|
|
4449
|
-
className: "mt-md"
|
|
4450
|
-
}
|
|
4451
|
-
),
|
|
4452
|
-
/* @__PURE__ */ jsx("div", { className: "w-full mt-md", children: /* @__PURE__ */ jsx("div", { className: "flex w-full gap-sm", children: percentageOptions.map((pct, index) => {
|
|
4453
|
-
const isMax = index === percentageOptions.length - 1;
|
|
4454
|
-
const label = isMax ? maxLabel : `${pct / 100}%`;
|
|
4455
|
-
return /* @__PURE__ */ jsx(
|
|
4456
|
-
PercentageButton,
|
|
4457
|
-
{
|
|
4458
|
-
type: "button",
|
|
4459
|
-
onClick: () => onPercentageClick(pct),
|
|
4460
|
-
children: label
|
|
4461
|
-
},
|
|
4462
|
-
pct
|
|
4463
|
-
);
|
|
4464
|
-
}) }) })
|
|
4465
|
-
]
|
|
4466
|
-
}
|
|
4467
|
-
) }) });
|
|
4468
|
-
};
|
|
4469
4431
|
var ConfirmSwapButtonView = ({
|
|
4470
4432
|
buttonLabel,
|
|
4471
4433
|
disabled,
|
|
@@ -4485,6 +4447,73 @@ var ConfirmSwapButtonView = ({
|
|
|
4485
4447
|
}
|
|
4486
4448
|
) });
|
|
4487
4449
|
};
|
|
4450
|
+
var SwapFormView = ({
|
|
4451
|
+
onSubmit,
|
|
4452
|
+
formRef,
|
|
4453
|
+
labels,
|
|
4454
|
+
onHistoryClick,
|
|
4455
|
+
onSwitchTokens,
|
|
4456
|
+
switchTokensAriaLabel,
|
|
4457
|
+
fromCard,
|
|
4458
|
+
toCard,
|
|
4459
|
+
advancedSettings,
|
|
4460
|
+
transactionDetails,
|
|
4461
|
+
confirmButton
|
|
4462
|
+
}) => {
|
|
4463
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4464
|
+
/* @__PURE__ */ jsx(
|
|
4465
|
+
"div",
|
|
4466
|
+
{
|
|
4467
|
+
"data-testid": "swap-form-view",
|
|
4468
|
+
className: "flex-1 min-h-0 overflow-y-auto swap-flow-content pr-sm",
|
|
4469
|
+
children: /* @__PURE__ */ jsx("form", { ref: formRef, onSubmit, "data-testid": "swap-flow-form", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-md text-text-secondary dark:text-text-secondary-dark", children: [
|
|
4470
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-md", children: [
|
|
4471
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-sm", children: [
|
|
4472
|
+
/* @__PURE__ */ jsx(TextHeading, { variant: "h5", className: "!text-[21px]", children: /* @__PURE__ */ jsx("span", { "data-testid": "swap-flow-title", children: labels.title }) }),
|
|
4473
|
+
labels.subtitle && /* @__PURE__ */ jsx(TextBody, { variant: "text-small", className: "!text-[14px]", children: labels.subtitle })
|
|
4474
|
+
] }),
|
|
4475
|
+
/* @__PURE__ */ jsx(
|
|
4476
|
+
"button",
|
|
4477
|
+
{
|
|
4478
|
+
"data-testid": "swap-history-button",
|
|
4479
|
+
type: "button",
|
|
4480
|
+
onClick: onHistoryClick,
|
|
4481
|
+
className: "flex items-center justify-center w-12 h-12 transition-colors rounded-full cursor-pointer text-text-secondary dark:text-text-secondary-dark hover:text-brand-primary",
|
|
4482
|
+
"aria-label": labels.historyAriaLabel,
|
|
4483
|
+
children: /* @__PURE__ */ jsx(MdHistory, { className: "w-6 h-6" })
|
|
4484
|
+
}
|
|
4485
|
+
)
|
|
4486
|
+
] }),
|
|
4487
|
+
/* @__PURE__ */ jsxs("div", { className: "relative flex flex-col items-stretch gap-sm", children: [
|
|
4488
|
+
/* @__PURE__ */ jsx(SwapFromCardView, __spreadValues({}, fromCard)),
|
|
4489
|
+
/* @__PURE__ */ jsx("div", { className: "flex justify-center -my-5 relative z-10", children: /* @__PURE__ */ jsx(
|
|
4490
|
+
"button",
|
|
4491
|
+
{
|
|
4492
|
+
"data-testid": "swap-switch-tokens-button",
|
|
4493
|
+
type: "button",
|
|
4494
|
+
onClick: onSwitchTokens,
|
|
4495
|
+
className: "w-10 h-10 rounded-full bg-brand-secondary shadow-md flex items-center justify-center text-text-primary hover:shadow-lg transition-shadow focus:outline-none focus:ring-2 focus:ring-brand-secondary cursor-pointer",
|
|
4496
|
+
"aria-label": switchTokensAriaLabel,
|
|
4497
|
+
children: /* @__PURE__ */ jsx(MdOutlineSwapVert, { className: "w-5 h-5" })
|
|
4498
|
+
}
|
|
4499
|
+
) }),
|
|
4500
|
+
/* @__PURE__ */ jsx(SwapToCardView, __spreadValues({}, toCard))
|
|
4501
|
+
] }),
|
|
4502
|
+
/* @__PURE__ */ jsx(SwapAdvancedSettingsView, __spreadValues({}, advancedSettings)),
|
|
4503
|
+
/* @__PURE__ */ jsx("div", { className: "pb-xl", children: /* @__PURE__ */ jsx(SwapQuoteDetailsView, __spreadValues({}, transactionDetails)) })
|
|
4504
|
+
] }) })
|
|
4505
|
+
}
|
|
4506
|
+
),
|
|
4507
|
+
/* @__PURE__ */ jsx(
|
|
4508
|
+
"div",
|
|
4509
|
+
{
|
|
4510
|
+
"data-testid": "swap-flow-footer",
|
|
4511
|
+
className: "border-t p-md border-border-default dark:border-border-default-dark bg-bg-primary dark:bg-bg-primary-dark",
|
|
4512
|
+
children: /* @__PURE__ */ jsx(ConfirmSwapButtonView, __spreadValues({}, confirmButton))
|
|
4513
|
+
}
|
|
4514
|
+
)
|
|
4515
|
+
] });
|
|
4516
|
+
};
|
|
4488
4517
|
var ChooseANetworkView = ({
|
|
4489
4518
|
labels,
|
|
4490
4519
|
autoFocus = true,
|
|
@@ -4791,7 +4820,7 @@ var HistoryListSkeleton = () => /* @__PURE__ */ jsxs("div", { className: "self-s
|
|
|
4791
4820
|
/* @__PURE__ */ jsx(HistoryGroupSkeleton, {})
|
|
4792
4821
|
] });
|
|
4793
4822
|
var WalletBalances = ({ cards, variant = "subtle", className }) => {
|
|
4794
|
-
const bgClass = variant === "raised" ? "bg-
|
|
4823
|
+
const bgClass = variant === "raised" ? "bg-[var(--deframe-widget-color-bg-raised)]" : "bg-[var(--deframe-widget-color-bg-subtle)]";
|
|
4795
4824
|
return /* @__PURE__ */ jsx("div", { className: twMerge("w-full flex flex-row gap-4 mt-md", className), children: cards.map((card) => /* @__PURE__ */ jsxs("div", { className: twMerge("flex-1 h-auto px-6 py-4 rounded shadow-sm flex flex-col items-start justify-start gap-xs", bgClass), children: [
|
|
4796
4825
|
/* @__PURE__ */ jsx(TextBody, { variant: "text-small", children: card.label }),
|
|
4797
4826
|
/* @__PURE__ */ jsx(TextHeading, { variant: "h3", children: card.value })
|
|
@@ -5097,7 +5126,14 @@ var EarnDesktopView = ({
|
|
|
5097
5126
|
transactions
|
|
5098
5127
|
}) => {
|
|
5099
5128
|
if (isLoading) {
|
|
5100
|
-
|
|
5129
|
+
if (loadingSkeleton) {
|
|
5130
|
+
return /* @__PURE__ */ jsx(Fragment, { children: loadingSkeleton });
|
|
5131
|
+
}
|
|
5132
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-[var(--deframe-widget-size-gap-md)] w-full flex-1 min-h-0 animate-pulse px-[var(--deframe-widget-size-padding-x-lg)] py-[var(--deframe-widget-size-padding-y-lg)]", children: [
|
|
5133
|
+
/* @__PURE__ */ jsx("div", { className: "h-24 rounded bg-[var(--deframe-widget-color-bg-secondary)]" }),
|
|
5134
|
+
/* @__PURE__ */ jsx("div", { className: "h-40 rounded bg-[var(--deframe-widget-color-bg-secondary)]" }),
|
|
5135
|
+
/* @__PURE__ */ jsx("div", { className: "h-60 rounded bg-[var(--deframe-widget-color-bg-secondary)]" })
|
|
5136
|
+
] });
|
|
5101
5137
|
}
|
|
5102
5138
|
return /* @__PURE__ */ jsxs("div", { className: "text-[color:var(--deframe-widget-color-text-primary)] flex flex-col relative overflow-y-auto w-full flex-1 min-h-0 pb-[var(--deframe-widget-size-padding-y-lg)] gap-[var(--deframe-widget-size-gap-md)]", children: [
|
|
5103
5139
|
/* @__PURE__ */ jsx(EarnInvestmentSummaryView, __spreadValues({}, summary)),
|
|
@@ -5106,28 +5142,32 @@ var EarnDesktopView = ({
|
|
|
5106
5142
|
/* @__PURE__ */ jsx(EarnRecentTransactionsView, __spreadValues({}, transactions))
|
|
5107
5143
|
] });
|
|
5108
5144
|
};
|
|
5109
|
-
var EarnInvestmentDetailsView = ({
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5145
|
+
var EarnInvestmentDetailsView = (props) => {
|
|
5146
|
+
if (props.isLoading) {
|
|
5147
|
+
return /* @__PURE__ */ jsx(BackgroundContainer, { children: props.loadingSkeleton });
|
|
5148
|
+
}
|
|
5149
|
+
const {
|
|
5150
|
+
title,
|
|
5151
|
+
onBack,
|
|
5152
|
+
tokenIcon,
|
|
5153
|
+
fiatBalance,
|
|
5154
|
+
profitAmount,
|
|
5155
|
+
tokenAmount,
|
|
5156
|
+
investedLabel,
|
|
5157
|
+
earningsLabel,
|
|
5158
|
+
summaryTitle,
|
|
5159
|
+
summaryItems,
|
|
5160
|
+
pastActivitiesTitle,
|
|
5161
|
+
transactions,
|
|
5162
|
+
onTransactionClick,
|
|
5163
|
+
showMoreButton,
|
|
5164
|
+
onLoadMore,
|
|
5165
|
+
loadMoreLabel,
|
|
5166
|
+
depositLabel,
|
|
5167
|
+
onDeposit,
|
|
5168
|
+
withdrawLabel,
|
|
5169
|
+
onWithdraw
|
|
5170
|
+
} = props;
|
|
5131
5171
|
return /* @__PURE__ */ jsxs(BackgroundContainer, { children: [
|
|
5132
5172
|
/* @__PURE__ */ jsxs(Navbar, { children: [
|
|
5133
5173
|
/* @__PURE__ */ jsx(BackButton, { onClick: onBack }),
|
|
@@ -6379,6 +6419,6 @@ var EarnWithdrawFailedView = ({
|
|
|
6379
6419
|
);
|
|
6380
6420
|
};
|
|
6381
6421
|
|
|
6382
|
-
export { ActionButton, ActionSheet, AddressDisplay, ApyRange, BackButton, BackgroundContainer, BannerNotification, ChooseANetworkView, ChooseAStrategyActionsheetView, ChooseAnAssetSwapView, CloseButton_default as CloseButton, CollapsibleInfoRow, CollapsibleSection, ConfirmSwapButtonView, ConnectWalletList, Currency, DeframeComponentsProvider, DetailsHeader, EarnAmountInputView, EarnBalanceCard, EarnBytecodeErrorView, EarnDepositFailedView, EarnDepositFormView, EarnDepositProcessingView, EarnDepositSuccessView, EarnDepositWarningView, EarnDesktopView, EarnExploreGridView, EarnInvestedSectionView, EarnInvestmentDetailsView, EarnInvestmentSummaryView, EarnNoBalanceNotificationView, EarnPercentageButtonsView, EarnPositionCardView, EarnRecentTransactionsView, EarnTokenSelectorView, EarnTxStatusCardView, EarnWithdrawFailedView, EarnWithdrawFormView, EarnWithdrawProcessingView, EarnWithdrawSuccessView, EarnWithdrawTokenSelectorView, EarnWithdrawWarningView, Currency as Fiat, FlexCol, FlexRow, GroupedStrategyListView, HighRiskBadge, HistoryDepositDetailsView, HistoryListSkeleton, HistoryListView, HistorySwapDetailsView, HistoryTabEmpty, HistoryWithdrawDetailsView, InfoLabel, InfoRow, InfoRowIconLabel, InfoRowIconValue, InfoRowWithIcon, InfoValue, Input2 as Input, Label, Link, ListItem, ListItemContent, ListItemLeftSide, ListItemRightSide, LoadingDots, LowRiskBadge, MediumRiskBadge, Navbar, PercentageButton, PrimaryButton, ProgressIndicator, ScrollableContent, SearchEmptyState, SearchInput, SecondaryButton, SectionCard, Select, SelectContent, SelectItem, SelectTrigger, Skeleton, StepDisplay, StepStatusIcon, StepStatusText, StrategyDetailsView, StrategyGridCard, SummaryDetails, SummaryDetailsCryptoControlV2, SwapAdvancedSettingsView, SwapAmountInputView, SwapCrossChainProcessingView, SwapFormView, SwapFromCardView, SwapHistoryView,
|
|
6422
|
+
export { ActionButton, ActionSheet, AddressDisplay, ApyRange, BackButton, BackgroundContainer, BannerNotification, ChooseANetworkView, ChooseAStrategyActionsheetView, ChooseAnAssetSwapView, CloseButton_default as CloseButton, CollapsibleInfoRow, CollapsibleSection, ConfirmSwapButtonView, ConnectWalletList, Currency, DeframeComponentsProvider, DetailsHeader, EarnAmountInputView, EarnBalanceCard, EarnBytecodeErrorView, EarnDepositFailedView, EarnDepositFormView, EarnDepositProcessingView, EarnDepositSuccessView, EarnDepositWarningView, EarnDesktopView, EarnExploreGridView, EarnInvestedSectionView, EarnInvestmentDetailsView, EarnInvestmentSummaryView, EarnNoBalanceNotificationView, EarnPercentageButtonsView, EarnPositionCardView, EarnRecentTransactionsView, EarnTokenSelectorView, EarnTxStatusCardView, EarnWithdrawFailedView, EarnWithdrawFormView, EarnWithdrawProcessingView, EarnWithdrawSuccessView, EarnWithdrawTokenSelectorView, EarnWithdrawWarningView, Currency as Fiat, FlexCol, FlexRow, GroupedStrategyListView, HighRiskBadge, HistoryDepositDetailsView, HistoryListSkeleton, HistoryListView, HistorySwapDetailsView, HistoryTabEmpty, HistoryWithdrawDetailsView, InfoLabel, InfoRow, InfoRowIconLabel, InfoRowIconValue, InfoRowWithIcon, InfoValue, Input2 as Input, Label, Link, ListItem, ListItemContent, ListItemLeftSide, ListItemRightSide, LoadingDots, LowRiskBadge, MediumRiskBadge, Navbar, PercentageButton, PrimaryButton, ProgressIndicator, ScrollableContent, SearchEmptyState, SearchInput, SecondaryButton, SectionCard, Select, SelectContent, SelectItem, SelectTrigger, Skeleton, StepDisplay, StepStatusIcon, StepStatusText, StrategyDetailsView, StrategyGridCard, SummaryDetails, SummaryDetailsCryptoControlV2, SwapAdvancedSettingsView, SwapAmountInputView, SwapCrossChainProcessingView, SwapFormView, SwapFromCardView, SwapHistoryView, SwapProcessingView, SwapProcessingViewSimple, SwapQuoteDetailsView, SwapSignatureWarningView, SwapSuccessView, SwapSuccessViewSimple, SwapToCardView, SwapTransactionFailedView, SwapTransactionFailedViewSimple, SwapWidgetFallbackView, Tabs, TabsContent, TabsList, TabsTrigger, TertiaryButton, Text_default as Text, TextAccent, TextBody, TextHeading, Title, TokenWithChainBadge, TransactionProcessingDetails, TransactionScreen, TransactionScreenIcon, TransactionScreenInvestmentCard, WalletBalances, WalletConnectPanel, WalletItem, ConnectWalletList as WalletList, WalletListContainer };
|
|
6383
6423
|
//# sourceMappingURL=index.mjs.map
|
|
6384
6424
|
//# sourceMappingURL=index.mjs.map
|