diff --git a/CHANGELOG.md b/CHANGELOG.md index dc88910..aa09372 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [1.3.0](https://github.com/jaredLunde/exploration/compare/v1.2.0...v1.3.0) (2022-04-24) + + +### Features + +* finalize the api ([#13](https://github.com/jaredLunde/exploration/issues/13)) ([47bb5e8](https://github.com/jaredLunde/exploration/commit/47bb5e8b6d51f8559493de136f6c42845d158bd7)) + # [1.2.0](https://github.com/jaredLunde/exploration/compare/v1.1.3...v1.2.0) (2022-04-19) ### Features diff --git a/package.json b/package.json index d74e9c8..7c4f0ee 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "exploration", - "version": "1.2.0", + "version": "1.3.0", "description": "", "license": "MIT", "author": "Jared Lunde (https://jaredlunde.com/)", diff --git a/types/file-tree.d.ts b/types/file-tree.d.ts index 8525212..55a8080 100644 --- a/types/file-tree.d.ts +++ b/types/file-tree.d.ts @@ -11,80 +11,67 @@ import type { FileTreeSnapshot } from "./types"; * @param config.comparator - A function that compares two nodes for sorting. * @param config.root - The root node data of the file tree. */ -export declare function createFileTree( - getNodes: GetNodes, - config?: FileTreeConfig -): FileTree; +export declare function createFileTree(getNodes: GetNodes, config?: FileTreeConfig): FileTree; export declare class FileTree extends Tree> { - /** - * The root directory of the file tree - */ - root: Dir; - protected treeNodeMap: Map | Dir>; - nodesById: FileTreeNode[]; - protected loadingBranches: Map, Promise>; - /** - * Get a node by its ID. - * - * @param id - The ID of the node - */ - getById: (id: number) => FileTreeNode | undefined; - /** - * Expand a directory in the tree. - * - * @param dir - The directory to expand - * @param options - Options for expanding the directory - */ - expand: ( - dir: Dir, - options?: { - /** - * Ensure that the directory's parents are visible in the tree, as well. - */ - ensureVisible?: boolean; - /** - * Expand all of the directory's child directories. - */ - recursive?: boolean; - } - ) => Promise; - /** - * Collapse a directory in the tree. - * - * @param dir - The directory to collapse - */ - collapse: (dir: Dir) => void; - /** - * Remove a node and its descendants from the tree. - */ - remove: (node: FileTreeNode) => void; - /** - * You can use this method to manually trigger a reload of a directory in the tree. - * - * @param dir - The branch to load nodes for - */ - loadNodes: (dir: Dir) => Promise; - constructor({ - getNodes, - comparator, - root, - }: { - getNodes: GetNodesBase>; - comparator: (a: FileTreeNode, b: FileTreeNode) => number; + /** + * The root directory of the file tree + */ root: Dir; - }); - /** - * Produce a new tree with the given function applied to the given node. - * This is similar to `immer`'s produce function as you're working on a draft - * and can freely mutate the object. - * - * @param dir - The directory to produce the tree for - * @param produceFn - The function to produce the tree with - */ - produce( - dir: Dir, - produceFn: ( - context: FileTreeFactory & { + protected treeNodeMap: Map | Dir>; + nodesById: FileTreeNode[]; + protected loadingBranches: Map, Promise>; + /** + * Get a node by its ID. + * + * @param id - The ID of the node + */ + getById: (id: number) => FileTreeNode | undefined; + /** + * Expand a directory in the tree. + * + * @param dir - The directory to expand + * @param options - Options for expanding the directory + */ + expand: (dir: Dir, options?: { + /** + * Ensure that the directory's parents are visible in the tree, as well. + */ + ensureVisible?: boolean; + /** + * Expand all of the directory's child directories. + */ + recursive?: boolean; + }) => Promise; + /** + * Collapse a directory in the tree. + * + * @param dir - The directory to collapse + */ + collapse: (dir: Dir) => void; + /** + * Remove a node and its descendants from the tree. + */ + remove: (node: FileTreeNode) => void; + /** + * You can use this method to manually trigger a reload of a directory in the tree. + * + * @param dir - The branch to load nodes for + */ + loadNodes: (dir: Dir) => Promise; + constructor({ getNodes, comparator, root, }: { + getNodes: GetNodesBase>; + comparator: (a: FileTreeNode, b: FileTreeNode) => number; + root: Dir; + }); + /** + * Produce a new tree with the given function applied to the given node. + * This is similar to `immer`'s produce function as you're working on a draft + * and can freely mutate the object. + * + * @param dir - The directory to produce the tree for + * @param produceFn - The function to produce the tree with + */ + produce(dir: Dir, produceFn: (context: FileTreeFactory & { /** * The draft of the directory. */ @@ -99,70 +86,81 @@ export declare class FileTree extends Tree> { * Revert the draft back to its original state. */ revert(): void; - } - ) => void | (Dir | File)[] - ): void; - /** - * Move a node to a new parent. - * - * @param node - The node to move - * @param to - The new parent - */ - move(node: FileTreeNode, to: Dir): Promise; - /** - * Create a new file in a given directory. - * - * @param inDir - The directory to create the file in - * @param withData - The data for the file - */ - newFile(inDir: Dir, withData: FileTreeData): void; - /** - * Create a new directory in a given directory. - * - * @param inDir - The directory to create the directory in - * @param withData - The data for the directory - * @param expanded - Whether the directory should be expanded by default - */ - newDir( - inDir: Dir, - withData: FileTreeData, - expanded?: boolean - ): void; - /** - * Rename a node. - * - * @param node - The node to rename - * @param newName - The new name for the node - */ - rename(node: FileTreeNode, newName: string): void; + }) => void | (Dir | File)[]): void; + /** + * Move a node to a new parent. + * + * @param node - The node to move + * @param to - The new parent + */ + move(node: File | Dir, to: Dir): Promise; + /** + * Create a new file in a given directory. + * + * @param inDir - The directory to create the file in + * @param withData - The data for the file + */ + newFile(inDir: Dir, withData: FileTreeData): void; + /** + * Create a new directory in a given directory. + * + * @param inDir - The directory to create the directory in + * @param withData - The data for the directory + * @param expanded - Whether the directory should be expanded by default + */ + newDir(inDir: Dir, withData: FileTreeData, expanded?: boolean): void; + /** + * Create a new directory in a given directory. + * + * @param inDir - The directory to create the directory in + */ + newPrompt(inDir: Dir): void; + /** + * Rename a node. + * + * @param node - The node to rename + * @param newName - The new name for the node + */ + rename(node: File | Dir, newName: string): void; } export declare class File extends Leaf> { - /** - * The parent directory of the file - */ - get parent(): Dir | null; - /** - * The basename of the file - */ - get basename(): string; - /** - * The full path of the file - */ - get path(): string; + /** + * The parent directory of the file + */ + get parent(): Dir | null; + /** + * The basename of the file + */ + get basename(): string; + /** + * The full path of the file + */ + get path(): string; +} +export declare class Prompt extends Leaf> { + /** + * The parent directory of this directory + */ + get parent(): Dir | null; + get basename(): string; + /** + * The full path of the prompt + */ + get path(): string; } export declare class Dir extends Branch> { - /** - * The parent directory of this directory - */ - get parent(): Dir | null; - /** - * The basename of the directory - */ - get basename(): string; - /** - * The full path of the directory - */ - get path(): string; + /** + * The parent directory of this directory + */ + get parent(): Dir | null; + /** + * The basename of the directory + */ + get basename(): string; + /** + * The full path of the directory + */ + get path(): string; } /** * A sort comparator for sorting path names @@ -170,66 +168,69 @@ export declare class Dir extends Branch> { * @param a - A tree node * @param b - A tree node to compare against `a` */ -export declare function defaultComparator( - a: FileTreeNode, - b: FileTreeNode -): number; +export declare function defaultComparator(a: FileTreeNode, b: FileTreeNode): number; +/** + * Returns `true` if the given node is a prompt + * + * @param treeNode - A tree node + */ +export declare function isPrompt(treeNode: FileTreeNode): treeNode is Prompt; /** * Returns `true` if the given node is a file * * @param treeNode - A tree node */ -export declare function isFile( - treeNode: FileTreeNode -): treeNode is File; +export declare function isFile(treeNode: FileTreeNode): treeNode is File; /** * Returns `true` if the given node is a directory * * @param treeNode - A tree node */ export declare function isDir(treeNode: FileTreeNode): treeNode is Dir; -export declare type FileTreeNode = File | Dir; +export declare type FileTreeNode = File | Dir | Prompt; export declare type FileTreeData = { - name: string; - meta?: Meta; + name: string; + meta?: Meta; }; export declare type FileTreeFactory = { - /** - * Create a file node that can be inserted into the tree. - * - * @param data - The data to create a file with - */ - createFile(data: FileTreeData): File; - /** - * Create a directory node that can be inserted into the tree. - * - * @param data - The data to create a directory with - * @param expanded - Should the directory be expanded by default? - */ - createDir(data: FileTreeData, expanded?: boolean): Dir; + /** + * Create a file node that can be inserted into the tree. + * + * @param data - The data to create a file with + */ + createFile(data: FileTreeData): File; + /** + * Create a directory node that can be inserted into the tree. + * + * @param data - The data to create a directory with + * @param expanded - Should the directory be expanded by default? + */ + createDir(data: FileTreeData, expanded?: boolean): Dir; + /** + * Create a prompt node that can be inserted into the tree. + */ + createPrompt(): Prompt; }; export declare type GetNodes = { - /** - * Get the nodes for a given directory - * - * @param parent - The parent directory to get the nodes for - * @param factory - A factory to create nodes (file/dir) with - */ - (parent: Dir, factory: FileTreeFactory): - | Promise[]> - | FileTreeNode[]; + /** + * Get the nodes for a given directory + * + * @param parent - The parent directory to get the nodes for + * @param factory - A factory to create nodes (file/dir) with + */ + (parent: Dir, factory: Omit, "createPrompt">): Promise[]> | FileTreeNode[]; }; export declare type FileTreeConfig = { - /** - * A function that compares two nodes for sorting. - */ - comparator?: FileTree["comparator"]; - /** - * The root node data - */ - root?: Omit, "type">; - /** - * Restore the tree from a snapshot - */ - restoreFromSnapshot?: FileTreeSnapshot; + /** + * A function that compares two nodes for sorting. + */ + comparator?: FileTree["comparator"]; + /** + * The root node data + */ + root?: Omit, "type">; + /** + * Restore the tree from a snapshot + */ + restoreFromSnapshot?: FileTreeSnapshot; }; diff --git a/types/index.d.ts b/types/index.d.ts index e484a93..d083ab4 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,12 +1,4 @@ -export { - createFileTree, - defaultComparator, - isDir, - isFile, - FileTree, - Dir, - File, -} from "./file-tree"; +export { createFileTree, defaultComparator, isDir, isFile, FileTree, Dir, File, } from "./file-tree"; export type { FileTreeNode, FileTreeData, FileTreeFactory } from "./file-tree"; export { Node } from "./node"; export { SubjectMap, SubjectSet } from "./observable-data"; @@ -25,16 +17,10 @@ export { useFileTreeSnapshot } from "./use-file-tree-snapshot"; export { useTraits } from "./use-traits"; export type { TraitsProps, UseTraitsPlugin } from "./use-traits"; export { useRovingFocus } from "./use-roving-focus"; -export type { - RovingFocusProps, - UseRovingFocusPlugin, -} from "./use-roving-focus"; +export type { RovingFocusProps, UseRovingFocusPlugin, } from "./use-roving-focus"; export { useSelections } from "./use-selections"; export type { SelectionsProps, UseSelectionsPlugin } from "./use-selections"; export { useVirtualize } from "./use-virtualize"; -export type { - UseVirtualizeConfig, - UseVirtualizeResult, -} from "./use-virtualize"; +export type { UseVirtualizeConfig, UseVirtualizeResult, } from "./use-virtualize"; export { useVisibleNodes } from "./use-visible-nodes"; export { mergeProps } from "./utils"; diff --git a/types/node.d.ts b/types/node.d.ts index de16d69..6744679 100644 --- a/types/node.d.ts +++ b/types/node.d.ts @@ -7,8 +7,20 @@ import type { NodePlugin } from "./use-node-plugins"; * * @param props - Node props */ -export declare function Node(props: NodeProps): React.DetailedReactHTMLElement, HTMLElement>; +export declare function Node(props: NodeProps): React.ReactElement, string | React.JSXElementConstructor>; +/** + * A hook that creates and memoizes node-specific props from a set of input props. + * + * @param config - Props to generate exploration node-specific props from + */ +export declare function useNodeProps(config: Omit, "as">): React.HTMLAttributes; export interface NodeProps { + /** + * Render the node as this component + * + * @default "div" + */ + as?: React.ComponentType>; /** * A file tree node */ diff --git a/types/observable-data.d.ts b/types/observable-data.d.ts index 5c69260..2e7c3d9 100644 --- a/types/observable-data.d.ts +++ b/types/observable-data.d.ts @@ -1,15 +1,15 @@ import type { Subject } from "./tree/subject"; export declare class SubjectSet extends Set { - didChange: Subject>; - constructor(initialValue?: T[]); - add(value: T): this; - delete(value: T): boolean; - clear(): this; + didChange: Subject>; + constructor(initialValue?: T[]); + add(value: T): this; + delete(value: T): boolean; + clear(): this; } export declare class SubjectMap extends Map { - didChange: Subject>; - constructor(initialValue?: [K, V][]); - set(key: K, value: V): this; - delete(key: K): boolean; - clear(): this; + didChange: Subject>; + constructor(initialValue?: [K, V][]); + set(key: K, value: V): this; + delete(key: K): boolean; + clear(): this; } diff --git a/types/tree/subject.d.ts b/types/tree/subject.d.ts new file mode 100644 index 0000000..ba3414c --- /dev/null +++ b/types/tree/subject.d.ts @@ -0,0 +1,34 @@ +/** + * A utility for emitting abd subscribing to changes to a value. + * + * @param initialState - The initial value of the subject. + */ +export declare function subject(initialState: T): Subject; +export declare function pureSubject(initialValue: T, areEqual?: (current: T, next: T) => boolean): Subject; +export declare type Subject = { + /** + * Emit a new state. + * + * @param state - The new state + */ + setState(state: T): void; + /** + * Get the current state. + */ + getState(): T; + /** + * Observe changes to the state. + * + * @param observer - A callback that is invoked when the value changes + */ + observe(observer: Observer): () => void; + /** + * Remove a observer from the list of observers + * + * @param observer - A callback that is invoked when the value changes + */ + unobserve(observer: Observer): void; +}; +export declare type Observer = { + (state: T): void; +}; diff --git a/types/tree/tree.d.ts b/types/tree/tree.d.ts index 6ff1d17..c7f6dae 100644 --- a/types/tree/tree.d.ts +++ b/types/tree/tree.d.ts @@ -2,89 +2,75 @@ import type { Node } from "./branch"; import { Branch } from "./branch"; import { Leaf } from "./leaf"; export declare class Tree { - protected loadingBranches: Map, Promise>; - private getNodes; - comparator?: (a: Node, b: Node) => number; - flatView: import("./subject").Subject; - root: Branch; - nodesById: Node[]; - constructor({ - getNodes, - root, - comparator, - }: { - getNodes: GetNodes; - root: Branch; + protected loadingBranches: Map, Promise>; + private getNodes; comparator?: (a: Node, b: Node) => number; - }); - get visibleNodes(): number[]; - getById(id: number): Node | undefined; - /** - * Ensures that the children of any given branch have been loaded and ready to be worked with. - * - * Call this method without any arguments to check if the root branch is loaded. - * - * ⚠ "Loaded" doesn't mean expanded, it just means the contents are "ready". Except when no arguments are given, the - * branch being checked is root, and root is always expanded. - * - * @param branch - The branch to check - */ - ensureLoaded(branch?: Branch): Promise; - expand( - branch: Branch, - options?: { - ensureVisible?: boolean; - recursive?: boolean; - } - ): Promise; - collapse(branch: Branch): void; - protected _produce( - branch: Branch, - produceFn: (context: { - get draft(): Node[]; - insert>( - node: NodeType, - insertionIndex?: number - ): NodeType; - revert(): void; - }) => void | Node[] - ): void; - remove(nodeToRemove: Node): void; - move(node: Node, to: Branch): Promise; - invalidateFlatView(): void; - /** - * A more accurate and real-time representation of whether a branch is expanded. - * - * `Branch#expanded` represents the "optimistic" expansion state of the branch in - * question not the actual status, because the child nodes might still need to be - * loaded before the change can be seen in the tree. - * - * @param branch - The branch to check - */ - isExpanded(branch: Branch): boolean; - /** - * Returns `true` if the node and its parents are visible in the tree. - * - * @param node - The node to check - */ - isVisible(node: Node): boolean; - /** - * You can use this method to manually trigger a reload of a branch in the tree. - * - * @param branch - The branch to load nodes for - */ - loadNodes(branch: Branch): Promise; - protected setNodes( - branch: Branch, - nodeIds: number[] | Node[] - ): void; - private createVisibleNodes; - dispose(): void; + flatView: import("./subject").Subject; + root: Branch; + nodesById: Node[]; + constructor({ getNodes, root, comparator, }: { + getNodes: GetNodes; + root: Branch; + comparator?: (a: Node, b: Node) => number; + }); + get visibleNodes(): number[]; + getById(id: number): Node | undefined; + /** + * Ensures that the children of any given branch have been loaded and ready to be worked with. + * + * Call this method without any arguments to check if the root branch is loaded. + * + * ⚠ "Loaded" doesn't mean expanded, it just means the contents are "ready". Except when no arguments are given, the + * branch being checked is root, and root is always expanded. + * + * @param branch - The branch to check + */ + ensureLoaded(branch?: Branch): Promise; + expand(branch: Branch, options?: { + ensureVisible?: boolean; + recursive?: boolean; + }): Promise; + collapse(branch: Branch): void; + protected _produce(branch: Branch, produceFn: (context: { + get draft(): Node[]; + insert>(node: NodeType, insertionIndex?: number): NodeType; + revert(): void; + }) => void | Node[]): void; + remove(nodeToRemove: Node): void; + move(node: Node, to: Branch): Promise; + /** + * Invalidate the list of visible nodes. This is useful for re-rendering your tree + * when node data changes. + */ + invalidate(): void; + /** + * A more accurate and real-time representation of whether a branch is expanded. + * + * `Branch#expanded` represents the "optimistic" expansion state of the branch in + * question not the actual status, because the child nodes might still need to be + * loaded before the change can be seen in the tree. + * + * @param branch - The branch to check + */ + isExpanded(branch: Branch): boolean; + /** + * Returns `true` if the node and its parents are visible in the tree. + * + * @param node - The node to check + */ + isVisible(node: Node): boolean; + /** + * You can use this method to manually trigger a reload of a branch in the tree. + * + * @param branch - The branch to load nodes for + */ + loadNodes(branch: Branch): Promise; + protected setNodes(branch: Branch, nodeIds: number[] | Node[]): void; + private createVisibleNodes; + dispose(): void; } export declare function isLeaf(node: Node | undefined): node is Leaf; -export declare function isBranch( - node: Node | undefined -): node is Branch; +export declare function isBranch(node: Node | undefined): node is Branch; export declare type GetNodes = { - (parent: Branch): Node[] | Promise[]>; + (parent: Branch): Node[] | Promise[]>; }; diff --git a/types/tsconfig.tsbuildinfo b/types/tsconfig.tsbuildinfo index 2cab795..094ea37 100644 --- a/types/tsconfig.tsbuildinfo +++ b/types/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/.pnpm/@types+react@18.0.0/node_modules/@types/react/global.d.ts","../node_modules/.pnpm/csstype@3.0.11/node_modules/csstype/index.d.ts","../node_modules/.pnpm/@types+prop-types@15.7.4/node_modules/@types/prop-types/index.d.ts","../node_modules/.pnpm/@types+scheduler@0.16.2/node_modules/@types/scheduler/tracing.d.ts","../node_modules/.pnpm/@types+react@18.0.0/node_modules/@types/react/index.d.ts","../node_modules/.pnpm/@react-hook+hotkey@3.1.0_react@18.0.0/node_modules/@react-hook/hotkey/types/index.d.ts","../src/path-fx.ts","../src/tree/nodes-by-id.ts","../src/tree/leaf.ts","../src/tree/branch.ts","../node_modules/.pnpm/@essentials+memoize-one@1.1.0/node_modules/@essentials/memoize-one/types/index.d.ts","../src/tree/subject.ts","../src/tree/tree.ts","../src/types.ts","../src/file-tree.ts","../node_modules/.pnpm/trie-memoize@1.2.0/node_modules/trie-memoize/types/index.d.ts","../src/use-roving-focus.ts","../src/observable-data.ts","../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/index.d.ts","../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/shim/index.d.ts","../src/use-visible-nodes.ts","../src/use-selections.ts","../src/use-hotkeys.ts","../node_modules/.pnpm/clsx@1.1.1/node_modules/clsx/clsx.d.ts","../src/utils.ts","../src/use-node-plugins.ts","../src/node.tsx","../src/use-observer.ts","../src/use-dnd.ts","../node_modules/.pnpm/@essentials+request-timeout@1.3.0/node_modules/@essentials/request-timeout/types/index.d.ts","../src/use-deferred-value.ts","../src/use-filter.ts","../src/use-traits.ts","../node_modules/.pnpm/@types+use-subscription@1.0.0/node_modules/@types/use-subscription/index.d.ts","../src/use-resize-observer.ts","../src/use-transition.ts","../src/use-virtualize.ts","../src/index.ts","../src/use-file-tree-snapshot.ts","../node_modules/.pnpm/@types+aria-query@4.2.2/node_modules/@types/aria-query/index.d.ts","../node_modules/.pnpm/@babel+types@7.17.0/node_modules/@babel/types/lib/index.d.ts","../node_modules/.pnpm/@types+babel__generator@7.6.4/node_modules/@types/babel__generator/index.d.ts","../node_modules/.pnpm/@babel+parser@7.17.9/node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/.pnpm/@types+babel__template@7.4.1/node_modules/@types/babel__template/index.d.ts","../node_modules/.pnpm/@types+babel__traverse@7.14.2/node_modules/@types/babel__traverse/index.d.ts","../node_modules/.pnpm/@types+babel__core@7.1.19/node_modules/@types/babel__core/index.d.ts","../node_modules/.pnpm/@types+estree@0.0.39/node_modules/@types/estree/index.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/assert.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/assert/strict.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/globals.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/async_hooks.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/buffer.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/child_process.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/cluster.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/console.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/constants.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/crypto.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/dgram.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/dns.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/dns/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/domain.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/events.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/fs.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/fs/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/http.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/http2.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/https.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/inspector.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/module.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/net.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/os.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/path.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/perf_hooks.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/process.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/punycode.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/querystring.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/readline.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/repl.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream/consumers.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream/web.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/string_decoder.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/timers.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/timers/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/tls.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/trace_events.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/tty.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/url.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/util.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/v8.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/vm.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/wasi.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/worker_threads.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/zlib.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/globals.global.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/index.d.ts","../node_modules/.pnpm/@types+graceful-fs@4.1.5/node_modules/@types/graceful-fs/index.d.ts","../node_modules/.pnpm/@types+is-relative@1.0.0/node_modules/@types/is-relative/index.d.ts","../node_modules/.pnpm/@types+istanbul-lib-coverage@2.0.4/node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/.pnpm/@types+istanbul-lib-report@3.0.0/node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/.pnpm/@types+istanbul-reports@3.0.1/node_modules/@types/istanbul-reports/index.d.ts","../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/cleanupsemantic.d.ts","../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/types.d.ts","../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/index.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/types.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/difflines.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/printdiffs.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/index.d.ts","../node_modules/.pnpm/jest-matcher-utils@27.5.1/node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/.pnpm/@types+jest@27.4.1/node_modules/@types/jest/index.d.ts","../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../node_modules/.pnpm/@types+minimist@1.2.2/node_modules/@types/minimist/index.d.ts","../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../node_modules/.pnpm/@types+parse-json@4.0.0/node_modules/@types/parse-json/index.d.ts","../node_modules/.pnpm/@types+prettier@2.4.4/node_modules/@types/prettier/index.d.ts","../node_modules/.pnpm/@types+raf-schd@4.0.1/node_modules/@types/raf-schd/index.d.ts","../node_modules/.pnpm/@types+react-dom@18.0.0/node_modules/@types/react-dom/index.d.ts","../node_modules/.pnpm/@types+resolve@1.17.1/node_modules/@types/resolve/index.d.ts","../node_modules/.pnpm/@types+scheduler@0.16.2/node_modules/@types/scheduler/index.d.ts","../node_modules/.pnpm/@types+stack-utils@2.0.1/node_modules/@types/stack-utils/index.d.ts","../node_modules/.pnpm/@types+testing-library__jest-dom@5.14.3/node_modules/@types/testing-library__jest-dom/matchers.d.ts","../node_modules/.pnpm/@types+testing-library__jest-dom@5.14.3/node_modules/@types/testing-library__jest-dom/index.d.ts","../node_modules/.pnpm/@types+yargs-parser@21.0.0/node_modules/@types/yargs-parser/index.d.ts","../node_modules/.pnpm/@types+yargs@16.0.4/node_modules/@types/yargs/index.d.ts","../node_modules/.pnpm/@types+yoga-layout@1.9.2/node_modules/@types/yoga-layout/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2f93dda35dafec68ec217c9ce67f0f4fbbbb030c055ac312641565ad60dd7e26","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"8325bbd311ca1a6b8239d89623c2dd943f77a94091e0f3203808f6e2f802202a","affectsGlobalScope":true},"35b8c380f1b0db7cf4b3d0dfa1ae3a6b32ad4f1634fc269e0048ffb4b9831908","fe4347dc0c8e5d418175a303e1b2309f6f5a4b3960d2b4ff2e066a943b93f050","30a99389119bbbe022caa9dcaa64600551f2e915f52ed772f1e06dbab291e07d","2a1c51c4cd2829fa4a5bb4e6f3dfef89776549f09cb29dd23f6f2e87b0308d16","3a7cf8b6c490a82c9427de73ef7c0f87005d31859dcdf7c5b94fa1513fb8be35","397bf7e491176b9c3f3647d557e21ef32c0bf7e3c2a7ad3120783c703046a572",{"version":"d3a840461f3b0a28e05c8c87b1207655b92086f8a1cf37c6f3e38a5a22917f9f","signature":"498e4cdbcacde1f0e4ee399f2920a6a9c65a60c05a19afa7a9deb7dda489c454"},{"version":"fd248d0f3c8a2eb00a6d32d223bb0e4dbf2d00ed5d47ba878d64c7a2b341b218","signature":"b266747a8be3b1d20847d477e77e928fca7801b8ca2ed829f77ba7690721d357"},"4d8bfdef7d15fd474fc5174e253d5e070dacd236f3c1389d70851df60c10e6a8",{"version":"cf31d7692e7436c07ab7083be244a60a01788e561dd4c4c2dc939260282a4004","signature":"25e78a43e9e32e9d3436e99cf617007e459402399877c85b7da011f237769743"},"4e06db264babf972d222794c41f5fc0f0636e8187f87629966e12d41299512f4",{"version":"f2671fefc56218c33d7b4c63da1705253dd135f43c62e32e447075fb03462553","signature":"7b399b7149270e74092ab13d5b0b51ba7608f53135a6d4802808223cd81bc32c"},{"version":"d7c75890c87cf695e090dffba5f9b60bb2440f465e646c75e1ce55c1ccad50f6","signature":"eaec98a6d7147ff1600943911cb2640ae86b7362110a7d0d36472f1b1b52e0db"},"61f41da9aaa809e5142b1d849d4e70f3e09913a5cb32c629bf6e61ef27967ff7","49772eb27dab6d789bfbd51703bf88f5c49ec53636e022f6a86d79a9794984af",{"version":"5f48bc2fc46b67d241c50f3f165ec3ead961352fbfb01a3e03ebaa27eabed88a","signature":"566a8fc87c2dd17fa4828511b0c8f9da65899be4fc3945c64c88d03c2f54caaa"},{"version":"3ae0e5ca46c15fddb2b139a7955076bde465380fd1f43542d04983064bb1df8d","signature":"8fe00eb211a7c4bd9e0dd48ba2d5166c5973c7c5a788207a602363051f8db442"},{"version":"7c68cb2534c1499400bb3ed0dbcfc352db57aef151ff0b00ea125147a0c02099","signature":"d3b5c19ae09a9be10c658c7f0f33327ca8b435e41cc5089a3c3a91ed3923960f"},"1552a249535ba9306d1ce112428864d06af27f6c50f24fb75b46fcc562927b0a","2e28e45f07a099441d500fc649dc4a2f2cbe1820a1b337e5feaf6b0df5ca63b7",{"version":"9a7aaa8ee691009cfa41b161e538ae5a20528d3419d0535051d494defc1a459e","signature":"f9f59b630ae156860f10cb4a147a9113995b15e81c9b3f67f39ec8b4e7898fe7"},{"version":"c4593e788a5eabb40db08821d27fa838a433929c162a8a1130638972e2c2cce0","signature":"567469747fb6915267d76eae4c9a8762ee2e8c5afe3512c36164d6d92ad66eeb"},{"version":"4ea67859b36a34e3e87f529364c58d343a8affd3dc21f54f9d5fb38a898429e7","signature":"57ae96c103a2d9f28ef5605acbfa218bdadd32a3b20537c5cee39b6b91e3f5a7"},{"version":"b7b235d2935c5495a0ecfd514c406a15543a24fb016bed3b60627fc6feea2311","signature":"bcc5db34157fb7841b03d9a97d540e72debb1c0e2c176043558ba9b483f33419"},"79ce1d330067f96031d5308ed92866cd2d2278cde5b49b0703804b12dd54c120","3e9bf65c0c1b3e89501fef14e3bf50bd6ac9f5676b5cbbf3e77dd35b6bc722e8",{"version":"a36d34bf41548c462f6e2be1333bf9387f7e51bd8cb4610e2ec6793ee0818e0c","signature":"68a7a02fde3a73426358d5ae699553fe00626805d74f8a9d42c724238181ff41"},{"version":"33e63c735f2599dab180e2a604341bb1a17873fd8a57ca88555bb7d2068688cd","signature":"f6958dc92e4264e42964856b32867b9d292fff885311d3e79189ccfa6ac20090"},"48857e2db9b8d54ce0f1f80819cad2321e82a9b0ea5093a7b72aef827a9b486d","7ee65106a84d06b72315ff782195bee7f3831ce1472025812216df523ea955ec","b5b7f570e53d10704fad3a88c89c5af56198afdc404e4b48486ea4252a8c4f7d",{"version":"df759e8402a2edd3cad93ef53406c41bf52cbafd17a76dd0f90999b9279a979f","signature":"b7dcd64bc96b6a33210c0493dd7869927b57b6157e522d955b4bd8ee94846e03"},{"version":"56abccaa2eb9df4c937bd8b7480a0a0505d1de89af927917e2bd237ee5e85025","signature":"6db0ea3da92ae5b1ee5f402942901ac34bff608489ccf027817d685b23c198e1"},{"version":"1dcfcff714a874c176dadcc993a42d0bd3fc8522c018c354b2396d66288366d7","signature":"b1543beaa8dc555c3926f7f344261b50e3d9903013c40b0fa217b21b3adb1bf1"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","1a7cc144992d79b062c22ac0309c6624dbb0d49bbddff7ea3b9daa0c17bcac0a","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","f6d3956dbc2ee0fdf55c0b2dad571fbc41b1dddea88e0685c58b9c582f56aa25","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3fe15a491a792852283caeece8142bc7427a29c183d9fec8691d95a49c8932a1","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","6209c901f30cc321f4b86800d11fad3d67e73a3308f19946b1bc642af0280298","3d03e137dba6f8fcf4549dcf4a9a64289ed663120630ae01b4905da9d3551691","ca579f66ab81fbb94022268fcb98f8eab6ad5ba3b283ef65eba4bbd7df16e9e0","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","bd0f4458d57115491a1dd9fe522fa1d6ffe45a85b12bbd463967f90b50e43c29",{"version":"06279f0df6f368af41fe267319e90b5af9d89ad489d1662164b94ce30a797c79","affectsGlobalScope":true},"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438","7693b0547e3b004443fa1f4327b61617e7317757a3e947ccc200c91111c77eca"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"downlevelIteration":true,"emitDeclarationOnly":false,"esModuleInterop":true,"jsx":2,"outDir":"./","strict":true,"target":1},"fileIdsList":[[92,142],[142],[56,142],[92,93,94,95,96,142],[92,94,142],[115,142,149],[142,152],[142,153],[142,158,163],[99,142],[102,142],[103,108,142],[104,114,115,122,131,141,142],[104,105,114,122,142],[106,142],[107,108,115,123,142],[108,131,138,142],[109,111,114,122,142],[110,142],[111,112,142],[113,114,142],[114,142],[114,115,116,131,141,142],[114,115,116,131,142],[117,122,131,141,142],[114,115,117,118,122,131,138,141,142],[117,119,131,138,141,142],[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[114,120,142],[121,141,142],[111,114,122,131,142],[123,142],[124,142],[102,125,142],[126,140,142,146],[127,142],[128,142],[114,129,142],[129,130,142,144],[114,131,132,133,142],[131,133,142],[131,132,142],[134,142],[135,142],[114,136,137,142],[136,137,142],[108,122,131,138,142],[139,142],[122,140,142],[103,117,128,141,142],[108,142],[131,142,143],[142,144],[142,145],[103,108,114,116,125,131,141,142,144,146],[131,142,147],[52,53,54,55,142],[142,149],[142,164,176],[70,142],[142,178],[142,156,159],[142,156,159,160,161],[142,158],[142,155,162],[142,157],[58,59,60,61,64,65,142],[58,63,65,66,68,69,72,73,74,76,77,78,79,80,83,84,88,90,142],[56,63,66,77,142],[63,142],[59,60,142],[59,61,142],[61,142],[59,60,61,62,63,142],[56,76,81,142],[56,63,65,66,67,76,79,142],[65,66,89,142],[56,66,72,82,142],[57,65,66,68,72,73,142],[56,63,67,71,76,142],[56,63,142],[56,63,66,67,142],[56,63,66,67,69,72,142],[56,63,66,67,69,142],[56,65,66,67,72,76,81,85,86,87,142],[66,71,142],[75,142],[60,61,64,65],[58,63,65,66,68,69,72,73,74,76,77,78,79,80,83,84,88,90],[56,66,77],[63],[60,61,63],[56,63,65,66],[65,66],[66],[65,66,68,73],[56,63],[56,63,66],[63,66],[56,65,66]],"referencedMap":[[94,1],[92,2],[62,2],[81,2],[57,3],[91,2],[97,4],[93,1],[95,5],[96,1],[98,2],[150,6],[151,2],[152,2],[153,7],[154,8],[164,9],[165,2],[166,2],[167,2],[99,10],[100,10],[102,11],[103,12],[104,13],[105,14],[106,15],[107,16],[108,17],[109,18],[110,19],[111,20],[112,20],[113,21],[114,22],[115,23],[116,24],[101,2],[148,2],[117,25],[118,26],[119,27],[149,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,34],[126,35],[127,36],[128,37],[129,38],[130,39],[131,40],[133,41],[132,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[144,53],[145,54],[146,55],[147,56],[168,2],[169,2],[170,2],[54,2],[171,2],[172,3],[52,2],[56,57],[173,58],[174,2],[55,2],[175,2],[177,59],[176,2],[85,2],[70,2],[71,60],[178,2],[179,61],[180,2],[155,2],[75,2],[53,2],[156,2],[160,62],[162,63],[161,62],[159,64],[163,65],[158,66],[157,2],[67,2],[11,2],[12,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[4,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[34,2],[35,2],[36,2],[37,2],[7,2],[42,2],[38,2],[39,2],[40,2],[41,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[1,2],[10,2],[51,2],[66,67],[89,68],[78,69],[69,70],[58,2],[61,71],[60,72],[59,73],[63,2],[64,74],[65,2],[82,75],[80,76],[90,77],[83,78],[74,79],[77,80],[79,81],[86,3],[68,82],[73,83],[84,84],[87,3],[88,85],[72,86],[76,87]],"exportedModulesMap":[[94,1],[92,2],[62,2],[81,2],[57,3],[91,2],[97,4],[93,1],[95,5],[96,1],[98,2],[150,6],[151,2],[152,2],[153,7],[154,8],[164,9],[165,2],[166,2],[167,2],[99,10],[100,10],[102,11],[103,12],[104,13],[105,14],[106,15],[107,16],[108,17],[109,18],[110,19],[111,20],[112,20],[113,21],[114,22],[115,23],[116,24],[101,2],[148,2],[117,25],[118,26],[119,27],[149,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,34],[126,35],[127,36],[128,37],[129,38],[130,39],[131,40],[133,41],[132,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[144,53],[145,54],[146,55],[147,56],[168,2],[169,2],[170,2],[54,2],[171,2],[172,3],[52,2],[56,57],[173,58],[174,2],[55,2],[175,2],[177,59],[176,2],[85,2],[70,2],[71,60],[178,2],[179,61],[180,2],[155,2],[75,2],[53,2],[156,2],[160,62],[162,63],[161,62],[159,64],[163,65],[158,66],[157,2],[67,2],[11,2],[12,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[4,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[34,2],[35,2],[36,2],[37,2],[7,2],[42,2],[38,2],[39,2],[40,2],[41,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[1,2],[10,2],[51,2],[66,88],[89,89],[78,90],[69,91],[58,2],[61,71],[60,72],[59,73],[64,92],[65,2],[82,75],[80,93],[90,94],[83,95],[74,96],[77,97],[79,91],[86,3],[68,98],[73,98],[84,99],[87,3],[88,100],[72,95],[76,87]],"semanticDiagnosticsPerFile":[94,92,62,81,57,91,97,93,95,96,98,150,151,152,153,154,164,165,166,167,99,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,101,148,117,118,119,149,120,121,122,123,124,125,126,127,128,129,130,131,133,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,168,169,170,54,171,172,52,56,173,174,55,175,177,176,85,70,71,178,179,180,155,75,53,156,160,162,161,159,163,158,157,67,11,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,34,35,36,37,7,42,38,39,40,41,8,46,43,44,45,47,9,48,49,50,1,10,51,66,89,78,69,58,61,60,59,63,64,65,82,80,90,83,74,77,79,86,68,73,84,87,88,72,76],"affectedFilesPendingEmit":[[94,1],[92,1],[62,1],[81,1],[57,1],[91,1],[97,1],[93,1],[95,1],[96,1],[98,1],[150,1],[151,1],[152,1],[153,1],[154,1],[164,1],[165,1],[166,1],[167,1],[99,1],[100,1],[102,1],[103,1],[104,1],[105,1],[106,1],[107,1],[108,1],[109,1],[110,1],[111,1],[112,1],[113,1],[114,1],[115,1],[116,1],[101,1],[148,1],[117,1],[118,1],[119,1],[149,1],[120,1],[121,1],[122,1],[123,1],[124,1],[125,1],[126,1],[127,1],[128,1],[129,1],[130,1],[131,1],[133,1],[132,1],[134,1],[135,1],[136,1],[137,1],[138,1],[139,1],[140,1],[141,1],[142,1],[143,1],[144,1],[145,1],[146,1],[147,1],[168,1],[169,1],[170,1],[54,1],[171,1],[172,1],[52,1],[56,1],[173,1],[174,1],[55,1],[175,1],[177,1],[176,1],[85,1],[70,1],[71,1],[178,1],[179,1],[180,1],[155,1],[75,1],[53,1],[156,1],[160,1],[162,1],[161,1],[159,1],[163,1],[158,1],[157,1],[67,1],[11,1],[12,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[4,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[34,1],[35,1],[36,1],[37,1],[7,1],[42,1],[38,1],[39,1],[40,1],[41,1],[8,1],[46,1],[43,1],[44,1],[45,1],[47,1],[9,1],[48,1],[49,1],[50,1],[1,1],[10,1],[51,1],[66,1],[89,1],[78,1],[69,1],[58,1],[61,1],[60,1],[59,1],[63,1],[64,1],[65,1],[82,1],[80,1],[90,1],[83,1],[74,1],[77,1],[79,1],[86,1],[68,1],[73,1],[84,1],[87,1],[88,1],[72,1],[76,1]]},"version":"4.6.3"} \ No newline at end of file +{"program":{"fileNames":["../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/.pnpm/@types+react@18.0.0/node_modules/@types/react/global.d.ts","../node_modules/.pnpm/csstype@3.0.11/node_modules/csstype/index.d.ts","../node_modules/.pnpm/@types+prop-types@15.7.4/node_modules/@types/prop-types/index.d.ts","../node_modules/.pnpm/@types+scheduler@0.16.2/node_modules/@types/scheduler/tracing.d.ts","../node_modules/.pnpm/@types+react@18.0.0/node_modules/@types/react/index.d.ts","../node_modules/.pnpm/trie-memoize@1.2.0/node_modules/trie-memoize/types/index.d.ts","../src/path-fx.ts","../src/tree/nodes-by-id.ts","../src/tree/leaf.ts","../src/tree/branch.ts","../node_modules/.pnpm/@essentials+memoize-one@1.1.0/node_modules/@essentials/memoize-one/types/index.d.ts","../src/tree/subject.ts","../src/tree/tree.ts","../src/types.ts","../src/file-tree.ts","../src/observable-data.ts","../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/index.d.ts","../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/shim/index.d.ts","../src/use-visible-nodes.ts","../src/use-selections.ts","../src/use-observer.ts","../node_modules/.pnpm/clsx@1.1.1/node_modules/clsx/clsx.d.ts","../src/utils.ts","../src/use-dnd.ts","../node_modules/.pnpm/@essentials+request-timeout@1.3.0/node_modules/@essentials/request-timeout/types/index.d.ts","../src/use-deferred-value.ts","../src/use-node-plugins.ts","../src/node.tsx","../src/use-filter.ts","../node_modules/.pnpm/@react-hook+hotkey@3.1.0_react@18.0.0/node_modules/@react-hook/hotkey/types/index.d.ts","../src/use-roving-focus.ts","../src/use-hotkeys.ts","../src/use-file-tree-snapshot.ts","../src/use-traits.ts","../node_modules/.pnpm/@types+use-subscription@1.0.0/node_modules/@types/use-subscription/index.d.ts","../src/use-resize-observer.ts","../src/use-transition.ts","../src/use-virtualize.ts","../src/index.ts","../node_modules/.pnpm/@types+aria-query@4.2.2/node_modules/@types/aria-query/index.d.ts","../node_modules/.pnpm/@babel+types@7.17.0/node_modules/@babel/types/lib/index.d.ts","../node_modules/.pnpm/@types+babel__generator@7.6.4/node_modules/@types/babel__generator/index.d.ts","../node_modules/.pnpm/@babel+parser@7.17.9/node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/.pnpm/@types+babel__template@7.4.1/node_modules/@types/babel__template/index.d.ts","../node_modules/.pnpm/@types+babel__traverse@7.14.2/node_modules/@types/babel__traverse/index.d.ts","../node_modules/.pnpm/@types+babel__core@7.1.19/node_modules/@types/babel__core/index.d.ts","../node_modules/.pnpm/@types+estree@0.0.39/node_modules/@types/estree/index.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/assert.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/assert/strict.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/globals.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/async_hooks.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/buffer.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/child_process.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/cluster.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/console.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/constants.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/crypto.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/dgram.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/dns.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/dns/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/domain.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/events.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/fs.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/fs/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/http.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/http2.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/https.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/inspector.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/module.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/net.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/os.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/path.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/perf_hooks.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/process.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/punycode.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/querystring.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/readline.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/repl.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream/consumers.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/stream/web.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/string_decoder.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/timers.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/timers/promises.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/tls.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/trace_events.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/tty.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/url.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/util.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/v8.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/vm.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/wasi.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/worker_threads.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/zlib.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/globals.global.d.ts","../node_modules/.pnpm/@types+node@17.0.23/node_modules/@types/node/index.d.ts","../node_modules/.pnpm/@types+graceful-fs@4.1.5/node_modules/@types/graceful-fs/index.d.ts","../node_modules/.pnpm/@types+is-relative@1.0.0/node_modules/@types/is-relative/index.d.ts","../node_modules/.pnpm/@types+istanbul-lib-coverage@2.0.4/node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/.pnpm/@types+istanbul-lib-report@3.0.0/node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/.pnpm/@types+istanbul-reports@3.0.1/node_modules/@types/istanbul-reports/index.d.ts","../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/types.d.ts","../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/index.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/types.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/diffLines.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/.pnpm/jest-diff@27.5.1/node_modules/jest-diff/build/index.d.ts","../node_modules/.pnpm/jest-matcher-utils@27.5.1/node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/.pnpm/@types+jest@27.4.1/node_modules/@types/jest/index.d.ts","../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../node_modules/.pnpm/@types+minimist@1.2.2/node_modules/@types/minimist/index.d.ts","../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../node_modules/.pnpm/@types+parse-json@4.0.0/node_modules/@types/parse-json/index.d.ts","../node_modules/.pnpm/@types+prettier@2.4.4/node_modules/@types/prettier/index.d.ts","../node_modules/.pnpm/@types+react-dom@18.0.0/node_modules/@types/react-dom/index.d.ts","../node_modules/.pnpm/@types+resolve@1.17.1/node_modules/@types/resolve/index.d.ts","../node_modules/.pnpm/@types+scheduler@0.16.2/node_modules/@types/scheduler/index.d.ts","../node_modules/.pnpm/@types+stack-utils@2.0.1/node_modules/@types/stack-utils/index.d.ts","../node_modules/.pnpm/@types+testing-library__jest-dom@5.14.3/node_modules/@types/testing-library__jest-dom/matchers.d.ts","../node_modules/.pnpm/@types+testing-library__jest-dom@5.14.3/node_modules/@types/testing-library__jest-dom/index.d.ts","../node_modules/.pnpm/@types+yargs-parser@21.0.0/node_modules/@types/yargs-parser/index.d.ts","../node_modules/.pnpm/@types+yargs@16.0.4/node_modules/@types/yargs/index.d.ts","../node_modules/.pnpm/@types+yoga-layout@1.9.2/node_modules/@types/yoga-layout/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2f93dda35dafec68ec217c9ce67f0f4fbbbb030c055ac312641565ad60dd7e26","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"8325bbd311ca1a6b8239d89623c2dd943f77a94091e0f3203808f6e2f802202a","affectsGlobalScope":true},"4e06db264babf972d222794c41f5fc0f0636e8187f87629966e12d41299512f4","fe4347dc0c8e5d418175a303e1b2309f6f5a4b3960d2b4ff2e066a943b93f050","cd7aae1e8508c124cd696a6a6d6c795e6ec6153b1c87e71493705a74f7d4bfe4","2a1c51c4cd2829fa4a5bb4e6f3dfef89776549f09cb29dd23f6f2e87b0308d16","3a7cf8b6c490a82c9427de73ef7c0f87005d31859dcdf7c5b94fa1513fb8be35","397bf7e491176b9c3f3647d557e21ef32c0bf7e3c2a7ad3120783c703046a572","d3a840461f3b0a28e05c8c87b1207655b92086f8a1cf37c6f3e38a5a22917f9f","9b2233025aa4852e87bb39cf613716489f5c4b2207b3175106790dfae664ed20","4d8bfdef7d15fd474fc5174e253d5e070dacd236f3c1389d70851df60c10e6a8","cf31d7692e7436c07ab7083be244a60a01788e561dd4c4c2dc939260282a4004","d7c75890c87cf695e090dffba5f9b60bb2440f465e646c75e1ce55c1ccad50f6","61f41da9aaa809e5142b1d849d4e70f3e09913a5cb32c629bf6e61ef27967ff7","49772eb27dab6d789bfbd51703bf88f5c49ec53636e022f6a86d79a9794984af","5f48bc2fc46b67d241c50f3f165ec3ead961352fbfb01a3e03ebaa27eabed88a","3ae0e5ca46c15fddb2b139a7955076bde465380fd1f43542d04983064bb1df8d","4ea67859b36a34e3e87f529364c58d343a8affd3dc21f54f9d5fb38a898429e7","1552a249535ba9306d1ce112428864d06af27f6c50f24fb75b46fcc562927b0a","2e28e45f07a099441d500fc649dc4a2f2cbe1820a1b337e5feaf6b0df5ca63b7","b7b235d2935c5495a0ecfd514c406a15543a24fb016bed3b60627fc6feea2311","79ce1d330067f96031d5308ed92866cd2d2278cde5b49b0703804b12dd54c120","3e9bf65c0c1b3e89501fef14e3bf50bd6ac9f5676b5cbbf3e77dd35b6bc722e8","3d196b0274500942d9e201696083df9679a05b1224627b9e300b2f08ade64bd8","c4593e788a5eabb40db08821d27fa838a433929c162a8a1130638972e2c2cce0","a36d34bf41548c462f6e2be1333bf9387f7e51bd8cb4610e2ec6793ee0818e0c","35b8c380f1b0db7cf4b3d0dfa1ae3a6b32ad4f1634fc269e0048ffb4b9831908","f2671fefc56218c33d7b4c63da1705253dd135f43c62e32e447075fb03462553","7c68cb2534c1499400bb3ed0dbcfc352db57aef151ff0b00ea125147a0c02099","1dcfcff714a874c176dadcc993a42d0bd3fc8522c018c354b2396d66288366d7","33e63c735f2599dab180e2a604341bb1a17873fd8a57ca88555bb7d2068688cd","48857e2db9b8d54ce0f1f80819cad2321e82a9b0ea5093a7b72aef827a9b486d","7ee65106a84d06b72315ff782195bee7f3831ce1472025812216df523ea955ec","b5b7f570e53d10704fad3a88c89c5af56198afdc404e4b48486ea4252a8c4f7d","edc99a8d0c1ca01cc80007f2d1cc9df7e391759effbb26847021a3496d9b32d9","56abccaa2eb9df4c937bd8b7480a0a0505d1de89af927917e2bd237ee5e85025","5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","1a7cc144992d79b062c22ac0309c6624dbb0d49bbddff7ea3b9daa0c17bcac0a","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","f6d3956dbc2ee0fdf55c0b2dad571fbc41b1dddea88e0685c58b9c582f56aa25","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3fe15a491a792852283caeece8142bc7427a29c183d9fec8691d95a49c8932a1","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","6209c901f30cc321f4b86800d11fad3d67e73a3308f19946b1bc642af0280298","ca579f66ab81fbb94022268fcb98f8eab6ad5ba3b283ef65eba4bbd7df16e9e0","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","bd0f4458d57115491a1dd9fe522fa1d6ffe45a85b12bbd463967f90b50e43c29",{"version":"06279f0df6f368af41fe267319e90b5af9d89ad489d1662164b94ce30a797c79","affectsGlobalScope":true},"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438","7693b0547e3b004443fa1f4327b61617e7317757a3e947ccc200c91111c77eca"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"downlevelIteration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"outDir":"./","strict":true,"target":1},"fileIdsList":[[92,142],[142],[56,142],[92,93,94,95,96,142],[92,94,142],[115,142,149],[142,152],[142,153],[142,158,163],[99,142],[102,142],[103,108,142],[104,114,115,122,131,141,142],[104,105,114,122,142],[106,142],[107,108,115,123,142],[108,131,138,142],[109,111,114,122,142],[110,142],[111,112,142],[113,114,142],[114,142],[114,115,116,131,141,142],[114,115,116,131,142],[117,122,131,141,142],[114,115,117,118,122,131,138,141,142],[117,119,131,138,141,142],[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[114,120,142],[121,141,142],[111,114,122,131,142],[123,142],[124,142],[102,125,142],[126,140,142,146],[127,142],[128,142],[114,129,142],[129,130,142,144],[114,131,132,133,142],[131,133,142],[131,132,142],[134,142],[135,142],[114,136,137,142],[136,137,142],[108,122,131,138,142],[139,142],[122,140,142],[103,117,128,141,142],[108,142],[131,142,143],[142,144],[142,145],[103,108,114,116,125,131,141,142,144,146],[131,142,147],[52,53,54,55,142],[142,149],[142,164,175],[68,142],[142,177],[142,156,159],[142,156,159,160,161],[142,158],[142,155,162],[142,157],[58,59,60,61,64,65,142],[58,63,65,66,67,70,71,72,74,75,78,79,80,82,83,84,85,89,142],[56,63,66,78,142],[63,142],[59,60,142],[59,61,142],[61,142],[59,60,61,62,63,142],[56,74,76,142],[56,57,63,65,66,72,74,142],[65,66,90,142],[56,66,70,77,142],[65,66,70,71,81,82,142],[56,57,63,69,74,142],[56,63,142],[56,57,63,66,142],[56,57,63,66,67,70,142],[56,57,63,66,67,142],[56,57,65,66,70,74,76,86,87,88,142],[66,69,142],[73,142]],"referencedMap":[[94,1],[92,2],[62,2],[76,2],[81,3],[91,2],[97,4],[93,1],[95,5],[96,1],[98,2],[150,6],[151,2],[152,2],[153,7],[154,8],[164,9],[165,2],[166,2],[167,2],[99,10],[100,10],[102,11],[103,12],[104,13],[105,14],[106,15],[107,16],[108,17],[109,18],[110,19],[111,20],[112,20],[113,21],[114,22],[115,23],[116,24],[101,2],[148,2],[117,25],[118,26],[119,27],[149,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,34],[126,35],[127,36],[128,37],[129,38],[130,39],[131,40],[133,41],[132,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[144,53],[145,54],[146,55],[147,56],[168,2],[169,2],[170,2],[54,2],[171,3],[52,2],[56,57],[172,58],[173,2],[55,2],[174,2],[176,59],[175,2],[86,2],[68,2],[69,60],[177,2],[178,61],[179,2],[155,2],[73,2],[53,2],[156,2],[160,62],[162,63],[161,62],[159,64],[163,65],[158,66],[157,2],[57,2],[11,2],[12,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[4,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[34,2],[35,2],[36,2],[37,2],[7,2],[42,2],[38,2],[39,2],[40,2],[41,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[1,2],[10,2],[51,2],[66,67],[90,68],[79,69],[67,70],[58,2],[61,71],[60,72],[59,73],[63,2],[64,74],[65,2],[77,75],[75,76],[84,77],[80,78],[83,79],[78,80],[72,81],[87,3],[82,82],[71,83],[85,84],[88,3],[89,85],[70,86],[74,87]],"exportedModulesMap":[[94,1],[92,2],[62,2],[76,2],[81,3],[91,2],[97,4],[93,1],[95,5],[96,1],[98,2],[150,6],[151,2],[152,2],[153,7],[154,8],[164,9],[165,2],[166,2],[167,2],[99,10],[100,10],[102,11],[103,12],[104,13],[105,14],[106,15],[107,16],[108,17],[109,18],[110,19],[111,20],[112,20],[113,21],[114,22],[115,23],[116,24],[101,2],[148,2],[117,25],[118,26],[119,27],[149,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,34],[126,35],[127,36],[128,37],[129,38],[130,39],[131,40],[133,41],[132,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[144,53],[145,54],[146,55],[147,56],[168,2],[169,2],[170,2],[54,2],[171,3],[52,2],[56,57],[172,58],[173,2],[55,2],[174,2],[176,59],[175,2],[86,2],[68,2],[69,60],[177,2],[178,61],[179,2],[155,2],[73,2],[53,2],[156,2],[160,62],[162,63],[161,62],[159,64],[163,65],[158,66],[157,2],[57,2],[11,2],[12,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[4,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[34,2],[35,2],[36,2],[37,2],[7,2],[42,2],[38,2],[39,2],[40,2],[41,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[1,2],[10,2],[51,2],[66,67],[90,68],[79,69],[67,70],[58,2],[61,71],[60,72],[59,73],[63,2],[64,74],[65,2],[77,75],[75,76],[84,77],[80,78],[83,79],[78,80],[72,81],[87,3],[82,82],[71,83],[85,84],[88,3],[89,85],[70,86],[74,87]],"semanticDiagnosticsPerFile":[94,92,62,76,81,91,97,93,95,96,98,150,151,152,153,154,164,165,166,167,99,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,101,148,117,118,119,149,120,121,122,123,124,125,126,127,128,129,130,131,133,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,168,169,170,54,171,52,56,172,173,55,174,176,175,86,68,69,177,178,179,155,73,53,156,160,162,161,159,163,158,157,57,11,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,34,35,36,37,7,42,38,39,40,41,8,46,43,44,45,47,9,48,49,50,1,10,51,66,90,79,67,58,61,60,59,63,64,65,77,75,84,80,83,78,72,87,82,71,85,88,89,70,74]},"version":"4.6.3"} \ No newline at end of file diff --git a/types/types.d.ts b/types/types.d.ts index 1c41bd6..a06a7ec 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -1,21 +1,17 @@ /// -export declare type WindowRef = - | Window - | React.MutableRefObject - | HTMLElement - | null; +export declare type WindowRef = Window | React.MutableRefObject | HTMLElement | null; export declare type FileTreeSnapshot = { - /** - * The expanded paths of the file tree. - */ - expandedPaths: string[]; - /** - * The buried paths of the file tree. That is, directories that are expanded - * but not visible. - */ - buriedPaths: string[]; - /** - * The version of the snapshot schema. - */ - version: 1; + /** + * The expanded paths of the file tree. + */ + expandedPaths: string[]; + /** + * The buried paths of the file tree. That is, directories that are expanded + * but not visible. + */ + buriedPaths: string[]; + /** + * The version of the snapshot schema. + */ + version: 1; }; diff --git a/types/use-dnd.d.ts b/types/use-dnd.d.ts index eb6e5fe..a5263b7 100644 --- a/types/use-dnd.d.ts +++ b/types/use-dnd.d.ts @@ -12,96 +12,87 @@ import type { WindowRef } from "./types"; * @param config.dragOverExpandTimeout - Timeout for expanding a directory when a draggable * element enters it. */ -export declare function useDnd( - fileTree: FileTree, - config: UseDndConfig -): UseDndPlugin; -export declare type DndEvent = - | { - type: "start"; - /** - * The node that is being dragged - */ - node: FileTreeNode; - } - | { - type: "end"; - /** - * The node that is being dragged - */ - node: FileTreeNode; - } - | { - type: "enter"; - /** - * The node that is being dragged - */ - node: FileTreeNode; - /** - * The directory that the node is being dragged over - */ - dir: Dir; - } - | { - type: "expanded"; - /** - * The node that is being dragged - */ - node: FileTreeNode; - /** - * The directory that the node is being dragged over - */ - dir: Dir; - } - | { - type: "leave"; - /** - * The node that is being dragged - */ - node: FileTreeNode; - /** - * The directory that the node was being dragged over - */ - dir: Dir; - } - | { - type: "drop"; - /** - * The node that is being dragged - */ - node: FileTreeNode; - /** - * The directory that the node is being dragged over - */ - dir: Dir; - }; +export declare function useDnd(fileTree: FileTree, config: UseDndConfig): UseDndPlugin; +export declare type DndEvent = { + type: "start"; + /** + * The node that is being dragged + */ + node: FileTreeNode; +} | { + type: "end"; + /** + * The node that is being dragged + */ + node: FileTreeNode; +} | { + type: "enter"; + /** + * The node that is being dragged + */ + node: FileTreeNode; + /** + * The directory that the node is being dragged over + */ + dir: Dir; +} | { + type: "expanded"; + /** + * The node that is being dragged + */ + node: FileTreeNode; + /** + * The directory that the node is being dragged over + */ + dir: Dir; +} | { + type: "leave"; + /** + * The node that is being dragged + */ + node: FileTreeNode; + /** + * The directory that the node was being dragged over + */ + dir: Dir; +} | { + type: "drop"; + /** + * The node that is being dragged + */ + node: FileTreeNode; + /** + * The directory that the node is being dragged over + */ + dir: Dir; +}; export interface DndProps { - draggable: true; - onDragStart: React.MouseEventHandler; - onDragEnd: React.MouseEventHandler; - onDragOver: React.MouseEventHandler; - onDragEnter: React.MouseEventHandler; - onDragLeave: React.MouseEventHandler; - onDrop: React.MouseEventHandler; + draggable: true; + onDragStart: React.MouseEventHandler; + onDragEnd: React.MouseEventHandler; + onDragOver: React.MouseEventHandler; + onDragEnter: React.MouseEventHandler; + onDragLeave: React.MouseEventHandler; + onDrop: React.MouseEventHandler; } export interface UseDndConfig { - /** - * Timeout for expanding a directory when a draggable element enters it. - */ - dragOverExpandTimeout?: number; - /** - * A React ref created by useRef() or an HTML element for the container viewport - * you're rendering the list inside of. - */ - windowRef: WindowRef; + /** + * Timeout for expanding a directory when a draggable element enters it. + */ + dragOverExpandTimeout?: number; + /** + * A React ref created by useRef() or an HTML element for the container viewport + * you're rendering the list inside of. + */ + windowRef: WindowRef; } export interface UseDndPlugin { - /** - * A subject that emits drag 'n drop events. - */ - didChange: Subject | null>; - /** - * Get the drag 'n drop props for a given node ID. - */ - getProps: (nodeId: number) => DndProps | React.HTMLAttributes; + /** + * A subject that emits drag 'n drop events. + */ + didChange: Subject | null>; + /** + * Get the drag 'n drop props for a given node ID. + */ + getProps: (nodeId: number) => DndProps | React.HTMLAttributes; } diff --git a/types/use-file-tree-snapshot.d.ts b/types/use-file-tree-snapshot.d.ts index 50b16d3..0ac2c15 100644 --- a/types/use-file-tree-snapshot.d.ts +++ b/types/use-file-tree-snapshot.d.ts @@ -8,7 +8,4 @@ import type { FileTreeSnapshot } from "./types"; * @param fileTree - A file tree * @param callback - A callback that handles the file tree snapshot */ -export declare function useFileTreeSnapshot( - fileTree: FileTree, - callback: (state: FileTreeSnapshot) => Promise | void -): void; +export declare function useFileTreeSnapshot(fileTree: FileTree, callback: (state: FileTreeSnapshot) => Promise | void): void; diff --git a/types/use-node-plugins.d.ts b/types/use-node-plugins.d.ts index 247bbcc..3b029c1 100644 --- a/types/use-node-plugins.d.ts +++ b/types/use-node-plugins.d.ts @@ -14,19 +14,16 @@ import type { Subject } from "./tree/subject"; * return
...
* ``` */ -export declare function useNodePlugins( - nodeId: number, - plugins?: NodePlugin[] -): React.HTMLAttributes; +export declare function useNodePlugins(nodeId: number, plugins?: NodePlugin[]): React.HTMLAttributes; export declare type NodePlugin = { - /** - * A subject that the `useNodePlugins()` hook will observe to. - */ - didChange: Subject; - /** - * A function that returns React props based on a node ID. - * - * @param nodeId - The ID of a node in the file tree. - */ - getProps(nodeId: number): React.HTMLAttributes; + /** + * A subject that the `useNodePlugins()` hook will observe to. + */ + didChange: Subject; + /** + * A function that returns React props based on a node ID. + * + * @param nodeId - The ID of a node in the file tree. + */ + getProps(nodeId: number): React.HTMLAttributes; }; diff --git a/types/use-observer.d.ts b/types/use-observer.d.ts new file mode 100644 index 0000000..d96b21c --- /dev/null +++ b/types/use-observer.d.ts @@ -0,0 +1,8 @@ +import type { Observer, Subject } from "./tree/subject"; +/** + * A hook for observing changes to the value of a subject. + * + * @param subject - A subject to observe + * @param observer - A callback that is invoked when the subject changes + */ +export declare function useObserver(subject: Subject, observer: Observer): void; diff --git a/types/use-roving-focus.d.ts b/types/use-roving-focus.d.ts index bd84031..1216139 100644 --- a/types/use-roving-focus.d.ts +++ b/types/use-roving-focus.d.ts @@ -6,23 +6,21 @@ import type { Subject } from "./tree/subject"; * * @param fileTree - A file tree */ -export declare function useRovingFocus( - fileTree: FileTree -): UseRovingFocusPlugin; +export declare function useRovingFocus(fileTree: FileTree): UseRovingFocusPlugin; export interface RovingFocusProps { - tabIndex: number; - onFocus(e: React.FocusEvent): void; - onBlur(e: React.FocusEvent): void; + tabIndex: number; + onFocus(e: React.FocusEvent): void; + onBlur(e: React.FocusEvent): void; } export interface UseRovingFocusPlugin { - /** - * A subject that you can use to observe to changes to the focused node. - */ - didChange: Subject; - /** - * Get the React props for a given node ID. - * - * @param nodeId - A node ID - */ - getProps: (nodeId: number) => RovingFocusProps; + /** + * A subject that you can use to observe to changes to the focused node. + */ + didChange: Subject; + /** + * Get the React props for a given node ID. + * + * @param nodeId - A node ID + */ + getProps: (nodeId: number) => RovingFocusProps; } diff --git a/types/use-selections.d.ts b/types/use-selections.d.ts index 26a6c9d..e618042 100644 --- a/types/use-selections.d.ts +++ b/types/use-selections.d.ts @@ -9,46 +9,43 @@ import type { Subject } from "./tree/subject"; * nodes to this option. By default, `useVirtualize()` uses the nodes returned by * `useVisibleNodes()` */ -export declare function useSelections( - fileTree: FileTree, - nodes?: number[] -): UseSelectionsPlugin; +export declare function useSelections(fileTree: FileTree, nodes?: number[]): UseSelectionsPlugin; export interface SelectionsProps { - onClick: React.MouseEventHandler; + onClick: React.MouseEventHandler; } export interface UseSelectionsPlugin { - /** - * A subject that you can use to observe to changes to selections. - */ - didChange: Subject>; - /** - * Get the React props for a given node ID. - * - * @param nodeId - A node ID - */ - getProps(nodeId: number): SelectionsProps; - /** - * The head of the selections list - */ - get head(): number | null; - /** - * The tail of the selections list - */ - get tail(): number | null; - /** - * Select given node ids - * - * @param nodeIds - Node IDs - */ - select(...nodeIds: number[]): void; - /** - * Deselect given node ids - * - * @param nodeIds - Node IDs - */ - deselect(...nodeIds: number[]): void; - /** - * Clear all of the selections - */ - clear(): void; + /** + * A subject that you can use to observe to changes to selections. + */ + didChange: Subject>; + /** + * Get the React props for a given node ID. + * + * @param nodeId - A node ID + */ + getProps(nodeId: number): SelectionsProps; + /** + * The head of the selections list + */ + get head(): number | null; + /** + * The tail of the selections list + */ + get tail(): number | null; + /** + * Select given node ids + * + * @param nodeIds - Node IDs + */ + select(...nodeIds: number[]): void; + /** + * Deselect given node ids + * + * @param nodeIds - Node IDs + */ + deselect(...nodeIds: number[]): void; + /** + * Clear all of the selections + */ + clear(): void; } diff --git a/types/use-traits.d.ts b/types/use-traits.d.ts index 5fa9b2d..6400c07 100644 --- a/types/use-traits.d.ts +++ b/types/use-traits.d.ts @@ -9,60 +9,57 @@ import type { Subject } from "./tree/subject"; * @param fileTree - A file tree * @param traits - The list of available traits that can be applied to nodes */ -export declare function useTraits( - fileTree: FileTree, - traits: Trait[] -): UseTraitsPlugin; +export declare function useTraits(fileTree: FileTree, traits: Trait[]): UseTraitsPlugin; export interface TraitsProps { - className?: string; + className?: string; } export interface UseTraitsPlugin { - /** - * A subject that you can use to observe to changes to traits. - */ - didChange: Subject>>; - /** - * Get the React props for a given node ID. - * - * @param nodeId - A node ID - */ - getProps(nodeId: number): TraitsProps; - /** - * Adds a trait to given node IDs - * - * @param trait - The trait to apply to the given node IDs - * @param nodeIds - Node IDs to add the traits to - */ - add(trait: Extract, ...nodeIds: number[]): void; - /** - * Sets node IDs to a given trait. This is different from add in - * that it replaces any exist node IDs assigned to the trait. - * - * @param trait - The trait to apply to the given node IDs - * @param nodeIds - Node IDs to add the traits to - */ - set(trait: Extract, nodeIds: number[]): void; - /** - * Deletes a node ID from a given trait - * - * @param trait - The trait - * @param nodeId - The node ID to delete a trait for - */ - delete(trait: Extract, nodeId: number): void; - /** - * Clears all of the node IDs assigned to a given trait - * - * @param trait - The trait - */ - clear(trait: Extract): void; - /** - * Clears all of the node IDs assigned to all traits - */ - clearAll(): void; - /** - * Clears the traits assigned to a given node ID - * - * @param nodeId - A node ID - */ - clearNode(nodeId: number): void; + /** + * A subject that you can use to observe to changes to traits. + */ + didChange: Subject>>; + /** + * Get the React props for a given node ID. + * + * @param nodeId - A node ID + */ + getProps(nodeId: number): TraitsProps; + /** + * Adds a trait to given node IDs + * + * @param trait - The trait to apply to the given node IDs + * @param nodeIds - Node IDs to add the traits to + */ + add(trait: Extract, ...nodeIds: number[]): void; + /** + * Sets node IDs to a given trait. This is different from add in + * that it replaces any exist node IDs assigned to the trait. + * + * @param trait - The trait to apply to the given node IDs + * @param nodeIds - Node IDs to add the traits to + */ + set(trait: Extract, nodeIds: number[]): void; + /** + * Deletes a node ID from a given trait + * + * @param trait - The trait + * @param nodeId - The node ID to delete a trait for + */ + delete(trait: Extract, nodeId: number): void; + /** + * Clears all of the node IDs assigned to a given trait + * + * @param trait - The trait + */ + clear(trait: Extract): void; + /** + * Clears all of the node IDs assigned to all traits + */ + clearAll(): void; + /** + * Clears the traits assigned to a given node ID + * + * @param nodeId - A node ID + */ + clearNode(nodeId: number): void; } diff --git a/types/use-virtualize.d.ts b/types/use-virtualize.d.ts index 19d83fd..f25e0b0 100644 --- a/types/use-virtualize.d.ts +++ b/types/use-virtualize.d.ts @@ -9,179 +9,163 @@ import type { WindowRef } from "./types"; * @param fileTree - The file tree to virtualize. * @param config - Configuration options */ -export declare function useVirtualize( - fileTree: FileTree, - config: UseVirtualizeConfig -): UseVirtualizeResult; -export declare function useHeight( - windowRef: WindowRef, - ResizeObserver: any -): number; -export declare function useGlobalWindowHeight( - windowRef: WindowRef -): number | null; -export declare function useScrollPosition( - windowRef: WindowRef, - { offset }?: UseScrollPosition -): { - scrollTop: number; - isScrolling: boolean; +export declare function useVirtualize(fileTree: FileTree, config: UseVirtualizeConfig): UseVirtualizeResult; +export declare function useHeight(windowRef: WindowRef, ResizeObserver: any): number; +export declare function useGlobalWindowHeight(windowRef: WindowRef): number | null; +export declare function useScrollPosition(windowRef: WindowRef, { offset }?: UseScrollPosition): { + scrollTop: number; + isScrolling: boolean; }; export interface UseScrollPosition { - offset?: number; + offset?: number; } export interface UseVirtualizeConfig { - /** - * The fixed height (in px) of each node in your list. - */ - nodeHeight: number; - /** - * Optionally set a gap (in px) between each node in your list. - */ - nodeGap?: number; - /** - * When using a hook like `useFilter` you can supply the filtered list of - * nodes to this option. By default, `useVirtualize()` uses the nodes returned - * by `useVisibleNodes()` - */ - nodes?: number[]; - /** - * This number is used for determining the number of nodes outside of the visible - * window to render. The default value is 2 which means "render 2 windows worth (2 * height) - * of content before and after the items in the visible window". A value of 3 would be - * 3 windows worth of grid cells, so it's a linear relationship. Overscanning is important - * for preventing tearing when scrolling through items in the grid, but setting too high of - * a value may create too much work for React to handle, so it's best that you tune this - * value accordingly. - * - * @default 2 - */ - overscanBy?: number; - /** - * A React ref created by useRef() or an HTML element for the container viewport - * you're rendering the list inside of. - */ - windowRef: WindowRef; - /** - * This hook uses a [`ResizeObserver`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) - * for tracking the size of the viewport. If you need to polyfill ResizeObserver you can provide - * that polyfill here. By default, we use the `ResizeObserver` from the `window` global. - */ - ResizeObserver?: ResizeObserver; + /** + * The fixed height (in px) of each node in your list. + */ + nodeHeight: number; + /** + * Optionally set a gap (in px) between each node in your list. + */ + nodeGap?: number; + /** + * When using a hook like `useFilter` you can supply the filtered list of + * nodes to this option. By default, `useVirtualize()` uses the nodes returned + * by `useVisibleNodes()` + */ + nodes?: number[]; + /** + * This number is used for determining the number of nodes outside of the visible + * window to render. The default value is 2 which means "render 2 windows worth (2 * height) + * of content before and after the items in the visible window". A value of 3 would be + * 3 windows worth of grid cells, so it's a linear relationship. Overscanning is important + * for preventing tearing when scrolling through items in the grid, but setting too high of + * a value may create too much work for React to handle, so it's best that you tune this + * value accordingly. + * + * @default 2 + */ + overscanBy?: number; + /** + * A React ref created by useRef() or an HTML element for the container viewport + * you're rendering the list inside of. + */ + windowRef: WindowRef; + /** + * This hook uses a [`ResizeObserver`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) + * for tracking the size of the viewport. If you need to polyfill ResizeObserver you can provide + * that polyfill here. By default, we use the `ResizeObserver` from the `window` global. + */ + ResizeObserver?: ResizeObserver; } export declare type ScrollToNodeConfig = { - /** - * The scrolling behavior - */ - behavior?: "smooth" | "auto"; - /** - * By default, the list will scroll as little as possible to ensure the item is - * visible. You can control the alignment of the item though by specifying a - * second alignment parameter. - * - `auto` - Scroll as little as possible to ensure the item is visible. (If the item - * is already visible, it won't scroll at all.) - * - `smart` - If the item is already visible, don't scroll at all. If it is less than - * one viewport away, scroll as little as possible so that it becomes visible. If - * it is more than one viewport away, scroll so that it is centered within the list. - * - `center` - Center align the item within the list. - * - `end` - Align the item to the end of the list (the bottom for vertical lists or the - * right for horizontal lists). - * - `start` - Align the item to the beginning of the list (the top for vertical lists or - * the left for horizontal lists). - * - * @default "auto" - */ - align?: "auto" | "smart" | "center" | "start" | "end"; + /** + * The scrolling behavior + */ + behavior?: "smooth" | "auto"; + /** + * By default, the list will scroll as little as possible to ensure the item is + * visible. You can control the alignment of the item though by specifying a + * second alignment parameter. + * - `auto` - Scroll as little as possible to ensure the item is visible. (If the item + * is already visible, it won't scroll at all.) + * - `smart` - If the item is already visible, don't scroll at all. If it is less than + * one viewport away, scroll as little as possible so that it becomes visible. If + * it is more than one viewport away, scroll so that it is centered within the list. + * - `center` - Center align the item within the list. + * - `end` - Align the item to the end of the list (the bottom for vertical lists or the + * right for horizontal lists). + * - `start` - Align the item to the beginning of the list (the top for vertical lists or + * the left for horizontal lists). + * + * @default "auto" + */ + align?: "auto" | "smart" | "center" | "start" | "end"; }; export interface UseVirtualizeResult { - /** - * The current scroll position of the viewport - */ - scrollTop: number; - /** - * `true` if the viewport is currently scrolling - */ - isScrolling: boolean; - /** - * Scroll to the viewport a given position - * - * @param scrollTop - The new scroll position - * @param config - Configuration options - */ - scrollTo( - scrollTop: number, - config?: Pick - ): void; - /** - * Scroll to a given node by its ID - * - * @param nodeId - The node ID to scroll to - * @param config - Configuration options - */ - scrollToNode(nodeId: number, config?: ScrollToNodeConfig): void; - /** - * Props that should be applied to the container you're mapping your virtualized - * nodes into. - * - * @example - * ```tsx - * const windowRef = React.useRef(null) - * const virtualize = useVirtualize(fileTree, {windowRef, nodeHeight: 24}) - * return ( - *
- *
- * {virtualize.map(props => )} - *
- *
- * ) - * ``` - */ - props: VirtualizeContainerProps; - /** - * Calls a defined render function on each node and returns an array that - * contains the resulting React elements. - * - * @param render - A callback that renders a node. - * @example - * ```tsx - * const windowRef = React.useRef(null) - * const virtualize = useVirtualize(fileTree, {windowRef, nodeHeight: 24}) - * return ( - *
- *
- * {virtualize.map(props => )} - *
- *
- * ) - * ``` - */ - map( - render: (config: VirtualizeRenderProps) => React.ReactElement - ): React.ReactElement[]; + /** + * The current scroll position of the viewport + */ + scrollTop: number; + /** + * `true` if the viewport is currently scrolling + */ + isScrolling: boolean; + /** + * Scroll to the viewport a given position + * + * @param scrollTop - The new scroll position + * @param config - Configuration options + */ + scrollTo(scrollTop: number, config?: Pick): void; + /** + * Scroll to a given node by its ID + * + * @param nodeId - The node ID to scroll to + * @param config - Configuration options + */ + scrollToNode(nodeId: number, config?: ScrollToNodeConfig): void; + /** + * Props that should be applied to the container you're mapping your virtualized + * nodes into. + * + * @example + * ```tsx + * const windowRef = React.useRef(null) + * const virtualize = useVirtualize(fileTree, {windowRef, nodeHeight: 24}) + * return ( + *
+ *
+ * {virtualize.map(props => )} + *
+ *
+ * ) + * ``` + */ + props: VirtualizeContainerProps; + /** + * Calls a defined render function on each node and returns an array that + * contains the resulting React elements. + * + * @param render - A callback that renders a node. + * @example + * ```tsx + * const windowRef = React.useRef(null) + * const virtualize = useVirtualize(fileTree, {windowRef, nodeHeight: 24}) + * return ( + *
+ *
+ * {virtualize.map(props => )} + *
+ *
+ * ) + * ``` + */ + map(render: (config: VirtualizeRenderProps) => React.ReactElement): React.ReactElement[]; } export interface VirtualizeRenderProps { - /** - * A stable key as required by React elements that are included in arrays - */ - key: number; - /** - * The index of the node within the list of visible nodes - */ - index: number; - /** - * A file tree node - */ - node: FileTreeNode; - /** - * The file tree that contains the node - */ - tree: FileTree; - /** - * Styles that need to be applied to the node element - */ - style: React.CSSProperties; + /** + * A stable key as required by React elements that are included in arrays + */ + key: number; + /** + * The index of the node within the list of visible nodes + */ + index: number; + /** + * A file tree node + */ + node: FileTreeNode; + /** + * The file tree that contains the node + */ + tree: FileTree; + /** + * Styles that need to be applied to the node element + */ + style: React.CSSProperties; } export interface VirtualizeContainerProps { - tabIndex: number; - style: React.CSSProperties; + tabIndex: number; + style: React.CSSProperties; } diff --git a/types/use-visible-nodes.d.ts b/types/use-visible-nodes.d.ts index d9a70e3..ebf6419 100644 --- a/types/use-visible-nodes.d.ts +++ b/types/use-visible-nodes.d.ts @@ -10,6 +10,4 @@ import type { FileTree } from "./file-tree"; * return visibleNodes.map((node) =>
{node.basename}
) * ``` */ -export declare function useVisibleNodes( - fileTree: FileTree -): number[]; +export declare function useVisibleNodes(fileTree: FileTree): number[];