@0xsquid/ui 2.6.1 → 2.6.3

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 (27) hide show
  1. package/dist/cjs/index.js +75 -37
  2. package/dist/cjs/types/components/icons/Arrow.d.ts +2 -1
  3. package/dist/cjs/types/components/icons/Generic.d.ts +3 -2
  4. package/dist/cjs/types/components/icons/Social.d.ts +9 -1
  5. package/dist/cjs/types/components/icons/index.d.ts +0 -1
  6. package/dist/cjs/types/components/layout/DropdownMenu.d.ts +2 -1
  7. package/dist/cjs/types/components/views/SwapProgressView.d.ts +3 -2
  8. package/dist/cjs/types/hooks/useDropdownMenu.d.ts +5 -5
  9. package/dist/cjs/types/stories/layout/AppContainer.stories.d.ts +1 -1
  10. package/dist/cjs/types/stories/views/MainView.stories.d.ts +1 -1
  11. package/dist/cjs/types/stories/views/SwapDetailsView.stories.d.ts +1 -1
  12. package/dist/esm/index.js +72 -35
  13. package/dist/esm/types/components/icons/Arrow.d.ts +2 -1
  14. package/dist/esm/types/components/icons/Generic.d.ts +3 -2
  15. package/dist/esm/types/components/icons/Social.d.ts +9 -1
  16. package/dist/esm/types/components/icons/index.d.ts +0 -1
  17. package/dist/esm/types/components/layout/DropdownMenu.d.ts +2 -1
  18. package/dist/esm/types/components/views/SwapProgressView.d.ts +3 -2
  19. package/dist/esm/types/hooks/useDropdownMenu.d.ts +5 -5
  20. package/dist/esm/types/stories/layout/AppContainer.stories.d.ts +1 -1
  21. package/dist/esm/types/stories/views/MainView.stories.d.ts +1 -1
  22. package/dist/esm/types/stories/views/SwapDetailsView.stories.d.ts +1 -1
  23. package/dist/index.css +1 -1
  24. package/dist/index.d.ts +23 -17
  25. package/package.json +1 -1
  26. package/dist/cjs/types/components/icons/Copy.d.ts +0 -5
  27. package/dist/esm/types/components/icons/Copy.d.ts +0 -5
package/dist/esm/index.js CHANGED
@@ -3740,8 +3740,8 @@ function ArrowUpIcon() {
3740
3740
  function ArrowCornerDownRightIcon({ size = "24", className, }) {
3741
3741
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4 4C4.55228 4 5 4.44772 5 5V13C5 13.5523 5.44772 14 6 14H17.5858L15.2929 11.7071C14.9024 11.3166 14.9024 10.6834 15.2929 10.2929C15.6834 9.90237 16.3166 9.90237 16.7071 10.2929L20.7071 14.2929C21.0976 14.6834 21.0976 15.3166 20.7071 15.7071L16.7071 19.7071C16.3166 20.0976 15.6834 20.0976 15.2929 19.7071C14.9024 19.3166 14.9024 18.6834 15.2929 18.2929L17.5858 16H6C4.34315 16 3 14.6569 3 13V5C3 4.44772 3.44772 4 4 4Z", fill: "currentColor" }) }));
3742
3742
  }
3743
- function ChevronDownSmallIcon({ size = "16", className, }) {
3744
- return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 16 16", fill: "none", className: className, children: jsx("path", { d: "M5.33325 6.66666L7.52851 8.86192C7.78886 9.12227 8.21097 9.12227 8.47132 8.86192L10.6666 6.66666", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
3743
+ function ChevronDownSmallIcon({ size = "16", strokeWidth = "2", className, }) {
3744
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 16 16", fill: "none", className: className, children: jsx("path", { d: "M5.33325 6.66666L7.52851 8.86192C7.78886 9.12227 8.21097 9.12227 8.47132 8.86192L10.6666 6.66666", stroke: "currentColor", strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" }) }));
3745
3745
  }
