@marimo-team/islands 0.23.17-dev9 → 0.24.1-dev0

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 (633) hide show
  1. package/dist/{ConnectedDataExplorerComponent-f9vLjQiF.js → ConnectedDataExplorerComponent-BUC1MrsF.js} +24 -24
  2. package/dist/{ErrorBoundary-DhLqwSWA.js → ErrorBoundary-BniTEhHn.js} +7 -7
  3. package/dist/{ImageComparisonComponent-C3y7L3eJ.js → ImageComparisonComponent-B7b8DcJI.js} +42 -31
  4. package/dist/{Plot-YQOuVIei.js → Plot-eTseCFf_.js} +4 -4
  5. package/dist/_initCloneObject-DNUst5Cg.js +91 -0
  6. package/dist/abnfDiagram-N423BO3Z-DA4j92-C.js +112 -0
  7. package/dist/{any-language-editor-DifE-fl7.js → any-language-editor-LHl8ZmVN.js} +26 -26
  8. package/dist/apl-Cwo7GIH7.js +4 -0
  9. package/dist/{arc-CTIpFoOn.js → arc-9nABupDE.js} +2 -2
  10. package/dist/architecture-TIHT7OUA-DxLlkuAK.js +5 -0
  11. package/dist/{architectureDiagram-VXUJARFQ-DXwkyAaM.js → architectureDiagram-T3A2C74G-BBlBK1Oh.js} +327 -214
  12. package/dist/{arrays-sEtDRoG4.js → arrays-C56grfjL.js} +1 -1
  13. package/dist/asciiarmor-jrfEZ3j_.js +4 -0
  14. package/dist/asn1-BNEiJ4nQ.js +4 -0
  15. package/dist/assets/__vite-browser-external-DUz7vvG0.js +1 -0
  16. package/dist/assets/{worker-CDEKsBgX.js → worker-Cl1KJG2_.js} +2 -2
  17. package/dist/blockDiagram-VBNYF7ZC-Datz1WNn.js +3284 -0
  18. package/dist/brainfuck-BCunvTbd.js +4 -0
  19. package/dist/{button-BSm8IXRU.js → button-Dr2uAwhT.js} +9 -7
  20. package/dist/{c4Diagram-YG6GDRKO-B6dZC_oU.js → c4Diagram-5PPSVZJV-DTIsibpE.js} +165 -162
  21. package/dist/{capabilities-C6OQ5YBO.js → capabilities-BilXeZ7p.js} +2 -2
  22. package/dist/{channel-BN070S0F.js → channel-CuV_jmG4.js} +1 -1
  23. package/dist/chat-ui-o-tATfmW.js +8619 -0
  24. package/dist/{check-DP7U0H0G.js → check-58HHfHKy.js} +1 -1
  25. package/dist/chunk-2GRJ4B5K-DRayWnnu.js +68 -0
  26. package/dist/{chunk-QZHKN3VN-Dym5BS7y.js → chunk-2Q5K7J3B-BSLyFOHa.js} +1 -1
  27. package/dist/chunk-3NCLNEKW-BPlp8K7N.js +11 -0
  28. package/dist/chunk-4I5QYGJK-CYJC3pkC.js +260 -0
  29. package/dist/chunk-5FCAYU7R-C3cMIeyz.js +24 -0
  30. package/dist/{chunk-5FQGJX7Z-B9WoXK1R.js → chunk-5FQGJX7Z-BRZ_XYUw.js} +6 -6
  31. package/dist/chunk-5HE753X5-D2jFCVXb.js +34 -0
  32. package/dist/chunk-5JV3BV7I-B7tzprBU.js +50 -0
  33. package/dist/{chunk-DI55MBZ5-D4Y8yV8B.js → chunk-5RXB4S5H-DcCPfb0q.js} +373 -327
  34. package/dist/chunk-5TONJI2A-LRqbgPte.js +59 -0
  35. package/dist/{chunk-FMBD7UC4-quJmebXa.js → chunk-5VM5RSS4-ChXEBudA.js} +1 -1
  36. package/dist/chunk-6Q2QTUOP-zcnb3OaV.js +503 -0
  37. package/dist/{chunk-HN2XXSSU-Bv0QkeMr.js → chunk-7BUUIJ7U-CkIbJNZo.js} +32 -25
  38. package/dist/chunk-7Z6QIM7H-1j-x7ddW.js +606 -0
  39. package/dist/{chunk-FRFDVMJY-BHBqN-vD.js → chunk-BIQX33UG-B-BYk6sM.js} +3 -3
  40. package/dist/chunk-Bfp04NdC.js +25 -0
  41. package/dist/chunk-CQNSW5MT-DBXDKSOU.js +34 -0
  42. package/dist/{chunk-4F5CHEZ2-VlodlEGo.js → chunk-CYSBUYHQ-Cv-vKQV-.js} +1 -1
  43. package/dist/{chunk-SJTYNZTY-DnXoKWpW.js → chunk-EMLP6XTP-DCtMkXLF.js} +1 -1
  44. package/dist/{chunk-B4BG7PRW-B_z2FEHm.js → chunk-GF5L2VYU-esTxzELH.js} +878 -636
  45. package/dist/chunk-I66GZJ75-9xAsFrdW.js +3744 -0
  46. package/dist/chunk-J7OUQ5F2-CbNBTlFM.js +81 -0
  47. package/dist/chunk-JG7HCLWE-CZIm6axg.js +59 -0
  48. package/dist/{flowDiagram-NV44I4VS-BRhSg-ro.js → chunk-JQJVKLGR-ZALkKVji.js} +1019 -1001
  49. package/dist/{chunk-4BX2VUAB-iU5lQTDI.js → chunk-JWPE2WC7-C_Daz-Oc.js} +1 -1
  50. package/dist/{chunk-QN33PNHL-DPBNNzpR.js → chunk-KBJHAD2P-B7m9DztL.js} +3 -2
  51. package/dist/chunk-KEIR6QF5-aP6TmWQ-.js +21095 -0
  52. package/dist/{chunk-UMXZTB3W-D1uHz8MN.js → chunk-MOZMSUNE-BQi-ggQx.js} +7 -4
  53. package/dist/{chunk-S3R3BYOJ-BdgLc8AM.js → chunk-NSK5VX7P-BmmoJBbx.js} +320 -29
  54. package/dist/chunk-OSBZ3O6U-BcrmpSY_.js +22 -0
  55. package/dist/{chunk-TQ3KTPDO-CsDx6v37.js → chunk-QBLGF6JB-BACuPUWb.js} +3 -3
  56. package/dist/chunk-QR6OTTB3-C4L1dLRd.js +3762 -0
  57. package/dist/{chunk-B2363JML-zL3VngtH.js → chunk-R7FJI6CG-BYAXJpIb.js} +3 -3
  58. package/dist/chunk-RYQCIY6F-poA0Ugpr.js +243 -0
  59. package/dist/chunk-U6XO7XAA-I8tCjTeT.js +60 -0
  60. package/dist/chunk-UBXNYLIW-C8LueN5Q.js +34 -0
  61. package/dist/{chunk-ATLVNIR6-qFiszptQ.js → chunk-W5SLKNZC-DK-_KuKT.js} +2 -2
  62. package/dist/{chunk-JA3XYJ7Z-CY4CRbV5.js → chunk-WRU74C26-DLgw-V0j.js} +262 -451
  63. package/dist/chunk-XXDRQBXY-Dzcp3rUR.js +9 -0
  64. package/dist/chunk-Y2CYZVJY-DX3DSigL.js +13 -0
  65. package/dist/{chunk-PL6DKKU2-CAHKc95s.js → chunk-YOTPTUD7-C8qfgaz5.js} +5 -5
  66. package/dist/{chunk-MI3HLSF2-HGWI-8Pg.js → chunk-ZIRB5QZD-_JX1DzEJ.js} +12 -8
  67. package/dist/classDiagram-JCYQIIEL-D8A6ZyXv.js +32 -0
  68. package/dist/classDiagram-v2-OCEON4UE-DIdYl-t3.js +32 -0
  69. package/dist/{click-outside-container-BSIeYt4y.js → click-outside-container-BZNsAj09.js} +2 -2
  70. package/dist/{clike-7lgyEYRk.js → clike-CWndBX_M.js} +1 -1
  71. package/dist/clojure-2X0Rfij9.js +4 -0
  72. package/dist/cmake-DEwzCy9U.js +4 -0
  73. package/dist/cobol-Ck4eCoAB.js +4 -0
  74. package/dist/{code-block-37QAKDTI-MSxEjskJ.js → code-block-37QAKDTI-B4pWe5MI.js} +4 -4
  75. package/dist/coffeescript-bB1IDwhg.js +4 -0
  76. package/dist/{common-C3f0slQQ.js → common-CDI91x0c.js} +797 -804
  77. package/dist/commonlisp-BDYrVBNC.js +4 -0
  78. package/dist/{compiler-runtime-CEbnTgxf.js → compiler-runtime-DsR6imPN.js} +2 -2
  79. package/dist/{copy-DNq8q3zw.js → copy-C7ZKMKox.js} +5 -5
  80. package/dist/{cose-bilkent-S5V4N54A-BYj0aL7z.js → cose-bilkent-JH36ORCC-D6iQzSi6.js} +6 -5
  81. package/dist/crystal-BSoiVUiH.js +4 -0
  82. package/dist/css-w1h9i21f.js +4 -0
  83. package/dist/cynefin-VYW2F7L2-DnZOHyNF.js +5 -0
  84. package/dist/cynefinDiagram-MW4NZA55-B1GNPS2u.js +367 -0
  85. package/dist/cypher-B4xzuKGP.js +4 -0
  86. package/dist/{cytoscape.esm-Dr8XzXWK.js → cytoscape.esm-BPa26Dup.js} +393 -334
  87. package/dist/d-D50Bz34p.js +4 -0
  88. package/dist/{dagre-By_QsQgc.js → dagre-ThTNj8pe.js} +60 -45
  89. package/dist/dagre-VZM6K2ZE-DEs5dfXA.js +343 -0
  90. package/dist/{data-grid-overlay-editor-BWRG2b_o.js → data-grid-overlay-editor-Ci7TXVf5.js} +5 -5
  91. package/dist/{debounce-BOD3DbfP.js → debounce-D784bpms.js} +2 -2
  92. package/dist/{defaultLocale-BpsHxBd7.js → defaultLocale-CMezyvMc.js} +26 -26
  93. package/dist/diagram-7IWD3JNH-Bdk1_wJO.js +321 -0
  94. package/dist/diagram-B4RE2ZJO-Be9eYLJ0.js +464 -0
  95. package/dist/{diagram-S2PKOQOG-CGh4OMEV.js → diagram-LBJQPF4R-BNSnzxFw.js} +26 -18
  96. package/dist/{diagram-PSM6KHXK-D4ftnaua.js → diagram-Q27KOJAE-NPRzyGtd.js} +68 -63
  97. package/dist/diagram-UB23O5K3-Dogz4itg.js +236 -0
  98. package/dist/diff-BMdzfXq-.js +4 -0
  99. package/dist/{dist-BTdrwBWP.js → dist-72nb8Uag.js} +3 -3
  100. package/dist/{dist-CV79CsQ0.js → dist-9PC5KxMl.js} +2 -2
  101. package/dist/{dist-BOMbzyb3.js → dist-Awj73yUw.js} +3 -3
  102. package/dist/{dist-w_gWE5Wf.js → dist-B0Ctcrt9.js} +1 -1
  103. package/dist/{dist-BO5HRiTf.js → dist-B1Donbpk.js} +2 -2
  104. package/dist/dist-BC6wzWNb.js +5 -0
  105. package/dist/{dist-De-GlSAs.js → dist-BJ2IUa0l.js} +15 -9
  106. package/dist/dist-BMd_RcOy.js +5 -0
  107. package/dist/dist-BZEWjN6r.js +5 -0
  108. package/dist/{dist-BP39XM8u.js → dist-B_K4AAkc.js} +1 -1
  109. package/dist/dist-BeuGjR3n.js +6 -0
  110. package/dist/dist-BfDQCUe6.js +5 -0
  111. package/dist/dist-BhNblTOV.js +8 -0
  112. package/dist/{dist-BPF0gTRZ.js → dist-C0ifRfXi.js} +1 -1
  113. package/dist/{dist-pqIwD8VD.js → dist-C3mEki35.js} +2 -2
  114. package/dist/{dist-LpLXa9Lb.js → dist-CNfV2vDI.js} +2 -2
  115. package/dist/{dist-DviUBLUp.js → dist-COcQ5Vyc.js} +4 -4
  116. package/dist/dist-CRCm4Fuo.js +5 -0
  117. package/dist/{dist-4lVIWUT3.js → dist-CSZpLb9d.js} +1 -1
  118. package/dist/{dist-BIEt-mlF.js → dist-CWswQBvu.js} +1 -1
  119. package/dist/{dist-D3bdsa1d.js → dist-CXYro_Nw.js} +4 -4
  120. package/dist/{dist-CRmSjkLP.js → dist-Ckfsc8C3.js} +2 -2
  121. package/dist/{dist-CSlJrrAw.js → dist-Cyq6Pxtv.js} +1 -1
  122. package/dist/{dist-JGehap7K.js → dist-D-BWPyoX.js} +5 -5
  123. package/dist/{dist-BCX980mU.js → dist-D-YB6j-O.js} +2 -2
  124. package/dist/{dist-DgjbnqTg.js → dist-D1vYHETp.js} +2 -2
  125. package/dist/{dist-BpeiYpG2.js → dist-D9-ePb6D.js} +2 -2
  126. package/dist/dist-DBPEbGkd.js +8 -0
  127. package/dist/{dist-C2_4pjuS.js → dist-DC409ROm.js} +1 -1
  128. package/dist/{dist-BdqCKQ1O.js → dist-DJRUd9aM.js} +2 -2
  129. package/dist/{dist-DaXJPX8F.js → dist-DLvxZEAK.js} +2 -2
  130. package/dist/dist-DSsl8IAI.js +5 -0
  131. package/dist/{dist-3NCqaWjt.js → dist-D_ulymry.js} +2 -2
  132. package/dist/{dist-DZwp8lro.js → dist-DgY27bJ4.js} +3 -3
  133. package/dist/{dist-BwhXBwMd.js → dist-DiwVZiK7.js} +1 -1
  134. package/dist/{dist-DwqBJ014.js → dist-DnYHhW6c.js} +2 -2
  135. package/dist/dist-Dx0kkrek.js +5 -0
  136. package/dist/{dist-DsoKosxi.js → dist-HaLHv0k5.js} +2 -3
  137. package/dist/dist-NKA1TU8a.js +6 -0
  138. package/dist/dist-ZFcsIdHj.js +8 -0
  139. package/dist/{dist-C18MUWTj.js → dist-iZ8-rtUy.js} +2 -2
  140. package/dist/{dist-DIlxLFXG.js → dist-j30bBjjN.js} +15 -15
  141. package/dist/{dist-SXNmlE8A.js → dist-kOCFEa1U.js} +3 -3
  142. package/dist/{dist-CFSb_Frm.js → dist-sxRUVPmt.js} +1 -1
  143. package/dist/dist-uA2RbGmY.js +5 -0
  144. package/dist/{dist-B2jmQKKx.js → dist-xVU82Nq7.js} +2 -2
  145. package/dist/dist-zSCo-xCB.js +8 -0
  146. package/dist/{dockerfile-B82Pkz_V.js → dockerfile-DImRFUlA.js} +1 -1
  147. package/dist/dtd-B9dCT0pu.js +4 -0
  148. package/dist/dylan-DLghDyuR.js +4 -0
  149. package/dist/ebnfDiagram-BXEA7PRR-CqRWkG7L.js +129 -0
  150. package/dist/ecl-w0qdPHDB.js +4 -0
  151. package/dist/eiffel-C5AWRCNP.js +4 -0
  152. package/dist/elm-CT8FZrOm.js +4 -0
  153. package/dist/{erDiagram-Q2GNP2WA-BcKAHFqF.js → erDiagram-JOGREHBK-BZMJX-Au.js} +568 -436
  154. package/dist/erlang-DPD-9M5g.js +4 -0
  155. package/dist/{error-banner-B_GQfxxD.js → error-banner-BwCLtmkH.js} +6 -6
  156. package/dist/{esm-CuQHjs36.js → esm-BJ4n0NUT.js} +1 -1
  157. package/dist/{esm-DKOv6P2M.js → esm-Dusmf6uu.js} +105 -105
  158. package/dist/{esm-DzZVaNH4.js → esm-QLUgkqzZ.js} +6 -6
  159. package/dist/eventmodeling-45OFAUF4-D8Kbnsr6.js +5 -0
  160. package/dist/{extends-w2_S44bV.js → extends-iFBneQO_.js} +9 -9
  161. package/dist/{factor-Bq2mGIHt.js → factor-BonZgUGg.js} +1 -1
  162. package/dist/factor-rFfeJu3r.js +4 -0
  163. package/dist/flowDiagram-UKHOOZJN-DqIE8_b3.js +21 -0
  164. package/dist/{formats-Dwq1THhr.js → formats-HSfYlcA8.js} +7 -7
  165. package/dist/forth-C-3AyQx4.js +4 -0
  166. package/dist/fortran-BSN9TeT7.js +4 -0
  167. package/dist/ganttDiagram-PKOTCBZU-Bc9puoXb.js +2207 -0
  168. package/dist/gas-DwmuvQpB.js +4 -0
  169. package/dist/gherkin-gmCjL-Sn.js +4 -0
  170. package/dist/{gitGraph-G5XIXVHT-BjTx0kww.js → gitGraph-TEB2WS4Q-DVzLmQHc.js} +2 -3
  171. package/dist/gitGraphDiagram-DS77QQ5N-CqKr-Dfg.js +766 -0
  172. package/dist/{glide-data-editor-B9K6-MJe.js → glide-data-editor-BI2i_IEE.js} +18 -18
  173. package/dist/graphlib-DMVIRZap.js +614 -0
  174. package/dist/groovy-DCjvesOy.js +4 -0
  175. package/dist/hasIn-synBnXn4.js +119 -0
  176. package/dist/haskell-C1p0D9L8.js +4 -0
  177. package/dist/haxe-q-fgv0zr.js +5 -0
  178. package/dist/{html-to-image-CZ1kLKkq.js → html-to-image-BOiFHx3u.js} +7535 -3056
  179. package/dist/idl-Bmg4bsnK.js +4 -0
  180. package/dist/{info-VBDWY6EO-CA67FznA.js → info-DKCQHKI2-BxOTqQHM.js} +2 -3
  181. package/dist/infoDiagram-6WML65LV-B869X2KY.js +37 -0
  182. package/dist/{input-C5K4VBvB.js → input-BRE2a7Ay.js} +13 -13
  183. package/dist/{_baseFor-4jw-lnCC.js → isArrayLikeObject-CBUaLibE.js} +96 -29
  184. package/dist/{isEmpty-CJJMn-QP.js → isEmpty-CgME6WRV.js} +15 -15
  185. package/dist/{isSymbol-CoUCgMCM.js → isSymbol-Ch3GYg4S.js} +1 -1
  186. package/dist/ishikawaDiagram-WSZJBQD7-BrOMFBYy.js +731 -0
  187. package/dist/javascript-BY5QZ-eN.js +4 -0
  188. package/dist/{journeyDiagram-XKPGCS4Q-DEal0aT1.js → journeyDiagram-NVQOT4AX-CTwHlsTm.js} +124 -123
  189. package/dist/{jsx-runtime-DebpN0FN.js → jsx-runtime-Dp_oQwaf.js} +1 -1
  190. package/dist/julia-DbR1YalK.js +4 -0
  191. package/dist/{kanban-definition-3W4ZIXB7-Dl90wENN.js → kanban-definition-27J2QSJJ-CKowzO9_.js} +51 -45
  192. package/dist/{katex-C4t-BmrK.js → katex-Ci33kJVq.js} +1 -1
  193. package/dist/{katex-Bld7b-fk.js → katex-Dp22h6yO.js} +2871 -3002
  194. package/dist/{label-DjoYwqmj.js → label-CMh2d8pJ.js} +6 -6
  195. package/dist/{line-C43FIPBd.js → line-Bc27KE1D.js} +3 -3
  196. package/dist/{linear-H_vsH9ao.js → linear-6pDlrp1I.js} +4 -4
  197. package/dist/livescript-BDUooIeL.js +4 -0
  198. package/dist/{loader-DX-IDS7n.js → loader-DTnbNSVZ.js} +11 -11
  199. package/dist/lua-CswAWSkH.js +4 -0
  200. package/dist/main.js +747 -752
  201. package/dist/map-BQ_Xp80D.js +137 -0
  202. package/dist/mathematica-Bw7v11B5.js +4 -0
  203. package/dist/mbox-j35IMz1j.js +4 -0
  204. package/dist/merge-CDbSrd9f.js +69 -0
  205. package/dist/mermaid-4DMBBIKO-BZSpTmcx.js +6 -0
  206. package/dist/mermaid-DpAz2sTy.js +1265 -0
  207. package/dist/mermaid-parser.core-BQzz3_BI.js +87 -0
  208. package/dist/{mhchem-EGhUZR1V.js → mhchem-BDHjke3h.js} +1 -1
  209. package/dist/{micromark-factory-space-CwHmg6iz.js → micromark-factory-space-Cr4NxAt3.js} +1 -1
  210. package/dist/{mindmap-definition-VGOIOE7T-CCDupjWW.js → mindmap-definition-FAOFIHXS-CTsi-HFj.js} +126 -80
  211. package/dist/mirc-Ba_RHVXO.js +4 -0
  212. package/dist/mllike-DbTP2dPp.js +6 -0
  213. package/dist/modelica-lpT3V1X6.js +4 -0
  214. package/dist/mscgen-BN4ZSJMx.js +6 -0
  215. package/dist/mumps-uI5g1A0g.js +4 -0
  216. package/dist/{node-sql-parser-v1Vi-Fft.js → node-sql-parser-BaLGWQe1.js} +1 -1
  217. package/dist/{now-Ch98bJO_.js → now-sFWt-GLC.js} +2 -2
  218. package/dist/{nsis-i9_sgigf.js → nsis-C68fFq_o.js} +1 -1
  219. package/dist/nsis-Df56GiRg.js +4 -0
  220. package/dist/ntriples-B3LWuG7W.js +4 -0
  221. package/dist/{number-overlay-editor-Ck_mc_gT.js → number-overlay-editor-CeBHRJvI.js} +3 -3
  222. package/dist/octave-CovfQgOx.js +4 -0
  223. package/dist/{once-B60G2fuJ.js → once-Boutk_9X.js} +1 -1
  224. package/dist/{ordinal-Bkv2-veX.js → ordinal-Bdajf2BE.js} +1 -1
  225. package/dist/oz-DQQAvVFb.js +4 -0
  226. package/dist/{packet-DYOGHKS2-Bkgofxf3.js → packet-7NZHBO7P-BG8whXXH.js} +2 -3
  227. package/dist/pascal-xz94P9sf.js +4 -0
  228. package/dist/pegDiagram-VL7TDLO6-CNpT8Sqz.js +124 -0
  229. package/dist/perl-aEWKE-1n.js +4 -0
  230. package/dist/pick-CaEWivSF.js +47 -0
  231. package/dist/{pie-VRWISCQL-B1AMhN_7.js → pie-RZYD4A2V-Cc_QhFbT.js} +2 -3
  232. package/dist/pieDiagram-7S7Q4E2Y-Ct8jRpe_.js +219 -0
  233. package/dist/pig-DB6DOZl7.js +4 -0
  234. package/dist/powershell-DM5saUx1.js +4 -0
  235. package/dist/{precisionRound-CnHPY_5v.js → precisionRound-BOoJTbDj.js} +1 -1
  236. package/dist/{process-output-bVfbcx5_.js → process-output-HrsM52f8.js} +7 -7
  237. package/dist/properties-BGjYQuGo.js +4 -0
  238. package/dist/protobuf-BPpEyPud.js +4 -0
  239. package/dist/{pug-BhE2JRSg.js → pug-DFPPZ3LA.js} +1 -1
  240. package/dist/pug-uJzB88ft.js +4 -0
  241. package/dist/puppet-oIm2d_Lg.js +4 -0
  242. package/dist/{purify.es-EnR5yhgI.js → purify.es-DR5PNXwx.js} +160 -155
  243. package/dist/python-WE57eUzD.js +4 -0
  244. package/dist/q-CR8xPodo.js +4 -0
  245. package/dist/{quadrantDiagram-AYHSOK5B-BqDB9tUC.js → quadrantDiagram-CIZ2JOQS-B5n_xFcF.js} +429 -401
  246. package/dist/r-CJdmQZNj.js +4 -0
  247. package/dist/{radar-ZZBFDIW7-C2b7A32s.js → radar-I7S5WNFK-OhUkecXA.js} +2 -3
  248. package/dist/railroad-3IZDKUUU-1CmOpo1B.js +5 -0
  249. package/dist/railroad-abnf-AHOZXSZD-DmH4lsDS.js +5 -0
  250. package/dist/railroad-ebnf-EBAXGLYW-CzK0md4e.js +5 -0
  251. package/dist/railroad-peg-LSFZ7HO6-DOklooKz.js +5 -0
  252. package/dist/railroadDiagram-AXF67PYL-BbUWbtf8.js +100 -0
  253. package/dist/{react-DA-nE2FX.js → react-DhGsCS90.js} +1 -1
  254. package/dist/{react-dom-BTJzcVJ9.js → react-dom-CmENFV8Q.js} +2 -2
  255. package/dist/{react-vega-BazDALhI.js → react-vega-zyfTF9SY.js} +8036 -4796
  256. package/dist/{requirementDiagram-UZGBJVZJ-KbVt8SPH.js → requirementDiagram-LRYGKXZP-CpoDmKSf.js} +137 -105
  257. package/dist/{reveal-component-CbOaZYQI.js → reveal-component-jN-3ZqwN.js} +27 -28
  258. package/dist/rough.esm-lGyFQ0B-.js +1363 -0
  259. package/dist/rpm-Cm5K4RH9.js +5 -0
  260. package/dist/ruby-ArsuTozQ.js +4 -0
  261. package/dist/sankeyDiagram-W5VNT64P-D82rYiAG.js +942 -0
  262. package/dist/sas-DShligrE.js +4 -0
  263. package/dist/scheme-kDLirQL7.js +4 -0
  264. package/dist/sequenceDiagram-SI44F4Z6-DgVKU1s5.js +4281 -0
  265. package/dist/shell-CVQuWP_N.js +4 -0
  266. package/dist/sieve-BW-ePwnq.js +4 -0
  267. package/dist/sizeCapture-X5ZJPWSS-BQgxHTji.js +48 -0
  268. package/dist/smalltalk-DI4aAXxY.js +4 -0
  269. package/dist/sparql-B2sp0oiz.js +4 -0
  270. package/dist/{spec-CQKL_D3i.js → spec-BL1GSUUF.js} +4 -4
  271. package/dist/{src-DV3ha_nA.js → src-BwVZVGyf.js} +13 -22
  272. package/dist/{stateDiagram-FKZM4ZOC-ByOvQf2n.js → stateDiagram-OKZ733FA-Cc9BchXz.js} +61 -58
  273. package/dist/stateDiagram-v2-UEYNNEHI-Dd4Tuw6F.js +32 -0
  274. package/dist/{step-BqHnkgWE.js → step-BqVgkWtk.js} +1 -1
  275. package/dist/stex-D2rme5UG.js +4 -0
  276. package/dist/{strings-DIy9NAmg.js → strings-DMLVGXRo.js} +305 -305
  277. package/dist/style.css +1 -1
  278. package/dist/stylus-xxO-85eO.js +4 -0
  279. package/dist/swift-Ctg533nZ.js +4 -0
  280. package/dist/swimlanes-SLNWSIFB-BHvhO5uv.js +5564 -0
  281. package/dist/swimlanesDiagram-ULZ7WXOC-aI_zgQ8O.js +33 -0
  282. package/dist/{swiper-component-CEdAYjb7.js → swiper-component-Cx0cRWLk.js} +6 -6
  283. package/dist/tcl-phm9c5Nd.js +4 -0
  284. package/dist/textile-CphjAg90.js +4 -0
  285. package/dist/{time-Bb4A7I6a.js → time-DAJu9fnj.js} +4 -4
  286. package/dist/timeline-definition-Z64GVDOM-BAHuDYyA.js +1107 -0
  287. package/dist/{timer-BpI_FKSA.js → timer-aIIabkbI.js} +1 -1
  288. package/dist/{toDate-CqhBWjvO.js → toDate-BGM7kFtQ.js} +6 -6
  289. package/dist/toml-BUuMK772.js +4 -0
  290. package/dist/{tooltip-f-qR0iUx.js → tooltip-BtUxZT5h.js} +7 -7
  291. package/dist/treeView-QDETBFTQ-DsLN_c8p.js +5 -0
  292. package/dist/{treemap-GDKQZRPO-SDux0AV8.js → treemap-6X3UGDF4-K1bi3LJm.js} +2 -3
  293. package/dist/troff-lCtc05A3.js +4 -0
  294. package/dist/ttcn-CcykzBcW.js +4 -0
  295. package/dist/ttcn-cfg-C-XYdqpE.js +4 -0
  296. package/dist/turtle-CpfVZs8G.js +4 -0
  297. package/dist/{types-DicH9Oi0.js → types-DT8UHI5w.js} +1 -1
  298. package/dist/{use-vega-container-remeasure-DGNrIQSk.js → use-vega-container-remeasure-B7OD7yUY.js} +3 -3
  299. package/dist/{useAsyncData-CYOQb1EW.js → useAsyncData-CDcbh-Qv.js} +5 -5
  300. package/dist/{useDateFormatter-Bt2qr_XS.js → useDateFormatter-B_vTzxpm.js} +4 -4
  301. package/dist/{useDeepCompareMemoize-CSHQeQEI.js → useDeepCompareMemoize-Bj6QvwiG.js} +3 -3
  302. package/dist/{useIframeCapabilities-kA09ykNq.js → useIframeCapabilities-CxuXXwjj.js} +4 -4
  303. package/dist/{useLifecycle-CMJGqBaY.js → useLifecycle-Bw4wRj_O.js} +7 -7
  304. package/dist/{useTheme-DYfby65G.js → useTheme-BzEXeAR5.js} +8 -7
  305. package/dist/vb-VOIzXwm9.js +4 -0
  306. package/dist/vbscript-D0WfcnVk.js +4 -0
  307. package/dist/{vega-component-C7nO5zcf.js → vega-component-CJug-VdR.js} +24 -24
  308. package/dist/{vega-embed-container-DAQAMjiO.js → vega-embed-container-BRjjqRGz.js} +9 -9
  309. package/dist/{vega-loader.browser-DmpxCJqx.js → vega-loader.browser-CGb-2Kwi.js} +106 -113
  310. package/dist/velocity-CCrc5n-0.js +4 -0
  311. package/dist/vennDiagram-T6HMQDX7-CTyzMewS.js +1913 -0
  312. package/dist/verilog-BLFhaDBH.js +4 -0
  313. package/dist/vhdl-DjuqPE9b.js +4 -0
  314. package/dist/wardley-OPB4EBWU-CP99MvU1.js +5 -0
  315. package/dist/wardleyDiagram-T6FBY63Y-vcno_rbk.js +669 -0
  316. package/dist/webidl-Cc7RrfeK.js +4 -0
  317. package/dist/xquery-BiCRLnNG.js +4 -0
  318. package/dist/{xychartDiagram-PRI3JC2R-BSkNxYNw.js → xychartDiagram-ELKLHX3M-DyFDERhM.js} +417 -353
  319. package/dist/yacas-CWcjav-O.js +4 -0
  320. package/dist/z80-DpYS2lE7.js +4 -0
  321. package/dist/{zod-BUcyXSdR.js → zod-BFY2SnzC.js} +42 -43
  322. package/package.json +7 -7
  323. package/src/__mocks__/requests.ts +5 -0
  324. package/src/components/ai/ai-model-dropdown.tsx +2 -2
  325. package/src/components/app-config/user-config-form.tsx +26 -0
  326. package/src/components/chat/__tests__/capabilities-popover.test.tsx +38 -0
  327. package/src/components/chat/__tests__/chat-abort.test.ts +51 -0
  328. package/src/components/chat/__tests__/use-chat-controller-id.test.tsx +39 -0
  329. package/src/components/chat/capabilities-popover.tsx +68 -0
  330. package/src/components/chat/chat-abort.ts +44 -0
  331. package/src/components/chat/chat-display.tsx +17 -0
  332. package/src/components/chat/chat-panel.tsx +107 -50
  333. package/src/components/chat/chat-utils.ts +1 -1
  334. package/src/components/chat/use-chat-controller-id.ts +24 -0
  335. package/src/components/data-table/charts/__tests__/schemas.test.ts +35 -0
  336. package/src/components/data-table/charts/schemas.ts +5 -2
  337. package/src/components/datasets/__tests__/icons.test.ts +21 -0
  338. package/src/components/datasets/icons.tsx +10 -0
  339. package/src/components/datasources/__tests__/components.test.tsx +29 -0
  340. package/src/components/datasources/components.tsx +8 -3
  341. package/src/components/editor/actions/export-dialog/__tests__/export-dialog.test.tsx +35 -0
  342. package/src/components/editor/actions/export-dialog/__tests__/state.test.ts +61 -0
  343. package/src/components/editor/actions/export-dialog/export-command.ts +4 -9
  344. package/src/components/editor/actions/export-dialog/format-notice.tsx +28 -0
  345. package/src/components/editor/actions/export-dialog/state.ts +23 -5
  346. package/src/components/editor/actions/export-dialog/use-export-dialog.ts +3 -13
  347. package/src/components/editor/actions/useConfigActions.tsx +24 -0
  348. package/src/components/editor/ai/add-cell-with-ai.tsx +2 -2
  349. package/src/components/editor/ai/ai-completion-editor.tsx +2 -2
  350. package/src/components/editor/chrome/panels/outline/__tests__/useActiveOutline.test.ts +26 -0
  351. package/src/components/editor/chrome/wrapper/useOpenAiAssistant.ts +2 -2
  352. package/src/components/editor/code/__tests__/readonly-python-code.test.tsx +114 -2
  353. package/src/core/__tests__/mode.test.ts +85 -0
  354. package/src/core/ai/__tests__/config.test.tsx +96 -0
  355. package/src/core/ai/config.ts +16 -22
  356. package/src/core/ai/constants.ts +7 -0
  357. package/src/core/ai/staged-cells.ts +3 -0
  358. package/src/core/ai/state.ts +10 -0
  359. package/src/core/codemirror/__tests__/setup.test.ts +1 -1
  360. package/src/core/codemirror/cm.ts +2 -2
  361. package/src/core/codemirror/code-lens/__tests__/extension.test.ts +85 -6
  362. package/src/core/codemirror/code-lens/extension.ts +144 -47
  363. package/src/core/codemirror/find-replace/search-highlight.ts +8 -3
  364. package/src/core/codemirror/language/languages/sql/__tests__/renderers.test.tsx +44 -0
  365. package/src/core/codemirror/language/languages/sql/renderers.tsx +3 -3
  366. package/src/core/codemirror/theme/__tests__/light.test.ts +59 -123
  367. package/src/core/codemirror/theme/dark.ts +6 -5
  368. package/src/core/codemirror/theme/light.ts +6 -4
  369. package/src/core/config/__tests__/config-schema.test.ts +2 -0
  370. package/src/core/config/config-schema.ts +1 -0
  371. package/src/core/config/feature-flag.tsx +0 -2
  372. package/src/core/dom/outline.ts +25 -2
  373. package/src/core/hotkeys/hotkeys.ts +2 -0
  374. package/src/core/mode.ts +11 -9
  375. package/src/core/network/__tests__/api.test.ts +132 -17
  376. package/src/core/network/__tests__/export-filename.test.ts +43 -0
  377. package/src/core/network/__tests__/requests-lazy.test.ts +1 -0
  378. package/src/core/network/api.ts +47 -12
  379. package/src/core/network/export-filename.ts +37 -0
  380. package/src/core/network/markdown-export.ts +19 -0
  381. package/src/core/network/requests-network.ts +29 -5
  382. package/src/core/network/types.ts +4 -0
  383. package/src/css/app/codemirror.css +11 -7
  384. package/src/css/globals.css +8 -0
  385. package/src/plugins/impl/DataEditorPlugin.tsx +2 -9
  386. package/src/plugins/impl/__tests__/DataEditorPlugin.test.ts +18 -0
  387. package/src/plugins/impl/chat/chat-ui.tsx +51 -3
  388. package/src/plugins/impl/data-frames/__tests__/schema.test.ts +30 -0
  389. package/src/plugins/impl/data-frames/schema.ts +4 -1
  390. package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +20 -1
  391. package/src/plugins/impl/image-comparison/__tests__/ImageComparisonComponent.test.tsx +58 -0
  392. package/src/stories/theme.stories.tsx +71 -1
  393. package/dist/_baseUniq-B_2Hw7zG.js +0 -380
  394. package/dist/apl-e1B5LPEL.js +0 -4
  395. package/dist/architecture-7HQA4BMR-DHUrQjL4.js +0 -6
  396. package/dist/asciiarmor-B-gwgesP.js +0 -4
  397. package/dist/asn1-DF2ckRB4.js +0 -4
  398. package/dist/assets/__vite-browser-external-DltVXDv7.js +0 -1
  399. package/dist/blockDiagram-VD42YOAC-CIOjvxeD.js +0 -3131
  400. package/dist/brainfuck-4G-7_gq_.js +0 -4
  401. package/dist/chat-ui-DsZJj75A.js +0 -8369
  402. package/dist/chunk-55IACEB6-7h71GwyW.js +0 -8
  403. package/dist/chunk-ABZYJK2D-BxBDji1u.js +0 -2438
  404. package/dist/chunk-BNovOVIE.js +0 -28
  405. package/dist/chunk-CVBHYZKI-CwazXVlJ.js +0 -13
  406. package/dist/chunk-DR5Q36YT-5Yp2GWwR.js +0 -137
  407. package/dist/chunk-EXTU4WIE-BQPBhApE.js +0 -10
  408. package/dist/chunk-JZLCHNYA-DWIR9m5O.js +0 -4901
  409. package/dist/chunk-N4CR4FBY-Bw2HcMNc.js +0 -65
  410. package/dist/chunk-QXUST7PY-DtC2t9Mk.js +0 -498
  411. package/dist/chunk-TCCFYFTB-DPWJa9zL.js +0 -13948
  412. package/dist/chunk-TZMSLE5B-BzSHcq-K.js +0 -63
  413. package/dist/classDiagram-2ON5EDUG-BiQPjMNY.js +0 -30
  414. package/dist/classDiagram-v2-WZHVMYZB-YHdR8fqM.js +0 -30
  415. package/dist/clojure-CUybM11R.js +0 -4
  416. package/dist/clone-Q4Fqwn6q.js +0 -9
  417. package/dist/cmake-BPjGcuDL.js +0 -4
  418. package/dist/cobol-BETk_nb6.js +0 -4
  419. package/dist/coffeescript-CManZxXL.js +0 -4
  420. package/dist/commonlisp-DWkn7GW8.js +0 -4
  421. package/dist/crystal-CCbg5EUH.js +0 -4
  422. package/dist/css-By8eo-XS.js +0 -4
  423. package/dist/cypher-DwfHg3nP.js +0 -4
  424. package/dist/d-Brs1wNbw.js +0 -4
  425. package/dist/dagre-6UL2VRFP-DpYjBqQs.js +0 -296
  426. package/dist/diagram-QEK2KX5R-DVlUOgs1.js +0 -228
  427. package/dist/diff-DJIRmJ1g.js +0 -4
  428. package/dist/dist-5o9uz19x.js +0 -5
  429. package/dist/dist-BpDH0DEP.js +0 -5
  430. package/dist/dist-BpXhbQXO.js +0 -8
  431. package/dist/dist-ByadAk_L.js +0 -5
  432. package/dist/dist-CK0g7JvP.js +0 -8
  433. package/dist/dist-CfzCtiq2.js +0 -5
  434. package/dist/dist-D8JtVFrW.js +0 -8
  435. package/dist/dist-DK2Oocpu.js +0 -6
  436. package/dist/dist-DnSu977r.js +0 -5
  437. package/dist/dist-UmxJm6sW.js +0 -8
  438. package/dist/dist-aYSBQSyM.js +0 -5
  439. package/dist/dist-kkZ1Ztlh.js +0 -6
  440. package/dist/dist-ngPczwNi.js +0 -5
  441. package/dist/dist-wQRyxyTV.js +0 -5
  442. package/dist/dtd-Dyiazv4N.js +0 -4
  443. package/dist/dylan-D8Fcw7NA.js +0 -4
  444. package/dist/ecl-CjKp8Vii.js +0 -4
  445. package/dist/eiffel-K9ViOX5r.js +0 -4
  446. package/dist/elm-B5NVtRco.js +0 -4
  447. package/dist/erlang-BnLzgk7R.js +0 -4
  448. package/dist/factor-C7f9Jz5R.js +0 -4
  449. package/dist/flatten-Bbw7g6-K.js +0 -8
  450. package/dist/forth-rGM8jLao.js +0 -4
  451. package/dist/fortran-B3acSe0i.js +0 -4
  452. package/dist/ganttDiagram-JELNMOA3-CXXCN7LN.js +0 -2170
  453. package/dist/gas-Bb1Vmv_N.js +0 -4
  454. package/dist/gherkin-C9Lyidgd.js +0 -4
  455. package/dist/gitGraphDiagram-V2S2FVAM-BOlkMSqK.js +0 -652
  456. package/dist/graphlib-Ns7y5crs.js +0 -359
  457. package/dist/groovy-DQk6XcGH.js +0 -4
  458. package/dist/hasIn-Deg7jl_j.js +0 -108
  459. package/dist/haskell-mV0Vw9gv.js +0 -4
  460. package/dist/haxe-DqxN89zH.js +0 -5
  461. package/dist/idl-ya8W561J.js +0 -4
  462. package/dist/infoDiagram-HS3SLOUP-D3TyKnL_.js +0 -30
  463. package/dist/javascript-CgqgptVu.js +0 -4
  464. package/dist/julia-CFQ-HusI.js +0 -4
  465. package/dist/livescript-D__3TmDo.js +0 -4
  466. package/dist/lua-Bytcgj_W.js +0 -4
  467. package/dist/main-B1Jo_8pC.js +0 -4321
  468. package/dist/mathematica-DJhvVKvl.js +0 -4
  469. package/dist/mbox-IGHPCjfR.js +0 -4
  470. package/dist/memoize-BOtf2yFf.js +0 -17
  471. package/dist/merge-Be1CqGnU.js +0 -222
  472. package/dist/mermaid-4DMBBIKO-FXbOziy9.js +0 -6
  473. package/dist/mermaid-hv6IckVw.js +0 -1100
  474. package/dist/mermaid-parser.core-DoivvxPd.js +0 -54
  475. package/dist/min-Dtgc8txR.js +0 -38
  476. package/dist/mirc-tcwvVugm.js +0 -4
  477. package/dist/mllike-Dx91i62r.js +0 -6
  478. package/dist/modelica-_SRt-yU5.js +0 -4
  479. package/dist/mscgen-GZrGS9gt.js +0 -6
  480. package/dist/mumps-Cv3ygyod.js +0 -4
  481. package/dist/nsis-BU7GeGbI.js +0 -4
  482. package/dist/ntriples-CL-FCYXb.js +0 -4
  483. package/dist/octave-Dc6_3DIu.js +0 -4
  484. package/dist/oz-DpUAJCXf.js +0 -4
  485. package/dist/pascal-B17mncXs.js +0 -4
  486. package/dist/perl-BTpK97q9.js +0 -4
  487. package/dist/pick-D1Qo8s2C.js +0 -43
  488. package/dist/pieDiagram-ADFJNKIX-JvXG_6hk.js +0 -170
  489. package/dist/pig-CFb638Ap.js +0 -4
  490. package/dist/powershell-Cxo-_2A5.js +0 -4
  491. package/dist/properties-BPgT1xTB.js +0 -4
  492. package/dist/protobuf-BgHBaIIK.js +0 -4
  493. package/dist/pug-25-oS0SG.js +0 -4
  494. package/dist/puppet-DarIr20S.js +0 -4
  495. package/dist/python-BqmOsBsi.js +0 -4
  496. package/dist/q-D3QJCTup.js +0 -4
  497. package/dist/r-Cz_yBX4z.js +0 -4
  498. package/dist/rpm-DGOtYwAI.js +0 -5
  499. package/dist/ruby-DBZu4rPc.js +0 -4
  500. package/dist/sankeyDiagram-TZEHDZUN-DgkF38jx.js +0 -892
  501. package/dist/sas-Dd1D9qTq.js +0 -4
  502. package/dist/scheme-BmDjvTHX.js +0 -4
  503. package/dist/sequenceDiagram-WL72ISMW-BDmx9n95.js +0 -3652
  504. package/dist/shell-BL8zFSaj.js +0 -4
  505. package/dist/sieve-BAx2WqUP.js +0 -4
  506. package/dist/smalltalk-CYRzF7VV.js +0 -4
  507. package/dist/sparql-YWaDRO4A.js +0 -4
  508. package/dist/stateDiagram-v2-4FDKWEC3-C3xqeavR.js +0 -29
  509. package/dist/stex-B5O-env2.js +0 -4
  510. package/dist/stylus-lYsyLFc1.js +0 -4
  511. package/dist/swift-ClQz9z1n.js +0 -4
  512. package/dist/tcl-B3jhsfqY.js +0 -4
  513. package/dist/textile-Cb1Dw7Aq.js +0 -4
  514. package/dist/timeline-definition-IT6M3QCI-CkD_trIn.js +0 -856
  515. package/dist/toml-nHZhetdO.js +0 -4
  516. package/dist/troff-DuJAGWKH.js +0 -4
  517. package/dist/ttcn-BxrcwP21.js +0 -4
  518. package/dist/ttcn-cfg-BAg_9dcc.js +0 -4
  519. package/dist/turtle-zCq949as.js +0 -4
  520. package/dist/vb-De5hElus.js +0 -4
  521. package/dist/vbscript-Cypcpv4F.js +0 -4
  522. package/dist/velocity-Di7l-yhe.js +0 -4
  523. package/dist/verilog-Bzi-S3g2.js +0 -4
  524. package/dist/vhdl-B0ZZITaW.js +0 -4
  525. package/dist/webidl-0sviiRcN.js +0 -4
  526. package/dist/xquery-B4qMVWaB.js +0 -4
  527. package/dist/yacas-Jt25Fuv8.js +0 -4
  528. package/dist/z80-CrcbYzmp.js +0 -4
  529. /package/dist/{apl-99A7dLQe.js → apl-CMUKiT2b.js} +0 -0
  530. /package/dist/{array-O78LT16Y.js → array-CEIRxyh3.js} +0 -0
  531. /package/dist/{asciiarmor-DLEhpFDx.js → asciiarmor-C_r6K6db.js} +0 -0
  532. /package/dist/{asn1-CMrcTsT4.js → asn1-DnlnCQTu.js} +0 -0
  533. /package/dist/{asterisk-CqykImq7.js → asterisk-DaVJJDnV.js} +0 -0
  534. /package/dist/{brainfuck-ChPt5yBe.js → brainfuck-CtQoQVkV.js} +0 -0
  535. /package/dist/{clike-CE0fXfM_.js → clike-CIAs0ABt.js} +0 -0
  536. /package/dist/{clojure-QkBEMU-g.js → clojure-C6tKQYjD.js} +0 -0
  537. /package/dist/{cmake-CU1jX7Mo.js → cmake-D-nfcg14.js} +0 -0
  538. /package/dist/{cobol-DMOKzzky.js → cobol-DYTC58p9.js} +0 -0
  539. /package/dist/{coffeescript-DjnjLyfk.js → coffeescript-DctDWA58.js} +0 -0
  540. /package/dist/{colors-DmiH1bIH.js → colors-DR_aHfmQ.js} +0 -0
  541. /package/dist/{common-keywords-D3nPJNQP.js → common-keywords-FBrXPTcz.js} +0 -0
  542. /package/dist/{commonlisp-CYd9iOSe.js → commonlisp-BmvTqU5y.js} +0 -0
  543. /package/dist/{crystal-Dy55yoYG.js → crystal-BPIK2UMa.js} +0 -0
  544. /package/dist/{css-CNU8w3HJ.js → css-CDo_Lwzn.js} +0 -0
  545. /package/dist/{cypher-q47DGzK7.js → cypher-KztbD63v.js} +0 -0
  546. /package/dist/{d-jEkaLvxX.js → d-HXBWOoe9.js} +0 -0
  547. /package/dist/{defaultLocale-DoeErsX2.js → defaultLocale-DMZFeDB8.js} +0 -0
  548. /package/dist/{diff-vb2-unFN.js → diff-B9rWZH0m.js} +0 -0
  549. /package/dist/{dtd-C9kR-bXa.js → dtd-LtAMP5y8.js} +0 -0
  550. /package/dist/{duckdb-keywords-B6HYCMOT.js → duckdb-keywords-CvJhR_Yd.js} +0 -0
  551. /package/dist/{dylan-BLckrK-V.js → dylan-DXMK92pf.js} +0 -0
  552. /package/dist/{ebnf-Cnp3L9jg.js → ebnf-2D4Ctp3y.js} +0 -0
  553. /package/dist/{ecl-CEsf6XVg.js → ecl-Dqq8ser2.js} +0 -0
  554. /package/dist/{eiffel-2KGZNzx6.js → eiffel-ChExWBDx.js} +0 -0
  555. /package/dist/{elm-D2s3K5wF.js → elm-BMBz2xbZ.js} +0 -0
  556. /package/dist/{emotion-is-prop-valid.esm-DdVSF4FD.js → emotion-is-prop-valid.esm-_z-EwK5u.js} +0 -0
  557. /package/dist/{erlang-0PMFOndk.js → erlang-CGSDzg9P.js} +0 -0
  558. /package/dist/{fcl-D9nccAWI.js → fcl-Ccj8Z5Xd.js} +0 -0
  559. /package/dist/{forth-DG89iUsu.js → forth-vTkfR0aY.js} +0 -0
  560. /package/dist/{fortran-ytKsAVvu.js → fortran-CF4LAVFn.js} +0 -0
  561. /package/dist/{gas-Cg2Fm0N2.js → gas-mMFbQ2x4.js} +0 -0
  562. /package/dist/{gherkin-B87FEnZ-.js → gherkin-DLS1q0XM.js} +0 -0
  563. /package/dist/{groovy-Dcs08AWD.js → groovy-Zt6CNPxV.js} +0 -0
  564. /package/dist/{haskell-cwkOuhx6.js → haskell-kVOgzpVy.js} +0 -0
  565. /package/dist/{haxe-DWEo4q10.js → haxe-Bo21F6gc.js} +0 -0
  566. /package/dist/{http-B8jdG64J.js → http-_DVAYWoR.js} +0 -0
  567. /package/dist/{idl-WWQwDcRV.js → idl-B865GSM-.js} +0 -0
  568. /package/dist/{init-DNBbYZd_.js → init-TaqZJsBY.js} +0 -0
  569. /package/dist/{invariant-wRzNXIsJ.js → invariant-hOqqBz8A.js} +0 -0
  570. /package/dist/{javascript-BeR74dxD.js → javascript-CSLuHpxZ.js} +0 -0
  571. /package/dist/{julia-UlvCUYGL.js → julia-BCOLeQif.js} +0 -0
  572. /package/dist/{livescript-GPmFcmYV.js → livescript-DqUzLZFs.js} +0 -0
  573. /package/dist/{lua-DYoT_0zM.js → lua-D0ciLwkO.js} +0 -0
  574. /package/dist/{math-CBNc2Ib0.js → math-CTnb-N1W.js} +0 -0
  575. /package/dist/{mathematica-DSFIQlbG.js → mathematica-DujD1RDf.js} +0 -0
  576. /package/dist/{mbox-ej8lFMdL.js → mbox-8OkSQMDn.js} +0 -0
  577. /package/dist/{mirc-CAdIdvHQ.js → mirc-D47x8yRQ.js} +0 -0
  578. /package/dist/{mllike-CjTB1lHF.js → mllike-Dcfw-g6D.js} +0 -0
  579. /package/dist/{modelica-BB68FYMa.js → modelica-BHtr9gKR.js} +0 -0
  580. /package/dist/{mscgen-BkbzgGGI.js → mscgen-uZedQc_A.js} +0 -0
  581. /package/dist/{mumps-Cu-28E9F.js → mumps-Bc9QS1-K.js} +0 -0
  582. /package/dist/{nginx-C1ofKPst.js → nginx-DasThI7R.js} +0 -0
  583. /package/dist/{ntriples-D9cQiZxZ.js → ntriples-Clpn9Mrg.js} +0 -0
  584. /package/dist/{objects-De59twF-.js → objects-UzwQd5gx.js} +0 -0
  585. /package/dist/{octave-BvtAnPX0.js → octave-DA2esRWi.js} +0 -0
  586. /package/dist/{oz-COaVHk2E.js → oz-D8i-brWx.js} +0 -0
  587. /package/dist/{pascal-BFpqVD2x.js → pascal-Dt1a0CeN.js} +0 -0
  588. /package/dist/{path-DwWbhZFI.js → path-7gr7eZmp.js} +0 -0
  589. /package/dist/{perl-DaiORxHP.js → perl-CXy9EfRp.js} +0 -0
  590. /package/dist/{pig-DFzRhmsF.js → pig-DnXnrjQg.js} +0 -0
  591. /package/dist/{powershell-BG2LQNKN.js → powershell-BYE6u-Qk.js} +0 -0
  592. /package/dist/{properties-CqJJR5QY.js → properties-DlhyusaK.js} +0 -0
  593. /package/dist/{protobuf-WwDYV1yY.js → protobuf-DoMSrsPi.js} +0 -0
  594. /package/dist/{puppet-QNY3w_uN.js → puppet-DGi4idFA.js} +0 -0
  595. /package/dist/{python-4QrQ3Ugi.js → python-CYhALYh0.js} +0 -0
  596. /package/dist/{q-DhwXuxE2.js → q-Cs_qWJkU.js} +0 -0
  597. /package/dist/{r-Df-nkR25.js → r-DWJSQl1c.js} +0 -0
  598. /package/dist/{range-BOiA8qqU.js → range-Bieq5MNc.js} +0 -0
  599. /package/dist/{rpm-Cokue07s.js → rpm-DIip1m0n.js} +0 -0
  600. /package/dist/{ruby-DrYcL3qF.js → ruby-NgZGoa7Q.js} +0 -0
  601. /package/dist/{sas-CoiPirA5.js → sas-DEKzCzM2.js} +0 -0
  602. /package/dist/{scheme-CwFLjzHv.js → scheme-CBrGar2n.js} +0 -0
  603. /package/dist/{semaphore-C8rmHdhj.js → semaphore-P832H4YT.js} +0 -0
  604. /package/dist/{shell-BFV-R24I.js → shell-D7XFPOM_.js} +0 -0
  605. /package/dist/{sieve-CxwXF5T9.js → sieve-BOxOVQ18.js} +0 -0
  606. /package/dist/{simple-mode-DTaJtKPt.js → simple-mode-D-FXBgPn.js} +0 -0
  607. /package/dist/{smalltalk-QivVOCtX.js → smalltalk-DYK-HkUK.js} +0 -0
  608. /package/dist/{solr-BLvysN-c.js → solr-RZ9uTl59.js} +0 -0
  609. /package/dist/{sparql-nKsFk8j7.js → sparql-CU1uk9Py.js} +0 -0
  610. /package/dist/{spreadsheet-BWc8C2FT.js → spreadsheet-BNNUNXA2.js} +0 -0
  611. /package/dist/{sql-CWfUjlV1.js → sql-B4x8IkwU.js} +0 -0
  612. /package/dist/{stex-DtMAhV4-.js → stex-DIvyJfNO.js} +0 -0
  613. /package/dist/{stylus-BLKQAycn.js → stylus-BokZhKWB.js} +0 -0
  614. /package/dist/{swift-CJoKqiKj.js → swift-TlA42tbT.js} +0 -0
  615. /package/dist/{tcl-YTeYFNUc.js → tcl-C-m7N_9k.js} +0 -0
  616. /package/dist/{textile-C6rKQqMQ.js → textile-BWOWG894.js} +0 -0
  617. /package/dist/{tiddlywiki-ZXwTHGNT.js → tiddlywiki-DI0mF2WJ.js} +0 -0
  618. /package/dist/{tiki-C628O_u4.js → tiki-2HU6XLLn.js} +0 -0
  619. /package/dist/{toml-DxlPGbRy.js → toml-GapOS-6U.js} +0 -0
  620. /package/dist/{treemap-DY3NBr79.js → treemap-CQJ0bIDy.js} +0 -0
  621. /package/dist/{troff-DFCfH7Ku.js → troff-ChPXSGgg.js} +0 -0
  622. /package/dist/{ttcn-DAW-ERVP.js → ttcn-CGf_ktUb.js} +0 -0
  623. /package/dist/{ttcn-cfg-CpJ8b7EN.js → ttcn-cfg-E0kw_vEm.js} +0 -0
  624. /package/dist/{turtle-BneV2f8L.js → turtle-DDIYttZr.js} +0 -0
  625. /package/dist/{vb-D973Vxxh.js → vb-DsGz8YA-.js} +0 -0
  626. /package/dist/{vbscript-Dckaq3YO.js → vbscript-BfQcpKZn.js} +0 -0
  627. /package/dist/{velocity-DKty-GUC.js → velocity-BMi53hPb.js} +0 -0
  628. /package/dist/{verilog-aNaK_biA.js → verilog-B_WDxmCB.js} +0 -0
  629. /package/dist/{vhdl-CQuehnQy.js → vhdl-C52-TT0z.js} +0 -0
  630. /package/dist/{webidl-Bhg8vaMr.js → webidl-Cnphjlul.js} +0 -0
  631. /package/dist/{xquery-D2q16GaM.js → xquery-X_kWyOft.js} +0 -0
  632. /package/dist/{yacas-DHGOHnNa.js → yacas-Dpp9zAZ5.js} +0 -0
  633. /package/dist/{z80-BPhTmO22.js → z80-BZLZAthF.js} +0 -0
