{"version":3,"file":"diagram-5BDNPKRD-yHUFpYGS.chunk.mjs","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/diagram-5BDNPKRD.mjs"],"sourcesContent":["import {\n  selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n  populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n  ImperativeState\n} from \"./chunk-QZHKN3VN.mjs\";\nimport {\n  cleanAndMerge\n} from \"./chunk-5PVQY5BW.mjs\";\nimport {\n  clear,\n  configureSvgSize,\n  defaultConfig_default,\n  getAccDescription,\n  getAccTitle,\n  getConfig,\n  getDiagramTitle,\n  setAccDescription,\n  setAccTitle,\n  setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n  __name,\n  log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n  cnt: 1,\n  stack: [\n    {\n      id: 0,\n      level: -1,\n      name: \"/\",\n      children: []\n    }\n  ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n  state.reset();\n  clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n  return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n  return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name) => {\n  while (level <= state.records.stack[state.records.stack.length - 1].level) {\n    state.records.stack.pop();\n  }\n  const node = {\n    id: state.records.cnt++,\n    level,\n    name,\n    children: []\n  };\n  state.records.stack[state.records.stack.length - 1].children.push(node);\n  state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n  clear: clear2,\n  addNode,\n  getRoot,\n  getCount,\n  getConfig: getConfig2,\n  getAccTitle,\n  getAccDescription,\n  getDiagramTitle,\n  setAccDescription,\n  setAccTitle,\n  setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n  populateCommonDb(ast, db_default);\n  ast.nodes.map((node) => db_default.addNode(node.indent ? parseInt(node.indent) : 0, node.name));\n}, \"populate\");\nvar parser = {\n  parse: /* @__PURE__ */ __name(async (input) => {\n    const ast = await parse(\"treeView\", input);\n    log.debug(ast);\n    populate(ast);\n  }, \"parse\")\n};\n\n// src/diagrams/treeView/renderer.ts\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config) => {\n  const label = domElem.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-label\");\n  const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n  const height = labelHeight + config.paddingY * 2;\n  const width = labelWidth + config.paddingX * 2;\n  label.attr(\"x\", x + config.paddingX);\n  label.attr(\"y\", y + height / 2);\n  node.BBox = {\n    x,\n    y,\n    width,\n    height\n  };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n  return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config) => {\n  let totalHeight = 0;\n  let totalWidth = 0;\n  const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n    const indent = depth * (config2.rowIndent + config2.paddingX);\n    positionLabel(indent, totalHeight, node, elem2, config2);\n    const { height, width } = node.BBox;\n    positionLine(\n      elem2,\n      indent - config2.rowIndent,\n      totalHeight + height / 2,\n      indent,\n      totalHeight + height / 2,\n      config2.lineThickness\n    );\n    totalWidth = Math.max(totalWidth, indent + width);\n    totalHeight += height;\n  }, \"drawNode\");\n  const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n    drawNode(elem, node, config, depth);\n    node.children.forEach((child) => {\n      processNode(child, depth + 1);\n    });\n    const { x, y, height } = node.BBox;\n    if (node.children.length) {\n      const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n      positionLine(\n        elem,\n        x + config.paddingX,\n        y + height,\n        x + config.paddingX,\n        endY + endHeight / 2 + config.lineThickness / 2,\n        config.lineThickness\n      );\n    }\n  }, \"processNode\");\n  processNode(root);\n  return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name((text, id, _ver, diagObj) => {\n  log.debug(\"Rendering treeView diagram\\n\" + text);\n  const db2 = diagObj.db;\n  const root = db2.getRoot();\n  const config = db2.getConfig();\n  const svg = selectSvgElement(id);\n  const treeElem = svg.append(\"g\");\n  treeElem.attr(\"class\", \"tree-view\");\n  const { totalHeight, totalWidth } = drawTree(treeElem, root, config);\n  svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n  configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n  draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n  labelFontSize: \"16px\",\n  labelColor: \"black\",\n  lineColor: \"black\"\n};\nvar styles = /* @__PURE__ */ __name(({\n  treeView\n}) => {\n  const { labelFontSize, labelColor, lineColor } = cleanAndMerge(\n    defaultTreeViewDiagramStyles,\n    treeView\n  );\n  return `\n    .treeView-node-label {\n        font-size: ${labelFontSize};\n        fill: ${labelColor};\n    }\n    .treeView-node-line {\n        stroke: ${lineColor};\n    }\n    `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n  db: db_default,\n  renderer: renderer_default,\n  parser,\n  styles: styles_default\n};\nexport {\n  diagram\n};\n"],"names":["state","ImperativeState","clear2","__name","clear","getRoot","getCount","defaultConfig","defaultConfig_default","getConfig2","cleanAndMerge","getConfig","addNode","level","name","node","db","getAccTitle","getAccDescription","getDiagramTitle","setAccDescription","setAccTitle","setDiagramTitle","db_default","populate","ast","populateCommonDb","parser","input","parse","log","positionLabel","x","y","domElem","config","label","labelHeight","labelWidth","height","width","positionLine","x1","y1","x2","y2","lineThickness","drawTree","elem","root","totalHeight","totalWidth","drawNode","elem2","config2","depth","indent","processNode","child","endY","endHeight","draw","text","id","_ver","diagObj","db2","svg","selectSvgElement","treeElem","configureSvgSize","renderer","renderer_default","defaultTreeViewDiagramStyles","styles","treeView","labelFontSize","labelColor","lineColor","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}