3746
3746
  function ArrowDownIcon({ size = "24", className, }) {
3747
3747
  return (jsx("svg", { className: className, xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 25", fill: "none", children: jsx("path", { d: "M18 14.5L12 20.5L6 14.5M12 19.5V4.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
@@ -3849,11 +3849,6 @@ function PowerIcon({ size = "24", className, }) {
3849
3849
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsx("path", { d: "M7.02331 4.5C4.59826 6.11238 3 8.86954 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 8.86954 19.4017 6.11238 16.9767 4.5M12 2V7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
3850
3850
  }
3851
3851
 
3852
- function Copy(_a) {
3853
- var { size = "24", strokeWidth = "2" } = _a, props = __rest$1(_a, ["size", "strokeWidth"]);
3854
- return (jsx("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: size, height: size, fill: "none", viewBox: "0 0 24 24" }, props, { children: jsx("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: strokeWidth, vectorEffect: "non-scaling-stroke", d: "M9 9V5.25A2.25 2.25 0 0111.25 3h7.5A2.25 2.25 0 0121 5.25v7.5A2.25 2.25 0 0118.75 15H15m-2.25-6h-7.5A2.25 2.25 0 003 11.25v7.5A2.25 2.25 0 005.25 21h7.5A2.25 2.25 0 0015 18.75v-7.5A2.25 2.25 0 0012.75 9z" }) })));
3855
- }
3856
-
3857
3852
  function CrossAnimatedIcon({ size = 24, isOpen, transitionDuration, className, }) {
3858
3853
  const rotateDegrees = isOpen ? 45 : 0;
3859
3854
  return (jsxs("div", { style: {
@@ -3978,11 +3973,11 @@ function PhoneIcon({ size = "24", className, }) {
3978
3973
  function LaptopIcon({ size = "24", className, }) {
3979
3974
  return (jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 25 24", fill: "none", className: className, children: [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" }), 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" })] }));
3980
3975
  }
3981
- function CopyOutlinedIcon({ size = "24", className, }) {
3982
- return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: 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" }) }));
3976
+ function CopyOutlinedIcon({ size = "24", strokeWidth = "2", className, }) {
3977
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: 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: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" }) }));
3983
3978
  }
3984
- function CopyIcon({ size = "20", className, }) {
3985
- return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 21 20", fill: "none", className: className, children: 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" }) }));
3979
+ function Copy2Icon({ size = "20", className, }) {
3980
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M18.3327 4.37496C18.3327 2.87919 17.1201 1.66663 15.6243 1.66663H9.37435C7.87858 1.66663 6.66602 2.87919 6.66602 4.37496V6.66663H4.37435C2.87858 6.66663 1.66602 7.87919 1.66602 9.37496V15.625C1.66602 17.1207 2.87858 18.3333 4.37435 18.3333H10.6243C12.1201 18.3333 13.3327 17.1207 13.3327 15.625V13.3333H15.6243C17.1201 13.3333 18.3327 12.1207 18.3327 10.625V4.37496ZM13.3327 11.6666H15.6243C16.1996 11.6666 16.666 11.2003 16.666 10.625V4.37496C16.666 3.79966 16.1996 3.33329 15.6243 3.33329H9.37435C8.79905 3.33329 8.33268 3.79966 8.33268 4.37496V6.66663H10.6243C12.1201 6.66663 13.3327 7.87919 13.3327 9.37496V11.6666Z", fill: "currentColor" }) }));
3986
3981
  }
3987
3982
  function FileDownloadIcon({ size = "20", className, }) {
3988
3983
  return (jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 21 20", fill: "none", className: className, children: [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" }), jsx("path", { d: "M12.1667 2.15481L16.6786 6.66666H13C12.5398 6.66666 12.1667 6.29356 12.1667 5.83332V2.15481Z", fill: "currentColor" })] }));
@@ -4122,7 +4117,7 @@ function SearchIcon({ className, size = "24", }) {
4122
4117
  return (jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsx("path", { d: "M20 20L16.05 16.05M18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }));
4123
4118
  }
4124
4119
 
4125
- function XSocial({ className, size = "24", }) {
4120
+ function XSocialIcon({ className, size = "24", }) {
4126
4121
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsx("path", { d: "M17.4033 3.5H20.2852L13.989 10.701L21.396 20.5H15.5964L11.054 14.557L5.85637 20.5H2.97269L9.70709 12.7977L2.60156 3.5H8.54839L12.6544 8.93215L17.4033 3.5ZM16.3918 18.7738H17.9887L7.68067 5.13549H5.96702L16.3918 18.7738Z", fill: "currentColor" }) }));
4127
4122
  }
4128
4123
  function GithubIcon({ size = "24", className, }) {
@@ -4134,6 +4129,12 @@ function DiscordIcon({ size = "24", className, }) {
4134
4129
  function MirrorIcon({ size = "24", className, }) {
4135
4130
  return (jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsx("path", { d: "M6 9C6 5.68629 8.68629 3 12 3C15.3137 3 18 5.68629 18 9V20C18 20.5523 17.5523 21 17 21H7C6.44771 21 6 20.5523 6 20V9Z", stroke: "currentColor", strokeWidth: "2" }) }));
4136
4131
  }
4132
+ function FarcasterIcon({ size = "20", className, }) {
4133
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M15.8884 2H4.77734V4.28529L15.8884 4.28571V2ZM18.1115 16.2853V16.8567H13.667V16.2853C13.667 15.9696 13.9156 15.7139 14.2225 15.7139L14.2221 11.0971C14.2221 8.88795 12.481 7.0971 10.3332 7.0971C8.20241 7.0971 6.47187 8.85978 6.44466 11.0448V15.7139C6.75155 15.7139 7.00011 15.9696 7.00011 16.2853V16.8567H2.55566V16.2853C2.55566 15.9696 2.80428 15.7139 3.11122 15.7139L3.11133 6.57185H2.55556L2 4.28613H18.6667L18.1111 6.57185H17.556V15.7139C17.8629 15.7139 18.1115 15.9696 18.1115 16.2853ZM18.6669 17.4289C18.6669 17.1132 18.4185 16.8567 18.1115 16.8567H13.667C13.36 16.8567 13.1113 17.1132 13.1113 17.4289V18.0003H18.6669V17.4289ZM7.00011 16.8567C7.30706 16.8567 7.55555 17.1132 7.55555 17.4289V18.0003H2V17.4289C2 17.1132 2.24871 16.8567 2.55566 16.8567H7.00011Z", fill: "currentColor" }) }));
4134
+ }
4135
+ function TelegramIcon({ className, size = "20", }) {
4136
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: jsx("path", { d: "M1.31748 8.8995C6.46345 6.66525 9.89405 5.19215 11.6094 4.48047C16.5127 2.44826 17.5302 2.09531 18.1949 2.08349C18.341 2.08102 18.6664 2.11703 18.8788 2.28828C19.0553 2.43259 19.105 2.62776 19.1298 2.76465C19.1518 2.90154 19.1822 3.21354 19.1574 3.45708C18.8926 6.2389 17.7427 12.9895 17.158 16.1053C16.9126 17.4237 16.4244 17.8657 15.9528 17.9089C14.927 18.0029 14.1492 17.2337 13.1564 16.5852C11.6038 15.5701 10.7269 14.9384 9.21842 13.948C7.47552 12.8034 8.60617 12.1742 9.59896 11.1461C9.85819 10.877 14.3754 6.78262 14.4608 6.41126C14.4719 6.3648 14.483 6.19162 14.3782 6.10036C14.2761 6.00883 14.1244 6.04016 14.0141 6.0649C13.8569 6.10009 11.3776 7.73509 6.56812 10.9696C5.8649 11.4518 5.22787 11.6868 4.65426 11.6744C4.02549 11.661 2.81216 11.3193 1.91037 11.0274C0.807272 10.6692 -0.0724949 10.4798 0.0047222 9.87149C0.0433308 9.55482 0.481884 9.23074 1.31748 8.8995Z", fill: "currentColor" }) }));
4137
+ }
4137
4138
 
