@1money/react-ui 1.16.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +393 -0
- package/es/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/es/components/CheckboxGroup/CheckboxGroup.js +94 -91
- package/es/components/CheckboxGroup/interface.d.ts +21 -15
- package/es/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/es/components/Form/Form.d.ts +29 -0
- package/es/components/Form/Form.js +188 -0
- package/es/components/Form/FormItem.d.ts +4 -0
- package/es/components/Form/FormItem.js +165 -0
- package/es/components/Form/FormItemContent.d.ts +18 -0
- package/es/components/Form/FormItemContent.js +146 -0
- package/es/components/Form/constants.d.ts +46 -0
- package/es/components/Form/constants.js +65 -0
- package/es/components/Form/helper.d.ts +120 -0
- package/es/components/Form/helper.js +284 -0
- package/es/components/Form/index.d.ts +20 -0
- package/es/components/Form/index.js +21 -0
- package/es/components/Form/interface.d.ts +238 -0
- package/es/components/Form/interface.js +2 -0
- package/es/components/Form/style/Form.css +1 -0
- package/es/components/Form/style/Form.scss +167 -0
- package/es/components/Form/style/css.js +2 -0
- package/es/components/Form/style/index.d.ts +1 -0
- package/es/components/Form/style/index.js +2 -0
- package/es/components/Form/useFormItemContext.d.ts +32 -0
- package/es/components/Form/useFormItemContext.js +55 -0
- package/es/components/Form/useFormItemWatch.d.ts +51 -0
- package/es/components/Form/useFormItemWatch.js +69 -0
- package/es/components/Form/useValidationTrigger.d.ts +40 -0
- package/es/components/Form/useValidationTrigger.js +74 -0
- package/es/components/Input/Input.js +72 -74
- package/es/components/Input/interface.d.ts +9 -9
- package/es/components/InputAmount/InputAmount.js +228 -276
- package/es/components/InputAmount/helper.d.ts +46 -0
- package/es/components/InputAmount/helper.js +115 -0
- package/es/components/ProForm/ProForm.d.ts +33 -0
- package/es/components/ProForm/ProForm.js +208 -0
- package/es/components/ProForm/ProFormDependency.d.ts +12 -0
- package/es/components/ProForm/ProFormDependency.js +61 -0
- package/es/components/ProForm/ProFormList.d.ts +19 -0
- package/es/components/ProForm/ProFormList.js +348 -0
- package/es/components/ProForm/Submitter.d.ts +21 -0
- package/es/components/ProForm/Submitter.js +76 -0
- package/es/components/ProForm/constants.d.ts +34 -0
- package/es/components/ProForm/constants.js +40 -0
- package/es/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckbox.js +11 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +46 -0
- package/es/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormDigit.js +15 -0
- package/es/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMoney.js +10 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.js +27 -0
- package/es/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormPassword.js +16 -0
- package/es/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormRadio.js +13 -0
- package/es/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSelect.js +13 -0
- package/es/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSwitch.js +11 -0
- package/es/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormText.js +15 -0
- package/es/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormTextArea.js +16 -0
- package/es/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/es/components/ProForm/fields/createProFormField.js +200 -0
- package/es/components/ProForm/fields/index.d.ts +12 -0
- package/es/components/ProForm/fields/index.js +13 -0
- package/es/components/ProForm/index.d.ts +7 -0
- package/es/components/ProForm/index.js +7 -0
- package/es/components/ProForm/interface.d.ts +306 -0
- package/es/components/ProForm/interface.js +2 -0
- package/es/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/es/components/ProForm/layouts/DrawerForm.js +79 -0
- package/es/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/es/components/ProForm/layouts/ModalForm.js +89 -0
- package/es/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/es/components/ProForm/layouts/QueryFilter.js +132 -0
- package/es/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/es/components/ProForm/layouts/StepsForm.js +295 -0
- package/es/components/ProForm/layouts/index.d.ts +4 -0
- package/es/components/ProForm/layouts/index.js +5 -0
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/es/components/ProForm/layouts/useOverlayForm.js +143 -0
- package/es/components/ProForm/style/ProForm.module.css +1 -0
- package/es/components/ProForm/style/ProForm.module.scss +59 -0
- package/es/components/ProForm/style/css.js +3 -0
- package/es/components/ProForm/style/index.d.ts +1 -0
- package/es/components/ProForm/style/index.js +3 -0
- package/es/components/ProForm/utils.d.ts +72 -0
- package/es/components/ProForm/utils.js +206 -0
- package/es/components/RadioGroup/RadioGroup.js +46 -23
- package/es/components/RadioGroup/interface.d.ts +3 -1
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +113 -106
- package/es/components/Select/constants.d.ts +18 -0
- package/es/components/Select/constants.js +19 -0
- package/es/components/Sidebar/Sidebar.js +21 -23
- package/es/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/es/components/Sidebar/SidebarLogo.js +33 -0
- package/es/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/es/components/Sidebar/SimplySidebar.js +18 -22
- package/es/components/Sidebar/Stepper.js +14 -14
- package/es/components/Sidebar/constants.d.ts +16 -0
- package/es/components/Sidebar/constants.js +17 -0
- package/es/components/Sidebar/style/Stepper.css +1 -1
- package/es/components/Sidebar/style/Stepper.scss +11 -1
- package/es/components/Switch/Switch.js +28 -25
- package/es/components/Switch/interface.d.ts +9 -4
- package/es/components/useControlledState/index.d.ts +14 -0
- package/es/components/useControlledState/index.js +32 -0
- package/es/components/useEventCallback/index.d.ts +11 -0
- package/es/components/useEventCallback/index.js +17 -0
- package/es/components/useLayoutEffect/index.d.ts +11 -0
- package/es/components/useLayoutEffect/index.js +17 -0
- package/es/components/useLayoutState/index.d.ts +13 -0
- package/es/components/useLayoutState/index.js +71 -0
- package/es/components/useMemoizedFn/index.d.ts +12 -0
- package/es/components/useMemoizedFn/index.js +27 -0
- package/es/components/usePrevious/index.d.ts +11 -0
- package/es/components/usePrevious/index.js +19 -0
- package/es/components/useSafeState/index.d.ts +12 -0
- package/es/components/useSafeState/index.js +24 -0
- package/es/components/useSyncState/index.d.ts +14 -0
- package/es/components/useSyncState/index.js +37 -0
- package/es/components/useUpdateEffect/index.d.ts +9 -0
- package/es/components/useUpdateEffect/index.js +19 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +21 -2
- package/es/index.js +19 -1
- package/jest.setup.d.ts +1 -0
- package/jest.setup.ts +1 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +92 -89
- package/lib/components/CheckboxGroup/interface.d.ts +21 -15
- package/lib/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/lib/components/Form/Form.d.ts +29 -0
- package/lib/components/Form/Form.js +199 -0
- package/lib/components/Form/FormItem.d.ts +4 -0
- package/lib/components/Form/FormItem.js +176 -0
- package/lib/components/Form/FormItemContent.d.ts +18 -0
- package/lib/components/Form/FormItemContent.js +156 -0
- package/lib/components/Form/constants.d.ts +46 -0
- package/lib/components/Form/constants.js +71 -0
- package/lib/components/Form/helper.d.ts +120 -0
- package/lib/components/Form/helper.js +290 -0
- package/lib/components/Form/index.d.ts +20 -0
- package/lib/components/Form/index.js +45 -0
- package/lib/components/Form/interface.d.ts +238 -0
- package/lib/components/Form/interface.js +6 -0
- package/lib/components/Form/style/Form.css +1 -0
- package/lib/components/Form/style/Form.scss +167 -0
- package/lib/components/Form/style/css.js +4 -0
- package/lib/components/Form/style/index.d.ts +1 -0
- package/lib/components/Form/style/index.js +4 -0
- package/lib/components/Form/useFormItemContext.d.ts +32 -0
- package/lib/components/Form/useFormItemContext.js +62 -0
- package/lib/components/Form/useFormItemWatch.d.ts +51 -0
- package/lib/components/Form/useFormItemWatch.js +76 -0
- package/lib/components/Form/useValidationTrigger.d.ts +40 -0
- package/lib/components/Form/useValidationTrigger.js +81 -0
- package/lib/components/Input/Input.js +71 -73
- package/lib/components/Input/interface.d.ts +9 -9
- package/lib/components/InputAmount/InputAmount.js +230 -278
- package/lib/components/InputAmount/helper.d.ts +46 -0
- package/lib/components/InputAmount/helper.js +122 -0
- package/lib/components/ProForm/ProForm.d.ts +33 -0
- package/lib/components/ProForm/ProForm.js +216 -0
- package/lib/components/ProForm/ProFormDependency.d.ts +12 -0
- package/lib/components/ProForm/ProFormDependency.js +67 -0
- package/lib/components/ProForm/ProFormList.d.ts +19 -0
- package/lib/components/ProForm/ProFormList.js +355 -0
- package/lib/components/ProForm/Submitter.d.ts +21 -0
- package/lib/components/ProForm/Submitter.js +83 -0
- package/lib/components/ProForm/constants.d.ts +34 -0
- package/lib/components/ProForm/constants.js +46 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.js +18 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +53 -0
- package/lib/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormDigit.js +22 -0
- package/lib/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMoney.js +17 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.js +34 -0
- package/lib/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormPassword.js +23 -0
- package/lib/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormRadio.js +20 -0
- package/lib/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSelect.js +20 -0
- package/lib/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSwitch.js +18 -0
- package/lib/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormText.js +22 -0
- package/lib/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormTextArea.js +23 -0
- package/lib/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/lib/components/ProForm/fields/createProFormField.js +208 -0
- package/lib/components/ProForm/fields/index.d.ts +12 -0
- package/lib/components/ProForm/fields/index.js +90 -0
- package/lib/components/ProForm/index.d.ts +7 -0
- package/lib/components/ProForm/index.js +73 -0
- package/lib/components/ProForm/interface.d.ts +306 -0
- package/lib/components/ProForm/interface.js +6 -0
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/DrawerForm.js +86 -0
- package/lib/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/ModalForm.js +96 -0
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/lib/components/ProForm/layouts/QueryFilter.js +139 -0
- package/lib/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/lib/components/ProForm/layouts/StepsForm.js +302 -0
- package/lib/components/ProForm/layouts/index.d.ts +4 -0
- package/lib/components/ProForm/layouts/index.js +40 -0
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/lib/components/ProForm/layouts/useOverlayForm.js +150 -0
- package/lib/components/ProForm/style/ProForm.module.css +1 -0
- package/lib/components/ProForm/style/ProForm.module.scss +59 -0
- package/lib/components/ProForm/style/css.js +4 -0
- package/lib/components/ProForm/style/index.d.ts +1 -0
- package/lib/components/ProForm/style/index.js +4 -0
- package/lib/components/ProForm/utils.d.ts +72 -0
- package/lib/components/ProForm/utils.js +213 -0
- package/lib/components/RadioGroup/RadioGroup.js +45 -22
- package/lib/components/RadioGroup/interface.d.ts +3 -1
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +114 -107
- package/lib/components/Select/constants.d.ts +18 -0
- package/lib/components/Select/constants.js +25 -0
- package/lib/components/Sidebar/Sidebar.js +21 -23
- package/lib/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/lib/components/Sidebar/SidebarLogo.js +39 -0
- package/lib/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/lib/components/Sidebar/SimplySidebar.js +17 -21
- package/lib/components/Sidebar/Stepper.js +14 -14
- package/lib/components/Sidebar/constants.d.ts +16 -0
- package/lib/components/Sidebar/constants.js +23 -0
- package/lib/components/Sidebar/style/Stepper.css +1 -1
- package/lib/components/Sidebar/style/Stepper.scss +11 -1
- package/lib/components/Switch/Switch.js +27 -24
- package/lib/components/Switch/interface.d.ts +9 -4
- package/lib/components/useControlledState/index.d.ts +14 -0
- package/lib/components/useControlledState/index.js +39 -0
- package/lib/components/useEventCallback/index.d.ts +11 -0
- package/lib/components/useEventCallback/index.js +24 -0
- package/lib/components/useLayoutEffect/index.d.ts +11 -0
- package/lib/components/useLayoutEffect/index.js +23 -0
- package/lib/components/useLayoutState/index.d.ts +13 -0
- package/lib/components/useLayoutState/index.js +79 -0
- package/lib/components/useMemoizedFn/index.d.ts +12 -0
- package/lib/components/useMemoizedFn/index.js +33 -0
- package/lib/components/usePrevious/index.d.ts +11 -0
- package/lib/components/usePrevious/index.js +25 -0
- package/lib/components/useSafeState/index.d.ts +12 -0
- package/lib/components/useSafeState/index.js +31 -0
- package/lib/components/useSyncState/index.d.ts +14 -0
- package/lib/components/useSyncState/index.js +44 -0
- package/lib/components/useUpdateEffect/index.d.ts +9 -0
- package/lib/components/useUpdateEffect/index.js +25 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +21 -2
- package/lib/index.js +213 -1
- package/package.json +16 -1
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { FieldPath, FieldValues, UseFormReturn } from 'react-hook-form';
|
|
3
|
+
import type { FormProps, FormItemRules } from '../Form';
|
|
4
|
+
import type { ButtonProps } from '../Button';
|
|
5
|
+
import type { ModalProps } from '../Modal';
|
|
6
|
+
import type { DrawerProps } from '../Drawer';
|
|
7
|
+
/**
|
|
8
|
+
* Common props shared by all ProForm field components created via {@link createProFormField}.
|
|
9
|
+
*
|
|
10
|
+
* @typeParam FieldProps - The props interface of the underlying input component.
|
|
11
|
+
* @typeParam TFieldValues - The form values type (inferred from the parent form).
|
|
12
|
+
*/
|
|
13
|
+
export interface ProFormFieldProps<FieldProps, TFieldValues extends FieldValues = FieldValues> {
|
|
14
|
+
/** Field name path within the form values. */
|
|
15
|
+
name: FieldPath<TFieldValues>;
|
|
16
|
+
/** Label displayed alongside the field. */
|
|
17
|
+
label?: ReactNode;
|
|
18
|
+
/** Validation rules applied to this field. */
|
|
19
|
+
rules?: FormItemRules<TFieldValues>;
|
|
20
|
+
/** Whether the field is required. Adds a required indicator to the label. */
|
|
21
|
+
required?: boolean;
|
|
22
|
+
/** Help text shown below the field. */
|
|
23
|
+
help?: ReactNode;
|
|
24
|
+
/** Extra content rendered beneath the field (after help text). */
|
|
25
|
+
extra?: ReactNode;
|
|
26
|
+
/** Other field names this field depends on for conditional validation. */
|
|
27
|
+
dependencies?: Array<FieldPath<TFieldValues>>;
|
|
28
|
+
/** When validation is triggered — on change, blur, or both. */
|
|
29
|
+
validateTrigger?: 'onChange' | 'onBlur' | Array<'onChange' | 'onBlur'>;
|
|
30
|
+
/** Column span for the label in grid layout. */
|
|
31
|
+
labelCol?: number;
|
|
32
|
+
/** Column span for the input wrapper in grid layout. */
|
|
33
|
+
wrapperCol?: number;
|
|
34
|
+
/** When `true`, renders the field without the `FormItem` wrapper styles. */
|
|
35
|
+
noStyle?: boolean;
|
|
36
|
+
/** When `true`, renders the field value as plain text instead of an input. */
|
|
37
|
+
readonly?: boolean;
|
|
38
|
+
/** When `true`, hides the field entirely (renders nothing). */
|
|
39
|
+
hidden?: boolean;
|
|
40
|
+
/** Grid column configuration for the field when `grid` mode is enabled. */
|
|
41
|
+
colProps?: {
|
|
42
|
+
span?: number;
|
|
43
|
+
};
|
|
44
|
+
/** Props forwarded directly to the underlying input component. */
|
|
45
|
+
fieldProps?: Partial<FieldProps>;
|
|
46
|
+
/** Placeholder text for the input. */
|
|
47
|
+
placeholder?: string;
|
|
48
|
+
/** Whether the field is disabled. */
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
/** Width of the field — a preset name (`'sm'` | `'md'` | `'lg'` | `'xl'`) or a pixel value. */
|
|
51
|
+
width?: 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Props passed to a custom submitter render function.
|
|
55
|
+
*
|
|
56
|
+
* @typeParam TFieldValues - The form values type.
|
|
57
|
+
*/
|
|
58
|
+
export interface SubmitterRenderProps<TFieldValues extends FieldValues = FieldValues> {
|
|
59
|
+
/** The `react-hook-form` form instance. */
|
|
60
|
+
form?: UseFormReturn<TFieldValues>;
|
|
61
|
+
/** Programmatically triggers form submission. */
|
|
62
|
+
submit: () => void;
|
|
63
|
+
/** Programmatically resets the form to its default values. */
|
|
64
|
+
reset: () => void;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Configuration for the form submit/reset button bar.
|
|
68
|
+
*
|
|
69
|
+
* @typeParam TFieldValues - The form values type.
|
|
70
|
+
*/
|
|
71
|
+
export interface SubmitterProps<TFieldValues extends FieldValues = FieldValues> {
|
|
72
|
+
/** Text displayed on the submit button. @default 'Submit' */
|
|
73
|
+
submitText?: ReactNode;
|
|
74
|
+
/** Text displayed on the reset button. @default 'Reset' */
|
|
75
|
+
resetText?: ReactNode;
|
|
76
|
+
/** Custom render function that replaces the default button bar. */
|
|
77
|
+
render?: (props: SubmitterRenderProps<TFieldValues>, dom: ReactElement[]) => ReactNode;
|
|
78
|
+
/** Callback fired when the submit button is clicked. */
|
|
79
|
+
onSubmit?: () => void;
|
|
80
|
+
/** Callback fired when the reset button is clicked. */
|
|
81
|
+
onReset?: () => void;
|
|
82
|
+
/** Additional props forwarded to the submit `<Button>`. */
|
|
83
|
+
submitButtonProps?: ButtonProps;
|
|
84
|
+
/** Additional props forwarded to the reset `<Button>`. */
|
|
85
|
+
resetButtonProps?: ButtonProps;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Props for the {@link ProForm} component — an enhanced form with built-in
|
|
89
|
+
* submitter, grid layout, readonly mode, and async data loading.
|
|
90
|
+
*
|
|
91
|
+
* @typeParam TFieldValues - The form values type.
|
|
92
|
+
*/
|
|
93
|
+
export interface ProFormProps<TFieldValues extends FieldValues = FieldValues> extends Omit<FormProps<TFieldValues>, 'onFinish'> {
|
|
94
|
+
/** Callback invoked with validated form values on successful submission. Return `false` to prevent the default post-submit behavior. */
|
|
95
|
+
onFinish?: (values: TFieldValues) => void | boolean | Promise<void | boolean>;
|
|
96
|
+
/** Submitter button configuration. Pass `false` to hide the button bar entirely. */
|
|
97
|
+
submitter?: false | SubmitterProps<TFieldValues>;
|
|
98
|
+
/** When `true`, all fields render their values as plain text. */
|
|
99
|
+
readonly?: boolean;
|
|
100
|
+
/** When `true`, wraps children in a responsive `<Row>` grid layout. */
|
|
101
|
+
grid?: boolean;
|
|
102
|
+
/** Default column props applied to each field when `grid` is enabled. */
|
|
103
|
+
colProps?: {
|
|
104
|
+
span?: number;
|
|
105
|
+
};
|
|
106
|
+
/** Row props (e.g. `gutter`) applied to the grid wrapper. */
|
|
107
|
+
rowProps?: {
|
|
108
|
+
gutter?: number;
|
|
109
|
+
};
|
|
110
|
+
/** When `true`, disables the form and shows a loading state on the submit button. */
|
|
111
|
+
loading?: boolean;
|
|
112
|
+
/** Async function to fetch initial/remote form values. Called when `params` change. */
|
|
113
|
+
request?: (params?: Record<string, unknown>) => Promise<TFieldValues>;
|
|
114
|
+
/** Parameters passed to the `request` function. Changing these re-triggers the request. */
|
|
115
|
+
params?: Record<string, unknown>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Shared props for overlay-based ProForm containers (e.g., modal and drawer).
|
|
119
|
+
*/
|
|
120
|
+
export interface OverlayFormProps {
|
|
121
|
+
/** Controlled open state of the overlay. */
|
|
122
|
+
open?: boolean;
|
|
123
|
+
/** Callback fired when the overlay open state changes. */
|
|
124
|
+
onOpenChange?: (open: boolean) => void;
|
|
125
|
+
/** Element that opens the overlay when clicked. */
|
|
126
|
+
trigger?: ReactElement;
|
|
127
|
+
/** Delay (ms) before the overlay closes after a successful submit. */
|
|
128
|
+
submitTimeout?: number;
|
|
129
|
+
/** Whether the overlay closes automatically after a successful submit. @default true */
|
|
130
|
+
autoClose?: boolean;
|
|
131
|
+
/** Whether the overlay content is destroyed when closed. @default true */
|
|
132
|
+
destroyOnClose?: boolean;
|
|
133
|
+
/** Width of the overlay container. */
|
|
134
|
+
width?: string | number;
|
|
135
|
+
/** Title shown in the overlay header. */
|
|
136
|
+
title?: ReactNode;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Props for {@link ModalForm} — a ProForm rendered inside a modal dialog.
|
|
140
|
+
*
|
|
141
|
+
* @typeParam TFieldValues - The form values type.
|
|
142
|
+
*/
|
|
143
|
+
export interface ModalFormProps<TFieldValues extends FieldValues = FieldValues> extends ProFormProps<TFieldValues>, OverlayFormProps {
|
|
144
|
+
/** Props forwarded to the underlying `<Modal>` component. */
|
|
145
|
+
modalProps?: ModalProps;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Props for {@link DrawerForm} — a ProForm rendered inside a side drawer.
|
|
149
|
+
*
|
|
150
|
+
* @typeParam TFieldValues - The form values type.
|
|
151
|
+
*/
|
|
152
|
+
export interface DrawerFormProps<TFieldValues extends FieldValues = FieldValues> extends ProFormProps<TFieldValues>, OverlayFormProps {
|
|
153
|
+
/** Props forwarded to the underlying `<Drawer>` component. */
|
|
154
|
+
drawerProps?: DrawerProps;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Props for an individual step inside {@link StepsForm}.
|
|
158
|
+
*
|
|
159
|
+
* @typeParam TFieldValues - The form values type.
|
|
160
|
+
*/
|
|
161
|
+
export interface StepFormProps<TFieldValues extends FieldValues = FieldValues> extends ProFormProps<TFieldValues> {
|
|
162
|
+
/** Title displayed above the step form. */
|
|
163
|
+
title?: ReactNode;
|
|
164
|
+
/** Description displayed below the step title. */
|
|
165
|
+
description?: ReactNode;
|
|
166
|
+
/** Additional HTML/aria props for the step container. */
|
|
167
|
+
stepProps?: Record<string, unknown>;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Submitter configuration specific to {@link StepsForm}, adding previous/next navigation.
|
|
171
|
+
*
|
|
172
|
+
* @typeParam TFieldValues - The form values type.
|
|
173
|
+
*/
|
|
174
|
+
export interface StepsSubmitterProps<TFieldValues extends FieldValues = FieldValues> extends SubmitterProps<TFieldValues> {
|
|
175
|
+
/** Text for the "previous step" button. @default 'Previous' */
|
|
176
|
+
prevText?: ReactNode;
|
|
177
|
+
/** Text for the "next step" button. @default 'Next' */
|
|
178
|
+
nextText?: ReactNode;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Submitter configuration specific to {@link QueryFilter}, adding
|
|
182
|
+
* collapse/expand button text overrides.
|
|
183
|
+
*
|
|
184
|
+
* @typeParam TFieldValues - The form values type.
|
|
185
|
+
*/
|
|
186
|
+
export interface QueryFilterSubmitterProps<TFieldValues extends FieldValues = FieldValues> extends SubmitterProps<TFieldValues> {
|
|
187
|
+
/** Text overrides for the collapse/expand toggle in {@link QueryFilter}. */
|
|
188
|
+
searchConfig?: {
|
|
189
|
+
collapseText?: ReactNode;
|
|
190
|
+
expandText?: ReactNode;
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Props for {@link StepsForm} — a multi-step wizard form that collects
|
|
195
|
+
* values across steps and submits them together on the final step.
|
|
196
|
+
*
|
|
197
|
+
* @typeParam TFieldValues - The form values type.
|
|
198
|
+
*/
|
|
199
|
+
export interface StepsFormProps<TFieldValues extends FieldValues = FieldValues> {
|
|
200
|
+
/** Controlled active step index (0-based). */
|
|
201
|
+
current?: number;
|
|
202
|
+
/** Callback fired when the active step changes. */
|
|
203
|
+
onCurrentChange?: (current: number) => void;
|
|
204
|
+
/** Callback invoked with all merged step values when the final step is submitted. */
|
|
205
|
+
onFinish?: (values: TFieldValues) => void | Promise<void>;
|
|
206
|
+
/** Additional HTML/aria props for the steps wrapper. */
|
|
207
|
+
stepsProps?: Record<string, unknown>;
|
|
208
|
+
/** Shared form props applied to every step's `<ProForm>`. */
|
|
209
|
+
formProps?: Partial<ProFormProps<TFieldValues>>;
|
|
210
|
+
/** Submitter configuration with step navigation. Pass `false` to hide. */
|
|
211
|
+
submitter?: false | StepsSubmitterProps<TFieldValues>;
|
|
212
|
+
/** One or more `<StepForm>` elements representing each wizard step. */
|
|
213
|
+
children: ReactElement<StepFormProps<TFieldValues>> | ReactElement<StepFormProps<TFieldValues>>[];
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Props for {@link QueryFilter} — a horizontal search/filter form with
|
|
217
|
+
* collapsible fields and a search/reset button bar.
|
|
218
|
+
*
|
|
219
|
+
* @typeParam TFieldValues - The form values type.
|
|
220
|
+
*/
|
|
221
|
+
export interface QueryFilterProps<TFieldValues extends FieldValues = FieldValues> extends Omit<ProFormProps<TFieldValues>, 'submitter'> {
|
|
222
|
+
/** Whether the filter is collapsed by default. @default true */
|
|
223
|
+
defaultCollapsed?: boolean;
|
|
224
|
+
/** Controlled collapsed state. */
|
|
225
|
+
collapsed?: boolean;
|
|
226
|
+
/** Callback fired when the collapsed state changes. */
|
|
227
|
+
onCollapse?: (collapsed: boolean) => void;
|
|
228
|
+
/** Number of fields visible when collapsed. @default 3 */
|
|
229
|
+
defaultColsNumber?: number;
|
|
230
|
+
/** Fixed label width in pixels, or `'auto'`. */
|
|
231
|
+
labelWidth?: number | 'auto';
|
|
232
|
+
/** When `true`, adds a visual separator between filters. */
|
|
233
|
+
split?: boolean;
|
|
234
|
+
/** Callback fired when the reset button is clicked. */
|
|
235
|
+
onReset?: () => void;
|
|
236
|
+
/** Submitter configuration for search/reset/collapse actions. Pass `false` to hide. */
|
|
237
|
+
submitter?: false | QueryFilterSubmitterProps<TFieldValues>;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Imperative action handle exposed by {@link ProFormList} for programmatic list manipulation.
|
|
241
|
+
*/
|
|
242
|
+
export interface ProFormListAction {
|
|
243
|
+
/** Appends or inserts a new row with optional default values. */
|
|
244
|
+
add: (defaultValue?: Record<string, unknown>, index?: number) => void;
|
|
245
|
+
/** Removes the row at the given index. */
|
|
246
|
+
remove: (index: number) => void;
|
|
247
|
+
/** Moves a row from one index to another. */
|
|
248
|
+
move: (from: number, to: number) => void;
|
|
249
|
+
/** Duplicates the row at the given index. */
|
|
250
|
+
copy: (index: number) => void;
|
|
251
|
+
/** Returns the current list of row values. */
|
|
252
|
+
getList: () => Record<string, unknown>[];
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Props for {@link ProFormList} — a dynamic, repeatable form field list
|
|
256
|
+
* with add/remove/copy/sort capabilities.
|
|
257
|
+
*
|
|
258
|
+
* @typeParam TFieldValues - The form values type.
|
|
259
|
+
*/
|
|
260
|
+
export interface ProFormListProps<TFieldValues extends FieldValues = FieldValues> {
|
|
261
|
+
/** Field name path for the array within the form values. */
|
|
262
|
+
name: FieldPath<TFieldValues>;
|
|
263
|
+
/** Label displayed above the list. */
|
|
264
|
+
label?: ReactNode;
|
|
265
|
+
/** Minimum number of rows (prevents removal below this count). */
|
|
266
|
+
min?: number;
|
|
267
|
+
/** Maximum number of rows (prevents adding above this count). */
|
|
268
|
+
max?: number;
|
|
269
|
+
/** Initial row values populated when the list is first rendered. */
|
|
270
|
+
initialValue?: Record<string, unknown>[];
|
|
271
|
+
/** Props for the copy icon button. Pass `false` to hide. */
|
|
272
|
+
copyIconProps?: false | Record<string, unknown>;
|
|
273
|
+
/** Props for the delete icon button. Pass `false` to hide. */
|
|
274
|
+
deleteIconProps?: false | Record<string, unknown>;
|
|
275
|
+
/** Props for the "add row" button. Pass `false` to hide. */
|
|
276
|
+
creatorButtonProps?: false | (ButtonProps & {
|
|
277
|
+
/** Button label text. @default 'Add' */
|
|
278
|
+
text?: ReactNode;
|
|
279
|
+
/** Position of the add button relative to the list. @default 'bottom' */
|
|
280
|
+
position?: 'top' | 'bottom';
|
|
281
|
+
});
|
|
282
|
+
/** When `true`, rows can be reordered via drag-and-drop. */
|
|
283
|
+
sortable?: boolean;
|
|
284
|
+
/** Custom render function for each list row. */
|
|
285
|
+
itemRender?: (props: {
|
|
286
|
+
listDom: ReactNode;
|
|
287
|
+
action: ProFormListAction;
|
|
288
|
+
}) => ReactNode;
|
|
289
|
+
/** Custom render function for the action buttons of each row. */
|
|
290
|
+
actionRender?: (row: {
|
|
291
|
+
index: number;
|
|
292
|
+
record: unknown;
|
|
293
|
+
}, action: ProFormListAction, defaultDom: {
|
|
294
|
+
delete: ReactNode;
|
|
295
|
+
copy: ReactNode;
|
|
296
|
+
}) => ReactNode[];
|
|
297
|
+
/** Row content — either static ReactNode or a render function receiving field metadata and actions. */
|
|
298
|
+
children: ReactNode | ((fields: {
|
|
299
|
+
name: string;
|
|
300
|
+
key: string;
|
|
301
|
+
}[], action: ProFormListAction) => ReactNode);
|
|
302
|
+
/** Callback fired after a row is added. */
|
|
303
|
+
onAfterAdd?: (defaultValue: Record<string, unknown>, insertIndex: number) => void;
|
|
304
|
+
/** Callback fired after a row is removed. */
|
|
305
|
+
onAfterRemove?: (index: number) => void;
|
|
306
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9Qcm9Gb3JtL2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FieldValues } from 'react-hook-form';
|
|
2
|
+
import type { DrawerFormProps } from '../interface';
|
|
3
|
+
/**
|
|
4
|
+
* A {@link ProForm} displayed inside a side drawer panel.
|
|
5
|
+
*
|
|
6
|
+
* Supports controlled/uncontrolled open state, a trigger element, auto-close
|
|
7
|
+
* on submit, and optional close timeout.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam TFieldValues - The form values type.
|
|
10
|
+
*/
|
|
11
|
+
declare function DrawerFormBase<TFieldValues extends FieldValues = FieldValues>(props: DrawerFormProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare namespace DrawerFormBase {
|
|
13
|
+
var displayName: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const DrawerForm: typeof DrawerFormBase;
|
|
16
|
+
export default DrawerForm;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.DrawerForm = void 0;
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _classnames = require("../../../utils/classnames");
|
|
11
|
+
var _Drawer = require("../../Drawer");
|
|
12
|
+
var _ProForm = _interopRequireDefault(require("../ProForm"));
|
|
13
|
+
var _constants = require("../constants");
|
|
14
|
+
var _ProFormModule = _interopRequireDefault(require("../style/ProForm.module.scss"));
|
|
15
|
+
var _useOverlayForm2 = require("./useOverlayForm");
|
|
16
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
17
|
+
var t = {};
|
|
18
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
19
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
20
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* A {@link ProForm} displayed inside a side drawer panel.
|
|
26
|
+
*
|
|
27
|
+
* Supports controlled/uncontrolled open state, a trigger element, auto-close
|
|
28
|
+
* on submit, and optional close timeout.
|
|
29
|
+
*
|
|
30
|
+
* @typeParam TFieldValues - The form values type.
|
|
31
|
+
*/
|
|
32
|
+
function DrawerFormBase(props) {
|
|
33
|
+
var _a;
|
|
34
|
+
var open = props.open,
|
|
35
|
+
onOpenChange = props.onOpenChange,
|
|
36
|
+
trigger = props.trigger,
|
|
37
|
+
drawerProps = props.drawerProps,
|
|
38
|
+
submitTimeout = props.submitTimeout,
|
|
39
|
+
_props$autoClose = props.autoClose,
|
|
40
|
+
autoClose = _props$autoClose === void 0 ? true : _props$autoClose,
|
|
41
|
+
_props$destroyOnClose = props.destroyOnClose,
|
|
42
|
+
destroyOnClose = _props$destroyOnClose === void 0 ? true : _props$destroyOnClose,
|
|
43
|
+
width = props.width,
|
|
44
|
+
title = props.title,
|
|
45
|
+
onFinish = props.onFinish,
|
|
46
|
+
children = props.children,
|
|
47
|
+
formProps = __rest(props, ["open", "onOpenChange", "trigger", "drawerProps", "submitTimeout", "autoClose", "destroyOnClose", "width", "title", "onFinish", "children"]);
|
|
48
|
+
var drawerPropsObj = drawerProps !== null && drawerProps !== void 0 ? drawerProps : {};
|
|
49
|
+
var _useOverlayForm = (0, _useOverlayForm2.useOverlayForm)({
|
|
50
|
+
open: open,
|
|
51
|
+
onOpenChange: onOpenChange,
|
|
52
|
+
trigger: trigger,
|
|
53
|
+
submitTimeout: submitTimeout,
|
|
54
|
+
autoClose: autoClose,
|
|
55
|
+
destroyOnClose: destroyOnClose,
|
|
56
|
+
width: width,
|
|
57
|
+
onFinish: onFinish,
|
|
58
|
+
overlayStyle: drawerPropsObj.style,
|
|
59
|
+
onOverlayHide: drawerPropsObj.onHide
|
|
60
|
+
}),
|
|
61
|
+
mergedOpen = _useOverlayForm.mergedOpen,
|
|
62
|
+
shouldRenderPanel = _useOverlayForm.shouldRenderPanel,
|
|
63
|
+
triggerNode = _useOverlayForm.triggerNode,
|
|
64
|
+
handleFinish = _useOverlayForm.handleFinish,
|
|
65
|
+
handleHide = _useOverlayForm.handleHide,
|
|
66
|
+
mergedStyle = _useOverlayForm.mergedStyle;
|
|
67
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
68
|
+
children: [triggerNode, shouldRenderPanel && (0, _jsxRuntime.jsx)(_Drawer.Drawer, Object.assign({}, drawerProps, {
|
|
69
|
+
visible: mergedOpen,
|
|
70
|
+
header: (_a = drawerPropsObj.header) !== null && _a !== void 0 ? _a : title,
|
|
71
|
+
style: mergedStyle,
|
|
72
|
+
onHide: handleHide,
|
|
73
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
74
|
+
className: (0, _classnames.joinCls)(_ProFormModule["default"]['proform__drawer-form'], "".concat(_constants.CSS_PREFIX, "-drawer-form")),
|
|
75
|
+
children: (0, _jsxRuntime.jsx)(_ProForm["default"], Object.assign({}, formProps, {
|
|
76
|
+
onFinish: handleFinish,
|
|
77
|
+
children: children
|
|
78
|
+
}))
|
|
79
|
+
})
|
|
80
|
+
}))]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
DrawerFormBase.displayName = 'DrawerForm';
|
|
84
|
+
var DrawerForm = exports.DrawerForm = /*#__PURE__*/(0, _react.memo)(DrawerFormBase);
|
|
85
|
+
var _default = exports["default"] = DrawerForm;
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RyYXdlckZvcm0uanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RyYXdlckZvcm0udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9jbGFzc25hbWVzIiwiX0RyYXdlciIsIl9Qcm9Gb3JtIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdGFudHMiLCJfUHJvRm9ybU1vZHVsZSIsIl91c2VPdmVybGF5Rm9ybTIiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIkRyYXdlckZvcm1CYXNlIiwicHJvcHMiLCJfYSIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJ0cmlnZ2VyIiwiZHJhd2VyUHJvcHMiLCJzdWJtaXRUaW1lb3V0IiwiX3Byb3BzJGF1dG9DbG9zZSIsImF1dG9DbG9zZSIsIl9wcm9wcyRkZXN0cm95T25DbG9zZSIsImRlc3Ryb3lPbkNsb3NlIiwid2lkdGgiLCJ0aXRsZSIsIm9uRmluaXNoIiwiY2hpbGRyZW4iLCJmb3JtUHJvcHMiLCJkcmF3ZXJQcm9wc09iaiIsIl91c2VPdmVybGF5Rm9ybSIsInVzZU92ZXJsYXlGb3JtIiwib3ZlcmxheVN0eWxlIiwic3R5bGUiLCJvbk92ZXJsYXlIaWRlIiwib25IaWRlIiwibWVyZ2VkT3BlbiIsInNob3VsZFJlbmRlclBhbmVsIiwidHJpZ2dlck5vZGUiLCJoYW5kbGVGaW5pc2giLCJoYW5kbGVIaWRlIiwibWVyZ2VkU3R5bGUiLCJfanN4cyIsIl9GcmFnbWVudCIsIl9qc3giLCJEcmF3ZXIiLCJhc3NpZ24iLCJ2aXNpYmxlIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiam9pbkNscyIsInN0eWxlcyIsImNvbmNhdCIsIkNTU19QUkVGSVgiLCJQcm9Gb3JtIiwiZGlzcGxheU5hbWUiLCJEcmF3ZXJGb3JtIiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFRLGdCQUFBLEdBQUFSLE9BQUE7QUROQSxJQUFJUyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENB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bUIsTUFBZ0MsTUFBQSxJQUFBLElBQUFsQyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSVcsS0FBSztNQUNqRVEsS0FBSyxFQUFFUSxXQUFXO01BQ2xCTixNQUFNLEVBQUVLLFVBQVU7TUFBQWIsUUFBQSxFQUVsQixJQUFBaUIsZUFBQSxFQUFBLEtBQUEsRUFBQTtRQUFLSyxTQUFTLEVBQUUsSUFBQUMsbUJBQU8sRUFBQ0MseUJBQU0sQ0FBQyxzQkFBc0IsQ0FBQyxLQUFBQyxNQUFBLENBQUtDLHFCQUFVLGlCQUFjLENBQUM7UUFBQTFCLFFBQUEsRUFDbEYsSUFBQWlCLGVBQUEsRUFBQ1UsbUJBQU8sRUFBQW5ELE1BQUEsQ0FBQTJDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDRmxCLFNBQVMsRUFBQTtVQUNiRixRQUFRLEVBQUVhLFlBQVk7VUFBQVosUUFBQSxFQUVyQkE7UUFBUSxDQUFBLENBQUE7TUFDRCxDQUFBO0lBQ04sQ0FBQSxDQUFBLENBRVQ7RUFBQSxDQUFBLENBQ0E7QUFFUDtBQUVBZixjQUFjLENBQUMyQyxXQUFXLEdBQUcsWUFBWTtBQUVsQyxJQUFNQyxVQUFVLEdBQUFDLE9BQUEsQ0FBQUQsVUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUM5QyxjQUFjLENBQTBCO0FBQUMsSUFBQStDLFFBQUEsR0FBQUYsT0FBQSxjQUV6REQsVUFBVSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9EcmF3ZXJGb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IERyYXdlciB9IGZyb20gJy4uLy4uL0RyYXdlcic7XG5pbXBvcnQgUHJvRm9ybSBmcm9tICcuLi9Qcm9Gb3JtJztcbmltcG9ydCB7IENTU19QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuLi9zdHlsZS9Qcm9Gb3JtLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IHVzZU92ZXJsYXlGb3JtIH0gZnJvbSAnLi91c2VPdmVybGF5Rm9ybSc7XG4vKipcbiAqIEEge0BsaW5rIFByb0Zvcm19IGRpc3BsYXllZCBpbnNpZGUgYSBzaWRlIGRyYXdlciBwYW5lbC5cbiAqXG4gKiBTdXBwb3J0cyBjb250cm9sbGVkL3VuY29udHJvbGxlZCBvcGVuIHN0YXRlLCBhIHRyaWdnZXIgZWxlbWVudCwgYXV0by1jbG9zZVxuICogb24gc3VibWl0LCBhbmQgb3B0aW9uYWwgY2xvc2UgdGltZW91dC5cbiAqXG4gKiBAdHlwZVBhcmFtIFRGaWVsZFZhbHVlcyAtIFRoZSBmb3JtIHZhbHVlcyB0eXBlLlxuICovXG5mdW5jdGlvbiBEcmF3ZXJGb3JtQmFzZShwcm9wcykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IG9wZW4sIG9uT3BlbkNoYW5nZSwgdHJpZ2dlciwgZHJhd2VyUHJvcHMsIHN1Ym1pdFRpbWVvdXQsIGF1dG9DbG9zZSA9IHRydWUsIGRlc3Ryb3lPbkNsb3NlID0gdHJ1ZSwgd2lkdGgsIHRpdGxlLCBvbkZpbmlzaCwgY2hpbGRyZW4gfSA9IHByb3BzLCBmb3JtUHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm9wZW5cIiwgXCJvbk9wZW5DaGFuZ2VcIiwgXCJ0cmlnZ2VyXCIsIFwiZHJhd2VyUHJvcHNcIiwgXCJzdWJtaXRUaW1lb3V0XCIsIFwiYXV0b0Nsb3NlXCIsIFwiZGVzdHJveU9uQ2xvc2VcIiwgXCJ3aWR0aFwiLCBcInRpdGxlXCIsIFwib25GaW5pc2hcIiwgXCJjaGlsZHJlblwiXSk7XG4gICAgY29uc3QgZHJhd2VyUHJvcHNPYmogPSAoZHJhd2VyUHJvcHMgIT09IG51bGwgJiYgZHJhd2VyUHJvcHMgIT09IHZvaWQgMCA/IGRyYXdlclByb3BzIDoge30pO1xuICAgIGNvbnN0IHsgbWVyZ2VkT3Blbiwgc2hvdWxkUmVuZGVyUGFuZWwsIHRyaWdnZXJOb2RlLCBoYW5kbGVGaW5pc2gsIGhhbmRsZUhpZGUsIG1lcmdlZFN0eWxlLCB9ID0gdXNlT3ZlcmxheUZvcm0oe1xuICAgICAgICBvcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICAgIHRyaWdnZXIsXG4gICAgICAgIHN1Ym1pdFRpbWVvdXQsXG4gICAgICAgIGF1dG9DbG9zZSxcbiAgICAgICAgZGVzdHJveU9uQ2xvc2UsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBvbkZpbmlzaCxcbiAgICAgICAgb3ZlcmxheVN0eWxlOiBkcmF3ZXJQcm9wc09iai5zdHlsZSxcbiAgICAgICAgb25PdmVybGF5SGlkZTogZHJhd2VyUHJvcHNPYmoub25IaWRlLFxuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbdHJpZ2dlck5vZGUsIHNob3VsZFJlbmRlclBhbmVsICYmIChfanN4KERyYXdlciwgT2JqZWN0LmFzc2lnbih7fSwgZHJhd2VyUHJvcHMsIHsgdmlzaWJsZTogbWVyZ2VkT3BlbiwgaGVhZGVyOiAoX2EgPSBkcmF3ZXJQcm9wc09iai5oZWFkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRpdGxlLCBzdHlsZTogbWVyZ2VkU3R5bGUsIG9uSGlkZTogaGFuZGxlSGlkZSwgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoc3R5bGVzWydwcm9mb3JtX19kcmF3ZXItZm9ybSddLCBgJHtDU1NfUFJFRklYfS1kcmF3ZXItZm9ybWApLCBjaGlsZHJlbjogX2pzeChQcm9Gb3JtLCBPYmplY3QuYXNzaWduKHt9LCBmb3JtUHJvcHMsIHsgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSB9KSB9KSkpXSB9KSk7XG59XG5EcmF3ZXJGb3JtQmFzZS5kaXNwbGF5TmFtZSA9ICdEcmF3ZXJGb3JtJztcbmV4cG9ydCBjb25zdCBEcmF3ZXJGb3JtID0gbWVtbyhEcmF3ZXJGb3JtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBEcmF3ZXJGb3JtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FieldValues } from 'react-hook-form';
|
|
2
|
+
import type { ModalFormProps } from '../interface';
|
|
3
|
+
/**
|
|
4
|
+
* A {@link ProForm} displayed inside a modal dialog.
|
|
5
|
+
*
|
|
6
|
+
* Supports controlled/uncontrolled open state, a trigger element, auto-close
|
|
7
|
+
* on submit, and optional close timeout.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam TFieldValues - The form values type.
|
|
10
|
+
*/
|
|
11
|
+
declare function ModalFormBase<TFieldValues extends FieldValues = FieldValues>(props: ModalFormProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare namespace ModalFormBase {
|
|
13
|
+
var displayName: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const ModalForm: typeof ModalFormBase;
|
|
16
|
+
export default ModalForm;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.ModalForm = void 0;
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _classnames = require("../../../utils/classnames");
|
|
11
|
+
var _Modal = require("../../Modal");
|
|
12
|
+
var _ProForm = _interopRequireDefault(require("../ProForm"));
|
|
13
|
+
var _constants = require("../constants");
|
|
14
|
+
var _ProFormModule = _interopRequireDefault(require("../style/ProForm.module.scss"));
|
|
15
|
+
var _useOverlayForm2 = require("./useOverlayForm");
|
|
16
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
17
|
+
var t = {};
|
|
18
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
19
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
20
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* A {@link ProForm} displayed inside a modal dialog.
|
|
26
|
+
*
|
|
27
|
+
* Supports controlled/uncontrolled open state, a trigger element, auto-close
|
|
28
|
+
* on submit, and optional close timeout.
|
|
29
|
+
*
|
|
30
|
+
* @typeParam TFieldValues - The form values type.
|
|
31
|
+
*/
|
|
32
|
+
function ModalFormBase(props) {
|
|
33
|
+
var _a;
|
|
34
|
+
var open = props.open,
|
|
35
|
+
onOpenChange = props.onOpenChange,
|
|
36
|
+
trigger = props.trigger,
|
|
37
|
+
modalProps = props.modalProps,
|
|
38
|
+
submitTimeout = props.submitTimeout,
|
|
39
|
+
_props$autoClose = props.autoClose,
|
|
40
|
+
autoClose = _props$autoClose === void 0 ? true : _props$autoClose,
|
|
41
|
+
_props$destroyOnClose = props.destroyOnClose,
|
|
42
|
+
destroyOnClose = _props$destroyOnClose === void 0 ? true : _props$destroyOnClose,
|
|
43
|
+
width = props.width,
|
|
44
|
+
title = props.title,
|
|
45
|
+
onFinish = props.onFinish,
|
|
46
|
+
children = props.children,
|
|
47
|
+
formProps = __rest(props, ["open", "onOpenChange", "trigger", "modalProps", "submitTimeout", "autoClose", "destroyOnClose", "width", "title", "onFinish", "children"]);
|
|
48
|
+
var modalRef = (0, _react.useRef)(null);
|
|
49
|
+
var _useOverlayForm = (0, _useOverlayForm2.useOverlayForm)({
|
|
50
|
+
open: open,
|
|
51
|
+
onOpenChange: onOpenChange,
|
|
52
|
+
trigger: trigger,
|
|
53
|
+
submitTimeout: submitTimeout,
|
|
54
|
+
autoClose: autoClose,
|
|
55
|
+
destroyOnClose: destroyOnClose,
|
|
56
|
+
width: width,
|
|
57
|
+
onFinish: onFinish,
|
|
58
|
+
overlayStyle: modalProps === null || modalProps === void 0 ? void 0 : modalProps.style,
|
|
59
|
+
onOverlayHide: modalProps === null || modalProps === void 0 ? void 0 : modalProps.onHide
|
|
60
|
+
}),
|
|
61
|
+
mergedOpen = _useOverlayForm.mergedOpen,
|
|
62
|
+
shouldRenderPanel = _useOverlayForm.shouldRenderPanel,
|
|
63
|
+
triggerNode = _useOverlayForm.triggerNode,
|
|
64
|
+
handleFinish = _useOverlayForm.handleFinish,
|
|
65
|
+
handleHide = _useOverlayForm.handleHide,
|
|
66
|
+
mergedStyle = _useOverlayForm.mergedStyle;
|
|
67
|
+
(0, _react.useEffect)(function () {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
if (!shouldRenderPanel) return;
|
|
70
|
+
if (mergedOpen) {
|
|
71
|
+
(_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.show();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
(_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.hide();
|
|
75
|
+
}, [mergedOpen, shouldRenderPanel]);
|
|
76
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
77
|
+
children: [triggerNode, shouldRenderPanel && (0, _jsxRuntime.jsx)(_Modal.Modal, Object.assign({
|
|
78
|
+
ref: modalRef
|
|
79
|
+
}, modalProps, {
|
|
80
|
+
header: (_a = modalProps === null || modalProps === void 0 ? void 0 : modalProps.header) !== null && _a !== void 0 ? _a : title,
|
|
81
|
+
style: mergedStyle,
|
|
82
|
+
onHide: handleHide,
|
|
83
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
84
|
+
className: (0, _classnames.joinCls)(_ProFormModule["default"]['proform__modal-form'], "".concat(_constants.CSS_PREFIX, "-modal-form")),
|
|
85
|
+
children: (0, _jsxRuntime.jsx)(_ProForm["default"], Object.assign({}, formProps, {
|
|
86
|
+
onFinish: handleFinish,
|
|
87
|
+
children: children
|
|
88
|
+
}))
|
|
89
|
+
})
|
|
90
|
+
}))]
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
ModalFormBase.displayName = 'ModalForm';
|
|
94
|
+
var ModalForm = exports.ModalForm = /*#__PURE__*/(0, _react.memo)(ModalFormBase);
|
|
95
|
+
var _default = exports["default"] = ModalForm;
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL01vZGFsRm9ybS5qcyIsImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvTW9kYWxGb3JtLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY2xhc3NuYW1lcyIsIl9Nb2RhbCIsIl9Qcm9Gb3JtIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdGFudHMiLCJfUHJvRm9ybU1vZHVsZSIsIl91c2VPdmVybGF5Rm9ybTIiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIk1vZGFsRm9ybUJhc2UiLCJwcm9wcyIsIl9hIiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsInRyaWdnZXIiLCJtb2RhbFByb3BzIiwic3VibWl0VGltZW91dCIsIl9wcm9wcyRhdXRvQ2xvc2UiLCJhdXRvQ2xvc2UiLCJfcHJvcHMkZGVzdHJveU9uQ2xvc2UiLCJkZXN0cm95T25DbG9zZSIsIndpZHRoIiwidGl0bGUiLCJvbkZpbmlzaCIsImNoaWxkcmVuIiwiZm9ybVByb3BzIiwibW9kYWxSZWYiLCJ1c2VSZWYiLCJfdXNlT3ZlcmxheUZvcm0iLCJ1c2VPdmVybGF5Rm9ybSIsIm92ZXJsYXlTdHlsZSIsInN0eWxlIiwib25PdmVybGF5SGlkZSIsIm9uSGlkZSIsIm1lcmdlZE9wZW4iLCJzaG91bGRSZW5kZXJQYW5lbCIsInRyaWdnZXJOb2RlIiwiaGFuZGxlRmluaXNoIiwiaGFuZGxlSGlkZSIsIm1lcmdlZFN0eWxlIiwidXNlRWZmZWN0IiwiX2IiLCJjdXJyZW50Iiwic2hvdyIsImhpZGUiLCJfanN4cyIsIl9GcmFnbWVudCIsIl9qc3giLCJNb2RhbCIsImFzc2lnbiIsInJlZiIsImhlYWRlciIsImNsYXNzTmFtZSIsImpvaW5DbHMiLCJzdHlsZXMiLCJjb25jYXQiLCJDU1NfUFJFRklYIiwiUHJvRm9ybSIsImRpc3BsYXlOYW1lIiwiTW9kYWxGb3JtIiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFRLGdCQUFBLEdBQUFSLE9BQUE7QUROQSxJQUFJUyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVB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QUEsQ0FBQSxDQUFBLENBQUEsRUFDRnhCLFNBQVMsRUFBQTtVQUNiRixRQUFRLEVBQUVjLFlBQVk7VUFBQWIsUUFBQSxFQUVyQkE7UUFBUSxDQUFBLENBQUE7TUFDRCxDQUFBO0lBQ04sQ0FBQSxDQUFBLENBRVQ7RUFBQSxDQUFBLENBQ0E7QUFFUDtBQUVBZixhQUFhLENBQUNpRCxXQUFXLEdBQUcsV0FBVztBQUVoQyxJQUFNQyxTQUFTLEdBQUFDLE9BQUEsQ0FBQUQsU0FBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUNwRCxhQUFhLENBQXlCO0FBQUMsSUFBQXFELFFBQUEsR0FBQUYsT0FBQSxjQUV0REQsU0FBUyIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9Nb2RhbEZvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwgRnJhZ21lbnQgYXMgX0ZyYWdtZW50LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnLi4vLi4vTW9kYWwnO1xuaW1wb3J0IFByb0Zvcm0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBDU1NfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi4vc3R5bGUvUHJvRm9ybS5tb2R1bGUuc2Nzcyc7XG5pbXBvcnQgeyB1c2VPdmVybGF5Rm9ybSB9IGZyb20gJy4vdXNlT3ZlcmxheUZvcm0nO1xuLyoqXG4gKiBBIHtAbGluayBQcm9Gb3JtfSBkaXNwbGF5ZWQgaW5zaWRlIGEgbW9kYWwgZGlhbG9nLlxuICpcbiAqIFN1cHBvcnRzIGNvbnRyb2xsZWQvdW5jb250cm9sbGVkIG9wZW4gc3RhdGUsIGEgdHJpZ2dlciBlbGVtZW50LCBhdXRvLWNsb3NlXG4gKiBvbiBzdWJtaXQsIGFuZCBvcHRpb25hbCBjbG9zZSB0aW1lb3V0LlxuICpcbiAqIEB0eXBlUGFyYW0gVEZpZWxkVmFsdWVzIC0gVGhlIGZvcm0gdmFsdWVzIHR5cGUuXG4gKi9cbmZ1bmN0aW9uIE1vZGFsRm9ybUJhc2UocHJvcHMpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBvcGVuLCBvbk9wZW5DaGFuZ2UsIHRyaWdnZXIsIG1vZGFsUHJvcHMsIHN1Ym1pdFRpbWVvdXQsIGF1dG9DbG9zZSA9IHRydWUsIGRlc3Ryb3lPbkNsb3NlID0gdHJ1ZSwgd2lkdGgsIHRpdGxlLCBvbkZpbmlzaCwgY2hpbGRyZW4gfSA9IHByb3BzLCBmb3JtUHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm9wZW5cIiwgXCJvbk9wZW5DaGFuZ2VcIiwgXCJ0cmlnZ2VyXCIsIFwibW9kYWxQcm9wc1wiLCBcInN1Ym1pdFRpbWVvdXRcIiwgXCJhdXRvQ2xvc2VcIiwgXCJkZXN0cm95T25DbG9zZVwiLCBcIndpZHRoXCIsIFwidGl0bGVcIiwgXCJvbkZpbmlzaFwiLCBcImNoaWxkcmVuXCJdKTtcbiAgICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB7IG1lcmdlZE9wZW4sIHNob3VsZFJlbmRlclBhbmVsLCB0cmlnZ2VyTm9kZSwgaGFuZGxlRmluaXNoLCBoYW5kbGVIaWRlLCBtZXJnZWRTdHlsZSwgfSA9IHVzZU92ZXJsYXlGb3JtKHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgb25PcGVuQ2hhbmdlLFxuICAgICAgICB0cmlnZ2VyLFxuICAgICAgICBzdWJtaXRUaW1lb3V0LFxuICAgICAgICBhdXRvQ2xvc2UsXG4gICAgICAgIGRlc3Ryb3lPbkNsb3NlLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgb25GaW5pc2gsXG4gICAgICAgIG92ZXJsYXlTdHlsZTogbW9kYWxQcm9wcyA9PT0gbnVsbCB8fCBtb2RhbFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBtb2RhbFByb3BzLnN0eWxlLFxuICAgICAgICBvbk92ZXJsYXlIaWRlOiBtb2RhbFByb3BzID09PSBudWxsIHx8IG1vZGFsUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG1vZGFsUHJvcHMub25IaWRlLFxuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmICghc2hvdWxkUmVuZGVyUGFuZWwpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChtZXJnZWRPcGVuKSB7XG4gICAgICAgICAgICAoX2EgPSBtb2RhbFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2hvdygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIChfYiA9IG1vZGFsUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5oaWRlKCk7XG4gICAgfSwgW21lcmdlZE9wZW4sIHNob3VsZFJlbmRlclBhbmVsXSk7XG4gICAgcmV0dXJuIChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFt0cmlnZ2VyTm9kZSwgc2hvdWxkUmVuZGVyUGFuZWwgJiYgKF9qc3goTW9kYWwsIE9iamVjdC5hc3NpZ24oeyByZWY6IG1vZGFsUmVmIH0sIG1vZGFsUHJvcHMsIHsgaGVhZGVyOiAoX2EgPSBtb2RhbFByb3BzID09PSBudWxsIHx8IG1vZGFsUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG1vZGFsUHJvcHMuaGVhZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aXRsZSwgc3R5bGU6IG1lcmdlZFN0eWxlLCBvbkhpZGU6IGhhbmRsZUhpZGUsIGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKHN0eWxlc1sncHJvZm9ybV9fbW9kYWwtZm9ybSddLCBgJHtDU1NfUFJFRklYfS1tb2RhbC1mb3JtYCksIGNoaWxkcmVuOiBfanN4KFByb0Zvcm0sIE9iamVjdC5hc3NpZ24oe30sIGZvcm1Qcm9wcywgeyBvbkZpbmlzaDogaGFuZGxlRmluaXNoLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpIH0pIH0pKSldIH0pKTtcbn1cbk1vZGFsRm9ybUJhc2UuZGlzcGxheU5hbWUgPSAnTW9kYWxGb3JtJztcbmV4cG9ydCBjb25zdCBNb2RhbEZvcm0gPSBtZW1vKE1vZGFsRm9ybUJhc2UpO1xuZXhwb3J0IGRlZmF1bHQgTW9kYWxGb3JtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FieldValues } from 'react-hook-form';
|
|
2
|
+
import type { QueryFilterProps } from '../interface';
|
|
3
|
+
/**
|
|
4
|
+
* Horizontal search/filter form with collapsible fields and a
|
|
5
|
+
* search/reset/expand button bar.
|
|
6
|
+
*
|
|
7
|
+
* Fields beyond {@link QueryFilterProps.defaultColsNumber} are hidden
|
|
8
|
+
* when the filter is collapsed.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <QueryFilter onFinish={handleSearch} defaultColsNumber={2}>
|
|
13
|
+
* <ProFormText name="keyword" label="Keyword" />
|
|
14
|
+
* <ProFormSelect name="status" label="Status" fieldProps={{ options }} />
|
|
15
|
+
* <ProFormText name="author" label="Author" />
|
|
16
|
+
* </QueryFilter>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare const QueryFilterBase: <TFieldValues extends FieldValues = FieldValues>(props: QueryFilterProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare const QueryFilter: typeof QueryFilterBase;
|
|
21
|
+
export default QueryFilter;
|