@bkm016/basalt 0.1.3 → 0.1.5

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 (287) hide show
  1. package/README.md +53 -5
  2. package/{chunk-y648fzx0.js → chunk-0039s4jt.js} +3 -3
  3. package/{chunk-m40gxwq4.js → chunk-00gwse5r.js} +3 -3
  4. package/{chunk-t6zs4kw0.js → chunk-0fwdxd45.js} +2 -2
  5. package/{chunk-6hssbcgj.js → chunk-0j0qggej.js} +1 -1
  6. package/chunk-0n99m9m4.js +2 -0
  7. package/{chunk-d8gtbw9g.js → chunk-0stvywr8.js} +1 -1
  8. package/{chunk-ztsjgssj.js → chunk-1xa7d5mh.js} +1 -1
  9. package/chunk-2nb3d92s.js +2 -0
  10. package/chunk-2nkfxhef.js +3868 -0
  11. package/chunk-2pa1z37c.js +2 -0
  12. package/{chunk-fw2bpqmw.js → chunk-2qcpq99g.js} +1 -1
  13. package/{chunk-981f9dw8.js → chunk-36cqq0ga.js} +6 -6
  14. package/{chunk-3cjsd292.js → chunk-3c330qna.js} +2 -2
  15. package/chunk-3k627vf2.js +3 -0
  16. package/{chunk-r7fpkb49.js → chunk-3k7ejpkc.js} +1 -1
  17. package/chunk-4g5f43ea.js +3 -0
  18. package/{chunk-fjtvjrkg.js → chunk-539ekagy.js} +4 -4
  19. package/{chunk-97rzj7f6.js → chunk-5v4g21rw.js} +1 -1
  20. package/{chunk-aefadsy6.js → chunk-6dsq0fns.js} +2 -2
  21. package/{chunk-pbcy6zdt.js → chunk-7as47pcw.js} +1 -1
  22. package/{chunk-g2t6t8fk.js → chunk-7jezts2n.js} +2 -2
  23. package/{chunk-8tjad3r0.js → chunk-7qq99360.js} +6 -6
  24. package/{chunk-gp7y0fja.js → chunk-7tgqhveh.js} +15 -15
  25. package/{chunk-mvfsxdx6.js → chunk-7w0mefgk.js} +10 -10
  26. package/{chunk-y58ygzn9.js → chunk-818nd6s1.js} +3 -3
  27. package/{chunk-vv7fp27r.js → chunk-8mezk0cb.js} +2 -2
  28. package/{chunk-rtzqqngy.js → chunk-8xb636vr.js} +5 -5
  29. package/{chunk-2esbgxps.js → chunk-980drajf.js} +15 -15
  30. package/{chunk-c7x1zq39.js → chunk-9z7sdh5e.js} +3 -3
  31. package/{chunk-10xzzn07.js → chunk-a4b75ekk.js} +2 -2
  32. package/{chunk-5j1krv9v.js → chunk-ar3dbfp9.js} +1 -1
  33. package/{chunk-vk1gxk1t.js → chunk-aw65h276.js} +1 -1
  34. package/{chunk-75m78j7x.js → chunk-b9fqretv.js} +2 -2
  35. package/{chunk-y0m980k3.js → chunk-bgkegf0k.js} +22 -22
  36. package/{chunk-0y7ne3d0.js → chunk-bwawt15q.js} +2 -2
  37. package/{chunk-pxsrqrd0.js → chunk-c4qr1f41.js} +2 -2
  38. package/chunk-dddsrff6.js +478 -0
  39. package/{chunk-xfvvh1s5.js → chunk-e63c1186.js} +1 -1
  40. package/{chunk-8296hw9m.js → chunk-ebzkckyw.js} +2 -2
  41. package/chunk-eegztdzb.js +2 -0
  42. package/{chunk-hwr56pfj.js → chunk-gw05p4g3.js} +1 -1
  43. package/{chunk-k23t7vhs.js → chunk-h1rypb99.js} +5 -5
  44. package/{chunk-nbb9trwz.js → chunk-hq5ke1yp.js} +2 -2
  45. package/{chunk-jwdb0ccj.js → chunk-jvwg4rn1.js} +3 -3
  46. package/{chunk-fm0k0qtz.js → chunk-jyrwk08p.js} +2 -2
  47. package/chunk-kns4kv7b.js +3 -0
  48. package/{chunk-8d46jtbj.js → chunk-mat08ab1.js} +2 -2
  49. package/{chunk-bannb9xm.js → chunk-mkp28k1x.js} +2 -2
  50. package/{chunk-d2j735sd.js → chunk-npez1492.js} +2 -2
  51. package/{chunk-shadcb9z.js → chunk-nx3jnbv8.js} +2 -2
  52. package/{chunk-ykens1hy.js → chunk-nxkmd29x.js} +1 -1
  53. package/{chunk-y7nma9rk.js → chunk-pjr91g6k.js} +2 -2
  54. package/{chunk-m8vkwdgr.js → chunk-r0jc8e7t.js} +4 -4
  55. package/chunk-rxj6tct8.js +2 -0
  56. package/{chunk-362g64pd.js → chunk-sqaam5ak.js} +1 -1
  57. package/{chunk-gzxnene8.js → chunk-srjgvdvs.js} +12 -12
  58. package/{chunk-r9aatvwm.js → chunk-stj493dn.js} +2 -2
  59. package/{chunk-k6w6y71k.js → chunk-t7sc0wwc.js} +2 -2
  60. package/{chunk-27gntzs5.js → chunk-v4k3qmdm.js} +2 -2
  61. package/{chunk-x1xss1d7.js → chunk-vt1anydc.js} +4 -4
  62. package/chunk-wd3z74av.js +2 -0
  63. package/{chunk-z55bmysw.js → chunk-wfyrfvfn.js} +1 -1
  64. package/{chunk-v9fea96h.js → chunk-wnzvnskb.js} +2 -2
  65. package/{chunk-cjc90f84.js → chunk-x89em726.js} +3 -3
  66. package/{chunk-1qpces5a.js → chunk-xtq1xpq0.js} +2 -2
  67. package/chunk-yna8bwqc.js +2 -0
  68. package/{chunk-k506w58v.js → chunk-zn0g0859.js} +2 -2
  69. package/{chunk-qe0teyn1.js → chunk-zrkh5dw7.js} +1 -1
  70. package/chunk-zzwjt7fp.js +2 -0
  71. package/compiled.js +12 -12
  72. package/package.json +1 -1
  73. package/ui-test-worker.js +20 -20
  74. package/web/chunk-01hcjafh.js +2 -0
  75. package/web/{chunk-n8sky2q6.js → chunk-07agqp8h.js} +1 -1
  76. package/web/{chunk-tx8240k4.js → chunk-0k9aec1s.js} +20 -20
  77. package/web/{chunk-74j07k8k.js → chunk-0p1nmj5n.js} +2 -2
  78. package/web/chunk-0qr891eq.js +70 -0
  79. package/web/{chunk-ts7zrf5b.js → chunk-0whceqes.js} +2 -2
  80. package/web/chunk-0ytga215.js +1 -0
  81. package/web/{chunk-h288yd5w.js → chunk-12z7d0hp.js} +3 -3
  82. package/web/chunk-14bad871.js +2 -0
  83. package/web/chunk-1amzv4ha.js +1 -0
  84. package/web/chunk-1cfh0e2e.js +324 -0
  85. package/web/chunk-1pasbxwh.js +89 -0
  86. package/web/{chunk-j0bwwc1g.js → chunk-1s2hp6h1.js} +1 -1
  87. package/web/chunk-26bwh1sb.js +169 -0
  88. package/web/{chunk-b0a8nbj0.js → chunk-2nht58dc.js} +5 -5
  89. package/web/chunk-2y0rc1fe.js +1 -0
  90. package/web/chunk-3hkgdw6f.js +36 -0
  91. package/web/chunk-4a4j030b.js +1 -0
  92. package/web/{chunk-4fzj0azw.js → chunk-4m3zdd41.js} +6 -6
  93. package/web/chunk-4w298aqs.js +1 -0
  94. package/web/{chunk-2hd1pe9w.js → chunk-56krfj3b.js} +7 -7
  95. package/web/{chunk-ds7srg4p.js → chunk-5nda24gv.js} +1 -1
  96. package/web/{chunk-5hmfk69r.js → chunk-5shygfgb.js} +19 -19
  97. package/web/chunk-65nwc4cf.js +1 -0
  98. package/web/chunk-6bwgdvf6.js +1 -0
  99. package/web/chunk-6enn8p66.js +1 -0
  100. package/web/chunk-6stt9d18.js +1 -0
  101. package/web/{chunk-4gavbw65.js → chunk-7a3c137d.js} +1 -1
  102. package/web/chunk-7e47b1sn.js +1 -0
  103. package/web/chunk-7pypx5h8.js +2 -0
  104. package/web/chunk-7znyd1mj.js +39 -0
  105. package/web/{chunk-0z0jycs8.js → chunk-892nf39p.js} +7 -7
  106. package/web/chunk-8r0s8tx7.js +1 -0
  107. package/web/chunk-9dy7z3ej.js +2 -0
  108. package/web/chunk-9mq2cdtq.js +1 -0
  109. package/web/chunk-9w5tf22s.js +1 -0
  110. package/web/{chunk-es28k2t7.js → chunk-9xgspn75.js} +2 -2
  111. package/web/{chunk-0xc2c540.js → chunk-abhad4zj.js} +56 -56
  112. package/web/chunk-advfpyb9.js +140 -0
  113. package/web/chunk-affear07.js +3 -0
  114. package/web/chunk-ahztazsg.js +1 -0
  115. package/web/chunk-aqt7kc3s.js +106 -0
  116. package/web/chunk-b5hah4mf.js +1 -0
  117. package/web/chunk-b8tfetd8.js +1 -0
  118. package/web/{chunk-7yc083xj.js → chunk-bnb9xhgw.js} +15 -15
  119. package/web/{chunk-n1dmrz44.js → chunk-c01176kn.js} +2 -2
  120. package/web/chunk-c3nn0vvc.js +1 -0
  121. package/web/chunk-c53xmf48.js +30 -0
  122. package/web/chunk-ckgpy4r4.js +1 -0
  123. package/web/chunk-crzseqbx.js +24 -0
  124. package/web/chunk-d22wq71s.js +1 -0
  125. package/web/{chunk-97b62pvb.js → chunk-d60dpf69.js} +19 -19
  126. package/web/{chunk-sn9ecfvy.js → chunk-d6ddkh6e.js} +1 -1
  127. package/web/{chunk-cg3jterp.js → chunk-d9wdsjkk.js} +2 -2
  128. package/web/{chunk-ttg6tbwx.js → chunk-da7m1kva.js} +2 -2
  129. package/web/chunk-dbnrfxt1.js +8 -0
  130. package/web/chunk-ddxf8e84.js +1 -0
  131. package/web/chunk-dzg1pv80.js +200 -0
  132. package/web/{chunk-xnq41dgs.js → chunk-e8h45nyr.js} +1 -1
  133. package/web/chunk-ej9vb61c.js +1 -0
  134. package/web/chunk-f9k3xrwb.js +2 -0
  135. package/web/{chunk-7xk0ntav.js → chunk-fjag6yg8.js} +2 -2
  136. package/web/chunk-fnnrrzqa.js +78 -0
  137. package/web/{chunk-n90cqdvg.js → chunk-fv6vm14n.js} +2 -2
  138. package/web/{chunk-axkyft9f.js → chunk-g5jxwkdh.js} +1 -1
  139. package/web/{chunk-ep37qp12.js → chunk-g8kkc6vz.js} +1 -1
  140. package/web/chunk-g9sqbafw.js +2 -0
  141. package/web/{chunk-g46f421r.js → chunk-gcv91974.js} +4 -4
  142. package/web/{chunk-7qxhk1kz.js → chunk-gxqaa4sv.js} +7 -7
  143. package/web/chunk-gxsb5tx3.js +1 -0
  144. package/web/{chunk-54thej0t.js → chunk-gyp6v7jd.js} +2 -2
  145. package/web/chunk-h0c42zy3.js +1 -0
  146. package/web/chunk-h2ag4kvz.js +2 -0
  147. package/web/{chunk-eqsd8zta.js → chunk-h6gh63xj.js} +2 -2
  148. package/web/{chunk-6m69hczt.js → chunk-h6k1x096.js} +2 -2
  149. package/web/{chunk-24mfx6w1.js → chunk-j1bw5v1g.js} +2 -2
  150. package/web/chunk-j34q5jn6.js +1 -0
  151. package/web/{chunk-0pbjgdgp.js → chunk-ja7w629n.js} +2 -2
  152. package/web/{chunk-zbj1trar.js → chunk-jam45rqg.js} +2 -2
  153. package/web/{chunk-23c1df7e.js → chunk-jcdw85mv.js} +1 -1
  154. package/web/chunk-jfvxxp5c.js +1 -0
  155. package/web/chunk-jg6fmz2d.js +1 -0
  156. package/web/{chunk-90xqeczk.js → chunk-k67v6dyg.js} +40 -40
  157. package/web/chunk-ka7c5rhx.js +99 -0
  158. package/web/{chunk-acybsx44.js → chunk-kza0t0gj.js} +1 -1
  159. package/web/{chunk-7520nrbb.js → chunk-m8knte9z.js} +1 -1
  160. package/web/{chunk-v5cnt7c8.js → chunk-mnzramhc.js} +1 -1
  161. package/web/{chunk-7v5rxabp.js → chunk-mpfgr049.js} +1 -1
  162. package/web/chunk-mz1dabxh.js +1 -0
  163. package/web/chunk-mz9b5bsa.js +1 -0
  164. package/web/chunk-p53n0hwr.js +1 -0
  165. package/web/chunk-paywgcf7.js +40 -0
  166. package/web/chunk-pfcnr9tw.js +1 -0
  167. package/web/chunk-pyg1mr80.js +303 -0
  168. package/web/chunk-q7xkscc5.js +1 -0
  169. package/web/{chunk-xzp7jf7e.js → chunk-qcge7d6s.js} +2 -2
  170. package/web/chunk-qmbgb79a.js +1139 -0
  171. package/web/{chunk-5b2nw6j1.js → chunk-qq5gh5zr.js} +1 -1
  172. package/web/chunk-qrdh9j62.js +1 -0
  173. package/web/{chunk-w7snhcyg.js → chunk-s24qs1bn.js} +9 -9
  174. package/web/chunk-sd22cnjy.js +1 -0
  175. package/web/{chunk-ydtrc1ay.js → chunk-sd3cdqcm.js} +2 -2
  176. package/web/{chunk-rykfak98.js → chunk-sf101c23.js} +2 -2
  177. package/web/{chunk-p9hsd3rn.js → chunk-sfq6cw45.js} +2 -2
  178. package/web/chunk-svqj4az8.js +1 -0
  179. package/web/chunk-t7jwyvvr.js +1 -0
  180. package/web/{chunk-47q4hmfp.js → chunk-tcp77cp2.js} +2 -2
  181. package/web/chunk-tf18d2dk.css +1 -0
  182. package/web/chunk-thbqwq6b.js +1 -0
  183. package/web/chunk-v0g4cqc1.js +4 -0
  184. package/web/chunk-vhzys0rr.js +292 -0
  185. package/web/chunk-vnt34mkb.js +1 -0
  186. package/web/chunk-vqfz99ff.js +1 -0
  187. package/web/chunk-vttgyb5v.js +2 -0
  188. package/web/chunk-x7sb3bwf.js +370 -0
  189. package/web/chunk-xce8n339.js +1 -0
  190. package/web/{chunk-mb4qx9hy.js → chunk-xk1t58c4.js} +12 -12
  191. package/web/chunk-xsrvw7dt.js +4 -0
  192. package/web/chunk-xtss82z2.js +1 -0
  193. package/web/{chunk-2j4m0bh1.js → chunk-y7jq61nv.js} +2 -2
  194. package/web/{chunk-7ba8vrfc.js → chunk-ybw6vgf6.js} +2 -2
  195. package/web/{chunk-24h1rfje.js → chunk-yvgs6bm3.js} +4 -4
  196. package/web/{chunk-sb1cjpq8.js → chunk-z4aj066q.js} +1 -1
  197. package/web/chunk-zazs8p6c.js +1 -0
  198. package/web/{chunk-n8gfjj9a.js → chunk-zc1mk10n.js} +19 -19
  199. package/web/{chunk-5qqw2e0t.js → chunk-zqht0jzx.js} +6 -6
  200. package/web/{chunk-mwj9tpkz.js → chunk-zz397b0v.js} +12 -12
  201. package/web/index.html +1 -1
  202. package/worker.js +1 -1
  203. package/chunk-06hdzq5n.js +0 -2
  204. package/chunk-09rj27b2.js +0 -2
  205. package/chunk-1zdwrgd4.js +0 -2
  206. package/chunk-5c9j8qe4.js +0 -478
  207. package/chunk-9mmz6wt3.js +0 -2
  208. package/chunk-bpw6q7g0.js +0 -3
  209. package/chunk-bxn5kmpz.js +0 -3753
  210. package/chunk-n6e43rvk.js +0 -3
  211. package/chunk-pmqtkqsf.js +0 -2
  212. package/chunk-ry0z4ev6.js +0 -2
  213. package/chunk-v258nxcz.js +0 -2
  214. package/chunk-zmsgwr3s.js +0 -2
  215. package/web/chunk-0s80zw00.js +0 -1
  216. package/web/chunk-166qe5j6.js +0 -2
  217. package/web/chunk-1c95wfvq.js +0 -1
  218. package/web/chunk-329rtxa9.js +0 -1
  219. package/web/chunk-33qwz9bc.js +0 -2
  220. package/web/chunk-3qjnwsph.js +0 -1
  221. package/web/chunk-4rm1vy7w.js +0 -1
  222. package/web/chunk-59kqahb3.js +0 -1
  223. package/web/chunk-61jahh35.js +0 -292
  224. package/web/chunk-6beqrmtq.js +0 -1
  225. package/web/chunk-6gxf3vsg.js +0 -1
  226. package/web/chunk-6parf7sy.js +0 -2
  227. package/web/chunk-89fkdgbp.js +0 -2
  228. package/web/chunk-8qgpfxkz.js +0 -1
  229. package/web/chunk-9a3q0jsh.js +0 -36
  230. package/web/chunk-9bgey148.js +0 -169
  231. package/web/chunk-9xh96b33.js +0 -2
  232. package/web/chunk-a5sg33w2.js +0 -3
  233. package/web/chunk-a91vxtx4.js +0 -1
  234. package/web/chunk-agec7jj4.js +0 -1
  235. package/web/chunk-c516cghj.js +0 -1
  236. package/web/chunk-cqp1d4p0.js +0 -1
  237. package/web/chunk-cwtdnacf.js +0 -1
  238. package/web/chunk-dg1vas6z.js +0 -8
  239. package/web/chunk-dy2gm1fs.js +0 -1
  240. package/web/chunk-f91wzwtk.js +0 -1
  241. package/web/chunk-fc0nx23g.js +0 -1
  242. package/web/chunk-fhnypcrm.js +0 -1139
  243. package/web/chunk-fv60p68p.js +0 -1
  244. package/web/chunk-g1ev11wx.js +0 -1
  245. package/web/chunk-h18tnrf2.js +0 -1
  246. package/web/chunk-hfaffkrh.js +0 -1
  247. package/web/chunk-hszjc2ny.js +0 -70
  248. package/web/chunk-j2vt8c8v.js +0 -1
  249. package/web/chunk-jqa39f8t.js +0 -78
  250. package/web/chunk-jvbbrnpa.js +0 -1
  251. package/web/chunk-jzfd7cyh.js +0 -2
  252. package/web/chunk-ka3q31t1.js +0 -1
  253. package/web/chunk-ka9ak8wr.js +0 -1
  254. package/web/chunk-m2d1sp30.js +0 -1
  255. package/web/chunk-mnjd59jk.js +0 -1
  256. package/web/chunk-ng0nbfhh.js +0 -1
  257. package/web/chunk-nz9nxk48.js +0 -1
  258. package/web/chunk-phw908hn.js +0 -1
  259. package/web/chunk-pjmmma1k.js +0 -1
  260. package/web/chunk-pxe3vna4.js +0 -1
  261. package/web/chunk-q7yn4m3t.js +0 -1
  262. package/web/chunk-qh15dxav.css +0 -1
  263. package/web/chunk-qnhqexe0.js +0 -1
  264. package/web/chunk-rcx1aee5.js +0 -99
  265. package/web/chunk-rjqj6ffe.js +0 -1
  266. package/web/chunk-rks7ksv3.js +0 -106
  267. package/web/chunk-rtf2zzzv.js +0 -1
  268. package/web/chunk-sgvp8vge.js +0 -1
  269. package/web/chunk-sjjwte12.js +0 -1
  270. package/web/chunk-srrfphes.js +0 -1
  271. package/web/chunk-t7bwsdbr.js +0 -1
  272. package/web/chunk-tse9gvyq.js +0 -89
  273. package/web/chunk-vd6y2pcm.js +0 -39
  274. package/web/chunk-vpa55vje.js +0 -4
  275. package/web/chunk-vymqrpm3.js +0 -303
  276. package/web/chunk-wdtnhpd6.js +0 -4
  277. package/web/chunk-wmvd6j0b.js +0 -200
  278. package/web/chunk-xvsmtetz.js +0 -30
  279. package/web/chunk-y3ajqthy.js +0 -370
  280. package/web/chunk-yd1ez3wd.js +0 -2
  281. package/web/chunk-yfbxtg5p.js +0 -1
  282. package/web/chunk-ywp4s71k.js +0 -40
  283. package/web/chunk-z4x331rx.js +0 -140
  284. package/web/chunk-z6bpamwq.js +0 -24
  285. package/web/chunk-zmdnxn6m.js +0 -2
  286. package/web/install.ps1 +0 -91
  287. package/web/install.sh +0 -177
