function Defs()

in src/components/defs.js [56:91]


function Defs({
  gridDotSize = DEFAULT_GRID_DOT_SIZE,
  edgeArrowSize = DEFAULT_EDGE_ARROW_SIZE,
  gridSpacing = DEFAULT_GRID_SPACING,
  nodeTypes,
  nodeSubtypes,
  edgeTypes,
  renderDefs = () => null,
}: IDefsProps) {
  const [graphConfigDefs, setGraphConfigDefs] = useState([]);

  useEffect(() => {
    const combinedDefs = [
      ...generateGraphConfigDefs(nodeTypes),
      ...generateGraphConfigDefs(nodeSubtypes),
      ...generateGraphConfigDefs(edgeTypes),
    ];

    setGraphConfigDefs(combinedDefs);
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [nodeTypes, nodeSubtypes, edgeTypes]);

  return (
    <defs>
      {graphConfigDefs}

      <ArrowheadMarker edgeArrowSize={edgeArrowSize} />

      <BackgroundPattern gridSpacing={gridSpacing} gridDotSize={gridDotSize} />

      <DropshadowFilter />

      {renderDefs()}
    </defs>
  );
}