design-react-kit
Version:
Componenti React per Bootstrap 5
34 lines (33 loc) • 1.8 kB
TypeScript
import type { CSSModule } from 'reactstrap/types/lib/utils';
import type { InputProps } from './Input';
type ValidationProps = Pick<InputProps, 'valid'>;
type TypeProps = Pick<InputProps, 'plaintext' | 'type'> & {
staticInput?: boolean;
};
type FormControlProps = Pick<InputProps, 'normalized'> & TypeProps;
export declare function getFormControlClass(props: FormControlProps, cssModule?: CSSModule): string;
export declare function getValidationTextControlClass({ valid }: ValidationProps, cssModule?: CSSModule): string;
export declare function getTag({ tag, plaintext, staticInput, type }: Pick<InputProps, 'tag'> & TypeProps): import("react").ElementType;
type InputClassesParams = ValidationProps & Pick<InputProps, 'bsSize' | 'placeholder' | 'value' | 'label' | 'validationText' | 'normalized'> & {
isFocused: boolean;
inputPassword?: boolean;
formControlClass?: string;
validationTextControlClass?: string;
originalWrapperClass: InputProps['wrapperClassName'];
};
export declare function getClasses(className: string | undefined, type: string, { isFocused, valid, bsSize, placeholder, value, label, validationText, normalized, inputPassword, formControlClass, validationTextControlClass, originalWrapperClass }: InputClassesParams, cssModule?: CSSModule): {
wrapperClass: string;
inputClasses: string;
activeClass: string;
extraLabelClass: string;
validationTextClass: string;
};
export declare function useFocus<T extends HTMLInputElement | HTMLTextAreaElement>({ onFocus, onBlur }: {
onFocus: React.FocusEventHandler<T> | undefined;
onBlur: React.FocusEventHandler<T> | undefined;
}): {
toggleFocusLabel: (e: React.FocusEvent<T>) => void;
toggleBlurLabel: (e: React.FocusEvent<T>) => void;
isFocused: boolean;
};
export {};