@1money/component-ui 0.0.71 → 0.0.74

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 (103) hide show
  1. package/es/components/ProForm/ProForm.d.ts +10 -2
  2. package/es/components/ProForm/ProForm.js +241 -55
  3. package/es/components/ProForm/ProFormDependency.d.ts +11 -2
  4. package/es/components/ProForm/ProFormDependency.js +29 -133
  5. package/es/components/ProForm/ProFormItem.js +146 -52
  6. package/es/components/ProForm/ProFormList.js +114 -62
  7. package/es/components/ProForm/SchemaForm.d.ts +7 -0
  8. package/es/components/ProForm/SchemaForm.js +103 -0
  9. package/es/components/ProForm/Submitter.js +26 -5
  10. package/es/components/ProForm/context.d.ts +30 -3
  11. package/es/components/ProForm/context.js +69 -10
  12. package/es/components/ProForm/core/constants.d.ts +12 -3
  13. package/es/components/ProForm/core/constants.js +18 -7
  14. package/es/components/ProForm/core/formStore.d.ts +24 -0
  15. package/es/components/ProForm/core/formStore.js +101 -0
  16. package/es/components/ProForm/core/hooks/useForm.d.ts +4 -1
  17. package/es/components/ProForm/core/hooks/useForm.js +336 -212
  18. package/es/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
  19. package/es/components/ProForm/core/hooks/useFormCore.js +151 -93
  20. package/es/components/ProForm/core/interface.d.ts +33 -12
  21. package/es/components/ProForm/core/runRules.d.ts +20 -8
  22. package/es/components/ProForm/core/runRules.js +105 -50
  23. package/es/components/ProForm/core/useFormItem.d.ts +10 -1
  24. package/es/components/ProForm/core/useFormItem.js +141 -56
  25. package/es/components/ProForm/fields/ProFormDatePicker.js +4 -1
  26. package/es/components/ProForm/fields/ProFormFieldSet.js +20 -7
  27. package/es/components/ProForm/fields/createProFormField.js +61 -32
  28. package/es/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
  29. package/es/components/ProForm/hooks/useFieldRequest.js +54 -9
  30. package/es/components/ProForm/hooks/useUrlSync.d.ts +16 -0
  31. package/es/components/ProForm/hooks/useUrlSync.js +170 -0
  32. package/es/components/ProForm/index.d.ts +12 -5
  33. package/es/components/ProForm/index.js +7 -2
  34. package/es/components/ProForm/interface.d.ts +185 -28
  35. package/es/components/ProForm/layouts/DialogForm.d.ts +5 -1
  36. package/es/components/ProForm/layouts/DialogForm.js +18 -7
  37. package/es/components/ProForm/layouts/DrawerForm.d.ts +5 -1
  38. package/es/components/ProForm/layouts/DrawerForm.js +17 -7
  39. package/es/components/ProForm/layouts/QueryFilter.d.ts +5 -2
  40. package/es/components/ProForm/layouts/QueryFilter.js +47 -71
  41. package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  42. package/es/components/ProForm/layouts/useOverlayForm.js +27 -8
  43. package/es/components/ProForm/style/ProForm.css +4 -4
  44. package/es/components/ProForm/utils.d.ts +12 -1
  45. package/es/components/ProForm/utils.js +101 -28
  46. package/es/components/ProTable/ProTable.js +3 -3
  47. package/es/components/Tooltip/style/Tooltip.css +1 -0
  48. package/es/index.css +1 -1
  49. package/es/index.d.ts +2 -2
  50. package/es/index.js +2 -2
  51. package/lib/components/ProForm/ProForm.d.ts +10 -2
  52. package/lib/components/ProForm/ProForm.js +239 -53
  53. package/lib/components/ProForm/ProFormDependency.d.ts +11 -2
  54. package/lib/components/ProForm/ProFormDependency.js +30 -135
  55. package/lib/components/ProForm/ProFormItem.js +143 -48
  56. package/lib/components/ProForm/ProFormList.js +112 -60
  57. package/lib/components/ProForm/SchemaForm.d.ts +7 -0
  58. package/lib/components/ProForm/SchemaForm.js +110 -0
  59. package/lib/components/ProForm/Submitter.js +26 -5
  60. package/lib/components/ProForm/context.d.ts +30 -3
  61. package/lib/components/ProForm/context.js +69 -10
  62. package/lib/components/ProForm/core/constants.d.ts +12 -3
  63. package/lib/components/ProForm/core/constants.js +19 -8
  64. package/lib/components/ProForm/core/formStore.d.ts +24 -0
  65. package/lib/components/ProForm/core/formStore.js +110 -0
  66. package/lib/components/ProForm/core/hooks/useForm.d.ts +4 -1
  67. package/lib/components/ProForm/core/hooks/useForm.js +336 -212
  68. package/lib/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
  69. package/lib/components/ProForm/core/hooks/useFormCore.js +150 -92
  70. package/lib/components/ProForm/core/interface.d.ts +33 -12
  71. package/lib/components/ProForm/core/runRules.d.ts +20 -8
  72. package/lib/components/ProForm/core/runRules.js +106 -50
  73. package/lib/components/ProForm/core/useFormItem.d.ts +10 -1
  74. package/lib/components/ProForm/core/useFormItem.js +138 -53
  75. package/lib/components/ProForm/fields/ProFormDatePicker.js +4 -1
  76. package/lib/components/ProForm/fields/ProFormFieldSet.js +19 -6
  77. package/lib/components/ProForm/fields/createProFormField.js +61 -32
  78. package/lib/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
  79. package/lib/components/ProForm/hooks/useFieldRequest.js +53 -8
  80. package/lib/components/ProForm/hooks/useUrlSync.d.ts +16 -0
  81. package/lib/components/ProForm/hooks/useUrlSync.js +178 -0
  82. package/lib/components/ProForm/index.d.ts +12 -5
  83. package/lib/components/ProForm/index.js +16 -1
  84. package/lib/components/ProForm/interface.d.ts +185 -28
  85. package/lib/components/ProForm/layouts/DialogForm.d.ts +5 -1
  86. package/lib/components/ProForm/layouts/DialogForm.js +18 -7
  87. package/lib/components/ProForm/layouts/DrawerForm.d.ts +5 -1
  88. package/lib/components/ProForm/layouts/DrawerForm.js +17 -7
  89. package/lib/components/ProForm/layouts/QueryFilter.d.ts +5 -2
  90. package/lib/components/ProForm/layouts/QueryFilter.js +46 -70
  91. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  92. package/lib/components/ProForm/layouts/useOverlayForm.js +30 -8
  93. package/lib/components/ProForm/style/ProForm.css +4 -4
  94. package/lib/components/ProForm/utils.d.ts +12 -1
  95. package/lib/components/ProForm/utils.js +104 -28
  96. package/lib/components/ProTable/ProTable.js +3 -3
  97. package/lib/components/Tooltip/style/Tooltip.css +1 -0
  98. package/lib/index.css +1 -1
  99. package/lib/index.d.ts +2 -2
  100. package/lib/index.js +13 -1
  101. package/package.json +1 -1
  102. package/scripts/mcp-server/examples.generated.json +90 -0
  103. package/scripts/mcp-server/index.generated.json +1866 -212
@@ -1,15 +1,19 @@
1
1
  import { ProFormItem } from './ProFormItem';
2
2
  import type { FormInstance, UseFormConfig } from './core/interface';
3
3
  import './style';
