ranui
Version:
A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.
8 lines (7 loc) • 42.8 kB
JavaScript
const n=require("./chunk-Y2CYZVJY-DPaYLFFP.cjs"),It=require("./src-C9EhKhbk.cjs"),M=require("./chunk-WYO6CB5R-u4mJNOcO.cjs"),Lt=require("./linear-CSAfNEpl.cjs"),se=require("./ordinal-BplLHIij.cjs"),ne=require("./init-CbDwVtpO.cjs"),Mt=require("./chunk-ICXQ74PX-BbT9JaEW.cjs"),Pt=require("./line-CAB5QHC6.cjs"),ae=require("./chunk-VAUOI2AC-DfQf5L2_.cjs");require("./chunk-HOUHSVGY-BGB3dOvI.cjs");const oe=require("./chunk-Q4XR5HBZ-aBnPq509.cjs");function re(t,e,s){t=+t,e=+e,s=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+s;for(var i=-1,a=Math.max(0,Math.ceil((e-t)/s))|0,c=new Array(a);++i<a;)c[i]=t+i*s;return c}function gt(){var t=se.ordinal().unknown(void 0),e=t.domain,s=t.range,i=0,a=1,c,l,f=!1,C=0,T=0,v=.5;delete t.unknown;function R(){var _=e().length,V=a<i,P=V?a:i,E=V?i:a;c=(E-P)/Math.max(1,_-C+T*2),f&&(c=Math.floor(c)),P+=(E-P-c*(_-C))*v,l=c*(1-C),f&&(P=Math.round(P),l=Math.round(l));var B=re(_).map(function(p){return P+c*p});return s(V?B.reverse():B)}return t.domain=function(_){return arguments.length?(e(_),R()):e()},t.range=function(_){return arguments.length?([i,a]=_,i=+i,a=+a,R()):[i,a]},t.rangeRound=function(_){return[i,a]=_,i=+i,a=+a,f=!0,R()},t.bandwidth=function(){return l},t.step=function(){return c},t.round=function(_){return arguments.length?(f=!!_,R()):f},t.padding=function(_){return arguments.length?(C=Math.min(1,T=+_),R()):C},t.paddingInner=function(_){return arguments.length?(C=Math.min(1,_),R()):C},t.paddingOuter=function(_){return arguments.length?(T=+_,R()):T},t.align=function(_){return arguments.length?(v=Math.max(0,Math.min(1,_)),R()):v},t.copy=function(){return gt(e(),[i,a]).round(f).paddingInner(C).paddingOuter(T).align(v)},ne.initRange.apply(R(),arguments)}var xt=(function(){var t=n.__name(function(o,u,b,g){for(b=b||{},g=o.length;g--;b[o[g]]=u);return b},"o"),e=[1,10,12,14,16,18,19,21,23],s=[2,6],i=[1,3],a=[1,5],c=[1,6],l=[1,7],f=[1,5,10,12,14,16,18,19,21,23,36,37,38],C=[1,25],T=[1,26],v=[1,28],R=[1,29],_=[1,30],V=[1,31],P=[1,32],E=[1,33],B=[1,34],p=[1,35],D=[1,36],h=[1,37],z=[1,43],X=[1,42],Y=[1,47],N=[1,50],w=[1,10,12,14,16,18,19,21,23,36,37,38],U=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],y=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],A=[1,65],O=[26,28],S={trace:n.__name(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,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$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",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"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],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:n.__name(function(u,b,g,x,k,r,K){var d=r.length-1;switch(k){case 5:x.setOrientation(r[d]);break;case 9:x.setDiagramTitle(r[d].text.trim());break;case 12:x.setLineData({text:"",type:"text"},r[d]);break;case 13:x.setLineData(r[d-1],r[d]);break;case 14:x.setBarData({text:"",type:"text"},r[d]);break;case 15:x.setBarData(r[d-1],r[d]);break;case 16:this.$=r[d].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=r[d].trim(),x.setAccDescription(this.$);break;case 19:this.$=r[d-1];break;case 20:case 30:this.$=[r[d-2],...r[d]];break;case 21:case 31:this.$=[r[d]];break;case 22:this.$={value:Number(r[d-1]),label:r[d]};break;case 23:this.$={value:Number(r[d]),label:""};break;case 24:x.setXAxisTitle(r[d]);break;case 25:x.setXAxisTitle(r[d-1]);break;case 26:x.setXAxisTitle({type:"text",text:""});break;case 27:x.setXAxisBand(r[d]);break;case 28:x.setXAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 29:this.$=r[d-1];break;case 32:x.setYAxisTitle(r[d]);break;case 33:x.setYAxisTitle(r[d-1]);break;case 34:x.setYAxisTitle({type:"text",text:""});break;case 35:x.setYAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 39:this.$={text:r[d],type:"text"};break;case 40:this.$={text:r[d],type:"text"};break;case 41:this.$={text:r[d],type:"markdown"};break;case 42:this.$=r[d];break;case 43:this.$=r[d-1]+""+r[d];break}},"anonymous"),table:[t(e,s,{3:1,4:2,7:4,5:i,36:a,37:c,38:l}),{1:[3]},t(e,s,{4:2,7:4,3:8,5:i,36:a,37:c,38:l}),t(e,s,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:c,38:l}),{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]},t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{1:[2,1]},t(e,s,{4:2,7:4,3:21,5:i,36:a,37:c,38:l}),{1:[2,3]},t(f,[2,5]),t(e,[2,7],{4:22,36:a,37:c,38:l}),{11:23,30:C,39:24,40:T,41:27,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h},{11:39,13:38,24:z,29:X,30:C,31:40,32:41,39:24,40:T,41:27,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h},{11:45,15:44,29:Y,30:C,35:46,39:24,40:T,41:27,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h},{11:49,17:48,24:N,30:C,39:24,40:T,41:27,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h},{11:52,17:51,24:N,30:C,39:24,40:T,41:27,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h},{20:[1,53]},{22:[1,54]},t(w,[2,18]),{1:[2,2]},t(w,[2,8]),t(w,[2,9]),t(U,[2,39],{41:55,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h}),t(U,[2,40]),t(U,[2,41]),t(y,[2,42]),t(y,[2,44]),t(y,[2,45]),t(y,[2,46]),t(y,[2,47]),t(y,[2,48]),t(y,[2,49]),t(y,[2,50]),t(y,[2,51]),t(y,[2,52]),t(y,[2,53]),t(w,[2,10]),t(w,[2,24],{32:41,31:56,24:z,29:X}),t(w,[2,26]),t(w,[2,27]),{33:[1,57]},{11:59,30:C,34:58,39:24,40:T,41:27,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h},t(w,[2,11]),t(w,[2,32],{35:60,29:Y}),t(w,[2,34]),{33:[1,61]},t(w,[2,12]),{17:62,24:N},{25:63,27:64,29:A},t(w,[2,14]),{17:66,24:N},t(w,[2,16]),t(w,[2,17]),t(y,[2,43]),t(w,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(w,[2,33]),{29:[1,70]},t(w,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(O,[2,23],{30:[1,73]}),t(w,[2,15]),t(w,[2,28]),t(w,[2,29]),{11:59,30:C,34:74,39:24,40:T,41:27,42:v,43:R,44:_,45:V,46:P,47:E,48:B,49:p,50:D,51:h},t(w,[2,35]),t(w,[2,19]),{25:75,27:64,29:A},t(O,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:n.__name(function(u,b){if(b.recoverable)this.trace(u);else{var g=new Error(u);throw g.hash=b,g}},"parseError"),parse:n.__name(function(u){var b=this,g=[0],x=[],k=[null],r=[],K=this.table,d="",it=0,St=0,Rt=0,Jt=2,kt=1,te=r.slice.call(arguments,1),L=Object.create(this.lexer),$={yy:{}};for(var rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rt)&&($.yy[rt]=this.yy[rt]);L.setInput(u,$.yy),$.yy.lexer=L,$.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var ht=L.yylloc;r.push(ht);var ee=L.options&&L.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ie(F){g.length=g.length-2*F,k.length=k.length-F,r.length=r.length-F}n.__name(ie,"popStack");function Tt(){var F=x.pop()||L.lex()||kt;return typeof F!="number"&&(F instanceof Array&&(x=F,F=x.pop()),F=b.symbols_[F]||F),F}n.__name(Tt,"lex");for(var I,lt,G,W,ct,j={},st,q,Dt,nt;;){if(G=g[g.length-1],this.defaultActions[G]?W=this.defaultActions[G]:((I===null||typeof I>"u")&&(I=Tt()),W=K[G]&&K[G][I]),typeof W>"u"||!W.length||!W[0]){var ut="";nt=[];for(st in K[G])this.terminals_[st]&&st>Jt&&nt.push("'"+this.terminals_[st]+"'");L.showPosition?ut="Parse error on line "+(it+1)+`:
`+L.showPosition()+`
Expecting `+nt.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ut="Parse error on line "+(it+1)+": Unexpected "+(I==kt?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ut,{text:L.match,token:this.terminals_[I]||I,line:L.yylineno,loc:ht,expected:nt})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+I);switch(W[0]){case 1:g.push(I),k.push(L.yytext),r.push(L.yylloc),g.push(W[1]),I=null,lt?(I=lt,lt=null):(St=L.yyleng,d=L.yytext,it=L.yylineno,ht=L.yylloc,Rt>0&&Rt--);break;case 2:if(q=this.productions_[W[1]][1],j.$=k[k.length-q],j._$={first_line:r[r.length-(q||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(q||1)].first_column,last_column:r[r.length-1].last_column},ee&&(j._$.range=[r[r.length-(q||1)].range[0],r[r.length-1].range[1]]),ct=this.performAction.apply(j,[d,St,it,$.yy,W[1],k,r].concat(te)),typeof ct<"u")return ct;q&&(g=g.slice(0,-1*q*2),k=k.slice(0,-1*q),r=r.slice(0,-1*q)),g.push(this.productions_[W[1]][0]),k.push(j.$),r.push(j._$),Dt=K[g[g.length-2]][g[g.length-1]],g.push(Dt);break;case 3:return!0}}return!0},"parse")};S.lexer=(function(){return{EOF:1,parseError:n.__name(function(u,b){if(this.yy.parser)this.yy.parser.parseError(u,b);else throw new Error(u)},"parseError"),setInput:n.__name(function(o,u){return this.yy=u||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.__name(function(){var o=this._input[0];return this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o,o.match(/(?:\r\n?|\n).*/g)?(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.__name(function(o){var u=o.length,b=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var g=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),b.length-1&&(this.yylineno-=b.length-1);var x=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:b?(b.length===g.length?this.yylloc.first_column:0)+g[g.length-b.length].length-b[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:n.__name(function(){return this._more=!0,this},"more"),reject:n.__name(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.__name(function(o){this.unput(this.match.slice(o))},"less"),pastInput:n.__name(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.__name(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.__name(function(){var o=this.pastInput(),u=new Array(o.length+1).join("-");return o+this.upcomingInput()+`
`+u+"^"},"showPosition"),test_match:n.__name(function(o,u){var b,g,x;if(this.options.backtrack_lexer&&(x={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&&(x.yylloc.range=this.yylloc.range.slice(0))),g=o[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.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],b=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var k in x)this[k]=x[k];return!1}return!1},"test_match"),next:n.__name(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,u,b,g;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),k=0;k<x.length;k++)if(b=this._input.match(this.rules[x[k]]),b&&(!u||b[0].length>u[0].length)){if(u=b,g=k,this.options.backtrack_lexer){if(o=this.test_match(b,x[k]),o!==!1)return o;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(o=this.test_match(u,x[g]),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.__name(function(){var u=this.next();return u||this.lex()},"lex"),begin:n.__name(function(u){this.conditionStack.push(u)},"begin"),popState:n.__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:n.__name(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.__name(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:n.__name(function(u){this.begin(u)},"pushState"),stateStackSize:n.__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:n.__name(function(u,b,g,x){switch(g){case 0:break;case 1:break;case 2:return this.popState(),36;case 3:return this.popState(),36;case 4:return 36;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 33;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 29;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 44;case 33:return"COLON";case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 44:break;case 45:return 37;case 46:return 38}},"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}}}})();function H(){this.yy={}}return n.__name(H,"Parser"),H.prototype=S,S.Parser=H,new H})();xt.parser=xt;var he=xt;function dt(t){return t.type==="bar"}n.__name(dt,"isBarPlot");function at(t){return t.type==="band"}n.__name(at,"isBandAxisData");function Q(t){return t.type==="linear"}n.__name(Q,"isLinearAxisData");var Vt=class{constructor(t){this.parentGroup=t}static{n.__name(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,e){if(!this.parentGroup)return{width:t.reduce((a,c)=>Math.max(c.length,a),0)*e,height:e};const s={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",e);for(const a of t){const c=oe.computeDimensionOfText(i,1,a),l=c?c.width:a.length*e,f=c?c.height:e;s.width=Math.max(s.width,l),s.height=Math.max(s.height,f)}return i.remove(),s}},vt=.7,Et=.2,Bt=class{constructor(t,e,s,i){this.axisConfig=t,this.title=e,this.textDimensionCalculator=s,this.axisThemeConfig=i,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.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}static{n.__name(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(){const 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(){vt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(vt*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){const s=this.getLabelDimension(),i=Et*t.width;this.outerPadding=Math.min(s.width/2,i);let a=s.height;this.axisPosition==="bottom"&&this.normalizedLabelRotationInRad!==0&&(a=Math.max(a,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*s.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*s.height))),a+=this.axisConfig.labelPadding*2,this.labelTextHeight=s.height,a<=e&&(e-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,i<=e&&(e-=i,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){const s=this.getLabelDimension(),i=Et*t.height;this.outerPadding=Math.min(s.height/2,i);const a=s.width+this.axisConfig.labelPadding*2;a<=e&&(e-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,i<=e&&(e-=i,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}calculateOffsetByRotation(t){const e=this.normalizedLabelRotationInRad;return e===0?0:Math.sin(e)*this.getLabelDimension()[t]/2}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const 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){const 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(s=>({path:`M ${e},${this.getScaleValue(s)} L ${e-this.axisConfig.tickLength},${this.getScaleValue(s)}`,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(){const t=[];if(this.showAxisLine){const 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)+this.calculateOffsetByRotation("height"),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation("width")),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:this.normalizedLabelRotationInRad*180/Math.PI,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const e=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${e} L ${this.getScaleValue(s)},${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(){const t=[];if(this.showAxisLine){const 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){const e=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${e+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${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():[]}},le=class extends Bt{static{n.__name(this,"BandAxis")}constructor(t,e,s,i,a){super(t,i,a,e),this.categories=s,this.scale=gt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=gt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),It.log.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},ce=class extends Bt{static{n.__name(this,"LinearAxis")}constructor(t,e,s,i,a){super(t,i,a,e),this.domain=s,this.scale=Lt.linear().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Lt.linear().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function ft(t,e,s,i){const a=new Vt(i);return at(t)?new le(e,s,t.categories,t.title,a):new ce(e,s,[t.min,t.max],t.title,a)}n.__name(ft,"getAxis");var ue=class{constructor(t,e,s,i){this.textDimensionCalculator=t,this.chartConfig=e,this.chartData=s,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{n.__name(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const e=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(e.width,t.width),i=e.height+2*this.chartConfig.titlePadding;return e.width<=s&&e.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const 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 zt(t,e,s,i){return new ue(new Vt(i),t,e,s)}n.__name(zt,"getChartTitleComponent");var ge=class{constructor(t,e,s,i,a){this.plotData=t,this.xAxis=e,this.yAxis=s,this.orientation=i,this.plotIndex=a}static{n.__name(this,"LinePlot")}getDrawableElement(){const t=this.plotData.data.map(i=>[this.xAxis.getScaleValue(i[0]),this.yAxis.getScaleValue(i[1])]);let e;if(this.orientation==="horizontal"?e=Pt.line_default().y(i=>i[0]).x(i=>i[1])(t):e=Pt.line_default().x(i=>i[0]).y(i=>i[1])(t),!e)return[];const s=[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:e,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){const c=[];for(const[l,[f,C]]of t.entries()){const T=this.plotData.pointLabels[l];T&&(this.orientation==="horizontal"?c.push({x:C+10,y:f,text:T,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"left",fontSize:12,rotation:0}):c.push({x:f,y:C-10,text:T,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"center",fontSize:12,rotation:0}))}c.length>0&&s.push({groupTexts:["plot",`line-plot-${this.plotIndex}`,"labels"],type:"text",data:c})}return s}},xe=class{constructor(t,e,s,i,a,c){this.barData=t,this.boundingRect=e,this.xAxis=s,this.yAxis=i,this.orientation=a,this.plotIndex=c}static{n.__name(this,"BarPlot")}getDrawableElement(){const t=this.barData.data.map(i=>[this.xAxis.getScaleValue(i[0]),this.yAxis.getScaleValue(i[1])]),e=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*.95,s=e/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(i=>({x:this.boundingRect.x,y:i[0]-s,height:e,width:i[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(i=>({x:i[0]-s,y:i[1],width:e,height:this.boundingRect.y+this.boundingRect.height-i[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},de=class{constructor(t,e,s){this.chartConfig=t,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}static{n.__name(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");const t=[];for(const[e,s]of this.chartData.plots.entries())switch(s.type){case"line":{const i=new ge(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...i.getDrawableElement())}break;case"bar":{const i=new xe(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...i.getDrawableElement())}break}return t}};function Ot(t,e,s){return new de(t,e,s)}n.__name(Ot,"getPlotComponent");var fe=class{constructor(t,e,s,i){this.chartConfig=t,this.chartData=e,this.componentStore={title:zt(t,e,s,i),plot:Ot(t,e,s),xAxis:ft(e.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},i),yAxis:ft(e.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},i)}}static{n.__name(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,s=0,i=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),c=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:c});t-=l.width,e-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),i=l.height,e-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:t,height:e}),e-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:t,height:e}),s=l.width,t-=l.width,t>0&&(a+=t,t=0),e>0&&(c+=e,e=0),this.componentStore.plot.calculateSpace({width:a,height:c}),this.componentStore.plot.setBoundingBoxXY({x:s,y:i}),this.componentStore.xAxis.setRange([s,s+a]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:i+c}),this.componentStore.yAxis.setRange([i,i+c]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(f=>dt(f))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,s=0,i=0,a=0,c=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:c,height:l});t-=f.width,e-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),s=f.height,e-=f.height,this.componentStore.xAxis.setAxisPosition("left"),f=this.componentStore.xAxis.calculateSpace({width:t,height:e}),t-=f.width,i=f.width,this.componentStore.yAxis.setAxisPosition("top"),f=this.componentStore.yAxis.calculateSpace({width:t,height:e}),e-=f.height,a=s+f.height,t>0&&(c+=t,t=0),e>0&&(l+=e,e=0),this.componentStore.plot.calculateSpace({width:c,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+c]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:s}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(C=>dt(C))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const e of Object.values(this.componentStore))t.push(...e.getDrawableElements());return t}},pe=class{static{n.__name(this,"XYChartBuilder")}static build(t,e,s,i){return new fe(t,e,s,i).getDrawableElement()}},Z=0,Wt,J=yt(),tt=_t(),m=bt(),pt=tt.plotColorPalette.split(",").map(t=>t.trim()),ot=!1,mt=!1;function _t(){const t=M.getThemeVariables3(),e=M.getConfig();return Mt.cleanAndMerge(t.xyChart,e.themeVariables.xyChart)}n.__name(_t,"getChartDefaultThemeConfig");function yt(){const t=M.getConfig();return Mt.cleanAndMerge(M.defaultConfig_default.xyChart,t.xyChart)}n.__name(yt,"getChartDefaultConfig");function bt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}n.__name(bt,"getChartDefaultData");function et(t){const e=M.getConfig();return M.sanitizeText(t.trim(),e)}n.__name(et,"textSanitizer");function Ft(t){Wt=t}n.__name(Ft,"setTmpSVGG");function Xt(t){t==="horizontal"?J.chartOrientation="horizontal":J.chartOrientation="vertical"}n.__name(Xt,"setOrientation");function Yt(t){m.xAxis.title=et(t.text)}n.__name(Yt,"setXAxisTitle");function At(t,e){m.xAxis={type:"linear",title:m.xAxis.title,min:t,max:e},ot=!0}n.__name(At,"setXAxisRangeData");function Nt(t){m.xAxis={type:"band",title:m.xAxis.title,categories:t.map(e=>et(e.text))},ot=!0}n.__name(Nt,"setXAxisBand");function qt(t){m.yAxis.title=et(t.text)}n.__name(qt,"setYAxisTitle");function Ht(t,e){m.yAxis={type:"linear",title:m.yAxis.title,min:t,max:e},mt=!0}n.__name(Ht,"setYAxisRangeData");function Ut(t){const e=Math.min(...t),s=Math.max(...t),i=Q(m.yAxis)?m.yAxis.min:1/0,a=Q(m.yAxis)?m.yAxis.max:-1/0;m.yAxis={type:"linear",title:m.yAxis.title,min:Math.min(i,e),max:Math.max(a,s)}}n.__name(Ut,"setYAxisRangeFromPlotData");function wt(t){let e=[];if(t.length===0)return e;if(!ot){const s=Q(m.xAxis)?m.xAxis.min:1/0,i=Q(m.xAxis)?m.xAxis.max:-1/0;At(Math.min(s,1),Math.max(i,t.length))}if(at(m.xAxis)&&t.length>m.xAxis.categories.length&&(t=t.slice(0,m.xAxis.categories.length)),mt||Ut(t),at(m.xAxis)&&(e=m.xAxis.categories.map((s,i)=>[s,t[i]])),Q(m.xAxis)){const s=m.xAxis.min,i=m.xAxis.max,a=(i-s)/(t.length-1),c=[];for(let l=s;l<=i;l+=a)c.push(`${l}`);e=c.map((l,f)=>[l,t[f]])}return e}n.__name(wt,"transformDataWithoutCategory");function Ct(t){return pt[t===0?0:t%pt.length]}n.__name(Ct,"getPlotColorFromPalette");function $t(t,e){const s=e.map(l=>l.value),i=e.map(l=>l.label?et(l.label):""),a=wt(s),c=i.some(l=>l!=="");m.plots.push({type:"line",strokeFill:Ct(Z),strokeWidth:2,data:a,...c?{pointLabels:i}:{}}),Z++}n.__name($t,"setLineData");function Gt(t,e){const s=wt(e.map(i=>i.value));m.plots.push({type:"bar",fill:Ct(Z),data:s}),Z++}n.__name(Gt,"setBarData");function jt(){if(m.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return m.title=M.getDiagramTitle(),pe.build(J,m,tt,Wt)}n.__name(jt,"getDrawableElem");function Qt(){return tt}n.__name(Qt,"getChartThemeConfig");function Kt(){return J}n.__name(Kt,"getChartConfig");function Zt(){return m}n.__name(Zt,"getXYChartData");var me={parser:he,db:{getDrawableElem:jt,clear:n.__name(function(){M.clear(),Z=0,J=yt(),m=bt(),tt=_t(),pt=tt.plotColorPalette.split(",").map(t=>t.trim()),ot=!1,mt=!1},"clear"),setAccTitle:M.setAccTitle,getAccTitle:M.getAccTitle,setDiagramTitle:M.setDiagramTitle,getDiagramTitle:M.getDiagramTitle,getAccDescription:M.getAccDescription,setAccDescription:M.setAccDescription,setOrientation:Xt,setXAxisTitle:Yt,setXAxisRangeData:At,setXAxisBand:Nt,setYAxisTitle:qt,setYAxisRangeData:Ht,setLineData:$t,setBarData:Gt,setTmpSVGG:Ft,getChartThemeConfig:Qt,getChartConfig:Kt,getXYChartData:Zt},renderer:{draw:n.__name((t,e,s,i)=>{const a=i.db,c=a.getChartThemeConfig(),l=a.getChartConfig(),f=a.getXYChartData().plots[0].data.map(p=>p[1]);function C(p){return p==="top"?"text-before-edge":"middle"}n.__name(C,"getDominantBaseLine");function T(p){return p==="left"?"start":p==="right"?"end":"middle"}n.__name(T,"getTextAnchor");function v(p){return`translate(${p.x}, ${p.y}) rotate(${p.rotation||0})`}n.__name(v,"getTextTransformation"),It.log.debug(`Rendering xychart chart
`+t);const R=ae.selectSvgElement(e),_=R.append("g").attr("class","main"),V=_.append("rect").attr("width",l.width).attr("height",l.height).attr("class","background");M.configureSvgSize(R,l.height,l.width,!0),R.attr("viewBox",`0 0 ${l.width} ${l.height}`),V.attr("fill",c.backgroundColor),a.setTmpSVGG(R.append("g").attr("class","mermaid-tmp-group"));const P=a.getDrawableElem(),E={};function B(p){let D=_,h="";for(const[z]of p.entries()){let X=_;z>0&&E[h]&&(X=E[h]),h+=p[z],D=E[h],D||(D=E[h]=X.append("g").attr("class",p[z]))}return D}n.__name(B,"getGroup");for(const p of P){if(p.data.length===0)continue;const D=B(p.groupTexts);switch(p.type){case"rect":if(D.selectAll("rect").data(p.data).enter().append("rect").attr("x",h=>h.x).attr("y",h=>h.y).attr("width",h=>h.width).attr("height",h=>h.height).attr("fill",h=>h.fill).attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth),l.showDataLabel){const h=l.showDataLabelOutsideBar;if(l.chartOrientation==="horizontal"){let z=function(A,O){const{data:S,label:H}=A;return O*H.length*X<=S.width-Y};n.__name(z,"fitsHorizontally");const X=.7,Y=10,N=p.data.map((A,O)=>({data:A,label:f[O].toString()})).filter(A=>A.data.width>0&&A.data.height>0),w=N.map(A=>{const{data:O}=A;let S=O.height*.7;for(;!z(A,S)&&S>0;)S-=1;return S}),U=Math.floor(Math.min(...w)),y=n.__name(A=>h?A.data.x+A.data.width+Y:A.data.x+A.data.width-Y,"determineLabelXPosition");D.selectAll("text").data(N).enter().append("text").attr("x",y).attr("y",A=>A.data.y+A.data.height/2).attr("text-anchor",h?"start":"end").attr("dominant-baseline","middle").attr("fill",c.dataLabelColor).attr("font-size",`${U}px`).text(A=>A.label)}else{let z=function(y,A,O){const{data:S,label:H}=y,o=A*H.length*.7,u=S.x+S.width/2,b=u-o/2,g=u+o/2,x=b>=S.x&&g<=S.x+S.width,k=S.y+O+A<=S.y+S.height;return x&&k};n.__name(z,"fitsInBar");const X=10,Y=p.data.map((y,A)=>({data:y,label:f[A].toString()})).filter(y=>y.data.width>0&&y.data.height>0),N=Y.map(y=>{const{data:A,label:O}=y;let S=A.width/(O.length*.7);for(;!z(y,S,X)&&S>0;)S-=1;return S}),w=Math.floor(Math.min(...N)),U=n.__name(y=>h?y.data.y-X:y.data.y+X,"determineLabelYPosition");D.selectAll("text").data(Y).enter().append("text").attr("x",y=>y.data.x+y.data.width/2).attr("y",U).attr("text-anchor","middle").attr("dominant-baseline",h?"auto":"hanging").attr("fill",c.dataLabelColor).attr("font-size",`${w}px`).text(y=>y.label)}}break;case"text":D.selectAll("text").data(p.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",h=>h.fill).attr("font-size",h=>h.fontSize).attr("dominant-baseline",h=>C(h.verticalPos)).attr("text-anchor",h=>T(h.horizontalPos)).attr("transform",h=>v(h)).text(h=>h.text);break;case"path":D.selectAll("path").data(p.data).enter().append("path").attr("d",h=>h.path).attr("fill",h=>h.fill?h.fill:"none").attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break}}},"draw")}};exports.diagram=me;