8 lines
461 KiB
Plaintext
Raw 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": ["labelHelper", "__name", "parent", "node", "_classes", "cssClasses", "useHtmlLabels", "evaluate", "getConfig", "shapeSvg", "labelEl", "handleUndefinedAttr", "label", "addBackground", "isMarkdown", "text", "createText", "sanitizeText", "decodeEntities", "bbox", "halfPadding", "div", "dv", "select_default", "configureLabelImages", "insertLabel", "options", "getEffectiveHtmlLabels", "updateNodeBounds", "element", "getNodeClasses", "__name", "node", "extra", "createPathFromPoints", "points", "pointStrings", "p", "i", "generateFullSineWavePoints", "x1", "y1", "x2", "y2", "amplitude", "numCycles", "deltaX", "deltaY", "cycleLength", "frequency", "midY", "t", "x", "y", "generateCirclePoints", "centerX", "centerY", "radius", "numPoints", "startAngle", "endAngle", "startAngleRad", "angleStep", "angle", "mergePaths", "roughElement", "paths", "mergedPath", "combinedPathData", "path", "d", "fillPath", "strokePath", "getAttr", "element", "attr", "fillAttrs", "value", "strokeAttrs", "group", "intersectRect", "__name", "node", "point", "x", "y", "dx", "dy", "w", "h", "sx", "sy", "intersect_rect_default", "createLabel", "__name", "element", "_vertexText", "style", "isTitle", "isNode", "vertexText", "config", "getConfig", "useHtmlLabels", "getEffectiveHtmlLabels", "createText", "createLabel_default", "createRoundedRectPathD", "__name", "x", "y", "totalWidth", "totalHeight", "radius", "rect", "__name", "parent", "node", "log", "siteConfig", "getConfig", "themeVariables", "handDrawnSeed", "clusterBkg", "clusterBorder", "labelStyles", "nodeStyles", "borderStyles", "backgroundStyles", "styles2String", "shapeSvg", "useHtmlLabels", "getEffectiveHtmlLabels", "labelEl", "text", "createText", "createLabel_default", "bbox", "div", "dv", "select_default", "width", "height", "x", "y", "rc", "at", "options", "userNodeOverrides", "roughNode", "createRoundedRectPathD", "subGraphTitleTopMargin", "getSubGraphTitleMargins", "span", "rectBox", "point", "intersect_rect_default", "noteGroup", "padding", "halfPadding", "roundedWithTitle", "altBackground", "compositeBackground", "compositeTitleBackground", "nodeBorder", "outerRectG", "label", "innerRect", "innerHeight", "innerY", "isAlt", "roughOuterNode", "roughInnerNode", "kanbanSection", "divider", "outerRectClass", "squareRect", "shapes", "clusterElems", "insertCluster", "elem", "shape", "cluster", "clear", "__name", "clusterElems", "intersectNode", "node", "point", "__name", "intersect_node_default", "intersectEllipse", "node", "rx", "ry", "point", "cx", "cy", "px", "py", "det", "dx", "dy", "__name", "intersect_ellipse_default", "intersectCircle", "node", "rx", "point", "intersect_ellipse_default", "__name", "intersect_circle_default", "intersectLine", "p1", "p2", "q1", "q2", "a1", "b1", "c1", "r3", "r4", "epsilon", "sameSign", "a2", "b2", "c2", "r1", "r2", "denom", "offset", "num", "x", "y", "__name", "intersect_line_default", "intersectPolygon", "node", "polyPoints", "point", "x1", "y1", "intersections", "minX", "minY", "entry", "left", "top", "i", "p1", "p2", "intersect", "intersect_line_default", "p", "q", "pdx", "pdy", "distp", "qdx", "qdy", "distq", "__name", "intersect_polygon_default", "intersect_default", "intersect_node_default", "intersect_circle_default", "intersect_ellipse_default", "intersect_polygon_default", "intersect_rect_default", "anchor", "parent", "node", "labelStyles", "styles2String", "classes", "getNodeClasses", "cssClasses", "shapeSvg", "radius", "cssStyles", "rc", "at", "options", "userNodeOverrides", "roughNode", "circleElem", "handleUndefinedAttr", "updateNodeBounds", "point", "log", "intersect_default", "__name", "generateArcPoints", "x1", "y1", "x2", "y2", "rx", "ry", "clockwise", "midX", "midY", "angle", "dx", "dy", "transformedX", "transformedY", "distance", "scaledCenterDistance", "centerX", "centerY", "startAngle", "angleRange", "points", "i", "t", "x", "y", "__name", "calculateArcSagitta", "chord", "radiusX", "radiusY", "semiMajorAxis", "semiMinorAxis", "a", "b", "bowTieRect", "parent", "node", "labelStyles", "nodeStyles", "styles2String", "nodePadding", "la
}