8 lines
435 KiB
Plaintext
Raw Permalink Normal View History

2026-05-31 13:21:13 +02:00
{
"version": 3,
"sources": ["../../../src/rendering-util/rendering-elements/shapes/util.ts", "../../../src/rendering-util/rendering-elements/intersect/intersect-rect.js", "../../../src/rendering-util/rendering-elements/createLabel.js", "../../../src/rendering-util/rendering-elements/shapes/roundedRectPath.ts", "../../../src/rendering-util/rendering-elements/clusters.js", "../../../src/rendering-util/rendering-elements/intersect/intersect-node.js", "../../../src/rendering-util/rendering-elements/intersect/intersect-ellipse.js", "../../../src/rendering-util/rendering-elements/intersect/intersect-circle.js", "../../../src/rendering-util/rendering-elements/intersect/intersect-line.js", "../../../src/rendering-util/rendering-elements/intersect/intersect-polygon.js", "../../../src/rendering-util/rendering-elements/intersect/index.js", "../../../src/rendering-util/rendering-elements/shapes/anchor.ts", "../../../src/rendering-util/rendering-elements/shapes/bowTieRect.ts", "../../../src/rendering-util/rendering-elements/shapes/insertPolygonShape.ts", "../../../src/rendering-util/rendering-elements/shapes/card.ts", "../../../src/rendering-util/rendering-elements/shapes/choice.ts", "../../../src/rendering-util/rendering-elements/shapes/circle.ts", "../../../src/rendering-util/rendering-elements/shapes/crossedCircle.ts", "../../../src/rendering-util/rendering-elements/shapes/curlyBraceLeft.ts", "../../../src/rendering-util/rendering-elements/shapes/curlyBraceRight.ts", "../../../src/rendering-util/rendering-elements/shapes/curlyBraces.ts", "../../../src/rendering-util/rendering-elements/shapes/curvedTrapezoid.ts", "../../../src/rendering-util/rendering-elements/shapes/cylinder.ts", "../../../src/rendering-util/rendering-elements/shapes/drawRect.ts", "../../../src/rendering-util/rendering-elements/shapes/datastore.ts", "../../../src/rendering-util/rendering-elements/shapes/dividedRect.ts", "../../../src/rendering-util/rendering-elements/shapes/doubleCircle.ts", "../../../src/rendering-util/rendering-elements/shapes/filledCircle.ts", "../../../src/rendering-util/rendering-elements/shapes/flippedTriangle.ts", "../../../src/rendering-util/rendering-elements/shapes/forkJoin.ts", "../../../src/rendering-util/rendering-elements/shapes/halfRoundedRectangle.ts", "../../../src/rendering-util/rendering-elements/shapes/hexagon.ts", "../../../src/rendering-util/rendering-elements/shapes/hourglass.ts", "../../../src/rendering-util/rendering-elements/shapes/icon.ts", "../../../src/rendering-util/rendering-elements/shapes/iconCircle.ts", "../../../src/rendering-util/rendering-elements/shapes/iconRounded.ts", "../../../src/rendering-util/rendering-elements/shapes/iconSquare.ts", "../../../src/rendering-util/rendering-elements/shapes/imageSquare.ts", "../../../src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts", "../../../src/rendering-util/rendering-elements/shapes/labelRect.ts", "../../../src/rendering-util/rendering-elements/shapes/leanLeft.ts", "../../../src/rendering-util/rendering-elements/shapes/leanRight.ts", "../../../src/rendering-util/rendering-elements/shapes/lightningBolt.ts", "../../../src/rendering-util/rendering-elements/shapes/linedCylinder.ts", "../../../src/rendering-util/rendering-elements/shapes/linedWaveEdgedRect.ts", "../../../src/rendering-util/rendering-elements/shapes/multiRect.ts", "../../../src/rendering-util/rendering-elements/shapes/multiWaveEdgedRectangle.ts", "../../../src/rendering-util/rendering-elements/shapes/note.ts", "../../../src/rendering-util/rendering-elements/shapes/question.ts", "../../../src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts", "../../../src/rendering-util/rendering-elements/shapes/rectWithTitle.ts", "../../../src/rendering-util/rendering-elements/shapes/roundedRect.ts", "../../../src/rendering-util/rendering-elements/shapes/shadedProcess.ts", "../../../src/rendering-util/rendering-elements/shapes/slopedRect.ts", "../../../src/rendering-util/rendering-elements/shapes/squareRect.ts", "../../../src/rendering-util/rendering-elements/shapes/stadium.ts", "../../../src/rendering-util/
"sourcesContent": ["import { createText } from '../../createText.js';\nimport type { Node } from '../../types.js';\nimport { getConfig } from '../../../diagram-api/diagramAPI.js';\nimport { evaluate, getEffectiveHtmlLabels } from '../../../config.js';\nimport { select } from 'd3';\nimport { sanitizeText } from '../../../diagrams/common/common.js';\nimport { decodeEntities, handleUndefinedAttr } from '../../../utils.js';\nimport type { D3Selection, Point } from '../../../types.js';\nimport { configureLabelImages } from './labelImageUtils.js';\n\nexport const labelHelper = async <T extends SVGGraphicsElement>(\n parent: D3Selection<T>,\n node: Node,\n _classes?: string\n) => {\n let cssClasses;\n const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig()?.htmlLabels);\n if (!_classes) {\n cssClasses = 'node default';\n } else {\n cssClasses = _classes;\n }\n\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', cssClasses)\n .attr('id', node.domId || node.id);\n\n // Create the label and insert it after the rect\n const labelEl = shapeSvg\n .insert('g')\n .attr('class', 'label')\n .attr('style', handleUndefinedAttr(node.labelStyle));\n\n // Replace label with default value if undefined\n let label;\n if (node.label === undefined) {\n label = '';\n } else {\n label = typeof node.label === 'string' ? node.label : node.label[0];\n }\n\n const addBackground = !!node.icon || !!node.img;\n const isMarkdown = node.labelType === 'markdown';\n const text = await createText(\n labelEl,\n sanitizeText(decodeEntities(label), getConfig()),\n {\n useHtmlLabels,\n width: node.width || getConfig().flowchart?.wrappingWidth,\n classes: isMarkdown ? 'markdown-node-label' : '',\n style: node.labelStyle,\n addSvgBackground: addBackground,\n markdown: isMarkdown,\n },\n getConfig()\n );\n\n // Get the size of the label\n let bbox = text.getBBox();\n const halfPadding = (node?.padding ?? 0) / 2;\n\n if (useHtmlLabels) {\n const div = text.children[0] as HTMLDivElement;\n const dv = select(text);\n\n // if there are images, need to wait for them to load before getting the bounding box\n await configureLabelImages(div, label);\n\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n\n // Center the label\n if (useHtmlLabels) {\n labelEl.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');\n } else {\n labelEl.attr('transform', 'translate(' + 0 + ', ' + -bbox.height / 2 + ')');\n }\n if (node.centerLabel) {\n labelEl.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');\n }\n labelEl.insert('rect', ':first-child');\n return { shapeSvg, bbox, halfPadding, label: labelEl };\n};\nexport const insertLabel = async <T extends SVGGraphicsElement>(\n parent: D3Selection<T>,\n label: string,\n options: {\n labelStyle?: string | undefined;\n icon?: boolean | undefined;\n img?: string | undefined;\n useHtmlLabels?: boolean | undefined;\n padding: number;\n width?: number | undefined;\n centerLabel?: boolean | undefined;\n addSvgBackground?: boolean | undefined;\n }\n) => {\n const useHtmlLabels = options.useHtmlLabels ?? getEffectiveHtmlLabels(getConfig());\n\n // Create the label and insert it after the rect\n const labelEl = parent\n .insert('g')\n .attr('class', 'label')\n .attr('style', options.labelStyle || '');\n\n const text = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig()), {\n useHtmlLabels,\n width: options.width || getConfig()?.flowchart?.wrappingWidth,\n style: options.labelStyle,\n addSvgBackground: !!options.icon || !!options.img,\n });\n // Get the size of the label\n let bbox = text.getBBox();\n const halfPadding = options.padding / 2;\n\n if (getEffectiveHtmlLabels(getConfig())) {\n const div = text.children[0];\n const dv = select(text);\n\n bbox = div.getBounding
"mappings": "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
"names": ["getConfig", "text", "getConfig", "getConfig", "text", "rect", "angle", "totalHeight", "ry", "rx", "options", "radius", "crossedCircle", "generateCirclePoints", "generateCirclePoints", "generateCirclePoints", "rx", "ry", "cylinder", "rect", "options", "rect", "rectOffset", "filledCircle", "MIN_HEIGHT", "MIN_WIDTH", "flippedTriangle", "state", "m", "rect", "lightningBolt", "createCylinderPathD", "createOuterCylinderPathD", "createInnerCylinderPathD", "MIN_HEIGHT", "MIN_WIDTH", "rx", "ry", "cylinder", "rectOffset", "multiRect", "rectOffset", "rect", "s", "points", "text", "getConfig", "div", "dv", "rect", "rect", "squareRect", "circle", "circle", "FRAME_WIDTH", "rect", "taggedRect", "rect", "createCylinderPathD", "createOuterCylinderPathD", "createInnerCylinderPathD", "MIN_HEIGHT", "MIN_WIDTH", "ry", "rx", "cylinder", "MIN_HEIGHT", "MIN_WIDTH", "getConfig", "waveAmplitude", "windowPane", "themeVariables", "options", "shapeSvg", "nameBBox", "text", "rect", "roughRect", "yOffset", "addText", "text", "sanitizeText", "getConfig", "rect", "text", "_", "i", "nodes", "match", "getConfig", "addText", "typeHeight", "rect", "text", "sanitizeText", "rect", "options", "squareRect", "shapes", "shapes", "clear"]
}