@neo4j-ndl/react
Version:
React implementation of Neo4j Design System
38 lines (36 loc) • 1.79 kB
TypeScript
/**
*
* Copyright (c) "Neo4j"
* Neo4j Sweden AB [http://neo4j.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import type React from 'react';
import { type HtmlAttributes } from '../_common/types';
import { type ItemChangedReason, type TreeItem, type TreeItemComponent } from './tree-view-types';
export interface TreeViewProps<T extends Record<string, unknown>, E extends HTMLElement> extends React.HTMLAttributes<HTMLOListElement> {
items: TreeItem<T>[];
onItemsChanged: (newItems: TreeItem<T>[], itemChangedReason: ItemChangedReason<T>) => void;
TreeItemComponent?: TreeItemComponent<T, E>;
/** HTML attributes */
htmlAttributes?: HtmlAttributes<'ol'>;
}
export declare const TreeView: {
<T extends Record<string, unknown>, E extends HTMLElement>({ items, TreeItemComponent, onItemsChanged, htmlAttributes, }: TreeViewProps<T, E>): import("react/jsx-runtime").JSX.Element;
TreeItemWrapper: <T extends Record<string, unknown>>(props: import("./tree-view-types").TreeItemComponentProps<T> & {
children?: React.ReactNode | undefined;
} & React.RefAttributes<HTMLElement>) => React.ReactNode;
};