@finos/legend-application-pure-ide-deployment 11.11.0 → 11.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ide/index.html +1 -1
- package/dist/ide/{135.js → static/135.2af0ed6c.js} +2 -2
- package/dist/ide/static/135.2af0ed6c.js.map +1 -0
- package/dist/ide/{14.js → static/14.9447a523.js} +2 -2
- package/dist/ide/static/14.9447a523.js.map +1 -0
- package/dist/ide/{144.js → static/144.56359b57.js} +1 -1
- package/dist/ide/static/144.56359b57.js.map +1 -0
- package/dist/ide/{192.js → static/192.2c9a3a4b.js} +1 -1
- package/dist/ide/static/192.2c9a3a4b.js.map +1 -0
- package/dist/ide/{196.js → static/196.dd0f3119.js} +1 -1
- package/dist/ide/static/196.dd0f3119.js.map +1 -0
- package/dist/ide/{222.js → static/222.969f20c8.js} +1 -1
- package/dist/ide/static/222.969f20c8.js.map +1 -0
- package/dist/ide/{224.js → static/224.bb7a7194.js} +1 -1
- package/dist/ide/static/224.bb7a7194.js.map +1 -0
- package/dist/ide/{246.js → static/246.4add4bf1.js} +2 -2
- package/dist/ide/static/246.4add4bf1.js.map +1 -0
- package/dist/ide/{309.js → static/309.df05f0ef.js} +2 -2
- package/dist/ide/static/309.df05f0ef.js.map +1 -0
- package/dist/ide/{32.js → static/32.1758faf0.js} +1 -1
- package/dist/ide/static/32.1758faf0.js.map +1 -0
- package/dist/ide/{327.js → static/327.fe8046d0.js} +1 -1
- package/dist/ide/static/327.fe8046d0.js.map +1 -0
- package/dist/ide/{362.js → static/362.a41dadab.js} +1 -1
- package/dist/ide/static/362.a41dadab.js.map +1 -0
- package/dist/ide/{374.js → static/374.0aa73cb9.js} +1 -1
- package/dist/ide/static/374.0aa73cb9.js.map +1 -0
- package/dist/ide/{399.js → static/399.4bd7d49b.js} +2 -2
- package/dist/ide/static/399.4bd7d49b.js.map +1 -0
- package/dist/ide/{400.js → static/400.5fa229f2.js} +1 -1
- package/dist/ide/static/400.5fa229f2.js.map +1 -0
- package/dist/ide/{404.js → static/404.7360c523.js} +1 -1
- package/dist/ide/static/404.7360c523.js.map +1 -0
- package/dist/ide/{413.js → static/413.848afa4d.js} +1 -1
- package/dist/ide/static/413.848afa4d.js.map +1 -0
- package/dist/ide/{46.js → static/46.767f2180.js} +1 -1
- package/dist/ide/static/46.767f2180.js.map +1 -0
- package/dist/ide/{471.js → static/471.d1ead9bf.js} +2 -2
- package/dist/ide/static/471.d1ead9bf.js.map +1 -0
- package/dist/ide/{481.js → static/481.be521fe4.js} +1 -1
- package/dist/ide/static/481.be521fe4.js.map +1 -0
- package/dist/ide/{578.js → static/578.d2ff5454.js} +1 -1
- package/dist/ide/static/578.d2ff5454.js.map +1 -0
- package/dist/ide/{586.js → static/586.c4953cb8.js} +1 -1
- package/dist/ide/static/586.c4953cb8.js.map +1 -0
- package/dist/ide/{616.js → static/616.dc5a1512.js} +1 -1
- package/dist/ide/static/616.dc5a1512.js.map +1 -0
- package/dist/ide/{624.js → static/624.2d11fadb.js} +1 -1
- package/dist/ide/static/624.2d11fadb.js.map +1 -0
- package/dist/ide/{636.js → static/636.4620ce27.js} +1 -1
- package/dist/ide/static/636.4620ce27.js.map +1 -0
- package/dist/ide/{817.js → static/817.6ce83b7d.js} +1 -1
- package/dist/ide/static/817.6ce83b7d.js.map +1 -0
- package/dist/ide/{837.js → static/837.5bdbaccc.js} +1 -1
- package/dist/ide/static/837.5bdbaccc.js.map +1 -0
- package/dist/ide/{909.js → static/909.35426328.js} +1 -1
- package/dist/ide/static/909.35426328.js.map +1 -0
- package/dist/ide/{923.js → static/923.1933c869.js} +1 -1
- package/dist/ide/static/923.1933c869.js.map +1 -0
- package/dist/ide/{932.js → static/932.417cc1c9.js} +1 -1
- package/dist/ide/static/932.417cc1c9.js.map +1 -0
- package/dist/ide/{947.js → static/947.b545969f.js} +2 -2
- package/dist/ide/static/947.b545969f.js.map +1 -0
- package/dist/ide/{969.js → static/969.d3cb41c2.js} +1 -1
- package/dist/ide/static/969.d3cb41c2.js.map +1 -0
- package/dist/ide/{977.js → static/977.112b9e63.js} +1 -1
- package/dist/ide/static/977.112b9e63.js.map +1 -0
- package/dist/ide/{99.js → static/99.5f870035.js} +2 -2
- package/dist/ide/static/99.5f870035.js.map +1 -0
- package/dist/ide/static/{index.e8b35023.js → index.0b1c88f5.js} +2 -2
- package/dist/ide/static/index.0b1c88f5.js.map +1 -0
- package/dist/ide/static/{index.89de1e23.css → index.0ff828b4.css} +6 -6
- package/dist/ide/static/{index.89de1e23.css.map → index.0ff828b4.css.map} +1 -1
- package/dist/ide/version.json +1 -1
- package/package.json +6 -6
- package/dist/ide/135.js.map +0 -1
- package/dist/ide/14.js.map +0 -1
- package/dist/ide/144.js.map +0 -1
- package/dist/ide/192.js.map +0 -1
- package/dist/ide/196.js.map +0 -1
- package/dist/ide/222.js.map +0 -1
- package/dist/ide/224.js.map +0 -1
- package/dist/ide/246.js.map +0 -1
- package/dist/ide/309.js.map +0 -1
- package/dist/ide/32.js.map +0 -1
- package/dist/ide/327.js.map +0 -1
- package/dist/ide/362.js.map +0 -1
- package/dist/ide/374.js.map +0 -1
- package/dist/ide/399.js.map +0 -1
- package/dist/ide/400.js.map +0 -1
- package/dist/ide/404.js.map +0 -1
- package/dist/ide/413.js.map +0 -1
- package/dist/ide/46.js.map +0 -1
- package/dist/ide/471.js.map +0 -1
- package/dist/ide/481.js.map +0 -1
- package/dist/ide/578.js.map +0 -1
- package/dist/ide/586.js.map +0 -1
- package/dist/ide/616.js.map +0 -1
- package/dist/ide/624.js.map +0 -1
- package/dist/ide/636.js.map +0 -1
- package/dist/ide/817.js.map +0 -1
- package/dist/ide/837.js.map +0 -1
- package/dist/ide/909.js.map +0 -1
- package/dist/ide/923.js.map +0 -1
- package/dist/ide/932.js.map +0 -1
- package/dist/ide/947.js.map +0 -1
- package/dist/ide/969.js.map +0 -1
- package/dist/ide/977.js.map +0 -1
- package/dist/ide/99.js.map +0 -1
- package/dist/ide/static/index.e8b35023.js.map +0 -1
- /package/dist/ide/{135.js.LICENSE.txt → static/135.2af0ed6c.js.LICENSE.txt} +0 -0
- /package/dist/ide/{14.js.LICENSE.txt → static/14.9447a523.js.LICENSE.txt} +0 -0
- /package/dist/ide/{246.js.LICENSE.txt → static/246.4add4bf1.js.LICENSE.txt} +0 -0
- /package/dist/ide/{309.js.LICENSE.txt → static/309.df05f0ef.js.LICENSE.txt} +0 -0
- /package/dist/ide/{399.js.LICENSE.txt → static/399.4bd7d49b.js.LICENSE.txt} +0 -0
- /package/dist/ide/{471.js.LICENSE.txt → static/471.d1ead9bf.js.LICENSE.txt} +0 -0
- /package/dist/ide/{947.js.LICENSE.txt → static/947.b545969f.js.LICENSE.txt} +0 -0
- /package/dist/ide/{99.js.LICENSE.txt → static/99.5f870035.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"static/837.5bdbaccc.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/pieDiagram-47467502.js"],"sourcesContent":["import { B as defaultConfig, q as setDiagramTitle, r as getDiagramTitle, s as setAccTitle, g as getAccTitle, b as setAccDescription, a as getAccDescription, t as clear$1, d as sanitizeText, c as getConfig$1, l as log, C as cleanAndMerge, A as selectSvgElement, i as configureSvgSize, D as parseFontSize } from \"./mermaid-485fd1a4.js\";\nimport { arc, scaleOrdinal, pie } from \"d3\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [1, 10, 12, 14, 16, 18, 19, 20, 21, 22], $V5 = [2, 4], $V6 = [1, 5, 10, 12, 14, 16, 18, 19, 20, 21, 22], $V7 = [20, 21, 22], $V8 = [2, 7], $V9 = [1, 12], $Va = [1, 13], $Vb = [1, 14], $Vc = [1, 15], $Vd = [1, 16], $Ve = [1, 17];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"eol\": 4, \"PIE\": 5, \"document\": 6, \"showData\": 7, \"line\": 8, \"statement\": 9, \"txt\": 10, \"value\": 11, \"title\": 12, \"title_value\": 13, \"acc_title\": 14, \"acc_title_value\": 15, \"acc_descr\": 16, \"acc_descr_value\": 17, \"acc_descr_multiline_value\": 18, \"section\": 19, \"NEWLINE\": 20, \";\": 21, \"EOF\": 22, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"PIE\", 7: \"showData\", 10: \"txt\", 11: \"value\", 12: \"title\", 13: \"title_value\", 14: \"acc_title\", 15: \"acc_title_value\", 16: \"acc_descr\", 17: \"acc_descr_value\", 18: \"acc_descr_multiline_value\", 19: \"section\", 20: \"NEWLINE\", 21: \";\", 22: \"EOF\" },\n productions_: [0, [3, 2], [3, 2], [3, 3], [6, 0], [6, 2], [8, 2], [9, 0], [9, 2], [9, 2], [9, 2], [9, 2], [9, 1], [9, 1], [4, 1], [4, 1], [4, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.setShowData(true);\n break;\n case 6:\n this.$ = $$[$0 - 1];\n break;\n case 8:\n yy.addSection($$[$0 - 1], yy.cleanupValue($$[$0]));\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.setDiagramTitle(this.$);\n break;\n case 10:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 11:\n case 12:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 13:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 5: $V0, 20: $V1, 21: $V2, 22: $V3 }, { 1: [3] }, { 3: 7, 4: 2, 5: $V0, 20: $V1, 21: $V2, 22: $V3 }, o($V4, $V5, { 6: 8, 7: [1, 9] }), o($V6, [2, 14]), o($V6, [2, 15]), o($V6, [2, 16]), { 1: [2, 1] }, o($V7, $V8, { 8: 10, 9: 11, 1: [2, 2], 10: $V9, 12: $Va, 14: $Vb, 16: $Vc, 18: $Vd, 19: $Ve }), o($V4, $V5, { 6: 18 }), o($V4, [2, 5]), { 4: 19, 20: $V1, 21: $V2, 22: $V3 }, { 11: [1, 20] }, { 13: [1, 21] }, { 15: [1, 22] }, { 17: [1, 23] }, o($V7, [2, 12]), o($V7, [2, 13]), o($V7, $V8, { 8: 10, 9: 11, 1: [2, 3], 10: $V9, 12: $Va, 14: $Vb, 16: $Vc, 18: $Vd, 19: $Ve }), o($V4, [2, 6]), o($V7, [2, 8]), o($V7, [2, 9]), o($V7, [2, 10]), o($V7, [2, 11])],\n defaultActions: { 7: [2, 1] },\n parseError: 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 },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 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 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 var symbol, state, action, 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 {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\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 }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: 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 },\n // resets the lexer, sets new input\n setInput: 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 },\n // consumes and returns one char from the input\n input: 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 },\n // unshifts one char (or a string) into the input\n unput: 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 },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\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: 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 },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: 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 },\n // displays upcoming input, i.e. for error messages\n upcomingInput: 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 },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: 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 },\n // return next match in input\n next: 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 },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: 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 },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: 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 },\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: 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 },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 20;\n case 3:\n break;\n case 4:\n break;\n case 5:\n this.begin(\"title\");\n return 12;\n case 6:\n this.popState();\n return \"title_value\";\n case 7:\n this.begin(\"acc_title\");\n return 14;\n case 8:\n this.popState();\n return \"acc_title_value\";\n case 9:\n this.begin(\"acc_descr\");\n return 16;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n case 11:\n this.begin(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n case 14:\n this.begin(\"string\");\n break;\n case 15:\n this.popState();\n break;\n case 16:\n return \"txt\";\n case 17:\n return 5;\n case 18:\n return 7;\n case 19:\n return \"value\";\n case 20:\n return 22;\n }\n },\n rules: [/^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n\\r]+)/i, /^(?:%%[^\\n]*)/i, /^(?:[\\s]+)/i, /^(?:title\\b)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:pie\\b)/i, /^(?:showData\\b)/i, /^(?::[\\s]*[\\d]+(?:\\.[\\d]+)?)/i, /^(?:$)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"title\": { \"rules\": [6], \"inclusive\": false }, \"string\": { \"rules\": [15, 16], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 7, 9, 11, 14, 17, 18, 19, 20], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nconst DEFAULT_PIE_CONFIG = defaultConfig.pie;\nconst DEFAULT_PIE_DB = {\n sections: {},\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nlet sections = DEFAULT_PIE_DB.sections;\nlet showData = DEFAULT_PIE_DB.showData;\nconst config = structuredClone(DEFAULT_PIE_CONFIG);\nconst getConfig = () => structuredClone(config);\nconst clear = () => {\n sections = structuredClone(DEFAULT_PIE_DB.sections);\n showData = DEFAULT_PIE_DB.showData;\n clear$1();\n};\nconst addSection = (label, value) => {\n label = sanitizeText(label, getConfig$1());\n if (sections[label] === void 0) {\n sections[label] = value;\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n};\nconst getSections = () => sections;\nconst cleanupValue = (value) => {\n if (value.substring(0, 1) === \":\") {\n value = value.substring(1).trim();\n }\n return Number(value.trim());\n};\nconst setShowData = (toggle) => {\n showData = toggle;\n};\nconst getShowData = () => showData;\nconst db = {\n getConfig,\n clear,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n cleanupValue,\n setShowData,\n getShowData\n};\nconst getStyles = (options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`;\nconst styles = getStyles;\nconst createPieArcs = (sections2) => {\n const pieData = Object.entries(sections2).map((element) => {\n return {\n label: element[0],\n value: element[1]\n };\n }).sort((a, b) => {\n return b.value - a.value;\n });\n const pie$1 = pie().value(\n (d3Section) => d3Section.value\n );\n return pie$1(pieData);\n};\nconst draw = (text, id, _version, diagObj) => {\n var _a, _b;\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig$1();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const height = 450;\n const width = ((_b = (_a = document.getElementById(id)) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.offsetWidth) ?? pieConfig.useWidth;\n const svg = selectSvgElement(id);\n svg.attr(\"viewBox\", `0 0 ${width} ${height}`);\n configureSvgSize(svg, height, width, pieConfig.useMaxWidth);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + width / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ?? (outerStrokeWidth = 2);\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(width, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n let sum = 0;\n Object.keys(sections2).forEach((key) => {\n sum += sections2[key];\n });\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const legend = group.selectAll(\".legend\").data(color.domain()).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * color.domain().length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", color).style(\"stroke\", color);\n legend.data(arcs).append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((datum) => {\n const { label, value } = datum.data;\n if (db2.getShowData()) {\n return `${label} [${value}]`;\n }\n return label;\n });\n};\nconst renderer = { draw };\nconst diagram = {\n parser: parser$1,\n db,\n renderer,\n styles\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","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","setShowData","this","$","addSection","cleanupValue","trim","setDiagramTitle","setAccTitle","setAccDescription","substr","table","defaultActions","parseError","str","hash","recoverable","error","Error","parse","input","self","stack","tstack","vstack","lstack","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","push","ranges","options","getPrototypeOf","symbol","state","action","r","p","len","newState","expected","token","yyval","pop","lex","Array","errStr","showPosition","join","text","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","oldLines","more","reject","backtrack_lexer","less","n","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","parser$1","DEFAULT_PIE_CONFIG","pie","DEFAULT_PIE_DB","sections","showData","config","structuredClone","db","getConfig","clear","getDiagramTitle","getAccTitle","getAccDescription","label","value","debug","getSections","substring","Number","toggle","getShowData","diagram","renderer","draw","id","_version","diagObj","_a","_b","db2","globalConfig","pieConfig","height","width","document","getElementById","parentElement","offsetWidth","useWidth","svg","attr","useMaxWidth","LEGEND_RECT_SIZE","group","append","themeVariables","outerStrokeWidth","pieOuterStrokeWidth","textPosition","radius","min","arcGenerator","arc","innerRadius","outerRadius","labelArcGenerator","sections2","arcs","pieData","entries","map","element","sort","a","b","d3Section","pie$1","createPieArcs","myGeneratedColors","pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12","color","scaleOrdinal","selectAll","data","enter","datum","sum","keys","forEach","key","toFixed","centroid","style","legend","domain","_datum","styles","pieStrokeColor","pieStrokeWidth","pieOpacity","pieOuterStrokeColor","pieTitleTextSize","pieTitleTextColor","fontFamily","pieSectionTextColor","pieSectionTextSize","pieLegendTextColor","pieLegendTextSize"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
"use strict";(globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[]).push([[909],{2855:(e,t,n)=>{n.r(t),n.d(t,{addHtmlLabel:()=>l});var r=n(1822);function l(e,t){var n=e.append("foreignObject").attr("width","100000"),l=n.append("xhtml:div");l.attr("xmlns","http://www.w3.org/1999/xhtml");var o=t.label;switch(typeof o){case"function":l.insert(o);break;case"object":l.insert((function(){return o}));break;default:l.html(o)}r.applyStyle(l,t.labelStyle),l.style("display","inline-block"),l.style("white-space","nowrap");var a=l.node().getBoundingClientRect();return n.attr("width",a.width).attr("height",a.height),n}},1822:(e,t,n)=>{n.r(t),n.d(t,{applyClass:()=>d,applyStyle:()=>c,applyTransition:()=>p,edgeToId:()=>a,isSubgraph:()=>o});var r=n(5255),l=n(8936);function o(e,t){return!!e.children(t).length}function a(e){return s(e.v)+":"+s(e.w)+":"+s(e.name)}var i=/:/g;function s(e){return e?String(e).replace(i,"\\:"):""}function c(e,t){t&&e.attr("style",t)}function d(e,t,n){t&&e.attr("class",t).attr("class",n+" "+e.attr("class"))}function p(e,t){var n=t.graph();if(r.default(n)){var o=n.transition;if(l.default(o))return o(e)}return e}},3909:(e,t,n)=>{n.r(t),n.d(t,{diagram:()=>s});var r=n(2032),l=(n(1264),n(4655));n(2801),n(6279),n(8114),n(7803),n(6636),n(1822);n(2855);n(630),n(3852);n(4912);l.curveLinear;var o=n(9579);n(8879),n(2659),n(5368),n(5098);const a={},i=function(e){const t=Object.keys(e);for(const n of t)a[n]=e[n]},s={parser:r.p,db:r.f,renderer:o.f,styles:o.a,init:e=>{e.flowchart||(e.flowchart={}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,i(e.flowchart),r.f.clear(),r.f.setGen("gen-1")}}},9579:(e,t,n)=>{n.r(t),n.d(t,{a:()=>h,f:()=>w});var r=n(1264),l=n(4655),o=n(2801),a=n(196),i=n(2855),s=n(5387),c=n(9067);const d=(e,t)=>s.default.lang.round(c.default.parse(e)[t]);var p=n(5177);const b={},u=function(e,t,n,r,l,a){const s=r.select(`[id="${n}"]`);Object.keys(e).forEach((function(n){const r=e[n];let c="default";r.classes.length>0&&(c=r.classes.join(" ")),c+=" flowchart-label";const d=(0,o.k)(r.styles);let p,b=void 0!==r.text?r.text:r.id;if(o.l.info("vertex",r,r.labelType),"markdown"===r.labelType)o.l.info("vertex",r,r.labelType);else if((0,o.m)((0,o.c)().flowchart.htmlLabels)){const e={label:b.replace(/fa[blrs]?:fa-[\w-]+/g,(e=>`<i class='${e.replace(":"," ")}'></i>`))};p=(0,i.addHtmlLabel)(s,e).node(),p.parentNode.removeChild(p)}else{const e=l.createElementNS("http://www.w3.org/2000/svg","text");e.setAttribute("style",d.labelStyle.replace("color:","fill:"));const t=b.split(o.e.lineBreakRegex);for(const n of t){const t=l.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),t.setAttribute("dy","1em"),t.setAttribute("x","1"),t.textContent=n,e.appendChild(t)}p=e}let u=0,f="";switch(r.type){case"round":u=5,f="rect";break;case"square":case"group":default:f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":case"odd_right":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"doublecircle":f="doublecircle"}t.setNode(r.id,{labelStyle:d.labelStyle,shape:f,labelText:b,labelType:r.labelType,rx:u,ry:u,class:c,style:d.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:a.db.getTooltip(r.id)||"",domId:a.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:"group"===r.type?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:(0,o.c)().flowchart.padding}),o.l.info("setNode",{labelStyle:d.labelStyle,labelType:r.labelType,shape:f,labelText:b,rx:u,ry:u,class:c,style:d.style,id:r.id,domId:a.db.lookUpDomId(r.id),width:"group"===r.type?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:(0,o.c)().flowchart.padding})}))},f=function(e,t,n){o.l.info("abc78 edges = ",e);let r,a,i=0,s={};if(void 0!==e.defaultStyle){const t=(0,o.k)(e.defaultStyle);r=t.style,a=t.labelStyle}e.forEach((function(n){i++;const c="L-"+n.start+"-"+n.end;void 0===s[c]?(s[c]=0,o.l.info("abc78 new entry",c,s[c])):(s[c]++,o.l.info("abc78 new entry",c,s[c]));let d=c+"-"+s[c];o.l.info("abc78 new link id to be used is",c,d,s[c]);const p="LS-"+n.start,u="LE-"+n.end,f={style:"",labelStyle:""};switch(f.minlen=n.length||1,"arrow_open"===n.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}let w="",h="";switch(n.stroke){case"normal":w="fill:none;",void 0!==r&&(w=r),void 0!==a&&(h=a),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";break;case"invisible":f.thickness="invisible",f.pattern="solid",f.style="stroke-width: 0;fill:none;"}if(void 0!==n.style){const e=(0,o.k)(n.style);w=e.style,h=e.labelStyle}f.style=f.style+=w,f.labelStyle=f.labelStyle+=h,void 0!==n.interpolate?f.curve=(0,o.n)(n.interpolate,l.curveLinear):void 0!==e.defaultInterpolate?f.curve=(0,o.n)(e.defaultInterpolate,l.curveLinear):f.curve=(0,o.n)(b.curve,l.curveLinear),void 0===n.text?void 0!==n.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType=n.labelType,f.label=n.text.replace(o.e.lineBreakRegex,"\n"),void 0===n.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=d,f.classes="flowchart-link "+p+" "+u,t.setEdge(n.start,n.end,f,i)}))},w={setConf:function(e){const t=Object.keys(e);for(const n of t)b[n]=e[n]},addVertices:u,addEdges:f,getClasses:function(e,t){return t.db.getClasses()},draw:async function(e,t,n,i){o.l.info("Drawing flowchart");let s=i.db.getDirection();void 0===s&&(s="TD");const{securityLevel:c,flowchart:d}=(0,o.c)(),p=d.nodeSpacing||50,b=d.rankSpacing||50;let w;"sandbox"===c&&(w=(0,l.select)("#i"+t));const h="sandbox"===c?(0,l.select)(w.nodes()[0].contentDocument.body):(0,l.select)("body"),g="sandbox"===c?w.nodes()[0].contentDocument:document,y=new r.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:p,ranksep:b,marginx:0,marginy:0}).setDefaultEdgeLabel((function(){return{}}));let k;const x=i.db.getSubGraphs();o.l.info("Subgraphs - ",x);for(let e=x.length-1;e>=0;e--)k=x[e],o.l.info("Subgraph - ",k),i.db.addVertex(k.id,{text:k.title,type:k.labelType},"group",void 0,k.classes,k.dir);const v=i.db.getVertices(),m=i.db.getEdges();o.l.info("Edges",m);let S=0;for(S=x.length-1;S>=0;S--){k=x[S],(0,l.selectAll)("cluster").append("text");for(let e=0;e<k.nodes.length;e++)o.l.info("Setting up subgraphs",k.nodes[e],k.id),y.setParent(k.nodes[e],k.id)}u(v,y,t,h,g,i),f(m,y);const T=h.select(`[id="${t}"]`),_=h.select("#"+t+" g");if(await(0,a.r)(_,y,["point","circle","cross"],"flowchart",t),o.u.insertTitle(T,"flowchartTitleText",d.titleTopMargin,i.db.getDiagramTitle()),(0,o.o)(y,T,d.diagramPadding,d.useMaxWidth),i.db.indexNodes("subGraph"+S),!d.htmlLabels){const e=g.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const t of e){const e=t.getBBox(),n=g.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("rx",0),n.setAttribute("ry",0),n.setAttribute("width",e.width),n.setAttribute("height",e.height),t.insertBefore(n,t.firstChild)}}Object.keys(v).forEach((function(e){const n=v[e];if(n.link){const r=(0,l.select)("#"+t+' [id="'+e+'"]');if(r){const e=g.createElementNS("http://www.w3.org/2000/svg","a");e.setAttributeNS("http://www.w3.org/2000/svg","class",n.classes.join(" ")),e.setAttributeNS("http://www.w3.org/2000/svg","href",n.link),e.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===c?e.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):n.linkTarget&&e.setAttributeNS("http://www.w3.org/2000/svg","target",n.linkTarget);const t=r.insert((function(){return e}),":first-child"),l=r.select(".label-container");l&&t.append((function(){return l.node()}));const o=r.select(".label");o&&t.append((function(){return o.node()}))}}}))}},h=e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span,p {\n color: ${e.titleColor};\n }\n\n .label text,span,p {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${((e,t)=>{const n=d,r=n(e,"r"),l=n(e,"g"),o=n(e,"b");return p.default(r,l,o,t)})(e.edgeLabelBackground,.5)};\n // background-color: \n }\n\n .cluster rect {\n fill: ${e.clusterBkg};\n stroke: ${e.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span,p {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n`}}]);
|
2
|
-
//# sourceMappingURL=909.js.map
|
2
|
+
//# sourceMappingURL=909.35426328.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"static/909.35426328.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/dagre-d3-es/src/dagre-js/label/add-html-label.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/dagre-d3-es/src/dagre-js/util.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/dagre-d3-es/src/dagre-js/render.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/flowDiagram-90a5ee23.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/khroma/dist/methods/channel.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/styles-3bbdb1fe.js"],"sourcesContent":["import * as util from '../util.js';\n\nexport { addHtmlLabel };\n\nfunction addHtmlLabel(root, node) {\n var fo = root.append('foreignObject').attr('width', '100000');\n\n var div = fo.append('xhtml:div');\n div.attr('xmlns', 'http://www.w3.org/1999/xhtml');\n\n var label = node.label;\n switch (typeof label) {\n case 'function':\n div.insert(label);\n break;\n case 'object':\n // Currently we assume this is a DOM object.\n div.insert(function () {\n return label;\n });\n break;\n default:\n div.html(label);\n }\n\n util.applyStyle(div, node.labelStyle);\n div.style('display', 'inline-block');\n // Fix for firefox\n div.style('white-space', 'nowrap');\n\n var client = div.node().getBoundingClientRect();\n fo.attr('width', client.width).attr('height', client.height);\n\n return fo;\n}\n","import * as _ from 'lodash-es';\n\n// Public utility functions\nexport { isSubgraph, edgeToId, applyStyle, applyClass, applyTransition };\n\n/*\n * Returns true if the specified node in the graph is a subgraph node. A\n * subgraph node is one that contains other nodes.\n */\nfunction isSubgraph(g, v) {\n return !!g.children(v).length;\n}\n\nfunction edgeToId(e) {\n return escapeId(e.v) + ':' + escapeId(e.w) + ':' + escapeId(e.name);\n}\n\nvar ID_DELIM = /:/g;\nfunction escapeId(str) {\n return str ? String(str).replace(ID_DELIM, '\\\\:') : '';\n}\n\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr('style', styleFn);\n }\n}\n\nfunction applyClass(dom, classFn, otherClasses) {\n if (classFn) {\n dom.attr('class', classFn).attr('class', otherClasses + ' ' + dom.attr('class'));\n }\n}\n\nfunction applyTransition(selection, g) {\n var graph = g.graph();\n\n if (_.isPlainObject(graph)) {\n var transition = graph.transition;\n if (_.isFunction(transition)) {\n return transition(selection);\n }\n }\n\n return selection;\n}\n","import * as d3 from 'd3';\nimport * as _ from 'lodash-es';\nimport { layout } from '../dagre/index.js';\nimport { arrows, setArrows } from './arrows.js';\nimport { createClusters, setCreateClusters } from './create-clusters.js';\nimport { createEdgeLabels, setCreateEdgeLabels } from './create-edge-labels.js';\nimport { createEdgePaths, setCreateEdgePaths } from './create-edge-paths.js';\nimport { createNodes, setCreateNodes } from './create-nodes.js';\nimport { positionClusters } from './position-clusters.js';\nimport { positionEdgeLabels } from './position-edge-labels.js';\nimport { positionNodes } from './position-nodes.js';\nimport { shapes, setShapes } from './shapes.js';\n\nexport { render };\n\n// This design is based on http://bost.ocks.org/mike/chart/.\nfunction render() {\n var fn = function (svg, g) {\n preProcessGraph(g);\n\n var outputGroup = createOrSelectGroup(svg, 'output');\n var clustersGroup = createOrSelectGroup(outputGroup, 'clusters');\n var edgePathsGroup = createOrSelectGroup(outputGroup, 'edgePaths');\n var edgeLabels = createEdgeLabels(createOrSelectGroup(outputGroup, 'edgeLabels'), g);\n var nodes = createNodes(createOrSelectGroup(outputGroup, 'nodes'), g, shapes);\n\n layout(g);\n\n positionNodes(nodes, g);\n positionEdgeLabels(edgeLabels, g);\n createEdgePaths(edgePathsGroup, g, arrows);\n\n var clusters = createClusters(clustersGroup, g);\n positionClusters(clusters, g);\n\n postProcessGraph(g);\n };\n\n fn.createNodes = function (value) {\n if (!arguments.length) return createNodes;\n setCreateNodes(value);\n return fn;\n };\n\n fn.createClusters = function (value) {\n if (!arguments.length) return createClusters;\n setCreateClusters(value);\n return fn;\n };\n\n fn.createEdgeLabels = function (value) {\n if (!arguments.length) return createEdgeLabels;\n setCreateEdgeLabels(value);\n return fn;\n };\n\n fn.createEdgePaths = function (value) {\n if (!arguments.length) return createEdgePaths;\n setCreateEdgePaths(value);\n return fn;\n };\n\n fn.shapes = function (value) {\n if (!arguments.length) return shapes;\n setShapes(value);\n return fn;\n };\n\n fn.arrows = function (value) {\n if (!arguments.length) return arrows;\n setArrows(value);\n return fn;\n };\n\n return fn;\n}\n\nvar NODE_DEFAULT_ATTRS = {\n paddingLeft: 10,\n paddingRight: 10,\n paddingTop: 10,\n paddingBottom: 10,\n rx: 0,\n ry: 0,\n shape: 'rect',\n};\n\nvar EDGE_DEFAULT_ATTRS = {\n arrowhead: 'normal',\n curve: d3.curveLinear,\n};\n\nfunction preProcessGraph(g) {\n g.nodes().forEach(function (v) {\n var node = g.node(v);\n if (!_.has(node, 'label') && !g.children(v).length) {\n node.label = v;\n }\n\n if (_.has(node, 'paddingX')) {\n _.defaults(node, {\n paddingLeft: node.paddingX,\n paddingRight: node.paddingX,\n });\n }\n\n if (_.has(node, 'paddingY')) {\n _.defaults(node, {\n paddingTop: node.paddingY,\n paddingBottom: node.paddingY,\n });\n }\n\n if (_.has(node, 'padding')) {\n _.defaults(node, {\n paddingLeft: node.padding,\n paddingRight: node.padding,\n paddingTop: node.padding,\n paddingBottom: node.padding,\n });\n }\n\n _.defaults(node, NODE_DEFAULT_ATTRS);\n\n _.each(['paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom'], function (k) {\n node[k] = Number(node[k]);\n });\n\n // Save dimensions for restore during post-processing\n if (_.has(node, 'width')) {\n node._prevWidth = node.width;\n }\n if (_.has(node, 'height')) {\n node._prevHeight = node.height;\n }\n });\n\n g.edges().forEach(function (e) {\n var edge = g.edge(e);\n if (!_.has(edge, 'label')) {\n edge.label = '';\n }\n _.defaults(edge, EDGE_DEFAULT_ATTRS);\n });\n}\n\nfunction postProcessGraph(g) {\n _.each(g.nodes(), function (v) {\n var node = g.node(v);\n\n // Restore original dimensions\n if (_.has(node, '_prevWidth')) {\n node.width = node._prevWidth;\n } else {\n delete node.width;\n }\n\n if (_.has(node, '_prevHeight')) {\n node.height = node._prevHeight;\n } else {\n delete node.height;\n }\n\n delete node._prevWidth;\n delete node._prevHeight;\n });\n}\n\nfunction createOrSelectGroup(root, name) {\n var selection = root.select('g.' + name);\n if (selection.empty()) {\n selection = root.append('g').attr('class', name);\n }\n return selection;\n}\n","import { p as parser, f as flowDb } from \"./flowDb-bd9f2a91.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport { select, curveLinear, selectAll } from \"d3\";\nimport { k as getStylesFromArray, m as evaluate, c as getConfig, e as common, l as log, n as interpolateToCurve, o as setupGraphViewbox } from \"./mermaid-485fd1a4.js\";\nimport { render } from \"dagre-d3-es\";\nimport { applyStyle } from \"dagre-d3-es/src/dagre-js/util.js\";\nimport { addHtmlLabel } from \"dagre-d3-es/src/dagre-js/label/add-html-label.js\";\nimport { intersectPolygon } from \"dagre-d3-es/src/dagre-js/intersect/intersect-polygon.js\";\nimport { intersectRect } from \"dagre-d3-es/src/dagre-js/intersect/intersect-rect.js\";\nimport { f as flowRendererV2, a as flowStyles } from \"./styles-3bbdb1fe.js\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nimport \"./index-b0b3af87.js\";\nimport \"dagre-d3-es/src/dagre/index.js\";\nimport \"dagre-d3-es/src/graphlib/json.js\";\nimport \"./edges-bc33a094.js\";\nimport \"./createText-b3507a77.js\";\nimport \"mdast-util-from-markdown\";\nfunction question(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const s = (w + h) * 0.9;\n const points = [\n { x: s / 2, y: 0 },\n { x: s, y: -s / 2 },\n { x: s / 2, y: -s },\n { x: 0, y: -s / 2 }\n ];\n const shapeSvg = insertPolygonShape(parent, s, s, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction hexagon(parent, bbox, node) {\n const f = 4;\n const h = bbox.height;\n const m = h / f;\n const w = bbox.width + 2 * m;\n const points = [\n { x: m, y: 0 },\n { x: w - m, y: 0 },\n { x: w, y: -h / 2 },\n { x: w - m, y: -h },\n { x: m, y: -h },\n { x: 0, y: -h / 2 }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction rect_left_inv_arrow(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const points = [\n { x: -h / 2, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: -h / 2, y: -h },\n { x: 0, y: -h / 2 }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction lean_right(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const points = [\n { x: -2 * h / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + 2 * h / 6, y: -h },\n { x: h / 6, y: -h }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction lean_left(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const points = [\n { x: 2 * h / 6, y: 0 },\n { x: w + h / 6, y: 0 },\n { x: w - 2 * h / 6, y: -h },\n { x: -h / 6, y: -h }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction trapezoid(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const points = [\n { x: -2 * h / 6, y: 0 },\n { x: w + 2 * h / 6, y: 0 },\n { x: w - h / 6, y: -h },\n { x: h / 6, y: -h }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction inv_trapezoid(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const points = [\n { x: h / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + 2 * h / 6, y: -h },\n { x: -2 * h / 6, y: -h }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction rect_right_inv_arrow(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const points = [\n { x: 0, y: 0 },\n { x: w + h / 2, y: 0 },\n { x: w, y: -h / 2 },\n { x: w + h / 2, y: -h },\n { x: 0, y: -h }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction stadium(parent, bbox, node) {\n const h = bbox.height;\n const w = bbox.width + h / 4;\n const shapeSvg = parent.insert(\"rect\", \":first-child\").attr(\"rx\", h / 2).attr(\"ry\", h / 2).attr(\"x\", -w / 2).attr(\"y\", -h / 2).attr(\"width\", w).attr(\"height\", h);\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n}\nfunction subroutine(parent, bbox, node) {\n const w = bbox.width;\n const h = bbox.height;\n const points = [\n { x: 0, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: 0, y: -h },\n { x: 0, y: 0 },\n { x: -8, y: 0 },\n { x: w + 8, y: 0 },\n { x: w + 8, y: -h },\n { x: -8, y: -h },\n { x: -8, y: 0 }\n ];\n const shapeSvg = insertPolygonShape(parent, w, h, points);\n node.intersect = function(point) {\n return intersectPolygon(node, points, point);\n };\n return shapeSvg;\n}\nfunction cylinder(parent, bbox, node) {\n const w = bbox.width;\n const rx = w / 2;\n const ry = rx / (2.5 + w / 50);\n const h = bbox.height + ry;\n const shape = \"M 0,\" + ry + \" a \" + rx + \",\" + ry + \" 0,0,0 \" + w + \" 0 a \" + rx + \",\" + ry + \" 0,0,0 \" + -w + \" 0 l 0,\" + h + \" a \" + rx + \",\" + ry + \" 0,0,0 \" + w + \" 0 l 0,\" + -h;\n const shapeSvg = parent.attr(\"label-offset-y\", ry).insert(\"path\", \":first-child\").attr(\"d\", shape).attr(\"transform\", \"translate(\" + -w / 2 + \",\" + -(h / 2 + ry) + \")\");\n node.intersect = function(point) {\n const pos = intersectRect(node, point);\n const x = pos.x - node.x;\n if (rx != 0 && (Math.abs(x) < node.width / 2 || Math.abs(x) == node.width / 2 && Math.abs(pos.y - node.y) > node.height / 2 - ry)) {\n let y = ry * ry * (1 - x * x / (rx * rx));\n if (y != 0) {\n y = Math.sqrt(y);\n }\n y = ry - y;\n if (point.y - node.y > 0) {\n y = -y;\n }\n pos.y += y;\n }\n return pos;\n };\n return shapeSvg;\n}\nfunction addToRender(render2) {\n render2.shapes().question = question;\n render2.shapes().hexagon = hexagon;\n render2.shapes().stadium = stadium;\n render2.shapes().subroutine = subroutine;\n render2.shapes().cylinder = cylinder;\n render2.shapes().rect_left_inv_arrow = rect_left_inv_arrow;\n render2.shapes().lean_right = lean_right;\n render2.shapes().lean_left = lean_left;\n render2.shapes().trapezoid = trapezoid;\n render2.shapes().inv_trapezoid = inv_trapezoid;\n render2.shapes().rect_right_inv_arrow = rect_right_inv_arrow;\n}\nfunction addToRenderV2(addShape) {\n addShape({ question });\n addShape({ hexagon });\n addShape({ stadium });\n addShape({ subroutine });\n addShape({ cylinder });\n addShape({ rect_left_inv_arrow });\n addShape({ lean_right });\n addShape({ lean_left });\n addShape({ trapezoid });\n addShape({ inv_trapezoid });\n addShape({ rect_right_inv_arrow });\n}\nfunction insertPolygonShape(parent, w, h, points) {\n return parent.insert(\"polygon\", \":first-child\").attr(\n \"points\",\n points.map(function(d) {\n return d.x + \",\" + d.y;\n }).join(\" \")\n ).attr(\"transform\", \"translate(\" + -w / 2 + \",\" + h / 2 + \")\");\n}\nconst flowChartShapes = {\n addToRender,\n addToRenderV2\n};\nconst conf = {};\nconst setConf = function(cnf) {\n const keys = Object.keys(cnf);\n for (const key of keys) {\n conf[key] = cnf[key];\n }\n};\nconst addVertices = function(vert, g, svgId, root, _doc, diagObj) {\n const svg = !root ? select(`[id=\"${svgId}\"]`) : root.select(`[id=\"${svgId}\"]`);\n const doc = !_doc ? document : _doc;\n const keys = Object.keys(vert);\n keys.forEach(function(id) {\n const vertex = vert[id];\n let classStr = \"default\";\n if (vertex.classes.length > 0) {\n classStr = vertex.classes.join(\" \");\n }\n const styles = getStylesFromArray(vertex.styles);\n let vertexText = vertex.text !== void 0 ? vertex.text : vertex.id;\n let vertexNode;\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const node = {\n label: vertexText.replace(\n /fa[blrs]?:fa-[\\w-]+/g,\n (s) => `<i class='${s.replace(\":\", \" \")}'></i>`\n )\n };\n vertexNode = addHtmlLabel(svg, node).node();\n vertexNode.parentNode.removeChild(vertexNode);\n } else {\n const svgLabel = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"style\", styles.labelStyle.replace(\"color:\", \"fill:\"));\n const rows = vertexText.split(common.lineBreakRegex);\n for (const row of rows) {\n const tspan = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"1\");\n tspan.textContent = row;\n svgLabel.appendChild(tspan);\n }\n vertexNode = svgLabel;\n }\n let radious = 0;\n let _shape = \"\";\n switch (vertex.type) {\n case \"round\":\n radious = 5;\n _shape = \"rect\";\n break;\n case \"square\":\n _shape = \"rect\";\n break;\n case \"diamond\":\n _shape = \"question\";\n break;\n case \"hexagon\":\n _shape = \"hexagon\";\n break;\n case \"odd\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"lean_right\":\n _shape = \"lean_right\";\n break;\n case \"lean_left\":\n _shape = \"lean_left\";\n break;\n case \"trapezoid\":\n _shape = \"trapezoid\";\n break;\n case \"inv_trapezoid\":\n _shape = \"inv_trapezoid\";\n break;\n case \"odd_right\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"circle\":\n _shape = \"circle\";\n break;\n case \"ellipse\":\n _shape = \"ellipse\";\n break;\n case \"stadium\":\n _shape = \"stadium\";\n break;\n case \"subroutine\":\n _shape = \"subroutine\";\n break;\n case \"cylinder\":\n _shape = \"cylinder\";\n break;\n case \"group\":\n _shape = \"rect\";\n break;\n default:\n _shape = \"rect\";\n }\n log.warn(\"Adding node\", vertex.id, vertex.domId);\n g.setNode(diagObj.db.lookUpDomId(vertex.id), {\n labelType: \"svg\",\n labelStyle: styles.labelStyle,\n shape: _shape,\n label: vertexNode,\n rx: radious,\n ry: radious,\n class: classStr,\n style: styles.style,\n id: diagObj.db.lookUpDomId(vertex.id)\n });\n });\n};\nconst addEdges = function(edges, g, diagObj) {\n let cnt = 0;\n let defaultStyle;\n let defaultLabelStyle;\n if (edges.defaultStyle !== void 0) {\n const defaultStyles = getStylesFromArray(edges.defaultStyle);\n defaultStyle = defaultStyles.style;\n defaultLabelStyle = defaultStyles.labelStyle;\n }\n edges.forEach(function(edge) {\n cnt++;\n const linkId = \"L-\" + edge.start + \"-\" + edge.end;\n const linkNameStart = \"LS-\" + edge.start;\n const linkNameEnd = \"LE-\" + edge.end;\n const edgeData = {};\n if (edge.type === \"arrow_open\") {\n edgeData.arrowhead = \"none\";\n } else {\n edgeData.arrowhead = \"normal\";\n }\n let style = \"\";\n let labelStyle = \"\";\n if (edge.style !== void 0) {\n const styles = getStylesFromArray(edge.style);\n style = styles.style;\n labelStyle = styles.labelStyle;\n } else {\n switch (edge.stroke) {\n case \"normal\":\n style = \"fill:none\";\n if (defaultStyle !== void 0) {\n style = defaultStyle;\n }\n if (defaultLabelStyle !== void 0) {\n labelStyle = defaultLabelStyle;\n }\n break;\n case \"dotted\":\n style = \"fill:none;stroke-width:2px;stroke-dasharray:3;\";\n break;\n case \"thick\":\n style = \" stroke-width: 3.5px;fill:none\";\n break;\n }\n }\n edgeData.style = style;\n edgeData.labelStyle = labelStyle;\n if (edge.interpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);\n } else if (edges.defaultInterpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear);\n } else {\n edgeData.curve = interpolateToCurve(conf.curve, curveLinear);\n }\n if (edge.text === void 0) {\n if (edge.style !== void 0) {\n edgeData.arrowheadStyle = \"fill: #333\";\n }\n } else {\n edgeData.arrowheadStyle = \"fill: #333\";\n edgeData.labelpos = \"c\";\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n edgeData.labelType = \"html\";\n edgeData.label = `<span id=\"L-${linkId}\" class=\"edgeLabel L-${linkNameStart}' L-${linkNameEnd}\" style=\"${edgeData.labelStyle}\">${edge.text.replace(\n /fa[blrs]?:fa-[\\w-]+/g,\n (s) => `<i class='${s.replace(\":\", \" \")}'></i>`\n )}</span>`;\n } else {\n edgeData.labelType = \"text\";\n edgeData.label = edge.text.replace(common.lineBreakRegex, \"\\n\");\n if (edge.style === void 0) {\n edgeData.style = edgeData.style || \"stroke: #333; stroke-width: 1.5px;fill:none\";\n }\n edgeData.labelStyle = edgeData.labelStyle.replace(\"color:\", \"fill:\");\n }\n }\n edgeData.id = linkId;\n edgeData.class = linkNameStart + \" \" + linkNameEnd;\n edgeData.minlen = edge.length || 1;\n g.setEdge(diagObj.db.lookUpDomId(edge.start), diagObj.db.lookUpDomId(edge.end), edgeData, cnt);\n });\n};\nconst getClasses = function(text, diagObj) {\n log.info(\"Extracting classes\");\n return diagObj.db.getClasses();\n};\nconst draw = function(text, id, _version, diagObj) {\n log.info(\"Drawing flowchart\");\n const { securityLevel, flowchart: conf2 } = getConfig();\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n let dir = diagObj.db.getDirection();\n if (dir === void 0) {\n dir = \"TD\";\n }\n const nodeSpacing = conf2.nodeSpacing || 50;\n const rankSpacing = conf2.rankSpacing || 50;\n const g = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: nodeSpacing,\n ranksep: rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n let subG;\n const subGraphs = diagObj.db.getSubGraphs();\n for (let i2 = subGraphs.length - 1; i2 >= 0; i2--) {\n subG = subGraphs[i2];\n diagObj.db.addVertex(subG.id, subG.title, \"group\", void 0, subG.classes);\n }\n const vert = diagObj.db.getVertices();\n log.warn(\"Get vertices\", vert);\n const edges = diagObj.db.getEdges();\n let i = 0;\n for (i = subGraphs.length - 1; i >= 0; i--) {\n subG = subGraphs[i];\n selectAll(\"cluster\").append(\"text\");\n for (let j = 0; j < subG.nodes.length; j++) {\n log.warn(\n \"Setting subgraph\",\n subG.nodes[j],\n diagObj.db.lookUpDomId(subG.nodes[j]),\n diagObj.db.lookUpDomId(subG.id)\n );\n g.setParent(diagObj.db.lookUpDomId(subG.nodes[j]), diagObj.db.lookUpDomId(subG.id));\n }\n }\n addVertices(vert, g, id, root, doc, diagObj);\n addEdges(edges, g, diagObj);\n const render$1 = new render();\n flowChartShapes.addToRender(render$1);\n render$1.arrows().none = function normal(parent, id2, edge, type) {\n const marker = parent.append(\"marker\").attr(\"id\", id2).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerUnits\", \"strokeWidth\").attr(\"markerWidth\", 8).attr(\"markerHeight\", 6).attr(\"orient\", \"auto\");\n const path = marker.append(\"path\").attr(\"d\", \"M 0 0 L 0 0 L 0 0 z\");\n applyStyle(path, edge[type + \"Style\"]);\n };\n render$1.arrows().normal = function normal(parent, id2) {\n const marker = parent.append(\"marker\").attr(\"id\", id2).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerUnits\", \"strokeWidth\").attr(\"markerWidth\", 8).attr(\"markerHeight\", 6).attr(\"orient\", \"auto\");\n marker.append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"class\", \"arrowheadPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n };\n const svg = root.select(`[id=\"${id}\"]`);\n const element = root.select(\"#\" + id + \" g\");\n render$1(element, g);\n element.selectAll(\"g.node\").attr(\"title\", function() {\n return diagObj.db.getTooltip(this.id);\n });\n diagObj.db.indexNodes(\"subGraph\" + i);\n for (i = 0; i < subGraphs.length; i++) {\n subG = subGraphs[i];\n if (subG.title !== \"undefined\") {\n const clusterRects = doc.querySelectorAll(\n \"#\" + id + ' [id=\"' + diagObj.db.lookUpDomId(subG.id) + '\"] rect'\n );\n const clusterEl = doc.querySelectorAll(\n \"#\" + id + ' [id=\"' + diagObj.db.lookUpDomId(subG.id) + '\"]'\n );\n const xPos = clusterRects[0].x.baseVal.value;\n const yPos = clusterRects[0].y.baseVal.value;\n const _width = clusterRects[0].width.baseVal.value;\n const cluster = select(clusterEl[0]);\n const te = cluster.select(\".label\");\n te.attr(\"transform\", `translate(${xPos + _width / 2}, ${yPos + 14})`);\n te.attr(\"id\", id + \"Text\");\n for (let j = 0; j < subG.classes.length; j++) {\n clusterEl[0].classList.add(subG.classes[j]);\n }\n }\n }\n if (!conf2.htmlLabels) {\n const labels = doc.querySelectorAll('[id=\"' + id + '\"] .edgeLabel .label');\n for (const label of labels) {\n const dim = label.getBBox();\n const rect = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n rect.setAttribute(\"rx\", 0);\n rect.setAttribute(\"ry\", 0);\n rect.setAttribute(\"width\", dim.width);\n rect.setAttribute(\"height\", dim.height);\n label.insertBefore(rect, label.firstChild);\n }\n }\n setupGraphViewbox(g, svg, conf2.diagramPadding, conf2.useMaxWidth);\n const keys = Object.keys(vert);\n keys.forEach(function(key) {\n const vertex = vert[key];\n if (vertex.link) {\n const node = root.select(\"#\" + id + ' [id=\"' + diagObj.db.lookUpDomId(key) + '\"]');\n if (node) {\n const link = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"class\", vertex.classes.join(\" \"));\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"href\", vertex.link);\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"rel\", \"noopener\");\n if (securityLevel === \"sandbox\") {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", \"_top\");\n } else if (vertex.linkTarget) {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", vertex.linkTarget);\n }\n const linkNode = node.insert(function() {\n return link;\n }, \":first-child\");\n const shape = node.select(\".label-container\");\n if (shape) {\n linkNode.append(function() {\n return shape.node();\n });\n }\n const label = node.select(\".label\");\n if (label) {\n linkNode.append(function() {\n return label.node();\n });\n }\n }\n }\n });\n};\nconst flowRenderer = {\n setConf,\n addVertices,\n addEdges,\n getClasses,\n draw\n};\nconst diagram = {\n parser,\n db: flowDb,\n renderer: flowRendererV2,\n styles: flowStyles,\n init: (cnf) => {\n if (!cnf.flowchart) {\n cnf.flowchart = {};\n }\n cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n flowRenderer.setConf(cnf.flowchart);\n flowDb.clear();\n flowDb.setGen(\"gen-1\");\n }\n};\nexport {\n diagram\n};\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst channel = (color, channel) => {\n return _.lang.round(Color.parse(color)[channel]);\n};\n/* EXPORT */\nexport default channel;\n","import * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport { curveLinear, select, selectAll } from \"d3\";\nimport { k as getStylesFromArray, l as log, m as evaluate, c as getConfig, e as common, n as interpolateToCurve, u as utils, o as setupGraphViewbox } from \"./mermaid-485fd1a4.js\";\nimport { r as render } from \"./index-b0b3af87.js\";\nimport { addHtmlLabel } from \"dagre-d3-es/src/dagre-js/label/add-html-label.js\";\nimport * as khroma from \"khroma\";\nconst conf = {};\nconst setConf = function(cnf) {\n const keys = Object.keys(cnf);\n for (const key of keys) {\n conf[key] = cnf[key];\n }\n};\nconst addVertices = function(vert, g, svgId, root, doc, diagObj) {\n const svg = root.select(`[id=\"${svgId}\"]`);\n const keys = Object.keys(vert);\n keys.forEach(function(id) {\n const vertex = vert[id];\n let classStr = \"default\";\n if (vertex.classes.length > 0) {\n classStr = vertex.classes.join(\" \");\n }\n classStr = classStr + \" flowchart-label\";\n const styles = getStylesFromArray(vertex.styles);\n let vertexText = vertex.text !== void 0 ? vertex.text : vertex.id;\n let vertexNode;\n log.info(\"vertex\", vertex, vertex.labelType);\n if (vertex.labelType === \"markdown\") {\n log.info(\"vertex\", vertex, vertex.labelType);\n } else {\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const node = {\n label: vertexText.replace(\n /fa[blrs]?:fa-[\\w-]+/g,\n (s) => `<i class='${s.replace(\":\", \" \")}'></i>`\n )\n };\n vertexNode = addHtmlLabel(svg, node).node();\n vertexNode.parentNode.removeChild(vertexNode);\n } else {\n const svgLabel = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"style\", styles.labelStyle.replace(\"color:\", \"fill:\"));\n const rows = vertexText.split(common.lineBreakRegex);\n for (const row of rows) {\n const tspan = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"1\");\n tspan.textContent = row;\n svgLabel.appendChild(tspan);\n }\n vertexNode = svgLabel;\n }\n }\n let radious = 0;\n let _shape = \"\";\n switch (vertex.type) {\n case \"round\":\n radious = 5;\n _shape = \"rect\";\n break;\n case \"square\":\n _shape = \"rect\";\n break;\n case \"diamond\":\n _shape = \"question\";\n break;\n case \"hexagon\":\n _shape = \"hexagon\";\n break;\n case \"odd\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"lean_right\":\n _shape = \"lean_right\";\n break;\n case \"lean_left\":\n _shape = \"lean_left\";\n break;\n case \"trapezoid\":\n _shape = \"trapezoid\";\n break;\n case \"inv_trapezoid\":\n _shape = \"inv_trapezoid\";\n break;\n case \"odd_right\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"circle\":\n _shape = \"circle\";\n break;\n case \"ellipse\":\n _shape = \"ellipse\";\n break;\n case \"stadium\":\n _shape = \"stadium\";\n break;\n case \"subroutine\":\n _shape = \"subroutine\";\n break;\n case \"cylinder\":\n _shape = \"cylinder\";\n break;\n case \"group\":\n _shape = \"rect\";\n break;\n case \"doublecircle\":\n _shape = \"doublecircle\";\n break;\n default:\n _shape = \"rect\";\n }\n g.setNode(vertex.id, {\n labelStyle: styles.labelStyle,\n shape: _shape,\n labelText: vertexText,\n labelType: vertex.labelType,\n rx: radious,\n ry: radious,\n class: classStr,\n style: styles.style,\n id: vertex.id,\n link: vertex.link,\n linkTarget: vertex.linkTarget,\n tooltip: diagObj.db.getTooltip(vertex.id) || \"\",\n domId: diagObj.db.lookUpDomId(vertex.id),\n haveCallback: vertex.haveCallback,\n width: vertex.type === \"group\" ? 500 : void 0,\n dir: vertex.dir,\n type: vertex.type,\n props: vertex.props,\n padding: getConfig().flowchart.padding\n });\n log.info(\"setNode\", {\n labelStyle: styles.labelStyle,\n labelType: vertex.labelType,\n shape: _shape,\n labelText: vertexText,\n rx: radious,\n ry: radious,\n class: classStr,\n style: styles.style,\n id: vertex.id,\n domId: diagObj.db.lookUpDomId(vertex.id),\n width: vertex.type === \"group\" ? 500 : void 0,\n type: vertex.type,\n dir: vertex.dir,\n props: vertex.props,\n padding: getConfig().flowchart.padding\n });\n });\n};\nconst addEdges = function(edges, g, diagObj) {\n log.info(\"abc78 edges = \", edges);\n let cnt = 0;\n let linkIdCnt = {};\n let defaultStyle;\n let defaultLabelStyle;\n if (edges.defaultStyle !== void 0) {\n const defaultStyles = getStylesFromArray(edges.defaultStyle);\n defaultStyle = defaultStyles.style;\n defaultLabelStyle = defaultStyles.labelStyle;\n }\n edges.forEach(function(edge) {\n cnt++;\n const linkIdBase = \"L-\" + edge.start + \"-\" + edge.end;\n if (linkIdCnt[linkIdBase] === void 0) {\n linkIdCnt[linkIdBase] = 0;\n log.info(\"abc78 new entry\", linkIdBase, linkIdCnt[linkIdBase]);\n } else {\n linkIdCnt[linkIdBase]++;\n log.info(\"abc78 new entry\", linkIdBase, linkIdCnt[linkIdBase]);\n }\n let linkId = linkIdBase + \"-\" + linkIdCnt[linkIdBase];\n log.info(\"abc78 new link id to be used is\", linkIdBase, linkId, linkIdCnt[linkIdBase]);\n const linkNameStart = \"LS-\" + edge.start;\n const linkNameEnd = \"LE-\" + edge.end;\n const edgeData = { style: \"\", labelStyle: \"\" };\n edgeData.minlen = edge.length || 1;\n if (edge.type === \"arrow_open\") {\n edgeData.arrowhead = \"none\";\n } else {\n edgeData.arrowhead = \"normal\";\n }\n edgeData.arrowTypeStart = \"arrow_open\";\n edgeData.arrowTypeEnd = \"arrow_open\";\n switch (edge.type) {\n case \"double_arrow_cross\":\n edgeData.arrowTypeStart = \"arrow_cross\";\n case \"arrow_cross\":\n edgeData.arrowTypeEnd = \"arrow_cross\";\n break;\n case \"double_arrow_point\":\n edgeData.arrowTypeStart = \"arrow_point\";\n case \"arrow_point\":\n edgeData.arrowTypeEnd = \"arrow_point\";\n break;\n case \"double_arrow_circle\":\n edgeData.arrowTypeStart = \"arrow_circle\";\n case \"arrow_circle\":\n edgeData.arrowTypeEnd = \"arrow_circle\";\n break;\n }\n let style = \"\";\n let labelStyle = \"\";\n switch (edge.stroke) {\n case \"normal\":\n style = \"fill:none;\";\n if (defaultStyle !== void 0) {\n style = defaultStyle;\n }\n if (defaultLabelStyle !== void 0) {\n labelStyle = defaultLabelStyle;\n }\n edgeData.thickness = \"normal\";\n edgeData.pattern = \"solid\";\n break;\n case \"dotted\":\n edgeData.thickness = \"normal\";\n edgeData.pattern = \"dotted\";\n edgeData.style = \"fill:none;stroke-width:2px;stroke-dasharray:3;\";\n break;\n case \"thick\":\n edgeData.thickness = \"thick\";\n edgeData.pattern = \"solid\";\n edgeData.style = \"stroke-width: 3.5px;fill:none;\";\n break;\n case \"invisible\":\n edgeData.thickness = \"invisible\";\n edgeData.pattern = \"solid\";\n edgeData.style = \"stroke-width: 0;fill:none;\";\n break;\n }\n if (edge.style !== void 0) {\n const styles = getStylesFromArray(edge.style);\n style = styles.style;\n labelStyle = styles.labelStyle;\n }\n edgeData.style = edgeData.style += style;\n edgeData.labelStyle = edgeData.labelStyle += labelStyle;\n if (edge.interpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);\n } else if (edges.defaultInterpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear);\n } else {\n edgeData.curve = interpolateToCurve(conf.curve, curveLinear);\n }\n if (edge.text === void 0) {\n if (edge.style !== void 0) {\n edgeData.arrowheadStyle = \"fill: #333\";\n }\n } else {\n edgeData.arrowheadStyle = \"fill: #333\";\n edgeData.labelpos = \"c\";\n }\n edgeData.labelType = edge.labelType;\n edgeData.label = edge.text.replace(common.lineBreakRegex, \"\\n\");\n if (edge.style === void 0) {\n edgeData.style = edgeData.style || \"stroke: #333; stroke-width: 1.5px;fill:none;\";\n }\n edgeData.labelStyle = edgeData.labelStyle.replace(\"color:\", \"fill:\");\n edgeData.id = linkId;\n edgeData.classes = \"flowchart-link \" + linkNameStart + \" \" + linkNameEnd;\n g.setEdge(edge.start, edge.end, edgeData, cnt);\n });\n};\nconst getClasses = function(text, diagObj) {\n return diagObj.db.getClasses();\n};\nconst draw = async function(text, id, _version, diagObj) {\n log.info(\"Drawing flowchart\");\n let dir = diagObj.db.getDirection();\n if (dir === void 0) {\n dir = \"TD\";\n }\n const { securityLevel, flowchart: conf2 } = getConfig();\n const nodeSpacing = conf2.nodeSpacing || 50;\n const rankSpacing = conf2.rankSpacing || 50;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n const g = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: nodeSpacing,\n ranksep: rankSpacing,\n marginx: 0,\n marginy: 0\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n let subG;\n const subGraphs = diagObj.db.getSubGraphs();\n log.info(\"Subgraphs - \", subGraphs);\n for (let i2 = subGraphs.length - 1; i2 >= 0; i2--) {\n subG = subGraphs[i2];\n log.info(\"Subgraph - \", subG);\n diagObj.db.addVertex(\n subG.id,\n { text: subG.title, type: subG.labelType },\n \"group\",\n void 0,\n subG.classes,\n subG.dir\n );\n }\n const vert = diagObj.db.getVertices();\n const edges = diagObj.db.getEdges();\n log.info(\"Edges\", edges);\n let i = 0;\n for (i = subGraphs.length - 1; i >= 0; i--) {\n subG = subGraphs[i];\n selectAll(\"cluster\").append(\"text\");\n for (let j = 0; j < subG.nodes.length; j++) {\n log.info(\"Setting up subgraphs\", subG.nodes[j], subG.id);\n g.setParent(subG.nodes[j], subG.id);\n }\n }\n addVertices(vert, g, id, root, doc, diagObj);\n addEdges(edges, g);\n const svg = root.select(`[id=\"${id}\"]`);\n const element = root.select(\"#\" + id + \" g\");\n await render(element, g, [\"point\", \"circle\", \"cross\"], \"flowchart\", id);\n utils.insertTitle(svg, \"flowchartTitleText\", conf2.titleTopMargin, diagObj.db.getDiagramTitle());\n setupGraphViewbox(g, svg, conf2.diagramPadding, conf2.useMaxWidth);\n diagObj.db.indexNodes(\"subGraph\" + i);\n if (!conf2.htmlLabels) {\n const labels = doc.querySelectorAll('[id=\"' + id + '\"] .edgeLabel .label');\n for (const label of labels) {\n const dim = label.getBBox();\n const rect = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n rect.setAttribute(\"rx\", 0);\n rect.setAttribute(\"ry\", 0);\n rect.setAttribute(\"width\", dim.width);\n rect.setAttribute(\"height\", dim.height);\n label.insertBefore(rect, label.firstChild);\n }\n }\n const keys = Object.keys(vert);\n keys.forEach(function(key) {\n const vertex = vert[key];\n if (vertex.link) {\n const node = select(\"#\" + id + ' [id=\"' + key + '\"]');\n if (node) {\n const link = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"class\", vertex.classes.join(\" \"));\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"href\", vertex.link);\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"rel\", \"noopener\");\n if (securityLevel === \"sandbox\") {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", \"_top\");\n } else if (vertex.linkTarget) {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", vertex.linkTarget);\n }\n const linkNode = node.insert(function() {\n return link;\n }, \":first-child\");\n const shape = node.select(\".label-container\");\n if (shape) {\n linkNode.append(function() {\n return shape.node();\n });\n }\n const label = node.select(\".label\");\n if (label) {\n linkNode.append(function() {\n return label.node();\n });\n }\n }\n }\n });\n};\nconst flowRendererV2 = {\n setConf,\n addVertices,\n addEdges,\n getClasses,\n draw\n};\nconst fade = (color, opacity) => {\n const channel = khroma.channel;\n const r = channel(color, \"r\");\n const g = channel(color, \"g\");\n const b = channel(color, \"b\");\n return khroma.rgba(r, g, b, opacity);\n};\nconst getStyles = (options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span,p {\n color: ${options.titleColor};\n }\n\n .label text,span,p {\n fill: ${options.nodeTextColor || options.textColor};\n color: ${options.nodeTextColor || options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground, 0.5)};\n // background-color: \n }\n\n .cluster rect {\n fill: ${options.clusterBkg};\n stroke: ${options.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span,p {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n`;\nconst flowStyles = getStyles;\nexport {\n flowStyles as a,\n flowRendererV2 as f\n};\n"],"names":["addHtmlLabel","root","node","fo","append","attr","div","label","insert","html","labelStyle","style","client","getBoundingClientRect","width","height","isSubgraph","g","v","children","length","edgeToId","e","escapeId","w","name","ID_DELIM","str","String","replace","applyStyle","dom","styleFn","applyClass","classFn","otherClasses","applyTransition","selection","graph","transition","conf","flowRenderer","cnf","keys","Object","key","diagram","parser","db","f","renderer","styles","init","flowchart","arrowMarkerAbsolute","clear","setGen","color","channel","lang","round","parse","addVertices","vert","svgId","doc","diagObj","svg","select","forEach","id","vertex","classStr","classes","join","vertexNode","vertexText","text","l","info","labelType","htmlLabels","s","parentNode","removeChild","svgLabel","createElementNS","setAttribute","rows","split","lineBreakRegex","row","tspan","setAttributeNS","textContent","appendChild","radious","_shape","type","setNode","shape","labelText","rx","ry","class","link","linkTarget","tooltip","getTooltip","domId","lookUpDomId","haveCallback","dir","props","padding","addEdges","edges","defaultStyle","defaultLabelStyle","cnt","linkIdCnt","defaultStyles","edge","linkIdBase","start","end","linkId","linkNameStart","linkNameEnd","edgeData","minlen","arrowhead","arrowTypeStart","arrowTypeEnd","stroke","thickness","pattern","interpolate","curve","curveLinear","defaultInterpolate","arrowheadStyle","labelpos","setEdge","flowRendererV2","setConf","getClasses","draw","async","_version","getDirection","securityLevel","conf2","nodeSpacing","rankSpacing","sandboxElement","nodes","contentDocument","body","document","graphlib","Graph","multigraph","compound","setGraph","rankdir","nodesep","ranksep","marginx","marginy","setDefaultEdgeLabel","subG","subGraphs","getSubGraphs","i2","addVertex","title","getVertices","getEdges","i","selectAll","j","setParent","element","r","u","insertTitle","titleTopMargin","getDiagramTitle","diagramPadding","useMaxWidth","indexNodes","labels","querySelectorAll","dim","getBBox","rect","insertBefore","firstChild","linkNode","flowStyles","options","fontFamily","nodeTextColor","textColor","titleColor","mainBkg","nodeBorder","arrowheadColor","lineColor","edgeLabelBackground","opacity","b","fade","clusterBkg","clusterBorder","tertiaryColor","border2"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
"use strict";(globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[]).push([[923],{923:(t,n,e)=>{e.r(n),e.d(n,{diagram:()=>H});var i=e(2801),s=e(4655);function r(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let i=-1;for(let s of t)null!=(s=n(s,++i,t))&&(e>s||void 0===e&&s>=s)&&(e=s)}return e}function o(t){return t.target.depth}function l(t,n){return t.sourceLinks.length?t.depth:n-1}function c(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let i=-1;for(let s of t)(s=+n(s,++i,t))&&(e+=s)}return e}function h(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e<n||void 0===e&&n>=n)&&(e=n);else{let i=-1;for(let s of t)null!=(s=n(s,++i,t))&&(e<s||void 0===e&&s>=s)&&(e=s)}return e}function a(t){return function(){return t}}function u(t,n){return y(t.source,n.source)||t.index-n.index}function f(t,n){return y(t.target,n.target)||t.index-n.index}function y(t,n){return t.y0-n.y0}function d(t){return t.value}function p(t){return t.index}function g(t){return t.nodes}function _(t){return t.links}function x(t,n){const e=t.get(n);if(!e)throw new Error("missing: "+n);return e}function k({nodes:t}){for(const n of t){let t=n.y0,e=t;for(const e of n.sourceLinks)e.y0=t+e.width/2,t+=e.width;for(const t of n.targetLinks)t.y1=e+t.width/2,e+=t.width}}function m(){let t,n,e,i=0,s=0,o=1,m=1,v=24,b=8,w=p,E=l,L=g,A=_,S=6;function M(){const l={nodes:L.apply(null,arguments),links:A.apply(null,arguments)};return function({nodes:t,links:n}){for(const[n,e]of t.entries())e.index=n,e.sourceLinks=[],e.targetLinks=[];const i=new Map(t.map(((n,e)=>[w(n,e,t),n])));for(const[t,e]of n.entries()){e.index=t;let{source:n,target:s}=e;"object"!=typeof n&&(n=e.source=x(i,n)),"object"!=typeof s&&(s=e.target=x(i,s)),n.sourceLinks.push(e),s.targetLinks.push(e)}if(null!=e)for(const{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(l),function({nodes:t}){for(const n of t)n.value=void 0===n.fixedValue?Math.max(c(n.sourceLinks,d),c(n.targetLinks,d)):n.fixedValue}(l),function({nodes:t}){const n=t.length;let e=new Set(t),i=new Set,s=0;for(;e.size;){for(const t of e){t.depth=s;for(const{target:n}of t.sourceLinks)i.add(n)}if(++s>n)throw new Error("circular link");e=i,i=new Set}}(l),function({nodes:t}){const n=t.length;let e=new Set(t),i=new Set,s=0;for(;e.size;){for(const t of e){t.height=s;for(const{source:n}of t.targetLinks)i.add(n)}if(++s>n)throw new Error("circular link");e=i,i=new Set}}(l),function(e){const l=function({nodes:t}){const e=h(t,(t=>t.depth))+1,s=(o-i-v)/(e-1),r=new Array(e);for(const n of t){const t=Math.max(0,Math.min(e-1,Math.floor(E.call(null,n,e))));n.layer=t,n.x0=i+t*s,n.x1=n.x0+v,r[t]?r[t].push(n):r[t]=[n]}if(n)for(const t of r)t.sort(n);return r}(e);t=Math.min(b,(m-s)/(h(l,(t=>t.length))-1)),function(n){const e=r(n,(n=>(m-s-(n.length-1)*t)/c(n,d)));for(const i of n){let n=s;for(const s of i){s.y0=n,s.y1=n+s.value*e,n=s.y1+t;for(const t of s.sourceLinks)t.width=t.value*e}n=(m-n+t)/(i.length+1);for(let t=0;t<i.length;++t){const e=i[t];e.y0+=n*(t+1),e.y1+=n*(t+1)}N(i)}}(l);for(let t=0;t<S;++t){const n=Math.pow(.99,t),e=Math.max(1-n,(t+1)/S);I(l,n,e),T(l,n,e)}}(l),k(l),l}function T(t,e,i){for(let s=1,r=t.length;s<r;++s){const r=t[s];for(const t of r){let n=0,i=0;for(const{source:e,value:s}of t.targetLinks){let r=s*(t.layer-e.layer);n+=$(e,t)*r,i+=r}if(!(i>0))continue;let s=(n/i-t.y0)*e;t.y0+=s,t.y1+=s,P(t)}void 0===n&&r.sort(y),O(r,i)}}function I(t,e,i){for(let s=t.length-2;s>=0;--s){const r=t[s];for(const t of r){let n=0,i=0;for(const{target:e,value:s}of t.sourceLinks){let r=s*(e.layer-t.layer);n+=j(t,e)*r,i+=r}if(!(i>0))continue;let s=(n/i-t.y0)*e;t.y0+=s,t.y1+=s,P(t)}void 0===n&&r.sort(y),O(r,i)}}function O(n,e){const i=n.length>>1,r=n[i];D(n,r.y0-t,i-1,e),C(n,r.y1+t,i+1,e),D(n,m,n.length-1,e),C(n,s,0,e)}function C(n,e,i,s){for(;i<n.length;++i){const r=n[i],o=(e-r.y0)*s;o>1e-6&&(r.y0+=o,r.y1+=o),e=r.y1+t}}function D(n,e,i,s){for(;i>=0;--i){const r=n[i],o=(r.y1-e)*s;o>1e-6&&(r.y0-=o,r.y1-=o),e=r.y0-t}}function P({sourceLinks:t,targetLinks:n}){if(void 0===e){for(const{source:{sourceLinks:t}}of n)t.sort(f);for(const{target:{targetLinks:n}}of t)n.sort(u)}}function N(t){if(void 0===e)for(const{sourceLinks:n,targetLinks:e}of t)n.sort(f),e.sort(u)}function $(n,e){let i=n.y0-(n.sourceLinks.length-1)*t/2;for(const{target:s,width:r}of n.sourceLinks){if(s===e)break;i+=r+t}for(const{source:t,width:s}of e.targetLinks){if(t===n)break;i-=s}return i}function j(n,e){let i=e.y0-(e.targetLinks.length-1)*t/2;for(const{source:s,width:r}of e.targetLinks){if(s===n)break;i+=r+t}for(const{target:t,width:s}of n.sourceLinks){if(t===e)break;i-=s}return i}return M.update=function(t){return k(t),t},M.nodeId=function(t){return arguments.length?(w="function"==typeof t?t:a(t),M):w},M.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:a(t),M):E},M.nodeSort=function(t){return arguments.length?(n=t,M):n},M.nodeWidth=function(t){return arguments.length?(v=+t,M):v},M.nodePadding=function(n){return arguments.length?(b=t=+n,M):b},M.nodes=function(t){return arguments.length?(L="function"==typeof t?t:a(t),M):L},M.links=function(t){return arguments.length?(A="function"==typeof t?t:a(t),M):A},M.linkSort=function(t){return arguments.length?(e=t,M):e},M.size=function(t){return arguments.length?(i=s=0,o=+t[0],m=+t[1],M):[o-i,m-s]},M.extent=function(t){return arguments.length?(i=+t[0][0],o=+t[1][0],s=+t[0][1],m=+t[1][1],M):[[i,s],[o,m]]},M.iterations=function(t){return arguments.length?(S=+t,M):S},M}var v=Math.PI,b=2*v,w=1e-6,E=b-w;function L(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function A(){return new L}L.prototype=A.prototype={constructor:L,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,i){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+i)},bezierCurveTo:function(t,n,e,i,s,r){this._+="C"+ +t+","+ +n+","+ +e+","+ +i+","+(this._x1=+s)+","+(this._y1=+r)},arcTo:function(t,n,e,i,s){t=+t,n=+n,e=+e,i=+i,s=+s;var r=this._x1,o=this._y1,l=e-t,c=i-n,h=r-t,a=o-n,u=h*h+a*a;if(s<0)throw new Error("negative radius: "+s);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(u>w)if(Math.abs(a*l-c*h)>w&&s){var f=e-r,y=i-o,d=l*l+c*c,p=f*f+y*y,g=Math.sqrt(d),_=Math.sqrt(u),x=s*Math.tan((v-Math.acos((d+u-p)/(2*g*_)))/2),k=x/_,m=x/g;Math.abs(k-1)>w&&(this._+="L"+(t+k*h)+","+(n+k*a)),this._+="A"+s+","+s+",0,0,"+ +(a*f>h*y)+","+(this._x1=t+m*l)+","+(this._y1=n+m*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,i,s,r){t=+t,n=+n,r=!!r;var o=(e=+e)*Math.cos(i),l=e*Math.sin(i),c=t+o,h=n+l,a=1^r,u=r?i-s:s-i;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+h:(Math.abs(this._x1-c)>w||Math.abs(this._y1-h)>w)&&(this._+="L"+c+","+h),e&&(u<0&&(u=u%b+b),u>E?this._+="A"+e+","+e+",0,1,"+a+","+(t-o)+","+(n-l)+"A"+e+","+e+",0,1,"+a+","+(this._x1=c)+","+(this._y1=h):u>w&&(this._+="A"+e+","+e+",0,"+ +(u>=v)+","+a+","+(this._x1=t+e*Math.cos(s))+","+(this._y1=n+e*Math.sin(s))))},rect:function(t,n,e,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +i+"h"+-e+"Z"},toString:function(){return this._}};const S=A;var M=Array.prototype.slice;function T(t){return function(){return t}}function I(t){return t[0]}function O(t){return t[1]}function C(t){return t.source}function D(t){return t.target}function P(t){var n=C,e=D,i=I,s=O,r=null;function o(){var o,l=M.call(arguments),c=n.apply(this,l),h=e.apply(this,l);if(r||(r=o=S()),t(r,+i.apply(this,(l[0]=c,l)),+s.apply(this,l),+i.apply(this,(l[0]=h,l)),+s.apply(this,l)),o)return r=null,o+""||null}return o.source=function(t){return arguments.length?(n=t,o):n},o.target=function(t){return arguments.length?(e=t,o):e},o.x=function(t){return arguments.length?(i="function"==typeof t?t:T(+t),o):i},o.y=function(t){return arguments.length?(s="function"==typeof t?t:T(+t),o):s},o.context=function(t){return arguments.length?(r=null==t?null:t,o):r},o}function N(t,n,e,i,s){t.moveTo(n,e),t.bezierCurveTo(n=(n+i)/2,e,n,s,i,s)}function $(t){return[t.source.x1,t.y0]}function j(t){return[t.target.x0,t.y1]}function z(){return P(N).source($).target(j)}e(8879),e(2659),e(5368);var F=function(){var t=function(t,n,e,i){for(e=e||{},i=t.length;i--;e[t[i]]=n);return e},n=[1,9],e=[1,10],i=[1,5,10,12],s={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(t,n,e,i,s,r,o){var l=r.length-1;switch(s){case 7:const t=i.findOrCreateNode(r[l-4].trim().replaceAll('""','"')),n=i.findOrCreateNode(r[l-2].trim().replaceAll('""','"')),e=parseFloat(r[l].trim());i.addLink(t,n,e);break;case 8:case 9:case 11:this.$=r[l];break;case 10:this.$=r[l-1]}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:e},{1:[2,6],7:11,10:[1,12]},t(e,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(e,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:e},{15:18,16:7,17:8,18:n,20:e},{18:[1,19]},t(e,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:n,20:e},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(t,n){if(!n.recoverable){var e=new Error(t);throw e.hash=n,e}this.trace(t)},parse:function(t){var n=this,e=[0],i=[],s=[null],r=[],o=this.table,l="",c=0,h=0,a=r.slice.call(arguments,1),u=Object.create(this.lexer),f={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(f.yy[y]=this.yy[y]);u.setInput(t,f.yy),f.yy.lexer=u,f.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var d=u.yylloc;r.push(d);var p=u.options&&u.options.ranges;"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,_,x,k,m,v,b,w,E,L={};;){if(_=e[e.length-1],this.defaultActions[_]?x=this.defaultActions[_]:(null==g&&(E=void 0,"number"!=typeof(E=i.pop()||u.lex()||1)&&(E instanceof Array&&(E=(i=E).pop()),E=n.symbols_[E]||E),g=E),x=o[_]&&o[_][g]),void 0===x||!x.length||!x[0]){var A="";for(m in w=[],o[_])this.terminals_[m]&&m>2&&w.push("'"+this.terminals_[m]+"'");A=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(A,{text:u.match,token:this.terminals_[g]||g,line:u.yylineno,loc:d,expected:w})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+g);switch(x[0]){case 1:e.push(g),s.push(u.yytext),r.push(u.yylloc),e.push(x[1]),g=null,h=u.yyleng,l=u.yytext,c=u.yylineno,d=u.yylloc;break;case 2:if(v=this.productions_[x[1]][1],L.$=s[s.length-v],L._$={first_line:r[r.length-(v||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(v||1)].first_column,last_column:r[r.length-1].last_column},p&&(L._$.range=[r[r.length-(v||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply(L,[l,h,c,f.yy,x[1],s,r].concat(a))))return k;v&&(e=e.slice(0,-1*v*2),s=s.slice(0,-1*v),r=r.slice(0,-1*v)),e.push(this.productions_[x[1]][0]),s.push(L.$),r.push(L._$),b=o[e[e.length-2]][e[e.length-1]],e.push(b);break;case 3:return!0}}return!0}},r={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.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),t},unput:function(t){var n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var i=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),e.length-1&&(this.yylineno-=e.length-1);var s=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:e?(e.length===i.length?this.yylloc.first_column:0)+i[i.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"},test_match:function(t,n){var e,i,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,n,e,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;r<s.length;r++)if((e=this._input.match(this.rules[s[r]]))&&(!n||e[0].length>n[0].length)){if(n=e,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,s[r])))return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?!1!==(t=this.test_match(n,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(t,n,e,i){switch(e){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};function o(){this.yy={}}return s.lexer=r,o.prototype=s,s.Parser=o,new o}();F.parser=F;const U=F;let W=[],q=[],G={};class V{constructor(t,n,e=0){this.source=t,this.target=n,this.value=e}}class X{constructor(t){this.ID=t}}const Q={nodesMap:G,getConfig:()=>(0,i.c)().sankey,getNodes:()=>q,getLinks:()=>W,getGraph:()=>({nodes:q.map((t=>({id:t.ID}))),links:W.map((t=>({source:t.source.ID,target:t.target.ID,value:t.value})))}),addLink:(t,n,e)=>{W.push(new V(t,n,e))},findOrCreateNode:t=>(t=i.e.sanitizeText(t,(0,i.c)()),G[t]||(G[t]=new X(t),q.push(G[t])),G[t]),getAccTitle:i.g,setAccTitle:i.s,getAccDescription:i.a,setAccDescription:i.b,getDiagramTitle:i.r,setDiagramTitle:i.q,clear:()=>{W=[],q=[],G={},(0,i.t)()}},Y=class{static next(t){return new Y(t+ ++Y.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}};let B=Y;B.count=0;const K={left:function(t){return t.depth},right:function(t,n){return n-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?r(t.sourceLinks,o)-1:0},justify:l},R={draw:function(t,n,e,r){const{securityLevel:o,sankey:l}=(0,i.c)(),c=i.I.sankey;let h;"sandbox"===o&&(h=(0,s.select)("#i"+n));const a="sandbox"===o?(0,s.select)(h.nodes()[0].contentDocument.body):(0,s.select)("body"),u="sandbox"===o?a.select(`[id="${n}"]`):(0,s.select)(`[id="${n}"]`),f=(null==l?void 0:l.width)??c.width,y=(null==l?void 0:l.height)??c.width,d=(null==l?void 0:l.useMaxWidth)??c.useMaxWidth,p=(null==l?void 0:l.nodeAlignment)??c.nodeAlignment,g=(null==l?void 0:l.prefix)??c.prefix,_=(null==l?void 0:l.suffix)??c.suffix,x=(null==l?void 0:l.showValues)??c.showValues;(0,i.i)(u,y,f,d);const k=r.db.getGraph(),v=K[p];m().nodeId((t=>t.id)).nodeWidth(10).nodePadding(10+(x?15:0)).nodeAlign(v).extent([[0,0],[f,y]])(k);const b=(0,s.scaleOrdinal)(s.schemeTableau10);u.append("g").attr("class","nodes").selectAll(".node").data(k.nodes).join("g").attr("class","node").attr("id",(t=>(t.uid=B.next("node-")).id)).attr("transform",(function(t){return"translate("+t.x0+","+t.y0+")"})).attr("x",(t=>t.x0)).attr("y",(t=>t.y0)).append("rect").attr("height",(t=>t.y1-t.y0)).attr("width",(t=>t.x1-t.x0)).attr("fill",(t=>b(t.id)));u.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(k.nodes).join("text").attr("x",(t=>t.x0<f/2?t.x1+6:t.x0-6)).attr("y",(t=>(t.y1+t.y0)/2)).attr("dy",(x?"0":"0.35")+"em").attr("text-anchor",(t=>t.x0<f/2?"start":"end")).text((({id:t,value:n})=>x?`${t}\n${g}${Math.round(100*n)/100}${_}`:t));const w=u.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(k.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),E=(null==l?void 0:l.linkColor)||"gradient";if("gradient"===E){const t=w.append("linearGradient").attr("id",(t=>(t.uid=B.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(t=>t.source.x1)).attr("x2",(t=>t.target.x0));t.append("stop").attr("offset","0%").attr("stop-color",(t=>b(t.source.id))),t.append("stop").attr("offset","100%").attr("stop-color",(t=>b(t.target.id)))}let L;switch(E){case"gradient":L=t=>t.uid;break;case"source":L=t=>b(t.source.id);break;case"target":L=t=>b(t.target.id);break;default:L=E}w.append("path").attr("d",z()).attr("stroke",L).attr("stroke-width",(t=>Math.max(1,t.width)))}},Z=U.parse.bind(U);U.parse=t=>Z((t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim())(t));const H={parser:U,db:Q,renderer:R}}}]);
|
2
|
-
//# sourceMappingURL=923.js.map
|
2
|
+
//# sourceMappingURL=923.1933c869.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"static/923.1933c869.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-sankey/node_modules/d3-array/src/min.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-sankey/src/align.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-sankey/node_modules/d3-array/src/sum.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-sankey/node_modules/d3-array/src/max.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-sankey/src/constant.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-sankey/src/sankey.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-shape/node_modules/d3-path/src/path.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-shape/src/array.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-shape/src/constant.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-shape/src/point.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-shape/src/link/index.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/d3-sankey/src/sankeyLinkHorizontal.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/sankeyDiagram-31fcfff2.js"],"sourcesContent":["export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import {min} from \"d3-array\";\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nexport function left(node) {\n return node.depth;\n}\n\nexport function right(node, n) {\n return n - 1 - node.height;\n}\n\nexport function justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nexport function center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? min(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function constant(x) {\n return function() {\n return x;\n };\n}\n","import {max, min, sum} from \"d3-array\";\nimport {justify} from \"./align.js\";\nimport constant from \"./constant.js\";\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\nfunction computeLinkBreadths({nodes}) {\n for (const node of nodes) {\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks) {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks) {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\n\nexport default function Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n\n function sankey() {\n const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : constant(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : constant(_), sankey) : align;\n };\n\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : constant(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : constant(_), sankey) : links;\n };\n\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n function computeNodeLinks({nodes, links}) {\n for (const [i, node] of nodes.entries()) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d]));\n for (const [i, link] of links.entries()) {\n link.index = i;\n let {source, target} = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n\n function computeNodeValues({nodes}) {\n for (const node of nodes) {\n node.value = node.fixedValue === undefined\n ? Math.max(sum(node.sourceLinks, value), sum(node.targetLinks, value))\n : node.fixedValue;\n }\n }\n\n function computeNodeDepths({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.depth = x;\n for (const {target} of node.sourceLinks) {\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeHeights({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.height = x;\n for (const {source} of node.targetLinks) {\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeLayers({nodes}) {\n const x = max(nodes, d => d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes) {\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [node];\n }\n if (sort) for (const column of columns) {\n column.sort(sort);\n }\n return columns;\n }\n\n function initializeNodeBreadths(columns) {\n const ky = min(columns, c => (y1 - y0 - (c.length - 1) * py) / sum(c, value));\n for (const nodes of columns) {\n let y = y0;\n for (const node of nodes) {\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks) {\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for (let i = 0; i < nodes.length; ++i) {\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / (max(columns, c => c.length) - 1));\n initializeNodeBreadths(columns);\n for (let i = 0; i < iterations; ++i) {\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for (let i = 1, n = columns.length; i < n; ++i) {\n const column = columns[i];\n for (const target of column) {\n let y = 0;\n let w = 0;\n for (const {source, value} of target.targetLinks) {\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for (let n = columns.length, i = n - 2; i >= 0; --i) {\n const column = columns[i];\n for (const source of column) {\n let y = 0;\n let w = 0;\n for (const {target, value} of source.sourceLinks) {\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for (; i < nodes.length; ++i) {\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for (; i >= 0; --i) {\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n\n function reorderNodeLinks({sourceLinks, targetLinks}) {\n if (linkSort === undefined) {\n for (const {source: {sourceLinks}} of targetLinks) {\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const {target: {targetLinks}} of sourceLinks) {\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y += width + py;\n }\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y += width + py;\n }\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n\n return sankey;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {linkHorizontal} from \"d3-shape\";\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\nexport default function() {\n return linkHorizontal()\n .source(horizontalSource)\n .target(horizontalTarget);\n}\n","import { c as getConfig, g as getAccTitle, s as setAccTitle, a as getAccDescription, b as setAccDescription, r as getDiagramTitle, q as setDiagramTitle, t as clear$1, e as common, I as defaultConfig, i as configureSvgSize } from \"./mermaid-485fd1a4.js\";\nimport { select, scaleOrdinal, schemeTableau10 } from \"d3\";\nimport { sankey, sankeyLinkHorizontal, sankeyLeft, sankeyRight, sankeyCenter, sankeyJustify } from \"d3-sankey\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 9], $V1 = [1, 10], $V2 = [1, 5, 10, 12];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SANKEY\": 4, \"NEWLINE\": 5, \"csv\": 6, \"opt_eof\": 7, \"record\": 8, \"csv_tail\": 9, \"EOF\": 10, \"field[source]\": 11, \"COMMA\": 12, \"field[target]\": 13, \"field[value]\": 14, \"field\": 15, \"escaped\": 16, \"non_escaped\": 17, \"DQUOTE\": 18, \"ESCAPED_TEXT\": 19, \"NON_ESCAPED_TEXT\": 20, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SANKEY\", 5: \"NEWLINE\", 10: \"EOF\", 11: \"field[source]\", 12: \"COMMA\", 13: \"field[target]\", 14: \"field[value]\", 18: \"DQUOTE\", 19: \"ESCAPED_TEXT\", 20: \"NON_ESCAPED_TEXT\" },\n productions_: [0, [3, 4], [6, 2], [9, 2], [9, 0], [7, 1], [7, 0], [8, 5], [15, 1], [15, 1], [16, 3], [17, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 7:\n const source = yy.findOrCreateNode($$[$0 - 4].trim().replaceAll('\"\"', '\"'));\n const target = yy.findOrCreateNode($$[$0 - 2].trim().replaceAll('\"\"', '\"'));\n const value = parseFloat($$[$0].trim());\n yy.addLink(source, target, value);\n break;\n case 8:\n case 9:\n case 11:\n this.$ = $$[$0];\n break;\n case 10:\n this.$ = $$[$0 - 1];\n break;\n }\n },\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, { 5: [1, 3] }, { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 1: [2, 6], 7: 11, 10: [1, 12] }, o($V1, [2, 4], { 9: 13, 5: [1, 14] }), { 12: [1, 15] }, o($V2, [2, 8]), o($V2, [2, 9]), { 19: [1, 16] }, o($V2, [2, 11]), { 1: [2, 1] }, { 1: [2, 5] }, o($V1, [2, 2]), { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 15: 18, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 18: [1, 19] }, o($V1, [2, 3]), { 12: [1, 20] }, o($V2, [2, 10]), { 15: 21, 16: 7, 17: 8, 18: $V0, 20: $V1 }, o([1, 5, 10], [2, 7])],\n defaultActions: { 11: [2, 1], 12: [2, 5] },\n parseError: 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 },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 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 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 var symbol, state, action, 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 {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\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 }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: 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 },\n // resets the lexer, sets new input\n setInput: 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 },\n // consumes and returns one char from the input\n input: 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 },\n // unshifts one char (or a string) into the input\n unput: 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 },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\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: 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 },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: 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 },\n // displays upcoming input, i.e. for error messages\n upcomingInput: 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 },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: 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 },\n // return next match in input\n next: 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 },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: 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 },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: 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 },\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: 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 },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"easy_keword_rules\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n this.pushState(\"csv\");\n return 4;\n case 1:\n return 10;\n case 2:\n return 5;\n case 3:\n return 12;\n case 4:\n this.pushState(\"escaped_text\");\n return 18;\n case 5:\n return 20;\n case 6:\n this.popState(\"escaped_text\");\n return 18;\n case 7:\n return 19;\n }\n },\n rules: [/^(?:sankey-beta\\b)/, /^(?:$)/, /^(?:((\\u000D\\u000A)|(\\u000A)))/, /^(?:(\\u002C))/, /^(?:(\\u0022))/, /^(?:([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])*)/, /^(?:(\\u0022)(?!(\\u0022)))/, /^(?:(([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])|(\\u002C)|(\\u000D)|(\\u000A)|(\\u0022)(\\u0022))*)/],\n conditions: { \"csv\": { \"rules\": [1, 2, 3, 4, 5, 6, 7], \"inclusive\": false }, \"escaped_text\": { \"rules\": [6, 7], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nlet links = [];\nlet nodes = [];\nlet nodesMap = {};\nconst clear = () => {\n links = [];\n nodes = [];\n nodesMap = {};\n clear$1();\n};\nclass SankeyLink {\n constructor(source, target, value = 0) {\n this.source = source;\n this.target = target;\n this.value = value;\n }\n}\nconst addLink = (source, target, value) => {\n links.push(new SankeyLink(source, target, value));\n};\nclass SankeyNode {\n constructor(ID) {\n this.ID = ID;\n }\n}\nconst findOrCreateNode = (ID) => {\n ID = common.sanitizeText(ID, getConfig());\n if (!nodesMap[ID]) {\n nodesMap[ID] = new SankeyNode(ID);\n nodes.push(nodesMap[ID]);\n }\n return nodesMap[ID];\n};\nconst getNodes = () => nodes;\nconst getLinks = () => links;\nconst getGraph = () => ({\n nodes: nodes.map((node) => ({ id: node.ID })),\n links: links.map((link) => ({\n source: link.source.ID,\n target: link.target.ID,\n value: link.value\n }))\n});\nconst db = {\n nodesMap,\n getConfig: () => getConfig().sankey,\n getNodes,\n getLinks,\n getGraph,\n addLink,\n findOrCreateNode,\n getAccTitle,\n setAccTitle,\n getAccDescription,\n setAccDescription,\n getDiagramTitle,\n setDiagramTitle,\n clear\n};\nconst _Uid = class {\n static next(name) {\n return new _Uid(name + ++_Uid.count);\n }\n constructor(id) {\n this.id = id;\n this.href = `#${id}`;\n }\n toString() {\n return \"url(\" + this.href + \")\";\n }\n};\nlet Uid = _Uid;\nUid.count = 0;\nconst alignmentsMap = {\n left: sankeyLeft,\n right: sankeyRight,\n center: sankeyCenter,\n justify: sankeyJustify\n};\nconst draw = function(text, id, _version, diagObj) {\n const { securityLevel, sankey: conf } = getConfig();\n const defaultSankeyConfig = defaultConfig.sankey;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : select(`[id=\"${id}\"]`);\n const width = (conf == null ? void 0 : conf.width) ?? defaultSankeyConfig.width;\n const height = (conf == null ? void 0 : conf.height) ?? defaultSankeyConfig.width;\n const useMaxWidth = (conf == null ? void 0 : conf.useMaxWidth) ?? defaultSankeyConfig.useMaxWidth;\n const nodeAlignment = (conf == null ? void 0 : conf.nodeAlignment) ?? defaultSankeyConfig.nodeAlignment;\n const prefix = (conf == null ? void 0 : conf.prefix) ?? defaultSankeyConfig.prefix;\n const suffix = (conf == null ? void 0 : conf.suffix) ?? defaultSankeyConfig.suffix;\n const showValues = (conf == null ? void 0 : conf.showValues) ?? defaultSankeyConfig.showValues;\n configureSvgSize(svg, height, width, useMaxWidth);\n const graph = diagObj.db.getGraph();\n const nodeAlign = alignmentsMap[nodeAlignment];\n const nodeWidth = 10;\n const sankey$1 = sankey().nodeId((d) => d.id).nodeWidth(nodeWidth).nodePadding(10 + (showValues ? 15 : 0)).nodeAlign(nodeAlign).extent([\n [0, 0],\n [width, height]\n ]);\n sankey$1(graph);\n const colorScheme = scaleOrdinal(schemeTableau10);\n svg.append(\"g\").attr(\"class\", \"nodes\").selectAll(\".node\").data(graph.nodes).join(\"g\").attr(\"class\", \"node\").attr(\"id\", (d) => (d.uid = Uid.next(\"node-\")).id).attr(\"transform\", function(d) {\n return \"translate(\" + d.x0 + \",\" + d.y0 + \")\";\n }).attr(\"x\", (d) => d.x0).attr(\"y\", (d) => d.y0).append(\"rect\").attr(\"height\", (d) => {\n return d.y1 - d.y0;\n }).attr(\"width\", (d) => d.x1 - d.x0).attr(\"fill\", (d) => colorScheme(d.id));\n const getText = ({ id: id2, value }) => {\n if (!showValues) {\n return id2;\n }\n return `${id2}\n${prefix}${Math.round(value * 100) / 100}${suffix}`;\n };\n svg.append(\"g\").attr(\"class\", \"node-labels\").attr(\"font-family\", \"sans-serif\").attr(\"font-size\", 14).selectAll(\"text\").data(graph.nodes).join(\"text\").attr(\"x\", (d) => d.x0 < width / 2 ? d.x1 + 6 : d.x0 - 6).attr(\"y\", (d) => (d.y1 + d.y0) / 2).attr(\"dy\", `${showValues ? \"0\" : \"0.35\"}em`).attr(\"text-anchor\", (d) => d.x0 < width / 2 ? \"start\" : \"end\").text(getText);\n const link = svg.append(\"g\").attr(\"class\", \"links\").attr(\"fill\", \"none\").attr(\"stroke-opacity\", 0.5).selectAll(\".link\").data(graph.links).join(\"g\").attr(\"class\", \"link\").style(\"mix-blend-mode\", \"multiply\");\n const linkColor = (conf == null ? void 0 : conf.linkColor) || \"gradient\";\n if (linkColor === \"gradient\") {\n const gradient = link.append(\"linearGradient\").attr(\"id\", (d) => (d.uid = Uid.next(\"linearGradient-\")).id).attr(\"gradientUnits\", \"userSpaceOnUse\").attr(\"x1\", (d) => d.source.x1).attr(\"x2\", (d) => d.target.x0);\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", (d) => colorScheme(d.source.id));\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", (d) => colorScheme(d.target.id));\n }\n let coloring;\n switch (linkColor) {\n case \"gradient\":\n coloring = (d) => d.uid;\n break;\n case \"source\":\n coloring = (d) => colorScheme(d.source.id);\n break;\n case \"target\":\n coloring = (d) => colorScheme(d.target.id);\n break;\n default:\n coloring = linkColor;\n }\n link.append(\"path\").attr(\"d\", sankeyLinkHorizontal()).attr(\"stroke\", coloring).attr(\"stroke-width\", (d) => Math.max(1, d.width));\n};\nconst renderer = {\n draw\n};\nconst prepareTextForParsing = (text) => {\n const textToParse = text.replaceAll(/^[^\\S\\n\\r]+|[^\\S\\n\\r]+$/g, \"\").replaceAll(/([\\n\\r])+/g, \"\\n\").trim();\n return textToParse;\n};\nconst originalParse = parser$1.parse.bind(parser$1);\nparser$1.parse = (text) => originalParse(prepareTextForParsing(text));\nconst diagram = {\n parser: parser$1,\n db,\n renderer\n};\nexport {\n diagram\n};\n"],"names":["min","values","valueof","undefined","value","index","targetDepth","d","target","depth","justify","node","n","sourceLinks","length","sum","max","constant","x","ascendingSourceBreadth","a","b","ascendingBreadth","source","ascendingTargetBreadth","y0","defaultId","defaultNodes","graph","nodes","defaultLinks","links","find","nodeById","id","get","Error","computeLinkBreadths","y1","link","width","targetLinks","Sankey","py","sort","linkSort","x0","x1","dx","dy","align","iterations","sankey","apply","arguments","i","entries","Map","map","push","computeNodeLinks","fixedValue","Math","computeNodeValues","current","Set","next","size","add","computeNodeDepths","height","computeNodeHeights","columns","kx","Array","floor","call","layer","column","computeNodeLayers","c","ky","y","reorderLinks","initializeNodeBreadths","alpha","pow","beta","relaxRightToLeft","relaxLeftToRight","computeNodeBreadths","w","v","targetTop","reorderNodeLinks","resolveCollisions","sourceTop","subject","resolveCollisionsBottomToTop","resolveCollisionsTopToBottom","update","nodeId","_","nodeAlign","nodeSort","nodeWidth","nodePadding","extent","pi","PI","tau","epsilon","tauEpsilon","Path","this","_x0","_y0","_x1","_y1","path","prototype","constructor","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","x2","y2","arcTo","r","x21","y21","x01","y01","l01_2","abs","x20","y20","l21_2","l20_2","l21","sqrt","l01","l","tan","acos","t01","t21","arc","a0","a1","ccw","cos","sin","cw","da","rect","h","toString","slice","p","linkSource","linkTarget","curve","context","buffer","argv","s","t","curveHorizontal","horizontalSource","horizontalTarget","parser","o","k","o2","$V0","$V1","$V2","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","findOrCreateNode","trim","replaceAll","parseFloat","addLink","$","table","defaultActions","parseError","str","hash","recoverable","error","parse","input","self","stack","tstack","vstack","lstack","args","lexer2","Object","create","lexer","sharedState","hasOwnProperty","setInput","yylloc","yyloc","ranges","options","getPrototypeOf","symbol","state","action","len","newState","expected","token","yyval","pop","lex","errStr","showPosition","join","text","match","line","loc","first_line","last_line","first_column","last_column","range","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","substr","oldLines","more","reject","backtrack_lexer","less","pastInput","past","replace","upcomingInput","pre","test_match","indexed_rule","backup","matches","tempMatch","rules","_currentRules","flex","begin","condition","popState","conditions","topState","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","Parser","parser$1","nodesMap","SankeyLink","SankeyNode","ID","db","getConfig","getNodes","getLinks","getGraph","sanitizeText","getAccTitle","setAccTitle","getAccDescription","setAccDescription","getDiagramTitle","setDiagramTitle","clear","_Uid","name","count","href","Uid","alignmentsMap","left","right","center","renderer","draw","_version","diagObj","securityLevel","conf","defaultSankeyConfig","sandboxElement","select","root","contentDocument","body","svg","useMaxWidth","nodeAlignment","prefix","suffix","showValues","sankey$1","colorScheme","scaleOrdinal","schemeTableau10","append","attr","selectAll","data","uid","id2","round","style","linkColor","gradient","coloring","sankeyLinkHorizontal","originalParse","bind","prepareTextForParsing","diagram"],"sourceRoot":""}
|