@0xsquid/ui 2.3.0 → 2.3.2-beta.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.
Files changed (35) hide show
  1. package/dist/cjs/index.js +111 -43
  2. package/dist/cjs/types/components/badges/ImageGroup.d.ts +3 -2
  3. package/dist/cjs/types/components/buttons/IconButton.d.ts +1 -2
  4. package/dist/cjs/types/components/icons/Arrow.d.ts +2 -3
  5. package/dist/cjs/types/components/icons/Generic.d.ts +8 -0
  6. package/dist/cjs/types/components/icons/Plus.d.ts +2 -1
  7. package/dist/cjs/types/components/layout/Modal.d.ts +2 -1
  8. package/dist/cjs/types/components/layout/TokenDetailsView.d.ts +11 -5
  9. package/dist/cjs/types/components/layout/Transfer.d.ts +1 -1
  10. package/dist/cjs/types/components/lists/AccountListItem.d.ts +19 -0
  11. package/dist/cjs/types/components/lists/index.d.ts +1 -0
  12. package/dist/cjs/types/components/typography/CaptionText.d.ts +2 -1
  13. package/dist/cjs/types/stories/badges/ImageGroup.stories.d.ts +2 -0
  14. package/dist/cjs/types/stories/lists/AccountListItem.stories.d.ts +8 -0
  15. package/dist/cjs/types/stories/lists/TokenGroup.stories.d.ts +2 -0
  16. package/dist/cjs/types/stories/views/SwapProgressView.stories.d.ts +1 -1
  17. package/dist/esm/index.js +109 -44
  18. package/dist/esm/types/components/badges/ImageGroup.d.ts +3 -2
  19. package/dist/esm/types/components/buttons/IconButton.d.ts +1 -2
  20. package/dist/esm/types/components/icons/Arrow.d.ts +2 -3
  21. package/dist/esm/types/components/icons/Generic.d.ts +8 -0
  22. package/dist/esm/types/components/icons/Plus.d.ts +2 -1
  23. package/dist/esm/types/components/layout/Modal.d.ts +2 -1
  24. package/dist/esm/types/components/layout/TokenDetailsView.d.ts +11 -5
  25. package/dist/esm/types/components/layout/Transfer.d.ts +1 -1
  26. package/dist/esm/types/components/lists/AccountListItem.d.ts +19 -0
  27. package/dist/esm/types/components/lists/index.d.ts +1 -0
  28. package/dist/esm/types/components/typography/CaptionText.d.ts +2 -1
  29. package/dist/esm/types/stories/badges/ImageGroup.stories.d.ts +2 -0
  30. package/dist/esm/types/stories/lists/AccountListItem.stories.d.ts +8 -0
  31. package/dist/esm/types/stories/lists/TokenGroup.stories.d.ts +2 -0
  32. package/dist/esm/types/stories/views/SwapProgressView.stories.d.ts +1 -1
  33. package/dist/index.css +1 -1
  34. package/dist/index.d.ts +48 -16
  35. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -3061,6 +3061,26 @@ const baseTailwindConfig = {
3061
3061
  transform: "translate3d(0, 650px, 0)",
3062
3062
  },
3063
3063
  },
