@0xsquid/ui 3.1.0 → 3.2.0
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/cjs/index.js +106 -45
- package/dist/cjs/types/components/buttons/CopyButton.d.ts +7 -0
- package/dist/cjs/types/components/buttons/LinkButton.d.ts +5 -0
- package/dist/cjs/types/components/icons/Arrow.d.ts +5 -0
- package/dist/cjs/types/components/icons/Timeline.d.ts +1 -1
- package/dist/cjs/types/components/layout/AnimationWrapper.d.ts +1 -1
- package/dist/cjs/types/components/layout/HashLink.d.ts +2 -2
- package/dist/cjs/types/components/layout/PipeSeparator.d.ts +6 -2
- package/dist/cjs/types/components/lists/TransactionAction/FeesAction.d.ts +2 -1
- package/dist/cjs/types/components/lists/TransactionAction/SuccessAction.d.ts +1 -1
- package/dist/cjs/types/components/lists/TransactionAction/TransactionAction.d.ts +1 -1
- package/dist/cjs/types/components/views/SwapProgressView.d.ts +2 -1
- package/dist/cjs/types/components/views/TransactionView/BridgeTransactionView.d.ts +12 -4
- package/dist/cjs/types/components/views/TransactionView/SwapTransactionView.d.ts +4 -2
- package/dist/cjs/types/components/views/TransactionView/TransactionView.d.ts +2 -2
- package/dist/cjs/types/stories/views/SwapProgressView.stories.d.ts +1 -0
- package/dist/cjs/types/stories/views/TransactionView.stories.d.ts +12 -6
- package/dist/esm/index.js +106 -46
- package/dist/esm/types/components/buttons/CopyButton.d.ts +7 -0
- package/dist/esm/types/components/buttons/LinkButton.d.ts +5 -0
- package/dist/esm/types/components/icons/Arrow.d.ts +5 -0
- package/dist/esm/types/components/icons/Timeline.d.ts +1 -1
- package/dist/esm/types/components/layout/AnimationWrapper.d.ts +1 -1
- package/dist/esm/types/components/layout/HashLink.d.ts +2 -2
- package/dist/esm/types/components/layout/PipeSeparator.d.ts +6 -2
- package/dist/esm/types/components/lists/TransactionAction/FeesAction.d.ts +2 -1
- package/dist/esm/types/components/lists/TransactionAction/SuccessAction.d.ts +1 -1
- package/dist/esm/types/components/lists/TransactionAction/TransactionAction.d.ts +1 -1
- package/dist/esm/types/components/views/SwapProgressView.d.ts +2 -1
- package/dist/esm/types/components/views/TransactionView/BridgeTransactionView.d.ts +12 -4
- package/dist/esm/types/components/views/TransactionView/SwapTransactionView.d.ts +4 -2
- package/dist/esm/types/components/views/TransactionView/TransactionView.d.ts +2 -2
- package/dist/esm/types/stories/views/SwapProgressView.stories.d.ts +1 -0
- package/dist/esm/types/stories/views/TransactionView.stories.d.ts +12 -6
- package/dist/index.css +1 -1
- package/dist/index.d.ts +37 -17
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -3738,7 +3738,7 @@ exports.ImageState = void 0;
|
|
|
3738
3738
|
ImageState[ImageState["LOADED"] = 1] = "LOADED";
|
|
3739
3739
|
ImageState[ImageState["ERROR"] = 2] = "ERROR";
|
|
3740
3740
|
})(exports.ImageState || (exports.ImageState = {}));
|
|
3741
|
-
const sizeClassMap$
|
|
3741
|
+
const sizeClassMap$2 = {
|
|
3742
3742
|
small: "tw-w-squid-s",
|
|
3743
3743
|
medium: "tw-w-squid-m",
|
|
3744
3744
|
large: "tw-w-squid-l",
|
|
@@ -3770,7 +3770,7 @@ const borderClassMap = {
|
|
|
3770
3770
|
};
|
|
3771
3771
|
function Image$1(_a) {
|
|
3772
3772
|
var { src, size = "medium", className: propsClassName, placeholderImageUrl, border = "none", rounded = "xxs", shadow = false, children, containerProps } = _a, props = __rest$1(_a, ["src", "size", "className", "placeholderImageUrl", "border", "rounded", "shadow", "children", "containerProps"]);
|
|
3773
|
-
const className = cn("tw-object-cover tw-aspect-square tw-relative tw-duration-300 tw-transition-[width,height] tw-max-w-full tw-bg-grey-500", sizeClassMap$
|
|
3773
|
+
const className = cn("tw-object-cover tw-aspect-square tw-relative tw-duration-300 tw-transition-[width,height] tw-max-w-full tw-bg-grey-500", sizeClassMap$2[size], propsClassName, roundedClassMap[rounded], shadow && boxShadowClassMap[size], borderClassMap[border]);
|
|
3774
3774
|
const [imageState, setImageState] = require$$0.useState(exports.ImageState.LOADED);
|
|
3775
3775
|
return (jsxRuntime.jsxs("div", Object.assign({}, containerProps, { className: cn("tw-relative", containerProps === null || containerProps === void 0 ? void 0 : containerProps.className), children: [children != null ? (jsxRuntime.jsx("div", Object.assign({ className: cn(className, "tw-flex tw-items-center tw-justify-center") }, props, { children: children }))) : ((imageState !== exports.ImageState.LOADED || !src) &&
|
|
3776
3776
|
(placeholderImageUrl ? (jsxRuntime.jsx("img", Object.assign({ src: placeholderImageUrl, className: className }, props))) : (jsxRuntime.jsx("div", Object.assign({ className: className }, props))))), children == null && src && (jsxRuntime.jsx("img", Object.assign({}, props, { src: src, onError: () => {
|
|
@@ -3890,7 +3890,7 @@ function IconLabel({ src, children, rounded }) {
|
|
|
3890
3890
|
return (jsxRuntime.jsxs("div", { className: "tw-inline-flex tw-items-center tw-gap-squid-xxs", children: [src && jsxRuntime.jsx(Image$1, { src: src, rounded: rounded, size: "medium" }), typeof children === "string" ? (jsxRuntime.jsx(CaptionText, { children: children })) : (children)] }));
|
|
3891
3891
|
}
|
|
3892
3892
|
|
|
3893
|
-
const sizeClassMap = {
|
|
3893
|
+
const sizeClassMap$1 = {
|
|
3894
3894
|
large: "tw-h-squid-xxl tw-w-squid-xxl tw-rounded-squid-s",
|
|
3895
3895
|
small: "tw-h-squid-xl tw-w-squid-xl tw-rounded-squid-xs",
|
|
3896
3896
|
};
|
|
@@ -3907,7 +3907,7 @@ const customImageStylesMap = {
|
|
|
3907
3907
|
},
|
|
3908
3908
|
};
|
|
3909
3909
|
function ImageGroup({ imageUrls, badge, size = "large", }) {
|
|
3910
|
-
return (jsxRuntime.jsxs("div", { className: cn("tw-relative tw-flex tw-flex-shrink-0 tw-flex-wrap tw-content-center tw-items-center tw-justify-center tw-gap-0.5 tw-border tw-border-solid tw-border-material-light-thin tw-bg-grey-700", sizeClassMap[size]), children: [imageUrls.map((url) => (jsxRuntime.jsx(Image$1, { src: url, size: "medium", rounded: "xxs", style: customImageStylesMap[size] }, url))), badge != null && size !== "small" && (jsxRuntime.jsx("div", { className: "tw-absolute -tw-bottom-[1px] -tw-right-[1px]", children: jsxRuntime.jsx(Image$1, Object.assign({}, badge, { border: "outline-lg", size: "medium" })) }))] }));
|
|
3910
|
+
return (jsxRuntime.jsxs("div", { className: cn("tw-relative tw-flex tw-flex-shrink-0 tw-flex-wrap tw-content-center tw-items-center tw-justify-center tw-gap-0.5 tw-border tw-border-solid tw-border-material-light-thin tw-bg-grey-700", sizeClassMap$1[size]), children: [imageUrls.map((url) => (jsxRuntime.jsx(Image$1, { src: url, size: "medium", rounded: "xxs", style: customImageStylesMap[size] }, url))), badge != null && size !== "small" && (jsxRuntime.jsx("div", { className: "tw-absolute -tw-bottom-[1px] -tw-right-[1px]", children: jsxRuntime.jsx(Image$1, Object.assign({}, badge, { border: "outline-lg", size: "medium" })) }))] }));
|
|
3911
3911
|
}
|
|
3912
3912
|
|
|
3913
3913
|
function Approve() {
|
|
@@ -3965,6 +3965,9 @@ function ArrowOutOfBoxIcon() {
|
|
|
3965
3965
|
function ChevronGrabberVerticalIcon({ size = "16", className, }) {
|
|
3966
3966
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 16 16", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M5.33301 6.00002L7.52827 3.80476C7.78862 3.54441 8.21073 3.54441 8.47108 3.80476L10.6663 6.00002M5.33301 10L7.52827 12.1953C7.78862 12.4556 8.21073 12.4556 8.47108 12.1953L10.6663 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
3967
3967
|
}
|
|
3968
|
+
function SquareArrowTopRightIcon({ className, size = "24", strokeWidth = "2", }) {
|
|
3969
|
+
return (jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("path", { d: "M9 6H8.8C7.11984 6 6.27976 6 5.63803 6.32698C5.07354 6.6146 4.6146 7.07354 4.32698 7.63803C4 8.27976 4 9.11984 4 10.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H13.2C14.8802 20 15.7202 20 16.362 19.673C16.9265 19.3854 17.3854 18.9265 17.673 18.362C18 17.7202 18 16.8802 18 15.2V15M14 4H20M20 4V10M20 4L11 13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
3970
|
+
}
|
|
3968
3971
|
function SquareArrowTopRight2Icon({ className, size = "16", strokeWidth = "2", }) {
|
|
3969
3972
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 16 16", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M6.00033 2.66663H4.80033C4.05359 2.66663 3.68022 2.66663 3.395 2.81195C3.14412 2.93978 2.94015 3.14376 2.81232 3.39464C2.66699 3.67985 2.66699 4.05322 2.66699 4.79996L2.66699 11.2C2.66699 11.9467 2.66699 12.3201 2.81232 12.6053C2.94015 12.8562 3.14412 13.0601 3.395 13.188C3.68022 13.3333 4.05359 13.3333 4.80033 13.3333L11.2003 13.3333C11.9471 13.3333 12.3204 13.3333 12.6056 13.188C12.8565 13.0601 13.0605 12.8562 13.1883 12.6053C13.3337 12.3201 13.3337 11.9467 13.3337 11.2V9.99996M9.33366 2.66663L13.3337 2.66663M13.3337 2.66663V6.66663M13.3337 2.66663L7.33366 8.66663", stroke: "currentColor", strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", vectorEffect: "non-scaling-stroke" }) }));
|
|
3970
3973
|
}
|
|
@@ -4613,10 +4616,21 @@ function UsdAmount({ usdAmount }) {
|
|
|
4613
4616
|
return (jsxRuntime.jsxs("span", { className: "tw-flex tw-items-center tw-text-grey-500", children: [jsxRuntime.jsx(CaptionText, { className: "tw-opacity-66", children: "$" }), jsxRuntime.jsx(CaptionText, { children: usdAmount.toString() })] }));
|
|
4614
4617
|
}
|
|
4615
4618
|
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4619
|
+
const CopyButton = (_a) => {
|
|
4620
|
+
var { copyText, className, size } = _a, props = __rest$1(_a, ["copyText", "className", "size"]);
|
|
4621
|
+
const [copied, setCopied] = require$$0.useState(false);
|
|
4622
|
+
const handleCopy = () => {
|
|
4623
|
+
navigator.clipboard.writeText(copyText).catch(() => { });
|
|
4624
|
+
setCopied(true);
|
|
4625
|
+
setTimeout(() => {
|
|
4626
|
+
setCopied(false);
|
|
4627
|
+
}, 1500);
|
|
4628
|
+
};
|
|
4629
|
+
return (jsxRuntime.jsxs("button", Object.assign({ type: "button", onClick: handleCopy, className: cn("tw-relative tw-cursor-pointer tw-rounded-squid-xs tw-p-0.5 tw-text-royal-500 hover:tw-bg-material-light-thin", className) }, props, { children: [jsxRuntime.jsx(CopyOutlinedIcon, { strokeWidth: "2", size: size === "small" ? "1rem" : "1.5rem", className: cn("tw-text-royal-500", copied ? "tw-invisible" : "tw-visible") }), jsxRuntime.jsx("span", { className: cn("tw-absolute tw-left-1/2 tw-top-1/2 -tw-translate-x-1/2 -tw-translate-y-1/2", copied ? "tw-visible" : "tw-invisible"), children: jsxRuntime.jsx(Checkmark1Icon, { size: size === "small" ? "0.75rem" : "1.35rem" }) })] })));
|
|
4630
|
+
};
|
|
4631
|
+
|
|
4632
|
+
function HashLink({ showTx = false, hash, showCopyButton = false, url, children, className, formattedHash, size, }) {
|
|
4633
|
+
return (jsxRuntime.jsxs("div", { className: cn("tw-flex tw-items-center tw-gap-1", className), children: [showTx && jsxRuntime.jsx("span", { className: "tw-mr-1 tw-text-grey-700", children: "TX" }), children !== null && children !== void 0 ? children : formattedHash, url && (jsxRuntime.jsx("a", { href: url, target: "_blank", className: "tw-ml-0.5 tw-rounded-squid-xs tw-p-0.5 tw-text-royal-500 hover:tw-bg-material-light-thin", rel: "noreferrer", children: jsxRuntime.jsx(SquareArrowTopRightIcon, { size: size === "small" ? "16" : "24" }) })), showCopyButton && jsxRuntime.jsx(CopyButton, { copyText: hash, size: size })] }));
|
|
4620
4634
|
}
|
|
4621
4635
|
|
|
4622
4636
|
function WalletLink({ imageURI, address }) {
|
|
@@ -38233,8 +38247,14 @@ function NavigationBar(_a) {
|
|
|
38233
38247
|
: "tw-flex"), children: jsxRuntime.jsx(HeadingText, { size: "small", children: title }) })) : null] })));
|
|
38234
38248
|
}
|
|
38235
38249
|
|
|
38236
|
-
|
|
38237
|
-
|
|
38250
|
+
const sizeClassMap = {
|
|
38251
|
+
default: "tw-h-[0.8em]",
|
|
38252
|
+
small: "tw-h-2.5",
|
|
38253
|
+
large: "tw-h-5",
|
|
38254
|
+
};
|
|
38255
|
+
function PipeSeparator(_a) {
|
|
38256
|
+
var { className, size = "default" } = _a, props = __rest$1(_a, ["className", "size"]);
|
|
38257
|
+
return (jsxRuntime.jsx("div", Object.assign({}, props, { className: cn("tw-w-[2px] tw-rounded-full tw-bg-[currentColor]", sizeClassMap[size], className) })));
|
|
38238
38258
|
}
|
|
38239
38259
|
|
|
38240
38260
|
function ProductCard({ children }) {
|
|
@@ -39007,7 +39027,7 @@ function PropertyListItem(_a) {
|
|
|
39007
39027
|
const Text = variant === "small" ? CaptionText : SmallBodyText;
|
|
39008
39028
|
const isCollapsible = !!collapsibleContent;
|
|
39009
39029
|
const ContentWrapperTag = isCollapsible ? "button" : "div";
|
|
39010
|
-
return (jsxRuntime.jsx("li", Object.assign({}, props, { className: cn("tw-flex tw-w-full tw-gap-squid-xs tw-rounded-squid-xs tw-text-grey-300", showGradientBg && "tw-
|
|
39030
|
+
return (jsxRuntime.jsx("li", Object.assign({}, props, { className: cn("tw-flex tw-w-full tw-gap-squid-xs tw-rounded-squid-xs tw-text-grey-300", showGradientBg && "tw-squid-property-row-bg", addExtraPadding && containerPaddingClassNameMap[variant], className), children: jsxRuntime.jsxs(ContentWrapperTag, { onClick: isCollapsible ? handleToggleCollapsed : undefined, className: "tw-w-full tw-rounded-squid-xs", children: [jsxRuntime.jsxs("div", { className: cn("tw-flex tw-h-squid-l tw-w-full tw-items-center tw-justify-between tw-gap-squid-xs", childrenVariantClassNameMap[variant]), children: [jsxRuntime.jsx("div", { className: cn("tw-w-6 tw-text-grey-500", iconClassName), children: icon }), jsxRuntime.jsxs(Text, { className: cn("tw-flex tw-min-w-fit tw-flex-1 tw-gap-squid-xxs tw-text-grey-500", labelClassName), children: [jsxRuntime.jsx(TextSkeleton, { isLoading: isLoading, showGradient: false, children: label }), !!tooltip && (jsxRuntime.jsx(Tooltip, Object.assign({}, tooltip, { children: jsxRuntime.jsx(HelpIcon, { className: "tw-cursor-help tw-text-grey-600 hover:tw-text-grey-500" }) })))] }), jsxRuntime.jsx(Text, { truncate: variant === "small" || undefined, className: cn("tw-flex tw-text-grey-300", detailClassName), children: jsxRuntime.jsx(TextSkeleton, { isLoading: isLoading, showGradient: false, children: detail }) }), isCollapsible && (jsxRuntime.jsx(ChevronLargeRightIcon, { className: cn("tw-text-grey-600 tw-duration-generic", !isCollapsed && "tw-rotate-90"), size: "16" }))] }), isCollapsible && (jsxRuntime.jsx(Collapse, { collapsed: isCollapsed, children: collapsibleContent }))] }) })));
|
|
39011
39031
|
}
|
|
39012
39032
|
|
|
39013
39033
|
function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator = false, }) {
|
|
@@ -39192,10 +39212,10 @@ function TokenGroups({ groups, className, onGroupChildClick, variant = "large",
|
|
|
39192
39212
|
}
|
|
39193
39213
|
|
|
39194
39214
|
function ActionLayout({ lineCap = jsxRuntime.jsx(Timeline.CapTop, {}), status = "executed", showTimeline = true, showBody = true, nextStatus, statusIcon, description, title, icon, children, }) {
|
|
39195
|
-
return (jsxRuntime.jsxs(ActionWrapper, { status: status, children: [jsxRuntime.jsx(ActionLineOutRow, { status: nextStatus }), jsxRuntime.jsx(ActionStatusRow, { status: status, icon: statusIcon, children: description }), title && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ActionRow, { children: jsxRuntime.jsxs(Timeline, { className: cn("tw-h-squid-xs", statusTextClassMap[status]), children: [jsxRuntime.jsx(Timeline.CapTop, {}), jsxRuntime.jsx(Timeline.Straight, {}), jsxRuntime.jsx(Timeline.CapBottom, {})] }) }), jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-justify-center", children: icon }), jsxRuntime.jsx(BodyText, { size: "large", className: cn("tw-flex tw-min-h-squid-l tw-items-center !tw-leading-[1] tw-text-grey-300 tw-transition-opacity tw-duration-200", !showBody && "tw-opacity-0"), children: title })] })] })), jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsxs(Timeline, { className: showTimeline ? statusTextClassMap[status] : "!tw-text-[transparent]", children: [lineCap, jsxRuntime.jsx(Timeline.Straight, {})] }), jsxRuntime.jsx("div", { className: cn("tw-flex tw-flex-col tw-gap-squid-xs tw-pb-squid-xs tw-text-grey-500 tw-transition-
|
|
39215
|
+
return (jsxRuntime.jsxs(ActionWrapper, { status: status, children: [jsxRuntime.jsx(ActionLineOutRow, { status: nextStatus }), jsxRuntime.jsx(ActionStatusRow, { status: status, icon: statusIcon, children: jsxRuntime.jsx(BodyText, { size: "small", tight: true, className: "tw-block tw-w-full tw-font-medium tw-text-grey-300", children: description }) }), title && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ActionRow, { children: jsxRuntime.jsxs(Timeline, { className: cn("tw-h-squid-xs", statusTextClassMap[status]), children: [jsxRuntime.jsx(Timeline.CapTop, {}), jsxRuntime.jsx(Timeline.Straight, {}), jsxRuntime.jsx(Timeline.CapBottom, {})] }) }), jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-justify-center", children: icon }), jsxRuntime.jsx(BodyText, { size: "large", className: cn("tw-flex tw-min-h-squid-l tw-items-center !tw-leading-[1] tw-text-grey-300 tw-transition-opacity tw-duration-200", !showBody && "tw-opacity-0"), children: title })] })] })), jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsxs(Timeline, { className: showTimeline ? statusTextClassMap[status] : "!tw-text-[transparent]", children: [lineCap, jsxRuntime.jsx(Timeline.Straight, {})] }), jsxRuntime.jsx("div", { className: cn("tw-flex tw-flex-col tw-gap-squid-xs tw-overflow-hidden tw-pb-squid-xs tw-text-grey-500 tw-transition-all tw-duration-200", !showBody ? "tw-max-h-0 !tw-pt-0 tw-opacity-0" : "tw-max-h-20", title && "tw-pt-squid-xxs"), children: children })] })] }));
|
|
39196
39216
|
}
|
|
39197
39217
|
function ActionProperties({ timestamp, hash, url, }) {
|
|
39198
|
-
return (jsxRuntime.jsxs(CaptionText, { className: "tw-flex tw-items-center tw-gap-squid-xs", children: [timestamp && jsxRuntime.jsx(Timestamp, { time: timestamp }), timestamp && hash && jsxRuntime.jsx(PipeSeparator, { className: "tw-text-grey-700" }), hash && jsxRuntime.jsx(HashLink, { hash: hash, url: url, showTx: true })] }));
|
|
39218
|
+
return (jsxRuntime.jsxs(CaptionText, { className: "tw-flex tw-items-center tw-gap-squid-xs", children: [timestamp && jsxRuntime.jsx(Timestamp, { time: timestamp }), timestamp && hash && (jsxRuntime.jsx(PipeSeparator, { size: "small", className: "tw-text-grey-700" })), hash && (jsxRuntime.jsx(HashLink, { size: "small", hash: hash, url: url, formattedHash: formatHash(hash), showTx: true, showCopyButton: true }))] }));
|
|
39199
39219
|
}
|
|
39200
39220
|
function renderStatusIcon(status, defaultIcon) {
|
|
39201
39221
|
switch (status) {
|
|
@@ -39214,7 +39234,7 @@ function renderStatusIcon(status, defaultIcon) {
|
|
|
39214
39234
|
}
|
|
39215
39235
|
}
|
|
39216
39236
|
const ActionLineOutRow = ({ status }) => (jsxRuntime.jsx(ActionRow, { children: jsxRuntime.jsxs(Timeline, { className: cn("tw-h-squid-xs", status ? statusTextClassMap[status] : "!tw-text-[transparent]"), children: [jsxRuntime.jsx(Timeline.Straight, {}), jsxRuntime.jsx(Timeline.CapBottom, {})] }) }));
|
|
39217
|
-
const ActionStatusRow = ({ children, status, icon, }) => (jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-justify-center", children: renderStatusIcon(status, icon) }), jsxRuntime.jsx("div", { className: "tw-flex tw-items-center", children: jsxRuntime.jsx(
|
|
39237
|
+
const ActionStatusRow = ({ children, status, icon, }) => (jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-justify-center", children: renderStatusIcon(status, icon) }), jsxRuntime.jsx("div", { className: "tw-flex tw-items-center", children: jsxRuntime.jsx("span", { className: "tw-block tw-w-full tw-text-grey-300", children: children }) })] }));
|
|
39218
39238
|
function ActionRow(_a) {
|
|
39219
39239
|
var { className } = _a, props = __rest$1(_a, ["className"]);
|
|
39220
39240
|
return (jsxRuntime.jsx("div", Object.assign({}, props, { className: cn("tw-grid tw-grid-cols-[40px,1fr,60px] tw-gap-squid-xs tw-pl-squid-m", className) })));
|
|
@@ -39238,15 +39258,13 @@ function FeesAction({ status, nextStatus, showTimeline = false, total, lines, })
|
|
|
39238
39258
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(FeesTotal, { status: status, nextStatus: nextStatus, total: total, showTimeline: lines !== undefined || showTimeline }), lines && (jsxRuntime.jsx(FeesLines, { status: status, lines: lines, showTimeline: showTimeline }))] }));
|
|
39239
39259
|
}
|
|
39240
39260
|
function FeesTotal({ status, nextStatus, total, showTimeline, collapsed, }) {
|
|
39241
|
-
return (jsxRuntime.jsxs(ActionWrapper, { status: status, children: [jsxRuntime.jsx(ActionLineOutRow, { status: nextStatus }), jsxRuntime.jsx(ActionStatusRow, { status: status, icon: jsxRuntime.jsx(TagIconFilled, {}), children: jsxRuntime.jsx(FeesRow, Object.assign({ collapsed: collapsed }, total)) }), jsxRuntime.jsx(ActionRow, { children: jsxRuntime.jsxs(Timeline, { className: cn("tw-h-squid-xs", showTimeline ? statusTextClassMap[status] : "tw-text-transparent"), children: [jsxRuntime.jsx(Timeline.CapTop, {}), jsxRuntime.jsx(Timeline.Straight, {})] }) })] }));
|
|
39261
|
+
return (jsxRuntime.jsxs(ActionWrapper, { status: status, children: [jsxRuntime.jsx(ActionLineOutRow, { status: nextStatus }), jsxRuntime.jsx(ActionStatusRow, { status: status, icon: jsxRuntime.jsx(TagIconFilled, {}), children: jsxRuntime.jsx(FeesRow, Object.assign({ className: "tw-text-grey-300", collapsed: collapsed }, total)) }), jsxRuntime.jsx(ActionRow, { children: jsxRuntime.jsxs(Timeline, { className: cn("tw-h-squid-xs", showTimeline ? statusTextClassMap[status] : "tw-text-transparent"), children: [jsxRuntime.jsx(Timeline.CapTop, {}), jsxRuntime.jsx(Timeline.Straight, {})] }) })] }));
|
|
39242
39262
|
}
|
|
39243
|
-
function FeesLines({ status, lines
|
|
39244
|
-
return (jsxRuntime.
|
|
39245
|
-
? statusTextClassMap[status]
|
|
39246
|
-
: "!tw-text-[transparent]"), children: [jsxRuntime.jsx(Timeline.CapTop, {}), jsxRuntime.jsx(Timeline.Straight, {})] }) })] }));
|
|
39263
|
+
function FeesLines({ status, lines }) {
|
|
39264
|
+
return (jsxRuntime.jsx(ActionWrapper, { status: status, children: lines && (jsxRuntime.jsx("div", { children: lines.map((line, index) => (jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsx("div", { className: "tw-flex tw-h-10", children: jsxRuntime.jsxs(Timeline, { className: statusTextClassMap[status], children: [jsxRuntime.jsx(Timeline.Straight, {}), jsxRuntime.jsx(Timeline.ArrowRight, {}), jsxRuntime.jsx(Timeline.Straight, { className: index < lines.length - 1 ? "visible" : "tw-invisible" })] }) }), jsxRuntime.jsx("div", { className: "tw-flex tw-items-center", children: jsxRuntime.jsx(FeesRow, Object.assign({ className: "tw-text-grey-400" }, line)) })] }, index))) })) }));
|
|
39247
39265
|
}
|
|
39248
|
-
function FeesRow({ label, usd, amount, symbol, collapsed = false, }) {
|
|
39249
|
-
return (jsxRuntime.jsxs("div", { className: "tw-flex tw-w-full tw-gap-squid-xs", children: [jsxRuntime.jsx(SizeTransition, { disableInitialAnimation: true, children: jsxRuntime.jsx(BodyText, { size: "small", tight: true, className: cn("tw-block tw-truncate
|
|
39266
|
+
function FeesRow({ label, usd, amount, symbol, collapsed = false, className, }) {
|
|
39267
|
+
return (jsxRuntime.jsxs("div", { className: cn("tw-flex tw-h-5 tw-w-full tw-items-center tw-gap-squid-xs", className), children: [jsxRuntime.jsx(SizeTransition, { disableInitialAnimation: true, children: jsxRuntime.jsx(BodyText, { size: "small", tight: true, className: cn("tw-block tw-truncate", !collapsed && "tw-w-[100px]"), children: label }) }), jsxRuntime.jsx("div", { className: "tw-flex tw-items-center", children: jsxRuntime.jsx(PipeSeparator, { size: "large", className: "tw-text-grey-700" }) }), jsxRuntime.jsxs(BodyText, { size: "small", tight: true, className: "tw-flex-grow tw-text-grey-300", children: ["$", usd] }), jsxRuntime.jsxs(CaptionText, { className: "tw-text-right tw-text-grey-500", children: [amount, " ", symbol] })] }));
|
|
39250
39268
|
}
|
|
39251
39269
|
|
|
39252
39270
|
function IncompleteAction({ status, nextStatus, message, buttons, }) {
|
|
@@ -39298,7 +39316,7 @@ function StartAction({ status, nextStatus, showTimeline = false, showBody = fals
|
|
|
39298
39316
|
function SuccessAction({ nextStatus, status, description = status === "error"
|
|
39299
39317
|
? "Transaction failed"
|
|
39300
39318
|
: "Transaction successful", showTimeline, showBody, timestamp, hash, url, }) {
|
|
39301
|
-
return (jsxRuntime.jsx(ActionLayout, { description: description, status: status, nextStatus: nextStatus, showTimeline: showTimeline, showBody: showBody, children: (timestamp
|
|
39319
|
+
return (jsxRuntime.jsx(ActionLayout, { description: description, status: status, nextStatus: nextStatus, showTimeline: showTimeline, showBody: showBody, children: (timestamp !== null && timestamp !== void 0 ? timestamp : hash) && (jsxRuntime.jsx(ActionProperties, { timestamp: timestamp, hash: hash, url: url })) }));
|
|
39302
39320
|
}
|
|
39303
39321
|
|
|
39304
39322
|
function SwapAction({ status, nextStatus, showTimeline, showBody, fromToken, toToken, provider, timestamp, hash, url, }) {
|
|
@@ -87250,27 +87268,39 @@ const swapProgressAnimations = {
|
|
|
87250
87268
|
[SwapState.CONFIRMATION_REJECTED]: transactionRejectedAnimation,
|
|
87251
87269
|
[SwapState.NEEDS_GAS]: transactionErrorPauseAnimation,
|
|
87252
87270
|
};
|
|
87253
|
-
const getSwapProgressTitle = ({ fromToken, toToken, swapState, isSendTransaction, }) => {
|
|
87271
|
+
const getSwapProgressTitle = ({ fromToken, toToken, swapState, isSendTransaction, isBridgeTransaction, }) => {
|
|
87254
87272
|
switch (swapState) {
|
|
87255
87273
|
case SwapState.CONFIRM:
|
|
87256
87274
|
if (isSendTransaction) {
|
|
87257
87275
|
return "Confirm transaction";
|
|
87258
87276
|
}
|
|
87277
|
+
if (isBridgeTransaction) {
|
|
87278
|
+
return "Confirm bridge";
|
|
87279
|
+
}
|
|
87259
87280
|
return "Confirm swap";
|
|
87260
87281
|
case SwapState.PROGRESS:
|
|
87261
87282
|
if (isSendTransaction) {
|
|
87262
87283
|
return `Send ${fromToken.symbol}`;
|
|
87263
87284
|
}
|
|
87285
|
+
if (isBridgeTransaction) {
|
|
87286
|
+
return `Bridge ${fromToken.symbol}`;
|
|
87287
|
+
}
|
|
87264
87288
|
return `Swap ${fromToken.symbol} to ${toToken.symbol}`;
|
|
87265
87289
|
case SwapState.COMPLETED:
|
|
87266
87290
|
if (isSendTransaction) {
|
|
87267
87291
|
return "Tokens received";
|
|
87268
87292
|
}
|
|
87293
|
+
if (isBridgeTransaction) {
|
|
87294
|
+
return "Bridge complete";
|
|
87295
|
+
}
|
|
87269
87296
|
return "Swap complete";
|
|
87270
87297
|
case SwapState.ERROR:
|
|
87271
87298
|
if (isSendTransaction) {
|
|
87272
87299
|
return "Transaction failed";
|
|
87273
87300
|
}
|
|
87301
|
+
if (isBridgeTransaction) {
|
|
87302
|
+
return "Bridge failed";
|
|
87303
|
+
}
|
|
87274
87304
|
return "Swap failed";
|
|
87275
87305
|
case SwapState.CONFIRMATION_TOO_LONG:
|
|
87276
87306
|
return "Confirmation taking too long";
|
|
@@ -87278,14 +87308,23 @@ const getSwapProgressTitle = ({ fromToken, toToken, swapState, isSendTransaction
|
|
|
87278
87308
|
if (isSendTransaction) {
|
|
87279
87309
|
return "Transaction rejected";
|
|
87280
87310
|
}
|
|
87311
|
+
if (isBridgeTransaction) {
|
|
87312
|
+
return "Bridge rejected";
|
|
87313
|
+
}
|
|
87281
87314
|
return "Swap rejected";
|
|
87282
87315
|
case SwapState.PARTIAL_SUCCESS:
|
|
87316
|
+
if (isSendTransaction) {
|
|
87317
|
+
return "Transaction failed to complete";
|
|
87318
|
+
}
|
|
87319
|
+
if (isBridgeTransaction) {
|
|
87320
|
+
return "Bridge failed to complete";
|
|
87321
|
+
}
|
|
87283
87322
|
return "Swap failed to complete";
|
|
87284
87323
|
case SwapState.NEEDS_GAS:
|
|
87285
87324
|
return "Needs gas on destination";
|
|
87286
87325
|
}
|
|
87287
87326
|
};
|
|
87288
|
-
const getSwapProgressDescriptions = ({ swapState, toAmount, toChain, toToken, toAddressFormatted, refundTokenSymbol, isSendTransaction, }) => {
|
|
87327
|
+
const getSwapProgressDescriptions = ({ swapState, toAmount, toChain, toToken, toAddressFormatted, refundTokenSymbol, isSendTransaction, isBridgeTransaction, }) => {
|
|
87289
87328
|
switch (swapState) {
|
|
87290
87329
|
case SwapState.CONFIRM: {
|
|
87291
87330
|
return "Authenticate the transaction in your wallet.";
|
|
@@ -87294,6 +87333,9 @@ const getSwapProgressDescriptions = ({ swapState, toAmount, toChain, toToken, to
|
|
|
87294
87333
|
if (isSendTransaction) {
|
|
87295
87334
|
return "Feel free to dismiss this dialog, we’ll notify you when the recipient receives your tokens.";
|
|
87296
87335
|
}
|
|
87336
|
+
if (isBridgeTransaction) {
|
|
87337
|
+
return "Feel free to dismiss this dialog, we’ll notify you when the bridge is complete.";
|
|
87338
|
+
}
|
|
87297
87339
|
return "Feel free to dismiss this dialog, we’ll notify you when the swap is complete.";
|
|
87298
87340
|
}
|
|
87299
87341
|
case SwapState.COMPLETED: {
|
|
@@ -87329,7 +87371,7 @@ const swapProgressButtonTexts = {
|
|
|
87329
87371
|
[SwapState.PARTIAL_SUCCESS]: "Cancel",
|
|
87330
87372
|
[SwapState.NEEDS_GAS]: "Go to Axelarscan",
|
|
87331
87373
|
};
|
|
87332
|
-
function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, shareSwapDropdownContent, isSendTransaction = false, }) {
|
|
87374
|
+
function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, shareSwapDropdownContent, isSendTransaction = false, isBridgeTransaction = false, }) {
|
|
87333
87375
|
const [showSwapInfoSection, setShowSwapInfoSection] = require$$0.useState(true);
|
|
87334
87376
|
const isFirstRenderRef = require$$0.useRef(true);
|
|
87335
87377
|
const { timer, stopTimer, startTimer } = useTimer({
|
|
@@ -87353,6 +87395,7 @@ function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, s
|
|
|
87353
87395
|
fromToken,
|
|
87354
87396
|
toToken,
|
|
87355
87397
|
isSendTransaction,
|
|
87398
|
+
isBridgeTransaction,
|
|
87356
87399
|
});
|
|
87357
87400
|
const headerDescription = getSwapProgressDescriptions({
|
|
87358
87401
|
swapState,
|
|
@@ -87362,12 +87405,13 @@ function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, s
|
|
|
87362
87405
|
toAddressFormatted,
|
|
87363
87406
|
refundTokenSymbol,
|
|
87364
87407
|
isSendTransaction,
|
|
87408
|
+
isBridgeTransaction,
|
|
87365
87409
|
});
|
|
87366
87410
|
return {
|
|
87367
87411
|
headerTitle,
|
|
87368
87412
|
headerDescription,
|
|
87369
87413
|
};
|
|
87370
|
-
}, [swapState, fromToken, toToken, toAmount, toChain]);
|
|
87414
|
+
}, [swapState, fromToken, toToken, toAmount, toChain, isBridgeTransaction]);
|
|
87371
87415
|
const trackTransactionViewRef = require$$0.useRef(null);
|
|
87372
87416
|
const handleCollapseRouteSteps = () => { var _a; return (_a = trackTransactionViewRef.current) === null || _a === void 0 ? void 0 : _a.handleToggleRouteSteps(); };
|
|
87373
87417
|
return (jsxRuntime.jsxs(Modal, { isOpen: isOpen, onBackdropClick:
|
|
@@ -87387,13 +87431,18 @@ function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, s
|
|
|
87387
87431
|
height: "100%",
|
|
87388
87432
|
maxHeight: "100%",
|
|
87389
87433
|
width: "auto",
|
|
87390
|
-
}, autoplay: true, loop: true, src: swapProgressAnimations[swapState] }) }), jsxRuntime.jsx("div", { className: "tw-relative tw-flex tw-h-squid-m tw-w-full tw-items-end tw-justify-between tw-self-stretch tw-px-squid-m", children: swapState === SwapState.COMPLETED ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { className: "-tw-mb-1 -tw-ml-1", children: jsxRuntime.jsx(SwapSuccessIcon, {}) }), shareSwapDropdownContent ? (jsxRuntime.jsx(ShareSwapButton, { dropdownContent: shareSwapDropdownContent })) : null] })) : swapState === SwapState.ERROR ? (jsxRuntime.jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "error" })) : swapState === SwapState.PARTIAL_SUCCESS ? (jsxRuntime.jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "warning" })) : isSendTransaction ? (jsxRuntime.jsx(Image$1, { src: fromToken.logoUrl, rounded: "full", size: "xlarge", shadow: true })) : (jsxRuntime.jsx(TokenPair, { firstToken: {
|
|
87434
|
+
}, autoplay: true, loop: true, src: swapProgressAnimations[swapState] }) }), jsxRuntime.jsx("div", { className: "tw-relative tw-flex tw-h-squid-m tw-w-full tw-items-end tw-justify-between tw-self-stretch tw-px-squid-m", children: swapState === SwapState.COMPLETED ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { className: "-tw-mb-1 -tw-ml-1", children: jsxRuntime.jsx(SwapSuccessIcon, {}) }), shareSwapDropdownContent ? (jsxRuntime.jsx(ShareSwapButton, { dropdownContent: shareSwapDropdownContent })) : null] })) : swapState === SwapState.ERROR ? (jsxRuntime.jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "error" })) : swapState === SwapState.PARTIAL_SUCCESS ? (jsxRuntime.jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "warning" })) : isSendTransaction || isBridgeTransaction ? (jsxRuntime.jsx(Image$1, { src: fromToken.logoUrl, rounded: "full", size: "xlarge", shadow: true })) : (jsxRuntime.jsx(TokenPair, { firstToken: {
|
|
87391
87435
|
bgColor: fromToken.bgColor,
|
|
87392
87436
|
logoURI: fromToken.logoUrl,
|
|
87393
87437
|
}, secondToken: {
|
|
87394
87438
|
bgColor: toToken.bgColor,
|
|
87395
87439
|
logoURI: toToken.logoUrl,
|
|
87396
|
-
} })) }), jsxRuntime.jsx(TxProgressViewHeader, { title: headerTitle, description: headerDescription }), jsxRuntime.jsxs("ul", { className: "tw-
|
|
87440
|
+
} })) }), jsxRuntime.jsx(TxProgressViewHeader, { title: headerTitle, description: headerDescription }), jsxRuntime.jsxs("ul", { className: "tw-flex tw-w-full tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xxs tw-rounded-squid-l tw-pb-squid-s tw-pt-squid-xs tw-squid-property-gradient-bg-odd-container mobile-xs-height:tw-h-[195px] mobile-sm-height:tw-py-squid-s", children: [jsxRuntime.jsx(PropertyListItem, { icon: isSendTransaction ? (jsxRuntime.jsx(ArrowRightUpCircleIcon, {})) : (jsxRuntime.jsx(ArrowsSwapIcon, {})), label: isSendTransaction
|
|
87441
|
+
? "Send"
|
|
87442
|
+
: isBridgeTransaction
|
|
87443
|
+
? "Bridge"
|
|
87444
|
+
: "Swap", detail: isSendTransaction ? (jsxRuntime.jsx(IconLabel, { src: fromToken.logoUrl, rounded: "full", children: fromAmount })) : (jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromToken.logoUrl, rounded: "full", children: fromAmount }), to: jsxRuntime.jsx(IconLabel, { src: toToken.logoUrl, rounded: "full", children: toAmount }) })) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(ChainLink, { size: "24", strokeWidth: "2" }), label: "Chain", detail: isSendTransaction ||
|
|
87445
|
+
fromChain.networkName === toChain.networkName ? (jsxRuntime.jsxs("span", { className: "tw-flex tw-items-center tw-gap-squid-xxs", children: [jsxRuntime.jsx(Image$1, { size: "medium", rounded: "xxs", src: fromChain.logoUrl }), jsxRuntime.jsx(CaptionText, { children: fromChain.networkName })] })) : (jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Image$1, { size: "medium", rounded: "xxs", src: fromChain.logoUrl }), jsxRuntime.jsx(CaptionText, { children: fromChain.networkName })] }), to: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Image$1, { size: "medium", rounded: "xxs", src: toChain.logoUrl }), jsxRuntime.jsx(CaptionText, { children: toChain.networkName })] }) })) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(WalletFilledIcon, { size: "24" }), label: "Wallet", detail: jsxRuntime.jsx(Transfer, { from: fromAddressFormatted, to: toAddressFormatted }) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: swapState === SwapState.PROGRESS ? (jsxRuntime.jsx(Transfer, { from: timer, to: estimatedTimeToComplete })) : swapState === SwapState.COMPLETED ? (jsxRuntime.jsx(CaptionText, { children: timer })) : (jsxRuntime.jsx(CaptionText, { children: estimatedTimeToComplete })) })] })] }), jsxRuntime.jsx(TrackTransactionView, { ref: trackTransactionViewRef, onTxEnd: () => {
|
|
87397
87446
|
stopTimer();
|
|
87398
87447
|
}, onTxStart: () => {
|
|
87399
87448
|
startTimer();
|
|
@@ -87495,20 +87544,27 @@ function TransactionViewLayout(_a) {
|
|
|
87495
87544
|
var { isLoading, header, properties, actions, fees } = _a, props = __rest$1(_a, ["isLoading", "header", "properties", "actions", "fees"]);
|
|
87496
87545
|
const [actionsCollapsed, setActionsCollapsed] = require$$0.useState(true);
|
|
87497
87546
|
const [feesCollapsed, setFeesCollapsed] = require$$0.useState(true);
|
|
87498
|
-
|
|
87547
|
+
const items = require$$0.useMemo(() => {
|
|
87548
|
+
if (actions)
|
|
87549
|
+
return linkActionTimelineProps(actions, actionsCollapsed);
|
|
87550
|
+
return [];
|
|
87551
|
+
}, [actions, actionsCollapsed]);
|
|
87552
|
+
return (jsxRuntime.jsx("div", Object.assign({ className: "tw-relative tw-divide-y tw-divide-material-light-thin tw-squid-property-gradient-bg-even-container" }, props, { children: isLoading ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "tw-absolute tw-left-0 tw-top-0 tw-z-10 tw-h-full tw-w-full tw-animate-shimmer tw-bg-shimmer tw-text-transparent", style: {
|
|
87499
87553
|
backgroundSize: "200% 100%",
|
|
87500
|
-
} }), jsxRuntime.jsx(TransactionHeaderLayout, { isLoading: true }), jsxRuntime.jsx(PropertiesSkeleton, {})] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [header, properties,
|
|
87501
|
-
|
|
87502
|
-
|
|
87503
|
-
|
|
87504
|
-
|
|
87505
|
-
|
|
87506
|
-
|
|
87507
|
-
|
|
87508
|
-
|
|
87509
|
-
|
|
87510
|
-
|
|
87511
|
-
|
|
87554
|
+
} }), jsxRuntime.jsx(TransactionHeaderLayout, { isLoading: true }), jsxRuntime.jsx(PropertiesSkeleton, {})] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [header, properties, actions && (jsxRuntime.jsx(CollapsibleSection, { header: jsxRuntime.jsx("div", { className: "tw-w-full", children: items[0] && jsxRuntime.jsx(TransactionAction, Object.assign({}, items[0])) }), collapsed: actionsCollapsed, setCollapsed: setActionsCollapsed, children: linkActionTimelineProps(actions, actionsCollapsed)
|
|
87555
|
+
.slice(1, linkActionTimelineProps.length)
|
|
87556
|
+
.map((props, i) => (jsxRuntime.jsx("div", { className: cn(i > 0 && "tw-border-t tw-border-t-material-light-thin"), children: jsxRuntime.jsx(TransactionAction, Object.assign({}, props)) }, i))) })), fees && (jsxRuntime.jsx(CollapsibleSection, { header: jsxRuntime.jsx(FeesTotal, Object.assign({ collapsed: feesCollapsed, showTimeline: true }, fees)), collapsed: feesCollapsed, setCollapsed: setFeesCollapsed, children: jsxRuntime.jsx(FeesLines, Object.assign({}, fees)) }))] })) })));
|
|
87557
|
+
}
|
|
87558
|
+
function CollapsibleSection({ header, children, collapsed, setCollapsed, collapsedHeight = 0, }) {
|
|
87559
|
+
return (jsxRuntime.jsx("div", { className: cn("tw-group/collapsible-section tw-relative tw-bg-grey-900", collapsed ? "tw-cursor-pointer" : ""), children: jsxRuntime.jsx("div", { className: cn("tw-relative tw-border-material-light-thin tw-transition-[border-width] tw-duration-200", !collapsed && "tw-border-t-[4px]"), children: jsxRuntime.jsxs("div", { className: "tw-border-t tw-border-t-material-light-thin", children: [jsxRuntime.jsxs("span", { className: "tw-relative tw-z-10 tw-flex tw-flex tw-w-full tw-cursor-pointer tw-items-center tw-justify-between tw-text-left hover:tw-bg-grey-800", onClick: (e) => {
|
|
87560
|
+
const target = e.target;
|
|
87561
|
+
if (target.tagName === "BUTTON" ||
|
|
87562
|
+
target.tagName === "A" ||
|
|
87563
|
+
target.closest("button, a, input, select, textarea")) {
|
|
87564
|
+
return;
|
|
87565
|
+
}
|
|
87566
|
+
setCollapsed((prev) => !prev);
|
|
87567
|
+
}, children: [jsxRuntime.jsx("div", { className: "tw-w-full", children: header }), jsxRuntime.jsx(ChevronLargeDownIcon, { className: cn("tw-absolute tw-right-squid-m tw-top-1/2 tw-origin-center -tw-translate-y-1/2 tw-text-grey-300 tw-transition-transform tw-duration-200", collapsed && "-tw-rotate-90") })] }), jsxRuntime.jsx(Collapse, { collapsed: collapsed, collapsedHeight: collapsedHeight, children: children })] }) }) }));
|
|
87512
87568
|
}
|
|
87513
87569
|
function PropertiesSkeleton() {
|
|
87514
87570
|
return (jsxRuntime.jsx(PropertiesLayout, { children: Array.from({ length: 5 }, (_, i) => (jsxRuntime.jsx(PropertyListItem, { variant: "large", isLoading: true, showGradientBg: false }, i))) }));
|
|
@@ -87529,16 +87585,20 @@ function InteractionTransactionView({ title = "Interaction", hash, status, url,
|
|
|
87529
87585
|
return (jsxRuntime.jsx(TransactionViewLayout, { isLoading: isLoading, header: jsxRuntime.jsx(TransactionHeaderLayout, { title: title, status: status, media: jsxRuntime.jsx("div", { className: "tw-flex tw-h-10 tw-w-10 tw-items-center tw-justify-center tw-rounded-md tw-bg-royal-400 tw-text-grey-900", children: jsxRuntime.jsx(ThumbsUp, { size: "24" }) }), children: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-text-grey-500", children: [jsxRuntime.jsx(Chip, { label: "TX" }), jsxRuntime.jsx(HashLink, { hash: hash, url: url, showCopyButton: true }), " "] }) }), properties: jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(IconLabel, { src: chain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: chain.name }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(WalletFilledIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: address, showCopyButton: true }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] }), actions: actions, fees: fees }));
|
|
87530
87586
|
}
|
|
87531
87587
|
|
|
87532
|
-
function
|
|
87588
|
+
function LinkButton({ href }) {
|
|
87589
|
+
return (jsxRuntime.jsx("a", { href: href, target: "_blank", className: "tw-ml-0.5 tw-rounded-squid-xs tw-p-0.5 tw-text-royal-500 hover:tw-bg-material-light-thin", rel: "noreferrer", children: jsxRuntime.jsx(SquareArrowTopRightIcon, {}) }));
|
|
87590
|
+
}
|
|
87591
|
+
|
|
87592
|
+
function SwapTransactionView({ title = "Swap", hash, toLink, fromLink, status, url, fromAmount, fromToken, toAmount, toToken, fromChain, toChain, fromAddress, toAddress, exchangeRate, boosted, timeToComplete, actions, fees, isLoading, }) {
|
|
87533
87593
|
if (isLoading)
|
|
87534
87594
|
return jsxRuntime.jsx(TransactionViewLayout, { isLoading: isLoading });
|
|
87535
|
-
return (jsxRuntime.jsx(TransactionViewLayout, { header: jsxRuntime.jsx(TransactionHeaderLayout, { title: title, status: status, media: jsxRuntime.jsx(Drip, { direction: "horizontal", from: fromToken, to: toToken }), children: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-text-grey-500", children: [jsxRuntime.jsx(Chip, { label: "TX" }), jsxRuntime.jsx(HashLink, { hash: hash, url: url, showCopyButton: true, formattedHash: formatHash(hash) })] }) }), properties: jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(ArrowRightUpCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Swap ", fromToken.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: fromToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: fromAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightDownCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Receive ", toToken.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: toToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: toAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(WalletFilledIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: fromAddress, showCopyButton: true, formattedHash: formatHash(fromAddress) }) }), to: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: toAddress, showCopyButton: true, formattedHash: formatHash(toAddress) }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(ArrowsSwapIcon, {}), label: "Exchange rate", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsxs(BodyText, { size: "small", children: ["1 ", fromToken.symbol] }), to: jsxRuntime.jsxs(BodyText, { size: "small", children: [exchangeRate, " ", toToken.symbol] }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] }), actions: actions, fees: fees }));
|
|
87595
|
+
return (jsxRuntime.jsx(TransactionViewLayout, { header: jsxRuntime.jsx(TransactionHeaderLayout, { title: title, status: status, media: jsxRuntime.jsx(Drip, { direction: "horizontal", from: fromToken, to: toToken }), children: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-text-grey-500", children: [jsxRuntime.jsx(Chip, { label: "TX" }), jsxRuntime.jsx(HashLink, { hash: hash, url: url, showCopyButton: true, formattedHash: formatHash(hash) })] }) }), properties: jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(ArrowRightUpCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Swap ", fromToken.symbol] }), detail: jsxRuntime.jsxs("span", { className: "tw-inline-flex tw-inline-flex tw-gap-0.5", children: [jsxRuntime.jsx(IconLabel, { src: fromToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: fromAmount }) }), fromLink && jsxRuntime.jsx(LinkButton, { href: fromLink })] }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightDownCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Receive ", toToken.symbol] }), detail: jsxRuntime.jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-0.5", children: [jsxRuntime.jsx(IconLabel, { src: toToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: toAmount }) }), toLink && jsxRuntime.jsx(LinkButton, { href: toLink })] }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(WalletFilledIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: fromAddress, showCopyButton: true, formattedHash: formatHash(fromAddress) }) }), to: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: toAddress, showCopyButton: true, formattedHash: formatHash(toAddress) }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(ArrowsSwapIcon, {}), label: "Exchange rate", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsxs(BodyText, { size: "small", children: ["1 ", fromToken.symbol] }), to: jsxRuntime.jsxs(BodyText, { size: "small", children: [exchangeRate, " ", toToken.symbol] }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] }), actions: actions, fees: fees }));
|
|
87536
87596
|
}
|
|
87537
87597
|
|
|
87538
|
-
function BridgeTransactionView({ title = "Bridge", hash, status, url,
|
|
87598
|
+
function BridgeTransactionView({ title = "Bridge", hash, fromLink, toLink, status, url, fromAmount, toAmount, fromToken, toToken, fromChain, toChain, address, actions, fees, boosted, timeToComplete, isLoading, }) {
|
|
87539
87599
|
if (isLoading)
|
|
87540
87600
|
return jsxRuntime.jsx(TransactionViewLayout, { isLoading: isLoading });
|
|
87541
|
-
return (jsxRuntime.jsx(TransactionViewLayout, { isLoading: isLoading, header: jsxRuntime.jsx(TransactionHeaderLayout, { title: title, status: status, media: jsxRuntime.jsxs("div", { className: "tw-relative", children: [jsxRuntime.jsx(Image$1, { src: fromChain.logoURI, size: "xlarge", rounded: "full" }), jsxRuntime.jsx("div", { className: "tw-absolute -tw-bottom-[1px] -tw-right-[1px] tw-rounded-md tw-border tw-border-white", children: jsxRuntime.jsx(Image$1, { src: toChain.logoURI, size: "medium" }) })] }), children: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-text-grey-500", children: [jsxRuntime.jsx(Chip, { label: "TX" }), jsxRuntime.jsx(HashLink, { hash: hash, url: url, showCopyButton: true, formattedHash: formatHash(hash) })
|
|
87601
|
+
return (jsxRuntime.jsx(TransactionViewLayout, { isLoading: isLoading, header: jsxRuntime.jsx(TransactionHeaderLayout, { title: title, status: status, media: jsxRuntime.jsxs("div", { className: "tw-relative", children: [jsxRuntime.jsx(Image$1, { src: fromChain.logoURI, size: "xlarge", rounded: "full" }), jsxRuntime.jsx("div", { className: "tw-absolute -tw-bottom-[1px] -tw-right-[1px] tw-rounded-md tw-border tw-border-white", children: jsxRuntime.jsx(Image$1, { src: toChain.logoURI, size: "medium" }) })] }), children: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-text-grey-500", children: [jsxRuntime.jsx(Chip, { label: "TX" }), jsxRuntime.jsx(HashLink, { hash: hash, url: url, showCopyButton: true, formattedHash: formatHash(hash) })] }) }), properties: jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightUpCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Bridge ", fromToken.symbol] }), detail: jsxRuntime.jsxs("span", { className: "tw-inline-flex tw-inline-flex tw-gap-0.5", children: [jsxRuntime.jsx(IconLabel, { src: fromToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: fromAmount }) }), fromLink && jsxRuntime.jsx(LinkButton, { href: fromLink })] }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightDownCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Receive ", toToken.symbol] }), detail: jsxRuntime.jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-0.5", children: [jsxRuntime.jsx(IconLabel, { src: toToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: toAmount }) }), toLink && jsxRuntime.jsx(LinkButton, { href: toLink })] }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(WalletFilledIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: address, showCopyButton: true, formattedHash: address }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", showGradientBg: false, icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] }), actions: actions, fees: fees }));
|
|
87542
87602
|
}
|
|
87543
87603
|
|
|
87544
87604
|
function TransactionView({ type, isLoading, data, }) {
|
|
@@ -88117,6 +88177,7 @@ exports.SparklesIcon = SparklesIcon;
|
|
|
88117
88177
|
exports.SquareArrowCenter = SquareArrowCenter;
|
|
88118
88178
|
exports.SquareArrowTopLeftIcon = SquareArrowTopLeftIcon;
|
|
88119
88179
|
exports.SquareArrowTopRight2Icon = SquareArrowTopRight2Icon;
|
|
88180
|
+
exports.SquareArrowTopRightIcon = SquareArrowTopRightIcon;
|
|
88120
88181
|
exports.SquidLogo = SquidLogo;
|
|
88121
88182
|
exports.StakeAction = StakeAction;
|
|
88122
88183
|
exports.StarLinesIcon = StarLinesIcon;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface Props extends React.HTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
copyText: string;
|
|
4
|
+
size?: "default" | "small";
|
|
5
|
+
}
|
|
6
|
+
export declare const CopyButton: ({ copyText, className, size, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -49,6 +49,11 @@ export declare function ChevronGrabberVerticalIcon({ size, className, }: {
|
|
|
49
49
|
size?: string;
|
|
50
50
|
className?: string;
|
|
51
51
|
}): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
export declare function SquareArrowTopRightIcon({ className, size, strokeWidth, }: {
|
|
53
|
+
className?: string;
|
|
54
|
+
size?: string;
|
|
55
|
+
strokeWidth?: string;
|
|
56
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
52
57
|
export declare function SquareArrowTopRight2Icon({ className, size, strokeWidth, }: {
|
|
53
58
|
className?: string;
|
|
54
59
|
size?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentProps } from "react";
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
2
|
export declare function Timeline({ className, ...props }: ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export declare namespace Timeline {
|
|
4
4
|
var ArrowDown: (props: import("react").SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type LottieComponentProps } from "lottie-react";
|
|
3
|
-
interface Props extends Omit<LottieComponentProps, "src"> {
|
|
3
|
+
interface Props extends Omit<LottieComponentProps, "src" | "animationData"> {
|
|
4
4
|
style?: React.CSSProperties;
|
|
5
5
|
autoplay?: boolean;
|
|
6
6
|
loop?: boolean;
|
|
@@ -7,7 +7,7 @@ interface HashLinkProps {
|
|
|
7
7
|
url?: string;
|
|
8
8
|
className?: string;
|
|
9
9
|
formattedHash?: string;
|
|
10
|
-
|
|
10
|
+
size?: "default" | "small";
|
|
11
11
|
}
|
|
12
|
-
export declare function HashLink({ showTx, hash, showCopyButton, url, children, className, formattedHash,
|
|
12
|
+
export declare function HashLink({ showTx, hash, showCopyButton, url, children, className, formattedHash, size, }: HashLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export {};
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import { ComponentProps } from "react";
|
|
2
|
-
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
|
+
interface Props extends ComponentProps<"div"> {
|
|
3
|
+
size?: "default" | "small" | "large";
|
|
4
|
+
}
|
|
5
|
+
export declare function PipeSeparator({ className, size, ...props }: Props): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
@@ -18,12 +18,13 @@ interface FeesLinesProps {
|
|
|
18
18
|
lines?: FeesRowProps[];
|
|
19
19
|
showTimeline?: boolean;
|
|
20
20
|
}
|
|
21
|
-
export declare function FeesLines({ status, lines
|
|
21
|
+
export declare function FeesLines({ status, lines }: FeesLinesProps): import("react/jsx-runtime").JSX.Element;
|
|
22
22
|
interface FeesRowProps {
|
|
23
23
|
label: string;
|
|
24
24
|
amount: number | string;
|
|
25
25
|
symbol: string;
|
|
26
26
|
usd: number | string;
|
|
27
27
|
collapsed?: boolean;
|
|
28
|
+
className?: string;
|
|
28
29
|
}
|
|
29
30
|
export {};
|
|
@@ -10,7 +10,7 @@ interface Token {
|
|
|
10
10
|
logoUrl: string;
|
|
11
11
|
bgColor: string;
|
|
12
12
|
}
|
|
13
|
-
export declare function SwapProgressView({ steps, isOpen, handleClose, handleComplete, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, shareSwapDropdownContent, isSendTransaction, }: {
|
|
13
|
+
export declare function SwapProgressView({ steps, isOpen, handleClose, handleComplete, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, shareSwapDropdownContent, isSendTransaction, isBridgeTransaction, }: {
|
|
14
14
|
steps: SwapStep[];
|
|
15
15
|
handleClose?: (swapState: SwapState) => void;
|
|
16
16
|
handleComplete?: () => void;
|
|
@@ -31,5 +31,6 @@ export declare function SwapProgressView({ steps, isOpen, handleClose, handleCom
|
|
|
31
31
|
refundTokenSymbol?: string;
|
|
32
32
|
addGasLink?: string;
|
|
33
33
|
isSendTransaction?: boolean;
|
|
34
|
+
isBridgeTransaction?: boolean;
|
|
34
35
|
}): import("react/jsx-runtime").JSX.Element;
|
|
35
36
|
export {};
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { type BaseTransactionViewProps } from "./BaseTransactionViewProps";
|
|
2
2
|
interface BaseBridgeTransactionViewProps extends BaseTransactionViewProps {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
fromToken: {
|
|
4
|
+
logoURI: string;
|
|
5
|
+
bgColor: string;
|
|
6
|
+
symbol: string;
|
|
7
|
+
};
|
|
8
|
+
toToken: {
|
|
5
9
|
logoURI: string;
|
|
6
10
|
bgColor: string;
|
|
7
11
|
symbol: string;
|
|
@@ -19,11 +23,15 @@ interface BaseBridgeTransactionViewProps extends BaseTransactionViewProps {
|
|
|
19
23
|
address: string;
|
|
20
24
|
boosted?: boolean;
|
|
21
25
|
timeToComplete: string;
|
|
26
|
+
fromLink?: string;
|
|
27
|
+
toLink?: string;
|
|
28
|
+
fromAmount: string;
|
|
29
|
+
toAmount: string;
|
|
22
30
|
}
|
|
23
31
|
type BridgeTransactionViewProps = (BaseBridgeTransactionViewProps & {
|
|
24
32
|
isLoading?: false;
|
|
25
|
-
}) | (Partial<BaseBridgeTransactionViewProps
|
|
33
|
+
}) | (Partial<Omit<BaseBridgeTransactionViewProps, keyof BaseTransactionViewProps>> & BaseTransactionViewProps & {
|
|
26
34
|
isLoading: true;
|
|
27
35
|
});
|
|
28
|
-
export declare function BridgeTransactionView({ title, hash, status, url,
|
|
36
|
+
export declare function BridgeTransactionView({ title, hash, fromLink, toLink, status, url, fromAmount, toAmount, fromToken, toToken, fromChain, toChain, address, actions, fees, boosted, timeToComplete, isLoading, }: BridgeTransactionViewProps): import("react/jsx-runtime").JSX.Element;
|
|
29
37
|
export {};
|
|
@@ -20,16 +20,18 @@ interface BaseSwapTransactionViewProps extends BaseTransactionViewProps {
|
|
|
20
20
|
logoURI: string;
|
|
21
21
|
name: string;
|
|
22
22
|
};
|
|
23
|
+
fromLink?: string;
|
|
24
|
+
toLink?: string;
|
|
23
25
|
fromAddress: string;
|
|
24
26
|
toAddress: string;
|
|
25
27
|
exchangeRate: string;
|
|
26
28
|
boosted?: boolean;
|
|
27
29
|
timeToComplete: string;
|
|
28
30
|
}
|
|
29
|
-
|
|
31
|
+
type SwapTransactionViewProps = (BaseSwapTransactionViewProps & {
|
|
30
32
|
isLoading?: false;
|
|
31
33
|
}) | (Partial<Omit<BaseSwapTransactionViewProps, keyof BaseTransactionViewProps>> & BaseTransactionViewProps & {
|
|
32
34
|
isLoading: true;
|
|
33
35
|
});
|
|
34
|
-
export declare function SwapTransactionView({ title, hash, status, url, fromAmount, fromToken, toAmount, toToken, fromChain, toChain, fromAddress, toAddress, exchangeRate, boosted, timeToComplete, actions, fees, isLoading, }: SwapTransactionViewProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare function SwapTransactionView({ title, hash, toLink, fromLink, status, url, fromAmount, fromToken, toAmount, toToken, fromChain, toChain, fromAddress, toAddress, exchangeRate, boosted, timeToComplete, actions, fees, isLoading, }: SwapTransactionViewProps): import("react/jsx-runtime").JSX.Element;
|
|
35
37
|
export {};
|