vfs-kit 1.0.1 → 1.0.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.
Files changed (61) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +618 -35
  3. package/dist/VfsAdapter-BWjniD9Y.d.mts +57 -0
  4. package/dist/VfsAdapter-DOBt_TyL.d.ts +57 -0
  5. package/dist/VfsEngine-B6nhgyjQ.d.mts +152 -0
  6. package/dist/VfsEngine-DLx0iUpi.d.ts +152 -0
  7. package/dist/VfsNode-D10gxL5W.d.mts +48 -0
  8. package/dist/VfsNode-D10gxL5W.d.ts +48 -0
  9. package/dist/adapters/index.d.mts +201 -0
  10. package/dist/adapters/index.d.ts +201 -0
  11. package/dist/adapters/index.js +1159 -0
  12. package/dist/adapters/index.js.map +1 -0
  13. package/dist/adapters/index.mjs +1159 -0
  14. package/dist/adapters/index.mjs.map +1 -0
  15. package/dist/chunk-2FEJBM4N.js +60 -0
  16. package/dist/chunk-2FEJBM4N.js.map +1 -0
  17. package/dist/chunk-7OQI6PNM.mjs +60 -0
  18. package/dist/chunk-7OQI6PNM.mjs.map +1 -0
  19. package/dist/chunk-ALWOZGZI.mjs +23 -0
  20. package/dist/chunk-ALWOZGZI.mjs.map +1 -0
  21. package/dist/chunk-POSVS4C7.mjs +531 -0
  22. package/dist/chunk-POSVS4C7.mjs.map +1 -0
  23. package/dist/chunk-R3ROYAMW.js +23 -0
  24. package/dist/chunk-R3ROYAMW.js.map +1 -0
  25. package/dist/chunk-SWRBVSS6.mjs +16 -0
  26. package/dist/chunk-SWRBVSS6.mjs.map +1 -0
  27. package/dist/chunk-U2CKTXY7.js +16 -0
  28. package/dist/chunk-U2CKTXY7.js.map +1 -0
  29. package/dist/chunk-WZVVI3HX.js +531 -0
  30. package/dist/chunk-WZVVI3HX.js.map +1 -0
  31. package/dist/components/index.d.mts +193 -0
  32. package/dist/components/index.d.ts +193 -0
  33. package/dist/components/index.js +1197 -0
  34. package/dist/components/index.js.map +1 -0
  35. package/dist/components/index.mjs +1197 -0
  36. package/dist/components/index.mjs.map +1 -0
  37. package/dist/hooks/index.d.mts +120 -0
  38. package/dist/hooks/index.d.ts +120 -0
  39. package/dist/hooks/index.js +51 -0
  40. package/dist/hooks/index.js.map +1 -0
  41. package/dist/hooks/index.mjs +51 -0
  42. package/dist/hooks/index.mjs.map +1 -0
  43. package/dist/index.d.mts +42 -0
  44. package/dist/index.d.ts +38 -3
  45. package/dist/index.js +528 -13
  46. package/dist/index.js.map +1 -0
  47. package/dist/index.mjs +530 -0
  48. package/dist/index.mjs.map +1 -0
  49. package/dist/useVfsTabs-ZHDaLrM1.d.mts +39 -0
  50. package/dist/useVfsTabs-ZHDaLrM1.d.ts +39 -0
  51. package/package.json +59 -61
  52. package/dist/index.cjs +0 -43
  53. package/dist/index.d.cts +0 -7
  54. package/index.js +0 -7
  55. package/src/components/TreeView.tsx +0 -5
  56. package/src/components/index.ts +0 -1
  57. package/src/hooks/index.ts +0 -1
  58. package/src/hooks/useVfs.ts +0 -3
  59. package/src/index.ts +0 -2
  60. package/tsconfig.json +0 -44
  61. package/tsup.config.ts +0 -10
