Founding price: $35, then $79.99 after 23:59 UTC on 4 November, then $79.99
Get ProA file tree with icons by type, in-place rename on F2 with validation, Delete handling and version control marks that are also spoken.
This item has no props to tune. Use the lens above to change theme, density, direction and more.
Use it for code editors, storage browsers, asset managers and anything that looks like a project folder.
Do not use it for read-only display of a structure (use the simpler file-tree), or for hierarchies that are not files.
It uses tree-view, which the CLI installs for you.
| Prop | Type | Default | Description |
|---|---|---|---|
nodes | TreeNode[] | - | Folders have children; the rest are files. |
onOpen | (node) => void | - | Enter or double click on a file. |
onRename | (node, name) => void | - | Called with a valid new name. Without it F2 does nothing. |
onDelete | (node) => void | - | The Delete key. |
statuses | Record<id, "modified" | "added" | "deleted" | "ignored"> | - | Marks after the name. |
... | - | - | All TreeView props. |
New name for {file}; an invalid name sets aria-invalid and shows a role=alert message linked with aria-describedby.onDelete (you ask for confirmation).onOpen; on a folder: open or close.tree-view.Motion respects prefers-reduced-motion: the only animation is the loading spinner, which is switched off. Layout uses logical properties, so the component works in right-to-left languages.
fileIconFor(name) and validateFileName(nodes, id, name) are exported.
The component ships with a Testing Library test (file-explorer.test.tsx) that covers its keyboard paths, roles and states.