@bkm016/basalt 0.1.10 → 0.1.11

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 (188) hide show
  1. package/{chunk-0mjb3sm3.js → chunk-jymx3a77.js} +165 -152
  2. package/{chunk-3mqf9ped.js → chunk-zq32mwxj.js} +110 -110
  3. package/compiled.js +1 -1
  4. package/package.json +1 -1
  5. package/ui-test-worker.js +1 -1
  6. package/web/{chunk-9yfftz38.js → chunk-05mvzx00.js} +1 -1
  7. package/web/chunk-086dshck.js +1 -0
  8. package/web/chunk-0fy590s0.js +1 -0
  9. package/web/{chunk-se4h6wx0.js → chunk-0hvxb5d5.js} +1 -1
  10. package/web/chunk-0mdf1qja.js +1 -0
  11. package/web/{chunk-w3zgfhjb.js → chunk-0y971zgq.js} +2 -2
  12. package/web/{chunk-j89s11x8.js → chunk-1t38sgrk.js} +2 -2
  13. package/web/{chunk-z4bp6p32.js → chunk-1zfxaafq.js} +1 -1
  14. package/web/{chunk-g7kz8f7q.js → chunk-27812gqr.js} +5 -5
  15. package/web/{chunk-rag65pfs.js → chunk-2ds0a2z1.js} +3 -3
  16. package/web/{chunk-rh3xb76f.js → chunk-2f2agfpj.js} +11 -11
  17. package/web/{chunk-wtvch4ad.js → chunk-2tsxj613.js} +3 -3
  18. package/web/{chunk-y2rzeb4v.js → chunk-2weaa3gn.js} +2 -2
  19. package/web/{chunk-8h2x89tw.js → chunk-3020mmp1.js} +1 -1
  20. package/web/{chunk-mykrm8ba.js → chunk-30aeb767.js} +2 -2
  21. package/web/chunk-32zmk3f5.js +1 -0
  22. package/web/{chunk-rxvm70w5.js → chunk-36dc7tcg.js} +2 -2
  23. package/web/{chunk-j37p0b13.js → chunk-3a57m7xm.js} +3 -3
  24. package/web/{chunk-tt93zbn4.js → chunk-3b4wqmnh.js} +7 -7
  25. package/web/chunk-3d3wnh8a.js +2 -0
  26. package/web/{chunk-zse05v6j.js → chunk-3ftb27f3.js} +8 -8
  27. package/web/{chunk-de40q05r.js → chunk-47mbbmst.js} +3 -3
  28. package/web/chunk-48479gnx.js +1 -0
  29. package/web/{chunk-5v5q13hz.js → chunk-4gc663j0.js} +2 -2
  30. package/web/{chunk-88wd49xe.js → chunk-4rwwtfnd.js} +2 -2
  31. package/web/{chunk-eqndhs21.js → chunk-4wwd3pfz.js} +2 -2
  32. package/web/{chunk-myd6sc76.js → chunk-57pyz29y.js} +2 -2
  33. package/web/{chunk-32ty2xfn.js → chunk-59nk506k.js} +1 -1
  34. package/web/{chunk-m4fxd5d9.js → chunk-5ahx98zj.js} +8 -8
  35. package/web/chunk-6cjm2yr7.js +1 -0
  36. package/web/{chunk-frnh4zqf.js → chunk-6jb2zyp6.js} +2 -2
  37. package/web/{chunk-3eexx7y5.js → chunk-793m5jjh.js} +1 -1
  38. package/web/{chunk-p55vhns6.js → chunk-7dycbjxn.js} +4 -4
  39. package/web/chunk-7ycxz39p.js +1 -0
  40. package/web/{chunk-gw8x1g61.js → chunk-8151c970.js} +1 -1
  41. package/web/{chunk-jccz14ye.js → chunk-885kpj14.js} +2 -2
  42. package/web/{chunk-vasppf6b.js → chunk-8csw0mvf.js} +2 -2
  43. package/web/{chunk-x850q01z.js → chunk-8z7texmv.js} +1 -1
  44. package/web/{chunk-sd3xat3r.js → chunk-90fkdzx3.js} +6 -6
  45. package/web/chunk-94denx9h.js +39 -0
  46. package/web/{chunk-zms6mrqk.js → chunk-96xhmmqz.js} +6 -6
  47. package/web/chunk-9jy8nc4r.js +1 -0
  48. package/web/{chunk-dv1berk6.js → chunk-9kkzmss7.js} +3 -3
  49. package/web/chunk-9wr33d0t.js +1 -0
  50. package/web/{chunk-fmmrthpa.js → chunk-a3pye9ag.js} +3 -3
  51. package/web/chunk-a4tdrxdh.js +1 -0
  52. package/web/chunk-a9fvsyc1.js +1 -0
  53. package/web/chunk-apvbvg4d.js +1 -0
  54. package/web/{chunk-wrevb4ew.js → chunk-b3j07x0n.js} +6 -6
  55. package/web/{chunk-0770q5e1.js → chunk-b6sqwmq7.js} +1 -1
  56. package/web/chunk-bkxcc7v5.js +1 -0
  57. package/web/chunk-bve354k7.js +1 -0
  58. package/web/{chunk-nawxgz87.js → chunk-cbwvfedy.js} +8 -8
  59. package/web/{chunk-x5g1yy12.js → chunk-cpshsp24.js} +1 -1
  60. package/web/chunk-cwpxakby.js +1 -0
  61. package/web/chunk-d3f763n7.js +2 -0
  62. package/web/{chunk-grm2208k.js → chunk-d4519smc.js} +14 -14
  63. package/web/chunk-de29pe57.js +1 -0
  64. package/web/chunk-dk0fnj87.js +1 -0
  65. package/web/{chunk-c57f714b.js → chunk-drchr3yn.js} +2 -2
  66. package/web/chunk-dsbyfvwz.js +1 -0
  67. package/web/{chunk-xtn305fd.js → chunk-dtrh40vr.js} +1 -1
  68. package/web/chunk-e68jw0bg.js +1 -0
  69. package/web/{chunk-tfqarvdx.js → chunk-e763h2px.js} +67 -67
  70. package/web/{chunk-pgwf37s2.js → chunk-enryqmj7.js} +5 -5
  71. package/web/{chunk-jke2ev6m.js → chunk-f79ajymt.js} +2 -2
  72. package/web/{chunk-qq6m2my8.js → chunk-fj753yzt.js} +2 -2
  73. package/web/{chunk-5svqfj4g.js → chunk-g0rtcedn.js} +3 -3
  74. package/web/{chunk-18neka5g.js → chunk-g31dbnzm.js} +4 -4
  75. package/web/{chunk-1ev0n3n4.js → chunk-g4as4zzd.js} +4 -4
  76. package/web/{chunk-6e87m0nm.js → chunk-gten0rpx.js} +2 -2
  77. package/web/{chunk-sjkg40ay.js → chunk-gyhr27dm.js} +1 -1
  78. package/web/{chunk-js6kb05s.js → chunk-hjyev38w.js} +6 -6
  79. package/web/{chunk-rwfmccmh.js → chunk-hm8thq7c.js} +4 -4
  80. package/web/{chunk-07agqp8h.js → chunk-j4gvtszc.js} +2 -2
  81. package/web/chunk-jd7npyv9.js +8 -0
  82. package/web/chunk-jhpg2kcf.js +1 -0
  83. package/web/{chunk-qdzy124b.js → chunk-jqqbkdtw.js} +2 -2
  84. package/web/chunk-jzz5htxp.js +1 -0
  85. package/web/chunk-ka3q31t1.js +1 -0
  86. package/web/chunk-kahab58k.js +1139 -0
  87. package/web/{chunk-q4bst4an.js → chunk-kfbgvh0c.js} +1 -1
  88. package/web/chunk-krgvx75q.js +1 -0
  89. package/web/chunk-kxeaj44h.js +1 -0
  90. package/web/chunk-m1rdyvb5.js +1 -0
  91. package/web/{chunk-z5qn0xev.js → chunk-m24yb8md.js} +2 -2
  92. package/web/chunk-m7k4wr3k.js +1 -0
  93. package/web/chunk-mdj3r75b.js +1 -0
  94. package/web/{chunk-h5ckjk48.js → chunk-mpdeqzc9.js} +10 -10
  95. package/web/{chunk-knm82fw9.js → chunk-mykbcvqz.js} +1 -1
  96. package/web/{chunk-1qh7f5kr.js → chunk-n33753da.js} +1 -1
  97. package/web/{chunk-yppgejg7.js → chunk-nafe18y9.js} +10 -10
  98. package/web/chunk-nbcpbqq4.js +1 -0
  99. package/web/{chunk-bc3ajvfg.js → chunk-nhx8pw7p.js} +1 -1
  100. package/web/chunk-nkpdd9hw.js +1 -0
  101. package/web/{chunk-eh7wp62z.js → chunk-p1yc8hwn.js} +1 -1
  102. package/web/chunk-p29brxyt.js +1 -0
  103. package/web/chunk-p8fbes0t.js +1 -0
  104. package/web/chunk-pbp1p5ex.js +1 -0
  105. package/web/{chunk-n4yzs2q0.js → chunk-ppjw1mps.js} +4 -4
  106. package/web/{chunk-7tkgbbf9.js → chunk-pq56b3mq.js} +2 -2
  107. package/web/{chunk-vvvd3grf.js → chunk-pzg25qqe.js} +2 -2
  108. package/web/{chunk-t5nvgz7z.js → chunk-q65zxczs.js} +7 -7
  109. package/web/{chunk-g7dc4hrd.js → chunk-q8v5j963.js} +2 -2
  110. package/web/{chunk-zz1qkaar.js → chunk-qykt7avq.js} +2 -2
  111. package/web/chunk-r6q1301x.js +1 -0
  112. package/web/chunk-r8kghrkb.js +1 -0
  113. package/web/chunk-rhxn7mxg.js +1 -0
  114. package/web/{chunk-46jnkghq.js → chunk-rqympya7.js} +2 -2
  115. package/web/{chunk-k0cg4n2k.js → chunk-s0xy00v5.js} +2 -2
  116. package/web/chunk-svqshmpg.js +1 -0
  117. package/web/chunk-swzxq7r3.css +1 -0
  118. package/web/{chunk-905vw286.js → chunk-t18tn37m.js} +2 -2
  119. package/web/chunk-tbsaseer.js +1 -0
  120. package/web/{chunk-rbqnre6q.js → chunk-tggja45g.js} +3 -3
  121. package/web/chunk-tgkdyxbn.js +1 -0
  122. package/web/{chunk-sc63488q.js → chunk-tpdcrrf1.js} +1 -1
  123. package/web/chunk-v0zfnvc1.js +1 -0
  124. package/web/{chunk-tqze6d6b.js → chunk-v3dn9bfw.js} +1 -1
  125. package/web/chunk-vj31fs16.js +1 -0
  126. package/web/chunk-vr79r8vh.js +1 -0
  127. package/web/chunk-wb9tax0m.js +1 -0
  128. package/web/{chunk-26ecc2xh.js → chunk-wbwets5x.js} +19 -19
  129. package/web/chunk-x9eghjjd.js +1 -0
  130. package/web/{chunk-awkdw9rw.js → chunk-xbyrgyy0.js} +2 -2
  131. package/web/{chunk-qy1zx2yw.js → chunk-xjc5fmcr.js} +24 -24
  132. package/web/{chunk-qh62nkem.js → chunk-ydtrc1ay.js} +2 -2
  133. package/web/chunk-yrh86m0n.js +1 -0
  134. package/web/chunk-z3ky5ews.js +2 -0
  135. package/web/{chunk-ehtmb6sn.js → chunk-zdhyq3ch.js} +13 -13
  136. package/web/{chunk-gsw1tv96.js → chunk-zv73g4qq.js} +2 -2
  137. package/web/index.html +1 -1
  138. package/web/chunk-045d3b5d.js +0 -1
  139. package/web/chunk-12qf1r6m.js +0 -1
  140. package/web/chunk-1ex3wgms.js +0 -2
  141. package/web/chunk-2cz7tx8q.js +0 -1
  142. package/web/chunk-4am8j3k3.js +0 -1
  143. package/web/chunk-5qvmefq2.js +0 -1
  144. package/web/chunk-5z2n4z9x.css +0 -1
  145. package/web/chunk-6y55gk1n.js +0 -1
  146. package/web/chunk-7np1jp3x.js +0 -8
  147. package/web/chunk-7qq1ypvj.js +0 -1
  148. package/web/chunk-87e8d1hv.js +0 -1
  149. package/web/chunk-8y2526ve.js +0 -1
  150. package/web/chunk-918e5t4x.js +0 -2
  151. package/web/chunk-96m2m3e8.js +0 -1
  152. package/web/chunk-9f4zzqbx.js +0 -1
  153. package/web/chunk-a1n4468c.js +0 -1
  154. package/web/chunk-arnzrqnm.js +0 -1
  155. package/web/chunk-b46ws7rf.js +0 -1
  156. package/web/chunk-bwy3e58v.js +0 -1
  157. package/web/chunk-d5gshd1a.js +0 -1
  158. package/web/chunk-dp0k5vhd.js +0 -1
  159. package/web/chunk-et1hytyv.js +0 -1
  160. package/web/chunk-f7jpakwh.js +0 -1
  161. package/web/chunk-f9m9seam.js +0 -1
  162. package/web/chunk-g2erm7k0.js +0 -1
  163. package/web/chunk-g3kbn0t2.js +0 -1
  164. package/web/chunk-ght0t49g.js +0 -1
  165. package/web/chunk-ghwm7bdj.js +0 -2
  166. package/web/chunk-gx340asc.js +0 -1
  167. package/web/chunk-h0c42zy3.js +0 -1
  168. package/web/chunk-h2txs73e.js +0 -39
  169. package/web/chunk-h3tkacc7.js +0 -1
  170. package/web/chunk-je78j3vr.js +0 -1
  171. package/web/chunk-kxdtg9dt.js +0 -1
  172. package/web/chunk-m9xzt9p7.js +0 -1
  173. package/web/chunk-mzzaet63.js +0 -1
  174. package/web/chunk-ngt1j8py.js +0 -1139
  175. package/web/chunk-q34as3v6.js +0 -1
  176. package/web/chunk-qe0bgeda.js +0 -1
  177. package/web/chunk-sat7zyva.js +0 -1
  178. package/web/chunk-sk0hpa80.js +0 -1
  179. package/web/chunk-tj1fn8v2.js +0 -1
  180. package/web/chunk-tvcxrx6h.js +0 -1
  181. package/web/chunk-tzpnh70q.js +0 -1
  182. package/web/chunk-vb7g4xg6.js +0 -1
  183. package/web/chunk-wzfe6jtq.js +0 -1
  184. package/web/chunk-xh4xn1az.js +0 -1
  185. package/web/chunk-xk904wqv.js +0 -1
  186. package/web/chunk-xzwxcxb4.js +0 -1
  187. package/web/chunk-yekaz74b.js +0 -1
  188. package/web/chunk-ys2tns0p.js +0 -1