@@ -1,24 +1,33 @@
1
1
  var _a;
2
- import { s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
3
- import "./chunk-TCCFYFTB-DPWJa9zL.js";
4
- import "./main-B1Jo_8pC.js";
5
- import "./purify.es-EnR5yhgI.js";
6
- import { c as getEdgeId, i as cleanAndMerge } from "./chunk-S3R3BYOJ-BdgLc8AM.js";
7
- import { i as log, r as __name, t as select_default } from "./src-DV3ha_nA.js";
8
- import { B as setAccTitle, C as getDiagramTitle, G as setupGraphViewbox, I as sanitizeText, U as setDiagramTitle, _ as getAccDescription, a as clear, b as getConfig2, d as defaultConfig_default, v as getAccTitle, y as getConfig, z as setAccDescription } from "./chunk-ABZYJK2D-BxBDji1u.js";
9
- import { t as selectSvgElement } from "./chunk-EXTU4WIE-BQPBhApE.js";
10
- import "./dist-DsoKosxi.js";
11
- import { i as registerIconPacks, n as createText, o as unknownIcon, r as getIconSVG } from "./chunk-JA3XYJ7Z-CY4CRbV5.js";
12
- import "./chunk-UMXZTB3W-D1uHz8MN.js";
13
- import "./chunk-4F5CHEZ2-VlodlEGo.js";
14
- import "./chunk-FRFDVMJY-BHBqN-vD.js";
15
- import "./chunk-SJTYNZTY-DnXoKWpW.js";
16
- import "./chunk-PL6DKKU2-CAHKc95s.js";
17
- import "./chunk-TQ3KTPDO-CsDx6v37.js";
18
- import "./chunk-B2363JML-zL3VngtH.js";
19
- import { t as populateCommonDb } from "./chunk-4BX2VUAB-iU5lQTDI.js";
20
- import { t as parse } from "./mermaid-parser.core-DoivvxPd.js";
21
- import { t as cytoscape$1 } from "./cytoscape.esm-Dr8XzXWK.js";
2
+ import { o as __toESM, t as __commonJSMin } from "./chunk-Bfp04NdC.js";
3
+ import "./purify.es-DR5PNXwx.js";
4
+ import { a as cleanAndMerge, l as getEdgeId } from "./chunk-NSK5VX7P-BmmoJBbx.js";
5
+ import { n as log, t as select_default } from "./src-BwVZVGyf.js";
6
+ import { n as __name } from "./chunk-Y2CYZVJY-DX3DSigL.js";
7
+ import { H as setAccDescription, J as setupGraphViewbox, K as setDiagramTitle, U as setAccTitle, a as clear, b as getConfig, f as defaultConfig_default, v as getAccDescription, w as getDiagramTitle, x as getConfig2, y as getAccTitle, z as sanitizeText } from "./chunk-I66GZJ75-9xAsFrdW.js";
8
+ import { t as selectSvgElement } from "./chunk-3NCLNEKW-BPlp8K7N.js";
9
+ import "./dist-HaLHv0k5.js";
10
+ import { i as unknownIcon, r as registerIconPacks, t as getIconSVG } from "./chunk-4I5QYGJK-CYJC3pkC.js";
11
+ import { n as createText } from "./chunk-WRU74C26-DLgw-V0j.js";
12
+ import "./chunk-KEIR6QF5-aP6TmWQ-.js";
13
+ import "./chunk-MOZMSUNE-BQi-ggQx.js";
14
+ import "./chunk-OSBZ3O6U-BcrmpSY_.js";
15
+ import "./chunk-5JV3BV7I-B7tzprBU.js";
16
+ import "./chunk-CYSBUYHQ-Cv-vKQV-.js";
17
+ import "./chunk-BIQX33UG-B-BYk6sM.js";
18
+ import "./chunk-EMLP6XTP-DCtMkXLF.js";
19
+ import "./chunk-YOTPTUD7-C8qfgaz5.js";
20
+ import "./chunk-QBLGF6JB-BACuPUWb.js";
21
+ import "./chunk-5TONJI2A-LRqbgPte.js";
22
+ import "./chunk-5HE753X5-D2jFCVXb.js";
23
+ import "./chunk-U6XO7XAA-I8tCjTeT.js";
24
+ import "./chunk-JG7HCLWE-CZIm6axg.js";
25
+ import "./chunk-CQNSW5MT-DBXDKSOU.js";
26
+ import "./chunk-R7FJI6CG-BYAXJpIb.js";
27
+ import "./chunk-5FCAYU7R-C3cMIeyz.js";
28
+ import { t as populateCommonDb } from "./chunk-JWPE2WC7-C_Daz-Oc.js";
29
+ import { n as parse } from "./mermaid-parser.core-BQzz3_BI.js";
30
+ import { t as cytoscape$1 } from "./cytoscape.esm-BPa26Dup.js";
22
31
  var require_layout_base = /* @__PURE__ */ __commonJSMin(((e, t) => {
23
32
  (function(n, r) {
24
33
  typeof e == "object" && typeof t == "object" ? t.exports = r() : typeof define == "function" && define.amd ? define([], r) : typeof e == "object" ? e.layoutBase = r() : n.layoutBase = r();
@@ -3448,21 +3457,30 @@ var require_layout_base = /* @__PURE__ */ __commonJSMin(((e, t) => {
3448
3457
  return e.type === "service";
3449
3458
  }, "isArchitectureService"), isArchitectureJunction = /* @__PURE__ */ __name(function(e) {
3450
3459
  return e.type === "junction";
3451
- }, "isArchitectureJunction"), edgeData = /* @__PURE__ */ __name((e) => e.data(), "edgeData"), nodeData = /* @__PURE__ */ __name((e) => e.data(), "nodeData"), DEFAULT_ARCHITECTURE_CONFIG = defaultConfig_default.architecture, ArchitectureDB = (_a = class {
3460
+ }, "isArchitectureJunction"), architectureGroupAlignmentKey = /* @__PURE__ */ __name((e, t) => {
3461
+ let [n, r] = [e, t].sort();
3462
+ return `${JSON.stringify(n)}-${JSON.stringify(r)}`;
3463
+ }, "architectureGroupAlignmentKey"), edgeData = /* @__PURE__ */ __name((e) => e.data(), "edgeData"), nodeData = /* @__PURE__ */ __name((e) => e.data(), "nodeData"), DEFAULT_ARCHITECTURE_CONFIG = defaultConfig_default.architecture, ArchitectureDB = (_a = class {
3452
3464
  constructor() {
3453
- this.nodes = {}, this.groups = {}, this.edges = [], this.registeredIds = {}, this.elements = {}, this.setAccTitle = setAccTitle, this.getAccTitle = getAccTitle, this.setDiagramTitle = setDiagramTitle, this.getDiagramTitle = getDiagramTitle, this.getAccDescription = getAccDescription, this.setAccDescription = setAccDescription, this.clear();
3465
+ this.nodes = /* @__PURE__ */ new Map(), this.groups = /* @__PURE__ */ new Map(), this.edges = [], this.layoutHints = [], this.registeredIds = /* @__PURE__ */ new Map(), this.elements = /* @__PURE__ */ new Map(), this.diagramId = "", this.setAccTitle = setAccTitle, this.getAccTitle = getAccTitle, this.setDiagramTitle = setDiagramTitle, this.getDiagramTitle = getDiagramTitle, this.getAccDescription = getAccDescription, this.setAccDescription = setAccDescription, this.clear();
3466
+ }
3467
+ setDiagramId(e) {
3468
+ this.diagramId = e;
3469
+ }
3470
+ getDiagramId() {
3471
+ return this.diagramId;
3454
3472
  }
3455
3473
  clear() {
3456
- this.nodes = {}, this.groups = {}, this.edges = [], this.registeredIds = {}, this.dataStructures = void 0, this.elements = {}, clear();
3474
+ this.nodes = /* @__PURE__ */ new Map(), this.groups = /* @__PURE__ */ new Map(), this.edges = [], this.layoutHints = [], this.registeredIds = /* @__PURE__ */ new Map(), this.dataStructures = void 0, this.elements = /* @__PURE__ */ new Map(), this.diagramId = "", clear();
3457
3475
  }
3458
3476
  addService({ id: e, icon: t, in: n, title: r, iconText: i }) {
3459
- if (this.registeredIds[e] !== void 0) throw Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);
3477
+ if (this.registeredIds.has(e)) throw Error(`The service id [${e}] is already in use by another ${this.registeredIds.get(e)}`);
3460
3478
  if (n !== void 0) {
3461
3479
  if (e === n) throw Error(`The service [${e}] cannot be placed within itself`);
3462
- if (this.registeredIds[n] === void 0) throw Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);
3463
- if (this.registeredIds[n] === "node") throw Error(`The service [${e}]'s parent is not a group`);
3480
+ if (!this.registeredIds.has(n)) throw Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);
3481
+ if (this.registeredIds.get(n) === "node") throw Error(`The service [${e}]'s parent is not a group`);
3464
3482
  }
3465
- this.registeredIds[e] = "node", this.nodes[e] = {
3483
+ this.registeredIds.set(e, "node"), this.nodes.set(e, {
3466
3484
  id: e,
3467
3485
  type: "service",
3468
3486
  icon: t,
@@ -3470,52 +3488,57 @@ var require_layout_base = /* @__PURE__ */ __commonJSMin(((e, t) => {
3470
3488
  title: r,
3471
3489
  edges: [],
3472
3490
  in: n
3473
- };
3491
+ });
3474
3492
  }
3475
3493
  getServices() {
3476
- return Object.values(this.nodes).filter(isArchitectureService);
3494
+ return [...this.nodes.values()].filter(isArchitectureService);
3477
3495
  }
3478
3496
  addJunction({ id: e, in: t }) {
3479
- this.registeredIds[e] = "node", this.nodes[e] = {
3497
+ if (this.registeredIds.has(e)) throw Error(`The junction id [${e}] is already in use by another ${this.registeredIds.get(e)}`);
3498
+ if (t !== void 0) {
3499
+ if (e === t) throw Error(`The junction [${e}] cannot be placed within itself`);
3500
+ if (!this.registeredIds.has(t)) throw Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);
3501
+ if (this.registeredIds.get(t) === "node") throw Error(`The junction [${e}]'s parent is not a group`);
3502
+ }
3503
+ this.registeredIds.set(e, "node"), this.nodes.set(e, {
3480
3504
  id: e,
3481
3505
  type: "junction",
3482
3506
  edges: [],
3483
3507
  in: t
3484
- };
3508
+ });
3485
3509
  }
3486
3510
  getJunctions() {
3487
- return Object.values(this.nodes).filter(isArchitectureJunction);
3511
+ return [...this.nodes.values()].filter(isArchitectureJunction);
3488
3512
  }
3489
3513
  getNodes() {
3490
- return Object.values(this.nodes);
3514
+ return [...this.nodes.values()];
3491
3515
  }
3492
3516
  getNode(e) {
3493
- return this.nodes[e] ?? null;
3517
+ return this.nodes.get(e) ?? null;
3494
3518
  }
3495
3519
  addGroup({ id: e, icon: t, in: n, title: r }) {
3496
- var _a2, _b, _c;
3497
- if (((_a2 = this.registeredIds) == null ? void 0 : _a2[e]) !== void 0) throw Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);
3520
+ if (this.registeredIds.has(e)) throw Error(`The group id [${e}] is already in use by another ${this.registeredIds.get(e)}`);
3498
3521
  if (n !== void 0) {
3499
3522
  if (e === n) throw Error(`The group [${e}] cannot be placed within itself`);
3500
- if (((_b = this.registeredIds) == null ? void 0 : _b[n]) === void 0) throw Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);
3501
- if (((_c = this.registeredIds) == null ? void 0 : _c[n]) === "node") throw Error(`The group [${e}]'s parent is not a group`);
3523
+ if (!this.registeredIds.has(n)) throw Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);
3524
+ if (this.registeredIds.get(n) === "node") throw Error(`The group [${e}]'s parent is not a group`);
3502
3525
  }
3503
- this.registeredIds[e] = "group", this.groups[e] = {
3526
+ this.registeredIds.set(e, "group"), this.groups.set(e, {
3504
3527
  id: e,
3505
3528
  icon: t,
3506
3529
  title: r,
3507
3530
  in: n
3508
- };
3531
+ });
3509
3532
  }
3510
3533
  getGroups() {
3511
- return Object.values(this.groups);
3534
+ return [...this.groups.values()];
3512
3535
  }
3513
3536
  addEdge({ lhsId: e, rhsId: t, lhsDir: n, rhsDir: r, lhsInto: i, rhsInto: a, lhsGroup: o, rhsGroup: s, title: c }) {
3514
3537
  if (!isArchitectureDirection(n)) throw Error(`Invalid direction given for left hand side of edge ${e}--${t}. Expected (L,R,T,B) got ${String(n)}`);
3515
3538
  if (!isArchitectureDirection(r)) throw Error(`Invalid direction given for right hand side of edge ${e}--${t}. Expected (L,R,T,B) got ${String(r)}`);
3516
- if (this.nodes[e] === void 0 && this.groups[e] === void 0) throw Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);
3517
- if (this.nodes[t] === void 0 && this.groups[t] === void 0) throw Error(`The right-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);
3518
- let l = this.nodes[e].in, u = this.nodes[t].in;
3539
+ if (!this.nodes.has(e) && !this.groups.has(e)) throw Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);
3540
+ if (!this.nodes.has(t) && !this.groups.has(t)) throw Error(`The right-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);
3541
+ let l = this.nodes.get(e).in, u = this.nodes.get(t).in;
3519
3542
  if (o && l && u && l == u) throw Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);
3520
3543
  if (s && l && u && l == u) throw Error(`The right-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);
3521
3544
  let d = {
@@ -3529,59 +3552,82 @@ var require_layout_base = /* @__PURE__ */ __commonJSMin(((e, t) => {
3529
3552
  rhsGroup: s,
3530
3553
  title: c
3531
3554
  };
3532
- this.edges.push(d), this.nodes[e] && this.nodes[t] && (this.nodes[e].edges.push(this.edges[this.edges.length - 1]), this.nodes[t].edges.push(this.edges[this.edges.length - 1]));
3555
+ this.edges.push(d);
3556
+ let f = this.nodes.get(e), p = this.nodes.get(t);
3557
+ f && p && (f.edges.push(this.edges[this.edges.length - 1]), p.edges.push(this.edges[this.edges.length - 1]));
3533
3558
  }
3534
3559
  getEdges() {
3535
3560
  return this.edges;
3536
3561
  }
3562
+ addLayoutHint(e) {
3563
+ if (e.members.length < 2) throw Error(`An align directive requires at least two members; got ${e.members.length}`);
3564
+ let t = /* @__PURE__ */ new Set();
3565
+ e.members.forEach((n) => {
3566
+ if (this.registeredIds.get(n) !== "node") throw Error(`align ${e.direction} references [${n}], which is not a service or junction`);
3567
+ if (t.has(n)) throw Error(`align ${e.direction} lists [${n}] more than once`);
3568
+ t.add(n);
3569
+ }), this.layoutHints.push(e);
3570
+ }
3571
+ getLayoutHints() {
3572
+ return this.layoutHints;
3573
+ }
3537
3574
  getDataStructures() {
3575
+ var _a2, _b;
3538
3576
  if (this.dataStructures === void 0) {
3539
- let e = {}, t = Object.entries(this.nodes).reduce((t2, [n2, r2]) => (t2[n2] = r2.edges.reduce((t3, r3) => {
3540
- var _a2, _b;
3541
- let i2 = (_a2 = this.getNode(r3.lhsId)) == null ? void 0 : _a2.in, a = (_b = this.getNode(r3.rhsId)) == null ? void 0 : _b.in;
3542
- if (i2 && a && i2 !== a) {
3543
- let t4 = getArchitectureDirectionAlignment(r3.lhsDir, r3.rhsDir);
3544
- t4 !== "bend" && (e[i2] ?? (e[i2] = {}), e[i2][a] = t4, e[a] ?? (e[a] = {}), e[a][i2] = t4);
3545
- }
3546
- if (r3.lhsId === n2) {
3547
- let e2 = getArchitectureDirectionPair(r3.lhsDir, r3.rhsDir);
3548
- e2 && (t3[e2] = r3.rhsId);
3549
- } else {
3550
- let e2 = getArchitectureDirectionPair(r3.rhsDir, r3.lhsDir);
3551
- e2 && (t3[e2] = r3.lhsId);
3577
+ let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map();
3578
+ for (let [n2, r2] of this.nodes.entries()) {
3579
+ let i2 = /* @__PURE__ */ new Map();
3580
+ for (let t2 of r2.edges) {
3581
+ let r3 = (_a2 = this.getNode(t2.lhsId)) == null ? void 0 : _a2.in, a2 = (_b = this.getNode(t2.rhsId)) == null ? void 0 : _b.in;
3582
+ if (r3 && a2 && r3 !== a2) {
3583
+ let n3 = getArchitectureDirectionAlignment(t2.lhsDir, t2.rhsDir);
3584
+ n3 !== "bend" && e.set(architectureGroupAlignmentKey(r3, a2), n3);
3585
+ }
3586
+ if (t2.lhsId === n2) {
3587
+ let e2 = getArchitectureDirectionPair(t2.lhsDir, t2.rhsDir);
3588
+ e2 && i2.set(e2, t2.rhsId);
3589
+ } else {
3590
+ let e2 = getArchitectureDirectionPair(t2.rhsDir, t2.lhsDir);
3591
+ e2 && i2.set(e2, t2.lhsId);
3592
+ }
3552
3593
  }
3553
- return t3;
3554
- }, {}), t2), {}), n = Object.keys(t)[0], r = { [n]: 1 }, i = Object.keys(t).reduce((e2, t2) => t2 === n ? e2 : {
3555
- ...e2,
3556
- [t2]: 1
3557
- }, {}), o = /* @__PURE__ */ __name((e2) => {
3558
- let n2 = { [e2]: [0, 0] }, a = [e2];
3559
- for (; a.length > 0; ) {
3560
- let e3 = a.shift();
3594
+ t.set(n2, i2);
3595
+ }
3596
+ let n = /* @__PURE__ */ new Set(), r = new Set(t.keys()), i = /* @__PURE__ */ __name((e2) => {
3597
+ let i2 = /* @__PURE__ */ new Map([[e2, [0, 0]]]), a2 = [e2];
3598
+ for (; a2.length > 0; ) {
3599
+ let e3 = a2.shift();
3561
3600
  if (e3) {
3562
- r[e3] = 1, delete i[e3];
3563
- let o2 = t[e3], [s2, c] = n2[e3];
3564
- Object.entries(o2).forEach(([e4, t2]) => {
3565
- r[t2] || (n2[t2] = shiftPositionByArchitectureDirectionPair([s2, c], e4), a.push(t2));
3601
+ n.add(e3), r.delete(e3);
3602
+ let o = t.get(e3);
3603
+ if (!o) throw Error(`BFS error: adjacency list for id ${e3} not found. Please report this as a bug.`);
3604
+ let s = i2.get(e3);
3605
+ if (!s) throw Error(`BFS error: position for id ${e3} not found in spatial map. Please report this as a bug.`);
3606
+ let [c, l] = s;
3607
+ o.forEach((e4, t2) => {
3608
+ n.has(e4) || (i2.set(e4, shiftPositionByArchitectureDirectionPair([c, l], t2)), a2.push(e4));
3566
3609
  });
3567
3610
  }
3568
3611
  }
3569
- return n2;
3570
- }, "BFS"), s = [o(n)];
3571
- for (; Object.keys(i).length > 0; ) s.push(o(Object.keys(i)[0]));
3612
+ return i2;
3613
+ }, "BFS"), a = [];
3614
+ for (; r.size > 0; ) {
3615
+ let e2 = r.values().next().value;
3616
+ a.push(i(e2));
3617
+ }
3572
3618
  this.dataStructures = {
3573
3619
  adjList: t,
3574
- spatialMaps: s,
3620
+ spatialMaps: a,
3575
3621
  groupAlignments: e
3576
3622
  };
3577
3623
  }
3578
3624
  return this.dataStructures;
3579
3625
  }
3580
3626
  setElementForId(e, t) {
3581
- this.elements[e] = t;
3627
+ this.elements.set(e, t);
3582
3628
  }
3583
3629
  getElementById(e) {
3584
- return this.elements[e];
3630
+ return this.elements.get(e);
3585
3631
  }
3586
3632
  getConfig() {
3587
3633
  return cleanAndMerge({
@@ -3593,13 +3639,17 @@ var require_layout_base = /* @__PURE__ */ __commonJSMin(((e, t) => {
3593
3639
  return this.getConfig()[e];
3594
3640
  }
3595
3641
  }, __name(_a, "ArchitectureDB"), _a), populateDb = /* @__PURE__ */ __name((e, t) => {
3642
+ var _a2;
3596
3643
  populateCommonDb(e, t), e.groups.map((e2) => t.addGroup(e2)), e.services.map((e2) => t.addService({
3597
3644
  ...e2,
3598
3645
  type: "service"
3599
3646
  })), e.junctions.map((e2) => t.addJunction({
3600
3647
  ...e2,
3601
3648
  type: "junction"
3602
- })), e.edges.map((e2) => t.addEdge(e2));
3649
+ })), e.edges.map((e2) => t.addEdge(e2)), (_a2 = e.alignments) == null ? void 0 : _a2.map((e2) => t.addLayoutHint({
3650
+ direction: e2.direction,
3651
+ members: [...e2.members]
3652
+ }));
3603
3653
  }, "populateDb"), parser = {
3604
3654
  parser: { yy: void 0 },
3605
3655
  parse: /* @__PURE__ */ __name(async (e) => {
@@ -3641,7 +3691,23 @@ var require_layout_base = /* @__PURE__ */ __commonJSMin(((e, t) => {
3641
3691
  display: -webkit-box;
3642
3692
  -webkit-box-orient: vertical;
3643
3693
  }
3644
- `, "getStyles"), wrapIcon = /* @__PURE__ */ __name((e) => `<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${e}</g>`, "wrapIcon"), architectureIcons = {
3694
+ `, "getStyles");
3695
+ function withSeededRandom(e, t) {
3696
+ if (e === 0) return t();
3697
+ let n = Math.random, r = e >>> 0;
3698
+ Math.random = function() {
3699
+ r = r + 1831565813 >>> 0;
3700
+ let e2 = r;
3701
+ return e2 = Math.imul(e2 ^ e2 >>> 15, e2 | 1), e2 ^= e2 + Math.imul(e2 ^ e2 >>> 7, e2 | 61), ((e2 ^ e2 >>> 14) >>> 0) / 4294967296;
3702
+ };
3703
+ try {
3704
+ return t();
3705
+ } finally {
3706
+ Math.random = n;
3707
+ }
3708
+ }
3709
+ __name(withSeededRandom, "withSeededRandom");
3710
+ var wrapIcon = /* @__PURE__ */ __name((e) => `<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${e}</g>`, "wrapIcon"), architectureIcons = {
3645
3711
  prefix: "mermaid-architecture",
3646
3712
  height: 80,
3647
3713
  width: 80,
@@ -3654,112 +3720,112 @@ var require_layout_base = /* @__PURE__ */ __commonJSMin(((e, t) => {
3654
3720
  unknown: unknownIcon,
3655
3721
  blank: { body: wrapIcon("") }
3656
3722
  }
3657
- }, drawEdges = /* @__PURE__ */ __name(async function(e, t, r) {
3658
- let i = r.getConfigField("padding"), a = r.getConfigField("iconSize"), o = a / 2, s = a / 6, c = s / 2;
3723
+ }, drawEdges = /* @__PURE__ */ __name(async function(e, t, n, i) {
3724
+ let a = n.getConfigField("padding"), o = n.getConfigField("iconSize"), s = o / 2, c = o / 6, l = c / 2;
3659
3725
  await Promise.all(t.edges().map(async (t2) => {
3660
3726
  var _a2, _b;
3661
- let { source: a2, sourceDir: l, sourceArrow: u, sourceGroup: d, target: f, targetDir: p, targetArrow: h, targetGroup: g, label: _ } = edgeData(t2), { x: v, y } = t2[0].sourceEndpoint(), { x: b, y: S } = t2[0].midpoint(), { x: C, y: w } = t2[0].targetEndpoint(), T = i + 4;
3662
- if (d && (isArchitectureDirectionX(l) ? v += l === "L" ? -T : T : y += l === "T" ? -T : T + 18), g && (isArchitectureDirectionX(p) ? C += p === "L" ? -T : T : w += p === "T" ? -T : T + 18), !d && ((_a2 = r.getNode(a2)) == null ? void 0 : _a2.type) === "junction" && (isArchitectureDirectionX(l) ? v += l === "L" ? o : -o : y += l === "T" ? o : -o), !g && ((_b = r.getNode(f)) == null ? void 0 : _b.type) === "junction" && (isArchitectureDirectionX(p) ? C += p === "L" ? o : -o : w += p === "T" ? o : -o), t2[0]._private.rscratch) {
3727
+ let { source: o2, sourceDir: u, sourceArrow: d, sourceGroup: f, target: p, targetDir: m, targetArrow: h, targetGroup: _, label: v } = edgeData(t2), { x: y, y: b } = t2[0].sourceEndpoint(), { x, y: S } = t2[0].midpoint(), { x: w, y: T } = t2[0].targetEndpoint(), E = a + 4;
3728
+ if (f && (isArchitectureDirectionX(u) ? y += u === "L" ? -E : E : b += u === "T" ? -E : E + 18), _ && (isArchitectureDirectionX(m) ? w += m === "L" ? -E : E : T += m === "T" ? -E : E + 18), !f && ((_a2 = n.getNode(o2)) == null ? void 0 : _a2.type) === "junction" && (isArchitectureDirectionX(u) ? y += u === "L" ? s : -s : b += u === "T" ? s : -s), !_ && ((_b = n.getNode(p)) == null ? void 0 : _b.type) === "junction" && (isArchitectureDirectionX(m) ? w += m === "L" ? s : -s : T += m === "T" ? s : -s), t2[0]._private.rscratch) {
3663
3729
  let t3 = e.insert("g");
3664
- if (t3.insert("path").attr("d", `M ${v},${y} L ${b},${S} L${C},${w} `).attr("class", "edge").attr("id", getEdgeId(a2, f, { prefix: "L" })), u) {
3665
- let e2 = isArchitectureDirectionX(l) ? ArchitectureDirectionArrowShift[l](v, s) : v - c, n = isArchitectureDirectionY(l) ? ArchitectureDirectionArrowShift[l](y, s) : y - c;
3666
- t3.insert("polygon").attr("points", ArchitectureDirectionArrow[l](s)).attr("transform", `translate(${e2},${n})`).attr("class", "arrow");
3730
+ if (t3.insert("path").attr("d", `M ${y},${b} L ${x},${S} L${w},${T} `).attr("class", "edge").attr("id", `${i}-${getEdgeId(o2, p, { prefix: "L" })}`), d) {
3731
+ let e2 = isArchitectureDirectionX(u) ? ArchitectureDirectionArrowShift[u](y, c) : y - l, n2 = isArchitectureDirectionY(u) ? ArchitectureDirectionArrowShift[u](b, c) : b - l;
3732
+ t3.insert("polygon").attr("points", ArchitectureDirectionArrow[u](c)).attr("transform", `translate(${e2},${n2})`).attr("class", "arrow");
3667
3733
  }
3668
3734
  if (h) {
3669
- let e2 = isArchitectureDirectionX(p) ? ArchitectureDirectionArrowShift[p](C, s) : C - c, n = isArchitectureDirectionY(p) ? ArchitectureDirectionArrowShift[p](w, s) : w - c;
3670
- t3.insert("polygon").attr("points", ArchitectureDirectionArrow[p](s)).attr("transform", `translate(${e2},${n})`).attr("class", "arrow");
3735
+ let e2 = isArchitectureDirectionX(m) ? ArchitectureDirectionArrowShift[m](w, c) : w - l, n2 = isArchitectureDirectionY(m) ? ArchitectureDirectionArrowShift[m](T, c) : T - l;
3736
+ t3.insert("polygon").attr("points", ArchitectureDirectionArrow[m](c)).attr("transform", `translate(${e2},${n2})`).attr("class", "arrow");
3671
3737
  }
3672
- if (_) {
3673
- let e2 = isArchitectureDirectionXY(l, p) ? "XY" : isArchitectureDirectionX(l) ? "X" : "Y", n = 0;
3674
- n = e2 === "X" ? Math.abs(v - C) : e2 === "Y" ? Math.abs(y - w) / 1.5 : Math.abs(v - C) / 2;
3675
- let r2 = t3.append("g");
3676
- if (await createText(r2, _, {
3738
+ if (v) {
3739
+ let e2 = isArchitectureDirectionXY(u, m) ? "XY" : isArchitectureDirectionX(u) ? "X" : "Y", n2 = 0;
3740
+ n2 = e2 === "X" ? Math.abs(y - w) : e2 === "Y" ? Math.abs(b - T) / 1.5 : Math.abs(y - w) / 2;
3741
+ let r = t3.append("g");
3742
+ if (await createText(r, v, {
3677
3743
  useHtmlLabels: false,
3678
- width: n,
3744
+ width: n2,
3679
3745
  classes: "architecture-service-label"
3680
- }, getConfig2()), r2.attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle"), e2 === "X") r2.attr("transform", "translate(" + b + ", " + S + ")");
3681
- else if (e2 === "Y") r2.attr("transform", "translate(" + b + ", " + S + ") rotate(-90)");
3746
+ }, getConfig2()), r.attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle"), e2 === "X") r.attr("transform", "translate(" + x + ", " + S + ")");
3747
+ else if (e2 === "Y") r.attr("transform", "translate(" + x + ", " + S + ") rotate(-90)");
3682
3748
  else if (e2 === "XY") {
3683
- let e3 = getArchitectureDirectionPair(l, p);
3749
+ let e3 = getArchitectureDirectionPair(u, m);
3684
3750
  if (e3 && isArchitecturePairXY(e3)) {
3685
- let t4 = r2.node().getBoundingClientRect(), [n2, i2] = getArchitectureDirectionXYFactors(e3);
3686
- r2.attr("dominant-baseline", "auto").attr("transform", `rotate(${-1 * n2 * i2 * 45})`);
3687
- let a3 = r2.node().getBoundingClientRect();
3688
- r2.attr("transform", `
3689
- translate(${b}, ${S - t4.height / 2})
3690
- translate(${n2 * a3.width / 2}, ${i2 * a3.height / 2})
3691
- rotate(${-1 * n2 * i2 * 45}, 0, ${t4.height / 2})
3751
+ let t4 = r.node().getBoundingClientRect(), [n3, i2] = getArchitectureDirectionXYFactors(e3);
3752
+ r.attr("dominant-baseline", "auto").attr("transform", `rotate(${-1 * n3 * i2 * 45})`);
3753
+ let a2 = r.node().getBoundingClientRect();
3754
+ r.attr("transform", `
3755
+ translate(${x}, ${S - t4.height / 2})
3756
+ translate(${n3 * a2.width / 2}, ${i2 * a2.height / 2})
3757
+ rotate(${-1 * n3 * i2 * 45}, 0, ${t4.height / 2})
3692
3758
  `);
3693
3759
  }
3694
3760
  }
3695
3761
  }
3696
3762
  }
3697
3763
  }));
