DocsAPI referenceHeadlessfile-tree

file-tree headless API

The core connector and vanilla mount are always visible. Use the framework choice to inspect native composition, props, outputs, context and hooks for the selected adapter.

@grassroot/ui-headless-core/file-tree

Core connector and vanilla API

12 exports
View source packages/ui-headless/core/src/file-tree/index.ts

connectFileTree

function
DeclarationView source
connectFileTreets
declare function connectFileTree(service: FileTreeService, scope: PartScope, options?: FileTreeConnectOptions): FileTreeApi;
Name
Kind
Type
Requirement
service
parameter
FileTreeService
required
scope
parameter
PartScope
required
options
parameter
FileTreeConnectOptions
optional
return
return value
FileTreeApi
n/a
Name
service
Kind
parameter
Type
FileTreeService
Requirement
required
Name
scope
Kind
parameter
Type
PartScope
Requirement
required
Name
options
Kind
parameter
Type
FileTreeConnectOptions
Requirement
optional
Name
return
Kind
return value
Type
FileTreeApi
Requirement
n/a
DeclarationView source
fileTreeAnatomyts
export declare const fileTreeAnatomy: {
readonly scope: "file-tree";
readonly parts: readonly ["root", "header", "tree", "row"];
};
Name
Kind
Type
Requirement
parts
property
readonly ["root", "header", "tree", "row"]
required
scope
property
"file-tree"
required
Name
parts
Kind
property
Type
readonly ["root", "header", "tree", "row"]
Requirement
required
Name
scope
Kind
property
Type
"file-tree"
Requirement
required

FileTreeApi

interface
DeclarationView source
FileTreeApits
interface FileTreeApi {
rootProps(): PartProps;
headerProps(): PartProps;
treeProps(): PartProps;
rowProps(row: FileTreeRow): PartProps;
readonly rows: readonly FileTreeRow[];
readonly selected: string | undefined;
readonly focusedId: string | undefined;
readonly activeId: string | undefined;
}
Name
Kind
Type
Requirement
activeId
property
string | undefined
required
focusedId
property
string | undefined
required
headerProps
method
() => PartProps
required
rootProps
method
() => PartProps
required
rowProps
method
(row: FileTreeRow) => PartProps
required
rows
property
readonly FileTreeRow[]
required
selected
property
string | undefined
required
treeProps
method
() => PartProps
required
Name
activeId
Kind
property
Type
string | undefined
Requirement
required
Name
focusedId
Kind
property
Type
string | undefined
Requirement
required
Name
headerProps
Kind
method
Type
() => PartProps
Requirement
required
Name
rootProps
Kind
method
Type
() => PartProps
Requirement
required
Name
rowProps
Kind
method
Type
(row: FileTreeRow) => PartProps
Requirement
required
Name
rows
Kind
property
Type
readonly FileTreeRow[]
Requirement
required
Name
selected
Kind
property
Type
string | undefined
Requirement
required
Name
treeProps
Kind
method
Type
() => PartProps
Requirement
required
DeclarationView source
FileTreeConnectOptionsts
interface FileTreeConnectOptions {
readonly repo?: string | (() => string);
readonly onSelect?: (detail: {
value: string;
reason: FileTreeChangeReason;
}) => void;
readonly messages?: Partial<FileTreeMessages>;
}
Name
Kind
Type
Requirement
messages
property
Partial<FileTreeMessages>
optional
onSelect
property
(detail: { value: string; reason: FileTreeChangeReason; }) => void
optional
repo
property
string | (() => string)
optional
Name
messages
Kind
property
Type
Partial<FileTreeMessages>
Requirement
optional
Name
onSelect
Kind
property
Type
(detail: { value: string; reason: FileTreeChangeReason; }) => void
Requirement
optional
Name
repo
Kind
property
Type
string | (() => string)
Requirement
optional
DeclarationView source
fileTreeMessagests
export declare const fileTreeMessages: FileTreeMessages;
DeclarationView source
FileTreeMessagests
type FileTreeMessages = Pick<MessageTable, "files">;

FileTreeMount

interface
DeclarationView source
FileTreeMountts
interface FileTreeMount {
readonly service: FileTreeService;
readonly connector: FileTreeApi;
readonly root: HTMLElement;
destroy(): void;
}
Name
Kind
Type
Requirement
connector
property
FileTreeApi
required
destroy
method
() => void
required
root
property
HTMLElement
required
service
property
FileTreeService
required
Name
connector
Kind
property
Type
FileTreeApi
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
root
Kind
property
Type
HTMLElement
Requirement
required
Name
service
Kind
property
Type
FileTreeService
Requirement
required
DeclarationView source
FileTreePartts
type FileTreePart = (typeof fileTreeAnatomy.parts)[number];
DeclarationView source
FileTreeServicets
type FileTreeService = Service<FileTreeInput, FileTreeStateValue, FileTreeContext, FileTreeEvent, FileTreeCommand>;

mountFileTree