3064
+ "slide-to-top-and-fade-in": {
3065
+ "0%": {
3066
+ transform: "translate3d(0, 650px, 0)",
3067
+ opacity: "0",
3068
+ },
3069
+ "100%": {
3070
+ transform: "translate3d(0, 0, 0)",
3071
+ opacity: "1",
3072
+ },
3073
+ },
3074
+ "slide-to-bottom-and-fade-out": {
3075
+ "0%": {
3076
+ transform: "translate3d(0, 0, 0)",
3077
+ opacity: "1",
3078
+ },
3079
+ "100%": {
3080
+ transform: "translate3d(0, 650px, 0)",
3081
+ opacity: "0",
3082
+ },
3083
+ },
3064
3084
  "expand-route": {
3065
3085
  "0%": {
3066
3086
  height: "60px",
@@ -3190,6 +3210,8 @@ const baseTailwindConfig = {
3190
3210
  "move-to-left-with-spring-bounce": `move-to-left-with-spring-bounce var(${CSS_VARS.MOVE_WITH_SPRING_BOUNCE_DURATION}, 0s) ease-out both`,
3191
3211
  "slide-to-top": `slide-to-top var(${CSS_VARS.SLIDE_TO_TOP_DURATION}, 0s) ${ANIMATION_TIMINGS.SHOW_ROUTE} both`,
3192
3212
  "slide-to-bottom": `slide-to-bottom var(${CSS_VARS.SLIDE_TO_BOTTOM_DURATION}, 0s) ${ANIMATION_TIMINGS.HIDE_ROUTE} both`,
3213
+ "slide-to-top-and-fade-in": `slide-to-top-and-fade-in var(${CSS_VARS.SLIDE_TO_TOP_DURATION}, 0s) ${ANIMATION_TIMINGS.SHOW_ROUTE} both`,
3214
+ "slide-to-bottom-and-fade-out": `slide-to-bottom-and-fade-out var(${CSS_VARS.SLIDE_TO_BOTTOM_DURATION}, 0s) ${ANIMATION_TIMINGS.HIDE_ROUTE} both`,
3193
3215
  "expand-route": `expand-route var(${CSS_VARS.EXPAND_ROUTE_DURATION}, 0s) ${ANIMATION_TIMINGS.EXPAND_ROUTE} both`,
3194
3216
  "collapse-route": `collapse-route var(${CSS_VARS.COLLAPSE_ROUTE_DURATION}, 0s) ${ANIMATION_TIMINGS.COLLAPSE_ROUTE} both`,
3195
3217
  "fade-in": `fade-in var(${CSS_VARS.FADE_IN_DURATION}, 0s) ease-out both`,
@@ -3526,7 +3548,7 @@ function Image$1(_a) {
3526
3548
  const [imageState, setImageState] = React$1.useState(exports.ImageState.LOADING);
3527
3549
  return (jsxRuntime.jsxs("div", Object.assign({}, containerProps, { className: cn("tw-relative", containerProps === null || containerProps === void 0 ? void 0 : containerProps.className), children: [border === "gradient" && (jsxRuntime.jsx("span", { style: {
3528
3550
  borderRadius: gradientRoundedClassMap[rounded],
3529
- }, className: cn(className, "!tw-absolute -tw-left-[2px] -tw-top-[2px] !tw-h-[calc(100%+4px)] !tw-w-[calc(100%+4px)] tw-bg-conic-gradient tw-bg-center") })), children != null ? (jsxRuntime.jsx("div", Object.assign({ className: cn(className, "tw-bg-grey-500") }, props, { children: children }))) : (imageState !== exports.ImageState.LOADED &&
3551
+ }, className: cn(className, "!tw-absolute -tw-left-[2px] -tw-top-[2px] !tw-h-[calc(100%+4px)] !tw-w-[calc(100%+4px)] tw-bg-conic-gradient tw-bg-center") })), children != null ? (jsxRuntime.jsx("div", Object.assign({ className: cn(className, "tw-flex tw-items-center tw-justify-center tw-bg-grey-500") }, props, { children: children }))) : (imageState !== exports.ImageState.LOADED &&
3530
3552
  (placeholderImageUrl ? (jsxRuntime.jsx("img", Object.assign({ src: placeholderImageUrl, className: className }, props))) : (jsxRuntime.jsx("div", Object.assign({ className: cn(className, "tw-bg-grey-500") }, props))))), children == null && src && (jsxRuntime.jsx("img", Object.assign({}, props, { src: src, onError: () => {
3531
3553
  setImageState(exports.ImageState.ERROR);
3532
3554
  }, onLoad: () => {
@@ -3588,13 +3610,14 @@ function BodyText(_a) {
3588
3610
 
3589
3611
  function CaptionText(_a) {
3590
3612
  var _b, _c;
3591
- var { children, bold = false, loading, tight = false } = _a, props = __rest$1(_a, ["children", "bold", "loading", "tight"]);
3613
+ var { children, bold = false, loading, tight = false, truncate = false } = _a, props = __rest$1(_a, ["children", "bold", "loading", "tight", "truncate"]);
3592
3614
  const boldClass = bold ? "!tw-font-bold" : "";
3593
3615
  const className = cn("tw-text-caption tw-font-caption tw-leading-caption", boldClass, tight && "!tw-leading-[1]", props.className);
3594
3616
  if ((_b = loading === null || loading === void 0 ? void 0 : loading.isLoading) !== null && _b !== void 0 ? _b : false) {
3595
3617
  return (jsxRuntime.jsx(TextSkeleton, { className: className, width: (_c = loading === null || loading === void 0 ? void 0 : loading.width) !== null && _c !== void 0 ? _c : "100%", isLoading: true }));
3596
3618
  }
3597
- return (jsxRuntime.jsx("span", Object.assign({}, props, { className: className, children: children })));
3619
+ return (jsxRuntime.jsx("span", Object.assign({}, props, { className: className, style: truncate
3620
+ ? Object.assign(Object.assign({}, props.style), { whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }) : props.style, children: children })));
3598
3621
  }
3599
3622
 
3600
3623
  // font size, line height, and letter spacing classes
@@ -3612,12 +3635,12 @@ function IconLabel({ src, children, rounded }) {
3612
3635
  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)] }));
3613
3636
  }
3614
3637
 
3615
- function ImageGroup({ imageUrls, badgeUrl }) {
3638
+ function ImageGroup({ imageUrls, badge }) {
3616
3639
  return (jsxRuntime.jsxs("div", { className: "tw-relative tw-flex tw-h-squid-xxl tw-w-squid-xxl tw-flex-shrink-0 tw-flex-wrap tw-content-center tw-items-center tw-justify-center tw-gap-0.5 tw-rounded-squid-s tw-border tw-border-solid tw-border-material-light-thin tw-bg-grey-700", children: [imageUrls.map((url) => (jsxRuntime.jsx(Image$1, { src: url, size: "medium", rounded: "xxs", style: {
3617
3640
  width: "24px",
3618
3641
  height: "24px",
3619
3642
  borderRadius: "7.5px",
3620
- } }, url))), jsxRuntime.jsx("div", { className: "tw-absolute -tw-bottom-[1px] -tw-right-[1px] tw-bg-highlight-700", children: jsxRuntime.jsx(Image$1, { border: "outline-lg", src: badgeUrl, size: "medium", className: "tw-p-0.5" }) })] }));
3643
+ } }, url))), badge != null && (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" })) }))] }));
3621
3644
  }
3622
3645
 
3623
3646
  function Approve() {
@@ -3648,8 +3671,8 @@ function ChevronTopSmallIcon() {
3648
3671
  function ChevronLargeDownIcon({ size = "24", className, }) {
3649
3672
  return (jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 24 25", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsxRuntime.jsx("path", { d: "M3 10.5L11.0287 14.9604C11.6328 15.296 12.3672 15.296 12.9713 14.9604L21 10.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
3650
3673
  }
3651
- function ChevronTopIcon({ className }) {
3652
- return (jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.47139 6.08088C8.21104 5.82053 7.78893 5.82053 7.52858 6.08088L3.13807 10.4714C2.87772 10.7318 2.45561 10.7318 2.19526 10.4714C1.93491 10.2111 1.93491 9.78895 2.19526 9.5286L6.58577 5.13807C7.36682 4.35702 8.63315 4.35702 9.4142 5.13807L13.8047 9.52859C14.0651 9.78894 14.0651 10.2111 13.8047 10.4714C13.5444 10.7318 13.1223 10.7318 12.8619 10.4714L8.47139 6.08088Z", fill: "currentColor" }) }));
3674
+ function ChevronTopIcon(props) {
3675
+ return (jsxRuntime.jsx("svg", Object.assign({}, props, { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.47139 6.08088C8.21104 5.82053 7.78893 5.82053 7.52858 6.08088L3.13807 10.4714C2.87772 10.7318 2.45561 10.7318 2.19526 10.4714C1.93491 10.2111 1.93491 9.78895 2.19526 9.5286L6.58577 5.13807C7.36682 4.35702 8.63315 4.35702 9.4142 5.13807L13.8047 9.52859C14.0651 9.78894 14.0651 10.2111 13.8047 10.4714C13.5444 10.7318 13.1223 10.7318 12.8619 10.4714L8.47139 6.08088Z", fill: "currentColor" }) })));
3653
3676
  }
3654
3677
  function ChevronLargeRightIcon({ size = "16", className, }) {
3655
3678
  return (jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsxRuntime.jsx("path", { d: "M6.66675 14L9.64035 8.64754C9.86407 8.24484 9.86407 7.75519 9.64035 7.35249L6.66675 2", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
@@ -3934,11 +3957,14 @@ function PhoneIcon({ size = "24", className, }) {
3934
3957
  function LaptopIcon({ size = "24", className, }) {
3935
3958
  return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 25 24", fill: "none", className: className, children: [jsxRuntime.jsx("path", { d: "M4.5 6C4.5 4.89543 5.39543 4 6.5 4H18.5C19.6046 4 20.5 4.89543 20.5 6V15C20.5 15.5523 20.0523 16 19.5 16H5.5C4.94772 16 4.5 15.5523 4.5 15V6Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "square", strokeLinejoin: "round" }), jsxRuntime.jsx("path", { d: "M2.5 16H22.5V18C22.5 19.1046 21.6046 20 20.5 20H4.5C3.39543 20 2.5 19.1046 2.5 18V16Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "square", strokeLinejoin: "round" })] }));
3936
3959
  }
3960
+ function CopyOutlinedIcon({ size = "24", className, }) {
3961
+ return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M9 9V5.25C9 4.00736 10.0074 3 11.25 3H18.75C19.9926 3 21 4.00736 21 5.25V12.75C21 13.9926 19.9926 15 18.75 15H15M12.75 9H5.25C4.00736 9 3 10.0074 3 11.25V18.75C3 19.9926 4.00736 21 5.25 21H12.75C13.9926 21 15 19.9926 15 18.75V11.25C15 10.0074 13.9926 9 12.75 9Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
3962
+ }
3937
3963
  function CopyIcon({ size = "20", className, }) {
3938
3964
  return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 21 20", fill: "none", className: className, children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.16663 6.66666V3.54166C7.16663 2.50612 8.00609 1.66666 9.04163 1.66666H16.9583C17.9938 1.66666 18.8333 2.50612 18.8333 3.54166V11.4583C18.8333 12.4939 17.9938 13.3333 16.9583 13.3333H13.8333V16.4583C13.8333 17.4939 12.9938 18.3333 11.9583 18.3333H4.04163C3.00609 18.3333 2.16663 17.4939 2.16663 16.4583V8.54166C2.16663 7.50612 3.00609 6.66666 4.04163 6.66666H7.16663ZM9.04163 13.3333C8.00609 13.3333 7.16663 12.4939 7.16663 11.4583V8.33332H4.04163C3.92657 8.33332 3.83329 8.4266 3.83329 8.54166V16.4583C3.83329 16.5734 3.92657 16.6667 4.04163 16.6667H11.9583C12.0734 16.6667 12.1666 16.5734 12.1666 16.4583V13.3333H9.04163Z", fill: "currentColor" }) }));
3939
3965
  }
3940
3966
  function FileDownloadIcon({ size = "20", className, }) {
3941
- return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 21 20", fill: "none", children: [jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6.33337 1.66666H10.5V5.83332C10.5 7.21404 11.6193 8.33332 13 8.33332H17.1667V15.8333C17.1667 17.214 16.0474 18.3333 14.6667 18.3333H6.33337C4.95266 18.3333 3.83337 17.214 3.83337 15.8333V4.16666C3.83337 2.78594 4.95266 1.66666 6.33337 1.66666ZM13.1726 14.3392L11.0893 16.4226C10.7639 16.748 10.2362 16.748 9.91079 16.4226L7.82745 14.3392C7.50201 14.0138 7.50201 13.4862 7.82745 13.1607C8.15289 12.8353 8.68053 12.8353 9.00596 13.1607L9.66671 13.8215V10.8333C9.66671 10.3731 10.0398 9.99999 10.5 9.99999C10.9603 9.99999 11.3334 10.3731 11.3334 10.8333V13.8215L11.9941 13.1607C12.3196 12.8353 12.8472 12.8353 13.1726 13.1607C13.4981 13.4862 13.4981 14.0138 13.1726 14.3392Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M12.1667 2.15481L16.6786 6.66666H13C12.5398 6.66666 12.1667 6.29356 12.1667 5.83332V2.15481Z", fill: "currentColor" })] }));
3967
+ return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 21 20", fill: "none", className: className, children: [jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6.33337 1.66666H10.5V5.83332C10.5 7.21404 11.6193 8.33332 13 8.33332H17.1667V15.8333C17.1667 17.214 16.0474 18.3333 14.6667 18.3333H6.33337C4.95266 18.3333 3.83337 17.214 3.83337 15.8333V4.16666C3.83337 2.78594 4.95266 1.66666 6.33337 1.66666ZM13.1726 14.3392L11.0893 16.4226C10.7639 16.748 10.2362 16.748 9.91079 16.4226L7.82745 14.3392C7.50201 14.0138 7.50201 13.4862 7.82745 13.1607C8.15289 12.8353 8.68053 12.8353 9.00596 13.1607L9.66671 13.8215V10.8333C9.66671 10.3731 10.0398 9.99999 10.5 9.99999C10.9603 9.99999 11.3334 10.3731 11.3334 10.8333V13.8215L11.9941 13.1607C12.3196 12.8353 12.8472 12.8353 13.1726 13.1607C13.4981 13.4862 13.4981 14.0138 13.1726 14.3392Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M12.1667 2.15481L16.6786 6.66666H13C12.5398 6.66666 12.1667 6.29356 12.1667 5.83332V2.15481Z", fill: "currentColor" })] }));
3942
3968
  }
3943
3969
  function CodeSolidSquareIcon({ size = "24", className, }) {
3944
3970
  return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 25 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3.5 6C3.5 4.34315 4.84315 3 6.5 3H18.5C20.1569 3 21.5 4.34315 21.5 6V18C21.5 19.6569 20.1569 21 18.5 21H6.5C4.84315 21 3.5 19.6569 3.5 18V6ZM11.2071 8.79289C11.5976 9.18342 11.5976 9.81658 11.2071 10.2071L9.41421 12L11.2071 13.7929C11.5976 14.1834 11.5976 14.8166 11.2071 15.2071C10.8166 15.5976 10.1834 15.5976 9.79289 15.2071L8 13.4142C7.21895 12.6332 7.21895 11.3668 8 10.5858L9.79289 8.79289C10.1834 8.40237 10.8166 8.40237 11.2071 8.79289ZM15.2071 8.79289C14.8166 8.40237 14.1834 8.40237 13.7929 8.79289C13.4024 9.18342 13.4024 9.81658 13.7929 10.2071L15.5858 12L13.7929 13.7929C13.4024 14.1834 13.4024 14.8166 13.7929 15.2071C14.1834 15.5976 14.8166 15.5976 15.2071 15.2071L17 13.4142C17.781 12.6332 17.781 11.3668 17 10.5858L15.2071 8.79289Z", fill: "currentColor" }) }));
@@ -3961,6 +3987,9 @@ function SmileFilledIcon({ className, size = "27", }) {
3961
3987
  function StarLinesIcon({ size = "20", className, }) {
3962
3988
  return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M11.8455 1.41356C12.3313 0.606286 13.5017 0.606288 13.9875 1.41356L15.2314 3.4805L17.5816 4.0248C18.4995 4.23739 18.8611 5.35048 18.2435 6.06199L16.6621 7.88373L16.8707 10.2871C16.9522 11.2257 16.0053 11.9137 15.1378 11.5461L12.9165 10.6051L10.6952 11.5461C9.8277 11.9137 8.88085 11.2257 8.96232 10.2871L9.1709 7.88373L7.58951 6.06199C6.97187 5.35048 7.33354 4.23739 8.25143 4.0248L10.6016 3.4805L11.8455 1.41356ZM6.42243 8.57745C6.74786 8.90289 6.74786 9.43053 6.42243 9.75596L3.08909 13.0893C2.76366 13.4147 2.23602 13.4147 1.91058 13.0893C1.58514 12.7639 1.58514 12.2362 1.91058 11.9108L5.24392 8.57745C5.56935 8.25202 6.09699 8.25202 6.42243 8.57745ZM8.08909 12.7441C8.41453 13.0696 8.41453 13.5972 8.08909 13.9226L4.75576 17.256C4.43032 17.5814 3.90269 17.5814 3.57725 17.256C3.25181 16.9305 3.25181 16.4029 3.57725 16.0775L6.91058 12.7441C7.23602 12.4187 7.76366 12.4187 8.08909 12.7441ZM13.9224 12.7441C14.2479 13.0696 14.2479 13.5972 13.9224 13.9226L10.5891 17.256C10.2637 17.5814 9.73602 17.5814 9.41058 17.256C9.08515 16.9305 9.08515 16.4029 9.41058 16.0775L12.7439 12.7441C13.0694 12.4187 13.597 12.4187 13.9224 12.7441Z", fill: "currentColor" }) }));
3963
3989
  }
3990
+ function QrCodeIcon({ size = "24", className, }) {
3991
+ return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M14 14V16H16M18 14H20M20 18H18V20M14 19.99V20M16 10H18C19.1046 10 20 9.10457 20 8V6C20 4.89543 19.1046 4 18 4H16C14.8954 4 14 4.89543 14 6V8C14 9.10457 14.8954 10 16 10ZM6 20H8C9.10457 20 10 19.1046 10 18V16C10 14.8954 9.10457 14 8 14H6C4.89543 14 4 14.8954 4 16V18C4 19.1046 4.89543 20 6 20ZM6 10H8C9.10457 10 10 9.10457 10 8V6C10 4.89543 9.10457 4 8 4H6C4.89543 4 4 4.89543 4 6V8C4 9.10457 4.89543 10 6 10Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
3992
+ }
3964
3993
 
3965
3994
  function EmptyHeartIcon({ className }) {
3966
3995
  return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M21 10C21 15.75 12.75 20 12 20C11.25 20 3 15.75 3 10C3 6 5.5 4 8 4C10.5 4 12 5.5 12 5.5C12 5.5 13.5 4 16 4C18.5 4 21 6 21 10Z", stroke: "currentColor", strokeWidth: "2", strokeLinejoin: "round" }) }));
@@ -4054,8 +4083,8 @@ function PieChartIcon() {
4054
4083
  return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", fill: "none", viewBox: "0 0 14 14", children: [jsxRuntime.jsx("path", { fill: "currentColor", d: "M13.478 8.582A6.667 6.667 0 007.667.366V6.53l5.81 2.053z" }), jsxRuntime.jsx("path", { fill: "currentColor", d: "M13.034 9.84L6.778 7.629A.667.667 0 016.334 7V.366a6.667 6.667 0 106.7 9.474z" })] }));
4055
4084
  }
4056
4085
 
4057
- function PlusIcon({ className, size = "24", }) {
4058
- return (jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsxRuntime.jsx("path", { d: "M12 17V12M12 12V7M12 12H17M12 12H7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }));
4086
+ function PlusIcon({ className, size = "24", strokeWidth = "2", }) {
4087
+ return (jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsxRuntime.jsx("path", { d: "M12 17V12M12 12V7M12 12H17M12 12H7", stroke: "currentColor", strokeWidth: strokeWidth, strokeLinecap: "round" }) }));
4059
4088
  }
4060
4089
 
4061
4090
  function RefreshIcon() {
@@ -4218,7 +4247,7 @@ const priceChangeSignToIconMap = {
4218
4247
  [PriceChangeSign.NEGATIVE]: (jsxRuntime.jsx(ArrowTriangle, { className: "tw-text-status-negative" })),
4219
4248
  [PriceChangeSign.NEUTRAL]: jsxRuntime.jsx(PauseIcon, {}),
4220
4249
  };
4221
- function PriceChange({ value: rawValue, variant = "small", }) {
4250
+ function PriceChange({ value: rawValue = 0, variant = "small", }) {
4222
4251
  const valueFormatted = Math.abs(Number(rawValue)).toFixed(2);
4223
4252
  const sign = Number(rawValue) > 0
4224
4253
  ? PriceChangeSign.POSITIVE
@@ -18805,7 +18834,7 @@ const modalWidthClassMap = {
18805
18834
  large: "mobile-lg:tw-w-modal-large",
18806
18835
  "extra-large": "mobile-lg:tw-w-modal-extra-large",
18807
18836
  };
18808
- function Modal({ children, className, onBackdropClick, isOpen: _isOpen = true, maxHeight = false, width = "large", animateOpacity = false, }) {
18837
+ function Modal({ children, className, onBackdropClick, isOpen: _isOpen = true, maxHeight = false, width = "large", animateOpacity = false, backdropStyle, }) {
18809
18838
  const [isOpen, setIsOpen] = React$1.useState(_isOpen);
18810
18839
  React$1.useEffect(() => {
18811
18840
  if (_isOpen) {
@@ -18827,16 +18856,18 @@ function Modal({ children, className, onBackdropClick, isOpen: _isOpen = true, m
18827
18856
  onBackdropClick();
18828
18857
  }
18829
18858
  }
18830
- : undefined, style: {
18831
- [CSS_VARS.BLUR_IN_DURATION]: `${ANIMATION_DURATIONS.SHOW_MODAL}ms`,
18832
- [CSS_VARS.BLUR_OUT_DURATION]: `${ANIMATION_DURATIONS.HIDE_MODAL}ms`,
18833
- }, className: cn("tw-absolute tw-inset-0 tw-z-40 tw-flex tw-items-start tw-justify-center tw-px-squid-xs tw-py-squid-xl tw-pb-squid-m", _isOpen ? "tw-animate-blur-in" : "tw-animate-blur-out"), children: jsxRuntime.jsx("div", { style: {
18859
+ : undefined, style: Object.assign({ [CSS_VARS.BLUR_IN_DURATION]: `${ANIMATION_DURATIONS.SHOW_MODAL}ms`, [CSS_VARS.BLUR_OUT_DURATION]: `${ANIMATION_DURATIONS.HIDE_MODAL}ms` }, backdropStyle), className: cn("tw-absolute tw-inset-0 tw-z-40 tw-flex tw-items-start tw-justify-center tw-px-squid-xs tw-py-squid-xl tw-pb-squid-m", _isOpen ? "tw-animate-blur-in" : "tw-animate-blur-out"), children: jsxRuntime.jsx("div", { style: {
18834
18860
  [CSS_VARS.SLIDE_TO_TOP_DURATION]: `${ANIMATION_DURATIONS.SHOW_MODAL}ms`,
18835
18861
  [CSS_VARS.SLIDE_TO_BOTTOM_DURATION]: `${ANIMATION_DURATIONS.HIDE_MODAL}ms`,
18836
18862
  [CSS_VARS.FADE_IN_DURATION]: `${ANIMATION_DURATIONS.SHOW_MODAL}ms`,
18837
18863
  [CSS_VARS.FADE_OUT_DURATION]: `${ANIMATION_DURATIONS.HIDE_MODAL}ms`,
18838
- }, className: cn("tw-relative tw-flex tw-max-h-modal-compact tw-max-w-full tw-flex-col tw-items-start tw-justify-end tw-gap-squid-xxs tw-self-end mobile-xs:tw-w-modal-compact mobile-lg:tw-max-h-modal-large", className, _isOpen ? "tw-animate-slide-to-top" : "tw-animate-slide-to-bottom", animateOpacity &&
18839
- (_isOpen ? "tw-animate-fade-in" : "tw-animate-fade-out"), maxHeight && "tw-h-full", modalWidthClassMap[width]), children: children }) })));
18864
+ }, className: cn("tw-relative tw-flex tw-max-h-modal-compact tw-max-w-full tw-flex-col tw-items-start tw-justify-end tw-gap-squid-xxs tw-self-end mobile-xs:tw-w-modal-compact mobile-lg:tw-max-h-modal-large", className, animateOpacity
18865
+ ? _isOpen
18866
+ ? "tw-animate-slide-to-top-and-fade-in"
18867
+ : "tw-animate-slide-to-bottom-and-fade-out"
18868
+ : _isOpen
18869
+ ? "tw-animate-slide-to-top"
18870
+ : "tw-animate-slide-to-bottom", maxHeight && "tw-h-full", modalWidthClassMap[width]), children: children }) })));
18840
18871
  }
18841
18872
 
18842
18873
  const borderTypeClassMap = {
@@ -18932,7 +18963,25 @@ function SwapConfiguration({ amount, tokenPrice = 0, isFetching: isFetchingProp
18932
18963
  }
18933
18964
 
18934
18965
  function SwapProgressViewHeader({ title, description, }) {
18935
- return (jsxRuntime.jsxs("header", { className: "tw-flex tw-h-[95px] tw-w-full tw-flex-col tw-gap-squid-s tw-bg-grey-800 tw-px-squid-m tw-py-squid-s", children: [jsxRuntime.jsx(BodyText, { size: "large", className: "tw-h-squid-m !tw-leading-[20px] tw-text-grey-300", children: title }), jsxRuntime.jsx(CaptionText, { className: "tw-h-squid-l tw-text-grey-500", children: description })] }));
18966
+ return (jsxRuntime.jsxs("header", { className: "tw-flex tw-min-h-[95px] tw-w-full tw-flex-col tw-gap-squid-s tw-bg-grey-800 tw-px-squid-m tw-py-squid-s", children: [jsxRuntime.jsx(BodyText, { size: "large", className: "tw-min-h-squid-m !tw-leading-[25px] tw-text-grey-300", children: title }), jsxRuntime.jsx(CaptionText, { className: "tw-h-squid-l tw-text-grey-500", children: description })] }));
18967
+ }
18968
+
18969
+ function AccountListItem({ isConnected, imageUrls = [], imageUrl, badgeUrl, actions = [], subtitle, title, mainButton, }) {
18970
+ const badge = {
18971
+ src: isConnected ? badgeUrl : undefined,
18972
+ children: isConnected ? undefined : (jsxRuntime.jsx(PlusIcon, { className: "tw-text-grey-900 group-data-[squid-theme-type=dark]:tw-text-grey-100", size: "15", strokeWidth: "3" })),
18973
+ className: isConnected ? undefined : "tw-bg-royal-500",
18974
+ border: "outline-lg",
18975
+ size: "medium",
18976
+ };
18977
+ return (jsxRuntime.jsxs("li", { className: "tw-flex tw-h-[80px] tw-w-full tw-items-center tw-gap-squid-s tw-px-squid-m tw-py-squid-xs tw-text-grey-300", children: [imageUrl != null ? (jsxRuntime.jsx(BadgeImage, { className: "tw-min-w-fit", image: {
18978
+ src: imageUrl,
18979
+ size: "xxlarge",
18980
+ rounded: "s",
18981
+ border: "outline-sm",
18982
+ }, badge: badge })) : (jsxRuntime.jsx(ImageGroup, { imageUrls: imageUrls, badge: badge })), jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-1 tw-flex-col tw-items-start tw-gap-squid-xs", children: [jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-[13px] !tw-leading-[13px]", children: title }), jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-[13px] !tw-leading-[13px] tw-text-grey-500", children: subtitle })] }), jsxRuntime.jsx("menu", { className: "tw-flex tw-items-center tw-gap-squid-xxs", children: isConnected
18983
+ ? actions.map((action) => React$1.createElement(IconButton, Object.assign({}, action, { key: action.key })))
18984
+ : mainButton != null && (jsxRuntime.jsx(Button$1, Object.assign({ size: "md", variant: "primary" }, mainButton))) })] }));
18936
18985
  }
18937
18986
 
18938
18987
  const SPACING = 10;
@@ -19432,7 +19481,7 @@ function SmallBodyText(props) {
19432
19481
  function PropertyListItem(_a) {
19433
19482
  var { isLoading = false, label, detail, icon, className, variant = "small", showGradientBg = true, labelClassName, iconClassName, detailClassName } = _a, props = __rest$1(_a, ["isLoading", "label", "detail", "icon", "className", "variant", "showGradientBg", "labelClassName", "iconClassName", "detailClassName"]);
19434
19483
  const Text = variant === "small" ? CaptionText : SmallBodyText;
19435
- 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 && "squid-property-row-bg", containerVariantClassNameMap[variant], className), 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 tw-rounded-squid-xs", childrenVariantClassNameMap[variant]), children: [jsxRuntime.jsx("div", { className: cn("tw-w-6 tw-text-grey-500", iconClassName), children: icon }), jsxRuntime.jsx(Text, { className: cn("tw-flex-1 tw-text-grey-500", labelClassName), children: jsxRuntime.jsx(TextSkeleton, { isLoading: isLoading, children: label }) }), jsxRuntime.jsx(Text, { className: cn("tw-flex tw-text-grey-300", detailClassName), children: jsxRuntime.jsx(TextSkeleton, { isLoading: isLoading, children: detail }) })] }) })));
19484
+ 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 && "squid-property-row-bg", containerVariantClassNameMap[variant], className), 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 tw-rounded-squid-xs", childrenVariantClassNameMap[variant]), children: [jsxRuntime.jsx("div", { className: cn("tw-w-6 tw-text-grey-500", iconClassName), children: icon }), jsxRuntime.jsx(Text, { className: cn("tw-min-w-fit tw-flex-1 tw-text-grey-500", labelClassName), children: jsxRuntime.jsx(TextSkeleton, { isLoading: isLoading, children: label }) }), jsxRuntime.jsx(Text, { truncate: variant === "small" || undefined, className: cn("tw-flex tw-text-grey-300", detailClassName), children: jsxRuntime.jsx(TextSkeleton, { isLoading: isLoading, children: detail }) })] }) })));
19436
19485
  }
19437
19486
 
19438
19487
  function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator = false, }) {
@@ -19541,7 +19590,9 @@ function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, bala
19541
19590
  const handleToggleCollapsed = React$1.useCallback(() => {
19542
19591
  setIsCollapsed((prev) => !prev);
19543
19592
  }, []);
19544
- return (jsxRuntime.jsxs("li", { className: cn("tw-w-full tw-self-stretch", extraSpacing && "tw-px-squid-xs tw-pt-squid-xs", !isCollapsed &&
19593
+ return (jsxRuntime.jsxs("li", { style: {
19594
+ transition: `padding ${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.GENERIC}`,
19595
+ }, className: cn("tw-w-full tw-self-stretch", extraSpacing && "tw-px-squid-xs tw-pt-squid-xs", !isCollapsed &&
19545
19596
  "tw-border-y tw-border-solid tw-border-y-material-light-thin tw-py-squid-xs", className), children: [jsxRuntime.jsxs(ContentTag, { onClick: (event) => {
19546
19597
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
19547
19598
  if (isCollapsible)
@@ -19549,7 +19600,7 @@ function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, bala
19549
19600
  }, style: isCollapsible
19550
19601
  ? {
19551
19602
  transition: `${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.GENERIC}`,
19552
- transitionProperty: "height",
19603
+ transitionProperty: "height, gap",
19553
19604
  }
19554
19605
  : undefined, className: cn("tw-flex tw-w-full tw-items-center tw-rounded-squid-s tw-px-squid-xs", isSelected && "tw-bg-material-light-thin", isInteractive && "hover:tw-bg-material-light-thin", isLargeVariant
19555
19606
  ? isCollapsed
@@ -19557,7 +19608,7 @@ function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, bala
19557
19608
  : "tw-h-squid-xl tw-gap-squid-xxs"
19558
19609
  : isSmallVariant
19559
19610
  ? "tw-h-[50px] tw-gap-squid-s tw-py-squid-xxs"
19560
- : "tw-h-squid-xl tw-gap-squid-xxs"), children: [jsxRuntime.jsxs("div", { className: "tw-relative", children: [jsxRuntime.jsx(Image$1, { src: imageUrl, size: isLargeVariant && !isCollapsed
19611
+ : "tw-h-squid-xl tw-gap-squid-xxs"), children: [jsxRuntime.jsxs("div", { className: "tw-relative tw-min-w-fit", children: [jsxRuntime.jsx(Image$1, { src: imageUrl, size: isLargeVariant && !isCollapsed
19561
19612
  ? "medium"
19562
19613
  : (_a = mainImageSizeMap[variant]) !== null && _a !== void 0 ? _a : "medium", rounded: isCompactVariant ? "xxs" : "full", style: {
19563
19614
  transition: `${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.GENERIC}`,
@@ -19575,8 +19626,19 @@ function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, bala
19575
19626
  ? "-tw-bottom-0 -tw-right-0"
19576
19627
  : "-tw-bottom-[3px] -tw-right-[3px]"), children: jsxRuntime.jsx(ImageStack, { spacing: "-10px", removeDuplicates: true, addExtraPadding: !isCollapsible, size: "medium", rounded: "xxs", border: "outline-lg", imageUrls: isCollapsible
19577
19628
  ? tokenItems === null || tokenItems === void 0 ? void 0 : tokenItems.slice(0, MAX_PREVIEW_ITEMS).map((item) => item.chainImageUrl)
19578
- : [chainImageUrl] }) }))] }), jsxRuntime.jsxs("div", { className: cn("tw-flex tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-text-grey-300", isCollapsed &&
19579
- (isSmallVariant ? "tw-gap-squid-xs" : "tw-gap-squid-xxs"), isSmallVariant && "tw-h-[45px]"), children: [jsxRuntime.jsxs("div", { className: cn("tw-flex tw-gap-squid-xxs tw-self-stretch", isSmallVariant ? "tw-h-[13px] tw-items-end" : "tw-items-center", isLargeVariant && "tw-h-squid-m"), children: [jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-fit !tw-leading-[13px]", children: name }), (!isCollapsed || isCompactVariant) && (jsxRuntime.jsx(ChevronTopIcon, { className: cn("tw-text-grey-500", isCollapsed ? "tw-rotate-90" : "tw-rotate-180") })), balanceUsd ? (jsxRuntime.jsx("span", { className: cn("tw-flex tw-flex-1 tw-items-center tw-justify-end", isCollapsed ? "tw-text-grey-300" : "tw-text-grey-500"), children: isSmallVariant ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(CaptionText, { className: "!tw-leading-[10px] tw-opacity-66", children: "$" }), jsxRuntime.jsx(CaptionText, { className: "!tw-leading-[10px]", children: balanceUsd })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(BodyText, { size: "small", className: "!tw-leading-[10px] tw-opacity-66", children: "$" }), jsxRuntime.jsx(BodyText, { size: "small", className: "!tw-leading-[10px]", children: balanceUsd })] })) })) : null] }), !isCompactVariant && (jsxRuntime.jsx(Collapse, { collapsed: !isCollapsed, contentsClassName: "tw-flex tw-w-full tw-items-start tw-justify-between", className: "tw-w-full", children: jsxRuntime.jsxs("div", { className: cn("tw-flex tw-w-full tw-items-center tw-justify-between tw-self-stretch", isLargeVariant && "tw-h-squid-m"), children: [jsxRuntime.jsx("div", { className: "tw-flex tw-flex-1 tw-items-center tw-gap-squid-xxs tw-text-grey-400", children: jsxRuntime.jsxs(CaptionText, { className: "!tw-leading-[10px]", children: [balance, symbol] }) }), priceChange && jsxRuntime.jsx(PriceChange, { value: priceChange })] }) }))] })] }), jsxRuntime.jsx(Collapse, { collapsed: isCollapsed, children: jsxRuntime.jsx("ul", { className: cn("tw-flex tw-flex-col tw-items-start tw-justify-end tw-self-stretch", isCompactVariant && "tw-gap-squid-xs tw-pt-squid-xs"), children: tokenItems === null || tokenItems === void 0 ? void 0 : tokenItems.map((token) => (jsxRuntime.jsx(TokenGroup, Object.assign({}, token, { extraSpacing: false, variant: isCompactVariant ? "small" : "large", onClick: () => onChildClick === null || onChildClick === void 0 ? void 0 : onChildClick(token) }), token.chainImageUrl + token.symbol))) }) })] }));
19629
+ : [chainImageUrl] }) }))] }), jsxRuntime.jsxs("div", { style: {
19630
+ transition: `max-width ${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.GENERIC}`,
19631
+ }, className: cn("tw-flex tw-flex-1 tw-flex-col tw-text-grey-300", isCollapsed && "tw-gap-squid-xxs", !isSmallVariant && "tw-justify-center", isCompactVariant && "tw-max-w-[calc(100%-30px)]", isSmallVariant &&
19632
+ "tw-h-[45px] tw-max-w-[calc(100%-60px)] tw-justify-end", isLargeVariant &&
19633
+ (isCollapsed
19634
+ ? "tw-max-w-[calc(100%-80px)]"
19635
+ : "tw-max-w-[calc(100%-30px)]")), children: [jsxRuntime.jsxs("div", { className: cn("tw-flex tw-w-full tw-items-center tw-gap-squid-xxs tw-self-stretch", isSmallVariant ? "tw-h-[13px] tw-items-end" : "tw-items-center", isLargeVariant && "tw-h-squid-m"), children: [jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-fit tw-max-w-fit tw-flex-grow tw-truncate", style: {
19636
+ whiteSpace: "nowrap",
19637
+ overflow: "hidden",
19638
+ textOverflow: "ellipsis",
19639
+ }, children: name }), isCollapsible && (jsxRuntime.jsx(ChevronTopIcon, { style: {
19640
+ transition: `transform ${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.GENERIC}`,
19641
+ }, className: cn("tw-min-w-fit tw-text-grey-500", isCollapsed ? "tw-rotate-90" : "tw-rotate-180") })), balanceUsd ? (jsxRuntime.jsx("span", { className: cn("tw-flex tw-flex-1 tw-items-center tw-justify-end", isCollapsed ? "tw-text-grey-300" : "tw-text-grey-500"), children: isSmallVariant ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(CaptionText, { className: "tw-opacity-66", children: "$" }), jsxRuntime.jsx(CaptionText, { children: balanceUsd })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(BodyText, { size: "small", className: "tw-opacity-66", children: "$" }), jsxRuntime.jsx(BodyText, { size: "small", children: balanceUsd })] })) })) : null] }), !isCompactVariant && (jsxRuntime.jsx(Collapse, { collapsed: !isCollapsed, contentsClassName: "tw-flex tw-w-full tw-items-start tw-justify-between", className: "tw-w-full", children: jsxRuntime.jsxs("div", { className: cn("tw-flex tw-w-full tw-items-center tw-justify-between tw-self-stretch", isLargeVariant && "tw-h-squid-m"), children: [jsxRuntime.jsx("div", { className: "tw-flex tw-flex-1 tw-items-center tw-gap-squid-xxs tw-text-grey-400", children: jsxRuntime.jsxs(CaptionText, { children: [balance, " ", symbol] }) }), priceChange && jsxRuntime.jsx(PriceChange, { value: priceChange })] }) }))] })] }), jsxRuntime.jsx(Collapse, { collapsed: isCollapsed, children: jsxRuntime.jsx("ul", { className: cn("tw-flex tw-flex-col tw-items-start tw-justify-end tw-self-stretch", isCompactVariant && "tw-gap-squid-xs tw-pt-squid-xs"), children: tokenItems === null || tokenItems === void 0 ? void 0 : tokenItems.map((token) => (jsxRuntime.jsx(TokenGroup, Object.assign({}, token, { extraSpacing: false, variant: isCompactVariant ? "small" : "large", onClick: () => onChildClick === null || onChildClick === void 0 ? void 0 : onChildClick(token) }), token.chainImageUrl + token.symbol))) }) })] }));
19580
19642
  }
