fat-design 0.0.1 → 0.0.2-beta.20251109210537

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/README.md +285 -285
  2. package/index.browser.js +20 -20
  3. package/index.js +4642 -4592
  4. package/index.umd.cjs +19 -19
  5. package/index.umd.js +19 -19
  6. package/libs/config-16.js +7 -7
  7. package/libs/config-17.js +7 -7
  8. package/libs/config-18.js +9 -9
  9. package/libs/config-19.js +9 -9
  10. package/libs/theme/theme-blue1.css +58 -58
  11. package/libs/theme/theme-blue2.css +63 -63
  12. package/libs/theme/theme-blue3.css +73 -73
  13. package/libs/theme/theme-blue4.css +53 -53
  14. package/libs/theme/theme-default.css +60 -60
  15. package/libs/theme/theme-green.css +96 -96
  16. package/libs/theme/theme-green2.css +96 -96
  17. package/libs/theme/theme-orange.css +58 -58
  18. package/libs/theme/theme-pink.css +53 -53
  19. package/libs/theme/theme-purple.css +53 -53
  20. package/libs/theme/theme-red.css +55 -55
  21. package/package.json +2 -2
  22. package/types/0buildTypes/config-provider/constants.d.ts +3 -3
  23. package/types/0buildTypes/config-provider/index.d.ts +4 -4
  24. package/types/0buildTypes/config-provider/v2/consumer.d.ts +3 -3
  25. package/types/0buildTypes/config-provider/v2/context.d.ts +6 -6
  26. package/types/0buildTypes/config-provider/v2/error-boundary.d.ts +27 -27
  27. package/types/0buildTypes/config-provider/v2/functions.d.ts +66 -66
  28. package/types/0buildTypes/config-provider/v2/index.d.ts +36 -36
  29. package/types/0buildTypes/config-provider/v2/provider.d.ts +4 -4
  30. package/types/0buildTypes/config-provider/v2/types.d.ts +22 -22
  31. package/types/0buildTypes/dependencies.d.ts +2 -2
  32. package/types/0buildTypes/empty/empty.d.ts +22 -22
  33. package/types/0buildTypes/empty/index.d.ts +2 -2
  34. package/types/0buildTypes/filter/filter-types.d.ts +21 -21
  35. package/types/0buildTypes/filter/filter.d.ts +10 -10
  36. package/types/0buildTypes/filter/index.d.ts +9 -9
  37. package/types/0buildTypes/form2/deps.d.ts +10 -10
  38. package/types/0buildTypes/form2/form-actions.d.ts +36 -36
  39. package/types/0buildTypes/form2/form-buttons.d.ts +28 -28
  40. package/types/0buildTypes/form2/form-context.d.ts +4 -4
  41. package/types/0buildTypes/form2/form-error.d.ts +3 -3
  42. package/types/0buildTypes/form2/form-item-card.d.ts +4 -4
  43. package/types/0buildTypes/form2/form-item-comp.d.ts +4 -4
  44. package/types/0buildTypes/form2/form-item-label.d.ts +4 -4
  45. package/types/0buildTypes/form2/form-item-preview.d.ts +4 -4
  46. package/types/0buildTypes/form2/form-item.d.ts +7 -7
  47. package/types/0buildTypes/form2/form-layout.d.ts +3 -3
  48. package/types/0buildTypes/form2/form-rules.d.ts +3 -3
  49. package/types/0buildTypes/form2/form-section.d.ts +25 -25
  50. package/types/0buildTypes/form2/form-types.d.ts +396 -396
  51. package/types/0buildTypes/form2/form.d.ts +36 -36
  52. package/types/0buildTypes/form2/helper/buildParams.d.ts +5 -5
  53. package/types/0buildTypes/form2/helper/constants.d.ts +24 -24
  54. package/types/0buildTypes/form2/helper/fixItemProps.d.ts +16 -16
  55. package/types/0buildTypes/form2/helper/fnInheritProps.d.ts +2 -2
  56. package/types/0buildTypes/form2/helper/linkageFormState.d.ts +16 -16
  57. package/types/0buildTypes/form2/helper/useDataSource.d.ts +14 -14
  58. package/types/0buildTypes/form2/helper/useFormChildren.d.ts +5 -5
  59. package/types/0buildTypes/form2/helper/useFormItemState.d.ts +3 -3
  60. package/types/0buildTypes/form2/helper/useGetXProps.d.ts +3 -3
  61. package/types/0buildTypes/form2/index.d.ts +20 -20
  62. package/types/0buildTypes/form2/layout/from-float-layout.d.ts +3 -3
  63. package/types/0buildTypes/hooks/index.d.ts +25 -25
  64. package/types/0buildTypes/hooks/useComparedState.d.ts +2 -2
  65. package/types/0buildTypes/hooks/useCurrentState.d.ts +11 -11
  66. package/types/0buildTypes/hooks/useOnKeyPressSave.d.ts +12 -12
  67. package/types/0buildTypes/hooks/usePersistFn.d.ts +3 -3
  68. package/types/0buildTypes/hooks/usePreciseStore.d.ts +53 -53
  69. package/types/0buildTypes/hooks/useSize.d.ts +6 -6
  70. package/types/0buildTypes/hooks/useUniqueId.d.ts +2 -2
  71. package/types/0buildTypes/hooks/useValueOnChange.d.ts +2 -2
  72. package/types/0buildTypes/image/Image.d.ts +42 -42
  73. package/types/0buildTypes/image/Operations.d.ts +25 -25
  74. package/types/0buildTypes/image/Preview.d.ts +64 -64
  75. package/types/0buildTypes/image/PreviewGroup.d.ts +32 -32
  76. package/types/0buildTypes/image/common.d.ts +2 -2
  77. package/types/0buildTypes/image/context.d.ts +7 -7
  78. package/types/0buildTypes/image/getFixScaleEleTransPosition.d.ts +17 -17
  79. package/types/0buildTypes/image/hooks/useImageTransform.d.ts +28 -28
  80. package/types/0buildTypes/image/hooks/useMouseEvent.d.ts +9 -9
  81. package/types/0buildTypes/image/hooks/usePreviewItems.d.ts +7 -7
  82. package/types/0buildTypes/image/hooks/useRegisterImage.d.ts +2 -2
  83. package/types/0buildTypes/image/hooks/useStatus.d.ts +14 -14
  84. package/types/0buildTypes/image/hooks/useTouchEvent.d.ts +8 -8
  85. package/types/0buildTypes/image/index.d.ts +6 -6
  86. package/types/0buildTypes/image/interface.d.ts +14 -14
  87. package/types/0buildTypes/image/previewConfig.d.ts +4 -4
  88. package/types/0buildTypes/image/util.d.ts +1 -1
  89. package/types/0buildTypes/image/utils/KeyCode.d.ts +23 -23
  90. package/types/0buildTypes/image/utils/addEventListener.d.ts +4 -4
  91. package/types/0buildTypes/image/utils/buildIcons.d.ts +2 -2
  92. package/types/0buildTypes/image/utils/css.d.ts +8 -8
  93. package/types/0buildTypes/image/utils/isEqual.d.ts +8 -8
  94. package/types/0buildTypes/image/utils/raf.d.ts +6 -6
  95. package/types/0buildTypes/image/utils/useEvent.d.ts +1 -1
  96. package/types/0buildTypes/image/utils/useLayoutEffect.d.ts +4 -4
  97. package/types/0buildTypes/image/utils/useMergedState.d.ts +12 -12
  98. package/types/0buildTypes/image/utils/useSafeState.d.ts +14 -14
  99. package/types/0buildTypes/index.d.ts +4 -4
  100. package/types/0buildTypes/libs.d.ts +67 -67
  101. package/types/0buildTypes/nav/group.d.ts +30 -30
  102. package/types/0buildTypes/nav/index.d.ts +4 -4
  103. package/types/0buildTypes/nav/item.d.ts +30 -30
  104. package/types/0buildTypes/nav/nav.d.ts +2 -2
  105. package/types/0buildTypes/nav/popup-item.d.ts +24 -24
  106. package/types/0buildTypes/nav/sub-nav.d.ts +30 -30
  107. package/types/0buildTypes/nav/types.d.ts +375 -375
  108. package/types/0buildTypes/others.d.ts +11 -10
  109. package/types/0buildTypes/pages/deps.d.ts +5 -5
  110. package/types/0buildTypes/pages/detail-page/detail-page-card-form.d.ts +12 -12
  111. package/types/0buildTypes/pages/detail-page/detail-page-form-item.d.ts +9 -9
  112. package/types/0buildTypes/pages/detail-page/detail-page-section.d.ts +19 -19
  113. package/types/0buildTypes/pages/detail-page/detail-page-summary.d.ts +9 -9
  114. package/types/0buildTypes/pages/detail-page/detail-page.d.ts +14 -14
  115. package/types/0buildTypes/pages/detail-page/index.d.ts +2 -2
  116. package/types/0buildTypes/pages/detail-page/types.d.ts +29 -29
  117. package/types/0buildTypes/pages/page-card/types.d.ts +6 -6
  118. package/types/0buildTypes/previews/renderFileImage.d.ts +34 -34
  119. package/types/0buildTypes/query-form/index.d.ts +2 -2
  120. package/types/0buildTypes/query-form/query-form-items.d.ts +4 -4
  121. package/types/0buildTypes/query-form/query-form-layout.d.ts +2 -2
  122. package/types/0buildTypes/query-form/query-form.d.ts +20 -20
  123. package/types/0buildTypes/query-form/types.d.ts +12 -12
  124. package/types/0buildTypes/sortable-list/helpers.d.ts +8 -8
  125. package/types/0buildTypes/sortable-list/hooks.d.ts +24 -24
  126. package/types/0buildTypes/sortable-list/index.d.ts +14 -14
  127. package/types/0buildTypes/sortable-list/sortable-editable-table.d.ts +2 -2
  128. package/types/0buildTypes/sortable-list/sortable-list.d.ts +560 -560
  129. package/types/0buildTypes/sortable-list/sortable-table.d.ts +2 -2
  130. package/types/0buildTypes/sortable-list/types.d.ts +15 -15
  131. package/types/0buildTypes/table-pro/index.d.ts +26 -26
  132. package/types/0buildTypes/table-pro/table-pro.d.ts +17 -17
  133. package/types/0buildTypes/table-pro/types.d.ts +95 -95
  134. package/types/0buildTypes/table-pro/useTablePro.d.ts +10 -10
  135. package/types/0buildTypes/table-pro/utils/formatQueryRes.d.ts +1 -1
  136. package/types/0buildTypes/table-pro/widget/column-setting.d.ts +5 -5
  137. package/types/0buildTypes/table-pro/widget/deps.d.ts +2 -2
  138. package/types/0buildTypes/table-pro/widget/index.d.ts +25 -25
  139. package/types/0buildTypes/table-pro/widget/operations.d.ts +5 -5
  140. package/types/0buildTypes/table-pro/widget/operationsActions.d.ts +2 -2
  141. package/types/0buildTypes/table-pro/widget/renderFormats.d.ts +17 -17
  142. package/types/0buildTypes/table-pro/widget/renderMultiFieldCell.d.ts +4 -4
  143. package/types/0buildTypes/table-pro/widget/renderOperationCell.d.ts +4 -4
  144. package/types/0buildTypes/table-pro/widget/renderToolbar.d.ts +6 -6
  145. package/types/0buildTypes/table-pro/widget/table-utils-types.d.ts +40 -40
  146. package/types/0buildTypes/util/comp.d.ts +16 -16
  147. package/types/0buildTypes/util/component.d.ts +1 -1
  148. package/types/0buildTypes/util/constants.d.ts +4 -4
  149. package/types/0buildTypes/util/dom.d.ts +116 -116
  150. package/types/0buildTypes/util/env.d.ts +7 -7
  151. package/types/0buildTypes/util/func-wrapper.d.ts +1 -1
  152. package/types/0buildTypes/util/func.d.ts +73 -73
  153. package/types/0buildTypes/util/guid.d.ts +11 -11
  154. package/types/0buildTypes/util/isStateEquals.d.ts +4 -4
  155. package/types/0buildTypes/util/localforage.d.ts +11 -11
  156. package/types/0buildTypes/util/log.d.ts +18 -18
  157. package/types/0buildTypes/util/pick-res-data.d.ts +28 -28
  158. package/types/0buildTypes/util/react-dom.d.ts +27 -27
  159. package/types/0buildTypes/util/shallowEqual.d.ts +3 -3
  160. package/types/0buildTypes/util/string.d.ts +32 -32
  161. package/types/0buildTypes/util/tiny-emitter.d.ts +10 -10
  162. package/types/0buildTypes/util/toMap.d.ts +7 -7
  163. package/types/affix/index.d.ts +33 -33
  164. package/types/animate/index.d.ts +80 -80
  165. package/types/avatar/index.d.ts +41 -41
  166. package/types/badge/index.d.ts +38 -38
  167. package/types/balloon/index.d.ts +254 -254
  168. package/types/balloon-confirm/index.d.ts +119 -119
  169. package/types/batch-input/index.d.ts +152 -152
  170. package/types/box/index.d.ts +25 -25
  171. package/types/breadcrumb/index.d.ts +60 -60
  172. package/types/button/index.d.ts +179 -179
  173. package/types/calendar/index.d.ts +76 -76
  174. package/types/card/index.d.ts +147 -147
  175. package/types/cascader/index.d.ts +135 -135
  176. package/types/cascader-select/index.d.ts +230 -230
  177. package/types/checkbox/index.d.ts +175 -175
  178. package/types/collapse/index.d.ts +96 -96
  179. package/types/comments/index.d.ts +278 -278
  180. package/types/config-provider/index.d.ts +3 -3
  181. package/types/date-picker/index.d.ts +123 -123
  182. package/types/dialog/index.d.ts +328 -328
  183. package/types/divider/index.d.ts +21 -21
  184. package/types/drawer/index.d.ts +121 -121
  185. package/types/dropdown/index.d.ts +198 -198
  186. package/types/editable-table/index.d.ts +121 -121
  187. package/types/empty/index.d.ts +78 -78
  188. package/types/field/index.d.ts +33 -33
  189. package/types/filter/index.d.ts +2 -2
  190. package/types/form/index.d.ts +5 -5
  191. package/types/grid/index.d.ts +142 -142
  192. package/types/hooks/index.d.ts +2 -2
  193. package/types/icon/index.d.ts +29 -29
  194. package/types/image/index.d.ts +3 -3
  195. package/types/index.d.ts +69 -69
  196. package/types/input/index.d.ts +458 -458
  197. package/types/list/index.d.ts +69 -69
  198. package/types/loading/index.d.ts +100 -100
  199. package/types/locale/default.d.ts +143 -143
  200. package/types/locale/en-us.d.ts +1 -1
  201. package/types/locale/id-id.d.ts +1 -1
  202. package/types/locale/it-it.d.ts +1 -1
  203. package/types/locale/ja-jp.d.ts +1 -1
  204. package/types/locale/ko-kr.d.ts +1 -1
  205. package/types/locale/ms-my.d.ts +1 -1
  206. package/types/locale/pt-pt.d.ts +1 -1
  207. package/types/locale/th-th.d.ts +1 -1
  208. package/types/locale/vi-vn.d.ts +1 -1
  209. package/types/locale/zh-cn.d.ts +1 -1
  210. package/types/locale/zh-hk.d.ts +1 -1
  211. package/types/locale/zh-tw.d.ts +1 -1
  212. package/types/menu/index.d.ts +336 -336
  213. package/types/menu-button/index.d.ts +100 -100
  214. package/types/message/index.d.ts +165 -165
  215. package/types/nav/index.d.ts +313 -313
  216. package/types/notification/index.d.ts +35 -35
  217. package/types/number-picker/index.d.ts +161 -161
  218. package/types/overlay/index.d.ts +363 -363
  219. package/types/pagination/index.d.ts +115 -115
  220. package/types/paragraph/index.d.ts +23 -23
  221. package/types/progress/index.d.ts +53 -53
  222. package/types/query-form/index.d.ts +3 -3
  223. package/types/radio/index.d.ts +180 -180
  224. package/types/range/index.d.ts +120 -120
  225. package/types/rating/index.d.ts +84 -84
  226. package/types/responsive-grid/index.d.ts +30 -30
  227. package/types/search/index.d.ts +219 -219
  228. package/types/select/index.d.ts +479 -479
  229. package/types/shell/index.d.ts +53 -53
  230. package/types/slider/index.d.ts +172 -172
  231. package/types/sortable-list/index.d.ts +165 -165
  232. package/types/split-button/index.d.ts +134 -134
  233. package/types/step/index.d.ts +108 -108
  234. package/types/switch/index.d.ts +85 -85
  235. package/types/tab/index.d.ts +170 -170
  236. package/types/table/index.d.ts +407 -407
  237. package/types/table-pro/index.d.ts +3 -3
  238. package/types/tag/index.d.ts +142 -142
  239. package/types/time-picker/index.d.ts +193 -193
  240. package/types/timeline/index.d.ts +95 -95
  241. package/types/transfer/index.d.ts +199 -199
  242. package/types/tree/index.d.ts +421 -421
  243. package/types/tree-select/index.d.ts +251 -251
  244. package/types/typography/index.d.ts +28 -28
  245. package/types/upload/index.d.ts +711 -711
  246. package/types/util.d.ts +80 -80
  247. package/types/virtual-list/index.d.ts +44 -44