@@ -1,3 +1,3 @@
1
- import{G}from"./chunk-eh7wp62z.js";import{t,a,N,x,O,C,S,E,T,A,L,R,l,kr,p,Dn,Qr,U}from"./chunk-tfqarvdx.js";import{Fr,J}from"./chunk-qy1zx2yw.js";var _="position frame",V="frame positioned",F="position relation",X="relation positioned",pe=t(function(e){a.debug("options str",e)},"setOptions"),ve=t(function(){return{}},"getOptions"),be=t(function(){j(),C()},"clear");function j(){M={}}t(j,"reset");var we=N.eventmodeling,ye=t(()=>U({...we,...x().eventmodeling}),"getConfig"),M={};function Y(){let e=Pe,{ast:i}=M,n=I();if(!i)throw Error("No data for EventModel");return i.frames.forEach((r,o)=>{let s=te(r,i.dataEntities,n);e=P(e,{$kind:_,index:o,frame:r,textProps:s});let c=void 0;if(se(r))a.debug("source frame",r.sourceFrames),c=i.frames.filter((m)=>r.sourceFrames.some((u)=>u.$refText===m.name)),c.forEach((m)=>{e=P(e,{$kind:F,index:o,frame:r,sourceFrame:m})});else e=P(e,{$kind:F,index:o,frame:r})}),e={...e,sortedSwimlanesArray:W(e.swimlanes)},e}t(Y,"getState");function z(e){M.ast=void 0;let i=new Set;for(let n of e.frames){if(i.has(n.name)){let r=n.$cstNode?.range.start.line,o=r===void 0?"":` on line ${r+1}`;throw Error(`Duplicate event modeling frame ID "${n.name}"${o}`)}i.add(n.name)}M.ast=e}t(z,"setAst");var d={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function I(){return d}t(I,"getDiagramProps");var Pe={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function K(e){let i=e.split(".");if(i.length===2)return i[0];return}t(K,"extractNamespace");function q(e){let i=e.split(".");if(i.length===2)return i[1];return e}t(q,"extractName");function Q(e,i){if(!i||i.length===0)return;return Object.values(e).find((n)=>n.namespace===i)}t(Q,"findSwimlaneByNamespace");function y(e,i,n){return Math.max(i,...Object.keys(e).filter((r)=>{let o=Number.parseInt(r);return o>i&&o<n}).map((r)=>Number.parseInt(r)))+1}t(y,"findNextAvailableIndex");function Z(e,i){let n=K(e.entityIdentifier),r=Q(i,n);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(r)return{index:r.index,label:r.namespace||d.labelUiAutomation};else if(n)return{index:y(i,0,100),label:d.labelUiAutomationPrefix+n};return{index:0,label:d.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(r)return{index:r.index,label:r.namespace||d.labelCommandReadModel};else if(n)return{index:y(i,100,200),label:d.labelCommandReadModelPrefix+n};return{index:100,label:d.labelCommandReadModel};case"evt":case"event":default:if(r)return{index:r.index,label:r.namespace||d.labelEvents};else if(n)return{index:y(i,200,300),label:d.labelEventsPrefix+n};return{index:200,label:d.labelEvents}}}t(Z,"calculateSwimlaneProps");function ee(e){let{themeVariables:i}=x();switch(e.modelEntityType){case"ui":return{fill:i.emUiFill??"white",stroke:i.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:i.emProcessorFill??"#edb3f6",stroke:i.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:i.emReadModelFill??"#d3f1a2",stroke:i.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:i.emCommandFill??"#bcd6fe",stroke:i.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:i.emEventFill??"#ffb778",stroke:i.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}t(ee,"calculateEntityVisualProps");function te(e,i,n){let r=x(),o=O(q(e.entityIdentifier)??"",r),s,c={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},u=`<b>${Dn(o,n.textMaxWidth,c)}</b>`;if(e.dataInlineValue)s=e.dataInlineValue,s=s.substring(s.indexOf("{")+1),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Dn(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;");if(e.dataReference){let w=i.find((k)=>k.name===e.dataReference?.$refText);if(w)s=w.dataBlockValue,s=s.substring(s.indexOf(`{
2
- `)+2),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Dn(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;"),s+="<br/>"}let f=s!==void 0;if(f)u+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${s}</code>`;let h={fontSize:c.fontSize,fontWeight:c.fontWeight,fontFamily:c.fontFamily},g=Qr(u,h),b=f?g.width/3:g.width,v={content:u,width:b,height:g.height};return a.debug(`[${e.name}] ${e.entityIdentifier} text`,v),v}t(te,"calculateTextProps");function ne(e,i){let n=i,r=ee(n.frame),o={width:n.textProps.width+2*d.boxTextPadding,height:n.textProps.height+2*d.boxTextPadding};return[{$kind:V,frame:n.frame,index:n.index,visual:r,dimension:o,textProps:n.textProps}]}t(ne,"decidePositionFrame");function ie(e,i,n){if(i===void 0)return d.contentStartX;if(i.index===e.index&&e.r)return e.r+d.boxPadding;if(n===void 0)return d.contentStartX;return n.r-d.boxOverlap+d.boxPadding}t(ie,"calculateX");function re(e,i){let n=[...e.map((r)=>r.r),i];return Math.max(...n)}t(re,"calculateMaxRight");function W(e){return Object.values(e).sort((i,n)=>i.index-n.index)}t(W,"sortedSwimlanesArray");function ae(e,i){let n=i,r=Z(n.frame,e.swimlanes),o;if(r.index in e.swimlanes)o=e.swimlanes[r.index];else o={index:r.index,label:r.label,r:0,y:r.index*d.swimlaneMinHeight+d.swimlaneGap,height:d.swimlaneMinHeight,maxHeight:d.swimlaneMinHeight};let s=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,c=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,m={width:Math.max(d.boxMinWidth,Math.min(d.boxMaxWidth,n.dimension.width))+2*d.boxPadding,height:Math.max(d.boxMinHeight,Math.min(d.boxMaxHeight,n.dimension.height))+2*d.boxPadding},u=ie(o,c,s),f=u+m.width+d.boxPadding,h=re(Object.values(e.swimlanes),f);o.r=u+m.width,o.maxHeight=Math.max(o.maxHeight,m.height),o.height=Math.max(d.swimlaneMinHeight,o.maxHeight)+2*d.swimlanePadding;let g={x:u,y:d.swimlanePadding+o.y,r:f,dimension:m,leftSibling:!1,swimlane:o,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},b={...e,boxes:[...e.boxes,g],swimlanes:{...e.swimlanes,[`${o.index}`]:o},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:h},v=W(b.swimlanes);if(v.length>0)v[0].y=0;for(let w=1;w<v.length;w++){let k=v[w],H=v[w-1];k.y=H.y+H.height+d.swimlaneGap}return b}t(ae,"evolveFramePositioned");function oe(e,i){if(e===0&&i.sourceFrames.length===0)return!0;return!1}t(oe,"isFirstFrame");function se(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}t(se,"hasSourceFrame");function B(e,i){if(i===void 0||i===null)return;return e.find((n)=>n.frame.name===i.name)}t(B,"findBoxByFrame");function de(e,i,n){if(n<0)return;for(let r=n;r>=0;r--){let o=e[r];if(o.swimlane.index!==i)return o}return}t(de,"findBoxByLineIndex");function le(e,i){let n=i;if(oe(n.index,n.frame))return[];let r=B(e.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let o;if(n.sourceFrame)o=B(e.boxes,n.sourceFrame);else{if(Fr(n.frame))return[];o=de(e.boxes,r.swimlane.index,n.index-1)}if(o===void 0)return[];return[{$kind:X,frame:n.frame,index:n.index,sourceBox:o,targetBox:r}]}t(le,"decidePositionRelation");function ce(e,i){let n=i,r={visual:{fill:"none",stroke:"#000"},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}t(ce,"evolveRelationPositioned");var Se={[_]:ne,[F]:le},Me={[V]:ae,[X]:ce};function me(e,i){let n=Se[i.$kind];if(n===void 0||n===null)return[];let r=n(e,i);return a.debug("decided events",r),r}t(me,"decide");function ue(e,i){let n=i.reduce((r,o)=>{let s=Me[o.$kind];if(s===void 0||s===null)return r;return s(r,o)},e);return a.debug("evolve events",{state:e,newState:n,events:i}),n}t(ue,"evolve");function P(e,i){let n=me(e,i);return ue(e,n)}t(P,"dispatch");var D={getConfig:ye,preserveCommentsWhenParsing:!0,setOptions:pe,getOptions:ve,clear:be,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R,setAst:z,getDiagramProps:I,getState:Y},ke={parse:t(async(e)=>{let i=await J("eventmodeling",e);a.debug(i),D.setAst(i),G(i,D)},"parse")},Fe=l(),Be=Fe?.eventmodeling;function xe(e,i){return(n)=>{let r=n.swimlane.y+i.swimlanePadding,o=e.append("g").attr("class","em-box");o.append("rect").attr("x",n.x).attr("y",r).attr("rx","3").attr("width",n.dimension.width).attr("height",n.dimension.height).attr("stroke",n.visual.stroke).attr("fill",n.visual.fill),o.append("foreignObject").attr("x",n.x+i.boxPadding).attr("y",r+10).attr("width",n.dimension.width-2*i.boxPadding).attr("height",n.dimension.height-2*i.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(n.text)}}t(xe,"renderD3Box");function fe(e,i){return e>i}t(fe,"dirUpwards");function ge(e,i,n,r){return(o)=>{let s=o.sourceBox.swimlane.y+i.swimlanePadding,c=o.targetBox.swimlane.y+i.swimlanePadding,m=fe(s,c),u=o.sourceBox.x+o.sourceBox.dimension.width*2/3,f=o.targetBox.x+o.targetBox.dimension.width/3,h,g;if(a.debug(`rendering relation up=${m} for `,{sourceBox:o.sourceBox,targetBox:o.targetBox}),m)h=s,g=c+o.targetBox.dimension.height;else h=s+o.sourceBox.dimension.height,g=c;let b=r.emRelationStroke??o.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",o.visual.fill).attr("stroke",b).attr("stroke-width","1").attr("marker-end",`url(#${n})`).attr("d",`M${u} ${h} L${f} ${g}`)}}t(ge,"renderD3Relation");function he(e,i,n,r){return(o)=>{let s=e.append("g").attr("class","em-swimlane"),c=r.emSwimlaneBackgroundOdd??"rgb(250,250,250)",m=r.emSwimlaneBackgroundStroke??"rgb(240,240,240)";s.append("rect").attr("x",0).attr("y",o.y).attr("rx","3").attr("width",i+n.swimlanePadding).attr("height",o.height).attr("fill",c).attr("stroke",m),s.append("text").attr("font-weight",n.swimlaneTextFontWeight).attr("x",30).attr("y",o.y+30).text(o.label)}}t(he,"renderD3Swimlane");var Ee=t(function(e,i,n,r){if(a.debug("in eventmodeling renderer",e+`
3
- `,"id:",i,n),!Be)throw Error("EventModeling config not found");let o=r.db,{themeVariables:s,eventmodeling:c}=l(),m=p(`[id="${i}"]`),u=o.getDiagramProps(),f=o.getState(),h=`em-arrowhead-${i}`,g=s.emArrowhead??"#000000";f.sortedSwimlanesArray.forEach(he(m,f.maxR,u,s)),f.boxes.forEach(xe(m,u)),f.relations.forEach(ge(m,u,h,s)),m.append("defs").append("marker").attr("id",h).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",g),kr(void 0,m,c?.padding??30,c?.useMaxWidth)},"draw"),Ae={draw:Ee},$e=t((e)=>"","getStyles"),Re=$e,Ue={parser:ke,db:D,renderer:Ae,styles:Re};export{Ue as diagram};
1
+ import{G}from"./chunk-p1yc8hwn.js";import{t,a,M,x,O,C,S,E,T,A,L,R,l,_r,p,Ln,Xr,U}from"./chunk-e763h2px.js";import{$r,Q}from"./chunk-xjc5fmcr.js";var _="position frame",V="frame positioned",B="position relation",X="relation positioned",pe=t(function(e){a.debug("options str",e)},"setOptions"),ve=t(function(){return{}},"getOptions"),be=t(function(){j(),C()},"clear");function j(){k={}}t(j,"reset");var we=M.eventmodeling,ye=t(()=>U({...we,...x().eventmodeling}),"getConfig"),k={};function Y(){let e=Pe,{ast:i}=k,n=I();if(!i)throw Error("No data for EventModel");return i.frames.forEach((r,o)=>{let s=te(r,i.dataEntities,n);e=P(e,{$kind:_,index:o,frame:r,textProps:s});let c=void 0;if(se(r))a.debug("source frame",r.sourceFrames),c=i.frames.filter((m)=>r.sourceFrames.some((u)=>u.$refText===m.name)),c.forEach((m)=>{e=P(e,{$kind:B,index:o,frame:r,sourceFrame:m})});else e=P(e,{$kind:B,index:o,frame:r})}),e={...e,sortedSwimlanesArray:W(e.swimlanes)},e}t(Y,"getState");function z(e){k.ast=void 0;let i=new Set;for(let n of e.frames){if(i.has(n.name)){let r=n.$cstNode?.range.start.line,o=r===void 0?"":` on line ${r+1}`;throw Error(`Duplicate event modeling frame ID "${n.name}"${o}`)}i.add(n.name)}k.ast=e}t(z,"setAst");var d={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function I(){return d}t(I,"getDiagramProps");var Pe={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function K(e){let i=e.split(".");if(i.length===2)return i[0];return}t(K,"extractNamespace");function q(e){let i=e.split(".");if(i.length===2)return i[1];return e}t(q,"extractName");function J(e,i){if(!i||i.length===0)return;return Object.values(e).find((n)=>n.namespace===i)}t(J,"findSwimlaneByNamespace");function y(e,i,n){return Math.max(i,...Object.keys(e).filter((r)=>{let o=Number.parseInt(r);return o>i&&o<n}).map((r)=>Number.parseInt(r)))+1}t(y,"findNextAvailableIndex");function Z(e,i){let n=K(e.entityIdentifier),r=J(i,n);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(r)return{index:r.index,label:r.namespace||d.labelUiAutomation};else if(n)return{index:y(i,0,100),label:d.labelUiAutomationPrefix+n};return{index:0,label:d.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(r)return{index:r.index,label:r.namespace||d.labelCommandReadModel};else if(n)return{index:y(i,100,200),label:d.labelCommandReadModelPrefix+n};return{index:100,label:d.labelCommandReadModel};case"evt":case"event":default:if(r)return{index:r.index,label:r.namespace||d.labelEvents};else if(n)return{index:y(i,200,300),label:d.labelEventsPrefix+n};return{index:200,label:d.labelEvents}}}t(Z,"calculateSwimlaneProps");function ee(e){let{themeVariables:i}=x();switch(e.modelEntityType){case"ui":return{fill:i.emUiFill??"white",stroke:i.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:i.emProcessorFill??"#edb3f6",stroke:i.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:i.emReadModelFill??"#d3f1a2",stroke:i.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:i.emCommandFill??"#bcd6fe",stroke:i.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:i.emEventFill??"#ffb778",stroke:i.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}t(ee,"calculateEntityVisualProps");function te(e,i,n){let r=x(),o=O(q(e.entityIdentifier)??"",r),s,c={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},u=`<b>${Ln(o,n.textMaxWidth,c)}</b>`;if(e.dataInlineValue)s=e.dataInlineValue,s=s.substring(s.indexOf("{")+1),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Ln(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;");if(e.dataReference){let w=i.find((F)=>F.name===e.dataReference?.$refText);if(w)s=w.dataBlockValue,s=s.substring(s.indexOf(`{
2
+ `)+2),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Ln(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;"),s+="<br/>"}let f=s!==void 0;if(f)u+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${s}</code>`;let h={fontSize:c.fontSize,fontWeight:c.fontWeight,fontFamily:c.fontFamily},g=Xr(u,h),b=f?g.width/3:g.width,v={content:u,width:b,height:g.height};return a.debug(`[${e.name}] ${e.entityIdentifier} text`,v),v}t(te,"calculateTextProps");function ne(e,i){let n=i,r=ee(n.frame),o={width:n.textProps.width+2*d.boxTextPadding,height:n.textProps.height+2*d.boxTextPadding};return[{$kind:V,frame:n.frame,index:n.index,visual:r,dimension:o,textProps:n.textProps}]}t(ne,"decidePositionFrame");function ie(e,i,n){if(i===void 0)return d.contentStartX;if(i.index===e.index&&e.r)return e.r+d.boxPadding;if(n===void 0)return d.contentStartX;return n.r-d.boxOverlap+d.boxPadding}t(ie,"calculateX");function re(e,i){let n=[...e.map((r)=>r.r),i];return Math.max(...n)}t(re,"calculateMaxRight");function W(e){return Object.values(e).sort((i,n)=>i.index-n.index)}t(W,"sortedSwimlanesArray");function ae(e,i){let n=i,r=Z(n.frame,e.swimlanes),o;if(r.index in e.swimlanes)o=e.swimlanes[r.index];else o={index:r.index,label:r.label,r:0,y:r.index*d.swimlaneMinHeight+d.swimlaneGap,height:d.swimlaneMinHeight,maxHeight:d.swimlaneMinHeight};let s=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,c=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,m={width:Math.max(d.boxMinWidth,Math.min(d.boxMaxWidth,n.dimension.width))+2*d.boxPadding,height:Math.max(d.boxMinHeight,Math.min(d.boxMaxHeight,n.dimension.height))+2*d.boxPadding},u=ie(o,c,s),f=u+m.width+d.boxPadding,h=re(Object.values(e.swimlanes),f);o.r=u+m.width,o.maxHeight=Math.max(o.maxHeight,m.height),o.height=Math.max(d.swimlaneMinHeight,o.maxHeight)+2*d.swimlanePadding;let g={x:u,y:d.swimlanePadding+o.y,r:f,dimension:m,leftSibling:!1,swimlane:o,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},b={...e,boxes:[...e.boxes,g],swimlanes:{...e.swimlanes,[`${o.index}`]:o},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:h},v=W(b.swimlanes);if(v.length>0)v[0].y=0;for(let w=1;w<v.length;w++){let F=v[w],H=v[w-1];F.y=H.y+H.height+d.swimlaneGap}return b}t(ae,"evolveFramePositioned");function oe(e,i){if(e===0&&i.sourceFrames.length===0)return!0;return!1}t(oe,"isFirstFrame");function se(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}t(se,"hasSourceFrame");function D(e,i){if(i===void 0||i===null)return;return e.find((n)=>n.frame.name===i.name)}t(D,"findBoxByFrame");function de(e,i,n){if(n<0)return;for(let r=n;r>=0;r--){let o=e[r];if(o.swimlane.index!==i)return o}return}t(de,"findBoxByLineIndex");function le(e,i){let n=i;if(oe(n.index,n.frame))return[];let r=D(e.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let o;if(n.sourceFrame)o=D(e.boxes,n.sourceFrame);else{if($r(n.frame))return[];o=de(e.boxes,r.swimlane.index,n.index-1)}if(o===void 0)return[];return[{$kind:X,frame:n.frame,index:n.index,sourceBox:o,targetBox:r}]}t(le,"decidePositionRelation");function ce(e,i){let n=i,r={visual:{fill:"none",stroke:"#000"},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}t(ce,"evolveRelationPositioned");var Se={[_]:ne,[B]:le},Me={[V]:ae,[X]:ce};function me(e,i){let n=Se[i.$kind];if(n===void 0||n===null)return[];let r=n(e,i);return a.debug("decided events",r),r}t(me,"decide");function ue(e,i){let n=i.reduce((r,o)=>{let s=Me[o.$kind];if(s===void 0||s===null)return r;return s(r,o)},e);return a.debug("evolve events",{state:e,newState:n,events:i}),n}t(ue,"evolve");function P(e,i){let n=me(e,i);return ue(e,n)}t(P,"dispatch");var N={getConfig:ye,preserveCommentsWhenParsing:!0,setOptions:pe,getOptions:ve,clear:be,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R,setAst:z,getDiagramProps:I,getState:Y},ke={parse:t(async(e)=>{let i=await Q("eventmodeling",e);a.debug(i),N.setAst(i),G(i,N)},"parse")},Fe=l(),Be=Fe?.eventmodeling;function xe(e,i){return(n)=>{let r=n.swimlane.y+i.swimlanePadding,o=e.append("g").attr("class","em-box");o.append("rect").attr("x",n.x).attr("y",r).attr("rx","3").attr("width",n.dimension.width).attr("height",n.dimension.height).attr("stroke",n.visual.stroke).attr("fill",n.visual.fill),o.append("foreignObject").attr("x",n.x+i.boxPadding).attr("y",r+10).attr("width",n.dimension.width-2*i.boxPadding).attr("height",n.dimension.height-2*i.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(n.text)}}t(xe,"renderD3Box");function fe(e,i){return e>i}t(fe,"dirUpwards");function ge(e,i,n,r){return(o)=>{let s=o.sourceBox.swimlane.y+i.swimlanePadding,c=o.targetBox.swimlane.y+i.swimlanePadding,m=fe(s,c),u=o.sourceBox.x+o.sourceBox.dimension.width*2/3,f=o.targetBox.x+o.targetBox.dimension.width/3,h,g;if(a.debug(`rendering relation up=${m} for `,{sourceBox:o.sourceBox,targetBox:o.targetBox}),m)h=s,g=c+o.targetBox.dimension.height;else h=s+o.sourceBox.dimension.height,g=c;let b=r.emRelationStroke??o.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",o.visual.fill).attr("stroke",b).attr("stroke-width","1").attr("marker-end",`url(#${n})`).attr("d",`M${u} ${h} L${f} ${g}`)}}t(ge,"renderD3Relation");function he(e,i,n,r){return(o)=>{let s=e.append("g").attr("class","em-swimlane"),c=r.emSwimlaneBackgroundOdd??"rgb(250,250,250)",m=r.emSwimlaneBackgroundStroke??"rgb(240,240,240)";s.append("rect").attr("x",0).attr("y",o.y).attr("rx","3").attr("width",i+n.swimlanePadding).attr("height",o.height).attr("fill",c).attr("stroke",m),s.append("text").attr("font-weight",n.swimlaneTextFontWeight).attr("x",30).attr("y",o.y+30).text(o.label)}}t(he,"renderD3Swimlane");var Ee=t(function(e,i,n,r){if(a.debug("in eventmodeling renderer",e+`
3
+ `,"id:",i,n),!Be)throw Error("EventModeling config not found");let o=r.db,{themeVariables:s,eventmodeling:c}=l(),m=p(`[id="${i}"]`),u=o.getDiagramProps(),f=o.getState(),h=`em-arrowhead-${i}`,g=s.emArrowhead??"#000000";f.sortedSwimlanesArray.forEach(he(m,f.maxR,u,s)),f.boxes.forEach(xe(m,u)),f.relations.forEach(ge(m,u,h,s)),m.append("defs").append("marker").attr("id",h).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",g),_r(void 0,m,c?.padding??30,c?.useMaxWidth)},"draw"),Ae={draw:Ee},$e=t((e)=>"","getStyles"),Re=$e,Ue={parser:ke,db:N,renderer:Ae,styles:Re};export{Ue as diagram};
@@ -1,9 +1,9 @@
1
- import{t,Kt,a,K,u,d,x,gt,Pa,C,l,p,V,We,se,Ye}from"./chunk-tfqarvdx.js";import{_t}from"./chunk-46jnkghq.js";var ht=function(){var r=t(function(E,o,y,g){for(y=y||{},g=E.length;g--;y[E[g]]=o);return y},"o"),e=[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],b={trace:t(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:t(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(e,[2,5],{5:6}),r(e,[2,2]),r(e,[2,3]),r(e,[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(e,[2,10],{1:[2,1]}),r(e,[2,6]),{12:21,14:s,15:i,17:n,19:f,20:h,21:17,22:18,23:c,24:_},r(e,[2,8]),r(e,[2,9]),r(e,[2,11]),{16:[1,22]},{18:[1,23]},r(e,[2,14]),r(e,[2,15]),r(e,[2,16]),r(e,[2,17]),r(e,[2,18]),r(e,[2,19]),r(e,[2,7]),r(e,[2,12]),r(e,[2,13])],defaultActions:{},parseError:t(function(o,y){if(y.recoverable)this.trace(o);else{var g=Error(o);throw g.hash=y,g}},"parseError"),parse:t(function(o){var y=this,g=[0],k=[],w=[null],m=[],I=this.table,T="",W=0,D=0,U=0,Q=2,B=1,G=m.slice.call(arguments,1),L=Object.create(this.lexer),z={yy:{}};for(var Z in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Z))z.yy[Z]=this.yy[Z];if(L.setInput(o,z.yy),z.yy.lexer=L,z.yy.parser=this,typeof L.yylloc>"u")L.yylloc={};var Y=L.yylloc;m.push(Y);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(X){g.length=g.length-2*X,w.length=w.length-X,m.length=m.length-X}t(N,"popStack");function M(){var X=k.pop()||L.lex()||B;if(typeof X!=="number"){if(X instanceof Array)k=X,X=k.pop();X=y.symbols_[X]||X}return X}t(M,"lex");var H,P,F,R,lt,rt,J={},nt,j,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>Q)it.push("'"+this.terminals_[nt]+"'");if(L.showPosition)ct="Parse error on line "+(W+1)+`:
1
+ import{t,Zt,a,K,u,d,x,yt,Ma,C,l,p,V,Ge,se,Ze}from"./chunk-e763h2px.js";import{xt}from"./chunk-rqympya7.js";var ht=function(){var r=t(function(E,o,y,g){for(y=y||{},g=E.length;g--;y[E[g]]=o);return y},"o"),e=[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],b={trace:t(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:t(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(e,[2,5],{5:6}),r(e,[2,2]),r(e,[2,3]),r(e,[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(e,[2,10],{1:[2,1]}),r(e,[2,6]),{12:21,14:s,15:i,17:n,19:f,20:h,21:17,22:18,23:c,24:_},r(e,[2,8]),r(e,[2,9]),r(e,[2,11]),{16:[1,22]},{18:[1,23]},r(e,[2,14]),r(e,[2,15]),r(e,[2,16]),r(e,[2,17]),r(e,[2,18]),r(e,[2,19]),r(e,[2,7]),r(e,[2,12]),r(e,[2,13])],defaultActions:{},parseError:t(function(o,y){if(y.recoverable)this.trace(o);else{var g=Error(o);throw g.hash=y,g}},"parseError"),parse:t(function(o){var y=this,g=[0],k=[],w=[null],m=[],I=this.table,T="",W=0,D=0,U=0,Q=2,B=1,G=m.slice.call(arguments,1),L=Object.create(this.lexer),z={yy:{}};for(var Z in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Z))z.yy[Z]=this.yy[Z];if(L.setInput(o,z.yy),z.yy.lexer=L,z.yy.parser=this,typeof L.yylloc>"u")L.yylloc={};var Y=L.yylloc;m.push(Y);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(X){g.length=g.length-2*X,w.length=w.length-X,m.length=m.length-X}t(N,"popStack");function M(){var X=k.pop()||L.lex()||B;if(typeof X!=="number"){if(X instanceof Array)k=X,X=k.pop();X=y.symbols_[X]||X}return X}t(M,"lex");var H,P,F,R,lt,rt,J={},nt,j,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>Q)it.push("'"+this.terminals_[nt]+"'");if(L.showPosition)ct="Parse error on line "+(W+1)+`:
2
2
  `+L.showPosition()+`
3
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:Y,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,Y=L.yylloc,U>0)U--}else H=P,P=null;break;case 2:if(j=this.productions_[R[1]][1],J.$=w[w.length-j],J._$={first_line:m[m.length-(j||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(j||1)].first_column,last_column:m[m.length-1].last_column},A)J._$.range=[m[m.length-(j||1)].range[0],m[m.length-1].range[1]];if(rt=this.performAction.apply(J,[T,D,W,z.yy,R[1],w,m].concat(G)),typeof rt<"u")return rt;if(j)g=g.slice(0,-1*j*2),w=w.slice(0,-1*j),m=m.slice(0,-1*j);g.push(this.productions_[R[1]][0]),w.push(J.$),m.push(J._$),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:t(function(y,g){if(this.yy.parser)this.yy.parser.parseError(y,g);else throw Error(y)},"parseError"),setInput:t(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:t(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:t(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:t(function(){return this._more=!0,this},"more"),reject:t(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
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:t(function(o){this.unput(this.match.slice(o))},"less"),pastInput:t(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:t(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:t(function(){var o=this.pastInput(),y=Array(o.length+1).join("-");return o+this.upcomingInput()+`
5
5
  `+y+"^"},"showPosition"),test_match:t(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:t(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:t(function(){var y=this.next();if(y)return y;else return this.lex()},"lex"),begin:t(function(y){this.conditionStack.push(y)},"begin"),popState:t(function(){var y=this.conditionStack.length-1;if(y>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(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:t(function(y){if(y=this.conditionStack.length-1-Math.abs(y||0),y>=0)return this.conditionStack[y];else return"INITIAL"},"topState"),pushState:t(function(y){this.begin(y)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(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}();b.lexer=S;function v(){this.yy={}}return t(v,"Parser"),v.prototype=b,b.Parser=v,new v}();ht.parser=ht;var Gt=ht,Et={};Kt(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=t(()=>Pa,"getCommonDb"),Nt=t(function(){pt.length=0,st.length=0,tt="",et.length=0,ut="LR",C()},"clear"),It=t(function(r){ut=r},"setDirection"),Ht=t(function(){return ut},"getDirection"),Lt=t(function(r){tt=r,pt.push(r)},"addSection"),Mt=t(function(){return pt},"getSections"),At=t(function(){let r=xt(),e=100,s=0;while(!r&&s<e)r=xt(),s++;return st.push(...et),st},"getTasks"),Ct=t(function(r,e,s){let i={id:Tt++,section:tt,type:tt,task:r,score:e?e:0,events:s?[s]:[]};et.push(i)},"addTask"),Rt=t(function(r){et.find((s)=>s.id===Tt-1).events.push(r)},"addEvent"),Wt=t(function(r){let e={section:tt,type:tt,description:r,task:r,classes:[]};st.push(e)},"addTaskOrg"),xt=t(function(){let r=t(function(s){return et[s].processed},"compileTask"),e=!0;for(let[s,i]of et.entries())r(s),e=e&&i.processed;return e},"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=t(function(r,e){let s=r.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),s.attr("rx",e.rx),s.attr("ry",e.ry),e.class!==void 0)s.attr("class",e.class);return s},"drawRect"),Ut=t(function(r,e){let i=r.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=r.append("g");n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function f(_){let b=_t().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",b).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}t(f,"smile");function h(_){let b=_t().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",b).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}t(h,"sad");function c(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}if(t(c,"ambivalent"),e.score>3)f(n);else if(e.score<3)h(n);else c(n);return i},"drawFace"),Xt=t(function(r,e){let s=r.append("circle");if(s.attr("cx",e.cx),s.attr("cy",e.cy),s.attr("class","actor-"+e.pos),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("r",e.r),s.class!==void 0)s.attr("class",s.class);if(e.title!==void 0)s.append("title").text(e.title);return s},"drawCircle"),Bt=t(function(r,e){let s=e.text.replace(/<br\s*\/?>/gi," "),i=r.append("text");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class!==void 0)i.attr("class",e.class);let n=i.append("tspan");return n.attr("x",e.x+e.textMargin*2),n.text(s),i},"drawText"),Zt=t(function(r,e){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)}t(s,"genPoints");let i=r.append("polygon");i.attr("points",s(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+0.5*e.labelMargin,Bt(r,e)},"drawLabel"),jt=t(function(r,e,s){let i=r.append("g"),n=ft();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=s.width,n.height=s.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,at(i,n),Vt(s)(e.text,i,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},s,e.colour)},"drawSection"),dt=-1,qt=t(function(r,e,s,i){let n=e.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",e.y).attr("x2",n).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Ut(f,{cx:n,cy:300+(5-e.score)*30,score:e.score});let c=ft();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=s.width,c.height=s.height,c.class="task task-type-"+e.num,c.rx=3,c.ry=3,at(f,c),Vt(s)(e.task,f,c.x,c.y,c.width,c.height,{class:"task"},s,e.colour)},"drawTask"),Jt=t(function(r,e){at(r,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),Qt=t(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),ft=t(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,_,b,S,v){let E=f.append("text").attr("x",h+_/2).attr("y",c+b/2+5).style("font-color",v).style("text-anchor","middle").text(n);i(E,S)}t(r,"byText");function e(n,f,h,c,_,b,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+b/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(m,S)}}t(e,"byTspan");function s(n,f,h,c,_,b,S,v){let E=f.append("switch"),y=E.append("foreignObject").attr("x",h).attr("y",c).attr("width",_).attr("height",b).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),e(n,E,h,c,_,b,S,v),i(y,S)}t(s,"byFo");function i(n,f){for(let h in f)if(h in f)n.attr(h,f[h])}return t(i,"_setTextAttrs"),function(n){return n.textPlacement==="fo"?s:n.textPlacement==="old"?r:e}}(),Yt=t(function(r,e){Pt=0,dt=-1,r.append("defs").append("marker").attr("id",e+"-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,e){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")),b=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),b.text(f.join(" ").trim()),b.node().getComputedTextLength()>e||n==="<br>"){if(f.pop(),b.text(f.join(" ").trim()),n==="<br>")f=[""];else f=[n];b=s.append("tspan").attr("x",0).attr("y",c).attr("dy",h+"em").text(n)}})}t(yt,"wrap");var te=t(function(r,e,s,i,n,f=!1){let{theme:h,look:c}=i,_=h?.includes("redux"),b=i?.themeVariables?.THEME_COLOR_LIMIT??12,S=s%b-1,v=r.append("g");e.section=S,v.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+S));let E=v.append("g"),o=v.append("g"),g=o.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,e.width).node().getBBox(),k=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;if(e.height=g.height+k*1.1*0.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,o.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),_)o.attr("transform",`translate(${e.width/2}, ${f?e.padding/2+3:e.padding})`);if(re(E,e,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 e},"drawNode"),ee=t(function(r,e,s){let i=r.append("g"),f=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,e.width).node().getBBox(),h=s.fontSize?.replace?s.fontSize.replace("px",""):s.fontSize;return i.remove(),f.height+h*1.1*0.5+e.padding},"getVirtualNodeHeight"),re=t(function(r,e,s,i,n){let{theme:f}=n,h=f?.includes("redux")?0:5,c=5,_=h>0?`M0 ${e.height-5} v${-e.height+10} q0,-${h},${h},-${h} h${e.width-10} q${h},0,${h},${h} v${e.height-5} H0 Z`:`M0 ${e.height-5} v${-(e.height-5)} h${e.width} v${e.height} H0 Z`;if(r.append("path").attr("id",i+"-node-"+Pt++).attr("class","node-bkg node-"+e.type).attr("d",_),!f?.includes("redux"))r.append("line").attr("class","node-line-"+s).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),O={drawRect:at,drawCircle:Xt,drawSection:jt,drawText:Bt,drawLabel:Zt,drawTask:qt,drawBackgroundRect:Jt,getTextObj:Qt,getNoteRect:ft,initGraphics:Yt,drawNode:te,getVirtualNodeHeight:ee},ne=t(function(r,e,s,i){let n=l(),{look:f,theme:h,themeVariables:c}=n,{useGradient:_,gradientStart:b,gradientStop:S}=c,v=n.timeline?.leftMargin??50;a.debug("timeline",i.db);let E=n.securityLevel,o;if(E==="sandbox")o=p("#i"+e);let g=(E==="sandbox"?p(o.nodes()[0].contentDocument.body):p("body")).select("#"+e);g.append("g");let k=i.db.getTasks(),w=i.db.getCommonDb().getDiagramTitle();a.debug("task",k),O.initGraphics(g,e);let m=i.db.getSections();a.debug("sections",m);let I=0,T=0,W=0,D=0,U=50+v,Q=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,e);if(a.debug("sectionNode output",P),H.attr("transform",`translate(${U}, ${D})`),Q+=I+50,N.length>0)bt(g,N,B,U,Q,T,n,L,z,I,!1,e);U+=200*Math.max(N.length,1),Q=D,B++});else G=!1,bt(g,k,B,U,Q,T,n,L,z,I,!0,e);let Z=g.node().getBBox();if(a.debug("bounds",Z),w)g.append("text").text(w).attr("x",f==="neo"?Z.x*2+v:Z.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",Z.width+3*v).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-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",b).attr("stop-opacity",1),M.append("stop").attr("offset","100%").attr("stop-color",S).attr("stop-opacity",1)}gt(void 0,g,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),bt=t(function(r,e,s,i,n,f,h,c,_,b,S,v){for(let E of e){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=t(function(r,e,s,i,n,f,h){let c=0,_=n;n=n+100;for(let b of e){let S={descr:b,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"),ae={setConf:t(()=>{},"setConf"),draw:ne},ot=200,q=5,oe=ot+q*2,mt=ot+100,le=mt+q*2,Ft=10,ce=0,vt=20,zt=20,wt=30,Ot=50,he=t(function(r,e,s,i){let n=l(),f=n.timeline?.leftMargin??50;a.debug("timeline",i.db);let h=V(e);h.append("g");let c=i.db.getTasks(),_=i.db.getCommonDb().getDiagramTitle();a.debug("task",c),O.initGraphics(h);let b=i.db.getSections();a.debug("sections",b);let S=0,v=0,E=50+f,o=50,y=o,g=E,k=oe+zt,w=le+Ot,m=g+k,I=0,T=b&&b.length>0,W=T?m:E+k,D=Math.max(50,k+w-q*2);b.forEach(function(A){let N={number:I,descr:A,section:I,width:D,padding:q,maxHeight:S},M=O.getVirtualNodeHeight(h,N,n);a.debug("sectionHeight before draw",M),S=Math.max(S,M)});let U=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:q,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:q,maxHeight:50};P+=O.getVirtualNodeHeight(h,R,n)}if(N.events.length>0)P+=(N.events.length-1)*Ft;U=Math.max(U,P)+ce}a.debug("maxSectionHeight before draw",S),a.debug("maxTaskHeight before draw",v);let B=Math.max(v,U)+wt;if(T)b.forEach((A)=>{let N=c.filter((J)=>J.section===A),M={number:I,descr:A,section:I,width:D,padding:q,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,Z=(L??16)*0.5+20,Y=h.append("g").attr("class","lineWrapper");Y.append("line").attr("x1",W).attr("y1",y-z).attr("x2",W).attr("y2",G.y+G.height+Z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Y.lower(),gt(void 0,h,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),St=t(function(r,e,s,i,n,f,h,c,_){for(let b of e){let S={descr:b.task,section:s,number:s,width:ot,padding:q,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),b.events&&b.events.length>0){let g=n,k=i+Ot;de(r,b.events,s,i,k,g,h)}if(n=n+c,_&&!h.timeline?.disableMulticolor)s++}},"drawTasks"),de=t(function(r,e,s,i,n,f,h){let c=f;for(let _ of e){let b={descr:_,section:s,number:s,width:mt,padding:q,maxHeight:0};a.debug("eventNode",b);let S=r.append("g").attr("class","eventWrapper"),E=O.drawNode(S,b,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:t(()=>{},"setConf"),draw:he},pe=t((r)=>{let{theme:e}=x(),s=e?.includes("dark"),i=se(e,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}`,b=i?r.borderColorArray[c%r.borderColorArray.length]:void 0,S=b??r.mainBkg,v=b??r.nodeBorder;h+=`
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var y=this.next();if(y)return y;else return this.lex()},"lex"),begin:t(function(y){this.conditionStack.push(y)},"begin"),popState:t(function(){var y=this.conditionStack.length-1;if(y>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(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:t(function(y){if(y=this.conditionStack.length-1-Math.abs(y||0),y>=0)return this.conditionStack[y];else return"INITIAL"},"topState"),pushState:t(function(y){this.begin(y)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(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}();b.lexer=S;function v(){this.yy={}}return t(v,"Parser"),v.prototype=b,b.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=t(()=>Ma,"getCommonDb"),Nt=t(function(){pt.length=0,st.length=0,tt="",et.length=0,ut="LR",C()},"clear"),It=t(function(r){ut=r},"setDirection"),Ht=t(function(){return ut},"getDirection"),Lt=t(function(r){tt=r,pt.push(r)},"addSection"),Mt=t(function(){return pt},"getSections"),At=t(function(){let r=bt(),e=100,s=0;while(!r&&s<e)r=bt(),s++;return st.push(...et),st},"getTasks"),Ct=t(function(r,e,s){let i={id:Tt++,section:tt,type:tt,task:r,score:e?e:0,events:s?[s]:[]};et.push(i)},"addTask"),Rt=t(function(r){et.find((s)=>s.id===Tt-1).events.push(r)},"addEvent"),Wt=t(function(r){let e={section:tt,type:tt,description:r,task:r,classes:[]};st.push(e)},"addTaskOrg"),bt=t(function(){let r=t(function(s){return et[s].processed},"compileTask"),e=!0;for(let[s,i]of et.entries())r(s),e=e&&i.processed;return e},"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=t(function(r,e){let s=r.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),s.attr("rx",e.rx),s.attr("ry",e.ry),e.class!==void 0)s.attr("class",e.class);return s},"drawRect"),Kt=t(function(r,e){let i=r.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=r.append("g");n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function f(_){let b=xt().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",b).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}t(f,"smile");function h(_){let b=xt().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",b).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}t(h,"sad");function c(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}if(t(c,"ambivalent"),e.score>3)f(n);else if(e.score<3)h(n);else c(n);return i},"drawFace"),Ut=t(function(r,e){let s=r.append("circle");if(s.attr("cx",e.cx),s.attr("cy",e.cy),s.attr("class","actor-"+e.pos),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("r",e.r),s.class!==void 0)s.attr("class",s.class);if(e.title!==void 0)s.append("title").text(e.title);return s},"drawCircle"),Bt=t(function(r,e){let s=e.text.replace(/<br\s*\/?>/gi," "),i=r.append("text");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class!==void 0)i.attr("class",e.class);let n=i.append("tspan");return n.attr("x",e.x+e.textMargin*2),n.text(s),i},"drawText"),Xt=t(function(r,e){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)}t(s,"genPoints");let i=r.append("polygon");i.attr("points",s(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+0.5*e.labelMargin,Bt(r,e)},"drawLabel"),jt=t(function(r,e,s){let i=r.append("g"),n=gt();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=s.width,n.height=s.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,at(i,n),Vt(s)(e.text,i,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},s,e.colour)},"drawSection"),dt=-1,qt=t(function(r,e,s,i){let n=e.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",e.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-e.score)*30,score:e.score});let c=gt();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=s.width,c.height=s.height,c.class="task task-type-"+e.num,c.rx=3,c.ry=3,at(f,c),Vt(s)(e.task,f,c.x,c.y,c.width,c.height,{class:"task"},s,e.colour)},"drawTask"),Jt=t(function(r,e){at(r,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),Qt=t(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),gt=t(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,_,b,S,v){let E=f.append("text").attr("x",h+_/2).attr("y",c+b/2+5).style("font-color",v).style("text-anchor","middle").text(n);i(E,S)}t(r,"byText");function e(n,f,h,c,_,b,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+b/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(m,S)}}t(e,"byTspan");function s(n,f,h,c,_,b,S,v){let E=f.append("switch"),y=E.append("foreignObject").attr("x",h).attr("y",c).attr("width",_).attr("height",b).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),e(n,E,h,c,_,b,S,v),i(y,S)}t(s,"byFo");function i(n,f){for(let h in f)if(h in f)n.attr(h,f[h])}return t(i,"_setTextAttrs"),function(n){return n.textPlacement==="fo"?s:n.textPlacement==="old"?r:e}}(),Yt=t(function(r,e){Pt=0,dt=-1,r.append("defs").append("marker").attr("id",e+"-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(r,e){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")),b=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),b.text(f.join(" ").trim()),b.node().getComputedTextLength()>e||n==="<br>"){if(f.pop(),b.text(f.join(" ").trim()),n==="<br>")f=[""];else f=[n];b=s.append("tspan").attr("x",0).attr("y",c).attr("dy",h+"em").text(n)}})}t(ft,"wrap");var te=t(function(r,e,s,i,n,f=!1){let{theme:h,look:c}=i,_=h?.includes("redux"),b=i?.themeVariables?.THEME_COLOR_LIMIT??12,S=s%b-1,v=r.append("g");e.section=S,v.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+S));let E=v.append("g"),o=v.append("g"),g=o.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(ft,e.width).node().getBBox(),k=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;if(e.height=g.height+k*1.1*0.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,o.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),_)o.attr("transform",`translate(${e.width/2}, ${f?e.padding/2+3:e.padding})`);if(re(E,e,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 e},"drawNode"),ee=t(function(r,e,s){let i=r.append("g"),f=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(ft,e.width).node().getBBox(),h=s.fontSize?.replace?s.fontSize.replace("px",""):s.fontSize;return i.remove(),f.height+h*1.1*0.5+e.padding},"getVirtualNodeHeight"),re=t(function(r,e,s,i,n){let{theme:f}=n,h=f?.includes("redux")?0:5,c=5,_=h>0?`M0 ${e.height-5} v${-e.height+10} q0,-${h},${h},-${h} h${e.width-10} q${h},0,${h},${h} v${e.height-5} H0 Z`:`M0 ${e.height-5} v${-(e.height-5)} h${e.width} v${e.height} H0 Z`;if(r.append("path").attr("id",i+"-node-"+Pt++).attr("class","node-bkg node-"+e.type).attr("d",_),!f?.includes("redux"))r.append("line").attr("class","node-line-"+s).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.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=t(function(r,e,s,i){let n=l(),{look:f,theme:h,themeVariables:c}=n,{useGradient:_,gradientStart:b,gradientStop:S}=c,v=n.timeline?.leftMargin??50;a.debug("timeline",i.db);let E=n.securityLevel,o;if(E==="sandbox")o=p("#i"+e);let g=(E==="sandbox"?p(o.nodes()[0].contentDocument.body):p("body")).select("#"+e);g.append("g");let k=i.db.getTasks(),w=i.db.getCommonDb().getDiagramTitle();a.debug("task",k),O.initGraphics(g,e);let m=i.db.getSections();a.debug("sections",m);let I=0,T=0,W=0,D=0,U=50+v,Q=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,e);if(a.debug("sectionNode output",P),H.attr("transform",`translate(${U}, ${D})`),Q+=I+50,N.length>0)vt(g,N,B,U,Q,T,n,L,z,I,!1,e);U+=200*Math.max(N.length,1),Q=D,B++});else G=!1,vt(g,k,B,U,Q,T,n,L,z,I,!0,e);let Z=g.node().getBBox();if(a.debug("bounds",Z),w)g.append("text").text(w).attr("x",f==="neo"?Z.x*2+v:Z.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",Z.width+3*v).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-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",b).attr("stop-opacity",1),M.append("stop").attr("offset","100%").attr("stop-color",S).attr("stop-opacity",1)}yt(void 0,g,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),vt=t(function(r,e,s,i,n,f,h,c,_,b,S,v){for(let E of e){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=t(function(r,e,s,i,n,f,h){let c=0,_=n;n=n+100;for(let b of e){let S={descr:b,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"),ae={setConf:t(()=>{},"setConf"),draw:ne},ot=200,q=5,oe=ot+q*2,mt=ot+100,le=mt+q*2,Ft=10,ce=0,_t=20,zt=20,wt=30,Ot=50,he=t(function(r,e,s,i){let n=l(),f=n.timeline?.leftMargin??50;a.debug("timeline",i.db);let h=V(e);h.append("g");let c=i.db.getTasks(),_=i.db.getCommonDb().getDiagramTitle();a.debug("task",c),O.initGraphics(h);let b=i.db.getSections();a.debug("sections",b);let S=0,v=0,E=50+f,o=50,y=o,g=E,k=oe+zt,w=le+Ot,m=g+k,I=0,T=b&&b.length>0,W=T?m:E+k,D=Math.max(50,k+w-q*2);b.forEach(function(A){let N={number:I,descr:A,section:I,width:D,padding:q,maxHeight:S},M=O.getVirtualNodeHeight(h,N,n);a.debug("sectionHeight before draw",M),S=Math.max(S,M)});let U=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:q,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:q,maxHeight:50};P+=O.getVirtualNodeHeight(h,R,n)}if(N.events.length>0)P+=(N.events.length-1)*Ft;U=Math.max(U,P)+ce}a.debug("maxSectionHeight before draw",S),a.debug("maxTaskHeight before draw",v);let B=Math.max(v,U)+wt;if(T)b.forEach((A)=>{let N=c.filter((J)=>J.section===A),M={number:I,descr:A,section:I,width:D,padding:q,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+_t;if(N.length>0)St(h,N,I,W,R,v,n,B,!1);let lt=N.length,rt=P.height+_t+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]=Ge(n.fontSize),z=(L??16)*2,Z=(L??16)*0.5+20,Y=h.append("g").attr("class","lineWrapper");Y.append("line").attr("x1",W).attr("y1",y-z).attr("x2",W).attr("y2",G.y+G.height+Z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Y.lower(),yt(void 0,h,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),St=t(function(r,e,s,i,n,f,h,c,_){for(let b of e){let S={descr:b.task,section:s,number:s,width:ot,padding:q,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),b.events&&b.events.length>0){let g=n,k=i+Ot;de(r,b.events,s,i,k,g,h)}if(n=n+c,_&&!h.timeline?.disableMulticolor)s++}},"drawTasks"),de=t(function(r,e,s,i,n,f,h){let c=f;for(let _ of e){let b={descr:_,section:s,number:s,width:mt,padding:q,maxHeight:0};a.debug("eventNode",b);let S=r.append("g").attr("class","eventWrapper"),E=O.drawNode(S,b,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:t(()=>{},"setConf"),draw:he},pe=t((r)=>{let{theme:e}=x(),s=e?.includes("dark"),i=se(e,r.borderColorArray),n=r.svgId?.replace(/^#/,"")??"",f=n?`url(#${n}-drop-shadow)`:r.dropShadow??"none",h="";for(let c=0;c<Ze(r.THEME_COLOR_LIMIT);c++){let _=`${17-3*c}`,b=i?r.borderColorArray[c%r.borderColorArray.length]:void 0,S=b??r.mainBkg,v=b??r.nodeBorder;h+=`
7
7
  .section-${c-1} rect,
8
8
  .section-${c-1} path,
9
9
  .section-${c-1} circle {
@@ -50,7 +50,7 @@ Expecting `+it.join(", ")+", got '"+(this.terminals_[H]||H)+"'";else ct="Parse e
50
50
  .disabled text {
51
51
  fill: ${r.clusterBorder??"#efefef"};
52
52
  }
53
- `}return h},"genReduxSections"),ge=t((r)=>{let e="",s=Ye(r.THEME_COLOR_LIMIT);for(let i=0;i<s;i++)if(r["lineColor"+i]=r["lineColor"+i]??r["cScaleInv"+i],K(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);e+=`
53
+ `}return h},"genReduxSections"),ge=t((r)=>{let e="",s=Ze(r.THEME_COLOR_LIMIT);for(let i=0;i<s;i++)if(r["lineColor"+i]=r["lineColor"+i]??r["cScaleInv"+i],K(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);e+=`
54
54
  .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} path {
55
55
  fill: ${r["cScale"+i]};
56
56
  }
@@ -82,7 +82,7 @@ Expecting `+it.join(", ")+", got '"+(this.terminals_[H]||H)+"'";else ct="Parse e
82
82
  .disabled text {
83
83
  fill: ${r.clusterBorder??"#efefef"};
84
84
  }
85
- `}return e},"genSections"),fe=t((r)=>{let{theme:e}=x(),s=e?.includes("redux"),i=e==="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+=`
85
+ `}return e},"genSections"),fe=t((r)=>{let{theme:e}=x(),s=e?.includes("redux"),i=e==="neutral",n=r.svgId?.replace(/^#/,"")??"",f="";if(r.useGradient&&n&&r.THEME_COLOR_LIMIT&&!i){let h=Ze(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 {