fix: preserve annotations and adjust styling for clarity

on-behalf-of: @Mermaid-Chart <hello@mermaidchart.com>
This commit is contained in:
darshanr0107
2025-09-03 14:13:40 +05:30
parent a495eb03e2
commit ad35a930c6
2 changed files with 22 additions and 6 deletions

View File

@@ -36,16 +36,31 @@ export async function textHelper<T extends SVGGraphicsElement>(
annotationGroup = shapeSvg.insert('g').attr('class', 'annotation-group text');
if (node.annotations.length > 0) {
await addText(annotationGroup, { text: `` } as unknown as ClassMember, 0);
const annotation = node.annotations[0].toLowerCase();
let isSupported = false;
switch (annotation) {
case 'interface':
case 'abstract':
case 'enumeration':
isSupported = true;
break;
}
if (!isSupported) {
await addText(
annotationGroup,
{ text: `«${node.annotations[0]}»` } as unknown as ClassMember,
0,
[]
);
annotationGroup.style('opacity', '1');
}
const annotationGroupBBox = annotationGroup.node()!.getBBox();
annotationGroupHeight = annotationGroupBBox.height;
}
labelGroup = shapeSvg.insert('g').attr('class', 'label-group text');
// Determine styling based on annotations
let labelStyles = ['font-weight: bolder']; // Default bold style
let labelStyles = [''];
let labelClass = '';
if (node.annotations && node.annotations.length > 0) {
const annotation = node.annotations[0].toLowerCase();
@@ -63,7 +78,8 @@ export async function textHelper<T extends SVGGraphicsElement>(
labelStyles = [];
break;
default:
labelStyles = ['font-weight: bolder'];
labelClass = '';
labelStyles = [];
break;
}
}

View File

@@ -31,7 +31,7 @@ const getStyles = (options) =>
}
.classTitle {
font-weight: bolder;
font-weight: normal;
}
.node rect,
.node circle,