@spacego/fe-components 0.1.0 → 0.2.0

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 (205) hide show
  1. package/README.md +37 -37
  2. package/lib/_virtual/Resizable.js +4 -0
  3. package/lib/_virtual/ResizableBox.js +4 -0
  4. package/lib/_virtual/index.js +5 -0
  5. package/lib/_virtual/index2.js +4 -0
  6. package/lib/_virtual/index3.js +4 -0
  7. package/lib/_virtual/index4.js +4 -0
  8. package/lib/_virtual/propTypes.js +4 -0
  9. package/lib/_virtual/react-is.development.js +4 -0
  10. package/lib/_virtual/react-is.production.min.js +4 -0
  11. package/lib/_virtual/utils.js +4 -0
  12. package/lib/fe-auto-complete/index.js +6 -0
  13. package/lib/fe-button/index.js +27 -0
  14. package/lib/fe-cascader/index.js +19 -0
  15. package/lib/fe-checkbox/index.js +6 -0
  16. package/lib/fe-checkbox-group/index.js +6 -0
  17. package/lib/fe-date-picker/index.js +19 -0
  18. package/lib/fe-description-render/index.js +43 -0
  19. package/lib/fe-descriptions/index.js +6 -0
  20. package/lib/fe-empty/index.js +6 -0
  21. package/lib/fe-error-block/index.js +6 -0
  22. package/lib/fe-form/fe-form/index.js +133 -0
  23. package/lib/fe-form/fe-form-auto-complete/index.js +57 -0
  24. package/lib/fe-form/fe-form-btn-group/index.js +29 -0
  25. package/lib/fe-form/fe-form-cascader/index.js +25 -0
  26. package/lib/fe-form/fe-form-checkbox-group/index.js +21 -0
  27. package/lib/fe-form/fe-form-date-picker/index.js +75 -0
  28. package/lib/fe-form/fe-form-date-range-picker/index.js +99 -0
  29. package/lib/fe-form/fe-form-input/index.js +53 -0
  30. package/lib/fe-form/fe-form-input-input/index.js +63 -0
  31. package/lib/fe-form/fe-form-input-number/index.js +43 -0
  32. package/lib/fe-form/fe-form-item/index.js +46 -0
  33. package/lib/fe-form/fe-form-label/index.js +20 -0
  34. package/lib/fe-form/fe-form-radio/index.js +21 -0
  35. package/lib/fe-form/fe-form-render/index.js +33 -0
  36. package/lib/fe-form/fe-form-rich-text/index.js +25 -0
  37. package/lib/fe-form/fe-form-select/index.js +93 -0
  38. package/lib/fe-form/fe-form-switch/index.js +21 -0
  39. package/lib/fe-form/fe-form-text/index.js +20 -0
  40. package/lib/fe-form/fe-form-text-area/index.js +24 -0
  41. package/lib/fe-form/fe-form-time-picker/index.js +21 -0
  42. package/lib/fe-form/fe-form-upload/index.js +63 -0
  43. package/lib/fe-form/utils/index.js +28 -0
  44. package/lib/fe-input/index.js +32 -0
  45. package/lib/fe-input-number/index.js +19 -0
  46. package/lib/fe-layouts/auth-layout/index.js +35 -17
  47. package/lib/fe-layouts/basics-layout/index.js +2 -2
  48. package/lib/fe-layouts/layout.js +34 -16
  49. package/lib/fe-link/index.js +23 -0
  50. package/lib/fe-map/index.js +263 -0
  51. package/lib/fe-modal/index.js +85 -0
  52. package/lib/fe-pagination/index.js +6 -0
  53. package/lib/fe-panel/fe-panel-toolbar.js +40 -0
  54. package/lib/fe-panel/index.js +49 -0
  55. package/lib/fe-panel/use-panel-context.js +9 -0
  56. package/lib/fe-permission/index.js +12 -0
  57. package/lib/fe-permission-provider/index.js +29 -0
  58. package/lib/fe-radio/index.js +11 -0
  59. package/lib/fe-radio-group/index.js +6 -0
  60. package/lib/fe-rich-text/index.js +293 -0
  61. package/lib/fe-select/index.js +24 -0
  62. package/lib/fe-switch/index.js +6 -0
  63. package/lib/fe-table/fe-edit-table/index.js +39 -0
  64. package/lib/fe-table/fe-edit-table-cell/index.js +63 -0
  65. package/lib/fe-table/fe-head-title/index.js +9 -0
  66. package/lib/fe-table/fe-normal-table/index.js +192 -0
  67. package/lib/fe-table/fe-sub-table/index.js +74 -0
  68. package/lib/fe-table/fe-table/index.js +7 -0
  69. package/lib/fe-table/fe-table-alert/index.js +42 -0
  70. package/lib/fe-table/fe-table-link/index.js +87 -0
  71. package/lib/fe-table/fe-table-render/index.js +56 -0
  72. package/lib/fe-table/fe-table-setting/index.js +165 -0
  73. package/lib/fe-table/fe-table-toolbar/index.js +63 -0
  74. package/lib/fe-table/fe-table-utils/index.js +157 -0
  75. package/lib/fe-table/type/table.d.js +4 -0
  76. package/lib/fe-table/use-edit-table/index.js +151 -0
  77. package/lib/fe-table/use-pagination/index.js +59 -0
  78. package/lib/fe-table/use-sub-table/index.js +23 -0
  79. package/lib/fe-table/use-table/index.js +177 -0
  80. package/lib/fe-table/use-table-columns/index.js +53 -0
  81. package/lib/fe-table/use-table-form-context/index.js +14 -0
  82. package/lib/fe-table/use-table-selection/index.js +53 -0
  83. package/lib/fe-text-area/index.js +21 -0
  84. package/lib/fe-time-picker/index.js +19 -0
  85. package/lib/fe-upload/index.js +182 -0
  86. package/lib/fe-upload/upload.constant.js +91 -0
  87. package/lib/fe-upload-atomic/index.js +6 -0
  88. package/lib/fe-upload-crop/index.js +207 -0
  89. package/lib/hooks/{use-auth.hook.js → use-auth.hook/index.js} +3 -3
  90. package/lib/hooks/use-form/index.js +38 -0
  91. package/lib/hooks/use-permission.hook/index.js +9 -0
  92. package/lib/index.css +7 -1
  93. package/lib/index.js +161 -42
  94. package/lib/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@18.3.1/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +56 -0
  95. package/lib/node_modules/.pnpm/@dnd-kit_core@6.3.1_nnrd3gsncyragczmpvfhocinkq/node_modules/@dnd-kit/core/dist/core.esm.js +2344 -0
  96. package/lib/node_modules/.pnpm/@dnd-kit_modifiers@9.0.0_55ztycxty3xzw7t4rzpvix55vq/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js +13 -0
  97. package/lib/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_55ztycxty3xzw7t4rzpvix55vq/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +439 -0
  98. package/lib/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@18.3.1/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +235 -0
  99. package/lib/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js +54 -0
  100. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js +54 -0
  101. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js +52 -0
  102. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js +329 -0
  103. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +17 -0
  104. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
  105. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js +7 -0
  106. package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +95 -0
  107. package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +78 -0
  108. package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +10 -0
  109. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/Resizable.js +233 -0
  110. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/ResizableBox.js +164 -0
  111. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/propTypes.js +113 -0
  112. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/utils.js +56 -0
  113. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/index.js +12 -0
  114. package/lib/store/modules/layout-config.store.js +83 -65
  115. package/lib/store/modules/theme.store.js +36 -18
  116. package/lib/types/fe-auto-complete/index.d.ts +2 -0
  117. package/lib/types/fe-button/index.d.ts +16 -0
  118. package/lib/types/fe-cascader/index.d.ts +7 -0
  119. package/lib/types/fe-checkbox/index.d.ts +6 -0
  120. package/lib/types/fe-checkbox-group/index.d.ts +7 -0
  121. package/lib/types/fe-date-picker/index.d.ts +3 -0
  122. package/lib/types/fe-description-render/index.d.ts +31 -0
  123. package/lib/types/fe-descriptions/index.d.ts +2 -0
  124. package/lib/types/fe-empty/index.d.ts +2 -0
  125. package/lib/types/fe-error-block/index.d.ts +6 -0
  126. package/lib/types/fe-form/fe-form/index.d.ts +356 -0
  127. package/lib/types/fe-form/fe-form-auto-complete/index.d.ts +3 -0
  128. package/lib/types/fe-form/fe-form-btn-group/index.d.ts +3 -0
  129. package/lib/types/fe-form/fe-form-cascader/index.d.ts +3 -0
  130. package/lib/types/fe-form/fe-form-checkbox-group/index.d.ts +3 -0
  131. package/lib/types/fe-form/fe-form-date-picker/index.d.ts +3 -0
  132. package/lib/types/fe-form/fe-form-date-range-picker/index.d.ts +3 -0
  133. package/lib/types/fe-form/fe-form-input/index.d.ts +3 -0
  134. package/lib/types/fe-form/fe-form-input-input/index.d.ts +3 -0
  135. package/lib/types/fe-form/fe-form-input-number/index.d.ts +3 -0
  136. package/lib/types/fe-form/fe-form-item/index.d.ts +70 -0
  137. package/lib/types/fe-form/fe-form-label/index.d.ts +45 -0
  138. package/lib/types/fe-form/fe-form-radio/index.d.ts +3 -0
  139. package/lib/types/fe-form/fe-form-render/index.d.ts +3 -0
  140. package/lib/types/fe-form/fe-form-rich-text/index.d.ts +3 -0
  141. package/lib/types/fe-form/fe-form-select/index.d.ts +3 -0
  142. package/lib/types/fe-form/fe-form-switch/index.d.ts +3 -0
  143. package/lib/types/fe-form/fe-form-text/index.d.ts +3 -0
  144. package/lib/types/fe-form/fe-form-text-area/index.d.ts +3 -0
  145. package/lib/types/fe-form/fe-form-time-picker/index.d.ts +3 -0
  146. package/lib/types/fe-form/fe-form-upload/index.d.ts +3 -0
  147. package/lib/types/fe-form/index.d.ts +26 -0
  148. package/lib/types/fe-form/utils/index.d.ts +24 -0
  149. package/lib/types/fe-input/index.d.ts +12 -0
  150. package/lib/types/fe-input-number/index.d.ts +2 -0
  151. package/lib/types/fe-layouts/context/global-context.d.ts +240 -238
  152. package/lib/types/fe-link/index.d.ts +6 -0
  153. package/lib/types/fe-map/index.d.ts +73 -0
  154. package/lib/types/fe-modal/index.d.ts +20 -0
  155. package/lib/types/fe-pagination/index.d.ts +2 -0
  156. package/lib/types/fe-panel/fe-panel-toolbar.d.ts +3 -0
  157. package/lib/types/fe-panel/index.d.ts +61 -0
  158. package/lib/types/fe-panel/panel-toolbar.d.ts +4 -0
  159. package/lib/types/fe-panel/use-panel-context.d.ts +6 -0
  160. package/lib/types/fe-permission/index.d.ts +10 -0
  161. package/lib/types/fe-permission-provider/index.d.ts +8 -0
  162. package/lib/types/fe-radio/index.d.ts +2 -0
  163. package/lib/types/fe-radio-group/index.d.ts +2 -0
  164. package/lib/types/fe-rich-text/index.d.ts +167 -0
  165. package/lib/types/fe-select/index.d.ts +8 -0
  166. package/lib/types/fe-switch/index.d.ts +2 -0
  167. package/lib/types/fe-table/fe-edit-table/index.d.ts +3 -0
  168. package/lib/types/fe-table/fe-edit-table-cell/index.d.ts +16 -0
  169. package/lib/types/fe-table/fe-head-title/index.d.ts +6 -0
  170. package/lib/types/fe-table/fe-normal-table/index.d.ts +3 -0
  171. package/lib/types/fe-table/fe-sub-table/index.d.ts +3 -0
  172. package/lib/types/fe-table/fe-table/index.d.ts +3 -0
  173. package/lib/types/fe-table/fe-table-alert/index.d.ts +13 -0
  174. package/lib/types/fe-table/fe-table-link/index.d.ts +12 -0
  175. package/lib/types/fe-table/fe-table-render/index.d.ts +13 -0
  176. package/lib/types/fe-table/fe-table-setting/index.d.ts +22 -0
  177. package/lib/types/fe-table/fe-table-toolbar/index.d.ts +18 -0
  178. package/lib/types/fe-table/fe-table-utils/index.d.ts +193 -0
  179. package/lib/types/fe-table/index.d.ts +6 -0
  180. package/lib/types/fe-table/type/table-context.d.ts +60 -0
  181. package/lib/types/fe-table/type/table.d.ts +797 -0
  182. package/lib/types/fe-table/use-edit-table/index.d.ts +6 -0
  183. package/lib/types/fe-table/use-pagination/index.d.ts +3 -0
  184. package/lib/types/fe-table/use-sub-table/index.d.ts +8 -0
  185. package/lib/types/fe-table/use-table/index.d.ts +3 -0
  186. package/lib/types/fe-table/use-table-columns/index.d.ts +47 -0
  187. package/lib/types/fe-table/use-table-form-context/index.d.ts +10 -0
  188. package/lib/types/fe-table/use-table-selection/index.d.ts +46 -0
  189. package/lib/types/fe-text-area/index.d.ts +4 -0
  190. package/lib/types/fe-time-picker/index.d.ts +3 -0
  191. package/lib/types/fe-upload/index.d.ts +85 -0
  192. package/lib/types/fe-upload/upload.constant.d.ts +39 -0
  193. package/lib/types/fe-upload-atomic/index.d.ts +2 -0
  194. package/lib/types/fe-upload-crop/index.d.ts +10 -0
  195. package/lib/types/hooks/index.d.ts +1 -0
  196. package/lib/types/hooks/use-descriptions/index.d.ts +3 -0
  197. package/lib/types/hooks/use-form/index.d.ts +16 -0
  198. package/lib/types/hooks/use-permission.hook/index.d.ts +10 -0
  199. package/lib/types/index.d.ts +32 -0
  200. package/lib/types/typings/index.d.ts +98 -59
  201. package/lib/types/typings/shims-axios.d.ts +38 -38
  202. package/package.json +79 -68
  203. /package/lib/hooks/{use-nprogress.hook.js → use-nprogress.hook/index.js} +0 -0
  204. /package/lib/types/hooks/{use-auth.hook.d.ts → use-auth.hook/index.d.ts} +0 -0
  205. /package/lib/types/hooks/{use-nprogress.hook.d.ts → use-nprogress.hook/index.d.ts} +0 -0