@@ -0,0 +1,193 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { b as VfsFileNode, e as VfsNode } from '../VfsNode-D10gxL5W.mjs';
3
+ import { a as VfsTab } from '../useVfsTabs-ZHDaLrM1.mjs';
4
+ import { KeyboardEvent } from 'react';
5
+
6
+ interface InlineInputProps {
7
+ initialValue?: string;
8
+ onSubmit: (value: string) => void;
9
+ onComplete: () => void;
10
+ validate?: (value: string) => string | null;
11
+ icon?: React.ReactNode;
12
+ className?: string;
13
+ selectOnMount?: boolean;
14
+ trim?: boolean;
15
+ }
16
+ declare function InlineInput({ initialValue, onSubmit, onComplete, validate, icon, className, selectOnMount, trim, }: InlineInputProps): react_jsx_runtime.JSX.Element;
17
+
18
+ interface FileRendererRenderProps<TMeta = Record<string, unknown>> {
19
+ node: VfsFileNode<TMeta>;
20
+ content: Uint8Array | null;
21
+ loading: boolean;
22
+ error: Error | null;
23
+ }
24
+ interface FileRendererBaseProps<TMeta = Record<string, unknown>> {
25
+ node: VfsFileNode<TMeta> | null;
26
+ content?: Uint8Array | null;
27
+ children: (props: FileRendererRenderProps<TMeta>) => React.ReactNode;
28
+ fallback?: React.ReactNode;
29
+ onLoad?: (node: VfsFileNode<TMeta>, content: Uint8Array) => void;
30
+ onError?: (node: VfsFileNode<TMeta>, error: Error) => void;
31
+ }
32
+ declare function FileRendererBase<TMeta = Record<string, unknown>>({ node, content: externalContent, children, fallback, onLoad, onError, }: FileRendererBaseProps<TMeta>): react_jsx_runtime.JSX.Element;
33
+ interface FileRendererProps<TMeta = Record<string, unknown>> extends Omit<FileRendererBaseProps<TMeta>, "node" | "content"> {
34
+ workspaceId?: string;
35
+ }
36
+ interface FileRendererProps<TMeta = Record<string, unknown>> extends Omit<FileRendererBaseProps<TMeta>, "node" | "content"> {
37
+ workspaceId?: string;
38
+ activeNodeId: string | null;
39
+ }
40
+ declare function FileRenderer<TMeta extends Record<string, unknown> | undefined = Record<string, unknown>>({ workspaceId, activeNodeId, children, fallback, onLoad, onError, }: FileRendererProps<TMeta>): react_jsx_runtime.JSX.Element;
41
+
42
+ interface TabRenderProps {
43
+ tabs: VfsTab[];
44
+ activeTabId: string | null;
45
+ activeTab: VfsTab | null;
46
+ dragHandleProps: (tabId: string) => Record<string, unknown>;
47
+ onClose: (tabId: string) => void;
48
+ onSetActive: (tabId: string) => void;
49
+ onLock: (tabId: string) => void;
50
+ onUnlock: (tabId: string) => void;
51
+ }
52
+ interface TabListBaseProps {
53
+ tabs: VfsTab[];
54
+ activeTabId: string | null;
55
+ onReorder: (activeId: string, overId: string) => void;
56
+ onClose: (tabId: string) => void;
57
+ onSetActive: (tabId: string) => void;
58
+ onLock: (tabId: string) => void;
59
+ onUnlock: (tabId: string) => void;
60
+ sortable?: boolean;
61
+ children?: (props: TabRenderProps) => React.ReactNode;
62
+ className?: string;
63
+ }
64
+ interface TabListProps {
65
+ workspaceIds?: string[];
66
+ sortable?: boolean;
67
+ children?: (props: TabRenderProps) => React.ReactNode;
68
+ className?: string;
69
+ }
70
+ declare function TabListBase({ tabs, activeTabId, onReorder, onClose, onSetActive, onLock, onUnlock, sortable, children, className, }: TabListBaseProps): react_jsx_runtime.JSX.Element;
71
+ declare function TabList({ workspaceIds, sortable, children, className, }: TabListProps): react_jsx_runtime.JSX.Element;
72
+
73
+ interface FlatNode<TMeta = Record<string, unknown>> {
74
+ node: VfsNode<TMeta>;
75
+ level: number;
76
+ index: number;
77
+ isOpen: boolean;
78
+ hasChildren: boolean;
79
+ }
80
+ interface NodeRenderProps<TMeta = Record<string, unknown>> {
81
+ flatNode: FlatNode<TMeta>;
82
+ isSelected: boolean;
83
+ isActive: boolean;
84
+ isDragging: boolean;
85
+ isOver: boolean;
86
+ isOverBlocked: boolean;
87
+ isRenaming: boolean;
88
+ setRenaming: (v: boolean) => void;
89
+ dragHandleProps: Record<string, unknown>;
90
+ style: React.CSSProperties;
91
+ onClick: (e: React.MouseEvent) => void;
92
+ /** True while ANY drag is in progress — use to suppress hover styles */
93
+ isDragSession: boolean;
94
+ }
95
+ interface FileTreeRenderProps<TMeta = Record<string, unknown>> {
96
+ flatNodes: FlatNode<TMeta>[];
97
+ renderNode: (flatNode: FlatNode<TMeta>) => React.ReactNode;
98
+ }
99
+ interface KeyboardHandler<TMeta> {
100
+ (e: KeyboardEvent, node: VfsNode<TMeta>, defaultHandler: (e: KeyboardEvent, node: VfsNode<TMeta>) => void): void;
101
+ }
102
+ interface VirtualizerOverride {
103
+ itemHeight: number;
104
+ renderItems: (items: {
105
+ index: number;
106
+ start: number;
107
+ size: number;
108
+ }[], totalSize: number, renderItem: (index: number) => React.ReactNode) => React.ReactNode;
109
+ }
110
+ type FolderOverlayMode = "header" | "body" | "full";
111
+ interface FolderOverlayRenderProps<TMeta = Record<string, unknown>> {
112
+ targetFolder: VfsNode<TMeta>;
113
+ visibleRowCount: number;
114
+ isEmpty: boolean;
115
+ mode: FolderOverlayMode;
116
+ isBlocked: boolean;
117
+ }
118
+ interface FolderOverlayProps<TMeta = Record<string, unknown>> {
119
+ mode: FolderOverlayMode;
120
+ renderOverlay?: (props: FolderOverlayRenderProps<TMeta>) => React.ReactNode;
121
+ emptyStateHeight?: number;
122
+ }
123
+ interface InlineCreateState {
124
+ kind: "file" | "folder";
125
+ /**
126
+ * The folder to create inside. null = root level.
127
+ * FileTree resolves this automatically from the active selection —
128
+ * consumers just pass { kind } and FileTree fills in parentId.
129
+ */
130
+ parentId: string | null;
131
+ }
132
+ interface FileTreeBaseProps<TMeta = Record<string, unknown>> {
133
+ nodes: Map<string, VfsNode<TMeta>>;
134
+ childIndex: Map<string, string[]>;
135
+ rootIds: string[];
136
+ expandedIds: Set<string>;
137
+ selection: string[];
138
+ activeNodeId: string | null;
139
+ renamingId: string | null;
140
+ onExpand: (id: string) => void;
141
+ onCollapse: (id: string) => void;
142
+ onSelect: (id: string) => void;
143
+ onToggle: (id: string) => void;
144
+ onRangeSelect: (orderedIds: string[], anchorId: string, targetId: string) => void;
145
+ onOpen: (node: VfsNode<TMeta>) => void;
146
+ onRename: (id: string, newName: string) => void;
147
+ onDelete: (ids: string[]) => void;
148
+ onMove: (ids: string[], targetId: string | null) => void;
149
+ onReorder: (parentId: string | null, orderedIds: string[]) => void;
150
+ onSetRenaming: (id: string | null) => void;
151
+ onCreate: (kind: "file" | "folder", parentId: string | null, name: string) => Promise<void>;
152
+ inlineCreate?: InlineCreateState | null;
153
+ onCancelCreate: () => void;
154
+ sortable?: boolean;
155
+ draggable?: boolean;
156
+ virtualized?: boolean;
157
+ virtualizer?: VirtualizerOverride;
158
+ itemHeight?: number;
159
+ renderNode?: (props: NodeRenderProps<TMeta>) => React.ReactNode;
160
+ renderActions?: (node: VfsNode<TMeta>) => React.ReactNode;
161
+ renderEmpty?: () => React.ReactNode;
162
+ children?: (props: FileTreeRenderProps<TMeta>) => React.ReactNode;
163
+ onKeyDown?: KeyboardHandler<TMeta>;
164
+ className?: string;
165
+ folderOverlay?: FolderOverlayProps<TMeta>;
166
+ }
167
+ interface FileTreeProps<TMeta = Record<string, unknown>> {
168
+ workspaceId?: string;
169
+ sortable?: boolean;
170
+ draggable?: boolean;
171
+ virtualized?: boolean;
172
+ virtualizer?: VirtualizerOverride;
173
+ itemHeight?: number;
174
+ renderNode?: (props: NodeRenderProps<TMeta>) => React.ReactNode;
175
+ renderActions?: (node: VfsNode<TMeta>) => React.ReactNode;
176
+ renderEmpty?: () => React.ReactNode;
177
+ children?: (props: FileTreeRenderProps<TMeta>) => React.ReactNode;
178
+ onKeyDown?: KeyboardHandler<TMeta>;
179
+ className?: string;
180
+ folderOverlay?: FolderOverlayProps<TMeta>;
181
+ /**
182
+ * Pass { kind } only — FileTree resolves parentId from the active
183
+ * selection automatically. Pass null to hide the input.
184
+ */
185
+ inlineCreate?: Pick<InlineCreateState, "kind"> | null;
186
+ onCancelCreate?: () => void;
187
+ }
188
+
189
+ declare function FileTree<TMeta extends Record<string, unknown> | undefined = Record<string, unknown>>({ workspaceId, inlineCreate: inlineCreateProp, onCancelCreate, ...rest }: FileTreeProps<TMeta>): react_jsx_runtime.JSX.Element;
190
+
191
+ declare function FileTreeBase<TMeta = Record<string, unknown>>({ nodes, childIndex, rootIds, expandedIds, selection, activeNodeId, renamingId, onExpand, onCollapse, onSelect, onToggle, onRangeSelect, onOpen, onRename, onDelete, onMove, onReorder, onSetRenaming, onCreate, inlineCreate, onCancelCreate, sortable, draggable, virtualized, virtualizer: virtualizerOverride, itemHeight, renderNode, renderActions, renderEmpty, children, onKeyDown: customKeyDown, className, folderOverlay, }: FileTreeBaseProps<TMeta>): react_jsx_runtime.JSX.Element;
192
+
193
+ export { FileRenderer, FileRendererBase, type FileRendererBaseProps, type FileRendererProps, type FileRendererRenderProps, FileTree, FileTreeBase, type FileTreeBaseProps, type FileTreeProps, type FileTreeRenderProps, type FlatNode, InlineInput, type InlineInputProps, type KeyboardHandler, type NodeRenderProps, TabList, TabListBase, type TabListBaseProps, type TabListProps, type TabRenderProps, type VirtualizerOverride };
@@ -0,0 +1,193 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { b as VfsFileNode, e as VfsNode } from '../VfsNode-D10gxL5W.js';
3
+ import { a as VfsTab } from '../useVfsTabs-ZHDaLrM1.js';
4
+ import { KeyboardEvent } from 'react';
5
+
6
+ interface InlineInputProps {
7
+ initialValue?: string;
8
+ onSubmit: (value: string) => void;
9
+ onComplete: () => void;
10
+ validate?: (value: string) => string | null;
11
+ icon?: React.ReactNode;
12
+ className?: string;
13
+ selectOnMount?: boolean;
14
+ trim?: boolean;
15
+ }
16
+ declare function InlineInput({ initialValue, onSubmit, onComplete, validate, icon, className, selectOnMount, trim, }: InlineInputProps): react_jsx_runtime.JSX.Element;
17
+
18
+ interface FileRendererRenderProps<TMeta = Record<string, unknown>> {
19
+ node: VfsFileNode<TMeta>;
20
+ content: Uint8Array | null;
21
+ loading: boolean;
22
+ error: Error | null;
23
+ }
24
+ interface FileRendererBaseProps<TMeta = Record<string, unknown>> {
25
+ node: VfsFileNode<TMeta> | null;
26
+ content?: Uint8Array | null;
27
+ children: (props: FileRendererRenderProps<TMeta>) => React.ReactNode;
28
+ fallback?: React.ReactNode;
29
+ onLoad?: (node: VfsFileNode<TMeta>, content: Uint8Array) => void;
30
+ onError?: (node: VfsFileNode<TMeta>, error: Error) => void;
31
+ }
32
+ declare function FileRendererBase<TMeta = Record<string, unknown>>({ node, content: externalContent, children, fallback, onLoad, onError, }: FileRendererBaseProps<TMeta>): react_jsx_runtime.JSX.Element;
33
+ interface FileRendererProps<TMeta = Record<string, unknown>> extends Omit<FileRendererBaseProps<TMeta>, "node" | "content"> {
34
+ workspaceId?: string;
35
+ }
36
+ interface FileRendererProps<TMeta = Record<string, unknown>> extends Omit<FileRendererBaseProps<TMeta>, "node" | "content"> {
37
+ workspaceId?: string;
38
+ activeNodeId: string | null;
39
+ }
40
+ declare function FileRenderer<TMeta extends Record<string, unknown> | undefined = Record<string, unknown>>({ workspaceId, activeNodeId, children, fallback, onLoad, onError, }: FileRendererProps<TMeta>): react_jsx_runtime.JSX.Element;
41
+
42
+ interface TabRenderProps {
43
+ tabs: VfsTab[];
44
+ activeTabId: string | null;
45
+ activeTab: VfsTab | null;
46
+ dragHandleProps: (tabId: string) => Record<string, unknown>;
47
+ onClose: (tabId: string) => void;
48
+ onSetActive: (tabId: string) => void;
49
+ onLock: (tabId: string) => void;
50
+ onUnlock: (tabId: string) => void;
51
+ }
52
+ interface TabListBaseProps {
53
+ tabs: VfsTab[];
54
+ activeTabId: string | null;
55
+ onReorder: (activeId: string, overId: string) => void;
56
+ onClose: (tabId: string) => void;
57
+ onSetActive: (tabId: string) => void;
58
+ onLock: (tabId: string) => void;
59
+ onUnlock: (tabId: string) => void;
60
+ sortable?: boolean;
61
+ children?: (props: TabRenderProps) => React.ReactNode;
62
+ className?: string;
63
+ }
64
+ interface TabListProps {
65
+ workspaceIds?: string[];
66
+ sortable?: boolean;
67
+ children?: (props: TabRenderProps) => React.ReactNode;
68
+ className?: string;
69
+ }
70
+ declare function TabListBase({ tabs, activeTabId, onReorder, onClose, onSetActive, onLock, onUnlock, sortable, children, className, }: TabListBaseProps): react_jsx_runtime.JSX.Element;
71
+ declare function TabList({ workspaceIds, sortable, children, className, }: TabListProps): react_jsx_runtime.JSX.Element;
72
+
73
+ interface FlatNode<TMeta = Record<string, unknown>> {
74
+ node: VfsNode<TMeta>;
75
+ level: number;
76
+ index: number;
77
+ isOpen: boolean;
78
+ hasChildren: boolean;
79
+ }
80
+ interface NodeRenderProps<TMeta = Record<string, unknown>> {
81
+ flatNode: FlatNode<TMeta>;
82
+ isSelected: boolean;
83
+ isActive: boolean;
84
+ isDragging: boolean;
85
+ isOver: boolean;
86
+ isOverBlocked: boolean;
87
+ isRenaming: boolean;
88
+ setRenaming: (v: boolean) => void;
89
+ dragHandleProps: Record<string, unknown>;
90
+ style: React.CSSProperties;
91
+ onClick: (e: React.MouseEvent) => void;
92
+ /** True while ANY drag is in progress — use to suppress hover styles */
93
+ isDragSession: boolean;
94
+ }
95
+ interface FileTreeRenderProps<TMeta = Record<string, unknown>> {
96
+ flatNodes: FlatNode<TMeta>[];
97
+ renderNode: (flatNode: FlatNode<TMeta>) => React.ReactNode;
98
+ }
99
+ interface KeyboardHandler<TMeta> {
100
+ (e: KeyboardEvent, node: VfsNode<TMeta>, defaultHandler: (e: KeyboardEvent, node: VfsNode<TMeta>) => void): void;
101
+ }
102
+ interface VirtualizerOverride {
103
+ itemHeight: number;
104
+ renderItems: (items: {
105
+ index: number;
106
+ start: number;
107
+ size: number;
108
+ }[], totalSize: number, renderItem: (index: number) => React.ReactNode) => React.ReactNode;
109
+ }
110
+ type FolderOverlayMode = "header" | "body" | "full";
111
+ interface FolderOverlayRenderProps<TMeta = Record<string, unknown>> {
112
+ targetFolder: VfsNode<TMeta>;
113
+ visibleRowCount: number;
114
+ isEmpty: boolean;
115
+ mode: FolderOverlayMode;
116
+ isBlocked: boolean;
117
+ }
118
+ interface FolderOverlayProps<TMeta = Record<string, unknown>> {
119
+ mode: FolderOverlayMode;
120
+ renderOverlay?: (props: FolderOverlayRenderProps<TMeta>) => React.ReactNode;
121
+ emptyStateHeight?: number;
122
+ }
123
+ interface InlineCreateState {
124
+ kind: "file" | "folder";
125
+ /**
126
+ * The folder to create inside. null = root level.
127
+ * FileTree resolves this automatically from the active selection —
128
+ * consumers just pass { kind } and FileTree fills in parentId.
129
+ */
130
+ parentId: string | null;
131
+ }
132
+ interface FileTreeBaseProps<TMeta = Record<string, unknown>> {
133
+ nodes: Map<string, VfsNode<TMeta>>;
134
+ childIndex: Map<string, string[]>;
135
+ rootIds: string[];
136
+ expandedIds: Set<string>;
137
+ selection: string[];
138
+ activeNodeId: string | null;
139
+ renamingId: string | null;
140
+ onExpand: (id: string) => void;
141
+ onCollapse: (id: string) => void;
142
+ onSelect: (id: string) => void;
143
+ onToggle: (id: string) => void;
144
+ onRangeSelect: (orderedIds: string[], anchorId: string, targetId: string) => void;
145
+ onOpen: (node: VfsNode<TMeta>) => void;
146
+ onRename: (id: string, newName: string) => void;
147
+ onDelete: (ids: string[]) => void;
148
+ onMove: (ids: string[], targetId: string | null) => void;
149
+ onReorder: (parentId: string | null, orderedIds: string[]) => void;
150
+ onSetRenaming: (id: string | null) => void;
151
+ onCreate: (kind: "file" | "folder", parentId: string | null, name: string) => Promise<void>;
152
+ inlineCreate?: InlineCreateState | null;
153
+ onCancelCreate: () => void;
154
+ sortable?: boolean;
155
+ draggable?: boolean;
156
+ virtualized?: boolean;
157
+ virtualizer?: VirtualizerOverride;
158
+ itemHeight?: number;
159
+ renderNode?: (props: NodeRenderProps<TMeta>) => React.ReactNode;
160
+ renderActions?: (node: VfsNode<TMeta>) => React.ReactNode;
161
+ renderEmpty?: () => React.ReactNode;
162
+ children?: (props: FileTreeRenderProps<TMeta>) => React.ReactNode;
163
+ onKeyDown?: KeyboardHandler<TMeta>;
164
+ className?: string;
165
+ folderOverlay?: FolderOverlayProps<TMeta>;
166
+ }
167
+ interface FileTreeProps<TMeta = Record<string, unknown>> {
168
+ workspaceId?: string;
169
+ sortable?: boolean;
170
+ draggable?: boolean;
171
+ virtualized?: boolean;
172
+ virtualizer?: VirtualizerOverride;
173
+ itemHeight?: number;
174
+ renderNode?: (props: NodeRenderProps<TMeta>) => React.ReactNode;
175
+ renderActions?: (node: VfsNode<TMeta>) => React.ReactNode;
176
+ renderEmpty?: () => React.ReactNode;
177
+ children?: (props: FileTreeRenderProps<TMeta>) => React.ReactNode;
178
+ onKeyDown?: KeyboardHandler<TMeta>;
179
+ className?: string;
180
+ folderOverlay?: FolderOverlayProps<TMeta>;
181
+ /**
182
+ * Pass { kind } only — FileTree resolves parentId from the active
183
+ * selection automatically. Pass null to hide the input.
184
+ */
185
+ inlineCreate?: Pick<InlineCreateState, "kind"> | null;
186
+ onCancelCreate?: () => void;
187
+ }
188
+
189
+ declare function FileTree<TMeta extends Record<string, unknown> | undefined = Record<string, unknown>>({ workspaceId, inlineCreate: inlineCreateProp, onCancelCreate, ...rest }: FileTreeProps<TMeta>): react_jsx_runtime.JSX.Element;
190
+
191
+ declare function FileTreeBase<TMeta = Record<string, unknown>>({ nodes, childIndex, rootIds, expandedIds, selection, activeNodeId, renamingId, onExpand, onCollapse, onSelect, onToggle, onRangeSelect, onOpen, onRename, onDelete, onMove, onReorder, onSetRenaming, onCreate, inlineCreate, onCancelCreate, sortable, draggable, virtualized, virtualizer: virtualizerOverride, itemHeight, renderNode, renderActions, renderEmpty, children, onKeyDown: customKeyDown, className, folderOverlay, }: FileTreeBaseProps<TMeta>): react_jsx_runtime.JSX.Element;
192
+
193
+ export { FileRenderer, FileRendererBase, type FileRendererBaseProps, type FileRendererProps, type FileRendererRenderProps, FileTree, FileTreeBase, type FileTreeBaseProps, type FileTreeProps, type FileTreeRenderProps, type FlatNode, InlineInput, type InlineInputProps, type KeyboardHandler, type NodeRenderProps, TabList, TabListBase, type TabListBaseProps, type TabListProps, type TabRenderProps, type VirtualizerOverride };