@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.
Files changed (236) hide show
  1. package/package.json +4 -4
  2. package/dist/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
  3. package/dist/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
  4. package/dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
  5. package/dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
  6. package/dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
  7. package/dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
  8. package/dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
  9. package/dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
  10. package/dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
  11. package/dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
  12. package/dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
  13. package/dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
  14. package/dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
  15. package/dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
  16. package/dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
  17. package/dist/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
  18. package/dist/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
  19. package/dist/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
  20. package/dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
  21. package/dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
  22. package/dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
  23. package/dist/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
  24. package/dist/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
  25. package/dist/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
  26. package/dist/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
  27. package/dist/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
  28. package/dist/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
  29. package/dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
  30. package/dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
  31. package/dist/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
  32. package/dist/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
  33. package/dist/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
  34. package/dist/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
  35. package/dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
  36. package/dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
  37. package/dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
  38. package/dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
  39. package/dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
  40. package/dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
  41. package/dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
  42. package/dist/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
  43. package/dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
  44. package/dist/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
  45. package/dist/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
  46. package/dist/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
  47. package/dist/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
  48. package/dist/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
  49. package/dist/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
  50. package/dist/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
  51. package/dist/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
  52. package/dist/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
  53. package/dist/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
  54. package/dist/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
  55. package/dist/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
  56. package/dist/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
  57. package/dist/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
  58. package/dist/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
  59. package/dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
  60. package/dist/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
  61. package/dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
  62. package/dist/angular-html-LD6QEAZE.mjs +0 -7
  63. package/dist/angular-html-LD6QEAZE.mjs.map +0 -1
  64. package/dist/angular-ts-FGK7I2F5.mjs +0 -37
  65. package/dist/angular-ts-FGK7I2F5.mjs.map +0 -1
  66. package/dist/angular-ts-XZTE5LQS.mjs +0 -37
  67. package/dist/angular-ts-XZTE5LQS.mjs.map +0 -1
  68. package/dist/apl-VB2EG5RZ.mjs +0 -22
  69. package/dist/apl-VB2EG5RZ.mjs.map +0 -1
  70. package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs +0 -8712
  71. package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs.map +0 -1
  72. package/dist/blade-EZDWULER.mjs +0 -26
  73. package/dist/blade-EZDWULER.mjs.map +0 -1
  74. package/dist/blade-HS4Z7O3Y.mjs +0 -26
  75. package/dist/blade-HS4Z7O3Y.mjs.map +0 -1
  76. package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs +0 -3618
  77. package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs.map +0 -1
  78. package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs +0 -2495
  79. package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs.map +0 -1
  80. package/dist/chunk-2BAFECUC.mjs +0 -28
  81. package/dist/chunk-2BAFECUC.mjs.map +0 -1
  82. package/dist/chunk-BF5LDW2L.mjs +0 -65
  83. package/dist/chunk-BF5LDW2L.mjs.map +0 -1
  84. package/dist/chunk-BUEC2HNL.mjs +0 -762
  85. package/dist/chunk-BUEC2HNL.mjs.map +0 -1
  86. package/dist/chunk-CRGJ2YCV.mjs +0 -109
  87. package/dist/chunk-CRGJ2YCV.mjs.map +0 -1
  88. package/dist/chunk-DKZXT4VQ.mjs +0 -19
  89. package/dist/chunk-DKZXT4VQ.mjs.map +0 -1
  90. package/dist/chunk-DYQXFOGA.mjs +0 -34
  91. package/dist/chunk-DYQXFOGA.mjs.map +0 -1
  92. package/dist/chunk-ENI667QL.mjs +0 -806
  93. package/dist/chunk-ENI667QL.mjs.map +0 -1
  94. package/dist/chunk-GEUZOPED.mjs +0 -1834
  95. package/dist/chunk-GEUZOPED.mjs.map +0 -1
  96. package/dist/chunk-GU7334FJ.mjs +0 -538
  97. package/dist/chunk-GU7334FJ.mjs.map +0 -1
  98. package/dist/chunk-HNKEYT4A.mjs +0 -4693
  99. package/dist/chunk-HNKEYT4A.mjs.map +0 -1
  100. package/dist/chunk-HTMHAYGC.mjs +0 -14
  101. package/dist/chunk-HTMHAYGC.mjs.map +0 -1
  102. package/dist/chunk-JRLFMJ6U.mjs +0 -1923
  103. package/dist/chunk-JRLFMJ6U.mjs.map +0 -1
  104. package/dist/chunk-JYRND4DC.mjs +0 -22
  105. package/dist/chunk-JYRND4DC.mjs.map +0 -1
  106. package/dist/chunk-KFEPUFID.mjs +0 -52
  107. package/dist/chunk-KFEPUFID.mjs.map +0 -1
  108. package/dist/chunk-M3UH7XZX.mjs +0 -6222
  109. package/dist/chunk-M3UH7XZX.mjs.map +0 -1
  110. package/dist/chunk-ND4RYWG7.mjs +0 -12
  111. package/dist/chunk-ND4RYWG7.mjs.map +0 -1
  112. package/dist/chunk-VLSLBZME.mjs +0 -51
  113. package/dist/chunk-VLSLBZME.mjs.map +0 -1
  114. package/dist/chunk-WJBV3P3K.mjs +0 -55
  115. package/dist/chunk-WJBV3P3K.mjs.map +0 -1
  116. package/dist/chunk-X2TQ2HDS.mjs +0 -44
  117. package/dist/chunk-X2TQ2HDS.mjs.map +0 -1
  118. package/dist/chunk-YIDZOZG3.mjs +0 -103
  119. package/dist/chunk-YIDZOZG3.mjs.map +0 -1
  120. package/dist/chunk-YLW7IP7V.mjs +0 -14525
  121. package/dist/chunk-YLW7IP7V.mjs.map +0 -1
  122. package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs +0 -38
  123. package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs.map +0 -1
  124. package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs +0 -38
  125. package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs.map +0 -1
  126. package/dist/cobol-PNTKRG5I.mjs +0 -17
  127. package/dist/cobol-PNTKRG5I.mjs.map +0 -1
  128. package/dist/crystal-BSMHK65A.mjs +0 -23
  129. package/dist/crystal-BSMHK65A.mjs.map +0 -1
  130. package/dist/dagre-6UL2VRFP-XN667C7N.mjs +0 -710
  131. package/dist/dagre-6UL2VRFP-XN667C7N.mjs.map +0 -1
  132. package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs +0 -538
  133. package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs.map +0 -1
  134. package/dist/diagram-QEK2KX5R-H3EHES33.mjs +0 -319
  135. package/dist/diagram-QEK2KX5R-H3EHES33.mjs.map +0 -1
  136. package/dist/diagram-S2PKOQOG-FOQYPB22.mjs +0 -231
  137. package/dist/diagram-S2PKOQOG-FOQYPB22.mjs.map +0 -1
  138. package/dist/edge-JOI74UJM.mjs +0 -19
  139. package/dist/edge-JOI74UJM.mjs.map +0 -1
  140. package/dist/elixir-FEL6DDPJ.mjs +0 -15
  141. package/dist/elixir-FEL6DDPJ.mjs.map +0 -1
  142. package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs +0 -1175
  143. package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs.map +0 -1
  144. package/dist/erb-Q2D6FWX3.mjs +0 -32
  145. package/dist/erb-Q2D6FWX3.mjs.map +0 -1
  146. package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs +0 -2349
  147. package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs.map +0 -1
  148. package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs +0 -2344
  149. package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs.map +0 -1
  150. package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs +0 -1221
  151. package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs.map +0 -1
  152. package/dist/glimmer-js-B32LCGFA.mjs +0 -19
  153. package/dist/glimmer-js-B32LCGFA.mjs.map +0 -1
  154. package/dist/glimmer-ts-4PHFAQCG.mjs +0 -19
  155. package/dist/glimmer-ts-4PHFAQCG.mjs.map +0 -1
  156. package/dist/hack-3ZNSL4KD.mjs +0 -17
  157. package/dist/hack-3ZNSL4KD.mjs.map +0 -1
  158. package/dist/handlebars-ICBC3AZK.mjs +0 -19
  159. package/dist/handlebars-ICBC3AZK.mjs.map +0 -1
  160. package/dist/html-BGY5P773.mjs +0 -6
  161. package/dist/html-BGY5P773.mjs.map +0 -1
  162. package/dist/html-derivative-3HGXHHFE.mjs +0 -7
  163. package/dist/html-derivative-3HGXHHFE.mjs.map +0 -1
  164. package/dist/index.css +0 -2385
  165. package/dist/index.css.map +0 -1
  166. package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs +0 -49
  167. package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs.map +0 -1
  168. package/dist/jinja-WL6HNMB5.mjs +0 -22
  169. package/dist/jinja-WL6HNMB5.mjs.map +0 -1
  170. package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs +0 -1259
  171. package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs.map +0 -1
  172. package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs +0 -1062
  173. package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs.map +0 -1
  174. package/dist/katex-4R42CMCB.mjs +0 -4
  175. package/dist/katex-4R42CMCB.mjs.map +0 -1
  176. package/dist/liquid-YS3YPW54.mjs +0 -19
  177. package/dist/liquid-YS3YPW54.mjs.map +0 -1
  178. package/dist/logo-mark-OHF64HAY.svg +0 -8
  179. package/dist/mdc-A66KLOT4.mjs +0 -20
  180. package/dist/mdc-A66KLOT4.mjs.map +0 -1
  181. package/dist/mermaid.core-4OWTNZSL.mjs +0 -1587
  182. package/dist/mermaid.core-4OWTNZSL.mjs.map +0 -1
  183. package/dist/mermaid.core-7AUE4M6E.mjs +0 -1587
  184. package/dist/mermaid.core-7AUE4M6E.mjs.map +0 -1
  185. package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs +0 -1112
  186. package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs.map +0 -1
  187. package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs +0 -1112
  188. package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs.map +0 -1
  189. package/dist/nim-HUBKBJHZ.mjs +0 -26
  190. package/dist/nim-HUBKBJHZ.mjs.map +0 -1
  191. package/dist/perl-QHAMWWQ5.mjs +0 -22
  192. package/dist/perl-QHAMWWQ5.mjs.map +0 -1
  193. package/dist/php-FS5GKSPN.mjs +0 -11
  194. package/dist/php-FS5GKSPN.mjs.map +0 -1
  195. package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs +0 -200
  196. package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs.map +0 -1
  197. package/dist/pug-WTY5FMEA.mjs +0 -17
  198. package/dist/pug-WTY5FMEA.mjs.map +0 -1
  199. package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs +0 -1344
  200. package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs.map +0 -1
  201. package/dist/razor-BAB7LFWZ.mjs +0 -17
  202. package/dist/razor-BAB7LFWZ.mjs.map +0 -1
  203. package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs +0 -1179
  204. package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs.map +0 -1
  205. package/dist/rst-AY7U27YM.mjs +0 -41
  206. package/dist/rst-AY7U27YM.mjs.map +0 -1
  207. package/dist/rst-Y2VLYMJI.mjs +0 -41
  208. package/dist/rst-Y2VLYMJI.mjs.map +0 -1
  209. package/dist/ruby-K4BNEYWG.mjs +0 -22
  210. package/dist/ruby-K4BNEYWG.mjs.map +0 -1
  211. package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs +0 -1230
  212. package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs.map +0 -1
  213. package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs +0 -3885
  214. package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs.map +0 -1
  215. package/dist/soy-5QMQV2KL.mjs +0 -15
  216. package/dist/soy-5QMQV2KL.mjs.map +0 -1
  217. package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs +0 -467
  218. package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs.map +0 -1
  219. package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs +0 -37
  220. package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs.map +0 -1
  221. package/dist/templ-VSARRSO2.mjs +0 -17
  222. package/dist/templ-VSARRSO2.mjs.map +0 -1
  223. package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs +0 -1226
  224. package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs.map +0 -1
  225. package/dist/ts-tags-YK3Q2LIW.mjs +0 -68
  226. package/dist/ts-tags-YK3Q2LIW.mjs.map +0 -1
  227. package/dist/twig-HNMWLN6H.mjs +0 -40
  228. package/dist/twig-HNMWLN6H.mjs.map +0 -1
  229. package/dist/vue-7OSX6ZY5.mjs +0 -10
  230. package/dist/vue-7OSX6ZY5.mjs.map +0 -1
  231. package/dist/vue-html-AQH2V2EU.mjs +0 -20
  232. package/dist/vue-html-AQH2V2EU.mjs.map +0 -1
  233. package/dist/vue-vine-GCYT2IGV.mjs +0 -29
  234. package/dist/vue-vine-GCYT2IGV.mjs.map +0 -1
  235. package/dist/xychartDiagram-PRI3JC2R-65KZQZDU.mjs +0 -1865
  236. 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