3698
- }, "drawEdges"), drawGroups = /* @__PURE__ */ __name(async function(e, t, n) {
3699
- let r = n.getConfigField("padding") * 0.75, i = n.getConfigField("fontSize"), a = n.getConfigField("iconSize") / 2;
3764
+ }, "drawEdges"), drawGroups = /* @__PURE__ */ __name(async function(e, t, n, r) {
3765
+ let i = n.getConfigField("padding") * 0.75, a = n.getConfigField("fontSize"), o = n.getConfigField("iconSize") / 2;
3700
3766
  await Promise.all(t.nodes().map(async (t2) => {
3701
- let o = nodeData(t2);
3702
- if (o.type === "group") {
3703
- let { h: s, w: c, x1: l, y1: u } = t2.boundingBox(), d = e.append("rect");
3704
- d.attr("id", `group-${o.id}`).attr("x", l + a).attr("y", u + a).attr("width", c).attr("height", s).attr("class", "node-bkg");
3705
- let f = e.append("g"), p = l, h = u;
3706
- if (o.icon) {
3707
- let e2 = f.append("g");
3708
- e2.html(`<g>${await getIconSVG(o.icon, {
3709
- height: r,
3710
- width: r,
3767
+ let s = nodeData(t2);
3768
+ if (s.type === "group") {
3769
+ let { h: c, w: l, x1: u, y1: d } = t2.boundingBox(), f = e.append("rect");
3770
+ f.attr("id", `${r}-group-${s.id}`).attr("x", u + o).attr("y", d + o).attr("width", l).attr("height", c).attr("class", "node-bkg");
3771
+ let p = e.append("g"), m = u, h = d;
3772
+ if (s.icon) {
3773
+ let e2 = p.append("g");
3774
+ e2.html(`<g>${await getIconSVG(s.icon, {
3775
+ height: i,
3776
+ width: i,
3711
3777
  fallbackPrefix: architectureIcons.prefix
3712
- })}</g>`), e2.attr("transform", "translate(" + (p + a + 1) + ", " + (h + a + 1) + ")"), p += r, h += i / 2 - 1 - 2;
3778
+ })}</g>`), e2.attr("transform", "translate(" + (m + o + 1) + ", " + (h + o + 1) + ")"), m += i, h += a / 2 - 1 - 2;
3713
3779
  }
3714
- if (o.label) {
3715
- let e2 = f.append("g");
3716
- await createText(e2, o.label, {
3780
+ if (s.label) {
3781
+ let e2 = p.append("g");
3782
+ await createText(e2, s.label, {
3717
3783
  useHtmlLabels: false,
3718
- width: c,
3784
+ width: l,
3719
3785
  classes: "architecture-service-label"
3720
- }, getConfig2()), e2.attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "start").attr("text-anchor", "start"), e2.attr("transform", "translate(" + (p + a + 4) + ", " + (h + a + 2) + ")");
3786
+ }, getConfig2()), e2.attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "start").attr("text-anchor", "start"), e2.attr("transform", "translate(" + (m + o + 4) + ", " + (h + o + 2) + ")");
3721
3787
  }
3722
- n.setElementForId(o.id, d);
3788
+ n.setElementForId(s.id, f);
3723
3789
  }
3724
3790
  }));
3725
- }, "drawGroups"), drawServices = /* @__PURE__ */ __name(async function(e, t, n) {
3726
- let r = getConfig2();
3727
- for (let i of n) {
3728
- let n2 = t.append("g"), a = e.getConfigField("iconSize");
3729
- if (i.title) {
3791
+ }, "drawGroups"), drawServices = /* @__PURE__ */ __name(async function(e, t, n, r) {
3792
+ let i = getConfig2();
3793
+ for (let a of n) {
3794
+ let n2 = t.append("g"), o = e.getConfigField("iconSize");
3795
+ if (a.title) {
3730
3796
  let e2 = n2.append("g");
3731
- await createText(e2, i.title, {
3797
+ await createText(e2, a.title, {
3732
3798
  useHtmlLabels: false,
3733
- width: a * 1.5,
3799
+ width: o * 1.5,
3734
3800
  classes: "architecture-service-label"
3735
- }, r), e2.attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle"), e2.attr("transform", "translate(" + a / 2 + ", " + a + ")");
3801
+ }, i), e2.attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle"), e2.attr("transform", "translate(" + o / 2 + ", " + o + ")");
3736
3802
  }
3737
- let o = n2.append("g");
3738
- if (i.icon) o.html(`<g>${await getIconSVG(i.icon, {
3739
- height: a,
3740
- width: a,
3803
+ let s = n2.append("g");
3804
+ if (a.icon) s.html(`<g>${await getIconSVG(a.icon, {
3805
+ height: o,
3806
+ width: o,
3741
3807
  fallbackPrefix: architectureIcons.prefix
3742
3808
  })}</g>`);
3743
- else if (i.iconText) {
3744
- o.html(`<g>${await getIconSVG("blank", {
3745
- height: a,
3746
- width: a,
3809
+ else if (a.iconText) {
3810
+ s.html(`<g>${await getIconSVG("blank", {
3811
+ height: o,
3812
+ width: o,
3747
3813
  fallbackPrefix: architectureIcons.prefix
3748
3814
  })}</g>`);
3749
- let e2 = o.append("g").append("foreignObject").attr("width", a).attr("height", a).append("div").attr("class", "node-icon-text").attr("style", `height: ${a}px;`).append("div").html(sanitizeText(i.iconText, r)), t2 = parseInt(window.getComputedStyle(e2.node(), null).getPropertyValue("font-size").replace(/\D/g, "")) ?? 16;
3750
- e2.attr("style", `-webkit-line-clamp: ${Math.floor((a - 2) / t2)};`);
3751
- } else o.append("path").attr("class", "node-bkg").attr("id", "node-" + i.id).attr("d", `M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`);
3752
- n2.attr("id", `service-${i.id}`).attr("class", "architecture-service");
3753
- let { width: s, height: c } = n2.node().getBBox();
3754
- i.width = s, i.height = c, e.setElementForId(i.id, n2);
3815
+ let e2 = s.append("g").append("foreignObject").attr("width", o).attr("height", o).append("div").attr("class", "node-icon-text").attr("style", `height: ${o}px;`).append("div").html(sanitizeText(a.iconText, i)), t2 = parseInt(window.getComputedStyle(e2.node(), null).getPropertyValue("font-size").replace(/\D/g, "")) ?? 16;
3816
+ e2.attr("style", `-webkit-line-clamp: ${Math.floor((o - 2) / t2)};`);
3817
+ } else s.append("path").attr("class", "node-bkg").attr("id", `${r}-node-${a.id}`).attr("d", `M0,${o} V5 Q0,0 5,0 H${o - 5} Q${o},0 ${o},5 V${o} Z`);
3818
+ n2.attr("id", `${r}-service-${a.id}`).attr("class", "architecture-service");
3819
+ let { width: c, height: l } = n2.node().getBBox();
3820
+ a.width = c, a.height = l, e.setElementForId(a.id, n2);
3755
3821
  }
3756
3822
  return 0;
3757
- }, "drawServices"), drawJunctions = /* @__PURE__ */ __name(function(e, t, n) {
3823
+ }, "drawServices"), drawJunctions = /* @__PURE__ */ __name(function(e, t, n, r) {
3758
3824
  n.forEach((n2) => {
3759
- let r = t.append("g"), i = e.getConfigField("iconSize");
3760
- r.append("g").append("rect").attr("id", "node-" + n2.id).attr("fill-opacity", "0").attr("width", i).attr("height", i), r.attr("class", "architecture-junction");
3761
- let { width: a, height: o } = r._groups[0][0].getBBox();
3762
- r.width = a, r.height = o, e.setElementForId(n2.id, r);
3825
+ let i = t.append("g"), a = e.getConfigField("iconSize");
3826
+ i.append("g").append("rect").attr("id", `${r}-node-${n2.id}`).attr("fill-opacity", "0").attr("width", a).attr("height", a), i.attr("class", "architecture-junction");
3827
+ let { width: o, height: s } = i._groups[0][0].getBBox();
3828
+ i.width = o, i.height = s, e.setElementForId(n2.id, i);
3763
3829
  });
3764
3830
  }, "drawJunctions");
3765
3831
  registerIconPacks([{
@@ -3847,76 +3913,109 @@ function addEdges(e, t) {
3847
3913
  });
3848
3914
  }
3849
3915
  __name(addEdges, "addEdges");
3850
- function getAlignments(e, t, n) {
3851
- let r = /* @__PURE__ */ __name((e2, t2) => Object.entries(e2).reduce((e3, [r2, i2]) => {
3852
- var _a2;
3853
- let a = 0, o2 = Object.entries(i2);
3854
- if (o2.length === 1) return e3[r2] = o2[0][1], e3;
3855
- for (let i3 = 0; i3 < o2.length - 1; i3++) for (let s = i3 + 1; s < o2.length; s++) {
3856
- let [c, l] = o2[i3], [u, d] = o2[s];
3857
- if (((_a2 = n[c]) == null ? void 0 : _a2[u]) === t2) e3[r2] ?? (e3[r2] = []), e3[r2] = [
3858
- ...e3[r2],
3859
- ...l,
3860
- ...d
3861
- ];
3862
- else if (c === "default" || u === "default") e3[r2] ?? (e3[r2] = []), e3[r2] = [
3863
- ...e3[r2],
3864
- ...l,
3865
- ...d
3866
- ];
3867
- else {
3868
- let t3 = `${r2}-${a++}`;
3869
- e3[t3] = l;
3870
- let n2 = `${r2}-${a++}`;
3871
- e3[n2] = d;
3916
+ function getAlignments(e, t, n, r = []) {
3917
+ let i = /* @__PURE__ */ __name((e2, t2) => {
3918
+ let r2 = /* @__PURE__ */ new Map();
3919
+ for (let [i2, a2] of e2.entries()) {
3920
+ let e3 = `${i2}`, o = 0, s2 = [...a2.entries()];
3921
+ if (s2.length === 1) {
3922
+ r2.set(e3, s2[0][1]);
3923
+ continue;
3924
+ }
3925
+ for (let i3 = 0; i3 < s2.length - 1; i3++) for (let a3 = i3 + 1; a3 < s2.length; a3++) {
3926
+ let [c2, l2] = s2[i3], [u2, d2] = s2[a3];
3927
+ if (n.get(architectureGroupAlignmentKey(c2, u2)) === t2) r2.set(e3, [
3928
+ ...r2.get(e3) ?? [],
3929
+ ...l2,
3930
+ ...d2
3931
+ ]);
3932
+ else if (c2 === "default" || u2 === "default") r2.set(e3, [
3933
+ ...r2.get(e3) ?? [],
3934
+ ...l2,
3935
+ ...d2
3936
+ ]);
3937
+ else {
3938
+ let t3 = `${e3}-${o++}`;
3939
+ r2.set(t3, l2);
3940
+ let n2 = `${e3}-${o++}`;
3941
+ r2.set(n2, d2);
3942
+ }
3872
3943
  }
3873
3944
  }
3874
- return e3;
3875
- }, {}), "flattenAlignments"), [i, o] = t.map((t2) => {
3876
- let n2 = {}, i2 = {};
3877
- return Object.entries(t2).forEach(([t3, [r2, a]]) => {
3878
- var _a2, _b, _c;
3879
- let o2 = ((_a2 = e.getNode(t3)) == null ? void 0 : _a2.in) ?? "default";
3880
- n2[a] ?? (n2[a] = {}), (_b = n2[a])[o2] ?? (_b[o2] = []), n2[a][o2].push(t3), i2[r2] ?? (i2[r2] = {}), (_c = i2[r2])[o2] ?? (_c[o2] = []), i2[r2][o2].push(t3);
3945
+ return r2;
3946
+ }, "flattenAlignments"), [a, s] = t.map((t2) => {
3947
+ let n2 = /* @__PURE__ */ new Map(), r2 = /* @__PURE__ */ new Map();
3948
+ return t2.forEach(([t3, i2], a2) => {
3949
+ var _a2;
3950
+ let o = ((_a2 = e.getNode(a2)) == null ? void 0 : _a2.in) ?? "default", s2 = n2.get(i2) ?? /* @__PURE__ */ new Map();
3951
+ n2.has(i2) || n2.set(i2, s2);
3952
+ let c2 = r2.get(t3) ?? /* @__PURE__ */ new Map();
3953
+ r2.has(t3) || r2.set(t3, c2);
3954
+ for (let e2 of [s2, c2]) {
3955
+ let t4 = e2.get(o) ?? [];
3956
+ e2.has(o) || e2.set(o, t4), t4.push(a2);
3957
+ }
3881
3958
  }), {
3882
- horiz: Object.values(r(n2, "horizontal")).filter((e2) => e2.length > 1),
3883
- vert: Object.values(r(i2, "vertical")).filter((e2) => e2.length > 1)
3959
+ horiz: [...i(n2, "horizontal").values()].filter((e2) => e2.length > 1),
3960
+ vert: [...i(r2, "vertical").values()].filter((e2) => e2.length > 1)
3884
3961
  };
3885
- }).reduce(([e2, t2], { horiz: n2, vert: r2 }) => [[...e2, ...n2], [...t2, ...r2]], [[], []]);
3886
- return {
3887
- horizontal: i,
3888
- vertical: o
3962
+ }).reduce(([e2, t2], { horiz: n2, vert: r2 }) => [[...e2, ...n2], [...t2, ...r2]], [[], []]), c = /* @__PURE__ */ new Set();
3963
+ r.forEach((e2) => e2.members.forEach((e3) => c.add(e3)));
3964
+ let l = /* @__PURE__ */ __name((e2) => e2.filter((e3) => !e3.some((e4) => c.has(e4))), "dropOverlapping"), u = l(a), d = l(s);
3965
+ return r.forEach((e2) => {
3966
+ e2.members.length < 2 || (e2.direction === "row" ? u.push([...e2.members]) : d.push([...e2.members]));
3967
+ }), {
3968
+ horizontal: u,
3969
+ vertical: d
3889
3970
  };
3890
3971
  }
3891
3972
  __name(getAlignments, "getAlignments");
3892
- function getRelativeConstraints(e, t) {
3893
- let n = [], r = /* @__PURE__ */ __name((e2) => `${e2[0]},${e2[1]}`, "posToStr"), i = /* @__PURE__ */ __name((e2) => e2.split(",").map((e3) => parseInt(e3)), "strToPos");
3973
+ function getRelativeConstraints(e, t, n = []) {
3974
+ let r = [], i = t.getConfigField("iconSize"), a = t.getConfigField("idealEdgeLengthMultiplier"), s = a * i, c = /* @__PURE__ */ new Set();
3975
+ n.forEach((e2) => {
3976
+ for (let t2 = 0; t2 < e2.members.length - 1; t2++) {
3977
+ let n2 = e2.members[t2], i2 = e2.members[t2 + 1];
3978
+ c.add(`${n2}|${i2}`), c.add(`${i2}|${n2}`), e2.direction === "row" ? r.push({
3979
+ left: n2,
3980
+ right: i2,
3981
+ gap: s
3982
+ }) : r.push({
3983
+ top: n2,
3984
+ bottom: i2,
3985
+ gap: s
3986
+ });
3987
+ }
3988
+ });
3989
+ let l = /* @__PURE__ */ __name((e2) => `${e2[0]},${e2[1]}`, "posToStr"), u = /* @__PURE__ */ __name((e2) => e2.split(",").map((e3) => parseInt(e3)), "strToPos");
3894
3990
  return e.forEach((e2) => {
3895
- let a = Object.fromEntries(Object.entries(e2).map(([e3, t2]) => [r(t2), e3])), o = [r([0, 0])], s = {}, c = {
3991
+ let t2 = new Map([...e2.entries()].map(([e3, t3]) => [l(t3), e3])), n2 = [l([0, 0])], o = {}, s2 = {
3896
3992
  L: [-1, 0],
3897
3993
  R: [1, 0],
3898
3994
  T: [0, 1],
3899
3995
  B: [0, -1]
3900
3996
  };
3901
- for (; o.length > 0; ) {
3902
- let e3 = o.shift();
3997
+ for (; n2.length > 0; ) {
3998
+ let e3 = n2.shift();
3903
3999
  if (e3) {
3904
- s[e3] = 1;
3905
- let l = a[e3];
3906
- if (l) {
3907
- let u = i(e3);
3908
- Object.entries(c).forEach(([e4, i2]) => {
3909
- let c2 = r([u[0] + i2[0], u[1] + i2[1]]), d = a[c2];
3910
- d && !s[c2] && (o.push(c2), n.push({
3911
- [ArchitectureDirectionName[e4]]: d,
3912
- [ArchitectureDirectionName[getOppositeArchitectureDirection(e4)]]: l,
3913
- gap: 1.5 * t.getConfigField("iconSize")
3914
- }));
4000
+ o[e3] = 1;
4001
+ let d = t2.get(e3);
4002
+ if (d) {
4003
+ let f = u(e3);
4004
+ Object.entries(s2).forEach(([e4, s3]) => {
4005
+ let u2 = l([f[0] + s3[0], f[1] + s3[1]]), p = t2.get(u2);
4006
+ if (p && !o[u2]) {
4007
+ if (n2.push(u2), c.has(`${d}|${p}`)) return;
4008
+ r.push({
4009
+ [ArchitectureDirectionName[e4]]: p,
4010
+ [ArchitectureDirectionName[getOppositeArchitectureDirection(e4)]]: d,
4011
+ gap: a * i
4012
+ });
4013
+ }
3915
4014
  });
3916
4015
  }
3917
4016
  }
3918
4017
  }
3919
- }), n;
4018
+ }), r;
3920
4019
  }
3921
4020
  __name(getRelativeConstraints, "getRelativeConstraints");
3922
4021
  function layoutArchitecture(e, t, n, r, s, { spatialMaps: c, groupAlignments: l }) {
@@ -3928,11 +4027,14 @@ function layoutArchitecture(e, t, n, r, s, { spatialMaps: c, groupAlignments: l
3928
4027
  selector: "edge",
3929
4028
  style: {
3930
4029
  "curve-style": "straight",
3931
- label: "data(label)",
3932
4030
  "source-endpoint": "data(sourceEndpoint)",
3933
4031
  "target-endpoint": "data(targetEndpoint)"
3934
4032
  }
3935
4033
  },
4034
+ {
4035
+ selector: "edge[label]",
4036
+ style: { label: "data(label)" }
4037
+ },
3936
4038
  {
3937
4039
  selector: "edge.segments",
3938
4040
  style: {
@@ -3987,24 +4089,27 @@ function layoutArchitecture(e, t, n, r, s, { spatialMaps: c, groupAlignments: l
3987
4089
  }
3988
4090
  });
3989
4091
  d.remove(), addGroups(n, f), addServices(e, f, s), addJunctions(t, f, s), addEdges(r, f);
3990
- let p = getAlignments(s, c, l), m = getRelativeConstraints(c, s), h = f.layout({
4092
+ let p = s.getLayoutHints(), m = getAlignments(s, c, l, p), h = getRelativeConstraints(c, s, p), g = s.getConfigField("iconSize"), _ = s.getConfigField("idealEdgeLengthMultiplier") * g, v = 0.5 * g, y = s.getConfigField("edgeElasticity"), b = s.getConfigField("seed"), x = f.layout({
3991
4093
  name: "fcose",
3992
4094
  quality: "proof",
4095
+ randomize: s.getConfigField("randomize"),
4096
+ nodeSeparation: s.getConfigField("nodeSeparation"),
4097
+ numIter: s.getConfigField("numIter"),
3993
4098
  styleEnabled: false,
3994
4099
  animate: false,
3995
4100
  nodeDimensionsIncludeLabels: false,
3996
4101
  idealEdgeLength(e2) {
3997
4102
  let [t2, n2] = e2.connectedNodes(), { parent: r2 } = nodeData(t2), { parent: i } = nodeData(n2);
3998
- return r2 === i ? 1.5 * s.getConfigField("iconSize") : 0.5 * s.getConfigField("iconSize");
4103
+ return r2 === i ? _ : v;
3999
4104
  },
4000
4105
  edgeElasticity(e2) {
4001
4106
  let [t2, n2] = e2.connectedNodes(), { parent: r2 } = nodeData(t2), { parent: i } = nodeData(n2);
4002
- return r2 === i ? 0.45 : 1e-3;
4107
+ return r2 === i ? y : 1e-3;
4003
4108
  },
4004
- alignmentConstraint: p,
4005
- relativePlacementConstraint: m
4109
+ alignmentConstraint: m,
4110
+ relativePlacementConstraint: h
4006
4111
  });
4007
- h.one("layoutstop", () => {
4112
+ x.one("layoutstop", () => {
4008
4113
  var _a2;
4009
4114
  function e2(e3, t2, n2, r2) {
4010
4115
  let i, a, { x: o, y: s2 } = e3, { x: c2, y: l2 } = t2;
@@ -4042,8 +4147,14 @@ function layoutArchitecture(e, t, n, r, s, { spatialMaps: c, groupAlignments: l
4042
4147
  t2.style("segment-distances", c2), t2.style("segment-weights", s2);
4043
4148
  }
4044
4149
  }
4045
- f.endBatch(), h.run();
4046
- }), h.run(), f.ready((e2) => {
4150
+ f.endBatch(), withSeededRandom(b, () => x.run());
4151
+ });
4152
+ try {
4153
+ withSeededRandom(b, () => x.run());
4154
+ } catch (e2) {
4155
+ throw e2 instanceof RangeError && e2.message.includes("Invalid array length") ? Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis.") : e2;
4156
+ }
4157
+ f.ready((e2) => {
4047
4158
  log.info("Ready", e2), u(f);
4048
4159
  });
4049
4160
  });
@@ -4055,14 +4166,16 @@ var diagram = {
4055
4166
  return new ArchitectureDB();
4056
4167
  },
4057
4168
  renderer: { draw: /* @__PURE__ */ __name(async (e, t, n, r) => {
4058
- let i = r.db, a = i.getServices(), o = i.getJunctions(), s = i.getGroups(), c = i.getEdges(), u = i.getDataStructures(), d = selectSvgElement(t), f = d.append("g");
4169
+ let i = r.db;
4170
+ i.setDiagramId(t);
4171
+ let a = i.getServices(), o = i.getJunctions(), s = i.getGroups(), l = i.getEdges(), u = i.getDataStructures(), d = selectSvgElement(t), f = d.append("g");
4059
4172
  f.attr("class", "architecture-edges");
4060
4173
  let p = d.append("g");
4061
4174
  p.attr("class", "architecture-services");
4062
4175
  let m = d.append("g");
4063
- m.attr("class", "architecture-groups"), await drawServices(i, p, a), drawJunctions(i, p, o);
4064
- let h = await layoutArchitecture(a, o, s, c, i, u);
4065
- await drawEdges(f, h, i), await drawGroups(m, h, i), positionNodes(i, h), setupGraphViewbox(void 0, d, i.getConfigField("padding"), i.getConfigField("useMaxWidth"));
4176
+ m.attr("class", "architecture-groups"), await drawServices(i, p, a, t), drawJunctions(i, p, o, t);
4177
+ let h = await layoutArchitecture(a, o, s, l, i, u);
4178
+ await drawEdges(f, h, i, t), await drawGroups(m, h, i, t), positionNodes(i, h), setupGraphViewbox(void 0, d, i.getConfigField("padding"), i.getConfigField("useMaxWidth"));
4066
4179
  }, "draw") },
4067
4180
  styles: architectureStyles_default
4068
4181
  };