/** * * This file may have been modified by Bytedance Inc. (“Bytedance Inc.'s Modifications”). * All Bytedance Inc.'s Modifications are Copyright (year) Bytedance Inc.. * * This source code is licensed under the Apache license. * See LICENSE file in the project root for license information. * */ import * as React from 'react'; import RcTree, { TreeNode, TreeProps as RcTreeProps } from 'rc-tree'; import { DataNode, Key } from 'rc-tree/es/interface'; import DirectoryTree from './DirectoryTree'; export interface AntdTreeNodeAttribute { eventKey: string; prefixCls: string; className: string; expanded: boolean; selected: boolean; checked: boolean; halfChecked: boolean; children: React.ReactNode; title: React.ReactNode; pos: string; dragOver: boolean; dragOverGapTop: boolean; dragOverGapBottom: boolean; isLeaf: boolean; selectable: boolean; disabled: boolean; disableCheckbox: boolean; } export interface AntTreeNodeProps { className?: string; checkable?: boolean; disabled?: boolean; disableCheckbox?: boolean; title?: string | React.ReactNode; key?: Key; eventKey?: string; isLeaf?: boolean; checked?: boolean; expanded?: boolean; loading?: boolean; selected?: boolean; selectable?: boolean; icon?: ((treeNode: AntdTreeNodeAttribute) => React.ReactNode) | React.ReactNode; children?: React.ReactNode; [customProp: string]: any; } export interface AntTreeNode extends React.Component { } export interface AntTreeNodeBaseEvent { node: AntTreeNode; nativeEvent: MouseEvent; } export interface AntTreeNodeCheckedEvent extends AntTreeNodeBaseEvent { event: 'check'; checked?: boolean; checkedNodes?: AntTreeNode[]; } export interface AntTreeNodeSelectedEvent extends AntTreeNodeBaseEvent { event: 'select'; selected?: boolean; selectedNodes?: DataNode[]; } export interface AntTreeNodeExpandedEvent extends AntTreeNodeBaseEvent { expanded?: boolean; } export interface AntTreeNodeMouseEvent { node: AntTreeNode; event: React.DragEvent; } export interface AntTreeNodeDragEnterEvent extends AntTreeNodeMouseEvent { expandedKeys: Key[]; } export interface AntTreeNodeDropEvent { node: AntTreeNode; dragNode: AntTreeNode; dragNodesKeys: Key[]; dropPosition: number; dropToGap?: boolean; event: React.MouseEvent; } export declare type TreeNodeNormal = DataNode; export interface TreeProps extends Omit { showLine?: boolean | { showLeafIcon: boolean; }; className?: string; multiple?: boolean; autoExpandParent?: boolean; checkStrictly?: boolean; checkable?: boolean; disabled?: boolean; defaultExpandAll?: boolean; defaultExpandParent?: boolean; defaultExpandedKeys?: Key[]; expandedKeys?: Key[]; checkedKeys?: Key[] | { checked: Key[]; halfChecked: Key[]; }; defaultCheckedKeys?: Key[]; selectedKeys?: Key[]; defaultSelectedKeys?: Key[]; selectable?: boolean; filterAntTreeNode?: (node: AntTreeNode) => boolean; loadedKeys?: Key[]; draggable?: ((node: DataNode) => boolean) | boolean; style?: React.CSSProperties; showIcon?: boolean; icon?: ((nodeProps: AntdTreeNodeAttribute) => React.ReactNode) | React.ReactNode; switcherIcon?: React.ReactElement; prefixCls?: string; children?: React.ReactNode; blockNode?: boolean; } interface CompoundedComponent extends React.ForwardRefExoticComponent> { TreeNode: typeof TreeNode; DirectoryTree: typeof DirectoryTree; } declare const Tree: CompoundedComponent; export default Tree;