aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
51 lines • 1.69 kB
TypeScript
import React from "react";
export interface TreeNode {
id: string;
name: string;
type: "file" | "folder";
path: string;
size?: number;
modifiedAt?: Date;
extension?: string;
children?: TreeNode[];
isExpanded?: boolean;
isLoading?: boolean;
canExpand?: boolean;
level: number;
}
export interface GlassFileTreeProps {
nodes?: TreeNode[];
onNodeSelect?: (node: TreeNode) => void;
onNodeToggle?: (nodeId: string, expanded: boolean) => void;
onNodeCreate?: (parentId: string, name: string, type: "file" | "folder") => void;
onNodeDelete?: (nodeId: string) => void;
onNodeRename?: (nodeId: string, newName: string) => void;
onNodeMove?: (nodeId: string, newParentId: string) => void;
onNodeCopy?: (nodeId: string, newParentId: string) => void;
selectedNodeId?: string;
expandedNodes?: string[];
onExpandedChange?: (expandedNodes: string[]) => void;
searchQuery?: string;
onSearchChange?: (query: string) => void;
showIcons?: boolean;
showSize?: boolean;
showModified?: boolean;
allowCreate?: boolean;
allowDelete?: boolean;
allowRename?: boolean;
allowMove?: boolean;
allowCopy?: boolean;
className?: string;
maxHeight?: string | number;
virtualize?: boolean;
variant?: "default" | "compact" | "minimal";
size?: "sm" | "md" | "lg";
elevation?: "low" | "medium" | "high";
/**
* Custom data-testid for testing
*/
"data-testid"?: string;
}
declare const GlassFileTree: React.ForwardRefExoticComponent<GlassFileTreeProps & React.RefAttributes<HTMLDivElement>>;
export { GlassFileTree };
//# sourceMappingURL=GlassFileTree.d.ts.map