index.tsx 1.0 KB
Newer Older
1
import { Rule, RuleObject, RuleRender } from 'rc-field-form/lib/interface';
2 3
import InternalForm, { useForm, FormInstance, FormProps } from './Form';
import Item, { FormItemProps } from './FormItem';
4
import List, { FormListProps } from './FormList';
Z
zombieJ 已提交
5
import { FormProvider } from './context';
6
import devWarning from '../_util/devWarning';
Z
zombieJ 已提交
7

8 9 10
type InternalFormType = typeof InternalForm;

interface FormInterface extends InternalFormType {
Z
zombieJ 已提交
11 12 13 14
  useForm: typeof useForm;
  Item: typeof Item;
  List: typeof List;
  Provider: typeof FormProvider;
15 16 17

  /** @deprecated Only for warning usage. Do not use. */
  create: () => void;
Z
zombieJ 已提交
18 19
}

20
const Form = InternalForm as FormInterface;
Z
zombieJ 已提交
21 22 23 24 25

Form.Item = Item;
Form.List = List;
Form.useForm = useForm;
Form.Provider = FormProvider;
26
Form.create = () => {
27
  devWarning(
28 29 30 31 32
    false,
    'Form',
    'antd v4 removed `Form.create`. Please remove or use `@ant-design/compatible` instead.',
  );
};
Z
zombieJ 已提交
33

34
export { FormInstance, FormProps, FormItemProps, FormListProps, Rule, RuleObject, RuleRender };
A
afc163 已提交
35

36
export default Form;