@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.
Files changed (130) hide show
  1. package/README.md +72 -37
  2. package/dist/_basePickBy-D4kyG5Tu.js +152 -0
  3. package/dist/_basePickBy-D4kyG5Tu.js.map +1 -0
  4. package/dist/_baseUniq-s5uZhHMt.js +615 -0
  5. package/dist/_baseUniq-s5uZhHMt.js.map +1 -0
  6. package/dist/arc-Cd2Fw3V6.js +84 -0
  7. package/dist/arc-Cd2Fw3V6.js.map +1 -0
  8. package/dist/architectureDiagram-VXUJARFQ-ylT61Lln.js +4663 -0
  9. package/dist/architectureDiagram-VXUJARFQ-ylT61Lln.js.map +1 -0
  10. package/dist/blockDiagram-VD42YOAC-CoIxLSyQ.js +2257 -0
  11. package/dist/blockDiagram-VD42YOAC-CoIxLSyQ.js.map +1 -0
  12. package/dist/c4Diagram-YG6GDRKO-CsQimMM6.js +1581 -0
  13. package/dist/c4Diagram-YG6GDRKO-CsQimMM6.js.map +1 -0
  14. package/dist/channel-0tZUlnqz.js +6 -0
  15. package/dist/channel-0tZUlnqz.js.map +1 -0
  16. package/dist/chunk-4BX2VUAB-DVkBhLxy.js +9 -0
  17. package/dist/chunk-4BX2VUAB-DVkBhLxy.js.map +1 -0
  18. package/dist/chunk-55IACEB6-CVQcegI-.js +9 -0
  19. package/dist/chunk-55IACEB6-CVQcegI-.js.map +1 -0
  20. package/dist/chunk-B4BG7PRW-DPUTNckV.js +1376 -0
  21. package/dist/chunk-B4BG7PRW-DPUTNckV.js.map +1 -0
  22. package/dist/chunk-DI55MBZ5-F7DI2N9R.js +1371 -0
  23. package/dist/chunk-DI55MBZ5-F7DI2N9R.js.map +1 -0
  24. package/dist/chunk-FMBD7UC4-C3wNpU7V.js +20 -0
  25. package/dist/chunk-FMBD7UC4-C3wNpU7V.js.map +1 -0
  26. package/dist/chunk-QN33PNHL-BOdqrixJ.js +20 -0
  27. package/dist/chunk-QN33PNHL-BOdqrixJ.js.map +1 -0
  28. package/dist/chunk-QZHKN3VN-BFPNdgmW.js +16 -0
  29. package/dist/chunk-QZHKN3VN-BFPNdgmW.js.map +1 -0
  30. package/dist/chunk-TZMSLE5B-BZuxNW58.js +65 -0
  31. package/dist/chunk-TZMSLE5B-BZuxNW58.js.map +1 -0
  32. package/dist/classDiagram-2ON5EDUG-CiRjpBEe.js +17 -0
  33. package/dist/classDiagram-2ON5EDUG-CiRjpBEe.js.map +1 -0
  34. package/dist/classDiagram-v2-WZHVMYZB-CiRjpBEe.js +17 -0
  35. package/dist/classDiagram-v2-WZHVMYZB-CiRjpBEe.js.map +1 -0
  36. package/dist/clone-Bm_onhkP.js +9 -0
  37. package/dist/clone-Bm_onhkP.js.map +1 -0
  38. package/dist/cose-bilkent-S5V4N54A-D9xMKgKB.js +2609 -0
  39. package/dist/cose-bilkent-S5V4N54A-D9xMKgKB.js.map +1 -0
  40. package/dist/dagre-6UL2VRFP-BhIQJjaK.js +445 -0
  41. package/dist/dagre-6UL2VRFP-BhIQJjaK.js.map +1 -0
  42. package/dist/diagram-PSM6KHXK-h4YEzD1S.js +532 -0
  43. package/dist/diagram-PSM6KHXK-h4YEzD1S.js.map +1 -0
  44. package/dist/diagram-QEK2KX5R-spuV0akZ.js +218 -0
  45. package/dist/diagram-QEK2KX5R-spuV0akZ.js.map +1 -0
  46. package/dist/diagram-S2PKOQOG-CQx-wsyw.js +143 -0
  47. package/dist/diagram-S2PKOQOG-CQx-wsyw.js.map +1 -0
  48. package/dist/erDiagram-Q2GNP2WA-Cqkjjf2a.js +842 -0
  49. package/dist/erDiagram-Q2GNP2WA-Cqkjjf2a.js.map +1 -0
  50. package/dist/flowDiagram-NV44I4VS-mCXE9u9b.js +1621 -0
  51. package/dist/flowDiagram-NV44I4VS-mCXE9u9b.js.map +1 -0
  52. package/dist/ganttDiagram-JELNMOA3-Bz1GBIHE.js +2671 -0
  53. package/dist/ganttDiagram-JELNMOA3-Bz1GBIHE.js.map +1 -0
  54. package/dist/gitGraphDiagram-V2S2FVAM-Be01Oq15.js +700 -0
  55. package/dist/gitGraphDiagram-V2S2FVAM-Be01Oq15.js.map +1 -0
  56. package/dist/graph-DVWVTM7e.js +248 -0
  57. package/dist/graph-DVWVTM7e.js.map +1 -0
  58. package/dist/index-kKw24iiA.js +34 -0
  59. package/dist/index-kKw24iiA.js.map +1 -0
  60. package/dist/index.d.ts +0 -11
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +270 -277
  63. package/dist/index.js.map +1 -1
  64. package/dist/infoDiagram-HS3SLOUP-joTtnw9j.js +25 -0
  65. package/dist/infoDiagram-HS3SLOUP-joTtnw9j.js.map +1 -0
  66. package/dist/journeyDiagram-XKPGCS4Q-CMVu7VEd.js +835 -0
  67. package/dist/journeyDiagram-XKPGCS4Q-CMVu7VEd.js.map +1 -0
  68. package/dist/kanban-definition-3W4ZIXB7-CfanK5Eg.js +720 -0
  69. package/dist/kanban-definition-3W4ZIXB7-CfanK5Eg.js.map +1 -0
  70. package/dist/katex-Cj93GM5Y.js +11605 -0
  71. package/dist/katex-Cj93GM5Y.js.map +1 -0
  72. package/dist/layout-BC8VSiQq.js +1336 -0
  73. package/dist/layout-BC8VSiQq.js.map +1 -0
  74. package/dist/linear-GV5CIa17.js +260 -0
  75. package/dist/linear-GV5CIa17.js.map +1 -0
  76. package/dist/marzipan.d.ts +1 -2
  77. package/dist/marzipan.d.ts.map +1 -1
  78. package/dist/marzipan.js +1 -19
  79. package/dist/marzipan.js.map +1 -1
  80. package/dist/mermaid.core-cSWK5aGH.js +15302 -0
  81. package/dist/mermaid.core-cSWK5aGH.js.map +1 -0
  82. package/dist/mindmap-definition-VGOIOE7T-Vu_RTZar.js +785 -0
  83. package/dist/mindmap-definition-VGOIOE7T-Vu_RTZar.js.map +1 -0
  84. package/dist/parser.d.ts.map +1 -1
  85. package/dist/parser.js +6 -5
  86. package/dist/parser.js.map +1 -1
  87. package/dist/pieDiagram-ADFJNKIX-BUcd1l-6.js +162 -0
  88. package/dist/pieDiagram-ADFJNKIX-BUcd1l-6.js.map +1 -0
  89. package/dist/plugins/accentSwatchPlugin.d.ts +1 -1
  90. package/dist/plugins/accentSwatchPlugin.d.ts.map +1 -1
  91. package/dist/plugins/accentSwatchPlugin.js +162 -81
  92. package/dist/plugins/accentSwatchPlugin.js.map +1 -1
  93. package/dist/plugins/block-handles.d.ts +10 -2
  94. package/dist/plugins/block-handles.d.ts.map +1 -1
  95. package/dist/plugins/block-handles.js +77 -51
  96. package/dist/plugins/block-handles.js.map +1 -1
  97. package/dist/plugins/index.d.ts +0 -2
  98. package/dist/plugins/index.d.ts.map +1 -1
  99. package/dist/plugins/index.js +27 -29
  100. package/dist/plugins/index.js.map +1 -1
  101. package/dist/plugins/mermaidPlugin.js +1 -1
  102. package/dist/plugins/tinyHighlight.d.ts.map +1 -1
  103. package/dist/plugins/tinyHighlight.js +34 -22
  104. package/dist/plugins/tinyHighlight.js.map +1 -1
  105. package/dist/quadrantDiagram-AYHSOK5B-B1ekOH99.js +1023 -0
  106. package/dist/quadrantDiagram-AYHSOK5B-B1ekOH99.js.map +1 -0
  107. package/dist/requirementDiagram-UZGBJVZJ-BNcVcwNf.js +851 -0
  108. package/dist/requirementDiagram-UZGBJVZJ-BNcVcwNf.js.map +1 -0
  109. package/dist/sankeyDiagram-TZEHDZUN-BpHcdj5K.js +811 -0
  110. package/dist/sankeyDiagram-TZEHDZUN-BpHcdj5K.js.map +1 -0
  111. package/dist/sequenceDiagram-WL72ISMW-D5UyNvsv.js +2512 -0
  112. package/dist/sequenceDiagram-WL72ISMW-D5UyNvsv.js.map +1 -0
  113. package/dist/stateDiagram-FKZM4ZOC-C8DBscXu.js +264 -0
  114. package/dist/stateDiagram-FKZM4ZOC-C8DBscXu.js.map +1 -0
  115. package/dist/stateDiagram-v2-4FDKWEC3-CHqwUDPY.js +17 -0
  116. package/dist/stateDiagram-v2-4FDKWEC3-CHqwUDPY.js.map +1 -0
  117. package/dist/timeline-definition-IT6M3QCI-Dtg0oJbr.js +796 -0
  118. package/dist/timeline-definition-IT6M3QCI-Dtg0oJbr.js.map +1 -0
  119. package/dist/treemap-GDKQZRPO-rbQo3Em-.js +17926 -0
  120. package/dist/treemap-GDKQZRPO-rbQo3Em-.js.map +1 -0
  121. package/dist/xychartDiagram-PRI3JC2R-uNpgYSnV.js +1341 -0
  122. package/dist/xychartDiagram-PRI3JC2R-uNpgYSnV.js.map +1 -0
  123. package/docs/.vitepress/config.ts +1 -1
  124. package/docs/README.md +6 -8
  125. package/docs/TABLE_OF_CONTENTS.md +4 -1
  126. package/docs/api.md +262 -202
  127. package/docs/index.md +22 -19
  128. package/docs/plugins.md +27 -23
  129. package/package.json +1 -1
  130. package/docs/block-handles.md +0 -325
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-definition-IT6M3QCI-Dtg0oJbr.js","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-IT6M3QCI.mjs"],"sourcesContent":["import {\n clear,\n commonDb_exports,\n getConfig2 as getConfig,\n setupGraphViewbox\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __export,\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/timeline/parser/timeline.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, 20, 21], $V1 = [1, 9], $V2 = [1, 10], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 16], $V7 = [1, 17];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"timeline\": 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, \"period_statement\": 18, \"event_statement\": 19, \"period\": 20, \"event\": 21, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"timeline\", 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\", 20: \"period\", 21: \"event\" },\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, 1], [9, 1], [18, 1], [19, 1]],\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.getCommonDb().setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccTitle(this.$);\n break;\n case 10:\n case 11:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccDescription(this.$);\n break;\n case 12:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 15:\n yy.addTask($$[$0], 0, \"\");\n this.$ = $$[$0];\n break;\n case 16:\n yy.addEvent($$[$0].substr(2));\n this.$ = $$[$0];\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: 14, 19: 15, 20: $V6, 21: $V7 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 18, 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: 14, 19: 15, 20: $V6, 21: $V7 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), { 13: [1, 19] }, { 15: [1, 20] }, o($V0, [2, 11]), o($V0, [2, 12]), o($V0, [2, 13]), o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), o($V0, [2, 4]), o($V0, [2, 9]), o($V0, [2, 10])],\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 21;\n break;\n case 16:\n return 20;\n break;\n case 17:\n return 6;\n break;\n case 18:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:timeline\\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, /^(?::\\s(?:[^:\\n]|:(?!\\s))+)/i, /^(?:[^#:\\n]+)/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], \"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 timeline_default = parser;\n\n// src/diagrams/timeline/timelineDb.js\nvar timelineDb_exports = {};\n__export(timelineDb_exports, {\n addEvent: () => addEvent,\n addSection: () => addSection,\n addTask: () => addTask,\n addTaskOrg: () => addTaskOrg,\n clear: () => clear2,\n default: () => timelineDb_default,\n getCommonDb: () => getCommonDb,\n getSections: () => getSections,\n getTasks: () => getTasks\n});\nvar currentSection = \"\";\nvar currentTaskId = 0;\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar getCommonDb = /* @__PURE__ */ __name(() => commonDb_exports, \"getCommonDb\");\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 addTask = /* @__PURE__ */ __name(function(period, length, event) {\n const rawTask = {\n id: currentTaskId++,\n section: currentSection,\n type: currentSection,\n task: period,\n score: length ? length : 0,\n //if event is defined, then add it the events array\n events: event ? [event] : []\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addEvent = /* @__PURE__ */ __name(function(event) {\n const currentTask = rawTasks.find((task) => task.id === currentTaskId - 1);\n currentTask.events.push(event);\n}, \"addEvent\");\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 timelineDb_default = {\n clear: clear2,\n getCommonDb,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n addEvent\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nimport { select as select2 } from \"d3\";\n\n// src/diagrams/timeline/svgDraw.js\nimport { arc as d3arc, select } from \"d3\";\nvar MAX_SECTIONS = 12;\nvar drawRect = /* @__PURE__ */ __name(function(elem, rectData) {\n const rectElem = elem.append(\"rect\");\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.y);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", rectData.width);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (rectData.class !== void 0) {\n rectElem.attr(\"class\", rectData.class);\n }\n return rectElem;\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 drawText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(/<br\\s*\\/?>/gi, \" \");\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.text(nText);\n return textElem;\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 drawText(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf) {\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 = conf.width;\n rect.height = conf.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\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 conf,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf) {\n const center = task.x + conf.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 = conf.width;\n rect.height = conf.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect = /* @__PURE__ */ __name(function(elem, bounds) {\n const rectElem = drawRect(elem, {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n class: \"rect\"\n });\n rectElem.lower();\n}, \"drawBackgroundRect\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n \"text-anchor\": \"start\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0\n };\n}, \"getTextObj\");\nvar getNoteRect = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n}, \"getNoteRect\");\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, conf, colour) {\n const { taskFontSize, taskFontFamily } = conf;\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, conf) {\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, conf);\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(conf) {\n return conf.textPlacement === \"fo\" ? byFo : conf.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\");\nfunction wrap(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/(\\s+|<br>)/).reverse(), word, line = [], lineHeight = 1.1, y = text2.attr(\"y\"), dy = parseFloat(text2.attr(\"dy\")), tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line.push(word);\n tspan.text(line.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width || word === \"<br>\") {\n line.pop();\n tspan.text(line.join(\" \").trim());\n if (word === \"<br>\") {\n line = [\"\"];\n } else {\n line = [word];\n }\n tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n}\n__name(wrap, \"wrap\");\nvar drawNode = /* @__PURE__ */ __name(function(elem, node, fullSection, conf) {\n const section = fullSection % MAX_SECTIONS - 1;\n const nodeElem = elem.append(\"g\");\n node.section = section;\n nodeElem.attr(\n \"class\",\n (node.class ? node.class + \" \" : \"\") + \"timeline-node \" + (\"section-\" + section)\n );\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n node.height = bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n node.height = Math.max(node.height, node.maxHeight);\n node.width = node.width + 2 * node.padding;\n textElem.attr(\"transform\", \"translate(\" + node.width / 2 + \", \" + node.padding / 2 + \")\");\n defaultBkg(bkgElem, node, section, conf);\n return node;\n}, \"drawNode\");\nvar getVirtualNodeHeight = /* @__PURE__ */ __name(function(elem, node, conf) {\n const textElem = elem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n textElem.remove();\n return bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n}, \"getVirtualNodeHeight\");\nvar defaultBkg = /* @__PURE__ */ __name(function(elem, node, section) {\n const rd = 5;\n elem.append(\"path\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + node.type).attr(\n \"d\",\n `M0 ${node.height - rd} v${-node.height + 2 * rd} q0,-5 5,-5 h${node.width - 2 * rd} q5,0 5,5 v${node.height - rd} H0 Z`\n );\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node.height).attr(\"x2\", node.width).attr(\"y2\", node.height);\n}, \"defaultBkg\");\nvar svgDraw_default = {\n drawRect,\n drawCircle,\n drawSection,\n drawText,\n drawLabel,\n drawTask,\n drawBackgroundRect,\n getTextObj,\n getNoteRect,\n initGraphics,\n drawNode,\n getVirtualNodeHeight\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig();\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select2(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select2(sandboxElement.nodes()[0].contentDocument.body) : select2(\"body\");\n const svg = root.select(\"#\" + id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n let depthY = 0;\n let sectionBeginY = 0;\n let masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n sectionBeginY = 50;\n let sectionNumber = 0;\n let hasSections = true;\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight + 20);\n });\n let maxEventCount = 0;\n let maxEventLineLength = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight + 20);\n maxEventCount = Math.max(maxEventCount, task.events.length);\n let maxEventLineLengthTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n maxEventLineLengthTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventLineLengthTemp += (task.events.length - 1) * 10;\n }\n maxEventLineLength = Math.max(maxEventLineLength, maxEventLineLengthTemp);\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n if (sections2 && sections2.length > 0) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 200 * Math.max(tasksForSection.length, 1) - 50,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf);\n log.debug(\"sectionNode output\", node);\n sectionNodeWrapper.attr(\"transform\", `translate(${masterX}, ${sectionBeginY})`);\n masterY += maxSectionHeight + 50;\n if (tasksForSection.length > 0) {\n drawTasks(\n svg,\n tasksForSection,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n false\n );\n }\n masterX += 200 * Math.max(tasksForSection.length, 1);\n masterY = sectionBeginY;\n sectionNumber++;\n });\n } else {\n hasSections = false;\n drawTasks(\n svg,\n tasks2,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n true\n );\n }\n const box = svg.node().getBBox();\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n }\n depthY = hasSections ? maxSectionHeight + maxTaskHeight + 150 : maxTaskHeight + 100;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", LEFT_MARGIN).attr(\"y1\", depthY).attr(\"x2\", box.width + 3 * LEFT_MARGIN).attr(\"y2\", depthY).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, masterX, masterY, maxTaskHeight, conf, maxEventCount, maxEventLineLength, maxSectionHeight, isWithoutSections) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n taskWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events) {\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n let lineLength = maxTaskHeight;\n masterY += 100;\n lineLength = lineLength + drawEvents(diagram2, task.events, sectionColor, masterX, masterY, conf);\n masterY -= 100;\n lineWrapper.append(\"line\").attr(\"x1\", masterX + 190 / 2).attr(\"y1\", masterY + maxTaskHeight).attr(\"x2\", masterX + 190 / 2).attr(\"y2\", masterY + maxTaskHeight + 100 + maxEventLineLength + 100).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\").attr(\"stroke-dasharray\", \"5,5\");\n }\n masterX = masterX + 200;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n masterY = masterY - 10;\n}, \"drawTasks\");\nvar drawEvents = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, masterX, masterY, conf) {\n let maxEventHeight = 0;\n const eventBeginY = masterY;\n masterY = masterY + 100;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf);\n const eventHeight = node.height;\n maxEventHeight = maxEventHeight + eventHeight;\n eventWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n masterY = masterY + 10 + eventHeight;\n }\n masterY = eventBeginY;\n return maxEventHeight;\n}, \"drawEvents\");\nvar timelineRenderer_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw\n};\n\n// src/diagrams/timeline/styles.js\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} path {\n fill: ${options[\"cScale\" + i]};\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${options[\"cScaleLabel\" + i]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/timeline/timeline-definition.ts\nvar diagram = {\n db: timelineDb_exports,\n renderer: timelineRenderer_default,\n parser: timeline_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","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","timeline_default","timelineDb_exports","__export","addEvent","addSection","addTask","addTaskOrg","clear2","timelineDb_default","getCommonDb","getSections","getTasks","currentSection","currentTaskId","sections","tasks","rawTasks","commonDb_exports","clear","txt","allItemsProcessed","compileTasks","maxDepth","iterationCount","period","length","event","rawTask","task","descr","newTask","compileTask","pos","allProcessed","MAX_SECTIONS","drawRect","elem","rectData","rectElem","drawFace","element","faceData","circleElement","face","smile","face2","arc","d3arc","sad","ambivalent","drawCircle","circleData","drawText","textData","nText","textElem","span","drawLabel","txtObject","genPoints","x","y","width","height","cut","polygon","drawSection","section","conf","g","rect","getNoteRect","_drawTextCandidateFunc","taskCount","drawTask","center","drawBackgroundRect","bounds","getTextObj","byText","content","textAttrs","colour","text","_setTextAttrs","byTspan","taskFontSize","taskFontFamily","dy","byFo","body","toText","fromTextAttrsDict","key","initGraphics","graphics","wrap","text2","select","words","word","line","lineHeight","tspan","j","drawNode","node","fullSection","nodeElem","bkgElem","bbox","fontSize","defaultBkg","getVirtualNodeHeight","svgDraw_default","draw","id","version","diagObj","getConfig","LEFT_MARGIN","log","securityLevel","sandboxElement","select2","svg","tasks2","title","sections2","maxSectionHeight","maxTaskHeight","depthY","sectionBeginY","masterX","masterY","sectionNumber","hasSections","sectionNode","sectionHeight","maxEventCount","maxEventLineLength","taskNode","taskHeight","maxEventLineLengthTemp","eventNode","tasksForSection","sectionNodeWrapper","drawTasks","box","setupGraphViewbox","diagram2","sectionColor","isWithoutSections","taskWrapper","lineWrapper","lineLength","drawEvents","events","maxEventHeight","eventBeginY","eventWrapper","eventHeight","timelineRenderer_default","genSections","options","isDark","lighten","darken","sw","getStyles","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}