@dust-tt/sparkle 0.2.162 → 0.2.163

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.
@@ -6,9 +6,9 @@ export interface TreeProps {
6
6
  }
7
7
  export declare function Tree({ children, isLoading }: TreeProps): React.JSX.Element;
8
8
  export declare namespace Tree {
9
- var Item: ({ label, type, className, variant, visual, checkbox, onChevronClick, collapsed, children, actions, }: TreeItemProps) => React.JSX.Element;
9
+ var Item: ({ label, type, className, variant, visual, checkbox, onChevronClick, collapsed, defaultCollapsed, actions, renderTreeItems, children, }: TreeItemPropsWithChildren | TreeItemPropsWithRender) => React.JSX.Element;
10
10
  }
11
- export interface TreeItemProps {
11
+ interface TreeItemProps {
12
12
  label?: string;
13
13
  type?: "node" | "item" | "leaf";
14
14
  variant?: "file" | "folder" | "database" | "channel";
@@ -16,7 +16,16 @@ export interface TreeItemProps {
16
16
  checkbox?: CheckboxProps;
17
17
  onChevronClick?: () => void;
18
18
  collapsed?: boolean;
19
+ defaultCollapsed?: boolean;
19
20
  className?: string;
20
21
  actions?: React.ReactNode;
22
+ }
23
+ export interface TreeItemPropsWithChildren extends TreeItemProps {
24
+ renderTreeItems?: never;
21
25
  children?: React.ReactNode;
22
26
  }
27
+ export interface TreeItemPropsWithRender extends TreeItemProps {
28
+ renderTreeItems: () => React.ReactNode;
29
+ children?: never;
30
+ }
31
+ export {};
package/dist/esm/index.js CHANGED
@@ -75987,10 +75987,25 @@ var visualTable = {
75987
75987
  channel: SvgChatBubbleBottomCenterText,
75988
75988
  };
75989
75989
  Tree.Item = function (_a) {
75990
- var label = _a.label, _b = _a.type, type = _b === void 0 ? "node" : _b, _c = _a.className, className = _c === void 0 ? "" : _c, _d = _a.variant, variant = _d === void 0 ? "file" : _d, visual = _a.visual, checkbox = _a.checkbox, onChevronClick = _a.onChevronClick, collapsed = _a.collapsed, children = _a.children, actions = _a.actions;
75990
+ var label = _a.label, _b = _a.type, type = _b === void 0 ? "node" : _b, _c = _a.className, className = _c === void 0 ? "" : _c, _d = _a.variant, variant = _d === void 0 ? "file" : _d, visual = _a.visual, checkbox = _a.checkbox, onChevronClick = _a.onChevronClick, collapsed = _a.collapsed, defaultCollapsed = _a.defaultCollapsed, actions = _a.actions, renderTreeItems = _a.renderTreeItems, children = _a.children;
75991
+ var _e = __read(useState(defaultCollapsed !== null && defaultCollapsed !== void 0 ? defaultCollapsed : true), 2), collapsedState = _e[0], setCollapsedState = _e[1];
75992
+ var isControlledCollapse = collapsed !== undefined;
75993
+ var effectiveCollapsed = isControlledCollapse ? collapsed : collapsedState;
75994
+ var effectiveOnChevronClick = isControlledCollapse
75995
+ ? onChevronClick
75996
+ : function () { return setCollapsedState(!collapsedState); };
75997
+ var getChildren = function () {
75998
+ if (effectiveCollapsed) {
75999
+ return [];
76000
+ }
76001
+ return typeof renderTreeItems === "function" ? renderTreeItems() : children;
76002
+ };
76003
+ var childrenToRender = getChildren();
75991
76004
  return (React__default.createElement(React__default.Fragment, null,
75992
76005
  React__default.createElement("div", { className: classNames(className ? className : "", "s-flex s-flex-row s-items-center s-gap-4 s-py-1") },
75993
- type === "node" && (React__default.createElement(IconButton, { icon: children && !collapsed ? SvgChevronDown : SvgChevronRight, size: "sm", variant: "secondary", onClick: onChevronClick })),
76006
+ type === "node" && (React__default.createElement(IconButton, { icon: childrenToRender && !effectiveCollapsed
76007
+ ? SvgChevronDown
76008
+ : SvgChevronRight, size: "sm", variant: "secondary", onClick: effectiveOnChevronClick })),
75994
76009
  type === "leaf" && React__default.createElement("div", { className: "s-w-5" }),
75995
76010
  checkbox && React__default.createElement(Checkbox, __assign({}, checkbox)),
75996
76011
  React__default.createElement("div", { className: "s-flex s-w-full s-items-center s-gap-1.5 s-text-sm s-font-medium s-text-element-900" },
@@ -75998,7 +76013,7 @@ Tree.Item = function (_a) {
75998
76013
  visual ? (visual) : (React__default.createElement(Icon, { visual: visualTable[variant], size: "sm", className: "s-flex-shrink-0 s-text-element-700" })),
75999
76014
  React__default.createElement("div", { className: "s-truncate" }, label),
76000
76015
  actions && React__default.createElement("div", { className: "s-inline-block s-pl-5" }, actions)))),
76001
- React__default.Children.count(children) > 0 && (React__default.createElement("div", { className: "s-pl-5" }, !collapsed && children))));
76016
+ React__default.Children.count(childrenToRender) > 0 && (React__default.createElement("div", { className: "s-pl-5" }, childrenToRender))));
76002
76017
  };
76003
76018
 
76004
76019
  var baseClasses = "s-transition-all s-ease-out s-duration-300 s-cursor-pointer hover:s-scale-110";