19581
19643
 
19582
19644
  function ActionLayout({ lineCap = jsxRuntime.jsx(Timeline.CapTop, {}), status = "executed", showTimeline = true, showBody = true, nextStatus, statusIcon, description, title, icon, children, }) {
@@ -19717,7 +19779,7 @@ function TransactionAction({ type, props }) {
19717
19779
  }
19718
19780
 
19719
19781
  function Transfer({ isLoading, from, to, className }) {
19720
- return (jsxRuntime.jsx("div", { className: cn("tw-flex tw-items-center tw-gap-squid-xxs", className), children: jsxRuntime.jsxs(Join, { glue: () => jsxRuntime.jsx(ChevronLargeRightIcon, { className: "tw-text-grey-500" }), children: [isLoading ? jsxRuntime.jsx(TextSkeleton, {}) : from, isLoading ? jsxRuntime.jsx(TextSkeleton, {}) : to] }) }));
19782
+ return (jsxRuntime.jsx("div", { className: cn("tw-flex tw-max-w-full tw-items-center tw-gap-squid-xxs", className), children: jsxRuntime.jsxs(Join, { glue: () => jsxRuntime.jsx(ChevronLargeRightIcon, { className: "tw-text-grey-500" }), children: [isLoading ? (jsxRuntime.jsx(TextSkeleton, {})) : typeof from === "string" ? (jsxRuntime.jsx(CaptionText, { truncate: true, children: from })) : (from), isLoading ? (jsxRuntime.jsx(TextSkeleton, {})) : typeof to === "string" ? (jsxRuntime.jsx(CaptionText, { truncate: true, children: to })) : (to)] }) }));
19721
19783
  }
19722
19784
 
19723
19785
  function TransactionItem({ className, isLoading = false, status, image, type, hash, fromChain, toChain, fromAmount, toAmount, timestamp, variant = "full", }) {
@@ -19837,6 +19899,8 @@ function Toast({ headerContent, actionsContent, description, chipLabel, title, }
19837
19899
  }, rounded: "sm", children: [headerContent, jsxRuntime.jsx("header", { className: "tw-flex tw-flex-col tw-items-center tw-justify-center tw-self-stretch tw-px-0 tw-py-squid-xxs", children: jsxRuntime.jsx(BodyText, { size: "small", className: "tw-text-grey-100", children: title }) }), jsxRuntime.jsx(CaptionText, { className: "tw-text-center tw-text-material-light-thick", children: description }), jsxRuntime.jsx("menu", { className: "tw-flex tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-pt-squid-xs", children: actionsContent }), chipLabel && (jsxRuntime.jsx(Chip, { label: chipLabel, className: "tw-absolute tw-right-squid-xs tw-top-squid-xs" }))] }));