function
DeclarationView source
mountFileTreets
declare function mountFileTree(container: HTMLElement, options: MountFileTreeOptions): FileTreeMount;
Name
Kind
Type
Requirement
container
parameter
HTMLElement
required
options
parameter
MountFileTreeOptions
required
return
return value
FileTreeMount
n/a
Name
container
Kind
parameter
Type
HTMLElement
Requirement
required
Name
options
Kind
parameter
Type
MountFileTreeOptions
Requirement
required
Name
return
Kind
return value
Type
FileTreeMount
Requirement
n/a
DeclarationView source
MountFileTreeOptionsts
interface MountFileTreeOptions extends FileTreeInput {
readonly repo?: string;
readonly onSelect?: (detail: {
value: string;
reason: string;
}) => void;
readonly messages?: FileTreeConnectOptions["messages"];
readonly renderRow?: (element: HTMLElement, row: {
id: string;
name: string;
depth: number;
isDir: boolean;
open: boolean;
git?: string;
}) => void;
}
Name
Kind
Type
Requirement
messages
property
FileTreeConnectOptions["messages"]
optional
onSelect
property
(detail: { value: string; reason: string; }) => void
optional
renderRow
property
(element: HTMLElement, row: { id: string; name: string; depth: number; isDir: boolean; open: boolean; git?: string; }) => void
optional
repo
property
string
optional
Name
messages
Kind
property
Type
FileTreeConnectOptions["messages"]
Requirement
optional
Name
onSelect
Kind
property
Type
(detail: { value: string; reason: string; }) => void
Requirement
optional
Name
renderRow
Kind
property
Type
(element: HTMLElement, row: { id: string; name: string; depth: number; isDir: boolean; open: boolean; git?: string; }) => void
Requirement
optional
Name
repo
Kind
property
Type
string
Requirement
optional
DeclarationView source
runFileTreeCommandts
declare function runFileTreeCommand(command: FileTreeCommand, _scope: PartScope, options?: Pick<FileTreeConnectOptions, "onSelect">): void;
Name
Kind
Type
Requirement
command
parameter
FileTreeCommand
required
_scope
parameter
PartScope
required
options
parameter
Pick<FileTreeConnectOptions, "onSelect">
optional
return
return value
void
n/a
Name
command
Kind
parameter
Type
FileTreeCommand
Requirement
required
Name
_scope
Kind
parameter
Type
PartScope
Requirement
required
Name
options
Kind
parameter
Type
Pick<FileTreeConnectOptions, "onSelect">
Requirement
optional
Name
return
Kind
return value
Type
void
Requirement
n/a

Framework adapters

Each panel keeps its adapter's public vocabulary. React compound exports, Vue composables, standalone Angular declarations, Svelte components, and Solid hooks stay native to their framework.

React example follows below.

React imports

@grassroot/ui-headless-react/file-treets
import { FileTree, Header, Root, RootProvider, Row, Tree } from "@grassroot/ui-headless-react/file-tree";

Vue imports

@grassroot/ui-headless-vue/file-treets
<script setup lang="ts">
import { FileTree, Header, Root, RootProvider, Row, Tree } from "@grassroot/ui-headless-vue/file-tree";
</script>

Angular imports

@grassroot/ui-headless-angular/file-treets
import { Component } from "@angular/core";
import { GR_FILE_TREE_DECLARATIONS } from "@grassroot/ui-headless-angular/file-tree";
@Component({ standalone: true, imports: [GR_FILE_TREE_DECLARATIONS], template: `<!-- compose the file-tree parts here -->` })
export class Example {}

Svelte imports

@grassroot/ui-headless-svelte/file-treets
<script lang="ts">
import { FileTree, Header, Root, RootProvider, Row, Tree } from "@grassroot/ui-headless-svelte/file-tree";
</script>

Solid imports

@grassroot/ui-headless-solid/file-treets
import { FileTree, Header, Root, RootProvider, Row, Tree } from "@grassroot/ui-headless-solid/file-tree";

@grassroot/ui-headless-react/file-tree

React adapter

18 exports
View source packages/ui-headless/react/src/file-tree/index.ts

FileTree

