@grafana/ui
Version:
Grafana Components Library
31 lines (30 loc) • 1.13 kB
TypeScript
import React, { PureComponent } from 'react';
import { ValidationEvents, ValidationRule } from '../../types';
export declare enum InputStatus {
Invalid = "invalid",
Valid = "valid"
}
interface Props extends React.HTMLProps<HTMLInputElement> {
validationEvents?: ValidationEvents;
hideErrorMessage?: boolean;
onBlur?: (event: React.FocusEvent<HTMLInputElement>, status?: InputStatus) => void;
onFocus?: (event: React.FocusEvent<HTMLInputElement>, status?: InputStatus) => void;
onChange?: (event: React.ChangeEvent<HTMLInputElement>, status?: InputStatus) => void;
}
interface State {
error: string | null;
}
export declare class Input extends PureComponent<Props, State> {
static defaultProps: {
className: string;
};
state: {
error: null;
};
readonly status: InputStatus;
readonly isInvalid: boolean;
validatorAsync: (validationRules: ValidationRule[]) => (evt: React.ChangeEvent<HTMLInputElement>) => void;
populateEventPropsWithStatus: (restProps: any, validationEvents: ValidationEvents | undefined) => any;
render(): JSX.Element;
}
export {};