@0xsquid/ui 2.2.7 → 2.2.9-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.
package/dist/cjs/index.js CHANGED
@@ -18787,7 +18787,7 @@ function ModalContentDivider() {
18787
18787
 
18788
18788
  function NavigationBar(_a) {
18789
18789
  var { title, displayBackButton = false, logoUrl, transparent = false, displayButtonShadows = false, onBackButtonClick, actions, isLoading = false, subtitle } = _a, props = __rest$1(_a, ["title", "displayBackButton", "logoUrl", "transparent", "displayButtonShadows", "onBackButtonClick", "actions", "isLoading", "subtitle"]);
18790
- return (jsxRuntime.jsxs("nav", Object.assign({}, props, { className: cn("tw-flex tw-h-full tw-max-h-[120px] tw-flex-row-reverse tw-text-grey-300 mobile-xs-height:tw-flex-col", transparent ? "tw-bg-transparent" : "tw-bg-grey-900", props.className), children: [jsxRuntime.jsxs("div", { className: cn("tw-flex tw-h-squid-xxl tw-items-center tw-justify-end tw-gap-x-squid-xs tw-pl-squid-m", displayBackButton
18790
+ return (jsxRuntime.jsxs("nav", Object.assign({}, props, { className: cn("tw-flex tw-max-h-[120px] tw-flex-row-reverse tw-text-grey-300 mobile-xs-height:tw-flex-col", transparent ? "tw-bg-transparent" : "tw-bg-grey-900", props.className), children: [jsxRuntime.jsxs("div", { className: cn("tw-flex tw-h-squid-xxl tw-items-center tw-justify-end tw-gap-x-squid-xs tw-pl-squid-m", displayBackButton
18791
18791
  ? "tw-w-full tw-pr-squid-xs mobile-xs-height:tw-pr-squid-m"
18792
18792
  : "tw-pr-squid-m mobile-lg:tw-pl-squid-l", !title && "tw-w-full mobile-xs-height:tw-w-[unset]"), children: [displayBackButton ? (jsxRuntime.jsx(Button$1, { className: displayButtonShadows
18793
18793
  ? "group-data-[squid-theme-type=dark]:tw-shadow-elevation-dark-2 group-data-[squid-theme-type=light]:tw-shadow-elevation-light-2"
@@ -18802,7 +18802,7 @@ function NavigationBar(_a) {
18802
18802
  // add small spacing on the right when back button is displayed to have the subtitle centered
18803
18803
  displayBackButton &&
18804
18804
  (!actions || actions.length === 0) &&
18805
- "tw-mr-squid-xl mobile-lg:tw-mr-squid-m mobile-lg:tw-pr-squid-xxl "), children: jsxRuntime.jsx(BodyText, { size: "small", children: subtitle }) })) : null] }), title ? (jsxRuntime.jsx("div", { className: cn("tw-h-squid-xxl tw-w-full tw-flex-1 tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l",
18805
+ "tw-mr-squid-xl mobile-lg:tw-mr-squid-m mobile-lg:tw-pr-squid-xxl "), children: jsxRuntime.jsx(BodyText, { size: "small", children: subtitle }) })) : null] }), title ? (jsxRuntime.jsx("div", { className: cn("tw-h-squid-xxl tw-w-full tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l",
18806
18806
  // hide the title on small screens when back button is displayed, so it's positioned on the left
18807
18807
  displayBackButton
18808
18808
  ? "tw-hidden mobile-xs-height:tw-flex"
@@ -19179,11 +19179,27 @@ function DropdownMenuItemWithSubmenu(_a) {
19179
19179
  }, children: submenu })) })) }));
19180
19180
  }
19181
19181
 
19182
+ function DropdownMenuTitle({ title }) {
19183
+ return (jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-self-stretch tw-p-squid-xs tw-pb-squid-xxs tw-text-material-light-average", children: jsxRuntime.jsx(CaptionText, { children: title }) }));
19184
+ }
19185
+
19182
19186
  function ImageStack(_a) {
19183
19187
  var { imageUrls, spacing, stackOnTop = true } = _a, imageProps = __rest$1(_a, ["imageUrls", "spacing", "stackOnTop"]);
19184
- return (jsxRuntime.jsx("div", {
19185
- // @ts-expect-error - Custom CSS property
19186
- style: { "--image-stack-spacing": spacing }, className: "tw-flex tw-items-center tw-space-x-[--image-stack-spacing]", children: imageUrls.map((url, index, self) => (jsxRuntime.jsx(Image$1, Object.assign({ src: url, containerProps: stackOnTop
19188
+ const extraPadding = (() => {
19189
+ switch (imageProps.border) {
19190
+ case "outline-sm":
19191
+ return "1px";
19192
+ case "outline-lg":
19193
+ return "3px";
19194
+ default:
19195
+ return "0px";
19196
+ }
19197
+ })();
19198
+ return (jsxRuntime.jsx("div", { style: {
19199
+ // @ts-expect-error Custom CSS property
19200
+ "--image-stack-spacing": spacing,
19201
+ padding: extraPadding,
19202
+ }, className: "tw-flex tw-items-center tw-space-x-[--image-stack-spacing]", children: imageUrls.map((url, index, self) => (jsxRuntime.jsx(Image$1, Object.assign({ src: url, containerProps: stackOnTop
19187
19203
  ? {
19188
19204
  style: {
19189
19205
  zIndex: self.length - index,
@@ -19378,6 +19394,16 @@ function PropertyListItem(_a) {
19378
19394
  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 }) })] }) })));
19379
19395
  }
19380
19396
 
19397
+ function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator = false, }) {
19398
+ return (jsxRuntime.jsxs("li", { className: "tw-flex tw-flex-col tw-self-stretch", children: [jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-self-stretch", children: [jsxRuntime.jsx(Track, { imageUrl: imageUrl }), jsxRuntime.jsx(Label, { subtitle: subtitle, descriptionBlocks: descriptionBlocks })] }), showStepSeparator && (jsxRuntime.jsx("div", { className: "tw-flex tw-h-squid-m tw-w-squid-xxl tw-justify-center", children: jsxRuntime.jsx("div", { className: "tw-h-squid-m tw-w-1 tw-rounded-full tw-bg-gradient-to-t tw-from-grey-500 tw-to-grey-800" }) }))] }));
19399
+ }
19400
+ function Track({ imageUrl }) {
19401
+ return (jsxRuntime.jsx("div", { className: "tw-relative tw-flex tw-w-squid-xxl tw-min-w-squid-xxl tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-px-squid-xs", children: jsxRuntime.jsx("img", { src: imageUrl, alt: "", className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs" }) }));
19402
+ }
19403
+ function Label({ subtitle, descriptionBlocks, }) {
19404
+ return (jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-items-start", children: [jsxRuntime.jsx("span", { className: "tw-flex tw-items-center tw-gap-squid-xxs tw-self-stretch tw-py-squid-xxs tw-pr-squid-m tw-text-grey-500", children: jsxRuntime.jsx(CaptionText, { children: subtitle }) }), jsxRuntime.jsx(DescriptionBlocks, { blocks: descriptionBlocks, className: "tw-py-squid-xxs tw-pr-squid-m tw-text-grey-300" })] }));
19405
+ }
19406
+
19381
19407
  function SectionTitle(_a) {
19382
19408
  var { title, icon, accessory, actionIcon, className } = _a, props = __rest$1(_a, ["title", "icon", "accessory", "actionIcon", "className"]);
19383
19409
  return (jsxRuntime.jsxs("header", Object.assign({}, props, { className: cn("tw-flex tw-h-[46px] tw-w-full tw-items-center tw-gap-squid-xxs tw-bg-grey-900 tw-px-squid-m tw-pb-squid-xs tw-pt-squid-m tw-text-royal-500", className), children: [icon, jsxRuntime.jsx(CaptionText, { children: title }), accessory ? (jsxRuntime.jsx(CaptionText, { className: "tw-flex-1 tw-text-right tw-text-grey-500", children: accessory })) : actionIcon ? (jsxRuntime.jsx("span", { className: "tw-flex tw-flex-1 tw-items-center tw-justify-end", children: actionIcon })) : null] })));
@@ -19456,6 +19482,57 @@ function SwapStepItem({ descriptionBlocks, showStepSeparator = false, link, stat
19456
19482
  }, className: "tw-relative tw-flex tw-w-full tw-flex-col tw-items-start tw-justify-center tw-text-grey-300 tw-transition-colors tw-duration-1000", children: jsxRuntime.jsxs("a", { href: link, target: "_blank", style: Object.assign(Object.assign({}, transitionStyle), { maxHeight: `${STEP_ITEM_HEIGHT}px` }), className: cn("tw-group/swap-step-item tw-flex tw-w-full tw-items-center tw-rounded-squid-xs tw-py-squid-xxs", !!link && "hover:tw-bg-material-light-thin", statusTextClass), rel: "noreferrer", children: [jsxRuntime.jsxs("span", { className: "tw-relative tw-flex tw-min-h-squid-l tw-items-center tw-justify-center tw-gap-squid-xxs tw-px-squid-xs", children: [jsxRuntime.jsx(Chip, { style: transitionStyle, className: cn("tw-w-squid-xl", statusBgClassMap[status]), icon: chipContent }), showStepSeparator && (jsxRuntime.jsx("span", { className: cn(separatorClassMap[status], "tw-absolute tw-left-0 tw-top-full tw-mt-0.5"), style: transitionStyle, children: jsxRuntime.jsx(SwapStepSeparator, {}) }))] }), jsxRuntime.jsx(DescriptionBlocks, { className: "tw-min-h-squid-l tw-py-squid-xxs tw-pr-squid-xs", blocks: descriptionBlocks })] }) }));
19457
19483
  }
19458
19484
 
19485
+ const DEFAULT_MAX_PREVIEW_ITEMS = 11;
19486
+ const mainImageSizeMap = {
19487
+ compact: "medium",
19488
+ large: "xxlarge",
19489
+ small: "xlarge",
19490
+ };
19491
+ function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, balanceUsd, extraSpacing = true, chainImageUrl, imageUrl, symbol, name, onClick, maxPreviewItems = DEFAULT_MAX_PREVIEW_ITEMS, variant = "large", className, onChildClick, address, chainId, }) {
19492
+ var _a;
19493
+ const [isCollapsed, setIsCollapsed] = React$1.useState(true);
19494
+ const isCollapsible = tokenItems && tokenItems.length > 0;
19495
+ const isInteractive = onClick != null || isCollapsible;
19496
+ const isCompactVariant = variant === "compact";
19497
+ const isLargeVariant = variant === "large";
19498
+ const isSmallVariant = variant === "small";
19499
+ const ContentTag = isInteractive ? "button" : "div";
19500
+ const handleToggleCollapsed = React$1.useCallback(() => {
19501
+ setIsCollapsed((prev) => !prev);
19502
+ }, []);
19503
+ return (jsxRuntime.jsxs("li", { className: cn("tw-w-full tw-self-stretch", extraSpacing && "tw-px-squid-xs tw-pt-squid-xs", !isCollapsed &&
19504
+ "tw-border-y tw-border-solid tw-border-y-material-light-thin tw-py-squid-xs", className), children: [jsxRuntime.jsxs(ContentTag, { onClick: (event) => {
19505
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
19506
+ if (isCollapsible)
19507
+ handleToggleCollapsed();
19508
+ }, 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
19509
+ ? isCollapsed
19510
+ ? "tw-h-[80px] tw-gap-squid-s"
19511
+ : "tw-h-squid-xl tw-gap-squid-xxs"
19512
+ : isSmallVariant
19513
+ ? "tw-h-[50px] tw-gap-squid-s tw-py-squid-xxs"
19514
+ : "tw-h-squid-xl tw-gap-squid-xxs"), children: [jsxRuntime.jsx(BadgeImage, { image: {
19515
+ src: imageUrl,
19516
+ size: isLargeVariant && !isCollapsed
19517
+ ? "medium"
19518
+ : (_a = mainImageSizeMap[variant]) !== null && _a !== void 0 ? _a : "medium",
19519
+ rounded: isCompactVariant ? "xxs" : "full",
19520
+ style: {
19521
+ transition: `${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.SHOW_ROUTE}`,
19522
+ transitionProperty: "width, height",
19523
+ },
19524
+ }, badge: isCollapsed && !isCompactVariant
19525
+ ? {
19526
+ size: "medium",
19527
+ rounded: "xxs",
19528
+ border: "outline-lg",
19529
+ src: chainImageUrl,
19530
+ children: tokenItems && (jsxRuntime.jsx("span", { className: "tw-flex tw-h-full tw-w-full tw-items-center tw-justify-center tw-bg-grey-700 tw-text-grey-300", children: jsxRuntime.jsx(CaptionText, { children: tokenItems.length }) })),
19531
+ }
19532
+ : undefined }), jsxRuntime.jsxs("div", { className: cn("tw-flex tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-text-grey-300", isCollapsed &&
19533
+ (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"), 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", !isSmallVariant), children: [jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-1 tw-items-center tw-gap-squid-xxs tw-text-grey-400", children: [tokenItems ? (jsxRuntime.jsx(ImageStack, { spacing: "-10px", size: "medium", rounded: "xxs", border: "outline-lg", imageUrls: tokenItems === null || tokenItems === void 0 ? void 0 : tokenItems.slice(0, maxPreviewItems).map((item) => item.chainImageUrl) })) : (jsxRuntime.jsx(CaptionText, { className: "!tw-leading-[10px]", children: balance })), jsxRuntime.jsx(CaptionText, { className: "!tw-leading-[10px]", children: symbol })] }), priceChange && jsxRuntime.jsx(PriceChange, Object.assign({}, 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))) }) })] }));
19534
+ }
19535
+
19459
19536
  function ActionLayout({ lineCap = jsxRuntime.jsx(Timeline.CapTop, {}), status = "executed", showTimeline = true, showBody = true, nextStatus, statusIcon, description, title, icon, children, }) {
19460
19537
  return (jsxRuntime.jsxs(ActionWrapper, { status: status, children: [jsxRuntime.jsx(ActionLineOutRow, { status: nextStatus }), jsxRuntime.jsx(ActionStatusRow, { status: status, icon: statusIcon, children: description }), title && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ActionRow, { children: jsxRuntime.jsxs(Timeline, { className: cn("tw-h-squid-xs", statusTextClassMap[status]), children: [jsxRuntime.jsx(Timeline.CapTop, {}), jsxRuntime.jsx(Timeline.Straight, {}), jsxRuntime.jsx(Timeline.CapBottom, {})] }) }), jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-justify-center", children: icon }), jsxRuntime.jsx(BodyText, { size: "large", className: cn("tw-flex tw-min-h-squid-l tw-items-center !tw-leading-[1] tw-text-grey-300 tw-transition-opacity tw-duration-200", !showBody && "tw-opacity-0"), children: title })] })] })), jsxRuntime.jsxs(ActionRow, { children: [jsxRuntime.jsxs(Timeline, { className: showTimeline ? statusTextClassMap[status] : "!tw-text-[transparent]", children: [lineCap, jsxRuntime.jsx(Timeline.Straight, {})] }), jsxRuntime.jsx("div", { className: cn("tw-flex tw-flex-col tw-gap-squid-xs tw-pb-squid-xs tw-text-grey-500 tw-transition-opacity tw-duration-200", !showBody && "tw-opacity-0", title && "tw-pt-squid-xxs"), children: children })] })] }));
19461
19538
  }
@@ -19621,20 +19698,6 @@ const TxTypeLabel = ({ type }) => {
19621
19698
  return (jsxRuntime.jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-[2px] tw-text-royal-500", children: [type === null || type === void 0 ? void 0 : type.icon, " ", type === null || type === void 0 ? void 0 : type.name] }));
19622
19699
  };
19623
19700
 
19624
- function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator = false, }) {
19625
- return (jsxRuntime.jsxs("li", { className: "tw-flex tw-flex-col tw-self-stretch", children: [jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-self-stretch", children: [jsxRuntime.jsx(Track, { imageUrl: imageUrl }), jsxRuntime.jsx(Label, { subtitle: subtitle, descriptionBlocks: descriptionBlocks })] }), showStepSeparator && (jsxRuntime.jsx("div", { className: "tw-flex tw-h-squid-m tw-w-squid-xxl tw-justify-center", children: jsxRuntime.jsx("div", { className: "tw-h-squid-m tw-w-1 tw-rounded-full tw-bg-gradient-to-t tw-from-grey-500 tw-to-grey-800" }) }))] }));
19626
- }
19627
- function Track({ imageUrl }) {
19628
- return (jsxRuntime.jsx("div", { className: "tw-relative tw-flex tw-w-squid-xxl tw-min-w-squid-xxl tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-px-squid-xs", children: jsxRuntime.jsx("img", { src: imageUrl, alt: "", className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs" }) }));
19629
- }
19630
- function Label({ subtitle, descriptionBlocks, }) {
19631
- return (jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-items-start", children: [jsxRuntime.jsx("span", { className: "tw-flex tw-items-center tw-gap-squid-xxs tw-self-stretch tw-py-squid-xxs tw-pr-squid-m tw-text-grey-500", children: jsxRuntime.jsx(CaptionText, { children: subtitle }) }), jsxRuntime.jsx(DescriptionBlocks, { blocks: descriptionBlocks, className: "tw-py-squid-xxs tw-pr-squid-m tw-text-grey-300" })] }));
19632
- }
19633
-
19634
- function DropdownMenuTitle({ title }) {
19635
- return (jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-self-stretch tw-p-squid-xs tw-pb-squid-xxs tw-text-material-light-average", children: jsxRuntime.jsx(CaptionText, { children: title }) }));
19636
- }
19637
-
19638
19701
  const STEPS_LIST_HEIGHT = 400;
19639
19702
  const SwapStepsCollapsed = React$1.forwardRef((props, ref) => {
19640
19703
  const { steps, currentStepIndex: _newStepIndex, onOpen, onClose, footerButton, } = props;
@@ -69788,6 +69851,7 @@ exports.Timeline = Timeline;
69788
69851
  exports.Timestamp = Timestamp;
69789
69852
  exports.Toast = Toast;
69790
69853
  exports.TokenDetailsView = TokenDetailsView;
69854
+ exports.TokenGroup = TokenGroup;
69791
69855
  exports.TokenPair = TokenPair;
69792
69856
  exports.Tooltip = Tooltip;
69793
69857
  exports.TradingViewStepsIcon = TradingViewStepsIcon;
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { type PriceChange as TPriceChange } from "../../types/components";
3
3
  type TokenGroupVariant = "compact" | "large" | "small";
4
- export interface TokenGroupProps {
4
+ export interface TokenGroupProps<T extends TokenGroupProps<T>> {
5
+ address?: string;
6
+ chainId?: string;
5
7
  isSelected?: boolean;
6
8
  imageUrl: string;
7
9
  symbol: string;
@@ -10,11 +12,13 @@ export interface TokenGroupProps {
10
12
  balance?: string;
11
13
  balanceUsd?: string;
12
14
  priceChange?: TPriceChange;
13
- tokenItems?: TokenGroupProps[];
15
+ tokenItems?: T[];
14
16
  extraSpacing?: boolean;
15
17
  onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
16
18
  maxPreviewItems?: number;
17
19
  variant?: TokenGroupVariant;
20
+ className?: string;
21
+ onChildClick?: (tokenProps: T) => void;
18
22
  }
19
- export declare function TokenGroup({ isSelected, tokenItems, priceChange, balance, balanceUsd, extraSpacing, chainImageUrl, imageUrl, symbol, name, onClick, maxPreviewItems, variant, }: TokenGroupProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function TokenGroup<T extends TokenGroupProps<T>>({ isSelected, tokenItems, priceChange, balance, balanceUsd, extraSpacing, chainImageUrl, imageUrl, symbol, name, onClick, maxPreviewItems, variant, className, onChildClick, address, chainId, }: TokenGroupProps<T>): import("react/jsx-runtime").JSX.Element;
20
24
  export {};
@@ -1,11 +1,14 @@
1
1
  export * from "./DropdownMenuItem";
2
+ export * from "./DropdownMenuTitle";
2
3
  export * from "./HistoryItem";
3
4
  export * from "./ListItem";
4
5
  export * from "./MenuItem";
5
6
  export * from "./PropertyListItem";
7
+ export * from "./RouteStep";
6
8
  export * from "./SectionTitle";
7
9
  export * from "./SettingsItem";
8
10
  export * from "./SwapStepItem";
11
+ export * from "./TokenGroup";
9
12
  export * from "./TransactionAction/ActionLayout";
10
13
  export * from "./TransactionAction/ApproveAction";
11
14
  export * from "./TransactionAction/BaseActionProps";
@@ -23,5 +26,3 @@ export * from "./TransactionAction/SwapAction";
23
26
  export * from "./TransactionAction/TransactionAction";
24
27
  export * from "./TransactionAction/WrapAction";
25
28
  export * from "./TransactionItem";
26
- export * from "./RouteStep";
27
- export * from "./DropdownMenuTitle";
package/dist/esm/index.js CHANGED
@@ -18767,7 +18767,7 @@ function ModalContentDivider() {
18767
18767
 
18768
18768
  function NavigationBar(_a) {
18769
18769
  var { title, displayBackButton = false, logoUrl, transparent = false, displayButtonShadows = false, onBackButtonClick, actions, isLoading = false, subtitle } = _a, props = __rest$1(_a, ["title", "displayBackButton", "logoUrl", "transparent", "displayButtonShadows", "onBackButtonClick", "actions", "isLoading", "subtitle"]);
18770
- return (jsxs("nav", Object.assign({}, props, { className: cn("tw-flex tw-h-full tw-max-h-[120px] tw-flex-row-reverse tw-text-grey-300 mobile-xs-height:tw-flex-col", transparent ? "tw-bg-transparent" : "tw-bg-grey-900", props.className), children: [jsxs("div", { className: cn("tw-flex tw-h-squid-xxl tw-items-center tw-justify-end tw-gap-x-squid-xs tw-pl-squid-m", displayBackButton
18770
+ return (jsxs("nav", Object.assign({}, props, { className: cn("tw-flex tw-max-h-[120px] tw-flex-row-reverse tw-text-grey-300 mobile-xs-height:tw-flex-col", transparent ? "tw-bg-transparent" : "tw-bg-grey-900", props.className), children: [jsxs("div", { className: cn("tw-flex tw-h-squid-xxl tw-items-center tw-justify-end tw-gap-x-squid-xs tw-pl-squid-m", displayBackButton
18771
18771
  ? "tw-w-full tw-pr-squid-xs mobile-xs-height:tw-pr-squid-m"
18772
18772
  : "tw-pr-squid-m mobile-lg:tw-pl-squid-l", !title && "tw-w-full mobile-xs-height:tw-w-[unset]"), children: [displayBackButton ? (jsx(Button$1, { className: displayButtonShadows
18773
18773
  ? "group-data-[squid-theme-type=dark]:tw-shadow-elevation-dark-2 group-data-[squid-theme-type=light]:tw-shadow-elevation-light-2"
@@ -18782,7 +18782,7 @@ function NavigationBar(_a) {
18782
18782
  // add small spacing on the right when back button is displayed to have the subtitle centered
18783
18783
  displayBackButton &&
18784
18784
  (!actions || actions.length === 0) &&
18785
- "tw-mr-squid-xl mobile-lg:tw-mr-squid-m mobile-lg:tw-pr-squid-xxl "), children: jsx(BodyText, { size: "small", children: subtitle }) })) : null] }), title ? (jsx("div", { className: cn("tw-h-squid-xxl tw-w-full tw-flex-1 tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l",
18785
+ "tw-mr-squid-xl mobile-lg:tw-mr-squid-m mobile-lg:tw-pr-squid-xxl "), children: jsx(BodyText, { size: "small", children: subtitle }) })) : null] }), title ? (jsx("div", { className: cn("tw-h-squid-xxl tw-w-full tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l",
18786
18786
  // hide the title on small screens when back button is displayed, so it's positioned on the left
18787
18787
  displayBackButton
18788
18788
  ? "tw-hidden mobile-xs-height:tw-flex"
@@ -19159,11 +19159,27 @@ function DropdownMenuItemWithSubmenu(_a) {
19159
19159
  }, children: submenu })) })) }));
19160
19160
  }
19161
19161
 
19162
+ function DropdownMenuTitle({ title }) {
19163
+ return (jsx("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-self-stretch tw-p-squid-xs tw-pb-squid-xxs tw-text-material-light-average", children: jsx(CaptionText, { children: title }) }));
19164
+ }
19165
+
19162
19166
  function ImageStack(_a) {
19163
19167
  var { imageUrls, spacing, stackOnTop = true } = _a, imageProps = __rest$1(_a, ["imageUrls", "spacing", "stackOnTop"]);
19164
- return (jsx("div", {
19165
- // @ts-expect-error - Custom CSS property
19166
- style: { "--image-stack-spacing": spacing }, className: "tw-flex tw-items-center tw-space-x-[--image-stack-spacing]", children: imageUrls.map((url, index, self) => (jsx(Image$1, Object.assign({ src: url, containerProps: stackOnTop
19168
+ const extraPadding = (() => {
19169
+ switch (imageProps.border) {
19170
+ case "outline-sm":
19171
+ return "1px";
19172
+ case "outline-lg":
19173
+ return "3px";
19174
+ default:
19175
+ return "0px";
19176
+ }
19177
+ })();
19178
+ return (jsx("div", { style: {
19179
+ // @ts-expect-error Custom CSS property
19180
+ "--image-stack-spacing": spacing,
19181
+ padding: extraPadding,
19182
+ }, className: "tw-flex tw-items-center tw-space-x-[--image-stack-spacing]", children: imageUrls.map((url, index, self) => (jsx(Image$1, Object.assign({ src: url, containerProps: stackOnTop
19167
19183
  ? {
19168
19184
  style: {
19169
19185
  zIndex: self.length - index,
@@ -19358,6 +19374,16 @@ function PropertyListItem(_a) {
19358
19374
  return (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: 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: [jsx("div", { className: cn("tw-w-6 tw-text-grey-500", iconClassName), children: icon }), jsx(Text, { className: cn("tw-flex-1 tw-text-grey-500", labelClassName), children: jsx(TextSkeleton, { isLoading: isLoading, children: label }) }), jsx(Text, { className: cn("tw-flex tw-text-grey-300", detailClassName), children: jsx(TextSkeleton, { isLoading: isLoading, children: detail }) })] }) })));
19359
19375
  }
19360
19376
 
19377
+ function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator = false, }) {
19378
+ return (jsxs("li", { className: "tw-flex tw-flex-col tw-self-stretch", children: [jsxs("div", { className: "tw-flex tw-items-center tw-self-stretch", children: [jsx(Track, { imageUrl: imageUrl }), jsx(Label, { subtitle: subtitle, descriptionBlocks: descriptionBlocks })] }), showStepSeparator && (jsx("div", { className: "tw-flex tw-h-squid-m tw-w-squid-xxl tw-justify-center", children: jsx("div", { className: "tw-h-squid-m tw-w-1 tw-rounded-full tw-bg-gradient-to-t tw-from-grey-500 tw-to-grey-800" }) }))] }));
19379
+ }
19380
+ function Track({ imageUrl }) {
19381
+ return (jsx("div", { className: "tw-relative tw-flex tw-w-squid-xxl tw-min-w-squid-xxl tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-px-squid-xs", children: jsx("img", { src: imageUrl, alt: "", className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs" }) }));
19382
+ }
19383
+ function Label({ subtitle, descriptionBlocks, }) {
19384
+ return (jsxs("div", { className: "tw-flex tw-flex-col tw-items-start", children: [jsx("span", { className: "tw-flex tw-items-center tw-gap-squid-xxs tw-self-stretch tw-py-squid-xxs tw-pr-squid-m tw-text-grey-500", children: jsx(CaptionText, { children: subtitle }) }), jsx(DescriptionBlocks, { blocks: descriptionBlocks, className: "tw-py-squid-xxs tw-pr-squid-m tw-text-grey-300" })] }));
19385
+ }
19386
+
19361
19387
  function SectionTitle(_a) {
19362
19388
  var { title, icon, accessory, actionIcon, className } = _a, props = __rest$1(_a, ["title", "icon", "accessory", "actionIcon", "className"]);
19363
19389
  return (jsxs("header", Object.assign({}, props, { className: cn("tw-flex tw-h-[46px] tw-w-full tw-items-center tw-gap-squid-xxs tw-bg-grey-900 tw-px-squid-m tw-pb-squid-xs tw-pt-squid-m tw-text-royal-500", className), children: [icon, jsx(CaptionText, { children: title }), accessory ? (jsx(CaptionText, { className: "tw-flex-1 tw-text-right tw-text-grey-500", children: accessory })) : actionIcon ? (jsx("span", { className: "tw-flex tw-flex-1 tw-items-center tw-justify-end", children: actionIcon })) : null] })));
@@ -19436,6 +19462,57 @@ function SwapStepItem({ descriptionBlocks, showStepSeparator = false, link, stat
19436
19462
  }, className: "tw-relative tw-flex tw-w-full tw-flex-col tw-items-start tw-justify-center tw-text-grey-300 tw-transition-colors tw-duration-1000", children: jsxs("a", { href: link, target: "_blank", style: Object.assign(Object.assign({}, transitionStyle), { maxHeight: `${STEP_ITEM_HEIGHT}px` }), className: cn("tw-group/swap-step-item tw-flex tw-w-full tw-items-center tw-rounded-squid-xs tw-py-squid-xxs", !!link && "hover:tw-bg-material-light-thin", statusTextClass), rel: "noreferrer", children: [jsxs("span", { className: "tw-relative tw-flex tw-min-h-squid-l tw-items-center tw-justify-center tw-gap-squid-xxs tw-px-squid-xs", children: [jsx(Chip, { style: transitionStyle, className: cn("tw-w-squid-xl", statusBgClassMap[status]), icon: chipContent }), showStepSeparator && (jsx("span", { className: cn(separatorClassMap[status], "tw-absolute tw-left-0 tw-top-full tw-mt-0.5"), style: transitionStyle, children: jsx(SwapStepSeparator, {}) }))] }), jsx(DescriptionBlocks, { className: "tw-min-h-squid-l tw-py-squid-xxs tw-pr-squid-xs", blocks: descriptionBlocks })] }) }));
19437
19463
  }
19438
19464
 
19465
+ const DEFAULT_MAX_PREVIEW_ITEMS = 11;
19466
+ const mainImageSizeMap = {
19467
+ compact: "medium",
19468
+ large: "xxlarge",
19469
+ small: "xlarge",
19470
+ };
19471
+ function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, balanceUsd, extraSpacing = true, chainImageUrl, imageUrl, symbol, name, onClick, maxPreviewItems = DEFAULT_MAX_PREVIEW_ITEMS, variant = "large", className, onChildClick, address, chainId, }) {
19472
+ var _a;
19473
+ const [isCollapsed, setIsCollapsed] = useState(true);
19474
+ const isCollapsible = tokenItems && tokenItems.length > 0;
19475
+ const isInteractive = onClick != null || isCollapsible;
19476
+ const isCompactVariant = variant === "compact";
19477
+ const isLargeVariant = variant === "large";
19478
+ const isSmallVariant = variant === "small";
19479
+ const ContentTag = isInteractive ? "button" : "div";
19480
+ const handleToggleCollapsed = useCallback(() => {
19481
+ setIsCollapsed((prev) => !prev);
19482
+ }, []);
19483
+ return (jsxs("li", { className: cn("tw-w-full tw-self-stretch", extraSpacing && "tw-px-squid-xs tw-pt-squid-xs", !isCollapsed &&
19484
+ "tw-border-y tw-border-solid tw-border-y-material-light-thin tw-py-squid-xs", className), children: [jsxs(ContentTag, { onClick: (event) => {
19485
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
19486
+ if (isCollapsible)
19487
+ handleToggleCollapsed();
19488
+ }, 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
19489
+ ? isCollapsed
19490
+ ? "tw-h-[80px] tw-gap-squid-s"
19491
+ : "tw-h-squid-xl tw-gap-squid-xxs"
19492
+ : isSmallVariant
19493
+ ? "tw-h-[50px] tw-gap-squid-s tw-py-squid-xxs"
19494
+ : "tw-h-squid-xl tw-gap-squid-xxs"), children: [jsx(BadgeImage, { image: {
19495
+ src: imageUrl,
19496
+ size: isLargeVariant && !isCollapsed
19497
+ ? "medium"
19498
+ : (_a = mainImageSizeMap[variant]) !== null && _a !== void 0 ? _a : "medium",
19499
+ rounded: isCompactVariant ? "xxs" : "full",
19500
+ style: {
19501
+ transition: `${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.SHOW_ROUTE}`,
19502
+ transitionProperty: "width, height",
19503
+ },
19504
+ }, badge: isCollapsed && !isCompactVariant
19505
+ ? {
19506
+ size: "medium",
19507
+ rounded: "xxs",
19508
+ border: "outline-lg",
19509
+ src: chainImageUrl,
19510
+ children: tokenItems && (jsx("span", { className: "tw-flex tw-h-full tw-w-full tw-items-center tw-justify-center tw-bg-grey-700 tw-text-grey-300", children: jsx(CaptionText, { children: tokenItems.length }) })),
19511
+ }
19512
+ : undefined }), jsxs("div", { className: cn("tw-flex tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-text-grey-300", isCollapsed &&
19513
+ (isSmallVariant ? "tw-gap-squid-xs" : "tw-gap-squid-xxs"), isSmallVariant && "tw-h-[45px]"), children: [jsxs("div", { className: cn("tw-flex tw-gap-squid-xxs tw-self-stretch", isSmallVariant ? "tw-h-[13px] tw-items-end" : "tw-items-center"), children: [jsx(BodyText, { size: "small", className: "tw-h-fit !tw-leading-[13px]", children: name }), (!isCollapsed || isCompactVariant) && (jsx(ChevronTopIcon, { className: cn("tw-text-grey-500", isCollapsed ? "tw-rotate-90" : "tw-rotate-180") })), balanceUsd ? (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 ? (jsxs(Fragment, { children: [jsx(CaptionText, { className: "!tw-leading-[10px] tw-opacity-66", children: "$" }), jsx(CaptionText, { className: "!tw-leading-[10px]", children: balanceUsd })] })) : (jsxs(Fragment, { children: [jsx(BodyText, { size: "small", className: "!tw-leading-[10px] tw-opacity-66", children: "$" }), jsx(BodyText, { size: "small", className: "!tw-leading-[10px]", children: balanceUsd })] })) })) : null] }), !isCompactVariant && (jsx(Collapse, { collapsed: !isCollapsed, contentsClassName: "tw-flex tw-w-full tw-items-start tw-justify-between", className: "tw-w-full", children: jsxs("div", { className: cn("tw-flex tw-w-full tw-items-center tw-justify-between tw-self-stretch", !isSmallVariant), children: [jsxs("div", { className: "tw-flex tw-flex-1 tw-items-center tw-gap-squid-xxs tw-text-grey-400", children: [tokenItems ? (jsx(ImageStack, { spacing: "-10px", size: "medium", rounded: "xxs", border: "outline-lg", imageUrls: tokenItems === null || tokenItems === void 0 ? void 0 : tokenItems.slice(0, maxPreviewItems).map((item) => item.chainImageUrl) })) : (jsx(CaptionText, { className: "!tw-leading-[10px]", children: balance })), jsx(CaptionText, { className: "!tw-leading-[10px]", children: symbol })] }), priceChange && jsx(PriceChange, Object.assign({}, priceChange))] }) }))] })] }), jsx(Collapse, { collapsed: isCollapsed, children: 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) => (jsx(TokenGroup, Object.assign({}, token, { extraSpacing: false, variant: isCompactVariant ? "small" : "large", onClick: () => onChildClick === null || onChildClick === void 0 ? void 0 : onChildClick(token) }), token.chainImageUrl))) }) })] }));
19514
+ }
19515
+
19439
19516
  function ActionLayout({ lineCap = jsx(Timeline.CapTop, {}), status = "executed", showTimeline = true, showBody = true, nextStatus, statusIcon, description, title, icon, children, }) {
19440
19517
  return (jsxs(ActionWrapper, { status: status, children: [jsx(ActionLineOutRow, { status: nextStatus }), jsx(ActionStatusRow, { status: status, icon: statusIcon, children: description }), title && (jsxs(Fragment, { children: [jsx(ActionRow, { children: jsxs(Timeline, { className: cn("tw-h-squid-xs", statusTextClassMap[status]), children: [jsx(Timeline.CapTop, {}), jsx(Timeline.Straight, {}), jsx(Timeline.CapBottom, {})] }) }), jsxs(ActionRow, { children: [jsx("div", { className: "tw-flex tw-items-center tw-justify-center", children: icon }), jsx(BodyText, { size: "large", className: cn("tw-flex tw-min-h-squid-l tw-items-center !tw-leading-[1] tw-text-grey-300 tw-transition-opacity tw-duration-200", !showBody && "tw-opacity-0"), children: title })] })] })), jsxs(ActionRow, { children: [jsxs(Timeline, { className: showTimeline ? statusTextClassMap[status] : "!tw-text-[transparent]", children: [lineCap, jsx(Timeline.Straight, {})] }), jsx("div", { className: cn("tw-flex tw-flex-col tw-gap-squid-xs tw-pb-squid-xs tw-text-grey-500 tw-transition-opacity tw-duration-200", !showBody && "tw-opacity-0", title && "tw-pt-squid-xxs"), children: children })] })] }));
19441
19518
  }
@@ -19601,20 +19678,6 @@ const TxTypeLabel = ({ type }) => {
19601
19678
  return (jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-[2px] tw-text-royal-500", children: [type === null || type === void 0 ? void 0 : type.icon, " ", type === null || type === void 0 ? void 0 : type.name] }));
19602
19679
  };
19603
19680
 
19604
- function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator = false, }) {
19605
- return (jsxs("li", { className: "tw-flex tw-flex-col tw-self-stretch", children: [jsxs("div", { className: "tw-flex tw-items-center tw-self-stretch", children: [jsx(Track, { imageUrl: imageUrl }), jsx(Label, { subtitle: subtitle, descriptionBlocks: descriptionBlocks })] }), showStepSeparator && (jsx("div", { className: "tw-flex tw-h-squid-m tw-w-squid-xxl tw-justify-center", children: jsx("div", { className: "tw-h-squid-m tw-w-1 tw-rounded-full tw-bg-gradient-to-t tw-from-grey-500 tw-to-grey-800" }) }))] }));
19606
- }
19607
- function Track({ imageUrl }) {
19608
- return (jsx("div", { className: "tw-relative tw-flex tw-w-squid-xxl tw-min-w-squid-xxl tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-px-squid-xs", children: jsx("img", { src: imageUrl, alt: "", className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs" }) }));
19609
- }
19610
- function Label({ subtitle, descriptionBlocks, }) {
19611
- return (jsxs("div", { className: "tw-flex tw-flex-col tw-items-start", children: [jsx("span", { className: "tw-flex tw-items-center tw-gap-squid-xxs tw-self-stretch tw-py-squid-xxs tw-pr-squid-m tw-text-grey-500", children: jsx(CaptionText, { children: subtitle }) }), jsx(DescriptionBlocks, { blocks: descriptionBlocks, className: "tw-py-squid-xxs tw-pr-squid-m tw-text-grey-300" })] }));
19612
- }
19613
-
19614
- function DropdownMenuTitle({ title }) {
19615
- return (jsx("div", { className: "tw-flex tw-items-center tw-gap-squid-xs tw-self-stretch tw-p-squid-xs tw-pb-squid-xxs tw-text-material-light-average", children: jsx(CaptionText, { children: title }) }));
19616
- }
19617
-
19618
19681
  const STEPS_LIST_HEIGHT = 400;
19619
19682
  const SwapStepsCollapsed = forwardRef((props, ref) => {
19620
19683
  const { steps, currentStepIndex: _newStepIndex, onOpen, onClose, footerButton, } = props;
@@ -69510,4 +69573,4 @@ function ThemeProvider(_a) {
69510
69573
  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 })));
69511
69574
  }
69512
69575
 
69513
- export { ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, ActionStatusRow, ActionWrapper, AddressButton, AnimationWrapper, Announcement, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowDownIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowSplit, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, AssetsView, AtomIcon, BackpackIcon, BadgeImage, BankIcon, BellAlarmIcon, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BridgeTransactionView, BrokenHeartIcon, BubblesIcon, Button$1 as Button, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, CSS_VARS, Calendar, CaptionText, CatSquareIcon, 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, CrossAnimatedIcon, CrossedOutSunSolidIcon, DashboardFast, 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, ImageIcon, ImageSparkle, ImageState, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LaptopIcon, LightningIcon, LimitIcon, LinkIcon, List, ListItem, ListItemActionsButton, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MainView, MarketCapIcon, MaxIcon, Menu, MenuItem, MenuSwapIcon, MirrorIcon, Modal, ModalContent, ModalContentDivider, MoonIcon, NavigationBar, NewspaperIcon, NotAllowedIcon, NumericInput, PathSquareIcon, PauseIcon, PercentIcon, PhoneIcon, PieChartIcon, PipeSeparator, PlusIcon, PoopIcon, PowerIcon, PriceChange, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, PunkIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RecipientView, RefreshIcon, ReorderIcon, RouteStep, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, SettingsButton, SettingsGearIcon, SettingsItem, SettingsSlider, SettingsSliderIcon, ShoppingBagIcon, SizeTransition, SmileIcon, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidLogo, SquidVector, StakeAction, StartAction, StocksIcon, SuccessAction, SunIcon, SunOutlinedIcon, SunriseIcon, SunriseSmallIcon, SwapAction, SwapConfiguration, SwapDetailsView, SwapErrorIcon, SwapHeader, SwapIcon, SwapInputsIcon, SwapProgressView, SwapProgressViewHeader, SwapProperties, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, TagIcon, TagIconFilled, TextSkeleton, ThemePreference, ThemeProvider, ThumbsUp, Tick, TimeFliesIcon, Timeline, Timestamp, Toast, TokenDetailsView, TokenPair, Tooltip, TradingViewStepsIcon, TransactionAction, TransactionFilters, TransactionHeader, TransactionHeaderLayout, TransactionItem, TransactionProperties, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, Transfer, TranslateIcon, TriangleExclamation, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WalletsView, WrapAction, XSocial, baseTailwindConfig, blendColors, cn, darkTheme, getColorBrightness, getContrastColor, getHexColorFromOpacityPercentage, getWalletCardBackground, hexToRgb, isValidHexColor, lightTheme, linkActionTimelineProps, parseColor, parseSquidTheme, pxToRem, remToPx, rgbToHex, spacing$1 as spacing, statusTextClassMap, transactionErrorPauseAnimation, transactionFailureAnimation, transactionHalfSuccessAnimation, transactionPendingAnimation, transactionProcessingAnimation, transactionRejectedAnimation, transactionSuccessAnimation, useCollapsibleMenu, useDropdownMenu, useMediaQuery, useOnResize, useRect, useTimer, useUserTheme, useVersion };
69576
+ export { ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, ActionStatusRow, ActionWrapper, AddressButton, AnimationWrapper, Announcement, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowDownIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowSplit, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, AssetsView, AtomIcon, BackpackIcon, BadgeImage, BankIcon, BellAlarmIcon, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BridgeTransactionView, BrokenHeartIcon, BubblesIcon, Button$1 as Button, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, CSS_VARS, Calendar, CaptionText, CatSquareIcon, 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, CrossAnimatedIcon, CrossedOutSunSolidIcon, DashboardFast, 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, ImageIcon, ImageSparkle, ImageState, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LaptopIcon, LightningIcon, LimitIcon, LinkIcon, List, ListItem, ListItemActionsButton, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MainView, MarketCapIcon, MaxIcon, Menu, MenuItem, MenuSwapIcon, MirrorIcon, Modal, ModalContent, ModalContentDivider, MoonIcon, NavigationBar, NewspaperIcon, NotAllowedIcon, NumericInput, PathSquareIcon, PauseIcon, PercentIcon, PhoneIcon, PieChartIcon, PipeSeparator, PlusIcon, PoopIcon, PowerIcon, PriceChange, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, PunkIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RecipientView, RefreshIcon, ReorderIcon, RouteStep, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, SettingsButton, SettingsGearIcon, SettingsItem, SettingsSlider, SettingsSliderIcon, ShoppingBagIcon, SizeTransition, SmileIcon, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidLogo, SquidVector, StakeAction, StartAction, StocksIcon, SuccessAction, SunIcon, SunOutlinedIcon, SunriseIcon, SunriseSmallIcon, SwapAction, SwapConfiguration, SwapDetailsView, SwapErrorIcon, SwapHeader, SwapIcon, SwapInputsIcon, SwapProgressView, SwapProgressViewHeader, SwapProperties, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, TagIcon, TagIconFilled, TextSkeleton, ThemePreference, ThemeProvider, ThumbsUp, Tick, TimeFliesIcon, Timeline, Timestamp, Toast, TokenDetailsView, TokenGroup, TokenPair, Tooltip, TradingViewStepsIcon, TransactionAction, TransactionFilters, TransactionHeader, TransactionHeaderLayout, TransactionItem, TransactionProperties, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, Transfer, TranslateIcon, TriangleExclamation, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WalletsView, WrapAction, XSocial, baseTailwindConfig, blendColors, cn, darkTheme, getColorBrightness, getContrastColor, getHexColorFromOpacityPercentage, getWalletCardBackground, hexToRgb, isValidHexColor, lightTheme, linkActionTimelineProps, parseColor, parseSquidTheme, pxToRem, remToPx, rgbToHex, spacing$1 as spacing, statusTextClassMap, transactionErrorPauseAnimation, transactionFailureAnimation, transactionHalfSuccessAnimation, transactionPendingAnimation, transactionProcessingAnimation, transactionRejectedAnimation, transactionSuccessAnimation, useCollapsibleMenu, useDropdownMenu, useMediaQuery, useOnResize, useRect, useTimer, useUserTheme, useVersion };
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { type PriceChange as TPriceChange } from "../../types/components";
3
3
  type TokenGroupVariant = "compact" | "large" | "small";
4
- export interface TokenGroupProps {
4
+ export interface TokenGroupProps<T extends TokenGroupProps<T>> {
5
+ address?: string;
6
+ chainId?: string;
5
7
  isSelected?: boolean;
6
8
  imageUrl: string;
7
9
  symbol: string;
@@ -10,11 +12,13 @@ export interface TokenGroupProps {
10
12
  balance?: string;
11
13
  balanceUsd?: string;
12
14
  priceChange?: TPriceChange;
13
- tokenItems?: TokenGroupProps[];
15
+ tokenItems?: T[];
14
16
  extraSpacing?: boolean;
15
17
  onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
16
18
  maxPreviewItems?: number;
17
19
  variant?: TokenGroupVariant;
20
+ className?: string;
21
+ onChildClick?: (tokenProps: T) => void;
18
22
  }
19
- export declare function TokenGroup({ isSelected, tokenItems, priceChange, balance, balanceUsd, extraSpacing, chainImageUrl, imageUrl, symbol, name, onClick, maxPreviewItems, variant, }: TokenGroupProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function TokenGroup<T extends TokenGroupProps<T>>({ isSelected, tokenItems, priceChange, balance, balanceUsd, extraSpacing, chainImageUrl, imageUrl, symbol, name, onClick, maxPreviewItems, variant, className, onChildClick, address, chainId, }: TokenGroupProps<T>): import("react/jsx-runtime").JSX.Element;
20
24
  export {};
@@ -1,11 +1,14 @@
1
1
  export * from "./DropdownMenuItem";
2
+ export * from "./DropdownMenuTitle";
2
3
  export * from "./HistoryItem";
3
4
  export * from "./ListItem";
4
5
  export * from "./MenuItem";
5
6
  export * from "./PropertyListItem";
7
+ export * from "./RouteStep";
6
8
  export * from "./SectionTitle";
7
9
  export * from "./SettingsItem";
8
10
  export * from "./SwapStepItem";
11
+ export * from "./TokenGroup";
9
12
  export * from "./TransactionAction/ActionLayout";
10
13
  export * from "./TransactionAction/ApproveAction";
11
14
  export * from "./TransactionAction/BaseActionProps";
@@ -23,5 +26,3 @@ export * from "./TransactionAction/SwapAction";
23
26
  export * from "./TransactionAction/TransactionAction";
24
27
  export * from "./TransactionAction/WrapAction";
25
28
  export * from "./TransactionItem";
26
- export * from "./RouteStep";
27
- export * from "./DropdownMenuTitle";
package/dist/index.d.ts CHANGED
@@ -2040,6 +2040,10 @@ declare function DropdownMenuItem(props: DropdownMenuItemProps & AllOrNone<{
2040
2040
  containerRef: React.RefObject<HTMLDivElement>;
2041
2041
  }>): react_jsx_runtime.JSX.Element;
2042
2042
 
2043
+ declare function DropdownMenuTitle({ title }: {
2044
+ title: string;
2045
+ }): react_jsx_runtime.JSX.Element;
2046
+
2043
2047
  interface HistoryItemProps {
2044
2048
  firstImageUrl: string;
2045
2049
  secondImageUrl: string;
@@ -2108,6 +2112,14 @@ interface PropertyListItemProps extends ComponentProps<"li"> {
2108
2112
  }
2109
2113
  declare function PropertyListItem({ isLoading, label, detail, icon, className, variant, showGradientBg, labelClassName, iconClassName, detailClassName, ...props }: PropertyListItemProps): react_jsx_runtime.JSX.Element;
2110
2114
 
2115
+ interface RouteStepProps {
2116
+ imageUrl: string;
2117
+ descriptionBlocks: DescriptionBlock[];
2118
+ subtitle: string;
2119
+ showStepSeparator?: boolean;
2120
+ }
2121
+ declare function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator, }: RouteStepProps): react_jsx_runtime.JSX.Element;
2122
+
2111
2123
  interface SectionTitleProps extends React.HTMLAttributes<HTMLDivElement> {
2112
2124
  title: string;
2113
2125
  icon?: React.ReactNode;
@@ -2174,6 +2186,28 @@ interface SwapStepItemProps {
2174
2186
  declare const STEP_ITEM_HEIGHT = 52;
2175
2187
  declare function SwapStepItem({ descriptionBlocks, showStepSeparator, link, status, }: SwapStepItemProps): react_jsx_runtime.JSX.Element;
2176
2188
 
2189
+ type TokenGroupVariant = "compact" | "large" | "small";
2190
+ interface TokenGroupProps<T extends TokenGroupProps<T>> {
2191
+ address?: string;
2192
+ chainId?: string;
2193
+ isSelected?: boolean;
2194
+ imageUrl: string;
2195
+ symbol: string;
2196
+ name: string;
2197
+ chainImageUrl: string;
2198
+ balance?: string;
2199
+ balanceUsd?: string;
2200
+ priceChange?: PriceChange$1;
2201
+ tokenItems?: T[];
2202
+ extraSpacing?: boolean;
2203
+ onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
2204
+ maxPreviewItems?: number;
2205
+ variant?: TokenGroupVariant;
2206
+ className?: string;
2207
+ onChildClick?: (tokenProps: T) => void;
2208
+ }
2209
+ declare function TokenGroup<T extends TokenGroupProps<T>>({ isSelected, tokenItems, priceChange, balance, balanceUsd, extraSpacing, chainImageUrl, imageUrl, symbol, name, onClick, maxPreviewItems, variant, className, onChildClick, address, chainId, }: TokenGroupProps<T>): react_jsx_runtime.JSX.Element;
2210
+
2177
2211
  interface ActionLayoutProps {
2178
2212
  lineCap?: ReactNode;
2179
2213
  status?: ActionStatus;
@@ -2477,18 +2511,6 @@ interface TransactionItemProps {
2477
2511
  }
2478
2512
  declare function TransactionItem({ className, isLoading, status, image, type, hash, fromChain, toChain, fromAmount, toAmount, timestamp, variant, }: TransactionItemProps): react_jsx_runtime.JSX.Element;
2479
2513
 
2480
- interface RouteStepProps {
2481
- imageUrl: string;
2482
- descriptionBlocks: DescriptionBlock[];
2483
- subtitle: string;
2484
- showStepSeparator?: boolean;
2485
- }
2486
- declare function RouteStep({ imageUrl, descriptionBlocks, subtitle, showStepSeparator, }: RouteStepProps): react_jsx_runtime.JSX.Element;
2487
-
2488
- declare function DropdownMenuTitle({ title }: {
2489
- title: string;
2490
- }): react_jsx_runtime.JSX.Element;
2491
-
2492
2514
  interface BodyTextProps extends React.HTMLAttributes<HTMLSpanElement> {
2493
2515
  children: ReactNode;
2494
2516
  size: TextSize;
@@ -16876,4 +16898,4 @@ declare const transactionRejectedAnimation: {
16876
16898
  markers: never[];
16877
16899
  };
16878
16900
 
16879
- export { type ActionButton, ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, type ActionStatus, ActionStatusRow, ActionWrapper, AddressButton, type AllOrNone, AnimationWrapper, Announcement, type AnnouncementProps, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowDownIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowSplit, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, type AssetsButtonVariant, AssetsView, AtomIcon, BackpackIcon, BadgeImage, BankIcon, type BaseActionProps, type BaseTransactionViewProps, BellAlarmIcon, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BridgeTransactionView, BrokenHeartIcon, BubblesIcon, Button, type ButtonSize, type ButtonVariant, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, CSS_VARS, Calendar, CaptionText, CatSquareIcon, ChainLink, Checkmark1Icon, Checkmark2Icon, ChevronArrowIcon, ChevronDownSmallIcon, ChevronGrabberVerticalIcon, ChevronLargeDownIcon, ChevronLargeRightIcon, ChevronRightSmallIcon, ChevronTopIcon, ChevronTopSmallIcon, Chip, type ChipProps, CircleMinusIcon, CirclePlusIcon, CircleX, CircleXFilledIcon, ClockOutlineIcon, ClockSolidIcon, CodeBracketsIcon, CodeSolidSquareIcon, CoinsAddIcon, CoinsIcon, CoinsOutlinedIcon, Collapse, CollapsibleMenu, CollectionIcon, ColorPaletteIcon, CommandIcon, CompassRoundOutlinedIcon, CompassRoundSolidIcon, ConsoleIcon, Copy, CopyIcon, CrossAnimatedIcon, CrossedOutSunSolidIcon, DashboardFast, type DeepPartial, type DescriptionBlock, DescriptionBlocks, DetailsToolbar, DiscordIcon, DockIconAnalytics, DockIconCheckout, DockIconHelp, DockIconProfile, DockIconScan, DockIconSwap, DockSwapIcon, DollarOutlinedIcon, DollarSolidIcon, DotGrid1x3HorizontalIcon, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuTitle, type DropdownPosition, type DropdownStyles, EmojiMeh, EmojiSadIcon, EmptyHeartIcon, ErrorMessage, EthereumIcon, ExplosionIcon, EyeOpenIcon, FavouriteFilterIcon, FeeButton, FeesAction, type FeesActionProps, FeesLines, FeesTotal, FileDownloadIcon, FilledHeartIcon, FilterAscendingIcon, FilterButton, FilterIcon, FilterTimelineIcon, GasIcon, GhostIcon, GithubIcon, HashLink, HeadingText, HeartSmallIcon, HelpIcon, HighestPriceRangeIcon, HistoryItem, type HistoryItemStatus, HomeIcon, IconButton, IconLabel, Image, ImageIcon, type ImageProps, ImageSparkle, ImageState, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LaptopIcon, LightningIcon, LimitIcon, LinkIcon, List, ListItem, ListItemActionsButton, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MainView, MarketCapIcon, MaxIcon, Menu, MenuItem, MenuSwapIcon, MirrorIcon, Modal, ModalContent, ModalContentDivider, MoonIcon, NavigationBar, NewspaperIcon, NotAllowedIcon, NumericInput, PathSquareIcon, PauseIcon, PercentIcon, PhoneIcon, PieChartIcon, PipeSeparator, PlusIcon, PoopIcon, PowerIcon, PriceChange, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, type PropertyListItemProps, type PublicTheme, PunkIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RecipientView, RefreshIcon, ReorderIcon, RouteStep, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, type Settings, SettingsButton, type SettingsButtonProps, type SettingsControl, SettingsGearIcon, SettingsItem, type SettingsItemProps, SettingsSlider, SettingsSliderIcon, type SettingsSliderProps, ShoppingBagIcon, SizeTransition, SmileIcon, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidLogo, SquidVector, StakeAction, StartAction, StocksIcon, SuccessAction, SunIcon, SunOutlinedIcon, SunriseIcon, SunriseSmallIcon, SwapAction, SwapConfiguration, SwapDetailsView, SwapErrorIcon, SwapHeader, type SwapHeaderProps, SwapIcon, SwapInputsIcon, SwapProgressView, SwapProgressViewHeader, SwapProperties, type SwapPropertiesProps, SwapState, type SwapStep, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, type SwapStepsCollapsedFooterButton, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, type SwitchProps, TagIcon, TagIconFilled, TextSkeleton, type Theme, ThemePreference, ThemeProvider, type ThemeType, ThumbsUp, Tick, TimeFliesIcon, type Timeframe, Timeline, Timestamp, Toast, TokenDetailsView, TokenPair, Tooltip, type TooltipProps, type TooltipThreshold, type TooltipWidth, TradingViewStepsIcon, TransactionAction, type TransactionActionProps, type TransactionActionType, TransactionFilters, TransactionHeader, TransactionHeaderLayout, type TransactionHeaderProps, type TransactionHeaderType, TransactionItem, TransactionProperties, type TransactionPropertiesProps, type TransactionPropertiesType, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, type TransactionViewProps, type TransactionViewType, Transfer, TranslateIcon, TriangleExclamation, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WalletsView, WrapAction, XSocial, baseTailwindConfig, blendColors, cn, darkTheme, getColorBrightness, getContrastColor, getHexColorFromOpacityPercentage, getWalletCardBackground, hexToRgb, isValidHexColor, lightTheme, linkActionTimelineProps, parseColor, parseSquidTheme, pxToRem, remToPx, rgbToHex, spacing, statusTextClassMap, transactionErrorPauseAnimation, transactionFailureAnimation, transactionHalfSuccessAnimation, transactionPendingAnimation, transactionProcessingAnimation, transactionRejectedAnimation, transactionSuccessAnimation, useCollapsibleMenu, useDropdownMenu, useMediaQuery, useOnResize, useRect, useTimer, useUserTheme, useVersion };
16901
+ export { type ActionButton, ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, type ActionStatus, ActionStatusRow, ActionWrapper, AddressButton, type AllOrNone, AnimationWrapper, Announcement, type AnnouncementProps, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowDownIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowSplit, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, type AssetsButtonVariant, AssetsView, AtomIcon, BackpackIcon, BadgeImage, BankIcon, type BaseActionProps, type BaseTransactionViewProps, BellAlarmIcon, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BridgeTransactionView, BrokenHeartIcon, BubblesIcon, Button, type ButtonSize, type ButtonVariant, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, CSS_VARS, Calendar, CaptionText, CatSquareIcon, ChainLink, Checkmark1Icon, Checkmark2Icon, ChevronArrowIcon, ChevronDownSmallIcon, ChevronGrabberVerticalIcon, ChevronLargeDownIcon, ChevronLargeRightIcon, ChevronRightSmallIcon, ChevronTopIcon, ChevronTopSmallIcon, Chip, type ChipProps, CircleMinusIcon, CirclePlusIcon, CircleX, CircleXFilledIcon, ClockOutlineIcon, ClockSolidIcon, CodeBracketsIcon, CodeSolidSquareIcon, CoinsAddIcon, CoinsIcon, CoinsOutlinedIcon, Collapse, CollapsibleMenu, CollectionIcon, ColorPaletteIcon, CommandIcon, CompassRoundOutlinedIcon, CompassRoundSolidIcon, ConsoleIcon, Copy, CopyIcon, CrossAnimatedIcon, CrossedOutSunSolidIcon, DashboardFast, type DeepPartial, type DescriptionBlock, DescriptionBlocks, DetailsToolbar, DiscordIcon, DockIconAnalytics, DockIconCheckout, DockIconHelp, DockIconProfile, DockIconScan, DockIconSwap, DockSwapIcon, DollarOutlinedIcon, DollarSolidIcon, DotGrid1x3HorizontalIcon, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuTitle, type DropdownPosition, type DropdownStyles, EmojiMeh, EmojiSadIcon, EmptyHeartIcon, ErrorMessage, EthereumIcon, ExplosionIcon, EyeOpenIcon, FavouriteFilterIcon, FeeButton, FeesAction, type FeesActionProps, FeesLines, FeesTotal, FileDownloadIcon, FilledHeartIcon, FilterAscendingIcon, FilterButton, FilterIcon, FilterTimelineIcon, GasIcon, GhostIcon, GithubIcon, HashLink, HeadingText, HeartSmallIcon, HelpIcon, HighestPriceRangeIcon, HistoryItem, type HistoryItemStatus, HomeIcon, IconButton, IconLabel, Image, ImageIcon, type ImageProps, ImageSparkle, ImageState, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LaptopIcon, LightningIcon, LimitIcon, LinkIcon, List, ListItem, ListItemActionsButton, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MainView, MarketCapIcon, MaxIcon, Menu, MenuItem, MenuSwapIcon, MirrorIcon, Modal, ModalContent, ModalContentDivider, MoonIcon, NavigationBar, NewspaperIcon, NotAllowedIcon, NumericInput, PathSquareIcon, PauseIcon, PercentIcon, PhoneIcon, PieChartIcon, PipeSeparator, PlusIcon, PoopIcon, PowerIcon, PriceChange, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, type PropertyListItemProps, type PublicTheme, PunkIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RecipientView, RefreshIcon, ReorderIcon, RouteStep, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, type Settings, SettingsButton, type SettingsButtonProps, type SettingsControl, SettingsGearIcon, SettingsItem, type SettingsItemProps, SettingsSlider, SettingsSliderIcon, type SettingsSliderProps, ShoppingBagIcon, SizeTransition, SmileIcon, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidLogo, SquidVector, StakeAction, StartAction, StocksIcon, SuccessAction, SunIcon, SunOutlinedIcon, SunriseIcon, SunriseSmallIcon, SwapAction, SwapConfiguration, SwapDetailsView, SwapErrorIcon, SwapHeader, type SwapHeaderProps, SwapIcon, SwapInputsIcon, SwapProgressView, SwapProgressViewHeader, SwapProperties, type SwapPropertiesProps, SwapState, type SwapStep, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, type SwapStepsCollapsedFooterButton, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, type SwitchProps, TagIcon, TagIconFilled, TextSkeleton, type Theme, ThemePreference, ThemeProvider, type ThemeType, ThumbsUp, Tick, TimeFliesIcon, type Timeframe, Timeline, Timestamp, Toast, TokenDetailsView, TokenGroup, type TokenGroupProps, TokenPair, Tooltip, type TooltipProps, type TooltipThreshold, type TooltipWidth, TradingViewStepsIcon, TransactionAction, type TransactionActionProps, type TransactionActionType, TransactionFilters, TransactionHeader, TransactionHeaderLayout, type TransactionHeaderProps, type TransactionHeaderType, TransactionItem, TransactionProperties, type TransactionPropertiesProps, type TransactionPropertiesType, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, type TransactionViewProps, type TransactionViewType, Transfer, TranslateIcon, TriangleExclamation, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WalletsView, WrapAction, XSocial, baseTailwindConfig, blendColors, cn, darkTheme, getColorBrightness, getContrastColor, getHexColorFromOpacityPercentage, getWalletCardBackground, hexToRgb, isValidHexColor, lightTheme, linkActionTimelineProps, parseColor, parseSquidTheme, pxToRem, remToPx, rgbToHex, spacing, statusTextClassMap, transactionErrorPauseAnimation, transactionFailureAnimation, transactionHalfSuccessAnimation, transactionPendingAnimation, transactionProcessingAnimation, transactionRejectedAnimation, transactionSuccessAnimation, useCollapsibleMenu, useDropdownMenu, useMediaQuery, useOnResize, useRect, useTimer, useUserTheme, useVersion };
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "git+https://github.com/0xsquid/squid-ui.git"
6
6
  },
7
7
  "description": "Squid's UI components",
8
- "version": "2.2.7",
8
+ "version": "2.2.9-beta.0",
9
9
  "author": "",
10
10
  "license": "MIT",
11
11
  "resolutions": {