value
DeclarationView source
FileTreets
export declare const FileTree: {
Root: import("react").ForwardRefExoticComponent<FileTreeRootProps & import("react").RefAttributes<HTMLDivElement>>;
RootProvider: import("react").ForwardRefExoticComponent<FileTreeRootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
Header: import("react").ForwardRefExoticComponent<FileTreeHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
Tree: import("react").ForwardRefExoticComponent<FileTreeTreeProps & import("react").RefAttributes<HTMLDivElement>>;
Row: import("react").ForwardRefExoticComponent<FileTreeRowProps & import("react").RefAttributes<HTMLDivElement>>;
};
Name
Kind
Type
Requirement
Header
property
import("react").ForwardRefExoticComponent<FileTreeHeaderProps & import("react").RefAttributes<HTMLDivElement>>
required
Root
property
import("react").ForwardRefExoticComponent<FileTreeRootProps & import("react").RefAttributes<HTMLDivElement>>
required
RootProvider
property
import("react").ForwardRefExoticComponent<FileTreeRootProviderProps & import("react").RefAttributes<HTMLDivElement>>
required
Row
property
import("react").ForwardRefExoticComponent<FileTreeRowProps & import("react").RefAttributes<HTMLDivElement>>
required
Tree
property
import("react").ForwardRefExoticComponent<FileTreeTreeProps & import("react").RefAttributes<HTMLDivElement>>
required
Name
Header
Kind
property
Type
import("react").ForwardRefExoticComponent<FileTreeHeaderProps & import("react").RefAttributes<HTMLDivElement>>
Requirement
required
Name
Root
Kind
property
Type
import("react").ForwardRefExoticComponent<FileTreeRootProps & import("react").RefAttributes<HTMLDivElement>>
Requirement
required
Name
RootProvider
Kind
property
Type
import("react").ForwardRefExoticComponent<FileTreeRootProviderProps & import("react").RefAttributes<HTMLDivElement>>
Requirement
required
Name
Row
Kind
property
Type
import("react").ForwardRefExoticComponent<FileTreeRowProps & import("react").RefAttributes<HTMLDivElement>>
Requirement
required
Name
Tree
Kind
property
Type
import("react").ForwardRefExoticComponent<FileTreeTreeProps & import("react").RefAttributes<HTMLDivElement>>
Requirement
required
DeclarationView source
FileTreeContextts
export declare const FileTreeContext: import("react").Context<FileTreeContextValue | null>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a
DeclarationView source
FileTreeContextValuets
interface FileTreeContextValue {
readonly service: FileTreeService;
readonly connector: FileTreeApi;
readonly scope: PartScope;
}
Name
Kind
Type
Requirement
connector
property
FileTreeApi
required
scope
property
PartScope
required
service
property
FileTreeService
required
Name
connector
Kind
property
Type
FileTreeApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
FileTreeService
Requirement
required
DeclarationView source
FileTreeHeaderPropsts
interface FileTreeHeaderProps extends ComponentPropsWithoutRef<"div"> {
readonly asChild?: boolean;
}
Name
Kind
Type
Requirement
asChild
property
boolean
optional
Name
asChild
Kind
property
Type
boolean
Requirement
optional

FileTreeRootProps

interface
DeclarationView source
FileTreeRootPropsts
interface FileTreeRootProps extends Omit<ComponentPropsWithoutRef<"div">, "onSelect"> {
readonly asChild?: boolean;
readonly nodes: FileTreeInput["nodes"];
readonly repo?: string;
readonly selected?: string;
readonly defaultSelected?: string;
readonly onSelect?: UseFileTreeOptions["onSelect"];
readonly children?: ReactNode;
}
Name
Kind
Type
Requirement
asChild
property
boolean
optional
children
property
ReactNode
optional
defaultSelected
property
string
optional
nodes
property
FileTreeInput["nodes"]
required
onSelect
property
UseFileTreeOptions["onSelect"]
optional
repo
property
string
optional
selected
property
string
optional
Name
asChild
Kind
property
Type
boolean
Requirement
optional
Name
children
Kind
property
Type
ReactNode
Requirement
optional
Name
defaultSelected
Kind
property
Type
string
Requirement
optional
Name
nodes
Kind
property
Type
FileTreeInput["nodes"]
Requirement
required
Name
onSelect
Kind
property
Type
UseFileTreeOptions["onSelect"]
Requirement
optional
Name
repo
Kind
property
Type
string
Requirement
optional
Name
selected
Kind
property
Type
string
Requirement
optional
DeclarationView source
FileTreeRootProviderPropsts
interface FileTreeRootProviderProps extends ComponentPropsWithoutRef<"div"> {
readonly value: UseFileTreeResult;
readonly asChild?: boolean;
}
Name
Kind
Type
Requirement
asChild
property
boolean
optional
value
property
UseFileTreeResult
required
Name
asChild
Kind
property
Type
boolean
Requirement
optional
Name
value
Kind
property
Type
UseFileTreeResult
Requirement
required

FileTreeRowProps

interface
DeclarationView source
FileTreeRowPropsts
interface FileTreeRowProps extends ComponentPropsWithoutRef<"div"> {
readonly asChild?: boolean;
readonly row: FileTreeRow$1;
}
Name
Kind
Type
Requirement
asChild
property
boolean
optional
row
property
FileTreeRow$1
required
Name
asChild
Kind
property
Type
boolean
Requirement
optional
Name
row
Kind
property
Type
FileTreeRow$1
Requirement
required

FileTreeTreeProps

interface
DeclarationView source
FileTreeTreePropsts
interface FileTreeTreeProps extends ComponentPropsWithoutRef<"div"> {
readonly asChild?: boolean;
}
Name
Kind
Type
Requirement
asChild
property
boolean
optional
Name
asChild
Kind
property
Type
boolean
Requirement
optional

Header

value
DeclarationView source
Headerts
export declare const Header: import("react").ForwardRefExoticComponent<FileTreeHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

Root

value
DeclarationView source
Rootts
export declare const Root: import("react").ForwardRefExoticComponent<FileTreeRootProps & import("react").RefAttributes<HTMLDivElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

RootProvider

value
DeclarationView source
RootProviderts
export declare const RootProvider: import("react").ForwardRefExoticComponent<FileTreeRootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

Row

value
DeclarationView source
Rowts
export declare const Row: import("react").ForwardRefExoticComponent<FileTreeRowProps & import("react").RefAttributes<HTMLDivElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

Tree

value
DeclarationView source
Treets
export declare const Tree: import("react").ForwardRefExoticComponent<FileTreeTreeProps & import("react").RefAttributes<HTMLDivElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

useFileTree