19838
19900
  }
19839
19901
 
19902
+ const BACKGROUND_COLOR_CSS_VARIABLE = "--token-details-view-bg-color";
19903
+ const TEXT_COLOR_CSS_VARIABLE = "--token-details-view-text-color";
19840
19904
  const DEFAULT_TIMEFRAME = "1D";
19841
19905
  const DefaultChart = ({ timeframe, }) => (jsxRuntime.jsx("div", { className: "tw-flex tw-h-full tw-w-full tw-items-center tw-justify-center", children: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Chart (", timeframe, ")"] }) }));
19842
19906
  const TokenModalHeader = ({ token, chain, onLikeToken, onClose, isFavorite, }) => (jsxRuntime.jsxs("div", { className: "tw-flex tw-w-full tw-items-start tw-justify-between", children: [jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-pb-squid-xs", children: jsxRuntime.jsx(BadgeImage, { image: {
@@ -19854,34 +19918,35 @@ const TokenInfo = ({ token, tokenPrice, priceChange, loading, }) => (jsxRuntime.
19854
19918
  const BalanceInfo = ({ balance, balanceUSD, token, loading, }) => (jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col", children: [jsxRuntime.jsx(CaptionText, { className: "tw-text-grey-400", children: "Balance" }), jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-row tw-justify-between", children: [jsxRuntime.jsxs("span", { className: "tw-flex tw-flex-row tw-items-center tw-gap-squid-xxs", children: [jsxRuntime.jsx("img", { src: token.image, alt: token.name, className: "tw-h-squid-m tw-w-squid-m tw-rounded-full" }), jsxRuntime.jsxs(BodyText, { size: "small", loading: { isLoading: loading, width: "80px" }, children: [balance, " ", token.symbol] })] }), jsxRuntime.jsxs(CaptionText, { className: "tw-text-grey-500", loading: { isLoading: loading, width: "60px" }, children: [jsxRuntime.jsx("span", { className: "tw-opacity-66", children: "$" }), balanceUSD] })] })] }));
19855
19919
  const MarketDataItem = ({ label, value, showDollar, loading, }) => (jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col", children: [jsxRuntime.jsx(CaptionText, { className: "tw-text-grey-500", children: label }), jsxRuntime.jsxs(CaptionText, { loading: { isLoading: loading, width: "60px" }, children: [showDollar && jsxRuntime.jsx("span", { className: "tw-text-grey-500", children: "$" }), value] })] }));
19856
19920
  const TokenMarketData = ({ volume24h, marketCap, totalSupply, loading, }) => (jsxRuntime.jsxs("div", { className: "tw-flex tw-h-full tw-w-full tw-flex-row tw-items-center tw-justify-between", children: [jsxRuntime.jsx(MarketDataItem, { label: "24h volume", value: volume24h, showDollar: true, loading: loading }), jsxRuntime.jsx(MarketDataItem, { label: "Market cap", value: marketCap, showDollar: true, loading: loading }), jsxRuntime.jsx(MarketDataItem, { label: "Total supply", value: totalSupply, loading: loading })] }));
19857
- const SwapButton = ({ label, color, icon, onClick, textColor, }) => (jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-1 tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xs", children: [jsxRuntime.jsx(IconButton, { icon: icon, className: "tw-text-grey-900", style: {
19858
- height: "40px",
19859
- width: "40px",
19860
- borderRadius: "100%",
19861
- backgroundColor: color,
19862
- color: textColor,
19863
- }, onClick: onClick }), jsxRuntime.jsx(CaptionText, { className: "tw-text-grey-400", children: label })] }));
19864
- const SwapButtons = ({ token, onSwapFrom, onSwapTo, }) => (jsxRuntime.jsxs("div", { className: "tw-flex tw-justify-between tw-py-5", children: [jsxRuntime.jsx(SwapButton, { label: "Swap From", color: token.color, textColor: token.textColor, icon: jsxRuntime.jsx(ArrowUpIcon, {}), onClick: () => {
19865
- onSwapFrom({ address: token.address, chainId: token.chainId });
19866
- } }), jsxRuntime.jsx(SwapButton, { label: "Swap To", color: token.color, textColor: token.textColor, icon: jsxRuntime.jsx(ArrowDownIcon, {}), onClick: () => {
19867
- onSwapTo({ address: token.address, chainId: token.chainId });
19868
- } })] }));
19869
- const TimeframeChip = ({ label, isSelected, onClick, }) => (jsxRuntime.jsx(Chip, { className: cn("tw-w-squid-xl tw-cursor-pointer hover:tw-bg-material-light-thin", isSelected
19870
- ? "!tw-bg-grey-300 !tw-text-grey-900"
19871
- : "tw-bg-transparent !tw-text-grey-600"), label: label, onClick: onClick }));
19921
+ const FooterButton = (_a) => {
19922
+ var { icon, label } = _a, props = __rest$1(_a, ["icon", "label"]);
19923
+ return (jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-1 tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xs", children: [jsxRuntime.jsx("button", Object.assign({}, props, { className: "tw-flex tw-h-squid-xl tw-w-squid-xl tw-items-center tw-justify-center tw-rounded-full tw-border tw-border-material-light-thin tw-text-grey-900 tw-shadow-elevation-light-1 disabled:tw-bg-grey-700", style: props.disabled
19924
+ ? undefined
19925
+ : {
19926
+ backgroundColor: `var(${BACKGROUND_COLOR_CSS_VARIABLE})`,
19927
+ color: `var(${TEXT_COLOR_CSS_VARIABLE})`,
19928
+ }, children: icon })), jsxRuntime.jsx(CaptionText, { className: props.disabled ? "tw-text-grey-700" : "tw-text-grey-400", children: label })] }));
19929
+ };
19930
+ const FooterButtons = ({ buttons }) => (jsxRuntime.jsx("div", { className: "tw-flex tw-justify-between tw-py-5", children: buttons.map((button) => (jsxRuntime.jsx(FooterButton, Object.assign({}, button), button.label))) }));
19931
+ const TimeframeChip = ({ label, isSelected, onClick, }) => (jsxRuntime.jsx("button", { onClick: onClick, className: "tw-rounded-squid-m", children: jsxRuntime.jsx(Chip, { className: cn("tw-w-squid-xl tw-cursor-pointer hover:tw-bg-material-light-thin", isSelected
19932
+ ? "!tw-bg-grey-300 !tw-text-grey-900"
19933
+ : "tw-bg-transparent !tw-text-grey-600"), label: label }) }));
19872
19934
  const ChartTimeframeSelector = ({ selectedTimeframe, onTimeframeChange, }) => {
19873
19935
  const timeframes = ["1H", "1D", "1W", "1Y"];
19874
19936
  return (jsxRuntime.jsx("div", { className: "tw-mt-squid-s tw-flex tw-justify-center tw-gap-squid-xs", children: timeframes.map((timeframe) => (jsxRuntime.jsx(TimeframeChip, { label: timeframe, isSelected: selectedTimeframe === timeframe, onClick: () => {
19875
19937
  onTimeframeChange(timeframe);
19876
19938
  } }, timeframe))) }));
19877
19939
  };
