UNPKG

1.99 kBTypeScriptView Raw
1import type { FormProviderProps as RcFormProviderProps } from 'rc-field-form/lib/FormContext';
2import type { Meta } from 'rc-field-form/lib/interface';
3import type { FC, PropsWithChildren, ReactNode } from 'react';
4import * as React from 'react';
5import type { ColProps } from '../grid/col';
6import type { FormInstance, RequiredMark } from './Form';
7import type { ValidateStatus } from './FormItem';
8import type { FormLabelAlign } from './interface';
9/** Form Context. Set top form style and pass to Form Item usage. */
10export interface FormContextProps {
11 vertical: boolean;
12 name?: string;
13 colon?: boolean;
14 labelAlign?: FormLabelAlign;
15 labelWrap?: boolean;
16 labelCol?: ColProps;
17 wrapperCol?: ColProps;
18 requiredMark?: RequiredMark;
19 itemRef: (name: (string | number)[]) => (node: React.ReactElement) => void;
20 form?: FormInstance;
21}
22export declare const FormContext: React.Context<FormContextProps>;
23/** `noStyle` Form Item Context. Used for error collection */
24export type ReportMetaChange = (meta: Meta, uniqueKeys: React.Key[]) => void;
25export declare const NoStyleItemContext: React.Context<ReportMetaChange | null>;
26/** Form Provider */
27export interface FormProviderProps extends Omit<RcFormProviderProps, 'validateMessages'> {
28 prefixCls?: string;
29}
30export declare const FormProvider: React.FC<FormProviderProps>;
31/** Used for ErrorList only */
32export interface FormItemPrefixContextProps {
33 prefixCls: string;
34 status?: ValidateStatus;
35}
36export declare const FormItemPrefixContext: React.Context<FormItemPrefixContextProps>;
37export interface FormItemStatusContextProps {
38 isFormItemInput?: boolean;
39 status?: ValidateStatus;
40 hasFeedback?: boolean;
41 feedbackIcon?: ReactNode;
42}
43export declare const FormItemInputContext: React.Context<FormItemStatusContextProps>;
44export type NoFormStyleProps = PropsWithChildren<{
45 status?: boolean;
46 override?: boolean;
47}>;
48export declare const NoFormStyle: FC<NoFormStyleProps>;