@0xsquid/ui 0.6.1 → 0.6.2
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 +16 -11
- package/dist/cjs/types/components/icons/Percent.d.ts +8 -0
- package/dist/cjs/types/components/lists/SwapDetailListItem.d.ts +2 -1
- package/dist/cjs/types/components/typography/CaptionText.d.ts +0 -1
- package/dist/cjs/types/components/views/SwapDetailsView.d.ts +3 -1
- package/dist/cjs/types/stories/layout/Boost.stories.d.ts +1 -0
- package/dist/cjs/types/stories/lists/SwapDetailListItem.stories.d.ts +1 -0
- package/dist/cjs/types/stories/views/SwapDetailsView.stories.d.ts +1 -0
- package/dist/esm/index.js +16 -11
- package/dist/esm/types/components/icons/Percent.d.ts +8 -0
- package/dist/esm/types/components/lists/SwapDetailListItem.d.ts +2 -1
- package/dist/esm/types/components/typography/CaptionText.d.ts +0 -1
- package/dist/esm/types/components/views/SwapDetailsView.d.ts +3 -1
- package/dist/esm/types/stories/layout/Boost.stories.d.ts +1 -0
- package/dist/esm/types/stories/lists/SwapDetailListItem.stories.d.ts +1 -0
- package/dist/esm/types/stories/views/SwapDetailsView.stories.d.ts +1 -0
- package/dist/index.css +51 -12
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -2588,7 +2588,7 @@ function CaptionText(_a) {
|
|
|
2588
2588
|
}
|
|
2589
2589
|
|
|
2590
2590
|
function UsdAmount({ usdAmount }) {
|
|
2591
|
-
return (jsxRuntime.jsxs("span", { className: "tw-flex tw-items-center tw-text-grey-500", children: [jsxRuntime.jsx(CaptionText, { className: "tw-
|
|
2591
|
+
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() })] }));
|
|
2592
2592
|
}
|
|
2593
2593
|
|
|
2594
2594
|
// font size, line height, and letter spacing classes
|
|
@@ -2772,7 +2772,7 @@ function AssetsButton({ chainImageUrl, tokenImageUrl, tokenSymbol, chainBgColor
|
|
|
2772
2772
|
}
|
|
2773
2773
|
return `linear-gradient(to right, ${chainBgColor} 43.5%, ${tokenBgColor} 56.55%)`;
|
|
2774
2774
|
}, [chainBgColor, tokenBgColor]);
|
|
2775
|
-
return (jsxRuntime.jsxs("
|
|
2775
|
+
return (jsxRuntime.jsxs("button", { onClick: onClick, className: "tw-relative tw-flex tw-h-squid-xl tw-w-fit tw-items-center tw-text-grey-100 focus:tw-outline-none", children: [jsxRuntime.jsx("svg", { className: "tw-absolute tw-left-0 tw-z-10 tw-h-[40px] tw-w-[72px] tw-cursor-pointer tw-text-material-light-thin", viewBox: "0 0 72 40", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", children: jsxRuntime.jsx("path", { d: "m57.86 5.86c-.53.53-1.05 1.06-1.56 1.59-3.29 3.38-6.37 6.55-10.3 6.55s-7.01-3.17-10.3-6.55c-.51-.53-1.03-1.06-1.56-1.59-3.9-3.91-9.02-5.86-14.14-5.86s-10.24 1.95-14.14 5.86c-3.91 3.9-5.86 9.02-5.86 14.14s1.95 10.24 5.86 14.14c3.91 3.91 9.02 5.86 14.14 5.86s10.24-1.95 14.14-5.86c.52-.53 1.04-1.06 1.55-1.58 3.29-3.39 6.37-6.56 10.31-6.56s7.02 3.17 10.31 6.56c.51.53 1.03 1.06 1.55 1.58 3.91 3.91 9.02 5.86 14.14 5.86v-40c-5.12 0-10.24 1.95-14.14 5.86zm14.14 33.14c-5.07 0-9.85-1.98-13.43-5.56-.52-.52-1.02-1.04-1.54-1.57-3.43-3.53-6.67-6.86-11.02-6.86s-7.6 3.33-11.04 6.88c-.5.52-1.01 1.04-1.53 1.56-3.59 3.59-8.36 5.57-13.44 5.57s-9.85-1.98-13.43-5.57c-3.59-3.59-5.56-8.36-5.56-13.43s1.98-9.85 5.56-13.44c3.58-3.6 8.35-5.58 13.43-5.58s9.85 1.98 13.44 5.57c.52.52 1.04 1.05 1.55 1.58 3.43 3.53 6.66 6.86 11.02 6.86s7.59-3.33 11.02-6.86c.51-.52 1.02-1.05 1.55-1.58 3.59-3.59 8.36-5.56 13.43-5.56v38z" }) }), jsxRuntime.jsx("div", { className: cn('tw-assets-button-mask tw-flex tw-h-squid-xl tw-w-[92px] tw-cursor-pointer tw-items-center tw-justify-between', tokenImageUrl ? 'tw-w-[90px]' : 'tw-w-full tw-max-w-[72px]'), style: {
|
|
2776
2776
|
backgroundImage: bgGradient,
|
|
2777
2777
|
}, children: jsxRuntime.jsx("div", { className: clsx(imageClass), children: chainImageUrl ? (jsxRuntime.jsx("img", { src: chainImageUrl, alt: "", className: "tw-rounded-full" })) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(PlusIcon, {}) })) }) }), tokenImageUrl && chainImageUrl ? (jsxRuntime.jsx("div", { className: clsx(imageClass, 'tw-absolute tw-left-[54px] tw-h-squid-xl tw-cursor-pointer tw-rounded-bl-full tw-rounded-tl-full tw-border-b tw-border-t tw-border-material-light-thin'), style: {
|
|
2778
2778
|
backgroundColor: tokenBgColor,
|
|
@@ -2822,19 +2822,19 @@ const switchCircleSizeClassMap = {
|
|
|
2822
2822
|
function Switch({ checked = false, onChange, size }) {
|
|
2823
2823
|
return (
|
|
2824
2824
|
// Switch container
|
|
2825
|
-
jsxRuntime.jsxs("label", { className: clsx('tw-relative tw-inline-flex tw-items-center tw-justify-end tw-overflow-hidden tw-rounded-squid-m tw-border tw-border-material-light-thin',
|
|
2825
|
+
jsxRuntime.jsxs("label", { className: clsx('tw-relative tw-inline-flex tw-cursor-pointer tw-items-center tw-justify-end tw-overflow-hidden tw-rounded-squid-m tw-border tw-border-material-light-thin tw-transition-colors',
|
|
2826
2826
|
// size styles
|
|
2827
2827
|
switchSizeClassMap[size],
|
|
2828
2828
|
// checked styles
|
|
2829
2829
|
checked ? 'tw-bg-status-positive' : 'tw-bg-grey-800'), children: [jsxRuntime.jsx("input", { checked: checked, onChange: (e) => onChange === null || onChange === void 0 ? void 0 : onChange(e.target.checked), type: "checkbox", className: "tw-peer tw-sr-only" }), jsxRuntime.jsx("span", { style: {
|
|
2830
2830
|
filter: 'drop-shadow(0px 5px 20px rgba(0, 0, 0, 0.33)) drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.20))',
|
|
2831
|
-
}, className: clsx('tw-absolute tw-rounded-full tw-border tw-border-material-light-thin',
|
|
2831
|
+
}, className: clsx('tw-absolute tw-rounded-full tw-border tw-border-material-light-thin tw-transition-all',
|
|
2832
2832
|
// size styles
|
|
2833
2833
|
switchCircleSizeClassMap[size],
|
|
2834
2834
|
// disabled and checked styles
|
|
2835
2835
|
checked
|
|
2836
|
-
? 'tw-
|
|
2837
|
-
: 'tw-
|
|
2836
|
+
? 'tw-translate-x-0 tw-bg-grey-100'
|
|
2837
|
+
: '-tw-translate-x-full tw-bg-grey-500') })] }));
|
|
2838
2838
|
}
|
|
2839
2839
|
|
|
2840
2840
|
const borderRadiusClassMap = {
|
|
@@ -2883,9 +2883,9 @@ function BoostButton({ boostMode: _boostMode, onToggleBoostMode, canToggleBoostM
|
|
|
2883
2883
|
onToggleBoostMode === null || onToggleBoostMode === void 0 ? void 0 : onToggleBoostMode({ boostMode: 'normal' });
|
|
2884
2884
|
}
|
|
2885
2885
|
}
|
|
2886
|
-
return (jsxRuntime.jsx(Tooltip, { tooltipWidth: "max", tooltipContent: canToggleBoostMode ? null : boostDisabledMessage, children: jsxRuntime.jsxs("
|
|
2886
|
+
return (jsxRuntime.jsx(Tooltip, { tooltipWidth: "max", tooltipContent: canToggleBoostMode ? null : boostDisabledMessage, children: jsxRuntime.jsxs("button", { onClick: handleToggleBoostMode, disabled: !canToggleBoostMode, className: "tw-group tw-relative tw-flex tw-h-squid-xl tw-w-[140px] tw-flex-col tw-justify-between tw-overflow-hidden tw-bg-grey-900 tw-pb-squid-xxs tw-text-grey-300", children: [jsxRuntime.jsx("span", { className: "tw-via-grey-900/70 tw-absolute tw-left-0 tw-top-0 tw-z-10 tw-h-full tw-w-8 tw-bg-gradient-to-r tw-from-grey-900 tw-to-transparent" }), jsxRuntime.jsx("span", { className: "tw-via-grey-900/70 tw-absolute tw-right-0 tw-top-0 tw-z-10 tw-h-full tw-w-8 tw-bg-gradient-to-l tw-from-grey-900 tw-to-transparent" }), jsxRuntime.jsxs("div", { ref: boostIndicatorRef, "data-boost-mode": boostMode, className: "tw-group tw-peer tw-flex tw-h-full tw-w-full tw-items-center tw-justify-between tw-transition-transform group-disabled:tw-grayscale data-[boost-mode=boost]:tw-animate-move-to-left-with-spring-bounce data-[boost-mode=normal]:tw-animate-move-to-right-with-spring-bounce", children: [jsxRuntime.jsx("div", { className: "tw-w-1/2 tw-text-center group-disabled:tw-grayscale", children: jsxRuntime.jsx(BodyText, { size: "small", className: "tw-text-grey-300", children: "Normal" }) }), jsxRuntime.jsxs("div", { className: "tw-w-1/2 tw-text-center group-disabled:tw-grayscale", children: [jsxRuntime.jsx(BodyText, { size: "small", className: "tw-text-status-positive", children: "Boost" }), ' '] }), jsxRuntime.jsx("div", { className: "tw-absolute tw-bottom-0 tw-h-1.5 tw-w-[1.5px] tw-rounded-sm tw-bg-grey-500 tw-text-grey-500 group-data-[boost-mode=boost]:tw-left-[calc(50%-2px)] group-data-[boost-mode=normal]:tw-left-[calc(50%-6px)]", style: {
|
|
2887
2887
|
boxShadow: generateMarkerLines(40),
|
|
2888
|
-
} })] }), jsxRuntime.jsx("div", { className: cn('tw-absolute tw-bottom-0.5 tw-left-[calc(50%-1.5px)] tw-z-20 tw-h-[10px] tw-w-[3px] tw-rounded-sm tw-transition-colors peer-data-[boost-mode=boost]:tw-bg-status-positive peer-data-[boost-mode=normal]:tw-bg-current'), style: {
|
|
2888
|
+
} })] }), jsxRuntime.jsx("div", { className: cn('tw-absolute tw-bottom-0.5 tw-left-[calc(50%-1.5px)] tw-z-20 tw-h-[10px] tw-w-[3px] tw-rounded-sm tw-transition-colors group-disabled:tw-grayscale peer-data-[boost-mode=boost]:tw-bg-status-positive peer-data-[boost-mode=normal]:tw-bg-current'), style: {
|
|
2889
2889
|
transitionDuration: animationDuration,
|
|
2890
2890
|
} })] }) }));
|
|
2891
2891
|
}
|
|
@@ -2947,7 +2947,9 @@ function SettingsButton({ label }) {
|
|
|
2947
2947
|
}
|
|
2948
2948
|
|
|
2949
2949
|
function Boost({ boostMode, onToggleBoostMode, estimatedTime, boostDisabledMessage, canToggleBoostMode, }) {
|
|
2950
|
-
return (jsxRuntime.jsxs("div", { className: "tw-flex tw-h-squid-xl tw-items-center tw-gap-x-squid-xxs tw-bg-grey-900 tw-pr-squid-xxs", children: [jsxRuntime.jsx(BoostButton, { boostMode: boostMode, boostDisabledMessage: boostDisabledMessage, canToggleBoostMode: canToggleBoostMode, onToggleBoostMode: onToggleBoostMode }), jsxRuntime.jsx(Chip, { label: estimatedTime, className: cn('tw-text-grey-900 tw-transition-colors', boostMode === 'normal'
|
|
2950
|
+
return (jsxRuntime.jsxs("div", { className: "tw-flex tw-h-squid-xl tw-items-center tw-gap-x-squid-xxs tw-bg-grey-900 tw-pr-squid-xxs", children: [jsxRuntime.jsx(BoostButton, { boostMode: boostMode, boostDisabledMessage: boostDisabledMessage, canToggleBoostMode: canToggleBoostMode, onToggleBoostMode: onToggleBoostMode }), jsxRuntime.jsx(Chip, { label: estimatedTime, className: cn('tw-text-grey-900 tw-transition-colors', boostMode === 'normal' || boostDisabledMessage
|
|
2951
|
+
? 'tw-bg-grey-300'
|
|
2952
|
+
: 'tw-bg-status-positive') })] }));
|
|
2951
2953
|
}
|
|
2952
2954
|
|
|
2953
2955
|
function EmojiSadIcon() {
|
|
@@ -3067,8 +3069,11 @@ function SettingsItem({ icon, label, controls, transparentControls = false, show
|
|
|
3067
3069
|
return (jsxRuntime.jsxs("li", { className: "tw-flex tw-h-[50px] tw-scroll-px-5 tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-bg-grey-900 tw-px-5 tw-py-squid-xs tw-text-grey-300", children: [icon, jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-1 tw-items-center tw-gap-squid-xxs tw-self-stretch", children: [jsxRuntime.jsx(BodyText, { size: "small", children: label }), showHelpIcon ? jsxRuntime.jsx(HelpIcon, { className: "tw-text-grey-600" }) : null] }), jsxRuntime.jsx("div", { className: cn('tw-flex tw-h-squid-l tw-items-center tw-justify-center tw-rounded-squid-xs', transparentControls ? '' : 'tw-bg-grey-800'), children: controls })] }));
|
|
3068
3070
|
}
|
|
3069
3071
|
|
|
3070
|
-
function SwapDetailListItem({ label, detail, icon, }) {
|
|
3071
|
-
return (jsxRuntime.jsx("li", { className: "tw-swap-detail-list-item-gradient tw-h-squid-l tw-w-full tw-bg-grey-800 tw-px-squid-xs tw-text-grey-300", children: jsxRuntime.jsxs("div", { className: "tw-flex tw-h-squid-l tw-items-center tw-justify-between tw-gap-squid-xs tw-rounded-squid-xs tw-px-squid-xs", children: [jsxRuntime.jsx("div", { className: "tw-h-6 tw-w-6 tw-text-grey-500", children: icon }), jsxRuntime.jsx(CaptionText, { className: "tw-flex-1 tw-text-grey-500", children: label }), typeof detail === 'string' ? (jsxRuntime.jsx(CaptionText, { children: detail })) : (detail)] }) }));
|
|
3072
|
+
function SwapDetailListItem({ label, detail, icon, isLoading = false, }) {
|
|
3073
|
+
return (jsxRuntime.jsx("li", { className: "tw-swap-detail-list-item-gradient tw-h-squid-l tw-w-full tw-bg-grey-800 tw-px-squid-xs tw-text-grey-300", children: jsxRuntime.jsxs("div", { className: "tw-flex tw-h-squid-l tw-items-center tw-justify-between tw-gap-squid-xs tw-rounded-squid-xs tw-px-squid-xs", children: [jsxRuntime.jsx("div", { className: "tw-h-6 tw-w-6 tw-text-grey-500", children: icon }), jsxRuntime.jsx(CaptionText, { className: "tw-flex-1 tw-text-grey-500", children: label }), isLoading ? (jsxRuntime.jsx(LoadingSkeleton, {})) : typeof detail === 'string' ? (jsxRuntime.jsx(CaptionText, { children: detail })) : (detail)] }) }));
|
|
3074
|
+
}
|
|
3075
|
+
function LoadingSkeleton() {
|
|
3076
|
+
return (jsxRuntime.jsx("div", { className: "tw-h-squid-xs tw-w-16 tw-animate-pulse tw-rounded-full tw-bg-grey-700" }));
|
|
3072
3077
|
}
|
|
3073
3078
|
|
|
3074
3079
|
function SwapStepSeparator() {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function PercentIcon({ size, className, }: {
|
|
2
|
+
size?: string;
|
|
3
|
+
className?: string;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function PathSquareIcon({ size, className, }: {
|
|
6
|
+
size?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,6 +3,7 @@ interface SwapDetailListItemProps {
|
|
|
3
3
|
label: string;
|
|
4
4
|
icon: React.ReactNode;
|
|
5
5
|
detail?: React.ReactNode;
|
|
6
|
+
isLoading?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function SwapDetailListItem({ label, detail, icon, }: SwapDetailListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function SwapDetailListItem({ label, detail, icon, isLoading, }: SwapDetailListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
interface CaptionProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
3
|
-
children?: string;
|
|
4
3
|
bold?: boolean;
|
|
5
4
|
}
|
|
6
5
|
export declare function CaptionText({ children, bold, ...props }: CaptionProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/esm/index.js
CHANGED
|
@@ -2586,7 +2586,7 @@ function CaptionText(_a) {
|
|
|
2586
2586
|
}
|
|
2587
2587
|
|
|
2588
2588
|
function UsdAmount({ usdAmount }) {
|
|
2589
|
-
return (jsxs("span", { className: "tw-flex tw-items-center tw-text-grey-500", children: [jsx(CaptionText, { className: "tw-
|
|
2589
|
+
return (jsxs("span", { className: "tw-flex tw-items-center tw-text-grey-500", children: [jsx(CaptionText, { className: "tw-opacity-66", children: "$" }), jsx(CaptionText, { children: usdAmount.toString() })] }));
|
|
2590
2590
|
}
|
|
2591
2591
|
|
|
2592
2592
|
// font size, line height, and letter spacing classes
|
|
@@ -2770,7 +2770,7 @@ function AssetsButton({ chainImageUrl, tokenImageUrl, tokenSymbol, chainBgColor
|
|
|
2770
2770
|
}
|
|
2771
2771
|
return `linear-gradient(to right, ${chainBgColor} 43.5%, ${tokenBgColor} 56.55%)`;
|
|
2772
2772
|
}, [chainBgColor, tokenBgColor]);
|
|
2773
|
-
return (jsxs("
|
|
2773
|
+
return (jsxs("button", { onClick: onClick, className: "tw-relative tw-flex tw-h-squid-xl tw-w-fit tw-items-center tw-text-grey-100 focus:tw-outline-none", children: [jsx("svg", { className: "tw-absolute tw-left-0 tw-z-10 tw-h-[40px] tw-w-[72px] tw-cursor-pointer tw-text-material-light-thin", viewBox: "0 0 72 40", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", children: jsx("path", { d: "m57.86 5.86c-.53.53-1.05 1.06-1.56 1.59-3.29 3.38-6.37 6.55-10.3 6.55s-7.01-3.17-10.3-6.55c-.51-.53-1.03-1.06-1.56-1.59-3.9-3.91-9.02-5.86-14.14-5.86s-10.24 1.95-14.14 5.86c-3.91 3.9-5.86 9.02-5.86 14.14s1.95 10.24 5.86 14.14c3.91 3.91 9.02 5.86 14.14 5.86s10.24-1.95 14.14-5.86c.52-.53 1.04-1.06 1.55-1.58 3.29-3.39 6.37-6.56 10.31-6.56s7.02 3.17 10.31 6.56c.51.53 1.03 1.06 1.55 1.58 3.91 3.91 9.02 5.86 14.14 5.86v-40c-5.12 0-10.24 1.95-14.14 5.86zm14.14 33.14c-5.07 0-9.85-1.98-13.43-5.56-.52-.52-1.02-1.04-1.54-1.57-3.43-3.53-6.67-6.86-11.02-6.86s-7.6 3.33-11.04 6.88c-.5.52-1.01 1.04-1.53 1.56-3.59 3.59-8.36 5.57-13.44 5.57s-9.85-1.98-13.43-5.57c-3.59-3.59-5.56-8.36-5.56-13.43s1.98-9.85 5.56-13.44c3.58-3.6 8.35-5.58 13.43-5.58s9.85 1.98 13.44 5.57c.52.52 1.04 1.05 1.55 1.58 3.43 3.53 6.66 6.86 11.02 6.86s7.59-3.33 11.02-6.86c.51-.52 1.02-1.05 1.55-1.58 3.59-3.59 8.36-5.56 13.43-5.56v38z" }) }), jsx("div", { className: cn('tw-assets-button-mask tw-flex tw-h-squid-xl tw-w-[92px] tw-cursor-pointer tw-items-center tw-justify-between', tokenImageUrl ? 'tw-w-[90px]' : 'tw-w-full tw-max-w-[72px]'), style: {
|
|
2774
2774
|
backgroundImage: bgGradient,
|
|
2775
2775
|
}, children: jsx("div", { className: clsx(imageClass), children: chainImageUrl ? (jsx("img", { src: chainImageUrl, alt: "", className: "tw-rounded-full" })) : (jsx(Fragment, { children: jsx(PlusIcon, {}) })) }) }), tokenImageUrl && chainImageUrl ? (jsx("div", { className: clsx(imageClass, 'tw-absolute tw-left-[54px] tw-h-squid-xl tw-cursor-pointer tw-rounded-bl-full tw-rounded-tl-full tw-border-b tw-border-t tw-border-material-light-thin'), style: {
|
|
2776
2776
|
backgroundColor: tokenBgColor,
|
|
@@ -2820,19 +2820,19 @@ const switchCircleSizeClassMap = {
|
|
|
2820
2820
|
function Switch({ checked = false, onChange, size }) {
|
|
2821
2821
|
return (
|
|
2822
2822
|
// Switch container
|
|
2823
|
-
jsxs("label", { className: clsx('tw-relative tw-inline-flex tw-items-center tw-justify-end tw-overflow-hidden tw-rounded-squid-m tw-border tw-border-material-light-thin',
|
|
2823
|
+
jsxs("label", { className: clsx('tw-relative tw-inline-flex tw-cursor-pointer tw-items-center tw-justify-end tw-overflow-hidden tw-rounded-squid-m tw-border tw-border-material-light-thin tw-transition-colors',
|
|
2824
2824
|
// size styles
|
|
2825
2825
|
switchSizeClassMap[size],
|
|
2826
2826
|
// checked styles
|
|
2827
2827
|
checked ? 'tw-bg-status-positive' : 'tw-bg-grey-800'), children: [jsx("input", { checked: checked, onChange: (e) => onChange === null || onChange === void 0 ? void 0 : onChange(e.target.checked), type: "checkbox", className: "tw-peer tw-sr-only" }), jsx("span", { style: {
|
|
2828
2828
|
filter: 'drop-shadow(0px 5px 20px rgba(0, 0, 0, 0.33)) drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.20))',
|
|
2829
|
-
}, className: clsx('tw-absolute tw-rounded-full tw-border tw-border-material-light-thin',
|
|
2829
|
+
}, className: clsx('tw-absolute tw-rounded-full tw-border tw-border-material-light-thin tw-transition-all',
|
|
2830
2830
|
// size styles
|
|
2831
2831
|
switchCircleSizeClassMap[size],
|
|
2832
2832
|
// disabled and checked styles
|
|
2833
2833
|
checked
|
|
2834
|
-
? 'tw-
|
|
2835
|
-
: 'tw-
|
|
2834
|
+
? 'tw-translate-x-0 tw-bg-grey-100'
|
|
2835
|
+
: '-tw-translate-x-full tw-bg-grey-500') })] }));
|
|
2836
2836
|
}
|
|
2837
2837
|
|
|
2838
2838
|
const borderRadiusClassMap = {
|
|
@@ -2881,9 +2881,9 @@ function BoostButton({ boostMode: _boostMode, onToggleBoostMode, canToggleBoostM
|
|
|
2881
2881
|
onToggleBoostMode === null || onToggleBoostMode === void 0 ? void 0 : onToggleBoostMode({ boostMode: 'normal' });
|
|
2882
2882
|
}
|
|
2883
2883
|
}
|
|
2884
|
-
return (jsx(Tooltip, { tooltipWidth: "max", tooltipContent: canToggleBoostMode ? null : boostDisabledMessage, children: jsxs("
|
|
2884
|
+
return (jsx(Tooltip, { tooltipWidth: "max", tooltipContent: canToggleBoostMode ? null : boostDisabledMessage, children: jsxs("button", { onClick: handleToggleBoostMode, disabled: !canToggleBoostMode, className: "tw-group tw-relative tw-flex tw-h-squid-xl tw-w-[140px] tw-flex-col tw-justify-between tw-overflow-hidden tw-bg-grey-900 tw-pb-squid-xxs tw-text-grey-300", children: [jsx("span", { className: "tw-via-grey-900/70 tw-absolute tw-left-0 tw-top-0 tw-z-10 tw-h-full tw-w-8 tw-bg-gradient-to-r tw-from-grey-900 tw-to-transparent" }), jsx("span", { className: "tw-via-grey-900/70 tw-absolute tw-right-0 tw-top-0 tw-z-10 tw-h-full tw-w-8 tw-bg-gradient-to-l tw-from-grey-900 tw-to-transparent" }), jsxs("div", { ref: boostIndicatorRef, "data-boost-mode": boostMode, className: "tw-group tw-peer tw-flex tw-h-full tw-w-full tw-items-center tw-justify-between tw-transition-transform group-disabled:tw-grayscale data-[boost-mode=boost]:tw-animate-move-to-left-with-spring-bounce data-[boost-mode=normal]:tw-animate-move-to-right-with-spring-bounce", children: [jsx("div", { className: "tw-w-1/2 tw-text-center group-disabled:tw-grayscale", children: jsx(BodyText, { size: "small", className: "tw-text-grey-300", children: "Normal" }) }), jsxs("div", { className: "tw-w-1/2 tw-text-center group-disabled:tw-grayscale", children: [jsx(BodyText, { size: "small", className: "tw-text-status-positive", children: "Boost" }), ' '] }), jsx("div", { className: "tw-absolute tw-bottom-0 tw-h-1.5 tw-w-[1.5px] tw-rounded-sm tw-bg-grey-500 tw-text-grey-500 group-data-[boost-mode=boost]:tw-left-[calc(50%-2px)] group-data-[boost-mode=normal]:tw-left-[calc(50%-6px)]", style: {
|
|
2885
2885
|
boxShadow: generateMarkerLines(40),
|
|
2886
|
-
} })] }), jsx("div", { className: cn('tw-absolute tw-bottom-0.5 tw-left-[calc(50%-1.5px)] tw-z-20 tw-h-[10px] tw-w-[3px] tw-rounded-sm tw-transition-colors peer-data-[boost-mode=boost]:tw-bg-status-positive peer-data-[boost-mode=normal]:tw-bg-current'), style: {
|
|
2886
|
+
} })] }), jsx("div", { className: cn('tw-absolute tw-bottom-0.5 tw-left-[calc(50%-1.5px)] tw-z-20 tw-h-[10px] tw-w-[3px] tw-rounded-sm tw-transition-colors group-disabled:tw-grayscale peer-data-[boost-mode=boost]:tw-bg-status-positive peer-data-[boost-mode=normal]:tw-bg-current'), style: {
|
|
2887
2887
|
transitionDuration: animationDuration,
|
|
2888
2888
|
} })] }) }));
|
|
2889
2889
|
}
|
|
@@ -2945,7 +2945,9 @@ function SettingsButton({ label }) {
|
|
|
2945
2945
|
}
|
|
2946
2946
|
|
|
2947
2947
|
function Boost({ boostMode, onToggleBoostMode, estimatedTime, boostDisabledMessage, canToggleBoostMode, }) {
|
|
2948
|
-
return (jsxs("div", { className: "tw-flex tw-h-squid-xl tw-items-center tw-gap-x-squid-xxs tw-bg-grey-900 tw-pr-squid-xxs", children: [jsx(BoostButton, { boostMode: boostMode, boostDisabledMessage: boostDisabledMessage, canToggleBoostMode: canToggleBoostMode, onToggleBoostMode: onToggleBoostMode }), jsx(Chip, { label: estimatedTime, className: cn('tw-text-grey-900 tw-transition-colors', boostMode === 'normal'
|
|
2948
|
+
return (jsxs("div", { className: "tw-flex tw-h-squid-xl tw-items-center tw-gap-x-squid-xxs tw-bg-grey-900 tw-pr-squid-xxs", children: [jsx(BoostButton, { boostMode: boostMode, boostDisabledMessage: boostDisabledMessage, canToggleBoostMode: canToggleBoostMode, onToggleBoostMode: onToggleBoostMode }), jsx(Chip, { label: estimatedTime, className: cn('tw-text-grey-900 tw-transition-colors', boostMode === 'normal' || boostDisabledMessage
|
|
2949
|
+
? 'tw-bg-grey-300'
|
|
2950
|
+
: 'tw-bg-status-positive') })] }));
|
|
2949
2951
|
}
|
|
2950
2952
|
|
|
2951
2953
|
function EmojiSadIcon() {
|
|
@@ -3065,8 +3067,11 @@ function SettingsItem({ icon, label, controls, transparentControls = false, show
|
|
|
3065
3067
|
return (jsxs("li", { className: "tw-flex tw-h-[50px] tw-scroll-px-5 tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-bg-grey-900 tw-px-5 tw-py-squid-xs tw-text-grey-300", children: [icon, jsxs("div", { className: "tw-flex tw-flex-1 tw-items-center tw-gap-squid-xxs tw-self-stretch", children: [jsx(BodyText, { size: "small", children: label }), showHelpIcon ? jsx(HelpIcon, { className: "tw-text-grey-600" }) : null] }), jsx("div", { className: cn('tw-flex tw-h-squid-l tw-items-center tw-justify-center tw-rounded-squid-xs', transparentControls ? '' : 'tw-bg-grey-800'), children: controls })] }));
|
|
3066
3068
|
}
|
|
3067
3069
|
|
|
3068
|
-
function SwapDetailListItem({ label, detail, icon, }) {
|
|
3069
|
-
return (jsx("li", { className: "tw-swap-detail-list-item-gradient tw-h-squid-l tw-w-full tw-bg-grey-800 tw-px-squid-xs tw-text-grey-300", children: jsxs("div", { className: "tw-flex tw-h-squid-l tw-items-center tw-justify-between tw-gap-squid-xs tw-rounded-squid-xs tw-px-squid-xs", children: [jsx("div", { className: "tw-h-6 tw-w-6 tw-text-grey-500", children: icon }), jsx(CaptionText, { className: "tw-flex-1 tw-text-grey-500", children: label }), typeof detail === 'string' ? (jsx(CaptionText, { children: detail })) : (detail)] }) }));
|
|
3070
|
+
function SwapDetailListItem({ label, detail, icon, isLoading = false, }) {
|
|
3071
|
+
return (jsx("li", { className: "tw-swap-detail-list-item-gradient tw-h-squid-l tw-w-full tw-bg-grey-800 tw-px-squid-xs tw-text-grey-300", children: jsxs("div", { className: "tw-flex tw-h-squid-l tw-items-center tw-justify-between tw-gap-squid-xs tw-rounded-squid-xs tw-px-squid-xs", children: [jsx("div", { className: "tw-h-6 tw-w-6 tw-text-grey-500", children: icon }), jsx(CaptionText, { className: "tw-flex-1 tw-text-grey-500", children: label }), isLoading ? (jsx(LoadingSkeleton, {})) : typeof detail === 'string' ? (jsx(CaptionText, { children: detail })) : (detail)] }) }));
|
|
3072
|
+
}
|
|
3073
|
+
function LoadingSkeleton() {
|
|
3074
|
+
return (jsx("div", { className: "tw-h-squid-xs tw-w-16 tw-animate-pulse tw-rounded-full tw-bg-grey-700" }));
|
|
3070
3075
|
}
|
|
3071
3076
|
|
|
3072
3077
|
function SwapStepSeparator() {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function PercentIcon({ size, className, }: {
|
|
2
|
+
size?: string;
|
|
3
|
+
className?: string;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function PathSquareIcon({ size, className, }: {
|
|
6
|
+
size?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,6 +3,7 @@ interface SwapDetailListItemProps {
|
|
|
3
3
|
label: string;
|
|
4
4
|
icon: React.ReactNode;
|
|
5
5
|
detail?: React.ReactNode;
|
|
6
|
+
isLoading?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function SwapDetailListItem({ label, detail, icon, }: SwapDetailListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function SwapDetailListItem({ label, detail, icon, isLoading, }: SwapDetailListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
interface CaptionProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
3
|
-
children?: string;
|
|
4
3
|
bold?: boolean;
|
|
5
4
|
}
|
|
6
5
|
export declare function CaptionText({ children, bold, ...props }: CaptionProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/index.css
CHANGED
|
@@ -653,10 +653,6 @@ video {
|
|
|
653
653
|
left: 0px;
|
|
654
654
|
}
|
|
655
655
|
|
|
656
|
-
.tw-left-0\.5 {
|
|
657
|
-
left: 0.125rem;
|
|
658
|
-
}
|
|
659
|
-
|
|
660
656
|
.tw-left-1\/2 {
|
|
661
657
|
left: 50%;
|
|
662
658
|
}
|
|
@@ -665,12 +661,16 @@ video {
|
|
|
665
661
|
left: 1.25rem;
|
|
666
662
|
}
|
|
667
663
|
|
|
668
|
-
.tw-left-\[
|
|
669
|
-
left:
|
|
664
|
+
.tw-left-\[-14px\] {
|
|
665
|
+
left: -14px;
|
|
670
666
|
}
|
|
671
667
|
|
|
672
|
-
.tw-left-\[
|
|
673
|
-
left:
|
|
668
|
+
.tw-left-\[16px\] {
|
|
669
|
+
left: 16px;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
.tw-left-\[54px\] {
|
|
673
|
+
left: 54px;
|
|
674
674
|
}
|
|
675
675
|
|
|
676
676
|
.tw-left-\[calc\(50\%-1\.5px\)\] {
|
|
@@ -681,10 +681,6 @@ video {
|
|
|
681
681
|
right: 0px;
|
|
682
682
|
}
|
|
683
683
|
|
|
684
|
-
.tw-right-0\.5 {
|
|
685
|
-
right: 0.125rem;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
684
|
.tw-right-1 {
|
|
689
685
|
right: 0.25rem;
|
|
690
686
|
}
|
|
@@ -1051,6 +1047,10 @@ video {
|
|
|
1051
1047
|
width: 3rem;
|
|
1052
1048
|
}
|
|
1053
1049
|
|
|
1050
|
+
.tw-w-16 {
|
|
1051
|
+
width: 4rem;
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
1054
|
.tw-w-36 {
|
|
1055
1055
|
width: 9rem;
|
|
1056
1056
|
}
|
|
@@ -1075,6 +1075,10 @@ video {
|
|
|
1075
1075
|
width: 2rem;
|
|
1076
1076
|
}
|
|
1077
1077
|
|
|
1078
|
+
.tw-w-96 {
|
|
1079
|
+
width: 24rem;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1078
1082
|
.tw-w-\[1\.5px\] {
|
|
1079
1083
|
width: 1.5px;
|
|
1080
1084
|
}
|
|
@@ -1288,6 +1292,16 @@ video {
|
|
|
1288
1292
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1289
1293
|
}
|
|
1290
1294
|
|
|
1295
|
+
.-tw-translate-x-full {
|
|
1296
|
+
--tw-translate-x: -100%;
|
|
1297
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
.tw-translate-x-0 {
|
|
1301
|
+
--tw-translate-x: 0px;
|
|
1302
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1291
1305
|
.tw-translate-x-1\/4 {
|
|
1292
1306
|
--tw-translate-x: 25%;
|
|
1293
1307
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -1298,6 +1312,16 @@ video {
|
|
|
1298
1312
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1299
1313
|
}
|
|
1300
1314
|
|
|
1315
|
+
@keyframes tw-pulse {
|
|
1316
|
+
50% {
|
|
1317
|
+
opacity: .5;
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
.tw-animate-pulse {
|
|
1322
|
+
animation: tw-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1301
1325
|
@keyframes tw-slide-to-bottom {
|
|
1302
1326
|
0% {
|
|
1303
1327
|
transform: translateY(0);
|
|
@@ -1644,6 +1668,10 @@ video {
|
|
|
1644
1668
|
background-color: var(--squid-theme-grey-500);
|
|
1645
1669
|
}
|
|
1646
1670
|
|
|
1671
|
+
.tw-bg-grey-700 {
|
|
1672
|
+
background-color: var(--squid-theme-grey-700);
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1647
1675
|
.tw-bg-grey-800 {
|
|
1648
1676
|
background-color: var(--squid-theme-grey-800);
|
|
1649
1677
|
}
|
|
@@ -2279,6 +2307,12 @@ video {
|
|
|
2279
2307
|
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
|
2280
2308
|
}
|
|
2281
2309
|
|
|
2310
|
+
.tw-transition-all {
|
|
2311
|
+
transition-property: all;
|
|
2312
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
2313
|
+
transition-duration: 150ms;
|
|
2314
|
+
}
|
|
2315
|
+
|
|
2282
2316
|
.tw-transition-colors {
|
|
2283
2317
|
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
2284
2318
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -2422,6 +2456,11 @@ li {
|
|
|
2422
2456
|
opacity: 1;
|
|
2423
2457
|
}
|
|
2424
2458
|
|
|
2459
|
+
.tw-group:disabled .group-disabled\:tw-grayscale {
|
|
2460
|
+
--tw-grayscale: grayscale(100%);
|
|
2461
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2425
2464
|
.tw-peer:hover ~ .peer-hover\:tw-block {
|
|
2426
2465
|
display: block;
|
|
2427
2466
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -222,8 +222,9 @@ interface SwapDetailListItemProps {
|
|
|
222
222
|
label: string;
|
|
223
223
|
icon: React.ReactNode;
|
|
224
224
|
detail?: React.ReactNode;
|
|
225
|
+
isLoading?: boolean;
|
|
225
226
|
}
|
|
226
|
-
declare function SwapDetailListItem({ label, detail, icon, }: SwapDetailListItemProps): react_jsx_runtime.JSX.Element;
|
|
227
|
+
declare function SwapDetailListItem({ label, detail, icon, isLoading, }: SwapDetailListItemProps): react_jsx_runtime.JSX.Element;
|
|
227
228
|
|
|
228
229
|
interface SwapStepItemProps {
|
|
229
230
|
descriptionBlocks: SwapStepDescriptionBlock[];
|
|
@@ -333,7 +334,6 @@ interface BodyTextProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
333
334
|
declare function BodyText({ size, children, bold, ...props }: BodyTextProps): react_jsx_runtime.JSX.Element;
|
|
334
335
|
|
|
335
336
|
interface CaptionProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
336
|
-
children?: string;
|
|
337
337
|
bold?: boolean;
|
|
338
338
|
}
|
|
339
339
|
declare function CaptionText({ children, bold, ...props }: CaptionProps): react_jsx_runtime.JSX.Element;
|