fat-design 0.0.1-beta.20250505154859

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 (231) hide show
  1. package/README.md +1 -0
  2. package/index.browser.js +78 -0
  3. package/index.js +44076 -0
  4. package/index.umd.cjs +67 -0
  5. package/index.umd.js +67 -0
  6. package/libs/config-16.js +7 -0
  7. package/libs/config-17.js +7 -0
  8. package/libs/config-18.js +9 -0
  9. package/libs/config-19.js +9 -0
  10. package/manifest.json +11 -0
  11. package/package.json +20 -0
  12. package/style.css +1 -0
  13. package/types/0buildTypes/config-provider/constants.d.ts +3 -0
  14. package/types/0buildTypes/config-provider/index.d.ts +4 -0
  15. package/types/0buildTypes/config-provider/v2/consumer.d.ts +3 -0
  16. package/types/0buildTypes/config-provider/v2/context.d.ts +6 -0
  17. package/types/0buildTypes/config-provider/v2/error-boundary.d.ts +27 -0
  18. package/types/0buildTypes/config-provider/v2/functions.d.ts +66 -0
  19. package/types/0buildTypes/config-provider/v2/index.d.ts +37 -0
  20. package/types/0buildTypes/config-provider/v2/provider.d.ts +4 -0
  21. package/types/0buildTypes/config-provider/v2/types.d.ts +22 -0
  22. package/types/0buildTypes/dependencies.d.ts +2 -0
  23. package/types/0buildTypes/empty/empty.d.ts +22 -0
  24. package/types/0buildTypes/empty/index.d.ts +2 -0
  25. package/types/0buildTypes/filter/filter-types.d.ts +21 -0
  26. package/types/0buildTypes/filter/filter.d.ts +10 -0
  27. package/types/0buildTypes/filter/index.d.ts +9 -0
  28. package/types/0buildTypes/form2/deps.d.ts +10 -0
  29. package/types/0buildTypes/form2/form-actions.d.ts +36 -0
  30. package/types/0buildTypes/form2/form-buttons.d.ts +28 -0
  31. package/types/0buildTypes/form2/form-context.d.ts +4 -0
  32. package/types/0buildTypes/form2/form-error.d.ts +3 -0
  33. package/types/0buildTypes/form2/form-item-card.d.ts +9 -0
  34. package/types/0buildTypes/form2/form-item-comp.d.ts +4 -0
  35. package/types/0buildTypes/form2/form-item-label.d.ts +4 -0
  36. package/types/0buildTypes/form2/form-item-preview.d.ts +4 -0
  37. package/types/0buildTypes/form2/form-item.d.ts +7 -0
  38. package/types/0buildTypes/form2/form-layout.d.ts +3 -0
  39. package/types/0buildTypes/form2/form-rules.d.ts +3 -0
  40. package/types/0buildTypes/form2/form-section.d.ts +25 -0
  41. package/types/0buildTypes/form2/form-types.d.ts +386 -0
  42. package/types/0buildTypes/form2/form.d.ts +36 -0
  43. package/types/0buildTypes/form2/helper/buildParams.d.ts +5 -0
  44. package/types/0buildTypes/form2/helper/constants.d.ts +24 -0
  45. package/types/0buildTypes/form2/helper/fixItemProps.d.ts +16 -0
  46. package/types/0buildTypes/form2/helper/fnInheritProps.d.ts +2 -0
  47. package/types/0buildTypes/form2/helper/linkageFormState.d.ts +16 -0
  48. package/types/0buildTypes/form2/helper/useDataSource.d.ts +14 -0
  49. package/types/0buildTypes/form2/helper/useFormChildren.d.ts +5 -0
  50. package/types/0buildTypes/form2/helper/useFormItemState.d.ts +3 -0
  51. package/types/0buildTypes/form2/helper/useGetXProps.d.ts +3 -0
  52. package/types/0buildTypes/form2/index.d.ts +20 -0
  53. package/types/0buildTypes/form2/layout/from-float-layout.d.ts +3 -0
  54. package/types/0buildTypes/hooks/index.d.ts +16 -0
  55. package/types/0buildTypes/hooks/useCurrentState.d.ts +11 -0
  56. package/types/0buildTypes/hooks/useOnKeyPressSave.d.ts +12 -0
  57. package/types/0buildTypes/hooks/usePersistFn.d.ts +3 -0
  58. package/types/0buildTypes/hooks/usePreciseStore.d.ts +53 -0
  59. package/types/0buildTypes/hooks/useSize.d.ts +6 -0
  60. package/types/0buildTypes/hooks/useUniqueId.d.ts +2 -0
  61. package/types/0buildTypes/hooks/useValueOnChange.d.ts +2 -0
  62. package/types/0buildTypes/image/Image.d.ts +42 -0
  63. package/types/0buildTypes/image/Operations.d.ts +25 -0
  64. package/types/0buildTypes/image/Preview.d.ts +64 -0
  65. package/types/0buildTypes/image/PreviewGroup.d.ts +32 -0
  66. package/types/0buildTypes/image/common.d.ts +2 -0
  67. package/types/0buildTypes/image/context.d.ts +7 -0
  68. package/types/0buildTypes/image/getFixScaleEleTransPosition.d.ts +17 -0
  69. package/types/0buildTypes/image/hooks/useImageTransform.d.ts +28 -0
  70. package/types/0buildTypes/image/hooks/useMouseEvent.d.ts +9 -0
  71. package/types/0buildTypes/image/hooks/usePreviewItems.d.ts +7 -0
  72. package/types/0buildTypes/image/hooks/useRegisterImage.d.ts +2 -0
  73. package/types/0buildTypes/image/hooks/useStatus.d.ts +14 -0
  74. package/types/0buildTypes/image/hooks/useTouchEvent.d.ts +8 -0
  75. package/types/0buildTypes/image/index.d.ts +6 -0
  76. package/types/0buildTypes/image/interface.d.ts +14 -0
  77. package/types/0buildTypes/image/previewConfig.d.ts +4 -0
  78. package/types/0buildTypes/image/util.d.ts +1 -0
  79. package/types/0buildTypes/image/utils/KeyCode.d.ts +23 -0
  80. package/types/0buildTypes/image/utils/addEventListener.d.ts +4 -0
  81. package/types/0buildTypes/image/utils/buildIcons.d.ts +2 -0
  82. package/types/0buildTypes/image/utils/css.d.ts +8 -0
  83. package/types/0buildTypes/image/utils/isEqual.d.ts +8 -0
  84. package/types/0buildTypes/image/utils/raf.d.ts +6 -0
  85. package/types/0buildTypes/image/utils/useEvent.d.ts +1 -0
  86. package/types/0buildTypes/image/utils/useLayoutEffect.d.ts +4 -0
  87. package/types/0buildTypes/image/utils/useMergedState.d.ts +12 -0
  88. package/types/0buildTypes/image/utils/useSafeState.d.ts +14 -0
  89. package/types/0buildTypes/index.d.ts +4 -0
  90. package/types/0buildTypes/libs.d.ts +66 -0
  91. package/types/0buildTypes/nav/group.d.ts +30 -0
  92. package/types/0buildTypes/nav/index.d.ts +4 -0
  93. package/types/0buildTypes/nav/item.d.ts +30 -0
  94. package/types/0buildTypes/nav/nav.d.ts +2 -0
  95. package/types/0buildTypes/nav/popup-item.d.ts +24 -0
  96. package/types/0buildTypes/nav/sub-nav.d.ts +30 -0
  97. package/types/0buildTypes/nav/types.d.ts +375 -0
  98. package/types/0buildTypes/others.d.ts +10 -0
  99. package/types/0buildTypes/pages/deps.d.ts +5 -0
  100. package/types/0buildTypes/pages/detail-page/detail-page-card-form.d.ts +12 -0
  101. package/types/0buildTypes/pages/detail-page/detail-page-form-item.d.ts +9 -0
  102. package/types/0buildTypes/pages/detail-page/detail-page-section.d.ts +19 -0
  103. package/types/0buildTypes/pages/detail-page/detail-page-summary.d.ts +9 -0
  104. package/types/0buildTypes/pages/detail-page/detail-page.d.ts +14 -0
  105. package/types/0buildTypes/pages/detail-page/index.d.ts +2 -0
  106. package/types/0buildTypes/pages/detail-page/types.d.ts +29 -0
  107. package/types/0buildTypes/pages/page-card/types.d.ts +6 -0
  108. package/types/0buildTypes/query-form/index.d.ts +2 -0
  109. package/types/0buildTypes/query-form/query-form-items.d.ts +3 -0
  110. package/types/0buildTypes/query-form/query-form-layout.d.ts +2 -0
  111. package/types/0buildTypes/query-form/query-form.d.ts +17 -0
  112. package/types/0buildTypes/query-form/types.d.ts +5 -0
  113. package/types/0buildTypes/sortable-list/helpers.d.ts +8 -0
  114. package/types/0buildTypes/sortable-list/hooks.d.ts +24 -0
  115. package/types/0buildTypes/sortable-list/index.d.ts +14 -0
  116. package/types/0buildTypes/sortable-list/sortable-editable-table.d.ts +2 -0
  117. package/types/0buildTypes/sortable-list/sortable-list.d.ts +564 -0
  118. package/types/0buildTypes/sortable-list/sortable-table.d.ts +2 -0
  119. package/types/0buildTypes/sortable-list/types.d.ts +15 -0
  120. package/types/0buildTypes/table-pro/index.d.ts +24 -0
  121. package/types/0buildTypes/table-pro/table-pro.d.ts +17 -0
  122. package/types/0buildTypes/table-pro/types.d.ts +93 -0
  123. package/types/0buildTypes/table-pro/useTablePro.d.ts +10 -0
  124. package/types/0buildTypes/table-pro/utils/formatQueryRes.d.ts +1 -0
  125. package/types/0buildTypes/table-pro/widget/column-setting.d.ts +4 -0
  126. package/types/0buildTypes/table-pro/widget/deps.d.ts +2 -0
  127. package/types/0buildTypes/table-pro/widget/index.d.ts +23 -0
  128. package/types/0buildTypes/table-pro/widget/operations.d.ts +5 -0
  129. package/types/0buildTypes/table-pro/widget/operationsActions.d.ts +2 -0
  130. package/types/0buildTypes/table-pro/widget/renderFormats.d.ts +15 -0
  131. package/types/0buildTypes/table-pro/widget/renderMultiFieldCell.d.ts +4 -0
  132. package/types/0buildTypes/table-pro/widget/renderOperationCell.d.ts +4 -0
  133. package/types/0buildTypes/table-pro/widget/renderToolbar.d.ts +6 -0
  134. package/types/0buildTypes/table-pro/widget/table-utils-types.d.ts +40 -0
  135. package/types/0buildTypes/util/comp.d.ts +16 -0
  136. package/types/0buildTypes/util/component.d.ts +1 -0
  137. package/types/0buildTypes/util/constants.d.ts +4 -0
  138. package/types/0buildTypes/util/dom.d.ts +116 -0
  139. package/types/0buildTypes/util/env.d.ts +7 -0
  140. package/types/0buildTypes/util/func-wrapper.d.ts +1 -0
  141. package/types/0buildTypes/util/func.d.ts +73 -0
  142. package/types/0buildTypes/util/guid.d.ts +11 -0
  143. package/types/0buildTypes/util/isStateEquals.d.ts +4 -0
  144. package/types/0buildTypes/util/localforage.d.ts +11 -0
  145. package/types/0buildTypes/util/log.d.ts +18 -0
  146. package/types/0buildTypes/util/pick-res-data.d.ts +28 -0
  147. package/types/0buildTypes/util/react-dom.d.ts +27 -0
  148. package/types/0buildTypes/util/shallowEqual.d.ts +3 -0
  149. package/types/0buildTypes/util/string.d.ts +26 -0
  150. package/types/0buildTypes/util/toMap.d.ts +7 -0
  151. package/types/affix/index.d.ts +33 -0
  152. package/types/animate/index.d.ts +80 -0
  153. package/types/avatar/index.d.ts +41 -0
  154. package/types/badge/index.d.ts +38 -0
  155. package/types/balloon/index.d.ts +254 -0
  156. package/types/balloon-confirm/index.d.ts +78 -0
  157. package/types/batch-input/index.d.ts +152 -0
  158. package/types/box/index.d.ts +18 -0
  159. package/types/breadcrumb/index.d.ts +60 -0
  160. package/types/button/index.d.ts +179 -0
  161. package/types/calendar/index.d.ts +76 -0
  162. package/types/card/index.d.ts +147 -0
  163. package/types/cascader/index.d.ts +135 -0
  164. package/types/cascader-select/index.d.ts +230 -0
  165. package/types/checkbox/index.d.ts +175 -0
  166. package/types/collapse/index.d.ts +96 -0
  167. package/types/config-provider/index.d.ts +3 -0
  168. package/types/date-picker/index.d.ts +123 -0
  169. package/types/dialog/index.d.ts +328 -0
  170. package/types/divider/index.d.ts +21 -0
  171. package/types/drawer/index.d.ts +121 -0
  172. package/types/dropdown/index.d.ts +198 -0
  173. package/types/field/index.d.ts +33 -0
  174. package/types/filter/index.d.ts +2 -0
  175. package/types/form/index.d.ts +5 -0
  176. package/types/grid/index.d.ts +142 -0
  177. package/types/hooks/index.d.ts +2 -0
  178. package/types/icon/index.d.ts +29 -0
  179. package/types/image/index.d.ts +3 -0
  180. package/types/index.d.ts +67 -0
  181. package/types/input/index.d.ts +367 -0
  182. package/types/list/index.d.ts +69 -0
  183. package/types/loading/index.d.ts +92 -0
  184. package/types/locale/default.d.ts +143 -0
  185. package/types/locale/en-us.d.ts +1 -0
  186. package/types/locale/id-id.d.ts +1 -0
  187. package/types/locale/it-it.d.ts +1 -0
  188. package/types/locale/ja-jp.d.ts +1 -0
  189. package/types/locale/ko-kr.d.ts +1 -0
  190. package/types/locale/ms-my.d.ts +1 -0
  191. package/types/locale/pt-pt.d.ts +1 -0
  192. package/types/locale/th-th.d.ts +1 -0
  193. package/types/locale/vi-vn.d.ts +1 -0
  194. package/types/locale/zh-cn.d.ts +1 -0
  195. package/types/locale/zh-hk.d.ts +1 -0
  196. package/types/locale/zh-tw.d.ts +1 -0
  197. package/types/menu/index.d.ts +336 -0
  198. package/types/menu-button/index.d.ts +100 -0
  199. package/types/message/index.d.ts +164 -0
  200. package/types/nav/index.d.ts +313 -0
  201. package/types/notification/index.d.ts +35 -0
  202. package/types/number-picker/index.d.ts +161 -0
  203. package/types/overlay/index.d.ts +363 -0
  204. package/types/pagination/index.d.ts +115 -0
  205. package/types/paragraph/index.d.ts +23 -0
  206. package/types/progress/index.d.ts +53 -0
  207. package/types/query-form/index.d.ts +3 -0
  208. package/types/radio/index.d.ts +180 -0
  209. package/types/range/index.d.ts +120 -0
  210. package/types/rating/index.d.ts +84 -0
  211. package/types/responsive-grid/index.d.ts +30 -0
  212. package/types/search/index.d.ts +219 -0
  213. package/types/select/index.d.ts +476 -0
  214. package/types/shell/index.d.ts +53 -0
  215. package/types/slider/index.d.ts +172 -0
  216. package/types/split-button/index.d.ts +134 -0
  217. package/types/step/index.d.ts +108 -0
  218. package/types/switch/index.d.ts +85 -0
  219. package/types/tab/index.d.ts +170 -0
  220. package/types/table/index.d.ts +407 -0
  221. package/types/table-pro/index.d.ts +3 -0
  222. package/types/tag/index.d.ts +124 -0
  223. package/types/time-picker/index.d.ts +193 -0
  224. package/types/timeline/index.d.ts +95 -0
  225. package/types/transfer/index.d.ts +199 -0
  226. package/types/tree/index.d.ts +421 -0
  227. package/types/tree-select/index.d.ts +251 -0
  228. package/types/typography/index.d.ts +28 -0
  229. package/types/upload/index.d.ts +707 -0
  230. package/types/util.d.ts +50 -0
  231. package/types/virtual-list/index.d.ts +44 -0
