jekyll-ham 1.0.4 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (366) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -2
  3. data/_layouts/default.html +6 -0
  4. data/_layouts/page.html +1 -1
  5. data/assets/mermaid/Diagram.d.ts +33 -0
  6. data/assets/mermaid/Tableau10-31042135.js +10 -0
  7. data/assets/mermaid/Tableau10-558cc280.js +9 -0
  8. data/assets/mermaid/__mocks__/mermaidAPI.d.ts +13 -0
  9. data/assets/mermaid/accessibility.d.ts +27 -0
  10. data/assets/mermaid/accessibility.spec.d.ts +1 -0
  11. data/assets/mermaid/arc-c0f908ab.js +148 -0
  12. data/assets/mermaid/arc-d1f6357e.js +86 -0
  13. data/assets/mermaid/array-2ff2c7a6.js +6 -0
  14. data/assets/mermaid/array-b7dcf730.js +6 -0
  15. data/assets/mermaid/assignWithDepth.d.ts +30 -0
  16. data/assets/mermaid/blockDiagram-5dc23a45.js +1230 -0
  17. data/assets/mermaid/blockDiagram-9f4a6865.js +1822 -0
  18. data/assets/mermaid/blockDiagram-efe38566.js +1818 -0
  19. data/assets/mermaid/c4Diagram-1e775db3.js +1579 -0
  20. data/assets/mermaid/c4Diagram-ae766693.js +2473 -0
  21. data/assets/mermaid/c4Diagram-af207393.js +2463 -0
  22. data/assets/mermaid/channel-ebbc4130.js +5 -0
  23. data/assets/mermaid/channel-f9001828.js +8 -0
  24. data/assets/mermaid/classDiagram-72b9c71d.js +356 -0
  25. data/assets/mermaid/classDiagram-f52caa06.js +220 -0
  26. data/assets/mermaid/classDiagram-fb54d2a0.js +363 -0
  27. data/assets/mermaid/classDiagram-v2-640c694e.js +206 -0
  28. data/assets/mermaid/classDiagram-v2-a2b738ad.js +298 -0
  29. data/assets/mermaid/classDiagram-v2-fedb80f6.js +290 -0
  30. data/assets/mermaid/clone-9ea6bfeb.js +8 -0
  31. data/assets/mermaid/clone-afc2f047.js +8 -0
  32. data/assets/mermaid/config.d.ts +98 -0
  33. data/assets/mermaid/config.spec.d.ts +1 -0
  34. data/assets/mermaid/config.type.d.ts +1534 -0
  35. data/assets/mermaid/createText-03b82060.js +2966 -0
  36. data/assets/mermaid/createText-b70fe78a.js +4929 -0
  37. data/assets/mermaid/createText-ca0c5216.js +251 -0
  38. data/assets/mermaid/dagre-wrapper/blockArrowHelper.d.ts +8 -0
  39. data/assets/mermaid/dagre-wrapper/clusters.d.ts +4 -0
  40. data/assets/mermaid/dagre-wrapper/createLabel.d.ts +9 -0
  41. data/assets/mermaid/dagre-wrapper/edgeMarker.d.ts +12 -0
  42. data/assets/mermaid/dagre-wrapper/edgeMarker.spec.d.ts +1 -0
  43. data/assets/mermaid/dagre-wrapper/edges.d.ts +14 -0
  44. data/assets/mermaid/dagre-wrapper/index.d.ts +1 -0
  45. data/assets/mermaid/dagre-wrapper/intersect/index.d.ts +13 -0
  46. data/assets/mermaid/dagre-wrapper/intersect/intersect-circle.d.ts +10 -0
  47. data/assets/mermaid/dagre-wrapper/intersect/intersect-ellipse.d.ts +11 -0
  48. data/assets/mermaid/dagre-wrapper/intersect/intersect-line.d.ts +13 -0
  49. data/assets/mermaid/dagre-wrapper/intersect/intersect-node.d.ts +6 -0
  50. data/assets/mermaid/dagre-wrapper/intersect/intersect-polygon.d.ts +10 -0
  51. data/assets/mermaid/dagre-wrapper/intersect/intersect-rect.d.ts +5 -0
  52. data/assets/mermaid/dagre-wrapper/markers.d.ts +2 -0
  53. data/assets/mermaid/dagre-wrapper/mermaid-graphlib.d.ts +8 -0
  54. data/assets/mermaid/dagre-wrapper/nodes.d.ts +4 -0
  55. data/assets/mermaid/dagre-wrapper/shapes/note.d.ts +2 -0
  56. data/assets/mermaid/dagre-wrapper/shapes/util.d.ts +14 -0
  57. data/assets/mermaid/defaultConfig.d.ts +12 -0
  58. data/assets/mermaid/diagram-api/comments.d.ts +6 -0
  59. data/assets/mermaid/diagram-api/comments.spec.d.ts +1 -0
  60. data/assets/mermaid/diagram-api/detectType.d.ts +42 -0
  61. data/assets/mermaid/diagram-api/diagram-orchestration.d.ts +1 -0
  62. data/assets/mermaid/diagram-api/diagram-orchestration.spec.d.ts +1 -0
  63. data/assets/mermaid/diagram-api/diagramAPI.d.ts +31 -0
  64. data/assets/mermaid/diagram-api/diagramAPI.spec.d.ts +1 -0
  65. data/assets/mermaid/diagram-api/frontmatter.d.ts +18 -0
  66. data/assets/mermaid/diagram-api/frontmatter.spec.d.ts +1 -0
  67. data/assets/mermaid/diagram-api/loadDiagram.d.ts +1 -0
  68. data/assets/mermaid/diagram-api/regexes.d.ts +3 -0
  69. data/assets/mermaid/diagram-api/types.d.ts +84 -0
  70. data/assets/mermaid/diagram.spec.d.ts +1 -0
  71. data/assets/mermaid/diagrams/block/blockDB.d.ts +54 -0
  72. data/assets/mermaid/diagrams/block/blockDetector.d.ts +3 -0
  73. data/assets/mermaid/diagrams/block/blockDiagram.d.ts +2 -0
  74. data/assets/mermaid/diagrams/block/blockRenderer.d.ts +15 -0
  75. data/assets/mermaid/diagrams/block/blockTypes.d.ts +36 -0
  76. data/assets/mermaid/diagrams/block/blockUtils.d.ts +1 -0
  77. data/assets/mermaid/diagrams/block/layout.d.ts +13 -0
  78. data/assets/mermaid/diagrams/block/layout.spec.d.ts +1 -0
  79. data/assets/mermaid/diagrams/block/parser/block.spec.d.ts +1 -0
  80. data/assets/mermaid/diagrams/block/renderHelpers.d.ts +10 -0
  81. data/assets/mermaid/diagrams/block/styles.d.ts +18 -0
  82. data/assets/mermaid/diagrams/c4/c4Db.d.ts +127 -0
  83. data/assets/mermaid/diagrams/c4/c4Detector.d.ts +3 -0
  84. data/assets/mermaid/diagrams/c4/c4Diagram.d.ts +2 -0
  85. data/assets/mermaid/diagrams/c4/c4Renderer.d.ts +12 -0
  86. data/assets/mermaid/diagrams/c4/styles.d.ts +2 -0
  87. data/assets/mermaid/diagrams/c4/svgDraw.d.ts +36 -0
  88. data/assets/mermaid/diagrams/class/classDb.d.ts +144 -0
  89. data/assets/mermaid/diagrams/class/classDetector-V2.d.ts +3 -0
  90. data/assets/mermaid/diagrams/class/classDetector.d.ts +3 -0
  91. data/assets/mermaid/diagrams/class/classDiagram-v2.d.ts +2 -0
  92. data/assets/mermaid/diagrams/class/classDiagram.d.ts +2 -0
  93. data/assets/mermaid/diagrams/class/classDiagram.spec.d.ts +1 -0
  94. data/assets/mermaid/diagrams/class/classRenderer-v2.d.ts +57 -0
  95. data/assets/mermaid/diagrams/class/classRenderer.d.ts +5 -0
  96. data/assets/mermaid/diagrams/class/classTypes.d.ts +78 -0
  97. data/assets/mermaid/diagrams/class/classTypes.spec.d.ts +1 -0
  98. data/assets/mermaid/diagrams/class/styles.d.ts +2 -0
  99. data/assets/mermaid/diagrams/class/svgDraw.d.ts +25 -0
  100. data/assets/mermaid/diagrams/common/common.d.ts +110 -0
  101. data/assets/mermaid/diagrams/common/common.spec.d.ts +1 -0
  102. data/assets/mermaid/diagrams/common/commonDb.d.ts +7 -0
  103. data/assets/mermaid/diagrams/common/commonTypes.d.ts +51 -0
  104. data/assets/mermaid/diagrams/common/svgDrawCommon.d.ts +15 -0
  105. data/assets/mermaid/diagrams/er/erDb.d.ts +49 -0
  106. data/assets/mermaid/diagrams/er/erDetector.d.ts +3 -0
  107. data/assets/mermaid/diagrams/er/erDiagram.d.ts +34 -0
  108. data/assets/mermaid/diagrams/er/erMarkers.d.ts +24 -0
  109. data/assets/mermaid/diagrams/er/erRenderer.d.ts +19 -0
  110. data/assets/mermaid/diagrams/er/erRenderer.spec.d.ts +1 -0
  111. data/assets/mermaid/diagrams/er/styles.d.ts +2 -0
  112. data/assets/mermaid/diagrams/error/errorDiagram.d.ts +3 -0
  113. data/assets/mermaid/diagrams/error/errorRenderer.d.ts +12 -0
  114. data/assets/mermaid/diagrams/flowchart/elk/detector.d.ts +3 -0
  115. data/assets/mermaid/diagrams/flowchart/elk/detector.spec.d.ts +1 -0
  116. data/assets/mermaid/diagrams/flowchart/elk/flowRenderer-elk.d.ts +10 -0
  117. data/assets/mermaid/diagrams/flowchart/elk/flowchart-elk-definition.d.ts +10 -0
  118. data/assets/mermaid/diagrams/flowchart/elk/render-utils.d.ts +5 -0
  119. data/assets/mermaid/diagrams/flowchart/elk/render-utils.spec.d.ts +1 -0
  120. data/assets/mermaid/diagrams/flowchart/elk/styles.d.ts +19 -0
  121. data/assets/mermaid/diagrams/flowchart/flowChartShapes.d.ts +9 -0
  122. data/assets/mermaid/diagrams/flowchart/flowDb.d.ts +87 -0
  123. data/assets/mermaid/diagrams/flowchart/flowDetector-v2.d.ts +3 -0
  124. data/assets/mermaid/diagrams/flowchart/flowDetector.d.ts +3 -0
  125. data/assets/mermaid/diagrams/flowchart/flowDiagram-v2.d.ts +57 -0
  126. data/assets/mermaid/diagrams/flowchart/flowDiagram.d.ts +57 -0
  127. data/assets/mermaid/diagrams/flowchart/flowRenderer-v2.d.ts +13 -0
  128. data/assets/mermaid/diagrams/flowchart/flowRenderer.d.ts +13 -0
  129. data/assets/mermaid/diagrams/flowchart/styles.d.ts +18 -0
  130. data/assets/mermaid/diagrams/gantt/ganttDb.d.ts +106 -0
  131. data/assets/mermaid/diagrams/gantt/ganttDb.spec.d.ts +1 -0
  132. data/assets/mermaid/diagrams/gantt/ganttDetector.d.ts +3 -0
  133. data/assets/mermaid/diagrams/gantt/ganttDiagram.d.ts +2 -0
  134. data/assets/mermaid/diagrams/gantt/ganttRenderer.d.ts +7 -0
  135. data/assets/mermaid/diagrams/gantt/styles.d.ts +2 -0
  136. data/assets/mermaid/diagrams/git/gitGraphAst.d.ts +61 -0
  137. data/assets/mermaid/diagrams/git/gitGraphDetector.d.ts +3 -0
  138. data/assets/mermaid/diagrams/git/gitGraphDiagram.d.ts +2 -0
  139. data/assets/mermaid/diagrams/git/gitGraphRenderer.d.ts +5 -0
  140. data/assets/mermaid/diagrams/git/styles.d.ts +2 -0
  141. data/assets/mermaid/diagrams/info/info.spec.d.ts +1 -0
  142. data/assets/mermaid/diagrams/info/infoDb.d.ts +5 -0
  143. data/assets/mermaid/diagrams/info/infoDetector.d.ts +2 -0
  144. data/assets/mermaid/diagrams/info/infoDiagram.d.ts +2 -0
  145. data/assets/mermaid/diagrams/info/infoRenderer.d.ts +4 -0
  146. data/assets/mermaid/diagrams/info/infoTypes.d.ts +9 -0
  147. data/assets/mermaid/diagrams/mindmap/detector.d.ts +3 -0
  148. data/assets/mermaid/diagrams/mindmap/mindmap-definition.d.ts +2 -0
  149. data/assets/mermaid/diagrams/mindmap/mindmap.spec.d.ts +1 -0
  150. data/assets/mermaid/diagrams/mindmap/mindmapDb.d.ts +30 -0
  151. data/assets/mermaid/diagrams/mindmap/mindmapRenderer.d.ts +21 -0
  152. data/assets/mermaid/diagrams/mindmap/mindmapTypes.d.ts +20 -0
  153. data/assets/mermaid/diagrams/mindmap/styles.d.ts +3 -0
  154. data/assets/mermaid/diagrams/mindmap/svgDraw.d.ts +13 -0
  155. data/assets/mermaid/diagrams/pie/pie.spec.d.ts +1 -0
  156. data/assets/mermaid/diagrams/pie/pieDb.d.ts +6 -0
  157. data/assets/mermaid/diagrams/pie/pieDetector.d.ts +2 -0
  158. data/assets/mermaid/diagrams/pie/pieDiagram.d.ts +2 -0
  159. data/assets/mermaid/diagrams/pie/pieRenderer.d.ts +13 -0
  160. data/assets/mermaid/diagrams/pie/pieStyles.d.ts +3 -0
  161. data/assets/mermaid/diagrams/pie/pieTypes.d.ts +53 -0
  162. data/assets/mermaid/diagrams/quadrant-chart/parser/quadrant.jison.spec.d.ts +1 -0
  163. data/assets/mermaid/diagrams/quadrant-chart/quadrantBuilder.d.ts +118 -0
  164. data/assets/mermaid/diagrams/quadrant-chart/quadrantDb.d.ts +38 -0
  165. data/assets/mermaid/diagrams/quadrant-chart/quadrantDetector.d.ts +3 -0
  166. data/assets/mermaid/diagrams/quadrant-chart/quadrantDiagram.d.ts +2 -0
  167. data/assets/mermaid/diagrams/quadrant-chart/quadrantRenderer.d.ts +6 -0
  168. data/assets/mermaid/diagrams/requirement/requirementDb.d.ts +70 -0
  169. data/assets/mermaid/diagrams/requirement/requirementDetector.d.ts +3 -0
  170. data/assets/mermaid/diagrams/requirement/requirementDiagram.d.ts +2 -0
  171. data/assets/mermaid/diagrams/requirement/requirementMarkers.d.ts +10 -0
  172. data/assets/mermaid/diagrams/requirement/requirementRenderer.d.ts +7 -0
  173. data/assets/mermaid/diagrams/requirement/styles.d.ts +2 -0
  174. data/assets/mermaid/diagrams/sankey/parser/sankey.spec.d.ts +1 -0
  175. data/assets/mermaid/diagrams/sankey/sankeyDB.d.ts +36 -0
  176. data/assets/mermaid/diagrams/sankey/sankeyDetector.d.ts +3 -0
  177. data/assets/mermaid/diagrams/sankey/sankeyDiagram.d.ts +2 -0
  178. data/assets/mermaid/diagrams/sankey/sankeyRenderer.d.ts +14 -0
  179. data/assets/mermaid/diagrams/sankey/sankeyUtils.d.ts +1 -0
  180. data/assets/mermaid/diagrams/sequence/sequenceDb.d.ts +153 -0
  181. data/assets/mermaid/diagrams/sequence/sequenceDetector.d.ts +3 -0
  182. data/assets/mermaid/diagrams/sequence/sequenceDiagram.d.ts +2 -0
  183. data/assets/mermaid/diagrams/sequence/sequenceRenderer.d.ts +202 -0
  184. data/assets/mermaid/diagrams/sequence/styles.d.ts +2 -0
  185. data/assets/mermaid/diagrams/sequence/svgDraw.d.ts +73 -0
  186. data/assets/mermaid/diagrams/state/id-cache.d.ts +11 -0
  187. data/assets/mermaid/diagrams/state/shapes.d.ts +14 -0
  188. data/assets/mermaid/diagrams/state/stateCommon.d.ts +22 -0
  189. data/assets/mermaid/diagrams/state/stateDb.d.ts +91 -0
  190. data/assets/mermaid/diagrams/state/stateDetector-V2.d.ts +3 -0
  191. data/assets/mermaid/diagrams/state/stateDetector.d.ts +3 -0
  192. data/assets/mermaid/diagrams/state/stateDiagram-v2.d.ts +2 -0
  193. data/assets/mermaid/diagrams/state/stateDiagram.d.ts +2 -0
  194. data/assets/mermaid/diagrams/state/stateRenderer-v2.d.ts +20 -0
  195. data/assets/mermaid/diagrams/state/stateRenderer.d.ts +7 -0
  196. data/assets/mermaid/diagrams/state/styles.d.ts +2 -0
  197. data/assets/mermaid/diagrams/timeline/detector.d.ts +3 -0
  198. data/assets/mermaid/diagrams/timeline/styles.d.ts +2 -0
  199. data/assets/mermaid/diagrams/timeline/svgDraw.d.ts +46 -0
  200. data/assets/mermaid/diagrams/timeline/timeline-definition.d.ts +10 -0
  201. data/assets/mermaid/diagrams/timeline/timelineDb.d.ts +20 -0
  202. data/assets/mermaid/diagrams/timeline/timelineRenderer.d.ts +19 -0
  203. data/assets/mermaid/diagrams/user-journey/journeyDb.d.ts +30 -0
  204. data/assets/mermaid/diagrams/user-journey/journeyDetector.d.ts +3 -0
  205. data/assets/mermaid/diagrams/user-journey/journeyDiagram.d.ts +2 -0
  206. data/assets/mermaid/diagrams/user-journey/journeyRenderer.d.ts +30 -0
  207. data/assets/mermaid/diagrams/user-journey/styles.d.ts +2 -0
  208. data/assets/mermaid/diagrams/user-journey/svgDraw.d.ts +20 -0
  209. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/bandAxis.d.ts +12 -0
  210. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/baseAxis.d.ts +38 -0
  211. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/index.d.ts +12 -0
  212. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/linearAxis.d.ts +11 -0
  213. data/assets/mermaid/diagrams/xychart/chartBuilder/components/chartTitle.d.ts +16 -0
  214. data/assets/mermaid/diagrams/xychart/chartBuilder/components/plot/barPlot.d.ts +12 -0
  215. data/assets/mermaid/diagrams/xychart/chartBuilder/components/plot/index.d.ts +20 -0
  216. data/assets/mermaid/diagrams/xychart/chartBuilder/components/plot/linePlot.d.ts +11 -0
  217. data/assets/mermaid/diagrams/xychart/chartBuilder/index.d.ts +5 -0
  218. data/assets/mermaid/diagrams/xychart/chartBuilder/interfaces.d.ts +132 -0
  219. data/assets/mermaid/diagrams/xychart/chartBuilder/orchestrator.d.ts +12 -0
  220. data/assets/mermaid/diagrams/xychart/chartBuilder/textDimensionCalculator.d.ts +10 -0
  221. data/assets/mermaid/diagrams/xychart/parser/xychart.jison.spec.d.ts +1 -0
  222. data/assets/mermaid/diagrams/xychart/xychartDb.d.ts +40 -0
  223. data/assets/mermaid/diagrams/xychart/xychartDetector.d.ts +3 -0
  224. data/assets/mermaid/diagrams/xychart/xychartDiagram.d.ts +2 -0
  225. data/assets/mermaid/diagrams/xychart/xychartRenderer.d.ts +6 -0
  226. data/assets/mermaid/docs/vite.config.d.ts +2 -0
  227. data/assets/mermaid/edges-066a5561.js +1840 -0
  228. data/assets/mermaid/edges-16357fde.js +1083 -0
  229. data/assets/mermaid/edges-ce5cfb7c.js +1840 -0
  230. data/assets/mermaid/erDiagram-09d1c15f.js +1176 -0
  231. data/assets/mermaid/erDiagram-543717f2.js +1321 -0
  232. data/assets/mermaid/erDiagram-c7ff1bec.js +931 -0
  233. data/assets/mermaid/errors.d.ts +3 -0
  234. data/assets/mermaid/flowDb-9a89ea33.js +1126 -0
  235. data/assets/mermaid/flowDb-ba9bd7fa.js +1713 -0
  236. data/assets/mermaid/flowDb-c1833063.js +1714 -0
  237. data/assets/mermaid/flowDiagram-aadb13b0.js +797 -0
  238. data/assets/mermaid/flowDiagram-b222e15a.js +614 -0
  239. data/assets/mermaid/flowDiagram-b5e7ba30.js +1278 -0
  240. data/assets/mermaid/flowDiagram-v2-13329dc7.js +40 -0
  241. data/assets/mermaid/flowDiagram-v2-54711e03.js +32 -0
  242. data/assets/mermaid/flowDiagram-v2-f2119625.js +25 -0
  243. data/assets/mermaid/flowchart-elk-definition-2d49707c.js +93397 -0
  244. data/assets/mermaid/flowchart-elk-definition-ae0efee6.js +814 -0
  245. data/assets/mermaid/flowchart-elk-definition-cf813a97.js +48407 -0
  246. data/assets/mermaid/ganttDiagram-12cf43db.js +3445 -0
  247. data/assets/mermaid/ganttDiagram-3c2fde2b.js +2501 -0
  248. data/assets/mermaid/ganttDiagram-b62c793e.js +2061 -0
  249. data/assets/mermaid/gitGraphDiagram-942e62fe.js +1800 -0
  250. data/assets/mermaid/gitGraphDiagram-b9392a12.js +1790 -0
  251. data/assets/mermaid/gitGraphDiagram-c3a0619c.js +1264 -0
  252. data/assets/mermaid/graph-0ee63739.js +881 -0
  253. data/assets/mermaid/graph-fe24fab6.js +1285 -0
  254. data/assets/mermaid/index-01f381cb.js +622 -0
  255. data/assets/mermaid/index-bb6d8841.js +373 -0
  256. data/assets/mermaid/index-fc479858.js +663 -0
  257. data/assets/mermaid/infoDiagram-2f5c50c0.js +319 -0
  258. data/assets/mermaid/infoDiagram-94cd232f.js +520 -0
  259. data/assets/mermaid/infoDiagram-d0d5c9bd.js +510 -0
  260. data/assets/mermaid/init-cc95ec8e.js +16 -0
  261. data/assets/mermaid/init-f9637058.js +16 -0
  262. data/assets/mermaid/interactionDb.d.ts +2 -0
  263. data/assets/mermaid/journeyDiagram-14fe341a.js +804 -0
  264. data/assets/mermaid/journeyDiagram-6625b456.js +1191 -0
  265. data/assets/mermaid/journeyDiagram-b56e6921.js +1183 -0
  266. data/assets/mermaid/katex-d90b6d29.js +11624 -0
  267. data/assets/mermaid/katex-ffb0e8f1.js +14432 -0
  268. data/assets/mermaid/layout-163b9689.js +2314 -0
  269. data/assets/mermaid/layout-fd473db2.js +1536 -0
  270. data/assets/mermaid/line-24d93f1b.js +34 -0
  271. data/assets/mermaid/line-87f517ef.js +50 -0
  272. data/assets/mermaid/linear-0ad15847.js +595 -0
  273. data/assets/mermaid/linear-9bcf74c4.js +447 -0
  274. data/assets/mermaid/logger.d.ts +9 -0
  275. data/assets/mermaid/mermaid-6dc72991.js +6461 -0
  276. data/assets/mermaid/mermaid-9f2aa176.js +8112 -0
  277. data/assets/mermaid/mermaid-dcacb631.js +12793 -0
  278. data/assets/mermaid/mermaid.core.mjs +14 -0
  279. data/assets/mermaid/mermaid.d.ts +146 -0
  280. data/assets/mermaid/mermaid.esm.min.mjs +4 -0
  281. data/assets/mermaid/mermaid.esm.mjs +4 -0
  282. data/assets/mermaid/mermaid.js +195755 -0
  283. data/assets/mermaid/mermaid.min.js +2029 -0
  284. data/assets/mermaid/mermaid.spec.d.ts +1 -0
  285. data/assets/mermaid/mermaidAPI.d.ts +170 -0
  286. data/assets/mermaid/mermaidAPI.spec.d.ts +1 -0
  287. data/assets/mermaid/mindmap-definition-307c710a.js +1177 -0
  288. data/assets/mermaid/mindmap-definition-696ddea4.js +32342 -0
  289. data/assets/mermaid/mindmap-definition-9399c7e6.js +18760 -0
  290. data/assets/mermaid/ordinal-475e0c0c.js +82 -0
  291. data/assets/mermaid/ordinal-5695958c.js +65 -0
  292. data/assets/mermaid/path-39bad7e2.js +118 -0
  293. data/assets/mermaid/path-428ebac9.js +91 -0
  294. data/assets/mermaid/pieDiagram-828dae43.js +502 -0
  295. data/assets/mermaid/pieDiagram-bb1d19e5.js +722 -0
  296. data/assets/mermaid/pieDiagram-e854eaf0.js +772 -0
  297. data/assets/mermaid/preprocess.d.ts +10 -0
  298. data/assets/mermaid/quadrantDiagram-25a9848b.js +1199 -0
  299. data/assets/mermaid/quadrantDiagram-5fa00455.js +904 -0
  300. data/assets/mermaid/quadrantDiagram-c759a472.js +1207 -0
  301. data/assets/mermaid/rendering-util/createText.d.ts +11 -0
  302. data/assets/mermaid/rendering-util/handle-markdown-text.d.ts +6 -0
  303. data/assets/mermaid/rendering-util/handle-markdown-text.spec.d.ts +1 -0
  304. data/assets/mermaid/rendering-util/selectSvgElement.d.ts +8 -0
  305. data/assets/mermaid/rendering-util/splitText.d.ts +24 -0
  306. data/assets/mermaid/rendering-util/splitText.spec.d.ts +1 -0
  307. data/assets/mermaid/rendering-util/uid.d.ts +8 -0
  308. data/assets/mermaid/requirementDiagram-03163dc4.js +769 -0
  309. data/assets/mermaid/requirementDiagram-87253d64.js +1098 -0
  310. data/assets/mermaid/requirementDiagram-a721e157.js +1091 -0
  311. data/assets/mermaid/sankeyDiagram-33525efb.js +1198 -0
  312. data/assets/mermaid/sankeyDiagram-52ec8976.js +818 -0
  313. data/assets/mermaid/sankeyDiagram-707fac0f.js +660 -0
  314. data/assets/mermaid/sequenceDiagram-6894f283.js +3346 -0
  315. data/assets/mermaid/sequenceDiagram-9813c129.js +3336 -0
  316. data/assets/mermaid/sequenceDiagram-b517d154.js +2234 -0
  317. data/assets/mermaid/setupGraphViewbox.d.ts +3 -0
  318. data/assets/mermaid/stateDiagram-5dee940d.js +474 -0
  319. data/assets/mermaid/stateDiagram-5ec31577.js +467 -0
  320. data/assets/mermaid/stateDiagram-fca82b5b.js +275 -0
  321. data/assets/mermaid/stateDiagram-v2-1992cada.js +333 -0
  322. data/assets/mermaid/stateDiagram-v2-992e82a1.js +325 -0
  323. data/assets/mermaid/stateDiagram-v2-ed04200a.js +190 -0
  324. data/assets/mermaid/styles-0784dbeb.js +1363 -0
  325. data/assets/mermaid/styles-11e81fdd.js +1089 -0
  326. data/assets/mermaid/styles-36a1a2e8.js +1483 -0
  327. data/assets/mermaid/styles-483fbfea.js +509 -0
  328. data/assets/mermaid/styles-727cdd61.js +571 -0
  329. data/assets/mermaid/styles-b83b31c9.js +1484 -0
  330. data/assets/mermaid/styles-cacbff60.js +960 -0
  331. data/assets/mermaid/styles-e75131e4.js +433 -0
  332. data/assets/mermaid/styles-f80da881.js +1363 -0
  333. data/assets/mermaid/styles.d.ts +12 -0
  334. data/assets/mermaid/styles.spec.d.ts +1 -0
  335. data/assets/mermaid/svgDrawCommon-5e1cfd1d.js +101 -0
  336. data/assets/mermaid/svgDrawCommon-d6ab583c.js +100 -0
  337. data/assets/mermaid/svgDrawCommon-ecc5f780.js +64 -0
  338. data/assets/mermaid/tests/MockedD3.d.ts +45 -0
  339. data/assets/mermaid/tests/setup.d.ts +1 -0
  340. data/assets/mermaid/tests/util.d.ts +3 -0
  341. data/assets/mermaid/themes/erDiagram-oldHardcodedValues.d.ts +7 -0
  342. data/assets/mermaid/themes/index.d.ts +24 -0
  343. data/assets/mermaid/themes/theme-base.d.ts +189 -0
  344. data/assets/mermaid/themes/theme-dark.d.ts +177 -0
  345. data/assets/mermaid/themes/theme-default.d.ts +188 -0
  346. data/assets/mermaid/themes/theme-forest.d.ts +185 -0
  347. data/assets/mermaid/themes/theme-helpers.d.ts +1 -0
  348. data/assets/mermaid/themes/theme-neutral.d.ts +182 -0
  349. data/assets/mermaid/timeline-definition-23ce0e2e.js +1211 -0
  350. data/assets/mermaid/timeline-definition-4ee9bff4.js +795 -0
  351. data/assets/mermaid/timeline-definition-bf702344.js +1219 -0
  352. data/assets/mermaid/types.d.ts +31 -0
  353. data/assets/mermaid/utils/imperativeState.d.ts +32 -0
  354. data/assets/mermaid/utils/imperativeState.spec.d.ts +1 -0
  355. data/assets/mermaid/utils/lineWithOffset.d.ts +5 -0
  356. data/assets/mermaid/utils/sanitizeDirective.d.ts +7 -0
  357. data/assets/mermaid/utils/subGraphTitleMargins.d.ts +8 -0
  358. data/assets/mermaid/utils/subGraphTitleMargins.spec.d.ts +1 -0
  359. data/assets/mermaid/utils.d.ts +286 -0
  360. data/assets/mermaid/utils.spec.d.ts +1 -0
  361. data/assets/mermaid/xychartDiagram-de2e5521.js +1800 -0
  362. data/assets/mermaid/xychartDiagram-e5e6b652.js +1284 -0
  363. data/assets/mermaid/xychartDiagram-f11f50a6.js +1745 -0
  364. data/assets/tables.css +23 -0
  365. data/assets/toURI.js +142 -0
  366. metadata +363 -2
