import React, { FC, ChangeEvent, useCallback, useState, useEffect, LegacyRef } from 'react'; import classNames from 'classnames'; import * as styles from '~/styles/inputs.scss'; import { Icon } from '~/components/input/Icon'; import { IInputTextProps } from '~/redux/types'; import { LoaderCircle } from '~/components/input/LoaderCircle'; const InputText: FC = ({ wrapperClassName, className = '', handler, required = false, status, title, error, value = '', onRef, is_loading, ...props }) => { const [focused, setFocused] = useState(false); const [inner_ref, setInnerRef] = useState(null); const onInput = useCallback( ({ target }: ChangeEvent) => handler(target.value), [handler] ); const onFocus = useCallback(() => setFocused(true), []); const onBlur = useCallback(() => setFocused(false), []); useEffect(() => { if (onRef) onRef(inner_ref); }, [inner_ref, onRef]); return (
{title && (
{title}
)} {error && (
{error}
)}
); }; export { InputText };