UNPKG

1.7 kBTypeScriptView Raw
1/**
2 * Handle virtual list of the TreeNodes.
3 */
4import * as React from 'react';
5import { BasicDataNode, DataEntity, DataNode, FlattenNode, Key, ScrollTo } from './interface';
6export declare const MOTION_KEY: string;
7export declare const MotionEntity: DataEntity;
8export interface NodeListRef {
9 scrollTo: ScrollTo;
10 getIndentWidth: () => number;
11}
12interface NodeListProps<TreeDataType extends BasicDataNode> {
13 prefixCls: string;
14 style: React.CSSProperties;
15 data: FlattenNode<TreeDataType>[];
16 motion: any;
17 focusable?: boolean;
18 activeItem: FlattenNode<TreeDataType>;
19 focused?: boolean;
20 tabIndex: number;
21 checkable?: boolean;
22 selectable?: boolean;
23 disabled?: boolean;
24 expandedKeys: Key[];
25 selectedKeys: Key[];
26 checkedKeys: Key[];
27 loadedKeys: Key[];
28 loadingKeys: Key[];
29 halfCheckedKeys: Key[];
30 keyEntities: Record<Key, DataEntity<any>>;
31 dragging: boolean;
32 dragOverNodeKey: Key;
33 dropPosition: number;
34 height: number;
35 itemHeight: number;
36 virtual?: boolean;
37 onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
38 onFocus?: React.FocusEventHandler<HTMLDivElement>;
39 onBlur?: React.FocusEventHandler<HTMLDivElement>;
40 onActiveChange: (key: Key) => void;
41 onListChangeStart: () => void;
42 onListChangeEnd: () => void;
43}
44/**
45 * We only need get visible content items to play the animation.
46 */
47export declare function getMinimumRangeTransitionRange(list: FlattenNode[], virtual: boolean, height: number, itemHeight: number): FlattenNode<DataNode>[];
48declare const NodeList: React.ForwardRefExoticComponent<NodeListProps<any> & React.RefAttributes<NodeListRef>>;
49export default NodeList;