@@ -0,0 +1,356 @@
1
+ import { FormInstance, FormProps, FormRule } from 'antd';
2
+ import { RangePickerProps } from 'antd/es/date-picker';
3
+ import { default as React } from 'react';
4
+ import { FeButtonProps } from '../../fe-button/index.d';
5
+ import { FeCascaderProps } from '../../fe-cascader/index.d';
6
+ import { FeCheckboxGroupProps } from '../../fe-checkbox-group/index.d';
7
+ import { FeDatePickerProps } from '../../fe-date-picker/index.d';
8
+ import { FeInputProps } from '../../fe-input/index.d';
9
+ import { FeInputNumberProps } from '../../fe-input-number/index.d';
10
+ import { FeRadioGroupProps } from '../../fe-radio-group/index.d';
11
+ import { FeRichTextProps } from '../../fe-rich-text/index.d';
12
+ import { FeSelectProps } from '../../fe-select/index.d';
13
+ import { FeSwitchProps } from '../../fe-switch/index.d';
14
+ import { FeTextAreaProps } from '../../fe-text-area/index.d';
15
+ import { FeTimePickerProps } from '../../fe-time-picker/index.d';
16
+ import { IFeUploadProps } from '../../fe-upload/index.d';
17
+ import { FeFormItemProps } from '../fe-form-item/index.d';
18
+ import { FeFormLabelProps } from '../fe-form-label/index.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
+ }
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormAutoComplete: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormAutoComplete;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormBtnGroup: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormBtnGroup;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormCascader: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormCascader;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormCheckbox: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormCheckbox;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormDatePicker: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormDatePicker;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormDateRangePicker: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormDateRangePicker;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormInput: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormInput;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormInputInput: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormInputInput;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormInputNumber: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormInputNumber;
@@ -0,0 +1,70 @@
1
+ import { Rule as FeFormRule } from 'antd';
2
+ import { FeFormLabelProps } from '../fe-form-label/index.d';
3
+
4
+
5
+ export type FeFormRule = FeFormRule;
6
+
7
+ export interface FeFormItemProps extends FeFormLabelProps {
8
+ /**
9
+ * 表单标识
10
+ */
11
+ name?: string | string[];
12
+ /**
13
+ * 表单类型
14
+ */
15
+ type: string;
16
+ /**
17
+ * 表单规则触发方式
18
+ */
19
+ validateTrigger?: string;
20
+ /**
21
+ * 表单报错提示
22
+ */
23
+ requiredMessage?: string;
24
+ /**
25
+ * 表单规则
26
+ */
27
+ rules?: FeFormRule[];
28
+ /**
29
+ * 初始化值
30
+ */
31
+ initialValue?: any;
32
+ /**
33
+ * 是否必填
34
+ */
35
+ required: boolean;
36
+ /**
37
+ * 其他属性
38
+ */
39
+ attributes?: Record<string, any>;
40
+ /**
41
+ * 表单内容
42
+ */
43
+ children?: React.ReactNode;
44
+ /**
45
+ * 表单值类型
46
+ */
47
+ valueType?:
48
+ | 'string'
49
+ | 'number'
50
+ | 'boolean'
51
+ | 'method'
52
+ | 'regexp'
53
+ | 'integer'
54
+ | 'float'
55
+ | 'object'
56
+ | 'enum'
57
+ | 'date'
58
+ | 'url'
59
+ | 'hex'
60
+ | 'email'
61
+ | 'array';
62
+ /**
63
+ * 获取值的属性
64
+ */
65
+ getValueProps?: (value: any) => any;
66
+ /**
67
+ * 标准化值
68
+ */
69
+ normalize?: (value: any) => any;
70
+ }
@@ -0,0 +1,45 @@
1
+ import { default as React } from 'react';
2
+
3
+
4
+ export interface FeFormLabelProps {
5
+ /**
6
+ * 标签
7
+ */
8
+ label: string;
9
+ /**
10
+ * 标签左侧内容
11
+ */
12
+ labelLeft?: React.ReactNode;
13
+ /**
14
+ * 标签右侧内容
15
+ */
16
+ labelRight?: React.ReactNode;
17
+ /**
18
+ * 标签对齐方式
19
+ */
20
+ labelAlign?: 'left' | 'right';
21
+ /**
22
+ * 标签宽度
23
+ */
24
+ labelWidth?: string;
25
+ /**
26
+ * 是否显示新增按钮
27
+ */
28
+ showAdd?: boolean;
29
+ /**
30
+ * 点击新增按钮
31
+ */
32
+ onAddClick?: (evt: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;
33
+ /**
34
+ * 是否显示右侧提示
35
+ */
36
+ showHint?: boolean;
37
+ /**
38
+ * 提示文案
39
+ */
40
+ hintText?: string | React.ReactNode;
41
+ /**
42
+ * 是否需要展示label
43
+ */
44
+ needLabel?: boolean;
45
+ }
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormRadio: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormRadio;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormRender: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormRender;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormRichText: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormRichText;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormSelect: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormSelect;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormSwitch: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormSwitch;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormText: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormText;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormTextArea: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormTextArea;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormTimePicker: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormTimePicker;
@@ -0,0 +1,3 @@
1
+ import { IFeFormItems } from '../fe-form/index.d';
2
+ declare const FeFormUpload: (props: IFeFormItems) => import("react/jsx-runtime").JSX.Element;
3
+ export default FeFormUpload;
@@ -0,0 +1,26 @@
1
+ export { default as FeUseForm } from '../hooks/use-form';
2
+ export { default as FeForm } from './fe-form';
3
+ export * from './fe-form';
4
+ export { default as FeFormAutoComplete } from './fe-form-auto-complete';
5
+ export { default as FeFormBtnGroup } from './fe-form-btn-group';
6
+ export { default as FeFormCascader } from './fe-form-cascader';
7
+ export { default as FeFormCheckboxGroup } from './fe-form-checkbox-group';
8
+ export { default as FeFormDatePicker } from './fe-form-date-picker';
9
+ export { default as FeFormDateRangePicker } from './fe-form-date-range-picker';
10
+ export { default as FeFormInput } from './fe-form-input';
11
+ export { default as FeFormInputInput } from './fe-form-input-input';
12
+ export { default as FeFormInputNumber } from './fe-form-input-number';
13
+ export { default as FeFormItem } from './fe-form-item';
14
+ export * from './fe-form-item';
15
+ export { default as FeFormLabel } from './fe-form-label';
16
+ export * from './fe-form-label';
17
+ export { default as FeFormRadio } from './fe-form-radio';
18
+ export { default as FeFormRender } from './fe-form-render';
19
+ export { default as FeFormRichText } from './fe-form-rich-text';
20
+ export { default as FeFormSelect } from './fe-form-select';
21
+ export { default as FeFormSwitch } from './fe-form-switch';
22
+ export { default as FeFormText } from './fe-form-text';
23
+ export { default as FeFormTextArea } from './fe-form-text-area';
24
+ export { default as FeFormTimePicker } from './fe-form-time-picker';
25
+ export { default as FeFormUpload } from './fe-form-upload';
26
+ export * from './utils';
@@ -0,0 +1,24 @@
1
+ import { FeFormItemProps } from '../fe-form-item/index.d';
2
+ export declare const getLabelProps: (props: any) => {
3
+ label: any;
4
+ labelLeft: any;
5
+ labelRight: any;
6
+ labelAlign: any;
7
+ labelWidth: any;
8
+ showAdd: any;
9
+ onAddClick: any;
10
+ showHint: any;
11
+ hintText: any;
12
+ needLabel: any;
13
+ };
14
+ interface IFeFormItemsConfig {
15
+ /**
16
+ * 默认表单值类型
17
+ */
18
+ valueType: FeFormItemProps['valueType'];
19
+ }
20
+ export declare const getFormItemProps: (props: any, config?: IFeFormItemsConfig) => {
21
+ validateTrigger: any;
22
+ valueType: any;
23
+ };
24
+ export {};
@@ -0,0 +1,12 @@
1
+ import { InputProps } from 'antd';
2
+ import { PasswordProps } from 'antd/es/input/Password';
3
+ export interface FeInputProps extends InputProps {
4
+ /**
5
+ * @name 是否默认开启input的title属性,默认把value当作title
6
+ */
7
+ isShowTitle?: boolean;
8
+ /**
9
+ * @name 密码输入框的属性
10
+ */
11
+ passwordAttr?: PasswordProps;
12
+ }
@@ -0,0 +1,2 @@
1
+ import { InputNumberProps } from 'antd';
2
+ export interface FeInputNumberProps extends InputNumberProps {}