From d175e9a403a2eef8060fa824ed7f4aaabf6bfa1a Mon Sep 17 00:00:00 2001 From: Per Brolin Date: Mon, 30 Sep 2024 10:48:15 +0200 Subject: [PATCH] Fixed default size if not provided in height/width --- .../rendering-elements/shapes/filledCircle.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes/filledCircle.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes/filledCircle.ts index b1af130e4..41ed10e01 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes/filledCircle.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes/filledCircle.ts @@ -12,6 +12,29 @@ export const filledCircle = ( { config: { themeVariables } }: RenderOptions ) => { node.label = ''; + + // If incoming height & width are present, subtract the padding from them + // as labelHelper does not take padding into account + // also check if the width or height is less than minimum default values (50), + // if so set it to min value + if (node.width || node.height) { + if ((node.width ?? 0) < 50) { + node.width = 50; + } + + if ((node.height ?? 0) < 50) { + node.height = 50; + } + } + + if (!node.width) { + node.width = 50; + } + + if (!node.height) { + node.width = 50; + } + const shapeSvg = parent .insert('g') .attr('class', getNodeClasses(node))