import React, { useEffect, useContext } from 'react'; import { DraggableSyntheticListeners } from '@dnd-kit/core'; import { I18nContext } from '../../../../contexts'; import { HolderOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; import { Button, Typography } from 'antd'; const { Text } = Typography; interface Props { value: React.ReactNode; style?: React.CSSProperties; status?: 'is-warning' | 'is-danger'; title?: string; dragOverlay?: boolean; onClick?: () => void; onMouseEnter?: () => void; onMouseLeave?: () => void; dragging?: boolean; sorting?: boolean; transition?: string; transform?: { x: number; y: number; scaleX: number; scaleY: number } | null; fadeIn?: boolean; listeners?: DraggableSyntheticListeners; } const Item = React.memo( React.forwardRef( ( { value, status, title, style, dragOverlay, onClick, onMouseEnter, onMouseLeave, dragging, fadeIn, listeners, sorting, transition, transform, ...props }, ref ) => { const i18n = useContext(I18nContext); useEffect(() => { if (!dragOverlay) { return; } document.body.style.cursor = 'grabbing'; return () => { document.body.style.cursor = ''; }; }, [dragOverlay]); const { x, y, scaleX, scaleY } = transform || { x: 0, y: 0, scaleX: 1, scaleY: 1 }; return (
  • onClick && onClick()} >
  • ); } ) ); export default Item;