@happyhyep/tree-component
Version:
React Tree Component with Search functionality
27 lines (26 loc) • 1.11 kB
TypeScript
import React from 'react';
import { TreeItem } from './types';
interface TreeSearchContextType {
search: string;
setSearch: (value: string) => void;
}
export declare const useTreeSearch: () => TreeSearchContextType;
interface TreeSearchInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {
placeholder?: string;
}
export interface TreeWithSearchProps<T> {
items: TreeItem<T>[];
defaultExpandAll?: boolean;
renderLabel: (data: T, highlight?: string) => React.ReactNode;
renderLeaf?: (data: T) => React.ReactNode;
searchFn: (data: T, keyword: string) => boolean;
children?: React.ReactNode;
onItemClick?: (item: TreeItem<T>) => void;
selectedId?: string;
className?: string;
}
export declare const TreeWithSearch: {
<T>({ items, renderLabel, renderLeaf, searchFn, defaultExpandAll, children, onItemClick, selectedId, className, }: TreeWithSearchProps<T>): import("react/jsx-runtime").JSX.Element;
Input: ({ placeholder, className, ...rest }: TreeSearchInputProps) => import("react/jsx-runtime").JSX.Element;
};
export {};