@copilotkitnext/react 0.0.22-alpha.7 → 0.0.22-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/dist/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
- package/dist/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
- package/dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
- package/dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
- package/dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
- package/dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
- package/dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
- package/dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
- package/dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
- package/dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
- package/dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
- package/dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
- package/dist/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
- package/dist/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
- package/dist/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
- package/dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
- package/dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
- package/dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
- package/dist/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
- package/dist/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
- package/dist/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
- package/dist/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
- package/dist/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
- package/dist/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
- package/dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
- package/dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
- package/dist/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
- package/dist/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
- package/dist/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
- package/dist/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
- package/dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
- package/dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
- package/dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
- package/dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
- package/dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
- package/dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
- package/dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
- package/dist/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
- package/dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
- package/dist/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
- package/dist/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
- package/dist/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
- package/dist/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
- package/dist/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
- package/dist/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
- package/dist/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
- package/dist/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
- package/dist/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
- package/dist/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
- package/dist/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
- package/dist/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
- package/dist/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
- package/dist/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
- package/dist/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
- package/dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
- package/dist/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
- package/dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
- package/dist/angular-html-LD6QEAZE.mjs +0 -7
- package/dist/angular-html-LD6QEAZE.mjs.map +0 -1
- package/dist/angular-ts-FGK7I2F5.mjs +0 -37
- package/dist/angular-ts-FGK7I2F5.mjs.map +0 -1
- package/dist/angular-ts-XZTE5LQS.mjs +0 -37
- package/dist/angular-ts-XZTE5LQS.mjs.map +0 -1
- package/dist/apl-VB2EG5RZ.mjs +0 -22
- package/dist/apl-VB2EG5RZ.mjs.map +0 -1
- package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs +0 -8712
- package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs.map +0 -1
- package/dist/blade-EZDWULER.mjs +0 -26
- package/dist/blade-EZDWULER.mjs.map +0 -1
- package/dist/blade-HS4Z7O3Y.mjs +0 -26
- package/dist/blade-HS4Z7O3Y.mjs.map +0 -1
- package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs +0 -3618
- package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs.map +0 -1
- package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs +0 -2495
- package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs.map +0 -1
- package/dist/chunk-2BAFECUC.mjs +0 -28
- package/dist/chunk-2BAFECUC.mjs.map +0 -1
- package/dist/chunk-BF5LDW2L.mjs +0 -65
- package/dist/chunk-BF5LDW2L.mjs.map +0 -1
- package/dist/chunk-BUEC2HNL.mjs +0 -762
- package/dist/chunk-BUEC2HNL.mjs.map +0 -1
- package/dist/chunk-CRGJ2YCV.mjs +0 -109
- package/dist/chunk-CRGJ2YCV.mjs.map +0 -1
- package/dist/chunk-DKZXT4VQ.mjs +0 -19
- package/dist/chunk-DKZXT4VQ.mjs.map +0 -1
- package/dist/chunk-DYQXFOGA.mjs +0 -34
- package/dist/chunk-DYQXFOGA.mjs.map +0 -1
- package/dist/chunk-ENI667QL.mjs +0 -806
- package/dist/chunk-ENI667QL.mjs.map +0 -1
- package/dist/chunk-GEUZOPED.mjs +0 -1834
- package/dist/chunk-GEUZOPED.mjs.map +0 -1
- package/dist/chunk-GU7334FJ.mjs +0 -538
- package/dist/chunk-GU7334FJ.mjs.map +0 -1
- package/dist/chunk-HNKEYT4A.mjs +0 -4693
- package/dist/chunk-HNKEYT4A.mjs.map +0 -1
- package/dist/chunk-HTMHAYGC.mjs +0 -14
- package/dist/chunk-HTMHAYGC.mjs.map +0 -1
- package/dist/chunk-JRLFMJ6U.mjs +0 -1923
- package/dist/chunk-JRLFMJ6U.mjs.map +0 -1
- package/dist/chunk-JYRND4DC.mjs +0 -22
- package/dist/chunk-JYRND4DC.mjs.map +0 -1
- package/dist/chunk-KFEPUFID.mjs +0 -52
- package/dist/chunk-KFEPUFID.mjs.map +0 -1
- package/dist/chunk-M3UH7XZX.mjs +0 -6222
- package/dist/chunk-M3UH7XZX.mjs.map +0 -1
- package/dist/chunk-ND4RYWG7.mjs +0 -12
- package/dist/chunk-ND4RYWG7.mjs.map +0 -1
- package/dist/chunk-VLSLBZME.mjs +0 -51
- package/dist/chunk-VLSLBZME.mjs.map +0 -1
- package/dist/chunk-WJBV3P3K.mjs +0 -55
- package/dist/chunk-WJBV3P3K.mjs.map +0 -1
- package/dist/chunk-X2TQ2HDS.mjs +0 -44
- package/dist/chunk-X2TQ2HDS.mjs.map +0 -1
- package/dist/chunk-YIDZOZG3.mjs +0 -103
- package/dist/chunk-YIDZOZG3.mjs.map +0 -1
- package/dist/chunk-YLW7IP7V.mjs +0 -14525
- package/dist/chunk-YLW7IP7V.mjs.map +0 -1
- package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs +0 -38
- package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs.map +0 -1
- package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs +0 -38
- package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs.map +0 -1
- package/dist/cobol-PNTKRG5I.mjs +0 -17
- package/dist/cobol-PNTKRG5I.mjs.map +0 -1
- package/dist/crystal-BSMHK65A.mjs +0 -23
- package/dist/crystal-BSMHK65A.mjs.map +0 -1
- package/dist/dagre-6UL2VRFP-XN667C7N.mjs +0 -710
- package/dist/dagre-6UL2VRFP-XN667C7N.mjs.map +0 -1
- package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs +0 -538
- package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs.map +0 -1
- package/dist/diagram-QEK2KX5R-H3EHES33.mjs +0 -319
- package/dist/diagram-QEK2KX5R-H3EHES33.mjs.map +0 -1
- package/dist/diagram-S2PKOQOG-FOQYPB22.mjs +0 -231
- package/dist/diagram-S2PKOQOG-FOQYPB22.mjs.map +0 -1
- package/dist/edge-JOI74UJM.mjs +0 -19
- package/dist/edge-JOI74UJM.mjs.map +0 -1
- package/dist/elixir-FEL6DDPJ.mjs +0 -15
- package/dist/elixir-FEL6DDPJ.mjs.map +0 -1
- package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs +0 -1175
- package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs.map +0 -1
- package/dist/erb-Q2D6FWX3.mjs +0 -32
- package/dist/erb-Q2D6FWX3.mjs.map +0 -1
- package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs +0 -2349
- package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs.map +0 -1
- package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs +0 -2344
- package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs.map +0 -1
- package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs +0 -1221
- package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs.map +0 -1
- package/dist/glimmer-js-B32LCGFA.mjs +0 -19
- package/dist/glimmer-js-B32LCGFA.mjs.map +0 -1
- package/dist/glimmer-ts-4PHFAQCG.mjs +0 -19
- package/dist/glimmer-ts-4PHFAQCG.mjs.map +0 -1
- package/dist/hack-3ZNSL4KD.mjs +0 -17
- package/dist/hack-3ZNSL4KD.mjs.map +0 -1
- package/dist/handlebars-ICBC3AZK.mjs +0 -19
- package/dist/handlebars-ICBC3AZK.mjs.map +0 -1
- package/dist/html-BGY5P773.mjs +0 -6
- package/dist/html-BGY5P773.mjs.map +0 -1
- package/dist/html-derivative-3HGXHHFE.mjs +0 -7
- package/dist/html-derivative-3HGXHHFE.mjs.map +0 -1
- package/dist/index.css +0 -2385
- package/dist/index.css.map +0 -1
- package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs +0 -49
- package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs.map +0 -1
- package/dist/jinja-WL6HNMB5.mjs +0 -22
- package/dist/jinja-WL6HNMB5.mjs.map +0 -1
- package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs +0 -1259
- package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs.map +0 -1
- package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs +0 -1062
- package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs.map +0 -1
- package/dist/katex-4R42CMCB.mjs +0 -4
- package/dist/katex-4R42CMCB.mjs.map +0 -1
- package/dist/liquid-YS3YPW54.mjs +0 -19
- package/dist/liquid-YS3YPW54.mjs.map +0 -1
- package/dist/logo-mark-OHF64HAY.svg +0 -8
- package/dist/mdc-A66KLOT4.mjs +0 -20
- package/dist/mdc-A66KLOT4.mjs.map +0 -1
- package/dist/mermaid.core-4OWTNZSL.mjs +0 -1587
- package/dist/mermaid.core-4OWTNZSL.mjs.map +0 -1
- package/dist/mermaid.core-7AUE4M6E.mjs +0 -1587
- package/dist/mermaid.core-7AUE4M6E.mjs.map +0 -1
- package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs +0 -1112
- package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs.map +0 -1
- package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs +0 -1112
- package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs.map +0 -1
- package/dist/nim-HUBKBJHZ.mjs +0 -26
- package/dist/nim-HUBKBJHZ.mjs.map +0 -1
- package/dist/perl-QHAMWWQ5.mjs +0 -22
- package/dist/perl-QHAMWWQ5.mjs.map +0 -1
- package/dist/php-FS5GKSPN.mjs +0 -11
- package/dist/php-FS5GKSPN.mjs.map +0 -1
- package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs +0 -200
- package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs.map +0 -1
- package/dist/pug-WTY5FMEA.mjs +0 -17
- package/dist/pug-WTY5FMEA.mjs.map +0 -1
- package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs +0 -1344
- package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs.map +0 -1
- package/dist/razor-BAB7LFWZ.mjs +0 -17
- package/dist/razor-BAB7LFWZ.mjs.map +0 -1
- package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs +0 -1179
- package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs.map +0 -1
- package/dist/rst-AY7U27YM.mjs +0 -41
- package/dist/rst-AY7U27YM.mjs.map +0 -1
- package/dist/rst-Y2VLYMJI.mjs +0 -41
- package/dist/rst-Y2VLYMJI.mjs.map +0 -1
- package/dist/ruby-K4BNEYWG.mjs +0 -22
- package/dist/ruby-K4BNEYWG.mjs.map +0 -1
- package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs +0 -1230
- package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs.map +0 -1
- package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs +0 -3885
- package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs.map +0 -1
- package/dist/soy-5QMQV2KL.mjs +0 -15
- package/dist/soy-5QMQV2KL.mjs.map +0 -1
- package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs +0 -467
- package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs.map +0 -1
- package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs +0 -37
- package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs.map +0 -1
- package/dist/templ-VSARRSO2.mjs +0 -17
- package/dist/templ-VSARRSO2.mjs.map +0 -1
- package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs +0 -1226
- package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs.map +0 -1
- package/dist/ts-tags-YK3Q2LIW.mjs +0 -68
- package/dist/ts-tags-YK3Q2LIW.mjs.map +0 -1
- package/dist/twig-HNMWLN6H.mjs +0 -40
- package/dist/twig-HNMWLN6H.mjs.map +0 -1
- package/dist/vue-7OSX6ZY5.mjs +0 -10
- package/dist/vue-7OSX6ZY5.mjs.map +0 -1
- package/dist/vue-html-AQH2V2EU.mjs +0 -20
- package/dist/vue-html-AQH2V2EU.mjs.map +0 -1
- package/dist/vue-vine-GCYT2IGV.mjs +0 -29
- package/dist/vue-vine-GCYT2IGV.mjs.map +0 -1
- package/dist/xychartDiagram-PRI3JC2R-65KZQZDU.mjs +0 -1865
- package/dist/xychartDiagram-PRI3JC2R-65KZQZDU.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/graphlib/json.js","../../../node_modules/.pnpm/mermaid@11.12.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.mjs"],"names":["clear"],"mappings":"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","file":"dagre-6UL2VRFP-XN667C7N.mjs","sourcesContent":["import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-JZLCHNYA.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson2 from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib2 from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear4 = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson2.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson2.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson2.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const startNode = graph.node(e.v);\n var endNode = graph.node(e.w);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib2.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyc<lic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson2.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson2.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n render\n};\n"]}
|
|
@@ -1,538 +0,0 @@
|
|
|
1
|
-
import { populateCommonDb } from './chunk-TTWRCDIC.mjs';
|
|
2
|
-
import { parse } from './chunk-S7QNUGK2.mjs';
|
|
3
|
-
import { selectSvgElement } from './chunk-DKZXT4VQ.mjs';
|
|
4
|
-
import './chunk-WJTQD7PW.mjs';
|
|
5
|
-
import './chunk-TO2PW746.mjs';
|
|
6
|
-
import './chunk-4ZPM5JLE.mjs';
|
|
7
|
-
import './chunk-UDJFODZR.mjs';
|
|
8
|
-
import './chunk-TKSZKNX6.mjs';
|
|
9
|
-
import './chunk-FBSCEMOY.mjs';
|
|
10
|
-
import './chunk-LAALMHUD.mjs';
|
|
11
|
-
import './chunk-6BGV5W65.mjs';
|
|
12
|
-
import './chunk-GKV77NWJ.mjs';
|
|
13
|
-
import './chunk-JIP2SELZ.mjs';
|
|
14
|
-
import { setupViewPortForSVG } from './chunk-2BAFECUC.mjs';
|
|
15
|
-
import { isLabelStyle, styles2String } from './chunk-YIDZOZG3.mjs';
|
|
16
|
-
import { cleanAndMerge } from './chunk-GU7334FJ.mjs';
|
|
17
|
-
import './chunk-ZGPFSRJJ.mjs';
|
|
18
|
-
import { setAccTitle, getAccTitle, setDiagramTitle, getDiagramTitle, getAccDescription, setAccDescription, getConfig, defaultConfig_default, clear, configureSvgSize } from './chunk-HNKEYT4A.mjs';
|
|
19
|
-
import './chunk-7O6EKIFY.mjs';
|
|
20
|
-
import { __name, log, format, ordinal, hierarchy, treemap_default, select_default } from './chunk-WHXHCOFP.mjs';
|
|
21
|
-
import './chunk-SH6YXSHR.mjs';
|
|
22
|
-
|
|
23
|
-
// ../../node_modules/.pnpm/mermaid@11.12.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-PSM6KHXK.mjs
|
|
24
|
-
var TreeMapDB = class {
|
|
25
|
-
constructor() {
|
|
26
|
-
this.nodes = [];
|
|
27
|
-
this.levels = /* @__PURE__ */ new Map();
|
|
28
|
-
this.outerNodes = [];
|
|
29
|
-
this.classes = /* @__PURE__ */ new Map();
|
|
30
|
-
this.setAccTitle = setAccTitle;
|
|
31
|
-
this.getAccTitle = getAccTitle;
|
|
32
|
-
this.setDiagramTitle = setDiagramTitle;
|
|
33
|
-
this.getDiagramTitle = getDiagramTitle;
|
|
34
|
-
this.getAccDescription = getAccDescription;
|
|
35
|
-
this.setAccDescription = setAccDescription;
|
|
36
|
-
}
|
|
37
|
-
static {
|
|
38
|
-
__name(this, "TreeMapDB");
|
|
39
|
-
}
|
|
40
|
-
getNodes() {
|
|
41
|
-
return this.nodes;
|
|
42
|
-
}
|
|
43
|
-
getConfig() {
|
|
44
|
-
const defaultConfig = defaultConfig_default;
|
|
45
|
-
const userConfig = getConfig();
|
|
46
|
-
return cleanAndMerge({
|
|
47
|
-
...defaultConfig.treemap,
|
|
48
|
-
...userConfig.treemap ?? {}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
addNode(node, level) {
|
|
52
|
-
this.nodes.push(node);
|
|
53
|
-
this.levels.set(node, level);
|
|
54
|
-
if (level === 0) {
|
|
55
|
-
this.outerNodes.push(node);
|
|
56
|
-
this.root ??= node;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
getRoot() {
|
|
60
|
-
return { name: "", children: this.outerNodes };
|
|
61
|
-
}
|
|
62
|
-
addClass(id, _style) {
|
|
63
|
-
const styleClass = this.classes.get(id) ?? { id, styles: [], textStyles: [] };
|
|
64
|
-
const styles = _style.replace(/\\,/g, "\xA7\xA7\xA7").replace(/,/g, ";").replace(/§§§/g, ",").split(";");
|
|
65
|
-
if (styles) {
|
|
66
|
-
styles.forEach((s) => {
|
|
67
|
-
if (isLabelStyle(s)) {
|
|
68
|
-
if (styleClass?.textStyles) {
|
|
69
|
-
styleClass.textStyles.push(s);
|
|
70
|
-
} else {
|
|
71
|
-
styleClass.textStyles = [s];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (styleClass?.styles) {
|
|
75
|
-
styleClass.styles.push(s);
|
|
76
|
-
} else {
|
|
77
|
-
styleClass.styles = [s];
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
this.classes.set(id, styleClass);
|
|
82
|
-
}
|
|
83
|
-
getClasses() {
|
|
84
|
-
return this.classes;
|
|
85
|
-
}
|
|
86
|
-
getStylesForClass(classSelector) {
|
|
87
|
-
return this.classes.get(classSelector)?.styles ?? [];
|
|
88
|
-
}
|
|
89
|
-
clear() {
|
|
90
|
-
clear();
|
|
91
|
-
this.nodes = [];
|
|
92
|
-
this.levels = /* @__PURE__ */ new Map();
|
|
93
|
-
this.outerNodes = [];
|
|
94
|
-
this.classes = /* @__PURE__ */ new Map();
|
|
95
|
-
this.root = void 0;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
function buildHierarchy(items) {
|
|
99
|
-
if (!items.length) {
|
|
100
|
-
return [];
|
|
101
|
-
}
|
|
102
|
-
const root = [];
|
|
103
|
-
const stack = [];
|
|
104
|
-
items.forEach((item) => {
|
|
105
|
-
const node = {
|
|
106
|
-
name: item.name,
|
|
107
|
-
children: item.type === "Leaf" ? void 0 : []
|
|
108
|
-
};
|
|
109
|
-
node.classSelector = item?.classSelector;
|
|
110
|
-
if (item?.cssCompiledStyles) {
|
|
111
|
-
node.cssCompiledStyles = [item.cssCompiledStyles];
|
|
112
|
-
}
|
|
113
|
-
if (item.type === "Leaf" && item.value !== void 0) {
|
|
114
|
-
node.value = item.value;
|
|
115
|
-
}
|
|
116
|
-
while (stack.length > 0 && stack[stack.length - 1].level >= item.level) {
|
|
117
|
-
stack.pop();
|
|
118
|
-
}
|
|
119
|
-
if (stack.length === 0) {
|
|
120
|
-
root.push(node);
|
|
121
|
-
} else {
|
|
122
|
-
const parent = stack[stack.length - 1].node;
|
|
123
|
-
if (parent.children) {
|
|
124
|
-
parent.children.push(node);
|
|
125
|
-
} else {
|
|
126
|
-
parent.children = [node];
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (item.type !== "Leaf") {
|
|
130
|
-
stack.push({ node, level: item.level });
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
return root;
|
|
134
|
-
}
|
|
135
|
-
__name(buildHierarchy, "buildHierarchy");
|
|
136
|
-
var populate = /* @__PURE__ */ __name((ast, db) => {
|
|
137
|
-
populateCommonDb(ast, db);
|
|
138
|
-
const items = [];
|
|
139
|
-
for (const row of ast.TreemapRows ?? []) {
|
|
140
|
-
if (row.$type === "ClassDefStatement") {
|
|
141
|
-
db.addClass(row.className ?? "", row.styleText ?? "");
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
for (const row of ast.TreemapRows ?? []) {
|
|
145
|
-
const item = row.item;
|
|
146
|
-
if (!item) {
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
const level = row.indent ? parseInt(row.indent) : 0;
|
|
150
|
-
const name = getItemName(item);
|
|
151
|
-
const styles = item.classSelector ? db.getStylesForClass(item.classSelector) : [];
|
|
152
|
-
const cssCompiledStyles = styles.length > 0 ? styles.join(";") : void 0;
|
|
153
|
-
const itemData = {
|
|
154
|
-
level,
|
|
155
|
-
name,
|
|
156
|
-
type: item.$type,
|
|
157
|
-
value: item.value,
|
|
158
|
-
classSelector: item.classSelector,
|
|
159
|
-
cssCompiledStyles
|
|
160
|
-
};
|
|
161
|
-
items.push(itemData);
|
|
162
|
-
}
|
|
163
|
-
const hierarchyNodes = buildHierarchy(items);
|
|
164
|
-
const addNodesRecursively = /* @__PURE__ */ __name((nodes, level) => {
|
|
165
|
-
for (const node of nodes) {
|
|
166
|
-
db.addNode(node, level);
|
|
167
|
-
if (node.children && node.children.length > 0) {
|
|
168
|
-
addNodesRecursively(node.children, level + 1);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}, "addNodesRecursively");
|
|
172
|
-
addNodesRecursively(hierarchyNodes, 0);
|
|
173
|
-
}, "populate");
|
|
174
|
-
var getItemName = /* @__PURE__ */ __name((item) => {
|
|
175
|
-
return item.name ? String(item.name) : "";
|
|
176
|
-
}, "getItemName");
|
|
177
|
-
var parser = {
|
|
178
|
-
// @ts-expect-error - TreeMapDB is not assignable to DiagramDB
|
|
179
|
-
parser: { yy: void 0 },
|
|
180
|
-
parse: /* @__PURE__ */ __name(async (text) => {
|
|
181
|
-
try {
|
|
182
|
-
const parseFunc = parse;
|
|
183
|
-
const ast = await parseFunc("treemap", text);
|
|
184
|
-
log.debug("Treemap AST:", ast);
|
|
185
|
-
const db = parser.parser?.yy;
|
|
186
|
-
if (!(db instanceof TreeMapDB)) {
|
|
187
|
-
throw new Error(
|
|
188
|
-
"parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues."
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
populate(ast, db);
|
|
192
|
-
} catch (error) {
|
|
193
|
-
log.error("Error parsing treemap:", error);
|
|
194
|
-
throw error;
|
|
195
|
-
}
|
|
196
|
-
}, "parse")
|
|
197
|
-
};
|
|
198
|
-
var DEFAULT_INNER_PADDING = 10;
|
|
199
|
-
var SECTION_INNER_PADDING = 10;
|
|
200
|
-
var SECTION_HEADER_HEIGHT = 25;
|
|
201
|
-
var draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {
|
|
202
|
-
const treemapDb = diagram2.db;
|
|
203
|
-
const config = treemapDb.getConfig();
|
|
204
|
-
const treemapInnerPadding = config.padding ?? DEFAULT_INNER_PADDING;
|
|
205
|
-
const title = treemapDb.getDiagramTitle();
|
|
206
|
-
const root = treemapDb.getRoot();
|
|
207
|
-
const { themeVariables } = getConfig();
|
|
208
|
-
if (!root) {
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
const titleHeight = title ? 30 : 0;
|
|
212
|
-
const svg = selectSvgElement(id);
|
|
213
|
-
const width = config.nodeWidth ? config.nodeWidth * SECTION_INNER_PADDING : 960;
|
|
214
|
-
const height = config.nodeHeight ? config.nodeHeight * SECTION_INNER_PADDING : 500;
|
|
215
|
-
const svgWidth = width;
|
|
216
|
-
const svgHeight = height + titleHeight;
|
|
217
|
-
svg.attr("viewBox", `0 0 ${svgWidth} ${svgHeight}`);
|
|
218
|
-
configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);
|
|
219
|
-
let valueFormat;
|
|
220
|
-
try {
|
|
221
|
-
const formatStr = config.valueFormat || ",";
|
|
222
|
-
if (formatStr === "$0,0") {
|
|
223
|
-
valueFormat = /* @__PURE__ */ __name((value) => "$" + format(",")(value), "valueFormat");
|
|
224
|
-
} else if (formatStr.startsWith("$") && formatStr.includes(",")) {
|
|
225
|
-
const precision = /\.\d+/.exec(formatStr);
|
|
226
|
-
const precisionStr = precision ? precision[0] : "";
|
|
227
|
-
valueFormat = /* @__PURE__ */ __name((value) => "$" + format("," + precisionStr)(value), "valueFormat");
|
|
228
|
-
} else if (formatStr.startsWith("$")) {
|
|
229
|
-
const restOfFormat = formatStr.substring(1);
|
|
230
|
-
valueFormat = /* @__PURE__ */ __name((value) => "$" + format(restOfFormat || "")(value), "valueFormat");
|
|
231
|
-
} else {
|
|
232
|
-
valueFormat = format(formatStr);
|
|
233
|
-
}
|
|
234
|
-
} catch (error) {
|
|
235
|
-
log.error("Error creating format function:", error);
|
|
236
|
-
valueFormat = format(",");
|
|
237
|
-
}
|
|
238
|
-
const colorScale = ordinal().range([
|
|
239
|
-
"transparent",
|
|
240
|
-
themeVariables.cScale0,
|
|
241
|
-
themeVariables.cScale1,
|
|
242
|
-
themeVariables.cScale2,
|
|
243
|
-
themeVariables.cScale3,
|
|
244
|
-
themeVariables.cScale4,
|
|
245
|
-
themeVariables.cScale5,
|
|
246
|
-
themeVariables.cScale6,
|
|
247
|
-
themeVariables.cScale7,
|
|
248
|
-
themeVariables.cScale8,
|
|
249
|
-
themeVariables.cScale9,
|
|
250
|
-
themeVariables.cScale10,
|
|
251
|
-
themeVariables.cScale11
|
|
252
|
-
]);
|
|
253
|
-
const colorScalePeer = ordinal().range([
|
|
254
|
-
"transparent",
|
|
255
|
-
themeVariables.cScalePeer0,
|
|
256
|
-
themeVariables.cScalePeer1,
|
|
257
|
-
themeVariables.cScalePeer2,
|
|
258
|
-
themeVariables.cScalePeer3,
|
|
259
|
-
themeVariables.cScalePeer4,
|
|
260
|
-
themeVariables.cScalePeer5,
|
|
261
|
-
themeVariables.cScalePeer6,
|
|
262
|
-
themeVariables.cScalePeer7,
|
|
263
|
-
themeVariables.cScalePeer8,
|
|
264
|
-
themeVariables.cScalePeer9,
|
|
265
|
-
themeVariables.cScalePeer10,
|
|
266
|
-
themeVariables.cScalePeer11
|
|
267
|
-
]);
|
|
268
|
-
const colorScaleLabel = ordinal().range([
|
|
269
|
-
themeVariables.cScaleLabel0,
|
|
270
|
-
themeVariables.cScaleLabel1,
|
|
271
|
-
themeVariables.cScaleLabel2,
|
|
272
|
-
themeVariables.cScaleLabel3,
|
|
273
|
-
themeVariables.cScaleLabel4,
|
|
274
|
-
themeVariables.cScaleLabel5,
|
|
275
|
-
themeVariables.cScaleLabel6,
|
|
276
|
-
themeVariables.cScaleLabel7,
|
|
277
|
-
themeVariables.cScaleLabel8,
|
|
278
|
-
themeVariables.cScaleLabel9,
|
|
279
|
-
themeVariables.cScaleLabel10,
|
|
280
|
-
themeVariables.cScaleLabel11
|
|
281
|
-
]);
|
|
282
|
-
if (title) {
|
|
283
|
-
svg.append("text").attr("x", svgWidth / 2).attr("y", titleHeight / 2).attr("class", "treemapTitle").attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(title);
|
|
284
|
-
}
|
|
285
|
-
const g = svg.append("g").attr("transform", `translate(0, ${titleHeight})`).attr("class", "treemapContainer");
|
|
286
|
-
const hierarchyRoot = hierarchy(root).sum((d) => d.value ?? 0).sort((a, b) => (b.value ?? 0) - (a.value ?? 0));
|
|
287
|
-
const treemapLayout = treemap_default().size([width, height]).paddingTop(
|
|
288
|
-
(d) => d.children && d.children.length > 0 ? SECTION_HEADER_HEIGHT + SECTION_INNER_PADDING : 0
|
|
289
|
-
).paddingInner(treemapInnerPadding).paddingLeft((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingRight((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingBottom((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).round(true);
|
|
290
|
-
const treemapData = treemapLayout(hierarchyRoot);
|
|
291
|
-
const branchNodes = treemapData.descendants().filter((d) => d.children && d.children.length > 0);
|
|
292
|
-
const sections = g.selectAll(".treemapSection").data(branchNodes).enter().append("g").attr("class", "treemapSection").attr("transform", (d) => `translate(${d.x0},${d.y0})`);
|
|
293
|
-
sections.append("rect").attr("width", (d) => d.x1 - d.x0).attr("height", SECTION_HEADER_HEIGHT).attr("class", "treemapSectionHeader").attr("fill", "none").attr("fill-opacity", 0.6).attr("stroke-width", 0.6).attr("style", (d) => {
|
|
294
|
-
if (d.depth === 0) {
|
|
295
|
-
return "display: none;";
|
|
296
|
-
}
|
|
297
|
-
return "";
|
|
298
|
-
});
|
|
299
|
-
sections.append("clipPath").attr("id", (_d, i) => `clip-section-${id}-${i}`).append("rect").attr("width", (d) => Math.max(0, d.x1 - d.x0 - 12)).attr("height", SECTION_HEADER_HEIGHT);
|
|
300
|
-
sections.append("rect").attr("width", (d) => d.x1 - d.x0).attr("height", (d) => d.y1 - d.y0).attr("class", (_d, i) => {
|
|
301
|
-
return `treemapSection section${i}`;
|
|
302
|
-
}).attr("fill", (d) => colorScale(d.data.name)).attr("fill-opacity", 0.6).attr("stroke", (d) => colorScalePeer(d.data.name)).attr("stroke-width", 2).attr("stroke-opacity", 0.4).attr("style", (d) => {
|
|
303
|
-
if (d.depth === 0) {
|
|
304
|
-
return "display: none;";
|
|
305
|
-
}
|
|
306
|
-
const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });
|
|
307
|
-
return styles.nodeStyles + ";" + styles.borderStyles.join(";");
|
|
308
|
-
});
|
|
309
|
-
sections.append("text").attr("class", "treemapSectionLabel").attr("x", 6).attr("y", SECTION_HEADER_HEIGHT / 2).attr("dominant-baseline", "middle").text((d) => d.depth === 0 ? "" : d.data.name).attr("font-weight", "bold").attr("style", (d) => {
|
|
310
|
-
if (d.depth === 0) {
|
|
311
|
-
return "display: none;";
|
|
312
|
-
}
|
|
313
|
-
const labelStyles = "dominant-baseline: middle; font-size: 12px; fill:" + colorScaleLabel(d.data.name) + "; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;";
|
|
314
|
-
const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });
|
|
315
|
-
return labelStyles + styles.labelStyles.replace("color:", "fill:");
|
|
316
|
-
}).each(function(d) {
|
|
317
|
-
if (d.depth === 0) {
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
const self = select_default(this);
|
|
321
|
-
const originalText = d.data.name;
|
|
322
|
-
self.text(originalText);
|
|
323
|
-
const totalHeaderWidth = d.x1 - d.x0;
|
|
324
|
-
const labelXPosition = 6;
|
|
325
|
-
let spaceForTextContent;
|
|
326
|
-
if (config.showValues !== false && d.value) {
|
|
327
|
-
const valueEndsAtXRelative = totalHeaderWidth - 10;
|
|
328
|
-
const estimatedValueTextActualWidth = 30;
|
|
329
|
-
const gapBetweenLabelAndValue = 10;
|
|
330
|
-
const labelMustEndBeforeX = valueEndsAtXRelative - estimatedValueTextActualWidth - gapBetweenLabelAndValue;
|
|
331
|
-
spaceForTextContent = labelMustEndBeforeX - labelXPosition;
|
|
332
|
-
} else {
|
|
333
|
-
const labelOwnRightPadding = 6;
|
|
334
|
-
spaceForTextContent = totalHeaderWidth - labelXPosition - labelOwnRightPadding;
|
|
335
|
-
}
|
|
336
|
-
const minimumWidthToDisplay = 15;
|
|
337
|
-
const actualAvailableWidth = Math.max(minimumWidthToDisplay, spaceForTextContent);
|
|
338
|
-
const textNode = self.node();
|
|
339
|
-
const currentTextContentLength = textNode.getComputedTextLength();
|
|
340
|
-
if (currentTextContentLength > actualAvailableWidth) {
|
|
341
|
-
const ellipsis = "...";
|
|
342
|
-
let currentTruncatedText = originalText;
|
|
343
|
-
while (currentTruncatedText.length > 0) {
|
|
344
|
-
currentTruncatedText = originalText.substring(0, currentTruncatedText.length - 1);
|
|
345
|
-
if (currentTruncatedText.length === 0) {
|
|
346
|
-
self.text(ellipsis);
|
|
347
|
-
if (textNode.getComputedTextLength() > actualAvailableWidth) {
|
|
348
|
-
self.text("");
|
|
349
|
-
}
|
|
350
|
-
break;
|
|
351
|
-
}
|
|
352
|
-
self.text(currentTruncatedText + ellipsis);
|
|
353
|
-
if (textNode.getComputedTextLength() <= actualAvailableWidth) {
|
|
354
|
-
break;
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
});
|
|
359
|
-
if (config.showValues !== false) {
|
|
360
|
-
sections.append("text").attr("class", "treemapSectionValue").attr("x", (d) => d.x1 - d.x0 - 10).attr("y", SECTION_HEADER_HEIGHT / 2).attr("text-anchor", "end").attr("dominant-baseline", "middle").text((d) => d.value ? valueFormat(d.value) : "").attr("font-style", "italic").attr("style", (d) => {
|
|
361
|
-
if (d.depth === 0) {
|
|
362
|
-
return "display: none;";
|
|
363
|
-
}
|
|
364
|
-
const labelStyles = "text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:" + colorScaleLabel(d.data.name) + "; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;";
|
|
365
|
-
const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });
|
|
366
|
-
return labelStyles + styles.labelStyles.replace("color:", "fill:");
|
|
367
|
-
});
|
|
368
|
-
}
|
|
369
|
-
const leafNodes = treemapData.leaves();
|
|
370
|
-
const cell = g.selectAll(".treemapLeafGroup").data(leafNodes).enter().append("g").attr("class", (d, i) => {
|
|
371
|
-
return `treemapNode treemapLeafGroup leaf${i}${d.data.classSelector ? ` ${d.data.classSelector}` : ""}x`;
|
|
372
|
-
}).attr("transform", (d) => `translate(${d.x0},${d.y0})`);
|
|
373
|
-
cell.append("rect").attr("width", (d) => d.x1 - d.x0).attr("height", (d) => d.y1 - d.y0).attr("class", "treemapLeaf").attr("fill", (d) => {
|
|
374
|
-
return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);
|
|
375
|
-
}).attr("style", (d) => {
|
|
376
|
-
const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });
|
|
377
|
-
return styles.nodeStyles;
|
|
378
|
-
}).attr("fill-opacity", 0.3).attr("stroke", (d) => {
|
|
379
|
-
return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);
|
|
380
|
-
}).attr("stroke-width", 3);
|
|
381
|
-
cell.append("clipPath").attr("id", (_d, i) => `clip-${id}-${i}`).append("rect").attr("width", (d) => Math.max(0, d.x1 - d.x0 - 4)).attr("height", (d) => Math.max(0, d.y1 - d.y0 - 4));
|
|
382
|
-
const leafLabels = cell.append("text").attr("class", "treemapLabel").attr("x", (d) => (d.x1 - d.x0) / 2).attr("y", (d) => (d.y1 - d.y0) / 2).attr("style", (d) => {
|
|
383
|
-
const labelStyles = "text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:" + colorScaleLabel(d.data.name) + ";";
|
|
384
|
-
const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });
|
|
385
|
-
return labelStyles + styles.labelStyles.replace("color:", "fill:");
|
|
386
|
-
}).attr("clip-path", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.data.name);
|
|
387
|
-
leafLabels.each(function(d) {
|
|
388
|
-
const self = select_default(this);
|
|
389
|
-
const nodeWidth = d.x1 - d.x0;
|
|
390
|
-
const nodeHeight = d.y1 - d.y0;
|
|
391
|
-
const textNode = self.node();
|
|
392
|
-
const padding = 4;
|
|
393
|
-
const availableWidth = nodeWidth - 2 * padding;
|
|
394
|
-
const availableHeight = nodeHeight - 2 * padding;
|
|
395
|
-
if (availableWidth < 10 || availableHeight < 10) {
|
|
396
|
-
self.style("display", "none");
|
|
397
|
-
return;
|
|
398
|
-
}
|
|
399
|
-
let currentLabelFontSize = parseInt(self.style("font-size"), 10);
|
|
400
|
-
const minLabelFontSize = 8;
|
|
401
|
-
const originalValueRelFontSize = 28;
|
|
402
|
-
const valueScaleFactor = 0.6;
|
|
403
|
-
const minValueFontSize = 6;
|
|
404
|
-
const spacingBetweenLabelAndValue = 2;
|
|
405
|
-
while (textNode.getComputedTextLength() > availableWidth && currentLabelFontSize > minLabelFontSize) {
|
|
406
|
-
currentLabelFontSize--;
|
|
407
|
-
self.style("font-size", `${currentLabelFontSize}px`);
|
|
408
|
-
}
|
|
409
|
-
let prospectiveValueFontSize = Math.max(
|
|
410
|
-
minValueFontSize,
|
|
411
|
-
Math.min(originalValueRelFontSize, Math.round(currentLabelFontSize * valueScaleFactor))
|
|
412
|
-
);
|
|
413
|
-
let combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;
|
|
414
|
-
while (combinedHeight > availableHeight && currentLabelFontSize > minLabelFontSize) {
|
|
415
|
-
currentLabelFontSize--;
|
|
416
|
-
prospectiveValueFontSize = Math.max(
|
|
417
|
-
minValueFontSize,
|
|
418
|
-
Math.min(originalValueRelFontSize, Math.round(currentLabelFontSize * valueScaleFactor))
|
|
419
|
-
);
|
|
420
|
-
if (prospectiveValueFontSize < minValueFontSize && currentLabelFontSize === minLabelFontSize) {
|
|
421
|
-
break;
|
|
422
|
-
}
|
|
423
|
-
self.style("font-size", `${currentLabelFontSize}px`);
|
|
424
|
-
combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;
|
|
425
|
-
}
|
|
426
|
-
self.style("font-size", `${currentLabelFontSize}px`);
|
|
427
|
-
if (textNode.getComputedTextLength() > availableWidth || currentLabelFontSize < minLabelFontSize || availableHeight < currentLabelFontSize) {
|
|
428
|
-
self.style("display", "none");
|
|
429
|
-
}
|
|
430
|
-
});
|
|
431
|
-
if (config.showValues !== false) {
|
|
432
|
-
const leafValues = cell.append("text").attr("class", "treemapValue").attr("x", (d) => (d.x1 - d.x0) / 2).attr("y", function(d) {
|
|
433
|
-
return (d.y1 - d.y0) / 2;
|
|
434
|
-
}).attr("style", (d) => {
|
|
435
|
-
const labelStyles = "text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:" + colorScaleLabel(d.data.name) + ";";
|
|
436
|
-
const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });
|
|
437
|
-
return labelStyles + styles.labelStyles.replace("color:", "fill:");
|
|
438
|
-
}).attr("clip-path", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.value ? valueFormat(d.value) : "");
|
|
439
|
-
leafValues.each(function(d) {
|
|
440
|
-
const valueTextElement = select_default(this);
|
|
441
|
-
const parentCellNode = this.parentNode;
|
|
442
|
-
if (!parentCellNode) {
|
|
443
|
-
valueTextElement.style("display", "none");
|
|
444
|
-
return;
|
|
445
|
-
}
|
|
446
|
-
const labelElement = select_default(parentCellNode).select(".treemapLabel");
|
|
447
|
-
if (labelElement.empty() || labelElement.style("display") === "none") {
|
|
448
|
-
valueTextElement.style("display", "none");
|
|
449
|
-
return;
|
|
450
|
-
}
|
|
451
|
-
const finalLabelFontSize = parseFloat(labelElement.style("font-size"));
|
|
452
|
-
const originalValueFontSize = 28;
|
|
453
|
-
const valueScaleFactor = 0.6;
|
|
454
|
-
const minValueFontSize = 6;
|
|
455
|
-
const spacingBetweenLabelAndValue = 2;
|
|
456
|
-
const actualValueFontSize = Math.max(
|
|
457
|
-
minValueFontSize,
|
|
458
|
-
Math.min(originalValueFontSize, Math.round(finalLabelFontSize * valueScaleFactor))
|
|
459
|
-
);
|
|
460
|
-
valueTextElement.style("font-size", `${actualValueFontSize}px`);
|
|
461
|
-
const labelCenterY = (d.y1 - d.y0) / 2;
|
|
462
|
-
const valueTopActualY = labelCenterY + finalLabelFontSize / 2 + spacingBetweenLabelAndValue;
|
|
463
|
-
valueTextElement.attr("y", valueTopActualY);
|
|
464
|
-
const nodeWidth = d.x1 - d.x0;
|
|
465
|
-
const nodeTotalHeight = d.y1 - d.y0;
|
|
466
|
-
const cellBottomPadding = 4;
|
|
467
|
-
const maxValueBottomY = nodeTotalHeight - cellBottomPadding;
|
|
468
|
-
const availableWidthForValue = nodeWidth - 2 * 4;
|
|
469
|
-
if (valueTextElement.node().getComputedTextLength() > availableWidthForValue || valueTopActualY + actualValueFontSize > maxValueBottomY || actualValueFontSize < minValueFontSize) {
|
|
470
|
-
valueTextElement.style("display", "none");
|
|
471
|
-
} else {
|
|
472
|
-
valueTextElement.style("display", null);
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
}
|
|
476
|
-
const diagramPadding = config.diagramPadding ?? 8;
|
|
477
|
-
setupViewPortForSVG(svg, diagramPadding, "flowchart", config?.useMaxWidth || false);
|
|
478
|
-
}, "draw");
|
|
479
|
-
var getClasses = /* @__PURE__ */ __name(function(_text, diagramObj) {
|
|
480
|
-
return diagramObj.db.getClasses();
|
|
481
|
-
}, "getClasses");
|
|
482
|
-
var renderer = { draw, getClasses };
|
|
483
|
-
var defaultTreemapStyleOptions = {
|
|
484
|
-
sectionStrokeColor: "black",
|
|
485
|
-
sectionStrokeWidth: "1",
|
|
486
|
-
sectionFillColor: "#efefef",
|
|
487
|
-
leafStrokeColor: "black",
|
|
488
|
-
leafStrokeWidth: "1",
|
|
489
|
-
leafFillColor: "#efefef",
|
|
490
|
-
labelColor: "black",
|
|
491
|
-
labelFontSize: "12px",
|
|
492
|
-
valueFontSize: "10px",
|
|
493
|
-
valueColor: "black",
|
|
494
|
-
titleColor: "black",
|
|
495
|
-
titleFontSize: "14px"
|
|
496
|
-
};
|
|
497
|
-
var getStyles = /* @__PURE__ */ __name(({
|
|
498
|
-
treemap: treemap2
|
|
499
|
-
} = {}) => {
|
|
500
|
-
const options = cleanAndMerge(defaultTreemapStyleOptions, treemap2);
|
|
501
|
-
return `
|
|
502
|
-
.treemapNode.section {
|
|
503
|
-
stroke: ${options.sectionStrokeColor};
|
|
504
|
-
stroke-width: ${options.sectionStrokeWidth};
|
|
505
|
-
fill: ${options.sectionFillColor};
|
|
506
|
-
}
|
|
507
|
-
.treemapNode.leaf {
|
|
508
|
-
stroke: ${options.leafStrokeColor};
|
|
509
|
-
stroke-width: ${options.leafStrokeWidth};
|
|
510
|
-
fill: ${options.leafFillColor};
|
|
511
|
-
}
|
|
512
|
-
.treemapLabel {
|
|
513
|
-
fill: ${options.labelColor};
|
|
514
|
-
font-size: ${options.labelFontSize};
|
|
515
|
-
}
|
|
516
|
-
.treemapValue {
|
|
517
|
-
fill: ${options.valueColor};
|
|
518
|
-
font-size: ${options.valueFontSize};
|
|
519
|
-
}
|
|
520
|
-
.treemapTitle {
|
|
521
|
-
fill: ${options.titleColor};
|
|
522
|
-
font-size: ${options.titleFontSize};
|
|
523
|
-
}
|
|
524
|
-
`;
|
|
525
|
-
}, "getStyles");
|
|
526
|
-
var styles_default = getStyles;
|
|
527
|
-
var diagram = {
|
|
528
|
-
parser,
|
|
529
|
-
get db() {
|
|
530
|
-
return new TreeMapDB();
|
|
531
|
-
},
|
|
532
|
-
renderer,
|
|
533
|
-
styles: styles_default
|
|
534
|
-
};
|
|
535
|
-
|
|
536
|
-
export { diagram };
|
|
537
|
-
//# sourceMappingURL=diagram-PSM6KHXK-VA2CF5LZ.mjs.map
|
|
538
|
-
//# sourceMappingURL=diagram-PSM6KHXK-VA2CF5LZ.mjs.map
|