diff --git a/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js
index c7bf41ce2..990a12dc6 100644
--- a/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js
+++ b/packages/mermaid-flowchart-elk/src/flowRenderer-elk.js
@@ -64,7 +64,6 @@ export const addVertices = async function (vert, svgId, root, doc, diagObj, pare
let vertexText = vertex.text !== undefined ? vertex.text : vertex.id;
// We create a SVG label, either by delegating to addHtmlLabel or manually
- let vertexNode;
const labelData = { width: 0, height: 0 };
const ports = [
@@ -188,7 +187,7 @@ export const addVertices = async function (vert, svgId, root, doc, diagObj, pare
nodeEl = await insertNode(nodes, node, vertex.dir);
boundingBox = nodeEl.node().getBBox();
} else {
- const svgLabel = doc.createElementNS('http://www.w3.org/2000/svg', 'text');
+ doc.createElementNS('http://www.w3.org/2000/svg', 'text');
// svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));
// const rows = vertexText.split(common.lineBreakRegex);
// for (const row of rows) {
@@ -677,7 +676,6 @@ const insertEdge = function (edgesEl, edge, edgeData, diagObj, parentLookupDb, i
/**
* Recursive function that iterates over an array of nodes and inserts the children of each node.
* It also recursively populates the inserts the children of the children and so on.
- * @param {*} graph
* @param nodeArray
* @param parentLookupDb
*/
diff --git a/packages/mermaid-layout-elk/src/render.ts b/packages/mermaid-layout-elk/src/render.ts
index bb2e9559c..b65e9755c 100644
--- a/packages/mermaid-layout-elk/src/render.ts
+++ b/packages/mermaid-layout-elk/src/render.ts
@@ -3,7 +3,6 @@ import { curveLinear } from 'd3';
import ELK from 'elkjs/lib/elk.bundled.js';
import mermaid from 'mermaid';
import { findCommonAncestor } from './find-common-ancestor.js';
-import config from '../../mermaid/src/defaultConfig';
const {
common,
@@ -123,7 +122,7 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, depth) => {
const clusterNode = JSON.parse(JSON.stringify(node));
clusterNode.x = node.offset.posX + node.width / 2;
clusterNode.y = node.offset.posY + node.height / 2;
- const cluster = insertCluster(subgraphEl, clusterNode);
+ insertCluster(subgraphEl, clusterNode);
log.info('Id (UGH)= ', node.shape, node.labels);
} else {
diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
index fe42b3c1e..3f44fb9fe 100644
--- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts
+++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts
@@ -2,7 +2,7 @@ import { select } from 'd3';
import utils, { getEdgeId } from '../../utils.js';
import { getConfig, defaultConfig } from '../../diagram-api/diagramAPI.js';
import common from '../common/common.js';
-import type { LayoutData, LayoutMethod, Node, Edge } from '../../rendering-util/types.js';
+import type { Node, Edge } from '../../rendering-util/types.js';
import { log } from '../../logger.js';
import {
setAccTitle,
diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
index badf9238c..00db88f81 100644
--- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
+++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
@@ -192,9 +192,8 @@ export const addVertices = async function (vert, g, svgId, root, doc, diagObj) {
*
* @param {object} edges The edges to add to the graph
* @param {object} g The graph object
- * @param diagObj
*/
-export const addEdges = async function (edges, g, diagObj) {
+export const addEdges = async function (edges, g) {
log.info('abc78 edges = ', edges);
let cnt = 0;
let linkIdCnt = {};
diff --git a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts
index 35d687f9b..bf273f0e8 100644
--- a/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts
+++ b/packages/mermaid/src/diagrams/flowchart/flowRenderer-v3-unified.ts
@@ -1,6 +1,6 @@
import { log } from '../../logger.js';
import type { DiagramStyleClassDef } from '../../diagram-api/types.js';
-import type { LayoutData, LayoutMethod } from '../../rendering-util/types.js';
+import type { LayoutData } from '../../rendering-util/types.js';
import { getConfig } from '../../diagram-api/diagramAPI.js';
import { render } from '../../rendering-util/render.js';
import { getDiagramElements } from '../../rendering-util/insertElementsForSize.js';
diff --git a/packages/mermaid/src/diagrams/mindmap/svgDraw.ts b/packages/mermaid/src/diagrams/mindmap/svgDraw.ts
index c84a7b16c..ee468bb99 100644
--- a/packages/mermaid/src/diagrams/mindmap/svgDraw.ts
+++ b/packages/mermaid/src/diagrams/mindmap/svgDraw.ts
@@ -196,7 +196,7 @@ export const drawNode = function (
// Create the wrapped text element
const textElem = nodeElem.append('g');
const description = node.descr.replace(/(
)/g, '\n');
- const newEl = createText(
+ createText(
textElem,
description,
{
diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
index 8abc45dde..eedc18dd3 100644
--- a/packages/mermaid/src/diagrams/state/stateDb.js
+++ b/packages/mermaid/src/diagrams/state/stateDb.js
@@ -21,34 +21,7 @@ import {
STMT_APPLYCLASS,
DEFAULT_STATE_TYPE,
DIVIDER_TYPE,
- G_EDGE_STYLE,
- G_EDGE_ARROWHEADSTYLE,
- G_EDGE_LABELPOS,
- G_EDGE_LABELTYPE,
- G_EDGE_THICKNESS,
- CSS_EDGE,
- DEFAULT_NESTED_DOC_DIR,
- SHAPE_DIVIDER,
- SHAPE_GROUP,
- CSS_DIAGRAM_CLUSTER,
- CSS_DIAGRAM_CLUSTER_ALT,
- CSS_DIAGRAM_STATE,
- SHAPE_STATE_WITH_DESC,
- SHAPE_STATE,
- SHAPE_START,
- SHAPE_END,
- SHAPE_NOTE,
- SHAPE_NOTEGROUP,
- CSS_DIAGRAM_NOTE,
- DOMID_TYPE_SPACER,
- DOMID_STATE,
- NOTE_ID,
- PARENT_ID,
- NOTE,
- PARENT,
- CSS_EDGE_NOTE_EDGE,
} from './stateCommon.js';
-import { node } from 'stylis';
const START_NODE = '[*]';
const START_TYPE = 'start';
diff --git a/packages/mermaid/src/diagrams/timeline/svgDraw.js b/packages/mermaid/src/diagrams/timeline/svgDraw.js
index 874ac62ef..d4b04d0c4 100644
--- a/packages/mermaid/src/diagrams/timeline/svgDraw.js
+++ b/packages/mermaid/src/diagrams/timeline/svgDraw.js
@@ -258,7 +258,6 @@ export const drawTask = function (elem, task, conf) {
rect.ry = 3;
drawRect(g, rect);
- let xPos = task.x + 14;
// task.people.forEach((person) => {
// const colour = task.actors[person].color;
diff --git a/packages/mermaid/src/rendering-util/doLayout.ts b/packages/mermaid/src/rendering-util/doLayout.ts
index b3798ca39..dabd13dd7 100644
--- a/packages/mermaid/src/rendering-util/doLayout.ts
+++ b/packages/mermaid/src/rendering-util/doLayout.ts
@@ -1,8 +1,6 @@
import { log } from '$root/logger.js';
import type { LayoutData, LayoutMethod, RenderData } from './types.js';
-const layoutAlgorithms = {} as Record;
-
const performLayout = (
layoutData: LayoutData,
id: string,
diff --git a/packages/mermaid/src/rendering-util/insertElementsForSize.js b/packages/mermaid/src/rendering-util/insertElementsForSize.js
index b9b52949f..136e9e31f 100644
--- a/packages/mermaid/src/rendering-util/insertElementsForSize.js
+++ b/packages/mermaid/src/rendering-util/insertElementsForSize.js
@@ -30,10 +30,10 @@ export const getDiagramElements = (id, securityLevel) => {
*/
export function insertElementsForSize(el, data) {
const nodesElem = el.insert('g').attr('class', 'nodes');
- const edgesElem = el.insert('g').attr('class', 'edges');
+ el.insert('g').attr('class', 'edges');
data.nodes.forEach(async (item) => {
item.shape = 'rect';
- const e = await insertNode(nodesElem, {
+ await insertNode(nodesElem, {
...item,
class: 'default flowchart-label',
labelStyle: '',
diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
index eba90a5b4..d33a3523a 100644
--- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
+++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/index.js
@@ -225,10 +225,11 @@ const recursiveRender = async (_elem, graph, diagramType, id, parentCluster, sit
graph.parent(v)
);
node.height += 0;
- const parent = graph.node(node.parentId);
+ graph.node(node.parentId);
const halfPadding = node?.padding / 2 || 0;
const labelHeight = node?.labelBBox?.height || 0;
const offsetY = labelHeight - halfPadding || 0;
+ log.debug('OffsetY', offsetY, 'labelHeight', labelHeight, 'halfPadding', halfPadding);
// node.y += offsetY + (parent?.offsetY / 2 || 0);
// node.offsetY = offsetY;
insertCluster(clusters, node);
diff --git a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
index 959bb0edd..8de8316cb 100644
--- a/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
+++ b/packages/mermaid/src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js
@@ -173,6 +173,7 @@ const findCommonEdges = (graph, id1, id2) => {
*
* @param id
* @param {any} graph
+ * @param {string} clusterId
*/
export const findNonClusterChild = (id, graph, clusterId) => {
const children = graph.children(id);
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
index 62ec0e75b..6baccfedf 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
+++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js
@@ -125,21 +125,6 @@ const rect = (parent, node) => {
* @returns {any} ShapeSvg
*/
const noteGroup = (parent, node) => {
- const { themeVariables } = getConfig();
- const {
- textColor,
- clusterTextColor,
- altBackground,
- compositeBackground,
- compositeTitleBackground,
- compositeBorder,
- noteBorderColor,
- noteBkgColor,
- nodeBorder,
- mainBkg,
- stateBorder,
- } = themeVariables;
-
// Add outer g element
const shapeSvg = parent.insert('g').attr('class', 'note-cluster').attr('id', node.id);
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
index 6ff15b2f4..996182bd5 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js
+++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js
@@ -474,24 +474,7 @@ const fixCorners = function (lineData) {
}
return newLineData;
};
-/**
- * Given a line, this function will return a new line where the corners are rounded.
- * @param lineData
- */
-function roundedCornersLine(lineData) {
- const newLineData = fixCorners(lineData);
- let path = '';
- for (let i = 0; i < newLineData.length; i++) {
- if (i === 0) {
- path += 'M' + newLineData[i].x + ',' + newLineData[i].y;
- } else if (i === newLineData.length - 1) {
- path += 'L' + newLineData[i].x + ',' + newLineData[i].y;
- } else {
- path += 'L' + newLineData[i].x + ',' + newLineData[i].y;
- }
- }
- return path;
-}
+
export const insertEdge = function (elem, edge, clusterDb, diagramType, startNode, endNode, id) {
const { handdrawnSeed } = getConfig();
let points = edge.points;
@@ -530,7 +513,7 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod
// The data for our line
let lineData = points.filter((p) => !Number.isNaN(p.y));
- const { cornerPoints, cornerPointPositions } = extractCornerPoints(lineData);
+ // const { cornerPoints, cornerPointPositions } = extractCornerPoints(lineData);
lineData = fixCorners(lineData);
let lastPoint = lineData[lineData.length - 1];
if (lineData.length > 1) {
@@ -593,11 +576,10 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod
strokeClasses += ' edge-pattern-solid';
}
let svgPath;
- let path = '';
let linePath = lineFunction(lineData);
if (edge.look === 'handdrawn') {
const rc = rough.svg(elem);
- const ld = Object.assign([], lineData);
+ Object.assign([], lineData);
// const svgPathNode = rc.path(lineFunction(ld.splice(0, ld.length-1)), {
// const svgPathNode = rc.path(lineFunction(ld), {
// roughness: 0.3,
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
index a8eb4c998..15fccb867 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
+++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js
@@ -21,12 +21,6 @@ import { lean_right } from './shapes/leanRight.js';
import { lean_left } from './shapes/leanLeft.js';
import { trapezoid } from './shapes/trapezoid.js';
import { inv_trapezoid } from './shapes/invertedTrapezoid.js';
-const formatClass = (str) => {
- if (str) {
- return ' ' + str;
- }
- return '';
-};
const shapes = {
state,
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts
index 3d1411c1f..1674b4245 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/cylinder.ts
@@ -1,4 +1,3 @@
-import { log } from '$root/logger.js';
import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js';
import intersect from '../intersect/index.js';
import type { Node } from '$root/rendering-util/types.d.ts';
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
index 16d32e39d..ddf6b10e0 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/drawRect.ts
@@ -7,7 +7,7 @@ import rough from 'roughjs';
import { getConfig } from '$root/diagram-api/diagramAPI.js';
export const drawRect = async (parent: SVGAElement, node: Node, options: RectOptions) => {
- const { themeVariables, look } = getConfig();
+ const { look } = getConfig();
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts
index 4433dddda..bac6d4489 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/hexagon.ts
@@ -1,4 +1,3 @@
-import { log } from '$root/logger.js';
import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js';
import intersect from '../intersect/index.js';
import type { Node } from '$root/rendering-util/types.d.ts';
@@ -26,7 +25,7 @@ export const createHexagonPathD = (
};
export const hexagon = async (parent: SVGAElement, node: Node): Promise => {
- const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node));
+ const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
const f = 4;
const h = bbox.height + node.padding;
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts
index a11f144f6..4dd1a619a 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts
@@ -1,7 +1,5 @@
-import { log } from '$root/logger.js';
import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js';
import intersect from '../intersect/index.js';
-import { getConfig } from '$root/diagram-api/diagramAPI.js';
import type { Node } from '$root/rendering-util/types.d.ts';
import { userNodeOverrides } from '$root/rendering-util/rendering-elements/shapes/handdrawnStyles.js';
import rough from 'roughjs';
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts
index 541fb9e4a..78b36ddb8 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanLeft.ts
@@ -1,4 +1,3 @@
-import { log } from '$root/logger.js';
import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js';
import intersect from '../intersect/index.js';
import type { Node } from '$root/rendering-util/types.d.ts';
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts
index 00e49050e..3b3a0b465 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/leanRight.ts
@@ -1,4 +1,3 @@
-import { log } from '$root/logger.js';
import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js';
import intersect from '../intersect/index.js';
import type { Node } from '$root/rendering-util/types.d.ts';
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
index a039e0385..ce3df9da8 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/note.ts
@@ -13,11 +13,7 @@ export const note = async (parent: SVGAElement, node: Node) => {
if (!useHtmlLabels) {
node.centerLabel = true;
}
- const { shapeSvg, bbox, halfPadding } = await labelHelper(
- parent,
- node,
- 'node ' + node.cssClasses
- );
+ const { shapeSvg, bbox } = await labelHelper(parent, node, 'node ' + node.cssClasses);
log.info('Classes = ', node.cssClasses);
const { cssStyles } = node;
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts
index e36efa028..37f20d42d 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts
@@ -1,4 +1,3 @@
-import { log } from '$root/logger.js';
import { labelHelper, updateNodeBounds, getNodeClasses } from './util.js';
import intersect from '../intersect/index.js';
import type { Node } from '$root/rendering-util/types.d.ts';
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
index 4d4d21d86..5410d74db 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts
@@ -1,4 +1,3 @@
-import { log } from '$root/logger.js';
import { updateNodeBounds } from './util.js';
import intersect from '../intersect/index.js';
import type { Node } from '$root/rendering-util/types.d.ts';
diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
index 575e7d2b0..9fa0df6cf 100644
--- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
+++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateStart.ts
@@ -1,4 +1,3 @@
-import { log } from '$root/logger.js';
import { updateNodeBounds } from './util.js';
import intersect from '../intersect/index.js';
import type { Node } from '$root/rendering-util/types.d.ts';