import { forwardRef, HTMLAttributes, memo, PropsWithChildren, useImperativeHandle, useRef } from 'react'; import { cx } from '../../../../common/utils/styleUtils'; import style from './TextLikeInput.module.scss'; interface TextLikeInputProps extends HTMLAttributes { delayed?: boolean; muted?: boolean; } const TextLikeInput = forwardRef((props: PropsWithChildren, textRef) => { const { delayed, muted, children, className, ...elementProps } = props; const ref = useRef(null); const classes = cx([style.textInput, delayed && style.delayed, muted && style.muted, className]); useImperativeHandle(textRef, () => { return { focusParentElement() { ref.current?.parentElement?.focus(); }, }; }); return (
{children}
); }); TextLikeInput.displayName = 'TextLikeInput'; export default memo(TextLikeInput);