import React from 'react'; import styled from 'styled-components'; import { EditorMode, ShapeProps } from '../../types/index'; import { withShapeWrapper } from './withShapeWrapper'; const Container = styled.div` box-shadow: 0 0 2px 2px white inset; box-sizing: border-box; transition: box-shadow 0.21s ease-in-out; z-index: ${({ isReadOnly }: { isReadOnly: boolean }) => `${isReadOnly ? 0 : 1};`}; cursor: ${({ isReadOnly }: { isReadOnly: boolean }) => isReadOnly ? 'auto;' : 'pointer;'}; `; function Rectangle(props: ShapeProps) { const { annotation: { geometry }, children, editorMode, isMouseOver, isSelected, onMouseEnter, onMouseLeave, } = props; const isReadOnly = editorMode === EditorMode.ReadOnly; if (!geometry) return null; const isActive = !isReadOnly && (isMouseOver || isSelected); return ( {children || null} ); } export default React.memo(withShapeWrapper(Rectangle));