@dust-tt/sparkle 0.2.56 → 0.2.57

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.
@@ -7,12 +7,12 @@ export interface DropdownMenuProps {
7
7
  export declare function DropdownMenu({ children, className }: DropdownMenuProps): React.JSX.Element;
8
8
  export declare namespace DropdownMenu {
9
9
  var Button: ({ label, type, size, tooltip, icon, children, tooltipPosition, className, disabled, onClick, }: DropdownButtonProps) => React.JSX.Element;
10
- var Item: ({ label, description, href, disabled, visual, icon, onClick, }: DropdownItemProps) => React.JSX.Element;
10
+ var Item: ({ label, description, href, disabled, visual, icon, onClick, hasChildren, children, }: DropdownItemProps) => React.JSX.Element;
11
11
  var Items: ({ origin, width, children, }: DropdownItemsProps) => React.JSX.Element;
12
12
  }
13
13
  export interface DropdownButtonProps {
14
14
  label?: string;
15
- type?: "menu" | "select";
15
+ type?: "menu" | "submenu" | "select";
16
16
  size?: "sm" | "md";
17
17
  tooltip?: string;
18
18
  tooltipPosition?: TooltipProps["position"];
@@ -30,6 +30,8 @@ interface DropdownItemProps {
30
30
  visual?: string | React.ReactNode;
31
31
  icon?: ComponentType;
32
32
  onClick?: () => void;
33
+ hasChildren?: boolean;
34
+ children?: React.ReactNode;
33
35
  }
34
36
  interface DropdownItemsProps {
35
37
  origin?: "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "auto";
package/dist/esm/index.js CHANGED
@@ -32738,17 +32738,18 @@ DropdownMenu.Button = function (_a) {
32738
32738
  return (React__default.createElement(React__default.Fragment, null, tooltip ? (React__default.createElement(Tooltip, { label: tooltip, position: tooltipPosition },
32739
32739
  React__default.createElement(it.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5") },
32740
32740
  React__default.createElement(Icon, { visual: icon, size: size, className: finalIconClasses }),
32741
- React__default.createElement(Icon, { visual: type === "select" ? SvgChevronUpDown$1 : SvgChevronDown$1, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))) : (React__default.createElement(it.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5") },
32741
+ React__default.createElement(Icon, { visual: type === "select" ? SvgChevronUpDown$1 : SvgChevronDown$1, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))) : (React__default.createElement(it.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5", type === "submenu" ? "s-opacity-50" : "") },
32742
32742
  React__default.createElement(Icon, { visual: icon, size: size, className: finalIconClasses }),
32743
- React__default.createElement("span", { className: finalLabelClasses }, label),
32743
+ React__default.createElement("span", { className: classNames(finalLabelClasses, type === "submenu" ? "s-w-full" : "") }, label),
32744
32744
  React__default.createElement(Icon, { visual: type === "select" ? SvgChevronUpDown$1 : SvgChevronDown$1, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))));
32745
32745
  };
32746
32746
  DropdownMenu.Item = function (_a) {
32747
- var label = _a.label, description = _a.description, href = _a.href, disabled = _a.disabled, visual = _a.visual, icon = _a.icon, onClick = _a.onClick;
32747
+ var label = _a.label, description = _a.description, href = _a.href, disabled = _a.disabled, visual = _a.visual, icon = _a.icon, onClick = _a.onClick, hasChildren = _a.hasChildren, children = _a.children;
32748
32748
  return (
32749
32749
  // need to use as="div" -- otherwise we get a "forwardRef" error in the console
32750
- React__default.createElement(it.Item, { disabled: disabled, as: "div" },
32751
- React__default.createElement(Item.Dropdown, { className: "s-w-full s-px-4", href: href, onClick: onClick, label: label, visual: visual, icon: icon, description: description })));
32750
+ React__default.createElement(it.Item, { disabled: disabled, as: "div" }, hasChildren ? (React__default.createElement(DropdownMenu, { className: "s-w-full s-gap-x-2 s-px-4 s-py-2" },
32751
+ React__default.createElement(DropdownMenu.Button, { label: label, type: "submenu", className: "s-w-full" }),
32752
+ children)) : (React__default.createElement(Item.Dropdown, { className: "s-w-full s-px-4", href: href, onClick: onClick, label: label, visual: visual, icon: icon, description: description }))));
32752
32753
  };
32753
32754
  DropdownMenu.Items = function (_a) {
32754
32755
  var _b = _a.origin, origin = _b === void 0 ? "auto" : _b, _c = _a.width, width = _c === void 0 ? 160 : _c, children = _a.children;