@0xsquid/ui 2.6.2 → 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.
- package/dist/cjs/index.js +52 -38
- package/dist/cjs/types/components/icons/Arrow.d.ts +2 -1
- package/dist/cjs/types/components/icons/Generic.d.ts +3 -2
- package/dist/cjs/types/components/icons/Social.d.ts +9 -1
- package/dist/cjs/types/components/icons/index.d.ts +0 -1
- package/dist/cjs/types/components/layout/DropdownMenu.d.ts +2 -1
- package/dist/cjs/types/components/views/SwapProgressView.d.ts +3 -2
- package/dist/cjs/types/hooks/useDropdownMenu.d.ts +5 -5
- package/dist/cjs/types/stories/layout/AppContainer.stories.d.ts +1 -1
- package/dist/cjs/types/stories/views/MainView.stories.d.ts +1 -1
- package/dist/cjs/types/stories/views/SwapDetailsView.stories.d.ts +1 -1
- package/dist/esm/index.js +49 -36
- package/dist/esm/types/components/icons/Arrow.d.ts +2 -1
- package/dist/esm/types/components/icons/Generic.d.ts +3 -2
- package/dist/esm/types/components/icons/Social.d.ts +9 -1
- package/dist/esm/types/components/icons/index.d.ts +0 -1
- package/dist/esm/types/components/layout/DropdownMenu.d.ts +2 -1
- package/dist/esm/types/components/views/SwapProgressView.d.ts +3 -2
- package/dist/esm/types/hooks/useDropdownMenu.d.ts +5 -5
- package/dist/esm/types/stories/layout/AppContainer.stories.d.ts +1 -1
- package/dist/esm/types/stories/views/MainView.stories.d.ts +1 -1
- package/dist/esm/types/stories/views/SwapDetailsView.stories.d.ts +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +23 -17
- package/package.json +1 -1
- package/dist/cjs/types/components/icons/Copy.d.ts +0 -5
- 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:
|
|
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:
|
|
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
|
|
3985
|
-
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0
|
|
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
|
|
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", {
|
|
4347
|
-
|
|
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
|
|
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 (
|
|
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 {
|
|
19015
|
-
const [isDropdownOpen,
|
|
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
|
|
19026
|
+
// close dropdown if the user clicked outside of it
|
|
19021
19027
|
var _a;
|
|
19022
|
-
|
|
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
|
-
|
|
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
|
-
|
|
19044
|
+
setIsDropdownOpen((prev) => !prev);
|
|
19038
19045
|
}, []);
|
|
19039
19046
|
const closeDropdown = useCallback(() => {
|
|
19040
|
-
|
|
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
|
-
|
|
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,
|
|
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(
|
|
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,8 +69289,6 @@ const TrackTransactionView = forwardRef((props, ref) => {
|
|
|
69281
69289
|
currentStepIndex: rawSteps.length - 1,
|
|
69282
69290
|
};
|
|
69283
69291
|
}
|
|
69284
|
-
// Vercel build throws an error for findLastIndex, probably related to the Node version being used
|
|
69285
|
-
// @ts-expect-error - TODO: Fix this
|
|
69286
69292
|
const lastSuccessfulStepIndex = rawSteps.findLastIndex((s) => s.status === "executed" || s.status === "success");
|
|
69287
69293
|
if (swapState === SwapState.PROGRESS) {
|
|
69288
69294
|
onTxStart();
|
|
@@ -69320,8 +69326,6 @@ const TrackTransactionView = forwardRef((props, ref) => {
|
|
|
69320
69326
|
};
|
|
69321
69327
|
}
|
|
69322
69328
|
if (swapState === SwapState.PARTIAL_SUCCESS) {
|
|
69323
|
-
// Vercel build throws an error for findLastIndex, probably related to the Node version being used
|
|
69324
|
-
// @ts-expect-error - TODO: Fix this
|
|
69325
69329
|
const lastWarningStepIndex = rawSteps.findLastIndex((s) => s.status === "warning");
|
|
69326
69330
|
if (lastWarningStepIndex !== -1) {
|
|
69327
69331
|
return {
|
|
@@ -69355,6 +69359,15 @@ const SwapErrorTopMenu = ({ supportLink, type, }) => {
|
|
|
69355
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" })] }));
|
|
69356
69360
|
};
|
|
69357
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
|
+
}
|
|
69358
69371
|
|
|
69359
69372
|
function TransactionViewLayout(_a) {
|
|
69360
69373
|
var { isLoading, header, properties, actions, fees } = _a, props = __rest$1(_a, ["isLoading", "header", "properties", "actions", "fees"]);
|
|
@@ -69740,4 +69753,4 @@ function ThemeProvider(_a) {
|
|
|
69740
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 })));
|
|
69741
69754
|
}
|
|
69742
69755
|
|
|
69743
|
-
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,
|
|
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
|
|
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
|
|
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;
|
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
3
|
-
export
|
|
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
|
-
|
|
8
|
+
initialIsDropdownOpen?: boolean;
|
|
9
9
|
itemsContainerRef?: React.RefObject<HTMLElement>;
|
|
10
10
|
}
|
|
11
11
|
export declare function useDropdownMenu(props?: UseDropdownMenuParams): {
|