props.d.ts 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. import type { ExtractPropTypes, PropType } from 'vue';
  2. import type { BasicDataNode } from '.';
  3. import type { EventHandler } from '../_util/EventInterface';
  4. import type { NodeDragEventParams, NodeMouseEventHandler, NodeMouseEventParams } from './contextTypes';
  5. import type { DataNode, Key, FlattenNode, EventDataNode, Direction, FieldNames } from './interface';
  6. export interface CheckInfo {
  7. event: 'check';
  8. node: EventDataNode;
  9. checked: boolean;
  10. nativeEvent: MouseEvent;
  11. checkedNodes: DataNode[];
  12. checkedNodesPositions?: {
  13. node: DataNode;
  14. pos: string;
  15. }[];
  16. halfCheckedKeys?: Key[];
  17. }
  18. export declare const treeNodeProps: {
  19. eventKey: (StringConstructor | NumberConstructor)[];
  20. prefixCls: StringConstructor;
  21. title: import("vue-types").VueTypeValidableDef<any>;
  22. /** New added in Tree for easy data access */
  23. data: {
  24. type: PropType<DataNode>;
  25. default: DataNode;
  26. };
  27. parent: {
  28. type: PropType<DataNode>;
  29. default: DataNode;
  30. };
  31. isStart: {
  32. type: PropType<boolean[]>;
  33. };
  34. isEnd: {
  35. type: PropType<boolean[]>;
  36. };
  37. active: {
  38. type: BooleanConstructor;
  39. default: any;
  40. };
  41. onMousemove: {
  42. type: PropType<EventHandler>;
  43. };
  44. isLeaf: {
  45. type: BooleanConstructor;
  46. default: any;
  47. };
  48. checkable: {
  49. type: BooleanConstructor;
  50. default: any;
  51. };
  52. selectable: {
  53. type: BooleanConstructor;
  54. default: any;
  55. };
  56. disabled: {
  57. type: BooleanConstructor;
  58. default: any;
  59. };
  60. disableCheckbox: {
  61. type: BooleanConstructor;
  62. default: any;
  63. };
  64. icon: import("vue-types").VueTypeValidableDef<any>;
  65. switcherIcon: import("vue-types").VueTypeValidableDef<any>;
  66. domRef: {
  67. type: PropType<(arg: any) => void>;
  68. };
  69. };
  70. export declare type TreeNodeProps = Partial<ExtractPropTypes<typeof treeNodeProps>>;
  71. export declare const nodeListProps: {
  72. prefixCls: {
  73. type: PropType<string>;
  74. };
  75. motion: {
  76. type: PropType<any>;
  77. };
  78. focusable: {
  79. type: PropType<boolean>;
  80. };
  81. activeItem: {
  82. type: PropType<FlattenNode>;
  83. };
  84. focused: {
  85. type: PropType<boolean>;
  86. };
  87. tabindex: {
  88. type: PropType<number>;
  89. };
  90. checkable: {
  91. type: PropType<boolean>;
  92. };
  93. selectable: {
  94. type: PropType<boolean>;
  95. };
  96. disabled: {
  97. type: PropType<boolean>;
  98. };
  99. height: {
  100. type: PropType<number>;
  101. };
  102. itemHeight: {
  103. type: PropType<number>;
  104. };
  105. virtual: {
  106. type: PropType<boolean>;
  107. };
  108. onScroll: {
  109. type: PropType<EventHandler>;
  110. };
  111. onKeydown: {
  112. type: PropType<EventHandler>;
  113. };
  114. onFocus: {
  115. type: PropType<(e: FocusEvent) => void>;
  116. };
  117. onBlur: {
  118. type: PropType<(e: FocusEvent) => void>;
  119. };
  120. onActiveChange: {
  121. type: PropType<(key: Key) => void>;
  122. };
  123. onContextmenu: {
  124. type: PropType<EventHandler>;
  125. };
  126. onListChangeStart: {
  127. type: PropType<() => void>;
  128. };
  129. onListChangeEnd: {
  130. type: PropType<() => void>;
  131. };
  132. };
  133. export declare type NodeListProps = Partial<ExtractPropTypes<typeof nodeListProps>>;
  134. export interface AllowDropOptions<TreeDataType extends BasicDataNode = DataNode> {
  135. dragNode: EventDataNode;
  136. dropNode: TreeDataType;
  137. dropPosition: -1 | 0 | 1;
  138. }
  139. export declare type AllowDrop<TreeDataType extends BasicDataNode = DataNode> = (options: AllowDropOptions<TreeDataType>) => boolean;
  140. export declare type DraggableFn = (node: DataNode) => boolean;
  141. export declare const treeProps: () => {
  142. prefixCls: StringConstructor;
  143. focusable: {
  144. type: BooleanConstructor;
  145. default: any;
  146. };
  147. activeKey: PropType<Key>;
  148. tabindex: NumberConstructor;
  149. children: import("vue-types").VueTypeValidableDef<any>;
  150. treeData: {
  151. type: PropType<DataNode[]>;
  152. };
  153. fieldNames: {
  154. type: PropType<FieldNames>;
  155. };
  156. showLine: {
  157. type: PropType<boolean | {
  158. showLeafIcon: boolean;
  159. }>;
  160. default: any;
  161. };
  162. showIcon: {
  163. type: BooleanConstructor;
  164. default: any;
  165. };
  166. icon: import("vue-types").VueTypeValidableDef<any>;
  167. selectable: {
  168. type: BooleanConstructor;
  169. default: any;
  170. };
  171. disabled: {
  172. type: BooleanConstructor;
  173. default: any;
  174. };
  175. multiple: {
  176. type: BooleanConstructor;
  177. default: any;
  178. };
  179. checkable: {
  180. type: BooleanConstructor;
  181. default: any;
  182. };
  183. checkStrictly: {
  184. type: BooleanConstructor;
  185. default: any;
  186. };
  187. draggable: {
  188. type: PropType<boolean | DraggableFn>;
  189. };
  190. defaultExpandParent: {
  191. type: BooleanConstructor;
  192. default: any;
  193. };
  194. autoExpandParent: {
  195. type: BooleanConstructor;
  196. default: any;
  197. };
  198. defaultExpandAll: {
  199. type: BooleanConstructor;
  200. default: any;
  201. };
  202. defaultExpandedKeys: {
  203. type: PropType<Key[]>;
  204. };
  205. expandedKeys: {
  206. type: PropType<Key[]>;
  207. };
  208. defaultCheckedKeys: {
  209. type: PropType<Key[]>;
  210. };
  211. checkedKeys: {
  212. type: PropType<Key[] | {
  213. checked: Key[];
  214. halfChecked: Key[];
  215. }>;
  216. };
  217. defaultSelectedKeys: {
  218. type: PropType<Key[]>;
  219. };
  220. selectedKeys: {
  221. type: PropType<Key[]>;
  222. };
  223. allowDrop: {
  224. type: PropType<AllowDrop<DataNode>>;
  225. };
  226. dropIndicatorRender: {
  227. type: PropType<(props: {
  228. dropPosition: -1 | 0 | 1;
  229. dropLevelOffset: number;
  230. indent: number;
  231. prefixCls: string;
  232. direction: Direction;
  233. }) => any>;
  234. };
  235. onFocus: {
  236. type: PropType<(e: FocusEvent) => void>;
  237. };
  238. onBlur: {
  239. type: PropType<(e: FocusEvent) => void>;
  240. };
  241. onKeydown: {
  242. type: PropType<EventHandler>;
  243. };
  244. onContextmenu: {
  245. type: PropType<EventHandler>;
  246. };
  247. onClick: {
  248. type: PropType<NodeMouseEventHandler>;
  249. };
  250. onDblclick: {
  251. type: PropType<NodeMouseEventHandler>;
  252. };
  253. onScroll: {
  254. type: PropType<EventHandler>;
  255. };
  256. onExpand: {
  257. type: PropType<(expandedKeys: Key[], info: {
  258. node: EventDataNode;
  259. expanded: boolean;
  260. nativeEvent: MouseEvent;
  261. }) => void>;
  262. };
  263. onCheck: {
  264. type: PropType<(checked: Key[] | {
  265. checked: Key[];
  266. halfChecked: Key[];
  267. }, info: CheckInfo) => void>;
  268. };
  269. onSelect: {
  270. type: PropType<(selectedKeys: Key[], info: {
  271. event: 'select';
  272. selected: boolean;
  273. node: EventDataNode;
  274. selectedNodes: DataNode[];
  275. nativeEvent: MouseEvent;
  276. }) => void>;
  277. };
  278. onLoad: {
  279. type: PropType<(loadedKeys: Key[], info: {
  280. event: 'load';
  281. node: EventDataNode;
  282. }) => void>;
  283. };
  284. loadData: {
  285. type: PropType<(treeNode: EventDataNode) => Promise<void>>;
  286. };
  287. loadedKeys: {
  288. type: PropType<Key[]>;
  289. };
  290. onMouseenter: {
  291. type: PropType<(info: NodeMouseEventParams) => void>;
  292. };
  293. onMouseleave: {
  294. type: PropType<(info: NodeMouseEventParams) => void>;
  295. };
  296. onRightClick: {
  297. type: PropType<(info: {
  298. event: MouseEvent;
  299. node: EventDataNode;
  300. }) => void>;
  301. };
  302. onDragstart: {
  303. type: PropType<(info: NodeDragEventParams) => void>;
  304. };
  305. onDragenter: {
  306. type: PropType<(info: NodeDragEventParams & {
  307. expandedKeys: Key[];
  308. }) => void>;
  309. };
  310. onDragover: {
  311. type: PropType<(info: NodeDragEventParams) => void>;
  312. };
  313. onDragleave: {
  314. type: PropType<(info: NodeDragEventParams) => void>;
  315. };
  316. onDragend: {
  317. type: PropType<(info: NodeDragEventParams) => void>;
  318. };
  319. onDrop: {
  320. type: PropType<(info: NodeDragEventParams & {
  321. dragNode: EventDataNode;
  322. dragNodesKeys: Key[];
  323. dropPosition: number;
  324. dropToGap: boolean;
  325. }) => void>;
  326. };
  327. /**
  328. * Used for `rc-tree-select` only.
  329. * Do not use in your production code directly since this will be refactor.
  330. */
  331. onActiveChange: {
  332. type: PropType<(key: Key) => void>;
  333. };
  334. filterTreeNode: {
  335. type: PropType<(treeNode: EventDataNode) => boolean>;
  336. };
  337. motion: import("vue-types").VueTypeValidableDef<any>;
  338. switcherIcon: import("vue-types").VueTypeValidableDef<any>;
  339. height: NumberConstructor;
  340. itemHeight: NumberConstructor;
  341. virtual: {
  342. type: BooleanConstructor;
  343. default: any;
  344. };
  345. direction: {
  346. type: PropType<Direction>;
  347. };
  348. };
  349. export declare type TreeProps = Partial<ExtractPropTypes<ReturnType<typeof treeProps>>>;