@spacego/fe-components 0.3.1 → 0.3.3

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 (52) hide show
  1. package/README.md +37 -37
  2. package/lib/fe-form/fe-form/index.js +25 -27
  3. package/lib/index.css +1 -1
  4. package/lib/index.js +101 -103
  5. package/lib/types/fe-auto-complete/auto-complete.d.ts +1 -3
  6. package/lib/types/fe-button/button.d.ts +13 -15
  7. package/lib/types/fe-cascader/cascader.d.ts +6 -8
  8. package/lib/types/fe-checkbox/checkbox.d.ts +4 -6
  9. package/lib/types/fe-checkbox-group/checkbox-group.d.ts +4 -6
  10. package/lib/types/fe-date-picker/date-picker.d.ts +2 -4
  11. package/lib/types/fe-description-render/description-render.d.ts +30 -32
  12. package/lib/types/fe-descriptions/descriptions.d.ts +1 -3
  13. package/lib/types/fe-empty/empty.d.ts +1 -3
  14. package/lib/types/fe-error-block/error-block.d.ts +5 -7
  15. package/lib/types/fe-form/fe-form/form.d.ts +279 -338
  16. package/lib/types/fe-form/fe-form-item/form-item.d.ts +64 -66
  17. package/lib/types/fe-form/fe-form-label/form-label.d.ts +42 -44
  18. package/lib/types/fe-form/index.d.ts +0 -1
  19. package/lib/types/fe-input/input.d.ts +10 -12
  20. package/lib/types/fe-input-number/input-number.d.ts +1 -3
  21. package/lib/types/fe-layouts/context/global-context.d.ts +238 -240
  22. package/lib/types/fe-link/link.d.ts +4 -6
  23. package/lib/types/fe-map/map.d.ts +73 -73
  24. package/lib/types/fe-modal/modal.d.ts +18 -20
  25. package/lib/types/fe-pagination/pagination.d.ts +1 -3
  26. package/lib/types/fe-panel/panel-toolbar.d.ts +3 -5
  27. package/lib/types/fe-panel/panel.d.ts +58 -60
  28. package/lib/types/fe-permission/permission.d.ts +9 -11
  29. package/lib/types/fe-permission-provider/permission-provider.d.ts +6 -8
  30. package/lib/types/fe-radio/radio.d.ts +1 -3
  31. package/lib/types/fe-radio-group/radio-group.d.ts +1 -3
  32. package/lib/types/fe-rich-text/rich-text.d.ts +165 -167
  33. package/lib/types/fe-select/select.d.ts +7 -9
  34. package/lib/types/fe-switch/switch.d.ts +1 -3
  35. package/lib/types/fe-table/fe-table-link/table-link.d.ts +8 -10
  36. package/lib/types/fe-table/fe-table-render/table-render.d.ts +10 -12
  37. package/lib/types/fe-table/fe-table-toolbar/table-toolbar.d.ts +14 -16
  38. package/lib/types/fe-table/fe-table-utils/index.d.ts +4 -4
  39. package/lib/types/fe-table/type/table-context.d.ts +60 -60
  40. package/lib/types/fe-table/type/table.d.ts +787 -789
  41. package/lib/types/fe-text-area/text-area.d.ts +3 -5
  42. package/lib/types/fe-time-picker/time-picker.d.ts +2 -4
  43. package/lib/types/fe-upload/upload.d.ts +81 -83
  44. package/lib/types/fe-upload-atomic/upload-atomic.d.ts +1 -3
  45. package/lib/types/hooks/use-descriptions.hook/use-descriptions.d.ts +149 -151
  46. package/lib/types/hooks/use-form.hook/use-form.d.ts +11 -13
  47. package/lib/types/hooks/use-permission.hook/use-permission.d.ts +10 -10
  48. package/lib/types/typings/index.d.ts +98 -98
  49. package/lib/types/typings/shims-axios.d.ts +38 -38
  50. package/package.json +3 -3
  51. package/lib/fe-form/fe-form-input-input/index.js +0 -63
  52. package/lib/types/fe-form/fe-form-input-input/index.d.ts +0 -3
