@bkm016/basalt 0.1.4 → 0.1.6

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 (288) hide show
  1. package/README.md +61 -11
  2. package/{chunk-y648fzx0.js → chunk-0039s4jt.js} +3 -3
  3. package/{chunk-rmj5b73e.js → chunk-053vb71h.js} +1 -1
  4. package/{chunk-whvj83b7.js → chunk-063vbmtp.js} +2 -2
  5. package/{chunk-7tbya5b5.js → chunk-0javrjcm.js} +22 -22
  6. package/{chunk-y7nma9rk.js → chunk-10p3mb40.js} +2 -2
  7. package/{chunk-jk25nt60.js → chunk-39vwrg8n.js} +2 -2
  8. package/chunk-3k627vf2.js +3 -0
  9. package/{chunk-q7t30zz2.js → chunk-6kdgk70p.js} +5 -5
  10. package/{chunk-3x94302m.js → chunk-6ptv4g5e.js} +3 -3
  11. package/chunk-75434aay.js +2 -0
  12. package/{chunk-2zp1mv3q.js → chunk-7hr6zw2m.js} +1 -1
  13. package/{chunk-g2t6t8fk.js → chunk-7jezts2n.js} +2 -2
  14. package/{chunk-y58ygzn9.js → chunk-818nd6s1.js} +3 -3
  15. package/{chunk-k23t7vhs.js → chunk-8gw5bvh3.js} +5 -5
  16. package/{chunk-vv7fp27r.js → chunk-8mezk0cb.js} +2 -2
  17. package/{chunk-zggzfa7j.js → chunk-8saewt61.js} +2 -2
  18. package/{chunk-362g64pd.js → chunk-8wj32837.js} +1 -1
  19. package/{chunk-fjtvjrkg.js → chunk-8wv5t0w6.js} +5 -5
  20. package/{chunk-vk1gxk1t.js → chunk-8x21n7y9.js} +1 -1
  21. package/chunk-a0c989ky.js +2 -0
  22. package/{chunk-4w17tzp5.js → chunk-a5apjjcn.js} +12 -12
  23. package/chunk-a81p46j7.js +2 -0
  24. package/chunk-agsfy9w7.js +2 -0
  25. package/{chunk-fw2bpqmw.js → chunk-arcqjt91.js} +1 -1
  26. package/chunk-bdy4jksd.js +2 -0
  27. package/{chunk-qe0teyn1.js → chunk-benrzwea.js} +1 -1
  28. package/{chunk-0y7ne3d0.js → chunk-bwawt15q.js} +2 -2
  29. package/{chunk-pxsrqrd0.js → chunk-c4qr1f41.js} +2 -2
  30. package/{chunk-981f9dw8.js → chunk-c7rcw9fb.js} +6 -6
  31. package/{chunk-cjc90f84.js → chunk-ca982n62.js} +3 -3
  32. package/chunk-d20p02ny.js +2 -0
  33. package/{chunk-97rzj7f6.js → chunk-d6p2hgxh.js} +1 -1
  34. package/{chunk-k6w6y71k.js → chunk-dnx91jrd.js} +2 -2
  35. package/{chunk-8d46jtbj.js → chunk-dpz4hwqb.js} +2 -2
  36. package/{chunk-aky4tztg.js → chunk-ebpyvs1d.js} +2 -2
  37. package/{chunk-m40gxwq4.js → chunk-ecf896fz.js} +3 -3
  38. package/{chunk-pjyn2s97.js → chunk-ejsneb6f.js} +1 -1
  39. package/{chunk-pbcy6zdt.js → chunk-ey15ye2h.js} +1 -1
  40. package/{chunk-kp22kaez.js → chunk-f156y565.js} +2 -2
  41. package/{chunk-9rmqgc3c.js → chunk-f544p9rh.js} +15 -15
  42. package/chunk-fmq3zwzk.js +2 -0
  43. package/{chunk-em187cy3.js → chunk-fx7f4m3c.js} +2 -2
  44. package/{chunk-r7fpkb49.js → chunk-g0t9c3gv.js} +1 -1
  45. package/{chunk-mvfsxdx6.js → chunk-gv7wqkey.js} +10 -10
  46. package/chunk-hksqjts3.js +3884 -0
  47. package/{chunk-ztsjgssj.js → chunk-j7yvh0ae.js} +1 -1
  48. package/chunk-kns4kv7b.js +3 -0
  49. package/{chunk-nmca5h6m.js → chunk-n85qs7cs.js} +1 -1
  50. package/{chunk-8wc8qdx8.js → chunk-n981vx1t.js} +6 -6
  51. package/{chunk-3ct2tkr8.js → chunk-npez1492.js} +2 -2
  52. package/{chunk-t6zs4kw0.js → chunk-peja51xv.js} +2 -2
  53. package/{chunk-r0scgfwx.js → chunk-pg5nkf1y.js} +2 -2
  54. package/{chunk-7afmgncg.js → chunk-prgm07j4.js} +1 -1
  55. package/{chunk-jwdb0ccj.js → chunk-q9dd6fhj.js} +3 -3
  56. package/{chunk-ykens1hy.js → chunk-r8vvcp6c.js} +1 -1
  57. package/chunk-rfb85nj7.js +2 -0
  58. package/{chunk-ev6yvy5y.js → chunk-rfdt992v.js} +15 -15
  59. package/{chunk-xfvvh1s5.js → chunk-s6dejhfj.js} +1 -1
  60. package/{chunk-xh3vr5vz.js → chunk-s7skpgm2.js} +1 -1
  61. package/chunk-tgfbtehh.js +480 -0
  62. package/{chunk-m8vkwdgr.js → chunk-w67dvqtb.js} +4 -4
  63. package/{chunk-f3xadvab.js → chunk-whj87h4r.js} +2 -2
  64. package/{chunk-2hbfk5xd.js → chunk-wnzvnskb.js} +2 -2
  65. package/{chunk-vexrrw1b.js → chunk-xtq1xpq0.js} +2 -2
  66. package/{chunk-1vd0f74z.js → chunk-y8dkfpmj.js} +5 -5
  67. package/{chunk-shadcb9z.js → chunk-z02sj1je.js} +2 -2
  68. package/{chunk-akr0a8nc.js → chunk-zxkq9m8e.js} +1 -1
  69. package/compiled.js +12 -12
  70. package/package.json +1 -1
  71. package/ui-test-worker.js +32 -32
  72. package/web/{chunk-t4c8xavd.js → chunk-03dmzvaq.js} +7 -7
  73. package/web/{chunk-n8sky2q6.js → chunk-07agqp8h.js} +1 -1
  74. package/web/chunk-0fgaepwm.js +3 -0
  75. package/web/chunk-0gg00f86.js +292 -0
  76. package/web/chunk-0pecj6d7.js +1 -0
  77. package/web/{chunk-ts7zrf5b.js → chunk-0whceqes.js} +2 -2
  78. package/web/chunk-0wt1dgny.js +1 -0
  79. package/web/{chunk-sfg2wkhe.js → chunk-12xxh71x.js} +6 -6
  80. package/web/chunk-1ves7sq5.js +1 -0
  81. package/web/chunk-1yj79b48.js +1 -0
  82. package/web/chunk-296hgy6k.js +370 -0
  83. package/web/{chunk-f4tacm06.js → chunk-2bmq1whf.js} +1 -1
  84. package/web/chunk-2wqxhqr9.js +1 -0
  85. package/web/{chunk-2j4m0bh1.js → chunk-30b33r2w.js} +2 -2
  86. package/web/{chunk-sspfxp5e.js → chunk-30zfw7zg.js} +1 -1
  87. package/web/chunk-39ng8zwx.css +1 -0
  88. package/web/chunk-3de552rg.js +70 -0
  89. package/web/chunk-3nbzj48p.js +36 -0
  90. package/web/{chunk-0z0y25zf.js → chunk-3zebd9fq.js} +3 -3
  91. package/web/chunk-4r1n98zx.js +2 -0
  92. package/web/chunk-59678wmg.js +1 -0
  93. package/web/{chunk-ds7srg4p.js → chunk-5nda24gv.js} +1 -1
  94. package/web/chunk-5v44qv67.js +303 -0
  95. package/web/chunk-5wdk97mk.js +4 -0
  96. package/web/chunk-64rafq66.js +78 -0
  97. package/web/chunk-6bwgdvf6.js +1 -0
  98. package/web/chunk-6kkw9ptc.js +1 -0
  99. package/web/chunk-718mr5gc.js +2 -0
  100. package/web/chunk-7hs57qdr.js +1 -0
  101. package/web/chunk-7kp237t3.js +106 -0
  102. package/web/chunk-86p42kym.js +1 -0
  103. package/web/chunk-8n79cqyd.js +1 -0
  104. package/web/chunk-8r0s8tx7.js +1 -0
  105. package/web/chunk-96v2avmw.js +40 -0
  106. package/web/chunk-9an6wcnr.js +1 -0
  107. package/web/{chunk-5z4jcqct.js → chunk-9c1yt2ex.js} +20 -20
  108. package/web/chunk-9w5tf22s.js +1 -0
  109. package/web/{chunk-pws2seas.js → chunk-a7gtb4kg.js} +19 -19
  110. package/web/chunk-ahztazsg.js +1 -0
  111. package/web/chunk-b985y17w.js +2 -0
  112. package/web/chunk-bz2v64xe.js +1 -0
  113. package/web/{chunk-n1dmrz44.js → chunk-c01176kn.js} +2 -2
  114. package/web/chunk-c3nn0vvc.js +1 -0
  115. package/web/chunk-cb2rxtq9.js +2 -0
  116. package/web/{chunk-b1bgzz66.js → chunk-ck8rr0sr.js} +1 -1
  117. package/web/{chunk-aqfpnhmt.js → chunk-cktmyc13.js} +19 -19
  118. package/web/{chunk-rvrf0f3h.js → chunk-cm92fyr3.js} +2 -2
  119. package/web/chunk-cwtn2kdm.js +1 -0
  120. package/web/chunk-czq1yz51.js +99 -0
  121. package/web/chunk-d22wq71s.js +1 -0
  122. package/web/{chunk-pjkdrgm0.js → chunk-d4z2rgpx.js} +1 -1
  123. package/web/{chunk-hvw3gn2a.js → chunk-d6tbw8br.js} +20 -20
  124. package/web/{chunk-cg3jterp.js → chunk-d9wdsjkk.js} +2 -2
  125. package/web/{chunk-ttg6tbwx.js → chunk-da7m1kva.js} +2 -2
  126. package/web/chunk-dpkyygej.js +1 -0
  127. package/web/{chunk-0b47eyrf.js → chunk-dwajwrpk.js} +1 -1
  128. package/web/chunk-et5ess72.js +1 -0
  129. package/web/chunk-ez8b6neq.js +1 -0
  130. package/web/{chunk-bhsaj6qq.js → chunk-f5txt81n.js} +1 -1
  131. package/web/chunk-fd1kqwe3.js +1 -0
  132. package/web/chunk-fmthkpff.js +1 -0
  133. package/web/chunk-fp48zz2e.js +2 -0
  134. package/web/{chunk-n90cqdvg.js → chunk-fv6vm14n.js} +2 -2
  135. package/web/chunk-fx0n2g22.js +89 -0
  136. package/web/{chunk-9cx1be43.js → chunk-fxs4nb93.js} +16 -16
  137. package/web/chunk-g6k9z8zt.js +1 -0
  138. package/web/{chunk-42e3b9hv.js → chunk-g81h1e6n.js} +19 -19
  139. package/web/{chunk-pz9ps2jm.js → chunk-gsh80797.js} +12 -12
  140. package/web/{chunk-54thej0t.js → chunk-gyp6v7jd.js} +2 -2
  141. package/web/chunk-h0c42zy3.js +1 -0
  142. package/web/{chunk-6m69hczt.js → chunk-h6k1x096.js} +2 -2
  143. package/web/chunk-hs5x78fb.js +1 -0
  144. package/web/{chunk-zx8zec24.js → chunk-ht1dzftc.js} +56 -56
  145. package/web/{chunk-d11v5s7w.js → chunk-hy4m34qp.js} +6 -6
  146. package/web/chunk-hyd5hzpa.js +1 -0
  147. package/web/chunk-hyt1nkaw.js +1 -0
  148. package/web/{chunk-24mfx6w1.js → chunk-j1bw5v1g.js} +2 -2
  149. package/web/chunk-j6a4z530.js +1139 -0
  150. package/web/{chunk-0pbjgdgp.js → chunk-ja7w629n.js} +2 -2
  151. package/web/{chunk-zbj1trar.js → chunk-jam45rqg.js} +2 -2
  152. package/web/chunk-jfvxxp5c.js +1 -0
  153. package/web/{chunk-kmr7r9xj.js → chunk-jve1zc80.js} +2 -2
  154. package/web/chunk-kegv14sg.js +2 -0
  155. package/web/chunk-kw9emsqw.js +1 -0
  156. package/web/{chunk-df5zx17h.js → chunk-kyawkpv2.js} +1 -1
  157. package/web/chunk-m2prjwk3.js +4 -0
  158. package/web/chunk-m9bzz9m0.js +19 -0
  159. package/web/chunk-mqsyzzgt.js +30 -0
  160. package/web/chunk-mz9b5bsa.js +1 -0
  161. package/web/chunk-n1jpg57t.js +169 -0
  162. package/web/{chunk-ybrf9mhz.js → chunk-nyn9tghz.js} +4 -4
  163. package/web/{chunk-1eg9sbbt.js → chunk-nywdeb4m.js} +2 -2
  164. package/web/chunk-prvh9syp.js +324 -0
  165. package/web/chunk-pxkhm40r.js +2 -0
  166. package/web/{chunk-6cnek1xh.js → chunk-q9ekgjh6.js} +1 -1
  167. package/web/{chunk-xzp7jf7e.js → chunk-qcge7d6s.js} +2 -2
  168. package/web/chunk-r3mj50zs.js +1 -0
  169. package/web/{chunk-wnskxerq.js → chunk-rf9dt6bg.js} +5 -5
  170. package/web/{chunk-nvhmq4z5.js → chunk-s2920f21.js} +6 -6
  171. package/web/chunk-sc0ghp25.js +24 -0
  172. package/web/{chunk-ydtrc1ay.js → chunk-sd3cdqcm.js} +2 -2
  173. package/web/{chunk-rykfak98.js → chunk-sf101c23.js} +2 -2
  174. package/web/{chunk-4gavbw65.js → chunk-sy7e4dmq.js} +1 -1
  175. package/web/chunk-t74r2n8h.js +1 -0
  176. package/web/{chunk-0h0vb6gt.js → chunk-t851gdjh.js} +4 -4
  177. package/web/{chunk-a408enpy.js → chunk-t9mvsgt9.js} +1 -1
  178. package/web/chunk-thbqwq6b.js +1 -0
  179. package/web/{chunk-v5cnt7c8.js → chunk-twdy2f67.js} +1 -1
  180. package/web/chunk-v4yqrx5y.js +140 -0
  181. package/web/{chunk-b53bfkys.js → chunk-vf4vkcf9.js} +1 -1
  182. package/web/chunk-vnt34mkb.js +1 -0
  183. package/web/chunk-vtxw9rmr.js +1 -0
  184. package/web/{chunk-92ssjk2y.js → chunk-vw1pbv1x.js} +40 -40
  185. package/web/chunk-x19v2sxv.js +1 -0
  186. package/web/{chunk-3re8y26v.js → chunk-x5s7zr5f.js} +7 -7
  187. package/web/chunk-xc2sq3t5.js +2 -0
  188. package/web/chunk-xce8n339.js +1 -0
  189. package/web/chunk-xtss82z2.js +1 -0
  190. package/web/chunk-xvcfp1zh.js +2 -0
  191. package/web/chunk-y21zy3eh.js +1 -0
  192. package/web/chunk-ya3ghn3n.js +2 -0
  193. package/web/chunk-yd74yxzt.js +8 -0
  194. package/web/{chunk-74j07k8k.js → chunk-z1geewdf.js} +2 -2
  195. package/web/chunk-z4ha8181.js +1 -0
  196. package/web/chunk-z8rarqe6.js +1 -0
  197. package/web/{chunk-kwccs9f6.js → chunk-zp3qrrkb.js} +11 -11
  198. package/web/chunk-zsxw5fj7.js +39 -0
  199. package/web/index.html +1 -1
  200. package/worker.js +1 -1
  201. package/chunk-06hdzq5n.js +0 -2
  202. package/chunk-5dfbezv9.js +0 -2
  203. package/chunk-5x1sankd.js +0 -3753
  204. package/chunk-71h08f4g.js +0 -2
  205. package/chunk-7nzhdrv9.js +0 -2
  206. package/chunk-7q51n619.js +0 -2
  207. package/chunk-9mmz6wt3.js +0 -2
  208. package/chunk-fvn32nzj.js +0 -478
  209. package/chunk-n6e43rvk.js +0 -3
  210. package/chunk-ry0z4ev6.js +0 -2
  211. package/chunk-vkpvcxjr.js +0 -2
  212. package/web/chunk-0rmkpsgp.js +0 -1
  213. package/web/chunk-0s80zw00.js +0 -1
  214. package/web/chunk-0xkyryrq.js +0 -1
  215. package/web/chunk-1gbd61z0.js +0 -2
  216. package/web/chunk-2s0bmrkv.js +0 -39
  217. package/web/chunk-2z1rwr28.js +0 -2
  218. package/web/chunk-344bq59c.js +0 -89
  219. package/web/chunk-3t0211rw.js +0 -1
  220. package/web/chunk-44rmrmcn.js +0 -1
  221. package/web/chunk-4bzqrwr0.js +0 -1139
  222. package/web/chunk-4d3a7xs2.js +0 -1
  223. package/web/chunk-4jmazh6x.js +0 -370
  224. package/web/chunk-4re74xwm.js +0 -140
  225. package/web/chunk-4rm1vy7w.js +0 -1
  226. package/web/chunk-59kqahb3.js +0 -1
  227. package/web/chunk-5qtyq3ce.js +0 -292
  228. package/web/chunk-5z6x2n5h.js +0 -1
  229. package/web/chunk-6beqrmtq.js +0 -1
  230. package/web/chunk-6f5ke0x9.js +0 -1
  231. package/web/chunk-6xaqxcq8.js +0 -1
  232. package/web/chunk-7q6wvv2x.js +0 -1
  233. package/web/chunk-7qsa4p8h.js +0 -1
  234. package/web/chunk-8nja0ygy.js +0 -1
  235. package/web/chunk-8y64fkpz.js +0 -24
  236. package/web/chunk-9ad7v7bm.js +0 -8
  237. package/web/chunk-9dzxv335.js +0 -4
  238. package/web/chunk-9t5dnjaz.js +0 -19
  239. package/web/chunk-a497tykb.js +0 -70
  240. package/web/chunk-b6k9w215.js +0 -2
  241. package/web/chunk-cjfssg3m.js +0 -2
  242. package/web/chunk-cqp1d4p0.js +0 -1
  243. package/web/chunk-dy2gm1fs.js +0 -1
  244. package/web/chunk-e0zre35a.js +0 -1
  245. package/web/chunk-e9twvs9n.js +0 -3
  246. package/web/chunk-f2kgtyfp.js +0 -1
  247. package/web/chunk-f8bn5tzf.js +0 -1
  248. package/web/chunk-f91wzwtk.js +0 -1
  249. package/web/chunk-fdp9bsj7.js +0 -1
  250. package/web/chunk-fh2vj0wv.js +0 -2
  251. package/web/chunk-g1ev11wx.js +0 -1
  252. package/web/chunk-gmzqdm7v.js +0 -1
  253. package/web/chunk-hfaffkrh.js +0 -1
  254. package/web/chunk-j2vt8c8v.js +0 -1
  255. package/web/chunk-ka3q31t1.js +0 -1
  256. package/web/chunk-khxcn8tt.js +0 -106
  257. package/web/chunk-kqqmp1am.js +0 -1
  258. package/web/chunk-m2d1sp30.js +0 -1
  259. package/web/chunk-nbgqbxcy.js +0 -1
  260. package/web/chunk-ncpnpe9w.js +0 -99
  261. package/web/chunk-ne0v8mfb.js +0 -2
  262. package/web/chunk-ngx2cp8x.js +0 -2
  263. package/web/chunk-nxcgf7ec.js +0 -1
  264. package/web/chunk-p0kvmf28.js +0 -2
  265. package/web/chunk-p3k7m5nr.js +0 -1
  266. package/web/chunk-pggaffrh.js +0 -169
  267. package/web/chunk-pxe3vna4.js +0 -1
  268. package/web/chunk-qh15dxav.css +0 -1
  269. package/web/chunk-qpmbxhh6.js +0 -1
  270. package/web/chunk-r0rctnxz.js +0 -1
  271. package/web/chunk-rn3dnqm8.js +0 -1
  272. package/web/chunk-rtf2zzzv.js +0 -1
  273. package/web/chunk-srrfphes.js +0 -1
  274. package/web/chunk-tdr6x2xc.js +0 -1
  275. package/web/chunk-tncvg1nn.js +0 -1
  276. package/web/chunk-vyp0ns1f.js +0 -2
  277. package/web/chunk-wvdehm9y.js +0 -303
  278. package/web/chunk-x7ahcpj7.js +0 -1
  279. package/web/chunk-y38bf0wm.js +0 -1
  280. package/web/chunk-y56aaba5.js +0 -2
  281. package/web/chunk-ye58t45p.js +0 -4
  282. package/web/chunk-yqbnps3a.js +0 -1
  283. package/web/chunk-z1h20s8c.js +0 -78
  284. package/web/chunk-zj4q9jth.js +0 -36
  285. package/web/chunk-zj5k94dk.js +0 -40
  286. package/web/chunk-zqch0sc8.js +0 -30
  287. package/web/install.ps1 +0 -91
  288. package/web/install.sh +0 -177
