import{m as n,G as gi,$ as ui,e as Ot,j as xi,U as di,H as pi,p as Xt,aN as fi,W as yi,N as mi,O as Ct,L as Ft,r as bi,aT as Ai,o as Si,aU as Bt,at as zt,aV as wi,aW as Wt}from"./mermaid.esm.min-BFkmcgl4.js";import"./app-DnSLvtbI.js";var bt=(function(){var s=n(function(I,o,l,c){for(l=l||{},c=I.length;c--;l[I[c]]=o);return l},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],e=[1,3],a=[1,5],g=[1,6],u=[1,7],A=[1,5,10,12,14,16,18,19,21,23,34,35,36],S=[1,25],P=[1,26],M=[1,28],R=[1,29],v=[1,30],z=[1,31],W=[1,32],D=[1,33],B=[1,34],f=[1,35],w=[1,36],r=[1,37],E=[1,43],O=[1,42],N=[1,47],x=[1,50],p=[1,10,12,14,16,18,19,21,23,34,35,36],k=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],m=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],ot=[1,64],U={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:n(function(I,o,l,c,b,h,T){var d=h.length-1;switch(b){case 5:c.setOrientation(h[d]);break;case 9:c.setDiagramTitle(h[d].text.trim());break;case 12:c.setLineData({text:"",type:"text"},h[d]);break;case 13:c.setLineData(h[d-1],h[d]);break;case 14:c.setBarData({text:"",type:"text"},h[d]);break;case 15:c.setBarData(h[d-1],h[d]);break;case 16:this.$=h[d].trim(),c.setAccTitle(this.$);break;case 17:case 18:this.$=h[d].trim(),c.setAccDescription(this.$);break;case 19:this.$=h[d-1];break;case 20:this.$=[Number(h[d-2]),...h[d]];break;case 21:this.$=[Number(h[d])];break;case 22:c.setXAxisTitle(h[d]);break;case 23:c.setXAxisTitle(h[d-1]);break;case 24:c.setXAxisTitle({type:"text",text:""});break;case 25:c.setXAxisBand(h[d]);break;case 26:c.setXAxisRangeData(Number(h[d-2]),Number(h[d]));break;case 27:this.$=h[d-1];break;case 28:this.$=[h[d-2],...h[d]];break;case 29:this.$=[h[d]];break;case 30:c.setYAxisTitle(h[d]);break;case 31:c.setYAxisTitle(h[d-1]);break;case 32:c.setYAxisTitle({type:"text",text:""});break;case 33:c.setYAxisRangeData(Number(h[d-2]),Number(h[d]));break;case 37:this.$={text:h[d],type:"text"};break;case 38:this.$={text:h[d],type:"text"};break;case 39:this.$={text:h[d],type:"markdown"};break;case 40:this.$=h[d];break;case 41:this.$=h[d-1]+""+h[d];break}},"anonymous"),table:[s(t,i,{3:1,4:2,7:4,5:e,34:a,35:g,36:u}),{1:[3]},s(t,i,{4:2,7:4,3:8,5:e,34:a,35:g,36:u}),s(t,i,{4:2,7:4,6:9,3:10,5:e,8:[1,11],34:a,35:g,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},s(A,[2,34]),s(A,[2,35]),s(A,[2,36]),{1:[2,1]},s(t,i,{4:2,7:4,3:21,5:e,34:a,35:g,36:u}),{1:[2,3]},s(A,[2,5]),s(t,[2,7],{4:22,34:a,35:g,36:u}),{11:23,37:24,38:S,39:P,40:27,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r},{11:39,13:38,24:E,27:O,29:40,30:41,37:24,38:S,39:P,40:27,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r},{11:45,15:44,27:N,33:46,37:24,38:S,39:P,40:27,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r},{11:49,17:48,24:x,37:24,38:S,39:P,40:27,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r},{11:52,17:51,24:x,37:24,38:S,39:P,40:27,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r},{20:[1,53]},{22:[1,54]},s(p,[2,18]),{1:[2,2]},s(p,[2,8]),s(p,[2,9]),s(k,[2,37],{40:55,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r}),s(k,[2,38]),s(k,[2,39]),s(m,[2,40]),s(m,[2,42]),s(m,[2,43]),s(m,[2,44]),s(m,[2,45]),s(m,[2,46]),s(m,[2,47]),s(m,[2,48]),s(m,[2,49]),s(m,[2,50]),s(m,[2,51]),s(p,[2,10]),s(p,[2,22],{30:41,29:56,24:E,27:O}),s(p,[2,24]),s(p,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:S,39:P,40:27,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r},s(p,[2,11]),s(p,[2,30],{33:60,27:N}),s(p,[2,32]),{31:[1,61]},s(p,[2,12]),{17:62,24:x},{25:63,27:ot},s(p,[2,14]),{17:65,24:x},s(p,[2,16]),s(p,[2,17]),s(m,[2,41]),s(p,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},s(p,[2,31]),{27:[1,69]},s(p,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},s(p,[2,15]),s(p,[2,26]),s(p,[2,27]),{11:59,32:72,37:24,38:S,39:P,40:27,41:M,42:R,43:v,44:z,45:W,46:D,47:B,48:f,49:w,50:r},s(p,[2,33]),s(p,[2,19]),{25:73,27:ot},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:n(function(I,o){if(o.recoverable)this.trace(I);else{var l=new Error(I);throw l.hash=o,l}},"parseError"),parse:n(function(I){var o=this,l=[0],c=[],b=[null],h=[],T=this.table,d="",lt=0,Et=0,hi=0,oi=2,It=1,ri=h.slice.call(arguments,1),C=Object.create(this.lexer),F={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(F.yy[dt]=this.yy[dt]);C.setInput(I,F.yy),F.yy.lexer=C,F.yy.parser=this,typeof C.yylloc>"u"&&(C.yylloc={});var pt=C.yylloc;h.push(pt);var li=C.options&&C.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(L){l.length=l.length-2*L,b.length=b.length-L,h.length=h.length-L}n(ci,"popStack");function $t(){var L;return L=c.pop()||C.lex()||It,typeof L!="number"&&(L instanceof Array&&(c=L,L=c.pop()),L=o.symbols_[L]||L),L}n($t,"lex");for(var _,ft,V,$,Bi,yt,H={},ct,X,Mt,gt;;){if(V=l[l.length-1],this.defaultActions[V]?$=this.defaultActions[V]:((_===null||typeof _>"u")&&(_=$t()),$=T[V]&&T[V][_]),typeof $>"u"||!$.length||!$[0]){var mt="";gt=[];for(ct in T[V])this.terminals_[ct]&&ct>oi&>.push("'"+this.terminals_[ct]+"'");C.showPosition?mt="Parse error on line "+(lt+1)+`: `+C.showPosition()+` Expecting `+gt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":mt="Parse error on line "+(lt+1)+": Unexpected "+(_==It?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(mt,{text:C.match,token:this.terminals_[_]||_,line:C.yylineno,loc:pt,expected:gt})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+V+", token: "+_);switch($[0]){case 1:l.push(_),b.push(C.yytext),h.push(C.yylloc),l.push($[1]),_=null,ft?(_=ft,ft=null):(Et=C.yyleng,d=C.yytext,lt=C.yylineno,pt=C.yylloc,hi>0);break;case 2:if(X=this.productions_[$[1]][1],H.$=b[b.length-X],H._$={first_line:h[h.length-(X||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(X||1)].first_column,last_column:h[h.length-1].last_column},li&&(H._$.range=[h[h.length-(X||1)].range[0],h[h.length-1].range[1]]),yt=this.performAction.apply(H,[d,Et,lt,F.yy,$[1],b,h].concat(ri)),typeof yt<"u")return yt;X&&(l=l.slice(0,-1*X*2),b=b.slice(0,-1*X),h=h.slice(0,-1*X)),l.push(this.productions_[$[1]][0]),b.push(H.$),h.push(H._$),Mt=T[l[l.length-2]][l[l.length-1]],l.push(Mt);break;case 3:return!0}}return!0},"parse")},rt=(function(){var I={EOF:1,parseError:n(function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},"parseError"),setInput:n(function(o,l){return this.yy=l||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var l=o.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:n(function(o){var l=o.length,c=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var b=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),c.length-1&&(this.yylineno-=c.length-1);var h=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:c?(c.length===b.length?this.yylloc.first_column:0)+b[b.length-c.length].length-c[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[h[0],h[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(o){this.unput(this.match.slice(o))},"less"),pastInput:n(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var o=this.pastInput(),l=new Array(o.length+1).join("-");return o+this.upcomingInput()+` `+l+"^"},"showPosition"),test_match:n(function(o,l){var c,b,h;if(this.options.backtrack_lexer&&(h={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&&(h.yylloc.range=this.yylloc.range.slice(0))),b=o[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],c=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var T in h)this[T]=h[T];return!1}return!1},"test_match"),next:n(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,l,c,b;this._more||(this.yytext="",this.match="");for(var h=this._currentRules(),T=0;Tl[0].length)){if(l=c,b=T,this.options.backtrack_lexer){if(o=this.test_match(c,h[T]),o!==!1)return o;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(o=this.test_match(l,h[b]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:n(function(){var o=this.next();return o||this.lex()},"lex"),begin:n(function(o){this.conditionStack.push(o)},"begin"),popState:n(function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:n(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:n(function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},"topState"),pushState:n(function(o){this.begin(o)},"pushState"),stateStackSize:n(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:n(function(o,l,c,b){switch(c){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I})();U.lexer=rt;function Y(){this.yy={}}return n(Y,"Parser"),Y.prototype=U,U.Parser=Y,new Y})();bt.parser=bt;var Ci=bt;function At(s){return s.type==="bar"}n(At,"isBarPlot");function _t(s){return s.type==="band"}n(_t,"isBandAxisData");function j(s){return s.type==="linear"}n(j,"isLinearAxisData");var G,Vt=(G=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((g,u)=>Math.max(u.length,g),0)*i,height:i};let e={width:0,height:0},a=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(let g of t){let u=wi(a,1,g),A=u?u.width:g.length*i,S=u?u.height:i;e.width=Math.max(e.width,A),e.height=Math.max(e.height,S)}return a.remove(),e}},n(G,"TextDimensionCalculatorWithFont"),G),Q,Nt=(Q=class{constructor(t,i,e,a){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=a,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){let t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),a=.2*t.width;this.outerPadding=Math.min(e.width/2,a);let g=e.height+this.axisConfig.labelPadding*2;this.labelTextHeight=e.height,g<=i&&(i-=g,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),a=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,a<=i&&(i-=a,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),a=.2*t.height;this.outerPadding=Math.min(e.height/2,a);let g=e.width+this.axisConfig.labelPadding*2;g<=i&&(i-=g,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),a=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,a<=i&&(i-=a,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${i},${this.getScaleValue(e)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(e)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i} L ${this.getScaleValue(e)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(e)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},n(Q,"BaseAxis"),Q),Z,_i=(Z=class extends Nt{constructor(t,i,e,a,g){super(t,a,g,i),this.categories=e,this.scale=Bt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=Bt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},n(Z,"BandAxis"),Z),K,ki=(K=class extends Nt{constructor(t,i,e,a,g){super(t,a,g,i),this.domain=e,this.scale=zt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=zt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},n(K,"LinearAxis"),K);function St(s,t,i,e){let a=new Vt(e);return _t(s)?new _i(t,i,s.categories,s.title,a):new ki(t,i,[s.min,s.max],s.title,a)}n(St,"getAxis");var q,Ti=(q=class{constructor(t,i,e,a){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=a,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),a=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=a&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=a,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},n(q,"ChartTitle"),q);function Ut(s,t,i,e){let a=new Vt(e);return new Ti(a,s,t,i)}n(Ut,"getChartTitleComponent");var J,Ri=(J=class{constructor(t,i,e,a,g){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=a,this.plotIndex=g}getDrawableElement(){let t=this.plotData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]),i;return this.orientation==="horizontal"?i=Wt().y(e=>e[0]).x(e=>e[1])(t):i=Wt().x(e=>e[0]).y(e=>e[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},n(J,"LinePlot"),J),tt,Di=(tt=class{constructor(t,i,e,a,g,u){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=a,this.orientation=g,this.plotIndex=u}getDrawableElement(){let t=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),i=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),e=i/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(a=>({x:this.boundingRect.x,y:a[0]-e,height:i,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(a=>({x:a[0]-e,y:a[1],width:i,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},n(tt,"BarPlot"),tt),it,Li=(it=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let t=[];for(let[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{let a=new Ri(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...a.getDrawableElement())}break;case"bar":{let a=new Di(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...a.getDrawableElement())}break}return t}},n(it,"BasePlot"),it);function Yt(s,t,i){return new Li(s,t,i)}n(Yt,"getPlotComponent");var et,Pi=(et=class{constructor(t,i,e,a){this.chartConfig=t,this.chartData=i,this.componentStore={title:Ut(t,i,e,a),plot:Yt(t,i,e),xAxis:St(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},a),yAxis:St(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},a)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,a=0,g=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),u=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),A=this.componentStore.plot.calculateSpace({width:g,height:u});t-=A.width,i-=A.height,A=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),a=A.height,i-=A.height,this.componentStore.xAxis.setAxisPosition("bottom"),A=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=A.height,this.componentStore.yAxis.setAxisPosition("left"),A=this.componentStore.yAxis.calculateSpace({width:t,height:i}),e=A.width,t-=A.width,t>0&&(g+=t,t=0),i>0&&(u+=i,i=0),this.componentStore.plot.calculateSpace({width:g,height:u}),this.componentStore.plot.setBoundingBoxXY({x:e,y:a}),this.componentStore.xAxis.setRange([e,e+g]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:a+u}),this.componentStore.yAxis.setRange([a,a+u]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(S=>At(S))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,a=0,g=0,u=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),A=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),S=this.componentStore.plot.calculateSpace({width:u,height:A});t-=S.width,i-=S.height,S=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),e=S.height,i-=S.height,this.componentStore.xAxis.setAxisPosition("left"),S=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=S.width,a=S.width,this.componentStore.yAxis.setAxisPosition("top"),S=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=S.height,g=e+S.height,t>0&&(u+=t,t=0),i>0&&(A+=i,i=0),this.componentStore.plot.calculateSpace({width:u,height:A}),this.componentStore.plot.setBoundingBoxXY({x:a,y:g}),this.componentStore.yAxis.setRange([a,a+u]),this.componentStore.yAxis.setBoundingBoxXY({x:a,y:e}),this.componentStore.xAxis.setRange([g,g+A]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:g}),this.chartData.plots.some(P=>At(P))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},n(et,"Orchestrator"),et),st,vi=(st=class{static build(t,i,e,a){return new Pi(t,i,e,a).getDrawableElement()}},n(st,"XYChartBuilder"),st),at=0,Ht,nt=Rt(),ht=Tt(),y=Dt(),wt=ht.plotColorPalette.split(",").map(s=>s.trim()),ut=!1,kt=!1;function Tt(){let s=Ai(),t=Ct();return Ft(s.xyChart,t.themeVariables.xyChart)}n(Tt,"getChartDefaultThemeConfig");function Rt(){let s=Ct();return Ft(bi.xyChart,s.xyChart)}n(Rt,"getChartDefaultConfig");function Dt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}n(Dt,"getChartDefaultData");function xt(s){let t=Ct();return Si(s.trim(),t)}n(xt,"textSanitizer");function jt(s){Ht=s}n(jt,"setTmpSVGG");function Gt(s){s==="horizontal"?nt.chartOrientation="horizontal":nt.chartOrientation="vertical"}n(Gt,"setOrientation");function Qt(s){y.xAxis.title=xt(s.text)}n(Qt,"setXAxisTitle");function Lt(s,t){y.xAxis={type:"linear",title:y.xAxis.title,min:s,max:t},ut=!0}n(Lt,"setXAxisRangeData");function Zt(s){y.xAxis={type:"band",title:y.xAxis.title,categories:s.map(t=>xt(t.text))},ut=!0}n(Zt,"setXAxisBand");function Kt(s){y.yAxis.title=xt(s.text)}n(Kt,"setYAxisTitle");function qt(s,t){y.yAxis={type:"linear",title:y.yAxis.title,min:s,max:t},kt=!0}n(qt,"setYAxisRangeData");function Jt(s){let t=Math.min(...s),i=Math.max(...s),e=j(y.yAxis)?y.yAxis.min:1/0,a=j(y.yAxis)?y.yAxis.max:-1/0;y.yAxis={type:"linear",title:y.yAxis.title,min:Math.min(e,t),max:Math.max(a,i)}}n(Jt,"setYAxisRangeFromPlotData");function Pt(s){let t=[];if(s.length===0)return t;if(!ut){let i=j(y.xAxis)?y.xAxis.min:1/0,e=j(y.xAxis)?y.xAxis.max:-1/0;Lt(Math.min(i,1),Math.max(e,s.length))}if(kt||Jt(s),_t(y.xAxis)&&(t=y.xAxis.categories.map((i,e)=>[i,s[e]])),j(y.xAxis)){let i=y.xAxis.min,e=y.xAxis.max,a=(e-i)/(s.length-1),g=[];for(let u=i;u<=e;u+=a)g.push(`${u}`);t=g.map((u,A)=>[u,s[A]])}return t}n(Pt,"transformDataWithoutCategory");function vt(s){return wt[s===0?0:s%wt.length]}n(vt,"getPlotColorFromPalette");function ti(s,t){let i=Pt(t);y.plots.push({type:"line",strokeFill:vt(at),strokeWidth:2,data:i}),at++}n(ti,"setLineData");function ii(s,t){let i=Pt(t);y.plots.push({type:"bar",fill:vt(at),data:i}),at++}n(ii,"setBarData");function ei(){if(y.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return y.title=Ot(),vi.build(nt,y,ht,Ht)}n(ei,"getDrawableElem");function si(){return ht}n(si,"getChartThemeConfig");function ai(){return nt}n(ai,"getChartConfig");function ni(){return y}n(ni,"getXYChartData");var Ei=n(function(){mi(),at=0,nt=Rt(),y=Dt(),ht=Tt(),wt=ht.plotColorPalette.split(",").map(s=>s.trim()),ut=!1,kt=!1},"clear"),Ii={getDrawableElem:ei,clear:Ei,setAccTitle:pi,getAccTitle:di,setDiagramTitle:xi,getDiagramTitle:Ot,getAccDescription:ui,setAccDescription:gi,setOrientation:Gt,setXAxisTitle:Qt,setXAxisRangeData:Lt,setXAxisBand:Zt,setYAxisTitle:Kt,setYAxisRangeData:qt,setLineData:ti,setBarData:ii,setTmpSVGG:jt,getChartThemeConfig:si,getChartConfig:ai,getXYChartData:ni},$i=n((s,t,i,e)=>{let a=e.db,g=a.getChartThemeConfig(),u=a.getChartConfig(),A=a.getXYChartData().plots[0].data.map(f=>f[1]);function S(f){return f==="top"?"text-before-edge":"middle"}n(S,"getDominantBaseLine");function P(f){return f==="left"?"start":f==="right"?"end":"middle"}n(P,"getTextAnchor");function M(f){return`translate(${f.x}, ${f.y}) rotate(${f.rotation||0})`}n(M,"getTextTransformation"),Xt.debug(`Rendering xychart chart `+s);let R=fi(t),v=R.append("g").attr("class","main"),z=v.append("rect").attr("width",u.width).attr("height",u.height).attr("class","background");yi(R,u.height,u.width,!0),R.attr("viewBox",`0 0 ${u.width} ${u.height}`),z.attr("fill",g.backgroundColor),a.setTmpSVGG(R.append("g").attr("class","mermaid-tmp-group"));let W=a.getDrawableElem(),D={};function B(f){let w=v,r="";for(let[E]of f.entries()){let O=v;E>0&&D[r]&&(O=D[r]),r+=f[E],w=D[r],w||(w=D[r]=O.append("g").attr("class",f[E]))}return w}n(B,"getGroup");for(let f of W){if(f.data.length===0)continue;let w=B(f.groupTexts);switch(f.type){case"rect":if(w.selectAll("rect").data(f.data).enter().append("rect").attr("x",r=>r.x).attr("y",r=>r.y).attr("width",r=>r.width).attr("height",r=>r.height).attr("fill",r=>r.fill).attr("stroke",r=>r.strokeFill).attr("stroke-width",r=>r.strokeWidth),u.showDataLabel)if(u.chartOrientation==="horizontal"){let r=function(x,p){let{data:k,label:m}=x;return p*m.length*.7<=k.width-10};n(r,"fitsHorizontally");let E=f.data.map((x,p)=>({data:x,label:A[p].toString()})).filter(x=>x.data.width>0&&x.data.height>0),O=E.map(x=>{let{data:p}=x,k=p.height*.7;for(;!r(x,k)&&k>0;)k-=1;return k}),N=Math.floor(Math.min(...O));w.selectAll("text").data(E).enter().append("text").attr("x",x=>x.data.x+x.data.width-10).attr("y",x=>x.data.y+x.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${N}px`).text(x=>x.label)}else{let r=function(x,p,k){let{data:m,label:ot}=x,U=p*ot.length*.7,rt=m.x+m.width/2,Y=rt-U/2,I=rt+U/2,o=Y>=m.x&&I<=m.x+m.width,l=m.y+k+p<=m.y+m.height;return o&&l};n(r,"fitsInBar");let E=f.data.map((x,p)=>({data:x,label:A[p].toString()})).filter(x=>x.data.width>0&&x.data.height>0),O=E.map(x=>{let{data:p,label:k}=x,m=p.width/(k.length*.7);for(;!r(x,m,10)&&m>0;)m-=1;return m}),N=Math.floor(Math.min(...O));w.selectAll("text").data(E).enter().append("text").attr("x",x=>x.data.x+x.data.width/2).attr("y",x=>x.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${N}px`).text(x=>x.label)}break;case"text":w.selectAll("text").data(f.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",r=>r.fill).attr("font-size",r=>r.fontSize).attr("dominant-baseline",r=>S(r.verticalPos)).attr("text-anchor",r=>P(r.horizontalPos)).attr("transform",r=>M(r)).text(r=>r.text);break;case"path":w.selectAll("path").data(f.data).enter().append("path").attr("d",r=>r.path).attr("fill",r=>r.fill?r.fill:"none").attr("stroke",r=>r.strokeFill).attr("stroke-width",r=>r.strokeWidth);break}}},"draw"),Mi={draw:$i},Oi={parser:Ci,db:Ii,renderer:Mi};export{Oi as diagram};