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,279 +1,279 @@
1
- /// <reference types="react" />
2
-
3
- import { ReactNode, ReactElement, Component } from 'react';
4
- import CommonProps from '../util';
5
- import { PaginationProps } from '../pagination';
6
-
7
- export interface CommentItem {
8
- /**
9
- * 评论唯一标识
10
- */
11
- id: string | number;
12
- /**
13
- * 评论内容
14
- */
15
- content: string;
16
- /**
17
- * 评论作者
18
- */
19
- author: {
20
- /**
21
- * 作者名称
22
- */
23
- name: string;
24
- /**
25
- * 作者头像
26
- */
27
- avatar?: string;
28
- /**
29
- * 作者ID
30
- */
31
- id?: string | number;
32
- /**
33
- * 用户信息修改时间(可选,用于性能优化)
34
- */
35
- modifiedAt?: string | Date;
36
- };
37
- /**
38
- * 评论时间
39
- */
40
- createdAt: string | Date;
41
- /**
42
- * 修改时间(可选,用于性能优化)
43
- */
44
- modifiedAt?: string | Date;
45
- /**
46
- * 点赞数
47
- */
48
- likes?: number;
49
- /**
50
- * 是否已点赞
51
- */
52
- liked?: boolean;
53
- /**
54
- * 二级评论列表
55
- */
56
- children?: CommentItem[];
57
- /**
58
- * 二级评论总数(用于分页)
59
- */
60
- childrenTotal?: number;
61
- /**
62
- * 自定义数据
63
- */
64
- [key: string]: any;
65
- }
66
-
67
- export interface CommentInputProps {
68
- /**
69
- * 输入框占位符
70
- */
71
- placeholder?: string;
72
- /**
73
- * 输入框值
74
- */
75
- value?: string;
76
- /**
77
- * 输入框值变化回调
78
- */
79
- onChange?: (value: string) => void;
80
- /**
81
- * 提交回调
82
- */
83
- onSubmit?: (content: string) => void | Promise<void>;
84
- /**
85
- * 是否显示提交按钮
86
- */
87
- showSubmitButton?: boolean;
88
- /**
89
- * 提交按钮文字
90
- */
91
- submitText?: string;
92
- /**
93
- * 是否正在加载
94
- */
95
- loading?: boolean;
96
- /**
97
- * 是否禁用
98
- */
99
- disabled?: boolean;
100
- /**
101
- * 输入框行数
102
- */
103
- rows?: number;
104
- /**
105
- * 自定义渲染函数
106
- */
107
- render?: (props: CommentInputProps) => ReactNode;
108
- }
109
-
110
- export interface CommentItemRenderProps {
111
- /**
112
- * 评论数据
113
- */
114
- comment: CommentItem;
115
- /**
116
- * 是否为二级评论
117
- */
118
- isChild?: boolean;
119
- /**
120
- * 回复评论回调
121
- */
122
- onReply?: (parentId: string | number, content: string) => void | Promise<void>;
123
- /**
124
- * 点赞回调
125
- */
126
- onLike?: (commentId: string | number) => void | Promise<void>;
127
- /**
128
- * 删除回调
129
- */
130
- onDelete?: (commentId: string | number) => void | Promise<void>;
131
- /**
132
- * 编辑回调
133
- */
134
- onEdit?: (commentId: string | number, content: string) => void | Promise<void>;
135
- /**
136
- * 加载更多子评论
137
- */
138
- onLoadMoreChildren?: (parentId: string | number, page: number, pageSize: number) => void | Promise<void>;
139
- /**
140
- * 显示所有子评论(对话框模式)
141
- */
142
- onShowAllChildren?: (parentId: string | number) => void;
143
- }
144
-
145
- export interface CommentsAPI {
146
- /**
147
- * 加载评论列表
148
- */
149
- loadComments?: (page: number, pageSize: number) => Promise<{
150
- list: CommentItem[];
151
- total: number;
152
- }>;
153
- /**
154
- * 加载子评论列表
155
- */
156
- loadChildComments?: (parentId: string | number, page: number, pageSize: number) => Promise<{
157
- list: CommentItem[];
158
- total: number;
159
- }>;
160
- /**
161
- * 提交一级评论
162
- */
163
- submitComment?: (content: string) => Promise<CommentItem>;
164
- /**
165
- * 提交二级评论
166
- */
167
- submitReply?: (parentId: string | number, content: string) => Promise<CommentItem>;
168
- /**
169
- * 点赞评论
170
- */
171
- likeComment?: (commentId: string | number) => Promise<void>;
172
- /**
173
- * 删除评论
174
- */
175
- deleteComment?: (commentId: string | number) => Promise<void>;
176
- /**
177
- * 编辑评论
178
- */
179
- editComment?: (commentId: string | number, content: string) => Promise<void>;
180
- }
181
-
182
- export interface CommentsProps extends CommonProps {
183
- /**
184
- * 评论数据(非受控模式)
185
- */
186
- defaultComments?: CommentItem[];
187
- /**
188
- * 评论数据(受控模式)
189
- */
190
- comments?: CommentItem[];
191
- /**
192
- * 评论总数
193
- */
194
- total?: number;
195
- /**
196
- * 当前页码
197
- */
198
- current?: number;
199
- /**
200
- * 每页评论数
201
- */
202
- pageSize?: number;
203
- /**
204
- * 一级评论输入框位置
205
- */
206
- inputPosition?: 'top' | 'bottom' | 'none';
207
- /**
208
- * 二级评论默认显示数量
209
- */
210
- defaultChildrenCount?: number;
211
- /**
212
- * 二级评论最大显示数量
213
- */
214
- maxChildrenCount?: number;
215
- /**
216
- * API 接口配置
217
- */
218
- api?: CommentsAPI;
219
- /**
220
- * 分页配置
221
- */
222
- paginationProps?: PaginationProps;
223
- /**
224
- * 一级评论输入框配置
225
- */
226
- inputProps?: CommentInputProps;
227
- /**
228
- * 二级评论输入框配置
229
- */
230
- childInputProps?: CommentInputProps;
231
- /**
232
- * 自定义评论项渲染
233
- */
234
- renderComment?: (props: CommentItemRenderProps) => ReactNode;
235
- /**
236
- * 自定义一级评论输入框渲染
237
- */
238
- renderInput?: (props: CommentInputProps) => ReactNode;
239
- /**
240
- * 自定义二级评论输入框渲染
241
- */
242
- renderChildInput?: (props: CommentInputProps) => ReactNode;
243
- /**
244
- * 页码变化回调
245
- */
246
- onPageChange?: (page: number, pageSize: number) => void;
247
- /**
248
- * 评论数据变化回调
249
- */
250
- onChange?: (comments: CommentItem[]) => void;
251
- /**
252
- * 提交评论成功回调
253
- */
254
- onCommentSubmit?: (comment: CommentItem) => void;
255
- /**
256
- * 提交回复成功回调
257
- */
258
- onReplySubmit?: (reply: CommentItem, parentId: string | number) => void;
259
- /**
260
- * 是否显示分页
261
- */
262
- showPagination?: boolean;
263
- /**
264
- * 空状态提示
265
- */
266
- emptyText?: ReactNode;
267
- /**
268
- * 是否显示用户悬浮卡片
269
- */
270
- showUserCard?: boolean;
271
- /**
272
- * 自定义用户卡片渲染
273
- */
274
- userCardRender?: (user: CommentItem['author']) => ReactNode;
275
- }
276
-
277
- export default class Comments extends Component<CommentsProps, any> {
278
- static displayName: 'Comments';
1
+ /// <reference types="react" />
2
+
3
+ import { ReactNode, ReactElement, Component } from 'react';
4
+ import CommonProps from '../util';
5
+ import { PaginationProps } from '../pagination';
6
+
7
+ export interface CommentItem {
8
+ /**
9
+ * 评论唯一标识
10
+ */
11
+ id: string | number;
12
+ /**
13
+ * 评论内容
14
+ */
15
+ content: string;
16
+ /**
17
+ * 评论作者
18
+ */
19
+ author: {
20
+ /**
21
+ * 作者名称
22
+ */
23
+ name: string;
24
+ /**
25
+ * 作者头像
26
+ */
27
+ avatar?: string;
28
+ /**
29
+ * 作者ID
30
+ */
31
+ id?: string | number;
32
+ /**
33
+ * 用户信息修改时间(可选,用于性能优化)
34
+ */
35
+ modifiedAt?: string | Date;
36
+ };
37
+ /**
38
+ * 评论时间
39
+ */
40
+ createdAt: string | Date;
41
+ /**
42
+ * 修改时间(可选,用于性能优化)
43
+ */
44
+ modifiedAt?: string | Date;
45
+ /**
46
+ * 点赞数
47
+ */
48
+ likes?: number;
49
+ /**
50
+ * 是否已点赞
51
+ */
52
+ liked?: boolean;
53
+ /**
54
+ * 二级评论列表
55
+ */
56
+ children?: CommentItem[];
57
+ /**
58
+ * 二级评论总数(用于分页)
59
+ */
60
+ childrenTotal?: number;
61
+ /**
62
+ * 自定义数据
63
+ */
64
+ [key: string]: any;
65
+ }
66
+
67
+ export interface CommentInputProps {
68
+ /**
69
+ * 输入框占位符
70
+ */
71
+ placeholder?: string;
72
+ /**
73
+ * 输入框值
74
+ */
75
+ value?: string;
76
+ /**
77
+ * 输入框值变化回调
78
+ */
79
+ onChange?: (value: string) => void;
80
+ /**
81
+ * 提交回调
82
+ */
83
+ onSubmit?: (content: string) => void | Promise<void>;
84
+ /**
85
+ * 是否显示提交按钮
86
+ */
87
+ showSubmitButton?: boolean;
88
+ /**
89
+ * 提交按钮文字
90
+ */
91
+ submitText?: string;
92
+ /**
93
+ * 是否正在加载
94
+ */
95
+ loading?: boolean;
96
+ /**
97
+ * 是否禁用
98
+ */
99
+ disabled?: boolean;
100
+ /**
101
+ * 输入框行数
102
+ */
103
+ rows?: number;
104
+ /**
105
+ * 自定义渲染函数
106
+ */
107
+ render?: (props: CommentInputProps) => ReactNode;
108
+ }
109
+
110
+ export interface CommentItemRenderProps {
111
+ /**
112
+ * 评论数据
113
+ */
114
+ comment: CommentItem;
115
+ /**
116
+ * 是否为二级评论
117
+ */
118
+ isChild?: boolean;
119
+ /**
120
+ * 回复评论回调
121
+ */
122
+ onReply?: (parentId: string | number, content: string) => void | Promise<void>;
123
+ /**
124
+ * 点赞回调
125
+ */
126
+ onLike?: (commentId: string | number) => void | Promise<void>;
127
+ /**
128
+ * 删除回调
129
+ */
130
+ onDelete?: (commentId: string | number) => void | Promise<void>;
131
+ /**
132
+ * 编辑回调
133
+ */
134
+ onEdit?: (commentId: string | number, content: string) => void | Promise<void>;
135
+ /**
136
+ * 加载更多子评论
137
+ */
138
+ onLoadMoreChildren?: (parentId: string | number, page: number, pageSize: number) => void | Promise<void>;
139
+ /**
140
+ * 显示所有子评论(对话框模式)
141
+ */
142
+ onShowAllChildren?: (parentId: string | number) => void;
143
+ }
144
+
145
+ export interface CommentsAPI {
146
+ /**
147
+ * 加载评论列表
148
+ */
149
+ loadComments?: (page: number, pageSize: number) => Promise<{
150
+ list: CommentItem[];
151
+ total: number;
152
+ }>;
153
+ /**
154
+ * 加载子评论列表
155
+ */
156
+ loadChildComments?: (parentId: string | number, page: number, pageSize: number) => Promise<{
157
+ list: CommentItem[];
158
+ total: number;
159
+ }>;
160
+ /**
161
+ * 提交一级评论
162
+ */
163
+ submitComment?: (content: string) => Promise<CommentItem>;
164
+ /**
165
+ * 提交二级评论
166
+ */
167
+ submitReply?: (parentId: string | number, content: string) => Promise<CommentItem>;
168
+ /**
169
+ * 点赞评论
170
+ */
171
+ likeComment?: (commentId: string | number) => Promise<void>;
172
+ /**
173
+ * 删除评论
174
+ */
175
+ deleteComment?: (commentId: string | number) => Promise<void>;
176
+ /**
177
+ * 编辑评论
178
+ */
179
+ editComment?: (commentId: string | number, content: string) => Promise<void>;
180
+ }
181
+
182
+ export interface CommentsProps extends CommonProps {
183
+ /**
184
+ * 评论数据(非受控模式)
185
+ */
186
+ defaultComments?: CommentItem[];
187
+ /**
188
+ * 评论数据(受控模式)
189
+ */
190
+ comments?: CommentItem[];
191
+ /**
192
+ * 评论总数
193
+ */
194
+ total?: number;
195
+ /**
196
+ * 当前页码
197
+ */
198
+ current?: number;
199
+ /**
200
+ * 每页评论数
201
+ */
202
+ pageSize?: number;
203
+ /**
204
+ * 一级评论输入框位置
205
+ */
206
+ inputPosition?: 'top' | 'bottom' | 'none';
207
+ /**
208
+ * 二级评论默认显示数量
209
+ */
210
+ defaultChildrenCount?: number;
211
+ /**
212
+ * 二级评论最大显示数量
213
+ */
214
+ maxChildrenCount?: number;
215
+ /**
216
+ * API 接口配置
217
+ */
218
+ api?: CommentsAPI;
219
+ /**
220
+ * 分页配置
221
+ */
222
+ paginationProps?: PaginationProps;
223
+ /**
224
+ * 一级评论输入框配置
225
+ */
226
+ inputProps?: CommentInputProps;
227
+ /**
228
+ * 二级评论输入框配置
229
+ */
230
+ childInputProps?: CommentInputProps;
231
+ /**
232
+ * 自定义评论项渲染
233
+ */
234
+ renderComment?: (props: CommentItemRenderProps) => ReactNode;
235
+ /**
236
+ * 自定义一级评论输入框渲染
237
+ */
238
+ renderInput?: (props: CommentInputProps) => ReactNode;
239
+ /**
240
+ * 自定义二级评论输入框渲染
241
+ */
242
+ renderChildInput?: (props: CommentInputProps) => ReactNode;
243
+ /**
244
+ * 页码变化回调
245
+ */
246
+ onPageChange?: (page: number, pageSize: number) => void;
247
+ /**
248
+ * 评论数据变化回调
249
+ */
250
+ onChange?: (comments: CommentItem[]) => void;
251
+ /**
252
+ * 提交评论成功回调
253
+ */
254
+ onCommentSubmit?: (comment: CommentItem) => void;
255
+ /**
256
+ * 提交回复成功回调
257
+ */
258
+ onReplySubmit?: (reply: CommentItem, parentId: string | number) => void;
259
+ /**
260
+ * 是否显示分页
261
+ */
262
+ showPagination?: boolean;
263
+ /**
264
+ * 空状态提示
265
+ */
266
+ emptyText?: ReactNode;
267
+ /**
268
+ * 是否显示用户悬浮卡片
269
+ */
270
+ showUserCard?: boolean;
271
+ /**
272
+ * 自定义用户卡片渲染
273
+ */
274
+ userCardRender?: (user: CommentItem['author']) => ReactNode;
275
+ }
276
+
277
+ export default class Comments extends Component<CommentsProps, any> {
278
+ static displayName: 'Comments';
279
279
  }
@@ -1,3 +1,3 @@
1
- import ConfigProvider from '../0buildTypes/config-provider/index';
2
-
3
- export default ConfigProvider;
1
+ import ConfigProvider from '../0buildTypes/config-provider/index';
2
+
3
+ export default ConfigProvider;