UNPKG

ranui

Version:

A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.

86 lines (74 loc) 27.9 kB
const l=require("./chunk-Y2CYZVJY-DPaYLFFP.cjs"),L=require("./src-C9EhKhbk.cjs"),E=require("./chunk-WYO6CB5R-u4mJNOcO.cjs"),Ye=require("./channel-C9WSNwcS.cjs"),Le=require("./chunk-ICXQ74PX-BbT9JaEW.cjs");require("./chunk-HOUHSVGY-BGB3dOvI.cjs");require("./chunk-Q4XR5HBZ-aBnPq509.cjs");require("./chunk-7BUUIJ7U-DMv_UkjI.cjs");require("./chunk-OGEWGWER-DX8sW1dT.cjs");const Pe=require("./chunk-XXDRQBXY-C8VGLZmt.cjs"),qe=require("./chunk-VR4S4FIN-KiwnPF31.cjs");require("./chunk-C7G6YPKG-CKEeW9TM.cjs");require("./chunk-ZGVPDNZ5-Cw5_HJba.cjs");require("./chunk-52WLFC77-BChUrU24.cjs");const ve=require("./chunk-FWX5IMBZ-D11-gbhc.cjs");var ge=(function(){var t=l.__name(function(n,c,h,o){for(h=h||{},o=n.length;o--;h[n[o]]=c);return h},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],u=[1,10],a=[1,11],d=[1,12],_=[1,13],y=[1,23],f=[1,24],S=[1,25],W=[1,26],X=[1,27],O=[1,19],j=[1,28],M=[1,29],I=[1,20],N=[1,18],x=[1,21],B=[1,22],ne=[1,36],ae=[1,37],ce=[1,38],oe=[1,39],le=[1,40],F=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],A=[1,45],C=[1,46],Y=[1,55],P=[40,48,50,51,52,71,72],q=[1,66],z=[1,64],R=[1,61],G=[1,65],K=[1,67],Q=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],be=[66,67,68,69,70],me=[1,85],ke=[1,84],Ee=[1,82],Se=[1,83],Te=[6,10,42,47],w=[6,10,13,41,42,47,48,49],H=[1,93],J=[1,92],$=[1,91],Z=[19,58],Oe=[1,102],Ne=[1,101],he=[19,58,61,63],ue={trace:l.__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:l.__name(function(c,h,o,r,p,e,U){var s=e.length-1;switch(p){case 1:break;case 2:this.$=[];break;case 3:e[s-1].push(e[s]),this.$=e[s-1];break;case 4:case 5:this.$=e[s];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(e[s-4]),r.addEntity(e[s-2]),r.addRelationship(e[s-4],e[s],e[s-2],e[s-3]);break;case 9:r.addEntity(e[s-8]),r.addEntity(e[s-4]),r.addRelationship(e[s-8],e[s],e[s-4],e[s-5]),r.setClass([e[s-8]],e[s-6]),r.setClass([e[s-4]],e[s-2]);break;case 10:r.addEntity(e[s-6]),r.addEntity(e[s-2]),r.addRelationship(e[s-6],e[s],e[s-2],e[s-3]),r.setClass([e[s-6]],e[s-4]);break;case 11:r.addEntity(e[s-6]),r.addEntity(e[s-4]),r.addRelationship(e[s-6],e[s],e[s-4],e[s-5]),r.setClass([e[s-4]],e[s-2]);break;case 12:r.addEntity(e[s-3]),r.addAttributes(e[s-3],e[s-1]);break;case 13:r.addEntity(e[s-5]),r.addAttributes(e[s-5],e[s-1]),r.setClass([e[s-5]],e[s-3]);break;case 14:r.addEntity(e[s-2]);break;case 15:r.addEntity(e[s-4]),r.setClass([e[s-4]],e[s-2]);break;case 16:r.addEntity(e[s]);break;case 17:r.addEntity(e[s-2]),r.setClass([e[s-2]],e[s]);break;case 18:r.addEntity(e[s-6],e[s-4]),r.addAttributes(e[s-6],e[s-1]);break;case 19:r.addEntity(e[s-8],e[s-6]),r.addAttributes(e[s-8],e[s-1]),r.setClass([e[s-8]],e[s-3]);break;case 20:r.addEntity(e[s-5],e[s-3]);break;case 21:r.addEntity(e[s-7],e[s-5]),r.setClass([e[s-7]],e[s-2]);break;case 22:r.addEntity(e[s-3],e[s-1]);break;case 23:r.addEntity(e[s-5],e[s-3]),r.setClass([e[s-5]],e[s]);break;case 24:case 25:this.$=e[s].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=e[s].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=e[s-3],r.addClass(e[s-2],e[s-1]);break;case 37:case 38:case 59:case 68:this.$=[e[s]];break;case 39:case 40:this.$=e[s-2].concat([e[s]]);break;case 41:this.$=e[s-2],r.setClass(e[s-1],e[s]);break;case 42:this.$=e[s-3],r.addCssStyles(e[s-2],e[s-1]);break;case 43:this.$=[e[s]];break;case 44:e[s-2].push(e[s]),this.$=e[s-2];break;case 46:this.$=e[s-1]+e[s];break;case 54:case 80:case 81:this.$=e[s].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 82:this.$=e[s];break;case 60:e[s].push(e[s-1]),this.$=e[s];break;case 61:this.$={type:e[s-1],name:e[s]};break;case 62:this.$={type:e[s-2],name:e[s-1],keys:e[s]};break;case 63:this.$={type:e[s-2],name:e[s-1],comment:e[s]};break;case 64:this.$={type:e[s-3],name:e[s-2],keys:e[s-1],comment:e[s]};break;case 65:case 67:case 70:this.$=e[s];break;case 66:this.$=e[s-1]+e[s];break;case 69:e[s-2].push(e[s]),this.$=e[s-2];break;case 71:this.$=e[s].replace(/"/g,"");break;case 72:this.$={cardA:e[s],relType:e[s-1],cardB:e[s-2]};break;case 73:this.$=r.Cardinality.ZERO_OR_ONE;break;case 74:this.$=r.Cardinality.ZERO_OR_MORE;break;case 75:this.$=r.Cardinality.ONE_OR_MORE;break;case 76:this.$=r.Cardinality.ONLY_ONE;break;case 77:this.$=r.Cardinality.MD_PARENT;break;case 78:this.$=r.Identification.NON_IDENTIFYING;break;case 79:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:u,24:a,26:d,28:_,29:14,30:15,31:16,32:17,33:y,34:f,35:S,36:W,37:X,40:O,43:j,44:M,48:I,50:N,51:x,52:B},t(i,[2,7],{1:[2,1]}),t(i,[2,3]),{9:30,11:9,22:u,24:a,26:d,28:_,29:14,30:15,31:16,32:17,33:y,34:f,35:S,36:W,37:X,40:O,43:j,44:M,48:I,50:N,51:x,52:B},t(i,[2,5]),t(i,[2,6]),t(i,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:ne,67:ae,68:ce,69:oe,70:le}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(i,[2,27]),t(i,[2,28]),t(i,[2,29]),t(i,[2,30]),t(i,[2,31]),t(F,[2,54]),t(F,[2,55]),t(F,[2,56]),t(F,[2,57]),t(F,[2,58]),t(i,[2,32]),t(i,[2,33]),t(i,[2,34]),t(i,[2,35]),{16:44,40:A,41:C},{16:47,40:A,41:C},{16:48,40:A,41:C},t(i,[2,4]),{11:49,40:O,48:I,50:N,51:x,52:B},{16:50,40:A,41:C},{18:51,19:[1,52],53:53,54:54,58:Y},{11:56,40:O,48:I,50:N,51:x,52:B},{65:57,71:[1,58],72:[1,59]},t(P,[2,73]),t(P,[2,74]),t(P,[2,75]),t(P,[2,76]),t(P,[2,77]),t(i,[2,24]),t(i,[2,25]),t(i,[2,26]),{13:q,38:60,41:z,42:R,45:62,46:63,48:G,49:K},t(Q,[2,37]),t(Q,[2,38]),{16:68,40:A,41:C,42:R},{13:q,38:69,41:z,42:R,45:62,46:63,48:G,49:K},{13:[1,70],15:[1,71]},t(i,[2,17],{64:35,12:72,17:[1,73],42:R,66:ne,67:ae,68:ce,69:oe,70:le}),{19:[1,74]},t(i,[2,14]),{18:75,19:[2,59],53:53,54:54,58:Y},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:ne,67:ae,68:ce,69:oe,70:le},t(be,[2,78]),t(be,[2,79]),{6:me,10:ke,39:81,42:Ee,47:Se},{40:[1,86],41:[1,87]},t(Te,[2,43],{46:88,13:q,41:z,48:G,49:K}),t(w,[2,45]),t(w,[2,50]),t(w,[2,51]),t(w,[2,52]),t(w,[2,53]),t(i,[2,41],{42:R}),{6:me,10:ke,39:89,42:Ee,47:Se},{14:90,40:H,50:J,73:$},{16:94,40:A,41:C},{11:95,40:O,48:I,50:N,51:x,52:B},{18:96,19:[1,97],53:53,54:54,58:Y},t(i,[2,12]),{19:[2,60]},t(Z,[2,61],{56:98,57:99,60:100,62:Oe,63:Ne}),t([19,58,62,63],[2,67]),{58:[2,66]},t(i,[2,22],{15:[1,104],17:[1,103]}),t([40,48,50,51,52],[2,72]),t(i,[2,36]),{13:q,41:z,45:105,46:63,48:G,49:K},t(i,[2,47]),t(i,[2,48]),t(i,[2,49]),t(Q,[2,39]),t(Q,[2,40]),t(w,[2,46]),t(i,[2,42]),t(i,[2,8]),t(i,[2,80]),t(i,[2,81]),t(i,[2,82]),{13:[1,106],42:R},{13:[1,108],15:[1,107]},{19:[1,109]},t(i,[2,15]),t(Z,[2,62],{57:110,61:[1,111],63:Ne}),t(Z,[2,63]),t(he,[2,68]),t(Z,[2,71]),t(he,[2,70]),{18:112,19:[1,113],53:53,54:54,58:Y},{16:114,40:A,41:C},t(Te,[2,44],{46:88,13:q,41:z,48:G,49:K}),{14:115,40:H,50:J,73:$},{16:116,40:A,41:C},{14:117,40:H,50:J,73:$},t(i,[2,13]),t(Z,[2,64]),{60:118,62:Oe},{19:[1,119]},t(i,[2,20]),t(i,[2,23],{17:[1,120],42:R}),t(i,[2,11]),{13:[1,121],42:R},t(i,[2,10]),t(he,[2,69]),t(i,[2,18]),{18:122,19:[1,123],53:53,54:54,58:Y},{14:124,40:H,50:J,73:$},{19:[1,125]},t(i,[2,21]),t(i,[2,9]),t(i,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:l.__name(function(c,h){if(h.recoverable)this.trace(c);else{var o=new Error(c);throw o.hash=h,o}},"parseError"),parse:l.__name(function(c){var h=this,o=[0],r=[],p=[null],e=[],U=this.table,s="",te=0,Ae=0,Ce=0,Ve=2,Re=1,Me=e.slice.call(arguments,1),g=Object.create(this.lexer),v={yy:{}};for(var de in this.yy)Object.prototype.hasOwnProperty.call(this.yy,de)&&(v.yy[de]=this.yy[de]);g.setInput(c,v.yy),v.yy.lexer=g,v.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var _e=g.yylloc;e.push(_e);var Be=g.options&&g.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(k){o.length=o.length-2*k,p.length=p.length-k,e.length=e.length-k}l.__name(Fe,"popStack");function Ie(){var k=r.pop()||g.lex()||Re;return typeof k!="number"&&(k instanceof Array&&(r=k,k=r.pop()),k=h.symbols_[k]||k),k}l.__name(Ie,"lex");for(var b,fe,D,m,pe,V={},se,T,xe,ie;;){if(D=o[o.length-1],this.defaultActions[D]?m=this.defaultActions[D]:((b===null||typeof b>"u")&&(b=Ie()),m=U[D]&&U[D][b]),typeof m>"u"||!m.length||!m[0]){var ye="";ie=[];for(se in U[D])this.terminals_[se]&&se>Ve&&ie.push("'"+this.terminals_[se]+"'");g.showPosition?ye="Parse error on line "+(te+1)+`: `+g.showPosition()+` Expecting `+ie.join(", ")+", got '"+(this.terminals_[b]||b)+"'":ye="Parse error on line "+(te+1)+": Unexpected "+(b==Re?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(ye,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:_e,expected:ie})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+D+", token: "+b);switch(m[0]){case 1:o.push(b),p.push(g.yytext),e.push(g.yylloc),o.push(m[1]),b=null,fe?(b=fe,fe=null):(Ae=g.yyleng,s=g.yytext,te=g.yylineno,_e=g.yylloc,Ce>0&&Ce--);break;case 2:if(T=this.productions_[m[1]][1],V.$=p[p.length-T],V._$={first_line:e[e.length-(T||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(T||1)].first_column,last_column:e[e.length-1].last_column},Be&&(V._$.range=[e[e.length-(T||1)].range[0],e[e.length-1].range[1]]),pe=this.performAction.apply(V,[s,Ae,te,v.yy,m[1],p,e].concat(Me)),typeof pe<"u")return pe;T&&(o=o.slice(0,-1*T*2),p=p.slice(0,-1*T),e=e.slice(0,-1*T)),o.push(this.productions_[m[1]][0]),p.push(V.$),e.push(V._$),xe=U[o[o.length-2]][o[o.length-1]],o.push(xe);break;case 3:return!0}}return!0},"parse")};ue.lexer=(function(){return{EOF:1,parseError:l.__name(function(c,h){if(this.yy.parser)this.yy.parser.parseError(c,h);else throw new Error(c)},"parseError"),setInput:l.__name(function(n,c){return this.yy=c||this.yy||{},this._input=n,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:l.__name(function(){var n=this._input[0];return this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n,n.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),n},"input"),unput:l.__name(function(n){var c=n.length,h=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===o.length?this.yylloc.first_column:0)+o[o.length-h.length].length-h[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:l.__name(function(){return this._more=!0,this},"more"),reject:l.__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:l.__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:l.__name(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l.__name(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l.__name(function(){var n=this.pastInput(),c=new Array(n.length+1).join("-");return n+this.upcomingInput()+` `+c+"^"},"showPosition"),test_match:l.__name(function(n,c){var h,o,r;if(this.options.backtrack_lexer&&(r={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&&(r.yylloc.range=this.yylloc.range.slice(0))),o=n[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,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(n[0].length),this.matched+=n[0],h=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var p in r)this[p]=r[p];return!1}return!1},"test_match"),next:l.__name(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,c,h,o;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),p=0;p<r.length;p++)if(h=this._input.match(this.rules[r[p]]),h&&(!c||h[0].length>c[0].length)){if(c=h,o=p,this.options.backtrack_lexer){if(n=this.test_match(h,r[p]),n!==!1)return n;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(n=this.test_match(c,r[o]),n!==!1?n:!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:l.__name(function(){var c=this.next();return c||this.lex()},"lex"),begin:l.__name(function(c){this.conditionStack.push(c)},"begin"),popState:l.__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:l.__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:l.__name(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:l.__name(function(c){this.begin(c)},"pushState"),stateStackSize:l.__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:l.__name(function(c,h,o,r){switch(o){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 73;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 62;case 25:return 58;case 26:return 58;case 27:this.begin("block_bq");break;case 28:return 58;case 29:this.popState();break;case 30:return 63;case 31:break;case 32:return this.popState(),19;case 33:return h.yytext[0];case 34:return 20;case 35:return 21;case 36:return this.begin("style"),44;case 37:return this.popState(),10;case 38:break;case 39:return 13;case 40:return 42;case 41:return 49;case 42:return this.begin("style"),37;case 43:return 43;case 44:return 66;case 45:return 68;case 46:return 68;case 47:return 68;case 48:return 66;case 49:return 66;case 50:return 67;case 51:return 67;case 52:return 67;case 53:return 67;case 54:return 67;case 55:return 68;case 56:return 67;case 57:return 68;case 58:return 69;case 59:return 69;case 60:return 51;case 61:return 69;case 62:return 69;case 63:return 69;case 64:return 52;case 65:return 48;case 66:return 69;case 67:return 66;case 68:return 67;case 69:return 68;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 72;case 74:return 71;case 75:return 71;case 76:return 71;case 77:return 41;case 78:return 47;case 79:return 40;case 80:return h.yytext[0];case 81:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[37,38,39,40,41,77,78],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[28,29],inclusive:!1},block:{rules:[23,24,25,26,27,30,31,32,33],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,34,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,79,80,81],inclusive:!0}}}})();function ee(){this.yy={}}return l.__name(ee,"Parser"),ee.prototype=ue,ue.Parser=ee,new ee})();ge.parser=ge;var ze=ge,Ge=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=E.setAccTitle,this.getAccTitle=E.getAccTitle,this.setAccDescription=E.setAccDescription,this.getAccDescription=E.getAccDescription,this.setDiagramTitle=E.setDiagramTitle,this.getDiagramTitle=E.getDiagramTitle,this.getConfig=l.__name(()=>E.getConfig2().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{l.__name(this,"ErDB")}addEntity(t,i=""){return this.entities.has(t)?!this.entities.get(t)?.alias&&i&&(this.entities.get(t).alias=i,L.log.info(`Add alias '${i}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:i,shape:"erBox",look:E.getConfig2().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),L.log.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,i){const u=this.addEntity(t);let a;for(a=i.length-1;a>=0;a--)i[a].keys||(i[a].keys=[]),i[a].comment||(i[a].comment=""),u.attributes.push(i[a]),L.log.debug("Added attribute ",i[a].name)}addRelationship(t,i,u,a){const d=this.entities.get(t),_=this.entities.get(u);if(!d||!_)return;const y={entityA:d.id,roleA:i,entityB:_.id,relSpec:a};this.relationships.push(y),L.log.debug("Added new relationship :",y)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let i=[];for(const u of t){const a=this.classes.get(u);a?.styles&&(i=[...i,...a.styles??[]].map(d=>d.trim())),a?.textStyles&&(i=[...i,...a.textStyles??[]].map(d=>d.trim()))}return i}addCssStyles(t,i){for(const u of t){const a=this.entities.get(u);if(!i||!a)return;for(const d of i)a.cssStyles.push(d)}}addClass(t,i){t.forEach(u=>{let a=this.classes.get(u);a===void 0&&(a={id:u,styles:[],textStyles:[]},this.classes.set(u,a)),i&&i.forEach(function(d){if(/color/.exec(d)){const _=d.replace("fill","bgFill");a.textStyles.push(_)}a.styles.push(d)})})}setClass(t,i){for(const u of t){const a=this.entities.get(u);if(a)for(const d of i)a.cssClasses+=" "+d}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],E.clear()}getData(){const t=[],i=[],u=E.getConfig2();let a=0;for(const _ of this.entities.keys()){const y=this.entities.get(_);y&&(y.cssCompiledStyles=this.getCompiledStyles(y.cssClasses.split(" ")),y.colorIndex=a++,t.push(y))}let d=0;for(const _ of this.relationships){const y={id:Le.getEdgeId(_.entityA,_.entityB,{prefix:"id",counter:d++}),type:"normal",curve:"basis",start:_.entityA,end:_.entityB,label:_.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:_.relSpec.cardB.toLowerCase(),arrowTypeEnd:_.relSpec.cardA.toLowerCase(),pattern:_.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:u.look,labelType:"markdown"};i.push(y)}return{nodes:t,edges:i,other:{},config:u,direction:"TB"}}},we={};l.__export(we,{draw:()=>Ke});var Ke=l.__name(async function(t,i,u,a){L.log.info("REF0:"),L.log.info("Drawing er diagram (unified)",i);const{securityLevel:d,er:_,layout:y}=E.getConfig2(),f=a.db.getData(),S=Pe.getDiagramElement(i,d);f.type=a.type,f.layoutAlgorithm=ve.getRegisteredLayoutAlgorithm(y),f.config.flowchart.nodeSpacing=_?.nodeSpacing||140,f.config.flowchart.rankSpacing=_?.rankSpacing||80,f.direction=a.db.getDirection();const{config:W}=f,{look:X}=W;X==="neo"?f.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:f.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],f.diagramId=i,await ve.render(f,S),f.layoutAlgorithm==="elk"&&S.select(".edges").lower();const O=S.selectAll('[id*="-background"]');Array.from(O).length>0&&O.each(function(){const M=L.select_default(this),I=M.attr("id").replace("-background",""),N=S.select(`#${CSS.escape(I)}`);if(!N.empty()){const x=N.attr("transform");M.attr("transform",x)}});const j=8;Le.utils_default.insertTitle(S,"erDiagramTitleText",_?.titleTopMargin??25,a.db.getDiagramTitle()),qe.setupViewPortForSVG(S,j,"erDiagram",_?.useMaxWidth??!0)},"draw"),De=l.__name((t,i)=>{const u=Ye.channel,a=u(t,"r"),d=u(t,"g"),_=u(t,"b");return E.rgba(a,d,_,i)},"fade"),re=new Set(["redux-color","redux-dark-color"]),Ze=l.__name(t=>{const{theme:i,look:u,bkgColorArray:a,borderColorArray:d}=t;if(!re.has(i))return"";const _=a?.length>0;let y="";for(let f=0;f<t.THEME_COLOR_LIMIT;f++)y+=` [data-look="${u}"][data-color-id="color-${f}"].node path { stroke: ${d[f]}; ${_?`fill: ${a[f]};`:""} } [data-look="${u}"][data-color-id="color-${f}"].node rect { stroke: ${d[f]}; ${_?`fill: ${a[f]};`:""} } `;return y},"genColor"),Ue={parser:ze,get db(){return new Ge},renderer:we,styles:l.__name(t=>{const{look:i,theme:u,erEdgeLabelBackground:a,strokeWidth:d}=t;return` ${Ze(t)} .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; } .relationshipLabelBox { fill: ${t.tertiaryColor}; opacity: 0.7; background-color: ${t.tertiaryColor}; rect { opacity: 0.5; } } .labelBkg { background-color: ${re.has(u)&&a?a:De(t.tertiaryColor,.5)}; } .edgeLabel { background-color: ${re.has(u)&&a?a:t.edgeLabelBackground}; } .edgeLabel .label rect { fill: ${re.has(u)&&a?a:t.edgeLabelBackground}; } .edgeLabel .label text { fill: ${t.textColor}; } .edgeLabel .label { fill: ${t.nodeBorder}; font-size: 14px; } .label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } .edge-pattern-dashed { stroke-dasharray: 8,8; } .node rect, .node circle, .node ellipse, .node polygon { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${i==="neo"?d:"1px"}; } .relationshipLine { stroke: ${t.lineColor}; stroke-width: ${i==="neo"?d:"1px"}; fill: none; } .marker { fill: none !important; stroke: ${t.lineColor} !important; stroke-width: 1; } [data-look=neo].labelBkg { background-color: ${De(t.tertiaryColor,.5)}; } `},"getStyles")};exports.diagram=Ue;