4
- declare const ProForm: import("react").NamedExoticComponent<import("./interface").ProFormProps> & {
4
+ declare const ProForm: import("./ProForm").ProFormComponent & {
5
5
  Item: import("react").NamedExoticComponent<import("./interface").ProFormItemProps>;
6
- useForm: (config?: UseFormConfig) => [FormInstance];
7
- useInstance: () => import("./interface").ProFormFormInstance;
6
+ useForm: <Values = Record<string, unknown>>(config?: UseFormConfig<Values>) => [FormInstance<Values>];
7
+ useInstance: <Values = Record<string, unknown>>() => import("./interface").ProFormFormInstance<Values>;
8
8
  useContext: () => import("./interface").ProFormContextValue;
9
- Dependency: import("react").NamedExoticComponent<import("./interface").ProFormDependencyProps>;
9
+ useWatch: import("./context").UseFormWatch;
10
+ Dependency: import("./ProFormDependency").ProFormDependencyComponent;
10
11
  List: import("react").NamedExoticComponent<import("./interface").ProFormListProps>;
11
12
  Group: import("react").NamedExoticComponent<import("./interface").ProFormGroupProps>;
12
13
  FieldSet: import("react").NamedExoticComponent<import("./interface").ProFormFieldSetProps>;
14
+ SchemaForm: (<Values = Record<string, unknown>>(props: import("./interface").SchemaFormProps<Values>) => import("react").ReactElement | null) & {
15
+ displayName?: string;
16
+ };
13
17
  Submitter: import("react").NamedExoticComponent<import("./Submitter").SubmitterInternalProps>;
14
18
  Text: import("react").FC<import("./interface").ProFormFieldProps<import("../Input").InputProps>>;
15
19
  Password: import("react").FC<import("./interface").ProFormFieldProps<import("../Input").InputPasswordProps>>;
@@ -29,10 +33,13 @@ export { createProFormField, ProFormText, ProFormPassword, ProFormTextArea, ProF
29
33
  export { ProFormDependency } from './ProFormDependency';
30
34
  export { ProFormList } from './ProFormList';
31
35
  export { ProFormGroup } from './ProFormGroup';
36
+ export { SchemaForm } from './SchemaForm';
32
37
  export { DrawerForm } from './layouts/DrawerForm';
33
38
  export { DialogForm } from './layouts/DialogForm';
34
39
  export { QueryFilter } from './layouts/QueryFilter';
35
- 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';
40
+ export { useFormWatch } from './context';
41
+ export type { UseFormWatch } from './context';
42
+ export type { ProFormSyncToUrl, ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaValueType, SchemaFormProps, } from './interface';
36
43
  export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
37
44
  export type { ProFormMode } from './constants';
38
45
  export type { FormInstance, FormCoreInstance, Rule, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, UseFormConfig, UseFormReturn, UseFormInternals, } from './core/interface';
@@ -3,10 +3,11 @@ import { ProFormItem } from './ProFormItem';
3
3
  import { ProFormDependency } from './ProFormDependency';
4
4
  import { ProFormList } from './ProFormList';
5
5
  import { ProFormGroup } from './ProFormGroup';
6
+ import { SchemaForm } from './SchemaForm';
6
7
  import { Submitter } from './Submitter';
7
8
  import { ProFormText, ProFormPassword, ProFormTextArea, ProFormCheckbox, ProFormCheckboxGroup, ProFormSwitch, ProFormSelect, ProFormRadioGroup, ProFormSlider, ProFormDatePicker, ProFormUpload, ProFormFieldSet } from './fields';
8
9
  import { useForm as useFormInternal } from './core/hooks/useForm';
9
- import { useProFormContext, useFormInstance } from './context';
10
+ import { useProFormContext, useFormInstance, useFormWatch } from './context';
10
11
  import './style';
11
12
  /** Public hook — returns [FormInstance] for backward compatibility */
12
13
  var useForm = function useForm(config) {
@@ -21,11 +22,13 @@ var ProForm = Object.assign(ProFormBase, {
21
22
  useForm: useForm,
22
23
  useInstance: useFormInstance,
23
24
  useContext: useProFormContext,
25
+ useWatch: useFormWatch,
24
26
  // Composition
25
27
  Dependency: ProFormDependency,
26
28
  List: ProFormList,
27
29
  Group: ProFormGroup,
28
30
  FieldSet: ProFormFieldSet,
31
+ SchemaForm: SchemaForm,
29
32
  Submitter: Submitter,
30
33
  // Fields
31
34
  Text: ProFormText,
@@ -48,8 +51,10 @@ export { createProFormField, ProFormText, ProFormPassword, ProFormTextArea, ProF
48
51
  export { ProFormDependency } from './ProFormDependency';
49
52
  export { ProFormList } from './ProFormList';
50
53
  export { ProFormGroup } from './ProFormGroup';
54
+ export { SchemaForm } from './SchemaForm';
51
55
  export { DrawerForm } from './layouts/DrawerForm';
52
56
  export { DialogForm } from './layouts/DialogForm';
53
57
  export { QueryFilter } from './layouts/QueryFilter';
58
+ export { useFormWatch } from './context';
54
59
  export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
55
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJQcm9Gb3JtIiwiUHJvRm9ybUJhc2UiLCJQcm9Gb3JtSXRlbSIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiUHJvRm9ybUxpc3QiLCJQcm9Gb3JtR3JvdXAiLCJTdWJtaXR0ZXIiLCJQcm9Gb3JtVGV4dCIsIlByb0Zvcm1QYXNzd29yZCIsIlByb0Zvcm1UZXh0QXJlYSIsIlByb0Zvcm1DaGVja2JveCIsIlByb0Zvcm1DaGVja2JveEdyb3VwIiwiUHJvRm9ybVN3aXRjaCIsIlByb0Zvcm1TZWxlY3QiLCJQcm9Gb3JtUmFkaW9Hcm91cCIsIlByb0Zvcm1TbGlkZXIiLCJQcm9Gb3JtRGF0ZVBpY2tlciIsIlByb0Zvcm1VcGxvYWQiLCJQcm9Gb3JtRmllbGRTZXQiLCJ1c2VGb3JtIiwidXNlRm9ybUludGVybmFsIiwidXNlUHJvRm9ybUNvbnRleHQiLCJ1c2VGb3JtSW5zdGFuY2UiLCJjb25maWciLCJfdXNlRm9ybUludGVybmFsIiwiZm9ybUluc3RhbmNlIiwiT2JqZWN0IiwiYXNzaWduIiwiSXRlbSIsInVzZUluc3RhbmNlIiwidXNlQ29udGV4dCIsIkRlcGVuZGVuY3kiLCJMaXN0IiwiR3JvdXAiLCJGaWVsZFNldCIsIlRleHQiLCJQYXNzd29yZCIsIlRleHRBcmVhIiwiQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiU3dpdGNoIiwiU2VsZWN0IiwiUmFkaW9Hcm91cCIsIlNsaWRlciIsIkRhdGVQaWNrZXIiLCJVcGxvYWQiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJEcmF3ZXJGb3JtIiwiRGlhbG9nRm9ybSIsIlF1ZXJ5RmlsdGVyIiwiQ1NTX1BSRUZJWCIsIldJRFRIX1NJWkVfTUFQIiwiREVGQVVMVF9DT0xfU1BBTiIsIkRFRkFVTFRfVEVYVCIsIlBST0ZPUk1fTU9ERVMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE9BQU8sSUFBSUMsV0FBVyxRQUFRLFdBQVc7QUFDbEQsU0FBU0MsV0FBVyxRQUFRLGVBQWU7QUFDM0MsU0FBU0MsaUJBQWlCLFFBQVEscUJBQXFCO0FBQ3ZELFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQzNDLFNBQVNDLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBU0MsU0FBUyxRQUFRLGFBQWE7QUFDdkMsU0FDRUMsV0FBVyxFQUNYQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxvQkFBb0IsRUFDcEJDLGFBQWEsRUFDYkMsYUFBYSxFQUNiQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsaUJBQWlCLEVBQ2pCQyxhQUFhLEVBQ2JDLGVBQWUsUUFDVixVQUFVO0FBQ2pCLFNBQVNDLE9BQU8sSUFBSUMsZUFBZSxRQUFRLHNCQUFzQjtBQUVqRSxTQUFTQyxpQkFBaUIsRUFBRUMsZUFBZSxRQUFRLFdBQVc7QUFDOUQsT0FBTyxTQUFTO0FBRWhCO0FBQ0EsSUFBTUgsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUlJLE1BQXNCLEVBQW9CO0VBQ3pELElBQUFDLGdCQUFBLEdBQXlCSixlQUFlLENBQUNHLE1BQU0sQ0FBQztJQUF4Q0UsWUFBWSxHQUFBRCxnQkFBQSxDQUFaQyxZQUFZO0VBQ3BCLE9BQU8sQ0FBQ0EsWUFBWSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDtBQUNBLElBQU16QixPQUFPLEdBQUcwQixNQUFNLENBQUNDLE1BQU0sQ0FBQzFCLFdBQVcsRUFBRTtFQUN6QztFQUNBMkIsSUFBSSxFQUFFMUIsV0FBVztFQUNqQmlCLE9BQU8sRUFBUEEsT0FBTztFQUNQVSxXQUFXLEVBQUVQLGVBQWU7RUFDNUJRLFVBQVUsRUFBRVQsaUJBQWlCO0VBQzdCO0VBQ0FVLFVBQVUsRUFBRTVCLGlCQUFpQjtFQUM3QjZCLElBQUksRUFBRTVCLFdBQVc7RUFDakI2QixLQUFLLEVBQUU1QixZQUFZO0VBQ25CNkIsUUFBUSxFQUFFaEIsZUFBZTtFQUN6QlosU0FBUyxFQUFUQSxTQUFTO0VBQ1Q7RUFDQTZCLElBQUksRUFBRTVCLFdBQVc7RUFDakI2QixRQUFRLEVBQUU1QixlQUFlO0VBQ3pCNkIsUUFBUSxFQUFFNUIsZUFBZTtFQUN6QjZCLFFBQVEsRUFBRTVCLGVBQWU7RUFDekI2QixhQUFhLEVBQUU1QixvQkFBb0I7RUFDbkM2QixNQUFNLEVBQUU1QixhQUFhO0VBQ3JCNkIsTUFBTSxFQUFFNUIsYUFBYTtFQUNyQjZCLFVBQVUsRUFBRTVCLGlCQUFpQjtFQUM3QjZCLE1BQU0sRUFBRTVCLGFBQWE7RUFDckI2QixVQUFVLEVBQUU1QixpQkFBaUI7RUFDN0I2QixNQUFNLEVBQUU1QjtBQ2ZWLENEZ0JDLENBQUM7QUFFRixTQUFTakIsT0FBTyxFQUFFRSxXQUFXO0FBQzdCLGVBQWVGLE9BQU87QUFFdEI7QUFDQSxTQUNFOEMsa0JBQWtCLEVBQ2xCdkMsV0FBVyxFQUNYQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxvQkFBb0IsRUFDcEJDLGFBQWEsRUFDYkMsYUFBYSxFQUNiQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsaUJBQWlCLEVBQ2pCQyxhQUFhLEVBQ2JDLGVBQWUsUUFDVixVQUFVO0FBRWpCO0FBQ0EsU0FBU2YsaUJBQWlCLFFBQVEscUJBQXFCO0FBQ3ZELFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQzNDLFNBQVNDLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBUzBDLFVBQVUsUUFBUSxzQkFBc0I7QUFDakQsU0FBU0MsVUFBVSxRQUFRLHNCQUFzQjtBQUNqRCxTQUFTQyxXQUFXLFFBQVEsdUJBQXVCO0FBNEJuRCxTQUFTQyxVQUFVLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCLEVBQUVDLFlBQVksRUFBRUMsYUFBYSxRQUFRLGFBQWEiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBQcm9Gb3JtIGFzIFByb0Zvcm1CYXNlIH0gZnJvbSAnLi9Qcm9Gb3JtJztcbmltcG9ydCB7IFByb0Zvcm1JdGVtIH0gZnJvbSAnLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmltcG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmltcG9ydCB7IFN1Ym1pdHRlciB9IGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuaW1wb3J0IHsgdXNlRm9ybSBhcyB1c2VGb3JtSW50ZXJuYWwgfSBmcm9tICcuL2NvcmUvaG9va3MvdXNlRm9ybSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlIH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCAnLi9zdHlsZSc7XG4vKiogUHVibGljIGhvb2sg4oCUIHJldHVybnMgW0Zvcm1JbnN0YW5jZV0gZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi9cbmNvbnN0IHVzZUZvcm0gPSAoY29uZmlnKSA9PiB7XG4gICAgY29uc3QgeyBmb3JtSW5zdGFuY2UgfSA9IHVzZUZvcm1JbnRlcm5hbChjb25maWcpO1xuICAgIHJldHVybiBbZm9ybUluc3RhbmNlXTtcbn07XG4vLyBDb21wb3NlIFByb0Zvcm0gd2l0aCBzdGF0aWMgc3ViLWNvbXBvbmVudHMgYW5kIGhvb2tzXG5jb25zdCBQcm9Gb3JtID0gT2JqZWN0LmFzc2lnbihQcm9Gb3JtQmFzZSwge1xuICAgIC8vIEl0ZW0gKyBjb3JlIGhvb2tzXG4gICAgSXRlbTogUHJvRm9ybUl0ZW0sXG4gICAgdXNlRm9ybSxcbiAgICB1c2VJbnN0YW5jZTogdXNlRm9ybUluc3RhbmNlLFxuICAgIHVzZUNvbnRleHQ6IHVzZVByb0Zvcm1Db250ZXh0LFxuICAgIC8vIENvbXBvc2l0aW9uXG4gICAgRGVwZW5kZW5jeTogUHJvRm9ybURlcGVuZGVuY3ksXG4gICAgTGlzdDogUHJvRm9ybUxpc3QsXG4gICAgR3JvdXA6IFByb0Zvcm1Hcm91cCxcbiAgICBGaWVsZFNldDogUHJvRm9ybUZpZWxkU2V0LFxuICAgIFN1Ym1pdHRlcixcbiAgICAvLyBGaWVsZHNcbiAgICBUZXh0OiBQcm9Gb3JtVGV4dCxcbiAgICBQYXNzd29yZDogUHJvRm9ybVBhc3N3b3JkLFxuICAgIFRleHRBcmVhOiBQcm9Gb3JtVGV4dEFyZWEsXG4gICAgQ2hlY2tib3g6IFByb0Zvcm1DaGVja2JveCxcbiAgICBDaGVja2JveEdyb3VwOiBQcm9Gb3JtQ2hlY2tib3hHcm91cCxcbiAgICBTd2l0Y2g6IFByb0Zvcm1Td2l0Y2gsXG4gICAgU2VsZWN0OiBQcm9Gb3JtU2VsZWN0LFxuICAgIFJhZGlvR3JvdXA6IFByb0Zvcm1SYWRpb0dyb3VwLFxuICAgIFNsaWRlcjogUHJvRm9ybVNsaWRlcixcbiAgICBEYXRlUGlja2VyOiBQcm9Gb3JtRGF0ZVBpY2tlcixcbiAgICBVcGxvYWQ6IFByb0Zvcm1VcGxvYWQsXG59KTtcbmV4cG9ydCB7IFByb0Zvcm0sIFByb0Zvcm1JdGVtIH07XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtO1xuLy8gTmFtZWQgZXhwb3J0cyBmb3IgZmllbGRzXG5leHBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQsIFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuLy8gQ29tcG9zaXRpb24gKyBsYXlvdXRzXG5leHBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuZXhwb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmV4cG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmV4cG9ydCB7IERyYXdlckZvcm0gfSBmcm9tICcuL2xheW91dHMvRHJhd2VyRm9ybSc7XG5leHBvcnQgeyBEaWFsb2dGb3JtIH0gZnJvbSAnLi9sYXlvdXRzL0RpYWxvZ0Zvcm0nO1xuZXhwb3J0IHsgUXVlcnlGaWx0ZXIgfSBmcm9tICcuL2xheW91dHMvUXVlcnlGaWx0ZXInO1xuZXhwb3J0IHsgQ1NTX1BSRUZJWCwgV0lEVEhfU0laRV9NQVAsIERFRkFVTFRfQ09MX1NQQU4sIERFRkFVTFRfVEVYVCwgUFJPRk9STV9NT0RFUyB9IGZyb20gJy4vY29uc3RhbnRzJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
60
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJQcm9Gb3JtIiwiUHJvRm9ybUJhc2UiLCJQcm9Gb3JtSXRlbSIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiUHJvRm9ybUxpc3QiLCJQcm9Gb3JtR3JvdXAiLCJTY2hlbWFGb3JtIiwiU3VibWl0dGVyIiwiUHJvRm9ybVRleHQiLCJQcm9Gb3JtUGFzc3dvcmQiLCJQcm9Gb3JtVGV4dEFyZWEiLCJQcm9Gb3JtQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlByb0Zvcm1Td2l0Y2giLCJQcm9Gb3JtU2VsZWN0IiwiUHJvRm9ybVJhZGlvR3JvdXAiLCJQcm9Gb3JtU2xpZGVyIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJQcm9Gb3JtVXBsb2FkIiwiUHJvRm9ybUZpZWxkU2V0IiwidXNlRm9ybSIsInVzZUZvcm1JbnRlcm5hbCIsInVzZVByb0Zvcm1Db250ZXh0IiwidXNlRm9ybUluc3RhbmNlIiwidXNlRm9ybVdhdGNoIiwiY29uZmlnIiwiX3VzZUZvcm1JbnRlcm5hbCIsImZvcm1JbnN0YW5jZSIsIk9iamVjdCIsImFzc2lnbiIsIkl0ZW0iLCJ1c2VJbnN0YW5jZSIsInVzZUNvbnRleHQiLCJ1c2VXYXRjaCIsIkRlcGVuZGVuY3kiLCJMaXN0IiwiR3JvdXAiLCJGaWVsZFNldCIsIlRleHQiLCJQYXNzd29yZCIsIlRleHRBcmVhIiwiQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiU3dpdGNoIiwiU2VsZWN0IiwiUmFkaW9Hcm91cCIsIlNsaWRlciIsIkRhdGVQaWNrZXIiLCJVcGxvYWQiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJEcmF3ZXJGb3JtIiwiRGlhbG9nRm9ybSIsIlF1ZXJ5RmlsdGVyIiwiQ1NTX1BSRUZJWCIsIldJRFRIX1NJWkVfTUFQIiwiREVGQVVMVF9DT0xfU1BBTiIsIkRFRkFVTFRfVEVY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LEVBQUVDLGdCQUFnQixFQUFFQyxZQUFZLEVBQUVDLGFBQWEsUUFBUSxhQUFhIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgUHJvRm9ybSBhcyBQcm9Gb3JtQmFzZSB9IGZyb20gJy4vUHJvRm9ybSc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4vUHJvRm9ybUl0ZW0nO1xuaW1wb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmltcG9ydCB7IFByb0Zvcm1MaXN0IH0gZnJvbSAnLi9Qcm9Gb3JtTGlzdCc7XG5pbXBvcnQgeyBQcm9Gb3JtR3JvdXAgfSBmcm9tICcuL1Byb0Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBTY2hlbWFGb3JtIH0gZnJvbSAnLi9TY2hlbWFGb3JtJztcbmltcG9ydCB7IFN1Ym1pdHRlciB9IGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuaW1wb3J0IHsgdXNlRm9ybSBhcyB1c2VGb3JtSW50ZXJuYWwgfSBmcm9tICcuL2NvcmUvaG9va3MvdXNlRm9ybSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlLCB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8qKiBQdWJsaWMgaG9vayDigJQgcmV0dXJucyBbRm9ybUluc3RhbmNlXSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuY29uc3QgdXNlRm9ybSA9IChjb25maWcpID0+IHtcbiAgICBjb25zdCB7IGZvcm1JbnN0YW5jZSB9ID0gdXNlRm9ybUludGVybmFsKGNvbmZpZyk7XG4gICAgcmV0dXJuIFtmb3JtSW5zdGFuY2VdO1xufTtcbi8vIENvbXBvc2UgUHJvRm9ybSB3aXRoIHN0YXRpYyBzdWItY29tcG9uZW50cyBhbmQgaG9va3NcbmNvbnN0IFByb0Zvcm0gPSBPYmplY3QuYXNzaWduKFByb0Zvcm1CYXNlLCB7XG4gICAgLy8gSXRlbSArIGNvcmUgaG9va3NcbiAgICBJdGVtOiBQcm9Gb3JtSXRlbSxcbiAgICB1c2VGb3JtLFxuICAgIHVzZUluc3RhbmNlOiB1c2VGb3JtSW5zdGFuY2UsXG4gICAgdXNlQ29udGV4dDogdXNlUHJvRm9ybUNvbnRleHQsXG4gICAgdXNlV2F0Y2g6IHVzZUZvcm1XYXRjaCxcbiAgICAvLyBDb21wb3NpdGlvblxuICAgIERlcGVuZGVuY3k6IFByb0Zvcm1EZXBlbmRlbmN5LFxuICAgIExpc3Q6IFByb0Zvcm1MaXN0LFxuICAgIEdyb3VwOiBQcm9Gb3JtR3JvdXAsXG4gICAgRmllbGRTZXQ6IFByb0Zvcm1GaWVsZFNldCxcbiAgICBTY2hlbWFGb3JtLFxuICAgIFN1Ym1pdHRlcixcbiAgICAvLyBGaWVsZHNcbiAgICBUZXh0OiBQcm9Gb3JtVGV4dCxcbiAgICBQYXNzd29yZDogUHJvRm9ybVBhc3N3b3JkLFxuICAgIFRleHRBcmVhOiBQcm9Gb3JtVGV4dEFyZWEsXG4gICAgQ2hlY2tib3g6IFByb0Zvcm1DaGVja2JveCxcbiAgICBDaGVja2JveEdyb3VwOiBQcm9Gb3JtQ2hlY2tib3hHcm91cCxcbiAgICBTd2l0Y2g6IFByb0Zvcm1Td2l0Y2gsXG4gICAgU2VsZWN0OiBQcm9Gb3JtU2VsZWN0LFxuICAgIFJhZGlvR3JvdXA6IFByb0Zvcm1SYWRpb0dyb3VwLFxuICAgIFNsaWRlcjogUHJvRm9ybVNsaWRlcixcbiAgICBEYXRlUGlja2VyOiBQcm9Gb3JtRGF0ZVBpY2tlcixcbiAgICBVcGxvYWQ6IFByb0Zvcm1VcGxvYWQsXG59KTtcbmV4cG9ydCB7IFByb0Zvcm0sIFByb0Zvcm1JdGVtIH07XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtO1xuLy8gTmFtZWQgZXhwb3J0cyBmb3IgZmllbGRzXG5leHBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQsIFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuLy8gQ29tcG9zaXRpb24gKyBsYXlvdXRzXG5leHBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuZXhwb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmV4cG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmV4cG9ydCB7IFNjaGVtYUZvcm0gfSBmcm9tICcuL1NjaGVtYUZvcm0nO1xuZXhwb3J0IHsgRHJhd2VyRm9ybSB9IGZyb20gJy4vbGF5b3V0cy9EcmF3ZXJGb3JtJztcbmV4cG9ydCB7IERpYWxvZ0Zvcm0gfSBmcm9tICcuL2xheW91dHMvRGlhbG9nRm9ybSc7XG5leHBvcnQgeyBRdWVyeUZpbHRlciB9IGZyb20gJy4vbGF5b3V0cy9RdWVyeUZpbHRlcic7XG5leHBvcnQgeyB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0IHsgQ1NTX1BSRUZJWCwgV0lEVEhfU0laRV9NQVAsIERFRkFVTFRfQ09MX1NQQU4sIERFRkFVTFRfVEVYVCwgUFJPRk9STV9NT0RFUyB9IGZyb20gJy4vY29uc3RhbnRzJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -5,12 +5,21 @@ 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
+ import type { ProFormSyncToUrl } from './hooks/useUrlSync';
9
+ export type { ProFormSyncToUrl };
8
10
  export type ProFormFieldTransformFn = (value: unknown, name: string, allValues: Record<string, unknown>) => unknown;
11
+ export type ProFormDateFormatter = 'string' | 'number' | (string & {}) | ((value: Date, name: string) => unknown) | false;
9
12
  export type ProFormFieldConvertValueFn = (value: unknown, name: string) => unknown;
10
13
  export type ProFormValueEnumObj = Record<string | number, string | {
11
14
  text: string;
12
15
  disabled?: boolean;
13
16
  }>;
17
+ /**
18
+ * Top-level keys of `Values` (for editor autocomplete) while still accepting
19
+ * any string — names may be dot-paths (`"address.city"`), list paths
20
+ * (`"items.0.qty"`), or keys produced by a renaming `transform`.
21
+ */
22
+ export type ProFormFieldName<Values = Record<string, unknown>> = Extract<keyof Values, string> | (string & {});
14
23
  export interface ProFormColProps {
15
24
  span?: number;
16
25
  sm?: GridColSize;
@@ -22,23 +31,59 @@ export interface ProFormRequestOption {
22
31
  value: unknown;
23
32
  disabled?: boolean;
24
33
  }
25
- export interface ProFormFormInstance extends FormInstance {
26
- getFieldsFormatValue: () => Record<string, unknown>;
27
- validateFieldsReturnFormatValue: () => Promise<{
28
- success: boolean;
29
- values?: Record<string, unknown>;
30
- errors?: Record<string, string>;
31
- }>;
34
+ /**
35
+ * Result of `validateFieldsReturnFormatValue` — a discriminated union: checking
36
+ * `success` narrows to `values` (success) or `errors` (failure) without `!`.
37
+ * Each branch declares the other property as `undefined` so unguarded access
38
+ * (`result.values`) still type-checks as `Values | undefined`.
39
+ */
40
+ export type ProFormValidateResult<Values = Record<string, unknown>> = {
41
+ success: true;
42
+ values: Values;
43
+ errors?: undefined;
44
+ } | {
45
+ success: false;
46
+ errors: Record<string, string>;
47
+ values?: undefined;
48
+ };
49
+ export interface ProFormFormInstance<Values = Record<string, unknown>> extends FormInstance<Values> {
50
+ getFieldsFormatValue: () => Values;
51
+ /** Single-field value with dateFormatter + transform applied (no omitNil). */
52
+ getFieldFormatValue: (name: string) => unknown;
53
+ /**
54
+ * Formatted values as an object: the whole form when `name` is omitted,
55
+ * otherwise narrowed to the top-level key of `name` (note: a `transform`
56
+ * that RENAMES its key keeps the renamed shape and may not match `name`).
57
+ */
58
+ getFieldFormatValueObject: (name?: string) => Record<string, unknown>;
59
+ validateFieldsReturnFormatValue: () => Promise<ProFormValidateResult<Values>>;
32
60
  submitForm: () => Promise<void>;
33
61
  }
34
- export interface ProFormContextValue {
62
+ export interface ProFormStateContextValue {
35
63
  values: Record<string, unknown>;
36
64
  errors: Record<string, string>;
65
+ warnings: Record<string, string>;
37
66
  touched: Record<string, boolean>;
38
67
  validating: Record<string, boolean>;
68
+ }
69
+ /**
70
+ * Form-level layout configuration. Groups presentational layout knobs in one
71
+ * object so future options (label placement, density, …) extend here instead
72
+ * of adding new top-level props.
73
+ */
74
+ export interface ProFormLayoutConfig {
75
+ /**
76
+ * Vertical space between form items. Overrides the uniform 24px default
77
+ * (form `size` does not affect spacing). Number = px; string = any CSS
78
+ * length.
79
+ */
80
+ itemGap?: number | string;
81
+ }
82
+ export interface ProFormStableContextValue {
39
83
  formInstance: ProFormFormInstance;
40
84
  setFieldValue: (name: string, value: unknown) => void;
41
85
  setFieldError: (name: string, error: string | null) => void;
86
+ setFieldWarning: (name: string, warning: string | null) => void;
42
87
  validateField: (name: string, rules: Rule[], providedValue?: unknown) => boolean;
43
88
  validateFieldAsync: (name: string, value: unknown, rules: Rule[]) => Promise<{
44
89
  isValid: boolean;
@@ -58,7 +103,22 @@ export interface ProFormContextValue {
58
103
  grid: boolean;
59
104
  colProps: ProFormColProps;
60
105
  registerTransform: (name: string, fn: ProFormFieldTransformFn) => void;
61
- unregisterTransform: (name: string) => void;
106
+ /** When `fn` is given, removal happens only if the registry still holds it. */
107
+ unregisterTransform: (name: string, fn?: ProFormFieldTransformFn) => void;
108
+ /** Register a field's valueType for valueType-aware submit formatting (dateFormatter) */
109
+ registerValueType: (name: string, valueType: ProFormValueType) => void;
110
+ /** When `valueType` is given, removal happens only if the registry still holds it. */
111
+ unregisterValueType: (name: string, valueType?: ProFormValueType) => void;
112
+ /** Form-level defaults injected into every ProFormXxx field's component props (field-level wins) */
113
+ fieldProps?: Record<string, unknown>;
114
+ /** Form-level defaults merged into every ProForm.Item (item-level wins) */
115
+ formItemProps?: ProFormItemSharedProps;
116
+ /** Form-level layout configuration (e.g. itemGap) read by every ProForm.Item */
117
+ layout?: ProFormLayoutConfig;
118
+ /** Set by DialogForm/DrawerForm/QueryFilter so overlay fields can adapt (e.g. popup mounting) */
119
+ formComponentType?: 'DialogForm' | 'DrawerForm' | 'QueryFilter';
120
+ }
121
+ export interface ProFormContextValue extends ProFormStableContextValue, ProFormStateContextValue {
62
122
  }
63
123
  export interface ProFormFieldProps<FieldProps = Record<string, unknown>> {
64
124
  name?: string;
@@ -89,10 +149,18 @@ export interface ProFormFieldProps<FieldProps = Record<string, unknown>> {
89
149
  transform?: ProFormFieldTransformFn;
90
150
  convertValue?: ProFormFieldConvertValueFn;
91
151
  dependencies?: string[];
92
- request?: (params?: Record<string, unknown>) => Promise<ProFormRequestOption[]>;
152
+ request?: (params?: Record<string, unknown>, signal?: AbortSignal) => Promise<ProFormRequestOption[]>;
93
153
  params?: Record<string, unknown>;
94
154
  valueEnum?: ProFormValueEnumObj;
95
155
  debounceTime?: number;
156
+ /** Debounce (ms) applied to onChange-triggered validation */
157
+ validateDebounce?: number;
158
+ /**
159
+ * Registered into the form's valueType registry (drives valueType-aware
160
+ * dateFormatter, e.g. `"dateTime"` → `YYYY-MM-DD HH:mm:ss`) and read-mode
161
+ * rendering. Overrides the factory's default valueType.
162
+ */
163
+ valueType?: ProFormValueType;
96
164
  }
97
165
  export type ProFormValueType = 'text' | 'password' | 'digit' | 'date' | 'dateTime' | 'select' | 'radio' | 'switch' | 'tag';
98
166
  export interface ProFormItemProps {
@@ -125,12 +193,18 @@ export interface ProFormItemProps {
125
193
  emptyText?: ReactNode;
126
194
  /** Value enum for select/radio/tag value types */
127
195
  valueEnum?: ProFormValueEnumObj;
196
+ /** Prop name the controlled value is injected under (default `value`; e.g. `checked` for Switch/Checkbox) */
197
+ valuePropName?: string;
198
+ /** Debounce (ms) applied to onChange-triggered validation */
199
+ validateDebounce?: number;
128
200
  }
129
- export interface SubmitterProps {
201
+ /** Item props that can be shared form-wide via ProForm's `formItemProps` */
202
+ export type ProFormItemSharedProps = Partial<Omit<ProFormItemProps, 'children' | 'name' | 'label' | 'rules'>>;
203
+ export interface SubmitterProps<Values = Record<string, unknown>> {
130
204
  submitText?: ReactNode;
131
205
  resetText?: ReactNode;
132
206
  render?: (props: {
133
- form: ProFormFormInstance;
207
+ form: ProFormFormInstance<Values>;
134
208
  submit: () => void;
135
209
  reset: () => void;
136
210
  }, dom: ReactElement[]) => ReactNode;
@@ -139,25 +213,51 @@ export interface SubmitterProps {
139
213
  submitButtonProps?: Partial<ButtonProps>;
140
214
  resetButtonProps?: Partial<ButtonProps>;
141
215
  }
142
- export interface ProFormProps extends Omit<FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'onReset'> {
216
+ export interface ProFormProps<Values = Record<string, unknown>> extends Omit<FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'onReset'> {
143
217
  children?: ReactNode;
144
218
  className?: string;
145
219
  prefixCls?: string;
146
- initialValues?: Record<string, unknown>;
147
- onFinish?: (values: Record<string, unknown>) => void;
220
+ initialValues?: Partial<Values>;
221
+ /**
222
+ * Called after validation passes with the pipelined values. The return value
223
+ * gates `syncToUrl`: an explicit `false` (or a throw/reject) skips writing
224
+ * the URL; any other result — including void — syncs.
225
+ */
226
+ onFinish?: (values: Values) => void | boolean | Promise<void | boolean>;
148
227
  onFinishFailed?: (errorInfo: {
149
- values: Record<string, unknown>;
228
+ values: Values;
150
229
  errors: Record<string, string>;
151
230
  }) => void;
152
- onValuesChange?: (changedValues: Record<string, unknown>, allValues: Record<string, unknown>) => void;
153
- onReset?: () => void;
231
+ onValuesChange?: (changedValues: Partial<Values>, allValues: Values) => void;
232
+ /** Fires once per reset action, with the (post-reset) formatted values. */
233
+ onReset?: (values?: Values) => void;
234
+ /** Fires once after the form is initialized (after `request` resolves when present). */
235
+ onInit?: (values: Values, form: ProFormFormInstance<Values>) => void;
236
+ /** Observes the internal submit loading state (true on start, false on settle). */
237
+ onLoadingChange?: (loading: boolean) => void;
238
+ /**
239
+ * Sync form values to the URL query string; the function form maps values
240
+ * both ways. Assumes route navigation unmounts the form (writes are guarded
241
+ * by mount-route pathname + an unmount flag).
242
+ */
243
+ syncToUrl?: ProFormSyncToUrl;
244
+ /** On mount, URL params win over `initialValues` (default: initialValues win). */
245
+ syncToUrlAsImportant?: boolean;
246
+ /** Extra params always written to the URL alongside the form values. */
247
+ extraUrlParams?: Record<string, unknown>;
248
+ /** Focus the first input on mount (default false). */
249
+ autoFocusFirstInput?: boolean;
250
+ /** Internal: set by DialogForm/DrawerForm/QueryFilter for overlay-aware fields. */
251
+ formComponentType?: 'DialogForm' | 'DrawerForm' | 'QueryFilter';
154
252
  size?: FormSize;
253
+ /** Form-level layout configuration, e.g. `layout={{ itemGap: 16 }}` */
254
+ layout?: ProFormLayoutConfig;
155
255
  labelAlign?: LabelAlign;
156
256
  disabled?: boolean;
157
257
  colon?: boolean;
158
258
  requiredMark?: boolean;
159
259
  validateTrigger?: ValidateTrigger;
160
- submitter?: SubmitterProps | false;
260
+ submitter?: SubmitterProps<Values> | false;
161
261
  /** @deprecated Use `mode='read'` instead */
162
262
  readonly?: boolean;
163
263
  mode?: ProFormMode;
@@ -165,10 +265,21 @@ export interface ProFormProps extends Omit<FormHTMLAttributes<HTMLFormElement>,
165
265
  colProps?: ProFormColProps;
166
266
  rowProps?: Partial<GridRowProps>;
167
267
  loading?: boolean;
168
- request?: (params?: unknown) => Promise<Record<string, unknown>>;
268
+ request?: (params?: unknown) => Promise<Partial<Values>>;
169
269
  params?: unknown;
170
- formRef?: MutableRefObject<ProFormFormInstance | undefined>;
270
+ formRef?: MutableRefObject<ProFormFormInstance<Values> | undefined>;
171
271
  omitNil?: boolean;
272
+ /**
273
+ * How Date values are serialized in the submit pipeline (default `'string'`):
274
+ * `'string'` → `YYYY-MM-DD` (`YYYY-MM-DD HH:mm:ss` for `valueType="dateTime"` fields),
275
+ * `'number'` → timestamp, a custom pattern (e.g. `'YYYY/MM/DD'`), a function, or
276
+ * `false` to pass Date objects through untouched.
277
+ */
278
+ dateFormatter?: ProFormDateFormatter;
279
+ /** Defaults injected into every ProFormXxx field's component props (field-level wins) */
280
+ fieldProps?: Record<string, unknown>;
281
+ /** Defaults merged into every ProForm.Item (item-level wins) */
282
+ formItemProps?: ProFormItemSharedProps;
172
283
  }
173
284
  export interface ProFormListAction {
174
285
  add: (defaultValue?: Record<string, unknown>, index?: number) => void;
@@ -209,10 +320,10 @@ export interface ProFormListProps {
209
320
  onAfterAdd?: (defaultValue: Record<string, unknown>, index: number) => void;
210
321
  onAfterRemove?: (index: number) => void;
211
322
  }
212
- export interface ProFormDependencyProps {
213
- name: string[];
323
+ export interface ProFormDependencyProps<Values = Record<string, unknown>> {
324
+ name: ProFormFieldName<Values>[];
214
325
  ignoreFormListField?: boolean;
215
- children: (values: Record<string, unknown>, form: ProFormFormInstance) => ReactNode;
326
+ children: (values: Record<string, unknown>, form: ProFormFormInstance<Values>) => ReactNode;
216
327
  }
217
328
  export interface FormListContextValue {
218
329
  listName?: string;
@@ -238,7 +349,7 @@ export interface ProFormGroupProps {
238
349
  style?: CSSProperties;
239
350
  children?: ReactNode;
240
351
  }
241
- export interface DialogFormProps extends Omit<ProFormProps, 'title'> {
352
+ export interface DialogFormProps<Values = Record<string, unknown>> extends Omit<ProFormProps<Values>, 'title'> {
242
353
  open?: boolean;
243
354
  onOpenChange?: (open: boolean) => void;
244
355
  trigger?: ReactElement;
@@ -246,10 +357,12 @@ export interface DialogFormProps extends Omit<ProFormProps, 'title'> {
246
357
  width?: number | string;
247
358
  submitTimeout?: number;
248
359
  autoClose?: boolean;
360
+ /** Close the overlay when the form is reset (default true). Set false for reset-without-close (e.g. a "Clear" button). */
361
+ closeOnReset?: boolean;
249
362
  destroyOnClose?: boolean;
250
363
  dialogProps?: Partial<DialogProps>;
251
364
  }
252
- export interface DrawerFormProps extends Omit<ProFormProps, 'title'> {
365
+ export interface DrawerFormProps<Values = Record<string, unknown>> extends Omit<ProFormProps<Values>, 'title'> {
253
366
  open?: boolean;
254
367
  onOpenChange?: (open: boolean) => void;
255
368
  trigger?: ReactElement;
@@ -258,10 +371,12 @@ export interface DrawerFormProps extends Omit<ProFormProps, 'title'> {
258
371
  placement?: DrawerPlacement;
259
372
  submitTimeout?: number;
260
373
  autoClose?: boolean;
374
+ /** Close the overlay when the form is reset (default true). Set false for reset-without-close (e.g. a "Clear" button). */
375
+ closeOnReset?: boolean;
261
376
  destroyOnClose?: boolean;
262
377
  drawerProps?: Partial<DrawerProps>;
263
378
  }
264
- export interface QueryFilterProps extends ProFormProps {
379
+ export interface QueryFilterProps<Values = Record<string, unknown>> extends ProFormProps<Values> {
265
380
  defaultCollapsed?: boolean;
266
381
  collapsed?: boolean;
267
382
  onCollapse?: (collapsed: boolean) => void;
@@ -274,13 +389,55 @@ export interface QueryFilterProps extends ProFormProps {
274
389
  /** Size of the search / reset / collapse buttons. Defaults to the Button default. */
275
390
  size?: ButtonSize;
276
391
  };
277
- syncToUrl?: boolean | ((values: Record<string, unknown>, type: 'get' | 'set') => Record<string, unknown>);
392
+ }
393
+ export type ProFormSchemaValueType = 'text' | 'password' | 'textarea' | 'digit' | 'select' | 'checkbox' | 'checkboxGroup' | 'radioGroup' | 'switch' | 'slider' | 'date' | 'dateTime' | 'upload';
394
+ export interface ProFormSchemaColumn<Values = Record<string, unknown>> {
395
+ /** Field label */
396
+ title?: ReactNode;
397
+ /** Field name; top-level keys of `Values` autocomplete, dot-paths accepted (e.g. `"address.city"`) */
398
+ dataIndex: ProFormFieldName<Values>;
399
+ /** Which ProForm field renders the column (default `'text'`) */
400
+ valueType?: ProFormSchemaValueType;
401
+ valueEnum?: ProFormValueEnumObj;
402
+ /** Seeded into the form's initialValues (form-level initialValues win) */
403
+ initialValue?: unknown;
404
+ rules?: Rule[];
405
+ required?: boolean;
406
+ description?: ReactNode;
407
+ placeholder?: string;
408
+ disabled?: boolean;
409
+ hidden?: boolean;
410
+ mode?: ProFormMode;
411
+ width?: 'sm' | 'md' | 'lg' | 'xl' | number;
412
+ colProps?: ProFormColProps;
413
+ fieldProps?: Record<string, unknown>;
414
+ transform?: ProFormFieldTransformFn;
415
+ convertValue?: ProFormFieldConvertValueFn;
416
+ dependencies?: string[];
417
+ request?: (params?: Record<string, unknown>, signal?: AbortSignal) => Promise<ProFormRequestOption[]>;
418
+ params?: Record<string, unknown>;
419
+ debounceTime?: number;
420
+ validateDebounce?: number;
421
+ /** Fully custom renderer for this column; overrides valueType mapping */
422
+ renderFormItem?: (column: ProFormSchemaColumn<Values>) => ReactNode;
423
+ }
424
+ export interface SchemaFormProps<Values = Record<string, unknown>> extends Omit<ProFormProps<Values>, 'children'> {
425
+ columns: ProFormSchemaColumn<Values>[];
278
426
  }
279
427
  export interface CreateProFormFieldConfig<FieldProps> {
280
428
  component: FC<FieldProps> | (FC<FieldProps> & {
281
429
  displayName?: string;
282
430
  });
283
431
  valuePropName?: string;
432
+ /** Default valueType registered for fields from this factory (per-field `valueType` prop overrides) */
433
+ valueType?: ProFormValueType;
284
434
  mapProps?: (props: Record<string, unknown>) => Record<string, unknown>;
285
435
  renderReadonly?: (value: unknown, props?: Partial<FieldProps>) => ReactNode;
436
+ /**
437
+ * Name of the component prop that controls overlay mounting (e.g. `appendTo`).
438
+ * When set and the field renders inside a DialogForm/DrawerForm, the prop is
439
+ * injected with `'self'` so the overlay mounts next to the trigger instead
440
+ * of document.body.
441
+ */
442
+ popupContainerProp?: string;
286
443
  }
@@ -1,3 +1,7 @@
1
+ import type { ReactElement } from 'react';
1
2
  import type { DialogFormProps } from '../interface';
2
- export declare const DialogForm: import("react").NamedExoticComponent<DialogFormProps>;
3
+ /** Generic-aware export keeps `<DialogForm<MyValues> …>` fully typed. */
4
+ export declare const DialogForm: (<Values = Record<string, unknown>>(props: DialogFormProps<Values>) => ReactElement | null) & {
5
+ displayName?: string;
6
+ };
3
7
  export default DialogForm;
@@ -1,3 +1,4 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
1
2
  var __rest = this && this.__rest || function (s, e) {
2
3
  var t = {};
3
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -24,12 +25,15 @@ var DialogFormBase = function DialogFormBase(props) {
24
25
  submitTimeout = props.submitTimeout,
25
26
  _props$autoClose = props.autoClose,
26
27
  autoClose = _props$autoClose === void 0 ? true : _props$autoClose,
28
+ _props$closeOnReset = props.closeOnReset,
29
+ closeOnReset = _props$closeOnReset === void 0 ? true : _props$closeOnReset,
27
30
  dialogProps = props.dialogProps,
28
31
  onFinish = props.onFinish,
32
+ _onReset = props.onReset,
29
33
  submitter = props.submitter,
30
34
  children = props.children,
31
35
  _destroyOnClose = props.destroyOnClose,
32
- formProps = __rest(props, ["open", "onOpenChange", "trigger", "title", "width", "submitTimeout", "autoClose", "dialogProps", "onFinish", "submitter", "children", "destroyOnClose"]);
36
+ formProps = __rest(props, ["open", "onOpenChange", "trigger", "title", "width", "submitTimeout", "autoClose", "closeOnReset", "dialogProps", "onFinish", "onReset", "submitter", "children", "destroyOnClose"]);
33
37
  var _useOverlayForm = useOverlayForm({
34
38
  open: open,
35
39
  onOpenChange: onOpenChange,
@@ -55,13 +59,19 @@ var DialogFormBase = function DialogFormBase(props) {
55
59
  children: _jsx("div", {
56
60
  className: classes(),
57
61
  children: _jsx(ProForm, Object.assign({}, formProps, {
62
+ formComponentType: "DialogForm",
58
63
  onFinish: handleFinish,
59
- submitter: submitter !== undefined ? submitter : {
60
- resetButtonProps: {
61
- onClick: handleHide
62
- },
63
- resetText: (_a = dialogProps === null || dialogProps === void 0 ? void 0 : dialogProps.cancelText) !== null && _a !== void 0 ? _a : 'Cancel'
64
+ // Close rides the FORM-LEVEL reset channel — the single point
65
+ // where every reset surface converges (default Cancel button,
66
+ // custom submitter render calling `reset`, native type="reset"
67
+ // buttons). Consumer onReset runs first; closeOnReset opts out.
68
+ onReset: function onReset(values) {
69
+ _onReset === null || _onReset === void 0 ? void 0 : _onReset(values);
70
+ if (closeOnReset) handleHide();
64
71
  },
72
+ submitter: submitter === false ? false : Object.assign({
73
+ resetText: (_a = dialogProps === null || dialogProps === void 0 ? void 0 : dialogProps.cancelText) !== null && _a !== void 0 ? _a : 'Cancel'
74
+ }, _typeof(submitter) === 'object' ? submitter : {}),
65
75
  children: children
66
76
  }))
67
77
  })
@@ -69,6 +79,7 @@ var DialogFormBase = function DialogFormBase(props) {
69
79
  });
70
80
  };
71
81
  DialogFormBase.displayName = 'DialogForm';
82
+ /** Generic-aware export — keeps `<DialogForm<MyValues> …>` fully typed. */
72
83
  export var DialogForm = /*#__PURE__*/memo(DialogFormBase);
73
84
  export default DialogForm;
74
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RpYWxvZ0Zvcm0uanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RpYWxvZ0Zvcm0udHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwibWVtbyIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiRGlhbG9nIiwiUHJvRm9ybSIsIkNTU19QUkVGSVgiLCJ1c2VPdmVybGF5Rm9ybSIsImNsYXNzZXMiLCJjb25jYXQiLCJEaWFsb2dGb3JtQmFzZSIsInByb3BzIiwiX2EiLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwidHJpZ2dlciIsInRpdGxlIiwid2lkdGgiLCJzdWJtaXRUaW1lb3V0IiwiX3Byb3BzJGF1dG9DbG9zZSIsImF1dG9DbG9zZSIsImRpYWxvZ1Byb3BzIiwib25GaW5pc2giLCJzdWJtaXR0ZXIiLCJjaGlsZHJlbiIsIl9kZXN0cm95T25DbG9zZSIsImRlc3Ryb3lPbkNsb3NlIiwiZm9ybVByb3BzIiwiX3VzZU92ZXJsYXlGb3JtIiwibWVyZ2VkT3BlbiIsInRyaWdnZXJOb2RlIiwiaGFuZGxlRmluaXNoIiwiaGFuZGxlSGlkZSIsImFzc2lnbiIsIm9uQ2FuY2VsIiwiZm9vdGVyIiwidW5kZWZpbmVkIiwicm9vdFN0eWxlIiwiY2xhc3NOYW1lIiwicmVzZXRCdXR0b25Qcm9wcyIsIm9uQ2xpY2siLCJyZXNldFRleHQiLCJjYW5jZWxUZXh0IiwiZGlzcGxheU5hbWUiLCJEaWFsb2dGb3JtIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFN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LEVBQUFuQixNQUFBLENBQUErQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ0ZOLFNBQVMsRUFBQTtVQUNiTCxRQUFRLEVBQUVTLFlBQVk7VUFDdEJSLFNBQVMsRUFBRUEsU0FBUyxLQUFLYSxTQUFTLEdBQUdiLFNBQVMsR0FBRztZQUMvQ2dCLGdCQUFnQixFQUFFO2NBQUVDLE9BQU8sRUFBRVI7WUFBVSxDQUFFO1lBQ3pDUyxTQUFTLEVBQUUsQ0FBQTdCLEVBQUEsR0FBQVMsV0FBVyxLQUFBLElBQUEsSUFBWEEsV0FBVyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFYQSxXQUFXLENBQUVxQixVQUFVLE1BQUEsSUFBQSxJQUFBOUIsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUk7VUQ1QjVCLENDNkJYO1VBQUFZLFFBQUEsRUFFQUE7UUFBUSxDQUFBLENBQUE7TUFDRCxDQUFBO0lBQ04sQ0FBQSxDQUFBLENBQ0M7RUFBQSxDQUFBLENBQ1I7QUFFUCxDQUFDO0FBRURkLGNBQWMsQ0FBQ2lDLFdBQVcsR0FBRyxZQUFZO0FBRXpDLE9BQU8sSUFBTUMsVUFBVSxnQkFBRzNDLElBQUksQ0FBQ1MsY0FBYyxDQUFDO0FBRTlDLGVBQWVrQyxVQUFVIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RpYWxvZ0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwgRnJhZ21lbnQgYXMgX0ZyYWdtZW50LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi9EaWFsb2cnO1xuaW1wb3J0IHsgUHJvRm9ybSB9IGZyb20gJy4uL1Byb0Zvcm0nO1xuaW1wb3J0IHsgQ1NTX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VPdmVybGF5Rm9ybSB9IGZyb20gJy4vdXNlT3ZlcmxheUZvcm0nO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoYCR7Q1NTX1BSRUZJWH0tZGlhbG9nLWZvcm1gKTtcbmNvbnN0IERpYWxvZ0Zvcm1CYXNlID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgb3Blbiwgb25PcGVuQ2hhbmdlLCB0cmlnZ2VyLCB0aXRsZSwgd2lkdGgsIHN1Ym1pdFRpbWVvdXQsIGF1dG9DbG9zZSA9IHRydWUsIGRpYWxvZ1Byb3BzLCBvbkZpbmlzaCwgc3VibWl0dGVyLCBjaGlsZHJlbiwgXG4gICAgLy8gZGVzdHJveU9uQ2xvc2UgaXMgYWNjZXB0ZWQgZm9yIEFQSSBjb21wYXQgYnV0IG5vdCB1c2VkIOKAlFxuICAgIC8vIERpYWxvZydzIG93biB1c2VQcmVzZW5jZSBhbHJlYWR5IHVubW91bnRzIHRoZSBlbnRpcmUgRE9NIHRyZWVcbiAgICAvLyAoaW5jbHVkaW5nIGZvcm0gY29udGVudCkgYWZ0ZXIgdGhlIGNsb3NlIGFuaW1hdGlvbiBmaW5pc2hlcy5cbiAgICBkZXN0cm95T25DbG9zZTogX2Rlc3Ryb3lPbkNsb3NlIH0gPSBwcm9wcywgZm9ybVByb3BzID0gX19yZXN0KHByb3BzLCBbXCJvcGVuXCIsIFwib25PcGVuQ2hhbmdlXCIsIFwidHJpZ2dlclwiLCBcInRpdGxlXCIsIFwid2lkdGhcIiwgXCJzdWJtaXRUaW1lb3V0XCIsIFwiYXV0b0Nsb3NlXCIsIFwiZGlhbG9nUHJvcHNcIiwgXCJvbkZpbmlzaFwiLCBcInN1Ym1pdHRlclwiLCBcImNoaWxkcmVuXCIsIFwiZGVzdHJveU9uQ2xvc2VcIl0pO1xuICAgIGNvbnN0IHsgbWVyZ2VkT3BlbiwgdHJpZ2dlck5vZGUsIGhhbmRsZUZpbmlzaCwgaGFuZGxlSGlkZSwgfSA9IHVzZU92ZXJsYXlGb3JtKHsgb3Blbiwgb25PcGVuQ2hhbmdlLCB0cmlnZ2VyLCBhdXRvQ2xvc2UsIHN1Ym1pdFRpbWVvdXQgfSwgb25GaW5pc2gpO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbdHJpZ2dlck5vZGUsIF9qc3goRGlhbG9nLCBPYmplY3QuYXNzaWduKHt9LCBkaWFsb2dQcm9wcywgeyBvcGVuOiBtZXJnZWRPcGVuLCB0aXRsZTogdGl0bGUsIG9uQ2FuY2VsOiBoYW5kbGVIaWRlLCBmb290ZXI6IG51bGwgfSwgKHdpZHRoICE9PSB1bmRlZmluZWQgPyB7IHJvb3RTdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBkaWFsb2dQcm9wcyA9PT0gbnVsbCB8fCBkaWFsb2dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGlhbG9nUHJvcHMucm9vdFN0eWxlKSwgeyB3aWR0aCB9KSB9IDoge30pLCB7IGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCksIGNoaWxkcmVuOiBfanN4KFByb0Zvcm0sIE9iamVjdC5hc3NpZ24oe30sIGZvcm1Qcm9wcywgeyBvbkZpbmlzaDogaGFuZGxlRmluaXNoLCBzdWJtaXR0ZXI6IHN1Ym1pdHRlciAhPT0gdW5kZWZpbmVkID8gc3VibWl0dGVyIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0QnV0dG9uUHJvcHM6IHsgb25DbGljazogaGFuZGxlSGlkZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0VGV4dDogKF9hID0gZGlhbG9nUHJvcHMgPT09IG51bGwgfHwgZGlhbG9nUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRpYWxvZ1Byb3BzLmNhbmNlbFRleHQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdDYW5jZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSB9KSB9KSldIH0pKTtcbn07XG5EaWFsb2dGb3JtQmFzZS5kaXNwbGF5TmFtZSA9ICdEaWFsb2dGb3JtJztcbmV4cG9ydCBjb25zdCBEaWFsb2dGb3JtID0gbWVtbyhEaWFsb2dGb3JtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBEaWFsb2dGb3JtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
85
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RpYWxvZ0Zvcm0uanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RpYWxvZ0Zvcm0udHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwibWVtbyIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiRGlhbG9nIiwiUHJvRm9ybSIsIkNTU19QUkVGSVgiLCJ1c2VPdmVybGF5Rm9ybSIsImNsYXNzZXMiLCJjb25jYXQiLCJEaWFsb2dGb3JtQmFzZSIsInByb3BzIiwiX2EiLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwidHJpZ2dlciIsInRpdGxlIiwid2lkdGgiLCJzdWJtaXRUaW1lb3V0IiwiX3Byb3BzJGF1dG9DbG9zZSIsImF1dG9DbG9zZSIsIl9wcm9wcyRjbG9zZU9uUmVzZXQiLCJjbG9zZU9uUmVzZXQiLCJkaWFsb2dQcm9wcyIsIm9uRmluaXNoIiwib25SZXNldCIsInN1Ym1pdHRlciIsImNoaWxkcmVuIiwiX2Rlc3Ryb3lPbkNsb3NlIiwiZGVzdHJveU9uQ2xvc2UiLCJmb3JtUHJvcHMiLCJfdXNlT3ZlcmxheUZvcm0iLCJtZXJnZWRPcGVuIiwidHJpZ2dlck5vZGUiLCJoYW5kbGVGaW5pc2giLCJoYW5kbGVIaWRlIiwiYXNzaWduIiwib25DYW5jZWwiLCJmb290ZXIiLCJ1bmRlZmluZWQiLCJyb290U3R5bGUiLCJjbGFzc05hbWUiLCJmb3JtQ29tcG9uZW50VHlwZSIsInZhbHVlcyIsInJlc2V0VGV4dCIsImNhbmNlbFRleHQiLCJfdHlwZW9m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UjtBQUVQLENBQUM7QUFFRGpCLGNBQWMsQ0FBQ3FDLFdBQVcsR0FBRyxZQUFZO0FBRXpDO0FBQ0EsT0FBTyxJQUFNQyxVQUFVLGdCQUFHL0MsSUFBSSxDQUFDUyxjQUFjLENBRU87QUFFcEQsZUFBZXNDLFVBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvRGlhbG9nRm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4uLy4uL0RpYWxvZyc7XG5pbXBvcnQgeyBQcm9Gb3JtIH0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBDU1NfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZU92ZXJsYXlGb3JtIH0gZnJvbSAnLi91c2VPdmVybGF5Rm9ybSc7XG5jb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhgJHtDU1NfUFJFRklYfS1kaWFsb2ctZm9ybWApO1xuY29uc3QgRGlhbG9nRm9ybUJhc2UgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBvcGVuLCBvbk9wZW5DaGFuZ2UsIHRyaWdnZXIsIHRpdGxlLCB3aWR0aCwgc3VibWl0VGltZW91dCwgYXV0b0Nsb3NlID0gdHJ1ZSwgY2xvc2VPblJlc2V0ID0gdHJ1ZSwgZGlhbG9nUHJvcHMsIG9uRmluaXNoLCBvblJlc2V0LCBzdWJtaXR0ZXIsIGNoaWxkcmVuLCBcbiAgICAvLyBkZXN0cm95T25DbG9zZSBpcyBhY2NlcHRlZCBmb3IgQVBJIGNvbXBhdCBidXQgbm90IHVzZWQg4oCUXG4gICAgLy8gRGlhbG9nJ3Mgb3duIHVzZVByZXNlbmNlIGFscmVhZHkgdW5tb3VudHMgdGhlIGVudGlyZSBET00gdHJlZVxuICAgIC8vIChpbmNsdWRpbmcgZm9ybSBjb250ZW50KSBhZnRlciB0aGUgY2xvc2UgYW5pbWF0aW9uIGZpbmlzaGVzLlxuICAgIGRlc3Ryb3lPbkNsb3NlOiBfZGVzdHJveU9uQ2xvc2UgfSA9IHByb3BzLCBmb3JtUHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm9wZW5cIiwgXCJvbk9wZW5DaGFuZ2VcIiwgXCJ0cmlnZ2VyXCIsIFwidGl0bGVcIiwgXCJ3aWR0aFwiLCBcInN1Ym1pdFRpbWVvdXRcIiwgXCJhdXRvQ2xvc2VcIiwgXCJjbG9zZU9uUmVzZXRcIiwgXCJkaWFsb2dQcm9wc1wiLCBcIm9uRmluaXNoXCIsIFwib25SZXNldFwiLCBcInN1Ym1pdHRlclwiLCBcImNoaWxkcmVuXCIsIFwiZGVzdHJveU9uQ2xvc2VcIl0pO1xuICAgIGNvbnN0IHsgbWVyZ2VkT3BlbiwgdHJpZ2dlck5vZGUsIGhhbmRsZUZpbmlzaCwgaGFuZGxlSGlkZSwgfSA9IHVzZU92ZXJsYXlGb3JtKHsgb3Blbiwgb25PcGVuQ2hhbmdlLCB0cmlnZ2VyLCBhdXRvQ2xvc2UsIHN1Ym1pdFRpbWVvdXQgfSwgb25GaW5pc2gpO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbdHJpZ2dlck5vZGUsIF9qc3goRGlhbG9nLCBPYmplY3QuYXNzaWduKHt9LCBkaWFsb2dQcm9wcywgeyBvcGVuOiBtZXJnZWRPcGVuLCB0aXRsZTogdGl0bGUsIG9uQ2FuY2VsOiBoYW5kbGVIaWRlLCBmb290ZXI6IG51bGwgfSwgKHdpZHRoICE9PSB1bmRlZmluZWQgPyB7IHJvb3RTdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBkaWFsb2dQcm9wcyA9PT0gbnVsbCB8fCBkaWFsb2dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGlhbG9nUHJvcHMucm9vdFN0eWxlKSwgeyB3aWR0aCB9KSB9IDoge30pLCB7IGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCksIGNoaWxkcmVuOiBfanN4KFByb0Zvcm0sIE9iamVjdC5hc3NpZ24oe30sIGZvcm1Qcm9wcywgeyBmb3JtQ29tcG9uZW50VHlwZTogXCJEaWFsb2dGb3JtXCIsIG9uRmluaXNoOiBoYW5kbGVGaW5pc2gsIFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2xvc2UgcmlkZXMgdGhlIEZPUk0tTEVWRUwgcmVzZXQgY2hhbm5lbCDigJQgdGhlIHNpbmdsZSBwb2ludFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlcmUgZXZlcnkgcmVzZXQgc3VyZmFjZSBjb252ZXJnZXMgKGRlZmF1bHQgQ2FuY2VsIGJ1dHRvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGN1c3RvbSBzdWJtaXR0ZXIgcmVuZGVyIGNhbGxpbmcgYHJlc2V0YCwgbmF0aXZlIHR5cGU9XCJyZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBidXR0b25zKS4gQ29uc3VtZXIgb25SZXNldCBydW5zIGZpcnN0OyBjbG9zZU9uUmVzZXQgb3B0cyBvdXQuXG4gICAgICAgICAgICAgICAgICAgICAgICBvblJlc2V0OiAodmFsdWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KHZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNsb3NlT25SZXNldClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgc3VibWl0dGVyOiBzdWJtaXR0ZXIgPT09IGZhbHNlID8gZmFsc2UgOiBPYmplY3QuYXNzaWduKHsgcmVzZXRUZXh0OiAoX2EgPSBkaWFsb2dQcm9wcyA9PT0gbnVsbCB8fCBkaWFsb2dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGlhbG9nUHJvcHMuY2FuY2VsVGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ0NhbmNlbCcgfSwgKHR5cGVvZiBzdWJtaXR0ZXIgPT09ICdvYmplY3QnID8gc3VibWl0dGVyIDoge30pKSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSB9KSB9KSldIH0pKTtcbn07XG5EaWFsb2dGb3JtQmFzZS5kaXNwbGF5TmFtZSA9ICdEaWFsb2dGb3JtJztcbi8qKiBHZW5lcmljLWF3YXJlIGV4cG9ydCDigJQga2VlcHMgYDxEaWFsb2dGb3JtPE15VmFsdWVzPiDigKY+YCBmdWxseSB0eXBlZC4gKi9cbmV4cG9ydCBjb25zdCBEaWFsb2dGb3JtID0gbWVtbyhEaWFsb2dGb3JtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBEaWFsb2dGb3JtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,3 +1,7 @@
1
+ import type { ReactElement } from 'react';
1
2
  import type { DrawerFormProps } from '../interface';
2
- export declare const DrawerForm: import("react").NamedExoticComponent<DrawerFormProps>;
3
+ /** Generic-aware export keeps `<DrawerForm<MyValues> …>` fully typed. */
4
+ export declare const DrawerForm: (<Values = Record<string, unknown>>(props: DrawerFormProps<Values>) => ReactElement | null) & {
5
+ displayName?: string;
6
+ };
3
7
  export default DrawerForm;