@@ -0,0 +1,275 @@
1
+ import { d as N, p as C, s as R } from "./styles-cacbff60.js";
2
+ import { c as t, F as U, A as F, f as T, l as b, j as H, k as O } from "./mermaid-9f2aa176.js";
3
+ import { G as X } from "./graph-0ee63739.js";
4
+ import { l as J } from "./layout-fd473db2.js";
5
+ import { l as Y } from "./line-24d93f1b.js";
6
+ import "./array-2ff2c7a6.js";
7
+ import "./path-428ebac9.js";
8
+ const L = {}, $ = (e, i) => {
9
+ L[e] = i;
10
+ }, v = (e) => L[e], P = () => Object.keys(L), I = () => P().length, _ = {
11
+ get: v,
12
+ set: $,
13
+ keys: P,
14
+ size: I
15
+ }, j = (e) => e.append("circle").attr("class", "start-state").attr("r", t().state.sizeUnit).attr("cx", t().state.padding + t().state.sizeUnit).attr("cy", t().state.padding + t().state.sizeUnit), q = (e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", t().state.textHeight).attr("class", "divider").attr("x2", t().state.textHeight * 2).attr("y1", 0).attr("y2", 0), Z = (e, i) => {
16
+ const o = e.append("text").attr("x", 2 * t().state.padding).attr("y", t().state.textHeight + 2 * t().state.padding).attr("font-size", t().state.fontSize).attr("class", "state-title").text(i.id), d = o.node().getBBox();
17
+ return e.insert("rect", ":first-child").attr("x", t().state.padding).attr("y", t().state.padding).attr("width", d.width + 2 * t().state.padding).attr("height", d.height + 2 * t().state.padding).attr("rx", t().state.radius), o;
18
+ }, K = (e, i) => {
19
+ const o = function(l, m, w) {
20
+ const k = l.append("tspan").attr("x", 2 * t().state.padding).text(m);
21
+ w || k.attr("dy", t().state.textHeight);
22
+ }, s = e.append("text").attr("x", 2 * t().state.padding).attr("y", t().state.textHeight + 1.3 * t().state.padding).attr("font-size", t().state.fontSize).attr("class", "state-title").text(i.descriptions[0]).node().getBBox(), g = s.height, p = e.append("text").attr("x", t().state.padding).attr(
23
+ "y",
24
+ g + t().state.padding * 0.4 + t().state.dividerMargin + t().state.textHeight
25
+ ).attr("class", "state-description");
26
+ let a = !0, r = !0;
27
+ i.descriptions.forEach(function(l) {
28
+ a || (o(p, l, r), r = !1), a = !1;
29
+ });
30
+ const y = e.append("line").attr("x1", t().state.padding).attr("y1", t().state.padding + g + t().state.dividerMargin / 2).attr("y2", t().state.padding + g + t().state.dividerMargin / 2).attr("class", "descr-divider"), x = p.node().getBBox(), c = Math.max(x.width, s.width);
31
+ return y.attr("x2", c + 3 * t().state.padding), e.insert("rect", ":first-child").attr("x", t().state.padding).attr("y", t().state.padding).attr("width", c + 2 * t().state.padding).attr("height", x.height + g + 2 * t().state.padding).attr("rx", t().state.radius), e;
32
+ }, Q = (e, i, o) => {
33
+ const d = t().state.padding, s = 2 * t().state.padding, g = e.node().getBBox(), p = g.width, a = g.x, r = e.append("text").attr("x", 0).attr("y", t().state.titleShift).attr("font-size", t().state.fontSize).attr("class", "state-title").text(i.id), x = r.node().getBBox().width + s;
34
+ let c = Math.max(x, p);
35
+ c === p && (c = c + s);
36
+ let l;
37
+ const m = e.node().getBBox();
38
+ i.doc, l = a - d, x > p && (l = (p - c) / 2 + d), Math.abs(a - m.x) < d && x > p && (l = a - (x - p) / 2);
39
+ const w = 1 - t().state.textHeight;
40
+ return e.insert("rect", ":first-child").attr("x", l).attr("y", w).attr("class", o ? "alt-composit" : "composit").attr("width", c).attr(
41
+ "height",
42
+ m.height + t().state.textHeight + t().state.titleShift + 1
43
+ ).attr("rx", "0"), r.attr("x", l + d), x <= p && r.attr("x", a + (c - s) / 2 - x / 2 + d), e.insert("rect", ":first-child").attr("x", l).attr(
44
+ "y",
45
+ t().state.titleShift - t().state.textHeight - t().state.padding
46
+ ).attr("width", c).attr("height", t().state.textHeight * 3).attr("rx", t().state.radius), e.insert("rect", ":first-child").attr("x", l).attr(
47
+ "y",
48
+ t().state.titleShift - t().state.textHeight - t().state.padding
49
+ ).attr("width", c).attr("height", m.height + 3 + 2 * t().state.textHeight).attr("rx", t().state.radius), e;
50
+ }, V = (e) => (e.append("circle").attr("class", "end-state-outer").attr("r", t().state.sizeUnit + t().state.miniPadding).attr(
51
+ "cx",
52
+ t().state.padding + t().state.sizeUnit + t().state.miniPadding
53
+ ).attr(
54
+ "cy",
55
+ t().state.padding + t().state.sizeUnit + t().state.miniPadding
56
+ ), e.append("circle").attr("class", "end-state-inner").attr("r", t().state.sizeUnit).attr("cx", t().state.padding + t().state.sizeUnit + 2).attr("cy", t().state.padding + t().state.sizeUnit + 2)), D = (e, i) => {
57
+ let o = t().state.forkWidth, d = t().state.forkHeight;
58
+ if (i.parentId) {
59
+ let s = o;
60
+ o = d, d = s;
61
+ }
62
+ return e.append("rect").style("stroke", "black").style("fill", "black").attr("width", o).attr("height", d).attr("x", t().state.padding).attr("y", t().state.padding);
63
+ }, tt = (e, i, o, d) => {
64
+ let s = 0;
65
+ const g = d.append("text");
66
+ g.style("text-anchor", "start"), g.attr("class", "noteText");
67
+ let p = e.replace(/\r\n/g, "<br/>");
68
+ p = p.replace(/\n/g, "<br/>");
69
+ const a = p.split(T.lineBreakRegex);
70
+ let r = 1.25 * t().state.noteMargin;
71
+ for (const y of a) {
72
+ const x = y.trim();
73
+ if (x.length > 0) {
74
+ const c = g.append("tspan");
75
+ if (c.text(x), r === 0) {
76
+ const l = c.node().getBBox();
77
+ r += l.height;
78
+ }
79
+ s += r, c.attr("x", i + t().state.noteMargin), c.attr("y", o + s + 1.25 * t().state.noteMargin);
80
+ }
81
+ }
82
+ return { textWidth: g.node().getBBox().width, textHeight: s };
83
+ }, et = (e, i) => {
84
+ i.attr("class", "state-note");
85
+ const o = i.append("rect").attr("x", 0).attr("y", t().state.padding), d = i.append("g"), { textWidth: s, textHeight: g } = tt(e, 0, 0, d);
86
+ return o.attr("height", g + 2 * t().state.noteMargin), o.attr("width", s + t().state.noteMargin * 2), o;
87
+ }, A = function(e, i) {
88
+ const o = i.id, d = {
89
+ id: o,
90
+ label: i.id,
91
+ width: 0,
92
+ height: 0
93
+ }, s = e.append("g").attr("id", o).attr("class", "stateGroup");
94
+ i.type === "start" && j(s), i.type === "end" && V(s), (i.type === "fork" || i.type === "join") && D(s, i), i.type === "note" && et(i.note.text, s), i.type === "divider" && q(s), i.type === "default" && i.descriptions.length === 0 && Z(s, i), i.type === "default" && i.descriptions.length > 0 && K(s, i);
95
+ const g = s.node().getBBox();
96
+ return d.width = g.width + 2 * t().state.padding, d.height = g.height + 2 * t().state.padding, _.set(o, d), d;
97
+ };
98
+ let G = 0;
99
+ const at = function(e, i, o) {
100
+ const d = function(r) {
101
+ switch (r) {
102
+ case N.relationType.AGGREGATION:
103
+ return "aggregation";
104
+ case N.relationType.EXTENSION:
105
+ return "extension";
106
+ case N.relationType.COMPOSITION:
107
+ return "composition";
108
+ case N.relationType.DEPENDENCY:
109
+ return "dependency";
110
+ }
111
+ };
112
+ i.points = i.points.filter((r) => !Number.isNaN(r.y));
113
+ const s = i.points, g = Y().x(function(r) {
114
+ return r.x;
115
+ }).y(function(r) {
116
+ return r.y;
117
+ }).curve(U), p = e.append("path").attr("d", g(s)).attr("id", "edge" + G).attr("class", "transition");
118
+ let a = "";
119
+ if (t().state.arrowMarkerAbsolute && (a = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, a = a.replace(/\(/g, "\\("), a = a.replace(/\)/g, "\\)")), p.attr(
120
+ "marker-end",
121
+ "url(" + a + "#" + d(N.relationType.DEPENDENCY) + "End)"
122
+ ), o.title !== void 0) {
123
+ const r = e.append("g").attr("class", "stateLabel"), { x: y, y: x } = F.calcLabelPosition(i.points), c = T.getRows(o.title);
124
+ let l = 0;
125
+ const m = [];
126
+ let w = 0, k = 0;
127
+ for (let u = 0; u <= c.length; u++) {
128
+ const h = r.append("text").attr("text-anchor", "middle").text(c[u]).attr("x", y).attr("y", x + l), f = h.node().getBBox();
129
+ w = Math.max(w, f.width), k = Math.min(k, f.x), b.info(f.x, y, x + l), l === 0 && (l = h.node().getBBox().height, b.info("Title height", l, x)), m.push(h);
130
+ }
131
+ let E = l * c.length;
132
+ if (c.length > 1) {
133
+ const u = (c.length - 1) * l * 0.5;
134
+ m.forEach((h, f) => h.attr("y", x + f * l - u)), E = l * c.length;
135
+ }
136
+ const n = r.node().getBBox();
137
+ r.insert("rect", ":first-child").attr("class", "box").attr("x", y - w / 2 - t().state.padding / 2).attr("y", x - E / 2 - t().state.padding / 2 - 3.5).attr("width", w + t().state.padding).attr("height", E + t().state.padding), b.info(n);
138
+ }
139
+ G++;
140
+ };
141
+ let B;
142
+ const z = {}, it = function() {
143
+ }, nt = function(e) {
144
+ e.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
145
+ }, st = function(e, i, o, d) {
146
+ B = t().state;
147
+ const s = t().securityLevel;
148
+ let g;
149
+ s === "sandbox" && (g = H("#i" + i));
150
+ const p = s === "sandbox" ? H(g.nodes()[0].contentDocument.body) : H("body"), a = s === "sandbox" ? g.nodes()[0].contentDocument : document;
151
+ b.debug("Rendering diagram " + e);
152
+ const r = p.select(`[id='${i}']`);
153
+ nt(r);
154
+ const y = d.db.getRootDoc();
155
+ W(y, r, void 0, !1, p, a, d);
156
+ const x = B.padding, c = r.node().getBBox(), l = c.width + x * 2, m = c.height + x * 2, w = l * 1.75;
157
+ O(r, m, w, B.useMaxWidth), r.attr(
158
+ "viewBox",
159
+ `${c.x - B.padding} ${c.y - B.padding} ` + l + " " + m
160
+ );
161
+ }, rt = (e) => e ? e.length * B.fontSizeFactor : 1, W = (e, i, o, d, s, g, p) => {
162
+ const a = new X({
163
+ compound: !0,
164
+ multigraph: !0
165
+ });
166
+ let r, y = !0;
167
+ for (r = 0; r < e.length; r++)
168
+ if (e[r].stmt === "relation") {
169
+ y = !1;
170
+ break;
171
+ }
172
+ o ? a.setGraph({
173
+ rankdir: "LR",
174
+ multigraph: !0,
175
+ compound: !0,
176
+ // acyclicer: 'greedy',
177
+ ranker: "tight-tree",
178
+ ranksep: y ? 1 : B.edgeLengthFactor,
179
+ nodeSep: y ? 1 : 50,
180
+ isMultiGraph: !0
181
+ // ranksep: 5,
182
+ // nodesep: 1
183
+ }) : a.setGraph({
184
+ rankdir: "TB",
185
+ multigraph: !0,
186
+ compound: !0,
187
+ // isCompound: true,
188
+ // acyclicer: 'greedy',
189
+ // ranker: 'longest-path'
190
+ ranksep: y ? 1 : B.edgeLengthFactor,
191
+ nodeSep: y ? 1 : 50,
192
+ ranker: "tight-tree",
193
+ // ranker: 'network-simplex'
194
+ isMultiGraph: !0
195
+ }), a.setDefaultEdgeLabel(function() {
196
+ return {};
197
+ }), p.db.extract(e);
198
+ const x = p.db.getStates(), c = p.db.getRelations(), l = Object.keys(x);
199
+ for (const n of l) {
200
+ const u = x[n];
201
+ o && (u.parentId = o);
202
+ let h;
203
+ if (u.doc) {
204
+ let f = i.append("g").attr("id", u.id).attr("class", "stateGroup");
205
+ h = W(u.doc, f, u.id, !d, s, g, p);
206
+ {
207
+ f = Q(f, u, d);
208
+ let S = f.node().getBBox();
209
+ h.width = S.width, h.height = S.height + B.padding / 2, z[u.id] = { y: B.compositTitleSize };
210
+ }
211
+ } else
212
+ h = A(i, u);
213
+ if (u.note) {
214
+ const f = {
215
+ descriptions: [],
216
+ id: u.id + "-note",
217
+ note: u.note,
218
+ type: "note"
219
+ }, S = A(i, f);
220
+ u.note.position === "left of" ? (a.setNode(h.id + "-note", S), a.setNode(h.id, h)) : (a.setNode(h.id, h), a.setNode(h.id + "-note", S)), a.setParent(h.id, h.id + "-group"), a.setParent(h.id + "-note", h.id + "-group");
221
+ } else
222
+ a.setNode(h.id, h);
223
+ }
224
+ b.debug("Count=", a.nodeCount(), a);
225
+ let m = 0;
226
+ c.forEach(function(n) {
227
+ m++, b.debug("Setting edge", n), a.setEdge(
228
+ n.id1,
229
+ n.id2,
230
+ {
231
+ relation: n,
232
+ width: rt(n.title),
233
+ height: B.labelHeight * T.getRows(n.title).length,
234
+ labelpos: "c"
235
+ },
236
+ "id" + m
237
+ );
238
+ }), J(a), b.debug("Graph after layout", a.nodes());
239
+ const w = i.node();
240
+ a.nodes().forEach(function(n) {
241
+ n !== void 0 && a.node(n) !== void 0 ? (b.warn("Node " + n + ": " + JSON.stringify(a.node(n))), s.select("#" + w.id + " #" + n).attr(
242
+ "transform",
243
+ "translate(" + (a.node(n).x - a.node(n).width / 2) + "," + (a.node(n).y + (z[n] ? z[n].y : 0) - a.node(n).height / 2) + " )"
244
+ ), s.select("#" + w.id + " #" + n).attr("data-x-shift", a.node(n).x - a.node(n).width / 2), g.querySelectorAll("#" + w.id + " #" + n + " .divider").forEach((h) => {
245
+ const f = h.parentElement;
246
+ let S = 0, M = 0;
247
+ f && (f.parentElement && (S = f.parentElement.getBBox().width), M = parseInt(f.getAttribute("data-x-shift"), 10), Number.isNaN(M) && (M = 0)), h.setAttribute("x1", 0 - M + 8), h.setAttribute("x2", S - M - 8);
248
+ })) : b.debug("No Node " + n + ": " + JSON.stringify(a.node(n)));
249
+ });
250
+ let k = w.getBBox();
251
+ a.edges().forEach(function(n) {
252
+ n !== void 0 && a.edge(n) !== void 0 && (b.debug("Edge " + n.v + " -> " + n.w + ": " + JSON.stringify(a.edge(n))), at(i, a.edge(n), a.edge(n).relation));
253
+ }), k = w.getBBox();
254
+ const E = {
255
+ id: o || "root",
256
+ label: o || "root",
257
+ width: 0,
258
+ height: 0
259
+ };
260
+ return E.width = k.width + 2 * B.padding, E.height = k.height + 2 * B.padding, b.debug("Doc rendered", E, a), E;
261
+ }, ot = {
262
+ setConf: it,
263
+ draw: st
264
+ }, ut = {
265
+ parser: C,
266
+ db: N,
267
+ renderer: ot,
268
+ styles: R,
269
+ init: (e) => {
270
+ e.state || (e.state = {}), e.state.arrowMarkerAbsolute = e.arrowMarkerAbsolute, N.clear();
271
+ }
272
+ };
273
+ export {
274
+ ut as diagram
275
+ };
@@ -0,0 +1,333 @@
1
+ import { D as DEFAULT_STATE_TYPE, a as DIVIDER_TYPE, S as STMT_RELATION, b as STMT_STATE, c as DEFAULT_NESTED_DOC_DIR, p as parser, d as db, s as styles } from "./styles-0784dbeb.js";
2
+ import * as graphlib from "dagre-d3-es/src/graphlib/index.js";
3
+ import { select } from "d3";
4
+ import { l as log, c as getConfig, u as utils, i as configureSvgSize, e as common } from "./mermaid-6dc72991.js";
5
+ import { r as render } from "./index-01f381cb.js";
6
+ import "ts-dedent";
7
+ import "dayjs";
8
+ import "@braintree/sanitize-url";
9
+ import "dompurify";
10
+ import "khroma";
11
+ import "lodash-es/memoize.js";
12
+ import "lodash-es/merge.js";
13
+ import "stylis";
14
+ import "lodash-es/isEmpty.js";
15
+ import "dagre-d3-es/src/dagre/index.js";
16
+ import "dagre-d3-es/src/graphlib/json.js";
17
+ import "./edges-066a5561.js";
18
+ import "./createText-ca0c5216.js";
19
+ import "mdast-util-from-markdown";
20
+ const SHAPE_STATE = "rect";
21
+ const SHAPE_STATE_WITH_DESC = "rectWithTitle";
22
+ const SHAPE_START = "start";
23
+ const SHAPE_END = "end";
24
+ const SHAPE_DIVIDER = "divider";
25
+ const SHAPE_GROUP = "roundedWithTitle";
26
+ const SHAPE_NOTE = "note";
27
+ const SHAPE_NOTEGROUP = "noteGroup";
28
+ const CSS_DIAGRAM = "statediagram";
29
+ const CSS_STATE = "state";
30
+ const CSS_DIAGRAM_STATE = `${CSS_DIAGRAM}-${CSS_STATE}`;
31
+ const CSS_EDGE = "transition";
32
+ const CSS_NOTE = "note";
33
+ const CSS_NOTE_EDGE = "note-edge";
34
+ const CSS_EDGE_NOTE_EDGE = `${CSS_EDGE} ${CSS_NOTE_EDGE}`;
35
+ const CSS_DIAGRAM_NOTE = `${CSS_DIAGRAM}-${CSS_NOTE}`;
36
+ const CSS_CLUSTER = "cluster";
37
+ const CSS_DIAGRAM_CLUSTER = `${CSS_DIAGRAM}-${CSS_CLUSTER}`;
38
+ const CSS_CLUSTER_ALT = "cluster-alt";
39
+ const CSS_DIAGRAM_CLUSTER_ALT = `${CSS_DIAGRAM}-${CSS_CLUSTER_ALT}`;
40
+ const PARENT = "parent";
41
+ const NOTE = "note";
42
+ const DOMID_STATE = "state";
43
+ const DOMID_TYPE_SPACER = "----";
44
+ const NOTE_ID = `${DOMID_TYPE_SPACER}${NOTE}`;
45
+ const PARENT_ID = `${DOMID_TYPE_SPACER}${PARENT}`;
46
+ const G_EDGE_STYLE = "fill:none";
47
+ const G_EDGE_ARROWHEADSTYLE = "fill: #333";
48
+ const G_EDGE_LABELPOS = "c";
49
+ const G_EDGE_LABELTYPE = "text";
50
+ const G_EDGE_THICKNESS = "normal";
51
+ let nodeDb = {};
52
+ let graphItemCount = 0;
53
+ const setConf = function(cnf) {
54
+ const keys = Object.keys(cnf);
55
+ for (const key of keys) {
56
+ cnf[key];
57
+ }
58
+ };
59
+ const getClasses = function(text, diagramObj) {
60
+ diagramObj.db.extract(diagramObj.db.getRootDocV2());
61
+ return diagramObj.db.getClasses();
62
+ };
63
+ function getClassesFromDbInfo(dbInfoItem) {
64
+ if (dbInfoItem === void 0 || dbInfoItem === null) {
65
+ return "";
66
+ } else {
67
+ if (dbInfoItem.classes) {
68
+ return dbInfoItem.classes.join(" ");
69
+ } else {
70
+ return "";
71
+ }
72
+ }
73
+ }
74
+ function stateDomId(itemId = "", counter = 0, type = "", typeSpacer = DOMID_TYPE_SPACER) {
75
+ const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : "";
76
+ return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;
77
+ }
78
+ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) => {
79
+ const itemId = parsedItem.id;
80
+ const classStr = getClassesFromDbInfo(diagramStates[itemId]);
81
+ if (itemId !== "root") {
82
+ let shape = SHAPE_STATE;
83
+ if (parsedItem.start === true) {
84
+ shape = SHAPE_START;
85
+ }
86
+ if (parsedItem.start === false) {
87
+ shape = SHAPE_END;
88
+ }
89
+ if (parsedItem.type !== DEFAULT_STATE_TYPE) {
90
+ shape = parsedItem.type;
91
+ }
92
+ if (!nodeDb[itemId]) {
93
+ nodeDb[itemId] = {
94
+ id: itemId,
95
+ shape,
96
+ description: common.sanitizeText(itemId, getConfig()),
97
+ classes: `${classStr} ${CSS_DIAGRAM_STATE}`
98
+ };
99
+ }
100
+ const newNode = nodeDb[itemId];
101
+ if (parsedItem.description) {
102
+ if (Array.isArray(newNode.description)) {
103
+ newNode.shape = SHAPE_STATE_WITH_DESC;
104
+ newNode.description.push(parsedItem.description);
105
+ } else {
106
+ if (newNode.description.length > 0) {
107
+ newNode.shape = SHAPE_STATE_WITH_DESC;
108
+ if (newNode.description === itemId) {
109
+ newNode.description = [parsedItem.description];
110
+ } else {
111
+ newNode.description = [newNode.description, parsedItem.description];
112
+ }
113
+ } else {
114
+ newNode.shape = SHAPE_STATE;
115
+ newNode.description = parsedItem.description;
116
+ }
117
+ }
118
+ newNode.description = common.sanitizeTextOrArray(newNode.description, getConfig());
119
+ }
120
+ if (newNode.description.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {
121
+ newNode.shape = SHAPE_STATE;
122
+ }
123
+ if (!newNode.type && parsedItem.doc) {
124
+ log.info("Setting cluster for ", itemId, getDir(parsedItem));
125
+ newNode.type = "group";
126
+ newNode.dir = getDir(parsedItem);
127
+ newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;
128
+ newNode.classes = newNode.classes + " " + CSS_DIAGRAM_CLUSTER + " " + (altFlag ? CSS_DIAGRAM_CLUSTER_ALT : "");
129
+ }
130
+ const nodeData = {
131
+ labelStyle: "",
132
+ shape: newNode.shape,
133
+ labelText: newNode.description,
134
+ // typeof newNode.description === 'object'
135
+ // ? newNode.description[0]
136
+ // : newNode.description,
137
+ classes: newNode.classes,
138
+ style: "",
139
+ //styles.style,
140
+ id: itemId,
141
+ dir: newNode.dir,
142
+ domId: stateDomId(itemId, graphItemCount),
143
+ type: newNode.type,
144
+ padding: 15
145
+ //getConfig().flowchart.padding
146
+ };
147
+ nodeData.centerLabel = true;
148
+ if (parsedItem.note) {
149
+ const noteData = {
150
+ labelStyle: "",
151
+ shape: SHAPE_NOTE,
152
+ labelText: parsedItem.note.text,
153
+ classes: CSS_DIAGRAM_NOTE,
154
+ // useHtmlLabels: false,
155
+ style: "",
156
+ // styles.style,
157
+ id: itemId + NOTE_ID + "-" + graphItemCount,
158
+ domId: stateDomId(itemId, graphItemCount, NOTE),
159
+ type: newNode.type,
160
+ padding: 15
161
+ //getConfig().flowchart.padding
162
+ };
163
+ const groupData = {
164
+ labelStyle: "",
165
+ shape: SHAPE_NOTEGROUP,
166
+ labelText: parsedItem.note.text,
167
+ classes: newNode.classes,
168
+ style: "",
169
+ // styles.style,
170
+ id: itemId + PARENT_ID,
171
+ domId: stateDomId(itemId, graphItemCount, PARENT),
172
+ type: "group",
173
+ padding: 0
174
+ //getConfig().flowchart.padding
175
+ };
176
+ graphItemCount++;
177
+ const parentNodeId = itemId + PARENT_ID;
178
+ g.setNode(parentNodeId, groupData);
179
+ g.setNode(noteData.id, noteData);
180
+ g.setNode(itemId, nodeData);
181
+ g.setParent(itemId, parentNodeId);
182
+ g.setParent(noteData.id, parentNodeId);
183
+ let from = itemId;
184
+ let to = noteData.id;
185
+ if (parsedItem.note.position === "left of") {
186
+ from = noteData.id;
187
+ to = itemId;
188
+ }
189
+ g.setEdge(from, to, {
190
+ arrowhead: "none",
191
+ arrowType: "",
192
+ style: G_EDGE_STYLE,
193
+ labelStyle: "",
194
+ classes: CSS_EDGE_NOTE_EDGE,
195
+ arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
196
+ labelpos: G_EDGE_LABELPOS,
197
+ labelType: G_EDGE_LABELTYPE,
198
+ thickness: G_EDGE_THICKNESS
199
+ });
200
+ } else {
201
+ g.setNode(itemId, nodeData);
202
+ }
203
+ }
204
+ if (parent && parent.id !== "root") {
205
+ log.trace("Setting node ", itemId, " to be child of its parent ", parent.id);
206
+ g.setParent(itemId, parent.id);
207
+ }
208
+ if (parsedItem.doc) {
209
+ log.trace("Adding nodes children ");
210
+ setupDoc(g, parsedItem, parsedItem.doc, diagramStates, diagramDb, !altFlag);
211
+ }
212
+ };
213
+ const setupDoc = (g, parentParsedItem, doc, diagramStates, diagramDb, altFlag) => {
214
+ log.trace("items", doc);
215
+ doc.forEach((item) => {
216
+ switch (item.stmt) {
217
+ case STMT_STATE:
218
+ setupNode(g, parentParsedItem, item, diagramStates, diagramDb, altFlag);
219
+ break;
220
+ case DEFAULT_STATE_TYPE:
221
+ setupNode(g, parentParsedItem, item, diagramStates, diagramDb, altFlag);
222
+ break;
223
+ case STMT_RELATION:
224
+ {
225
+ setupNode(g, parentParsedItem, item.state1, diagramStates, diagramDb, altFlag);
226
+ setupNode(g, parentParsedItem, item.state2, diagramStates, diagramDb, altFlag);
227
+ const edgeData = {
228
+ id: "edge" + graphItemCount,
229
+ arrowhead: "normal",
230
+ arrowTypeEnd: "arrow_barb",
231
+ style: G_EDGE_STYLE,
232
+ labelStyle: "",
233
+ label: common.sanitizeText(item.description, getConfig()),
234
+ arrowheadStyle: G_EDGE_ARROWHEADSTYLE,
235
+ labelpos: G_EDGE_LABELPOS,
236
+ labelType: G_EDGE_LABELTYPE,
237
+ thickness: G_EDGE_THICKNESS,
238
+ classes: CSS_EDGE
239
+ };
240
+ g.setEdge(item.state1.id, item.state2.id, edgeData, graphItemCount);
241
+ graphItemCount++;
242
+ }
243
+ break;
244
+ }
245
+ });
246
+ };
247
+ const getDir = (parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {
248
+ let dir = defaultDir;
249
+ if (parsedItem.doc) {
250
+ for (let i = 0; i < parsedItem.doc.length; i++) {
251
+ const parsedItemDoc = parsedItem.doc[i];
252
+ if (parsedItemDoc.stmt === "dir") {
253
+ dir = parsedItemDoc.value;
254
+ }
255
+ }
256
+ }
257
+ return dir;
258
+ };
259
+ const draw = async function(text, id, _version, diag) {
260
+ log.info("Drawing state diagram (v2)", id);
261
+ nodeDb = {};
262
+ diag.db.getDirection();
263
+ const { securityLevel, state: conf } = getConfig();
264
+ const nodeSpacing = conf.nodeSpacing || 50;
265
+ const rankSpacing = conf.rankSpacing || 50;
266
+ log.info(diag.db.getRootDocV2());
267
+ diag.db.extract(diag.db.getRootDocV2());
268
+ log.info(diag.db.getRootDocV2());
269
+ const diagramStates = diag.db.getStates();
270
+ const g = new graphlib.Graph({
271
+ multigraph: true,
272
+ compound: true
273
+ }).setGraph({
274
+ rankdir: getDir(diag.db.getRootDocV2()),
275
+ nodesep: nodeSpacing,
276
+ ranksep: rankSpacing,
277
+ marginx: 8,
278
+ marginy: 8
279
+ }).setDefaultEdgeLabel(function() {
280
+ return {};
281
+ });
282
+ setupNode(g, void 0, diag.db.getRootDocV2(), diagramStates, diag.db, true);
283
+ let sandboxElement;
284
+ if (securityLevel === "sandbox") {
285
+ sandboxElement = select("#i" + id);
286
+ }
287
+ const root = securityLevel === "sandbox" ? select(sandboxElement.nodes()[0].contentDocument.body) : select("body");
288
+ const svg = root.select(`[id="${id}"]`);
289
+ const element = root.select("#" + id + " g");
290
+ await render(element, g, ["barb"], CSS_DIAGRAM, id);
291
+ const padding = 8;
292
+ utils.insertTitle(svg, "statediagramTitleText", conf.titleTopMargin, diag.db.getDiagramTitle());
293
+ const bounds = svg.node().getBBox();
294
+ const width = bounds.width + padding * 2;
295
+ const height = bounds.height + padding * 2;
296
+ svg.attr("class", CSS_DIAGRAM);
297
+ const svgBounds = svg.node().getBBox();
298
+ configureSvgSize(svg, height, width, conf.useMaxWidth);
299
+ const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`;
300
+ log.debug(`viewBox ${vBox}`);
301
+ svg.attr("viewBox", vBox);
302
+ const labels = document.querySelectorAll('[id="' + id + '"] .edgeLabel .label');
303
+ for (const label of labels) {
304
+ const dim = label.getBBox();
305
+ const rect = document.createElementNS("http://www.w3.org/2000/svg", SHAPE_STATE);
306
+ rect.setAttribute("rx", 0);
307
+ rect.setAttribute("ry", 0);
308
+ rect.setAttribute("width", dim.width);
309
+ rect.setAttribute("height", dim.height);
310
+ label.insertBefore(rect, label.firstChild);
311
+ }
312
+ };
313
+ const renderer = {
314
+ setConf,
315
+ getClasses,
316
+ draw
317
+ };
318
+ const diagram = {
319
+ parser,
320
+ db,
321
+ renderer,
322
+ styles,
323
+ init: (cnf) => {
324
+ if (!cnf.state) {
325
+ cnf.state = {};
326
+ }
327
+ cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
328
+ db.clear();
329
+ }
330
+ };
331
+ export {
332
+ diagram
333
+ };