4138
4139
  function SortIcon() {
4139
4140
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: jsx("path", { d: "M3 5H21M9 19H15M6 12H18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }));
@@ -4343,9 +4344,9 @@ function UsdAmount({ usdAmount }) {
4343
4344
  }
4344
4345
 
4345
4346
  function HashLink({ showTx = false, hash, showCopyButton = false, url, children, className, formattedHash, copyIconSize = "16", }) {
4346
- return (jsxs("div", { className: cn("tw-flex tw-items-center", className), children: [showTx && jsx("span", { className: "tw-mr-squid-xs tw-text-grey-700", children: "TX" }), children !== null && children !== void 0 ? children : formattedHash, url && (jsx("a", { href: url, target: "_blank", className: "tw-rounded-squid-s tw-px-squid-xxs hover:tw-bg-material-light-thin", rel: "noreferrer", children: jsx(SquareArrowTopRight2Icon, { strokeWidth: "1.5", className: "tw-h-[1.2em] tw-w-[1.2em] tw-text-royal-500" }) })), showCopyButton && (jsx("span", { className: "tw-rounded-squid-s tw-px-squid-xxs hover:tw-bg-material-light-thin", children: jsx(Copy, { size: copyIconSize, strokeWidth: "2", className: "tw-cursor-pointer tw-text-royal-500", onClick: () => {
4347
- navigator.clipboard.writeText(hash).catch(() => { });
4348
- } }) }))] }));
4347
+ return (jsxs("div", { className: cn("tw-flex tw-items-center", className), children: [showTx && jsx("span", { className: "tw-mr-squid-xs tw-text-grey-700", children: "TX" }), children !== null && children !== void 0 ? children : formattedHash, url && (jsx("a", { href: url, target: "_blank", className: "tw-rounded-squid-s tw-px-squid-xxs hover:tw-bg-material-light-thin", rel: "noreferrer", children: jsx(SquareArrowTopRight2Icon, { strokeWidth: "1.5", className: "tw-h-[1.2em] tw-w-[1.2em] tw-text-royal-500" }) })), showCopyButton && (jsx("span", { onClick: () => {
4348
+ navigator.clipboard.writeText(hash).catch(() => { });
4349
+ }, className: "tw-cursor-pointer tw-rounded-squid-s tw-px-squid-xxs hover:tw-bg-material-light-thin", children: jsx(CopyOutlinedIcon, { size: copyIconSize, strokeWidth: "2.5", className: "tw-text-royal-500" }) }))] }));
4349
4350
  }
4350
4351
 
4351
4352
  function WalletLink({ imageURI, address }) {
@@ -4429,15 +4430,20 @@ function Button$1(_a) {
4429
4430
  disabled && buttonDisabledClass, isLoading && "tw-cursor-not-allowed",
4430
4431
  // custom classes from props
4431
4432
  props.className);
4432
- const ButtonWrapper = ({ children }) => (jsx("div", { className: cn("tw-relative", buttonWidthClassnameMap[size], roundedClassMap[size][variant], containerClassName), children: children }));
4433
+ const buttonWrapperProps = {
4434
+ className: containerClassName,
4435
+ size,
4436
+ variant,
4437
+ };
4433
4438
  if (link != null) {
4434
- return (jsxs(ButtonWrapper, { children: [jsx("a", { ref: anchorRef, "aria-disabled": disabled, href: disabled ? undefined : link, target: "_blank", className: className, rel: "noreferrer", children: children }), chipElement] }));
4439
+ return (jsxs(ButtonWrapper, Object.assign({}, buttonWrapperProps, { children: [jsx("a", { ref: anchorRef, "aria-disabled": disabled, href: disabled ? undefined : link, target: "_blank", className: className, rel: "noreferrer", children: children }), chipElement] })));
4435
4440
  }
4436
- return (jsxs(ButtonWrapper, { children: [jsx("button", Object.assign({}, props, { type: "button", ref: buttonRef, "aria-disabled": disabled || isLoading, className: className, disabled: disabled || isLoading, children: children })), chipElement] }));
4441
+ return (jsxs(ButtonWrapper, Object.assign({}, buttonWrapperProps, { children: [jsx("button", Object.assign({}, props, { type: "button", ref: buttonRef, "aria-disabled": disabled || isLoading, className: className, disabled: disabled || isLoading, children: children })), chipElement] })));
4437
4442
  }
4438
4443
  const ButtonHoverOverlay = ({ className }) => {
4439
4444
  return (jsx("span", { className: cn("tw-absolute tw-inset-0 tw-z-0 tw-hidden tw-h-full tw-w-full tw-bg-material-light-thin group-hover/base-button:tw-block", className) }));
4440
4445
  };
4446
+ const ButtonWrapper = ({ children, size, variant, className, }) => (jsx("div", { className: cn("tw-relative", buttonWidthClassnameMap[size], roundedClassMap[size][variant], className), children: children }));
4441
4447
 
4442
4448
  function AccountsButton(_a) {
4443
4449
  var { imageUrls } = _a, props = __rest$1(_a, ["imageUrls"]);
@@ -18849,8 +18855,8 @@ function DetailsToolbar({ errorMessage, helpButton, isLoading, isEmpty, flipButt
18849
18855
  "group-hover/flip-button:tw-rotate-180") }) }) }))) }), jsx("div", { className: cn(detailClassName, "tw-justify-end"), children: !!stopsButton && jsx(StopsButton, Object.assign({}, stopsButton)) })] })) }));
