2023-07-15 12:57:03 +08:00
|
|
|
'use client';
|
|
|
|
|
2022-11-09 12:28:04 +08:00
|
|
|
import type { Rule, RuleObject, RuleRender } from 'rc-field-form/lib/interface';
|
2022-05-10 15:43:29 +08:00
|
|
|
import warning from '../_util/warning';
|
2022-11-09 12:28:04 +08:00
|
|
|
import ErrorList, { type ErrorListProps } from './ErrorList';
|
2023-07-15 12:57:03 +08:00
|
|
|
import InternalForm, { useForm, useWatch, type FormInstance, type FormProps } from './Form';
|
2022-11-09 12:28:04 +08:00
|
|
|
import Item, { type FormItemProps } from './FormItem';
|
|
|
|
import List, {
|
|
|
|
type FormListFieldData,
|
|
|
|
type FormListOperation,
|
|
|
|
type FormListProps,
|
|
|
|
} from './FormList';
|
2023-07-15 12:57:03 +08:00
|
|
|
import { FormProvider } from './context';
|
2022-04-15 15:51:09 +08:00
|
|
|
import useFormInstance from './hooks/useFormInstance';
|
2019-07-03 20:14:39 +08:00
|
|
|
|
2020-09-16 11:43:55 +08:00
|
|
|
type InternalFormType = typeof InternalForm;
|
|
|
|
|
2022-12-01 14:33:51 +08:00
|
|
|
type CompoundedComponent = InternalFormType & {
|
2019-07-03 20:14:39 +08:00
|
|
|
useForm: typeof useForm;
|
2022-04-15 15:51:09 +08:00
|
|
|
useFormInstance: typeof useFormInstance;
|
2022-04-14 20:46:57 +08:00
|
|
|
useWatch: typeof useWatch;
|
2019-07-03 20:14:39 +08:00
|
|
|
Item: typeof Item;
|
|
|
|
List: typeof List;
|
2020-09-11 21:27:51 +08:00
|
|
|
ErrorList: typeof ErrorList;
|
2019-07-03 20:14:39 +08:00
|
|
|
Provider: typeof FormProvider;
|
2019-12-30 12:13:58 +08:00
|
|
|
|
|
|
|
/** @deprecated Only for warning usage. Do not use. */
|
|
|
|
create: () => void;
|
2022-12-01 14:33:51 +08:00
|
|
|
};
|
2019-07-03 20:14:39 +08:00
|
|
|
|
2022-12-01 14:33:51 +08:00
|
|
|
const Form = InternalForm as CompoundedComponent;
|
2019-07-03 20:14:39 +08:00
|
|
|
|
|
|
|
Form.Item = Item;
|
|
|
|
Form.List = List;
|
2020-09-11 21:27:51 +08:00
|
|
|
Form.ErrorList = ErrorList;
|
2019-07-03 20:14:39 +08:00
|
|
|
Form.useForm = useForm;
|
2022-04-15 15:51:09 +08:00
|
|
|
Form.useFormInstance = useFormInstance;
|
2022-04-14 20:46:57 +08:00
|
|
|
Form.useWatch = useWatch;
|
2019-07-03 20:14:39 +08:00
|
|
|
Form.Provider = FormProvider;
|
2019-12-30 12:13:58 +08:00
|
|
|
Form.create = () => {
|
2022-05-10 15:43:29 +08:00
|
|
|
warning(
|
2019-12-30 12:13:58 +08:00
|
|
|
false,
|
|
|
|
'Form',
|
|
|
|
'antd v4 removed `Form.create`. Please remove or use `@ant-design/compatible` instead.',
|
|
|
|
);
|
|
|
|
};
|
2019-07-03 20:14:39 +08:00
|
|
|
|
2022-11-09 12:28:04 +08:00
|
|
|
export type {
|
2023-07-15 12:57:03 +08:00
|
|
|
ErrorListProps,
|
2020-09-22 10:56:04 +08:00
|
|
|
FormInstance,
|
|
|
|
FormItemProps,
|
2023-07-15 12:57:03 +08:00
|
|
|
FormListFieldData,
|
|
|
|
FormListOperation,
|
|
|
|
FormListProps,
|
|
|
|
FormProps,
|
2020-09-22 10:56:04 +08:00
|
|
|
Rule,
|
|
|
|
RuleObject,
|
|
|
|
RuleRender,
|
|
|
|
};
|
2015-11-20 18:51:12 +08:00
|
|
|
|
2015-11-20 18:21:59 +08:00
|
|
|
export default Form;
|