diff --git a/src/additional-components/MiniMap/MiniMapNode.tsx b/src/additional-components/MiniMap/MiniMapNode.tsx index f6b5b4ab..a3ab7a43 100644 --- a/src/additional-components/MiniMap/MiniMapNode.tsx +++ b/src/additional-components/MiniMap/MiniMapNode.tsx @@ -1,4 +1,5 @@ import React, { memo, CSSProperties } from 'react'; +import cc from 'classcat'; interface MiniMapNodeProps { x: number; @@ -6,17 +7,18 @@ interface MiniMapNodeProps { width: number; height: number; color: string; + className: string; borderRadius: number; style?: CSSProperties; } -const MiniMapNode = ({ x, y, width, height, style, color, borderRadius }: MiniMapNodeProps) => { +const MiniMapNode = ({ x, y, width, height, style, color, className, borderRadius }: MiniMapNodeProps) => { const { background, backgroundColor } = style || {}; const fill = (color || background || backgroundColor) as string; return ( string; interface MiniMapProps extends React.HTMLAttributes { nodeColor?: string | StringFunc; + nodeClassName?: string | StringFunc; nodeBorderRadius?: number; maskColor?: string; } @@ -23,6 +24,7 @@ const MiniMap = ({ style = { backgroundColor: '#f8f8f8' }, className, nodeColor = '#ddd', + nodeClassName = '', nodeBorderRadius = 5, maskColor = 'rgba(10, 10, 10, .25)', }: MiniMapProps) => { @@ -35,6 +37,7 @@ const MiniMap = ({ const elementWidth = (style.width || defaultWidth)! as number; const elementHeight = (style.height || defaultHeight)! as number; const nodeColorFunc = (nodeColor instanceof Function ? nodeColor : () => nodeColor) as StringFunc; + const nodeClassNameFunc = (nodeClassName instanceof Function ? nodeClassName : () => nodeClassName) as StringFunc; const hasNodes = nodes && nodes.length; const bb = getRectOfNodes(nodes); const viewBB: Rect = { @@ -73,6 +76,7 @@ const MiniMap = ({ width={node.__rf.width} height={node.__rf.height} style={node.style} + className={nodeClassNameFunc(node)} color={nodeColorFunc(node)} borderRadius={nodeBorderRadius} /> diff --git a/src/index.ts b/src/index.ts index 9bce1399..40da9303 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,7 +8,7 @@ export { getBezierPath } from './components/Edges/BezierEdge'; export { getSmoothStepPath } from './components/Edges/SmoothStepEdge'; export { getMarkerEnd, getCenter as getEdgeCenter } from './components/Edges/utils'; -export { isNode, isEdge, removeElements, addEdge, getOutgoers } from './utils/graph'; +export { isNode, isEdge, removeElements, addEdge, getOutgoers, getConnectedEdges } from './utils/graph'; export * from './additional-components'; export * from './types';