function
DeclarationView source
useFileTreets
declare function useFileTree(input: FileTreeInput, options?: UseFileTreeOptions): UseFileTreeResult;
Name
Kind
Type
Requirement
input
parameter
FileTreeInput
required
options
parameter
UseFileTreeOptions
optional
return
return value
UseFileTreeResult
n/a
Name
input
Kind
parameter
Type
FileTreeInput
Requirement
required
Name
options
Kind
parameter
Type
UseFileTreeOptions
Requirement
optional
Name
return
Kind
return value
Type
UseFileTreeResult
Requirement
n/a
DeclarationView source
useFileTreeContextts
declare function useFileTreeContext(partName: string): FileTreeContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
FileTreeContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
FileTreeContextValue
Requirement
n/a

UseFileTreeOptions

interface
DeclarationView source
UseFileTreeOptionsts
interface UseFileTreeOptions {
readonly repo?: string;
readonly onSelect?: (detail: {
value: string;
reason: FileTreeChangeReason;
}) => void;
}
Name
Kind
Type
Requirement
onSelect
property
(detail: { value: string; reason: FileTreeChangeReason; }) => void
optional
repo
property
string
optional
Name
onSelect
Kind
property
Type
(detail: { value: string; reason: FileTreeChangeReason; }) => void
Requirement
optional
Name
repo
Kind
property
Type
string
Requirement
optional

UseFileTreeResult

interface
DeclarationView source
UseFileTreeResultts
interface UseFileTreeResult {
readonly service: FileTreeService;
readonly connector: FileTreeApi;
readonly scope: PartScope;
readonly snapshot: FileTreeSnapshot;
}
Name
Kind
Type
Requirement
connector
property
FileTreeApi
required
scope
property
PartScope
required
service
property
FileTreeService
required
snapshot
property
FileTreeSnapshot
required
Name
connector
Kind
property
Type
FileTreeApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
FileTreeService
Requirement
required
Name
snapshot
Kind
property
Type
FileTreeSnapshot
Requirement
required

Subscribes a component to a service's committed-snapshot version.

DeclarationView source
useServiceVersionts
declare function useServiceVersion<S extends Service<any, any, any, any, any, any>>(service: S): ReturnType<S["getSnapshot"]>;
Name
Kind
Type
Requirement
service
parameter
S
required
return
return value
ReturnType<S["getSnapshot"]>
n/a
Name
service
Kind
parameter
Type
S
Requirement
required
Name
return
Kind
return value
Type
ReturnType<S["getSnapshot"]>
Requirement
n/a

@grassroot/ui-headless-vue/file-tree

Vue adapter

12 exports
View source packages/ui-headless/vue/src/file-tree/index.ts

FileTree

