import * as React from 'react' import { generateCurvePath, IConfig, ILink, IOnLinkClick, IOnLinkMouseEnter, IOnLinkMouseLeave, IPosition } from '../../' export interface ILinkDefaultProps { config: IConfig link: ILink startPos: IPosition endPos: IPosition onLinkMouseEnter: IOnLinkMouseEnter onLinkMouseLeave: IOnLinkMouseLeave onLinkClick: IOnLinkClick isHovered: boolean isSelected: boolean } export const LinkDefault = ({ config, link, startPos, endPos, onLinkMouseEnter, onLinkMouseLeave, onLinkClick, isHovered, isSelected, }: ILinkDefaultProps) => { const points = generateCurvePath(startPos, endPos) return ( {/* Main line */} {/* Thick line to make selection easier */} onLinkMouseEnter({ config, linkId: link.id })} onMouseLeave={() => onLinkMouseLeave({ config, linkId: link.id })} onClick={(e) => { onLinkClick({ config, linkId: link.id }) e.stopPropagation() } } /> ) }