import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { TreeContextValue } from './treeContext'; import { TreeNodeProps, TreeNodeState } from './interface'; export default class TreeNode extends PureComponent { static contextType: React.Context; static propTypes: { expanded: PropTypes.Requireable; selected: PropTypes.Requireable; checked: PropTypes.Requireable; halfChecked: PropTypes.Requireable; active: PropTypes.Requireable; disabled: PropTypes.Requireable; loaded: PropTypes.Requireable; loading: PropTypes.Requireable; isLeaf: PropTypes.Requireable; pos: PropTypes.Requireable; children: PropTypes.Requireable; icon: PropTypes.Requireable; directory: PropTypes.Requireable; keyword: PropTypes.Requireable; treeNodeFilterProp: PropTypes.Requireable; selectedKey: PropTypes.Requireable; motionKey: PropTypes.Requireable>; isEnd: PropTypes.Requireable; showLine: PropTypes.Requireable; expandIcon: PropTypes.Requireable any)>>; }; static defaultProps: { selectedKey: string; motionKey: string; }; debounceSelect: any; refNode: HTMLElement; context: TreeContextValue; constructor(props: TreeNodeProps); onSelect: (e: React.MouseEvent | React.KeyboardEvent) => void; onExpand: (e: React.MouseEvent | React.KeyboardEvent) => void; onCheck: (e: React.MouseEvent | React.KeyboardEvent) => void; /** * A11y: simulate checkbox click */ handleCheckEnterPress: (e: React.KeyboardEvent) => void; onContextMenu: (e: React.MouseEvent) => void; onClick: (e: React.MouseEvent | React.KeyboardEvent) => void; /** * A11y: simulate li click */ handleliEnterPress: (e: React.KeyboardEvent) => void; onDoubleClick: (e: React.MouseEvent) => void; onDragStart: (e: React.DragEvent) => void; onDragEnter: (e: React.DragEvent) => void; onDragOver: (e: React.DragEvent) => void; onDragLeave: (e: React.DragEvent) => void; onDragEnd: (e: React.DragEvent) => void; onDrop: (e: React.DragEvent) => void; getNodeChildren: () => import("./interface").TreeNodeData[]; isLeaf: () => boolean; isDisabled: () => boolean; renderArrow(): string | number | boolean | Iterable | React.JSX.Element; renderCheckbox(): React.JSX.Element; renderSwitcher: () => React.JSX.Element; renderIcon(): string | number | boolean | Iterable | React.JSX.Element; renderEmptyNode(): React.JSX.Element; renderRealLabel: () => any; setRef: (node: HTMLElement) => void; render(): string | number | boolean | Iterable | React.JSX.Element; }