value
DeclarationView source
FileTreets
export declare const FileTree: {
Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
nodes: {
type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeInput["nodes"]>;
required: true;
};
repo: {
type: StringConstructor;
default: string;
};
selected: {
type: import("vue").PropType<string | undefined>;
default: undefined;
};
defaultSelected: {
type: import("vue").PropType<string | undefined>;
default: undefined;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
select: (_detail: {
value: string;
reason: string;
}) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
nodes: {
type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeInput["nodes"]>;
required: true;
};
repo: {
type: StringConstructor;
default: string;
};
selected: {
type: import("vue").PropType<string | undefined>;
default: undefined;
};
defaultSelected: {
type: import("vue").PropType<string | undefined>;
default: undefined;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
onSelect?: ((_detail: {
value: string;
reason: string;
}) => any) | undefined;
}>, {
repo: string;
selected: string | undefined;
defaultSelected: string | undefined;
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
RootProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<ReturnType<typeof useFileTree>>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<ReturnType<typeof useFileTree>>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
Header: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
Tree: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
Row: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
row: {
type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeRow>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
row: {
type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeRow>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
};
Name
Kind
Type
Requirement
Header
property
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
required
Root
property
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ nodes: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeInput["nodes"]>; required: true; }; repo: { type: StringConstructor; default: string; }; selected: { type: import("vue").PropType<string | undefined>; default: undefined; }; defaultSelected: { type: import("vue").PropType<string | undefined>; default: undefined; }; asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { select: (_detail: { value: string; reason: string; }) => true; }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ nodes: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeInput["nodes"]>; required: true; }; repo: { type: StringConstructor; default: string; }; selected: { type: import("vue").PropType<string | undefined>; default: undefined; }; defaultSelected: { type: import("vue").PropType<string | undefined>; default: undefined; }; asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{ onSelect?: ((_detail: { value: string; reason: string; }) => any) | undefined; }>, { repo: string; selected: string | undefined; defaultSelected: string | undefined; asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
required
RootProvider
property
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ value: { type: import("vue").PropType<ReturnType<typeof useFileTree>>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ value: { type: import("vue").PropType<ReturnType<typeof useFileTree>>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
required
Row
property
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ row: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeRow>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ row: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeRow>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
required
Tree
property
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
required
Name
Header
Kind
property
Type
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
Requirement
required
Name
Root
Kind
property
Type
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ nodes: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeInput["nodes"]>; required: true; }; repo: { type: StringConstructor; default: string; }; selected: { type: import("vue").PropType<string | undefined>; default: undefined; }; defaultSelected: { type: import("vue").PropType<string | undefined>; default: undefined; }; asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { select: (_detail: { value: string; reason: string; }) => true; }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ nodes: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeInput["nodes"]>; required: true; }; repo: { type: StringConstructor; default: string; }; selected: { type: import("vue").PropType<string | undefined>; default: undefined; }; defaultSelected: { type: import("vue").PropType<string | undefined>; default: undefined; }; asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{ onSelect?: ((_detail: { value: string; reason: string; }) => any) | undefined; }>, { repo: string; selected: string | undefined; defaultSelected: string | undefined; asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
Requirement
required
Name
RootProvider
Kind
property
Type
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ value: { type: import("vue").PropType<ReturnType<typeof useFileTree>>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ value: { type: import("vue").PropType<ReturnType<typeof useFileTree>>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
Requirement
required
Name
Row
Kind
property
Type
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ row: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeRow>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ row: { type: import("vue").PropType<import("@grassroot/ui-machines/file-tree").FileTreeRow>; required: true; }; asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
Requirement
required
Name
Tree
Kind
property
Type
import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{}>, { asChild: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
Requirement
required
DeclarationView source
FileTreeContextKeyts
export declare const FileTreeContextKey: InjectionKey<FileTreeContextValue>;

Header

value
DeclarationView source
Headerts
export declare const Header: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
DeclarationView source
provideFileTreeContextts
declare function provideFileTreeContext(value: FileTreeContextValue): void;
Name
Kind
Type
Requirement
value
parameter
FileTreeContextValue
required
return
return value
void
n/a
Name
value
Kind
parameter
Type
FileTreeContextValue
Requirement
required
Name
return
Kind
return value
Type
void
Requirement
n/a

Root

value
DeclarationView source
Rootts
export declare const Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
nodes: {
type: PropType<FileTreeInput["nodes"]>;
required: true;
};
repo: {
type: StringConstructor;
default: string;
};
selected: {
type: PropType<string | undefined>;
default: undefined;
};
defaultSelected: {
type: PropType<string | undefined>;
default: undefined;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
select: (_detail: {
value: string;
reason: string;
}) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
nodes: {
type: PropType<FileTreeInput["nodes"]>;
required: true;
};
repo: {
type: StringConstructor;
default: string;
};
selected: {
type: PropType<string | undefined>;
default: undefined;
};
defaultSelected: {
type: PropType<string | undefined>;
default: undefined;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
onSelect?: ((_detail: {
value: string;
reason: string;
}) => any) | undefined;
}>, {
repo: string;
selected: string | undefined;
defaultSelected: string | undefined;
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

RootProvider

value
DeclarationView source
RootProviderts
export declare const RootProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
value: {
type: PropType<ReturnType<typeof useFileTree>>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
value: {
type: PropType<ReturnType<typeof useFileTree>>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

Row

value
DeclarationView source
Rowts
export declare const Row: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
row: {
type: PropType<FileTreeRow$1>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
row: {
type: PropType<FileTreeRow$1>;
required: true;
};
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

Tree

value
DeclarationView source
Treets
export declare const Tree: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
asChild: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
asChild: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

useFileTree

function
DeclarationView source
useFileTreets
declare function useFileTree(input: FileTreeInput | (() => FileTreeInput), options?: UseFileTreeOptions): UseFileTreeResult;
Name
Kind
Type
Requirement
input
parameter
FileTreeInput | (() => FileTreeInput)
required
options
parameter
UseFileTreeOptions
optional
return
return value
UseFileTreeResult
n/a
Name
input
Kind
parameter
Type
FileTreeInput | (() => FileTreeInput)
Requirement
required
Name
options
Kind
parameter
Type
UseFileTreeOptions
Requirement
optional
Name
return
Kind
return value
Type
UseFileTreeResult
Requirement
n/a
DeclarationView source
useFileTreeContextts
declare function useFileTreeContext(partName: string): FileTreeContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
FileTreeContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
FileTreeContextValue
Requirement
n/a

UseFileTreeOptions

interface
DeclarationView source
UseFileTreeOptionsts
interface UseFileTreeOptions {
readonly repo?: string;
readonly onSelect?: (detail: {
value: string;
reason: FileTreeChangeReason;
}) => void;
}
Name
Kind
Type
Requirement
onSelect
property
(detail: { value: string; reason: FileTreeChangeReason; }) => void
optional
repo
property
string
optional
Name
onSelect
Kind
property
Type
(detail: { value: string; reason: FileTreeChangeReason; }) => void
Requirement
optional
Name
repo
Kind
property
Type
string
Requirement
optional

UseFileTreeResult

interface
DeclarationView source
UseFileTreeResultts
interface UseFileTreeResult {
readonly service: FileTreeService;
readonly connector: FileTreeApi;
readonly scope: PartScope;
readonly snapshot: ShallowRef<FileTreeSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
FileTreeApi
required
scope
property
PartScope
required
service
property
FileTreeService
required
snapshot
property
ShallowRef<FileTreeSnapshot>
required
Name
connector
Kind
property
Type
FileTreeApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
FileTreeService
Requirement
required
Name
snapshot
Kind
property
Type
ShallowRef<FileTreeSnapshot>
Requirement
required

@grassroot/ui-headless-angular/file-tree

Angular adapter

8 exports
View source packages/ui-headless/angular/src/file-tree/index.ts
DeclarationView source
createFileTreeStorets
export declare function createFileTreeStore(initialInput: FileTreeInput, options?: FileTreeOptions): FileTreeStore;
Name
Kind
Type
Requirement
initialInput
parameter
FileTreeInput
required
options
parameter
FileTreeOptions
optional
return
return value
FileTreeStore
n/a
Name
initialInput
Kind
parameter
Type
FileTreeInput
Requirement
required
Name
options
Kind
parameter
Type
FileTreeOptions
Requirement
optional
Name
return
Kind
return value
Type
FileTreeStore
Requirement
n/a
DeclarationView source
FILE_TREE_STOREts
export declare const FILE_TREE_STORE: InjectionToken<FileTreeStore>;

FileTreeStore

interface
DeclarationView source
FileTreeStorets
export interface FileTreeStore {
readonly service: FileTreeService;
readonly connector: FileTreeApi;
readonly scope: PartScope;
readonly version: WritableSignal<number>;
start(): void;
stop(): void;
sync(input: FileTreeInput): void;
}
Name
Kind
Type
Requirement
connector
property
FileTreeApi
required
scope
property
PartScope
required
service
property
FileTreeService
required
start
method
() => void
required
stop
method
() => void
required
sync
method
(input: FileTreeInput) => void
required
version
property
WritableSignal<number>
required
Name
connector
Kind
property
Type
FileTreeApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
FileTreeService
Requirement
required
Name
start
Kind
method
Type
() => void
Requirement
required
Name
stop
Kind
method
Type
() => void
Requirement
required
Name
sync
Kind
method
Type
(input: FileTreeInput) => void
Requirement
required
Name
version
Kind
property
Type
WritableSignal<number>
Requirement
required
DeclarationView source
GR_FILE_TREE_DECLARATIONSts
export declare const GR_FILE_TREE_DECLARATIONS: readonly [typeof GrFileTreeRoot, typeof GrFileTreeHeader, typeof GrFileTreeTree, typeof GrFileTreeRow];
DeclarationView source
GrFileTreeHeaderts
export declare class GrFileTreeHeader extends FileTreePart {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<GrFileTreeHeader, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrFileTreeHeader, "[grFileTreeHeader]", never, {}, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrFileTreeHeader, "[grFileTreeHeader]", never, {}, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrFileTreeHeader, never>
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrFileTreeHeader, "[grFileTreeHeader]", never, {}, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrFileTreeHeader, never>
Requirement
required
DeclarationView source
GrFileTreeRootts
export declare class GrFileTreeRoot implements OnDestroy {
readonly nodes: import("@angular/core").InputSignal<readonly import("@grassroot/ui-machines/file-tree").FileTreeNode[]>;
readonly repo: import("@angular/core").InputSignal<string>;
readonly selected: import("@angular/core").InputSignal<string | undefined>;
readonly defaultSelected: import("@angular/core").InputSignal<string | undefined>;
readonly select: import("@angular/core").OutputEmitterRef<{
value: string;
reason: string;
}>;
private readonly injector;
private readonly element;
private readonly listeners;
private readonly consumerProps;
readonly store: import("./context.js").FileTreeStore;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrFileTreeRoot, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrFileTreeRoot, "[grFileTreeRoot]", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "repo": { "alias": "repo"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "defaultSelected": { "alias": "defaultSelected"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumerProps
property
any
required
defaultSelected
property
import("@angular/core").InputSignal<string | undefined>
required
element
property
any
required
injector
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
nodes
property
import("@angular/core").InputSignal<readonly import("@grassroot/ui-machines/file-tree").FileTreeNode[]>
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrFileTreeRoot, "[grFileTreeRoot]", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "repo": { "alias": "repo"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "defaultSelected": { "alias": "defaultSelected"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrFileTreeRoot, never>
required
repo
property
import("@angular/core").InputSignal<string>
required
select
property
import("@angular/core").OutputEmitterRef<{ value: string; reason: string; }>
required
selected
property
import("@angular/core").InputSignal<string | undefined>
required
store
property
import("./context.js").FileTreeStore
required
Name
consumerProps
Kind
property
Type
any
Requirement
required
Name
defaultSelected
Kind
property
Type
import("@angular/core").InputSignal<string | undefined>
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
injector
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
nodes
Kind
property
Type
import("@angular/core").InputSignal<readonly import("@grassroot/ui-machines/file-tree").FileTreeNode[]>
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrFileTreeRoot, "[grFileTreeRoot]", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "repo": { "alias": "repo"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "defaultSelected": { "alias": "defaultSelected"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrFileTreeRoot, never>
Requirement
required
Name
repo
Kind
property
Type
import("@angular/core").InputSignal<string>
Requirement
required
Name
select
Kind
property
Type
import("@angular/core").OutputEmitterRef<{ value: string; reason: string; }>
Requirement
required
Name
selected
Kind
property
Type
import("@angular/core").InputSignal<string | undefined>
Requirement
required
Name
store
Kind
property
Type
import("./context.js").FileTreeStore
Requirement
required
DeclarationView source
GrFileTreeRowts
export declare class GrFileTreeRow implements OnDestroy {
readonly row: import("@angular/core").InputSignal<FileTreeRow>;
private readonly store;
private readonly element;
private readonly listeners;
private readonly consumerProps;
private key;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrFileTreeRow, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrFileTreeRow, "[grFileTreeRow]", never, { "row": { "alias": "row"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumerProps
property
any
required
element
property
any
required
key
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrFileTreeRow, "[grFileTreeRow]", never, { "row": { "alias": "row"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrFileTreeRow, never>
required
row
property
import("@angular/core").InputSignal<FileTreeRow>
required
store
property
any
required
Name
consumerProps
Kind
property
Type
any
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
key
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrFileTreeRow, "[grFileTreeRow]", never, { "row": { "alias": "row"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrFileTreeRow, never>
Requirement
required
Name
row
Kind
property
Type
import("@angular/core").InputSignal<FileTreeRow>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
DeclarationView source
GrFileTreeTreets
export declare class GrFileTreeTree extends FileTreePart {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<GrFileTreeTree, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrFileTreeTree, "[grFileTreeTree]", never, {}, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrFileTreeTree, "[grFileTreeTree]", never, {}, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrFileTreeTree, never>
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrFileTreeTree, "[grFileTreeTree]", never, {}, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrFileTreeTree, never>
Requirement
required

@grassroot/ui-headless-svelte/file-tree

Svelte adapter

11 exports
View source packages/ui-headless/svelte/src/file-tree/index.ts

createFileTree

function
DeclarationView source
createFileTreets
export declare function createFileTree(inputGetter: () => FileTreeInput, options?: UseFileTreeOptions): UseFileTreeResult;
Name
Kind
Type
Requirement
inputGetter
parameter
() => FileTreeInput
required
options
parameter
UseFileTreeOptions
optional
return
return value
UseFileTreeResult
n/a
Name
inputGetter
Kind
parameter
Type
() => FileTreeInput
Requirement
required
Name
options
Kind
parameter
Type
UseFileTreeOptions
Requirement
optional
Name
return
Kind
return value
Type
UseFileTreeResult
Requirement
n/a

FileTree

value
DeclarationView source
FileTreets
export declare const FileTree: {
Root: import("svelte/legacy").LegacyComponentType;
RootProvider: import("svelte/legacy").LegacyComponentType;
Header: import("svelte/legacy").LegacyComponentType;
Tree: import("svelte/legacy").LegacyComponentType;
Row: import("svelte/legacy").LegacyComponentType;
};
Name
Kind
Type
Requirement
Header
property
import("svelte/legacy").LegacyComponentType
required
Root
property
import("svelte/legacy").LegacyComponentType
required
RootProvider
property
import("svelte/legacy").LegacyComponentType
required
Row
property
import("svelte/legacy").LegacyComponentType
required
Tree
property
import("svelte/legacy").LegacyComponentType
required
Name
Header
Kind
property
Type
import("svelte/legacy").LegacyComponentType
Requirement
required
Name
Root
Kind
property
Type
import("svelte/legacy").LegacyComponentType
Requirement
required
Name
RootProvider
Kind
property
Type
import("svelte/legacy").LegacyComponentType
Requirement
required
Name
Row
Kind
property
Type
import("svelte/legacy").LegacyComponentType
Requirement
required
Name
Tree
Kind
property
Type
import("svelte/legacy").LegacyComponentType
Requirement
required

Header

value
DeclarationView source
Headerts
export declare const Header: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
provideFileTreeContextts
export declare function provideFileTreeContext(value: FileTreeContextValue): void;
Name
Kind
Type
Requirement
value
parameter
FileTreeContextValue
required
return
return value
void
n/a
Name
value
Kind
parameter
Type
FileTreeContextValue
Requirement
required
Name
return
Kind
return value
Type
void
Requirement
n/a

Root

value
DeclarationView source
Rootts
export declare const Root: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a

RootProvider

value
DeclarationView source
RootProviderts
export declare const RootProvider: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a

Row

value
DeclarationView source
Rowts
export declare const Row: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a

Tree

value
DeclarationView source
Treets
export declare const Tree: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a
DeclarationView source
useFileTreeContextts
export declare function useFileTreeContext(partName: string): FileTreeContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
FileTreeContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
FileTreeContextValue
Requirement
n/a

UseFileTreeOptions

interface
DeclarationView source
UseFileTreeOptionsts
export interface UseFileTreeOptions {
readonly repo?: string;
readonly onSelect?: (detail: {
value: string;
reason: FileTreeChangeReason;
}) => void;
}
Name
Kind
Type
Requirement
onSelect
property
(detail: { value: string; reason: FileTreeChangeReason; }) => void
optional
repo
property
string
optional
Name
onSelect
Kind
property
Type
(detail: { value: string; reason: FileTreeChangeReason; }) => void
Requirement
optional
Name
repo
Kind
property
Type
string
Requirement
optional

UseFileTreeResult

interface
DeclarationView source
UseFileTreeResultts
export interface UseFileTreeResult {
readonly service: FileTreeService;
readonly connector: FileTreeApi;
readonly scope: PartScope;
readonly version: () => number;
readonly snapshot: () => FileTreeSnapshot;
}
Name
Kind
Type
Requirement
connector
property
FileTreeApi
required
scope
property
PartScope
required
service
property
FileTreeService
required
snapshot
property
() => FileTreeSnapshot
required
version
property
() => number
required
Name
connector
Kind
property
Type
FileTreeApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
FileTreeService
Requirement
required
Name
snapshot
Kind
property
Type
() => FileTreeSnapshot
Requirement
required
Name
version
Kind
property
Type
() => number
Requirement
required

@grassroot/ui-headless-solid/file-tree

Solid adapter

11 exports
View source packages/ui-headless/solid/src/file-tree/index.ts

FileTree

value
DeclarationView source
FileTreets
export declare const FileTree: {
Root: typeof FileTreeRoot;
RootProvider: typeof RootProvider;
Header: (props: {
as?: string;
children?: import("solid-js").JSX.Element;
} & Record<string, unknown>) => import("solid-js").JSX.Element;
Tree: (props: {
as?: string;
children?: import("solid-js").JSX.Element;
} & Record<string, unknown>) => import("solid-js").JSX.Element;
Row: typeof Row;
};
Name
Kind
Type
Requirement
Header
property
(props: { as?: string; children?: import("solid-js").JSX.Element; } & Record<string, unknown>) => import("solid-js").JSX.Element
required
Root
property
typeof FileTreeRoot
required
RootProvider
property
typeof RootProvider
required
Row
property
typeof Row
required
Tree
property
(props: { as?: string; children?: import("solid-js").JSX.Element; } & Record<string, unknown>) => import("solid-js").JSX.Element
required
Name
Header
Kind
property
Type
(props: { as?: string; children?: import("solid-js").JSX.Element; } & Record<string, unknown>) => import("solid-js").JSX.Element
Requirement
required
Name
Root
Kind
property
Type
typeof FileTreeRoot
Requirement
required
Name
RootProvider
Kind
property
Type
typeof RootProvider
Requirement
required
Name
Row
Kind
property
Type
typeof Row
Requirement
required
Name
Tree
Kind
property
Type
(props: { as?: string; children?: import("solid-js").JSX.Element; } & Record<string, unknown>) => import("solid-js").JSX.Element
Requirement
required
DeclarationView source
FileTreeContextts
export declare const FileTreeContext: import("solid-js").Context<FileTreeContextValue | undefined>;

Header

value
DeclarationView source
Headerts
export declare const Header: (props: PartProps) => JSX.Element;
Name
Kind
Type
Requirement
props
parameter
PartProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
PartProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

Root

function
DeclarationView source
Rootts
export declare function FileTreeRoot(props: FileTreeRootProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
FileTreeRootProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
FileTreeRootProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

RootProvider

function
DeclarationView source
RootProviderts
export declare function FileTreeRootProvider(props: FileTreeRootProviderProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
FileTreeRootProviderProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
FileTreeRootProviderProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

Row

function
DeclarationView source
Rowts
export declare function FileTreeRowPart(props: {
row: FileTreeRow;
as?: string;
children?: JSX.Element;
} & JSX.HTMLAttributes<HTMLDivElement>): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
{ row: FileTreeRow; as?: string; children?: JSX.Element; } & JSX.HTMLAttributes<HTMLDivElement>
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
{ row: FileTreeRow; as?: string; children?: JSX.Element; } & JSX.HTMLAttributes<HTMLDivElement>
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

Tree

value
DeclarationView source
Treets
export declare const Tree: (props: PartProps) => JSX.Element;
Name
Kind
Type
Requirement
props
parameter
PartProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
PartProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

useFileTree

function
DeclarationView source
useFileTreets
export declare function useFileTree(input: Accessor<FileTreeInput>, options?: UseFileTreeOptions): UseFileTreeResult;
Name
Kind
Type
Requirement
input
parameter
Accessor<FileTreeInput>
required
options
parameter
UseFileTreeOptions
optional
return
return value
UseFileTreeResult
n/a
Name
input
Kind
parameter
Type
Accessor<FileTreeInput>
Requirement
required
Name
options
Kind
parameter
Type
UseFileTreeOptions
Requirement
optional
Name
return
Kind
return value
Type
UseFileTreeResult
Requirement
n/a
DeclarationView source
useFileTreeContextts
export declare function useFileTreeContext(partName: string): FileTreeContextValue;
Name
Kind
Type
Requirement
partName
parameter
string
required
return
return value
FileTreeContextValue
n/a
Name
partName
Kind
parameter
Type
string
Requirement
required
Name
return
Kind
return value
Type
FileTreeContextValue
Requirement
n/a

UseFileTreeOptions

interface
DeclarationView source
UseFileTreeOptionsts
export interface UseFileTreeOptions {
readonly repo?: string;
readonly onSelect?: (detail: {
value: string;
reason: FileTreeChangeReason;
}) => void;
}
Name
Kind
Type
Requirement
onSelect
property
(detail: { value: string; reason: FileTreeChangeReason; }) => void
optional
repo
property
string
optional
Name
onSelect
Kind
property
Type
(detail: { value: string; reason: FileTreeChangeReason; }) => void
Requirement
optional
Name
repo
Kind
property
Type
string
Requirement
optional

UseFileTreeResult

interface
DeclarationView source
UseFileTreeResultts
export interface UseFileTreeResult {
readonly service: FileTreeService;
readonly connector: FileTreeApi;
readonly scope: PartScope;
readonly snapshot: Accessor<FileTreeSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
FileTreeApi
required
scope
property
PartScope
required
service
property
FileTreeService
required
snapshot
property
Accessor<FileTreeSnapshot>
required
Name
connector
Kind
property
Type
FileTreeApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
FileTreeService
Requirement
required
Name
snapshot
Kind
property
Type
Accessor<FileTreeSnapshot>
Requirement
required