{"version":3,"file":"825-a72eac494ce65a7ee317.js","mappings":"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","sources":["webpack:///./node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-YF2LJOPJ.mjs","webpack:///./node_modules/mermaid/dist/chunks/mermaid.core/chunk-TMUBEWPD.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-TMUBEWPD.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-7DKRZKHE.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-EJ4ZWXGL.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const pieData = [...sections2.entries()].map((element) => {\n return {\n label: element[0],\n value: element[1]\n };\n }).sort((a, b) => {\n return b.value - a.value;\n });\n const pie = d3pie().value(\n (d3Section) => d3Section.value\n );\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const legend = group.selectAll(\".legend\").data(color.domain()).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * color.domain().length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", color).style(\"stroke\", color);\n legend.data(arcs).append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((datum) => {\n const { label, value } = datum.data;\n if (db2.getShowData()) {\n return `${label} [${value}]`;\n }\n return label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n","import {\n __name\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/diagrams/common/populateCommonDb.ts\nfunction populateCommonDb(ast, db) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n__name(populateCommonDb, \"populateCommonDb\");\n\nexport {\n populateCommonDb\n};\n"],"names":["DEFAULT_PIE_CONFIG","pie","DEFAULT_PIE_DB","sections","Map","showData","config","structuredClone","getConfig2","clear2","addSection","label","value","has","set","debug","getSections","setShowData","toggle","getShowData","db","getConfig","clear","setDiagramTitle","getDiagramTitle","setAccTitle","getAccTitle","setAccDescription","getAccDescription","populateDb","ast","db2","map","parser","parse","async","input","pieStyles_default","options","pieStrokeColor","pieStrokeWidth","pieOpacity","pieOuterStrokeColor","pieOuterStrokeWidth","pieTitleTextSize","pieTitleTextColor","fontFamily","pieSectionTextColor","pieSectionTextSize","pieLegendTextColor","pieLegendTextSize","createPieArcs","sections2","pieData","entries","element","sort","a","b","d3Section","diagram","renderer","draw","text","id","_version","diagObj","globalConfig","pieConfig","svg","group","append","attr","themeVariables","outerStrokeWidth","textPosition","radius","Math","min","arcGenerator","innerRadius","outerRadius","labelArcGenerator","arcs","myGeneratedColors","pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12","color","selectAll","data","enter","datum","sum","forEach","section","toFixed","centroid","style","legend","domain","_datum","index","LEGEND_RECT_SIZE","length","totalWidth","pieWidth","max","nodes","node","getBoundingClientRect","width","useMaxWidth","styles","populateCommonDb","accDescr","accTitle","title"],"sourceRoot":""}