@1money/component-ui 0.0.20 → 0.0.21

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 (93) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/AGENTS.md +7 -1
  3. package/es/components/ProForm/ProForm.js +93 -116
  4. package/es/components/ProForm/ProFormDependency.js +2 -4
  5. package/es/components/ProForm/ProFormItem.d.ts +4 -0
  6. package/es/components/ProForm/ProFormItem.js +213 -0
  7. package/es/components/ProForm/ProFormList.js +5 -6
  8. package/es/components/ProForm/Submitter.js +2 -2
  9. package/es/components/ProForm/context.d.ts +10 -2
  10. package/es/components/ProForm/context.js +17 -14
  11. package/es/components/{Form → ProForm/core}/constants.d.ts +1 -1
  12. package/es/components/ProForm/core/constants.js +18 -0
  13. package/es/components/ProForm/core/hooks/useForm.js +541 -0
  14. package/es/components/ProForm/core/hooks/useFormCore.js +347 -0
  15. package/es/components/ProForm/core/index.d.ts +6 -0
  16. package/es/components/ProForm/core/index.js +6 -0
  17. package/es/components/{Form → ProForm/core}/interface.d.ts +21 -60
  18. package/es/components/ProForm/core/interface.js +2 -0
  19. package/es/components/ProForm/core/useFormItem.d.ts +20 -0
  20. package/es/components/ProForm/core/useFormItem.js +121 -0
  21. package/es/components/ProForm/fields/ProFormFieldSet.js +7 -6
  22. package/es/components/ProForm/fields/createProFormField.js +76 -151
  23. package/es/components/ProForm/index.d.ts +12 -5
  24. package/es/components/ProForm/index.js +20 -8
  25. package/es/components/ProForm/interface.d.ts +76 -41
  26. package/es/components/ProForm/style/ProForm.css +1 -1
  27. package/es/index.css +1 -1
  28. package/es/index.d.ts +3 -4
  29. package/es/index.js +2 -3
  30. package/lib/components/ProForm/ProForm.js +94 -117
  31. package/lib/components/ProForm/ProFormDependency.js +2 -4
  32. package/lib/components/ProForm/ProFormItem.d.ts +4 -0
  33. package/lib/components/ProForm/ProFormItem.js +222 -0
  34. package/lib/components/ProForm/ProFormList.js +4 -5
  35. package/lib/components/ProForm/Submitter.js +2 -2
  36. package/lib/components/ProForm/context.d.ts +10 -2
  37. package/lib/components/ProForm/context.js +18 -15
  38. package/lib/components/{Form → ProForm/core}/constants.d.ts +1 -1
  39. package/lib/components/ProForm/core/constants.js +24 -0
  40. package/lib/components/ProForm/core/hooks/useForm.js +551 -0
  41. package/lib/components/ProForm/core/hooks/useFormCore.js +354 -0
  42. package/lib/components/ProForm/core/index.d.ts +6 -0
  43. package/lib/components/ProForm/core/index.js +56 -0
  44. package/lib/components/{Form → ProForm/core}/interface.d.ts +21 -60
  45. package/lib/components/ProForm/core/interface.js +6 -0
  46. package/lib/components/ProForm/core/useFormItem.d.ts +20 -0
  47. package/lib/components/ProForm/core/useFormItem.js +131 -0
  48. package/lib/components/ProForm/fields/ProFormFieldSet.js +7 -6
  49. package/lib/components/ProForm/fields/createProFormField.js +76 -151
  50. package/lib/components/ProForm/index.d.ts +12 -5
  51. package/lib/components/ProForm/index.js +41 -28
  52. package/lib/components/ProForm/interface.d.ts +76 -41
  53. package/lib/components/ProForm/style/ProForm.css +1 -1
  54. package/lib/index.css +1 -1
  55. package/lib/index.d.ts +3 -4
  56. package/lib/index.js +49 -50
  57. package/package.json +1 -1
  58. package/es/components/Form/Form.d.ts +0 -4
  59. package/es/components/Form/Form.js +0 -73
  60. package/es/components/Form/FormItem.d.ts +0 -4
  61. package/es/components/Form/FormItem.js +0 -183
  62. package/es/components/Form/constants.js +0 -19
  63. package/es/components/Form/context.d.ts +0 -5
  64. package/es/components/Form/context.js +0 -19
  65. package/es/components/Form/hooks/useForm.js +0 -541
  66. package/es/components/Form/hooks/useFormCore.js +0 -348
  67. package/es/components/Form/index.d.ts +0 -10
  68. package/es/components/Form/index.js +0 -17
  69. package/es/components/Form/interface.js +0 -2
  70. package/es/components/Form/style/Form.css +0 -1
  71. package/es/components/Form/style/css.js +0 -2
  72. package/es/components/Form/style/index.d.ts +0 -1
  73. package/es/components/Form/style/index.js +0 -2
  74. package/lib/components/Form/Form.d.ts +0 -4
  75. package/lib/components/Form/Form.js +0 -80
  76. package/lib/components/Form/FormItem.d.ts +0 -4
  77. package/lib/components/Form/FormItem.js +0 -193
  78. package/lib/components/Form/constants.js +0 -25
  79. package/lib/components/Form/context.d.ts +0 -5
  80. package/lib/components/Form/context.js +0 -25
  81. package/lib/components/Form/hooks/useForm.js +0 -551
  82. package/lib/components/Form/hooks/useFormCore.js +0 -355
  83. package/lib/components/Form/index.d.ts +0 -10
  84. package/lib/components/Form/index.js +0 -83
  85. package/lib/components/Form/interface.js +0 -6
  86. package/lib/components/Form/style/Form.css +0 -1
  87. package/lib/components/Form/style/css.js +0 -4
  88. package/lib/components/Form/style/index.d.ts +0 -1
  89. package/lib/components/Form/style/index.js +0 -4
  90. /package/es/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  91. /package/es/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
  92. /package/lib/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  93. /package/lib/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