18850
18856
  }
18851
18857
 
18852
- function DropdownMenu({ dropdownRef, className, menuRef, isHidden = false, listClassName, containerClassName, children, contentWrapperProps, menuContentClassName, }) {
18853
- return (jsx("div", { ref: dropdownRef, className: cn("tw-relative", containerClassName), children: jsx(Menu, { menuRef: menuRef, rounded: "sm", containerClassName: cn("tw-absolute tw-right-0 tw-z-30", className), contentClassName: cn("!tw-p-0", menuContentClassName), contentWrapperProps: contentWrapperProps, children: !isHidden && (jsx("ul", { className: cn("tw-flex tw-max-w-full tw-flex-col tw-gap-squid-xxs tw-px-0 tw-py-squid-xxs", listClassName), children: children })) }) }));
18858
+ function DropdownMenu({ dropdownRef, className, menuRef, isHidden = false, listClassName, containerClassName, children, contentWrapperProps, menuContentClassName, trigger, }) {
18859
+ return (jsxs("div", { ref: dropdownRef, className: cn("tw-relative", containerClassName), children: [trigger, jsx(Menu, { menuRef: menuRef, rounded: "sm", containerClassName: cn("tw-absolute tw-right-0 tw-z-30", className), contentClassName: cn("!tw-p-0", menuContentClassName), contentWrapperProps: contentWrapperProps, children: !isHidden && (jsx("ul", { className: cn("tw-flex tw-max-w-full tw-flex-col tw-gap-squid-xxs tw-px-0 tw-py-squid-xxs", listClassName), children: children })) })] }));
18854
18860
  }
18855
18861
 
18856
18862
  function InfoBox({ title, description, icon }) {
@@ -19011,19 +19017,20 @@ function AccountListItem({ isConnected, imageUrls = [], imageUrl, badgeUrl, acti
19011
19017
 
19012
19018
  const SPACING = 10;
19013
19019
  function useDropdownMenu(props) {
19014
- const { initialIsModalOpen, itemsContainerRef } = props !== null && props !== void 0 ? props : {};
19015
- const [isDropdownOpen, setIsModalOpen] = useState(Boolean(initialIsModalOpen));
19020
+ const { initialIsDropdownOpen, itemsContainerRef } = props !== null && props !== void 0 ? props : {};
19021
+ const [isDropdownOpen, setIsDropdownOpen] = useState(Boolean(initialIsDropdownOpen));
19016
19022
  const dropdownRef = useRef(null);
19017
19023
  const openDropdownButtonRef = useRef(null);
19018
19024
  useEffect(() => {
19019
19025
  const handleClickOutside = (event) => {
19020
- // close modal if the user clicked outside of it
19026
+ // close dropdown if the user clicked outside of it
19021
19027
  var _a;
19022
- if (dropdownRef.current &&
19028
+ const hasClickedOutside = dropdownRef.current &&
19023
19029
  event.target !== openDropdownButtonRef.current &&
19024
19030
  !dropdownRef.current.contains(event.target) &&
19025
- !((_a = openDropdownButtonRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
19026
- setIsModalOpen(false);
19031
+ !((_a = openDropdownButtonRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target));
19032
+ if (hasClickedOutside) {
19033
+ setIsDropdownOpen(false);
19027
19034
  }
19028
19035
  };
19029
19036
  if (isDropdownOpen) {
@@ -19034,10 +19041,10 @@ function useDropdownMenu(props) {
19034
19041
  };
19035
19042
  }, [dropdownRef, isDropdownOpen]);
19036
19043
  const openDropdown = useCallback(() => {
19037
- setIsModalOpen((prev) => !prev);
19044
+ setIsDropdownOpen((prev) => !prev);
19038
19045
  }, []);
19039
19046
  const closeDropdown = useCallback(() => {
19040
- setIsModalOpen(false);
19047
+ setIsDropdownOpen(false);
19041
19048
  }, []);
19042
19049
  const [dropdownStyles, setDropdownStyles] = useState(null);
19043
19050
  const itemRef = useRef(null);
@@ -19077,10 +19084,11 @@ function useDropdownMenu(props) {
19077
19084
  // if the dropdown is not visible at top or bottom of the item
19078
19085
  // we just center it
19079
19086
  if (!isDropdownVisibleAtItemTopOrBottom) {
19080
- return setDropdownStyles({
19087
+ setDropdownStyles({
19081
19088
  position: "center",
19082
19089
  maxHeight,
19083
19090
  });
19091
+ return;
19084
19092
  }
19085
19093
  // finally, if the dropdown fits, position it where it has more space
19086
19094
  if (distanceBetweenItemBottomAndContainerBottomEdge >=
@@ -69198,7 +69206,7 @@ const swapProgressButtonTexts = {
69198
69206
  [SwapState.PARTIAL_SUCCESS]: "Cancel",
69199
69207
  [SwapState.NEEDS_GAS]: "Go to Axelarscan",
69200
69208
  };
69201
- function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, socialLink, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, }) {
69209
+ function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, shareSwapDropdownContent, }) {
69202
69210
  const [showSwapInfoSection, setShowSwapInfoSection] = useState(true);
69203
69211
  const isFirstRenderRef = useRef(true);
69204
69212
  const { timer, stopTimer, startTimer } = useTimer({
@@ -69257,7 +69265,7 @@ function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, s
69257
69265
  height: "100%",
69258
69266
  maxHeight: "100%",
69259
69267
  width: "auto",
69260
- }, autoplay: true, loop: true, src: swapProgressAnimations[swapState] }) }), jsx("div", { className: "tw-relative tw-flex tw-h-squid-m tw-w-full tw-items-end tw-justify-between tw-self-stretch tw-px-squid-m", children: swapState === SwapState.COMPLETED ? (jsxs(Fragment, { children: [jsx("span", { className: "-tw-mb-1 -tw-ml-1", children: jsx(SwapSuccessIcon, {}) }), jsx(Button$1, { size: "md", variant: "secondary", icon: jsx(XSocial, {}), label: "Share", link: socialLink, title: "Share on X" })] })) : swapState === SwapState.ERROR ? (jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "error" })) : swapState === SwapState.PARTIAL_SUCCESS ? (jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "warning" })) : (jsx(TokenPair, { firstToken: {
69268
+ }, autoplay: true, loop: true, src: swapProgressAnimations[swapState] }) }), jsx("div", { className: "tw-relative tw-flex tw-h-squid-m tw-w-full tw-items-end tw-justify-between tw-self-stretch tw-px-squid-m", children: swapState === SwapState.COMPLETED ? (jsxs(Fragment, { children: [jsx("span", { className: "-tw-mb-1 -tw-ml-1", children: jsx(SwapSuccessIcon, {}) }), jsx(ShareSwapButton, { dropdownContent: shareSwapDropdownContent })] })) : swapState === SwapState.ERROR ? (jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "error" })) : swapState === SwapState.PARTIAL_SUCCESS ? (jsx(SwapErrorTopMenu, { supportLink: supportLink, type: "warning" })) : (jsx(TokenPair, { firstToken: {
69261
69269
  bgColor: fromToken.bgColor,
69262
69270
  logoURI: fromToken.logoUrl,
69263
69271
  }, secondToken: {
@@ -69281,9 +69289,6 @@ const TrackTransactionView = forwardRef((props, ref) => {
69281
69289
  currentStepIndex: rawSteps.length - 1,
69282
69290
  };
69283
69291
  }
69284
- // TODO: Fix this
69285
- // Vercel build throws an error for findLastIndex, probably related to the Node version being used
69286
- // @ts-expect-error
69287
69292
  const lastSuccessfulStepIndex = rawSteps.findLastIndex((s) => s.status === "executed" || s.status === "success");
69288
69293
  if (swapState === SwapState.PROGRESS) {
69289
69294
  onTxStart();
@@ -69320,6 +69325,29 @@ const TrackTransactionView = forwardRef((props, ref) => {
69320
69325
  currentStepIndex: firstWarningStepIndex,
69321
69326
  };
69322
69327
  }
69328
+ if (swapState === SwapState.PARTIAL_SUCCESS) {
69329
+ const lastWarningStepIndex = rawSteps.findLastIndex((s) => s.status === "warning");
69330
+ if (lastWarningStepIndex !== -1) {
69331
+ return {
69332
+ currentStepIndex: lastWarningStepIndex,
69333
+ steps: rawSteps,
69334
+ };
69335
+ }
69336
+ const lastSuccessfulStep = rawSteps[lastSuccessfulStepIndex];
69337
+ if (!lastSuccessfulStep) {
69338
+ return {
69339
+ currentStepIndex: 0,
69340
+ steps: rawSteps,
69341
+ };
69342
+ }
69343
+ // If swap state is partial success and there is no warning step
69344
+ // override last successful step with warning status
69345
+ const stepsWithRefunded = rawSteps.with(lastSuccessfulStepIndex, Object.assign(Object.assign({}, lastSuccessfulStep), { status: "warning" }));
69346
+ return {
69347
+ currentStepIndex: lastSuccessfulStepIndex,
69348
+ steps: stepsWithRefunded,
69349
+ };
69350
+ }
69323
69351
  return {
69324
69352
  steps: rawSteps,
69325
69353
  currentStepIndex: 0,
@@ -69331,6 +69359,15 @@ const SwapErrorTopMenu = ({ supportLink, type, }) => {
69331
69359
  return (jsxs(Fragment, { children: [jsx("span", { className: "-tw-mb-1 -tw-ml-1", children: type === "error" ? jsx(SwapErrorIcon, {}) : jsx(SwapWarningIcon, {}) }), jsx(Button$1, { size: "md", variant: "secondary", label: "Get help", link: supportLink, title: "Contact support" })] }));
69332
69360
  };
69333
69361
  TrackTransactionView.displayName = "TrackTransactionView";
69362
+ function ShareSwapButton({ dropdownContent, }) {
69363
+ const containerRef = useContainerStore((state) => state.containerRef);
69364
+ const { dropdownRef, isDropdownOpen, openDropdown, menuRef } = useDropdownMenu({
69365
+ itemsContainerRef: containerRef,
69366
+ });
69367
+ return (jsx(DropdownMenu, { dropdownRef: dropdownRef, menuRef: menuRef, className: "-tw-bottom-[calc(100%+5px)] tw-left-1/2 tw-right-[unset] tw-top-[calc(100%+5px)] -tw-translate-x-1/2", isHidden: !isDropdownOpen, trigger: jsx(Button$1, { size: "md", variant: "secondary", onClick: () => {
69368
+ openDropdown();
69369
+ }, children: jsxs("div", { className: "tw-flex tw-items-center", children: [jsx(BodyText, { size: "small", className: "tw-px-squid-xxs", children: "Share" }), jsx(ChevronDownSmallIcon, { size: "24", strokeWidth: "1.5" })] }) }), children: dropdownContent }));
69370
+ }
69334
69371
 
69335
69372
  function TransactionViewLayout(_a) {
69336
69373
  var { isLoading, header, properties, actions, fees } = _a, props = __rest$1(_a, ["isLoading", "header", "properties", "actions", "fees"]);
@@ -69716,4 +69753,4 @@ function ThemeProvider(_a) {
69716
69753
  return (jsx("div", Object.assign({}, props, { style: Object.assign(Object.assign({}, props.style), parsedStyle), "data-squid-theme-type": themeType, className: cn("tw-group tw-relative tw-flex tw-font-squid-main tw-h-d-screen mobile-lg:tw-h-auto", props.className), children: children })));
69717
69754
  }
69718
69755
 
69719
- export { ANIMATION_DURATIONS, AccountListItem, AccountsButton, ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, ActionStatusRow, ActionWrapper, AddressButton, AnimationWrapper, Announcement, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowDownIcon, ArrowExpandIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowSplit, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, AtomIcon, BackpackIcon, BadgeImage, BankIcon, BellAlarmIcon, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BrokenHeartIcon, BubblesIcon, Button$1 as Button, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, CSS_VARS, Calendar, CaptionText, CatSquareIcon, CelebrateIcon, ChainLink, Checkmark1Icon, Checkmark2Icon, ChevronArrowIcon, ChevronDownSmallIcon, ChevronGrabberVerticalIcon, ChevronLargeDownIcon, ChevronLargeRightIcon, ChevronRightSmallIcon, ChevronTopIcon, ChevronTopSmallIcon, Chip, CircleMinusIcon, CirclePlusIcon, CircleX, CircleXFilledIcon, ClockOutlineIcon, ClockSolidIcon, CodeBracketsIcon, CodeSolidSquareIcon, CoinsAddIcon, CoinsIcon, CoinsOutlinedIcon, Collapse, CollapsibleMenu, CollectionIcon, ColorPaletteIcon, CommandIcon, CompassRoundOutlinedIcon, CompassRoundSolidIcon, ConsoleIcon, Copy, CopyIcon, CopyOutlinedIcon, CrossAnimatedIcon, CrossedOutSunSolidIcon, DashboardFast, DepositAddressView, DescriptionBlocks, DetailsToolbar, DiscordIcon, DockIconAnalytics, DockIconCheckout, DockIconHelp, DockIconProfile, DockIconScan, DockIconSwap, DockSwapIcon, DollarOutlinedIcon, DollarSolidIcon, DotGrid1x3HorizontalIcon, DropdownMenu, DropdownMenuItem, DropdownMenuTitle, EmojiMeh, EmojiSadIcon, EmptyHeartIcon, ErrorMessage, EthereumIcon, ExplosionIcon, EyeOpenIcon, FavouriteFilterIcon, FeeButton, FeesAction, FeesLines, FeesTotal, FileDownloadIcon, FilledHeartIcon, FilterAscendingIcon, FilterButton, FilterIcon, FilterTimelineIcon, GasIcon, GhostIcon, GithubIcon, HashLink, HeadingText, HeartSmallIcon, HelpIcon, HighestPriceRangeIcon, HistoryItem, HomeIcon, IconButton, IconLabel, Image$1 as Image, ImageGroup, ImageIcon, ImageSparkle, ImageStack, ImageState, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LaptopIcon, LightningIcon, LimitIcon, LinkIcon, ListItem, ListItemActionsButton, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MarketCapIcon, MaxIcon, Menu, MenuItem, MenuSwapIcon, MirrorIcon, Modal, ModalContent, ModalContentDivider, MoneyBagIcon, MoonIcon, NavigationBar, NewsIcon, NewspaperIcon, NotAllowedIcon, NumericInput, PathSquareIcon, PauseIcon, PercentIcon, PhoneIcon, PieChartIcon, PipeSeparator, PlusIcon, PoopIcon, PowerIcon, PriceChange, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, PunkIcon, QrCodeIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RefreshIcon, ReorderIcon, RouteStep, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, SettingsButton, SettingsGearIcon, SettingsItem, SettingsSlider, SettingsSliderIcon, ShoppingBagIcon, SizeTransition, SmileFilledIcon, SmileIcon, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidLogo, SquidVector, StakeAction, StarLinesIcon, StartAction, StocksIcon, SuccessAction, SunIcon, SunOutlinedIcon, SunriseIcon, SunriseSmallIcon, SwapAction, SwapConfiguration, SwapErrorIcon, SwapHeader, SwapIcon, SwapInputsIcon, SwapProgressView, SwapProperties, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, Tab, Tabs, TagIcon, TagIconFilled, TextSkeleton, ThemePreference, ThemeProvider, ThumbsUp, Tick, TimeFliesIcon, Timeline, Timestamp, Toast, TokenDetailsView, TokenGroup, TokenGroups, TokenPair, Tooltip, TradingViewStepsIcon, TransactionAction, TransactionFilters, TransactionHeader, TransactionHeaderLayout, TransactionItem, TransactionProperties, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, Transfer, TranslateIcon, TriangleExclamation, TxProgressViewHeader, UnsupportedPairNotice, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WrapAction, XSocial, adjustColorForContrast, baseTailwindConfig, blendColors, cn, darkTheme, getColorBrightness, getContrastColor, getHexColorFromOpacityPercentage, getWalletCardBackground, hexToRgb, isValidHexColor, lightTheme, linkActionTimelineProps, parseColor, parseSquidTheme, pxToRem, remToPx, rgbToHex, spacing$1 as spacing, statusTextClassMap, themeKeysToCssVariables, transactionErrorPauseAnimation, transactionFailureAnimation, transactionHalfSuccessAnimation, transactionPendingAnimation, transactionProcessingAnimation, transactionRejectedAnimation, transactionSuccessAnimation, useCollapsibleMenu, useDropdownMenu, useMediaQuery, useOnResize, useRect, useTimer, useUserTheme, useVersion };
69756
+ export { ANIMATION_DURATIONS, AccountListItem, AccountsButton, ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, ActionStatusRow, ActionWrapper, AddressButton, AnimationWrapper, Announcement, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowDownIcon, ArrowExpandIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowSplit, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, AtomIcon, BackpackIcon, BadgeImage, BankIcon, BellAlarmIcon, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BrokenHeartIcon, BubblesIcon, Button$1 as Button, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, CSS_VARS, Calendar, CaptionText, CatSquareIcon, CelebrateIcon, ChainLink, Checkmark1Icon, Checkmark2Icon, ChevronArrowIcon, ChevronDownSmallIcon, ChevronGrabberVerticalIcon, ChevronLargeDownIcon, ChevronLargeRightIcon, ChevronRightSmallIcon, ChevronTopIcon, ChevronTopSmallIcon, Chip, CircleMinusIcon, CirclePlusIcon, CircleX, CircleXFilledIcon, ClockOutlineIcon, ClockSolidIcon, CodeBracketsIcon, CodeSolidSquareIcon, CoinsAddIcon, CoinsIcon, CoinsOutlinedIcon, Collapse, CollapsibleMenu, CollectionIcon, ColorPaletteIcon, CommandIcon, CompassRoundOutlinedIcon, CompassRoundSolidIcon, ConsoleIcon, Copy2Icon, CopyOutlinedIcon, CrossAnimatedIcon, CrossedOutSunSolidIcon, DashboardFast, DepositAddressView, DescriptionBlocks, DetailsToolbar, DiscordIcon, DockIconAnalytics, DockIconCheckout, DockIconHelp, DockIconProfile, DockIconScan, DockIconSwap, DockSwapIcon, DollarOutlinedIcon, DollarSolidIcon, DotGrid1x3HorizontalIcon, DropdownMenu, DropdownMenuItem, DropdownMenuTitle, EmojiMeh, EmojiSadIcon, EmptyHeartIcon, ErrorMessage, EthereumIcon, ExplosionIcon, EyeOpenIcon, FarcasterIcon, FavouriteFilterIcon, FeeButton, FeesAction, FeesLines, FeesTotal, FileDownloadIcon, FilledHeartIcon, FilterAscendingIcon, FilterButton, FilterIcon, FilterTimelineIcon, GasIcon, GhostIcon, GithubIcon, HashLink, HeadingText, HeartSmallIcon, HelpIcon, HighestPriceRangeIcon, HistoryItem, HomeIcon, IconButton, IconLabel, Image$1 as Image, ImageGroup, ImageIcon, ImageSparkle, ImageStack, ImageState, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LaptopIcon, LightningIcon, LimitIcon, LinkIcon, ListItem, ListItemActionsButton, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MarketCapIcon, MaxIcon, Menu, MenuItem, MenuSwapIcon, MirrorIcon, Modal, ModalContent, ModalContentDivider, MoneyBagIcon, MoonIcon, NavigationBar, NewsIcon, NewspaperIcon, NotAllowedIcon, NumericInput, PathSquareIcon, PauseIcon, PercentIcon, PhoneIcon, PieChartIcon, PipeSeparator, PlusIcon, PoopIcon, PowerIcon, PriceChange, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, PunkIcon, QrCodeIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RefreshIcon, ReorderIcon, RouteStep, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, SettingsButton, SettingsGearIcon, SettingsItem, SettingsSlider, SettingsSliderIcon, ShoppingBagIcon, SizeTransition, SmileFilledIcon, SmileIcon, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidLogo, SquidVector, StakeAction, StarLinesIcon, StartAction, StocksIcon, SuccessAction, SunIcon, SunOutlinedIcon, SunriseIcon, SunriseSmallIcon, SwapAction, SwapConfiguration, SwapErrorIcon, SwapHeader, SwapIcon, SwapInputsIcon, SwapProgressView, SwapProperties, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, Tab, Tabs, TagIcon, TagIconFilled, TelegramIcon, TextSkeleton, ThemePreference, ThemeProvider, ThumbsUp, Tick, TimeFliesIcon, Timeline, Timestamp, Toast, TokenDetailsView, TokenGroup, TokenGroups, TokenPair, Tooltip, TradingViewStepsIcon, TransactionAction, TransactionFilters, TransactionHeader, TransactionHeaderLayout, TransactionItem, TransactionProperties, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, Transfer, TranslateIcon, TriangleExclamation, TxProgressViewHeader, UnsupportedPairNotice, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WrapAction, XSocialIcon, adjustColorForContrast, baseTailwindConfig, blendColors, cn, darkTheme, getColorBrightness, getContrastColor, getHexColorFromOpacityPercentage, getWalletCardBackground, hexToRgb, isValidHexColor, lightTheme, linkActionTimelineProps, parseColor, parseSquidTheme, pxToRem, remToPx, rgbToHex, spacing$1 as spacing, statusTextClassMap, themeKeysToCssVariables, transactionErrorPauseAnimation, transactionFailureAnimation, transactionHalfSuccessAnimation, transactionPendingAnimation, transactionProcessingAnimation, transactionRejectedAnimation, transactionSuccessAnimation, useCollapsibleMenu, useDropdownMenu, useMediaQuery, useOnResize, useRect, useTimer, useUserTheme, useVersion };
@@ -75,8 +75,9 @@ export declare function ArrowCornerDownRightIcon({ size, className, }: {
75
75
  size?: string;
76
76
  className?: string;
77
77
  }): import("react/jsx-runtime").JSX.Element;
78
- export declare function ChevronDownSmallIcon({ size, className, }: {
78
+ export declare function ChevronDownSmallIcon({ size, strokeWidth, className, }: {
79
79
  size?: string;
80
+ strokeWidth?: string;
80
81
  className?: string;
81
82
  }): import("react/jsx-runtime").JSX.Element;
82
83
  export declare function ArrowDownIcon({ size, className, }: {
@@ -62,11 +62,12 @@ 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, }: {
65
+ export declare function CopyOutlinedIcon({ size, strokeWidth, className, }: {
66
66
  size?: string;
67
67
  className?: string;
68
+ strokeWidth?: string;
68
69
  }): import("react/jsx-runtime").JSX.Element;
69
- export declare function CopyIcon({ size, className, }: {
70
+ export declare function Copy2Icon({ size, className, }: {
70
71
  size?: string;
71
72
  className?: string;
72
73
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- export declare function XSocial({ className, size, }: {
1
+ export declare function XSocialIcon({ className, size, }: {
2
2
  size?: string;
3
3
  className?: string;
4
4
  }): import("react/jsx-runtime").JSX.Element;
@@ -14,3 +14,11 @@ export declare function MirrorIcon({ size, className, }: {
14
14
  size?: string;
15
15
  className?: string;
16
16
  }): import("react/jsx-runtime").JSX.Element;
17
+ export declare function FarcasterIcon({ size, className, }: {
18
+ size?: string;
19
+ className?: string;
20
+ }): import("react/jsx-runtime").JSX.Element;
21
+ export declare function TelegramIcon({ className, size, }: {
22
+ className?: string;
23
+ size?: string;
24
+ }): import("react/jsx-runtime").JSX.Element;
@@ -12,7 +12,6 @@ export * from "./Clock";
12
12
  export * from "./Coins";
13
13
  export * from "./Collection";
14
14
  export * from "./CompassRound";
15
- export * from "./Copy";
16
15
  export * from "./CrossAnimatedIcon";
17
16
  export * from "./DashboardFast";
18
17
  export * from "./DockIcons";
@@ -10,6 +10,7 @@ interface DropdownMenuProps {
10
10
  children?: React.ReactNode;
11
11
  contentWrapperProps?: React.ComponentProps<"div">;
12
12
  menuContentClassName?: string;
13
+ trigger?: React.ReactNode;
13
14
  }
14
- export declare function DropdownMenu({ dropdownRef, className, menuRef, isHidden, listClassName, containerClassName, children, contentWrapperProps, menuContentClassName, }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function DropdownMenu({ dropdownRef, className, menuRef, isHidden, listClassName, containerClassName, children, contentWrapperProps, menuContentClassName, trigger, }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
15
16
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SwapState, type SwapStep } from "../../types/components";
2
3
  import { type SwapStepsCollapsedFooterButton } from "../layout/SwapStepsCollapsed";
3
4
  interface ChainData {
@@ -9,12 +10,12 @@ interface Token {
9
10
  logoUrl: string;
10
11
  bgColor: string;
11
12
  }
12
- export declare function SwapProgressView({ steps, isOpen, handleClose, handleComplete, socialLink, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, }: {
13
+ export declare function SwapProgressView({ steps, isOpen, handleClose, handleComplete, supportLink, fromAmount, fromChain, fromToken, toAmount, toChain, toToken, fromAddressFormatted, toAddressFormatted, swapState, estimatedTimeToComplete, footerButton, refundTokenSymbol, addGasLink, shareSwapDropdownContent, }: {
13
14
  steps: SwapStep[];
14
15
  handleClose?: (swapState: SwapState) => void;
15
16
  handleComplete?: () => void;
16
17
  isOpen?: boolean;
17
- socialLink?: string;
18
+ shareSwapDropdownContent?: React.ReactNode;
18
19
  supportLink?: string;
19
20
  fromToken: Token;
20
21
  toToken: Token;
@@ -1,11 +1,11 @@
1
- import React from "react";
2
- export type DropdownPosition = "top" | "bottom" | "center";
3
- export type DropdownStyles = {
1
+ import type React from "react";
2
+ import { type DropdownPosition } from "../types/components";
3
+ export interface DropdownStyles {
4
4
  position: DropdownPosition;
5
5
  maxHeight: number | null;
6
- };
6
+ }
7
7
  interface UseDropdownMenuParams {
8
- initialIsModalOpen?: boolean;
8
+ initialIsDropdownOpen?: boolean;
9
9
  itemsContainerRef?: React.RefObject<HTMLElement>;
10
10
  }
11
11
  export declare function useDropdownMenu(props?: UseDropdownMenuParams): {
@@ -1,4 +1,4 @@
1
- import { Meta, StoryObj } from "@storybook/react/*";
1
+ import { type Meta, type StoryObj } from "@storybook/react/*";
2
2
  declare const meta: Meta<typeof SwitchingAppContainer>;
3
3
  export default meta;
4
4
  type Story = StoryObj<typeof meta>;
@@ -1,4 +1,4 @@
1
- import { Meta, StoryObj } from "@storybook/react";
1
+ import { type Meta, type StoryObj } from "@storybook/react";
2
2
  import { MainView } from "../../components/views/MainView";
3
3
  declare const meta: Meta<typeof MainView>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import { Meta, StoryObj } from "@storybook/react";
1
+ import { type Meta, type StoryObj } from "@storybook/react";
2
2
  import { SwapDetailsView } from "../../components/views/SwapDetailsView";
3
3
  declare const meta: Meta<typeof SwapDetailsView>;
4
4
  export default meta;