{"version":3,"file":"545-a72eac494ce65a7ee317.js","mappings":"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","sources":["webpack:///./node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-6QU3TZC5.mjs"],"sourcesContent":["import {\n computeDimensionOfText\n} from \"./chunk-6JOS74DS.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-7DKRZKHE.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-EJ4ZWXGL.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n log,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/diagrams/xychart/parser/xychart.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 10, 12, 14, 16, 18, 19, 21, 23], $V1 = [2, 6], $V2 = [1, 3], $V3 = [1, 5], $V4 = [1, 6], $V5 = [1, 7], $V6 = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], $V7 = [1, 25], $V8 = [1, 26], $V9 = [1, 28], $Va = [1, 29], $Vb = [1, 30], $Vc = [1, 31], $Vd = [1, 32], $Ve = [1, 33], $Vf = [1, 34], $Vg = [1, 35], $Vh = [1, 36], $Vi = [1, 37], $Vj = [1, 43], $Vk = [1, 42], $Vl = [1, 47], $Vm = [1, 50], $Vn = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], $Vo = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36], $Vp = [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], $Vq = [1, 64];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n 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 },\n 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\" },\n 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]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 5:\n yy.setOrientation($$[$0]);\n break;\n case 9:\n yy.setDiagramTitle($$[$0].text.trim());\n break;\n case 12:\n yy.setLineData({ text: \"\", type: \"text\" }, $$[$0]);\n break;\n case 13:\n yy.setLineData($$[$0 - 1], $$[$0]);\n break;\n case 14:\n yy.setBarData({ text: \"\", type: \"text\" }, $$[$0]);\n break;\n case 15:\n yy.setBarData($$[$0 - 1], $$[$0]);\n break;\n case 16:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 17:\n case 18:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 19:\n this.$ = $$[$0 - 1];\n break;\n case 20:\n this.$ = [Number($$[$0 - 2]), ...$$[$0]];\n break;\n case 21:\n this.$ = [Number($$[$0])];\n break;\n case 22:\n yy.setXAxisTitle($$[$0]);\n break;\n case 23:\n yy.setXAxisTitle($$[$0 - 1]);\n break;\n case 24:\n yy.setXAxisTitle({ type: \"text\", text: \"\" });\n break;\n case 25:\n yy.setXAxisBand($$[$0]);\n break;\n case 26:\n yy.setXAxisRangeData(Number($$[$0 - 2]), Number($$[$0]));\n break;\n case 27:\n this.$ = $$[$0 - 1];\n break;\n case 28:\n this.$ = [$$[$0 - 2], ...$$[$0]];\n break;\n case 29:\n this.$ = [$$[$0]];\n break;\n case 30:\n yy.setYAxisTitle($$[$0]);\n break;\n case 31:\n yy.setYAxisTitle($$[$0 - 1]);\n break;\n case 32:\n yy.setYAxisTitle({ type: \"text\", text: \"\" });\n break;\n case 33:\n yy.setYAxisRangeData(Number($$[$0 - 2]), Number($$[$0]));\n break;\n case 37:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 38:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 39:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 40:\n this.$ = $$[$0];\n break;\n case 41:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [o($V0, $V1, { 3: 1, 4: 2, 7: 4, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), { 1: [3] }, o($V0, $V1, { 4: 2, 7: 4, 3: 8, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), o($V0, $V1, { 4: 2, 7: 4, 6: 9, 3: 10, 5: $V2, 8: [1, 11], 34: $V3, 35: $V4, 36: $V5 }), { 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] }, o($V6, [2, 34]), o($V6, [2, 35]), o($V6, [2, 36]), { 1: [2, 1] }, o($V0, $V1, { 4: 2, 7: 4, 3: 21, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), { 1: [2, 3] }, o($V6, [2, 5]), o($V0, [2, 7], { 4: 22, 34: $V3, 35: $V4, 36: $V5 }), { 11: 23, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 39, 13: 38, 24: $Vj, 27: $Vk, 29: 40, 30: 41, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 45, 15: 44, 27: $Vl, 33: 46, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 49, 17: 48, 24: $Vm, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 52, 17: 51, 24: $Vm, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 20: [1, 53] }, { 22: [1, 54] }, o($Vn, [2, 18]), { 1: [2, 2] }, o($Vn, [2, 8]), o($Vn, [2, 9]), o($Vo, [2, 37], { 40: 55, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }), o($Vo, [2, 38]), o($Vo, [2, 39]), o($Vp, [2, 40]), o($Vp, [2, 42]), o($Vp, [2, 43]), o($Vp, [2, 44]), o($Vp, [2, 45]), o($Vp, [2, 46]), o($Vp, [2, 47]), o($Vp, [2, 48]), o($Vp, [2, 49]), o($Vp, [2, 50]), o($Vp, [2, 51]), o($Vn, [2, 10]), o($Vn, [2, 22], { 30: 41, 29: 56, 24: $Vj, 27: $Vk }), o($Vn, [2, 24]), o($Vn, [2, 25]), { 31: [1, 57] }, { 11: 59, 32: 58, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, o($Vn, [2, 11]), o($Vn, [2, 30], { 33: 60, 27: $Vl }), o($Vn, [2, 32]), { 31: [1, 61] }, o($Vn, [2, 12]), { 17: 62, 24: $Vm }, { 25: 63, 27: $Vq }, o($Vn, [2, 14]), { 17: 65, 24: $Vm }, o($Vn, [2, 16]), o($Vn, [2, 17]), o($Vp, [2, 41]), o($Vn, [2, 23]), { 27: [1, 66] }, { 26: [1, 67] }, { 26: [2, 29], 28: [1, 68] }, o($Vn, [2, 31]), { 27: [1, 69] }, o($Vn, [2, 13]), { 26: [1, 70] }, { 26: [2, 21], 28: [1, 71] }, o($Vn, [2, 15]), o($Vn, [2, 26]), o($Vn, [2, 27]), { 11: 59, 32: 72, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, o($Vn, [2, 33]), o($Vn, [2, 19]), { 25: 73, 27: $Vq }, { 26: [2, 28] }, { 26: [2, 20] }],\n defaultActions: { 8: [2, 1], 10: [2, 3], 21: [2, 2], 72: [2, 28], 73: [2, 20] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n this.popState();\n return 34;\n break;\n case 3:\n this.popState();\n return 34;\n break;\n case 4:\n return 34;\n break;\n case 5:\n break;\n case 6:\n return 10;\n break;\n case 7:\n this.pushState(\"acc_title\");\n return 19;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.pushState(\"acc_descr\");\n return 21;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.pushState(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 5;\n break;\n case 15:\n return 8;\n break;\n case 16:\n this.pushState(\"axis_data\");\n return \"X_AXIS\";\n break;\n case 17:\n this.pushState(\"axis_data\");\n return \"Y_AXIS\";\n break;\n case 18:\n this.pushState(\"axis_band_data\");\n return 24;\n break;\n case 19:\n return 31;\n break;\n case 20:\n this.pushState(\"data\");\n return 16;\n break;\n case 21:\n this.pushState(\"data\");\n return 18;\n break;\n case 22:\n this.pushState(\"data_inner\");\n return 24;\n break;\n case 23:\n return 27;\n break;\n case 24:\n this.popState();\n return 26;\n break;\n case 25:\n this.popState();\n break;\n case 26:\n this.pushState(\"string\");\n break;\n case 27:\n this.popState();\n break;\n case 28:\n return \"STR\";\n break;\n case 29:\n return 24;\n break;\n case 30:\n return 26;\n break;\n case 31:\n return 43;\n break;\n case 32:\n return \"COLON\";\n break;\n case 33:\n return 44;\n break;\n case 34:\n return 28;\n break;\n case 35:\n return 45;\n break;\n case 36:\n return 46;\n break;\n case 37:\n return 48;\n break;\n case 38:\n return 50;\n break;\n case 39:\n return 47;\n break;\n case 40:\n return 41;\n break;\n case 41:\n return 49;\n break;\n case 42:\n return 42;\n break;\n case 43:\n break;\n case 44:\n return 35;\n break;\n case 45:\n return 36;\n break;\n }\n }, \"anonymous\"),\n 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, /^(?:(?:vertical|horizontal))/i, /^(?:x-axis\\b)/i, /^(?:y-axis\\b)/i, /^(?:\\[)/i, /^(?:-->)/i, /^(?:line\\b)/i, /^(?:bar\\b)/i, /^(?:\\[)/i, /^(?:[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+))/i, /^(?:\\])/i, /^(?:(?:`\\) \\{ this\\.pushState\\(md_string\\); \\}\\n\\(\\?:\\(\\?!`\"\\)\\.\\)\\+ \\{ return MD_STR; \\}\\n\\(\\?:`))/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:\\[)/i, /^(?:\\])/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:\\*)/i, /^(?:#)/i, /^(?:[\\_])/i, /^(?:\\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\\s+)/i, /^(?:;)/i, /^(?:$)/i],\n conditions: { \"data_inner\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"data\": { \"rules\": [0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"axis_band_data\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"axis_data\": { \"rules\": [0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"title\": { \"rules\": [], \"inclusive\": false }, \"md_string\": { \"rules\": [], \"inclusive\": false }, \"string\": { \"rules\": [27, 28], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar xychart_default = parser;\n\n// src/diagrams/xychart/chartBuilder/interfaces.ts\nfunction isBarPlot(data) {\n return data.type === \"bar\";\n}\n__name(isBarPlot, \"isBarPlot\");\nfunction isBandAxisData(data) {\n return data.type === \"band\";\n}\n__name(isBandAxisData, \"isBandAxisData\");\nfunction isLinearAxisData(data) {\n return data.type === \"linear\";\n}\n__name(isLinearAxisData, \"isLinearAxisData\");\n\n// src/diagrams/xychart/chartBuilder/textDimensionCalculator.ts\nvar TextDimensionCalculatorWithFont = class {\n constructor(parentGroup) {\n this.parentGroup = parentGroup;\n }\n static {\n __name(this, \"TextDimensionCalculatorWithFont\");\n }\n getMaxDimension(texts, fontSize) {\n if (!this.parentGroup) {\n return {\n width: texts.reduce((acc, cur) => Math.max(cur.length, acc), 0) * fontSize,\n height: fontSize\n };\n }\n const dimension = {\n width: 0,\n height: 0\n };\n const elem = this.parentGroup.append(\"g\").attr(\"visibility\", \"hidden\").attr(\"font-size\", fontSize);\n for (const t of texts) {\n const bbox = computeDimensionOfText(elem, 1, t);\n const width = bbox ? bbox.width : t.length * fontSize;\n const height = bbox ? bbox.height : fontSize;\n dimension.width = Math.max(dimension.width, width);\n dimension.height = Math.max(dimension.height, height);\n }\n elem.remove();\n return dimension;\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/bandAxis.ts\nimport { scaleBand } from \"d3\";\n\n// src/diagrams/xychart/chartBuilder/components/axis/baseAxis.ts\nvar BAR_WIDTH_TO_TICK_WIDTH_RATIO = 0.7;\nvar MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL = 0.2;\nvar BaseAxis = class {\n constructor(axisConfig, title, textDimensionCalculator, axisThemeConfig) {\n this.axisConfig = axisConfig;\n this.title = title;\n this.textDimensionCalculator = textDimensionCalculator;\n this.axisThemeConfig = axisThemeConfig;\n this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };\n this.axisPosition = \"left\";\n this.showTitle = false;\n this.showLabel = false;\n this.showTick = false;\n this.showAxisLine = false;\n this.outerPadding = 0;\n this.titleTextHeight = 0;\n this.labelTextHeight = 0;\n this.range = [0, 10];\n this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };\n this.axisPosition = \"left\";\n }\n static {\n __name(this, \"BaseAxis\");\n }\n setRange(range) {\n this.range = range;\n if (this.axisPosition === \"left\" || this.axisPosition === \"right\") {\n this.boundingRect.height = range[1] - range[0];\n } else {\n this.boundingRect.width = range[1] - range[0];\n }\n this.recalculateScale();\n }\n getRange() {\n return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding];\n }\n setAxisPosition(axisPosition) {\n this.axisPosition = axisPosition;\n this.setRange(this.range);\n }\n getTickDistance() {\n const range = this.getRange();\n return Math.abs(range[0] - range[1]) / this.getTickValues().length;\n }\n getAxisOuterPadding() {\n return this.outerPadding;\n }\n getLabelDimension() {\n return this.textDimensionCalculator.getMaxDimension(\n this.getTickValues().map((tick) => tick.toString()),\n this.axisConfig.labelFontSize\n );\n }\n recalculateOuterPaddingToDrawBar() {\n if (BAR_WIDTH_TO_TICK_WIDTH_RATIO * this.getTickDistance() > this.outerPadding * 2) {\n this.outerPadding = Math.floor(BAR_WIDTH_TO_TICK_WIDTH_RATIO * this.getTickDistance() / 2);\n }\n this.recalculateScale();\n }\n calculateSpaceIfDrawnHorizontally(availableSpace) {\n let availableHeight = availableSpace.height;\n if (this.axisConfig.showAxisLine && availableHeight > this.axisConfig.axisLineWidth) {\n availableHeight -= this.axisConfig.axisLineWidth;\n this.showAxisLine = true;\n }\n if (this.axisConfig.showLabel) {\n const spaceRequired = this.getLabelDimension();\n const maxPadding = MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL * availableSpace.width;\n this.outerPadding = Math.min(spaceRequired.width / 2, maxPadding);\n const heightRequired = spaceRequired.height + this.axisConfig.labelPadding * 2;\n this.labelTextHeight = spaceRequired.height;\n if (heightRequired <= availableHeight) {\n availableHeight -= heightRequired;\n this.showLabel = true;\n }\n }\n if (this.axisConfig.showTick && availableHeight >= this.axisConfig.tickLength) {\n this.showTick = true;\n availableHeight -= this.axisConfig.tickLength;\n }\n if (this.axisConfig.showTitle && this.title) {\n const spaceRequired = this.textDimensionCalculator.getMaxDimension(\n [this.title],\n this.axisConfig.titleFontSize\n );\n const heightRequired = spaceRequired.height + this.axisConfig.titlePadding * 2;\n this.titleTextHeight = spaceRequired.height;\n if (heightRequired <= availableHeight) {\n availableHeight -= heightRequired;\n this.showTitle = true;\n }\n }\n this.boundingRect.width = availableSpace.width;\n this.boundingRect.height = availableSpace.height - availableHeight;\n }\n calculateSpaceIfDrawnVertical(availableSpace) {\n let availableWidth = availableSpace.width;\n if (this.axisConfig.showAxisLine && availableWidth > this.axisConfig.axisLineWidth) {\n availableWidth -= this.axisConfig.axisLineWidth;\n this.showAxisLine = true;\n }\n if (this.axisConfig.showLabel) {\n const spaceRequired = this.getLabelDimension();\n const maxPadding = MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL * availableSpace.height;\n this.outerPadding = Math.min(spaceRequired.height / 2, maxPadding);\n const widthRequired = spaceRequired.width + this.axisConfig.labelPadding * 2;\n if (widthRequired <= availableWidth) {\n availableWidth -= widthRequired;\n this.showLabel = true;\n }\n }\n if (this.axisConfig.showTick && availableWidth >= this.axisConfig.tickLength) {\n this.showTick = true;\n availableWidth -= this.axisConfig.tickLength;\n }\n if (this.axisConfig.showTitle && this.title) {\n const spaceRequired = this.textDimensionCalculator.getMaxDimension(\n [this.title],\n this.axisConfig.titleFontSize\n );\n const widthRequired = spaceRequired.height + this.axisConfig.titlePadding * 2;\n this.titleTextHeight = spaceRequired.height;\n if (widthRequired <= availableWidth) {\n availableWidth -= widthRequired;\n this.showTitle = true;\n }\n }\n this.boundingRect.width = availableSpace.width - availableWidth;\n this.boundingRect.height = availableSpace.height;\n }\n calculateSpace(availableSpace) {\n if (this.axisPosition === \"left\" || this.axisPosition === \"right\") {\n this.calculateSpaceIfDrawnVertical(availableSpace);\n } else {\n this.calculateSpaceIfDrawnHorizontally(availableSpace);\n }\n this.recalculateScale();\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n getDrawableElementsForLeftAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const x = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"left-axis\", \"axisl-line\"],\n data: [\n {\n path: `M ${x},${this.boundingRect.y} L ${x},${this.boundingRect.y + this.boundingRect.height} `,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"left-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n 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),\n y: this.getScaleValue(tick),\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"middle\",\n horizontalPos: \"right\"\n }))\n });\n }\n if (this.showTick) {\n const x = this.boundingRect.x + this.boundingRect.width - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"left-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${x},${this.getScaleValue(tick)} L ${x - this.axisConfig.tickLength},${this.getScaleValue(tick)}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"left-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.boundingRect.x + this.axisConfig.titlePadding,\n y: this.boundingRect.y + this.boundingRect.height / 2,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 270,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElementsForBottomAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const y = this.boundingRect.y + this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"bottom-axis\", \"axis-line\"],\n data: [\n {\n path: `M ${this.boundingRect.x},${y} L ${this.boundingRect.x + this.boundingRect.width},${y}`,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"bottom-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.getScaleValue(tick),\n y: this.boundingRect.y + this.axisConfig.labelPadding + (this.showTick ? this.axisConfig.tickLength : 0) + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }))\n });\n }\n if (this.showTick) {\n const y = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"bottom-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${this.getScaleValue(tick)},${y} L ${this.getScaleValue(tick)},${y + this.axisConfig.tickLength}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"bottom-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.range[0] + (this.range[1] - this.range[0]) / 2,\n y: this.boundingRect.y + this.boundingRect.height - this.axisConfig.titlePadding - this.titleTextHeight,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElementsForTopAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const y = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"top-axis\", \"axis-line\"],\n data: [\n {\n path: `M ${this.boundingRect.x},${y} L ${this.boundingRect.x + this.boundingRect.width},${y}`,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"top-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.getScaleValue(tick),\n y: this.boundingRect.y + (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) + this.axisConfig.labelPadding,\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }))\n });\n }\n if (this.showTick) {\n const y = this.boundingRect.y;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"top-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${this.getScaleValue(tick)},${y + this.boundingRect.height - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)} L ${this.getScaleValue(tick)},${y + this.boundingRect.height - this.axisConfig.tickLength - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"top-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.boundingRect.x + this.boundingRect.width / 2,\n y: this.boundingRect.y + this.axisConfig.titlePadding,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElements() {\n if (this.axisPosition === \"left\") {\n return this.getDrawableElementsForLeftAxis();\n }\n if (this.axisPosition === \"right\") {\n throw Error(\"Drawing of right axis is not implemented\");\n }\n if (this.axisPosition === \"bottom\") {\n return this.getDrawableElementsForBottomAxis();\n }\n if (this.axisPosition === \"top\") {\n return this.getDrawableElementsForTopAxis();\n }\n return [];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/bandAxis.ts\nvar BandAxis = class extends BaseAxis {\n static {\n __name(this, \"BandAxis\");\n }\n constructor(axisConfig, axisThemeConfig, categories, title, textDimensionCalculator) {\n super(axisConfig, title, textDimensionCalculator, axisThemeConfig);\n this.categories = categories;\n this.scale = scaleBand().domain(this.categories).range(this.getRange());\n }\n setRange(range) {\n super.setRange(range);\n }\n recalculateScale() {\n this.scale = scaleBand().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(0.5);\n log.trace(\"BandAxis axis final categories, range: \", this.categories, this.getRange());\n }\n getTickValues() {\n return this.categories;\n }\n getScaleValue(value) {\n return this.scale(value) ?? this.getRange()[0];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/linearAxis.ts\nimport { scaleLinear } from \"d3\";\nvar LinearAxis = class extends BaseAxis {\n static {\n __name(this, \"LinearAxis\");\n }\n constructor(axisConfig, axisThemeConfig, domain, title, textDimensionCalculator) {\n super(axisConfig, title, textDimensionCalculator, axisThemeConfig);\n this.domain = domain;\n this.scale = scaleLinear().domain(this.domain).range(this.getRange());\n }\n getTickValues() {\n return this.scale.ticks();\n }\n recalculateScale() {\n const domain = [...this.domain];\n if (this.axisPosition === \"left\") {\n domain.reverse();\n }\n this.scale = scaleLinear().domain(domain).range(this.getRange());\n }\n getScaleValue(value) {\n return this.scale(value);\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/index.ts\nfunction getAxis(data, axisConfig, axisThemeConfig, tmpSVGGroup2) {\n const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup2);\n if (isBandAxisData(data)) {\n return new BandAxis(\n axisConfig,\n axisThemeConfig,\n data.categories,\n data.title,\n textDimensionCalculator\n );\n }\n return new LinearAxis(\n axisConfig,\n axisThemeConfig,\n [data.min, data.max],\n data.title,\n textDimensionCalculator\n );\n}\n__name(getAxis, \"getAxis\");\n\n// src/diagrams/xychart/chartBuilder/components/chartTitle.ts\nvar ChartTitle = class {\n constructor(textDimensionCalculator, chartConfig, chartData, chartThemeConfig) {\n this.textDimensionCalculator = textDimensionCalculator;\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.chartThemeConfig = chartThemeConfig;\n this.boundingRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n this.showChartTitle = false;\n }\n static {\n __name(this, \"ChartTitle\");\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n calculateSpace(availableSpace) {\n const titleDimension = this.textDimensionCalculator.getMaxDimension(\n [this.chartData.title],\n this.chartConfig.titleFontSize\n );\n const widthRequired = Math.max(titleDimension.width, availableSpace.width);\n const heightRequired = titleDimension.height + 2 * this.chartConfig.titlePadding;\n if (titleDimension.width <= widthRequired && titleDimension.height <= heightRequired && this.chartConfig.showTitle && this.chartData.title) {\n this.boundingRect.width = widthRequired;\n this.boundingRect.height = heightRequired;\n this.showChartTitle = true;\n }\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n getDrawableElements() {\n const drawableElem = [];\n if (this.showChartTitle) {\n drawableElem.push({\n groupTexts: [\"chart-title\"],\n type: \"text\",\n data: [\n {\n fontSize: this.chartConfig.titleFontSize,\n text: this.chartData.title,\n verticalPos: \"middle\",\n horizontalPos: \"center\",\n x: this.boundingRect.x + this.boundingRect.width / 2,\n y: this.boundingRect.y + this.boundingRect.height / 2,\n fill: this.chartThemeConfig.titleColor,\n rotation: 0\n }\n ]\n });\n }\n return drawableElem;\n }\n};\nfunction getChartTitleComponent(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2) {\n const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup2);\n return new ChartTitle(textDimensionCalculator, chartConfig, chartData, chartThemeConfig);\n}\n__name(getChartTitleComponent, \"getChartTitleComponent\");\n\n// src/diagrams/xychart/chartBuilder/components/plot/linePlot.ts\nimport { line } from \"d3\";\nvar LinePlot = class {\n constructor(plotData, xAxis, yAxis, orientation, plotIndex2) {\n this.plotData = plotData;\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n this.orientation = orientation;\n this.plotIndex = plotIndex2;\n }\n static {\n __name(this, \"LinePlot\");\n }\n getDrawableElement() {\n const finalData = this.plotData.data.map((d) => [\n this.xAxis.getScaleValue(d[0]),\n this.yAxis.getScaleValue(d[1])\n ]);\n let path;\n if (this.orientation === \"horizontal\") {\n path = line().y((d) => d[0]).x((d) => d[1])(finalData);\n } else {\n path = line().x((d) => d[0]).y((d) => d[1])(finalData);\n }\n if (!path) {\n return [];\n }\n return [\n {\n groupTexts: [\"plot\", `line-plot-${this.plotIndex}`],\n type: \"path\",\n data: [\n {\n path,\n strokeFill: this.plotData.strokeFill,\n strokeWidth: this.plotData.strokeWidth\n }\n ]\n }\n ];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/plot/barPlot.ts\nvar BarPlot = class {\n constructor(barData, boundingRect, xAxis, yAxis, orientation, plotIndex2) {\n this.barData = barData;\n this.boundingRect = boundingRect;\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n this.orientation = orientation;\n this.plotIndex = plotIndex2;\n }\n static {\n __name(this, \"BarPlot\");\n }\n getDrawableElement() {\n const finalData = this.barData.data.map((d) => [\n this.xAxis.getScaleValue(d[0]),\n this.yAxis.getScaleValue(d[1])\n ]);\n const barPaddingPercent = 0.05;\n const barWidth = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - barPaddingPercent);\n const barWidthHalf = barWidth / 2;\n if (this.orientation === \"horizontal\") {\n return [\n {\n groupTexts: [\"plot\", `bar-plot-${this.plotIndex}`],\n type: \"rect\",\n data: finalData.map((data) => ({\n x: this.boundingRect.x,\n y: data[0] - barWidthHalf,\n height: barWidth,\n width: data[1] - this.boundingRect.x,\n fill: this.barData.fill,\n strokeWidth: 0,\n strokeFill: this.barData.fill\n }))\n }\n ];\n }\n return [\n {\n groupTexts: [\"plot\", `bar-plot-${this.plotIndex}`],\n type: \"rect\",\n data: finalData.map((data) => ({\n x: data[0] - barWidthHalf,\n y: data[1],\n width: barWidth,\n height: this.boundingRect.y + this.boundingRect.height - data[1],\n fill: this.barData.fill,\n strokeWidth: 0,\n strokeFill: this.barData.fill\n }))\n }\n ];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/plot/index.ts\nvar BasePlot = class {\n constructor(chartConfig, chartData, chartThemeConfig) {\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.chartThemeConfig = chartThemeConfig;\n this.boundingRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n static {\n __name(this, \"BasePlot\");\n }\n setAxes(xAxis, yAxis) {\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n calculateSpace(availableSpace) {\n this.boundingRect.width = availableSpace.width;\n this.boundingRect.height = availableSpace.height;\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n getDrawableElements() {\n if (!(this.xAxis && this.yAxis)) {\n throw Error(\"Axes must be passed to render Plots\");\n }\n const drawableElem = [];\n for (const [i, plot] of this.chartData.plots.entries()) {\n switch (plot.type) {\n case \"line\":\n {\n const linePlot = new LinePlot(\n plot,\n this.xAxis,\n this.yAxis,\n this.chartConfig.chartOrientation,\n i\n );\n drawableElem.push(...linePlot.getDrawableElement());\n }\n break;\n case \"bar\":\n {\n const barPlot = new BarPlot(\n plot,\n this.boundingRect,\n this.xAxis,\n this.yAxis,\n this.chartConfig.chartOrientation,\n i\n );\n drawableElem.push(...barPlot.getDrawableElement());\n }\n break;\n }\n }\n return drawableElem;\n }\n};\nfunction getPlotComponent(chartConfig, chartData, chartThemeConfig) {\n return new BasePlot(chartConfig, chartData, chartThemeConfig);\n}\n__name(getPlotComponent, \"getPlotComponent\");\n\n// src/diagrams/xychart/chartBuilder/orchestrator.ts\nvar Orchestrator = class {\n constructor(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2) {\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.componentStore = {\n title: getChartTitleComponent(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2),\n plot: getPlotComponent(chartConfig, chartData, chartThemeConfig),\n xAxis: getAxis(\n chartData.xAxis,\n chartConfig.xAxis,\n {\n titleColor: chartThemeConfig.xAxisTitleColor,\n labelColor: chartThemeConfig.xAxisLabelColor,\n tickColor: chartThemeConfig.xAxisTickColor,\n axisLineColor: chartThemeConfig.xAxisLineColor\n },\n tmpSVGGroup2\n ),\n yAxis: getAxis(\n chartData.yAxis,\n chartConfig.yAxis,\n {\n titleColor: chartThemeConfig.yAxisTitleColor,\n labelColor: chartThemeConfig.yAxisLabelColor,\n tickColor: chartThemeConfig.yAxisTickColor,\n axisLineColor: chartThemeConfig.yAxisLineColor\n },\n tmpSVGGroup2\n )\n };\n }\n static {\n __name(this, \"Orchestrator\");\n }\n calculateVerticalSpace() {\n let availableWidth = this.chartConfig.width;\n let availableHeight = this.chartConfig.height;\n let plotX = 0;\n let plotY = 0;\n let chartWidth = Math.floor(availableWidth * this.chartConfig.plotReservedSpacePercent / 100);\n let chartHeight = Math.floor(\n availableHeight * this.chartConfig.plotReservedSpacePercent / 100\n );\n let spaceUsed = this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n availableWidth -= spaceUsed.width;\n availableHeight -= spaceUsed.height;\n spaceUsed = this.componentStore.title.calculateSpace({\n width: this.chartConfig.width,\n height: availableHeight\n });\n plotY = spaceUsed.height;\n availableHeight -= spaceUsed.height;\n this.componentStore.xAxis.setAxisPosition(\"bottom\");\n spaceUsed = this.componentStore.xAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableHeight -= spaceUsed.height;\n this.componentStore.yAxis.setAxisPosition(\"left\");\n spaceUsed = this.componentStore.yAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n plotX = spaceUsed.width;\n availableWidth -= spaceUsed.width;\n if (availableWidth > 0) {\n chartWidth += availableWidth;\n availableWidth = 0;\n }\n if (availableHeight > 0) {\n chartHeight += availableHeight;\n availableHeight = 0;\n }\n this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n this.componentStore.plot.setBoundingBoxXY({ x: plotX, y: plotY });\n this.componentStore.xAxis.setRange([plotX, plotX + chartWidth]);\n this.componentStore.xAxis.setBoundingBoxXY({ x: plotX, y: plotY + chartHeight });\n this.componentStore.yAxis.setRange([plotY, plotY + chartHeight]);\n this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: plotY });\n if (this.chartData.plots.some((p) => isBarPlot(p))) {\n this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();\n }\n }\n calculateHorizontalSpace() {\n let availableWidth = this.chartConfig.width;\n let availableHeight = this.chartConfig.height;\n let titleYEnd = 0;\n let plotX = 0;\n let plotY = 0;\n let chartWidth = Math.floor(availableWidth * this.chartConfig.plotReservedSpacePercent / 100);\n let chartHeight = Math.floor(\n availableHeight * this.chartConfig.plotReservedSpacePercent / 100\n );\n let spaceUsed = this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n availableWidth -= spaceUsed.width;\n availableHeight -= spaceUsed.height;\n spaceUsed = this.componentStore.title.calculateSpace({\n width: this.chartConfig.width,\n height: availableHeight\n });\n titleYEnd = spaceUsed.height;\n availableHeight -= spaceUsed.height;\n this.componentStore.xAxis.setAxisPosition(\"left\");\n spaceUsed = this.componentStore.xAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableWidth -= spaceUsed.width;\n plotX = spaceUsed.width;\n this.componentStore.yAxis.setAxisPosition(\"top\");\n spaceUsed = this.componentStore.yAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableHeight -= spaceUsed.height;\n plotY = titleYEnd + spaceUsed.height;\n if (availableWidth > 0) {\n chartWidth += availableWidth;\n availableWidth = 0;\n }\n if (availableHeight > 0) {\n chartHeight += availableHeight;\n availableHeight = 0;\n }\n this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n this.componentStore.plot.setBoundingBoxXY({ x: plotX, y: plotY });\n this.componentStore.yAxis.setRange([plotX, plotX + chartWidth]);\n this.componentStore.yAxis.setBoundingBoxXY({ x: plotX, y: titleYEnd });\n this.componentStore.xAxis.setRange([plotY, plotY + chartHeight]);\n this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: plotY });\n if (this.chartData.plots.some((p) => isBarPlot(p))) {\n this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();\n }\n }\n calculateSpace() {\n if (this.chartConfig.chartOrientation === \"horizontal\") {\n this.calculateHorizontalSpace();\n } else {\n this.calculateVerticalSpace();\n }\n }\n getDrawableElement() {\n this.calculateSpace();\n const drawableElem = [];\n this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);\n for (const component of Object.values(this.componentStore)) {\n drawableElem.push(...component.getDrawableElements());\n }\n return drawableElem;\n }\n};\n\n// src/diagrams/xychart/chartBuilder/index.ts\nvar XYChartBuilder = class {\n static {\n __name(this, \"XYChartBuilder\");\n }\n static build(config, chartData, chartThemeConfig, tmpSVGGroup2) {\n const orchestrator = new Orchestrator(config, chartData, chartThemeConfig, tmpSVGGroup2);\n return orchestrator.getDrawableElement();\n }\n};\n\n// src/diagrams/xychart/xychartDb.ts\nvar plotIndex = 0;\nvar tmpSVGGroup;\nvar xyChartConfig = getChartDefaultConfig();\nvar xyChartThemeConfig = getChartDefaultThemeConfig();\nvar xyChartData = getChartDefaultData();\nvar plotColorPalette = xyChartThemeConfig.plotColorPalette.split(\",\").map((color) => color.trim());\nvar hasSetXAxis = false;\nvar hasSetYAxis = false;\nfunction getChartDefaultThemeConfig() {\n const defaultThemeVariables = getThemeVariables();\n const config = getConfig();\n return cleanAndMerge(defaultThemeVariables.xyChart, config.themeVariables.xyChart);\n}\n__name(getChartDefaultThemeConfig, \"getChartDefaultThemeConfig\");\nfunction getChartDefaultConfig() {\n const config = getConfig();\n return cleanAndMerge(\n defaultConfig_default.xyChart,\n config.xyChart\n );\n}\n__name(getChartDefaultConfig, \"getChartDefaultConfig\");\nfunction getChartDefaultData() {\n return {\n yAxis: {\n type: \"linear\",\n title: \"\",\n min: Infinity,\n max: -Infinity\n },\n xAxis: {\n type: \"band\",\n title: \"\",\n categories: []\n },\n title: \"\",\n plots: []\n };\n}\n__name(getChartDefaultData, \"getChartDefaultData\");\nfunction textSanitizer(text) {\n const config = getConfig();\n return sanitizeText(text.trim(), config);\n}\n__name(textSanitizer, \"textSanitizer\");\nfunction setTmpSVGG(SVGG) {\n tmpSVGGroup = SVGG;\n}\n__name(setTmpSVGG, \"setTmpSVGG\");\nfunction setOrientation(orientation) {\n if (orientation === \"horizontal\") {\n xyChartConfig.chartOrientation = \"horizontal\";\n } else {\n xyChartConfig.chartOrientation = \"vertical\";\n }\n}\n__name(setOrientation, \"setOrientation\");\nfunction setXAxisTitle(title) {\n xyChartData.xAxis.title = textSanitizer(title.text);\n}\n__name(setXAxisTitle, \"setXAxisTitle\");\nfunction setXAxisRangeData(min, max) {\n xyChartData.xAxis = { type: \"linear\", title: xyChartData.xAxis.title, min, max };\n hasSetXAxis = true;\n}\n__name(setXAxisRangeData, \"setXAxisRangeData\");\nfunction setXAxisBand(categories) {\n xyChartData.xAxis = {\n type: \"band\",\n title: xyChartData.xAxis.title,\n categories: categories.map((c) => textSanitizer(c.text))\n };\n hasSetXAxis = true;\n}\n__name(setXAxisBand, \"setXAxisBand\");\nfunction setYAxisTitle(title) {\n xyChartData.yAxis.title = textSanitizer(title.text);\n}\n__name(setYAxisTitle, \"setYAxisTitle\");\nfunction setYAxisRangeData(min, max) {\n xyChartData.yAxis = { type: \"linear\", title: xyChartData.yAxis.title, min, max };\n hasSetYAxis = true;\n}\n__name(setYAxisRangeData, \"setYAxisRangeData\");\nfunction setYAxisRangeFromPlotData(data) {\n const minValue = Math.min(...data);\n const maxValue = Math.max(...data);\n const prevMinValue = isLinearAxisData(xyChartData.yAxis) ? xyChartData.yAxis.min : Infinity;\n const prevMaxValue = isLinearAxisData(xyChartData.yAxis) ? xyChartData.yAxis.max : -Infinity;\n xyChartData.yAxis = {\n type: \"linear\",\n title: xyChartData.yAxis.title,\n min: Math.min(prevMinValue, minValue),\n max: Math.max(prevMaxValue, maxValue)\n };\n}\n__name(setYAxisRangeFromPlotData, \"setYAxisRangeFromPlotData\");\nfunction transformDataWithoutCategory(data) {\n let retData = [];\n if (data.length === 0) {\n return retData;\n }\n if (!hasSetXAxis) {\n const prevMinValue = isLinearAxisData(xyChartData.xAxis) ? xyChartData.xAxis.min : Infinity;\n const prevMaxValue = isLinearAxisData(xyChartData.xAxis) ? xyChartData.xAxis.max : -Infinity;\n setXAxisRangeData(Math.min(prevMinValue, 1), Math.max(prevMaxValue, data.length));\n }\n if (!hasSetYAxis) {\n setYAxisRangeFromPlotData(data);\n }\n if (isBandAxisData(xyChartData.xAxis)) {\n retData = xyChartData.xAxis.categories.map((c, i) => [c, data[i]]);\n }\n if (isLinearAxisData(xyChartData.xAxis)) {\n const min = xyChartData.xAxis.min;\n const max = xyChartData.xAxis.max;\n const step = (max - min) / (data.length - 1);\n const categories = [];\n for (let i = min; i <= max; i += step) {\n categories.push(`${i}`);\n }\n retData = categories.map((c, i) => [c, data[i]]);\n }\n return retData;\n}\n__name(transformDataWithoutCategory, \"transformDataWithoutCategory\");\nfunction getPlotColorFromPalette(plotIndex2) {\n return plotColorPalette[plotIndex2 === 0 ? 0 : plotIndex2 % plotColorPalette.length];\n}\n__name(getPlotColorFromPalette, \"getPlotColorFromPalette\");\nfunction setLineData(title, data) {\n const plotData = transformDataWithoutCategory(data);\n xyChartData.plots.push({\n type: \"line\",\n strokeFill: getPlotColorFromPalette(plotIndex),\n strokeWidth: 2,\n data: plotData\n });\n plotIndex++;\n}\n__name(setLineData, \"setLineData\");\nfunction setBarData(title, data) {\n const plotData = transformDataWithoutCategory(data);\n xyChartData.plots.push({\n type: \"bar\",\n fill: getPlotColorFromPalette(plotIndex),\n data: plotData\n });\n plotIndex++;\n}\n__name(setBarData, \"setBarData\");\nfunction getDrawableElem() {\n if (xyChartData.plots.length === 0) {\n throw Error(\"No Plot to render, please provide a plot with some data\");\n }\n xyChartData.title = getDiagramTitle();\n return XYChartBuilder.build(xyChartConfig, xyChartData, xyChartThemeConfig, tmpSVGGroup);\n}\n__name(getDrawableElem, \"getDrawableElem\");\nfunction getChartThemeConfig() {\n return xyChartThemeConfig;\n}\n__name(getChartThemeConfig, \"getChartThemeConfig\");\nfunction getChartConfig() {\n return xyChartConfig;\n}\n__name(getChartConfig, \"getChartConfig\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n clear();\n plotIndex = 0;\n xyChartConfig = getChartDefaultConfig();\n xyChartData = getChartDefaultData();\n xyChartThemeConfig = getChartDefaultThemeConfig();\n plotColorPalette = xyChartThemeConfig.plotColorPalette.split(\",\").map((color) => color.trim());\n hasSetXAxis = false;\n hasSetYAxis = false;\n}, \"clear\");\nvar xychartDb_default = {\n getDrawableElem,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription,\n setOrientation,\n setXAxisTitle,\n setXAxisRangeData,\n setXAxisBand,\n setYAxisTitle,\n setYAxisRangeData,\n setLineData,\n setBarData,\n setTmpSVGG,\n getChartThemeConfig,\n getChartConfig\n};\n\n// src/diagrams/xychart/xychartRenderer.ts\nvar draw = /* @__PURE__ */ __name((txt, id, _version, diagObj) => {\n const db = diagObj.db;\n const themeConfig = db.getChartThemeConfig();\n const chartConfig = db.getChartConfig();\n function getDominantBaseLine(horizontalPos) {\n return horizontalPos === \"top\" ? \"text-before-edge\" : \"middle\";\n }\n __name(getDominantBaseLine, \"getDominantBaseLine\");\n function getTextAnchor(verticalPos) {\n return verticalPos === \"left\" ? \"start\" : verticalPos === \"right\" ? \"end\" : \"middle\";\n }\n __name(getTextAnchor, \"getTextAnchor\");\n function getTextTransformation(data) {\n return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`;\n }\n __name(getTextTransformation, \"getTextTransformation\");\n log.debug(\"Rendering xychart chart\\n\" + txt);\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\").attr(\"class\", \"main\");\n const background = group.append(\"rect\").attr(\"width\", chartConfig.width).attr(\"height\", chartConfig.height).attr(\"class\", \"background\");\n configureSvgSize(svg, chartConfig.height, chartConfig.width, true);\n svg.attr(\"viewBox\", `0 0 ${chartConfig.width} ${chartConfig.height}`);\n background.attr(\"fill\", themeConfig.backgroundColor);\n db.setTmpSVGG(svg.append(\"g\").attr(\"class\", \"mermaid-tmp-group\"));\n const shapes = db.getDrawableElem();\n const groups = {};\n function getGroup(gList) {\n let elem = group;\n let prefix = \"\";\n for (const [i] of gList.entries()) {\n let parent = group;\n if (i > 0 && groups[prefix]) {\n parent = groups[prefix];\n }\n prefix += gList[i];\n elem = groups[prefix];\n if (!elem) {\n elem = groups[prefix] = parent.append(\"g\").attr(\"class\", gList[i]);\n }\n }\n return elem;\n }\n __name(getGroup, \"getGroup\");\n for (const shape of shapes) {\n if (shape.data.length === 0) {\n continue;\n }\n const shapeGroup = getGroup(shape.groupTexts);\n switch (shape.type) {\n case \"rect\":\n shapeGroup.selectAll(\"rect\").data(shape.data).enter().append(\"rect\").attr(\"x\", (data) => data.x).attr(\"y\", (data) => data.y).attr(\"width\", (data) => data.width).attr(\"height\", (data) => data.height).attr(\"fill\", (data) => data.fill).attr(\"stroke\", (data) => data.strokeFill).attr(\"stroke-width\", (data) => data.strokeWidth);\n break;\n case \"text\":\n shapeGroup.selectAll(\"text\").data(shape.data).enter().append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", (data) => data.fill).attr(\"font-size\", (data) => data.fontSize).attr(\"dominant-baseline\", (data) => getDominantBaseLine(data.verticalPos)).attr(\"text-anchor\", (data) => getTextAnchor(data.horizontalPos)).attr(\"transform\", (data) => getTextTransformation(data)).text((data) => data.text);\n break;\n case \"path\":\n shapeGroup.selectAll(\"path\").data(shape.data).enter().append(\"path\").attr(\"d\", (data) => data.path).attr(\"fill\", (data) => data.fill ? data.fill : \"none\").attr(\"stroke\", (data) => data.strokeFill).attr(\"stroke-width\", (data) => data.strokeWidth);\n break;\n }\n }\n}, \"draw\");\nvar xychartRenderer_default = {\n draw\n};\n\n// src/diagrams/xychart/xychartDiagram.ts\nvar diagram = {\n parser: xychart_default,\n db: xychartDb_default,\n renderer: xychartRenderer_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","k","v","o2","l","length","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","setOrientation","setDiagramTitle","text","trim","setLineData","type","setBarData","this","$","setAccTitle","setAccDescription","Number","setXAxisTitle","setXAxisBand","setXAxisRangeData","setYAxisTitle","setYAxisRangeData","table","defaultActions","parseError","str","hash","recoverable","error","Error","parse","input","self","stack","tstack","vstack","lstack","recovering","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","push","ranges","options","lex","token","pop","Array","getPrototypeOf","n","symbol","preErrorSymbol","state","action","r","p","len","newState","expected","yyval","errStr","showPosition","join","match","line","loc","first_line","last_line","first_column","last_column","range","apply","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","substr","oldLines","more","reject","backtrack_lexer","less","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","i","flex","begin","condition","popState","conditions","topState","Math","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","Parser","xychart_default","isBarPlot","data","isBandAxisData","isLinearAxisData","TextDimensionCalculatorWithFont","constructor","parentGroup","getMaxDimension","texts","fontSize","width","reduce","acc","cur","max","height","dimension","elem","append","attr","t","bbox","remove","BaseAxis","axisConfig","title","textDimensionCalculator","axisThemeConfig","boundingRect","x","y","axisPosition","showTitle","showLabel","showTick","showAxisLine","outerPadding","titleTextHeight","labelTextHeight","setRange","recalculateScale","getRange","setAxisPosition","getTickDistance","getTickValues","getAxisOuterPadding","getLabelDimension","map","tick","toString","labelFontSize","recalculateOuterPaddingToDrawBar","floor","calculateSpaceIfDrawnHorizontally","availableSpace","availableHeight","axisLineWidth","spaceRequired","maxPadding","min","heightRequired","labelPadding","tickLength","titleFontSize","titlePadding","calculateSpaceIfDrawnVertical","availableWidth","widthRequired","calculateSpace","setBoundingBoxXY","point","getDrawableElementsForLeftAxis","drawableElement","groupTexts","path","strokeFill","axisLineColor","strokeWidth","getScaleValue","fill","labelColor","rotation","verticalPos","horizontalPos","tickColor","tickWidth","titleColor","getDrawableElementsForBottomAxis","getDrawableElementsForTopAxis","getDrawableElements","BandAxis","categories","super","scale","domain","paddingInner","paddingOuter","align","value","LinearAxis","ticks","reverse","getAxis","tmpSVGGroup2","ChartTitle","chartConfig","chartData","chartThemeConfig","showChartTitle","titleDimension","drawableElem","getChartTitleComponent","LinePlot","plotData","xAxis","yAxis","orientation","plotIndex2","plotIndex","getDrawableElement","finalData","d","BarPlot","barData","barWidth","barWidthHalf","BasePlot","setAxes","plot","plots","entries","linePlot","chartOrientation","barPlot","getPlotComponent","tmpSVGGroup","Orchestrator","componentStore","xAxisTitleColor","xAxisLabelColor","xAxisTickColor","xAxisLineColor","yAxisTitleColor","yAxisLabelColor","yAxisTickColor","yAxisLineColor","calculateVerticalSpace","plotX","plotY","chartWidth","plotReservedSpacePercent","chartHeight","spaceUsed","some","calculateHorizontalSpace","titleYEnd","component","values","XYChartBuilder","build","config","xyChartConfig","getChartDefaultConfig","xyChartThemeConfig","getChartDefaultThemeConfig","xyChartData","Infinity","plotColorPalette","color","hasSetXAxis","hasSetYAxis","defaultThemeVariables","xyChart","themeVariables","getChartDefaultData","textSanitizer","setTmpSVGG","SVGG","setYAxisRangeFromPlotData","minValue","maxValue","prevMinValue","prevMaxValue","transformDataWithoutCategory","retData","step","getPlotColorFromPalette","getDrawableElem","getChartThemeConfig","getChartConfig","diagram","db","clear","getAccTitle","getDiagramTitle","getAccDescription","renderer","draw","txt","id","_version","diagObj","themeConfig","getDominantBaseLine","getTextAnchor","getTextTransformation","debug","svg","group","background","backgroundColor","shapes","groups","getGroup","gList","prefix","parent","shape","shapeGroup","selectAll","enter"],"sourceRoot":""}