import React, { forwardRef, useState } from 'react'; import PropTypes from 'prop-types'; import Carret from './Carret'; import DraggedField from '../DraggedField'; import PreviewCarret from '../PreviewCarret'; import Wrapper from './Wrapper'; // eslint-disable-next-line react/display-name const DraggedFieldWithPreview = forwardRef( ( { goTo, groupUid, isDragging, name, onClickEdit, onClickRemove, selectedItem, showLeftCarret, showRightCarret, size, style, type, }, refs ) => { const isHidden = name === '_TEMP_'; const [dragStart, setDragStart] = useState(false); const opacity = isDragging ? 0.2 : 1; const isFullSize = size === 12; const display = isFullSize && dragStart ? 'none' : ''; const width = isFullSize && dragStart ? 0 : '100%'; const withLongerHeight = ['json', 'text', 'file', 'media', 'group', 'richtext'].includes(type) && !dragStart; const carretStyle = withLongerHeight ? { height: '102px' } : {}; return (