@demoscript/cli 1.1.3 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.cjs +1447 -64
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +24 -0
- package/dist/commands/serve.js.map +1 -1
- package/dist/demo.schema.json +847 -0
- package/dist/index.js +1 -64
- package/dist/server/graphql-proxy.d.ts +3 -0
- package/dist/server/graphql-proxy.d.ts.map +1 -0
- package/dist/server/graphql-proxy.js +56 -0
- package/dist/server/graphql-proxy.js.map +1 -0
- package/dist/server/rest-proxy.d.ts.map +1 -1
- package/dist/server/rest-proxy.js +8 -1
- package/dist/server/rest-proxy.js.map +1 -1
- package/dist/types.d.ts +63 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -1
- package/dist/ui-dist/assets/_baseUniq.js +2 -0
- package/dist/ui-dist/assets/arc.js +2 -0
- package/dist/ui-dist/assets/architectureDiagram-VXUJARFQ.js +37 -0
- package/dist/ui-dist/assets/blockDiagram-VD42YOAC.js +123 -0
- package/dist/ui-dist/assets/c4Diagram-YG6GDRKO.js +11 -0
- package/dist/ui-dist/assets/channel.js +2 -0
- package/dist/ui-dist/assets/chunk-4BX2VUAB.js +2 -0
- package/dist/ui-dist/assets/chunk-55IACEB6.js +2 -0
- package/dist/ui-dist/assets/chunk-B4BG7PRW.js +166 -0
- package/dist/ui-dist/assets/chunk-DI55MBZ5.js +221 -0
- package/dist/ui-dist/assets/chunk-FMBD7UC4.js +16 -0
- package/dist/ui-dist/assets/chunk-QN33PNHL.js +2 -0
- package/dist/ui-dist/assets/chunk-QZHKN3VN.js +2 -0
- package/dist/ui-dist/assets/chunk-TZMSLE5B.js +2 -0
- package/dist/ui-dist/assets/classDiagram-2ON5EDUG.js +2 -0
- package/dist/ui-dist/assets/classDiagram-v2-WZHVMYZB.js +2 -0
- package/dist/ui-dist/assets/clone.js +2 -0
- package/dist/ui-dist/assets/cose-bilkent-S5V4N54A.js +2 -0
- package/dist/ui-dist/assets/cytoscape.esm.js +332 -0
- package/dist/ui-dist/assets/dagre-6UL2VRFP.js +5 -0
- package/dist/ui-dist/assets/defaultLocale.js +2 -0
- package/dist/ui-dist/assets/diagram-PSM6KHXK.js +25 -0
- package/dist/ui-dist/assets/diagram-QEK2KX5R.js +44 -0
- package/dist/ui-dist/assets/diagram-S2PKOQOG.js +25 -0
- package/dist/ui-dist/assets/erDiagram-Q2GNP2WA.js +61 -0
- package/dist/ui-dist/assets/flowDiagram-NV44I4VS.js +163 -0
- package/dist/ui-dist/assets/ganttDiagram-JELNMOA3.js +268 -0
- package/dist/ui-dist/assets/gitGraphDiagram-NY62KEGX.js +66 -0
- package/dist/ui-dist/assets/graph.js +2 -0
- package/dist/ui-dist/assets/index.css +1 -1
- package/dist/ui-dist/assets/index.js +444 -104
- package/dist/ui-dist/assets/infoDiagram-WHAUD3N6.js +3 -0
- package/dist/ui-dist/assets/init.js +2 -0
- package/dist/ui-dist/assets/journeyDiagram-XKPGCS4Q.js +140 -0
- package/dist/ui-dist/assets/kanban-definition-3W4ZIXB7.js +90 -0
- package/dist/ui-dist/assets/katex.js +262 -0
- package/dist/ui-dist/assets/layout.js +2 -0
- package/dist/ui-dist/assets/linear.js +2 -0
- package/dist/ui-dist/assets/min.js +2 -0
- package/dist/ui-dist/assets/mindmap-definition-VGOIOE7T.js +69 -0
- package/dist/ui-dist/assets/ordinal.js +2 -0
- package/dist/ui-dist/assets/pieDiagram-ADFJNKIX.js +31 -0
- package/dist/ui-dist/assets/quadrantDiagram-AYHSOK5B.js +8 -0
- package/dist/ui-dist/assets/requirementDiagram-UZGBJVZJ.js +65 -0
- package/dist/ui-dist/assets/sankeyDiagram-TZEHDZUN.js +11 -0
- package/dist/ui-dist/assets/sequenceDiagram-WL72ISMW.js +146 -0
- package/dist/ui-dist/assets/stateDiagram-FKZM4ZOC.js +2 -0
- package/dist/ui-dist/assets/stateDiagram-v2-4FDKWEC3.js +2 -0
- package/dist/ui-dist/assets/timeline-definition-IT6M3QCI.js +62 -0
- package/dist/ui-dist/assets/treemap-KMMF4GRG.js +129 -0
- package/dist/ui-dist/assets/xychartDiagram-PRI3JC2R.js +8 -0
- package/dist/ui-dist/dist/assets/_baseUniq.js +2 -0
- package/dist/ui-dist/dist/assets/_baseUniq.js.map +1 -0
- package/dist/ui-dist/dist/assets/arc.js +2 -0
- package/dist/ui-dist/dist/assets/arc.js.map +1 -0
- package/dist/ui-dist/dist/assets/architectureDiagram-VXUJARFQ.js +37 -0
- package/dist/ui-dist/dist/assets/architectureDiagram-VXUJARFQ.js.map +1 -0
- package/dist/ui-dist/dist/assets/blockDiagram-VD42YOAC.js +123 -0
- package/dist/ui-dist/dist/assets/blockDiagram-VD42YOAC.js.map +1 -0
- package/dist/ui-dist/dist/assets/c4Diagram-YG6GDRKO.js +11 -0
- package/dist/ui-dist/dist/assets/c4Diagram-YG6GDRKO.js.map +1 -0
- package/dist/ui-dist/dist/assets/channel.js +2 -0
- package/dist/ui-dist/dist/assets/channel.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-4BX2VUAB.js +2 -0
- package/dist/ui-dist/dist/assets/chunk-4BX2VUAB.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-55IACEB6.js +2 -0
- package/dist/ui-dist/dist/assets/chunk-55IACEB6.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-B4BG7PRW.js +166 -0
- package/dist/ui-dist/dist/assets/chunk-B4BG7PRW.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-DI55MBZ5.js +221 -0
- package/dist/ui-dist/dist/assets/chunk-DI55MBZ5.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-FMBD7UC4.js +16 -0
- package/dist/ui-dist/dist/assets/chunk-FMBD7UC4.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-QN33PNHL.js +2 -0
- package/dist/ui-dist/dist/assets/chunk-QN33PNHL.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-QZHKN3VN.js +2 -0
- package/dist/ui-dist/dist/assets/chunk-QZHKN3VN.js.map +1 -0
- package/dist/ui-dist/dist/assets/chunk-TZMSLE5B.js +2 -0
- package/dist/ui-dist/dist/assets/chunk-TZMSLE5B.js.map +1 -0
- package/dist/ui-dist/dist/assets/classDiagram-2ON5EDUG.js +2 -0
- package/dist/ui-dist/dist/assets/classDiagram-2ON5EDUG.js.map +1 -0
- package/dist/ui-dist/dist/assets/classDiagram-v2-WZHVMYZB.js +2 -0
- package/dist/ui-dist/dist/assets/classDiagram-v2-WZHVMYZB.js.map +1 -0
- package/dist/ui-dist/dist/assets/clone.js +2 -0
- package/dist/ui-dist/dist/assets/clone.js.map +1 -0
- package/dist/ui-dist/dist/assets/cose-bilkent-S5V4N54A.js +2 -0
- package/dist/ui-dist/dist/assets/cose-bilkent-S5V4N54A.js.map +1 -0
- package/dist/ui-dist/dist/assets/cytoscape.esm.js +332 -0
- package/dist/ui-dist/dist/assets/cytoscape.esm.js.map +1 -0
- package/dist/ui-dist/dist/assets/dagre-6UL2VRFP.js +5 -0
- package/dist/ui-dist/dist/assets/dagre-6UL2VRFP.js.map +1 -0
- package/dist/ui-dist/dist/assets/defaultLocale.js +2 -0
- package/dist/ui-dist/dist/assets/defaultLocale.js.map +1 -0
- package/dist/ui-dist/dist/assets/diagram-PSM6KHXK.js +25 -0
- package/dist/ui-dist/dist/assets/diagram-PSM6KHXK.js.map +1 -0
- package/dist/ui-dist/dist/assets/diagram-QEK2KX5R.js +44 -0
- package/dist/ui-dist/dist/assets/diagram-QEK2KX5R.js.map +1 -0
- package/dist/ui-dist/dist/assets/diagram-S2PKOQOG.js +25 -0
- package/dist/ui-dist/dist/assets/diagram-S2PKOQOG.js.map +1 -0
- package/dist/ui-dist/dist/assets/erDiagram-Q2GNP2WA.js +61 -0
- package/dist/ui-dist/dist/assets/erDiagram-Q2GNP2WA.js.map +1 -0
- package/dist/ui-dist/dist/assets/flowDiagram-NV44I4VS.js +163 -0
- package/dist/ui-dist/dist/assets/flowDiagram-NV44I4VS.js.map +1 -0
- package/dist/ui-dist/dist/assets/ganttDiagram-JELNMOA3.js +268 -0
- package/dist/ui-dist/dist/assets/ganttDiagram-JELNMOA3.js.map +1 -0
- package/dist/ui-dist/dist/assets/gitGraphDiagram-NY62KEGX.js +66 -0
- package/dist/ui-dist/dist/assets/gitGraphDiagram-NY62KEGX.js.map +1 -0
- package/dist/ui-dist/dist/assets/graph.js +2 -0
- package/dist/ui-dist/dist/assets/graph.js.map +1 -0
- package/dist/ui-dist/dist/assets/index.css +1 -1
- package/dist/ui-dist/dist/assets/index.js +443 -116
- package/dist/ui-dist/dist/assets/index.js.map +1 -1
- package/dist/ui-dist/dist/assets/infoDiagram-WHAUD3N6.js +3 -0
- package/dist/ui-dist/dist/assets/infoDiagram-WHAUD3N6.js.map +1 -0
- package/dist/ui-dist/dist/assets/init.js +2 -0
- package/dist/ui-dist/dist/assets/init.js.map +1 -0
- package/dist/ui-dist/dist/assets/journeyDiagram-XKPGCS4Q.js +140 -0
- package/dist/ui-dist/dist/assets/journeyDiagram-XKPGCS4Q.js.map +1 -0
- package/dist/ui-dist/dist/assets/kanban-definition-3W4ZIXB7.js +90 -0
- package/dist/ui-dist/dist/assets/kanban-definition-3W4ZIXB7.js.map +1 -0
- package/dist/ui-dist/dist/assets/katex.js +262 -0
- package/dist/ui-dist/dist/assets/katex.js.map +1 -0
- package/dist/ui-dist/dist/assets/layout.js +2 -0
- package/dist/ui-dist/dist/assets/layout.js.map +1 -0
- package/dist/ui-dist/dist/assets/linear.js +2 -0
- package/dist/ui-dist/dist/assets/linear.js.map +1 -0
- package/dist/ui-dist/dist/assets/min.js +2 -0
- package/dist/ui-dist/dist/assets/min.js.map +1 -0
- package/dist/ui-dist/dist/assets/mindmap-definition-VGOIOE7T.js +69 -0
- package/dist/ui-dist/dist/assets/mindmap-definition-VGOIOE7T.js.map +1 -0
- package/dist/ui-dist/dist/assets/ordinal.js +2 -0
- package/dist/ui-dist/dist/assets/ordinal.js.map +1 -0
- package/dist/ui-dist/dist/assets/pieDiagram-ADFJNKIX.js +31 -0
- package/dist/ui-dist/dist/assets/pieDiagram-ADFJNKIX.js.map +1 -0
- package/dist/ui-dist/dist/assets/quadrantDiagram-AYHSOK5B.js +8 -0
- package/dist/ui-dist/dist/assets/quadrantDiagram-AYHSOK5B.js.map +1 -0
- package/dist/ui-dist/dist/assets/requirementDiagram-UZGBJVZJ.js +65 -0
- package/dist/ui-dist/dist/assets/requirementDiagram-UZGBJVZJ.js.map +1 -0
- package/dist/ui-dist/dist/assets/sankeyDiagram-TZEHDZUN.js +11 -0
- package/dist/ui-dist/dist/assets/sankeyDiagram-TZEHDZUN.js.map +1 -0
- package/dist/ui-dist/dist/assets/sequenceDiagram-WL72ISMW.js +146 -0
- package/dist/ui-dist/dist/assets/sequenceDiagram-WL72ISMW.js.map +1 -0
- package/dist/ui-dist/dist/assets/stateDiagram-FKZM4ZOC.js +2 -0
- package/dist/ui-dist/dist/assets/stateDiagram-FKZM4ZOC.js.map +1 -0
- package/dist/ui-dist/dist/assets/stateDiagram-v2-4FDKWEC3.js +2 -0
- package/dist/ui-dist/dist/assets/stateDiagram-v2-4FDKWEC3.js.map +1 -0
- package/dist/ui-dist/dist/assets/timeline-definition-IT6M3QCI.js +62 -0
- package/dist/ui-dist/dist/assets/timeline-definition-IT6M3QCI.js.map +1 -0
- package/dist/ui-dist/dist/assets/treemap-KMMF4GRG.js +129 -0
- package/dist/ui-dist/dist/assets/treemap-KMMF4GRG.js.map +1 -0
- package/dist/ui-dist/dist/assets/xychartDiagram-PRI3JC2R.js +8 -0
- package/dist/ui-dist/dist/assets/xychartDiagram-PRI3JC2R.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as G,a as W,S as N}from"./chunk-DI55MBZ5.js";import{_ as f,c as t,d as H,l as S,e as P,k as z,R as _,S as U,O as C,u as F}from"./index.js";import{G as O}from"./graph.js";import{l as J}from"./layout.js";import"./chunk-55IACEB6.js";import"./chunk-QN33PNHL.js";import"./_baseUniq.js";import"./min.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(g,B,m){const E=g.append("tspan").attr("x",2*t().state.padding).text(B);m||E.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,x=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(g){a||(d(x,g,s),s=!1),a=!1});const w=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),p=x.node().getBBox(),o=Math.max(p.width,n.width);return w.attr("x2",o+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",o+2*t().state.padding).attr("height",p.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),x=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),p=s.node().getBBox().width+n;let o=Math.max(p,x);o===x&&(o=o+n);let g;const B=e.node().getBBox();i.doc,g=a-c,p>x&&(g=(x-o)/2+c),Math.abs(a-B.x)<c&&p>x&&(g=a-(p-x)/2);const m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",g).attr("y",m).attr("class",d?"alt-composit":"composit").attr("width",o).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",g+c),p<=x&&s.attr("x",a+(o-n)/2-p/2+c),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let x=e.replace(/\r\n/g,"<br/>");x=x.replace(/\n/g,"<br/>");const a=x.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const w of a){const p=w.trim();if(p.length>0){const o=l.append("tspan");if(o.text(p),s===0){const g=o.node().getBBox();s+=g.height}n+=s,o.attr("x",i+t().state.noteMargin),o.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),R=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=_().x(function(s){return s.x}).y(function(s){return s.y}).curve(U),x=e.append("path").attr("d",l(n)).attr("id","edge"+R).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),x.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:w,y:p}=F.calcLabelPosition(i.points),o=z.getRows(d.title);let g=0;const B=[];let m=0,E=0;for(let u=0;u<=o.length;u++){const h=s.append("text").attr("text-anchor","middle").text(o[u]).attr("x",w).attr("y",p+g),y=h.node().getBBox();m=Math.max(m,y.width),E=Math.min(E,y.x),S.info(y.x,w,p+g),g===0&&(g=h.node().getBBox().height,S.info("Title height",g,p)),B.push(h)}let k=g*o.length;if(o.length>1){const u=(o.length-1)*g*.5;B.forEach((h,y)=>h.attr("y",p+y*g-u)),k=g*o.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",w-m/2-t().state.padding/2).attr("y",p-k/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",k+t().state.padding),S.info(r)}R++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const x=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=x.select(`[id='${i}']`);tt(s);const w=c.db.getRootDoc();A(w,s,void 0,!1,x,a,c);const p=b.padding,o=s.node().getBBox(),g=o.width+p*2,B=o.height+p*2,m=g*1.75;P(s,B,m,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+g+" "+B)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,x)=>{const a=new O({compound:!0,multigraph:!0});let s,w=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){w=!1;break}d?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:w?1:b.edgeLengthFactor,nodeSep:w?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:w?1:b.edgeLengthFactor,nodeSep:w?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const p=x.db.getStates(),o=x.db.getRelations(),g=Object.keys(p);for(const r of g){const u=p[r];d&&(u.parentId=d);let h;if(u.doc){let y=i.append("g").attr("id",u.id).attr("class","stateGroup");h=A(u.doc,y,u.id,!c,n,l,x);{y=$(y,u,c);let v=y.node().getBBox();h.width=v.width,h.height=v.height+b.padding/2,T[u.id]={y:b.compositTitleSize}}}else h=L(i,u,a);if(u.note){const y={descriptions:[],id:u.id+"-note",note:u.note,type:"note"},v=L(i,y,a);u.note.position==="left of"?(a.setNode(h.id+"-note",v),a.setNode(h.id,h)):(a.setNode(h.id,h),a.setNode(h.id+"-note",v)),a.setParent(h.id,h.id+"-group"),a.setParent(h.id+"-note",h.id+"-group")}else a.setNode(h.id,h)}S.debug("Count=",a.nodeCount(),a);let B=0;o.forEach(function(r){B++,S.debug("Setting edge",r),a.setEdge(r.id1,r.id2,{relation:r,width:at(r.title),height:b.labelHeight*z.getRows(r.title).length,labelpos:"c"},"id"+B)}),J(a),S.debug("Graph after layout",a.nodes());const m=i.node();a.nodes().forEach(function(r){r!==void 0&&a.node(r)!==void 0?(S.warn("Node "+r+": "+JSON.stringify(a.node(r))),n.select("#"+m.id+" #"+r).attr("transform","translate("+(a.node(r).x-a.node(r).width/2)+","+(a.node(r).y+(T[r]?T[r].y:0)-a.node(r).height/2)+" )"),n.select("#"+m.id+" #"+r).attr("data-x-shift",a.node(r).x-a.node(r).width/2),l.querySelectorAll("#"+m.id+" #"+r+" .divider").forEach(h=>{const y=h.parentElement;let v=0,M=0;y&&(y.parentElement&&(v=y.parentElement.getBBox().width),M=parseInt(y.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",v-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let E=m.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),E=m.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=E.width+2*b.padding,k.height=E.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},ht={parser:W,get db(){return new N(1)},renderer:it,styles:G,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{ht as diagram};
|
|
2
|
+
//# sourceMappingURL=stateDiagram-FKZM4ZOC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateDiagram-FKZM4ZOC.js","sources":["../../../../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-FKZM4ZOC.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-DI55MBZ5.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-QN33PNHL.mjs\";\nimport \"./chunk-N4CR4FBY.mjs\";\nimport \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport \"./chunk-JZLCHNYA.mjs\";\nimport \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport {\n utils_default\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n getUrl\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = getUrl(true);\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n renderDoc(rootDoc, diagram2, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys = Object.keys(states);\n let first = true;\n for (const key of keys) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["drawStartState","__name","g","getConfig","drawDivider","drawSimpleState","stateDef","state","classBox","drawDescrState","addTspan","textEl","txt","isFirst2","tSpan","titleBox","titleHeight","description","isFirst","isSecond","descr","descrLine","descrBox","width","addTitleAndBox","altBkg","pad","dblPad","orgBox","orgWidth","orgX","title","titleWidth","startX","graphBox","lineY","drawEndState","drawForkJoinState","height","tmp","_drawLongText","_text","x","y","textHeight","textElem","text","lines","common_default","tHeight","line2","span","textBounds","drawNote","note","rectElem","textWidth","drawState","elem","id","stateInfo","stateBox","edgeCount","drawEdge","path","relation","getRelationType","type","StateDB","p","lineData","lineFunction","line","d","curveBasis","svgPath","url","getUrl","label","utils_default","rows","titleRows","maxWidth","minX","i","boundsTmp","log","boxHeight","heightAdj","bounds","conf","transformationLog","setConf","insertMarkers","draw","_version","diagObj","securityLevel","sandboxElement","select","root","doc","diagram2","rootDoc","renderDoc","padding","svgWidth","configureSvgSize","getLabelWidth","parentId","domDocument","graph","graphlib.Graph","edgeFreeDoc","states","relations","keys","key","node","sub","boxBounds","noteDef","cnt","dagreLayout","svgElem","v","divider","parent","pWidth","pShift","e","stateRenderer_default","diagram","stateDiagram_default","styles_default","cnf"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as t,b as r,a,S as s}from"./chunk-DI55MBZ5.js";import{_ as i}from"./index.js";import"./chunk-55IACEB6.js";import"./chunk-QN33PNHL.js";var l={parser:a,get db(){return new s(2)},renderer:r,styles:t,init:i(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{l as diagram};
|
|
2
|
+
//# sourceMappingURL=stateDiagram-v2-4FDKWEC3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateDiagram-v2-4FDKWEC3.js","sources":["../../../../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-4FDKWEC3.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n stateRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-DI55MBZ5.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-QN33PNHL.mjs\";\nimport \"./chunk-N4CR4FBY.mjs\";\nimport \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport \"./chunk-JZLCHNYA.mjs\";\nimport \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateDiagram-v2.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(2);\n },\n renderer: stateRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["diagram","stateDiagram_default","StateDB","stateRenderer_v3_unified_default","styles_default","__name","cnf"],"mappings":"+IAsBG,IAACA,EAAU,CACZ,OAAQC,EACR,IAAI,IAAK,CACP,OAAO,IAAIC,EAAQ,CAAC,CACtB,EACA,SAAUC,EACV,OAAQC,EACR,KAAsBC,EAAQC,GAAQ,CAC/BA,EAAI,QACPA,EAAI,MAAQ,CAAA,GAEdA,EAAI,MAAM,oBAAsBA,EAAI,mBACtC,EAAG,MAAM,CACX","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import{_ as s,c as xt,l as E,d as q,V as kt,W as vt,X as _t,Y as bt,B as wt,$ as St,y as Et}from"./index.js";import{d as nt}from"./arc.js";var X=(function(){var n=s(function(f,r,a,h){for(a=a||{},h=f.length;h--;a[f[h]]=r);return a},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],l=[1,10],i=[1,11],d=[1,12],c=[1,13],g=[1,16],m=[1,17],p={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(r,a,h,u,y,o,S){var k=o.length-1;switch(y){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.getCommonDb().setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.getCommonDb().setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 15:u.addTask(o[k],0,""),this.$=o[k];break;case 16:u.addEvent(o[k].substr(2)),this.$=o[k];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:l,14:i,16:d,17:c,18:14,19:15,20:g,21:m},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:l,14:i,16:d,17:c,18:14,19:15,20:g,21:m},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:s(function(r,a){if(a.recoverable)this.trace(r);else{var h=new Error(r);throw h.hash=a,h}},"parseError"),parse:s(function(r){var a=this,h=[0],u=[],y=[null],o=[],S=this.table,k="",$=0,C=0,B=2,J=1,O=o.slice.call(arguments,1),v=Object.create(this.lexer),N={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(N.yy[L]=this.yy[L]);v.setInput(r,N.yy),N.yy.lexer=v,N.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var b=v.yylloc;o.push(b);var M=v.options&&v.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(T){h.length=h.length-2*T,y.length=y.length-T,o.length=o.length-T}s(R,"popStack");function A(){var T;return T=u.pop()||v.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=a.symbols_[T]||T),T}s(A,"lex");for(var w,H,I,K,V={},j,P,et,G;;){if(H=h[h.length-1],this.defaultActions[H]?I=this.defaultActions[H]:((w===null||typeof w>"u")&&(w=A()),I=S[H]&&S[H][w]),typeof I>"u"||!I.length||!I[0]){var Q="";G=[];for(j in S[H])this.terminals_[j]&&j>B&&G.push("'"+this.terminals_[j]+"'");v.showPosition?Q="Parse error on line "+($+1)+`:
|
|
2
|
+
`+v.showPosition()+`
|
|
3
|
+
Expecting `+G.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Q="Parse error on line "+($+1)+": Unexpected "+(w==J?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Q,{text:v.match,token:this.terminals_[w]||w,line:v.yylineno,loc:b,expected:G})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+w);switch(I[0]){case 1:h.push(w),y.push(v.yytext),o.push(v.yylloc),h.push(I[1]),w=null,C=v.yyleng,k=v.yytext,$=v.yylineno,b=v.yylloc;break;case 2:if(P=this.productions_[I[1]][1],V.$=y[y.length-P],V._$={first_line:o[o.length-(P||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(P||1)].first_column,last_column:o[o.length-1].last_column},M&&(V._$.range=[o[o.length-(P||1)].range[0],o[o.length-1].range[1]]),K=this.performAction.apply(V,[k,C,$,N.yy,I[1],y,o].concat(O)),typeof K<"u")return K;P&&(h=h.slice(0,-1*P*2),y=y.slice(0,-1*P),o=o.slice(0,-1*P)),h.push(this.productions_[I[1]][0]),y.push(V.$),o.push(V._$),et=S[h[h.length-2]][h[h.length-1]],h.push(et);break;case 3:return!0}}return!0},"parse")},x=(function(){var f={EOF:1,parseError:s(function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},"parseError"),setInput:s(function(r,a){return this.yy=a||this.yy||{},this._input=r,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]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var a=r.length,h=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===u.length?this.yylloc.first_column:0)+u[u.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(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:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
|
|
5
|
+
`+a+"^"},"showPosition"),test_match:s(function(r,a){var h,u,y;if(this.options.backtrack_lexer&&(y={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&&(y.yylloc.range=this.yylloc.range.slice(0))),u=r[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],h=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var o in y)this[o]=y[o];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,a,h,u;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),o=0;o<y.length;o++)if(h=this._input.match(this.rules[y[o]]),h&&(!a||h[0].length>a[0].length)){if(a=h,u=o,this.options.backtrack_lexer){if(r=this.test_match(h,y[o]),r!==!1)return r;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(r=this.test_match(a,y[u]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var a=this.next();return a||this.lex()},"lex"),begin:s(function(a){this.conditionStack.push(a)},"begin"),popState:s(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:s(function(a){this.begin(a)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(a,h,u,y){switch(u){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/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:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return f})();p.lexer=x;function _(){this.yy={}}return s(_,"Parser"),_.prototype=p,p.Parser=_,new _})();X.parser=X;var Tt=X,at={};wt(at,{addEvent:()=>yt,addSection:()=>ht,addTask:()=>pt,addTaskOrg:()=>gt,clear:()=>ct,default:()=>It,getCommonDb:()=>ot,getSections:()=>dt,getTasks:()=>ut});var W="",lt=0,Y=[],U=[],z=[],ot=s(()=>St,"getCommonDb"),ct=s(function(){Y.length=0,U.length=0,W="",z.length=0,Et()},"clear"),ht=s(function(n){W=n,Y.push(n)},"addSection"),dt=s(function(){return Y},"getSections"),ut=s(function(){let n=it();const t=100;let e=0;for(;!n&&e<t;)n=it(),e++;return U.push(...z),U},"getTasks"),pt=s(function(n,t,e){const l={id:lt++,section:W,type:W,task:n,score:t||0,events:e?[e]:[]};z.push(l)},"addTask"),yt=s(function(n){z.find(e=>e.id===lt-1).events.push(n)},"addEvent"),gt=s(function(n){const t={section:W,type:W,description:n,task:n,classes:[]};U.push(t)},"addTaskOrg"),it=s(function(){const n=s(function(e){return z[e].processed},"compileTask");let t=!0;for(const[e,l]of z.entries())n(e),t=t&&l.processed;return t},"compileTasks"),It={clear:ct,getCommonDb:ot,addSection:ht,getSections:dt,getTasks:ut,addTask:pt,addTaskOrg:gt,addEvent:yt},Nt=12,Z=s(function(n,t){const e=n.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),e.attr("rx",t.rx),e.attr("ry",t.ry),t.class!==void 0&&e.attr("class",t.class),e},"drawRect"),Lt=s(function(n,t){const l=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-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function d(m){const p=nt().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);m.append("path").attr("class","mouth").attr("d",p).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}s(d,"smile");function c(m){const p=nt().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);m.append("path").attr("class","mouth").attr("d",p).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}s(c,"sad");function g(m){m.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")}return s(g,"ambivalent"),t.score>3?d(i):t.score<3?c(i):g(i),l},"drawFace"),$t=s(function(n,t){const e=n.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),e.class!==void 0&&e.attr("class",e.class),t.title!==void 0&&e.append("title").text(t.title),e},"drawCircle"),ft=s(function(n,t){const e=t.text.replace(/<br\s*\/?>/gi," "),l=n.append("text");l.attr("x",t.x),l.attr("y",t.y),l.attr("class","legend"),l.style("text-anchor",t.anchor),t.class!==void 0&&l.attr("class",t.class);const i=l.append("tspan");return i.attr("x",t.x+t.textMargin*2),i.text(e),l},"drawText"),Mt=s(function(n,t){function e(i,d,c,g,m){return i+","+d+" "+(i+c)+","+d+" "+(i+c)+","+(d+g-m)+" "+(i+c-m*1.2)+","+(d+g)+" "+i+","+(d+g)}s(e,"genPoints");const l=n.append("polygon");l.attr("points",e(t.x,t.y,50,20,7)),l.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,ft(n,t)},"drawLabel"),Ht=s(function(n,t,e){const l=n.append("g"),i=D();i.x=t.x,i.y=t.y,i.fill=t.fill,i.width=e.width,i.height=e.height,i.class="journey-section section-type-"+t.num,i.rx=3,i.ry=3,Z(l,i),mt(e)(t.text,l,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+t.num},e,t.colour)},"drawSection"),rt=-1,Pt=s(function(n,t,e){const l=t.x+e.width/2,i=n.append("g");rt++,i.append("line").attr("id","task"+rt).attr("x1",l).attr("y1",t.y).attr("x2",l).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Lt(i,{cx:l,cy:300+(5-t.score)*30,score:t.score});const c=D();c.x=t.x,c.y=t.y,c.fill=t.fill,c.width=e.width,c.height=e.height,c.class="task task-type-"+t.num,c.rx=3,c.ry=3,Z(i,c),mt(e)(t.task,i,c.x,c.y,c.width,c.height,{class:"task"},e,t.colour)},"drawTask"),At=s(function(n,t){Z(n,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},"drawBackgroundRect"),Ct=s(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),D=s(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),mt=(function(){function n(i,d,c,g,m,p,x,_){const f=d.append("text").attr("x",c+m/2).attr("y",g+p/2+5).style("font-color",_).style("text-anchor","middle").text(i);l(f,x)}s(n,"byText");function t(i,d,c,g,m,p,x,_,f){const{taskFontSize:r,taskFontFamily:a}=_,h=i.split(/<br\s*\/?>/gi);for(let u=0;u<h.length;u++){const y=u*r-r*(h.length-1)/2,o=d.append("text").attr("x",c+m/2).attr("y",g).attr("fill",f).style("text-anchor","middle").style("font-size",r).style("font-family",a);o.append("tspan").attr("x",c+m/2).attr("dy",y).text(h[u]),o.attr("y",g+p/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),l(o,x)}}s(t,"byTspan");function e(i,d,c,g,m,p,x,_){const f=d.append("switch"),a=f.append("foreignObject").attr("x",c).attr("y",g).attr("width",m).attr("height",p).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");a.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),t(i,f,c,g,m,p,x,_),l(a,x)}s(e,"byFo");function l(i,d){for(const c in d)c in d&&i.attr(c,d[c])}return s(l,"_setTextAttrs"),function(i){return i.textPlacement==="fo"?e:i.textPlacement==="old"?n:t}})(),Rt=s(function(n){n.append("defs").append("marker").attr("id","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 tt(n,t){n.each(function(){var e=q(this),l=e.text().split(/(\s+|<br>)/).reverse(),i,d=[],c=1.1,g=e.attr("y"),m=parseFloat(e.attr("dy")),p=e.text(null).append("tspan").attr("x",0).attr("y",g).attr("dy",m+"em");for(let x=0;x<l.length;x++)i=l[l.length-1-x],d.push(i),p.text(d.join(" ").trim()),(p.node().getComputedTextLength()>t||i==="<br>")&&(d.pop(),p.text(d.join(" ").trim()),i==="<br>"?d=[""]:d=[i],p=e.append("tspan").attr("x",0).attr("y",g).attr("dy",c+"em").text(i))})}s(tt,"wrap");var Ft=s(function(n,t,e,l){var _;const i=e%Nt-1,d=n.append("g");t.section=i,d.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+i));const c=d.append("g"),g=d.append("g"),p=g.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(tt,t.width).node().getBBox(),x=(_=l.fontSize)!=null&&_.replace?l.fontSize.replace("px",""):l.fontSize;return t.height=p.height+x*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,g.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),Wt(c,t,i,l),t},"drawNode"),Vt=s(function(n,t,e){var g;const l=n.append("g"),d=l.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(tt,t.width).node().getBBox(),c=(g=e.fontSize)!=null&&g.replace?e.fontSize.replace("px",""):e.fontSize;return l.remove(),d.height+c*1.1*.5+t.padding},"getVirtualNodeHeight"),Wt=s(function(n,t,e){n.append("path").attr("id","node-"+t.id).attr("class","node-bkg node-"+t.type).attr("d",`M0 ${t.height-5} v${-t.height+10} q0,-5 5,-5 h${t.width-10} q5,0 5,5 v${t.height-5} H0 Z`),n.append("line").attr("class","node-line-"+e).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},"defaultBkg"),F={drawRect:Z,drawCircle:$t,drawSection:Ht,drawText:ft,drawLabel:Mt,drawTask:Pt,drawBackgroundRect:At,getTextObj:Ct,getNoteRect:D,initGraphics:Rt,drawNode:Ft,getVirtualNodeHeight:Vt},zt=s(function(n,t,e,l){var O,v,N;const i=xt(),d=((O=i.timeline)==null?void 0:O.leftMargin)??50;E.debug("timeline",l.db);const c=i.securityLevel;let g;c==="sandbox"&&(g=q("#i"+t));const p=(c==="sandbox"?q(g.nodes()[0].contentDocument.body):q("body")).select("#"+t);p.append("g");const x=l.db.getTasks(),_=l.db.getCommonDb().getDiagramTitle();E.debug("task",x),F.initGraphics(p);const f=l.db.getSections();E.debug("sections",f);let r=0,a=0,h=0,u=0,y=50+d,o=50;u=50;let S=0,k=!0;f.forEach(function(L){const b={number:S,descr:L,section:S,width:150,padding:20,maxHeight:r},M=F.getVirtualNodeHeight(p,b,i);E.debug("sectionHeight before draw",M),r=Math.max(r,M+20)});let $=0,C=0;E.debug("tasks.length",x.length);for(const[L,b]of x.entries()){const M={number:L,descr:b,section:b.section,width:150,padding:20,maxHeight:a},R=F.getVirtualNodeHeight(p,M,i);E.debug("taskHeight before draw",R),a=Math.max(a,R+20),$=Math.max($,b.events.length);let A=0;for(const w of b.events){const H={descr:w,section:b.section,number:b.section,width:150,padding:20,maxHeight:50};A+=F.getVirtualNodeHeight(p,H,i)}b.events.length>0&&(A+=(b.events.length-1)*10),C=Math.max(C,A)}E.debug("maxSectionHeight before draw",r),E.debug("maxTaskHeight before draw",a),f&&f.length>0?f.forEach(L=>{const b=x.filter(w=>w.section===L),M={number:S,descr:L,section:S,width:200*Math.max(b.length,1)-50,padding:20,maxHeight:r};E.debug("sectionNode",M);const R=p.append("g"),A=F.drawNode(R,M,S,i);E.debug("sectionNode output",A),R.attr("transform",`translate(${y}, ${u})`),o+=r+50,b.length>0&&st(p,b,S,y,o,a,i,$,C,r,!1),y+=200*Math.max(b.length,1),o=u,S++}):(k=!1,st(p,x,S,y,o,a,i,$,C,r,!0));const B=p.node().getBBox();E.debug("bounds",B),_&&p.append("text").text(_).attr("x",B.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),h=k?r+a+150:a+100,p.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",h).attr("x2",B.width+3*d).attr("y2",h).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),kt(void 0,p,((v=i.timeline)==null?void 0:v.padding)??50,((N=i.timeline)==null?void 0:N.useMaxWidth)??!1)},"draw"),st=s(function(n,t,e,l,i,d,c,g,m,p,x){var _;for(const f of t){const r={descr:f.task,section:e,number:e,width:150,padding:20,maxHeight:d};E.debug("taskNode",r);const a=n.append("g").attr("class","taskWrapper"),u=F.drawNode(a,r,e,c).height;if(E.debug("taskHeight after draw",u),a.attr("transform",`translate(${l}, ${i})`),d=Math.max(d,u),f.events){const y=n.append("g").attr("class","lineWrapper");let o=d;i+=100,o=o+Bt(n,f.events,e,l,i,c),i-=100,y.append("line").attr("x1",l+190/2).attr("y1",i+d).attr("x2",l+190/2).attr("y2",i+d+100+m+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}l=l+200,x&&!((_=c.timeline)!=null&&_.disableMulticolor)&&e++}i=i-10},"drawTasks"),Bt=s(function(n,t,e,l,i,d){let c=0;const g=i;i=i+100;for(const m of t){const p={descr:m,section:e,number:e,width:150,padding:20,maxHeight:50};E.debug("eventNode",p);const x=n.append("g").attr("class","eventWrapper"),f=F.drawNode(x,p,e,d).height;c=c+f,x.attr("transform",`translate(${l}, ${i})`),i=i+10+f}return i=g,c},"drawEvents"),Ot={setConf:s(()=>{},"setConf"),draw:zt},jt=s(n=>{let t="";for(let e=0;e<n.THEME_COLOR_LIMIT;e++)n["lineColor"+e]=n["lineColor"+e]||n["cScaleInv"+e],vt(n["lineColor"+e])?n["lineColor"+e]=_t(n["lineColor"+e],20):n["lineColor"+e]=bt(n["lineColor"+e],20);for(let e=0;e<n.THEME_COLOR_LIMIT;e++){const l=""+(17-3*e);t+=`
|
|
7
|
+
.section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} path {
|
|
8
|
+
fill: ${n["cScale"+e]};
|
|
9
|
+
}
|
|
10
|
+
.section-${e-1} text {
|
|
11
|
+
fill: ${n["cScaleLabel"+e]};
|
|
12
|
+
}
|
|
13
|
+
.node-icon-${e-1} {
|
|
14
|
+
font-size: 40px;
|
|
15
|
+
color: ${n["cScaleLabel"+e]};
|
|
16
|
+
}
|
|
17
|
+
.section-edge-${e-1}{
|
|
18
|
+
stroke: ${n["cScale"+e]};
|
|
19
|
+
}
|
|
20
|
+
.edge-depth-${e-1}{
|
|
21
|
+
stroke-width: ${l};
|
|
22
|
+
}
|
|
23
|
+
.section-${e-1} line {
|
|
24
|
+
stroke: ${n["cScaleInv"+e]} ;
|
|
25
|
+
stroke-width: 3;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.lineWrapper line{
|
|
29
|
+
stroke: ${n["cScaleLabel"+e]} ;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.disabled, .disabled circle, .disabled text {
|
|
33
|
+
fill: lightgray;
|
|
34
|
+
}
|
|
35
|
+
.disabled text {
|
|
36
|
+
fill: #efefef;
|
|
37
|
+
}
|
|
38
|
+
`}return t},"genSections"),Gt=s(n=>`
|
|
39
|
+
.edge {
|
|
40
|
+
stroke-width: 3;
|
|
41
|
+
}
|
|
42
|
+
${jt(n)}
|
|
43
|
+
.section-root rect, .section-root path, .section-root circle {
|
|
44
|
+
fill: ${n.git0};
|
|
45
|
+
}
|
|
46
|
+
.section-root text {
|
|
47
|
+
fill: ${n.gitBranchLabel0};
|
|
48
|
+
}
|
|
49
|
+
.icon-container {
|
|
50
|
+
height:100%;
|
|
51
|
+
display: flex;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
align-items: center;
|
|
54
|
+
}
|
|
55
|
+
.edge {
|
|
56
|
+
fill: none;
|
|
57
|
+
}
|
|
58
|
+
.eventWrapper {
|
|
59
|
+
filter: brightness(120%);
|
|
60
|
+
}
|
|
61
|
+
`,"getStyles"),qt=Gt,Jt={db:at,renderer:Ot,parser:Tt,styles:qt};export{Jt as diagram};
|
|
62
|
+
//# sourceMappingURL=timeline-definition-IT6M3QCI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline-definition-IT6M3QCI.js","sources":["../../../../node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-IT6M3QCI.mjs"],"sourcesContent":["import {\n clear,\n commonDb_exports,\n getConfig2 as getConfig,\n setupGraphViewbox\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __export,\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/timeline/parser/timeline.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 11, 12, 14, 16, 17, 20, 21], $V1 = [1, 9], $V2 = [1, 10], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 16], $V7 = [1, 17];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"timeline\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NEWLINE\": 10, \"title\": 11, \"acc_title\": 12, \"acc_title_value\": 13, \"acc_descr\": 14, \"acc_descr_value\": 15, \"acc_descr_multiline_value\": 16, \"section\": 17, \"period_statement\": 18, \"event_statement\": 19, \"period\": 20, \"event\": 21, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"timeline\", 6: \"EOF\", 8: \"SPACE\", 10: \"NEWLINE\", 11: \"title\", 12: \"acc_title\", 13: \"acc_title_value\", 14: \"acc_descr\", 15: \"acc_descr_value\", 16: \"acc_descr_multiline_value\", 17: \"section\", 20: \"period\", 21: \"event\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 1], [9, 1], [18, 1], [19, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.getCommonDb().setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccTitle(this.$);\n break;\n case 10:\n case 11:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccDescription(this.$);\n break;\n case 12:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 15:\n yy.addTask($$[$0], 0, \"\");\n this.$ = $$[$0];\n break;\n case 16:\n yy.addEvent($$[$0].substr(2));\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: 14, 19: 15, 20: $V6, 21: $V7 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 18, 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: 14, 19: 15, 20: $V6, 21: $V7 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), { 13: [1, 19] }, { 15: [1, 20] }, o($V0, [2, 11]), o($V0, [2, 12]), o($V0, [2, 13]), o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), o($V0, [2, 4]), o($V0, [2, 9]), o($V0, [2, 10])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n 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).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 10;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 4;\n break;\n case 6:\n return 11;\n break;\n case 7:\n this.begin(\"acc_title\");\n return 12;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.begin(\"acc_descr\");\n return 14;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.begin(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 17;\n break;\n case 15:\n return 21;\n break;\n case 16:\n return 20;\n break;\n case 17:\n return 6;\n break;\n case 18:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/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],\n conditions: { \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar timeline_default = parser;\n\n// src/diagrams/timeline/timelineDb.js\nvar timelineDb_exports = {};\n__export(timelineDb_exports, {\n addEvent: () => addEvent,\n addSection: () => addSection,\n addTask: () => addTask,\n addTaskOrg: () => addTaskOrg,\n clear: () => clear2,\n default: () => timelineDb_default,\n getCommonDb: () => getCommonDb,\n getSections: () => getSections,\n getTasks: () => getTasks\n});\nvar currentSection = \"\";\nvar currentTaskId = 0;\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar getCommonDb = /* @__PURE__ */ __name(() => commonDb_exports, \"getCommonDb\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar addTask = /* @__PURE__ */ __name(function(period, length, event) {\n const rawTask = {\n id: currentTaskId++,\n section: currentSection,\n type: currentSection,\n task: period,\n score: length ? length : 0,\n //if event is defined, then add it the events array\n events: event ? [event] : []\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addEvent = /* @__PURE__ */ __name(function(event) {\n const currentTask = rawTasks.find((task) => task.id === currentTaskId - 1);\n currentTask.events.push(event);\n}, \"addEvent\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar timelineDb_default = {\n clear: clear2,\n getCommonDb,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n addEvent\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nimport { select as select2 } from \"d3\";\n\n// src/diagrams/timeline/svgDraw.js\nimport { arc as d3arc, select } from \"d3\";\nvar MAX_SECTIONS = 12;\nvar drawRect = /* @__PURE__ */ __name(function(elem, rectData) {\n const rectElem = elem.append(\"rect\");\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.y);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", rectData.width);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (rectData.class !== void 0) {\n rectElem.attr(\"class\", rectData.class);\n }\n return rectElem;\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(/<br\\s*\\/?>/gi, \" \");\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf) {\n const center = task.x + conf.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", \"task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect = /* @__PURE__ */ __name(function(elem, bounds) {\n const rectElem = drawRect(elem, {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n class: \"rect\"\n });\n rectElem.lower();\n}, \"drawBackgroundRect\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n \"text-anchor\": \"start\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0\n };\n}, \"getTextObj\");\nvar getNoteRect = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n}, \"getNoteRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf, colour) {\n const { taskFontSize, taskFontFamily } = conf;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf) {\n return conf.textPlacement === \"fo\" ? byFo : conf.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics) {\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", \"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\");\n}, \"initGraphics\");\nfunction wrap(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/(\\s+|<br>)/).reverse(), word, line = [], lineHeight = 1.1, y = text2.attr(\"y\"), dy = parseFloat(text2.attr(\"dy\")), tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line.push(word);\n tspan.text(line.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width || word === \"<br>\") {\n line.pop();\n tspan.text(line.join(\" \").trim());\n if (word === \"<br>\") {\n line = [\"\"];\n } else {\n line = [word];\n }\n tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n}\n__name(wrap, \"wrap\");\nvar drawNode = /* @__PURE__ */ __name(function(elem, node, fullSection, conf) {\n const section = fullSection % MAX_SECTIONS - 1;\n const nodeElem = elem.append(\"g\");\n node.section = section;\n nodeElem.attr(\n \"class\",\n (node.class ? node.class + \" \" : \"\") + \"timeline-node \" + (\"section-\" + section)\n );\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n node.height = bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n node.height = Math.max(node.height, node.maxHeight);\n node.width = node.width + 2 * node.padding;\n textElem.attr(\"transform\", \"translate(\" + node.width / 2 + \", \" + node.padding / 2 + \")\");\n defaultBkg(bkgElem, node, section, conf);\n return node;\n}, \"drawNode\");\nvar getVirtualNodeHeight = /* @__PURE__ */ __name(function(elem, node, conf) {\n const textElem = elem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n textElem.remove();\n return bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n}, \"getVirtualNodeHeight\");\nvar defaultBkg = /* @__PURE__ */ __name(function(elem, node, section) {\n const rd = 5;\n elem.append(\"path\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + node.type).attr(\n \"d\",\n `M0 ${node.height - rd} v${-node.height + 2 * rd} q0,-5 5,-5 h${node.width - 2 * rd} q5,0 5,5 v${node.height - rd} H0 Z`\n );\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node.height).attr(\"x2\", node.width).attr(\"y2\", node.height);\n}, \"defaultBkg\");\nvar svgDraw_default = {\n drawRect,\n drawCircle,\n drawSection,\n drawText,\n drawLabel,\n drawTask,\n drawBackgroundRect,\n getTextObj,\n getNoteRect,\n initGraphics,\n drawNode,\n getVirtualNodeHeight\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig();\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select2(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select2(sandboxElement.nodes()[0].contentDocument.body) : select2(\"body\");\n const svg = root.select(\"#\" + id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n let depthY = 0;\n let sectionBeginY = 0;\n let masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n sectionBeginY = 50;\n let sectionNumber = 0;\n let hasSections = true;\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight + 20);\n });\n let maxEventCount = 0;\n let maxEventLineLength = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight + 20);\n maxEventCount = Math.max(maxEventCount, task.events.length);\n let maxEventLineLengthTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n maxEventLineLengthTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventLineLengthTemp += (task.events.length - 1) * 10;\n }\n maxEventLineLength = Math.max(maxEventLineLength, maxEventLineLengthTemp);\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n if (sections2 && sections2.length > 0) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 200 * Math.max(tasksForSection.length, 1) - 50,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf);\n log.debug(\"sectionNode output\", node);\n sectionNodeWrapper.attr(\"transform\", `translate(${masterX}, ${sectionBeginY})`);\n masterY += maxSectionHeight + 50;\n if (tasksForSection.length > 0) {\n drawTasks(\n svg,\n tasksForSection,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n false\n );\n }\n masterX += 200 * Math.max(tasksForSection.length, 1);\n masterY = sectionBeginY;\n sectionNumber++;\n });\n } else {\n hasSections = false;\n drawTasks(\n svg,\n tasks2,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n true\n );\n }\n const box = svg.node().getBBox();\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n }\n depthY = hasSections ? maxSectionHeight + maxTaskHeight + 150 : maxTaskHeight + 100;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", LEFT_MARGIN).attr(\"y1\", depthY).attr(\"x2\", box.width + 3 * LEFT_MARGIN).attr(\"y2\", depthY).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, masterX, masterY, maxTaskHeight, conf, maxEventCount, maxEventLineLength, maxSectionHeight, isWithoutSections) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n taskWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events) {\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n let lineLength = maxTaskHeight;\n masterY += 100;\n lineLength = lineLength + drawEvents(diagram2, task.events, sectionColor, masterX, masterY, conf);\n masterY -= 100;\n lineWrapper.append(\"line\").attr(\"x1\", masterX + 190 / 2).attr(\"y1\", masterY + maxTaskHeight).attr(\"x2\", masterX + 190 / 2).attr(\"y2\", masterY + maxTaskHeight + 100 + maxEventLineLength + 100).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\").attr(\"stroke-dasharray\", \"5,5\");\n }\n masterX = masterX + 200;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n masterY = masterY - 10;\n}, \"drawTasks\");\nvar drawEvents = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, masterX, masterY, conf) {\n let maxEventHeight = 0;\n const eventBeginY = masterY;\n masterY = masterY + 100;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf);\n const eventHeight = node.height;\n maxEventHeight = maxEventHeight + eventHeight;\n eventWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n masterY = masterY + 10 + eventHeight;\n }\n masterY = eventBeginY;\n return maxEventHeight;\n}, \"drawEvents\");\nvar timelineRenderer_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw\n};\n\n// src/diagrams/timeline/styles.js\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} path {\n fill: ${options[\"cScale\" + i]};\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${options[\"cScaleLabel\" + i]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/timeline/timeline-definition.ts\nvar diagram = {\n db: timelineDb_exports,\n renderer: timelineRenderer_default,\n parser: timeline_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","timeline_default","timelineDb_exports","__export","addEvent","addSection","addTask","addTaskOrg","clear2","timelineDb_default","getCommonDb","getSections","getTasks","currentSection","currentTaskId","sections","tasks","rawTasks","commonDb_exports","clear","txt","allItemsProcessed","compileTasks","maxDepth","iterationCount","period","length","event","rawTask","task","descr","newTask","compileTask","pos","allProcessed","MAX_SECTIONS","drawRect","elem","rectData","rectElem","drawFace","element","faceData","circleElement","face","smile","face2","arc","d3arc","sad","ambivalent","drawCircle","circleData","drawText","textData","nText","textElem","span","drawLabel","txtObject","genPoints","x","y","width","height","cut","polygon","drawSection","section","conf","g","rect","getNoteRect","_drawTextCandidateFunc","taskCount","drawTask","center","drawBackgroundRect","bounds","getTextObj","byText","content","textAttrs","colour","text","_setTextAttrs","byTspan","taskFontSize","taskFontFamily","dy","byFo","body","toText","fromTextAttrsDict","key","initGraphics","graphics","wrap","text2","select","words","word","line","lineHeight","tspan","j","drawNode","node","fullSection","nodeElem","bkgElem","bbox","fontSize","_a","defaultBkg","getVirtualNodeHeight","svgDraw_default","draw","id","version","diagObj","getConfig","LEFT_MARGIN","log","securityLevel","sandboxElement","select2","svg","tasks2","title","sections2","maxSectionHeight","maxTaskHeight","depthY","sectionBeginY","masterX","masterY","sectionNumber","hasSections","sectionNode","sectionHeight","maxEventCount","maxEventLineLength","taskNode","taskHeight","maxEventLineLengthTemp","eventNode","tasksForSection","sectionNodeWrapper","drawTasks","box","setupGraphViewbox","_b","_c","diagram2","sectionColor","isWithoutSections","taskWrapper","lineWrapper","lineLength","drawEvents","events","maxEventHeight","eventBeginY","eventWrapper","eventHeight","timelineRenderer_default","genSections","options","isDark","lighten","darken","sw","getStyles","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|