@@ -16,341 +16,282 @@ import { FeTimePickerProps } from '../../fe-time-picker/time-picker.d';
16
16
  import { IFeUploadProps } from '../../fe-upload/upload.d';
17
17
  import { FeFormItemProps } from '../fe-form-item/form-item.d';
18
18
  import { FeFormLabelProps } from '../fe-form-label/form-label.d';
19
-
20
-
21
- export type FeFormRule = FormRule;
22
-
23
- export type TFormItemType =
24
- | 'input'
25
- | 'inputNumber'
26
- | 'text'
27
- | 'select'
28
- | 'date'
29
- | 'textarea'
30
- | 'checkbox'
31
- | 'radio'
32
- | 'btnGroup'
33
- | 'switch'
34
- | 'upload'
35
- | 'cascader'
36
- | 'timePicker'
37
- | 'timeRange'
38
- | 'datePicker'
39
- | 'dateRange'
40
- | 'upload'
41
- | 'richText'
42
- | 'render'
43
- | 'autoComplete'
44
-
45
- export interface IFeFormItems<DataType = Record<string, any>> extends FeFormLabelProps {
46
- /**
47
- * @name 表单值
48
- */
49
- value?: any;
50
- /**
51
- * @name 表单项类型
52
- */
53
- type: TFormItemType;
54
- /**
55
- * @name 与实体映射的key
56
- */
57
- dataIndex: keyof DataType | (keyof DataType)[];
58
- /**
59
- * @name 标题
60
- */
61
- label: string;
62
- /**
63
- * @name 是否必填
64
- * @default false
65
- */
66
- required?: boolean;
67
- /**
68
- * @name 校验规则
69
- */
70
- rules?: FeFormRule[];
71
- /**
72
- * @name 表单栅格占位
73
- * @default 6
74
- */
75
- colSpan?: number;
76
- /**
77
- * @name 自定义placeholder
78
- *
79
- * 使用 placeholder 代表placeholder完全自定义,且placeholder跟form-item的message一致
80
- *
81
- * 目前仅在 inputInpu t和 selectInput 中生效
82
- * @default `请选择${label}`
83
- */
84
- placeholder?: string | string[];
85
- /**
86
- * @name 是否隐藏
87
- * @default false
88
- */
89
- isHidden?: boolean;
90
- /**
91
- * @name 当前需要重置,此值改变时需要重置自定义的受控组件状态
92
- * @default "" 空字符串
93
- */
94
- forceValue?: string;
95
- /**
96
- * @name 数据发生变化时事件
97
- * @param val 修改后的值
98
- */
99
- onChange?: (val) => void;
100
- /**
101
- * @name 自定义属性
102
- */
103
- attributes?: Record<string, any>;
104
- /**
105
- * @name 自定义表单必填时的提示信息
106
- */
107
- requiredMessage?: string;
108
- /**
109
- * @name 表单值类型
110
- */
111
- valueType?: FeFormItemProps['valueType'];
112
- /**
113
- * @name 表单属性
114
- */
115
- divAttributes?: React.HTMLAttributes<HTMLDivElement>;
116
- inputAttributes?: FeInputProps & {
117
- /**
118
- * @name 输入框类型 input普通输入框 inputWithBtn右侧带按钮
119
- * @default input
120
- */
121
- inputType?: 'input' | 'inputWithBtn';
122
- };
123
- selectAttributes?: FeSelectProps & {
124
- /**
125
- * @name 下拉框类型 single单选 multiple多选
126
- * @default single
127
- */
128
- selectType?: 'single' | 'multiple';
129
- /**
130
- * @name 下拉框数据
131
- */
132
- options?: Array<{ dataIndex: string | number; label: string }>;
133
- /**
134
- * @name 是否显示全选功能
135
- * @default false
136
- */
137
- showSelectAll?: boolean;
138
- /**
139
- * @name 全选功能回调
140
- * @param checked 是否选中
141
- * @param values 选中的值
142
- */
143
- onSelectAll?: (checked: boolean, values: any[]) => void;
144
- };
145
- buttonAttributes?: FeButtonProps;
146
- timePickerAttributes?: FeTimePickerProps;
147
- datePickerAttributes?: FeDatePickerProps & {
148
- /**
149
- * @name 日期选择框类型
150
- * @default datePicker
151
- */
152
- datePickerType?: 'datePicker' | 'datePickerLongTime';
153
- };
154
- dateRangePickerAttributes?: RangePickerProps & {
155
- onChange?: (dates: any, dateStrings: [string, string]) => void;
156
- /**
157
- * @name 区间是否需要带时间
158
- * @example 2024 12-12 00:00:00 2024 12-12 23:59:59
159
- * @default true
160
- */
161
- hasTime?: boolean;
162
- };
163
- /**
164
- * @name 文本域属性
165
- */
166
- textAreaAttributes?: FeTextAreaProps;
167
- /**
168
- * @name 级联属性
169
- */
170
- cascaderAttributes?: FeCascaderProps;
171
- /**
172
- * @name 数字输入框属性
173
- */
174
- inputNumberAttributes?: FeInputNumberProps & {
175
- /**
176
- * @name 是否需要千分位
177
- * @default false
178
- */
179
- hasThousands?: boolean;
180
- /**
181
- * @name 千分位配置
182
- */
183
- thousandsParams?: {
184
- precision?: number;
185
- fillZero?: boolean;
186
- separator?: string;
187
- };
188
- };
189
- /**
190
- * @name Upload属性
191
- */
192
- uploadAttributes?: IFeUploadProps;
193
- /**
194
- * @name Upload属性 - 多个上传 适用于正反身份证
195
- */
196
- uploadMultiple?: boolean;
197
- /**
198
- * @name 富文本属性
199
- * */
200
- richTextAttributes?: FeRichTextProps;
201
- /**
202
- * @name 输入框输入框属性
203
- */
204
- inputInputAttributes?: FeInputProps & {
205
- /**
206
- * @name colSpan 已启用珊格布局 选择器栅格占位,支持传递数组单独定义每一个input colspan
207
- * @default 24 / ['dataIndex'].length
208
- */
209
- colSpan?: number | number[];
210
- };
211
- /**
212
- * @name 选择器输入框属性
213
- */
214
- selectInputAttributes?: {
215
- /**
216
- * @name 选择器属性
217
- */
218
- selectAttributes?: IFeFormItems['selectAttributes'] & {
219
- /**
220
- * @name pure 模式下 下拉框数据
221
- */
222
- pureOptions?: Array<{ dataIndex: keyof DataType; label: string }>;
223
- /**
224
- * @name pure 模式下 select的值,值为pureOptions的dataIndex
225
- */
226
- pureSelectValue?: keyof DataType;
227
- /**
228
- * @name colSpan 已启用珊格布局 选择器栅格占位
229
- * @default 12
230
- */
231
- colSpan?: number;
232
- };
233
- /**
234
- * @name 输入框属性
235
- */
236
- inputAttributes?: IFeFormItems['inputAttributes'] & {
237
- /**
238
- * @name colSpan 已启用珊格布局 选择器栅格占位
239
- * @default 12
240
- */
241
- colSpan?: number;
242
- };
243
- /**
244
- * @name 数字输入框属性
245
- */
246
- inputNumberAttributes?: IFeFormItems['inputNumberAttributes'] & {
247
- /**
248
- * @name colSpan 已启用珊格布局 选择器栅格占位
249
- * @default 12
250
- */
251
- colSpan?: number;
252
- };
253
- /**
254
- * @name 是否纯净模式
255
- *
256
- * 纯净模式意为:不占用额外的key,select的value为input的key。故纯净模式下dataIndex无效
257
- */
258
- isPure?: boolean;
259
- /**
260
- * @name input类型 普通input和数字input
261
- */
262
- inputType?: 'input' | 'inputNumber';
263
- };
264
- /**
265
- * @name 单选属性
266
- */
267
- radioGroupAttributes?: FeRadioGroupProps & { };
268
- /**
269
- * @name 开关属性
270
- */
271
- switchAttributes?: FeSwitchProps;
272
- /**
273
- * @name 按钮组属性
274
- */
275
- buttonGroupAttributes?: FeRadioGroupProps & {
276
- buttonStyle: 'outline' | 'solid';
277
- };
278
- /**
279
- * @name 多选属性
280
- */
281
- checkboxGroupAttributes?: FeCheckboxGroupProps & {};
282
- /**
283
- * @name 自定义渲染
284
- */
285
- renderAttributes?: {
286
- /*
287
- * @name 自定义渲染子组件
288
- */
289
- children: (props: any) => any;
290
- /**
291
- * 值类型
292
- */
293
- valueType?: FeFormItemProps['valueType'];
294
- };
295
- autoCompleteAttributes?: {
296
- options?: Array<string>;
297
- /**
298
- * @name 自定义过滤选项
299
- */
300
- filterOption?: (input: string, option: any) => boolean;
301
- };
302
- }
303
-
304
- export interface FeFormProps<DataType = Record<string, any>> {
305
- /**
306
- * @name 表单ref
307
- */
308
- formRef?: React.RefObject<FormInstance>;
309
- /**
310
- * @name 表单项
311
- */
312
- formItems: IFeFormItems<DataType>[];
313
- /**
314
- * @name 表单数据
315
- */
316
- formData: DataType;
317
- /**
318
- * 是否开启响应式(仅search类型)
319
- * @default true
320
- */
321
- formReactive?: boolean;
322
- /**
323
- * @name 表单栅格占位
324
- */
325
- formColSpan?: number;
326
- /**
327
- * @name 表单类型 search | form
328
- */
329
- type: 'search' | 'form';
330
- /**
331
- * @name 标签宽度
332
- */
333
- labelWidth?: string;
334
- /**
335
- * @name 是否展开
336
- * @default true
337
- */
338
- isExpanded?: boolean;
339
- /**
340
- * @name 表单数据发生变化时事件
341
- * @param formData 表单数据
342
- */
343
- onValueChange?: React.Dispatch<React.SetStateAction<DataType>>;
344
- /**
345
- * @name 搜索事件
346
- */
347
- onSearch?: () => void;
348
- /**
349
- * @name 重置事件
350
- */
351
- onReload?: () => void;
352
- /**
353
- * @name 表单基础属性,用于覆盖antd的Form组件的默认属性
354
- */
355
- baseFormAttributes?: Partial<Omit<FormProps, 'form' | 'onValuesChange'>>;
356
- }
19
+ export type FeFormRule = FormRule;
20
+
21
+ export type TFormItemType =
22
+ | 'input'
23
+ | 'inputNumber'
24
+ | 'text'
25
+ | 'select'
26
+ | 'date'
27
+ | 'textarea'
28
+ | 'checkbox'
29
+ | 'radio'
30
+ | 'btnGroup'
31
+ | 'switch'
32
+ | 'upload'
33
+ | 'cascader'
34
+ | 'timePicker'
35
+ | 'timeRange'
36
+ | 'datePicker'
37
+ | 'dateRange'
38
+ | 'upload'
39
+ | 'richText'
40
+ | 'render'
41
+ | 'autoComplete'
42
+
43
+ export interface IFeFormItems<DataType = Record<string, any>> extends FeFormLabelProps {
44
+ /**
45
+ * @name 表单值
46
+ */
47
+ value?: any;
48
+ /**
49
+ * @name 表单项类型
50
+ */
51
+ type: TFormItemType;
52
+ /**
53
+ * @name 与实体映射的key
54
+ */
55
+ dataIndex: keyof DataType | (keyof DataType)[];
56
+ /**
57
+ * @name 标题
58
+ */
59
+ label: string;
60
+ /**
61
+ * @name 是否必填
62
+ * @default false
63
+ */
64
+ required?: boolean;
65
+ /**
66
+ * @name 校验规则
67
+ */
68
+ rules?: FeFormRule[];
69
+ /**
70
+ * @name 表单栅格占位
71
+ * @default 6
72
+ */
73
+ colSpan?: number;
74
+ /**
75
+ * @name 自定义placeholder
76
+ *
77
+ * 使用 placeholder 代表placeholder完全自定义,且placeholder跟form-item的message一致
78
+ *
79
+ * 目前仅在 inputInpu t和 selectInput 中生效
80
+ * @default `请选择${label}`
81
+ */
82
+ placeholder?: string | string[];
83
+ /**
84
+ * @name 是否隐藏
85
+ * @default false
86
+ */
87
+ isHidden?: boolean;
88
+ /**
89
+ * @name 当前需要重置,此值改变时需要重置自定义的受控组件状态
90
+ * @default "" 空字符串
91
+ */
92
+ forceValue?: string;
93
+ /**
94
+ * @name 数据发生变化时事件
95
+ * @param val 修改后的值
96
+ */
97
+ onChange?: (val) => void;
98
+ /**
99
+ * @name 自定义属性
100
+ */
101
+ attributes?: Record<string, any>;
102
+ /**
103
+ * @name 自定义表单必填时的提示信息
104
+ */
105
+ requiredMessage?: string;
106
+ /**
107
+ * @name 表单值类型
108
+ */
109
+ valueType?: FeFormItemProps['valueType'];
110
+ /**
111
+ * @name 表单属性
112
+ */
113
+ divAttributes?: React.HTMLAttributes<HTMLDivElement>;
114
+ inputAttributes?: FeInputProps & {
115
+ /**
116
+ * @name 输入框类型 input普通输入框 inputWithBtn右侧带按钮
117
+ * @default input
118
+ */
119
+ inputType?: 'input' | 'inputWithBtn';
120
+ };
121
+ selectAttributes?: FeSelectProps & {
122
+ /**
123
+ * @name 下拉框类型 single单选 multiple多选
124
+ * @default single
125
+ */
126
+ selectType?: 'single' | 'multiple';
127
+ /**
128
+ * @name 是否显示全选功能
129
+ * @default false
130
+ */
131
+ showSelectAll?: boolean;
132
+ /**
133
+ * @name 全选功能回调
134
+ * @param checked 是否选中
135
+ * @param values 选中的值
136
+ */
137
+ onSelectAll?: (checked: boolean, values: any[]) => void;
138
+ };
139
+ buttonAttributes?: FeButtonProps;
140
+ timePickerAttributes?: FeTimePickerProps;
141
+ datePickerAttributes?: FeDatePickerProps & {
142
+ /**
143
+ * @name 日期选择框类型
144
+ * @default datePicker
145
+ */
146
+ datePickerType?: 'datePicker' | 'datePickerLongTime';
147
+ };
148
+ dateRangePickerAttributes?: RangePickerProps & {
149
+ onChange?: (dates: any, dateStrings: [string, string]) => void;
150
+ /**
151
+ * @name 区间是否需要带时间
152
+ * @example 2024 12-12 00:00:00 2024 12-12 23:59:59
153
+ * @default true
154
+ */
155
+ hasTime?: boolean;
156
+ };
157
+ /**
158
+ * @name 文本域属性
159
+ */
160
+ textAreaAttributes?: FeTextAreaProps;
161
+ /**
162
+ * @name 级联属性
163
+ */
164
+ cascaderAttributes?: FeCascaderProps;
165
+ /**
166
+ * @name 数字输入框属性
167
+ */
168
+ inputNumberAttributes?: FeInputNumberProps & {
169
+ /**
170
+ * @name 是否需要千分位
171
+ * @default false
172
+ */
173
+ hasThousands?: boolean;
174
+ /**
175
+ * @name 千分位配置
176
+ */
177
+ thousandsParams?: {
178
+ precision?: number;
179
+ fillZero?: boolean;
180
+ separator?: string;
181
+ };
182
+ };
183
+ /**
184
+ * @name Upload属性
185
+ */
186
+ uploadAttributes?: IFeUploadProps;
187
+ /**
188
+ * @name Upload属性 - 多个上传 适用于正反身份证
189
+ */
190
+ uploadMultiple?: boolean;
191
+ /**
192
+ * @name 富文本属性
193
+ * */
194
+ richTextAttributes?: FeRichTextProps;
195
+ /**
196
+ * @name 输入框输入框属性
197
+ */
198
+ inputInputAttributes?: FeInputProps & {
199
+ /**
200
+ * @name colSpan 已启用珊格布局 选择器栅格占位,支持传递数组单独定义每一个input colspan
201
+ * @default 24 / ['dataIndex'].length
202
+ */
203
+ colSpan?: number | number[];
204
+ };
205
+ /**
206
+ * @name 单选属性
207
+ */
208
+ radioGroupAttributes?: FeRadioGroupProps & { };
209
+ /**
210
+ * @name 开关属性
211
+ */
212
+ switchAttributes?: FeSwitchProps;
213
+ /**
214
+ * @name 按钮组属性
215
+ */
216
+ buttonGroupAttributes?: FeRadioGroupProps & {
217
+ buttonStyle: 'outline' | 'solid';
218
+ };
219
+ /**
220
+ * @name 多选属性
221
+ */
222
+ checkboxGroupAttributes?: FeCheckboxGroupProps & {};
223
+ /**
224
+ * @name 自定义渲染
225
+ */
226
+ renderAttributes?: {
227
+ /*
228
+ * @name 自定义渲染子组件
229
+ */
230
+ children: (props: any) => any;
231
+ /**
232
+ * 值类型
233
+ */
234
+ valueType?: FeFormItemProps['valueType'];
235
+ };
236
+ autoCompleteAttributes?: {
237
+ options?: Array<string>;
238
+ /**
239
+ * @name 自定义过滤选项
240
+ */
241
+ filterOption?: (input: string, option: any) => boolean;
242
+ };
243
+ }
244
+
245
+ export interface FeFormProps<DataType = Record<string, any>> {
246
+ /**
247
+ * @name 表单ref
248
+ */
249
+ formRef?: React.RefObject<FormInstance>;
250
+ /**
251
+ * @name 表单项
252
+ */
253
+ formItems: IFeFormItems<DataType>[];
254
+ /**
255
+ * @name 表单数据
256
+ */
257
+ formData: DataType;
258
+ /**
259
+ * 是否开启响应式(仅search类型)
260
+ * @default true
261
+ */
262
+ formReactive?: boolean;
263
+ /**
264
+ * @name 表单栅格占位
265
+ */
266
+ formColSpan?: number;
267
+ /**
268
+ * @name 表单类型 search | form
269
+ */
270
+ type: 'search' | 'form';
271
+ /**
272
+ * @name 标签宽度
273
+ */
274
+ labelWidth?: string;
275
+ /**
276
+ * @name 是否展开
277
+ * @default true
278
+ */
279
+ isExpanded?: boolean;
280
+ /**
281
+ * @name 表单数据发生变化时事件
282
+ * @param formData 表单数据
283
+ */
284
+ onValueChange?: React.Dispatch<React.SetStateAction<DataType>>;
285
+ /**
286
+ * @name 搜索事件
287
+ */
288
+ onSearch?: () => void;
289
+ /**
290
+ * @name 重置事件
291
+ */
292
+ onReload?: () => void;
293
+ /**
294
+ * @name 表单基础属性,用于覆盖antd的Form组件的默认属性
295
+ */
296
+ baseFormAttributes?: Partial<Omit<FormProps, 'form' | 'onValuesChange'>>;
297
+ }