@@ -0,0 +1,193 @@
1
+ /// <reference types="react" />
2
+
3
+ import * as React from 'react';
4
+ import CommonProps from '../util';
5
+ import { PopupProps } from '../overlay';
6
+ import { InputProps } from '../input';
7
+ import { ButtonProps } from '../button';
8
+ import { Dayjs, ConfigType } from 'dayjs';
9
+
10
+ interface IPresetType {
11
+ label?: string;
12
+ value?: ConfigType | (() => ConfigType);
13
+ }
14
+ interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
15
+ defaultValue?: any;
16
+ onChange?: any;
17
+ }
18
+
19
+ export interface DatePreset extends ButtonProps {
20
+ label: string;
21
+ // 时间值(dayjs 对象或时间字符串)或者返回时间值的函数
22
+ value: any;
23
+ }
24
+
25
+ export interface RangePreset {
26
+ [propName: string]: (Dayjs)[];
27
+ }
28
+
29
+ export interface TimePickerProps extends HTMLAttributesWeak, CommonProps {
30
+ /**
31
+ * 按钮的文案
32
+ */
33
+ label?: React.ReactNode;
34
+ name?: string;
35
+
36
+ /**
37
+ * 输入框状态
38
+ */
39
+ state?: 'error' | 'success';
40
+
41
+ /**
42
+ * 输入框提示
43
+ */
44
+ placeholder?: string;
45
+
46
+ /**
47
+ * 时间值(dayjs 对象或时间字符串,受控状态使用)
48
+ */
49
+ value?: ConfigType;
50
+
51
+ /**
52
+ * 时间初值(dayjs 对象或时间字符串,非受控状态使用)
53
+ */
54
+ defaultValue?: ConfigType;
55
+
56
+ /**
57
+ * 时间选择框的尺寸
58
+ */
59
+ size?: 'small' | 'medium' | 'large';
60
+
61
+ /**
62
+ * 是否允许清空时间
63
+ */
64
+ hasClear?: boolean;
65
+
66
+ /**
67
+ * 时间的格式
68
+ * https://dayjs.gitee.io/docs/zh-CN/display/format
69
+ */
70
+ format?: string;
71
+
72
+ /**
73
+ * 小时选项步长
74
+ */
75
+ hourStep?: number;
76
+
77
+ /**
78
+ * 分钟选项步长
79
+ */
80
+ minuteStep?: number;
81
+
82
+ /**
83
+ * 秒钟选项步长
84
+ */
85
+ secondStep?: number;
86
+
87
+ /**
88
+ * 禁用小时函数
89
+ */
90
+ disabledHours?: (index: number) => boolean;
91
+
92
+ /**
93
+ * 禁用分钟函数
94
+ */
95
+ disabledMinutes?: (index: number) => boolean;
96
+
97
+ /**
98
+ * 禁用秒钟函数
99
+ */
100
+ disabledSeconds?: (index: number) => boolean;
101
+
102
+ /**
103
+ * 弹层是否显示(受控)
104
+ */
105
+ visible?: boolean;
106
+
107
+ /**
108
+ * 弹层默认是否显示(非受控)
109
+ */
110
+ defaultVisible?: boolean;
111
+
112
+ /**
113
+ * 弹层容器
114
+ */
115
+ popupContainer?: string | HTMLElement | ((target: HTMLElement) => HTMLElement);
116
+
117
+ /**
118
+ * 弹层对齐方式, 详情见Overlay 文档
119
+ */
120
+ popupAlign?: string;
121
+
122
+ /**
123
+ * 弹层触发方式
124
+ */
125
+ popupTriggerType?: 'click' | 'hover';
126
+
127
+ /**
128
+ * 弹层展示状态变化时的回调
129
+ */
130
+ onVisibleChange?: (visible: boolean, reason: string) => void;
131
+
132
+ /**
133
+ * 弹层自定义样式
134
+ */
135
+ popupStyle?: React.CSSProperties;
136
+
137
+ /**
138
+ * 弹层自定义样式类
139
+ */
140
+ popupClassName?: string;
141
+
142
+ /**
143
+ * 弹层属性
144
+ */
145
+ popupProps?: PopupProps;
146
+
147
+ /**
148
+ * 是否禁用
149
+ */
150
+ disabled?: boolean;
151
+
152
+ /**
153
+ * 输入框是否有边框
154
+ */
155
+ hasBorder?: boolean;
156
+
157
+ /**
158
+ * 透传给 Input 的属性
159
+ */
160
+ inputProps?: InputProps;
161
+
162
+ /**
163
+ * 预设值,会显示在时间面板下面
164
+ */
165
+ ranges?: RangePreset | DatePreset[];
166
+
167
+ /**
168
+ * 时间值改变时的回调
169
+ */
170
+ onChange?: (date: Dayjs, dateString: string) => void;
171
+ }
172
+
173
+ export interface RangePickerProps
174
+ extends Omit<
175
+ TimePickerProps,
176
+ 'value' | 'placeholder' | 'defaultValue' | 'onOk' | 'disabled' | 'onChange' | 'preset'
177
+ > {
178
+ value?: Array<ConfigType>;
179
+ defaultValue?: Array<ConfigType>;
180
+ onOk?: (value: Array<Dayjs>, strVal: Array<string>) => void;
181
+ onChange?: (value: Array<Dayjs>, strVal: Array<string>) => void;
182
+ placeholder?: string | Array<string>;
183
+ disabled?: boolean | boolean[];
184
+ preset?: IPresetType | IPresetType[];
185
+ }
186
+
187
+ export class RangePicker extends React.Component<RangePickerProps, any> {
188
+ type: 'range';
189
+ }
190
+
191
+ export default class TimePicker extends React.Component<TimePickerProps, any> {
192
+ static RangePicker: typeof RangePicker;
193
+ }
@@ -0,0 +1,95 @@
1
+ /// <reference types="react" />
2
+
3
+ import * as React from 'react';
4
+ import CommonProps from '../util';
5
+
6
+ interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
7
+ title?: any;
8
+ }
9
+
10
+ export interface ItemProps extends Omit<HTMLAttributesWeak, 'content'>, CommonProps {
11
+ /**
12
+ * 节点状态
13
+ */
14
+ state?: 'done' | 'process' | 'error' | 'success';
15
+
16
+ /**
17
+ * 图标
18
+ */
19
+ icon?: string;
20
+
21
+ /**
22
+ * 自定义时间轴节点
23
+ */
24
+ dot?: React.ReactNode;
25
+
26
+ /**
27
+ * 格式化后的时间
28
+ */
29
+ time?: React.ReactNode;
30
+
31
+ /**
32
+ * 标题
33
+ */
34
+ title?: React.ReactNode;
35
+
36
+ /**
37
+ * 左侧时间
38
+ */
39
+ timeLeft?: React.ReactNode;
40
+
41
+ /**
42
+ * 右侧内容
43
+ */
44
+ content?: React.ReactNode;
45
+
46
+ /**
47
+ * 动画
48
+ */
49
+ animation?: boolean;
50
+ mode?: 'left' | 'alternate';
51
+ }
52
+
53
+ export class Item extends React.Component<ItemProps, any> {}
54
+
55
+ type foldItem = {
56
+ /**
57
+ * [startIndex, endIndex] or [startIndex] 到最后一个节点
58
+ */
59
+ foldArea?: Array<number>;
60
+ foldShow?: boolean;
61
+ };
62
+
63
+ export interface TimelineProps extends React.HTMLAttributes<HTMLElement>, CommonProps {
64
+ /**
65
+ * 样式的品牌前缀
66
+ */
67
+ prefix?: string;
68
+
69
+ /**
70
+ * 自定义折叠选项 示例`[{foldArea: [startIndex, endIndex], foldShow: boolean}]`
71
+ */
72
+ fold?: Array<foldItem>;
73
+
74
+ /**
75
+ * 自定义类名
76
+ */
77
+ className?: string;
78
+
79
+ /**
80
+ * 动画
81
+ */
82
+ animation?: boolean;
83
+
84
+ /**
85
+ * 展示的模式,left 为左,alternate 为交替显示
86
+ * @en show mode
87
+ * @defaultValue 'left'
88
+ * @version 1.23.18
89
+ */
90
+ mode?: 'left' | 'alternate';
91
+ }
92
+
93
+ export default class Timeline extends React.Component<TimelineProps, any> {
94
+ static Item: typeof Item;
95
+ }
@@ -0,0 +1,199 @@
1
+ /// <reference types="react" />
2
+
3
+ import * as React from 'react';
4
+ import CommonProps from '../util';
5
+
6
+ interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
7
+ defaultValue?: any;
8
+ onChange?: any;
9
+ }
10
+
11
+
12
+ /**
13
+ * @api TransferDataItem
14
+ */
15
+ export type TransferDataItem = {
16
+ label: string | React.ReactNode;
17
+ value: string;
18
+ title?: string;
19
+ disabled?: boolean;
20
+ children?: TransferDataItem[];
21
+ [key: string]: unknown;
22
+ };
23
+ /**
24
+ * @api PositionType
25
+ */
26
+ export type PositionType = 'left' | 'right';
27
+
28
+ /**
29
+ * @api ExtraOptions
30
+ */
31
+ export type ExtraOptions = {
32
+ /**
33
+ * 移动的方向,值为'left'或'right'
34
+ * @en Move direction, 'left' or 'right'
35
+ */
36
+ direction: PositionType;
37
+ /**
38
+ * 左面板值
39
+ * @en Data of left panel
40
+ */
41
+ leftValue: string[];
42
+ /**
43
+ * 左面板数据
44
+ * @en Data of left panel
45
+ */
46
+ leftData: TransferDataItem[];
47
+ /**
48
+ * 发生移动的数据
49
+ * @en Moved data
50
+ */
51
+ movedData: TransferDataItem[];
52
+ /**
53
+ * 发生移动的值
54
+ * @en Moved value
55
+ */
56
+ movedValue: string[];
57
+ };
58
+
59
+ export interface TransferProps extends HTMLAttributesWeak, CommonProps {
60
+ /**
61
+ * 移动选项模式
62
+ */
63
+ mode?: 'normal' | 'simple';
64
+
65
+ /**
66
+ * 数据源
67
+ */
68
+ dataSource?: Array<any>;
69
+
70
+ /**
71
+ * (用于受控)当前值
72
+ */
73
+ value?: Array<any>;
74
+
75
+ /**
76
+ * (用于非受控)初始值
77
+ */
78
+ defaultValue?: Array<any>;
79
+
80
+ /**
81
+ * 值发生改变的时候触发的回调函数
82
+ */
83
+ onChange?: (value: Array<any>, data: Array<any>, extra: ExtraOptions) => void;
84
+
85
+ /**
86
+ * 是否禁用
87
+ */
88
+ disabled?: boolean;
89
+
90
+ /**
91
+ * 是否禁用左侧面板
92
+ */
93
+ leftDisabled?: boolean;
94
+
95
+ /**
96
+ * 是否禁用右侧面板
97
+ */
98
+ rightDisabled?: boolean;
99
+
100
+ /**
101
+ * 列表项渲染函数
102
+ */
103
+ itemRender?: (data: any) => React.ReactNode;
104
+
105
+ /**
106
+ * 左右面板是否显示搜索框
107
+ */
108
+ showSearch?: boolean | boolean[];
109
+
110
+ /**
111
+ * 左右面板搜索框配置
112
+ */
113
+ searchProps?: Record<string, any> | Record<string, any>[];
114
+
115
+ /**
116
+ * 自定义搜索函数
117
+ */
118
+ filter?: (searchedValue: string, data: any) => boolean;
119
+
120
+ /**
121
+ * 搜索框输入时触发的回调函数
122
+ */
123
+ onSearch?: (searchedValue: string, position: string) => void;
124
+
125
+ /**
126
+ * 是否开启虚拟滚动
127
+ */
128
+ useVirtual?: boolean;
129
+
130
+ /**
131
+ * 搜索框占位符
132
+ */
133
+ searchPlaceholder?: string;
134
+
135
+ /**
136
+ * 列表为空显示内容
137
+ */
138
+ notFoundContent?: React.ReactNode | React.ReactNode[];
139
+
140
+ /**
141
+ * 左右面板标题
142
+ */
143
+ titles?: Array<any>;
144
+
145
+ /**
146
+ * 向右向左移动按钮显示内容
147
+ */
148
+ operations?: Array<any>;
149
+
150
+ /**
151
+ * 左面板默认选中值
152
+ */
153
+ defaultLeftChecked?: Array<any>;
154
+
155
+ /**
156
+ * 右面板默认选中值
157
+ */
158
+ defaultRightChecked?: Array<any>;
159
+
160
+ /**
161
+ * 左右面板列表自定义样式类名
162
+ */
163
+ listClassName?: string;
164
+
165
+ /**
166
+ * 左右面板列表自定义样式对象
167
+ */
168
+ listStyle?: React.CSSProperties;
169
+
170
+ /**
171
+ * 是否允许拖拽排序
172
+ */
173
+ sortable?: boolean;
174
+
175
+ /**
176
+ * 拖拽排序时触发的回调函数
177
+ */
178
+ onSort?: (value: Array<any>, position: string) => void;
179
+
180
+ /**
181
+ * 请设置 id 以保证transfer的可访问性
182
+ */
183
+ id?: string;
184
+
185
+ /**
186
+ * 是否显示底部全选 checkbox
187
+ * @en Whether show footer's check-all checkbox
188
+ * @defaultValue true
189
+ */
190
+ showCheckAll?: boolean;
191
+
192
+ /**
193
+ * 接收 children 自定义渲染列表
194
+ * @en Customer panel
195
+ */
196
+ children?: (props: TransferPanelProps) => React.ReactNode;
197
+ }
198
+
199
+ export default class Transfer extends React.Component<TransferProps, any> {}