@@ -1,5 +1,10 @@
1
+ import { ProFormItem } from './ProFormItem';
1
2
  import './style';
2
3
  declare const ProForm: import("react").NamedExoticComponent<import("./interface").ProFormProps> & {
4
+ Item: import("react").NamedExoticComponent<import("./interface").ProFormItemProps>;
5
+ useForm: (initialValues?: Record<string, unknown>, options?: import("./core/interface").UseFormOptions) => [import("./core/interface").FormInstance];
6
+ useInstance: () => import("./interface").ProFormFormInstance;
7
+ useContext: () => import("./interface").ProFormContextValue;
3
8
  Dependency: import("react").NamedExoticComponent<import("./interface").ProFormDependencyProps>;
4
9
  List: import("react").NamedExoticComponent<import("./interface").ProFormListProps>;
5
10
  Group: import("react").NamedExoticComponent<import("./interface").ProFormGroupProps>;
@@ -12,19 +17,21 @@ declare const ProForm: import("react").NamedExoticComponent<import("./interface"
12
17
  CheckboxGroup: import("react").FC<import("./interface").ProFormFieldProps<import("../Checkbox").CheckboxGroupProps>>;
13
18
  Switch: import("react").FC<import("./interface").ProFormFieldProps<import("../Switch").SwitchProps>>;
14
19
  Select: import("react").FC<import("./interface").ProFormFieldProps<import("../Select").SelectProps>>;
20
+ RadioGroup: import("react").FC<import("./interface").ProFormFieldProps<import("../Radio").RadioGroupProps>>;
21
+ Slider: import("react").FC<import("./interface").ProFormFieldProps<import("../Slider").SliderProps>>;
22
+ DatePicker: import("react").FC<import("./interface").ProFormFieldProps<import("../Calendar").CalendarProps>>;
15
23
  Upload: import("react").FC<import("./interface").ProFormFieldProps<import("../Upload").UploadProps>>;
16
24
  };
17
- export { ProForm };
25
+ export { ProForm, ProFormItem };
18
26
  export default ProForm;
27
+ export { createProFormField, ProFormText, ProFormPassword, ProFormTextArea, ProFormCheckbox, ProFormCheckboxGroup, ProFormSwitch, ProFormSelect, ProFormRadioGroup, ProFormSlider, ProFormDatePicker, ProFormUpload, ProFormFieldSet, } from './fields';
19
28
  export { ProFormDependency } from './ProFormDependency';
20
29
  export { ProFormList } from './ProFormList';
21
30
  export { ProFormGroup } from './ProFormGroup';
22
- export { Submitter } from './Submitter';
23
- export { createProFormField, ProFormText, ProFormPassword, ProFormTextArea, ProFormCheckbox, ProFormCheckboxGroup, ProFormSwitch, ProFormSelect, ProFormUpload, ProFormFieldSet, } from './fields';
24
31
  export { DrawerForm } from './layouts/DrawerForm';
25
32
  export { DialogForm } from './layouts/DialogForm';
26
33
  export { QueryFilter } from './layouts/QueryFilter';
27
- export { useProFormContext, FormListContext, useFormListContext } from './context';
28
- export type { ProFormProps, ProFormFieldProps, ProFormContextValue, ProFormFormInstance, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormValueEnumObj, ProFormRequestOption, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, } from './interface';
34
+ export type { ProFormProps, ProFormItemProps, ProFormFieldProps, ProFormContextValue, ProFormFormInstance, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormValueEnumObj, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, } from './interface';
29
35
  export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
30
36
  export type { ProFormMode } from './constants';
37
+ export type { FormInstance, FormCoreInstance, Rule, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, } from './core/interface';
@@ -33,12 +33,6 @@ Object.defineProperty(exports, "DrawerForm", {
33
33
  return _DrawerForm.DrawerForm;
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "FormListContext", {
37
- enumerable: true,
38
- get: function get() {
39
- return _context.FormListContext;
40
- }
41
- });
42
36
  Object.defineProperty(exports, "PROFORM_MODES", {
43
37
  enumerable: true,
44
38
  get: function get() {
@@ -58,6 +52,12 @@ Object.defineProperty(exports, "ProFormCheckboxGroup", {
58
52
  return _fields.ProFormCheckboxGroup;
59
53
  }
60
54
  });
55
+ Object.defineProperty(exports, "ProFormDatePicker", {
56
+ enumerable: true,
57
+ get: function get() {
58
+ return _fields.ProFormDatePicker;
59
+ }
60
+ });
61
61
  Object.defineProperty(exports, "ProFormDependency", {
62
62
  enumerable: true,
63
63
  get: function get() {
@@ -76,6 +76,12 @@ Object.defineProperty(exports, "ProFormGroup", {
76
76
  return _ProFormGroup.ProFormGroup;
77
77
  }
78
78
  });
79
+ Object.defineProperty(exports, "ProFormItem", {
80
+ enumerable: true,
81
+ get: function get() {
82
+ return _ProFormItem.ProFormItem;
83
+ }
84
+ });
79
85
  Object.defineProperty(exports, "ProFormList", {
80
86
  enumerable: true,
81
87
  get: function get() {
@@ -88,12 +94,24 @@ Object.defineProperty(exports, "ProFormPassword", {
88
94
  return _fields.ProFormPassword;
89
95
  }
90
96
  });
97
+ Object.defineProperty(exports, "ProFormRadioGroup", {
98
+ enumerable: true,
99
+ get: function get() {
100
+ return _fields.ProFormRadioGroup;
101
+ }
102
+ });
91
103
  Object.defineProperty(exports, "ProFormSelect", {
92
104
  enumerable: true,
93
105
  get: function get() {
94
106
  return _fields.ProFormSelect;
95
107
  }
96
108
  });
109
+ Object.defineProperty(exports, "ProFormSlider", {
110
+ enumerable: true,
111
+ get: function get() {
112
+ return _fields.ProFormSlider;
113
+ }
114
+ });
97
115
  Object.defineProperty(exports, "ProFormSwitch", {
98
116
  enumerable: true,
99
117
  get: function get() {
@@ -124,12 +142,6 @@ Object.defineProperty(exports, "QueryFilter", {
124
142
  return _QueryFilter.QueryFilter;
125
143
  }
126
144
  });
127
- Object.defineProperty(exports, "Submitter", {
128
- enumerable: true,
129
- get: function get() {
130
- return _Submitter.Submitter;
131
- }
132
- });
133
145
  Object.defineProperty(exports, "WIDTH_SIZE_MAP", {
134
146
  enumerable: true,
135
147
  get: function get() {
@@ -143,37 +155,34 @@ Object.defineProperty(exports, "createProFormField", {
143
155
  }
144
156
  });
145
157
  exports["default"] = void 0;
146
- Object.defineProperty(exports, "useFormListContext", {
147
- enumerable: true,
148
- get: function get() {
149
- return _context.useFormListContext;
150
- }
151
- });
152
- Object.defineProperty(exports, "useProFormContext", {
153
- enumerable: true,
154
- get: function get() {
155
- return _context.useProFormContext;
156
- }
157
- });
158
158
  var _ProForm = require("./ProForm");
159
+ var _ProFormItem = require("./ProFormItem");
159
160
  var _ProFormDependency = require("./ProFormDependency");
160
161
  var _ProFormList = require("./ProFormList");
161
162
  var _ProFormGroup = require("./ProFormGroup");
162
163
  var _Submitter = require("./Submitter");
163
164
  var _fields = require("./fields");
165
+ var _useForm = require("./core/hooks/useForm");
166
+ var _context = require("./context");
164
167
  require("./style");
165
168
  var _DrawerForm = require("./layouts/DrawerForm");
166
169
  var _DialogForm = require("./layouts/DialogForm");
167
170
  var _QueryFilter = require("./layouts/QueryFilter");
168
- var _context = require("./context");
169
171
  var _constants = require("./constants");
170
- // Compose ProForm with static sub-components
172
+ // Compose ProForm with static sub-components and hooks
171
173
  var ProForm = exports.ProForm = Object.assign(_ProForm.ProForm, {
174
+ // Item + core hooks
175
+ Item: _ProFormItem.ProFormItem,
176
+ useForm: _useForm.useForm,
177
+ useInstance: _context.useFormInstance,
178
+ useContext: _context.useProFormContext,
179
+ // Composition
172
180
  Dependency: _ProFormDependency.ProFormDependency,
173
181
  List: _ProFormList.ProFormList,
174
182
  Group: _ProFormGroup.ProFormGroup,
175
183
  FieldSet: _fields.ProFormFieldSet,
176
184
  Submitter: _Submitter.Submitter,
185
+ // Fields
177
186
  Text: _fields.ProFormText,
178
187
  Password: _fields.ProFormPassword,
179
188
  TextArea: _fields.ProFormTextArea,
@@ -181,7 +190,11 @@ var ProForm = exports.ProForm = Object.assign(_ProForm.ProForm, {
181
190
  CheckboxGroup: _fields.ProFormCheckboxGroup,
182
191
  Switch: _fields.ProFormSwitch,
183
192
  Select: _fields.ProFormSelect,
193
+ RadioGroup: _fields.ProFormRadioGroup,
194
+ Slider: _fields.ProFormSlider,
195
+ DatePicker: _fields.ProFormDatePicker,
184
196
  Upload: _fields.ProFormUpload
185
197
  });
186
- var _default = exports["default"] = ProForm; // Re-export individual pieces for named imports
187
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJfUHJvRm9ybSIsInJlcXVpcmUiLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfUHJvRm9ybUxpc3QiLCJfUHJvRm9ybUdyb3VwIiwiX1N1Ym1pdHRlciIsIl9maWVsZHMiLCJfRHJhd2VyRm9ybSIsIl9EaWFsb2dGb3JtIiwiX1F1ZXJ5RmlsdGVyIiwiX2NvbnRleHQiLCJfY29uc3RhbnRzIiwiUHJvRm9ybSIsImV4cG9ydHMiLCJPYmplY3QiLCJhc3NpZ24iLCJQcm9Gb3JtQmFzZSIsIkRlcGVuZGVuY3kiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsIkxpc3QiLCJQcm9Gb3JtTGlzdCIsIkdyb3VwIiwiUHJvRm9ybUdyb3VwIiwiRmllbGRTZXQiLCJQcm9Gb3JtRmllbGRTZXQiLCJTdWJtaXR0ZXIiLCJUZXh0IiwiUHJvRm9ybVRleHQiLCJQYXNzd29yZCIsIlByb0Zvcm1QYXNzd29yZCIsIlRleHRBcmVhIiwiUHJvRm9ybVRleHRBcmVhIiwiQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiUHJvRm9ybUNoZWNrYm94R3JvdXAiLCJTd2l0Y2giLCJQcm9Gb3JtU3dpdGNoIiwiU2VsZWN0IiwiUHJvRm9ybVNlbGVjdCIsIlVwbG9hZCIsIlByb0Zvcm1VcGxvYWQiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGtCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFjQUEsT0FBQTtBQXVDQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxZQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxRQUFBLEdBQUFULE9BQUE7QUEwQkEsSUFBQVUsVUFBQSxHQUFBVixPQUFBO0FBbEVBO0FBQ0EsSUFBTVcsT0FBTyxHQUFBQyxPQUFBLENBQUFELE9BQUEsR0FBR0UsTUFBTSxDQUFDQyxNQUFNLENBQUNDLGdCQUFXLEVBQUU7RUFDekNDLFVBQVUsRUFBRUMsb0NBQWlCO0VBQzdCQyxJQUFJLEVBQUVDLHdCQUFXO0VBQ2pCQyxLQUFLLEVBQUVDLDBCQUFZO0VBQ25CQyxRQUFRLEVBQUVDLHVCQUFlO0VBQ3pCQyxTQUFTLEVBQVRBLG9CQUFTO0VBQ1RDLElBQUksRUFBRUMsbUJBQVc7RUFDakJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLGFBQWEsRUFBRUMsNEJBQW9CO0VBQ25DQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxNQUFNLEVBQUVDO0FDYlYsQ0RjQyxDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUFBN0IsT0FBQSxjQUdZRCxPQUFPLEVBRXRCIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgUHJvRm9ybSBhcyBQcm9Gb3JtQmFzZSB9IGZyb20gJy4vUHJvRm9ybSc7XG5pbXBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmltcG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmltcG9ydCB7IFN1Ym1pdHRlciB9IGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVVwbG9hZCwgUHJvRm9ybUZpZWxkU2V0LCB9IGZyb20gJy4vZmllbGRzJztcbmltcG9ydCAnLi9zdHlsZSc7XG4vLyBDb21wb3NlIFByb0Zvcm0gd2l0aCBzdGF0aWMgc3ViLWNvbXBvbmVudHNcbmNvbnN0IFByb0Zvcm0gPSBPYmplY3QuYXNzaWduKFByb0Zvcm1CYXNlLCB7XG4gICAgRGVwZW5kZW5jeTogUHJvRm9ybURlcGVuZGVuY3ksXG4gICAgTGlzdDogUHJvRm9ybUxpc3QsXG4gICAgR3JvdXA6IFByb0Zvcm1Hcm91cCxcbiAgICBGaWVsZFNldDogUHJvRm9ybUZpZWxkU2V0LFxuICAgIFN1Ym1pdHRlcixcbiAgICBUZXh0OiBQcm9Gb3JtVGV4dCxcbiAgICBQYXNzd29yZDogUHJvRm9ybVBhc3N3b3JkLFxuICAgIFRleHRBcmVhOiBQcm9Gb3JtVGV4dEFyZWEsXG4gICAgQ2hlY2tib3g6IFByb0Zvcm1DaGVja2JveCxcbiAgICBDaGVja2JveEdyb3VwOiBQcm9Gb3JtQ2hlY2tib3hHcm91cCxcbiAgICBTd2l0Y2g6IFByb0Zvcm1Td2l0Y2gsXG4gICAgU2VsZWN0OiBQcm9Gb3JtU2VsZWN0LFxuICAgIFVwbG9hZDogUHJvRm9ybVVwbG9hZCxcbn0pO1xuZXhwb3J0IHsgUHJvRm9ybSB9O1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybTtcbi8vIFJlLWV4cG9ydCBpbmRpdmlkdWFsIHBpZWNlcyBmb3IgbmFtZWQgaW1wb3J0c1xuZXhwb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmV4cG9ydCB7IFByb0Zvcm1MaXN0IH0gZnJvbSAnLi9Qcm9Gb3JtTGlzdCc7XG5leHBvcnQgeyBQcm9Gb3JtR3JvdXAgfSBmcm9tICcuL1Byb0Zvcm1Hcm91cCc7XG5leHBvcnQgeyBTdWJtaXR0ZXIgfSBmcm9tICcuL1N1Ym1pdHRlcic7XG5leHBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQsIFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVVwbG9hZCwgUHJvRm9ybUZpZWxkU2V0LCB9IGZyb20gJy4vZmllbGRzJztcbmV4cG9ydCB7IERyYXdlckZvcm0gfSBmcm9tICcuL2xheW91dHMvRHJhd2VyRm9ybSc7XG5leHBvcnQgeyBEaWFsb2dGb3JtIH0gZnJvbSAnLi9sYXlvdXRzL0RpYWxvZ0Zvcm0nO1xuZXhwb3J0IHsgUXVlcnlGaWx0ZXIgfSBmcm9tICcuL2xheW91dHMvUXVlcnlGaWx0ZXInO1xuZXhwb3J0IHsgdXNlUHJvRm9ybUNvbnRleHQsIEZvcm1MaXN0Q29udGV4dCwgdXNlRm9ybUxpc3RDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCB7IENTU19QUkVGSVgsIFdJRFRIX1NJWkVfTUFQLCBERUZBVUxUX0NPTF9TUEFOLCBERUZBVUxUX1RFWFQsIFBST0ZPUk1fTU9ERVMgfSBmcm9tICcuL2NvbnN0YW50cyc7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
198
+ var _default = exports["default"] = ProForm; // Named exports for fields
199
+ // Composition + layouts
200
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJfUHJvRm9ybSIsInJlcXVpcmUiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfUHJvRm9ybUxpc3QiLCJfUHJvRm9ybUdyb3VwIiwiX1N1Ym1pdHRlciIsIl9maWVsZHMiLCJfdXNlRm9ybSIsIl9jb250ZXh0IiwiX0RyYXdlckZvcm0iLCJfRGlhbG9nRm9ybSIsIl9RdWVyeUZpbHRlciIsIl9jb25zdGFudHMiLCJQcm9Gb3JtIiwiZXhwb3J0cyIsIk9iamVjdCIsImFzc2lnbiIsIlByb0Zvcm1CYXNlIiwiSXRlbSIsIlByb0Zvcm1JdGVtIiwidXNlRm9ybSIsInVzZUluc3RhbmNlIiwidXNlRm9ybUluc3RhbmNlIiwidXNlQ29udGV4dCIsInVzZVByb0Zvcm1Db250ZXh0IiwiRGVwZW5kZW5jeSIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiTGlzdCIsIlByb0Zvcm1MaXN0IiwiR3JvdXAiLCJQcm9Gb3JtR3JvdXAiLCJGaWVsZFNldCIsIlByb0Zvcm1GaWVsZFNldCIsIlN1Ym1pdHRlciIsIlRleHQiLCJQcm9Gb3JtVGV4dCIsIlBhc3N3b3JkIiwiUHJvRm9ybVBhc3N3b3JkIiwiVGV4dEFyZWEiLCJQcm9Gb3JtVGV4dEFyZWEiLCJDaGVja2JveCIsIlByb0Zvcm1DaGVja2JveCIsIkNoZWNrYm94R3JvdXAiLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlN3aXRjaCIsIlByb0Zvcm1Td2l0Y2giLCJTZWxlY3QiLCJQcm9Gb3JtU2VsZWN0IiwiUmFkaW9Hcm91cCIsIlByb0Zvcm1SYWRpb0dyb3VwIiwiU2xpZGVyIiwiUHJvRm9ybVNsaWRlciIsIkRhdGVQaWNrZXIiLCJQcm9Gb3JtRGF0ZVBpY2tlciIsIlVwbG9hZCIsIlByb0Zvcm1VcGxvYWQiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGtCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxhQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFjQSxJQUFBTyxRQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFDQUEsT0FBQTtBQXFEQSxJQUFBUyxXQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxXQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxZQUFBLEdBQUFYLE9BQUE7QUE0QkEsSUFBQVksVUFBQSxHQUFBWixPQUFBO0FBakZBO0FBQ0EsSUFBTWEsT0FBTyxHQUFBQyxPQUFBLENBQUFELE9BQUEsR0FBR0UsTUFBTSxDQUFDQyxNQUFNLENBQUNDLGdCQUFXLEVBQUU7RUFDekM7RUFDQUMsSUFBSSxFQUFFQyx3QkFBVztFQUNqQkMsT0FBTyxFQUFQQSxnQkFBTztFQUNQQyxXQUFXLEVBQUVDLHdCQUFlO0VBQzVCQyxVQUFVLEVBQUVDLDBCQUFpQjtFQUM3QjtFQUNBQyxVQUFVLEVBQUVDLG9DQUFpQjtFQUM3QkMsSUFBSSxFQUFFQyx3QkFBVztFQUNqQkMsS0FBSyxFQUFFQywwQkFBWTtFQUNuQkMsUUFBUSxFQUFFQyx1QkFBZTtFQUN6QkMsU0FBUyxFQUFUQSxvQkFBUztFQUNUO0VBQ0FDLElBQUksRUFBRUMsbUJBQVc7RUFDakJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLGFBQWEsRUFBRUMsNEJBQW9CO0VBQ25DQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxVQUFVLEVBQUVDLHlCQUFpQjtFQUM3QkMsTUFBTSxFQUFFQyxxQkFBYTtFQUNyQkMsVUFBVSxFQUFFQyx5QkFBaUI7RUFDN0JDLE1BQU0sRUFBRUM7QUNiVixDRGNDLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBQUExQyxPQUFBLGNBR1lELE9BQU8sRUFFdEI7QUFpQkEiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBQcm9Gb3JtIGFzIFByb0Zvcm1CYXNlIH0gZnJvbSAnLi9Qcm9Gb3JtJztcbmltcG9ydCB7IFByb0Zvcm1JdGVtIH0gZnJvbSAnLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmltcG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmltcG9ydCB7IFN1Ym1pdHRlciB9IGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gJy4vY29yZS9ob29rcy91c2VGb3JtJztcbmltcG9ydCB7IHVzZVByb0Zvcm1Db250ZXh0LCB1c2VGb3JtSW5zdGFuY2UgfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8vIENvbXBvc2UgUHJvRm9ybSB3aXRoIHN0YXRpYyBzdWItY29tcG9uZW50cyBhbmQgaG9va3NcbmNvbnN0IFByb0Zvcm0gPSBPYmplY3QuYXNzaWduKFByb0Zvcm1CYXNlLCB7XG4gICAgLy8gSXRlbSArIGNvcmUgaG9va3NcbiAgICBJdGVtOiBQcm9Gb3JtSXRlbSxcbiAgICB1c2VGb3JtLFxuICAgIHVzZUluc3RhbmNlOiB1c2VGb3JtSW5zdGFuY2UsXG4gICAgdXNlQ29udGV4dDogdXNlUHJvRm9ybUNvbnRleHQsXG4gICAgLy8gQ29tcG9zaXRpb25cbiAgICBEZXBlbmRlbmN5OiBQcm9Gb3JtRGVwZW5kZW5jeSxcbiAgICBMaXN0OiBQcm9Gb3JtTGlzdCxcbiAgICBHcm91cDogUHJvRm9ybUdyb3VwLFxuICAgIEZpZWxkU2V0OiBQcm9Gb3JtRmllbGRTZXQsXG4gICAgU3VibWl0dGVyLFxuICAgIC8vIEZpZWxkc1xuICAgIFRleHQ6IFByb0Zvcm1UZXh0LFxuICAgIFBhc3N3b3JkOiBQcm9Gb3JtUGFzc3dvcmQsXG4gICAgVGV4dEFyZWE6IFByb0Zvcm1UZXh0QXJlYSxcbiAgICBDaGVja2JveDogUHJvRm9ybUNoZWNrYm94LFxuICAgIENoZWNrYm94R3JvdXA6IFByb0Zvcm1DaGVja2JveEdyb3VwLFxuICAgIFN3aXRjaDogUHJvRm9ybVN3aXRjaCxcbiAgICBTZWxlY3Q6IFByb0Zvcm1TZWxlY3QsXG4gICAgUmFkaW9Hcm91cDogUHJvRm9ybVJhZGlvR3JvdXAsXG4gICAgU2xpZGVyOiBQcm9Gb3JtU2xpZGVyLFxuICAgIERhdGVQaWNrZXI6IFByb0Zvcm1EYXRlUGlja2VyLFxuICAgIFVwbG9hZDogUHJvRm9ybVVwbG9hZCxcbn0pO1xuZXhwb3J0IHsgUHJvRm9ybSwgUHJvRm9ybUl0ZW0gfTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm07XG4vLyBOYW1lZCBleHBvcnRzIGZvciBmaWVsZHNcbmV4cG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCwgUHJvRm9ybVRleHQsIFByb0Zvcm1QYXNzd29yZCwgUHJvRm9ybVRleHRBcmVhLCBQcm9Gb3JtQ2hlY2tib3gsIFByb0Zvcm1DaGVja2JveEdyb3VwLCBQcm9Gb3JtU3dpdGNoLCBQcm9Gb3JtU2VsZWN0LCBQcm9Gb3JtUmFkaW9Hcm91cCwgUHJvRm9ybVNsaWRlciwgUHJvRm9ybURhdGVQaWNrZXIsIFByb0Zvcm1VcGxvYWQsIFByb0Zvcm1GaWVsZFNldCwgfSBmcm9tICcuL2ZpZWxkcyc7XG4vLyBDb21wb3NpdGlvbiArIGxheW91dHNcbmV4cG9ydCB7IFByb0Zvcm1EZXBlbmRlbmN5IH0gZnJvbSAnLi9Qcm9Gb3JtRGVwZW5kZW5jeSc7XG5leHBvcnQgeyBQcm9Gb3JtTGlzdCB9IGZyb20gJy4vUHJvRm9ybUxpc3QnO1xuZXhwb3J0IHsgUHJvRm9ybUdyb3VwIH0gZnJvbSAnLi9Qcm9Gb3JtR3JvdXAnO1xuZXhwb3J0IHsgRHJhd2VyRm9ybSB9IGZyb20gJy4vbGF5b3V0cy9EcmF3ZXJGb3JtJztcbmV4cG9ydCB7IERpYWxvZ0Zvcm0gfSBmcm9tICcuL2xheW91dHMvRGlhbG9nRm9ybSc7XG5leHBvcnQgeyBRdWVyeUZpbHRlciB9IGZyb20gJy4vbGF5b3V0cy9RdWVyeUZpbHRlcic7XG5leHBvcnQgeyBDU1NfUFJFRklYLCBXSURUSF9TSVpFX01BUCwgREVGQVVMVF9DT0xfU1BBTiwgREVGQVVMVF9URVhULCBQUk9GT1JNX01PREVTIH0gZnJvbSAnLi9jb25zdGFudHMnOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,13 +1,11 @@
1
- import type { ReactNode, FC, ReactElement, MutableRefObject, CSSProperties } from 'react';
2
- import type { FormProps, FormCoreInstance, Rule } from "../Form";
1
+ import type { ReactNode, FC, ReactElement, MutableRefObject, CSSProperties, FormHTMLAttributes } from 'react';
2
+ import type { FormCoreInstance, FormSize, LabelAlign, ValidateStatus, ValidateTrigger, Rule } from './core/interface';
3
3
  import type { ButtonProps } from "../Button";
4
4
  import type { DrawerProps, DrawerPlacement } from "../Drawer";
5
5
  import type { GridRowProps, GridColSize } from "../Grid";
6
6
  import type { DialogProps } from "../Dialog";
7
7
  import type { ProFormMode } from './constants';
8
- /** Transform field value before submission */
9
8
  export type ProFormFieldTransformFn = (value: unknown, name: string, allValues: Record<string, unknown>) => unknown;
10
- /** Convert stored value before displaying in the field */
11
9
  export type ProFormFieldConvertValueFn = (value: unknown, name: string) => unknown;
12
10
  export type ProFormValueEnumObj = Record<string | number, string | {
13
11
  text: string;
@@ -24,29 +22,7 @@ export interface ProFormRequestOption {
24
22
  value: unknown;
25
23
  disabled?: boolean;
26
24
  }
27
- export interface ProFormContextValue {
28
- /** @deprecated Use `mode` instead. Kept for backward compatibility. */
29
- readonly?: boolean;
30
- /** Form mode: 'edit' (default), 'read' (readonly), 'update' (edit existing data) */
31
- mode?: ProFormMode;
32
- grid?: boolean;
33
- colProps?: ProFormColProps;
34
- registerTransform?: (name: string, fn: ProFormFieldTransformFn) => void;
35
- unregisterTransform?: (name: string) => void;
36
- formInstance?: ProFormFormInstance;
37
- }
38
- export interface ProFormFormInstance {
39
- submit: () => {
40
- success: boolean;
41
- values?: Record<string, unknown>;
42
- errors?: Record<string, string>;
43
- };
44
- resetFields: () => void;
45
- getFieldValue: (name: string) => unknown;
46
- getFieldsValue: () => Record<string, unknown>;
47
- setFieldsValue: (values: Record<string, unknown>) => void;
48
- setFieldValue: (name: string, value: unknown) => void;
49
- validateFields: (fieldsRules?: Record<string, Rule[]>) => boolean;
25
+ export interface ProFormFormInstance extends FormCoreInstance {
50
26
  getFieldsFormatValue: () => Record<string, unknown>;
51
27
  validateFieldsReturnFormatValue: () => {
52
28
  success: boolean;
@@ -54,6 +30,30 @@ export interface ProFormFormInstance {
54
30
  errors?: Record<string, string>;
55
31
  };
56
32
  }
33
+ export interface ProFormContextValue {
34
+ values: Record<string, unknown>;
35
+ errors: Record<string, string>;
36
+ touched: Record<string, boolean>;
37
+ formInstance: ProFormFormInstance;
38
+ setFieldValue: (name: string, value: unknown) => void;
39
+ setFieldError: (name: string, error: string | null) => void;
40
+ validateField: (name: string, rules: Rule[], providedValue?: unknown) => boolean;
41
+ registerField: (name: string, rules: Rule[]) => void;
42
+ unregisterField: (name: string) => void;
43
+ size: FormSize;
44
+ labelAlign: LabelAlign;
45
+ disabled: boolean;
46
+ colon: boolean;
47
+ requiredMark: boolean;
48
+ validateTrigger: ValidateTrigger;
49
+ /** @deprecated Use `mode` instead. Kept for backward compatibility. */
50
+ readonly: boolean;
51
+ mode: ProFormMode;
52
+ grid: boolean;
53
+ colProps: ProFormColProps;
54
+ registerTransform: (name: string, fn: ProFormFieldTransformFn) => void;
55
+ unregisterTransform: (name: string) => void;
56
+ }
57
57
  export interface ProFormFieldProps<FieldProps = Record<string, unknown>> {
58
58
  name?: string;
59
59
  label?: ReactNode;
@@ -72,7 +72,6 @@ export interface ProFormFieldProps<FieldProps = Record<string, unknown>> {
72
72
  colon?: boolean;
73
73
  /** @deprecated Use `mode='read'` instead */
74
74
  readonly?: boolean;
75
- /** Field-level mode override: 'edit', 'read', or 'update' */
76
75
  mode?: ProFormMode;
77
76
  hidden?: boolean;
78
77
  colProps?: ProFormColProps;
@@ -82,17 +81,43 @@ export interface ProFormFieldProps<FieldProps = Record<string, unknown>> {
82
81
  width?: 'sm' | 'md' | 'lg' | 'xl' | number;
83
82
  transform?: ProFormFieldTransformFn;
84
83
  convertValue?: ProFormFieldConvertValueFn;
85
- /** Field names to watch — auto-wraps with ProFormDependency */
86
84
  dependencies?: string[];
87
- /** Async option loader (works with Select, RadioGroup, CheckboxGroup) */
88
85
  request?: (params?: Record<string, unknown>) => Promise<ProFormRequestOption[]>;
89
- /** Extra params passed to request; merged with dependency values */
90
86
  params?: Record<string, unknown>;
91
- /** Quick enum → options conversion for Select/Radio/Checkbox fields */
92
87
  valueEnum?: ProFormValueEnumObj;
93
- /** Debounce delay (ms) for field onChange */
94
88
  debounceTime?: number;
95
89
  }
90
+ export type ProFormValueType = 'text' | 'password' | 'digit' | 'date' | 'dateTime' | 'select' | 'radio' | 'switch' | 'tag';
91
+ export interface ProFormItemProps {
92
+ children?: ReactNode;
93
+ className?: string;
94
+ prefixCls?: string;
95
+ label?: ReactNode;
96
+ name?: string;
97
+ rules?: Rule[];
98
+ required?: boolean;
99
+ help?: ReactNode;
100
+ validateStatus?: ValidateStatus;
101
+ hasFeedback?: boolean;
102
+ colon?: boolean;
103
+ hidden?: boolean;
104
+ /** Transform before submit, registered into ProForm pipeline */
105
+ transform?: ProFormFieldTransformFn;
106
+ /** Convert the displayed value before rendering into children */
107
+ convertValue?: ProFormFieldConvertValueFn;
108
+ /** Built-in read-mode value type renderer */
109
+ valueType?: ProFormValueType;
110
+ /** Custom read-mode rendering; overrides valueType */
111
+ readonlyRender?: (value: unknown, values: Record<string, unknown>) => ReactNode;
112
+ /** Grid column config; falls back to ProForm.colProps */
113
+ colProps?: ProFormColProps;
114
+ /** Per-item mode override */
115
+ mode?: ProFormMode;
116
+ /** Placeholder shown in read mode when the value is empty (default: '-') */
117
+ emptyText?: ReactNode;
118
+ /** Value enum for select/radio/tag value types */
119
+ valueEnum?: ProFormValueEnumObj;
120
+ }
96
121
  export interface SubmitterProps {
97
122
  submitText?: ReactNode;
98
123
  resetText?: ReactNode;
@@ -106,11 +131,27 @@ export interface SubmitterProps {
106
131
  submitButtonProps?: Partial<ButtonProps>;
107
132
  resetButtonProps?: Partial<ButtonProps>;
108
133
  }
109
- export interface ProFormProps extends Omit<FormProps, 'onSubmit'> {
134
+ export interface ProFormProps extends Omit<FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'onReset'> {
135
+ children?: ReactNode;
136
+ className?: string;
137
+ prefixCls?: string;
138
+ initialValues?: Record<string, unknown>;
139
+ onFinish?: (values: Record<string, unknown>) => void;
140
+ onFinishFailed?: (errorInfo: {
141
+ values: Record<string, unknown>;
142
+ errors: Record<string, string>;
143
+ }) => void;
144
+ onValuesChange?: (changedValues: Record<string, unknown>, allValues: Record<string, unknown>) => void;
145
+ onReset?: () => void;
146
+ size?: FormSize;
147
+ labelAlign?: LabelAlign;
148
+ disabled?: boolean;
149
+ colon?: boolean;
150
+ requiredMark?: boolean;
151
+ validateTrigger?: ValidateTrigger;
110
152
  submitter?: SubmitterProps | false;
111
153
  /** @deprecated Use `mode='read'` instead */
112
154
  readonly?: boolean;
113
- /** Form mode: 'edit' (default), 'read' (readonly), 'update' (edit existing data) */
114
155
  mode?: ProFormMode;
115
156
  grid?: boolean;
116
157
  colProps?: ProFormColProps;
@@ -119,7 +160,6 @@ export interface ProFormProps extends Omit<FormProps, 'onSubmit'> {
119
160
  request?: (params?: unknown) => Promise<Record<string, unknown>>;
120
161
  params?: unknown;
121
162
  formRef?: MutableRefObject<ProFormFormInstance | undefined>;
122
- /** Strip null / undefined / empty-string values before onFinish (default: true) */
123
163
  omitNil?: boolean;
124
164
  }
125
165
  export interface ProFormListAction {
@@ -134,9 +174,7 @@ export interface ProFormListProps {
134
174
  label?: ReactNode;
135
175
  min?: number;
136
176
  max?: number;
137
- /** Validate that the list is not empty on form submission */
138
177
  required?: boolean;
139
- /** Error message when list is empty (used with required) */
140
178
  requiredMessage?: string;
141
179
  initialValue?: Record<string, unknown>[];
142
180
  copyIconProps?: false | Partial<ButtonProps>;
@@ -177,14 +215,12 @@ export interface ProFormFieldSetProps {
177
215
  rules?: Rule[];
178
216
  required?: boolean;
179
217
  help?: ReactNode;
180
- /** Gap between child fields in px */
181
218
  gap?: number;
182
219
  style?: CSSProperties;
183
220
  children?: ReactNode;
184
221
  }
185
222
  export interface ProFormGroupProps {
186
223
  title?: ReactNode;
187
- /** Extra content rendered at the right of the title */
188
224
  extra?: ReactNode;
189
225
  collapsible?: boolean;
190
226
  defaultCollapsed?: boolean;
@@ -227,7 +263,6 @@ export interface QueryFilterProps extends ProFormProps {
227
263
  searchText?: ReactNode;
228
264
  resetText?: ReactNode;
229
265
  };
230
- /** Sync form values to URL search params */
231
266
  syncToUrl?: boolean | ((values: Record<string, unknown>, type: 'get' | 'set') => Record<string, unknown>);
232
267
  }
233
268
  export interface CreateProFormFieldConfig<FieldProps> {
@@ -1 +1 @@
1
- .om-component-ui-proform{width:100%}.om-component-ui-proform-submitter{display:flex;gap:var(--om-spacing-200,8px);align-items:center;padding-top:var(--om-spacing-300,12px)}.om-component-ui-proform-list{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px);width:100%}.om-component-ui-proform-list-label{display:block}.om-component-ui-proform-list-content{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px)}.om-component-ui-proform-list-actions{display:flex;flex-direction:column;gap:var(--om-spacing-100,4px)}.om-component-ui-proform-list-row-actions{display:flex;gap:var(--om-spacing-100,4px);align-items:center}.om-component-ui-proform-dialog-form,.om-component-ui-proform-drawer-form{width:100%}.om-component-ui-proform-group{display:flex;flex-direction:column;width:100%}.om-component-ui-proform-group-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--om-spacing-200,8px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.om-component-ui-proform-group-title{display:flex;gap:var(--om-spacing-100,4px);align-items:center}.om-component-ui-proform-group-arrow{display:inline-block;transition:transform .2s}.om-component-ui-proform-group-body{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px)}.om-component-ui-proform-fieldset{display:flex;align-items:flex-start}.om-component-ui-proform-query-filter{display:flex;flex-wrap:wrap;gap:var(--om-spacing-200,8px);align-items:flex-end;width:100%}.om-component-ui-proform-query-filter-actions{display:flex;gap:var(--om-spacing-200,8px);align-items:center;height:var(--om-component-height-3xl,56px);margin-left:auto}.om-component-ui-proform-query-filter-split{width:1px;height:24px;background-color:var(--om-border-default-secondary,#9fa3a3)}
1
+ .om-component-ui-form{width:100%}.om-component-ui-form-item{margin-bottom:var(--om-spacing-300,12px)}.om-component-ui-form-item-label-wrapper-vertical,.om-component-ui-form-item-small{margin-bottom:var(--om-spacing-200,8px)}.om-component-ui-form-item-label{display:inline;padding:0}.om-component-ui-form-item-label-required:before{margin-right:var(--om-spacing-050,2px);color:var(--om-text-danger,#ae0000);content:"*"}.om-component-ui-form-item-label-wrapper-left{text-align:left}.om-component-ui-form-item-label-wrapper-right{text-align:right}.om-component-ui-form-item-error,.om-component-ui-form-item-help{margin-top:var(--om-spacing-050,2px)}.om-component-ui-proform{width:100%}.om-component-ui-proform-submitter{display:flex;gap:var(--om-spacing-200,8px);align-items:center;padding-top:var(--om-spacing-300,12px)}.om-component-ui-proform-list{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px);width:100%}.om-component-ui-proform-list-label{display:block}.om-component-ui-proform-list-content{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px)}.om-component-ui-proform-list-actions{display:flex;flex-direction:column;gap:var(--om-spacing-100,4px)}.om-component-ui-proform-list-row-actions{display:flex;gap:var(--om-spacing-100,4px);align-items:center}.om-component-ui-proform-dialog-form,.om-component-ui-proform-drawer-form{width:100%}.om-component-ui-proform-group{display:flex;flex-direction:column;width:100%}.om-component-ui-proform-group-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--om-spacing-200,8px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.om-component-ui-proform-group-title{display:flex;gap:var(--om-spacing-100,4px);align-items:center}.om-component-ui-proform-group-arrow{display:inline-block;transition:transform .2s}.om-component-ui-proform-group-body{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px)}.om-component-ui-proform-fieldset{display:flex;align-items:flex-start}.om-component-ui-proform-query-filter{display:flex;flex-wrap:wrap;gap:var(--om-spacing-200,8px);align-items:flex-end;width:100%}.om-component-ui-proform-query-filter-actions{display:flex;gap:var(--om-spacing-200,8px);align-items:center;height:var(--om-component-height-3xl,56px);margin-left:auto}.om-component-ui-proform-query-filter-split{width:1px;height:24px;background-color:var(--om-border-default-secondary,#9fa3a3)}