diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts index ff3e2998f..5d2804d40 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/choice.ts @@ -4,12 +4,15 @@ import type { SVG } from '$root/diagram-api/types.js'; // @ts-ignore TODO: Fix rough typings import rough from 'roughjs'; import { styles2String, userNodeOverrides } from './handDrawnShapeStyles.js'; -import { createPathFromPoints, getNodeClasses, labelHelper } from './util.js'; +import { createPathFromPoints, getNodeClasses } from './util.js'; -export const choice = async (parent: SVG, node: Node) => { +export const choice = (parent: SVG, node: Node) => { const { nodeStyles } = styles2String(node); node.label = ''; - const { shapeSvg } = await labelHelper(parent, node, getNodeClasses(node)); + const shapeSvg = parent + .insert('g') + .attr('class', getNodeClasses(node)) + .attr('id', node.domId ?? node.id); const { cssStyles } = node; const s = Math.max(28, node.width ?? 0); @@ -34,8 +37,6 @@ export const choice = async (parent: SVG, node: Node) => { const roughNode = rc.path(choicePath, options); const choiceShape = shapeSvg.insert(() => roughNode, ':first-child'); - choiceShape.attr('class', 'basic label-container'); - if (cssStyles && node.look !== 'handDrawn') { choiceShape.selectAll('path').attr('style', cssStyles); } diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts index 687d281f0..0c5f171e8 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/forkJoin.ts @@ -1,14 +1,17 @@ -import { getNodeClasses, labelHelper, updateNodeBounds } from './util.js'; +import { getNodeClasses, updateNodeBounds } from './util.js'; import intersect from '../intersect/index.js'; import type { Node } from '$root/rendering-util/types.d.ts'; import type { SVG } from '$root/diagram-api/types.js'; import rough from 'roughjs'; import { styles2String, userNodeOverrides } from './handDrawnShapeStyles.js'; -export const forkJoin = async (parent: SVG, node: Node, dir: string) => { +export const forkJoin = (parent: SVG, node: Node, dir: string) => { const { nodeStyles } = styles2String(node); node.label = ''; - const { shapeSvg } = await labelHelper(parent, node, getNodeClasses(node)); + const shapeSvg = parent + .insert('g') + .attr('class', getNodeClasses(node)) + .attr('id', node.domId ?? node.id); const { cssStyles } = node; let width = Math.max(70, node?.width ?? 0); 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 ac7e4cdc7..882f0ba49 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/stateEnd.ts @@ -39,8 +39,6 @@ export const stateEnd = (parent: SVG, node: Node) => { const circle = shapeSvg.insert(() => roughNode, ':first-child'); circle.insert(() => roughInnerNode); - circle.attr('class', 'basic label-container'); - if (cssStyles) { circle.selectAll('path').attr('style', cssStyles); }