19878
- const TokenDetailsView = ({ isOpen, onClose, token, chain, tokenPrice, priceChange, balance, balanceUSD, volume24h, marketCap, totalSupply, loading, onLikeToken, isFavorite, Chart = DefaultChart, initialTimeframe = DEFAULT_TIMEFRAME, onTimeframeChange = () => { }, onSwapFrom, onSwapTo, }) => {
19940
+ const TokenDetailsView = ({ isOpen, onClose, token, chain, tokenPrice, priceChange, balance, balanceUSD, volume24h, marketCap, totalSupply, loading, onLikeToken, isFavorite, Chart = DefaultChart, initialTimeframe = DEFAULT_TIMEFRAME, onTimeframeChange = () => { }, footerButtons, backdropStyle, colors, }) => {
19879
19941
  const [selectedTimeframe, setSelectedTimeframe] = React$1.useState(initialTimeframe);
19880
19942
  const handleTimeframeChange = (timeframe) => {
19881
19943
  setSelectedTimeframe(timeframe);
19882
19944
  onTimeframeChange(timeframe);
19883
19945
  };
19884
- return (jsxRuntime.jsx(Modal, { animateOpacity: true, isOpen: isOpen, onBackdropClick: onClose, width: "extra-large", className: "tw-my-auto", children: jsxRuntime.jsxs(ModalContent, { className: "tw-flex tw-min-h-[631px] tw-flex-col !tw-bg-grey-900 tw-pt-squid-m", children: [jsxRuntime.jsxs("div", { className: "tw-px-squid-m", children: [jsxRuntime.jsx(TokenModalHeader, { token: token, chain: chain, onLikeToken: onLikeToken, isFavorite: isFavorite, onClose: onClose }), jsxRuntime.jsx(TokenInfo, { token: token, tokenPrice: tokenPrice, priceChange: priceChange, loading: loading })] }), jsxRuntime.jsxs("div", { className: "tw-flex tw-w-full tw-grow tw-flex-col tw-justify-between tw-text-center", children: [jsxRuntime.jsx("span", { className: "tw-flex tw-h-full tw-grow tw-items-center tw-justify-center", children: loading ? jsxRuntime.jsx(Loader, {}) : jsxRuntime.jsx(Chart, { timeframe: selectedTimeframe }) }), jsxRuntime.jsx(ChartTimeframeSelector, { selectedTimeframe: selectedTimeframe, onTimeframeChange: handleTimeframeChange })] }), jsxRuntime.jsx("hr", { className: "tw-my-squid-xs tw-h-px tw-border-0 tw-bg-material-light-thin" }), jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col", children: [jsxRuntime.jsxs("div", { className: "tw-gap-squid-sm tw-flex tw-flex-col tw-px-squid-m", children: [jsxRuntime.jsx(BalanceInfo, { balance: balance, balanceUSD: balanceUSD, token: token, loading: loading }), jsxRuntime.jsx("hr", { className: "tw-my-squid-xs tw-h-px tw-border-0 tw-bg-material-light-thin" }), jsxRuntime.jsx(TokenMarketData, { volume24h: volume24h, marketCap: marketCap, totalSupply: totalSupply, loading: loading })] }), jsxRuntime.jsx("hr", { className: "tw-my-squid-xs tw-h-px tw-border-0 tw-bg-material-light-thin" }), jsxRuntime.jsx(SwapButtons, { token: token, onSwapFrom: onSwapFrom, onSwapTo: onSwapTo })] })] }) }));
19946
+ return (jsxRuntime.jsx(Modal, { animateOpacity: true, isOpen: isOpen, onBackdropClick: onClose, width: "extra-large", className: "tw-my-auto", backdropStyle: backdropStyle, children: jsxRuntime.jsxs(ModalContent, { style: {
19947
+ [BACKGROUND_COLOR_CSS_VARIABLE]: colors === null || colors === void 0 ? void 0 : colors.backgroundColor,
19948
+ [TEXT_COLOR_CSS_VARIABLE]: colors === null || colors === void 0 ? void 0 : colors.textColor,
19949
+ }, className: "tw-flex tw-min-h-[631px] tw-flex-col !tw-bg-grey-900 tw-pt-squid-m", children: [jsxRuntime.jsxs("div", { className: "tw-px-squid-m", children: [jsxRuntime.jsx(TokenModalHeader, { token: token, chain: chain, onLikeToken: onLikeToken, isFavorite: isFavorite, onClose: onClose }), jsxRuntime.jsx(TokenInfo, { token: token, tokenPrice: tokenPrice, priceChange: priceChange, loading: loading })] }), jsxRuntime.jsxs("div", { className: "tw-flex tw-w-full tw-grow tw-flex-col tw-justify-between tw-text-center", children: [jsxRuntime.jsx("span", { className: "tw-flex tw-h-full tw-grow tw-items-center tw-justify-center", children: loading ? jsxRuntime.jsx(Loader, {}) : jsxRuntime.jsx(Chart, { timeframe: selectedTimeframe }) }), jsxRuntime.jsx(ChartTimeframeSelector, { selectedTimeframe: selectedTimeframe, onTimeframeChange: handleTimeframeChange })] }), jsxRuntime.jsx("hr", { className: "tw-my-squid-xs tw-h-px tw-border-0 tw-bg-material-light-thin" }), jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col", children: [jsxRuntime.jsxs("div", { className: "tw-gap-squid-sm tw-flex tw-flex-col tw-px-squid-m", children: [jsxRuntime.jsx(BalanceInfo, { balance: balance, balanceUSD: balanceUSD, token: token, loading: loading }), jsxRuntime.jsx("hr", { className: "tw-my-squid-xs tw-h-px tw-border-0 tw-bg-material-light-thin" }), jsxRuntime.jsx(TokenMarketData, { volume24h: volume24h, marketCap: marketCap, totalSupply: totalSupply, loading: loading })] }), jsxRuntime.jsx("hr", { className: "tw-my-squid-xs tw-h-px tw-border-0 tw-bg-material-light-thin" }), jsxRuntime.jsx(FooterButtons, { buttons: footerButtons })] })] }) }));
19885
19950
  };
19886
19951
 
19887
19952
  const WIDTH_SM = "69";
@@ -69650,6 +69715,7 @@ function ThemeProvider(_a) {
69650
69715
  }
69651
69716
 
69652
69717
  exports.ANIMATION_DURATIONS = ANIMATION_DURATIONS;
69718
+ exports.AccountListItem = AccountListItem;
69653
69719
  exports.AccountsButton = AccountsButton;
69654
69720
  exports.ActionLayout = ActionLayout;
69655
69721
  exports.ActionLineOutRow = ActionLineOutRow;
@@ -69742,6 +69808,7 @@ exports.CompassRoundSolidIcon = CompassRoundSolidIcon;
69742
69808
  exports.ConsoleIcon = ConsoleIcon;
69743
69809
  exports.Copy = Copy;
69744
69810
  exports.CopyIcon = CopyIcon;
69811
+ exports.CopyOutlinedIcon = CopyOutlinedIcon;
69745
69812
  exports.CrossAnimatedIcon = CrossAnimatedIcon;
69746
69813
  exports.CrossedOutSunSolidIcon = CrossedOutSunSolidIcon;
69747
69814
  exports.DashboardFast = DashboardFast;
@@ -69847,6 +69914,7 @@ exports.ProfileHeaderBackground = ProfileHeaderBackground;
69847
69914
  exports.PropertiesLayout = PropertiesLayout;
69848
69915
  exports.PropertyListItem = PropertyListItem;
69849
69916
  exports.PunkIcon = PunkIcon;
69917
+ exports.QrCodeIcon = QrCodeIcon;
69850
69918
  exports.RangeInput = RangeInput;
69851
69919
  exports.ReceiptBillIcon = ReceiptBillIcon;
69852
69920
  exports.ReceiveNFTAction = ReceiveNFTAction;
@@ -1,6 +1,7 @@
1
+ import { type ImageProps } from "./Image";
1
2
  interface ImageGroupProps {
2
3
  imageUrls: string[];
3
- badgeUrl?: string;
4
+ badge?: Omit<ImageProps, "border" | "size">;
4
5
  }
5
- export declare function ImageGroup({ imageUrls, badgeUrl }: ImageGroupProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function ImageGroup({ imageUrls, badge }: ImageGroupProps): import("react/jsx-runtime").JSX.Element;
6
7
  export {};
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
- interface IconButtonProps extends React.ComponentProps<"button"> {
2
+ export interface IconButtonProps extends React.ComponentProps<"button"> {
3
3
  icon: React.ReactNode;
4
4
  }
5
5
  export declare const IconButton: import("react").ForwardRefExoticComponent<Omit<IconButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
6
- export {};
@@ -1,3 +1,4 @@
1
+ import { type ComponentProps } from "react";
1
2
  export declare function ArrowRightIcon(): import("react/jsx-runtime").JSX.Element;
2
3
  export declare function ArrowRightDownIcon(): import("react/jsx-runtime").JSX.Element;
3
4
  export declare function ArrowRightUpIcon(): import("react/jsx-runtime").JSX.Element;
@@ -17,9 +18,7 @@ export declare function ChevronLargeDownIcon({ size, className, }: {
17
18
  size?: string;
18
19
  className?: string;
19
20
  }): import("react/jsx-runtime").JSX.Element;
20
- export declare function ChevronTopIcon({ className }: {
21
- className?: string;
22
- }): import("react/jsx-runtime").JSX.Element;
21
+ export declare function ChevronTopIcon(props: ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
23
22
  export declare function ChevronLargeRightIcon({ size, className, }: {
24
23
  size?: string;
25
24
  className?: string;
@@ -62,6 +62,10 @@ export declare function LaptopIcon({ size, className, }: {
62
62
  size?: string;
63
63
  className?: string;
64
64
  }): import("react/jsx-runtime").JSX.Element;
65
+ export declare function CopyOutlinedIcon({ size, className, }: {
66
+ size?: string;
67
+ className?: string;
68
+ }): import("react/jsx-runtime").JSX.Element;
65
69
  export declare function CopyIcon({ size, className, }: {
66
70
  size?: string;
67
71
  className?: string;
@@ -97,3 +101,7 @@ export declare function StarLinesIcon({ size, className, }: {
97
101
  size?: string;
98
102
  className?: string;
99
103
  }): import("react/jsx-runtime").JSX.Element;
104
+ export declare function QrCodeIcon({ size, className, }: {
105
+ size?: string;
106
+ className?: string;
107
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
- export declare function PlusIcon({ className, size, }: {
1
+ export declare function PlusIcon({ className, size, strokeWidth, }: {
2
2
  className?: string;
3
3
  size?: string;
4
+ strokeWidth?: string;
4
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -8,6 +8,7 @@ interface ModalProps {
8
8
  maxHeight?: boolean;
9
9
  width?: ModalWidth;
10
10
  animateOpacity?: boolean;
11
+ backdropStyle?: React.CSSProperties;
11
12
  }
12
- export declare function Modal({ children, className, onBackdropClick, isOpen: _isOpen, maxHeight, width, animateOpacity, }: ModalProps): false | import("react/jsx-runtime").JSX.Element;
13
+ export declare function Modal({ children, className, onBackdropClick, isOpen: _isOpen, maxHeight, width, animateOpacity, backdropStyle, }: ModalProps): false | import("react/jsx-runtime").JSX.Element;
13
14
  export {};
@@ -4,8 +4,6 @@ interface Token {
4
4
  name: string;
5
5
  symbol: string;
6
6
  image: string;
7
- color: string;
8
- textColor: string;
9
7
  chainId: string;
10
8
  }
11
9
  interface Chain {
@@ -33,8 +31,16 @@ interface TokenDetailsViewProps {
33
31
  }>;
34
32
  initialTimeframe?: Timeframe;
35
33
  onTimeframeChange?: (timeframe: Timeframe) => void;
36
- onSwapFrom: (token: Pick<Token, "address" | "chainId">) => void;
37
- onSwapTo: (token: Pick<Token, "address" | "chainId">) => void;
34
+ footerButtons: FooterButtonProps[];
35
+ backdropStyle?: React.CSSProperties;
36
+ colors?: {
37
+ backgroundColor: string;
38
+ textColor: string;
39
+ };
38
40
  }
39
- export declare const TokenDetailsView: ({ isOpen, onClose, token, chain, tokenPrice, priceChange, balance, balanceUSD, volume24h, marketCap, totalSupply, loading, onLikeToken, isFavorite, Chart, initialTimeframe, onTimeframeChange, onSwapFrom, onSwapTo, }: TokenDetailsViewProps) => import("react/jsx-runtime").JSX.Element;
41
+ interface FooterButtonProps extends React.ComponentProps<"button"> {
42
+ label: string;
43
+ icon: React.ReactNode;
44
+ }
45
+ export declare const TokenDetailsView: ({ isOpen, onClose, token, chain, tokenPrice, priceChange, balance, balanceUSD, volume24h, marketCap, totalSupply, loading, onLikeToken, isFavorite, Chart, initialTimeframe, onTimeframeChange, footerButtons, backdropStyle, colors, }: TokenDetailsViewProps) => import("react/jsx-runtime").JSX.Element;
40
46
  export {};
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import { type ReactNode } from "react";
2
2
  interface FromToProps {
3
3
  isLoading?: boolean;
4
4
  from?: ReactNode;
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { type IconButtonProps } from "../buttons";
3
+ interface ActionButton extends IconButtonProps {
4
+ key: NonNullable<React.Key>;
5
+ }
6
+ interface AccountListItemProps {
7
+ isConnected?: boolean;
8
+ imageUrls?: string[];
9
+ imageUrl?: string;
10
+ badgeUrl?: string;
11
+ actions?: ActionButton[];
12
+ title?: string;
13
+ subtitle?: string;
14
+ mainButton?: {
15
+ label: string;
16
+ } & React.ComponentProps<"button">;
17
+ }
18
+ export declare function AccountListItem({ isConnected, imageUrls, imageUrl, badgeUrl, actions, subtitle, title, mainButton, }: AccountListItemProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
@@ -1,3 +1,4 @@
1
+ export * from "./AccountListItem";
1
2
  export * from "./DropdownMenuItem";
2
3
  export * from "./DropdownMenuTitle";
3
4
  export * from "./HistoryItem";
@@ -7,6 +7,7 @@ interface CaptionProps extends React.HTMLAttributes<HTMLSpanElement> {
7
7
  isLoading?: boolean;
8
8
  width?: string;
9
9
  };
10
+ truncate?: boolean;
10
11
  }
11
- export declare function CaptionText({ children, bold, loading, tight, ...props }: CaptionProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function CaptionText({ children, bold, loading, tight, truncate, ...props }: CaptionProps): import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -4,3 +4,5 @@ declare const meta: Meta<typeof ImageGroup>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof meta>;
6
6
  export declare const Default: Story;
7
+ export declare const Badge: Story;
8
+ export declare const CustomBadgeContent: Story;
@@ -0,0 +1,8 @@
1
+ import { type Meta, type StoryObj } from "@storybook/react";
2
+ import { AccountListItem } from "../../components/lists/AccountListItem";
3
+ declare const meta: Meta<typeof AccountListItem>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Disconnected: Story;
7
+ export declare const Connected: Story;
8
+ export declare const Actions: Story;
@@ -12,4 +12,6 @@ export declare const LargeVariant: Story;
12
12
  export declare const SmallVariant: Story;
13
13
  export declare const CompactVariant: Story;
14
14
  export declare const LargeVariantWithItems: Story;
15
+ export declare const LargeVariantLongTokenName: Story;
15
16
  export declare const CompactVariantWithItems: Story;
17
+ export declare const CompactVariantLongTokenName: Story;
@@ -1,4 +1,4 @@
1
- import { Meta, StoryObj } from "@storybook/react";
1
+ import { type Meta, type StoryObj } from "@storybook/react";
2
2
  import { SwapProgressView } from "../../components/views/SwapProgressView";
3
3
  declare const meta: Meta<typeof SwapProgressView>;
4
4
  export default meta;