fat-design 0.0.1-beta.20251010070112 → 0.0.1-beta.20251010161507

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