CLI previewInstall commands shown on this site are not released yet.

DocsComponentsAdvanced

FileTree

React example follows below.
ts
import { FileTree } from "@grassroot/ui-react/advanced";
<FileTree nodes={[{ id: "root", name: "src", type: "folder", children: [] }]} />
ts
<script setup lang="ts">
import { FileTree } from "@grassroot/ui-vue";
</script>
<template>
<FileTree
:nodes="[{ id: 'root', name: 'src', type: 'folder', children: [] }]"
/>
</template>
ts
import { Component } from "@angular/core";
import { GrassrootFileTree } from "@grassroot/ui-angular";
@Component({
selector: "app-example",
standalone: true,
imports: [GrassrootFileTree],
template: `
<grassroot-file-tree
[nodes]="[{ id: 'root', name: 'src', type: 'folder', children: [] }]"
/>
`,
})
export class ExampleComponent {
}
ts
<script lang="ts">
import { FileTree } from "@grassroot/ui-svelte";
</script>
<FileTree nodes={[{ id: "root", name: "src", type: "folder", children: [] }]} />
ts
import { FileTree } from "@grassroot/ui-solid";
export function Example() {
return (
<>
<FileTree nodes={[{ id: "root", name: "src", type: "folder", children: [] }]} />
</>
);
}

Installation

bash
pnpm dlx grassroot add ui/file-tree
bash
npx grassroot@latest add ui/file-tree
bash
yarn dlx grassroot add ui/file-tree
bash
bunx grassroot add ui/file-tree

API Reference

FileTreeProps
PropTypeDefault
nodesrequiredThe root nodes.TreeNode[]
repoRepo name shown in the header.string | undefined
selectedControlled selected path (slash-joined, leading slash, e.g. "/src/index.ts").string | undefined
defaultSelectedInitial selection when uncontrolled.string | undefined
onSelectFired when a file is selected.((path: string) => void) | undefined