react-form-with-constraints
Version:
Simple form validation for React
49 lines (48 loc) • 2.84 kB
TypeScript
import * as React from 'react';
import { FieldFeedbackValidation } from './FieldFeedbackValidation';
import { FormWithConstraintsChildContext } from './FormWithConstraints';
import { InputElement } from './InputElement';
import { Nullable } from './Nullable';
export interface FieldFeedbacksProps {
for?: string;
/**
* first-* => stops on the first * encountered
* no => shows everything
* Default is 'first-error'
*/
stop: 'first' | 'first-error' | 'first-warning' | 'first-info' | 'no';
children?: React.ReactNode;
}
export declare type FieldFeedbacksContext = FormWithConstraintsChildContext & Partial<Nullable<FieldFeedbacksChildContext>>;
export interface FieldFeedbacksChildContext {
fieldFeedbacks: FieldFeedbacks;
}
declare class FieldFeedbacksComponent extends React.PureComponent<FieldFeedbacksProps> {
}
declare const FieldFeedbacks_base: {
new (...args: any[]): {
validateFieldEventEmitter: import("./EventEmitter").EventEmitter<[InputElement], FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | undefined>;
emitValidateFieldEvent(input: InputElement): Promise<(FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | undefined)[]>;
addValidateFieldEventListener(listener: (input: InputElement) => FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | Promise<FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | undefined> | undefined): void;
removeValidateFieldEventListener(listener: (input: InputElement) => FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | Promise<FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | undefined> | undefined): void;
};
} & typeof FieldFeedbacksComponent;
export declare class FieldFeedbacks extends FieldFeedbacks_base implements React.ChildContextProvider<FieldFeedbacksChildContext> {
static defaultProps: FieldFeedbacksProps;
static contextTypes: React.ValidationMap<FieldFeedbacksContext>;
context: FieldFeedbacksContext;
static childContextTypes: React.ValidationMap<FieldFeedbacksChildContext>;
getChildContext(): FieldFeedbacksChildContext;
readonly key: string;
readonly fieldName: string;
constructor(props: FieldFeedbacksProps, context: FieldFeedbacksContext);
private fieldFeedbackKeyCounter;
computeFieldFeedbackKey(): string;
addFieldFeedback(): string;
componentDidMount(): void;
componentWillUnmount(): void;
validate: (input: InputElement) => Promise<(FieldFeedbackValidation | undefined)[] | undefined>;
_validate(input: InputElement): Promise<(FieldFeedbackValidation | undefined)[]>;
render(): string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactFragment | null;
}
export {};