@pinkpixel/marzipan 1.1.0 → 1.1.2
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/README.md +72 -37
- package/dist/_basePickBy-D4kyG5Tu.js +152 -0
- package/dist/_basePickBy-D4kyG5Tu.js.map +1 -0
- package/dist/_baseUniq-s5uZhHMt.js +615 -0
- package/dist/_baseUniq-s5uZhHMt.js.map +1 -0
- package/dist/arc-Cd2Fw3V6.js +84 -0
- package/dist/arc-Cd2Fw3V6.js.map +1 -0
- package/dist/architectureDiagram-VXUJARFQ-ylT61Lln.js +4663 -0
- package/dist/architectureDiagram-VXUJARFQ-ylT61Lln.js.map +1 -0
- package/dist/blockDiagram-VD42YOAC-CoIxLSyQ.js +2257 -0
- package/dist/blockDiagram-VD42YOAC-CoIxLSyQ.js.map +1 -0
- package/dist/c4Diagram-YG6GDRKO-CsQimMM6.js +1581 -0
- package/dist/c4Diagram-YG6GDRKO-CsQimMM6.js.map +1 -0
- package/dist/channel-0tZUlnqz.js +6 -0
- package/dist/channel-0tZUlnqz.js.map +1 -0
- package/dist/chunk-4BX2VUAB-DVkBhLxy.js +9 -0
- package/dist/chunk-4BX2VUAB-DVkBhLxy.js.map +1 -0
- package/dist/chunk-55IACEB6-CVQcegI-.js +9 -0
- package/dist/chunk-55IACEB6-CVQcegI-.js.map +1 -0
- package/dist/chunk-B4BG7PRW-DPUTNckV.js +1376 -0
- package/dist/chunk-B4BG7PRW-DPUTNckV.js.map +1 -0
- package/dist/chunk-DI55MBZ5-F7DI2N9R.js +1371 -0
- package/dist/chunk-DI55MBZ5-F7DI2N9R.js.map +1 -0
- package/dist/chunk-FMBD7UC4-C3wNpU7V.js +20 -0
- package/dist/chunk-FMBD7UC4-C3wNpU7V.js.map +1 -0
- package/dist/chunk-QN33PNHL-BOdqrixJ.js +20 -0
- package/dist/chunk-QN33PNHL-BOdqrixJ.js.map +1 -0
- package/dist/chunk-QZHKN3VN-BFPNdgmW.js +16 -0
- package/dist/chunk-QZHKN3VN-BFPNdgmW.js.map +1 -0
- package/dist/chunk-TZMSLE5B-BZuxNW58.js +65 -0
- package/dist/chunk-TZMSLE5B-BZuxNW58.js.map +1 -0
- package/dist/classDiagram-2ON5EDUG-CiRjpBEe.js +17 -0
- package/dist/classDiagram-2ON5EDUG-CiRjpBEe.js.map +1 -0
- package/dist/classDiagram-v2-WZHVMYZB-CiRjpBEe.js +17 -0
- package/dist/classDiagram-v2-WZHVMYZB-CiRjpBEe.js.map +1 -0
- package/dist/clone-Bm_onhkP.js +9 -0
- package/dist/clone-Bm_onhkP.js.map +1 -0
- package/dist/cose-bilkent-S5V4N54A-D9xMKgKB.js +2609 -0
- package/dist/cose-bilkent-S5V4N54A-D9xMKgKB.js.map +1 -0
- package/dist/dagre-6UL2VRFP-BhIQJjaK.js +445 -0
- package/dist/dagre-6UL2VRFP-BhIQJjaK.js.map +1 -0
- package/dist/diagram-PSM6KHXK-h4YEzD1S.js +532 -0
- package/dist/diagram-PSM6KHXK-h4YEzD1S.js.map +1 -0
- package/dist/diagram-QEK2KX5R-spuV0akZ.js +218 -0
- package/dist/diagram-QEK2KX5R-spuV0akZ.js.map +1 -0
- package/dist/diagram-S2PKOQOG-CQx-wsyw.js +143 -0
- package/dist/diagram-S2PKOQOG-CQx-wsyw.js.map +1 -0
- package/dist/erDiagram-Q2GNP2WA-Cqkjjf2a.js +842 -0
- package/dist/erDiagram-Q2GNP2WA-Cqkjjf2a.js.map +1 -0
- package/dist/flowDiagram-NV44I4VS-mCXE9u9b.js +1621 -0
- package/dist/flowDiagram-NV44I4VS-mCXE9u9b.js.map +1 -0
- package/dist/ganttDiagram-JELNMOA3-Bz1GBIHE.js +2671 -0
- package/dist/ganttDiagram-JELNMOA3-Bz1GBIHE.js.map +1 -0
- package/dist/gitGraphDiagram-V2S2FVAM-Be01Oq15.js +700 -0
- package/dist/gitGraphDiagram-V2S2FVAM-Be01Oq15.js.map +1 -0
- package/dist/graph-DVWVTM7e.js +248 -0
- package/dist/graph-DVWVTM7e.js.map +1 -0
- package/dist/index-kKw24iiA.js +34 -0
- package/dist/index-kKw24iiA.js.map +1 -0
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +270 -277
- package/dist/index.js.map +1 -1
- package/dist/infoDiagram-HS3SLOUP-joTtnw9j.js +25 -0
- package/dist/infoDiagram-HS3SLOUP-joTtnw9j.js.map +1 -0
- package/dist/journeyDiagram-XKPGCS4Q-CMVu7VEd.js +835 -0
- package/dist/journeyDiagram-XKPGCS4Q-CMVu7VEd.js.map +1 -0
- package/dist/kanban-definition-3W4ZIXB7-CfanK5Eg.js +720 -0
- package/dist/kanban-definition-3W4ZIXB7-CfanK5Eg.js.map +1 -0
- package/dist/katex-Cj93GM5Y.js +11605 -0
- package/dist/katex-Cj93GM5Y.js.map +1 -0
- package/dist/layout-BC8VSiQq.js +1336 -0
- package/dist/layout-BC8VSiQq.js.map +1 -0
- package/dist/linear-GV5CIa17.js +260 -0
- package/dist/linear-GV5CIa17.js.map +1 -0
- package/dist/marzipan.d.ts +1 -2
- package/dist/marzipan.d.ts.map +1 -1
- package/dist/marzipan.js +1 -19
- package/dist/marzipan.js.map +1 -1
- package/dist/mermaid.core-cSWK5aGH.js +15302 -0
- package/dist/mermaid.core-cSWK5aGH.js.map +1 -0
- package/dist/mindmap-definition-VGOIOE7T-Vu_RTZar.js +785 -0
- package/dist/mindmap-definition-VGOIOE7T-Vu_RTZar.js.map +1 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +6 -5
- package/dist/parser.js.map +1 -1
- package/dist/pieDiagram-ADFJNKIX-BUcd1l-6.js +162 -0
- package/dist/pieDiagram-ADFJNKIX-BUcd1l-6.js.map +1 -0
- package/dist/plugins/accentSwatchPlugin.d.ts +1 -1
- package/dist/plugins/accentSwatchPlugin.d.ts.map +1 -1
- package/dist/plugins/accentSwatchPlugin.js +162 -81
- package/dist/plugins/accentSwatchPlugin.js.map +1 -1
- package/dist/plugins/block-handles.d.ts +10 -2
- package/dist/plugins/block-handles.d.ts.map +1 -1
- package/dist/plugins/block-handles.js +77 -51
- package/dist/plugins/block-handles.js.map +1 -1
- package/dist/plugins/index.d.ts +0 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +27 -29
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/mermaidPlugin.js +1 -1
- package/dist/plugins/tinyHighlight.d.ts.map +1 -1
- package/dist/plugins/tinyHighlight.js +34 -22
- package/dist/plugins/tinyHighlight.js.map +1 -1
- package/dist/quadrantDiagram-AYHSOK5B-B1ekOH99.js +1023 -0
- package/dist/quadrantDiagram-AYHSOK5B-B1ekOH99.js.map +1 -0
- package/dist/requirementDiagram-UZGBJVZJ-BNcVcwNf.js +851 -0
- package/dist/requirementDiagram-UZGBJVZJ-BNcVcwNf.js.map +1 -0
- package/dist/sankeyDiagram-TZEHDZUN-BpHcdj5K.js +811 -0
- package/dist/sankeyDiagram-TZEHDZUN-BpHcdj5K.js.map +1 -0
- package/dist/sequenceDiagram-WL72ISMW-D5UyNvsv.js +2512 -0
- package/dist/sequenceDiagram-WL72ISMW-D5UyNvsv.js.map +1 -0
- package/dist/stateDiagram-FKZM4ZOC-C8DBscXu.js +264 -0
- package/dist/stateDiagram-FKZM4ZOC-C8DBscXu.js.map +1 -0
- package/dist/stateDiagram-v2-4FDKWEC3-CHqwUDPY.js +17 -0
- package/dist/stateDiagram-v2-4FDKWEC3-CHqwUDPY.js.map +1 -0
- package/dist/timeline-definition-IT6M3QCI-Dtg0oJbr.js +796 -0
- package/dist/timeline-definition-IT6M3QCI-Dtg0oJbr.js.map +1 -0
- package/dist/treemap-GDKQZRPO-rbQo3Em-.js +17926 -0
- package/dist/treemap-GDKQZRPO-rbQo3Em-.js.map +1 -0
- package/dist/xychartDiagram-PRI3JC2R-uNpgYSnV.js +1341 -0
- package/dist/xychartDiagram-PRI3JC2R-uNpgYSnV.js.map +1 -0
- package/docs/.vitepress/config.ts +1 -1
- package/docs/README.md +6 -8
- package/docs/TABLE_OF_CONTENTS.md +4 -1
- package/docs/api.md +262 -202
- package/docs/index.md +22 -19
- package/docs/plugins.md +27 -23
- package/package.json +1 -1
- package/docs/block-handles.md +0 -325
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journeyDiagram-XKPGCS4Q-CMVu7VEd.js","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-XKPGCS4Q.mjs"],"sourcesContent":["import {\n drawBackgroundRect,\n drawRect,\n drawText,\n getNoteRect\n} from \"./chunk-TZMSLE5B.mjs\";\nimport {\n getIconStyles\n} from \"./chunk-FMBD7UC4.mjs\";\nimport {\n clear,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/user-journey/parser/journey.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 11, 12, 14, 16, 17, 18], $V1 = [1, 9], $V2 = [1, 10], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 14];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"journey\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NEWLINE\": 10, \"title\": 11, \"acc_title\": 12, \"acc_title_value\": 13, \"acc_descr\": 14, \"acc_descr_value\": 15, \"acc_descr_multiline_value\": 16, \"section\": 17, \"taskName\": 18, \"taskData\": 19, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"journey\", 6: \"EOF\", 8: \"SPACE\", 10: \"NEWLINE\", 11: \"title\", 12: \"acc_title\", 13: \"acc_title_value\", 14: \"acc_descr\", 15: \"acc_descr_value\", 16: \"acc_descr_multiline_value\", 17: \"section\", 18: \"taskName\", 19: \"taskData\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 2]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 10:\n case 11:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 12:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 13:\n yy.addTask($$[$0 - 1], $$[$0]);\n this.$ = \"task\";\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 15, 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), { 13: [1, 16] }, { 15: [1, 17] }, o($V0, [2, 11]), o($V0, [2, 12]), { 19: [1, 18] }, o($V0, [2, 4]), o($V0, [2, 9]), o($V0, [2, 10]), o($V0, [2, 13])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 10;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 4;\n break;\n case 6:\n return 11;\n break;\n case 7:\n this.begin(\"acc_title\");\n return 12;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.begin(\"acc_descr\");\n return 14;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\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 break;\n case 14:\n return 17;\n break;\n case 15:\n return 18;\n break;\n case 16:\n return 19;\n break;\n case 17:\n return \":\";\n break;\n case 18:\n return 6;\n break;\n case 19:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:journey\\b)/i, /^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^#:\\n;]+)/i, /^(?:[^#:\\n;]+)/i, /^(?::[^#\\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar journey_default = parser;\n\n// src/diagrams/user-journey/journeyDb.js\nvar currentSection = \"\";\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar updateActors = /* @__PURE__ */ __name(function() {\n const tempActors = [];\n tasks.forEach((task) => {\n if (task.people) {\n tempActors.push(...task.people);\n }\n });\n const unique = new Set(tempActors);\n return [...unique].sort();\n}, \"updateActors\");\nvar addTask = /* @__PURE__ */ __name(function(descr, taskData) {\n const pieces = taskData.substr(1).split(\":\");\n let score = 0;\n let peeps = [];\n if (pieces.length === 1) {\n score = Number(pieces[0]);\n peeps = [];\n } else {\n score = Number(pieces[0]);\n peeps = pieces[1].split(\",\");\n }\n const peopleList = peeps.map((s) => s.trim());\n const rawTask = {\n section: currentSection,\n type: currentSection,\n people: peopleList,\n task: descr,\n score\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar getActors = /* @__PURE__ */ __name(function() {\n return updateActors();\n}, \"getActors\");\nvar journeyDb_default = {\n getConfig: /* @__PURE__ */ __name(() => getConfig().journey, \"getConfig\"),\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n getActors\n};\n\n// src/diagrams/user-journey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${options.textColor}\n }\n\n .legend {\n fill: ${options.textColor};\n font-family: ${options.fontFamily};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${options.textColor}\n }\n\n .face {\n ${options.faceColor ? `fill: ${options.faceColor}` : \"fill: #FFF8DC\"};\n stroke: #999;\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\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: 1.5px;\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 }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${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 .task-type-0, .section-type-0 {\n ${options.fillType0 ? `fill: ${options.fillType0}` : \"\"};\n }\n .task-type-1, .section-type-1 {\n ${options.fillType0 ? `fill: ${options.fillType1}` : \"\"};\n }\n .task-type-2, .section-type-2 {\n ${options.fillType0 ? `fill: ${options.fillType2}` : \"\"};\n }\n .task-type-3, .section-type-3 {\n ${options.fillType0 ? `fill: ${options.fillType3}` : \"\"};\n }\n .task-type-4, .section-type-4 {\n ${options.fillType0 ? `fill: ${options.fillType4}` : \"\"};\n }\n .task-type-5, .section-type-5 {\n ${options.fillType0 ? `fill: ${options.fillType5}` : \"\"};\n }\n .task-type-6, .section-type-6 {\n ${options.fillType0 ? `fill: ${options.fillType6}` : \"\"};\n }\n .task-type-7, .section-type-7 {\n ${options.fillType0 ? `fill: ${options.fillType7}` : \"\"};\n }\n\n .actor-0 {\n ${options.actor0 ? `fill: ${options.actor0}` : \"\"};\n }\n .actor-1 {\n ${options.actor1 ? `fill: ${options.actor1}` : \"\"};\n }\n .actor-2 {\n ${options.actor2 ? `fill: ${options.actor2}` : \"\"};\n }\n .actor-3 {\n ${options.actor3 ? `fill: ${options.actor3}` : \"\"};\n }\n .actor-4 {\n ${options.actor4 ? `fill: ${options.actor4}` : \"\"};\n }\n .actor-5 {\n ${options.actor5 ? `fill: ${options.actor5}` : \"\"};\n }\n ${getIconStyles()}\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/user-journey/journeyRenderer.ts\nimport { select } from \"d3\";\n\n// src/diagrams/user-journey/svgDraw.js\nimport { arc as d3arc } from \"d3\";\nvar drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {\n return drawRect(elem, rectData);\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText2 = /* @__PURE__ */ __name(function(elem, textData) {\n return drawText(elem, textData);\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText2(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf2) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf2.width * section.taskCount + // width of the tasks\n conf2.diagramMarginX * (section.taskCount - 1);\n rect.height = conf2.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n _drawTextCandidateFunc(conf2)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf2,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf2) {\n const center = task.x + conf2.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", \"task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf2.width;\n rect.height = conf2.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n let xPos = task.x + 14;\n task.people.forEach((person) => {\n const colour = task.actors[person].color;\n const circle = {\n cx: xPos,\n cy: task.y,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n title: person,\n pos: task.actors[person].position\n };\n drawCircle(g, circle);\n xPos += 10;\n });\n _drawTextCandidateFunc(conf2)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf2,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect2 = /* @__PURE__ */ __name(function(elem, bounds2) {\n drawBackgroundRect(elem, bounds2);\n}, \"drawBackgroundRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2, colour) {\n const { taskFontSize, taskFontFamily } = conf2;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics) {\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nvar svgDraw_default = {\n drawRect: drawRect2,\n drawCircle,\n drawSection,\n drawText: drawText2,\n drawLabel,\n drawTask,\n drawBackgroundRect: drawBackgroundRect2,\n initGraphics\n};\n\n// src/diagrams/user-journey/journeyRenderer.ts\nvar setConf = /* @__PURE__ */ __name(function(cnf) {\n const keys = Object.keys(cnf);\n keys.forEach(function(key) {\n conf[key] = cnf[key];\n });\n}, \"setConf\");\nvar actors = {};\nvar maxWidth = 0;\nfunction drawActorLegend(diagram2) {\n const conf2 = getConfig().journey;\n const maxLabelWidth = conf2.maxLabelWidth;\n maxWidth = 0;\n let yPos = 60;\n Object.keys(actors).forEach((person) => {\n const colour = actors[person].color;\n const circleData = {\n cx: 20,\n cy: yPos,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n pos: actors[person].position\n };\n svgDraw_default.drawCircle(diagram2, circleData);\n let measureText = diagram2.append(\"text\").attr(\"visibility\", \"hidden\").text(person);\n const fullTextWidth = measureText.node().getBoundingClientRect().width;\n measureText.remove();\n let lines = [];\n if (fullTextWidth <= maxLabelWidth) {\n lines = [person];\n } else {\n const words = person.split(\" \");\n let currentLine = \"\";\n measureText = diagram2.append(\"text\").attr(\"visibility\", \"hidden\");\n words.forEach((word) => {\n const testLine = currentLine ? `${currentLine} ${word}` : word;\n measureText.text(testLine);\n const textWidth = measureText.node().getBoundingClientRect().width;\n if (textWidth > maxLabelWidth) {\n if (currentLine) {\n lines.push(currentLine);\n }\n currentLine = word;\n measureText.text(word);\n if (measureText.node().getBoundingClientRect().width > maxLabelWidth) {\n let brokenWord = \"\";\n for (const char of word) {\n brokenWord += char;\n measureText.text(brokenWord + \"-\");\n if (measureText.node().getBoundingClientRect().width > maxLabelWidth) {\n lines.push(brokenWord.slice(0, -1) + \"-\");\n brokenWord = char;\n }\n }\n currentLine = brokenWord;\n }\n } else {\n currentLine = testLine;\n }\n });\n if (currentLine) {\n lines.push(currentLine);\n }\n measureText.remove();\n }\n lines.forEach((line, index) => {\n const labelData = {\n x: 40,\n y: yPos + 7 + index * 20,\n fill: \"#666\",\n text: line,\n textMargin: conf2.boxTextMargin ?? 5\n };\n const textElement = svgDraw_default.drawText(diagram2, labelData);\n const lineWidth = textElement.node().getBoundingClientRect().width;\n if (lineWidth > maxWidth && lineWidth > conf2.leftMargin - lineWidth) {\n maxWidth = lineWidth;\n }\n });\n yPos += Math.max(20, lines.length * 20);\n });\n}\n__name(drawActorLegend, \"drawActorLegend\");\nvar conf = getConfig().journey;\nvar leftMargin = 0;\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const configObject = getConfig();\n const titleColor = configObject.journey.titleColor;\n const titleFontSize = configObject.journey.titleFontSize;\n const titleFontFamily = configObject.journey.titleFontFamily;\n const securityLevel = configObject.securityLevel;\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 bounds.init();\n const diagram2 = root.select(\"#\" + id);\n svgDraw_default.initGraphics(diagram2);\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getDiagramTitle();\n const actorNames = diagObj.db.getActors();\n for (const member in actors) {\n delete actors[member];\n }\n let actorPos = 0;\n actorNames.forEach((actorName) => {\n actors[actorName] = {\n color: conf.actorColours[actorPos % conf.actorColours.length],\n position: actorPos\n };\n actorPos++;\n });\n drawActorLegend(diagram2);\n leftMargin = conf.leftMargin + maxWidth;\n bounds.insert(0, 0, leftMargin, Object.keys(actors).length * 50);\n drawTasks(diagram2, tasks2, 0);\n const box = bounds.getBounds();\n if (title) {\n diagram2.append(\"text\").text(title).attr(\"x\", leftMargin).attr(\"font-size\", titleFontSize).attr(\"font-weight\", \"bold\").attr(\"y\", 25).attr(\"fill\", titleColor).attr(\"font-family\", titleFontFamily);\n }\n const height = box.stopy - box.starty + 2 * conf.diagramMarginY;\n const width = leftMargin + box.stopx + 2 * conf.diagramMarginX;\n configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n diagram2.append(\"line\").attr(\"x1\", leftMargin).attr(\"y1\", conf.height * 4).attr(\"x2\", width - leftMargin - 4).attr(\"y2\", conf.height * 4).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n const extraVertForTitle = title ? 70 : 0;\n diagram2.attr(\"viewBox\", `${box.startx} -25 ${width} ${height + extraVertForTitle}`);\n diagram2.attr(\"preserveAspectRatio\", \"xMinYMin meet\");\n diagram2.attr(\"height\", height + extraVertForTitle + 25);\n}, \"draw\");\nvar bounds = {\n data: {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n },\n verticalPos: 0,\n sequenceItems: [],\n init: /* @__PURE__ */ __name(function() {\n this.sequenceItems = [];\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n };\n this.verticalPos = 0;\n }, \"init\"),\n updateVal: /* @__PURE__ */ __name(function(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }, \"updateVal\"),\n updateBounds: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const conf2 = getConfig().journey;\n const _self = this;\n let cnt = 0;\n function updateFn(type) {\n return /* @__PURE__ */ __name(function updateItemBounds(item) {\n cnt++;\n const n = _self.sequenceItems.length - cnt + 1;\n _self.updateVal(item, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n if (!(type === \"activation\")) {\n _self.updateVal(item, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n }\n }, \"updateItemBounds\");\n }\n __name(updateFn, \"updateFn\");\n this.sequenceItems.forEach(updateFn());\n }, \"updateBounds\"),\n insert: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const _startx = Math.min(startx, stopx);\n const _stopx = Math.max(startx, stopx);\n const _starty = Math.min(starty, stopy);\n const _stopy = Math.max(starty, stopy);\n this.updateVal(bounds.data, \"startx\", _startx, Math.min);\n this.updateVal(bounds.data, \"starty\", _starty, Math.min);\n this.updateVal(bounds.data, \"stopx\", _stopx, Math.max);\n this.updateVal(bounds.data, \"stopy\", _stopy, Math.max);\n this.updateBounds(_startx, _starty, _stopx, _stopy);\n }, \"insert\"),\n bumpVerticalPos: /* @__PURE__ */ __name(function(bump) {\n this.verticalPos = this.verticalPos + bump;\n this.data.stopy = this.verticalPos;\n }, \"bumpVerticalPos\"),\n getVerticalPos: /* @__PURE__ */ __name(function() {\n return this.verticalPos;\n }, \"getVerticalPos\"),\n getBounds: /* @__PURE__ */ __name(function() {\n return this.data;\n }, \"getBounds\")\n};\nvar fills = conf.sectionFills;\nvar textColours = conf.sectionColours;\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, verticalPos) {\n const conf2 = getConfig().journey;\n let lastSection = \"\";\n const sectionVHeight = conf2.height * 2 + conf2.diagramMarginY;\n const taskPos = verticalPos + sectionVHeight;\n let sectionNumber = 0;\n let fill = \"#CCC\";\n let colour = \"black\";\n let num = 0;\n for (const [i, task] of tasks2.entries()) {\n if (lastSection !== task.section) {\n fill = fills[sectionNumber % fills.length];\n num = sectionNumber % fills.length;\n colour = textColours[sectionNumber % textColours.length];\n let taskInSectionCount = 0;\n const currentSection2 = task.section;\n for (let taskIndex = i; taskIndex < tasks2.length; taskIndex++) {\n if (tasks2[taskIndex].section == currentSection2) {\n taskInSectionCount = taskInSectionCount + 1;\n } else {\n break;\n }\n }\n const section = {\n x: i * conf2.taskMargin + i * conf2.width + leftMargin,\n y: 50,\n text: task.section,\n fill,\n num,\n colour,\n taskCount: taskInSectionCount\n };\n svgDraw_default.drawSection(diagram2, section, conf2);\n lastSection = task.section;\n sectionNumber++;\n }\n const taskActors = task.people.reduce((acc, actorName) => {\n if (actors[actorName]) {\n acc[actorName] = actors[actorName];\n }\n return acc;\n }, {});\n task.x = i * conf2.taskMargin + i * conf2.width + leftMargin;\n task.y = taskPos;\n task.width = conf2.diagramMarginX;\n task.height = conf2.diagramMarginY;\n task.colour = colour;\n task.fill = fill;\n task.num = num;\n task.actors = taskActors;\n svgDraw_default.drawTask(diagram2, task, conf2);\n bounds.insert(task.x, task.y, task.x + task.width + conf2.taskMargin, 300 + 5 * 30);\n }\n}, \"drawTasks\");\nvar journeyRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/user-journey/journeyDiagram.ts\nvar diagram = {\n parser: journey_default,\n db: journeyDb_default,\n renderer: journeyRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n journeyRenderer_default.setConf(cnf.journey);\n journeyDb_default.clear();\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","$V0","$V1","$V2","$V3","$V4","$V5","$V6","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","journey_default","currentSection","sections","tasks","rawTasks","clear2","clear","addSection","txt","getSections","getTasks","allItemsProcessed","compileTasks","maxDepth","iterationCount","updateActors","tempActors","task","addTask","descr","taskData","pieces","score","peeps","peopleList","s","rawTask","addTaskOrg","newTask","compileTask","pos","allProcessed","getActors","journeyDb_default","getConfig","setDiagramTitle","getDiagramTitle","setAccTitle","getAccTitle","setAccDescription","getAccDescription","getStyles","options","getIconStyles","styles_default","drawRect2","elem","rectData","drawRect","drawFace","element","faceData","circleElement","face","smile","face2","arc","d3arc","sad","ambivalent","drawCircle","circleData","drawText2","textData","drawText","drawLabel","txtObject","genPoints","x","y","width","height","cut","polygon","drawSection","section","conf2","g","rect","getNoteRect","_drawTextCandidateFunc","taskCount","drawTask","center","xPos","person","colour","circle","drawBackgroundRect2","bounds2","drawBackgroundRect","byText","content","textAttrs","text","_setTextAttrs","byTspan","taskFontSize","taskFontFamily","dy","byFo","body","toText","fromTextAttrsDict","key","initGraphics","graphics","svgDraw_default","setConf","cnf","conf","actors","maxWidth","drawActorLegend","diagram2","maxLabelWidth","yPos","measureText","fullTextWidth","words","currentLine","word","testLine","brokenWord","char","line","labelData","lineWidth","leftMargin","draw","id","version","diagObj","configObject","titleColor","titleFontSize","titleFontFamily","securityLevel","sandboxElement","select","root","bounds","tasks2","title","actorNames","member","actorPos","actorName","drawTasks","box","configureSvgSize","extraVertForTitle","obj","val","fun","startx","starty","stopx","stopy","_self","cnt","updateFn","type","item","_startx","_stopx","_starty","_stopy","bump","fills","textColours","verticalPos","lastSection","sectionVHeight","taskPos","sectionNumber","fill","num","taskInSectionCount","currentSection2","taskIndex","taskActors","acc","journeyRenderer_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|