props.d.ts 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. import type { CSSProperties, 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 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 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 type AllowDrop<TreeDataType extends BasicDataNode = DataNode> = (options: AllowDropOptions<TreeDataType>) => boolean;
  140. export type DraggableFn = (node: DataNode) => boolean;
  141. export type ExpandAction = false | 'click' | 'doubleclick' | 'dblclick';
  142. export declare const treeProps: () => {
  143. prefixCls: StringConstructor;
  144. focusable: {
  145. type: BooleanConstructor;
  146. default: any;
  147. };
  148. activeKey: PropType<Key>;
  149. tabindex: NumberConstructor;
  150. children: import("vue-types").VueTypeValidableDef<any>;
  151. treeData: {
  152. type: PropType<DataNode[]>;
  153. };
  154. fieldNames: {
  155. type: PropType<FieldNames>;
  156. };
  157. showLine: {
  158. type: PropType<boolean | {
  159. showLeafIcon: boolean;
  160. }>;
  161. default: any;
  162. };
  163. showIcon: {
  164. type: BooleanConstructor;
  165. default: any;
  166. };
  167. icon: import("vue-types").VueTypeValidableDef<any>;
  168. selectable: {
  169. type: BooleanConstructor;
  170. default: any;
  171. };
  172. expandAction: PropType<ExpandAction>;
  173. disabled: {
  174. type: BooleanConstructor;
  175. default: any;
  176. };
  177. multiple: {
  178. type: BooleanConstructor;
  179. default: any;
  180. };
  181. checkable: {
  182. type: BooleanConstructor;
  183. default: any;
  184. };
  185. checkStrictly: {
  186. type: BooleanConstructor;
  187. default: any;
  188. };
  189. draggable: {
  190. type: PropType<boolean | DraggableFn>;
  191. };
  192. defaultExpandParent: {
  193. type: BooleanConstructor;
  194. default: any;
  195. };
  196. autoExpandParent: {
  197. type: BooleanConstructor;
  198. default: any;
  199. };
  200. defaultExpandAll: {
  201. type: BooleanConstructor;
  202. default: any;
  203. };
  204. defaultExpandedKeys: {
  205. type: PropType<Key[]>;
  206. };
  207. expandedKeys: {
  208. type: PropType<Key[]>;
  209. };
  210. defaultCheckedKeys: {
  211. type: PropType<Key[]>;
  212. };
  213. checkedKeys: {
  214. type: PropType<Key[] | {
  215. checked: Key[];
  216. halfChecked: Key[];
  217. }>;
  218. };
  219. defaultSelectedKeys: {
  220. type: PropType<Key[]>;
  221. };
  222. selectedKeys: {
  223. type: PropType<Key[]>;
  224. };
  225. allowDrop: {
  226. type: PropType<AllowDrop<DataNode>>;
  227. };
  228. dropIndicatorRender: {
  229. type: PropType<(props: {
  230. dropPosition: -1 | 0 | 1;
  231. dropLevelOffset: number;
  232. indent: number;
  233. prefixCls: string;
  234. direction: Direction;
  235. }) => any>;
  236. };
  237. onFocus: {
  238. type: PropType<(e: FocusEvent) => void>;
  239. };
  240. onBlur: {
  241. type: PropType<(e: FocusEvent) => void>;
  242. };
  243. onKeydown: {
  244. type: PropType<EventHandler>;
  245. };
  246. onContextmenu: {
  247. type: PropType<EventHandler>;
  248. };
  249. onClick: {
  250. type: PropType<NodeMouseEventHandler>;
  251. };
  252. onDblclick: {
  253. type: PropType<NodeMouseEventHandler>;
  254. };
  255. onScroll: {
  256. type: PropType<EventHandler>;
  257. };
  258. onExpand: {
  259. type: PropType<(expandedKeys: Key[], info: {
  260. node: EventDataNode;
  261. expanded: boolean;
  262. nativeEvent: MouseEvent;
  263. }) => void>;
  264. };
  265. onCheck: {
  266. type: PropType<(checked: Key[] | {
  267. checked: Key[];
  268. halfChecked: Key[];
  269. }, info: CheckInfo) => void>;
  270. };
  271. onSelect: {
  272. type: PropType<(selectedKeys: Key[], info: {
  273. event: 'select';
  274. selected: boolean;
  275. node: EventDataNode;
  276. selectedNodes: DataNode[];
  277. nativeEvent: MouseEvent;
  278. }) => void>;
  279. };
  280. onLoad: {
  281. type: PropType<(loadedKeys: Key[], info: {
  282. event: 'load';
  283. node: EventDataNode;
  284. }) => void>;
  285. };
  286. loadData: {
  287. type: PropType<(treeNode: EventDataNode) => Promise<any>>;
  288. };
  289. loadedKeys: {
  290. type: PropType<Key[]>;
  291. };
  292. onMouseenter: {
  293. type: PropType<(info: NodeMouseEventParams) => void>;
  294. };
  295. onMouseleave: {
  296. type: PropType<(info: NodeMouseEventParams) => void>;
  297. };
  298. onRightClick: {
  299. type: PropType<(info: {
  300. event: MouseEvent;
  301. node: EventDataNode;
  302. }) => void>;
  303. };
  304. onDragstart: {
  305. type: PropType<(info: NodeDragEventParams) => void>;
  306. };
  307. onDragenter: {
  308. type: PropType<(info: NodeDragEventParams & {
  309. expandedKeys: Key[];
  310. }) => void>;
  311. };
  312. onDragover: {
  313. type: PropType<(info: NodeDragEventParams) => void>;
  314. };
  315. onDragleave: {
  316. type: PropType<(info: NodeDragEventParams) => void>;
  317. };
  318. onDragend: {
  319. type: PropType<(info: NodeDragEventParams) => void>;
  320. };
  321. onDrop: {
  322. type: PropType<(info: NodeDragEventParams & {
  323. dragNode: EventDataNode;
  324. dragNodesKeys: Key[];
  325. dropPosition: number;
  326. dropToGap: boolean;
  327. }) => void>;
  328. };
  329. /**
  330. * Used for `rc-tree-select` only.
  331. * Do not use in your production code directly since this will be refactor.
  332. */
  333. onActiveChange: {
  334. type: PropType<(key: Key) => void>;
  335. };
  336. filterTreeNode: {
  337. type: PropType<(treeNode: EventDataNode) => boolean>;
  338. };
  339. motion: import("vue-types").VueTypeValidableDef<any>;
  340. switcherIcon: import("vue-types").VueTypeValidableDef<any>;
  341. height: NumberConstructor;
  342. itemHeight: NumberConstructor;
  343. virtual: {
  344. type: BooleanConstructor;
  345. default: any;
  346. };
  347. direction: {
  348. type: PropType<Direction>;
  349. };
  350. rootClassName: StringConstructor;
  351. rootStyle: PropType<CSSProperties>;
  352. };
  353. export type TreeProps = Partial<ExtractPropTypes<ReturnType<typeof treeProps>>>;