Changing Edge Color
Edge color can be dynamically modified using --edge-color CSS variable for edge svg element, as
shown in the example below.
This example demonstrates how to change edge color on mouse hover, using
InteractiveEdgeShape decorator.
import {
CanvasBuilder,
BezierEdgeShape,
InteractiveEdgeShape,
} from "@html-graph/html-graph";
const element = document.getElementById("canvas");
const canvas = new CanvasBuilder(element)
.setDefaults({
edges: {
shape: () => {
const baseShape = new BezierEdgeShape({
hasTargetArrow: true,
color: "#777777"
});
const interactiveShape = new InteractiveEdgeShape(baseShape, {
distance: 20,
});
interactiveShape.handle.addEventListener("mouseenter", () => {
interactiveShape.svg.style.setProperty("--edge-color", "#f9880e");
});
interactiveShape.handle.addEventListener("mouseleave", () => {
interactiveShape.svg.style.setProperty("--edge-color", "#777777");
});
return interactiveShape;
},
},
})
.build();