@deframe-sdk/components 0.1.15 → 0.1.16
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 +320 -294
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +322 -289
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +23 -12
- 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
|
|
|
@@ -2611,45 +2611,6 @@ var HistoryWithdrawDetailsView = ({
|
|
|
2611
2611
|
] }) })
|
|
2612
2612
|
] });
|
|
2613
2613
|
};
|
|
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
2614
|
var SwapAmountInputView = ({
|
|
2654
2615
|
value,
|
|
2655
2616
|
hasError,
|
|
@@ -2707,127 +2668,6 @@ var SwapAmountInputView = ({
|
|
|
2707
2668
|
})
|
|
2708
2669
|
);
|
|
2709
2670
|
};
|
|
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
2671
|
var ChooseAStrategyActionsheetView = ({
|
|
2832
2672
|
isOpen,
|
|
2833
2673
|
currentActionSheetId,
|
|
@@ -2896,8 +2736,16 @@ var StrategyDetailsView = ({
|
|
|
2896
2736
|
headerTitle = "Details",
|
|
2897
2737
|
strategyInfoTitle = "Strategy Info",
|
|
2898
2738
|
depositButtonLabel = "Deposit",
|
|
2899
|
-
backAriaLabel = "Back"
|
|
2739
|
+
backAriaLabel = "Back",
|
|
2740
|
+
error,
|
|
2741
|
+
notFoundMessage
|
|
2900
2742
|
}) => {
|
|
2743
|
+
if (error) {
|
|
2744
|
+
return /* @__PURE__ */ jsx(BackgroundContainer, { children: /* @__PURE__ */ jsx("div", { className: "text-text-secondary dark:text-text-secondary-dark p-md", children: error }) });
|
|
2745
|
+
}
|
|
2746
|
+
if (notFoundMessage) {
|
|
2747
|
+
return /* @__PURE__ */ jsx(BackgroundContainer, { children: /* @__PURE__ */ jsx("div", { className: "text-text-secondary dark:text-text-secondary-dark p-md", children: notFoundMessage }) });
|
|
2748
|
+
}
|
|
2901
2749
|
return /* @__PURE__ */ jsxs(BackgroundContainer, { children: [
|
|
2902
2750
|
/* @__PURE__ */ jsx(DetailsHeader, { title: headerTitle, onBack, backAriaLabel }),
|
|
2903
2751
|
/* @__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 +3954,56 @@ var ChooseAnAssetSwapView = ({
|
|
|
4106
3954
|
}
|
|
4107
3955
|
) });
|
|
4108
3956
|
};
|
|
4109
|
-
var
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
advancedSettings,
|
|
4116
|
-
transactionDetails,
|
|
4117
|
-
confirmButton
|
|
3957
|
+
var SwapTokenSelectorView = ({
|
|
3958
|
+
token,
|
|
3959
|
+
onClick,
|
|
3960
|
+
testId = "swap-token-selector",
|
|
3961
|
+
selectTokenLabel = "Select token",
|
|
3962
|
+
className
|
|
4118
3963
|
}) => {
|
|
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",
|
|
3964
|
+
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";
|
|
3965
|
+
return /* @__PURE__ */ jsxs(
|
|
3966
|
+
"button",
|
|
3967
|
+
{
|
|
3968
|
+
"data-test-id": testId,
|
|
3969
|
+
type: "button",
|
|
3970
|
+
onClick,
|
|
3971
|
+
className: twMerge(baseClasses, className),
|
|
3972
|
+
"aria-label": token ? token.symbol : selectTokenLabel,
|
|
3973
|
+
children: [
|
|
3974
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-sm)] flex-1", children: token ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3975
|
+
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() }),
|
|
3976
|
+
/* @__PURE__ */ jsx(TextBody, { as: "span", className: "text-[color:var(--deframe-widget-color-text-primary)]", children: token.symbol })
|
|
3977
|
+
] }) : /* @__PURE__ */ jsx(TextBody, { as: "span", className: "text-[color:var(--deframe-widget-color-text-secondary)]", children: selectTokenLabel }) }),
|
|
3978
|
+
/* @__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)]" }) })
|
|
3979
|
+
]
|
|
3980
|
+
}
|
|
3981
|
+
);
|
|
3982
|
+
};
|
|
3983
|
+
var SwapNetworkSelectorView = ({
|
|
3984
|
+
chainLabel,
|
|
3985
|
+
chainImage,
|
|
3986
|
+
onClick,
|
|
3987
|
+
directionLabel = "De",
|
|
3988
|
+
testId = "swap-network-selector",
|
|
3989
|
+
className
|
|
3990
|
+
}) => {
|
|
3991
|
+
const baseClasses = "flex flex-row items-center gap-[var(--deframe-widget-size-gap-xs)]";
|
|
3992
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": testId, className: twMerge(baseClasses, className), children: [
|
|
3993
|
+
/* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "tracking-wide text-[color:var(--deframe-widget-color-text-tertiary)]", children: directionLabel }),
|
|
3994
|
+
/* @__PURE__ */ jsxs(
|
|
3995
|
+
"button",
|
|
4155
3996
|
{
|
|
4156
|
-
"data-testid":
|
|
4157
|
-
|
|
4158
|
-
|
|
3997
|
+
"data-testid": testId,
|
|
3998
|
+
type: "button",
|
|
3999
|
+
onClick,
|
|
4000
|
+
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",
|
|
4001
|
+
"aria-label": `${directionLabel} ${chainLabel}`,
|
|
4002
|
+
children: [
|
|
4003
|
+
chainImage ? /* @__PURE__ */ jsx("img", { src: chainImage, alt: chainLabel, className: "w-3 h-3 rounded-[var(--deframe-widget-size-radius-full)]" }) : null,
|
|
4004
|
+
/* @__PURE__ */ jsx("span", { children: chainLabel }),
|
|
4005
|
+
/* @__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)]" }) })
|
|
4006
|
+
]
|
|
4159
4007
|
}
|
|
4160
4008
|
)
|
|
4161
4009
|
] });
|
|
@@ -4176,7 +4024,7 @@ var SwapFromCardView = ({
|
|
|
4176
4024
|
maxFractionDigits,
|
|
4177
4025
|
amountUsdFormatted,
|
|
4178
4026
|
isAmountUsdLoading,
|
|
4179
|
-
|
|
4027
|
+
field
|
|
4180
4028
|
}) => {
|
|
4181
4029
|
return /* @__PURE__ */ jsx(SectionCard, { className: "flex flex-col gap-sm", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-row gap-md items-center", children: [
|
|
4182
4030
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-sm flex-1", children: [
|
|
@@ -4231,7 +4079,7 @@ var SwapFromCardView = ({
|
|
|
4231
4079
|
}
|
|
4232
4080
|
)
|
|
4233
4081
|
] }),
|
|
4234
|
-
/* @__PURE__ */
|
|
4082
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col flex-1 items-end justify-center gap-xs", children: [
|
|
4235
4083
|
/* @__PURE__ */ jsx(
|
|
4236
4084
|
SwapAmountInputView,
|
|
4237
4085
|
{
|
|
@@ -4239,7 +4087,8 @@ var SwapFromCardView = ({
|
|
|
4239
4087
|
hasError: amountHasError,
|
|
4240
4088
|
onChange: onAmountChange,
|
|
4241
4089
|
maxFractionDigits,
|
|
4242
|
-
ariaLabel: labels.amountPlaceholder
|
|
4090
|
+
ariaLabel: labels.amountPlaceholder,
|
|
4091
|
+
field
|
|
4243
4092
|
}
|
|
4244
4093
|
),
|
|
4245
4094
|
/* @__PURE__ */ jsx(
|
|
@@ -4251,10 +4100,20 @@ var SwapFromCardView = ({
|
|
|
4251
4100
|
children: isAmountUsdLoading ? /* @__PURE__ */ jsx(LoadingDots, {}) : amountUsdFormatted
|
|
4252
4101
|
}
|
|
4253
4102
|
)
|
|
4254
|
-
] })
|
|
4103
|
+
] })
|
|
4255
4104
|
] }) });
|
|
4256
4105
|
};
|
|
4257
|
-
var
|
|
4106
|
+
var SwapOutputAmountView = ({
|
|
4107
|
+
displayOutput,
|
|
4108
|
+
isLoading,
|
|
4109
|
+
loadingElement,
|
|
4110
|
+
searchingQuoteLabel = "Searching quote...",
|
|
4111
|
+
className
|
|
4112
|
+
}) => {
|
|
4113
|
+
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)]";
|
|
4114
|
+
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 });
|
|
4115
|
+
};
|
|
4116
|
+
var SwapToCardView = ({
|
|
4258
4117
|
labels,
|
|
4259
4118
|
selectedToken,
|
|
4260
4119
|
onTokenClick,
|
|
@@ -4331,6 +4190,152 @@ var SwapToCardView = ({
|
|
|
4331
4190
|
] })
|
|
4332
4191
|
] }) });
|
|
4333
4192
|
};
|
|
4193
|
+
var SLIPPAGE_OPTIONS = [10, 50, 100];
|
|
4194
|
+
var SwapSlippageToleranceButtonsView = ({
|
|
4195
|
+
slippageBps,
|
|
4196
|
+
onSelect,
|
|
4197
|
+
formatPercentage,
|
|
4198
|
+
className
|
|
4199
|
+
}) => {
|
|
4200
|
+
const baseClasses = "flex gap-[var(--deframe-widget-size-gap-xs)]";
|
|
4201
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-slippage-tolerance-buttons", className: twMerge(baseClasses, className), children: SLIPPAGE_OPTIONS.map((option) => {
|
|
4202
|
+
const isActive = slippageBps === option;
|
|
4203
|
+
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)]";
|
|
4204
|
+
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)]";
|
|
4205
|
+
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";
|
|
4206
|
+
return /* @__PURE__ */ jsx(
|
|
4207
|
+
"button",
|
|
4208
|
+
{
|
|
4209
|
+
"data-test-id": `slippage-option-${option}`,
|
|
4210
|
+
type: "button",
|
|
4211
|
+
onClick: () => onSelect(option),
|
|
4212
|
+
className: twMerge(buttonBase, isActive ? activeClasses : inactiveClasses),
|
|
4213
|
+
"aria-label": `${formatPercentage(option)}% slippage`,
|
|
4214
|
+
"aria-pressed": isActive,
|
|
4215
|
+
children: formatPercentage(option)
|
|
4216
|
+
},
|
|
4217
|
+
option
|
|
4218
|
+
);
|
|
4219
|
+
}) });
|
|
4220
|
+
};
|
|
4221
|
+
var SwapAdvancedSettingsView = ({
|
|
4222
|
+
title,
|
|
4223
|
+
isOpen,
|
|
4224
|
+
onOpenChange,
|
|
4225
|
+
slippageBps,
|
|
4226
|
+
onSlippageSelect,
|
|
4227
|
+
formatPercentage,
|
|
4228
|
+
percentageOptions,
|
|
4229
|
+
onPercentageClick,
|
|
4230
|
+
slippageFormatted,
|
|
4231
|
+
collapseText,
|
|
4232
|
+
expandText,
|
|
4233
|
+
maxLabel
|
|
4234
|
+
}) => {
|
|
4235
|
+
return /* @__PURE__ */ jsx("div", { className: "pb-2 mt-md", children: /* @__PURE__ */ jsx(SectionCard, { children: /* @__PURE__ */ jsxs(
|
|
4236
|
+
CollapsibleSection,
|
|
4237
|
+
{
|
|
4238
|
+
title,
|
|
4239
|
+
subtitle: slippageFormatted,
|
|
4240
|
+
open: isOpen,
|
|
4241
|
+
onOpenChange,
|
|
4242
|
+
collapseText,
|
|
4243
|
+
expandText,
|
|
4244
|
+
children: [
|
|
4245
|
+
/* @__PURE__ */ jsx(
|
|
4246
|
+
SwapSlippageToleranceButtonsView,
|
|
4247
|
+
{
|
|
4248
|
+
slippageBps,
|
|
4249
|
+
onSelect: onSlippageSelect,
|
|
4250
|
+
formatPercentage,
|
|
4251
|
+
className: "mt-md"
|
|
4252
|
+
}
|
|
4253
|
+
),
|
|
4254
|
+
/* @__PURE__ */ jsx("div", { className: "w-full mt-md", children: /* @__PURE__ */ jsx("div", { className: "flex w-full gap-sm", children: percentageOptions.map((pct, index) => {
|
|
4255
|
+
const isMax = index === percentageOptions.length - 1;
|
|
4256
|
+
const label = isMax ? maxLabel : `${pct / 100}%`;
|
|
4257
|
+
return /* @__PURE__ */ jsx(
|
|
4258
|
+
PercentageButton,
|
|
4259
|
+
{
|
|
4260
|
+
type: "button",
|
|
4261
|
+
onClick: () => onPercentageClick(pct),
|
|
4262
|
+
children: label
|
|
4263
|
+
},
|
|
4264
|
+
pct
|
|
4265
|
+
);
|
|
4266
|
+
}) }) })
|
|
4267
|
+
]
|
|
4268
|
+
}
|
|
4269
|
+
) }) });
|
|
4270
|
+
};
|
|
4271
|
+
var SwapQuoteHeaderView = ({
|
|
4272
|
+
label,
|
|
4273
|
+
timerElement,
|
|
4274
|
+
className
|
|
4275
|
+
}) => {
|
|
4276
|
+
const baseClasses = "border-b border-[color:var(--deframe-widget-color-border-secondary)] pb-[var(--deframe-widget-size-padding-y-sm)]";
|
|
4277
|
+
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: [
|
|
4278
|
+
/* @__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 }),
|
|
4279
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-md)]", children: timerElement })
|
|
4280
|
+
] }) });
|
|
4281
|
+
};
|
|
4282
|
+
var SwapQuoteBlockchainCostsView = ({
|
|
4283
|
+
totalCostFormatted,
|
|
4284
|
+
feePercentage,
|
|
4285
|
+
gasCostFormatted,
|
|
4286
|
+
protocolFee,
|
|
4287
|
+
blockchainCostsLabel = "Blockchain Costs",
|
|
4288
|
+
networkGasLabel = "Network Gas",
|
|
4289
|
+
protocolFeeLabel = "Protocol Fee",
|
|
4290
|
+
collapseLabel = "Collapse",
|
|
4291
|
+
expandLabel = "Expand"
|
|
4292
|
+
}) => {
|
|
4293
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-quote-blockchain-costs", children: /* @__PURE__ */ jsx(
|
|
4294
|
+
CollapsibleInfoRow,
|
|
4295
|
+
{
|
|
4296
|
+
label: blockchainCostsLabel,
|
|
4297
|
+
value: `${totalCostFormatted} ~ ${feePercentage}%`,
|
|
4298
|
+
defaultOpen: true,
|
|
4299
|
+
collapseLabel,
|
|
4300
|
+
expandLabel,
|
|
4301
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-[var(--deframe-widget-size-gap-sm)]", children: [
|
|
4302
|
+
/* @__PURE__ */ jsxs(InfoRowWithIcon, { children: [
|
|
4303
|
+
/* @__PURE__ */ jsx(InfoRowIconLabel, { children: networkGasLabel }),
|
|
4304
|
+
/* @__PURE__ */ jsx(InfoRowIconValue, { children: gasCostFormatted })
|
|
4305
|
+
] }),
|
|
4306
|
+
/* @__PURE__ */ jsxs(InfoRowWithIcon, { borderBottom: true, children: [
|
|
4307
|
+
/* @__PURE__ */ jsx(InfoRowIconLabel, { children: protocolFeeLabel }),
|
|
4308
|
+
/* @__PURE__ */ jsx(InfoRowIconValue, { children: protocolFee })
|
|
4309
|
+
] })
|
|
4310
|
+
] })
|
|
4311
|
+
}
|
|
4312
|
+
) });
|
|
4313
|
+
};
|
|
4314
|
+
var SwapQuoteErrorsView = ({
|
|
4315
|
+
hasQuoteError,
|
|
4316
|
+
hasBytecodeError,
|
|
4317
|
+
quoteErrorMessage = "Unable to get quote for this transaction",
|
|
4318
|
+
bytecodeErrorMessage = "Error building transaction"
|
|
4319
|
+
}) => {
|
|
4320
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": "swap-quote-errors", children: [
|
|
4321
|
+
hasQuoteError && /* @__PURE__ */ jsx("div", { className: "mt-sm", children: /* @__PURE__ */ jsx(
|
|
4322
|
+
BannerNotification,
|
|
4323
|
+
{
|
|
4324
|
+
type: "inline",
|
|
4325
|
+
variant: "error",
|
|
4326
|
+
message: quoteErrorMessage
|
|
4327
|
+
}
|
|
4328
|
+
) }),
|
|
4329
|
+
hasBytecodeError && /* @__PURE__ */ jsx("div", { className: "mt-sm", children: /* @__PURE__ */ jsx(
|
|
4330
|
+
BannerNotification,
|
|
4331
|
+
{
|
|
4332
|
+
type: "inline",
|
|
4333
|
+
variant: "error",
|
|
4334
|
+
message: bytecodeErrorMessage
|
|
4335
|
+
}
|
|
4336
|
+
) })
|
|
4337
|
+
] });
|
|
4338
|
+
};
|
|
4334
4339
|
var SwapQuoteDetailsView = ({
|
|
4335
4340
|
labels,
|
|
4336
4341
|
isVisible,
|
|
@@ -4416,56 +4421,6 @@ var SwapQuoteDetailsView = ({
|
|
|
4416
4421
|
)
|
|
4417
4422
|
] });
|
|
4418
4423
|
};
|
|
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
4424
|
var ConfirmSwapButtonView = ({
|
|
4470
4425
|
buttonLabel,
|
|
4471
4426
|
disabled,
|
|
@@ -4485,6 +4440,73 @@ var ConfirmSwapButtonView = ({
|
|
|
4485
4440
|
}
|
|
4486
4441
|
) });
|
|
4487
4442
|
};
|
|
4443
|
+
var SwapFormView = ({
|
|
4444
|
+
onSubmit,
|
|
4445
|
+
formRef,
|
|
4446
|
+
labels,
|
|
4447
|
+
onHistoryClick,
|
|
4448
|
+
onSwitchTokens,
|
|
4449
|
+
switchTokensAriaLabel,
|
|
4450
|
+
fromCard,
|
|
4451
|
+
toCard,
|
|
4452
|
+
advancedSettings,
|
|
4453
|
+
transactionDetails,
|
|
4454
|
+
confirmButton
|
|
4455
|
+
}) => {
|
|
4456
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4457
|
+
/* @__PURE__ */ jsx(
|
|
4458
|
+
"div",
|
|
4459
|
+
{
|
|
4460
|
+
"data-testid": "swap-form-view",
|
|
4461
|
+
className: "flex-1 min-h-0 overflow-y-auto swap-flow-content pr-sm",
|
|
4462
|
+
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: [
|
|
4463
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-md", children: [
|
|
4464
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-sm", children: [
|
|
4465
|
+
/* @__PURE__ */ jsx(TextHeading, { variant: "h5", className: "!text-[21px]", children: /* @__PURE__ */ jsx("span", { "data-testid": "swap-flow-title", children: labels.title }) }),
|
|
4466
|
+
labels.subtitle && /* @__PURE__ */ jsx(TextBody, { variant: "text-small", className: "!text-[14px]", children: labels.subtitle })
|
|
4467
|
+
] }),
|
|
4468
|
+
/* @__PURE__ */ jsx(
|
|
4469
|
+
"button",
|
|
4470
|
+
{
|
|
4471
|
+
"data-testid": "swap-history-button",
|
|
4472
|
+
type: "button",
|
|
4473
|
+
onClick: onHistoryClick,
|
|
4474
|
+
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",
|
|
4475
|
+
"aria-label": labels.historyAriaLabel,
|
|
4476
|
+
children: /* @__PURE__ */ jsx(MdHistory, { className: "w-6 h-6" })
|
|
4477
|
+
}
|
|
4478
|
+
)
|
|
4479
|
+
] }),
|
|
4480
|
+
/* @__PURE__ */ jsxs("div", { className: "relative flex flex-col items-stretch gap-sm", children: [
|
|
4481
|
+
/* @__PURE__ */ jsx(SwapFromCardView, __spreadValues({}, fromCard)),
|
|
4482
|
+
/* @__PURE__ */ jsx("div", { className: "flex justify-center -my-5 relative z-10", children: /* @__PURE__ */ jsx(
|
|
4483
|
+
"button",
|
|
4484
|
+
{
|
|
4485
|
+
"data-testid": "swap-switch-tokens-button",
|
|
4486
|
+
type: "button",
|
|
4487
|
+
onClick: onSwitchTokens,
|
|
4488
|
+
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",
|
|
4489
|
+
"aria-label": switchTokensAriaLabel,
|
|
4490
|
+
children: /* @__PURE__ */ jsx(MdOutlineSwapVert, { className: "w-5 h-5" })
|
|
4491
|
+
}
|
|
4492
|
+
) }),
|
|
4493
|
+
/* @__PURE__ */ jsx(SwapToCardView, __spreadValues({}, toCard))
|
|
4494
|
+
] }),
|
|
4495
|
+
/* @__PURE__ */ jsx(SwapAdvancedSettingsView, __spreadValues({}, advancedSettings)),
|
|
4496
|
+
/* @__PURE__ */ jsx("div", { className: "pb-xl", children: /* @__PURE__ */ jsx(SwapQuoteDetailsView, __spreadValues({}, transactionDetails)) })
|
|
4497
|
+
] }) })
|
|
4498
|
+
}
|
|
4499
|
+
),
|
|
4500
|
+
/* @__PURE__ */ jsx(
|
|
4501
|
+
"div",
|
|
4502
|
+
{
|
|
4503
|
+
"data-testid": "swap-flow-footer",
|
|
4504
|
+
className: "border-t p-md border-border-default dark:border-border-default-dark bg-bg-primary dark:bg-bg-primary-dark",
|
|
4505
|
+
children: /* @__PURE__ */ jsx(ConfirmSwapButtonView, __spreadValues({}, confirmButton))
|
|
4506
|
+
}
|
|
4507
|
+
)
|
|
4508
|
+
] });
|
|
4509
|
+
};
|
|
4488
4510
|
var ChooseANetworkView = ({
|
|
4489
4511
|
labels,
|
|
4490
4512
|
autoFocus = true,
|
|
@@ -5097,7 +5119,14 @@ var EarnDesktopView = ({
|
|
|
5097
5119
|
transactions
|
|
5098
5120
|
}) => {
|
|
5099
5121
|
if (isLoading) {
|
|
5100
|
-
|
|
5122
|
+
if (loadingSkeleton) {
|
|
5123
|
+
return /* @__PURE__ */ jsx(Fragment, { children: loadingSkeleton });
|
|
5124
|
+
}
|
|
5125
|
+
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: [
|
|
5126
|
+
/* @__PURE__ */ jsx("div", { className: "h-24 rounded bg-[var(--deframe-widget-color-bg-secondary)]" }),
|
|
5127
|
+
/* @__PURE__ */ jsx("div", { className: "h-40 rounded bg-[var(--deframe-widget-color-bg-secondary)]" }),
|
|
5128
|
+
/* @__PURE__ */ jsx("div", { className: "h-60 rounded bg-[var(--deframe-widget-color-bg-secondary)]" })
|
|
5129
|
+
] });
|
|
5101
5130
|
}
|
|
5102
5131
|
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
5132
|
/* @__PURE__ */ jsx(EarnInvestmentSummaryView, __spreadValues({}, summary)),
|
|
@@ -5106,28 +5135,32 @@ var EarnDesktopView = ({
|
|
|
5106
5135
|
/* @__PURE__ */ jsx(EarnRecentTransactionsView, __spreadValues({}, transactions))
|
|
5107
5136
|
] });
|
|
5108
5137
|
};
|
|
5109
|
-
var EarnInvestmentDetailsView = ({
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5138
|
+
var EarnInvestmentDetailsView = (props) => {
|
|
5139
|
+
if (props.isLoading) {
|
|
5140
|
+
return /* @__PURE__ */ jsx(BackgroundContainer, { children: props.loadingSkeleton });
|
|
5141
|
+
}
|
|
5142
|
+
const {
|
|
5143
|
+
title,
|
|
5144
|
+
onBack,
|
|
5145
|
+
tokenIcon,
|
|
5146
|
+
fiatBalance,
|
|
5147
|
+
profitAmount,
|
|
5148
|
+
tokenAmount,
|
|
5149
|
+
investedLabel,
|
|
5150
|
+
earningsLabel,
|
|
5151
|
+
summaryTitle,
|
|
5152
|
+
summaryItems,
|
|
5153
|
+
pastActivitiesTitle,
|
|
5154
|
+
transactions,
|
|
5155
|
+
onTransactionClick,
|
|
5156
|
+
showMoreButton,
|
|
5157
|
+
onLoadMore,
|
|
5158
|
+
loadMoreLabel,
|
|
5159
|
+
depositLabel,
|
|
5160
|
+
onDeposit,
|
|
5161
|
+
withdrawLabel,
|
|
5162
|
+
onWithdraw
|
|
5163
|
+
} = props;
|
|
5131
5164
|
return /* @__PURE__ */ jsxs(BackgroundContainer, { children: [
|
|
5132
5165
|
/* @__PURE__ */ jsxs(Navbar, { children: [
|
|
5133
5166
|
/* @__PURE__ */ jsx(BackButton, { onClick: onBack }),
|
|
@@ -6379,6 +6412,6 @@ var EarnWithdrawFailedView = ({
|
|
|
6379
6412
|
);
|
|
6380
6413
|
};
|
|
6381
6414
|
|
|
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,
|
|
6415
|
+
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
6416
|
//# sourceMappingURL=index.mjs.map
|
|
6384
6417
|
//# sourceMappingURL=index.mjs.map
|