@@ -1 +1 @@
1
- import{h,o,a,t,n,_,Z,te,rt,vt}from"./chunk-fhnypcrm.js";import{gn}from"./chunk-yd1ez3wd.js";var I="/api/plugins/prompt-optimizer";function j({connection:u,onClose:x}){let{Button:g,ModelSelector:O,Select:D,SettingGroup:S,SettingRow:b,cn:C}=_(),[m,z]=a(null),[s,p]=a(null),[L,B]=a({models:[]}),[d,M]=a(!0),[N,R]=a(!1),[l,w]=a(!1),[f,r]=a(null),y=h(async(i=!1)=>{if(i)R(!0);else M(!0);r(null);try{let[e,c]=await Promise.all([u.request(`${I}/settings`),u.request("/api/models")]);z(e),p(e),B(c)}catch(e){r({type:"error",text:e instanceof Error?e.message:"读取优化插件设置失败"})}finally{M(!1),R(!1)}},[u]);o(()=>{y()},[y]);let P=s&&m?s.primaryModel?.providerID!==m.primaryModel?.providerID||s.primaryModel?.modelID!==m.primaryModel?.modelID||s.maxClarificationRounds!==m.maxClarificationRounds:!1,E=async(i)=>{if(i?.preventDefault(),!s||l||d)return;w(!0),r(null);try{let e=await u.request(`${I}/settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({schemaVersion:1,revision:s.revision,primaryModel:s.primaryModel,maxClarificationRounds:s.maxClarificationRounds})});z(e),p(e),r({type:"success",text:"设置已保存"})}catch(e){r({type:"error",text:e instanceof Error?e.message:"保存设置失败"})}finally{w(!1)}},T=()=>{p(m),r(null)},v=s?.primaryModel??null,q=v?`${v.providerID}/${v.modelID}`:"";return n("form",{onSubmit:E,className:"min-w-0 space-y-6",children:[t(S,{title:"模型策略",description:"提示词优化专用的改写模型配置",action:n(g,{type:"button",size:"sm",variant:"ghost",disabled:d||N||l,onClick:()=>void y(!0),className:"h-8 px-2.5 text-xs text-dim hover:text-ink",children:[t(te,{className:C("mr-1.5 size-3.5",N&&"animate-spin")}),"刷新模型"]}),children:t(b,{vertical:!0,title:"默认优化模型",description:"优化插件必须显式绑定模型才能发起改写;未选定模型时将拒绝调用,绝不隐式自动回退。",children:t("div",{className:"pt-1",children:t(O,{variant:"field",models:L,value:q,onChange:(i)=>{let e=i.indexOf("/"),c=e<0?"":i.slice(0,e),G=e<0?i:i.slice(e+1);p((k)=>k?{...k,primaryModel:{providerID:c,modelID:G}}:null),r(null)}})})})}),t(S,{title:"交互模式",description:"控制生成过程中的意图确认与澄清策略",children:t(b,{title:"澄清提问轮数",description:"当草稿存在关键歧义无法从上下文判定时,允许模型主动提问的最大轮数",children:t("div",{className:"w-48",children:t(D,{value:String(s?.maxClarificationRounds??1),disabled:d||l,onValueChange:(i)=>{let e=i==="2"?2:1;p((c)=>c?{...c,maxClarificationRounds:e}:null),r(null)},groups:[{options:[{value:"1",label:"单轮澄清(推荐)",description:"提问一次后直接输出改写结果"},{value:"2",label:"最多两轮澄清",description:"首轮澄清后可针对残留疑问追问一次"}]}]})})})}),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:f&&n("div",{className:C("flex items-center gap-2 text-xs",f.type==="success"?"text-success":"text-danger"),children:[f.type==="success"?t(gn,{className:"size-3.5 shrink-0"}):t(Z,{className:"size-3.5 shrink-0"}),t("span",{children:f.text})]})}),n("div",{className:"flex items-center gap-2",children:[P&&n(g,{type:"button",variant:"ghost",size:"sm",disabled:d||l,onClick:T,children:[t(rt,{className:"mr-1.5 size-3.5"}),"重置"]}),n(g,{type:"submit",variant:"primary",size:"sm",disabled:d||l||!P,children:[t(vt,{className:"mr-1.5 size-3.5"}),l?"保存中…":"保存"]}),x&&t(g,{type:"button",variant:"secondary",size:"sm",onClick:x,children:"关闭"})]})]})]})}export{j as PromptOptimizerSettingsSection};
1
+ import{h,o,r,t,n,_,Z,ae,rt,bt}from"./chunk-qmbgb79a.js";import{vn}from"./chunk-vttgyb5v.js";var I="/api/plugins/prompt-optimizer";function j({connection:u,onClose:x}){let{Button:g,ModelSelector:O,Select:D,SettingGroup:S,SettingRow:b,cn:C}=_(),[m,z]=r(null),[s,p]=r(null),[L,B]=r({models:[]}),[d,M]=r(!0),[N,R]=r(!1),[l,w]=r(!1),[f,a]=r(null),y=h(async(i=!1)=>{if(i)R(!0);else M(!0);a(null);try{let[e,c]=await Promise.all([u.request(`${I}/settings`),u.request("/api/models")]);z(e),p(e),B(c)}catch(e){a({type:"error",text:e instanceof Error?e.message:"读取优化插件设置失败"})}finally{M(!1),R(!1)}},[u]);o(()=>{y()},[y]);let P=s&&m?s.primaryModel?.providerID!==m.primaryModel?.providerID||s.primaryModel?.modelID!==m.primaryModel?.modelID||s.maxClarificationRounds!==m.maxClarificationRounds:!1,E=async(i)=>{if(i?.preventDefault(),!s||l||d)return;w(!0),a(null);try{let e=await u.request(`${I}/settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({schemaVersion:1,revision:s.revision,primaryModel:s.primaryModel,maxClarificationRounds:s.maxClarificationRounds})});z(e),p(e),a({type:"success",text:"设置已保存"})}catch(e){a({type:"error",text:e instanceof Error?e.message:"保存设置失败"})}finally{w(!1)}},T=()=>{p(m),a(null)},v=s?.primaryModel??null,q=v?`${v.providerID}/${v.modelID}`:"";return n("form",{onSubmit:E,className:"min-w-0 space-y-6",children:[t(S,{title:"模型策略",description:"提示词优化专用的改写模型配置",action:n(g,{type:"button",size:"sm",variant:"ghost",disabled:d||N||l,onClick:()=>void y(!0),className:"h-8 px-2.5 text-xs text-dim hover:text-ink",children:[t(ae,{className:C("mr-1.5 size-3.5",N&&"animate-spin")}),"刷新模型"]}),children:t(b,{vertical:!0,title:"默认优化模型",description:"优化插件必须显式绑定模型才能发起改写;未选定模型时将拒绝调用,绝不隐式自动回退。",children:t("div",{className:"pt-1",children:t(O,{variant:"field",models:L,value:q,onChange:(i)=>{let e=i.indexOf("/"),c=e<0?"":i.slice(0,e),G=e<0?i:i.slice(e+1);p((k)=>k?{...k,primaryModel:{providerID:c,modelID:G}}:null),a(null)}})})})}),t(S,{title:"交互模式",description:"控制生成过程中的意图确认与澄清策略",children:t(b,{title:"澄清提问轮数",description:"当草稿存在关键歧义无法从上下文判定时,允许模型主动提问的最大轮数",children:t("div",{className:"w-48",children:t(D,{value:String(s?.maxClarificationRounds??1),disabled:d||l,onValueChange:(i)=>{let e=i==="2"?2:1;p((c)=>c?{...c,maxClarificationRounds:e}:null),a(null)},groups:[{options:[{value:"1",label:"单轮澄清(推荐)",description:"提问一次后直接输出改写结果"},{value:"2",label:"最多两轮澄清",description:"首轮澄清后可针对残留疑问追问一次"}]}]})})})}),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:f&&n("div",{className:C("flex items-center gap-2 text-xs",f.type==="success"?"text-success":"text-danger"),children:[f.type==="success"?t(vn,{className:"size-3.5 shrink-0"}):t(Z,{className:"size-3.5 shrink-0"}),t("span",{children:f.text})]})}),n("div",{className:"flex items-center gap-2",children:[P&&n(g,{type:"button",variant:"ghost",size:"sm",disabled:d||l,onClick:T,children:[t(rt,{className:"mr-1.5 size-3.5"}),"重置"]}),n(g,{type:"submit",variant:"primary",size:"sm",disabled:d||l||!P,children:[t(bt,{className:"mr-1.5 size-3.5"}),l?"保存中…":"保存"]}),x&&t(g,{type:"button",variant:"secondary",size:"sm",onClick:x,children:"关闭"})]})]})]})}export{j as PromptOptimizerSettingsSection};
@@ -0,0 +1 @@
1
+ import{pi}from"./chunk-j1bw5v1g.js";export{pi as default};
@@ -0,0 +1 @@
1
+ import{Ei}from"./chunk-zc1mk10n.js";export{Ei as createEventModelingServices};
@@ -1,30 +1,30 @@
1
- import{e,Zt,r,Y,u,d,b,mt,Ea,C,s,p,V,Ge,ae,Ye}from"./chunk-vymqrpm3.js";import{bt}from"./chunk-6parf7sy.js";var ht=function(){var n=e(function(E,l,y,g){for(y=y||{},g=E.length;g--;y[E[g]]=l);return y},"o"),t=[6,11,13,14,15,17,19,20,23,24],o=[1,12],a=[1,13],i=[1,14],f=[1,15],h=[1,16],c=[1,19],_=[1,20],x={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:e(function(l,y,g,k,w,m,I){var T=m.length-1;switch(w){case 1:return m[T-1];case 3:k.setDirection("LR");break;case 4:k.setDirection("TD");break;case 5:this.$=[];break;case 6:m[T-1].push(m[T]),this.$=m[T-1];break;case 7:case 8:this.$=m[T];break;case 9:case 10:this.$=[];break;case 11:k.getCommonDb().setDiagramTitle(m[T].substr(6)),this.$=m[T].substr(6);break;case 12:this.$=m[T].trim(),k.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=m[T].trim(),k.getCommonDb().setAccDescription(this.$);break;case 15:k.addSection(m[T].substr(8)),this.$=m[T].substr(8);break;case 18:k.addTask(m[T],0,""),this.$=m[T];break;case 19:k.addEvent(m[T].substr(2)),this.$=m[T];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},n(t,[2,5],{5:6}),n(t,[2,2]),n(t,[2,3]),n(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:o,15:a,17:i,19:f,20:h,21:17,22:18,23:c,24:_},n(t,[2,10],{1:[2,1]}),n(t,[2,6]),{12:21,14:o,15:a,17:i,19:f,20:h,21:17,22:18,23:c,24:_},n(t,[2,8]),n(t,[2,9]),n(t,[2,11]),{16:[1,22]},{18:[1,23]},n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,17]),n(t,[2,18]),n(t,[2,19]),n(t,[2,7]),n(t,[2,12]),n(t,[2,13])],defaultActions:{},parseError:e(function(l,y){if(y.recoverable)this.trace(l);else{var g=Error(l);throw g.hash=y,g}},"parseError"),parse:e(function(l){var y=this,g=[0],k=[],w=[null],m=[],I=this.table,T="",W=0,D=0,K=0,J=2,B=1,G=m.slice.call(arguments,1),L=Object.create(this.lexer),z={yy:{}};for(var X in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,X))z.yy[X]=this.yy[X];if(L.setInput(l,z.yy),z.yy.lexer=L,z.yy.parser=this,typeof L.yylloc>"u")L.yylloc={};var Q=L.yylloc;m.push(Q);var A=L.options&&L.options.ranges;if(typeof z.yy.parseError==="function")this.parseError=z.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function N(U){g.length=g.length-2*U,w.length=w.length-U,m.length=m.length-U}e(N,"popStack");function M(){var U=k.pop()||L.lex()||B;if(typeof U!=="number"){if(U instanceof Array)k=U,U=k.pop();U=y.symbols_[U]||U}return U}e(M,"lex");var H,P,F,R,lt,rt,q={},nt,Z,kt,it;while(!0){if(F=g[g.length-1],this.defaultActions[F])R=this.defaultActions[F];else{if(H===null||typeof H>"u")H=M();R=I[F]&&I[F][H]}if(typeof R>"u"||!R.length||!R[0]){var ct="";it=[];for(nt in I[F])if(this.terminals_[nt]&&nt>J)it.push("'"+this.terminals_[nt]+"'");if(L.showPosition)ct="Parse error on line "+(W+1)+`:
1
+ import{e,Qt,a,Y,u,d,b,ft,Aa,C,l,p,V,We,oe,Ye}from"./chunk-pyg1mr80.js";import{_t}from"./chunk-f9k3xrwb.js";var ht=function(){var r=e(function(E,o,y,g){for(y=y||{},g=E.length;g--;y[E[g]]=o);return y},"o"),t=[6,11,13,14,15,17,19,20,23,24],s=[1,12],i=[1,13],n=[1,14],f=[1,15],h=[1,16],c=[1,19],_=[1,20],x={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:e(function(o,y,g,k,w,m,I){var T=m.length-1;switch(w){case 1:return m[T-1];case 3:k.setDirection("LR");break;case 4:k.setDirection("TD");break;case 5:this.$=[];break;case 6:m[T-1].push(m[T]),this.$=m[T-1];break;case 7:case 8:this.$=m[T];break;case 9:case 10:this.$=[];break;case 11:k.getCommonDb().setDiagramTitle(m[T].substr(6)),this.$=m[T].substr(6);break;case 12:this.$=m[T].trim(),k.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=m[T].trim(),k.getCommonDb().setAccDescription(this.$);break;case 15:k.addSection(m[T].substr(8)),this.$=m[T].substr(8);break;case 18:k.addTask(m[T],0,""),this.$=m[T];break;case 19:k.addEvent(m[T].substr(2)),this.$=m[T];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},r(t,[2,5],{5:6}),r(t,[2,2]),r(t,[2,3]),r(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:s,15:i,17:n,19:f,20:h,21:17,22:18,23:c,24:_},r(t,[2,10],{1:[2,1]}),r(t,[2,6]),{12:21,14:s,15:i,17:n,19:f,20:h,21:17,22:18,23:c,24:_},r(t,[2,8]),r(t,[2,9]),r(t,[2,11]),{16:[1,22]},{18:[1,23]},r(t,[2,14]),r(t,[2,15]),r(t,[2,16]),r(t,[2,17]),r(t,[2,18]),r(t,[2,19]),r(t,[2,7]),r(t,[2,12]),r(t,[2,13])],defaultActions:{},parseError:e(function(o,y){if(y.recoverable)this.trace(o);else{var g=Error(o);throw g.hash=y,g}},"parseError"),parse:e(function(o){var y=this,g=[0],k=[],w=[null],m=[],I=this.table,T="",W=0,D=0,K=0,J=2,B=1,G=m.slice.call(arguments,1),L=Object.create(this.lexer),z={yy:{}};for(var X in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,X))z.yy[X]=this.yy[X];if(L.setInput(o,z.yy),z.yy.lexer=L,z.yy.parser=this,typeof L.yylloc>"u")L.yylloc={};var Q=L.yylloc;m.push(Q);var A=L.options&&L.options.ranges;if(typeof z.yy.parseError==="function")this.parseError=z.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function N(U){g.length=g.length-2*U,w.length=w.length-U,m.length=m.length-U}e(N,"popStack");function M(){var U=k.pop()||L.lex()||B;if(typeof U!=="number"){if(U instanceof Array)k=U,U=k.pop();U=y.symbols_[U]||U}return U}e(M,"lex");var H,P,F,R,lt,rt,q={},nt,Z,kt,it;while(!0){if(F=g[g.length-1],this.defaultActions[F])R=this.defaultActions[F];else{if(H===null||typeof H>"u")H=M();R=I[F]&&I[F][H]}if(typeof R>"u"||!R.length||!R[0]){var ct="";it=[];for(nt in I[F])if(this.terminals_[nt]&&nt>J)it.push("'"+this.terminals_[nt]+"'");if(L.showPosition)ct="Parse error on line "+(W+1)+`:
2
2
  `+L.showPosition()+`
3
- Expecting `+it.join(", ")+", got '"+(this.terminals_[H]||H)+"'";else ct="Parse error on line "+(W+1)+": Unexpected "+(H==B?"end of input":"'"+(this.terminals_[H]||H)+"'");this.parseError(ct,{text:L.match,token:this.terminals_[H]||H,line:L.yylineno,loc:Q,expected:it})}if(R[0]instanceof Array&&R.length>1)throw Error("Parse Error: multiple actions possible at state: "+F+", token: "+H);switch(R[0]){case 1:if(g.push(H),w.push(L.yytext),m.push(L.yylloc),g.push(R[1]),H=null,!P){if(D=L.yyleng,T=L.yytext,W=L.yylineno,Q=L.yylloc,K>0)K--}else H=P,P=null;break;case 2:if(Z=this.productions_[R[1]][1],q.$=w[w.length-Z],q._$={first_line:m[m.length-(Z||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(Z||1)].first_column,last_column:m[m.length-1].last_column},A)q._$.range=[m[m.length-(Z||1)].range[0],m[m.length-1].range[1]];if(rt=this.performAction.apply(q,[T,D,W,z.yy,R[1],w,m].concat(G)),typeof rt<"u")return rt;if(Z)g=g.slice(0,-1*Z*2),w=w.slice(0,-1*Z),m=m.slice(0,-1*Z);g.push(this.productions_[R[1]][0]),w.push(q.$),m.push(q._$),kt=I[g[g.length-2]][g[g.length-1]],g.push(kt);break;case 3:return!0}}return!0},"parse")},S=function(){var E={EOF:1,parseError:e(function(y,g){if(this.yy.parser)this.yy.parser.parseError(y,g);else throw Error(y)},"parseError"),setInput:e(function(l,y){if(this.yy=y||this.yy||{},this._input=l,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 l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var y=l.match(/(?:\r\n?|\n).*/g);if(y)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),l},"input"),unput:e(function(l){var y=l.length,g=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var k=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),g.length-1)this.yylineno-=g.length-1;var w=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:g?(g.length===k.length?this.yylloc.first_column:0)+k[k.length-g.length].length-g[0].length:this.yylloc.first_column-y},this.options.ranges)this.yylloc.range=[w[0],w[0]+this.yyleng-y];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(l){this.unput(this.match.slice(l))},"less"),pastInput:e(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:e(function(){var l=this.match;if(l.length<20)l+=this._input.substr(0,20-l.length);return(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:e(function(){var l=this.pastInput(),y=Array(l.length+1).join("-");return l+this.upcomingInput()+`
5
- `+y+"^"},"showPosition"),test_match:e(function(l,y){var g,k,w;if(this.options.backtrack_lexer){if(w={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)w.yylloc.range=this.yylloc.range.slice(0)}if(k=l[0].match(/(?:\r\n?|\n).*/g),k)this.yylineno+=k.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,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(l[0].length),this.matched+=l[0],g=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(g)return g;else if(this._backtrack){for(var m in w)this[m]=w[m];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var l,y,g,k;if(!this._more)this.yytext="",this.match="";var w=this._currentRules();for(var m=0;m<w.length;m++)if(g=this._input.match(this.rules[w[m]]),g&&(!y||g[0].length>y[0].length)){if(y=g,k=m,this.options.backtrack_lexer)if(l=this.test_match(g,w[m]),l!==!1)return l;else if(this._backtrack){y=!1;continue}else return!1;else if(!this.options.flex)break}if(y){if(l=this.test_match(y,w[k]),l!==!1)return l;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 y=this.next();if(y)return y;else return this.lex()},"lex"),begin:e(function(y){this.conditionStack.push(y)},"begin"),popState:e(function(){var y=this.conditionStack.length-1;if(y>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(y){if(y=this.conditionStack.length-1-Math.abs(y||0),y>=0)return this.conditionStack[y];else return"INITIAL"},"topState"),pushState:e(function(y){this.begin(y)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(y,g,k,w){var m=w;switch(k){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;break;case 10:return this.popState(),"acc_title_value";break;case 11:return this.begin("acc_descr"),17;break;case 12:return this.popState(),"acc_descr_value";break;case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return E}();x.lexer=S;function v(){this.yy={}}return e(v,"Parser"),v.prototype=x,x.Parser=v,new v}();ht.parser=ht;var Gt=ht,Et={};Zt(Et,{addEvent:()=>Rt,addSection:()=>Lt,addTask:()=>Ct,addTaskOrg:()=>Wt,clear:()=>Nt,default:()=>Dt,getCommonDb:()=>$t,getDirection:()=>Ht,getSections:()=>Mt,getTasks:()=>At,setDirection:()=>It});var tt="",Tt=0,ut="LR",pt=[],st=[],et=[],$t=e(()=>Ea,"getCommonDb"),Nt=e(function(){pt.length=0,st.length=0,tt="",et.length=0,ut="LR",C()},"clear"),It=e(function(n){ut=n},"setDirection"),Ht=e(function(){return ut},"getDirection"),Lt=e(function(n){tt=n,pt.push(n)},"addSection"),Mt=e(function(){return pt},"getSections"),At=e(function(){let n=xt(),t=100,o=0;while(!n&&o<t)n=xt(),o++;return st.push(...et),st},"getTasks"),Ct=e(function(n,t,o){let a={id:Tt++,section:tt,type:tt,task:n,score:t?t:0,events:o?[o]:[]};et.push(a)},"addTask"),Rt=e(function(n){et.find((o)=>o.id===Tt-1).events.push(n)},"addEvent"),Wt=e(function(n){let t={section:tt,type:tt,description:n,task:n,classes:[]};st.push(t)},"addTaskOrg"),xt=e(function(){let n=e(function(o){return et[o].processed},"compileTask"),t=!0;for(let[o,a]of et.entries())n(o),t=t&&a.processed;return t},"compileTasks"),Dt={clear:Nt,getCommonDb:$t,getDirection:Ht,setDirection:It,addSection:Lt,getSections:Mt,getTasks:At,addTask:Ct,addTaskOrg:Wt,addEvent:Rt},Pt=0,at=e(function(n,t){let o=n.append("rect");if(o.attr("x",t.x),o.attr("y",t.y),o.attr("fill",t.fill),o.attr("stroke",t.stroke),o.attr("width",t.width),o.attr("height",t.height),o.attr("rx",t.rx),o.attr("ry",t.ry),t.class!==void 0)o.attr("class",t.class);return o},"drawRect"),Kt=e(function(n,t){let a=n.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=n.append("g");i.append("circle").attr("cx",t.cx-5).attr("cy",t.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",t.cx+5).attr("cy",t.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function f(_){let x=bt().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}e(f,"smile");function h(_){let x=bt().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}e(h,"sad");function c(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}if(e(c,"ambivalent"),t.score>3)f(i);else if(t.score<3)h(i);else c(i);return a},"drawFace"),Ut=e(function(n,t){let o=n.append("circle");if(o.attr("cx",t.cx),o.attr("cy",t.cy),o.attr("class","actor-"+t.pos),o.attr("fill",t.fill),o.attr("stroke",t.stroke),o.attr("r",t.r),o.class!==void 0)o.attr("class",o.class);if(t.title!==void 0)o.append("title").text(t.title);return o},"drawCircle"),Bt=e(function(n,t){let o=t.text.replace(/<br\s*\/?>/gi," "),a=n.append("text");if(a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class!==void 0)a.attr("class",t.class);let i=a.append("tspan");return i.attr("x",t.x+t.textMargin*2),i.text(o),a},"drawText"),Xt=e(function(n,t){function o(i,f,h,c,_){return i+","+f+" "+(i+h)+","+f+" "+(i+h)+","+(f+c-_)+" "+(i+h-_*1.2)+","+(f+c)+" "+i+","+(f+c)}e(o,"genPoints");let a=n.append("polygon");a.attr("points",o(t.x,t.y,50,20,7)),a.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+0.5*t.labelMargin,Bt(n,t)},"drawLabel"),jt=e(function(n,t,o){let a=n.append("g"),i=gt();i.x=t.x,i.y=t.y,i.fill=t.fill,i.width=o.width,i.height=o.height,i.class="journey-section section-type-"+t.num,i.rx=3,i.ry=3,at(a,i),Vt(o)(t.text,a,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+t.num},o,t.colour)},"drawSection"),dt=-1,qt=e(function(n,t,o,a){let i=t.x+o.width/2,f=n.append("g");dt++;let h=450;f.append("line").attr("id",a+"-task"+dt).attr("x1",i).attr("y1",t.y).attr("x2",i).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Kt(f,{cx:i,cy:300+(5-t.score)*30,score:t.score});let c=gt();c.x=t.x,c.y=t.y,c.fill=t.fill,c.width=o.width,c.height=o.height,c.class="task task-type-"+t.num,c.rx=3,c.ry=3,at(f,c),Vt(o)(t.task,f,c.x,c.y,c.width,c.height,{class:"task"},o,t.colour)},"drawTask"),Jt=e(function(n,t){at(n,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},"drawBackgroundRect"),Qt=e(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),gt=e(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Vt=function(){function n(i,f,h,c,_,x,S,v){let E=f.append("text").attr("x",h+_/2).attr("y",c+x/2+5).style("font-color",v).style("text-anchor","middle").text(i);a(E,S)}e(n,"byText");function t(i,f,h,c,_,x,S,v,E){let{taskFontSize:l,taskFontFamily:y}=v,g=i.split(/<br\s*\/?>/gi);for(let k=0;k<g.length;k++){let w=k*l-l*(g.length-1)/2,m=f.append("text").attr("x",h+_/2).attr("y",c).attr("fill",E).style("text-anchor","middle").style("font-size",l).style("font-family",y);m.append("tspan").attr("x",h+_/2).attr("dy",w).text(g[k]),m.attr("y",c+x/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),a(m,S)}}e(t,"byTspan");function o(i,f,h,c,_,x,S,v){let E=f.append("switch"),y=E.append("foreignObject").attr("x",h).attr("y",c).attr("width",_).attr("height",x).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");y.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),t(i,E,h,c,_,x,S,v),a(y,S)}e(o,"byFo");function a(i,f){for(let h in f)if(h in f)i.attr(h,f[h])}return e(a,"_setTextAttrs"),function(i){return i.textPlacement==="fo"?o:i.textPlacement==="old"?n:t}}(),Yt=e(function(n,t){Pt=0,dt=-1,n.append("defs").append("marker").attr("id",t+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function ft(n,t){n.each(function(){var o=p(this),a=o.text().split(/(\s+|<br>)/).reverse(),i,f=[],h=1.1,c=o.attr("y"),_=parseFloat(o.attr("dy")),x=o.text(null).append("tspan").attr("x",0).attr("y",c).attr("dy",_+"em");for(let S=0;S<a.length;S++)if(i=a[a.length-1-S],f.push(i),x.text(f.join(" ").trim()),x.node().getComputedTextLength()>t||i==="<br>"){if(f.pop(),x.text(f.join(" ").trim()),i==="<br>")f=[""];else f=[i];x=o.append("tspan").attr("x",0).attr("y",c).attr("dy",h+"em").text(i)}})}e(ft,"wrap");var te=e(function(n,t,o,a,i,f=!1){let{theme:h,look:c}=a,_=h?.includes("redux"),x=a?.themeVariables?.THEME_COLOR_LIMIT??12,S=o%x-1,v=n.append("g");t.section=S,v.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+S));let E=v.append("g"),l=v.append("g"),g=l.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(ft,t.width).node().getBBox(),k=a.fontSize?.replace?a.fontSize.replace("px",""):a.fontSize;if(t.height=g.height+k*1.1*0.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,l.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),_)l.attr("transform",`translate(${t.width/2}, ${f?t.padding/2+3:t.padding})`);if(re(E,t,S,i,a),c==="neo"){if(v.attr("data-look","neo"),_){let w=h.includes("dark"),m=n.node()?.ownerSVGElement??n.node(),I=p(m),T=I.attr("id")??"",W=T?`${T}-drop-shadow`:"drop-shadow";if(I.select(`#${W}`).empty()){let D=I.select("defs");(D.empty()?I.append("defs"):D).append("filter").attr("id",W).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",w?"0.2":"0.06").attr("flood-color",w?"#FFFFFF":"#000000")}}}return t},"drawNode"),ee=e(function(n,t,o){let a=n.append("g"),f=a.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(ft,t.width).node().getBBox(),h=o.fontSize?.replace?o.fontSize.replace("px",""):o.fontSize;return a.remove(),f.height+h*1.1*0.5+t.padding},"getVirtualNodeHeight"),re=e(function(n,t,o,a,i){let{theme:f}=i,h=f?.includes("redux")?0:5,c=5,_=h>0?`M0 ${t.height-5} v${-t.height+10} q0,-${h},${h},-${h} h${t.width-10} q${h},0,${h},${h} v${t.height-5} H0 Z`:`M0 ${t.height-5} v${-(t.height-5)} h${t.width} v${t.height} H0 Z`;if(n.append("path").attr("id",a+"-node-"+Pt++).attr("class","node-bkg node-"+t.type).attr("d",_),!f?.includes("redux"))n.append("line").attr("class","node-line-"+o).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},"defaultBkg"),O={drawRect:at,drawCircle:Ut,drawSection:jt,drawText:Bt,drawLabel:Xt,drawTask:qt,drawBackgroundRect:Jt,getTextObj:Qt,getNoteRect:gt,initGraphics:Yt,drawNode:te,getVirtualNodeHeight:ee},ne=e(function(n,t,o,a){let i=s(),{look:f,theme:h,themeVariables:c}=i,{useGradient:_,gradientStart:x,gradientStop:S}=c,v=i.timeline?.leftMargin??50;r.debug("timeline",a.db);let E=i.securityLevel,l;if(E==="sandbox")l=p("#i"+t);let g=(E==="sandbox"?p(l.nodes()[0].contentDocument.body):p("body")).select("#"+t);g.append("g");let k=a.db.getTasks(),w=a.db.getCommonDb().getDiagramTitle();r.debug("task",k),O.initGraphics(g,t);let m=a.db.getSections();r.debug("sections",m);let I=0,T=0,W=0,D=0,K=50+v,J=50;D=50;let B=0,G=!0;m.forEach(function(A){let N={number:B,descr:A,section:B,width:150,padding:20,maxHeight:I},M=O.getVirtualNodeHeight(g,N,i);r.debug("sectionHeight before draw",M),I=Math.max(I,M+20)});let L=0,z=0;r.debug("tasks.length",k.length);for(let[A,N]of k.entries()){let M={number:A,descr:N,section:N.section,width:150,padding:20,maxHeight:T},H=O.getVirtualNodeHeight(g,M,i);r.debug("taskHeight before draw",H),T=Math.max(T,H+20),L=Math.max(L,N.events.length);let P=0;for(let F of N.events){let R={descr:F,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};P+=O.getVirtualNodeHeight(g,R,i)}if(N.events.length>0)P+=(N.events.length-1)*10;z=Math.max(z,P)}if(r.debug("maxSectionHeight before draw",I),r.debug("maxTaskHeight before draw",T),m&&m.length>0)m.forEach((A)=>{let N=k.filter((F)=>F.section===A),M={number:B,descr:A,section:B,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:I};r.debug("sectionNode",M);let H=g.append("g"),P=O.drawNode(H,M,B,i,t);if(r.debug("sectionNode output",P),H.attr("transform",`translate(${K}, ${D})`),J+=I+50,N.length>0)vt(g,N,B,K,J,T,i,L,z,I,!1,t);K+=200*Math.max(N.length,1),J=D,B++});else G=!1,vt(g,k,B,K,J,T,i,L,z,I,!0,t);let X=g.node().getBBox();if(r.debug("bounds",X),w)g.append("text").text(w).attr("x",f==="neo"?X.x*2+v:X.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20);if(W=G?I+T+150:T+100,g.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",W).attr("x2",X.width+3*v).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${t}-arrowhead)`),f==="neo"&&_&&h!=="neutral"){let A=g.select("defs"),M=(A.empty()?g.append("defs"):A).append("linearGradient").attr("id",g.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");M.append("stop").attr("offset","0%").attr("stop-color",x).attr("stop-opacity",1),M.append("stop").attr("offset","100%").attr("stop-color",S).attr("stop-opacity",1)}mt(void 0,g,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),vt=e(function(n,t,o,a,i,f,h,c,_,x,S,v){for(let E of t){let l={descr:E.task,section:o,number:o,width:150,padding:20,maxHeight:f};r.debug("taskNode",l);let y=n.append("g").attr("class","taskWrapper"),k=O.drawNode(y,l,o,h,v).height;if(r.debug("taskHeight after draw",k),y.attr("transform",`translate(${a}, ${i})`),f=Math.max(f,k),E.events){let w=n.append("g").attr("class","lineWrapper"),m=f;i+=100,m=m+ie(n,E.events,o,a,i,h,v),i-=100,w.append("line").attr("x1",a+95).attr("y1",i+f).attr("x2",a+95).attr("y2",i+f+100+_+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${v}-arrowhead)`).attr("stroke-dasharray","5,5")}if(a=a+200,S&&!h.timeline?.disableMulticolor)o++}i=i-10},"drawTasks"),ie=e(function(n,t,o,a,i,f,h){let c=0,_=i;i=i+100;for(let x of t){let S={descr:x,section:o,number:o,width:150,padding:20,maxHeight:50};r.debug("eventNode",S);let v=n.append("g").attr("class","eventWrapper"),l=O.drawNode(v,S,o,f,h,!0).height;c=c+l,v.attr("transform",`translate(${a}, ${i})`),i=i+10+l}return i=_,c},"drawEvents"),se={setConf:e(()=>{},"setConf"),draw:ne},ot=200,j=5,oe=ot+j*2,yt=ot+100,le=yt+j*2,Ft=10,ce=0,_t=20,zt=20,wt=30,Ot=50,he=e(function(n,t,o,a){let i=s(),f=i.timeline?.leftMargin??50;r.debug("timeline",a.db);let h=V(t);h.append("g");let c=a.db.getTasks(),_=a.db.getCommonDb().getDiagramTitle();r.debug("task",c),O.initGraphics(h);let x=a.db.getSections();r.debug("sections",x);let S=0,v=0,E=50+f,l=50,y=l,g=E,k=oe+zt,w=le+Ot,m=g+k,I=0,T=x&&x.length>0,W=T?m:E+k,D=Math.max(50,k+w-j*2);x.forEach(function(A){let N={number:I,descr:A,section:I,width:D,padding:j,maxHeight:S},M=O.getVirtualNodeHeight(h,N,i);r.debug("sectionHeight before draw",M),S=Math.max(S,M)});let K=0;r.debug("tasks.length",c.length);for(let[A,N]of c.entries()){let M={number:A,descr:N,section:N.section,width:ot,padding:j,maxHeight:v},H=O.getVirtualNodeHeight(h,M,i);r.debug("taskHeight before draw",H),v=Math.max(v,H);let P=0;for(let F of N.events){let R={descr:F,section:N.section,number:N.section,width:yt,padding:j,maxHeight:50};P+=O.getVirtualNodeHeight(h,R,i)}if(N.events.length>0)P+=(N.events.length-1)*Ft;K=Math.max(K,P)+ce}r.debug("maxSectionHeight before draw",S),r.debug("maxTaskHeight before draw",v);let B=Math.max(v,K)+wt;if(T)x.forEach((A)=>{let N=c.filter((q)=>q.section===A),M={number:I,descr:A,section:I,width:D,padding:j,maxHeight:S};r.debug("sectionNode",M);let H=h.append("g"),P=O.drawNode(H,M,I,i);r.debug("sectionNode output",P);let F=W-k;H.attr("transform",`translate(${F}, ${l})`);let R=l+P.height+_t;if(N.length>0)St(h,N,I,W,R,v,i,B,!1);let lt=N.length,rt=P.height+_t+B*Math.max(lt,1)-(lt>0?wt*2:0);l+=rt,I++});else St(h,c,I,W,l,v,i,B,!0);let G=h.node()?.getBBox();if(!G)throw Error("bbox not found");if(r.debug("bounds",G),_){if(h.append("text").text(_).attr("x",G.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),G=h.node()?.getBBox(),!G)throw Error("bbox not found");r.debug("bounds after title",G)}let[L]=Ge(i.fontSize),z=(L??16)*2,X=(L??16)*0.5+20,Q=h.append("g").attr("class","lineWrapper");Q.append("line").attr("x1",W).attr("y1",y-z).attr("x2",W).attr("y2",G.y+G.height+X).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Q.lower(),mt(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),St=e(function(n,t,o,a,i,f,h,c,_){for(let x of t){let S={descr:x.task,section:o,number:o,width:ot,padding:j,maxHeight:f};r.debug("taskNode",S);let v=n.append("g").attr("class","taskWrapper"),E=O.drawNode(v,S,o,h),l=E.height;r.debug("taskHeight after draw",l);let y=a-zt-E.width;if(v.attr("transform",`translate(${y}, ${i})`),f=Math.max(f,l),x.events&&x.events.length>0){let g=i,k=a+Ot;de(n,x.events,o,a,k,g,h)}if(i=i+c,_&&!h.timeline?.disableMulticolor)o++}},"drawTasks"),de=e(function(n,t,o,a,i,f,h){let c=f;for(let _ of t){let x={descr:_,section:o,number:o,width:yt,padding:j,maxHeight:0};r.debug("eventNode",x);let S=n.append("g").attr("class","eventWrapper"),E=O.drawNode(S,x,o,h).height;S.attr("transform",`translate(${i}, ${c})`);let l=n.append("g").attr("class","lineWrapper"),y=c+E/2;l.append("line").attr("x1",a).attr("y1",y).attr("x2",i).attr("y2",y).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),c=c+E+Ft}return c-f},"drawEvents"),ue={setConf:e(()=>{},"setConf"),draw:he},pe=e((n)=>{let{theme:t}=b(),o=t?.includes("dark"),a=ae(t,n.borderColorArray),i=n.svgId?.replace(/^#/,"")??"",f=i?`url(#${i}-drop-shadow)`:n.dropShadow??"none",h="";for(let c=0;c<Ye(n.THEME_COLOR_LIMIT);c++){let _=`${17-3*c}`,x=a?n.borderColorArray[c%n.borderColorArray.length]:void 0,S=x??n.mainBkg,v=x??n.nodeBorder;h+=`
3
+ Expecting `+it.join(", ")+", got '"+(this.terminals_[H]||H)+"'";else ct="Parse error on line "+(W+1)+": Unexpected "+(H==B?"end of input":"'"+(this.terminals_[H]||H)+"'");this.parseError(ct,{text:L.match,token:this.terminals_[H]||H,line:L.yylineno,loc:Q,expected:it})}if(R[0]instanceof Array&&R.length>1)throw Error("Parse Error: multiple actions possible at state: "+F+", token: "+H);switch(R[0]){case 1:if(g.push(H),w.push(L.yytext),m.push(L.yylloc),g.push(R[1]),H=null,!P){if(D=L.yyleng,T=L.yytext,W=L.yylineno,Q=L.yylloc,K>0)K--}else H=P,P=null;break;case 2:if(Z=this.productions_[R[1]][1],q.$=w[w.length-Z],q._$={first_line:m[m.length-(Z||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(Z||1)].first_column,last_column:m[m.length-1].last_column},A)q._$.range=[m[m.length-(Z||1)].range[0],m[m.length-1].range[1]];if(rt=this.performAction.apply(q,[T,D,W,z.yy,R[1],w,m].concat(G)),typeof rt<"u")return rt;if(Z)g=g.slice(0,-1*Z*2),w=w.slice(0,-1*Z),m=m.slice(0,-1*Z);g.push(this.productions_[R[1]][0]),w.push(q.$),m.push(q._$),kt=I[g[g.length-2]][g[g.length-1]],g.push(kt);break;case 3:return!0}}return!0},"parse")},S=function(){var E={EOF:1,parseError:e(function(y,g){if(this.yy.parser)this.yy.parser.parseError(y,g);else throw Error(y)},"parseError"),setInput:e(function(o,y){if(this.yy=y||this.yy||{},this._input=o,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 o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var y=o.match(/(?:\r\n?|\n).*/g);if(y)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),o},"input"),unput:e(function(o){var y=o.length,g=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var k=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),g.length-1)this.yylineno-=g.length-1;var w=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:g?(g.length===k.length?this.yylloc.first_column:0)+k[k.length-g.length].length-g[0].length:this.yylloc.first_column-y},this.options.ranges)this.yylloc.range=[w[0],w[0]+this.yyleng-y];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(o){this.unput(this.match.slice(o))},"less"),pastInput:e(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:e(function(){var o=this.match;if(o.length<20)o+=this._input.substr(0,20-o.length);return(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:e(function(){var o=this.pastInput(),y=Array(o.length+1).join("-");return o+this.upcomingInput()+`
5
+ `+y+"^"},"showPosition"),test_match:e(function(o,y){var g,k,w;if(this.options.backtrack_lexer){if(w={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)w.yylloc.range=this.yylloc.range.slice(0)}if(k=o[0].match(/(?:\r\n?|\n).*/g),k)this.yylineno+=k.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,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(o[0].length),this.matched+=o[0],g=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(g)return g;else if(this._backtrack){for(var m in w)this[m]=w[m];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var o,y,g,k;if(!this._more)this.yytext="",this.match="";var w=this._currentRules();for(var m=0;m<w.length;m++)if(g=this._input.match(this.rules[w[m]]),g&&(!y||g[0].length>y[0].length)){if(y=g,k=m,this.options.backtrack_lexer)if(o=this.test_match(g,w[m]),o!==!1)return o;else if(this._backtrack){y=!1;continue}else return!1;else if(!this.options.flex)break}if(y){if(o=this.test_match(y,w[k]),o!==!1)return o;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 y=this.next();if(y)return y;else return this.lex()},"lex"),begin:e(function(y){this.conditionStack.push(y)},"begin"),popState:e(function(){var y=this.conditionStack.length-1;if(y>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(y){if(y=this.conditionStack.length-1-Math.abs(y||0),y>=0)return this.conditionStack[y];else return"INITIAL"},"topState"),pushState:e(function(y){this.begin(y)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(y,g,k,w){var m=w;switch(k){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;break;case 10:return this.popState(),"acc_title_value";break;case 11:return this.begin("acc_descr"),17;break;case 12:return this.popState(),"acc_descr_value";break;case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return E}();x.lexer=S;function v(){this.yy={}}return e(v,"Parser"),v.prototype=x,x.Parser=v,new v}();ht.parser=ht;var Gt=ht,Et={};Qt(Et,{addEvent:()=>Rt,addSection:()=>Lt,addTask:()=>Ct,addTaskOrg:()=>Wt,clear:()=>Nt,default:()=>Dt,getCommonDb:()=>$t,getDirection:()=>Ht,getSections:()=>Mt,getTasks:()=>At,setDirection:()=>It});var tt="",Tt=0,ut="LR",pt=[],st=[],et=[],$t=e(()=>Aa,"getCommonDb"),Nt=e(function(){pt.length=0,st.length=0,tt="",et.length=0,ut="LR",C()},"clear"),It=e(function(r){ut=r},"setDirection"),Ht=e(function(){return ut},"getDirection"),Lt=e(function(r){tt=r,pt.push(r)},"addSection"),Mt=e(function(){return pt},"getSections"),At=e(function(){let r=xt(),t=100,s=0;while(!r&&s<t)r=xt(),s++;return st.push(...et),st},"getTasks"),Ct=e(function(r,t,s){let i={id:Tt++,section:tt,type:tt,task:r,score:t?t:0,events:s?[s]:[]};et.push(i)},"addTask"),Rt=e(function(r){et.find((s)=>s.id===Tt-1).events.push(r)},"addEvent"),Wt=e(function(r){let t={section:tt,type:tt,description:r,task:r,classes:[]};st.push(t)},"addTaskOrg"),xt=e(function(){let r=e(function(s){return et[s].processed},"compileTask"),t=!0;for(let[s,i]of et.entries())r(s),t=t&&i.processed;return t},"compileTasks"),Dt={clear:Nt,getCommonDb:$t,getDirection:Ht,setDirection:It,addSection:Lt,getSections:Mt,getTasks:At,addTask:Ct,addTaskOrg:Wt,addEvent:Rt},Pt=0,at=e(function(r,t){let s=r.append("rect");if(s.attr("x",t.x),s.attr("y",t.y),s.attr("fill",t.fill),s.attr("stroke",t.stroke),s.attr("width",t.width),s.attr("height",t.height),s.attr("rx",t.rx),s.attr("ry",t.ry),t.class!==void 0)s.attr("class",t.class);return s},"drawRect"),Kt=e(function(r,t){let i=r.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=r.append("g");n.append("circle").attr("cx",t.cx-5).attr("cy",t.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",t.cx+5).attr("cy",t.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function f(_){let x=_t().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}e(f,"smile");function h(_){let x=_t().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}e(h,"sad");function c(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}if(e(c,"ambivalent"),t.score>3)f(n);else if(t.score<3)h(n);else c(n);return i},"drawFace"),Ut=e(function(r,t){let s=r.append("circle");if(s.attr("cx",t.cx),s.attr("cy",t.cy),s.attr("class","actor-"+t.pos),s.attr("fill",t.fill),s.attr("stroke",t.stroke),s.attr("r",t.r),s.class!==void 0)s.attr("class",s.class);if(t.title!==void 0)s.append("title").text(t.title);return s},"drawCircle"),Bt=e(function(r,t){let s=t.text.replace(/<br\s*\/?>/gi," "),i=r.append("text");if(i.attr("x",t.x),i.attr("y",t.y),i.attr("class","legend"),i.style("text-anchor",t.anchor),t.class!==void 0)i.attr("class",t.class);let n=i.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(s),i},"drawText"),Xt=e(function(r,t){function s(n,f,h,c,_){return n+","+f+" "+(n+h)+","+f+" "+(n+h)+","+(f+c-_)+" "+(n+h-_*1.2)+","+(f+c)+" "+n+","+(f+c)}e(s,"genPoints");let i=r.append("polygon");i.attr("points",s(t.x,t.y,50,20,7)),i.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+0.5*t.labelMargin,Bt(r,t)},"drawLabel"),Zt=e(function(r,t,s){let i=r.append("g"),n=gt();n.x=t.x,n.y=t.y,n.fill=t.fill,n.width=s.width,n.height=s.height,n.class="journey-section section-type-"+t.num,n.rx=3,n.ry=3,at(i,n),Vt(s)(t.text,i,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+t.num},s,t.colour)},"drawSection"),dt=-1,jt=e(function(r,t,s,i){let n=t.x+s.width/2,f=r.append("g");dt++;let h=450;f.append("line").attr("id",i+"-task"+dt).attr("x1",n).attr("y1",t.y).attr("x2",n).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Kt(f,{cx:n,cy:300+(5-t.score)*30,score:t.score});let c=gt();c.x=t.x,c.y=t.y,c.fill=t.fill,c.width=s.width,c.height=s.height,c.class="task task-type-"+t.num,c.rx=3,c.ry=3,at(f,c),Vt(s)(t.task,f,c.x,c.y,c.width,c.height,{class:"task"},s,t.colour)},"drawTask"),qt=e(function(r,t){at(r,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},"drawBackgroundRect"),Jt=e(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),gt=e(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Vt=function(){function r(n,f,h,c,_,x,S,v){let E=f.append("text").attr("x",h+_/2).attr("y",c+x/2+5).style("font-color",v).style("text-anchor","middle").text(n);i(E,S)}e(r,"byText");function t(n,f,h,c,_,x,S,v,E){let{taskFontSize:o,taskFontFamily:y}=v,g=n.split(/<br\s*\/?>/gi);for(let k=0;k<g.length;k++){let w=k*o-o*(g.length-1)/2,m=f.append("text").attr("x",h+_/2).attr("y",c).attr("fill",E).style("text-anchor","middle").style("font-size",o).style("font-family",y);m.append("tspan").attr("x",h+_/2).attr("dy",w).text(g[k]),m.attr("y",c+x/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(m,S)}}e(t,"byTspan");function s(n,f,h,c,_,x,S,v){let E=f.append("switch"),y=E.append("foreignObject").attr("x",h).attr("y",c).attr("width",_).attr("height",x).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");y.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),t(n,E,h,c,_,x,S,v),i(y,S)}e(s,"byFo");function i(n,f){for(let h in f)if(h in f)n.attr(h,f[h])}return e(i,"_setTextAttrs"),function(n){return n.textPlacement==="fo"?s:n.textPlacement==="old"?r:t}}(),Yt=e(function(r,t){Pt=0,dt=-1,r.append("defs").append("marker").attr("id",t+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function yt(r,t){r.each(function(){var s=p(this),i=s.text().split(/(\s+|<br>)/).reverse(),n,f=[],h=1.1,c=s.attr("y"),_=parseFloat(s.attr("dy")),x=s.text(null).append("tspan").attr("x",0).attr("y",c).attr("dy",_+"em");for(let S=0;S<i.length;S++)if(n=i[i.length-1-S],f.push(n),x.text(f.join(" ").trim()),x.node().getComputedTextLength()>t||n==="<br>"){if(f.pop(),x.text(f.join(" ").trim()),n==="<br>")f=[""];else f=[n];x=s.append("tspan").attr("x",0).attr("y",c).attr("dy",h+"em").text(n)}})}e(yt,"wrap");var te=e(function(r,t,s,i,n,f=!1){let{theme:h,look:c}=i,_=h?.includes("redux"),x=i?.themeVariables?.THEME_COLOR_LIMIT??12,S=s%x-1,v=r.append("g");t.section=S,v.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+S));let E=v.append("g"),o=v.append("g"),g=o.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),k=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;if(t.height=g.height+k*1.1*0.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,o.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),_)o.attr("transform",`translate(${t.width/2}, ${f?t.padding/2+3:t.padding})`);if(re(E,t,S,n,i),c==="neo"){if(v.attr("data-look","neo"),_){let w=h.includes("dark"),m=r.node()?.ownerSVGElement??r.node(),I=p(m),T=I.attr("id")??"",W=T?`${T}-drop-shadow`:"drop-shadow";if(I.select(`#${W}`).empty()){let D=I.select("defs");(D.empty()?I.append("defs"):D).append("filter").attr("id",W).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",w?"0.2":"0.06").attr("flood-color",w?"#FFFFFF":"#000000")}}}return t},"drawNode"),ee=e(function(r,t,s){let i=r.append("g"),f=i.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),h=s.fontSize?.replace?s.fontSize.replace("px",""):s.fontSize;return i.remove(),f.height+h*1.1*0.5+t.padding},"getVirtualNodeHeight"),re=e(function(r,t,s,i,n){let{theme:f}=n,h=f?.includes("redux")?0:5,c=5,_=h>0?`M0 ${t.height-5} v${-t.height+10} q0,-${h},${h},-${h} h${t.width-10} q${h},0,${h},${h} v${t.height-5} H0 Z`:`M0 ${t.height-5} v${-(t.height-5)} h${t.width} v${t.height} H0 Z`;if(r.append("path").attr("id",i+"-node-"+Pt++).attr("class","node-bkg node-"+t.type).attr("d",_),!f?.includes("redux"))r.append("line").attr("class","node-line-"+s).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},"defaultBkg"),O={drawRect:at,drawCircle:Ut,drawSection:Zt,drawText:Bt,drawLabel:Xt,drawTask:jt,drawBackgroundRect:qt,getTextObj:Jt,getNoteRect:gt,initGraphics:Yt,drawNode:te,getVirtualNodeHeight:ee},ne=e(function(r,t,s,i){let n=l(),{look:f,theme:h,themeVariables:c}=n,{useGradient:_,gradientStart:x,gradientStop:S}=c,v=n.timeline?.leftMargin??50;a.debug("timeline",i.db);let E=n.securityLevel,o;if(E==="sandbox")o=p("#i"+t);let g=(E==="sandbox"?p(o.nodes()[0].contentDocument.body):p("body")).select("#"+t);g.append("g");let k=i.db.getTasks(),w=i.db.getCommonDb().getDiagramTitle();a.debug("task",k),O.initGraphics(g,t);let m=i.db.getSections();a.debug("sections",m);let I=0,T=0,W=0,D=0,K=50+v,J=50;D=50;let B=0,G=!0;m.forEach(function(A){let N={number:B,descr:A,section:B,width:150,padding:20,maxHeight:I},M=O.getVirtualNodeHeight(g,N,n);a.debug("sectionHeight before draw",M),I=Math.max(I,M+20)});let L=0,z=0;a.debug("tasks.length",k.length);for(let[A,N]of k.entries()){let M={number:A,descr:N,section:N.section,width:150,padding:20,maxHeight:T},H=O.getVirtualNodeHeight(g,M,n);a.debug("taskHeight before draw",H),T=Math.max(T,H+20),L=Math.max(L,N.events.length);let P=0;for(let F of N.events){let R={descr:F,section:N.section,number:N.section,width:150,padding:20,maxHeight:50};P+=O.getVirtualNodeHeight(g,R,n)}if(N.events.length>0)P+=(N.events.length-1)*10;z=Math.max(z,P)}if(a.debug("maxSectionHeight before draw",I),a.debug("maxTaskHeight before draw",T),m&&m.length>0)m.forEach((A)=>{let N=k.filter((F)=>F.section===A),M={number:B,descr:A,section:B,width:200*Math.max(N.length,1)-50,padding:20,maxHeight:I};a.debug("sectionNode",M);let H=g.append("g"),P=O.drawNode(H,M,B,n,t);if(a.debug("sectionNode output",P),H.attr("transform",`translate(${K}, ${D})`),J+=I+50,N.length>0)bt(g,N,B,K,J,T,n,L,z,I,!1,t);K+=200*Math.max(N.length,1),J=D,B++});else G=!1,bt(g,k,B,K,J,T,n,L,z,I,!0,t);let X=g.node().getBBox();if(a.debug("bounds",X),w)g.append("text").text(w).attr("x",f==="neo"?X.x*2+v:X.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20);if(W=G?I+T+150:T+100,g.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",W).attr("x2",X.width+3*v).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${t}-arrowhead)`),f==="neo"&&_&&h!=="neutral"){let A=g.select("defs"),M=(A.empty()?g.append("defs"):A).append("linearGradient").attr("id",g.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");M.append("stop").attr("offset","0%").attr("stop-color",x).attr("stop-opacity",1),M.append("stop").attr("offset","100%").attr("stop-color",S).attr("stop-opacity",1)}ft(void 0,g,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),bt=e(function(r,t,s,i,n,f,h,c,_,x,S,v){for(let E of t){let o={descr:E.task,section:s,number:s,width:150,padding:20,maxHeight:f};a.debug("taskNode",o);let y=r.append("g").attr("class","taskWrapper"),k=O.drawNode(y,o,s,h,v).height;if(a.debug("taskHeight after draw",k),y.attr("transform",`translate(${i}, ${n})`),f=Math.max(f,k),E.events){let w=r.append("g").attr("class","lineWrapper"),m=f;n+=100,m=m+ie(r,E.events,s,i,n,h,v),n-=100,w.append("line").attr("x1",i+95).attr("y1",n+f).attr("x2",i+95).attr("y2",n+f+100+_+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${v}-arrowhead)`).attr("stroke-dasharray","5,5")}if(i=i+200,S&&!h.timeline?.disableMulticolor)s++}n=n-10},"drawTasks"),ie=e(function(r,t,s,i,n,f,h){let c=0,_=n;n=n+100;for(let x of t){let S={descr:x,section:s,number:s,width:150,padding:20,maxHeight:50};a.debug("eventNode",S);let v=r.append("g").attr("class","eventWrapper"),o=O.drawNode(v,S,s,f,h,!0).height;c=c+o,v.attr("transform",`translate(${i}, ${n})`),n=n+10+o}return n=_,c},"drawEvents"),se={setConf:e(()=>{},"setConf"),draw:ne},ot=200,j=5,ae=ot+j*2,mt=ot+100,le=mt+j*2,Ft=10,ce=0,vt=20,zt=20,wt=30,Ot=50,he=e(function(r,t,s,i){let n=l(),f=n.timeline?.leftMargin??50;a.debug("timeline",i.db);let h=V(t);h.append("g");let c=i.db.getTasks(),_=i.db.getCommonDb().getDiagramTitle();a.debug("task",c),O.initGraphics(h);let x=i.db.getSections();a.debug("sections",x);let S=0,v=0,E=50+f,o=50,y=o,g=E,k=ae+zt,w=le+Ot,m=g+k,I=0,T=x&&x.length>0,W=T?m:E+k,D=Math.max(50,k+w-j*2);x.forEach(function(A){let N={number:I,descr:A,section:I,width:D,padding:j,maxHeight:S},M=O.getVirtualNodeHeight(h,N,n);a.debug("sectionHeight before draw",M),S=Math.max(S,M)});let K=0;a.debug("tasks.length",c.length);for(let[A,N]of c.entries()){let M={number:A,descr:N,section:N.section,width:ot,padding:j,maxHeight:v},H=O.getVirtualNodeHeight(h,M,n);a.debug("taskHeight before draw",H),v=Math.max(v,H);let P=0;for(let F of N.events){let R={descr:F,section:N.section,number:N.section,width:mt,padding:j,maxHeight:50};P+=O.getVirtualNodeHeight(h,R,n)}if(N.events.length>0)P+=(N.events.length-1)*Ft;K=Math.max(K,P)+ce}a.debug("maxSectionHeight before draw",S),a.debug("maxTaskHeight before draw",v);let B=Math.max(v,K)+wt;if(T)x.forEach((A)=>{let N=c.filter((q)=>q.section===A),M={number:I,descr:A,section:I,width:D,padding:j,maxHeight:S};a.debug("sectionNode",M);let H=h.append("g"),P=O.drawNode(H,M,I,n);a.debug("sectionNode output",P);let F=W-k;H.attr("transform",`translate(${F}, ${o})`);let R=o+P.height+vt;if(N.length>0)St(h,N,I,W,R,v,n,B,!1);let lt=N.length,rt=P.height+vt+B*Math.max(lt,1)-(lt>0?wt*2:0);o+=rt,I++});else St(h,c,I,W,o,v,n,B,!0);let G=h.node()?.getBBox();if(!G)throw Error("bbox not found");if(a.debug("bounds",G),_){if(h.append("text").text(_).attr("x",G.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),G=h.node()?.getBBox(),!G)throw Error("bbox not found");a.debug("bounds after title",G)}let[L]=We(n.fontSize),z=(L??16)*2,X=(L??16)*0.5+20,Q=h.append("g").attr("class","lineWrapper");Q.append("line").attr("x1",W).attr("y1",y-z).attr("x2",W).attr("y2",G.y+G.height+X).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Q.lower(),ft(void 0,h,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),St=e(function(r,t,s,i,n,f,h,c,_){for(let x of t){let S={descr:x.task,section:s,number:s,width:ot,padding:j,maxHeight:f};a.debug("taskNode",S);let v=r.append("g").attr("class","taskWrapper"),E=O.drawNode(v,S,s,h),o=E.height;a.debug("taskHeight after draw",o);let y=i-zt-E.width;if(v.attr("transform",`translate(${y}, ${n})`),f=Math.max(f,o),x.events&&x.events.length>0){let g=n,k=i+Ot;de(r,x.events,s,i,k,g,h)}if(n=n+c,_&&!h.timeline?.disableMulticolor)s++}},"drawTasks"),de=e(function(r,t,s,i,n,f,h){let c=f;for(let _ of t){let x={descr:_,section:s,number:s,width:mt,padding:j,maxHeight:0};a.debug("eventNode",x);let S=r.append("g").attr("class","eventWrapper"),E=O.drawNode(S,x,s,h).height;S.attr("transform",`translate(${n}, ${c})`);let o=r.append("g").attr("class","lineWrapper"),y=c+E/2;o.append("line").attr("x1",i).attr("y1",y).attr("x2",n).attr("y2",y).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),c=c+E+Ft}return c-f},"drawEvents"),ue={setConf:e(()=>{},"setConf"),draw:he},pe=e((r)=>{let{theme:t}=b(),s=t?.includes("dark"),i=oe(t,r.borderColorArray),n=r.svgId?.replace(/^#/,"")??"",f=n?`url(#${n}-drop-shadow)`:r.dropShadow??"none",h="";for(let c=0;c<Ye(r.THEME_COLOR_LIMIT);c++){let _=`${17-3*c}`,x=i?r.borderColorArray[c%r.borderColorArray.length]:void 0,S=x??r.mainBkg,v=x??r.nodeBorder;h+=`
7
7
  .section-${c-1} rect,
8
8
  .section-${c-1} path,
9
9
  .section-${c-1} circle {
10
- fill: ${o&&a?n.mainBkg:S};
10
+ fill: ${s&&i?r.mainBkg:S};
11
11
  stroke: ${v};
12
- stroke-width: ${n.strokeWidth};
12
+ stroke-width: ${r.strokeWidth};
13
13
  filter: ${f};
14
14
  }
15
15
 
16
16
  .section-${c-1} text {
17
- fill: ${n.nodeBorder};
18
- font-weight: ${n.fontWeight}
17
+ fill: ${r.nodeBorder};
18
+ font-weight: ${r.fontWeight}
19
19
  }
20
20
 
21
21
  .node-icon-${c-1} {
22
22
  font-size: 40px;
23
- color: ${n["cScaleLabel"+c]};
23
+ color: ${r["cScaleLabel"+c]};
24
24
  }
25
25
 
26
26
  .section-edge-${c-1} {
27
- stroke: ${n["cScale"+c]};
27
+ stroke: ${r["cScale"+c]};
28
28
  }
29
29
 
30
30
  .edge-depth-${c-1} {
@@ -32,78 +32,78 @@ Expecting `+it.join(", ")+", got '"+(this.terminals_[H]||H)+"'";else ct="Parse e
32
32
  }
33
33
 
34
34
  .section-${c-1} line {
35
- stroke: ${n["cScaleInv"+c]};
35
+ stroke: ${r["cScaleInv"+c]};
36
36
  stroke-width: 3;
37
37
  }
38
38
 
39
39
  .lineWrapper line {
40
- stroke: ${n.nodeBorder};
41
- stroke-width:${n.strokeWidth}
40
+ stroke: ${r.nodeBorder};
41
+ stroke-width:${r.strokeWidth}
42
42
  }
43
43
 
44
44
  .disabled,
45
45
  .disabled circle,
46
46
  .disabled text {
47
- fill: ${n.tertiaryColor??"lightgray"};
47
+ fill: ${r.tertiaryColor??"lightgray"};
48
48
  }
49
49
 
50
50
  .disabled text {
51
- fill: ${n.clusterBorder??"#efefef"};
51
+ fill: ${r.clusterBorder??"#efefef"};
52
52
  }
53
- `}return h},"genReduxSections"),ge=e((n)=>{let t="",o=Ye(n.THEME_COLOR_LIMIT);for(let a=0;a<o;a++)if(n["lineColor"+a]=n["lineColor"+a]??n["cScaleInv"+a],Y(n["lineColor"+a]))n["lineColor"+a]=u(n["lineColor"+a],20);else n["lineColor"+a]=d(n["lineColor"+a],20);for(let a=0;a<o;a++){let i=""+(17-3*a);t+=`
54
- .section-${a-1} rect, .section-${a-1} path, .section-${a-1} circle, .section-${a-1} path {
55
- fill: ${n["cScale"+a]};
53
+ `}return h},"genReduxSections"),ge=e((r)=>{let t="",s=Ye(r.THEME_COLOR_LIMIT);for(let i=0;i<s;i++)if(r["lineColor"+i]=r["lineColor"+i]??r["cScaleInv"+i],Y(r["lineColor"+i]))r["lineColor"+i]=u(r["lineColor"+i],20);else r["lineColor"+i]=d(r["lineColor"+i],20);for(let i=0;i<s;i++){let n=""+(17-3*i);t+=`
54
+ .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} path {
55
+ fill: ${r["cScale"+i]};
56
56
  }
57
- .section-${a-1} text {
58
- fill: ${n["cScaleLabel"+a]};
57
+ .section-${i-1} text {
58
+ fill: ${r["cScaleLabel"+i]};
59
59
  }
60
- .node-icon-${a-1} {
60
+ .node-icon-${i-1} {
61
61
  font-size: 40px;
62
- color: ${n["cScaleLabel"+a]};
62
+ color: ${r["cScaleLabel"+i]};
63
63
  }
64
- .section-edge-${a-1}{
65
- stroke: ${n["cScale"+a]};
64
+ .section-edge-${i-1}{
65
+ stroke: ${r["cScale"+i]};
66
66
  }
67
- .edge-depth-${a-1}{
68
- stroke-width: ${i};
67
+ .edge-depth-${i-1}{
68
+ stroke-width: ${n};
69
69
  }
70
- .section-${a-1} line {
71
- stroke: ${n["cScaleInv"+a]} ;
70
+ .section-${i-1} line {
71
+ stroke: ${r["cScaleInv"+i]} ;
72
72
  stroke-width: 3;
73
73
  }
74
74
 
75
75
  .lineWrapper line{
76
- stroke: ${n["cScaleLabel"+a]} ;
76
+ stroke: ${r["cScaleLabel"+i]} ;
77
77
  }
78
78
 
79
79
  .disabled, .disabled circle, .disabled text {
80
- fill: ${n.tertiaryColor??"lightgray"};
80
+ fill: ${r.tertiaryColor??"lightgray"};
81
81
  }
82
82
  .disabled text {
83
- fill: ${n.clusterBorder??"#efefef"};
83
+ fill: ${r.clusterBorder??"#efefef"};
84
84
  }
85
- `}return t},"genSections"),fe=e((n)=>{let{theme:t}=b(),o=t?.includes("redux"),a=t==="neutral",i=n.svgId?.replace(/^#/,"")??"",f="";if(n.useGradient&&i&&n.THEME_COLOR_LIMIT&&!a){let h=Ye(n.THEME_COLOR_LIMIT);for(let c=0;c<h;c++)f+=`
85
+ `}return t},"genSections"),fe=e((r)=>{let{theme:t}=b(),s=t?.includes("redux"),i=t==="neutral",n=r.svgId?.replace(/^#/,"")??"",f="";if(r.useGradient&&n&&r.THEME_COLOR_LIMIT&&!i){let h=Ye(r.THEME_COLOR_LIMIT);for(let c=0;c<h;c++)f+=`
86
86
  .section-${c-1}[data-look="neo"] rect,
87
87
  .section-${c-1}[data-look="neo"] path,
88
88
  .section-${c-1}[data-look="neo"] circle {
89
- fill: ${n.mainBkg};
90
- stroke: url(#${i}-gradient);
89
+ fill: ${r.mainBkg};
90
+ stroke: url(#${n}-gradient);
91
91
  stroke-width: 2;
92
92
  }
93
93
  .section-${c-1}[data-look="neo"] line {
94
- stroke: url(#${i}-gradient);
94
+ stroke: url(#${n}-gradient);
95
95
  stroke-width: 2;
96
96
  }`}return`
97
97
  .edge {
98
98
  stroke-width: 3;
99
99
  }
100
- ${o?pe(n):ge(n)}
100
+ ${s?pe(r):ge(r)}
101
101
  ${f}
102
102
  .section-root rect, .section-root path, .section-root circle {
103
- fill: ${n.git0};
103
+ fill: ${r.git0};
104
104
  }
105
105
  .section-root text {
106
- fill: ${n.gitBranchLabel0};
106
+ fill: ${r.gitBranchLabel0};
107
107
  }
108
108
  .icon-container {
109
109
  height:100%;
@@ -117,4 +117,4 @@ Expecting `+it.join(", ")+", got '"+(this.terminals_[H]||H)+"'";else ct="Parse e
117
117
  .eventWrapper {
118
118
  filter: brightness(120%);
119
119
  }
120
- `},"getStyles"),ye=fe,me={setConf:e(()=>{},"setConf"),draw:e((n,t,o,a)=>{if((a?.db?.getDirection?.()??"LR")==="TD")return ue.draw(n,t,o,a);return se.draw(n,t,o,a)},"draw")},$e={db:Et,renderer:me,parser:Gt,styles:ye};export{$e as diagram};
120
+ `},"getStyles"),ye=fe,me={setConf:e(()=>{},"setConf"),draw:e((r,t,s,i)=>{if((i?.db?.getDirection?.()??"LR")==="TD")return ue.draw(r,t,s,i);return se.draw(r,t,s,i)},"draw")},$e={db:Et,renderer:me,parser:Gt,styles:ye};export{$e as diagram};
@@ -0,0 +1,99 @@
1
+ import{e,Qt,a,ce,v,C,S,E,T,A,R,L,l,p,M,ze,Kr,ue,oe,se,ht,ye,ve}from"./chunk-pyg1mr80.js";import{Bt}from"./chunk-9dy7z3ej.js";import{ge}from"./chunk-9xgspn75.js";import{le}from"./chunk-01hcjafh.js";var Ue=function(){var s=e(function(q,o,h,f){for(h=h||{},f=q.length;f--;h[q[f]]=o);return h},"o"),c=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],b=[2,2],n=[1,7],u=[1,9],g=[1,10],N=[1,11],y=[1,12],x=[1,30],k=[1,23],_=[1,24],B=[1,25],W=[1,26],X=[1,27],I=[1,19],Y=[1,28],te=[1,29],G=[1,20],P=[1,18],z=[1,21],U=[1,22],Ke=[2,6],d=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],Ie=[1,36],Re=[1,37],De=[1,38],Le=[1,39],we=[1,40],ie=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],K=[1,46],Z=[1,47],re=[1,57],ae=[43,51,53,54,55,74,75],ne=[1,70],he=[1,68],j=[1,65],de=[1,69],be=[1,71],ke=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],_e=[1,78],me=[1,77],Ee=[1,76],Ze=[69,70,71,72,73],je=[1,91],qe=[6,9,45,50],J=[6,9,12,44,45,50,51,52],Se=[1,101],Te=[1,100],Ce=[1,99],pe=[18,61],We=[1,110],He=[1,109],Qe=[20,43,51,53,54,55],Ve=[18,61,64,66],Me={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes:17,BLOCK_STOP:18,SQS:19,SQE:20,title:21,title_value:22,acc_title:23,acc_title_value:24,acc_descr:25,acc_descr_value:26,acc_descr_multiline_value:27,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:e(function(o,h,f,r,m,t,fe){var i=t.length-1;switch(m){case 1:break;case 2:this.$=[];break;case 3:this.$=t[i-1].concat(t[i]);break;case 4:this.$=t[i];break;case 5:case 6:this.$=[];break;case 7:r.addEntity(t[i-4]),r.addEntity(t[i-2]),r.addRelationship(t[i-4],t[i],t[i-2],t[i-3]),this.$=[t[i-4],t[i-2]];break;case 8:r.addEntity(t[i-8]),r.addEntity(t[i-4]),r.addRelationship(t[i-8],t[i],t[i-4],t[i-5]),r.setClass([t[i-8]],t[i-6]),r.setClass([t[i-4]],t[i-2]),this.$=[t[i-8],t[i-4]];break;case 9:r.addEntity(t[i-6]),r.addEntity(t[i-2]),r.addRelationship(t[i-6],t[i],t[i-2],t[i-3]),r.setClass([t[i-6]],t[i-4]),this.$=[t[i-6],t[i-2]];break;case 10:r.addEntity(t[i-6]),r.addEntity(t[i-4]),r.addRelationship(t[i-6],t[i],t[i-4],t[i-5]),r.setClass([t[i-4]],t[i-2]),this.$=[t[i-6],t[i-4]];break;case 11:r.addEntity(t[i-3]),r.addAttributes(t[i-3],t[i-1]),this.$=[t[i-3]];break;case 12:r.addEntity(t[i-5]),r.addAttributes(t[i-5],t[i-1]),r.setClass([t[i-5]],t[i-3]),this.$=[t[i-5]];break;case 13:r.addEntity(t[i-2]),this.$=[t[i-2]];break;case 14:r.addEntity(t[i-4]),r.setClass([t[i-4]],t[i-2]),this.$=[t[i-4]];break;case 15:r.addEntity(t[i]),this.$=[t[i]];break;case 16:r.addEntity(t[i-2]),r.setClass([t[i-2]],t[i]),this.$=[t[i-2]];break;case 17:r.addEntity(t[i-6],t[i-4]),r.addAttributes(t[i-6],t[i-1]),this.$=[t[i-6]];break;case 18:r.addEntity(t[i-8],t[i-6]),r.addAttributes(t[i-8],t[i-1]),r.setClass([t[i-8]],t[i-3]),this.$=[t[i-8]];break;case 19:r.addEntity(t[i-5],t[i-3]),this.$=[t[i-5]];break;case 20:r.addEntity(t[i-7],t[i-5]),r.setClass([t[i-7]],t[i-2]),this.$=[t[i-7]];break;case 21:r.addEntity(t[i-3],t[i-1]);break;case 22:r.addEntity(t[i-5],t[i-3]),r.setClass([t[i-5]],t[i]);break;case 23:case 24:this.$=t[i].trim(),r.setAccTitle(this.$);break;case 25:case 26:this.$=t[i].trim(),r.setAccDescription(this.$);break;case 27:if(!r.subgraphDepth)r.setDirection(t[i].value),this.$=[];else this.$=t[i];break;case 31:r.subgraphDepth=(r.subgraphDepth||1)-1,this.$=r.addSubGraph({text:t[i-2].id},t[i-1],{text:t[i-2].text});break;case 32:r.subgraphDepth=(r.subgraphDepth||0)+1,this.$={id:t[i-1],text:t[i-1]};break;case 33:r.subgraphDepth=(r.subgraphDepth||0)+1,this.$={id:t[i-4],text:t[i-2]};break;case 34:case 59:case 60:case 61:case 62:case 86:this.$=t[i];break;case 35:this.$=t[i-1]+" "+t[i];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=t[i-3],r.addClass(t[i-2],t[i-1]);break;case 41:case 42:case 63:case 72:this.$=[t[i]];break;case 43:case 44:this.$=t[i-2].concat([t[i]]);break;case 45:this.$=t[i-2],r.setClass(t[i-1],t[i]);break;case 46:this.$=t[i-3],r.addCssStyles(t[i-2],t[i-1]);break;case 47:this.$=[t[i]];break;case 48:t[i-2].push(t[i]),this.$=t[i-2];break;case 50:this.$=t[i-1]+t[i];break;case 58:case 84:case 85:this.$=t[i].replace(/"/g,"");break;case 64:t[i].push(t[i-1]),this.$=t[i];break;case 65:this.$={type:t[i-1],name:t[i]};break;case 66:this.$={type:t[i-2],name:t[i-1],keys:t[i]};break;case 67:this.$={type:t[i-2],name:t[i-1],comment:t[i]};break;case 68:this.$={type:t[i-3],name:t[i-2],keys:t[i-1],comment:t[i]};break;case 69:case 71:case 74:this.$=t[i];break;case 70:this.$=t[i-1]+t[i];break;case 73:t[i-2].push(t[i]),this.$=t[i-2];break;case 75:this.$=t[i].replace(/"/g,"");break;case 76:this.$={cardA:t[i],relType:t[i-1],cardB:t[i-2]};break;case 77:this.$=r.Cardinality.ZERO_OR_ONE;break;case 78:this.$=r.Cardinality.ZERO_OR_MORE;break;case 79:this.$=r.Cardinality.ONE_OR_MORE;break;case 80:this.$=r.Cardinality.ONLY_ONE;break;case 81:this.$=r.Cardinality.MD_PARENT;break;case 82:this.$=r.Identification.NON_IDENTIFYING;break;case 83:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(c,b,{5:3}),{6:[1,4],7:5,8:6,9:n,10:8,21:u,23:g,25:N,27:y,28:13,29:14,30:15,31:16,32:17,34:x,37:k,38:_,39:B,40:W,41:X,43:I,46:Y,47:te,51:G,53:P,54:z,55:U},s(c,Ke,{1:[2,1]}),s(d,[2,3]),s(d,[2,4]),s(d,[2,5]),s(d,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:Ie,70:Re,71:De,72:Le,73:we}),{22:[1,41]},{24:[1,42]},{26:[1,43]},s(d,[2,26]),s(d,[2,27]),s(d,[2,28]),s(d,[2,29]),s(d,[2,30]),s(d,b,{5:44}),s(ie,[2,58]),s(ie,[2,59]),s(ie,[2,60]),s(ie,[2,61]),s(ie,[2,62]),s(d,[2,36]),s(d,[2,37]),s(d,[2,38]),s(d,[2,39]),{15:45,43:K,44:Z},{15:48,43:K,44:Z},{15:49,43:K,44:Z},{10:50,43:I,51:G,53:P,54:z,55:U},{10:51,43:I,51:G,53:P,54:z,55:U},{15:52,43:K,44:Z},{17:53,18:[1,54],56:55,57:56,61:re},{10:58,43:I,51:G,53:P,54:z,55:U},{68:59,74:[1,60],75:[1,61]},s(ae,[2,77]),s(ae,[2,78]),s(ae,[2,79]),s(ae,[2,80]),s(ae,[2,81]),s(d,[2,23]),s(d,[2,24]),s(d,[2,25]),{6:[1,63],7:5,8:6,9:n,10:8,21:u,23:g,25:N,27:y,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:x,37:k,38:_,39:B,40:W,41:X,43:I,46:Y,47:te,51:G,53:P,54:z,55:U},{12:ne,42:64,44:he,45:j,48:66,49:67,51:de,52:be},s(ke,[2,41]),s(ke,[2,42]),{15:72,43:K,44:Z,45:j},{12:ne,42:73,44:he,45:j,48:66,49:67,51:de,52:be},{6:_e,9:me,19:[1,75],35:74,50:Ee},{12:[1,79],14:[1,80]},s(d,[2,16],{67:35,11:81,16:[1,82],45:j,69:Ie,70:Re,71:De,72:Le,73:we}),{18:[1,83]},s(d,[2,13]),{17:84,18:[2,63],56:55,57:56,61:re},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:Ie,70:Re,71:De,72:Le,73:we},s(Ze,[2,82]),s(Ze,[2,83]),s(d,[2,31]),s(d,Ke),{6:_e,9:me,35:90,45:je,50:Ee},{43:[1,92],44:[1,93]},s(qe,[2,47],{49:94,12:ne,44:he,51:de,52:be}),s(J,[2,49]),s(J,[2,54]),s(J,[2,55]),s(J,[2,56]),s(J,[2,57]),s(d,[2,45],{45:j}),{6:_e,9:me,35:95,45:je,50:Ee},s(d,[2,32]),{10:97,36:96,43:I,51:G,53:P,54:z,55:U},s(d,[2,51]),s(d,[2,52]),s(d,[2,53]),{13:98,43:Se,53:Te,76:Ce},{15:102,43:K,44:Z},{10:103,43:I,51:G,53:P,54:z,55:U},{17:104,18:[1,105],56:55,57:56,61:re},s(d,[2,11]),{18:[2,64]},s(pe,[2,65],{59:106,60:107,63:108,65:We,66:He}),s([18,61,65,66],[2,71]),{61:[2,70]},s(d,[2,21],{14:[1,112],16:[1,111]}),s([43,51,53,54,55],[2,76]),s(d,[2,40]),{12:ne,44:he,48:113,49:67,51:de,52:be},s(ke,[2,43]),s(ke,[2,44]),s(J,[2,50]),s(d,[2,46]),{10:115,20:[1,114],43:I,51:G,53:P,54:z,55:U},s(Qe,[2,34]),s(d,[2,7]),s(d,[2,84]),s(d,[2,85]),s(d,[2,86]),{12:[1,116],45:j},{12:[1,118],14:[1,117]},{18:[1,119]},s(d,[2,14]),s(pe,[2,66],{60:120,64:[1,121],66:He}),s(pe,[2,67]),s(Ve,[2,72]),s(pe,[2,75]),s(Ve,[2,74]),{17:122,18:[1,123],56:55,57:56,61:re},{15:124,43:K,44:Z},s(qe,[2,48],{49:94,12:ne,44:he,51:de,52:be}),{6:_e,9:me,35:125,50:Ee},s(Qe,[2,35]),{13:126,43:Se,53:Te,76:Ce},{15:127,43:K,44:Z},{13:128,43:Se,53:Te,76:Ce},s(d,[2,12]),s(pe,[2,68]),{63:129,65:We},{18:[1,130]},s(d,[2,19]),s(d,[2,22],{16:[1,131],45:j}),s(d,[2,33]),s(d,[2,10]),{12:[1,132],45:j},s(d,[2,9]),s(Ve,[2,73]),s(d,[2,17]),{17:133,18:[1,134],56:55,57:56,61:re},{13:135,43:Se,53:Te,76:Ce},{18:[1,136]},s(d,[2,20]),s(d,[2,8]),s(d,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:e(function(o,h){if(h.recoverable)this.trace(o);else{var f=Error(o);throw f.hash=h,f}},"parseError"),parse:e(function(o){var h=this,f=[0],r=[],m=[null],t=[],fe=this.table,i="",Ne=0,Xe=0,Je=0,at=2,$e=1,nt=t.slice.call(arguments,1),O=Object.create(this.lexer),H={yy:{}};for(var Be in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Be))H.yy[Be]=this.yy[Be];if(O.setInput(o,H.yy),H.yy.lexer=O,H.yy.parser=this,typeof O.yylloc>"u")O.yylloc={};var Ge=O.yylloc;t.push(Ge);var ot=O.options&&O.options.ranges;if(typeof H.yy.parseError==="function")this.parseError=H.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function lt(V){f.length=f.length-2*V,m.length=m.length-V,t.length=t.length-V}e(lt,"popStack");function et(){var V=r.pop()||O.lex()||$e;if(typeof V!=="number"){if(V instanceof Array)r=V,V=r.pop();V=h.symbols_[V]||V}return V}e(et,"lex");var D,Fe,Q,w,kt,Ye,ee={},xe,F,tt,Ae;while(!0){if(Q=f[f.length-1],this.defaultActions[Q])w=this.defaultActions[Q];else{if(D===null||typeof D>"u")D=et();w=fe[Q]&&fe[Q][D]}if(typeof w>"u"||!w.length||!w[0]){var Pe="";Ae=[];for(xe in fe[Q])if(this.terminals_[xe]&&xe>at)Ae.push("'"+this.terminals_[xe]+"'");if(O.showPosition)Pe="Parse error on line "+(Ne+1)+`:
2
+ `+O.showPosition()+`
3
+ Expecting `+Ae.join(", ")+", got '"+(this.terminals_[D]||D)+"'";else Pe="Parse error on line "+(Ne+1)+": Unexpected "+(D==$e?"end of input":"'"+(this.terminals_[D]||D)+"'");this.parseError(Pe,{text:O.match,token:this.terminals_[D]||D,line:O.yylineno,loc:Ge,expected:Ae})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+Q+", token: "+D);switch(w[0]){case 1:if(f.push(D),m.push(O.yytext),t.push(O.yylloc),f.push(w[1]),D=null,!Fe){if(Xe=O.yyleng,i=O.yytext,Ne=O.yylineno,Ge=O.yylloc,Je>0)Je--}else D=Fe,Fe=null;break;case 2:if(F=this.productions_[w[1]][1],ee.$=m[m.length-F],ee._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},ot)ee._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]];if(Ye=this.performAction.apply(ee,[i,Xe,Ne,H.yy,w[1],m,t].concat(nt)),typeof Ye<"u")return Ye;if(F)f=f.slice(0,-1*F*2),m=m.slice(0,-1*F),t=t.slice(0,-1*F);f.push(this.productions_[w[1]][0]),m.push(ee.$),t.push(ee._$),tt=fe[f[f.length-2]][f[f.length-1]],f.push(tt);break;case 3:return!0}}return!0},"parse")},rt=function(){var q={EOF:1,parseError:e(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw Error(h)},"parseError"),setInput:e(function(o,h){if(this.yy=h||this.yy||{},this._input=o,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 o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var h=o.match(/(?:\r\n?|\n).*/g);if(h)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),o},"input"),unput:e(function(o){var h=o.length,f=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var r=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 m=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===r.length?this.yylloc.first_column:0)+r[r.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges)this.yylloc.range=[m[0],m[0]+this.yyleng-h];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(o){this.unput(this.match.slice(o))},"less"),pastInput:e(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:e(function(){var o=this.match;if(o.length<20)o+=this._input.substr(0,20-o.length);return(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:e(function(){var o=this.pastInput(),h=Array(o.length+1).join("-");return o+this.upcomingInput()+`
5
+ `+h+"^"},"showPosition"),test_match:e(function(o,h){var f,r,m;if(this.options.backtrack_lexer){if(m={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)m.yylloc.range=this.yylloc.range.slice(0)}if(r=o[0].match(/(?:\r\n?|\n).*/g),r)this.yylineno+=r.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,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(o[0].length),this.matched+=o[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(f)return f;else if(this._backtrack){for(var t in m)this[t]=m[t];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var o,h,f,r;if(!this._more)this.yytext="",this.match="";var m=this._currentRules();for(var t=0;t<m.length;t++)if(f=this._input.match(this.rules[m[t]]),f&&(!h||f[0].length>h[0].length)){if(h=f,r=t,this.options.backtrack_lexer)if(o=this.test_match(f,m[t]),o!==!1)return o;else if(this._backtrack){h=!1;continue}else return!1;else if(!this.options.flex)break}if(h){if(o=this.test_match(h,m[r]),o!==!1)return o;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 h=this.next();if(h)return h;else return this.lex()},"lex"),begin:e(function(h){this.conditionStack.push(h)},"begin"),popState:e(function(){var h=this.conditionStack.length-1;if(h>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(h){if(h=this.conditionStack.length-1-Math.abs(h||0),h>=0)return this.conditionStack[h];else return"INITIAL"},"topState"),pushState:e(function(h){this.begin(h)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(h,f,r,m){var t=m;switch(r){case 0:return this.begin("acc_title"),23;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),25;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 37;case 8:return 38;case 9:return 39;case 10:return 40;case 11:break;case 12:return 9;case 13:return 53;case 14:return 76;case 15:return 4;case 16:return this.begin("block"),16;break;case 17:return 52;case 18:return 52;case 19:return 45;case 20:return 14;case 21:return 12;case 22:break;case 23:return 65;case 24:return 61;case 25:return 61;case 26:this.begin("block_bq");break;case 27:return 61;case 28:this.popState();break;case 29:return 66;case 30:break;case 31:return this.popState(),18;break;case 32:return f.yytext[0];case 33:return 19;case 34:return 20;case 35:return this.begin("style"),47;break;case 36:return this.popState(),9;break;case 37:break;case 38:return 12;case 39:return 45;case 40:return 52;case 41:return this.begin("style"),41;break;case 42:return 46;case 43:return 34;case 44:return 33;case 45:return 69;case 46:return 71;case 47:return 71;case 48:return 71;case 49:return 69;case 50:return 69;case 51:return 70;case 52:return 70;case 53:return 70;case 54:return 70;case 55:return 70;case 56:return 71;case 57:return 70;case 58:return 71;case 59:return 72;case 60:return 72;case 61:return 54;case 62:return 72;case 63:return 72;case 64:return 72;case 65:return 55;case 66:return 51;case 67:return 72;case 68:return 69;case 69:return 70;case 70:return 71;case 71:return 73;case 72:return 74;case 73:return 75;case 74:return 75;case 75:return 74;case 76:return 74;case 77:return 74;case 78:return 44;case 79:return 50;case 80:return 43;case 81:return f.yytext[0];case 82:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[ \t\r]+)/i,/^(?:[\n]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:subgraph\b)/i,/^(?:end\b\s*)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[36,37,38,39,40,78,79],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[27,28],inclusive:!1},block:{rules:[22,23,24,25,26,29,30,31,32],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,33,34,35,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],inclusive:!0}}};return q}();Me.lexer=rt;function Oe(){this.yy={}}return e(Oe,"Parser"),Oe.prototype=Me,Me.Parser=Oe,new Oe}();Ue.parser=Ue;var ct=Ue,ut=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.subgraphDepth=0,this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=S,this.getAccTitle=E,this.setAccDescription=T,this.getAccDescription=A,this.setDiagramTitle=R,this.getDiagramTitle=L,this.getConfig=e(()=>l().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this),this.addSubGraph=this.addSubGraph.bind(this)}static{e(this,"ErDB")}addEntity(s,c=""){if(!this.entities.has(s))this.entities.set(s,{id:`entity-${s}-${this.entities.size}`,label:s,attributes:[],alias:c,shape:"erBox",look:l().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),a.info("Added new entity :",s);else if(!this.entities.get(s)?.alias&&c)this.entities.get(s).alias=c,a.info(`Add alias '${c}' to entity '${s}'`);return this.entities.get(s)}getEntity(s){return this.entities.get(s)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(s,c){let b=this.addEntity(s),n;for(n=c.length-1;n>=0;n--){if(!c[n].keys)c[n].keys=[];if(!c[n].comment)c[n].comment="";b.attributes.push(c[n]),a.debug("Added attribute ",c[n].name)}}addRelationship(s,c,b,n){let u;if(this.subGraphLookup.has(s))u=s;else{let y=this.addEntity(s);if(!y)return;u=y.id}let g;if(this.subGraphLookup.has(b))g=b;else{let y=this.addEntity(b);if(!y)return;g=y.id}let N={entityA:u,roleA:c,entityB:g,relSpec:n};this.relationships.push(N),a.debug("Added new relationship :",N)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(s){this.direction=s}getCompiledStyles(s){let c=[];for(let b of s){let n=this.classes.get(b);if(n?.styles)c=[...c,...n.styles??[]].map((u)=>u.trim());if(n?.textStyles)c=[...c,...n.textStyles??[]].map((u)=>u.trim())}return c}addCssStyles(s,c){for(let b of s){let n=this.entities.get(b),u=this.subGraphLookup.get(b);if(!c)continue;if(n)for(let g of c)n.cssStyles.push(g);if(u){if(!u.cssStyles)u.cssStyles=[];for(let g of c)u.cssStyles.push(g)}}}addClass(s,c){s.forEach((b)=>{let n=this.classes.get(b);if(n===void 0)n={id:b,styles:[],textStyles:[]},this.classes.set(b,n);if(c)c.forEach(function(u){if(/color/.exec(u)){let g=u.replace("fill","bgFill");n.textStyles.push(g)}n.styles.push(u)})})}addSubGraph(s,c,b){let n=s.text.trim(),u=b.text,N=e((_)=>{let B=new Set,W;return{nodeList:_.filter((I)=>{if(I?.stmt){if(I.stmt==="dir")W=I.value;return!1}if(typeof I!=="string")return!1;let Y=I.trim();if(!Y)return!1;if(B.has(Y))return!1;return B.add(Y),!0}),dir:W}},"uniq")(c.flat()),{nodeList:y,dir:x}=N;n=n??"subGraph"+this.subCount,u=u||"",u=this.sanitizeText(u),this.subCount=this.subCount+1;let k={id:n,nodes:y,title:u.trim(),classes:[],cssStyles:[],dir:x,labelType:this.sanitizeNodeLabelType(b?.type)};return a.info("Adding",k.id,k.nodes,k.dir),k.nodes=this.makeUniq(k,this.subGraphs).nodes,this.subGraphs.push(k),this.subGraphLookup.set(n,k),n}getSubGraphs(){return this.subGraphs}setClass(s,c){for(let b of s){let n=this.entities.get(b);if(n)for(let g of c)n.cssClasses+=" "+g;let u=this.subGraphLookup.get(b);if(u)for(let g of c)u.classes.push(g)}}subgraphNodeCache(s){let c=new Set;for(let b of s)for(let n of b.nodes)c.add(n);return c}makeUniq(s,c){let b=this.subgraphNodeCache(c),n=[];return s.nodes.forEach((u,g)=>{if(b.has(u))a.warn(`Entity '${u}' already belongs to another subgraph and will be ignored`);else n.push(s.nodes[g])}),{nodes:n}}sanitizeText(s){return v.sanitizeText(s,l())}sanitizeNodeLabelType(s){switch(s){case"markdown":case"string":case"text":return s;default:return"markdown"}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.subgraphDepth=0,C()}getData(){let s=[],c=[],b=l(),n=this.getSubGraphs(),u=new Map,g=new Map;for(let k=n.length-1;k>=0;k--){let _=n[k];if(_.nodes.length>0)g.set(_.id,!0);for(let B of _.nodes)u.set(B,_.id)}for(let k=n.length-1;k>=0;k--){let _=n[k];s.push({id:_.id,label:_.title,labelStyle:"",labelType:_.labelType,parentId:u.get(_.id),padding:8,cssCompiledStyles:this.getCompiledStyles(_.classes),cssStyles:_.cssStyles,cssClasses:_.classes.join(" "),shape:"rect",dir:_.dir,isGroup:!0,look:b.look})}let N=new Set(n.map((k)=>k.id)),y=0;for(let k of this.entities.keys()){if(N.has(k))continue;let _=this.entities.get(k);if(_)_.cssCompiledStyles=this.getCompiledStyles(_.cssClasses.split(" ")),_.colorIndex=y++,s.push({..._,parentId:u.get(k),isGroup:!1})}let x=0;for(let k of this.relationships){let _={id:ze(k.entityA,k.entityB,{prefix:"id",counter:x++}),type:"normal",curve:"basis",start:k.entityA,end:k.entityB,label:k.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:k.relSpec.cardB.toLowerCase(),arrowTypeEnd:k.relSpec.cardA.toLowerCase(),pattern:k.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:b.look,labelType:"markdown"};c.push(_)}return{nodes:s,edges:c,other:{},config:b,direction:this.direction}}},it={};Qt(it,{draw:()=>dt});var dt=e(async function(s,c,b,n){a.info("REF0:"),a.info("Drawing er diagram (unified)",c);let{securityLevel:u,er:g,layout:N}=l(),y=n.db.getData(),x=ge(c,u);y.type=n.type,y.layoutAlgorithm=ve(N),y.config.flowchart.nodeSpacing=g?.nodeSpacing||140,y.config.flowchart.rankSpacing=g?.rankSpacing||80,y.direction=n.db.getDirection();let{config:k}=y,{look:_}=k;if(_==="neo")y.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"];else y.markers=["only_one","zero_or_one","one_or_more","zero_or_more"];y.diagramId=c,await ye(y,x);let B=x.selectAll('[id*="-background"]');if(Array.from(B).length>0)B.each(function(){let X=p(this),Y=X.attr("id").replace("-background",""),te=x.select(`#${CSS.escape(Y)}`);if(!te.empty()){let G=te.attr("transform");X.attr("transform",G)}});let W=8;M.insertTitle(x,"erDiagramTitleText",g?.titleTopMargin??25,n.db.getDiagramTitle()),le(x,W,"erDiagram",g?.useMaxWidth??!0)},"draw"),st=e((s,c)=>{let b=Bt,n=b(s,"r"),u=b(s,"g"),g=b(s,"b");return ce(n,u,g,c)},"fade"),bt=e((s)=>{let{theme:c,bkgColorArray:b,borderColorArray:n}=s;if(!oe(c,n))return"";let u=se(s.look),g=ue(b),N="";for(let y=0;y<ht(n);y++){let x=n[y],k=g?`fill: ${b[y%b.length]};`:"";N+=`
7
+
8
+ [data-look="${u}"][data-color-id="color-${y}"].node path {
9
+ stroke: ${x};
10
+ ${k}
11
+ }
12
+
13
+ [data-look="${u}"][data-color-id="color-${y}"].node rect {
14
+ stroke: ${x};
15
+ ${k}
16
+ }
17
+ `}return N},"genColor"),pt=e((s)=>{let{look:c,theme:b,erEdgeLabelBackground:n,strokeWidth:u}=s;return`
18
+ ${bt(s)}
19
+ .entityBox {
20
+ fill: ${s.mainBkg};
21
+ stroke: ${s.nodeBorder};
22
+ }
23
+
24
+ .relationshipLabelBox {
25
+ fill: ${s.tertiaryColor};
26
+ opacity: 0.7;
27
+ background-color: ${s.tertiaryColor};
28
+ rect {
29
+ opacity: 0.5;
30
+ }
31
+ }
32
+
33
+ .labelBkg {
34
+ background-color: ${Kr.has(b)&&n?n:st(s.tertiaryColor,0.5)};
35
+ }
36
+
37
+ .edgeLabel {
38
+ background-color: ${Kr.has(b)&&n?n:s.edgeLabelBackground};
39
+ }
40
+ .edgeLabel .label rect {
41
+ fill: ${Kr.has(b)&&n?n:s.edgeLabelBackground};
42
+ }
43
+ .edgeLabel .label text {
44
+ fill: ${s.textColor};
45
+ }
46
+
47
+ .edgeLabel .label {
48
+ fill: ${s.nodeBorder};
49
+ font-size: 14px;
50
+ }
51
+
52
+ .label {
53
+ font-family: ${s.fontFamily};
54
+ color: ${s.nodeTextColor||s.textColor};
55
+ }
56
+
57
+ .edge-pattern-dashed {
58
+ stroke-dasharray: 8,8;
59
+ }
60
+
61
+ .node rect,
62
+ .node circle,
63
+ .node ellipse,
64
+ .node polygon
65
+ {
66
+ fill: ${s.mainBkg};
67
+ stroke: ${s.nodeBorder};
68
+ stroke-width: ${c==="neo"?u:"1px"};
69
+ }
70
+
71
+ .relationshipLine {
72
+ stroke: ${s.lineColor};
73
+ stroke-width: ${c==="neo"?u:"1px"};
74
+ fill: none;
75
+ }
76
+
77
+ .marker {
78
+ fill: none !important;
79
+ stroke: ${s.lineColor} !important;
80
+ stroke-width: 1;
81
+ }
82
+ [data-look=neo].labelBkg {
83
+ background-color: ${st(s.tertiaryColor,0.5)};
84
+ }
85
+
86
+ .cluster rect {
87
+ fill: ${s.clusterBkg??s.mainBkg};
88
+ stroke: ${s.clusterBorder??s.nodeBorder};
89
+ stroke-width: 1px;
90
+ }
91
+
92
+ .cluster text {
93
+ fill: ${s.titleColor??s.textColor};
94
+ }
95
+
96
+ .cluster-label text {
97
+ fill: ${s.titleColor??s.textColor};
98
+ }
99
+ `},"getStyles"),ft=pt,Vt={parser:ct,get db(){return new ut},renderer:it,styles:ft};export{Vt as diagram};