fat-design 0.0.1-beta.20251016214453 → 0.0.1

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 (244) hide show
  1. package/README.md +285 -285
  2. package/index.browser.js +1 -1
  3. package/libs/config-16.js +7 -7
  4. package/libs/config-17.js +7 -7
  5. package/libs/config-18.js +9 -9
  6. package/libs/config-19.js +9 -9
  7. package/libs/theme/theme-blue1.css +58 -58
  8. package/libs/theme/theme-blue2.css +63 -63
  9. package/libs/theme/theme-blue3.css +73 -73
  10. package/libs/theme/theme-blue4.css +53 -53
  11. package/libs/theme/theme-default.css +60 -60
  12. package/libs/theme/theme-green.css +96 -96
  13. package/libs/theme/theme-green2.css +96 -96
  14. package/libs/theme/theme-orange.css +58 -58
  15. package/libs/theme/theme-pink.css +53 -53
  16. package/libs/theme/theme-purple.css +53 -53
  17. package/libs/theme/theme-red.css +55 -55
  18. package/package.json +2 -2
  19. package/types/0buildTypes/config-provider/constants.d.ts +3 -3
  20. package/types/0buildTypes/config-provider/index.d.ts +4 -4
  21. package/types/0buildTypes/config-provider/v2/consumer.d.ts +3 -3
  22. package/types/0buildTypes/config-provider/v2/context.d.ts +6 -6
  23. package/types/0buildTypes/config-provider/v2/error-boundary.d.ts +27 -27
  24. package/types/0buildTypes/config-provider/v2/functions.d.ts +66 -66
  25. package/types/0buildTypes/config-provider/v2/index.d.ts +36 -36
  26. package/types/0buildTypes/config-provider/v2/provider.d.ts +4 -4
  27. package/types/0buildTypes/config-provider/v2/types.d.ts +22 -22
  28. package/types/0buildTypes/dependencies.d.ts +2 -2
  29. package/types/0buildTypes/empty/empty.d.ts +22 -22
  30. package/types/0buildTypes/empty/index.d.ts +2 -2
  31. package/types/0buildTypes/filter/filter-types.d.ts +21 -21
  32. package/types/0buildTypes/filter/filter.d.ts +10 -10
  33. package/types/0buildTypes/filter/index.d.ts +9 -9
  34. package/types/0buildTypes/form2/deps.d.ts +10 -10
  35. package/types/0buildTypes/form2/form-actions.d.ts +36 -36
  36. package/types/0buildTypes/form2/form-buttons.d.ts +28 -28
  37. package/types/0buildTypes/form2/form-context.d.ts +4 -4
  38. package/types/0buildTypes/form2/form-error.d.ts +3 -3
  39. package/types/0buildTypes/form2/form-item-card.d.ts +4 -4
  40. package/types/0buildTypes/form2/form-item-comp.d.ts +4 -4
  41. package/types/0buildTypes/form2/form-item-label.d.ts +4 -4
  42. package/types/0buildTypes/form2/form-item-preview.d.ts +4 -4
  43. package/types/0buildTypes/form2/form-item.d.ts +7 -7
  44. package/types/0buildTypes/form2/form-layout.d.ts +3 -3
  45. package/types/0buildTypes/form2/form-rules.d.ts +3 -3
  46. package/types/0buildTypes/form2/form-section.d.ts +25 -25
  47. package/types/0buildTypes/form2/form-types.d.ts +396 -396
  48. package/types/0buildTypes/form2/form.d.ts +36 -36
  49. package/types/0buildTypes/form2/helper/buildParams.d.ts +5 -5
  50. package/types/0buildTypes/form2/helper/constants.d.ts +24 -24
  51. package/types/0buildTypes/form2/helper/fixItemProps.d.ts +16 -16
  52. package/types/0buildTypes/form2/helper/fnInheritProps.d.ts +2 -2
  53. package/types/0buildTypes/form2/helper/linkageFormState.d.ts +16 -16
  54. package/types/0buildTypes/form2/helper/useDataSource.d.ts +14 -14
  55. package/types/0buildTypes/form2/helper/useFormChildren.d.ts +5 -5
  56. package/types/0buildTypes/form2/helper/useFormItemState.d.ts +3 -3
  57. package/types/0buildTypes/form2/helper/useGetXProps.d.ts +3 -3
  58. package/types/0buildTypes/form2/index.d.ts +20 -20
  59. package/types/0buildTypes/form2/layout/from-float-layout.d.ts +3 -3
  60. package/types/0buildTypes/hooks/index.d.ts +25 -25
  61. package/types/0buildTypes/hooks/useComparedState.d.ts +2 -2
  62. package/types/0buildTypes/hooks/useCurrentState.d.ts +11 -11
  63. package/types/0buildTypes/hooks/useOnKeyPressSave.d.ts +12 -12
  64. package/types/0buildTypes/hooks/usePersistFn.d.ts +3 -3
  65. package/types/0buildTypes/hooks/usePreciseStore.d.ts +53 -53
  66. package/types/0buildTypes/hooks/useSize.d.ts +6 -6
  67. package/types/0buildTypes/hooks/useUniqueId.d.ts +2 -2
  68. package/types/0buildTypes/hooks/useValueOnChange.d.ts +2 -2
  69. package/types/0buildTypes/image/Image.d.ts +42 -42
  70. package/types/0buildTypes/image/Operations.d.ts +25 -25
  71. package/types/0buildTypes/image/Preview.d.ts +64 -64
  72. package/types/0buildTypes/image/PreviewGroup.d.ts +32 -32
  73. package/types/0buildTypes/image/common.d.ts +2 -2
  74. package/types/0buildTypes/image/context.d.ts +7 -7
  75. package/types/0buildTypes/image/getFixScaleEleTransPosition.d.ts +17 -17
  76. package/types/0buildTypes/image/hooks/useImageTransform.d.ts +28 -28
  77. package/types/0buildTypes/image/hooks/useMouseEvent.d.ts +9 -9
  78. package/types/0buildTypes/image/hooks/usePreviewItems.d.ts +7 -7
  79. package/types/0buildTypes/image/hooks/useRegisterImage.d.ts +2 -2
  80. package/types/0buildTypes/image/hooks/useStatus.d.ts +14 -14
  81. package/types/0buildTypes/image/hooks/useTouchEvent.d.ts +8 -8
  82. package/types/0buildTypes/image/index.d.ts +6 -6
  83. package/types/0buildTypes/image/interface.d.ts +14 -14
  84. package/types/0buildTypes/image/previewConfig.d.ts +4 -4
  85. package/types/0buildTypes/image/util.d.ts +1 -1
  86. package/types/0buildTypes/image/utils/KeyCode.d.ts +23 -23
  87. package/types/0buildTypes/image/utils/addEventListener.d.ts +4 -4
  88. package/types/0buildTypes/image/utils/buildIcons.d.ts +2 -2
  89. package/types/0buildTypes/image/utils/css.d.ts +8 -8
  90. package/types/0buildTypes/image/utils/isEqual.d.ts +8 -8
  91. package/types/0buildTypes/image/utils/raf.d.ts +6 -6
  92. package/types/0buildTypes/image/utils/useEvent.d.ts +1 -1
  93. package/types/0buildTypes/image/utils/useLayoutEffect.d.ts +4 -4
  94. package/types/0buildTypes/image/utils/useMergedState.d.ts +12 -12
  95. package/types/0buildTypes/image/utils/useSafeState.d.ts +14 -14
  96. package/types/0buildTypes/index.d.ts +4 -4
  97. package/types/0buildTypes/libs.d.ts +67 -67
  98. package/types/0buildTypes/nav/group.d.ts +30 -30
  99. package/types/0buildTypes/nav/index.d.ts +4 -4
  100. package/types/0buildTypes/nav/item.d.ts +30 -30
  101. package/types/0buildTypes/nav/nav.d.ts +2 -2
  102. package/types/0buildTypes/nav/popup-item.d.ts +24 -24
  103. package/types/0buildTypes/nav/sub-nav.d.ts +30 -30
  104. package/types/0buildTypes/nav/types.d.ts +375 -375
  105. package/types/0buildTypes/others.d.ts +10 -10
  106. package/types/0buildTypes/pages/deps.d.ts +5 -5
  107. package/types/0buildTypes/pages/detail-page/detail-page-card-form.d.ts +12 -12
  108. package/types/0buildTypes/pages/detail-page/detail-page-form-item.d.ts +9 -9
  109. package/types/0buildTypes/pages/detail-page/detail-page-section.d.ts +19 -19
  110. package/types/0buildTypes/pages/detail-page/detail-page-summary.d.ts +9 -9
  111. package/types/0buildTypes/pages/detail-page/detail-page.d.ts +14 -14
  112. package/types/0buildTypes/pages/detail-page/index.d.ts +2 -2
  113. package/types/0buildTypes/pages/detail-page/types.d.ts +29 -29
  114. package/types/0buildTypes/pages/page-card/types.d.ts +6 -6
  115. package/types/0buildTypes/previews/renderFileImage.d.ts +34 -34
  116. package/types/0buildTypes/query-form/index.d.ts +2 -2
  117. package/types/0buildTypes/query-form/query-form-items.d.ts +4 -4
  118. package/types/0buildTypes/query-form/query-form-layout.d.ts +2 -2
  119. package/types/0buildTypes/query-form/query-form.d.ts +20 -20
  120. package/types/0buildTypes/query-form/types.d.ts +12 -12
  121. package/types/0buildTypes/sortable-list/helpers.d.ts +8 -8
  122. package/types/0buildTypes/sortable-list/hooks.d.ts +24 -24
  123. package/types/0buildTypes/sortable-list/index.d.ts +14 -14
  124. package/types/0buildTypes/sortable-list/sortable-editable-table.d.ts +2 -2
  125. package/types/0buildTypes/sortable-list/sortable-list.d.ts +560 -560
  126. package/types/0buildTypes/sortable-list/sortable-table.d.ts +2 -2
  127. package/types/0buildTypes/sortable-list/types.d.ts +15 -15
  128. package/types/0buildTypes/table-pro/index.d.ts +26 -26
  129. package/types/0buildTypes/table-pro/table-pro.d.ts +17 -17
  130. package/types/0buildTypes/table-pro/types.d.ts +95 -95
  131. package/types/0buildTypes/table-pro/useTablePro.d.ts +10 -10
  132. package/types/0buildTypes/table-pro/utils/formatQueryRes.d.ts +1 -1
  133. package/types/0buildTypes/table-pro/widget/column-setting.d.ts +5 -5
  134. package/types/0buildTypes/table-pro/widget/deps.d.ts +2 -2
  135. package/types/0buildTypes/table-pro/widget/index.d.ts +25 -25
  136. package/types/0buildTypes/table-pro/widget/operations.d.ts +5 -5
  137. package/types/0buildTypes/table-pro/widget/operationsActions.d.ts +2 -2
  138. package/types/0buildTypes/table-pro/widget/renderFormats.d.ts +17 -17
  139. package/types/0buildTypes/table-pro/widget/renderMultiFieldCell.d.ts +4 -4
  140. package/types/0buildTypes/table-pro/widget/renderOperationCell.d.ts +4 -4
  141. package/types/0buildTypes/table-pro/widget/renderToolbar.d.ts +6 -6
  142. package/types/0buildTypes/table-pro/widget/table-utils-types.d.ts +40 -40
  143. package/types/0buildTypes/util/comp.d.ts +16 -16
  144. package/types/0buildTypes/util/component.d.ts +1 -1
  145. package/types/0buildTypes/util/constants.d.ts +4 -4
  146. package/types/0buildTypes/util/dom.d.ts +116 -116
  147. package/types/0buildTypes/util/env.d.ts +7 -7
  148. package/types/0buildTypes/util/func-wrapper.d.ts +1 -1
  149. package/types/0buildTypes/util/func.d.ts +73 -73
  150. package/types/0buildTypes/util/guid.d.ts +11 -11
  151. package/types/0buildTypes/util/isStateEquals.d.ts +4 -4
  152. package/types/0buildTypes/util/localforage.d.ts +11 -11
  153. package/types/0buildTypes/util/log.d.ts +18 -18
  154. package/types/0buildTypes/util/pick-res-data.d.ts +28 -28
  155. package/types/0buildTypes/util/react-dom.d.ts +27 -27
  156. package/types/0buildTypes/util/shallowEqual.d.ts +3 -3
  157. package/types/0buildTypes/util/string.d.ts +32 -32
  158. package/types/0buildTypes/util/tiny-emitter.d.ts +10 -10
  159. package/types/0buildTypes/util/toMap.d.ts +7 -7
  160. package/types/affix/index.d.ts +33 -33
  161. package/types/animate/index.d.ts +80 -80
  162. package/types/avatar/index.d.ts +41 -41
  163. package/types/badge/index.d.ts +38 -38
  164. package/types/balloon/index.d.ts +254 -254
  165. package/types/balloon-confirm/index.d.ts +119 -119
  166. package/types/batch-input/index.d.ts +152 -152
  167. package/types/box/index.d.ts +25 -25
  168. package/types/breadcrumb/index.d.ts +60 -60
  169. package/types/button/index.d.ts +179 -179
  170. package/types/calendar/index.d.ts +76 -76
  171. package/types/card/index.d.ts +147 -147
  172. package/types/cascader/index.d.ts +135 -135
  173. package/types/cascader-select/index.d.ts +230 -230
  174. package/types/checkbox/index.d.ts +175 -175
  175. package/types/collapse/index.d.ts +96 -96
  176. package/types/comments/index.d.ts +278 -278
  177. package/types/config-provider/index.d.ts +3 -3
  178. package/types/date-picker/index.d.ts +123 -123
  179. package/types/dialog/index.d.ts +328 -328
  180. package/types/divider/index.d.ts +21 -21
  181. package/types/drawer/index.d.ts +121 -121
  182. package/types/dropdown/index.d.ts +198 -198
  183. package/types/editable-table/index.d.ts +121 -121
  184. package/types/empty/index.d.ts +78 -78
  185. package/types/field/index.d.ts +33 -33
  186. package/types/filter/index.d.ts +2 -2
  187. package/types/form/index.d.ts +5 -5
  188. package/types/grid/index.d.ts +142 -142
  189. package/types/hooks/index.d.ts +2 -2
  190. package/types/icon/index.d.ts +29 -29
  191. package/types/image/index.d.ts +3 -3
  192. package/types/index.d.ts +69 -69
  193. package/types/input/index.d.ts +458 -458
  194. package/types/list/index.d.ts +69 -69
  195. package/types/loading/index.d.ts +100 -100
  196. package/types/locale/default.d.ts +143 -143
  197. package/types/locale/en-us.d.ts +1 -1
  198. package/types/locale/id-id.d.ts +1 -1
  199. package/types/locale/it-it.d.ts +1 -1
  200. package/types/locale/ja-jp.d.ts +1 -1
  201. package/types/locale/ko-kr.d.ts +1 -1
  202. package/types/locale/ms-my.d.ts +1 -1
  203. package/types/locale/pt-pt.d.ts +1 -1
  204. package/types/locale/th-th.d.ts +1 -1
  205. package/types/locale/vi-vn.d.ts +1 -1
  206. package/types/locale/zh-cn.d.ts +1 -1
  207. package/types/locale/zh-hk.d.ts +1 -1
  208. package/types/locale/zh-tw.d.ts +1 -1
  209. package/types/menu/index.d.ts +336 -336
  210. package/types/menu-button/index.d.ts +100 -100
  211. package/types/message/index.d.ts +165 -165
  212. package/types/nav/index.d.ts +313 -313
  213. package/types/notification/index.d.ts +35 -35
  214. package/types/number-picker/index.d.ts +161 -161
  215. package/types/overlay/index.d.ts +363 -363
  216. package/types/pagination/index.d.ts +115 -115
  217. package/types/paragraph/index.d.ts +23 -23
  218. package/types/progress/index.d.ts +53 -53
  219. package/types/query-form/index.d.ts +3 -3
  220. package/types/radio/index.d.ts +180 -180
  221. package/types/range/index.d.ts +120 -120
  222. package/types/rating/index.d.ts +84 -84
  223. package/types/responsive-grid/index.d.ts +30 -30
  224. package/types/search/index.d.ts +219 -219
  225. package/types/select/index.d.ts +479 -479
  226. package/types/shell/index.d.ts +53 -53
  227. package/types/slider/index.d.ts +172 -172
  228. package/types/sortable-list/index.d.ts +165 -165
  229. package/types/split-button/index.d.ts +134 -134
  230. package/types/step/index.d.ts +108 -108
  231. package/types/switch/index.d.ts +85 -85
  232. package/types/tab/index.d.ts +170 -170
  233. package/types/table/index.d.ts +407 -407
  234. package/types/table-pro/index.d.ts +3 -3
  235. package/types/tag/index.d.ts +142 -142
  236. package/types/time-picker/index.d.ts +193 -193
  237. package/types/timeline/index.d.ts +95 -95
  238. package/types/transfer/index.d.ts +199 -199
  239. package/types/tree/index.d.ts +421 -421
  240. package/types/tree-select/index.d.ts +251 -251
  241. package/types/typography/index.d.ts +28 -28
  242. package/types/upload/index.d.ts +711 -711
  243. package/types/util.d.ts +80 -80
  244. 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
+ }