Files

8 lines
490 KiB
Plaintext
Raw Permalink Normal View History

2025-11-23 14:59:17 -08:00
{
"version": 3,
"sources": ["../../../src/rendering-util/rendering-elements/shapes/util.ts", "../../../../../node_modules/.pnpm/roughjs@4.6.6_patch_hash=3543d47108cb41b68ec6a671c0e1f9d0cfe2ce524fea5b0992511ae84c3c6b64/node_modules/roughjs/bundled/rough.esm.js", "../../../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/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/drawRect.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"
"sourcesContent": ["import { createText } from '../../createText.js';\nimport type { Node } from '../../types.js';\nimport { getConfig } from '../../../diagram-api/diagramAPI.js';\nimport { select } from 'd3';\nimport defaultConfig from '../../../defaultConfig.js';\nimport { evaluate, sanitizeText } from '../../../diagrams/common/common.js';\nimport { decodeEntities, handleUndefinedAttr, parseFontSize } from '../../../utils.js';\nimport type { D3Selection, Point } from '../../../types.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 text = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig()), {\n useHtmlLabels,\n width: node.width || getConfig().flowchart?.wrappingWidth,\n // @ts-expect-error -- This is currently not used. Should this be `classes` instead?\n cssClasses: 'markdown-node-label',\n style: node.labelStyle,\n addSvgBackground: !!node.icon || !!node.img,\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];\n const dv = select(text);\n\n // if there are images, need to wait for them to load before getting the bounding box\n const images = div.getElementsByTagName('img');\n if (images) {\n const noImgText = label.replace(/<img[^>]*>/g, '').trim() === '';\n\n await Promise.all(\n [...images].map(\n (img) =>\n new Promise((res) => {\n /**\n *\n */\n function setupImage() {\n img.style.display = 'flex';\n img.style.flexDirection = 'column';\n\n if (noImgText) {\n // default size if no text\n const bodyFontSize = getConfig().fontSize\n ? getConfig().fontSize\n : window.getComputedStyle(document.body).fontSize;\n const enlargingFactor = 5;\n const [parsedBodyFontSize = defaultConfig.fontSize] = parseFontSize(bodyFontSize);\n const width = parsedBodyFontSize * enlargingFactor + 'px';\n img.style.minWidth = width;\n img.style.maxWidth = width;\n } else {\n img.style.width = '100%';\n }\n res(img);\n }\n setTimeout(() => {\n if (img.complete) {\n setupImage();\n }\n });\n img.addEventListener('error', setupImage);\n img.addEventListener('load', setupImage);\n })\n )\n );\n }\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
"mappings": "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
"names": ["getConfig", "text", "p", "i", "t", "x", "y", "t", "e", "s", "n", "o", "a", "h", "r", "i", "c", "l", "u", "p", "f", "d", "g", "M", "k", "b", "y", "m", "P", "v", "S", "O", "L", "T", "D", "A", "x", "y", "w", "h", "getConfig", "s", "x", "y", "getConfig", "text", "x", "y", "rect", "x", "y", "i", "p", "q", "i", "t", "angle", "x", "y", "w", "h", "w", "h", "d", "h", "w", "s", "options", "radius", "r", "crossedCircle", "generateCirclePoints", "i", "x", "y", "w", "h", "generateCirclePoints", "i", "x", "y", "w", "h", "generateCirclePoints", "i", "x", "y", "w", "h", "w", "h", "x", "y", "w", "h", "cylinder", "w", "h", "x", "y", "p", "filledCircle", "w", "h", "flippedTriangle", "state", "x", "y", "w", "h", "h", "w", "m", "w", "h", "x", "y", "x", "y", "x", "y", "x", "y", "w", "h", "x", "y", "rect", "options", "rect", "w", "h", "w", "h", "lightningBolt", "createCylinderPathD", "x", "y", "createOuterCylinderPathD", "createInnerCylinderPathD", "w", "h", "cylinder", "w", "h", "p", "w", "h", "x", "y", "multiRect", "w", "h", "x", "y", "x", "y", "rect", "x", "y", "w", "h", "s", "points", "w", "h", "x", "y", "g", "text", "getConfig", "div", "dv", "x", "y", "rect", "generateArcPoints", "i", "t", "angle", "x", "y", "w", "h", "w", "h", "x", "y", "p", "rect", "w", "h", "x", "y", "squareRect", "h", "w", "circle", "circle", "w", "h", "x", "y", "rect", "w", "h", "x", "y", "taggedRect", "w", "h", "x", "y", "x", "y", "rect", "createCylinderPathD", "x", "y", "createOuterCylinderPathD", "createInnerCylinderPathD", "h", "w", "cylinder", "w", "h", "w", "h", "getConfig", "w", "h", "w", "h", "w", "h", "w", "h", "x", "y", "windowPane", "themeVariables", "options", "shapeSvg", "nameBBox", "w", "h", "x", "y", "_", "i", "text", "rect", "roughRect", "yOffset", "e", "s", "addText", "text", "sanitizeText", "getConfig", "w", "h", "x", "y", "rect", "_", "i", "text", "nodes", "match", "addText", "typeHeight", "x", "y", "rect", "_", "i", "text", "getConfig", "sanitizeText", "x", "y", "rect", "options", "y2", "w", "h", "r", "w", "h", "w", "h", "squareRect", "shapes", "shapes", "clear"]
}