@@ -1 +0,0 @@
1
- import{ki}from"./chunk-aqfpnhmt.js";export{ki as createPieServices};
@@ -1 +0,0 @@
1
- import{_i}from"./chunk-aqfpnhmt.js";export{_i as createInfoServices};
@@ -1,2 +0,0 @@
1
- import{e}from"./chunk-wvdehm9y.js";function W(c,i){if(c.accDescr)i.setAccDescription?.(c.accDescr);if(c.accTitle)i.setAccTitle?.(c.accTitle);if(c.title)i.setDiagramTitle?.(c.title)}e(W,"populateCommonDb");
2
- export{W};
@@ -1,4 +0,0 @@
1
- import{F,o,g,i,a,v,t,n,_,q,li,bo,Hi,Mr,tr,xo,Yi,_o,Jr,ea,Pn,ci,ui}from"./chunk-4bzqrwr0.js";var z={sealed:"已封存",folded:"已折叠",archived:"已移出"},T=["bg-accent","bg-accent-strong","bg-warning","bg-success"];function M(e,d){if(e.startsWith("recent-"))return"json";let c=d.trimStart();if(!c)return"markdown";if(c.startsWith("{")||c.startsWith("["))return"json";if(/^<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>/.test(c))return"xml";return"markdown"}function P(e){if(!e||e.length>32000)return e;if(!e.trimStart().startsWith("<"))return e;let c=[],m=0,s=(p)=>" ".repeat(p),l=/(<([a-zA-Z_][\w.-]*)(?:\s+[^>]*)?>([^\r\n<]*)<\/\2>)|(<\/[a-zA-Z_][\w.-]*>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?\/>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>)|([^<]+)/g,u;while((u=l.exec(e))!==null){let[,p,,,f,r,x,y]=u;if(p)c.push(`${s(m)}${p.trim()}`);else if(f)m=Math.max(0,m-1),c.push(`${s(m)}${f.trim()}`);else if(x)c.push(`${s(m)}${x.trim()}`),m++;else if(r)c.push(`${s(m)}${r.trim()}`);else if(y){let h=y.trim();if(h)for(let w of h.split(/\r?\n/)){let E=w.trim();if(E)c.push(`${s(m)}${E}`)}}}return c.length>0?c.join(`
2
- `):e}function R(){return n("div",{role:"status","aria-busy":"true","aria-label":"正在加载上下文",className:"space-y-2 animate-pulse",children:[t("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),t("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),t("div",{className:"h-10 rounded-xl border border-line bg-panel/40"})]})}function k(e){let{style:d}=_();return t("p",{className:d("surface.empty"),children:e.children})}function W(e){let{cn:d}=_();if(!e.items.length)return t(k,{children:"新会话还没有上下文。发送第一条消息后,这里会显示构成。"});let c=e.items.reduce((m,s)=>m+s.tokens,0)||1;return n("div",{className:"space-y-2.5",children:[t("div",{className:"flex h-2 overflow-hidden rounded-full bg-raised",children:e.items.map((m,s)=>t("span",{className:d(T[s%T.length],"transition-[width] duration-300 ease-out-quint"),title:`${m.label}:${m.tokens.toLocaleString()} token`,style:{width:`${m.tokens/c*100}%`}},m.id))}),t("div",{className:"space-y-1.5",children:e.items.map((m,s)=>t(K,{item:m,total:c,index:s,color:T[s%T.length]??"bg-accent"},m.id))})]})}function K(e){let{cn:d,Chevron:c,CopyButton:m,Code:s,style:l,useTheme:u}=_();u();let[p,f]=a(!1),r=(e.item.tokens/e.total*100).toFixed(1),x=g(()=>p&&e.item.detail?tr(e.item.detail):"",[p,e.item.detail]),y=g(()=>x?M(e.item.id,x):"markdown",[x,e.item.id]),h=g(()=>{if(!x)return"";return y==="xml"?P(x):x},[x,y]);return n("div",{"data-state":p?"open":"closed",className:l("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":p,onClick:()=>f((w)=>!w),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[t("span",{className:d("size-2 shrink-0 rounded-full",e.color),"aria-hidden":!0}),t("span",{className:"min-w-0 flex-1 truncate font-medium text-ink",children:e.item.label}),e.item.state&&t("span",{className:l("control.badge","text-[10px]"),children:z[e.item.state]}),t("span",{className:"font-mono tabular-nums text-dim",children:e.item.tokens.toLocaleString()}),n("span",{className:"w-10 text-right font-mono text-[11px] tabular-nums text-faint",children:[r,"%"]}),t(c,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),p&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[t("div",{className:"mb-2 h-1 overflow-hidden rounded-full bg-raised",children:t("div",{className:d("h-full",e.color),style:{width:`${r}%`}})}),h?n("div",{className:l("surface.subtle","group/detail relative overflow-hidden rounded-lg bg-panel/70 p-2.5"),children:[t("div",{className:"absolute right-1.5 top-1.5 z-10",children:t(m,{text:e.item.detail,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),t("div",{className:"max-h-80 overflow-y-auto pr-6 text-dim",children:t(s,{code:h,lang:y,className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})})]}):t("p",{className:"py-2 text-center text-xs text-faint",children:"(空)"})]})]})}var I=40,H={accent:"bg-accent/15 text-accent",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-danger/15 text-danger",neutral:"bg-raised text-dim"};function B(e){let{Button:d,CopyButton:c,style:m,useTheme:s}=_();s();let[l,u]=a(I),p=i(null),f=l<e.entries.length;o(()=>{let x=p.current;if(!x||!f||typeof IntersectionObserver>"u")return;let y=new IntersectionObserver((h)=>{if(h.some((w)=>w.isIntersecting))u((w)=>Math.min(e.entries.length,w+I))},{rootMargin:"480px"});return y.observe(x),()=>y.disconnect()},[f,e.entries.length]);let r=g(()=>e.entries.slice(-l).reverse(),[e.entries,l]);if(!e.entries.length)return t(k,{children:"还没有消息。"});return n("div",{className:"space-y-1.5",children:[n("div",{className:m("surface.subtle","flex items-center justify-between px-3 py-1.5 text-xs text-faint"),children:[n("span",{children:["共 ",e.entries.length," 条记录"]}),t(c,{text:()=>e.entries.map((x)=>JSON.stringify(x,null,2)).join(`
3
-
4
- `),size:"icon-xs",label:"复制全部原始 JSON",className:"hover:bg-raised text-faint hover:text-ink"})]}),r.map((x)=>t(V,{entry:x},x.seq)),f&&n("div",{ref:p,className:m("surface.subtle","flex items-center justify-between bg-panel/40 px-3 py-2 text-xs text-faint"),children:[n("span",{children:["已显示 ",r.length," / ",e.entries.length," 条"]}),n("div",{className:"flex items-center gap-1.5",children:[t(d,{size:"sm",variant:"ghost",onClick:()=>u((x)=>Math.min(e.entries.length,x+I)),children:"加载更多"}),t(d,{size:"sm",variant:"ghost",onClick:()=>u(e.entries.length),children:"显示全部"})]})]})]})}var V=F(function(d){let{Chevron:c,CopyButton:m,style:s,useTheme:l}=_();l();let[u,p]=a(!1),f=xo(d.entry),r=g(()=>bo(d.entry.time),[d.entry.time]);return n("div",{"data-state":u?"open":"closed",className:s("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>p((x)=>!x),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[n("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:["#",d.entry.seq]}),t("span",{className:s("control.badge","shrink-0 font-medium text-[10px]",H[f.tone]),children:f.badge}),t("span",{className:"min-w-0 flex-1 truncate text-ink",children:f.title}),f.meta&&t("span",{className:s("control.badge","shrink-0 font-mono text-[10px] text-faint"),children:f.meta}),t("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:r}),t(c,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&t("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2.5 text-xs text-dim",children:n("div",{className:"space-y-2",children:[n("div",{className:"flex items-center justify-between text-[11px] text-faint",children:[n("span",{className:"font-mono",children:[d.entry.type," · #",d.entry.seq]}),t(m,{text:()=>JSON.stringify(d.entry,null,2),size:"icon-xs",label:"复制此条 JSON",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink"})]}),t(X,{entry:d.entry})]})})]})});function X(e){let{Code:d,style:c,useTheme:m}=_();m();let s=e.entry;if(s.type==="user")return n("div",{className:"space-y-2",children:[s.text&&t("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:Mr(s.text)}),s.attachments&&s.attachments.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["附件(",s.attachments.length,")"]}),t("div",{className:"flex flex-wrap gap-1.5",children:s.attachments.map((l,u)=>{let p=l.kind==="image"?Math.floor(l.data.length*0.75):l.data.length;return n("div",{className:c("surface.subtle","inline-flex items-center gap-1.5 px-2 py-1 text-[11px]"),children:[t("span",{className:c("control.badge","text-[10px] text-faint"),children:l.kind==="image"?"图片":l.kind==="path"?"路径":"文本"}),t("span",{className:"max-w-40 truncate font-medium text-ink",children:l.name}),n("span",{className:"font-mono text-[10px] text-faint",children:[l.mimeType," · ",Hi(p)]})]},`${l.name}-${u}`)})})]}),s.notices&&s.notices.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["通知来源(",s.notices.length,")"]}),s.notices.map((l)=>n("div",{className:c("surface.subtle","flex items-center justify-between px-2.5 py-1.5 font-mono text-[11px]"),children:[n("span",{className:"truncate text-ink",children:[l.sourceKind,"/",l.sourceID]}),t("span",{className:"text-faint",children:l.state})]},l.dedupeKey))]})]});if(s.type==="assistant")return n("div",{className:"space-y-2",children:[n("div",{className:"font-mono text-[11px] text-faint",children:["模型:",s.model]}),s.error&&t("div",{className:"rounded-lg border border-danger/30 bg-danger/8 px-2.5 py-2 text-xs text-danger",children:s.error}),s.parts.map((l,u)=>{if(l.type==="thinking")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[t("div",{className:"text-[10.5px] font-medium text-faint",children:"思考"}),t("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs italic leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Mr(l.text)})]},`thinking-${u}`);if(l.type==="text")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[t("div",{className:"text-[10.5px] font-medium text-faint",children:"回复"}),t("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Mr(l.text)})]},`text-${u}`);return n("div",{className:c("surface.subtle","p-2.5 space-y-1.5"),children:[n("div",{className:"flex items-center justify-between gap-2 text-[11px]",children:[n("span",{className:"font-mono font-medium text-ink",children:["工具调用 · ",l.name]}),t("span",{className:"truncate font-mono text-[10px] text-faint",children:l.id})]}),t("div",{className:"max-h-60 overflow-y-auto text-dim",children:t(d,{code:tr(JSON.stringify(l.input,Yi,2)),lang:"json",className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})})]},l.id||`tool-${u}`)})]});if(s.type==="tool_result")return n("div",{className:"space-y-2",children:[n("div",{className:"flex flex-wrap items-center gap-2 font-mono text-[11px] text-faint",children:[t("span",{className:"text-ink",children:s.name}),t("span",{children:"·"}),t("span",{className:"truncate",children:s.callID}),t("span",{className:c("control.badge","ml-auto font-sans text-[10px]",s.isError?"bg-danger/15 text-danger":"text-dim"),children:s.isError?"执行失败":"执行完成"})]}),s.images&&s.images.length>0&&t("div",{className:"flex flex-wrap gap-1.5",children:s.images.map((l,u)=>n("span",{className:c("surface.subtle","px-2 py-1 font-mono text-[10.5px] text-faint"),children:["图片 #",u+1," · ",l.mimeType," · ",Hi(Math.floor(l.data.length*0.75))]},`${l.mimeType}-${u}`))}),li(s.output)?t("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-words [overflow-wrap:anywhere]",s.isError?"text-danger":"text-dim"),children:Mr(s.output)}):t("p",{className:"py-1 text-faint",children:"(无文本输出)"})]});return t("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:_o(s)})}function A(e){let{cn:d,style:c,useTheme:m}=_();if(m(),!e.todos.length)return t(k,{children:"暂无待办。"});return t("ul",{className:"space-y-1.5",children:e.todos.map((s)=>n("li",{className:c("surface.interactive","flex items-start gap-2.5 px-3 py-2 text-xs"),children:[n("span",{className:d("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border transition-colors duration-300",s.status==="completed"&&"border-success bg-success text-panel",s.status==="in_progress"&&"border-accent",s.status==="pending"&&"border-line-strong"),children:[s.status==="completed"&&t(q,{className:"size-2.5 animate-pop",strokeWidth:3.5}),s.status==="in_progress"&&t("span",{className:"size-1.5 animate-pulse rounded-full bg-accent"})]}),t("span",{className:d("min-w-0 flex-1 break-words leading-relaxed [overflow-wrap:anywhere]",s.status==="completed"&&"text-faint line-through decoration-faint/60",s.status==="in_progress"&&"font-medium text-ink",s.status==="pending"&&"text-dim"),children:s.content})]},`${s.status}-${s.content}`))})}function L(e){let{cn:d,style:c,useTheme:m}=_();m();let[s,l]=a("all"),u=g(()=>e.tools.filter((r)=>r.deferred).length,[e.tools]),p=e.tools.length-u,f=g(()=>{if(s==="deferred")return e.tools.filter((r)=>r.deferred);if(s==="active")return e.tools.filter((r)=>!r.deferred);return e.tools},[e.tools,s]);if(!e.tools.length)return t(k,{children:"当前会话没有可用工具。"});return n("div",{className:"space-y-2",children:[u>0&&n("div",{className:"flex items-center gap-1 text-[11px]",children:[n("button",{type:"button",onClick:()=>l("all"),className:d("rounded-lg px-2 py-1 transition-colors",s==="all"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["全部 (",e.tools.length,")"]}),n("button",{type:"button",onClick:()=>l("active"),className:d("rounded-lg px-2 py-1 transition-colors",s==="active"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["常驻 (",p,")"]}),n("button",{type:"button",onClick:()=>l("deferred"),className:d("rounded-lg px-2 py-1 transition-colors",s==="deferred"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["延迟加载 (",u,")"]})]}),t("div",{className:"space-y-1.5",children:f.map((r)=>t(G,{tool:r},`${r.group}-${r.name}`))})]})}function G(e){let{Chevron:d,CopyButton:c,Code:m,style:s,useTheme:l}=_();l();let[u,p]=a(!1),f=g(()=>u?JSON.stringify(e.tool.schema,null,2):"",[u,e.tool.schema]);return n("div",{"data-state":u?"open":"closed",className:s("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>p((r)=>!r),className:"flex w-full items-center justify-between px-3 py-2 text-left text-xs",children:[n("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 truncate font-mono text-ink",children:[t("span",{className:"truncate",children:e.tool.name}),e.tool.group&&t("span",{className:s("control.badge","font-sans text-[10px]"),children:e.tool.group}),e.tool.deferred&&t("span",{className:s("control.badge","font-sans text-[10px]"),children:"延迟加载"})]}),t(d,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[e.tool.deferred&&t("div",{className:s("surface.subtle","mb-2 px-2.5 py-1.5 text-[11px] text-faint"),children:"延迟加载:此工具默认以精简描述挂载,模型通过 toolsearch 取回定义后才向上下文注入完整参数 Schema。"}),e.tool.description&&t("pre",{className:"mb-2 max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:tr(e.tool.description)}),n("div",{className:s("surface.subtle","group/schema relative overflow-hidden rounded-lg p-2.5"),children:[t("div",{className:"absolute right-1.5 top-1.5 z-10",children:t(c,{text:f,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),t("div",{className:"max-h-72 overflow-y-auto pr-6 text-dim",children:t(m,{code:tr(f),lang:"json",className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})})]})]})]})}function Q(){try{let e=localStorage.getItem("basalt.contextSidebar.tab");if(e==="tools"||e==="todos"||e==="raw")return e}catch{}return"breakdown"}function Y(e){let{style:d,useTheme:c}=_();return c(),n("div",{className:d("surface.panel","bg-panel/70 px-3 py-2"),children:[t("div",{className:"text-[10px] font-medium uppercase tracking-wider text-faint",children:e.label}),t("div",{className:"mt-0.5 truncate font-mono text-xs font-semibold tabular-nums text-ink",children:e.value})]})}function Pe(e){let{Button:d,StatusChip:c,Segmented:m,cn:s,style:l,useTheme:u}=_();u();let[p,f]=a(Q),[r,x]=a(()=>Pn.get(e.session.id)),[y,h]=a(!1),[w,E]=a(0),[O,D]=a(!1);o(()=>{let b=setTimeout(()=>D(!0),140);return()=>clearTimeout(b)},[]),o(()=>{let b=Pn.get(e.session.id);if(b)x(b);return ci((C,Z)=>{if(C===e.session.id)x(Z)})},[e.session.id]),o(()=>{let b=new AbortController;return h(!1),e.connection.request(`/api/sessions/${encodeURIComponent(e.session.id)}/context`,{signal:AbortSignal.any([b.signal,AbortSignal.timeout(15000)])}).then((C)=>{if(!b.signal.aborted)ui(e.session.id,C),x(C)},()=>{if(!b.signal.aborted)h(!0)}),()=>b.abort()},[e.connection,e.session.id,e.session.updated,e.entries.length,w]);let N=Jr(r?.items??[],r?.usableWindow,r?.calibratedTokens,r?.lastInputTokens,r?.hasPendingOutput),S=ea(N.percent),j=(b)=>{f(b);try{localStorage.setItem("basalt.contextSidebar.tab",b)}catch{}},U=[{value:"breakdown",label:"构成"},{value:"tools",label:n("span",{className:"inline-flex items-center gap-1",children:["工具",r&&t("span",{className:"text-[10px] text-faint tabular-nums",children:r.tools.length})]})},{value:"todos",label:n("span",{className:"inline-flex items-center gap-1",children:["待办",e.session.todos.length>0&&t("span",{className:"text-[10px] text-faint tabular-nums",children:e.session.todos.length})]})},{value:"raw",label:"原始消息"}],J=n("div",{className:"border-b border-line px-3.5 py-3",children:[n("div",{className:"flex items-start justify-between gap-3",children:[n("div",{children:[t("div",{className:"text-[10.5px] font-medium uppercase tracking-wider text-faint",children:"上下文用量"}),n("div",{className:"mt-0.5 flex items-baseline gap-1.5",children:[t("span",{className:"font-mono text-xl font-semibold tabular-nums text-ink",children:r?N.totalTokens.toLocaleString():"—"}),n("span",{className:"font-mono text-xs text-dim",children:["/ ",r?.usableWindow.toLocaleString()??"—"]})]})]}),t(c,{tone:S==="overflow"||S==="near_limit"?"danger":S==="sealing"?"warning":"success",children:S==="overflow"?"预计超限":S==="near_limit"?"接近上限":S==="sealing"?"接近封存":"正常"})]}),N.percent!==null&&t("meter",{className:"sr-only","aria-label":"可用上下文窗口占比",min:0,max:100,value:Math.min(100,N.percent)}),t("div",{"aria-hidden":!0,className:s("relative mt-2.5 h-2 w-full overflow-hidden rounded-full bg-raised",!r&&"animate-pulse"),children:t("div",{className:"h-full rounded-full bg-accent transition-[width] duration-500 ease-out-quint",style:{width:`${Math.min(100,N.percent??0)}%`}})}),n("div",{className:"mt-2 flex items-center justify-between text-[11px]",children:[t("span",{className:"text-dim",children:N.percent===null?"暂无窗口数据":`${N.percent.toFixed(1)}% 可用窗口`}),n("span",{className:"text-faint",children:["总窗口 ",r?.contextWindow.toLocaleString()??"—"," · 80% 封存 · 97% 折叠"]})]}),r?.usage&&(r.usage.input>0||r.usage.output>0||r.usage.cacheRead>0||r.usage.cacheWrite>0||r.usage.cost>0)&&t("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[["Input",r.usage.input.toLocaleString()],["Output",r.usage.output.toLocaleString()],["Cache",`${r.usage.cacheRead.toLocaleString()} / ${r.usage.cacheWrite.toLocaleString()}`],["平均 TPS",r.usage.tps!==void 0?`${r.usage.tps.toFixed(1)} tok/s`:"—"]].map(([b,C])=>t(Y,{label:b,value:C},b))})]});return n(v,{children:[J,t("div",{className:"border-b border-line px-3 py-2",children:t(m,{value:p,onChange:j,options:U,className:"w-full grid grid-cols-4"})}),n("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:[y&&!r&&n("div",{role:"alert",className:"flex items-center justify-between rounded-xl border border-danger/30 bg-danger/8 px-3 py-2 text-xs text-danger",children:[t("span",{children:"上下文加载失败。"}),t(d,{size:"sm",variant:"ghost",onClick:()=>E((b)=>b+1),children:"重试"})]}),t("div",{children:!O?t(R,{}):n(v,{children:[p==="raw"&&t(B,{entries:e.entries}),p==="todos"&&t(A,{todos:e.session.todos}),p==="breakdown"&&(r?t(W,{items:N.items}):!y?t(R,{}):null),p==="tools"&&(r?t(L,{tools:r.tools??[]}):!y?t(R,{}):null)]})},p)]})]})}export{Pe as ContextSidebar};
@@ -1 +0,0 @@
1
- import{o,ee,i,a,v,t,n,_,Z,te,rt,vt}from"./chunk-4bzqrwr0.js";import{gn}from"./chunk-ngx2cp8x.js";var U=[{id:"exa",name:"Exa",description:"免密钥 · 综合搜索"},{id:"tavily",name:"Tavily",description:"免密钥 · 支持域名筛选"},{id:"parallel",name:"Parallel",description:"免密钥 · 网页搜索"},{id:"firecrawl",name:"Firecrawl",description:"免密钥 · 网页内容"},{id:"tinyfish",name:"TinyFish",description:"免密钥 · 搜索摘要"},{id:"searxng",name:"SearXNG",description:"免密钥 · 需自建服务"},{id:"brave",name:"Brave",description:"需密钥 · 独立搜索引擎"}];function R(e){return{enabled:e.search.provider!=="off",provider:e.search.provider==="off"?"auto":e.search.provider,searxngUrl:e.search.searxngUrl??"",proxy:e.proxy??"",acceptLanguage:e.acceptLanguage??""}}function A(e,d){return{search:{provider:e.enabled?e.provider:"off",searxngUrl:e.searxngUrl},keys:{...d},proxy:e.proxy,acceptLanguage:e.acceptLanguage}}function z(e,d,x){let g=R(e);if(d.enabled!==g.enabled)return!0;if(d.enabled&&d.provider!==g.provider)return!0;return d.searxngUrl!==g.searxngUrl||d.proxy!==g.proxy||d.acceptLanguage!==g.acceptLanguage||Object.keys(x).length>0}function B({notice:e}){let{cn:d}=_();if(!e)return null;let x=e.type==="success"?gn:Z;return n("div",{role:e.type==="error"?"alert":"status",className:d("flex items-start gap-2 text-xs",e.type==="success"?"text-success":"text-danger"),children:[t(x,{className:"mt-0.5 size-4 shrink-0","aria-hidden":"true"}),t("span",{className:"min-w-0 break-words",children:e.text})]})}function F(e){let{Button:d,Input:x,Switch:g,Select:W,StatusChip:p,SettingGroup:h,SettingRow:C,cn:w}=_(),f=ee(),c=e.busy!==void 0;return n("form",{className:"min-w-0 space-y-6",onSubmit:async(s)=>{s.preventDefault(),await e.onSave()},children:[n(h,{title:"联网搜索",children:[t(C,{title:"启用搜索",description:"查询会发送至所选搜索服务。",children:n("div",{className:"flex items-center gap-3",children:[t("span",{className:"text-xs text-dim",children:e.draft.enabled?"已开启":"已关闭"}),t(g,{label:"启用联网搜索",disabled:c,checked:e.draft.enabled,onCheckedChange:(s)=>e.onDraft({...e.draft,enabled:s})})]})}),n("div",{className:"space-y-4 p-4",children:[n("div",{children:[t("label",{htmlFor:`${f}-provider`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"搜索渠道"}),t(W,{id:`${f}-provider`,value:e.draft.provider,disabled:c||!e.draft.enabled,className:"min-w-0",groups:[{options:[{value:"auto",label:"自动",description:"失败时依次切换渠道"},...U.map((s)=>({value:s.id,label:s.name}))]}],onValueChange:(s)=>{let r=s==="auto"?s:U.find((k)=>k.id===s)?.id;if(r)e.onDraft({...e.draft,provider:r})}}),t("p",{className:"mt-1.5 text-xs leading-5 text-faint",children:"自动:Exa → Tavily → Parallel → Firecrawl → TinyFish"})]}),(e.draft.provider==="searxng"||e.draft.searxngUrl)&&n("div",{children:[t("label",{htmlFor:`${f}-searxng`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"自建 SearXNG 地址"}),t(x,{id:`${f}-searxng`,type:"url",maxLength:2000,disabled:c||!e.draft.enabled,value:e.draft.searxngUrl,placeholder:"https://search.example.com",onChange:(s)=>e.onDraft({...e.draft,searxngUrl:s.target.value})})]})]})]}),t(h,{title:"渠道与密钥",description:"检测使用已保存配置,按下列顺序执行。",action:n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:async()=>await e.onCheck("all"),children:[t(te,{className:w("size-3.5",e.checking==="all"&&"animate-spin"),"aria-hidden":"true"}),e.checking==="all"?"正在检测…":"检测全部渠道"]}),children:U.map((s)=>{let r=s.id,k=r==="searxng"?void 0:e.saved.keys[r],N=k?.source==="environment",D=r==="searxng"?void 0:e.keys[r],K=D==="",y=e.checks[r],m=e.checking==="all"||e.checking===r,S=k?.configured?"已配置密钥":"未配置";if(r==="searxng")S=e.saved.search.searxngUrl?"已配置地址":"未配置地址";if(N)S="来自环境变量";if(K)S="待移除";if(D)S="待保存密钥";return n("div",{className:"min-w-0 p-4",children:[n("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[n("div",{className:"min-w-0 flex-1 basis-28",children:[t("div",{className:"text-sm font-medium text-ink",children:s.name}),t("p",{className:"mt-0.5 text-xs text-faint",children:s.description})]}),n("div",{className:"flex max-w-full flex-wrap items-center justify-end gap-2",children:[t(p,{tone:D!==void 0?"warning":"neutral",children:S}),y&&!m&&t(p,{tone:y.ok?"success":"danger",children:y.ok?`可用 ${y.elapsedMs} ms`:"不可用"}),m&&t(p,{tone:"neutral",pulse:!0,children:"检测中"}),r!=="searxng"&&!N&&n(v,{children:[t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`${k?.configured?"更换":"设置"} ${s.name} 密钥`,"aria-expanded":e.editingKey===r,"aria-controls":`${f}-${r}-key-editor`,onClick:()=>e.onEditKey(e.editingKey===r?void 0:r),children:k?.configured?"更换":"设置密钥"}),k?.configured&&!K&&t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`移除 ${s.name} 密钥`,onClick:()=>{e.onKeys({...e.keys,[r]:""}),e.onEditKey(void 0)},children:"移除"})]}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`检测 ${s.name}`,onClick:async()=>await e.onCheck(r),children:"检测"})]})]}),N&&t("p",{className:"mt-1 text-xs text-faint",children:"请在服务端环境变量中更换或移除。"}),r!=="searxng"&&e.editingKey===r&&n("div",{id:`${f}-${r}-key-editor`,className:"mt-3 space-y-2",children:[n("label",{htmlFor:`${f}-${r}-key`,className:"block text-xs font-medium text-dim",children:[s.name," API 密钥"]}),t(x,{id:`${f}-${r}-key`,type:"password",autoComplete:"new-password",maxLength:4000,disabled:c,value:e.keys[r]??"",placeholder:"输入新密钥,保存后生效",onChange:(P)=>{let b={...e.keys};if(P.target.value.trim())b[r]=P.target.value;else delete b[r];e.onKeys(b)}}),n("div",{className:"flex items-center justify-between gap-2",children:[t("p",{className:"min-w-0 text-xs text-faint",children:"密钥只写入,不回显。"}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:()=>{let P={...e.keys};delete P[r],e.onKeys(P),e.onEditKey(void 0)},children:"取消"})]})]}),y&&!y.ok&&!m&&t("p",{role:"status",className:"mt-2 break-words text-xs leading-5 text-danger",children:y.error??(y.kind==="search"?y.meta?.failed[0]?.error:y.meta?.error)??"检测失败,请检查配置。"})]},r)})}),n(h,{title:"网络",children:[n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-proxy`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"代理 URL"}),t(x,{id:`${f}-proxy`,type:"url",maxLength:2000,disabled:c,value:e.draft.proxy,placeholder:"http://127.0.0.1:7890",onChange:(s)=>e.onDraft({...e.draft,proxy:s.target.value})}),t("p",{className:"mt-1.5 text-xs text-faint",children:"留空使用服务端环境代理。"})]}),n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-language`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"Accept-Language"}),t(x,{id:`${f}-language`,maxLength:200,disabled:c,value:e.draft.acceptLanguage,placeholder:"en-US,en;q=0.9",onChange:(s)=>e.onDraft({...e.draft,acceptLanguage:s.target.value})})]})]}),n("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3 px-0.5",children:[t("div",{className:"min-w-0 flex-1",children:t(B,{notice:e.notice})}),n("div",{className:"flex flex-wrap items-center gap-2",children:[e.dirty&&n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:e.onRestore,children:[t(rt,{className:"size-3.5","aria-hidden":"true"}),"重置"]}),n(d,{type:"submit",size:"sm",variant:"primary",disabled:c||!e.dirty,children:[t(vt,{className:"size-3.5","aria-hidden":"true"}),e.busy==="save"?"保存中…":"保存"]}),e.onClose&&t(d,{type:"button",size:"sm",variant:"secondary",onClick:e.onClose,children:"关闭"})]})]})]})}function q({connection:e,onClose:d}){let{Button:x}=_(),[g,W]=a(),[p,h]=a(),[C,w]=a({}),[f,c]=a(),[s,r]=a("load"),[k,N]=a(),[D,K]=a({}),[y,m]=a(),[S,P]=a(0),b=i(void 0);o(()=>{let l=new AbortController;return b.current=l,r("load"),m(void 0),W(void 0),h(void 0),w({}),c(void 0),K({}),e.request("/api/plugins/webfetch/settings",{signal:l.signal,cache:S>0?"reload":"default"}).then((u)=>{if(l.signal.aborted)return;W(u),h(R(u))}).catch((u)=>{if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"加载设置失败,请重试。"})}).finally(()=>{if(!l.signal.aborted)b.current=void 0,r(void 0)}),()=>{l.abort(),b.current?.abort(),b.current=void 0}},[e,S]);async function G(){if(b.current||!g||!p||!z(g,p,C))return;let l=new AbortController;b.current=l,r("save"),m(void 0);try{let u=await e.request("/api/plugins/webfetch/settings",{method:"PATCH",signal:l.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify(A(p,C))});if(l.signal.aborted)return;W(u),h(R(u)),w({}),c(void 0),K({}),m({type:"success",text:"设置已保存。"})}catch(u){if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"保存失败,请重试。"})}finally{if(!l.signal.aborted)b.current=void 0,r(void 0)}}async function I(l){if(b.current||!g)return;let u=new AbortController;b.current=u,r("test"),N(l),m(void 0);try{let L=await e.request(`/api/plugins/webfetch/test?provider=${l}`,{method:"POST",signal:u.signal});if(u.signal.aborted)return;K((j)=>{let T={...j};for(let E of L.checks)if(E.kind==="search"&&E.provider)T[E.provider]=E;return T})}catch(L){if(!u.signal.aborted)m({type:"error",text:L instanceof Error?L.message:"检测失败,请重试。"})}finally{if(!u.signal.aborted)b.current=void 0,r(void 0),N(void 0)}}if(!g||!p)return n("div",{className:"min-w-0 space-y-3",children:[s==="load"&&t("p",{role:"status",className:"text-sm text-dim",children:"正在加载设置…"}),t(B,{notice:y}),d&&t(x,{type:"button",size:"sm",variant:"secondary",onClick:d,children:"关闭"}),s!=="load"&&t(x,{type:"button",size:"sm",variant:"ghost",onClick:()=>P(S+1),children:"重新加载"})]});return t(F,{saved:g,draft:p,keys:C,editingKey:f,dirty:z(g,p,C),busy:s==="load"?void 0:s,checking:k,checks:D,notice:y,onDraft:(l)=>{h(l),m(void 0)},onKeys:(l)=>{w(l),m(void 0)},onEditKey:c,onClose:d,onSave:G,onCheck:I,onRestore:()=>{h(R(g)),w({}),c(void 0),m(void 0)}})}export{F as SettingsForm,q as default};
@@ -1,78 +0,0 @@
1
- import{W}from"./chunk-y56aaba5.js";import{e,r,we,b,B,C,S,E,T,A,I,L,s,V,U}from"./chunk-wvdehm9y.js";import{X}from"./chunk-aqfpnhmt.js";var ot=e((a,d)=>{let n=a<=1?a*100:a;if(n<0||n>100)throw Error(`${d} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return n},"toPercent"),j=e((a,d,n)=>({x:ot(d,`${n} evolution`),y:ot(a,`${n} visibility`)}),"toCoordinates"),pt=e((a)=>{if(!a)return;if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward";return},"getFlowFromPort"),Bt=e((a)=>{if(!a?.startsWith("+"))return{};let n=/^\+'([^']*)'/.exec(a)?.[1];if(a.includes("<>"))return{flow:"bidirectional",label:n};if(a.includes("<"))return{flow:"backward",label:n};if(a.includes(">"))return{flow:"forward",label:n};return{label:n}},"extractFlowFromArrow"),Ft=e((a,d)=>{if(W(a,d),a.size)d.setSize(a.size.width,a.size.height);if(a.evolution){let n=a.evolution.stages.map((o)=>{if(o.secondName)return`${o.name.trim()} / ${o.secondName.trim()}`;return o.name.trim()}),y=a.evolution.stages.filter((o)=>o.boundary!==void 0).map((o)=>o.boundary);d.updateAxes({stages:n,stageBoundaries:y})}if(a.anchors.forEach((n)=>{let y=j(n.visibility,n.evolution,`Anchor "${n.name}"`);d.addNode(n.name,n.name,y.x,y.y,"anchor")}),a.components.forEach((n)=>{let y=j(n.visibility,n.evolution,`Component "${n.name}"`),o=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,p=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,k=n.decorator?.strategy;d.addNode(n.name,n.name,y.x,y.y,"component",o,p,n.inertia,k)}),a.notes.forEach((n)=>{let y=j(n.visibility,n.evolution,`Note "${n.text}"`);d.addNote(n.text,y.x,y.y)}),a.pipelines.forEach((n)=>{let y=d.getNode(n.parent);if(!y||typeof y.y!=="number")throw Error(`Pipeline "${n.parent}" must reference an existing component with coordinates.`);let o=y.y;d.startPipeline(n.parent),n.components.forEach((p)=>{let k=`${n.parent}_${p.name}`,Y=p.label?(p.label.negX?-1:1)*p.label.offsetX:void 0,w=p.label?(p.label.negY?-1:1)*p.label.offsetY:void 0,tt=ot(p.evolution,`Pipeline component "${p.name}" evolution`);d.addNode(k,p.name,tt,o,"pipeline-component",Y,w),d.addPipelineComponent(n.parent,k)})}),a.links.forEach((n)=>{let y=!!n.arrow&&(n.arrow.includes("-.->")||n.arrow.includes(".-.")),o=pt(n.fromPort)??pt(n.toPort),{flow:p,label:k}=Bt(n.arrow);if(!o&&p)o=p;let Y=n.linkLabel,w=k??Y;d.addLink(d.resolveNodeId(n.from),d.resolveNodeId(n.to),y,w,o)}),a.evolves.forEach((n)=>{let y=d.getNode(n.component);if(y?.y!==void 0){let o=ot(n.target,`Evolve target for "${n.component}"`);d.addTrend(n.component,o,y.y)}}),a.annotations.length>0){let n=a.annotations[0],y=j(n.x,n.y,"Annotations box");d.setAnnotationsBox(y.x,y.y)}a.annotation.forEach((n)=>{let y=j(n.x,n.y,`Annotation ${n.number}`);d.addAnnotation(n.number,[{x:y.x,y:y.y}],n.text)}),a.accelerators.forEach((n)=>{let y=j(n.x,n.y,`Accelerator "${n.name}"`);d.addAccelerator(n.name,y.x,y.y)}),a.deaccelerators.forEach((n)=>{let y=j(n.x,n.y,`Deaccelerator "${n.name}"`);d.addDeaccelerator(n.name,y.x,y.y)})},"populateDb"),ht={parser:{yy:void 0},parse:e(async(a)=>{let d=await X("wardley",a);r.debug(d);let n=ht.parser?.yy;if(!n||typeof n.addNode!=="function")throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ft(d,n)},"parse")},Rt=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{e(this,"WardleyBuilder")}addNode(a){let d=this.nodes.get(a.id)??{id:a.id,label:a.label},n={...d,...a,className:a.className??d.className,labelOffsetX:a.labelOffsetX??d.labelOffsetX,labelOffsetY:a.labelOffsetY??d.labelOffsetY};this.nodes.set(a.id,n)}addLink(a){this.links.push(a)}addTrend(a){this.trends.set(a.nodeId,a)}startPipeline(a){this.pipelines.set(a,{nodeId:a,componentIds:[]});let d=this.nodes.get(a);if(d)d.isPipelineParent=!0}addPipelineComponent(a,d){let n=this.pipelines.get(a);if(n)n.componentIds.push(d);let y=this.nodes.get(d);if(y)y.inPipeline=!0}addAnnotation(a){this.annotations.push(a)}addNote(a){this.notes.push(a)}addAccelerator(a){this.accelerators.push(a)}addDeaccelerator(a){this.deaccelerators.push(a)}setAnnotationsBox(a,d){this.annotationsBox={x:a,y:d}}setAxes(a){this.axes={...this.axes,...a}}setSize(a,d){this.size={width:a,height:d}}getNode(a){return this.nodes.get(a)}resolveNodeId(a){if(this.nodes.has(a))return a;for(let[d,n]of this.nodes)if(n.label===a)return d;return a}build(){let a=[];for(let d of this.nodes.values()){if(typeof d.x!=="number"||typeof d.y!=="number")throw Error(`Node "${d.label}" is missing coordinates`);a.push(d)}return{nodes:a,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},P=new Rt;function ft(){return s()["wardley-beta"]}e(ft,"getConfig");function xt(a,d,n,y,o,p,k,Y,w){P.addNode({id:a,label:d,x:n,y,className:o,labelOffsetX:p,labelOffsetY:k,inertia:Y,sourceStrategy:w})}e(xt,"addNode");function gt(a,d,n=!1,y,o){P.addLink({source:a,target:d,dashed:n,label:y,flow:o})}e(gt,"addLink");function yt(a,d,n){P.addTrend({nodeId:a,targetX:d,targetY:n})}e(yt,"addTrend");function ut(a,d,n){P.addAnnotation({number:a,coordinates:d,text:n})}e(ut,"addAnnotation");function wt(a,d,n){P.addNote({text:a,x:d,y:n})}e(wt,"addNote");function mt(a,d,n){P.addAccelerator({name:a,x:d,y:n})}e(mt,"addAccelerator");function kt(a,d,n){P.addDeaccelerator({name:a,x:d,y:n})}e(kt,"addDeaccelerator");function bt(a,d){P.setAnnotationsBox(a,d)}e(bt,"setAnnotationsBox");function $t(a,d){P.setSize(a,d)}e($t,"setSize");function vt(a){P.startPipeline(a)}e(vt,"startPipeline");function Pt(a,d){P.addPipelineComponent(a,d)}e(Pt,"addPipelineComponent");function Ct(a){P.setAxes(a)}e(Ct,"updateAxes");function St(a){return P.getNode(a)}e(St,"getNode");function Mt(a){return P.resolveNodeId(a)}e(Mt,"resolveNodeId");function Nt(){return P.build()}e(Nt,"getWardleyData");function zt(){P.clear(),C()}e(zt,"clear");var Ot={getConfig:ft,addNode:xt,addLink:gt,addTrend:yt,addAnnotation:ut,addNote:wt,addAccelerator:mt,addDeaccelerator:kt,setAnnotationsBox:bt,setSize:$t,startPipeline:vt,addPipelineComponent:Pt,updateAxes:Ct,getNode:St,resolveNodeId:Mt,getWardleyData:Nt,clear:zt,setAccTitle:S,getAccTitle:E,setDiagramTitle:I,getDiagramTitle:L,getAccDescription:A,setAccDescription:T},Dt=["Genesis","Custom Built","Product","Commodity"],Gt=e(()=>{let{themeVariables:a}=s();return{backgroundColor:a.wardley?.backgroundColor??a.background??"#fff",axisColor:a.wardley?.axisColor??"#000",axisTextColor:a.wardley?.axisTextColor??a.primaryTextColor??"#222",gridColor:a.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:a.wardley?.componentFill??"#fff",componentStroke:a.wardley?.componentStroke??"#000",componentLabelColor:a.wardley?.componentLabelColor??a.primaryTextColor??"#222",linkStroke:a.wardley?.linkStroke??"#000",evolutionStroke:a.wardley?.evolutionStroke??"#dc3545",annotationStroke:a.wardley?.annotationStroke??"#000",annotationTextColor:a.wardley?.annotationTextColor??a.primaryTextColor??"#222",annotationFill:a.wardley?.annotationFill??a.background??"#fff"}},"getTheme"),qt=e(()=>{let a=s()["wardley-beta"];return{width:a?.width??900,height:a?.height??600,padding:a?.padding??48,nodeRadius:a?.nodeRadius??6,nodeLabelOffset:a?.nodeLabelOffset??8,axisFontSize:a?.axisFontSize??12,labelFontSize:a?.labelFontSize??10,showGrid:a?.showGrid??!1,useMaxWidth:a?.useMaxWidth??!0}},"getConfigValues"),jt=e((a,d,n,y)=>{r.debug(`Rendering Wardley map
2
- `+a);let o=qt(),p=Gt(),k=o.nodeRadius*1.6,Y=y.db,w=Y.getWardleyData(),tt=Y.getDiagramTitle(),F=w.size?.width??o.width,M=w.size?.height??o.height,Z=V(d);Z.selectAll("*").remove(),B(Z,M,F,o.useMaxWidth),Z.attr("viewBox",`0 0 ${F} ${M}`);let z=Z.append("g").attr("class","wardley-map"),nt=Z.append("defs");nt.append("marker").attr("id",`arrow-${d}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.evolutionStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-end-${d}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.linkStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-start-${d}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",p.linkStroke).attr("stroke","none"),z.append("rect").attr("class","wardley-background").attr("width",F).attr("height",M).attr("fill",p.backgroundColor);let J=F-o.padding*2,K=M-o.padding*2;if(tt)z.append("text").attr("class","wardley-title").attr("x",F/2).attr("y",o.padding/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(tt);let D=e((t)=>o.padding+t/100*J,"projectX"),G=e((t)=>M-o.padding-t/100*K,"projectY"),et=z.append("g").attr("class","wardley-axes");et.append("line").attr("x1",o.padding).attr("x2",F-o.padding).attr("y1",M-o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1),et.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1);let Lt=w.axes.xLabel??"Evolution",Tt=w.axes.yLabel??"Visibility";et.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+J/2).attr("y",M-o.padding/4).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(Lt),et.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+K/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+K/2})`).text(Tt);let Q=w.axes.stages&&w.axes.stages.length>0?w.axes.stages:Dt;if(Q.length>0){let t=z.append("g").attr("class","wardley-stages"),l=w.axes.stageBoundaries,i=[];if(l&&l.length===Q.length){let c=0;l.forEach((f)=>{i.push({start:c,end:f}),c=f})}else{let c=1/Q.length;Q.forEach((f,x)=>{i.push({start:x*c,end:(x+1)*c})})}Q.forEach((c,f)=>{let x=i[f],u=o.padding+x.start*J,g=o.padding+x.end*J,m=(u+g)/2;if(f>0)t.append("line").attr("x1",u).attr("x2",u).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",0.8);t.append("text").attr("class","wardley-stage-label").attr("x",m).attr("y",M-o.padding/1.5).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(c)})}if(o.showGrid){let t=z.append("g").attr("class","wardley-grid");for(let l=1;l<4;l++){let i=l/4,c=o.padding+J*i;t.append("line").attr("x1",c).attr("x2",c).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",o.padding).attr("x2",F-o.padding).attr("y1",M-o.padding-K*i).attr("y2",M-o.padding-K*i).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6")}}let h=new Map;if(w.nodes.forEach((t)=>{h.set(t.id,{x:D(t.x),y:G(t.y),node:t})}),w.pipelines.length>0){let t=z.append("g").attr("class","wardley-pipelines"),l=z.append("g").attr("class","wardley-pipeline-links");w.pipelines.forEach((i)=>{if(i.componentIds.length===0)return;let c=i.componentIds.map((g)=>({id:g,pos:h.get(g),node:w.nodes.find((m)=>m.id===g)})).filter((g)=>g.pos&&g.node).sort((g,m)=>g.node.x-m.node.x);for(let g=0;g<c.length-1;g++){let m=c[g],v=c[g+1];l.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",m.pos.x).attr("y1",m.pos.y).attr("x2",v.pos.x).attr("y2",v.pos.y).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let f=1/0,x=-1/0,u=0;if(i.componentIds.forEach((g)=>{let m=h.get(g);if(m)f=Math.min(f,m.x),x=Math.max(x,m.x),u=m.y}),f!==1/0&&x!==-1/0){let m=o.nodeRadius*4,v=u-m/2,H=h.get(i.nodeId);if(H){let O=(f+x)/2;H.x=O,H.y=v-k/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",f-15).attr("y",v).attr("width",x-f+30).attr("height",m).attr("fill","none").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let dt=z.append("g").attr("class","wardley-links"),lt=new Map;w.pipelines.forEach((t)=>{lt.set(t.nodeId,new Set(t.componentIds))});let ct=w.links.filter((t)=>{if(!h.has(t.source)||!h.has(t.target))return!1;if(lt.get(t.target)?.has(t.source))return!1;return!0});dt.selectAll("line").data(ct).enter().append("line").attr("class",(t)=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",(t)=>{let l=h.get(t.source),i=h.get(t.target),f=w.nodes.find((m)=>m.id===t.source).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=i.x-l.x,u=i.y-l.y,g=Math.sqrt(x*x+u*u);return l.x+x/g*f}).attr("y1",(t)=>{let l=h.get(t.source),i=h.get(t.target),f=w.nodes.find((m)=>m.id===t.source).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=i.x-l.x,u=i.y-l.y,g=Math.sqrt(x*x+u*u);return l.y+u/g*f}).attr("x2",(t)=>{let l=h.get(t.source),i=h.get(t.target),f=w.nodes.find((m)=>m.id===t.target).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=l.x-i.x,u=l.y-i.y,g=Math.sqrt(x*x+u*u);return i.x+x/g*f}).attr("y2",(t)=>{let l=h.get(t.source),i=h.get(t.target),f=w.nodes.find((m)=>m.id===t.target).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=l.x-i.x,u=l.y-i.y,g=Math.sqrt(x*x+u*u);return i.y+u/g*f}).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",(t)=>t.dashed?"6 6":null).attr("marker-end",(t)=>{if(t.flow==="forward"||t.flow==="bidirectional")return`url(#link-arrow-end-${d})`;return null}).attr("marker-start",(t)=>{if(t.flow==="backward"||t.flow==="bidirectional")return`url(#link-arrow-start-${d})`;return null}),dt.selectAll("text").data(ct.filter((t)=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",(t)=>{let l=h.get(t.source),i=h.get(t.target),c=(l.x+i.x)/2,f=i.y-l.y,x=i.x-l.x,u=Math.sqrt(x*x+f*f),g=8,m=f/u;return c+m*8}).attr("y",(t)=>{let l=h.get(t.source),i=h.get(t.target),c=(l.y+i.y)/2,f=i.x-l.x,x=i.y-l.y,u=Math.sqrt(f*f+x*x),g=8,m=-f/u;return c+m*8}).attr("fill",p.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",(t)=>{let l=h.get(t.source),i=h.get(t.target),c=(l.x+i.x)/2,f=(l.y+i.y)/2,x=i.x-l.x,u=i.y-l.y,g=Math.sqrt(x*x+u*u),m=8,v=u/g,H=-x/g,O=c+v*8,at=f+H*8,_=Math.atan2(u,x)*180/Math.PI;if(_>90||_<-90)_+=180;return`rotate(${_} ${O} ${at})`}).text((t)=>t.label);let Wt=z.append("g").attr("class","wardley-trends"),At=w.trends.map((t)=>{let l=h.get(t.nodeId);if(!l)return null;let i=D(t.targetX),c=G(t.targetY),f=i-l.x,x=c-l.y,u=Math.sqrt(f*f+x*x),g=o.nodeRadius+2,m=u>g?i-f/u*g:i,v=u>g?c-x/u*g:c;return{origin:l,targetX:i,targetY:c,adjustedX2:m,adjustedY2:v}}).filter((t)=>t!==null);Wt.selectAll("line").data(At).enter().append("line").attr("class","wardley-trend").attr("x1",(t)=>t.origin.x).attr("y1",(t)=>t.origin.y).attr("x2",(t)=>t.adjustedX2).attr("y2",(t)=>t.adjustedY2).attr("stroke",p.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${d})`);let R=z.append("g").attr("class","wardley-nodes").selectAll("g").data(w.nodes).enter().append("g").attr("class",(t)=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));R.filter((t)=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",p.componentStroke).attr("stroke-width",1),R.filter((t)=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",p.componentStroke).attr("stroke-width",1),R.filter((t)=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let q=R.filter((t)=>t.sourceStrategy==="market");q.append("circle").attr("class","wardley-market-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),R.filter((t)=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1);let st=o.nodeRadius*0.7,N=o.nodeRadius*1.2;if(q.append("line").attr("class","wardley-market-line").attr("x1",(t)=>h.get(t.id).x).attr("y1",(t)=>h.get(t.id).y-N).attr("x2",(t)=>h.get(t.id).x-N*Math.cos(Math.PI/6)).attr("y2",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),q.append("line").attr("class","wardley-market-line").attr("x1",(t)=>h.get(t.id).x-N*Math.cos(Math.PI/6)).attr("y1",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("x2",(t)=>h.get(t.id).x+N*Math.cos(Math.PI/6)).attr("y2",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),q.append("line").attr("class","wardley-market-line").attr("x1",(t)=>h.get(t.id).x+N*Math.cos(Math.PI/6)).attr("y1",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("x2",(t)=>h.get(t.id).x).attr("y2",(t)=>h.get(t.id).y-N).attr("stroke",p.componentStroke).attr("stroke-width",1),q.append("circle").attr("class","wardley-market-dot").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y-N).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),q.append("circle").attr("class","wardley-market-dot").attr("cx",(t)=>h.get(t.id).x-N*Math.cos(Math.PI/6)).attr("cy",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),q.append("circle").attr("class","wardley-market-dot").attr("cx",(t)=>h.get(t.id).x+N*Math.cos(Math.PI/6)).attr("cy",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),R.filter((t)=>t.isPipelineParent===!0).append("rect").attr("x",(t)=>h.get(t.id).x-k/2).attr("y",(t)=>h.get(t.id).y-k/2).attr("width",k).attr("height",k).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1),R.filter((t)=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",(t)=>{let l=h.get(t.id),i=t.isPipelineParent?k/2+15:o.nodeRadius+15;if(t.sourceStrategy)i+=o.nodeRadius+10;return l.x+i}).attr("y1",(t)=>{let l=h.get(t.id),i=t.isPipelineParent?k:o.nodeRadius*2;return l.y-i/2}).attr("x2",(t)=>{let l=h.get(t.id),i=t.isPipelineParent?k/2+15:o.nodeRadius+15;if(t.sourceStrategy)i+=o.nodeRadius+10;return l.x+i}).attr("y2",(t)=>{let l=h.get(t.id),i=t.isPipelineParent?k:o.nodeRadius*2;return l.y+i/2}).attr("stroke",p.componentStroke).attr("stroke-width",6),R.append("text").attr("x",(t)=>{let l=h.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?l.x+t.labelOffsetX:l.x;let i=o.nodeLabelOffset;if(t.sourceStrategy&&t.labelOffsetX===void 0)i+=10;let c=t.labelOffsetX??i;return l.x+c}).attr("y",(t)=>{let l=h.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?l.y+t.labelOffsetY:l.y-3;let i=-o.nodeLabelOffset;if(t.sourceStrategy&&t.labelOffsetY===void 0)i-=10;let c=t.labelOffsetY??i;return l.y+c}).attr("class","wardley-node-label").attr("fill",(t)=>{if(t.className==="evolved")return p.evolutionStroke;if(t.className==="anchor")return"#000";return p.componentLabelColor}).attr("font-size",o.labelFontSize).attr("font-weight",(t)=>t.className==="anchor"?"bold":"normal").attr("text-anchor",(t)=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",(t)=>t.className==="anchor"?"middle":"auto").text((t)=>t.label),w.annotations.length>0){let t=z.append("g").attr("class","wardley-annotations");if(w.annotations.forEach((l)=>{let i=l.coordinates.map((c)=>({x:D(c.x),y:G(c.y)}));if(i.length>1)for(let c=0;c<i.length-1;c++)t.append("line").attr("class","wardley-annotation-line").attr("x1",i[c].x).attr("y1",i[c].y).attr("x2",i[c+1].x).attr("y2",i[c+1].y).attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");i.forEach((c)=>{let f=t.append("g").attr("class","wardley-annotation");f.append("circle").attr("cx",c.x).attr("cy",c.y).attr("r",10).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5),f.append("text").attr("x",c.x).attr("y",c.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(l.number)})}),w.annotationsBox){let l=D(w.annotationsBox.x),i=G(w.annotationsBox.y),c=10,f=16,x=11,u=t.append("g").attr("class","wardley-annotations-box"),g=[...w.annotations].filter((v)=>v.text).sort((v,H)=>v.number-H.number),m=[];if(g.forEach((v,H)=>{let O=u.append("text").attr("x",l+c).attr("y",i+c+(H+1)*f).attr("font-size",x).attr("fill",p.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${v.number}. ${v.text}`);m.push(O)}),m.length>0){let v=0,H=0;m.forEach((it)=>{let rt=it.node(),Yt=rt.getComputedTextLength();v=Math.max(v,Yt);let It=rt.getBBox();H=Math.max(H,It.height)});let O=v+c*2+105,at=g.length*f+c*2+H/2,_=o.padding,Xt=F-o.padding-O,Et=o.padding,Ht=M-o.padding-at;l=Math.max(_,Math.min(l,Xt)),i=Math.max(Et,Math.min(i,Ht)),m.forEach((it,rt)=>{it.attr("x",l+c).attr("y",i+c+(rt+1)*f)}),u.insert("rect","text").attr("x",l).attr("y",i).attr("width",O).attr("height",at).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(w.notes.length>0){let t=z.append("g").attr("class","wardley-notes");w.notes.forEach((l)=>{let i=D(l.x),c=G(l.y);t.append("text").attr("x",i).attr("y",c).attr("text-anchor","start").attr("font-size",11).attr("fill",p.axisTextColor).attr("font-weight","bold").text(l.text)})}if(w.accelerators.length>0){let t=z.append("g").attr("class","wardley-accelerators");w.accelerators.forEach((l)=>{let i=D(l.x),c=G(l.y),f=60,x=30,u=20,g=`
3
- M ${i} ${c-15}
4
- L ${i+60-20} ${c-15}
5
- L ${i+60-20} ${c-15-8}
6
- L ${i+60} ${c}
7
- L ${i+60-20} ${c+15+8}
8
- L ${i+60-20} ${c+15}
9
- L ${i} ${c+15}
10
- Z
11
- `;t.append("path").attr("d",g).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),t.append("text").attr("x",i+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(l.name)})}if(w.deaccelerators.length>0){let t=z.append("g").attr("class","wardley-deaccelerators");w.deaccelerators.forEach((l)=>{let i=D(l.x),c=G(l.y),f=60,x=30,u=20,g=`
12
- M ${i+60} ${c-15}
13
- L ${i+20} ${c-15}
14
- L ${i+20} ${c-15-8}
15
- L ${i} ${c}
16
- L ${i+20} ${c+15+8}
17
- L ${i+20} ${c+15}
18
- L ${i+60} ${c+15}
19
- Z
20
- `;t.append("path").attr("d",g).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),t.append("text").attr("x",i+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(l.name)})}},"draw"),Vt={draw:jt},_t=e(({wardley:a}={})=>{let d=we(),n=b(),y=U(d,n.themeVariables),o=U(y.wardley,a);return`
21
- .wardley-background {
22
- fill: ${o.backgroundColor};
23
- }
24
- .wardley-axes line, .wardley-axes path {
25
- stroke: ${o.axisColor};
26
- }
27
- .wardley-axis-label {
28
- fill: ${o.axisTextColor};
29
- }
30
- .wardley-stage-label {
31
- fill: ${o.axisTextColor};
32
- }
33
- .wardley-grid line {
34
- stroke: ${o.gridColor};
35
- }
36
- .wardley-node circle {
37
- fill: ${o.componentFill};
38
- stroke: ${o.componentStroke};
39
- }
40
- .wardley-node-label {
41
- fill: ${o.componentLabelColor};
42
- }
43
- .wardley-link {
44
- stroke: ${o.linkStroke};
45
- }
46
- .wardley-link--dashed {
47
- stroke-dasharray: 4 4;
48
- }
49
- .wardley-link-label {
50
- fill: ${o.axisTextColor};
51
- }
52
- .wardley-trend line {
53
- stroke: ${o.evolutionStroke};
54
- }
55
- .wardley-annotation-line {
56
- stroke: ${o.annotationStroke};
57
- }
58
- .wardley-annotation circle {
59
- fill: ${o.annotationFill};
60
- stroke: ${o.annotationStroke};
61
- }
62
- .wardley-annotation text {
63
- fill: ${o.annotationTextColor};
64
- }
65
- .wardley-annotations-box rect {
66
- fill: ${o.annotationFill};
67
- stroke: ${o.annotationStroke};
68
- }
69
- .wardley-annotations-box text {
70
- fill: ${o.annotationTextColor};
71
- }
72
- .wardley-pipeline-box {
73
- stroke: ${o.componentStroke};
74
- }
75
- .wardley-notes text {
76
- fill: ${o.axisTextColor};
77
- }
78
- `},"styles"),re={parser:ht,db:Ot,renderer:Vt,styles:_t};export{re as diagram};
@@ -1,36 +0,0 @@
1
- import{W}from"./chunk-y56aaba5.js";import{e,r,D,b,O,mt,C,S,E,T,A,I,L,s,p,V,Bi,In,nt,U,Fe,Ie}from"./chunk-wvdehm9y.js";import{X}from"./chunk-aqfpnhmt.js";import{lt,sr}from"./chunk-3re8y26v.js";import{Ce,Se}from"./chunk-4bzqrwr0.js";var ut=Se(function(rt,st){(function(n,l){if(typeof rt==="object"&&typeof st==="object")st.exports=l(sr());else if(typeof define==="function"&&define.amd)define(["cose-base"],l);else if(typeof rt==="object")rt.cytoscapeFcose=l(sr());else n.cytoscapeFcose=l(n.coseBase)})(rt,function(t){return(()=>{var n={658:(k)=>{k.exports=Object.assign!=null?Object.assign.bind(Object):function(z){for(var v=arguments.length,N=Array(v>1?v-1:0),c=1;c<v;c++)N[c-1]=arguments[c];return N.forEach(function(y){Object.keys(y).forEach(function(d){return z[d]=y[d]})}),z}},548:(k,z,v)=>{var N=function(){function d(f,u){var g=[],i=!0,B=!1,F=void 0;try{for(var o=f[Symbol.iterator](),h;!(i=(h=o.next()).done);i=!0)if(g.push(h.value),u&&g.length===u)break}catch(R){B=!0,F=R}finally{try{if(!i&&o.return)o.return()}finally{if(B)throw F}}return g}return function(f,u){if(Array.isArray(f))return f;else if(Symbol.iterator in Object(f))return d(f,u);else throw TypeError("Invalid attempt to destructure non-iterable instance")}}(),c=v(140).layoutBase.LinkedList,y={};y.getTopMostNodes=function(d){var f={};for(var u=0;u<d.length;u++)f[d[u].id()]=!0;var g=d.filter(function(i,B){if(typeof i==="number")i=B;var F=i.parent()[0];while(F!=null){if(f[F.id()])return!1;F=F.parent()[0]}return!0});return g},y.connectComponents=function(d,f,u,g){var i=new c,B=new Set,F=[],o=void 0,h=void 0,R=void 0,a=!1,P=1,H=[],M=[],j=function(){var x=d.collection();M.push(x);var Y=u[0],Z=d.collection();Z.merge(Y).merge(Y.descendants().intersection(f)),F.push(Y),Z.forEach(function(re){i.push(re),B.add(re),x.merge(re)});var Q=function(){Y=i.shift();var ue=d.collection();Y.neighborhood().nodes().forEach(function(q){if(f.intersection(Y.edgesWith(q)).length>0)ue.merge(q)});for(var Ae=0;Ae<ue.length;Ae++){var Pe=ue[Ae];if(o=u.intersection(Pe.union(Pe.ancestors())),o!=null&&!B.has(o[0])){var de=o.union(o.descendants());de.forEach(function(q){if(i.push(q),B.add(q),x.merge(q),u.has(q))F.push(q)})}}};while(i.length!=0)Q();if(x.forEach(function(re){f.intersection(re.connectedEdges()).forEach(function(ue){if(x.has(ue.source())&&x.has(ue.target()))x.merge(ue)})}),F.length==u.length)a=!0;if(!a||a&&P>1){h=F[0],R=h.connectedEdges().length,F.forEach(function(re){if(re.connectedEdges().length<R)R=re.connectedEdges().length,h=re}),H.push(h.id());var se=d.collection();se.merge(F[0]),F.forEach(function(re){se.merge(re)}),F=[],u=u.difference(se),P++}};do j();while(!a);if(g){if(H.length>0)g.set("dummy"+(g.size+1),H)}return M},y.relocateComponent=function(d,f,u){if(!u.fixedNodeConstraint){var{POSITIVE_INFINITY:g,NEGATIVE_INFINITY:i,POSITIVE_INFINITY:B,NEGATIVE_INFINITY:F}=Number;if(u.quality=="draft"){var o=!0,h=!1,R=void 0;try{for(var a=f.nodeIndexes[Symbol.iterator](),P;!(o=(P=a.next()).done);o=!0){var H=P.value,M=N(H,2),j=M[0],_=M[1],x=u.cy.getElementById(j);if(x){var Y=x.boundingBox(),Z=f.xCoords[_]-Y.w/2,Q=f.xCoords[_]+Y.w/2,se=f.yCoords[_]-Y.h/2,re=f.yCoords[_]+Y.h/2;if(Z<g)g=Z;if(Q>i)i=Q;if(se<B)B=se;if(re>F)F=re}}}catch(q){h=!0,R=q}finally{try{if(!o&&a.return)a.return()}finally{if(h)throw R}}var ue=d.x-(i+g)/2,Ae=d.y-(F+B)/2;f.xCoords=f.xCoords.map(function(q){return q+ue}),f.yCoords=f.yCoords.map(function(q){return q+Ae})}else{Object.keys(f).forEach(function(q){var oe=f[q],Ne=oe.getRect().x,ke=oe.getRect().x+oe.getRect().width,De=oe.getRect().y,xe=oe.getRect().y+oe.getRect().height;if(Ne<g)g=Ne;if(ke>i)i=ke;if(De<B)B=De;if(xe>F)F=xe});var Pe=d.x-(i+g)/2,de=d.y-(F+B)/2;Object.keys(f).forEach(function(q){var oe=f[q];oe.setCenter(oe.getCenterX()+Pe,oe.getCenterY()+de)})}}},y.calcBoundingBox=function(d,f,u,g){var{MAX_SAFE_INTEGER:i,MIN_SAFE_INTEGER:B,MAX_SAFE_INTEGER:F,MIN_SAFE_INTEGER:o}=Number,h=void 0,R=void 0,a=void 0,P=void 0,H=d.descendants().not(":parent"),M=H.length;for(var j=0;j<M;j++){var _=H[j];if(h=f[g.get(_.id())]-_.width()/2,R=f[g.get(_.id())]+_.width()/2,a=u[g.get(_.id())]-_.height()/2,P=u[g.get(_.id())]+_.height()/2,i>h)i=h;if(B<R)B=R;if(F>a)F=a;if(o<P)o=P}var x={};return x.topLeftX=i,x.topLeftY=F,x.width=B-i,x.height=o-F,x},y.calcParentsWithoutChildren=function(d,f){var u=d.collection();return f.nodes(":parent").forEach(function(g){var i=!1;if(g.children().forEach(function(B){if(B.css("display")!="none")i=!0}),!i)u.merge(g)}),u},k.exports=y},816:(k,z,v)=>{var N=v(548),c=v(140).CoSELayout,y=v(140).CoSENode,d=v(140).layoutBase.PointD,f=v(140).layoutBase.DimensionD,u=v(140).layoutBase.LayoutConstants,g=v(140).layoutBase.FDLayoutConstants,i=v(140).CoSEConstants,B=function(o,h){var{cy:R,eles:a}=o,P=a.nodes(),H=a.edges(),M=void 0,j=void 0,_=void 0,x={};if(o.randomize)M=h.nodeIndexes,j=h.xCoords,_=h.yCoords;var Y=function(q){return typeof q==="function"},Z=function(q,oe){if(Y(q))return q(oe);else return q},Q=N.calcParentsWithoutChildren(R,a),se=function de(q,oe,Ne,ke){var De=oe.length;for(var xe=0;xe<De;xe++){var J=oe[xe],Te=null;if(J.intersection(Q).length==0)Te=J.children();var ie=void 0,ve=J.layoutDimensions({nodeDimensionsIncludeLabels:ke.nodeDimensionsIncludeLabels});if(J.outerWidth()!=null&&J.outerHeight()!=null)if(ke.randomize)if(!J.isParent())ie=q.add(new y(Ne.graphManager,new d(j[M.get(J.id())]-ve.w/2,_[M.get(J.id())]-ve.h/2),new f(parseFloat(ve.w),parseFloat(ve.h))));else{var Me=N.calcBoundingBox(J,j,_,M);if(J.intersection(Q).length==0)ie=q.add(new y(Ne.graphManager,new d(Me.topLeftX,Me.topLeftY),new f(Me.width,Me.height)));else ie=q.add(new y(Ne.graphManager,new d(Me.topLeftX,Me.topLeftY),new f(parseFloat(ve.w),parseFloat(ve.h))))}else ie=q.add(new y(Ne.graphManager,new d(J.position("x")-ve.w/2,J.position("y")-ve.h/2),new f(parseFloat(ve.w),parseFloat(ve.h))));else ie=q.add(new y(this.graphManager));if(ie.id=J.data("id"),ie.nodeRepulsion=Z(ke.nodeRepulsion,J),ie.paddingLeft=parseInt(J.css("padding")),ie.paddingTop=parseInt(J.css("padding")),ie.paddingRight=parseInt(J.css("padding")),ie.paddingBottom=parseInt(J.css("padding")),ke.nodeDimensionsIncludeLabels)ie.labelWidth=J.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,ie.labelHeight=J.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,ie.labelPosVertical=J.css("text-valign"),ie.labelPosHorizontal=J.css("text-halign");if(x[J.data("id")]=ie,isNaN(ie.rect.x))ie.rect.x=0;if(isNaN(ie.rect.y))ie.rect.y=0;if(Te!=null&&Te.length>0){var ze=void 0;ze=Ne.getGraphManager().add(Ne.newGraph(),ie),de(ze,Te,Ne,ke)}}},re=function(q,oe,Ne){var ke=0,De=0;for(var xe=0;xe<Ne.length;xe++){var J=Ne[xe],Te=x[J.data("source")],ie=x[J.data("target")];if(Te&&ie&&Te!==ie&&Te.getEdgesBetween(ie).length==0){var ve=oe.add(q.newEdge(),Te,ie);ve.id=J.id(),ve.idealLength=Z(o.idealEdgeLength,J),ve.edgeElasticity=Z(o.edgeElasticity,J),ke+=ve.idealLength,De++}}if(o.idealEdgeLength!=null){if(De>0)i.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=ke/De;else if(!Y(o.idealEdgeLength))i.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=o.idealEdgeLength;else i.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50;i.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,i.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH}},ue=function(q,oe){if(oe.fixedNodeConstraint)q.constraints.fixedNodeConstraint=oe.fixedNodeConstraint;if(oe.alignmentConstraint)q.constraints.alignmentConstraint=oe.alignmentConstraint;if(oe.relativePlacementConstraint)q.constraints.relativePlacementConstraint=oe.relativePlacementConstraint};if(o.nestingFactor!=null)i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=o.nestingFactor;if(o.gravity!=null)i.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=o.gravity;if(o.numIter!=null)i.MAX_ITERATIONS=g.MAX_ITERATIONS=o.numIter;if(o.gravityRange!=null)i.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=o.gravityRange;if(o.gravityCompound!=null)i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=o.gravityCompound;if(o.gravityRangeCompound!=null)i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=o.gravityRangeCompound;if(o.initialEnergyOnIncremental!=null)i.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=o.initialEnergyOnIncremental;if(o.tilingCompareBy!=null)i.TILING_COMPARE_BY=o.tilingCompareBy;if(o.quality=="proof")u.QUALITY=2;else u.QUALITY=0;if(i.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=o.nodeDimensionsIncludeLabels,i.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=!o.randomize,i.ANIMATE=g.ANIMATE=u.ANIMATE=o.animate,i.TILE=o.tile,i.TILING_PADDING_VERTICAL=typeof o.tilingPaddingVertical==="function"?o.tilingPaddingVertical.call():o.tilingPaddingVertical,i.TILING_PADDING_HORIZONTAL=typeof o.tilingPaddingHorizontal==="function"?o.tilingPaddingHorizontal.call():o.tilingPaddingHorizontal,i.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=!0,i.PURE_INCREMENTAL=!o.randomize,u.DEFAULT_UNIFORM_LEAF_NODE_SIZES=o.uniformNodeDimensions,o.step=="transformed")i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!1,i.APPLY_LAYOUT=!1;if(o.step=="enforced")i.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!1;if(o.step=="cose")i.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,i.ENFORCE_CONSTRAINTS=!1,i.APPLY_LAYOUT=!0;if(o.step=="all"){if(o.randomize)i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0;else i.TRANSFORM_ON_CONSTRAINT_HANDLING=!1;i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0}if(o.fixedNodeConstraint||o.alignmentConstraint||o.relativePlacementConstraint)i.TREE_REDUCTION_ON_INCREMENTAL=!1;else i.TREE_REDUCTION_ON_INCREMENTAL=!0;var Ae=new c,Pe=Ae.newGraphManager();return se(Pe.addRoot(),N.getTopMostNodes(P),Ae,o),re(Ae,Pe,H),ue(Ae,o),Ae.runLayout(),x};k.exports={coseLayout:B}},212:(k,z,v)=>{var N=function(){function o(h,R){for(var a=0;a<R.length;a++){var P=R[a];if(P.enumerable=P.enumerable||!1,P.configurable=!0,"value"in P)P.writable=!0;Object.defineProperty(h,P.key,P)}}return function(h,R,a){if(R)o(h.prototype,R);if(a)o(h,a);return h}}();function c(o,h){if(!(o instanceof h))throw TypeError("Cannot call a class as a function")}var y=v(658),d=v(548),f=v(657),u=f.spectralLayout,g=v(816),i=g.coseLayout,B=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1000,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:0.0000001,nodeRepulsion:function(h){return 4500},idealEdgeLength:function(h){return 50},edgeElasticity:function(h){return 0.45},nestingFactor:0.1,gravity:0.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:0.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}}),F=function(){function o(h){c(this,o),this.options=y({},B,h)}return N(o,[{key:"run",value:function(){var R=this,a=this.options,{cy:P,eles:H}=a,M=[],j=void 0,_=void 0,x=[],Y=void 0,Z=[];if(a.fixedNodeConstraint&&(!Array.isArray(a.fixedNodeConstraint)||a.fixedNodeConstraint.length==0))a.fixedNodeConstraint=void 0;if(a.alignmentConstraint){if(a.alignmentConstraint.vertical&&(!Array.isArray(a.alignmentConstraint.vertical)||a.alignmentConstraint.vertical.length==0))a.alignmentConstraint.vertical=void 0;if(a.alignmentConstraint.horizontal&&(!Array.isArray(a.alignmentConstraint.horizontal)||a.alignmentConstraint.horizontal.length==0))a.alignmentConstraint.horizontal=void 0}if(a.relativePlacementConstraint&&(!Array.isArray(a.relativePlacementConstraint)||a.relativePlacementConstraint.length==0))a.relativePlacementConstraint=void 0;var Q=a.fixedNodeConstraint||a.alignmentConstraint||a.relativePlacementConstraint;if(Q)a.tile=!1,a.packComponents=!1;var se=void 0,re=!1;if(P.layoutUtilities&&a.packComponents){if(se=P.layoutUtilities("get"),!se)se=P.layoutUtilities();re=!0}if(H.nodes().length>0)if(!re){var ue=a.eles.boundingBox();if(Z.push({x:ue.x1+ue.w/2,y:ue.y1+ue.h/2}),a.randomize){var Ae=u(a);M.push(Ae)}if(a.quality=="default"||a.quality=="proof")x.push(i(a,M[0])),d.relocateComponent(Z[0],x[0],a);else d.relocateComponent(Z[0],M[0],a)}else{var Pe=d.getTopMostNodes(a.eles.nodes());if(Y=d.connectComponents(P,a.eles,Pe),Y.forEach(function(K){var G=K.boundingBox();Z.push({x:G.x1+G.w/2,y:G.y1+G.h/2})}),a.randomize)Y.forEach(function(K){a.eles=K,M.push(u(a))});if(a.quality=="default"||a.quality=="proof"){var de=P.collection();if(a.tile){var q=new Map,oe=[],Ne=[],ke=0,De={nodeIndexes:q,xCoords:oe,yCoords:Ne},xe=[];if(Y.forEach(function(K,G){if(K.edges().length==0)K.nodes().forEach(function(pe,le){if(de.merge(K.nodes()[le]),!pe.isParent())De.nodeIndexes.set(K.nodes()[le].id(),ke++),De.xCoords.push(K.nodes()[0].position().x),De.yCoords.push(K.nodes()[0].position().y)}),xe.push(G)}),de.length>1){var J=de.boundingBox();Z.push({x:J.x1+J.w/2,y:J.y1+J.h/2}),Y.push(de),M.push(De);for(var Te=xe.length-1;Te>=0;Te--)Y.splice(xe[Te],1),M.splice(xe[Te],1),Z.splice(xe[Te],1)}}Y.forEach(function(K,G){a.eles=K,x.push(i(a,M[G])),d.relocateComponent(Z[G],x[G],a)})}else Y.forEach(function(K,G){d.relocateComponent(Z[G],M[G],a)});var ie=new Set;if(Y.length>1){var ve=[],Me=H.filter(function(K){return K.css("display")=="none"});Y.forEach(function(K,G){var pe=void 0;if(a.quality=="draft")pe=M[G].nodeIndexes;if(K.nodes().not(Me).length>0){var le={};le.edges=[],le.nodes=[];var me=void 0;if(K.nodes().not(Me).forEach(function(fe){if(a.quality=="draft")if(!fe.isParent())me=pe.get(fe.id()),le.nodes.push({x:M[G].xCoords[me]-fe.boundingbox().w/2,y:M[G].yCoords[me]-fe.boundingbox().h/2,width:fe.boundingbox().w,height:fe.boundingbox().h});else{var he=d.calcBoundingBox(fe,M[G].xCoords,M[G].yCoords,pe);le.nodes.push({x:he.topLeftX,y:he.topLeftY,width:he.width,height:he.height})}else if(x[G][fe.id()])le.nodes.push({x:x[G][fe.id()].getLeft(),y:x[G][fe.id()].getTop(),width:x[G][fe.id()].getWidth(),height:x[G][fe.id()].getHeight()})}),K.edges().forEach(function(fe){var he=fe.source(),Ee=fe.target();if(he.css("display")!="none"&&Ee.css("display")!="none"){if(a.quality=="draft"){var Be=pe.get(he.id()),et=pe.get(Ee.id()),Oe=[],Ye=[];if(he.isParent()){var We=d.calcBoundingBox(he,M[G].xCoords,M[G].yCoords,pe);Oe.push(We.topLeftX+We.width/2),Oe.push(We.topLeftY+We.height/2)}else Oe.push(M[G].xCoords[Be]),Oe.push(M[G].yCoords[Be]);if(Ee.isParent()){var Je=d.calcBoundingBox(Ee,M[G].xCoords,M[G].yCoords,pe);Ye.push(Je.topLeftX+Je.width/2),Ye.push(Je.topLeftY+Je.height/2)}else Ye.push(M[G].xCoords[et]),Ye.push(M[G].yCoords[et]);le.edges.push({startX:Oe[0],startY:Oe[1],endX:Ye[0],endY:Ye[1]})}else if(x[G][he.id()]&&x[G][Ee.id()])le.edges.push({startX:x[G][he.id()].getCenterX(),startY:x[G][he.id()].getCenterY(),endX:x[G][Ee.id()].getCenterX(),endY:x[G][Ee.id()].getCenterY()})}}),le.nodes.length>0)ve.push(le),ie.add(G)}});var ze=se.packComponents(ve,a.randomize).shifts;if(a.quality=="draft")M.forEach(function(K,G){var pe=K.xCoords.map(function(me){return me+ze[G].dx}),le=K.yCoords.map(function(me){return me+ze[G].dy});K.xCoords=pe,K.yCoords=le});else{var Ke=0;ie.forEach(function(K){Object.keys(x[K]).forEach(function(G){var pe=x[K][G];pe.setCenter(pe.getCenterX()+ze[Ke].dx,pe.getCenterY()+ze[Ke].dy)}),Ke++})}}}var je=function(G,pe){if(a.quality=="default"||a.quality=="proof"){if(typeof G==="number")G=pe;var le=void 0,me=void 0,fe=G.data("id");if(x.forEach(function(Ee){if(fe in Ee)le={x:Ee[fe].getRect().getCenterX(),y:Ee[fe].getRect().getCenterY()},me=Ee[fe]}),a.nodeDimensionsIncludeLabels){if(me.labelWidth){if(me.labelPosHorizontal=="left")le.x+=me.labelWidth/2;else if(me.labelPosHorizontal=="right")le.x-=me.labelWidth/2}if(me.labelHeight){if(me.labelPosVertical=="top")le.y+=me.labelHeight/2;else if(me.labelPosVertical=="bottom")le.y-=me.labelHeight/2}}if(le==null)le={x:G.position("x"),y:G.position("y")};return{x:le.x,y:le.y}}else{var he=void 0;if(M.forEach(function(Ee){var Be=Ee.nodeIndexes.get(G.id());if(Be!=null)he={x:Ee.xCoords[Be],y:Ee.yCoords[Be]}}),he==null)he={x:G.position("x"),y:G.position("y")};return{x:he.x,y:he.y}}};if(a.quality=="default"||a.quality=="proof"||a.randomize){var at=d.calcParentsWithoutChildren(P,H),qe=H.filter(function(K){return K.css("display")=="none"});if(a.eles=H.not(qe),H.nodes().not(":parent").not(qe).layoutPositions(R,a,je),at.length>0)at.forEach(function(K){K.position(je(K))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),o}();k.exports=F},657:(k,z,v)=>{var N=v(548),c=v(140).layoutBase.Matrix,y=v(140).layoutBase.SVD,d=function(u){var{cy:g,eles:i}=u,B=i.nodes(),F=i.nodes(":parent"),o=new Map,h=new Map,R=new Map,a=[],P=[],H=[],M=[],j=[],_=[],x=[],Y=[],Z=void 0,Q=void 0,se=1e8,re=0.000000001,{piTol:ue,samplingType:Ae,nodeSeparation:Pe}=u,de=void 0,q=function(){var ee=0,te=0,ne=!1;while(te<de){ee=Math.floor(Math.random()*Q),ne=!1;for(var ae=0;ae<te;ae++)if(M[ae]==ee){ne=!0;break}if(!ne)M[te]=ee,te++;else continue}},oe=function(ee,te,ne){var ae=[],we=0,ge=0,ce=0,Le=void 0,be=[],$e=0,_e=1;for(var Ue=0;Ue<Q;Ue++)be[Ue]=se;ae[ge]=ee,be[ee]=0;while(ge>=we){ce=ae[we++];var Xe=a[ce];for(var He=0;He<Xe.length;He++)if(Le=h.get(Xe[He]),be[Le]==se)be[Le]=be[ce]+1,ae[++ge]=Le;_[ce][te]=be[ce]*Pe}if(ne){for(var Ge=0;Ge<Q;Ge++)if(_[Ge][te]<j[Ge])j[Ge]=_[Ge][te];for(var tt=0;tt<Q;tt++)if(j[tt]>$e)$e=j[tt],_e=tt}return _e},Ne=function(ee){var te=void 0;if(!ee){q();for(var ne=0;ne<de;ne++)oe(M[ne],ne,ee,!1)}else{te=Math.floor(Math.random()*Q),Z=te;for(var ae=0;ae<Q;ae++)j[ae]=se;for(var we=0;we<de;we++)M[we]=te,te=oe(te,we,ee)}for(var ge=0;ge<Q;ge++)for(var ce=0;ce<de;ce++)_[ge][ce]*=_[ge][ce];for(var Le=0;Le<de;Le++)x[Le]=[];for(var be=0;be<de;be++)for(var $e=0;$e<de;$e++)x[be][$e]=_[M[$e]][be]},ke=function(){var ee=y.svd(x),{S:te,U:ne,V:ae}=ee,we=te[0]*te[0]*te[0],ge=[];for(var ce=0;ce<de;ce++){ge[ce]=[];for(var Le=0;Le<de;Le++)if(ge[ce][Le]=0,ce==Le)ge[ce][Le]=te[ce]/(te[ce]*te[ce]+we/(te[ce]*te[ce]))}Y=c.multMat(c.multMat(ae,ge),c.transpose(ne))},De=function(){var ee=void 0,te=void 0,ne=[],ae=[],we=[],ge=[];for(var ce=0;ce<Q;ce++)ne[ce]=Math.random(),ae[ce]=Math.random();ne=c.normalize(ne),ae=c.normalize(ae);var Le=0,be=re,$e=re,_e=void 0;while(!0){Le++;for(var Ue=0;Ue<Q;Ue++)we[Ue]=ne[Ue];if(ne=c.multGamma(c.multL(c.multGamma(we),_,Y)),ee=c.dotProduct(we,ne),ne=c.normalize(ne),be=c.dotProduct(we,ne),_e=Math.abs(be/$e),_e<=1+ue&&_e>=1)break;$e=be}for(var Xe=0;Xe<Q;Xe++)we[Xe]=ne[Xe];Le=0,$e=re;while(!0){Le++;for(var He=0;He<Q;He++)ge[He]=ae[He];if(ge=c.minusOp(ge,c.multCons(we,c.dotProduct(we,ge))),ae=c.multGamma(c.multL(c.multGamma(ge),_,Y)),te=c.dotProduct(ge,ae),ae=c.normalize(ae),be=c.dotProduct(ge,ae),_e=Math.abs(be/$e),_e<=1+ue&&_e>=1)break;$e=be}for(var Ge=0;Ge<Q;Ge++)ge[Ge]=ae[Ge];P=c.multCons(we,Math.sqrt(Math.abs(ee))),H=c.multCons(ge,Math.sqrt(Math.abs(te)))};N.connectComponents(g,i,N.getTopMostNodes(B),o),F.forEach(function(ye){N.connectComponents(g,i,N.getTopMostNodes(ye.descendants().intersection(i)),o)});var xe=0;for(var J=0;J<B.length;J++)if(!B[J].isParent())h.set(B[J].id(),xe++);var Te=!0,ie=!1,ve=void 0;try{for(var Me=o.keys()[Symbol.iterator](),ze;!(Te=(ze=Me.next()).done);Te=!0){var Ke=ze.value;h.set(Ke,xe++)}}catch(ye){ie=!0,ve=ye}finally{try{if(!Te&&Me.return)Me.return()}finally{if(ie)throw ve}}for(var je=0;je<h.size;je++)a[je]=[];F.forEach(function(ye){var ee=ye.children().intersection(i);while(ee.nodes(":childless").length==0)ee=ee.nodes()[0].children().intersection(i);var te=0,ne=ee.nodes(":childless")[0].connectedEdges().length;ee.nodes(":childless").forEach(function(ae,we){if(ae.connectedEdges().length<ne)ne=ae.connectedEdges().length,te=we}),R.set(ye.id(),ee.nodes(":childless")[te].id())}),B.forEach(function(ye){var ee=void 0;if(ye.isParent())ee=h.get(R.get(ye.id()));else ee=h.get(ye.id());ye.neighborhood().nodes().forEach(function(te){if(i.intersection(ye.edgesWith(te)).length>0)if(te.isParent())a[ee].push(R.get(te.id()));else a[ee].push(te.id())})});var at=function(ee){var te=h.get(ee),ne=void 0;o.get(ee).forEach(function(ae){if(g.getElementById(ae).isParent())ne=R.get(ae);else ne=ae;a[te].push(ne),a[h.get(ne)].push(ee)})},qe=!0,K=!1,G=void 0;try{for(var pe=o.keys()[Symbol.iterator](),le;!(qe=(le=pe.next()).done);qe=!0){var me=le.value;at(me)}}catch(ye){K=!0,G=ye}finally{try{if(!qe&&pe.return)pe.return()}finally{if(K)throw G}}Q=h.size;var fe=void 0;if(Q>2){de=Q<u.sampleSize?Q:u.sampleSize;for(var he=0;he<Q;he++)_[he]=[];for(var Ee=0;Ee<de;Ee++)Y[Ee]=[];if(u.quality=="draft"||u.step=="all")Ne(Ae),ke(),De(),fe={nodeIndexes:h,xCoords:P,yCoords:H};else h.forEach(function(ye,ee){P.push(g.getElementById(ee).position("x")),H.push(g.getElementById(ee).position("y"))}),fe={nodeIndexes:h,xCoords:P,yCoords:H};return fe}else{var Be=h.keys(),et=g.getElementById(Be.next().value),Oe=et.position(),Ye=et.outerWidth();if(P.push(Oe.x),H.push(Oe.y),Q==2){var We=g.getElementById(Be.next().value),Je=We.outerWidth();P.push(Oe.x+Ye/2+Je/2+u.idealEdgeLength),H.push(Oe.y)}return fe={nodeIndexes:h,xCoords:P,yCoords:H},fe}};k.exports={spectralLayout:d}},579:(k,z,v)=>{var N=v(212),c=function(d){if(!d)return;d("layout","fcose",N)};if(typeof cytoscape<"u")c(cytoscape);k.exports=c},140:(k)=>{k.exports=t}},l={};function w(k){var z=l[k];if(z!==void 0)return z.exports;var v=l[k]={exports:{}};return n[k](v,v.exports,w),v.exports}var m=w(579);return m})()})});var xt=Ce(ut(),1);var gt={L:"left",R:"right",T:"top",B:"bottom"},ht={L:e((t)=>`${t},${t/2} 0,${t} 0,0`,"L"),R:e((t)=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:e((t)=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:e((t)=>`${t/2},0 ${t},${t} 0,${t}`,"B")},ot={L:e((t,n)=>t-n+2,"L"),R:e((t,n)=>t-2,"R"),T:e((t,n)=>t-n+2,"T"),B:e((t,n)=>t-2,"B")},kt=e(function(t){if(Re(t))return t==="L"?"R":"L";else return t==="T"?"B":"T"},"getOppositeArchitectureDirection"),vt=e(function(t){let n=t;return n==="L"||n==="R"||n==="T"||n==="B"},"isArchitectureDirection"),Re=e(function(t){let n=t;return n==="L"||n==="R"},"isArchitectureDirectionX"),Ve=e(function(t){let n=t;return n==="T"||n==="B"},"isArchitectureDirectionY"),ft=e(function(t,n){let l=Re(t)&&Ve(n),w=Ve(t)&&Re(n);return l||w},"isArchitectureDirectionXY"),Dt=e(function(t){let n=t[0],l=t[1],w=Re(n)&&Ve(l),m=Ve(n)&&Re(l);return w||m},"isArchitecturePairXY"),Rt=e(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),ct=e(function(t,n){let l=`${t}${n}`;return Rt(l)?l:void 0},"getArchitectureDirectionPair"),Mt=e(function([t,n],l){let w=l[0],m=l[1];if(Re(w))if(Ve(m))return[t+(w==="L"?-1:1),n+(m==="T"?1:-1)];else return[t+(w==="L"?-1:1),n];else if(Re(m))return[t+(m==="L"?1:-1),n+(w==="T"?1:-1)];else return[t,n+(w==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ft=e(function(t){if(t==="LT"||t==="TL")return[1,1];else if(t==="BL"||t==="LB")return[1,-1];else if(t==="BR"||t==="RB")return[-1,-1];else return[-1,1]},"getArchitectureDirectionXYFactors"),$t=e(function(t,n){if(ft(t,n))return"bend";else if(Re(t))return"horizontal";return"vertical"},"getArchitectureDirectionAlignment"),Pt=e(function(t){return t.type==="service"},"isArchitectureService"),Ot=e(function(t){return t.type==="junction"},"isArchitectureJunction"),pt=e((t,n)=>{let[l,w]=[t,n].sort();return`${JSON.stringify(l)}-${JSON.stringify(w)}`},"architectureGroupAlignmentKey"),yt=e((t)=>t.data(),"edgeData"),Qe=e((t)=>t.data(),"nodeData"),Gt=D.architecture,Et=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=S,this.getAccTitle=E,this.setDiagramTitle=I,this.getDiagramTitle=L,this.getAccDescription=A,this.setAccDescription=T,this.clear()}static{e(this,"ArchitectureDB")}setDiagramId(t){this.diagramId=t}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",C()}addService({id:t,icon:n,in:l,title:w,iconText:m}){if(this.registeredIds.has(t))throw Error(`The service id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(l!==void 0){if(t===l)throw Error(`The service [${t}] cannot be placed within itself`);if(!this.registeredIds.has(l))throw Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(l)==="node")throw Error(`The service [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"service",icon:n,iconText:m,title:w,edges:[],in:l})}getServices(){return[...this.nodes.values()].filter(Pt)}addJunction({id:t,in:n}){if(this.registeredIds.has(t))throw Error(`The junction id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(n!==void 0){if(t===n)throw Error(`The junction [${t}] cannot be placed within itself`);if(!this.registeredIds.has(n))throw Error(`The junction [${t}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(n)==="node")throw Error(`The junction [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"junction",edges:[],in:n})}getJunctions(){return[...this.nodes.values()].filter(Ot)}getNodes(){return[...this.nodes.values()]}getNode(t){return this.nodes.get(t)??null}addGroup({id:t,icon:n,in:l,title:w}){if(this.registeredIds.has(t))throw Error(`The group id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(l!==void 0){if(t===l)throw Error(`The group [${t}] cannot be placed within itself`);if(!this.registeredIds.has(l))throw Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(l)==="node")throw Error(`The group [${t}]'s parent is not a group`)}this.registeredIds.set(t,"group"),this.groups.set(t,{id:t,icon:n,title:w,in:l})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:t,rhsId:n,lhsDir:l,rhsDir:w,lhsInto:m,rhsInto:k,lhsGroup:z,rhsGroup:v,title:N}){if(!vt(l))throw Error(`Invalid direction given for left hand side of edge ${t}--${n}. Expected (L,R,T,B) got ${String(l)}`);if(!vt(w))throw Error(`Invalid direction given for right hand side of edge ${t}--${n}. Expected (L,R,T,B) got ${String(w)}`);if(!this.nodes.has(t)&&!this.groups.has(t))throw Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(n)&&!this.groups.has(n))throw Error(`The right-hand id [${n}] does not yet exist. Please create the service/group before declaring an edge to it.`);let c=this.nodes.get(t).in,y=this.nodes.get(n).in;if(z&&c&&y&&c==y)throw Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(v&&c&&y&&c==y)throw Error(`The right-hand id [${n}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let d={lhsId:t,lhsDir:l,lhsInto:m,lhsGroup:z,rhsId:n,rhsDir:w,rhsInto:k,rhsGroup:v,title:N};this.edges.push(d);let f=this.nodes.get(t),u=this.nodes.get(n);if(f&&u)f.edges.push(this.edges[this.edges.length-1]),u.edges.push(this.edges[this.edges.length-1])}getEdges(){return this.edges}addLayoutHint(t){if(t.members.length<2)throw Error(`An align directive requires at least two members; got ${t.members.length}`);let n=new Set;t.members.forEach((l)=>{if(this.registeredIds.get(l)!=="node")throw Error(`align ${t.direction} references [${l}], which is not a service or junction`);if(n.has(l))throw Error(`align ${t.direction} lists [${l}] more than once`);n.add(l)}),this.layoutHints.push(t)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(this.dataStructures===void 0){let t=new Map,n=new Map;for(let[z,v]of this.nodes.entries()){let N=new Map;for(let c of v.edges){let y=this.getNode(c.lhsId)?.in,d=this.getNode(c.rhsId)?.in;if(y&&d&&y!==d){let f=$t(c.lhsDir,c.rhsDir);if(f!=="bend")t.set(pt(y,d),f)}if(c.lhsId===z){let f=ct(c.lhsDir,c.rhsDir);if(f)N.set(f,c.rhsId)}else{let f=ct(c.rhsDir,c.lhsDir);if(f)N.set(f,c.lhsId)}}n.set(z,N)}let l=new Set,w=new Set(n.keys()),m=e((z)=>{let v=new Map([[z,[0,0]]]),N=[z];while(N.length>0){let c=N.shift();if(c){l.add(c),w.delete(c);let y=n.get(c);if(!y)throw Error(`BFS error: adjacency list for id ${c} not found. Please report this as a bug.`);let d=v.get(c);if(!d)throw Error(`BFS error: position for id ${c} not found in spatial map. Please report this as a bug.`);let[f,u]=d;y.forEach((g,i)=>{if(!l.has(g))v.set(g,Mt([f,u],i)),N.push(g)})}}return v},"BFS"),k=[];while(w.size>0){let z=w.values().next().value;k.push(m(z))}this.dataStructures={adjList:n,spatialMaps:k,groupAlignments:t}}return this.dataStructures}setElementForId(t,n){this.elements.set(t,n)}getElementById(t){return this.elements.get(t)}getConfig(){return U({...Gt,...b().architecture})}getConfigField(t){return this.getConfig()[t]}},zt=e((t,n)=>{W(t,n),t.groups.map((l)=>n.addGroup(l)),t.services.map((l)=>n.addService({...l,type:"service"})),t.junctions.map((l)=>n.addJunction({...l,type:"junction"})),t.edges.map((l)=>n.addEdge(l)),t.alignments?.map((l)=>n.addLayoutHint({direction:l.direction,members:[...l.members]}))},"populateDb"),wt={parser:{yy:void 0},parse:e(async(t)=>{let n=await X("architecture",t);r.debug(n);let l=wt.parser?.yy;if(!(l instanceof Et))throw Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");zt(n,l)},"parse")},Bt=e((t)=>`
2
- .edge {
3
- stroke-width: ${t.archEdgeWidth};
4
- stroke: ${t.archEdgeColor};
5
- fill: none;
6
- }
7
-
8
- .arrow {
9
- fill: ${t.archEdgeArrowColor};
10
- }
11
-
12
- .node-bkg {
13
- fill: none;
14
- stroke: ${t.archGroupBorderColor};
15
- stroke-width: ${t.archGroupBorderWidth};
16
- stroke-dasharray: 8;
17
- }
18
- .node-icon-text {
19
- display: flex;
20
- align-items: center;
21
- }
22
-
23
- .node-icon-text > div {
24
- color: #fff;
25
- margin: 1px;
26
- height: fit-content;
27
- text-align: center;
28
- overflow: hidden;
29
- display: -webkit-box;
30
- -webkit-box-orient: vertical;
31
- }
32
- `,"getStyles"),_t=Bt;function dt(t,n){if(t===0)return n();let l=Math.random,w=t>>>0;Math.random=function(){w=w+1831565813>>>0;let m=w;return m=Math.imul(m^m>>>15,m|1),m^=m+Math.imul(m^m>>>7,m|61),((m^m>>>14)>>>0)/4294967296};try{return n()}finally{Math.random=l}}e(dt,"withSeededRandom");var Ze=e((t)=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`,"wrapIcon"),it={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Ze('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:Ze('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:Ze('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:Ze('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:Ze('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:Bi,blank:{body:Ze("")}}},Yt=e(async function(t,n,l,w){let m=l.getConfigField("padding"),k=l.getConfigField("iconSize"),z=k/2,v=k/6,N=v/2;await Promise.all(n.edges().map(async(c)=>{let{source:y,sourceDir:d,sourceArrow:f,sourceGroup:u,target:g,targetDir:i,targetArrow:B,targetGroup:F,label:o}=yt(c),{x:h,y:R}=c[0].sourceEndpoint(),{x:a,y:P}=c[0].midpoint(),{x:H,y:M}=c[0].targetEndpoint(),j=m+4;if(u)if(Re(d))h+=d==="L"?-j:j;else R+=d==="T"?-j:j+18;if(F)if(Re(i))H+=i==="L"?-j:j;else M+=i==="T"?-j:j+18;if(!u&&l.getNode(y)?.type==="junction")if(Re(d))h+=d==="L"?z:-z;else R+=d==="T"?z:-z;if(!F&&l.getNode(g)?.type==="junction")if(Re(i))H+=i==="L"?z:-z;else M+=i==="T"?z:-z;if(c[0]._private.rscratch){let _=t.insert("g");if(_.insert("path").attr("d",`M ${h},${R} L ${a},${P} L${H},${M} `).attr("class","edge").attr("id",`${w}-${Fe(y,g,{prefix:"L"})}`),f){let x=Re(d)?ot[d](h,v):h-N,Y=Ve(d)?ot[d](R,v):R-N;_.insert("polygon").attr("points",ht[d](v)).attr("transform",`translate(${x},${Y})`).attr("class","arrow")}if(B){let x=Re(i)?ot[i](H,v):H-N,Y=Ve(i)?ot[i](M,v):M-N;_.insert("polygon").attr("points",ht[i](v)).attr("transform",`translate(${x},${Y})`).attr("class","arrow")}if(o){let x=!ft(d,i)?Re(d)?"X":"Y":"XY",Y=0;if(x==="X")Y=Math.abs(h-H);else if(x==="Y")Y=Math.abs(R-M)/1.5;else Y=Math.abs(h-H)/2;let Z=_.append("g");if(await Ie(Z,o,{useHtmlLabels:!1,width:Y,classes:"architecture-service-label"},s()),Z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),x==="X")Z.attr("transform","translate("+a+", "+P+")");else if(x==="Y")Z.attr("transform","translate("+a+", "+P+") rotate(-90)");else if(x==="XY"){let Q=ct(d,i);if(Q&&Dt(Q)){let se=Z.node().getBoundingClientRect(),[re,ue]=Ft(Q);Z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*re*ue*45})`);let Ae=Z.node().getBoundingClientRect();Z.attr("transform",`
33
- translate(${a}, ${P-se.height/2})
34
- translate(${re*Ae.width/2}, ${ue*Ae.height/2})
35
- rotate(${-1*re*ue*45}, 0, ${se.height/2})
36
- `)}}}}}))},"drawEdges"),Ut=e(async function(t,n,l,w){let k=l.getConfigField("padding")*0.75,z=l.getConfigField("fontSize"),N=l.getConfigField("iconSize")/2;await Promise.all(n.nodes().map(async(c)=>{let y=Qe(c);if(y.type==="group"){let{h:d,w:f,x1:u,y1:g}=c.boundingBox(),i=t.append("rect");i.attr("id",`${w}-group-${y.id}`).attr("x",u+N).attr("y",g+N).attr("width",f).attr("height",d).attr("class","node-bkg");let B=t.append("g"),F=u,o=g;if(y.icon){let h=B.append("g");h.html(`<g>${await nt(y.icon,{height:k,width:k,fallbackPrefix:it.prefix})}</g>`),h.attr("transform","translate("+(F+N+1)+", "+(o+N+1)+")"),F+=k,o+=z/2-1-2}if(y.label){let h=B.append("g");await Ie(h,y.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},s()),h.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),h.attr("transform","translate("+(F+N+4)+", "+(o+N+2)+")")}l.setElementForId(y.id,i)}}))},"drawGroups"),Ht=e(async function(t,n,l,w){let m=s();for(let k of l){let z=n.append("g"),v=t.getConfigField("iconSize");if(k.title){let d=z.append("g");await Ie(d,k.title,{useHtmlLabels:!1,width:v*1.5,classes:"architecture-service-label"},m),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+v/2+", "+v+")")}let N=z.append("g");if(k.icon)N.html(`<g>${await nt(k.icon,{height:v,width:v,fallbackPrefix:it.prefix})}</g>`);else if(k.iconText){N.html(`<g>${await nt("blank",{height:v,width:v,fallbackPrefix:it.prefix})}</g>`);let u=N.append("g").append("foreignObject").attr("width",v).attr("height",v).append("div").attr("class","node-icon-text").attr("style",`height: ${v}px;`).append("div").html(O(k.iconText,m)),g=parseInt(window.getComputedStyle(u.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;u.attr("style",`-webkit-line-clamp: ${Math.floor((v-2)/g)};`)}else N.append("path").attr("class","node-bkg").attr("id",`${w}-node-${k.id}`).attr("d",`M0,${v} V5 Q0,0 5,0 H${v-5} Q${v},0 ${v},5 V${v} Z`);z.attr("id",`${w}-service-${k.id}`).attr("class","architecture-service");let{width:c,height:y}=z.node().getBBox();k.width=c,k.height=y,t.setElementForId(k.id,z)}return 0},"drawServices"),Vt=e(function(t,n,l,w){l.forEach((m)=>{let k=n.append("g"),z=t.getConfigField("iconSize");k.append("g").append("rect").attr("id",`${w}-node-${m.id}`).attr("fill-opacity","0").attr("width",z).attr("height",z),k.attr("class","architecture-junction");let{width:N,height:c}=k._groups[0][0].getBBox();k.width=N,k.height=c,t.setElementForId(m.id,k)})},"drawJunctions");In([{name:it.prefix,icons:it}]);lt.use(xt.default);function Tt(t,n,l){t.forEach((w)=>{n.add({group:"nodes",data:{type:"service",id:w.id,icon:w.icon,label:w.title,parent:w.in,width:l.getConfigField("iconSize"),height:l.getConfigField("iconSize")},classes:"node-service"})})}e(Tt,"addServices");function At(t,n,l){t.forEach((w)=>{n.add({group:"nodes",data:{type:"junction",id:w.id,parent:w.in,width:l.getConfigField("iconSize"),height:l.getConfigField("iconSize")},classes:"node-junction"})})}e(At,"addJunctions");function Lt(t,n){n.nodes().map((l)=>{let w=Qe(l);if(w.type==="group")return;w.x=l.position().x,w.y=l.position().y,t.getElementById(w.id).attr("transform","translate("+(w.x||0)+","+(w.y||0)+")")})}e(Lt,"positionNodes");function Ct(t,n){t.forEach((l)=>{n.add({group:"nodes",data:{type:"group",id:l.id,icon:l.icon,label:l.title,parent:l.in},classes:"node-group"})})}e(Ct,"addGroups");function It(t,n){t.forEach((l)=>{let{lhsId:w,rhsId:m,lhsInto:k,lhsGroup:z,rhsInto:v,lhsDir:N,rhsDir:c,rhsGroup:y,title:d}=l,f=ft(l.lhsDir,l.rhsDir)?"segments":"straight",u={id:`${w}-${m}`,label:d,source:w,sourceDir:N,sourceArrow:k,sourceGroup:z,sourceEndpoint:N==="L"?"0 50%":N==="R"?"100% 50%":N==="T"?"50% 0":"50% 100%",target:m,targetDir:c,targetArrow:v,targetGroup:y,targetEndpoint:c==="L"?"0 50%":c==="R"?"100% 50%":c==="T"?"50% 0":"50% 100%"};n.add({group:"edges",data:u,classes:f})})}e(It,"addEdges");function bt(t,n,l,w=[]){let m=e((f,u)=>{let g=new Map;for(let[i,B]of f.entries()){let F=`${i}`,o=0,h=[...B.entries()];if(h.length===1){g.set(F,h[0][1]);continue}for(let R=0;R<h.length-1;R++)for(let a=R+1;a<h.length;a++){let[P,H]=h[R],[M,j]=h[a];if(l.get(pt(P,M))===u)g.set(F,[...g.get(F)??[],...H,...j]);else if(P==="default"||M==="default")g.set(F,[...g.get(F)??[],...H,...j]);else{let x=`${F}-${o++}`;g.set(x,H);let Y=`${F}-${o++}`;g.set(Y,j)}}}return g},"flattenAlignments"),k=n.map((f)=>{let u=new Map,g=new Map;return f.forEach(([i,B],F)=>{let o=t.getNode(F)?.in??"default",h=u.get(B)??new Map;if(!u.has(B))u.set(B,h);let R=g.get(i)??new Map;if(!g.has(i))g.set(i,R);for(let a of[h,R]){let P=a.get(o)??[];if(!a.has(o))a.set(o,P);P.push(F)}}),{horiz:[...m(u,"horizontal").values()].filter((i)=>i.length>1),vert:[...m(g,"vertical").values()].filter((i)=>i.length>1)}}),[z,v]=k.reduce(([f,u],{horiz:g,vert:i})=>[[...f,...g],[...u,...i]],[[],[]]),N=new Set;w.forEach((f)=>f.members.forEach((u)=>N.add(u)));let c=e((f)=>f.filter((u)=>!u.some((g)=>N.has(g))),"dropOverlapping"),y=c(z),d=c(v);return w.forEach((f)=>{if(f.members.length<2)return;if(f.direction==="row")y.push([...f.members]);else d.push([...f.members])}),{horizontal:y,vertical:d}}e(bt,"getAlignments");function Nt(t,n,l=[]){let w=[],m=n.getConfigField("iconSize"),k=n.getConfigField("idealEdgeLengthMultiplier"),z=k*m,v=new Set;l.forEach((y)=>{for(let d=0;d<y.members.length-1;d++){let f=y.members[d],u=y.members[d+1];if(v.add(`${f}|${u}`),v.add(`${u}|${f}`),y.direction==="row")w.push({left:f,right:u,gap:z});else w.push({top:f,bottom:u,gap:z})}});let N=e((y)=>`${y[0]},${y[1]}`,"posToStr"),c=e((y)=>y.split(",").map((d)=>parseInt(d)),"strToPos");return t.forEach((y)=>{let d=new Map([...y.entries()].map(([i,B])=>[N(B),i])),f=[N([0,0])],u={},g={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};while(f.length>0){let i=f.shift();if(i){u[i]=1;let B=d.get(i);if(B){let F=c(i);Object.entries(g).forEach(([o,h])=>{let R=N([F[0]+h[0],F[1]+h[1]]),a=d.get(R);if(a&&!u[R]){if(f.push(R),v.has(`${B}|${a}`))return;w.push({[gt[o]]:a,[gt[kt(o)]]:B,gap:k*m})}})}}}}),w}e(Nt,"getRelativeConstraints");function St(t,n,l,w,m,{spatialMaps:k,groupAlignments:z}){return new Promise((v)=>{let N=p("body").append("div").attr("id","cy").attr("style","display:none"),c=lt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[0.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${m.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${m.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});N.remove(),Ct(l,c),Tt(t,c,m),At(n,c,m),It(w,c);let y=m.getLayoutHints(),d=bt(m,k,z,y),f=Nt(k,m,y),u=m.getConfigField("iconSize"),g=m.getConfigField("idealEdgeLengthMultiplier")*u,i=0.5*u,B=m.getConfigField("edgeElasticity"),F=m.getConfigField("seed"),o=c.layout({name:"fcose",quality:"proof",randomize:m.getConfigField("randomize"),nodeSeparation:m.getConfigField("nodeSeparation"),numIter:m.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(h){let[R,a]=h.connectedNodes(),{parent:P}=Qe(R),{parent:H}=Qe(a);return P===H?g:i},edgeElasticity(h){let[R,a]=h.connectedNodes(),{parent:P}=Qe(R),{parent:H}=Qe(a);return P===H?B:0.001},alignmentConstraint:d,relativePlacementConstraint:f});o.one("layoutstop",()=>{function h(R,a,P,H){let M,j,{x:_,y:x}=R,{x:Y,y:Z}=a;j=(H-x+(_-P)*(x-Z)/(_-Y))/Math.sqrt(1+Math.pow((x-Z)/(_-Y),2)),M=Math.sqrt(Math.pow(H-x,2)+Math.pow(P-_,2)-Math.pow(j,2));let Q=Math.sqrt(Math.pow(Y-_,2)+Math.pow(Z-x,2));M=M/Q;let se=(Y-_)*(H-x)-(Z-x)*(P-_);switch(!0){case se>=0:se=1;break;case se<0:se=-1;break}let re=(Y-_)*(P-_)+(Z-x)*(H-x);switch(!0){case re>=0:re=1;break;case re<0:re=-1;break}return j=Math.abs(j)*se,M=M*re,{distances:j,weights:M}}e(h,"getSegmentWeights"),c.startBatch();for(let R of Object.values(c.edges()))if(R.data?.()){let{x:a,y:P}=R.source().position(),{x:H,y:M}=R.target().position();if(a!==H&&P!==M){let j=R.sourceEndpoint(),_=R.targetEndpoint(),{sourceDir:x}=yt(R),[Y,Z]=Ve(x)?[j.x,_.y]:[_.x,j.y],{weights:Q,distances:se}=h(j,_,Y,Z);R.style("segment-distances",se),R.style("segment-weights",Q)}}c.endBatch(),dt(F,()=>o.run())});try{dt(F,()=>o.run())}catch(h){if(h instanceof RangeError&&h.message.includes("Invalid array length"))throw 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.");throw h}c.ready((h)=>{r.info("Ready",h),v(c)})})}e(St,"layoutArchitecture");var Xt=e(async(t,n,l,w)=>{let m=w.db;m.setDiagramId(n);let k=m.getServices(),z=m.getJunctions(),v=m.getGroups(),N=m.getEdges(),c=m.getDataStructures(),y=V(n),d=y.append("g");d.attr("class","architecture-edges");let f=y.append("g");f.attr("class","architecture-services");let u=y.append("g");u.attr("class","architecture-groups"),await Ht(m,f,k,n),Vt(m,f,z,n);let g=await St(k,z,v,N,m,c);await Yt(d,g,m,n),await Ut(u,g,m,n),Lt(m,g),mt(void 0,y,m.getConfigField("padding"),m.getConfigField("useMaxWidth"))},"draw"),jt={draw:Xt},ar={parser:wt,get db(){return new Et},renderer:jt,styles:_t};export{ar as diagram};
@@ -1,40 +0,0 @@
1
- import{e,y,mt,C,S,E,T,A,I,L,s,Tn,p,J,jn,po,Ia,Ra,Vn}from"./chunk-wvdehm9y.js";import{On,mn}from"./chunk-ttg6tbwx.js";import{Xe}from"./chunk-n8sky2q6.js";function rt(n,c){let m=0;if(c===void 0){for(let x of n)if(x=+x)m+=x}else{let x=-1;for(let _ of n)if(_=+c(_,++x,n))m+=_}return m}function dt(n){var c=n.length/6|0,m=Array(c),x=0;while(x<c)m[x]="#"+n.slice(x*6,++x*6);return m}var pt=dt("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function Pt(n){return n.source}function At(n){return n.target}function Tt(n){let c=Pt,m=At,x=Ia,_=Ra,P=null,g=null,N=jn(a);function a(){let i,f=po.call(arguments),v=c.apply(this,f),k=m.apply(this,f);if(P==null)g=n(i=N());if(g.lineStart(),f[0]=v,g.point(+x.apply(this,f),+_.apply(this,f)),f[0]=k,g.point(+x.apply(this,f),+_.apply(this,f)),g.lineEnd(),i)return g=null,i+""||null}return a.source=function(i){return arguments.length?(c=i,a):c},a.target=function(i){return arguments.length?(m=i,a):m},a.x=function(i){return arguments.length?(x=typeof i==="function"?i:J(+i),a):x},a.y=function(i){return arguments.length?(_=typeof i==="function"?i:J(+i),a):_},a.context=function(i){return arguments.length?(i==null?P=g=null:g=n(P=i),a):P},a}function vt(){return Tt(Vn)}function Ct(n){return n.target.depth}function yt(n){return n.depth}function gt(n,c){return c-1-n.height}function st(n,c){return n.sourceLinks.length?n.depth:c-1}function xt(n){return n.targetLinks.length?n.depth:n.sourceLinks.length?mn(n.sourceLinks,Ct)-1:0}function et(n){return function(){return n}}function _t(n,c){return ot(n.source,c.source)||n.index-c.index}function St(n,c){return ot(n.target,c.target)||n.index-c.index}function ot(n,c){return n.y0-c.y0}function kt(n){return n.value}function Bt(n){return n.index}function Ot(n){return n.nodes}function Rt(n){return n.links}function wt(n,c){let m=n.get(c);if(!m)throw Error("missing: "+c);return m}function Lt({nodes:n}){for(let c of n){let m=c.y0,x=m;for(let _ of c.sourceLinks)_.y0=m+_.width/2,m+=_.width;for(let _ of c.targetLinks)_.y1=x+_.width/2,x+=_.width}}function it(){let n=0,c=0,m=1,x=1,_=24,P=8,g,N=Bt,a=st,i,f,v=Ot,k=Rt,h=6;function w(){let t={nodes:v.apply(null,arguments),links:k.apply(null,arguments)};return G(t),M(t),W(t),U(t),z(t),Lt(t),t}w.update=function(t){return Lt(t),t},w.nodeId=function(t){return arguments.length?(N=typeof t==="function"?t:et(t),w):N},w.nodeAlign=function(t){return arguments.length?(a=typeof t==="function"?t:et(t),w):a},w.nodeSort=function(t){return arguments.length?(i=t,w):i},w.nodeWidth=function(t){return arguments.length?(_=+t,w):_},w.nodePadding=function(t){return arguments.length?(P=g=+t,w):P},w.nodes=function(t){return arguments.length?(v=typeof t==="function"?t:et(t),w):v},w.links=function(t){return arguments.length?(k=typeof t==="function"?t:et(t),w):k},w.linkSort=function(t){return arguments.length?(f=t,w):f},w.size=function(t){return arguments.length?(n=c=0,m=+t[0],x=+t[1],w):[m-n,x-c]},w.extent=function(t){return arguments.length?(n=+t[0][0],m=+t[1][0],c=+t[0][1],x=+t[1][1],w):[[n,c],[m,x]]},w.iterations=function(t){return arguments.length?(h=+t,w):h};function G({nodes:t,links:l}){for(let[r,o]of t.entries())o.index=r,o.sourceLinks=[],o.targetLinks=[];let u=new Map(t.map((r,o)=>[N(r,o,t),r]));for(let[r,o]of l.entries()){o.index=r;let{source:d,target:b}=o;if(typeof d!=="object")d=o.source=wt(u,d);if(typeof b!=="object")b=o.target=wt(u,b);d.sourceLinks.push(o),b.targetLinks.push(o)}if(f!=null)for(let{sourceLinks:r,targetLinks:o}of t)r.sort(f),o.sort(f)}function M({nodes:t}){for(let l of t)l.value=l.fixedValue===void 0?Math.max(rt(l.sourceLinks,kt),rt(l.targetLinks,kt)):l.fixedValue}function W({nodes:t}){let l=t.length,u=new Set(t),r=new Set,o=0;while(u.size){for(let d of u){d.depth=o;for(let{target:b}of d.sourceLinks)r.add(b)}if(++o>l)throw Error("circular link");u=r,r=new Set}}function U({nodes:t}){let l=t.length,u=new Set(t),r=new Set,o=0;while(u.size){for(let d of u){d.height=o;for(let{source:b}of d.targetLinks)r.add(b)}if(++o>l)throw Error("circular link");u=r,r=new Set}}function q({nodes:t}){let l=On(t,(o)=>o.depth)+1,u=(m-n-_)/(l-1),r=Array(l);for(let o of t){let d=Math.max(0,Math.min(l-1,Math.floor(a.call(null,o,l))));if(o.layer=d,o.x0=n+d*u,o.x1=o.x0+_,r[d])r[d].push(o);else r[d]=[o]}if(i)for(let o of r)o.sort(i);return r}function Z(t){let l=mn(t,(u)=>(x-c-(u.length-1)*g)/rt(u,kt));for(let u of t){let r=c;for(let o of u){o.y0=r,o.y1=r+o.value*l,r=o.y1+g;for(let d of o.sourceLinks)d.width=d.value*l}r=(x-r+g)/(u.length+1);for(let o=0;o<u.length;++o){let d=u[o];d.y0+=r*(o+1),d.y1+=r*(o+1)}Q(u)}}function z(t){let l=q(t);g=Math.min(P,(x-c)/(On(l,(u)=>u.length)-1)),Z(l);for(let u=0;u<h;++u){let r=Math.pow(0.99,u),o=Math.max(1-r,(u+1)/h);D(l,r,o),B(l,r,o)}}function B(t,l,u){for(let r=1,o=t.length;r<o;++r){let d=t[r];for(let b of d){let K=0,Y=0;for(let{source:R,value:ht}of b.targetLinks){let nt=ht*(b.layer-R.layer);K+=O(R,b)*nt,Y+=nt}if(!(Y>0))continue;let F=(K/Y-b.y0)*l;b.y0+=F,b.y1+=F,tt(b)}if(i===void 0)d.sort(ot);H(d,u)}}function D(t,l,u){for(let r=t.length,o=r-2;o>=0;--o){let d=t[o];for(let b of d){let K=0,Y=0;for(let{target:R,value:ht}of b.sourceLinks){let nt=ht*(R.layer-b.layer);K+=V(b,R)*nt,Y+=nt}if(!(Y>0))continue;let F=(K/Y-b.y0)*l;b.y0+=F,b.y1+=F,tt(b)}if(i===void 0)d.sort(ot);H(d,u)}}function H(t,l){let u=t.length>>1,r=t[u];j(t,r.y0-g,u-1,l),X(t,r.y1+g,u+1,l),j(t,x,t.length-1,l),X(t,c,0,l)}function X(t,l,u,r){for(;u<t.length;++u){let o=t[u],d=(l-o.y0)*r;if(d>0.000001)o.y0+=d,o.y1+=d;l=o.y1+g}}function j(t,l,u,r){for(;u>=0;--u){let o=t[u],d=(o.y1-l)*r;if(d>0.000001)o.y0-=d,o.y1-=d;l=o.y0-g}}function tt({sourceLinks:t,targetLinks:l}){if(f===void 0){for(let{source:{sourceLinks:u}}of l)u.sort(St);for(let{target:{targetLinks:u}}of t)u.sort(_t)}}function Q(t){if(f===void 0)for(let{sourceLinks:l,targetLinks:u}of t)l.sort(St),u.sort(_t)}function O(t,l){let u=t.y0-(t.sourceLinks.length-1)*g/2;for(let{target:r,width:o}of t.sourceLinks){if(r===l)break;u+=o+g}for(let{source:r,width:o}of l.targetLinks){if(r===t)break;u-=o}return u}function V(t,l){let u=l.y0-(l.targetLinks.length-1)*g/2;for(let{source:r,width:o}of l.targetLinks){if(r===t)break;u+=o+g}for(let{target:r,width:o}of t.sourceLinks){if(r===l)break;u-=o}return u}return w}function Nt(n){return[n.source.x1,n.y0]}function Gt(n){return[n.target.x0,n.y1]}function at(){return vt().source(Nt).target(Gt)}var bt=function(){var n=e(function(N,a,i,f){for(i=i||{},f=N.length;f--;i[N[f]]=a);return i},"o"),c=[1,9],m=[1,10],x=[1,5,10,12],_={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:e(function(a,i,f,v,k,h,w){var G=h.length-1;switch(k){case 7:let M=v.findOrCreateNode(h[G-4].trim().replaceAll('""','"')),W=v.findOrCreateNode(h[G-2].trim().replaceAll('""','"')),U=parseFloat(h[G].trim());v.addLink(M,W,U);break;case 8:case 9:case 11:this.$=h[G];break;case 10:this.$=h[G-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:c,20:m},{1:[2,6],7:11,10:[1,12]},n(m,[2,4],{9:13,5:[1,14]}),{12:[1,15]},n(x,[2,8]),n(x,[2,9]),{19:[1,16]},n(x,[2,11]),{1:[2,1]},{1:[2,5]},n(m,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:c,20:m},{15:18,16:7,17:8,18:c,20:m},{18:[1,19]},n(m,[2,3]),{12:[1,20]},n(x,[2,10]),{15:21,16:7,17:8,18:c,20:m},n([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:e(function(a,i){if(i.recoverable)this.trace(a);else{var f=Error(a);throw f.hash=i,f}},"parseError"),parse:e(function(a){var i=this,f=[0],v=[],k=[null],h=[],w=this.table,G="",M=0,W=0,U=0,q=2,Z=1,z=h.slice.call(arguments,1),B=Object.create(this.lexer),D={yy:{}};for(var H in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,H))D.yy[H]=this.yy[H];if(B.setInput(a,D.yy),D.yy.lexer=B,D.yy.parser=this,typeof B.yylloc>"u")B.yylloc={};var X=B.yylloc;h.push(X);var j=B.options&&B.options.ranges;if(typeof D.yy.parseError==="function")this.parseError=D.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function tt(R){f.length=f.length-2*R,k.length=k.length-R,h.length=h.length-R}e(tt,"popStack");function Q(){var R=v.pop()||B.lex()||Z;if(typeof R!=="number"){if(R instanceof Array)v=R,R=v.pop();R=i.symbols_[R]||R}return R}e(Q,"lex");var O,V,t,l,u,r,o={},d,b,K,Y;while(!0){if(t=f[f.length-1],this.defaultActions[t])l=this.defaultActions[t];else{if(O===null||typeof O>"u")O=Q();l=w[t]&&w[t][O]}if(typeof l>"u"||!l.length||!l[0]){var F="";Y=[];for(d in w[t])if(this.terminals_[d]&&d>q)Y.push("'"+this.terminals_[d]+"'");if(B.showPosition)F="Parse error on line "+(M+1)+`:
2
- `+B.showPosition()+`
3
- Expecting `+Y.join(", ")+", got '"+(this.terminals_[O]||O)+"'";else F="Parse error on line "+(M+1)+": Unexpected "+(O==Z?"end of input":"'"+(this.terminals_[O]||O)+"'");this.parseError(F,{text:B.match,token:this.terminals_[O]||O,line:B.yylineno,loc:X,expected:Y})}if(l[0]instanceof Array&&l.length>1)throw Error("Parse Error: multiple actions possible at state: "+t+", token: "+O);switch(l[0]){case 1:if(f.push(O),k.push(B.yytext),h.push(B.yylloc),f.push(l[1]),O=null,!V){if(W=B.yyleng,G=B.yytext,M=B.yylineno,X=B.yylloc,U>0)U--}else O=V,V=null;break;case 2:if(b=this.productions_[l[1]][1],o.$=k[k.length-b],o._$={first_line:h[h.length-(b||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(b||1)].first_column,last_column:h[h.length-1].last_column},j)o._$.range=[h[h.length-(b||1)].range[0],h[h.length-1].range[1]];if(r=this.performAction.apply(o,[G,W,M,D.yy,l[1],k,h].concat(z)),typeof r<"u")return r;if(b)f=f.slice(0,-1*b*2),k=k.slice(0,-1*b),h=h.slice(0,-1*b);f.push(this.productions_[l[1]][0]),k.push(o.$),h.push(o._$),K=w[f[f.length-2]][f[f.length-1]],f.push(K);break;case 3:return!0}}return!0},"parse")},P=function(){var N={EOF:1,parseError:e(function(i,f){if(this.yy.parser)this.yy.parser.parseError(i,f);else throw Error(i)},"parseError"),setInput:e(function(a,i){if(this.yy=i||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:e(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var i=a.match(/(?:\r\n?|\n).*/g);if(i)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),a},"input"),unput:e(function(a){var i=a.length,f=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var v=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1)this.yylineno-=f.length-1;var k=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===v.length?this.yylloc.first_column:0)+v[v.length-f.length].length-f[0].length:this.yylloc.first_column-i},this.options.ranges)this.yylloc.range=[k[0],k[0]+this.yyleng-i];return this.yyleng=this.yytext.length,this},"unput"),more:e(function(){return this._more=!0,this},"more"),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
- `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:e(function(a){this.unput(this.match.slice(a))},"less"),pastInput:e(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:e(function(){var a=this.match;if(a.length<20)a+=this._input.substr(0,20-a.length);return(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:e(function(){var a=this.pastInput(),i=Array(a.length+1).join("-");return a+this.upcomingInput()+`
5
- `+i+"^"},"showPosition"),test_match:e(function(a,i){var f,v,k;if(this.options.backtrack_lexer){if(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)k.yylloc.range=this.yylloc.range.slice(0)}if(v=a[0].match(/(?:\r\n?|\n).*/g),v)this.yylineno+=v.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],f=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(f)return f;else if(this._backtrack){for(var h in k)this[h]=k[h];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var a,i,f,v;if(!this._more)this.yytext="",this.match="";var k=this._currentRules();for(var h=0;h<k.length;h++)if(f=this._input.match(this.rules[k[h]]),f&&(!i||f[0].length>i[0].length)){if(i=f,v=h,this.options.backtrack_lexer)if(a=this.test_match(f,k[h]),a!==!1)return a;else if(this._backtrack){i=!1;continue}else return!1;else if(!this.options.flex)break}if(i){if(a=this.test_match(i,k[v]),a!==!1)return a;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:e(function(){var i=this.next();if(i)return i;else return this.lex()},"lex"),begin:e(function(i){this.conditionStack.push(i)},"begin"),popState:e(function(){var i=this.conditionStack.length-1;if(i>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:e(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:e(function(i){if(i=this.conditionStack.length-1-Math.abs(i||0),i>=0)return this.conditionStack[i];else return"INITIAL"},"topState"),pushState:e(function(i){this.begin(i)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(i,f,v,k){var h=k;switch(v){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return N}();_.lexer=P;function g(){this.yy={}}return e(g,"Parser"),g.prototype=_,_.Parser=g,new g}();bt.parser=bt;var lt=bt,ut=[],ft=[],ct=new Map,It=e(()=>{ut=[],ft=[],ct=new Map,C()},"clear"),Mt=class{constructor(n,c,m=0){this.source=n,this.target=c,this.value=m}static{e(this,"SankeyLink")}},Yt=e((n,c,m)=>{ut.push(new Mt(n,c,m))},"addLink"),Dt=class{constructor(n){this.ID=n}static{e(this,"SankeyNode")}},jt=e((n)=>{n=y.sanitizeText(n,s());let c=ct.get(n);if(c===void 0)c=new Dt(n),ct.set(n,c),ft.push(c);return c},"findOrCreateNode"),$t=e(()=>ft,"getNodes"),zt=e(()=>ut,"getLinks"),Vt=e(()=>({nodes:ft.map((n)=>({id:n.ID})),links:ut.map((n)=>({source:n.source.ID,target:n.target.ID,value:n.value}))}),"getGraph"),Ft={nodesMap:ct,getConfig:e(()=>s().sankey,"getConfig"),getNodes:$t,getLinks:zt,getGraph:Vt,addLink:Yt,findOrCreateNode:jt,getAccTitle:E,setAccTitle:S,getAccDescription:A,setAccDescription:T,getDiagramTitle:L,setDiagramTitle:I,clear:It},Et=class n{static{e(this,"Uid")}static{this.count=0}static next(c){return new n(c+ ++n.count)}constructor(c){this.id=c,this.href=`#${c}`}toString(){return"url("+this.href+")"}},Wt={left:yt,right:gt,center:xt,justify:st},Ut=e((n)=>{let c=0,m=0;for(let x of n){let _=x.value??0;if(_>c)c=_,m=x.layer??0}return m},"findCentralNodeLayer"),Ht=e(function(n,c,m,x){let{securityLevel:_,sankey:P}=s(),g=Tn.sankey,N;if(_==="sandbox")N=p("#i"+c);let a=_==="sandbox"?p(N.nodes()[0].contentDocument.body):p("body"),i=_==="sandbox"?a.select(`[id="${c}"]`):p(`[id="${c}"]`),f=P?.width??g.width,v=P?.height??g.width,k=P?.useMaxWidth??g.useMaxWidth,h=P?.nodeAlignment??g.nodeAlignment,w=P?.prefix??g.prefix,G=P?.suffix??g.suffix,M=P?.showValues??g.showValues,W=P?.nodeWidth??g.nodeWidth??10,U=P?.nodePadding??g.nodePadding??12,q=P?.labelStyle??g.labelStyle??"legacy",Z=P?.nodeColors??{},z=x.db.getGraph(),B=Wt[h];it().nodeId((r)=>r.id).nodeWidth(W).nodePadding(U+(M?15:0)).nodeAlign(B).extent([[0,0],[f,v]])(z);let H=Ut(z.nodes),X=Xe(pt),j=e((r)=>Z[r]??X(r),"getNodeColor");i.append("g").attr("class","nodes").selectAll(".node").data(z.nodes).join("g").attr("class","node").attr("id",(r)=>(r.uid=Et.next("node-")).id).attr("transform",function(r){return"translate("+r.x0+","+r.y0+")"}).attr("x",(r)=>r.x0).attr("y",(r)=>r.y0).append("rect").attr("height",(r)=>r.y1-r.y0).attr("width",(r)=>r.x1-r.x0).attr("fill",(r)=>j(r.id));let tt=e(({id:r,value:o})=>{if(!M)return r;return`${r}
7
- ${w}${Math.round(o*100)/100}${G}`},"getText"),Q=e((r)=>{if(q==="outlined"){if((r.layer??0)<H)return{x:r.x0-6,anchor:"end"};return{x:r.x1+6,anchor:"start"}}if(r.x0<f/2)return{x:r.x1+6,anchor:"start"};return{x:r.x0-6,anchor:"end"}},"getLabelPosition"),O=i.append("g").attr("class","node-labels").attr("font-size",14),V=e((r)=>O.selectAll(r?`.${r}`:"text").data(z.nodes).join("text").attr("class",r??null).attr("x",(o)=>Q(o).x).attr("y",(o)=>(o.y1+o.y0)/2).attr("dy",`${M?"0":"0.35"}em`).attr("text-anchor",(o)=>Q(o).anchor).text(tt),"appendLabel");if(q==="outlined")V("sankey-label-bg"),V("sankey-label-fg");else V();let t=i.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",0.5).selectAll(".link").data(z.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),l=P?.linkColor??"gradient";if(l==="gradient"){let r=t.append("linearGradient").attr("id",(o)=>(o.uid=Et.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",(o)=>o.source.x1).attr("x2",(o)=>o.target.x0);r.append("stop").attr("offset","0%").attr("stop-color",(o)=>j(o.source.id)),r.append("stop").attr("offset","100%").attr("stop-color",(o)=>j(o.target.id))}let u;switch(l){case"gradient":u=e((r)=>r.uid,"coloring");break;case"source":u=e((r)=>j(r.source.id),"coloring");break;case"target":u=e((r)=>j(r.target.id),"coloring");break;default:u=l}t.append("path").attr("d",at()).attr("stroke",u).attr("stroke-width",(r)=>Math.max(1,r.width)),mt(void 0,i,0,k)},"draw"),Xt={draw:Ht},Jt=e((n)=>n.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
8
- `).trim(),"prepareTextForParsing"),Kt=e((n)=>`.label {
9
- font-family: ${n.fontFamily};
10
- }
11
-
12
- .node-labels {
13
- font-family: ${n.fontFamily};
14
- }
15
-
16
- /* Outlined label style - background stroke for better readability */
17
- .sankey-label-bg {
18
- stroke: ${n.mainBkg||n.background||"#fff"};
19
- stroke-width: 4px;
20
- stroke-linejoin: round;
21
- paint-order: stroke;
22
- }
23
-
24
- /* Foreground label text */
25
- .sankey-label-fg {
26
- fill: ${n.textColor};
27
- }
28
-
29
- /* Node styling */
30
- .node rect {
31
- shape-rendering: crispEdges;
32
- }
33
-
34
- /* Link styling */
35
- .link {
36
- fill: none;
37
- stroke-opacity: 0.5;
38
- mix-blend-mode: multiply;
39
- }
40
- `,"getStyles"),Qt=Kt,qt=lt.parse.bind(lt);lt.parse=(n)=>qt(Jt(n));var Be={styles:Qt,parser:lt,db:Ft,renderer:Xt};export{Be as diagram};
@@ -1,30 +0,0 @@
1
- import{hn}from"./chunk-1eg9sbbt.js";import{W}from"./chunk-y56aaba5.js";import{e,r,D,b,O,B,C,S,E,T,A,I,L,V,In,nt,U}from"./chunk-wvdehm9y.js";import{X}from"./chunk-aqfpnhmt.js";var P=/[─━│┃└┗├┣]/,F=/[└┗├┣]/,ee=/[─━]/,H=/^[\s│┃]+$/,z=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,G=/^\s*%%/,te=" ";function Z(i){return i.some((n)=>P.test(n))}e(Z,"isBoxDrawingFormat");function q(i){for(let n of i){let t=F.exec(n);if(t?.index&&t.index>0)return t.index}return 4}e(q,"inferSegmentWidth");function j(i,n){return i.replace(/\bline\s+(\d+)\b/gi,(t,o)=>{let c=parseInt(o,10),s=n.get(c);return s?`line ${s}`:t})}e(j,"remapErrorLines");function J(i){let n=i.split(`
2
- `),t=new Map,o=-1;for(let[g,d]of n.entries())if(d.trim()==="treeView-beta"){o=g;break}if(o===-1)return{text:i,lineMap:t};let c=[];for(let g=o+1;g<n.length;g++){let d=n[g];if(d.trim()===""||G.test(d)||z.test(d))continue;if(H.test(d))continue;c.push(d.replace(/\t/g," "))}if(!Z(c))return{text:i,lineMap:t};let s=q(c),a=[],l=0;for(let g=0;g<=o;g++)a.push(n[g]),l++,t.set(l,g+1);for(let g=o+1;g<n.length;g++){let d=n[g],p=d.trim(),f=g+1;if(p===""){a.push(d),l++,t.set(l,f);continue}if(G.test(d)){a.push(d),l++,t.set(l,f);continue}if(z.test(d)){a.push(d),l++,t.set(l,f);continue}if(H.test(d))continue;let h=d.replace(/\t/g," "),w=F.exec(h);if(w?.index!==void 0){let u=w.index,x=Math.round(u/s)+1,m=u+1;while(m<h.length&&ee.test(h[m]))m++;while(m<h.length&&h[m]===" ")m++;let y=h.slice(m).trimEnd();if(!y)throw Error(`Line ${f}: Empty node — expected a filename or directory name after the box-drawing prefix`);let Q=te.repeat(x);a.push(Q+y),l++,t.set(l,f)}else if(/^[\s─━│┃└┗├┣]+$/.test(h))continue;else if(P.test(h))a.push(d),l++,t.set(l,f);else if(/^\s+/.test(h))throw Error(`Line ${f}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);else a.push(d),l++,t.set(l,f)}return{text:a.join(`
3
- `),lineMap:t}}e(J,"preprocessBoxDrawing");var v=new hn(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),re=e(()=>{v.reset(),C()},"clear"),ne=e(()=>v.records.stack[0],"getRoot"),ie=e(()=>v.records.cnt,"getCount"),oe=D.treeView,se=e(()=>U(oe,b().treeView),"getConfig"),ae=e((i,n,t,o,c,s)=>{while(i<=v.records.stack[v.records.stack.length-1].level)v.records.stack.pop();let a={id:v.records.cnt++,level:i,name:n,nodeType:t,icon:c,cssClass:o,description:s,children:[]};v.records.stack[v.records.stack.length-1].children.push(a),v.records.stack.push(a)},"addNode"),ce={clear:re,addNode:ae,getRoot:ne,getCount:ie,getConfig:se,getAccTitle:E,getAccDescription:A,getDiagramTitle:L,setAccDescription:T,setAccTitle:S,setDiagramTitle:I},N=ce,le=e((i)=>{W(i,N);for(let n of i.nodes){let t=typeof n.indent==="number"?n.indent:0,o=n.name,c=o.endsWith("/");if(c)o=o.slice(0,-1);let s=c?"directory":"file",a=n.classAnnotation||void 0,l=n.iconAnnotation,g=l!==void 0?l||"none":void 0,d=n.descAnnotation||void 0,p=d?O(d,b()):void 0;N.addNode(t,o,s,a,g,p)}},"populate"),de={parse:e(async(i)=>{let{text:n,lineMap:t}=J(i);try{let o=await X("treeView",n);r.debug(o),le(o)}catch(o){if(t.size>0&&o instanceof Error)o.message=j(o.message,t);throw o}},"parse")},k={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function K(i,n){let t=n?.filenameIcons?.[i];if(t)return t;let o=i.lastIndexOf(".");if(o>0){let c=i.substring(o).toLowerCase(),s=n?.extensionIcons;return s?.[c]??s?.[c.slice(1)]}return}e(K,"detectIcon");function _(i,n){if(i.includes(":"))return i;if(i in k.icons||!n)return`${k.prefix}:${i}`;return`${n}:${i}`}e(_,"qualifyIcon");function R(i,n){if(i.icon==="none")return;if(i.icon)return _(i.icon,n.defaultIconPack);if(!n.showIcons)return;if(i.nodeType==="file"){let t=K(i.name,n);if(t==="none")return;if(t)return _(t,n.defaultIconPack)}return`${k.prefix}:${i.nodeType==="directory"?"folder":"file"}`}e(R,"getNodeIcon");In([{name:k.prefix,icons:k}]);var M=14,he=4,pe=16,fe=e(async(i,n)=>{let t=[],o=e((s)=>{let a=R(s,n);if(a)t.push({icon:a,node:s});s.children.forEach(o)},"collect");o(i);let c=await Promise.all(t.map(async({icon:s,node:a})=>({id:a.id,svg:await nt(s,{height:M,width:M})})));return new Map(c.map(({id:s,svg:a})=>[s,a]))},"resolveNodeIcons"),ge=e((i,n,t,o,c,s)=>{let a=o.append("g"),l="treeView-node-label";if(t.nodeType==="directory")l+=" treeView-node-dir";if(t.cssClass)l+=` ${t.cssClass}`;let g=M+he,d=R(t,c),p=d!==void 0;if(d)a.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${i+c.paddingX}, ${n+c.paddingY})`).html(s.get(t.id)??"");let f=a.append("text").text(t.name).attr("dominant-baseline","middle").attr("class",l),{height:h,width:w}=f.node().getBBox(),u=h+c.paddingY*2,x=i+c.paddingX+(p?g:0);f.attr("x",x),f.attr("y",n+u/2);let m=x+w,y=w+c.paddingX*2+(p?g:0);if(t.BBox={x:i,y:n,width:y,height:u},t.cssClass?.split(/\s+/).includes("highlight"))a.insert("rect",":first-child").attr("x",i).attr("y",n+1).attr("width",0).attr("height",u-2).attr("rx",3).attr("class","treeView-highlight-bg");return{node:t,nodeGroup:a,labelRightEdge:m,centerY:n+u/2}},"positionLabel"),Y=e((i,n,t,o,c,s)=>i.append("line").attr("x1",n).attr("y1",t).attr("x2",o).attr("y2",c).attr("stroke-width",s).attr("class","treeView-node-line"),"positionLine"),ue=e((i,n,t,o)=>{let c=0,s=0,a=[],l=e((p,f,h,w)=>{let u=w*(h.rowIndent+h.paddingX),x=ge(u,c,f,p,h,o);a.push(x);let{height:m,width:y}=f.BBox;Y(p,u-h.rowIndent,c+m/2,u,c+m/2,h.lineThickness),s=Math.max(s,u+y),c+=m},"drawNode"),g=e((p,f=0)=>{l(i,p,t,f),p.children.forEach((x)=>{g(x,f+1)});let{x:h,y:w,height:u}=p.BBox;if(p.children.length){let{y:x,height:m}=p.children[p.children.length-1].BBox;Y(i,h+t.paddingX,w+u,h+t.paddingX,x+m/2+t.lineThickness/2,t.lineThickness)}},"processNode");g(n);let d=a.filter((p)=>p.node.description);if(d.length>0){let f=Math.max(...a.map((h)=>h.labelRightEdge))+pe;for(let h of d){let u=h.nodeGroup.append("text").text(h.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",f).attr("y",h.centerY).node().getBBox();s=Math.max(s,f+u.width+t.paddingX)}}for(let p of a)if(p.node.cssClass?.split(/\s+/).includes("highlight")){let f=p.nodeGroup.select(".treeView-highlight-bg");if(!f.empty()){let h=s-p.node.BBox.x+8;f.attr("width",h),s=Math.max(s,p.node.BBox.x+h+2)}}return{totalHeight:c,totalWidth:s}},"drawTree"),me=e(async(i,n,t,o)=>{r.debug(`Rendering treeView diagram
4
- `+i);let c=o.db,s=c.getRoot(),a=c.getConfig(),l=V(n),g=l.append("g");g.attr("class","tree-view");let d=await fe(s,a),{totalHeight:p,totalWidth:f}=ue(g,s,a,d);l.attr("viewBox",`-${a.lineThickness/2} 0 ${f} ${p}`),B(l,p,f,a.useMaxWidth)},"draw"),we={draw:me},xe=we,ve={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},be=e(({treeView:i})=>{let{labelFontSize:n,labelColor:t,lineColor:o,iconColor:c,descriptionColor:s,highlightBg:a,highlightStroke:l}=U(ve,i);return`
5
- .treeView-node-label {
6
- font-size: ${n};
7
- fill: ${t};
8
- white-space: pre;
9
- }
10
- .treeView-node-dir {
11
- font-weight: bold;
12
- }
13
- .treeView-node-line {
14
- stroke: ${o};
15
- }
16
- .treeView-node-icon {
17
- color: ${c};
18
- }
19
- .treeView-node-description {
20
- font-size: ${n};
21
- fill: ${s};
22
- font-style: italic;
23
- white-space: pre;
24
- }
25
- .treeView-highlight-bg {
26
- fill: ${a};
27
- stroke: ${l};
28
- stroke-width: 1;
29
- }
30
- `},"styles"),Ce=be,Ee={db:N,renderer:xe,parser:de,styles:Ce};export{Ee as diagram};