@ansible/ansible-ui-framework
Version:
A framework for building applications using PatternFly.
42 lines (41 loc) • 2.31 kB
TypeScript
import { ReactNode } from 'react';
import { FieldPath, FieldPathValue, FieldValues, Validate, ValidationRule } from 'react-hook-form';
type PageFormTextInputBaseProps<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TSelection extends FieldValues = FieldValues> = {
id?: string;
name: TFieldName;
type?: 'text' | 'date' | 'datetime-local' | 'email' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'time' | 'url';
label?: string;
labelHelpTitle?: string;
labelHelp?: string | string[] | ReactNode;
additionalControls?: ReactNode;
placeholder?: string;
button?: ReactNode;
helperText?: string;
isDisabled?: boolean;
isReadOnly?: boolean;
isRequired?: boolean;
validate?: Validate<string, TFieldValues> | Record<string, Validate<string, TFieldValues>>;
minLength?: number | ValidationRule<number>;
maxLength?: number | ValidationRule<number>;
min?: number | string;
max?: number | string;
pattern?: ValidationRule<RegExp>;
selectTitle?: string;
selectValue?: (selection: TSelection) => FieldPathValue<TSelection, FieldPath<TSelection>>;
selectOpen?: (callback: (selection: TSelection) => void, title: string) => void;
autoFocus?: boolean;
defaultValue?: FieldPathValue<TFieldValues, TFieldName>;
enableUndo?: boolean;
enableReset?: boolean;
shouldUnregister?: boolean;
fullWidth?: boolean;
};
export type PageFormTextInputProps<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TSelection extends FieldValues = FieldValues> = PageFormTextInputBaseProps<TFieldValues, TFieldName, TSelection> & ({
type: 'password';
autoComplete?: 'new-password' | 'current-password' | 'off';
} | {
type?: 'text' | 'date' | 'datetime-local' | 'email' | 'month' | 'number' | 'search' | 'tel' | 'time' | 'url';
autoComplete?: string;
});
export declare function PageFormTextInput<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TSelection extends FieldValues = FieldValues>(props: PageFormTextInputProps<TFieldValues, TFieldName, TSelection>): import("react/jsx-runtime").JSX.Element;
export {};