@@ -1,421 +1,421 @@
1
- /// <reference types="react" />
2
-
3
- import * as React from 'react';
4
- import CommonProps from '../util';
5
- import { VirtualListProps } from '../virtual-list';
6
-
7
- export type NodeInstance = InstanceType<typeof TreeNode>;
8
-
9
- export interface BasicDataNode {
10
- checkable?: boolean;
11
- disabled?: boolean;
12
- checkboxDisabled?: boolean;
13
- icon?: IconType;
14
- isLeaf?: boolean;
15
- selectable?: boolean;
16
- draggable?: boolean;
17
- editable?: boolean;
18
-
19
- className?: string;
20
- style?: React.CSSProperties;
21
- }
22
-
23
- export type FieldDataNode<T, ChildFieldName extends string = 'children'> = BasicDataNode &
24
- T &
25
- Partial<Record<ChildFieldName, FieldDataNode<T, ChildFieldName>[]>>;
26
-
27
- export type DataNode = FieldDataNode<{
28
- key: Key;
29
- label?: React.ReactNode;
30
- illegalFlag?: boolean;
31
- node?: NodeElement;
32
- size?: number;
33
- posinset?: number;
34
- children?: DataNode[] | NodeElement;
35
- pos?: string;
36
- level?: number;
37
- isLastChild?: boolean[];
38
- }>;
39
-
40
- export type TreeDataNode = FieldDataNode<{
41
- key: Key;
42
- label?: React.ReactNode;
43
- }>;
44
-
45
- export interface NodeProps extends React.HTMLAttributes<HTMLElement>, CommonProps {
46
- /**
47
- * 树节点
48
- */
49
- children?: React.ReactNode;
50
-
51
- /**
52
- * 节点文本内容
53
- */
54
- label?: React.ReactNode;
55
-
56
- /**
57
- * 单独设置是否支持选中,覆盖 Tree 的 selectable
58
- */
59
- selectable?: boolean;
60
-
61
- /**
62
- * 单独设置是否出现复选框,覆盖 Tree 的 checkable
63
- */
64
- checkable?: boolean;
65
-
66
- /**
67
- * 单独设置是否支持编辑,覆盖 Tree 的 editable
68
- */
69
- editable?: boolean;
70
-
71
- /**
72
- * 单独设置是否支持拖拽,覆盖 Tree 的 draggable
73
- */
74
- draggable?: boolean;
75
-
76
- /**
77
- * 是否禁止节点响应
78
- */
79
- disabled?: boolean;
80
-
81
- /**
82
- * 是否禁止勾选节点复选框
83
- */
84
- checkboxDisabled?: boolean;
85
-
86
- /**
87
- * 是否是叶子节点,设置loadData时生效
88
- */
89
- isLeaf?: boolean;
90
-
91
- /**
92
- * 点击文本是否可以勾选
93
- */
94
- clickToCheck?: boolean;
95
- }
96
-
97
- export class Node extends React.Component<NodeProps, any> {}
98
- interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
99
- onSelect?: any;
100
- }
101
-
102
- export interface TreeProps extends HTMLAttributesWeak, CommonProps {
103
- /**
104
- * 树节点
105
- */
106
- children?: React.ReactNode;
107
-
108
- /**
109
- * 数据源,该属性优先级高于 children
110
- */
111
- dataSource?: Array<any>;
112
-
113
- /**
114
- * 是否显示树的线
115
- */
116
- showLine?: boolean;
117
-
118
- /**
119
- * 是否支持选中节点
120
- */
121
- selectable?: boolean;
122
-
123
- /**
124
- * (用于受控)当前选中节点 key 的数组
125
- */
126
- selectedKeys?: Array<any>;
127
-
128
- /**
129
- * (用于非受控)默认选中节点 key 的数组
130
- */
131
- defaultSelectedKeys?: Array<any>;
132
-
133
- /**
134
- * 选中或取消选中节点时触发的回调函数
135
- */
136
- onSelect?: (selectedKeys: Array<any>, extra: {}) => void;
137
-
138
- /**
139
- * 是否支持多选
140
- */
141
- multiple?: boolean;
142
-
143
- /**
144
- * 是否支持勾选节点的复选框
145
- */
146
- checkable?: boolean;
147
-
148
- /**
149
- * (用于受控)当前勾选复选框节点 key 的数组或 `{checked: Array, indeterminate: Array}` 的对象
150
- */
151
- checkedKeys?: Array<any> | {};
152
-
153
- /**
154
- * (用于非受控)默认勾选复选框节点 key 的数组
155
- */
156
- defaultCheckedKeys?: Array<any>;
157
-
158
- /**
159
- * 勾选节点复选框是否完全受控(父子节点选中状态不再关联)
160
- */
161
- checkStrictly?: boolean;
162
-
163
- /**
164
- * 定义选中时回填的方式
165
- */
166
- checkedStrategy?: 'all' | 'parent' | 'child';
167
-
168
- /**
169
- * 勾选或取消勾选复选框时触发的回调函数
170
- */
171
- onCheck?: (checkedKeys: Array<any>, extra: {}) => void;
172
-
173
- /**
174
- * (用于受控)当前展开的节点 key 的数组
175
- */
176
- expandedKeys?: Array<any>;
177
-
178
- /**
179
- * (用于非受控)默认展开的节点 key 的数组
180
- */
181
- defaultExpandedKeys?: Array<any>;
182
-
183
- /**
184
- * 是否默认展开所有节点
185
- */
186
- defaultExpandAll?: boolean;
187
-
188
- /**
189
- * 是否自动展开父节点
190
- */
191
- autoExpandParent?: boolean;
192
-
193
- /**
194
- * 展开或收起节点时触发的回调函数
195
- * @en Callback function when expanded or collapsed a node
196
- * @defaultValue () =\> \{\}
197
- * @param expandedKeys - 展开节点key的数组 - Array of expanded keys
198
- * @param extra - 额外参数 - Extra parameters
199
- * @returns 空 - void
200
- */
201
- onExpand?: (
202
- expandedKeys: string[],
203
- extra: {
204
- node: NodeInstance;
205
- expanded: boolean;
206
- }
207
- ) => void;
208
-
209
- /**
210
- * 是否支持编辑节点内容
211
- */
212
- editable?: boolean;
213
-
214
- /**
215
- * 编辑节点内容完成时触发的回调函数
216
- */
217
- onEditFinish?: (key: string, label: string, node: NodeInstance) => void;
218
-
219
- /**
220
- * 是否支持拖拽节点
221
- */
222
- draggable?: boolean;
223
-
224
-
225
- /**
226
- * 开始拖拽节点时触发的回调函数
227
- * @en Callback function when drag start
228
- * @defaultValue () =\> \{\}
229
- * @param info - 额外参数 - Extra parameters
230
- * @returns 空 - void
231
- *
232
- */
233
- onDragStart?: (info: {
234
- event: React.MouseEvent;
235
- node: NodeInstance;
236
- expandedKeys: string[];
237
- }) => void;
238
-
239
-
240
-
241
- /**
242
- * 拖拽节点进入目标节点时触发的回调函数
243
- * @en Callback function when drag enter
244
- * @defaultValue () =\> \{\}
245
- * @param info - 额外参数 - Extra parameters
246
- * @returns 空 - void
247
- */
248
- onDragEnter?: (info: {
249
- event: React.MouseEvent;
250
- node: NodeInstance;
251
- expandedKeys: Array<string>;
252
- }) => void;
253
-
254
-
255
-
256
- /**
257
- * 拖拽节点在目标节点上移动的时候触发的回调函数
258
- * @en Callback function when drag over
259
- * @defaultValue () =\> \{\}
260
- * @param info - 额外参数 - Extra parameters
261
- * @returns 空 - void
262
- */
263
- onDragOver?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
264
-
265
- /**
266
- * 拖拽节点离开目标节点时触发的回调函数
267
- * @en Callback function when drag leave
268
- * @defaultValue () =\> \{\}
269
- * @param info - 额外参数 - Extra parameters
270
- * @returns 空 - void
271
- */
272
- onDragLeave?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
273
-
274
- /**
275
- * 拖拽节点拖拽结束时触发的回调函数
276
- * @en Callback function when drag end
277
- * @defaultValue () =\> \{\}
278
- * @param info - 额外参数 - Extra parameters
279
- * @returns 空 - void
280
- */
281
- onDragEnd?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
282
- /**
283
- * 拖拽节点放入目标节点内或前后触发的回调函数
284
- * @en Callback function when drop
285
- * @defaultValue () =\> \{\}
286
- * @param info - 额外参数 - Extra parameters
287
- * @returns 空 - void
288
- */
289
- onDrop?: (info: {
290
- event: React.MouseEvent;
291
- node: NodeInstance;
292
- dragNode: NodeInstance;
293
- dragNodesKeys: Array<string>;
294
- dropPosition: number;
295
- }) => void;
296
-
297
- /**
298
- * 节点是否可被作为拖拽的目标节点
299
- * @en Whether the node can be a target node for drag
300
- * @defaultValue () =\> \{\}
301
- * @param info - 额外参数 - Extra parameters
302
- * @returns 是否可以被当作目标节点 - Whether can be a target node
303
- */
304
- canDrop?: (info: {
305
- event?: React.MouseEvent;
306
- node: NodeInstance;
307
- dragNode: NodeInstance;
308
- dragNodesKeys: Array<string>;
309
- dropPosition: number;
310
- }) => boolean;
311
-
312
- /**
313
- * 异步加载数据的函数
314
- * @en Asynchronous load data function
315
- * @param node - 被点击展开的节点 - Node instance
316
- */
317
- loadData?: (node: NodeInstance) => Promise<unknown>;
318
-
319
- /**
320
- * 按需筛选高亮节点
321
- * @en Highlight the node
322
- * @param node - 待筛选的节点 - Node instance
323
- * @returns 是否被筛选中 - Whether is filtered
324
- */
325
- filterTreeNode?: (node: NodeInstance) => boolean;
326
-
327
- /**
328
- * 右键点击节点时触发的回调函数
329
- * @en Callback function when right click a node
330
- * @defaultValue () =\> \{\}
331
- * @param info - 额外参数 - Extra parameters
332
- * @returns 空 - void
333
- */
334
- onRightClick?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
335
-
336
- /**
337
- * 设置节点是否占满剩余空间,一般用于统一在各节点右侧添加元素(借助 flex 实现,暂时只支持 ie10+)
338
- */
339
- isLabelBlock?: boolean;
340
-
341
- /**
342
- * 设置节点是否占满一行
343
- */
344
- isNodeBlock?: boolean | {};
345
-
346
- /**
347
- * 是否开启展开收起动画
348
- */
349
- animation?: boolean;
350
-
351
- /**
352
- * 当前获得焦点的子菜单或菜单项 key 值
353
- */
354
- focusedKey?: string;
355
- /**
356
- * 渲染子节点
357
- */
358
- renderChildNodes?: (nodes: React.ReactNode) => React.ReactNode;
359
- /**
360
- * 渲染单个子节点
361
- */
362
- labelRender?: (node: {}) => React.ReactNode;
363
- /**
364
- * 是否是不可变数据
365
- */
366
- immutable?: boolean;
367
-
368
- /**
369
- * 是否开启虚拟滚动
370
- */
371
- useVirtual?: boolean;
372
-
373
-
374
- /**
375
- * focusable
376
- * @en focusable
377
- * @skip
378
- */
379
- focusable?: string;
380
-
381
- /**
382
- * onItemKeyDown
383
- * @en onItemkeyDown
384
- * @skip
385
- */
386
- onItemKeyDown?: (
387
- key: string | null | undefined,
388
- item: NodeInstance,
389
- e: React.KeyboardEvent
390
- ) => void;
391
-
392
- /**
393
- * onItemFocus
394
- * @en onItemFocus
395
- * @skip
396
- */
397
- onItemFocus?: (key: string | null | undefined, e: React.KeyboardEvent) => void;
398
-
399
- /**
400
- * onBlur
401
- * @en onBlur
402
- * @skip
403
- */
404
- onBlur?: (e: React.FocusEvent) => void;
405
-
406
- /**
407
- * autoFocus
408
- * @skip
409
- */
410
- autoFocus?: boolean;
411
-
412
- /**
413
- * className
414
- * @skip
415
- */
416
- className?: string;
417
- }
418
-
419
- export default class Tree extends React.Component<TreeProps, any> {
420
- static Node: typeof Node;
421
- }
1
+ /// <reference types="react" />
2
+
3
+ import * as React from 'react';
4
+ import CommonProps from '../util';
5
+ import { VirtualListProps } from '../virtual-list';
6
+
7
+ export type NodeInstance = InstanceType<typeof TreeNode>;
8
+
9
+ export interface BasicDataNode {
10
+ checkable?: boolean;
11
+ disabled?: boolean;
12
+ checkboxDisabled?: boolean;
13
+ icon?: IconType;
14
+ isLeaf?: boolean;
15
+ selectable?: boolean;
16
+ draggable?: boolean;
17
+ editable?: boolean;
18
+
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ }
22
+
23
+ export type FieldDataNode<T, ChildFieldName extends string = 'children'> = BasicDataNode &
24
+ T &
25
+ Partial<Record<ChildFieldName, FieldDataNode<T, ChildFieldName>[]>>;
26
+
27
+ export type DataNode = FieldDataNode<{
28
+ key: Key;
29
+ label?: React.ReactNode;
30
+ illegalFlag?: boolean;
31
+ node?: NodeElement;
32
+ size?: number;
33
+ posinset?: number;
34
+ children?: DataNode[] | NodeElement;
35
+ pos?: string;
36
+ level?: number;
37
+ isLastChild?: boolean[];
38
+ }>;
39
+
40
+ export type TreeDataNode = FieldDataNode<{
41
+ key: Key;
42
+ label?: React.ReactNode;
43
+ }>;
44
+
45
+ export interface NodeProps extends React.HTMLAttributes<HTMLElement>, CommonProps {
46
+ /**
47
+ * 树节点
48
+ */
49
+ children?: React.ReactNode;
50
+
51
+ /**
52
+ * 节点文本内容
53
+ */
54
+ label?: React.ReactNode;
55
+
56
+ /**
57
+ * 单独设置是否支持选中,覆盖 Tree 的 selectable
58
+ */
59
+ selectable?: boolean;
60
+
61
+ /**
62
+ * 单独设置是否出现复选框,覆盖 Tree 的 checkable
63
+ */
64
+ checkable?: boolean;
65
+
66
+ /**
67
+ * 单独设置是否支持编辑,覆盖 Tree 的 editable
68
+ */
69
+ editable?: boolean;
70
+
71
+ /**
72
+ * 单独设置是否支持拖拽,覆盖 Tree 的 draggable
73
+ */
74
+ draggable?: boolean;
75
+
76
+ /**
77
+ * 是否禁止节点响应
78
+ */
79
+ disabled?: boolean;
80
+
81
+ /**
82
+ * 是否禁止勾选节点复选框
83
+ */
84
+ checkboxDisabled?: boolean;
85
+
86
+ /**
87
+ * 是否是叶子节点,设置loadData时生效
88
+ */
89
+ isLeaf?: boolean;
90
+
91
+ /**
92
+ * 点击文本是否可以勾选
93
+ */
94
+ clickToCheck?: boolean;
95
+ }
96
+
97
+ export class Node extends React.Component<NodeProps, any> {}
98
+ interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
99
+ onSelect?: any;
100
+ }
101
+
102
+ export interface TreeProps extends HTMLAttributesWeak, CommonProps {
103
+ /**
104
+ * 树节点
105
+ */
106
+ children?: React.ReactNode;
107
+
108
+ /**
109
+ * 数据源,该属性优先级高于 children
110
+ */
111
+ dataSource?: Array<any>;
112
+
113
+ /**
114
+ * 是否显示树的线
115
+ */
116
+ showLine?: boolean;
117
+
118
+ /**
119
+ * 是否支持选中节点
120
+ */
121
+ selectable?: boolean;
122
+
123
+ /**
124
+ * (用于受控)当前选中节点 key 的数组
125
+ */
126
+ selectedKeys?: Array<any>;
127
+
128
+ /**
129
+ * (用于非受控)默认选中节点 key 的数组
130
+ */
131
+ defaultSelectedKeys?: Array<any>;
132
+
133
+ /**
134
+ * 选中或取消选中节点时触发的回调函数
135
+ */
136
+ onSelect?: (selectedKeys: Array<any>, extra: {}) => void;
137
+
138
+ /**
139
+ * 是否支持多选
140
+ */
141
+ multiple?: boolean;
142
+
143
+ /**
144
+ * 是否支持勾选节点的复选框
145
+ */
146
+ checkable?: boolean;
147
+
148
+ /**
149
+ * (用于受控)当前勾选复选框节点 key 的数组或 `{checked: Array, indeterminate: Array}` 的对象
150
+ */
151
+ checkedKeys?: Array<any> | {};
152
+
153
+ /**
154
+ * (用于非受控)默认勾选复选框节点 key 的数组
155
+ */
156
+ defaultCheckedKeys?: Array<any>;
157
+
158
+ /**
159
+ * 勾选节点复选框是否完全受控(父子节点选中状态不再关联)
160
+ */
161
+ checkStrictly?: boolean;
162
+
163
+ /**
164
+ * 定义选中时回填的方式
165
+ */
166
+ checkedStrategy?: 'all' | 'parent' | 'child';
167
+
168
+ /**
169
+ * 勾选或取消勾选复选框时触发的回调函数
170
+ */
171
+ onCheck?: (checkedKeys: Array<any>, extra: {}) => void;
172
+
173
+ /**
174
+ * (用于受控)当前展开的节点 key 的数组
175
+ */
176
+ expandedKeys?: Array<any>;
177
+
178
+ /**
179
+ * (用于非受控)默认展开的节点 key 的数组
180
+ */
181
+ defaultExpandedKeys?: Array<any>;
182
+
183
+ /**
184
+ * 是否默认展开所有节点
185
+ */
186
+ defaultExpandAll?: boolean;
187
+
188
+ /**
189
+ * 是否自动展开父节点
190
+ */
191
+ autoExpandParent?: boolean;
192
+
193
+ /**
194
+ * 展开或收起节点时触发的回调函数
195
+ * @en Callback function when expanded or collapsed a node
196
+ * @defaultValue () =\> \{\}
197
+ * @param expandedKeys - 展开节点key的数组 - Array of expanded keys
198
+ * @param extra - 额外参数 - Extra parameters
199
+ * @returns 空 - void
200
+ */
201
+ onExpand?: (
202
+ expandedKeys: string[],
203
+ extra: {
204
+ node: NodeInstance;
205
+ expanded: boolean;
206
+ }
207
+ ) => void;
208
+
209
+ /**
210
+ * 是否支持编辑节点内容
211
+ */
212
+ editable?: boolean;
213
+
214
+ /**
215
+ * 编辑节点内容完成时触发的回调函数
216
+ */
217
+ onEditFinish?: (key: string, label: string, node: NodeInstance) => void;
218
+
219
+ /**
220
+ * 是否支持拖拽节点
221
+ */
222
+ draggable?: boolean;
223
+
224
+
225
+ /**
226
+ * 开始拖拽节点时触发的回调函数
227
+ * @en Callback function when drag start
228
+ * @defaultValue () =\> \{\}
229
+ * @param info - 额外参数 - Extra parameters
230
+ * @returns 空 - void
231
+ *
232
+ */
233
+ onDragStart?: (info: {
234
+ event: React.MouseEvent;
235
+ node: NodeInstance;
236
+ expandedKeys: string[];
237
+ }) => void;
238
+
239
+
240
+
241
+ /**
242
+ * 拖拽节点进入目标节点时触发的回调函数
243
+ * @en Callback function when drag enter
244
+ * @defaultValue () =\> \{\}
245
+ * @param info - 额外参数 - Extra parameters
246
+ * @returns 空 - void
247
+ */
248
+ onDragEnter?: (info: {
249
+ event: React.MouseEvent;
250
+ node: NodeInstance;
251
+ expandedKeys: Array<string>;
252
+ }) => void;
253
+
254
+
255
+
256
+ /**
257
+ * 拖拽节点在目标节点上移动的时候触发的回调函数
258
+ * @en Callback function when drag over
259
+ * @defaultValue () =\> \{\}
260
+ * @param info - 额外参数 - Extra parameters
261
+ * @returns 空 - void
262
+ */
263
+ onDragOver?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
264
+
265
+ /**
266
+ * 拖拽节点离开目标节点时触发的回调函数
267
+ * @en Callback function when drag leave
268
+ * @defaultValue () =\> \{\}
269
+ * @param info - 额外参数 - Extra parameters
270
+ * @returns 空 - void
271
+ */
272
+ onDragLeave?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
273
+
274
+ /**
275
+ * 拖拽节点拖拽结束时触发的回调函数
276
+ * @en Callback function when drag end
277
+ * @defaultValue () =\> \{\}
278
+ * @param info - 额外参数 - Extra parameters
279
+ * @returns 空 - void
280
+ */
281
+ onDragEnd?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
282
+ /**
283
+ * 拖拽节点放入目标节点内或前后触发的回调函数
284
+ * @en Callback function when drop
285
+ * @defaultValue () =\> \{\}
286
+ * @param info - 额外参数 - Extra parameters
287
+ * @returns 空 - void
288
+ */
289
+ onDrop?: (info: {
290
+ event: React.MouseEvent;
291
+ node: NodeInstance;
292
+ dragNode: NodeInstance;
293
+ dragNodesKeys: Array<string>;
294
+ dropPosition: number;
295
+ }) => void;
296
+
297
+ /**
298
+ * 节点是否可被作为拖拽的目标节点
299
+ * @en Whether the node can be a target node for drag
300
+ * @defaultValue () =\> \{\}
301
+ * @param info - 额外参数 - Extra parameters
302
+ * @returns 是否可以被当作目标节点 - Whether can be a target node
303
+ */
304
+ canDrop?: (info: {
305
+ event?: React.MouseEvent;
306
+ node: NodeInstance;
307
+ dragNode: NodeInstance;
308
+ dragNodesKeys: Array<string>;
309
+ dropPosition: number;
310
+ }) => boolean;
311
+
312
+ /**
313
+ * 异步加载数据的函数
314
+ * @en Asynchronous load data function
315
+ * @param node - 被点击展开的节点 - Node instance
316
+ */
317
+ loadData?: (node: NodeInstance) => Promise<unknown>;
318
+
319
+ /**
320
+ * 按需筛选高亮节点
321
+ * @en Highlight the node
322
+ * @param node - 待筛选的节点 - Node instance
323
+ * @returns 是否被筛选中 - Whether is filtered
324
+ */
325
+ filterTreeNode?: (node: NodeInstance) => boolean;
326
+
327
+ /**
328
+ * 右键点击节点时触发的回调函数
329
+ * @en Callback function when right click a node
330
+ * @defaultValue () =\> \{\}
331
+ * @param info - 额外参数 - Extra parameters
332
+ * @returns 空 - void
333
+ */
334
+ onRightClick?: (info: { event: React.MouseEvent; node: NodeInstance }) => void;
335
+
336
+ /**
337
+ * 设置节点是否占满剩余空间,一般用于统一在各节点右侧添加元素(借助 flex 实现,暂时只支持 ie10+)
338
+ */
339
+ isLabelBlock?: boolean;
340
+
341
+ /**
342
+ * 设置节点是否占满一行
343
+ */
344
+ isNodeBlock?: boolean | {};
345
+
346
+ /**
347
+ * 是否开启展开收起动画
348
+ */
349
+ animation?: boolean;
350
+
351
+ /**
352
+ * 当前获得焦点的子菜单或菜单项 key 值
353
+ */
354
+ focusedKey?: string;
355
+ /**
356
+ * 渲染子节点
357
+ */
358
+ renderChildNodes?: (nodes: React.ReactNode) => React.ReactNode;
359
+ /**
360
+ * 渲染单个子节点
361
+ */
362
+ labelRender?: (node: {}) => React.ReactNode;
363
+ /**
364
+ * 是否是不可变数据
365
+ */
366
+ immutable?: boolean;
367
+
368
+ /**
369
+ * 是否开启虚拟滚动
370
+ */
371
+ useVirtual?: boolean;
372
+
373
+
374
+ /**
375
+ * focusable
376
+ * @en focusable
377
+ * @skip
378
+ */
379
+ focusable?: string;
380
+
381
+ /**
382
+ * onItemKeyDown
383
+ * @en onItemkeyDown
384
+ * @skip
385
+ */
386
+ onItemKeyDown?: (
387
+ key: string | null | undefined,
388
+ item: NodeInstance,
389
+ e: React.KeyboardEvent
390
+ ) => void;
391
+
392
+ /**
393
+ * onItemFocus
394
+ * @en onItemFocus
395
+ * @skip
396
+ */
397
+ onItemFocus?: (key: string | null | undefined, e: React.KeyboardEvent) => void;
398
+
399
+ /**
400
+ * onBlur
401
+ * @en onBlur
402
+ * @skip
403
+ */
404
+ onBlur?: (e: React.FocusEvent) => void;
405
+
406
+ /**
407
+ * autoFocus
408
+ * @skip
409
+ */
410
+ autoFocus?: boolean;
411
+
412
+ /**
413
+ * className
414
+ * @skip
415
+ */
416
+ className?: string;
417
+ }
418
+
419
+ export default class Tree extends React.Component<TreeProps, any> {
420
+ static Node: typeof Node;
421
+ }