diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index a1637eb2b..c3cc82841 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -92,7 +92,9 @@ export class FlowDB implements DiagramDB { case 'text': return labelType; default: - return 'markdown'; + // For flowcharts, default to 'text' (v10 behavior: only explicit markdown is rendered) + // This is different from v11 where undefined defaulted to 'markdown' + return 'text'; } } @@ -1043,7 +1045,6 @@ You have to call mermaid.initialize.` assetWidth: vertex.assetWidth, assetHeight: vertex.assetHeight, constraint: vertex.constraint, - diagramType: 'flowchart', // Add diagram type for rendering decisions }; if (isGroup) { nodes.push({ @@ -1111,7 +1112,6 @@ You have to call mermaid.initialize.` dir: subGraph.dir, isGroup: true, look: config.look, - diagramType: 'flowchart', // Add diagram type for rendering decisions }); } @@ -1158,7 +1158,6 @@ You have to call mermaid.initialize.` animate: rawEdge.animate, animation: rawEdge.animation, curve: rawEdge.interpolate || this.edges.defaultInterpolate || config.flowchart?.curve, - diagramType: 'flowchart', // Add diagram type for rendering decisions }; edges.push(edge); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js index d78787a25..4f49bd5d6 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js @@ -10,16 +10,6 @@ import createLabel from './createLabel.js'; import { createRoundedRectPathD } from './shapes/roundedRectPath.ts'; import { styles2String, userNodeOverrides } from './shapes/handDrawnShapeStyles.js'; -function shouldRenderClusterLabelAsMarkdown(node) { - const diagramType = node.diagramType; - - if (diagramType === 'flowchart') { - return node.labelType === 'markdown'; - } - - return node.labelType !== 'text' && node.labelType !== 'string'; -} - const rect = async (parent, node) => { log.info('Creating subgraph rect for ', node.id, node); const siteConfig = getConfig(); @@ -41,7 +31,7 @@ const rect = async (parent, node) => { const labelEl = shapeSvg.insert('g').attr('class', 'cluster-label '); let text; - if (shouldRenderClusterLabelAsMarkdown(node)) { + if (node.labelType === 'markdown') { text = await createText(labelEl, node.label, { style: node.labelStyle, useHtmlLabels, diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js index 9b65ec621..c759bc127 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js @@ -44,27 +44,18 @@ export const getLabelStyles = (styleArray) => { return styles; }; -function shouldRenderEdgeLabelAsMarkdown(edge) { - const diagramType = edge.diagramType; - - if (diagramType === 'flowchart') { - return edge.labelType === 'markdown'; - } - - return edge.labelType !== 'text' && edge.labelType !== 'string'; -} - export const insertEdgeLabel = async (elem, edge) => { let useHtmlLabels = evaluate(getConfig().flowchart.htmlLabels); - const labelElement = shouldRenderEdgeLabelAsMarkdown(edge) - ? await createText(elem, edge.label, { - style: getLabelStyles(edge.labelStyle), - useHtmlLabels, - addSvgBackground: true, - isNode: false, - }) - : await createLabel(edge.label, getLabelStyles(edge.labelStyle), undefined, false); + const labelElement = + edge.labelType === 'markdown' + ? await createText(elem, edge.label, { + style: getLabelStyles(edge.labelStyle), + useHtmlLabels, + addSvgBackground: true, + isNode: false, + }) + : await createLabel(edge.label, getLabelStyles(edge.labelStyle), undefined, false); log.info('abc82', edge, edge.labelType); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts index ccd450205..5911f8f34 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/util.ts @@ -8,15 +8,6 @@ import { evaluate, sanitizeText } from '../../../diagrams/common/common.js'; import { decodeEntities, handleUndefinedAttr, parseFontSize } from '../../../utils.js'; import type { D3Selection, Point } from '../../../types.js'; -function shouldRenderAsMarkdown(node: Node): boolean { - const diagramType = node.diagramType; - if (diagramType === 'flowchart') { - return node.labelType === 'markdown'; - } - - return node.labelType !== 'text' && node.labelType !== 'string'; -} - export const labelHelper = async ( parent: D3Selection, node: Node, @@ -51,7 +42,7 @@ export const labelHelper = async ( } let text; - if (shouldRenderAsMarkdown(node)) { + if (node.labelType === 'markdown') { text = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig()), { useHtmlLabels, width: node.width || getConfig().flowchart?.wrappingWidth, diff --git a/packages/mermaid/src/rendering-util/types.ts b/packages/mermaid/src/rendering-util/types.ts index 65dec70f5..c8439b534 100644 --- a/packages/mermaid/src/rendering-util/types.ts +++ b/packages/mermaid/src/rendering-util/types.ts @@ -32,7 +32,6 @@ interface BaseNode { labelType?: string; // REMOVE? Always use markdown string, need to check for KaTeX - ⏳ wait with this one domId?: string; // When you create the node in the getData function you do not have the domId yet - diagramType?: string; // Used to determine diagram-specific rendering behavior // Rendering specific properties for both Flowchart and State Diagram nodes dir?: string; // Only relevant for isGroup true, i.e. a sub-graph or composite state. haveCallback?: boolean; @@ -146,7 +145,6 @@ export interface Edge { source?: string; target?: string; depth?: number; - diagramType?: string; // Used to determine diagram-specific rendering behavior } export interface RectOptions {