8 lines
38 KiB
JavaScript
8 lines
38 KiB
JavaScript
import{a as $t}from"./chunk-LRIF4GLE.mjs";import{e as Ut}from"./chunk-INKRHTLW.mjs";import{o as wt}from"./chunk-QA3QBVWF.mjs";import"./chunk-KNLZD3CH.mjs";import{A as Wt,O as Ot,S as zt,T as Ft,U as Nt,V as jt,W as Gt,X as Ht,Y as Ct,h as It,j as Mt,t as rt}from"./chunk-67TQ5CYL.mjs";import{H as Tt,b as nt,n as At,o as Dt}from"./chunk-7W6UQGC5.mjs";import{a as s}from"./chunk-AQ6EADP3.mjs";var kt=(function(){var i=s(function(d,o,l,g){for(l=l||{},g=d.length;g--;l[d[g]]=o);return l},"o"),t=[1,10,12,14,16,18,19,21,23],e=[2,6],a=[1,3],n=[1,5],h=[1,6],p=[1,7],A=[1,5,10,12,14,16,18,19,21,23,34,35,36],D=[1,25],Y=[1,26],V=[1,28],_=[1,29],L=[1,30],I=[1,31],M=[1,32],R=[1,33],W=[1,34],O=[1,35],z=[1,36],m=[1,37],P=[1,43],c=[1,42],N=[1,47],B=[1,50],b=[1,10,12,14,16,18,19,21,23,34,35,36],j=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],k=[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],$=[1,64],T={trace:s(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:s(function(o,l,g,u,C,r,G){var x=r.length-1;switch(C){case 5:u.setOrientation(r[x]);break;case 9:u.setDiagramTitle(r[x].text.trim());break;case 12:u.setLineData({text:"",type:"text"},r[x]);break;case 13:u.setLineData(r[x-1],r[x]);break;case 14:u.setBarData({text:"",type:"text"},r[x]);break;case 15:u.setBarData(r[x-1],r[x]);break;case 16:this.$=r[x].trim(),u.setAccTitle(this.$);break;case 17:case 18:this.$=r[x].trim(),u.setAccDescription(this.$);break;case 19:this.$=r[x-1];break;case 20:this.$=[Number(r[x-2]),...r[x]];break;case 21:this.$=[Number(r[x])];break;case 22:u.setXAxisTitle(r[x]);break;case 23:u.setXAxisTitle(r[x-1]);break;case 24:u.setXAxisTitle({type:"text",text:""});break;case 25:u.setXAxisBand(r[x]);break;case 26:u.setXAxisRangeData(Number(r[x-2]),Number(r[x]));break;case 27:this.$=r[x-1];break;case 28:this.$=[r[x-2],...r[x]];break;case 29:this.$=[r[x]];break;case 30:u.setYAxisTitle(r[x]);break;case 31:u.setYAxisTitle(r[x-1]);break;case 32:u.setYAxisTitle({type:"text",text:""});break;case 33:u.setYAxisRangeData(Number(r[x-2]),Number(r[x]));break;case 37:this.$={text:r[x],type:"text"};break;case 38:this.$={text:r[x],type:"text"};break;case 39:this.$={text:r[x],type:"markdown"};break;case 40:this.$=r[x];break;case 41:this.$=r[x-1]+""+r[x];break}},"anonymous"),table:[i(t,e,{3:1,4:2,7:4,5:a,34:n,35:h,36:p}),{1:[3]},i(t,e,{4:2,7:4,3:8,5:a,34:n,35:h,36:p}),i(t,e,{4:2,7:4,6:9,3:10,5:a,8:[1,11],34:n,35:h,36:p}),{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]},i(A,[2,34]),i(A,[2,35]),i(A,[2,36]),{1:[2,1]},i(t,e,{4:2,7:4,3:21,5:a,34:n,35:h,36:p}),{1:[2,3]},i(A,[2,5]),i(t,[2,7],{4:22,34:n,35:h,36:p}),{11:23,37:24,38:D,39:Y,40:27,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m},{11:39,13:38,24:P,27:c,29:40,30:41,37:24,38:D,39:Y,40:27,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m},{11:45,15:44,27:N,33:46,37:24,38:D,39:Y,40:27,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m},{11:49,17:48,24:B,37:24,38:D,39:Y,40:27,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m},{11:52,17:51,24:B,37:24,38:D,39:Y,40:27,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m},{20:[1,53]},{22:[1,54]},i(b,[2,18]),{1:[2,2]},i(b,[2,8]),i(b,[2,9]),i(j,[2,37],{40:55,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m}),i(j,[2,38]),i(j,[2,39]),i(k,[2,40]),i(k,[2,42]),i(k,[2,43]),i(k,[2,44]),i(k,[2,45]),i(k,[2,46]),i(k,[2,47]),i(k,[2,48]),i(k,[2,49]),i(k,[2,50]),i(k,[2,51]),i(b,[2,10]),i(b,[2,22],{30:41,29:56,24:P,27:c}),i(b,[2,24]),i(b,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:D,39:Y,40:27,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m},i(b,[2,11]),i(b,[2,30],{33:60,27:N}),i(b,[2,32]),{31:[1,61]},i(b,[2,12]),{17:62,24:B},{25:63,27:$},i(b,[2,14]),{17:65,24:B},i(b,[2,16]),i(b,[2,17]),i(k,[2,41]),i(b,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(b,[2,31]),{27:[1,69]},i(b,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(b,[2,15]),i(b,[2,26]),i(b,[2,27]),{11:59,32:72,37:24,38:D,39:Y,40:27,41:V,42:_,43:L,44:I,45:M,46:R,47:W,48:O,49:z,50:m},i(b,[2,33]),i(b,[2,19]),{25:73,27:$},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:s(function(o,l){if(l.recoverable)this.trace(o);else{var g=new Error(o);throw g.hash=l,g}},"parseError"),parse:s(function(o){var l=this,g=[0],u=[],C=[null],r=[],G=this.table,x="",it=0,Xt=0,Yt=0,oe=2,Bt=1,he=r.slice.call(arguments,1),w=Object.create(this.lexer),H={yy:{}};for(var mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,mt)&&(H.yy[mt]=this.yy[mt]);w.setInput(o,H.yy),H.yy.lexer=w,H.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var ft=w.yylloc;r.push(ft);var le=w.options&&w.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(E){g.length=g.length-2*E,C.length=C.length-E,r.length=r.length-E}s(Se,"popStack");function ce(){var E;return E=u.pop()||w.lex()||Bt,typeof E!="number"&&(E instanceof Array&&(u=E,E=u.pop()),E=l.symbols_[E]||E),E}s(ce,"lex");for(var S,dt,U,X,_e,bt,q={},at,F,Vt,st;;){if(U=g[g.length-1],this.defaultActions[U]?X=this.defaultActions[U]:((S===null||typeof S>"u")&&(S=ce()),X=G[U]&&G[U][S]),typeof X>"u"||!X.length||!X[0]){var yt="";st=[];for(at in G[U])this.terminals_[at]&&at>oe&&st.push("'"+this.terminals_[at]+"'");w.showPosition?yt="Parse error on line "+(it+1)+`:
|
|
`+w.showPosition()+`
|
|
Expecting `+st.join(", ")+", got '"+(this.terminals_[S]||S)+"'":yt="Parse error on line "+(it+1)+": Unexpected "+(S==Bt?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(yt,{text:w.match,token:this.terminals_[S]||S,line:w.yylineno,loc:ft,expected:st})}if(X[0]instanceof Array&&X.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+S);switch(X[0]){case 1:g.push(S),C.push(w.yytext),r.push(w.yylloc),g.push(X[1]),S=null,dt?(S=dt,dt=null):(Xt=w.yyleng,x=w.yytext,it=w.yylineno,ft=w.yylloc,Yt>0&&Yt--);break;case 2:if(F=this.productions_[X[1]][1],q.$=C[C.length-F],q._$={first_line:r[r.length-(F||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(F||1)].first_column,last_column:r[r.length-1].last_column},le&&(q._$.range=[r[r.length-(F||1)].range[0],r[r.length-1].range[1]]),bt=this.performAction.apply(q,[x,Xt,it,H.yy,X[1],C,r].concat(he)),typeof bt<"u")return bt;F&&(g=g.slice(0,-1*F*2),C=C.slice(0,-1*F),r=r.slice(0,-1*F)),g.push(this.productions_[X[1]][0]),C.push(q.$),r.push(q._$),Vt=G[g[g.length-2]][g[g.length-1]],g.push(Vt);break;case 3:return!0}}return!0},"parse")},y=(function(){var d={EOF:1,parseError:s(function(l,g){if(this.yy.parser)this.yy.parser.parseError(l,g);else throw new Error(l)},"parseError"),setInput:s(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:s(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:s(function(o){var l=o.length,g=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 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),g.length-1&&(this.yylineno-=g.length-1);var C=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:g?(g.length===u.length?this.yylloc.first_column:0)+u[u.length-g.length].length-g[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-l]),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).
|
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(o){this.unput(this.match.slice(o))},"less"),pastInput:s(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:s(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:s(function(){var o=this.pastInput(),l=new Array(o.length+1).join("-");return o+this.upcomingInput()+`
|
|
`+l+"^"},"showPosition"),test_match:s(function(o,l){var g,u,C;if(this.options.backtrack_lexer&&(C={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&&(C.yylloc.range=this.yylloc.range.slice(0))),u=o[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+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],g=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var r in C)this[r]=C[r];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,l,g,u;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),r=0;r<C.length;r++)if(g=this._input.match(this.rules[C[r]]),g&&(!l||g[0].length>l[0].length)){if(l=g,u=r,this.options.backtrack_lexer){if(o=this.test_match(g,C[r]),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,C[u]),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:s(function(){var l=this.next();return l||this.lex()},"lex"),begin:s(function(l){this.conditionStack.push(l)},"begin"),popState:s(function(){var l=this.conditionStack.length-1;return l>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(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},"topState"),pushState:s(function(l){this.begin(l)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(l,g,u,C){var r=C;switch(u){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;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";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;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<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/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 d})();T.lexer=y;function v(){this.yy={}}return s(v,"Parser"),v.prototype=T,T.Parser=v,new v})();kt.parser=kt;var qt=kt;function St(i){return i.type==="bar"}s(St,"isBarPlot");function ot(i){return i.type==="band"}s(ot,"isBandAxisData");function Q(i){return i.type==="linear"}s(Q,"isLinearAxisData");var K=class{constructor(t){this.parentGroup=t}static{s(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,e){if(!this.parentGroup)return{width:t.reduce((h,p)=>Math.max(p.length,h),0)*e,height:e};let a={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",e);for(let h of t){let p=Ut(n,1,h),A=p?p.width:h.length*e,D=p?p.height:e;a.width=Math.max(a.width,A),a.height=Math.max(a.height,D)}return n.remove(),a}};var Z=class{constructor(t,e,a,n){this.axisConfig=t;this.title=e;this.textDimensionCalculator=a;this.axisThemeConfig=n;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"}static{s(this,"BaseAxis")}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 e=t.height;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let a=this.getLabelDimension(),n=.2*t.width;this.outerPadding=Math.min(a.width/2,n);let h=a.height+this.axisConfig.labelPadding*2;this.labelTextHeight=a.height,h<=e&&(e-=h,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let a=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=a.height+this.axisConfig.titlePadding*2;this.titleTextHeight=a.height,n<=e&&(e-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-e}calculateSpaceIfDrawnVertical(t){let e=t.width;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let a=this.getLabelDimension(),n=.2*t.height;this.outerPadding=Math.min(a.height/2,n);let h=a.width+this.axisConfig.labelPadding*2;h<=e&&(e-=h,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let a=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=a.height+this.axisConfig.titlePadding*2;this.titleTextHeight=a.height,n<=e&&(e-=n,this.showTitle=!0)}this.boundingRect.width=t.width-e,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 e=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${e},${this.boundingRect.y} L ${e},${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(e=>({text:e.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(e),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let e=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(a=>({path:`M ${e},${this.getScaleValue(a)} L ${e-this.axisConfig.tickLength},${this.getScaleValue(a)}`,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 e=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(e=>({text:e.toString(),x:this.getScaleValue(e),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 e=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(a=>({path:`M ${this.getScaleValue(a)},${e} L ${this.getScaleValue(a)},${e+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 e=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},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(e=>({text:e.toString(),x:this.getScaleValue(e),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 e=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(a=>({path:`M ${this.getScaleValue(a)},${e+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(a)},${e+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():[]}};var ht=class extends Z{static{s(this,"BandAxis")}constructor(t,e,a,n,h){super(t,n,h,e),this.categories=a,this.scale=At().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=At().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),nt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}};var lt=class extends Z{static{s(this,"LinearAxis")}constructor(t,e,a,n,h){super(t,n,h,e),this.domain=a,this.scale=Dt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Dt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function _t(i,t,e,a){let n=new K(a);return ot(i)?new ht(t,e,i.categories,i.title,n):new lt(t,e,[i.min,i.max],i.title,n)}s(_t,"getAxis");var Rt=class{constructor(t,e,a,n){this.textDimensionCalculator=t;this.chartConfig=e;this.chartData=a;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{s(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let e=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),a=Math.max(e.width,t.width),n=e.height+2*this.chartConfig.titlePadding;return e.width<=a&&e.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=a,this.boundingRect.height=n,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}};function Qt(i,t,e,a){let n=new K(a);return new Rt(n,i,t,e)}s(Qt,"getChartTitleComponent");var ct=class{constructor(t,e,a,n,h){this.plotData=t;this.xAxis=e;this.yAxis=a;this.orientation=n;this.plotIndex=h}static{s(this,"LinePlot")}getDrawableElement(){let t=this.plotData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),e;return this.orientation==="horizontal"?e=Tt().y(a=>a[0]).x(a=>a[1])(t):e=Tt().x(a=>a[0]).y(a=>a[1])(t),e?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:e,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}};var gt=class{constructor(t,e,a,n,h,p){this.barData=t;this.boundingRect=e;this.xAxis=a;this.yAxis=n;this.orientation=h;this.plotIndex=p}static{s(this,"BarPlot")}getDrawableElement(){let t=this.barData.data.map(h=>[this.xAxis.getScaleValue(h[0]),this.yAxis.getScaleValue(h[1])]),a=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=a/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(h=>({x:this.boundingRect.x,y:h[0]-n,height:a,width:h[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(h=>({x:h[0]-n,y:h[1],width:a,height:this.boundingRect.y+this.boundingRect.height-h[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}};var Pt=class{constructor(t,e,a){this.chartConfig=t;this.chartData=e;this.chartThemeConfig=a;this.boundingRect={x:0,y:0,width:0,height:0}}static{s(this,"BasePlot")}setAxes(t,e){this.xAxis=t,this.yAxis=e}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[e,a]of this.chartData.plots.entries())switch(a.type){case"line":{let n=new ct(a,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...n.getDrawableElement())}break;case"bar":{let n=new gt(a,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...n.getDrawableElement())}break}return t}};function Kt(i,t,e){return new Pt(i,t,e)}s(Kt,"getPlotComponent");var ut=class{constructor(t,e,a,n){this.chartConfig=t;this.chartData=e;this.componentStore={title:Qt(t,e,a,n),plot:Kt(t,e,a),xAxis:_t(e.xAxis,t.xAxis,{titleColor:a.xAxisTitleColor,labelColor:a.xAxisLabelColor,tickColor:a.xAxisTickColor,axisLineColor:a.xAxisLineColor},n),yAxis:_t(e.yAxis,t.yAxis,{titleColor:a.yAxisTitleColor,labelColor:a.yAxisLabelColor,tickColor:a.yAxisTickColor,axisLineColor:a.yAxisLineColor},n)}}static{s(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,a=0,n=0,h=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),p=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),A=this.componentStore.plot.calculateSpace({width:h,height:p});t-=A.width,e-=A.height,A=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),n=A.height,e-=A.height,this.componentStore.xAxis.setAxisPosition("bottom"),A=this.componentStore.xAxis.calculateSpace({width:t,height:e}),e-=A.height,this.componentStore.yAxis.setAxisPosition("left"),A=this.componentStore.yAxis.calculateSpace({width:t,height:e}),a=A.width,t-=A.width,t>0&&(h+=t,t=0),e>0&&(p+=e,e=0),this.componentStore.plot.calculateSpace({width:h,height:p}),this.componentStore.plot.setBoundingBoxXY({x:a,y:n}),this.componentStore.xAxis.setRange([a,a+h]),this.componentStore.xAxis.setBoundingBoxXY({x:a,y:n+p}),this.componentStore.yAxis.setRange([n,n+p]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(D=>St(D))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,a=0,n=0,h=0,p=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),A=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),D=this.componentStore.plot.calculateSpace({width:p,height:A});t-=D.width,e-=D.height,D=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),a=D.height,e-=D.height,this.componentStore.xAxis.setAxisPosition("left"),D=this.componentStore.xAxis.calculateSpace({width:t,height:e}),t-=D.width,n=D.width,this.componentStore.yAxis.setAxisPosition("top"),D=this.componentStore.yAxis.calculateSpace({width:t,height:e}),e-=D.height,h=a+D.height,t>0&&(p+=t,t=0),e>0&&(A+=e,e=0),this.componentStore.plot.calculateSpace({width:p,height:A}),this.componentStore.plot.setBoundingBoxXY({x:n,y:h}),this.componentStore.yAxis.setRange([n,n+p]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:a}),this.componentStore.xAxis.setRange([h,h+A]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:h}),this.chartData.plots.some(Y=>St(Y))&&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 e of Object.values(this.componentStore))t.push(...e.getDrawableElements());return t}};var pt=class{static{s(this,"XYChartBuilder")}static build(t,e,a,n){return new ut(t,e,a,n).getDrawableElement()}};var J=0,Zt,tt=te(),et=Jt(),f=ee(),vt=et.plotColorPalette.split(",").map(i=>i.trim()),xt=!1,Et=!1;function Jt(){let i=It(),t=rt();return wt(i.xyChart,t.themeVariables.xyChart)}s(Jt,"getChartDefaultThemeConfig");function te(){let i=rt();return wt(Mt.xyChart,i.xyChart)}s(te,"getChartDefaultConfig");function ee(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}s(ee,"getChartDefaultData");function Lt(i){let t=rt();return Wt(i.trim(),t)}s(Lt,"textSanitizer");function ge(i){Zt=i}s(ge,"setTmpSVGG");function ue(i){i==="horizontal"?tt.chartOrientation="horizontal":tt.chartOrientation="vertical"}s(ue,"setOrientation");function pe(i){f.xAxis.title=Lt(i.text)}s(pe,"setXAxisTitle");function ie(i,t){f.xAxis={type:"linear",title:f.xAxis.title,min:i,max:t},xt=!0}s(ie,"setXAxisRangeData");function xe(i){f.xAxis={type:"band",title:f.xAxis.title,categories:i.map(t=>Lt(t.text))},xt=!0}s(xe,"setXAxisBand");function me(i){f.yAxis.title=Lt(i.text)}s(me,"setYAxisTitle");function fe(i,t){f.yAxis={type:"linear",title:f.yAxis.title,min:i,max:t},Et=!0}s(fe,"setYAxisRangeData");function de(i){let t=Math.min(...i),e=Math.max(...i),a=Q(f.yAxis)?f.yAxis.min:1/0,n=Q(f.yAxis)?f.yAxis.max:-1/0;f.yAxis={type:"linear",title:f.yAxis.title,min:Math.min(a,t),max:Math.max(n,e)}}s(de,"setYAxisRangeFromPlotData");function ae(i){let t=[];if(i.length===0)return t;if(!xt){let e=Q(f.xAxis)?f.xAxis.min:1/0,a=Q(f.xAxis)?f.xAxis.max:-1/0;ie(Math.min(e,1),Math.max(a,i.length))}if(Et||de(i),ot(f.xAxis)&&(t=f.xAxis.categories.map((e,a)=>[e,i[a]])),Q(f.xAxis)){let e=f.xAxis.min,a=f.xAxis.max,n=(a-e)/(i.length-1),h=[];for(let p=e;p<=a;p+=n)h.push(`${p}`);t=h.map((p,A)=>[p,i[A]])}return t}s(ae,"transformDataWithoutCategory");function se(i){return vt[i===0?0:i%vt.length]}s(se,"getPlotColorFromPalette");function be(i,t){let e=ae(t);f.plots.push({type:"line",strokeFill:se(J),strokeWidth:2,data:e}),J++}s(be,"setLineData");function ye(i,t){let e=ae(t);f.plots.push({type:"bar",fill:se(J),data:e}),J++}s(ye,"setBarData");function Ce(){if(f.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return f.title=Ct(),pt.build(tt,f,et,Zt)}s(Ce,"getDrawableElem");function Ae(){return et}s(Ae,"getChartThemeConfig");function De(){return tt}s(De,"getChartConfig");function Te(){return f}s(Te,"getXYChartData");var we=s(function(){zt(),J=0,tt=te(),f=ee(),et=Jt(),vt=et.plotColorPalette.split(",").map(i=>i.trim()),xt=!1,Et=!1},"clear"),ne={getDrawableElem:Ce,clear:we,setAccTitle:Ft,getAccTitle:Nt,setDiagramTitle:Ht,getDiagramTitle:Ct,getAccDescription:Gt,setAccDescription:jt,setOrientation:ue,setXAxisTitle:pe,setXAxisRangeData:ie,setXAxisBand:xe,setYAxisTitle:me,setYAxisRangeData:fe,setLineData:be,setBarData:ye,setTmpSVGG:ge,getChartThemeConfig:Ae,getChartConfig:De,getXYChartData:Te};var ke=s((i,t,e,a)=>{let n=a.db,h=n.getChartThemeConfig(),p=n.getChartConfig(),A=n.getXYChartData().plots[0].data.map(m=>m[1]);function D(m){return m==="top"?"text-before-edge":"middle"}s(D,"getDominantBaseLine");function Y(m){return m==="left"?"start":m==="right"?"end":"middle"}s(Y,"getTextAnchor");function V(m){return`translate(${m.x}, ${m.y}) rotate(${m.rotation||0})`}s(V,"getTextTransformation"),nt.debug(`Rendering xychart chart
|
|
`+i);let _=$t(t),L=_.append("g").attr("class","main"),I=L.append("rect").attr("width",p.width).attr("height",p.height).attr("class","background");Ot(_,p.height,p.width,!0),_.attr("viewBox",`0 0 ${p.width} ${p.height}`),I.attr("fill",h.backgroundColor),n.setTmpSVGG(_.append("g").attr("class","mermaid-tmp-group"));let M=n.getDrawableElem(),R={};function W(m){let P=L,c="";for(let[N]of m.entries()){let B=L;N>0&&R[c]&&(B=R[c]),c+=m[N],P=R[c],P||(P=R[c]=B.append("g").attr("class",m[N]))}return P}s(W,"getGroup");for(let m of M){if(m.data.length===0)continue;let P=W(m.groupTexts);switch(m.type){case"rect":if(P.selectAll("rect").data(m.data).enter().append("rect").attr("x",c=>c.x).attr("y",c=>c.y).attr("width",c=>c.width).attr("height",c=>c.height).attr("fill",c=>c.fill).attr("stroke",c=>c.strokeFill).attr("stroke-width",c=>c.strokeWidth),p.showDataLabel){let c=p.showDataLabelOutsideBar;if(p.chartOrientation==="horizontal"){let j=function(y,v){let{data:d,label:o}=y;return v*o.length*.7<=d.width-10};var O=j;s(j,"fitsHorizontally");let N=.7,B=10,b=m.data.map((y,v)=>({data:y,label:A[v].toString()})).filter(y=>y.data.width>0&&y.data.height>0),k=b.map(y=>{let{data:v}=y,d=v.height*.7;for(;!j(y,d)&&d>0;)d-=1;return d}),$=Math.floor(Math.min(...k)),T=s(y=>c?y.data.x+y.data.width+10:y.data.x+y.data.width-10,"determineLabelXPosition");P.selectAll("text").data(b).enter().append("text").attr("x",T).attr("y",y=>y.data.y+y.data.height/2).attr("text-anchor",c?"start":"end").attr("dominant-baseline","middle").attr("fill",h.dataLabelColor).attr("font-size",`${$}px`).text(y=>y.label)}else{let b=function(T,y,v){let{data:d,label:o}=T,g=y*o.length*.7,u=d.x+d.width/2,C=u-g/2,r=u+g/2,G=C>=d.x&&r<=d.x+d.width,x=d.y+v+y<=d.y+d.height;return G&&x};var z=b;s(b,"fitsInBar");let N=10,B=m.data.map((T,y)=>({data:T,label:A[y].toString()})).filter(T=>T.data.width>0&&T.data.height>0),j=B.map(T=>{let{data:y,label:v}=T,d=y.width/(v.length*.7);for(;!b(T,d,10)&&d>0;)d-=1;return d}),k=Math.floor(Math.min(...j)),$=s(T=>c?T.data.y-10:T.data.y+10,"determineLabelYPosition");P.selectAll("text").data(B).enter().append("text").attr("x",T=>T.data.x+T.data.width/2).attr("y",$).attr("text-anchor","middle").attr("dominant-baseline",c?"auto":"hanging").attr("fill",h.dataLabelColor).attr("font-size",`${k}px`).text(T=>T.label)}}break;case"text":P.selectAll("text").data(m.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",c=>c.fill).attr("font-size",c=>c.fontSize).attr("dominant-baseline",c=>D(c.verticalPos)).attr("text-anchor",c=>Y(c.horizontalPos)).attr("transform",c=>V(c)).text(c=>c.text);break;case"path":P.selectAll("path").data(m.data).enter().append("path").attr("d",c=>c.path).attr("fill",c=>c.fill?c.fill:"none").attr("stroke",c=>c.strokeFill).attr("stroke-width",c=>c.strokeWidth);break}}},"draw"),re={draw:ke};var Ii={parser:qt,db:ne,renderer:re};export{Ii as diagram};
|