@chrome-acp/proxy-server 1.0.11 → 1.0.13

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 (111) hide show
  1. package/dist/cli/app.d.ts.map +1 -1
  2. package/dist/cli/app.js +4 -1
  3. package/dist/cli/app.js.map +1 -1
  4. package/dist/server.d.ts.map +1 -1
  5. package/dist/server.js +73 -13
  6. package/dist/server.js.map +1 -1
  7. package/package.json +1 -1
  8. package/public/assets/{architectureDiagram-VXUJARFQ-XT5vbOhB.js → architectureDiagram-VXUJARFQ-sCkIxoin.js} +2 -2
  9. package/public/assets/{architectureDiagram-VXUJARFQ-XT5vbOhB.js.map → architectureDiagram-VXUJARFQ-sCkIxoin.js.map} +1 -1
  10. package/public/assets/{blockDiagram-VD42YOAC-DLFcIcr7.js → blockDiagram-VD42YOAC-iT0EVpEs.js} +2 -2
  11. package/public/assets/{blockDiagram-VD42YOAC-DLFcIcr7.js.map → blockDiagram-VD42YOAC-iT0EVpEs.js.map} +1 -1
  12. package/public/assets/{c4Diagram-YG6GDRKO-OYGPPbbp.js → c4Diagram-YG6GDRKO-FJvkcwxD.js} +2 -2
  13. package/public/assets/{c4Diagram-YG6GDRKO-OYGPPbbp.js.map → c4Diagram-YG6GDRKO-FJvkcwxD.js.map} +1 -1
  14. package/public/assets/channel-CyLd3bNA.js +2 -0
  15. package/public/assets/{channel-C-TQis6S.js.map → channel-CyLd3bNA.js.map} +1 -1
  16. package/public/assets/{chunk-ABZYJK2D-C5l8JSxq.js → chunk-ABZYJK2D-CNhdKuqi.js} +3 -3
  17. package/public/assets/{chunk-ABZYJK2D-C5l8JSxq.js.map → chunk-ABZYJK2D-CNhdKuqi.js.map} +1 -1
  18. package/public/assets/{chunk-ATLVNIR6-DJGS9xqy.js → chunk-ATLVNIR6-CbO2X_Tw.js} +2 -2
  19. package/public/assets/{chunk-ATLVNIR6-DJGS9xqy.js.map → chunk-ATLVNIR6-CbO2X_Tw.js.map} +1 -1
  20. package/public/assets/{chunk-B4BG7PRW-gDha-duc.js → chunk-B4BG7PRW-BaHtw4gW.js} +2 -2
  21. package/public/assets/{chunk-B4BG7PRW-gDha-duc.js.map → chunk-B4BG7PRW-BaHtw4gW.js.map} +1 -1
  22. package/public/assets/{chunk-DI55MBZ5-Cj4kDgD2.js → chunk-DI55MBZ5-2htM0VVO.js} +2 -2
  23. package/public/assets/{chunk-DI55MBZ5-Cj4kDgD2.js.map → chunk-DI55MBZ5-2htM0VVO.js.map} +1 -1
  24. package/public/assets/{chunk-EXTU4WIE-DOOS0Mse.js → chunk-EXTU4WIE-C_bM8CPH.js} +2 -2
  25. package/public/assets/{chunk-EXTU4WIE-DOOS0Mse.js.map → chunk-EXTU4WIE-C_bM8CPH.js.map} +1 -1
  26. package/public/assets/{chunk-JA3XYJ7Z-CJB6qwwg.js → chunk-JA3XYJ7Z-CGuln6zv.js} +2 -2
  27. package/public/assets/{chunk-JA3XYJ7Z-CJB6qwwg.js.map → chunk-JA3XYJ7Z-CGuln6zv.js.map} +1 -1
  28. package/public/assets/{chunk-JZLCHNYA-Bude0Tz9.js → chunk-JZLCHNYA-B8Ldycwo.js} +2 -2
  29. package/public/assets/{chunk-JZLCHNYA-Bude0Tz9.js.map → chunk-JZLCHNYA-B8Ldycwo.js.map} +1 -1
  30. package/public/assets/{chunk-N4CR4FBY-DGM8cqEA.js → chunk-N4CR4FBY-DAPshrUE.js} +3 -3
  31. package/public/assets/{chunk-N4CR4FBY-DGM8cqEA.js.map → chunk-N4CR4FBY-DAPshrUE.js.map} +1 -1
  32. package/public/assets/{chunk-QN33PNHL-gpj_VYvm.js → chunk-QN33PNHL-BG2wK195.js} +2 -2
  33. package/public/assets/{chunk-QN33PNHL-gpj_VYvm.js.map → chunk-QN33PNHL-BG2wK195.js.map} +1 -1
  34. package/public/assets/{chunk-QXUST7PY-C6ghehBu.js → chunk-QXUST7PY-BOQY0Xfy.js} +2 -2
  35. package/public/assets/{chunk-QXUST7PY-C6ghehBu.js.map → chunk-QXUST7PY-BOQY0Xfy.js.map} +1 -1
  36. package/public/assets/{chunk-S3R3BYOJ-CT_-fuX8.js → chunk-S3R3BYOJ-lQHMbpG7.js} +2 -2
  37. package/public/assets/{chunk-S3R3BYOJ-CT_-fuX8.js.map → chunk-S3R3BYOJ-lQHMbpG7.js.map} +1 -1
  38. package/public/assets/{chunk-TZMSLE5B-BDUbzQ8i.js → chunk-TZMSLE5B-Ddu4HD6D.js} +2 -2
  39. package/public/assets/{chunk-TZMSLE5B-BDUbzQ8i.js.map → chunk-TZMSLE5B-Ddu4HD6D.js.map} +1 -1
  40. package/public/assets/classDiagram-2ON5EDUG-DXiWlO2N.js +2 -0
  41. package/public/assets/{classDiagram-2ON5EDUG-BsYidIMb.js.map → classDiagram-2ON5EDUG-DXiWlO2N.js.map} +1 -1
  42. package/public/assets/classDiagram-v2-WZHVMYZB-CfVsna1C.js +2 -0
  43. package/public/assets/{classDiagram-v2-WZHVMYZB-7SoDg2VR.js.map → classDiagram-v2-WZHVMYZB-CfVsna1C.js.map} +1 -1
  44. package/public/assets/clone-BkO8YVlC.js +2 -0
  45. package/public/assets/{clone-CbWnVDR5.js.map → clone-BkO8YVlC.js.map} +1 -1
  46. package/public/assets/{code-block-IT6T5CEO-CfsMtPBR.js → code-block-IT6T5CEO-RwvK23k6.js} +2 -2
  47. package/public/assets/{code-block-IT6T5CEO-CfsMtPBR.js.map → code-block-IT6T5CEO-RwvK23k6.js.map} +1 -1
  48. package/public/assets/{dagre-6UL2VRFP-B6iR6NZe.js → dagre-6UL2VRFP-C9Ozm0MP.js} +2 -2
  49. package/public/assets/{dagre-6UL2VRFP-B6iR6NZe.js.map → dagre-6UL2VRFP-C9Ozm0MP.js.map} +1 -1
  50. package/public/assets/{dagre-EJDXa3E7.js → dagre-Dt0NDwrT.js} +2 -2
  51. package/public/assets/{dagre-EJDXa3E7.js.map → dagre-Dt0NDwrT.js.map} +1 -1
  52. package/public/assets/{diagram-PSM6KHXK-zhsJSeuB.js → diagram-PSM6KHXK-B-9CxbnI.js} +2 -2
  53. package/public/assets/{diagram-PSM6KHXK-zhsJSeuB.js.map → diagram-PSM6KHXK-B-9CxbnI.js.map} +1 -1
  54. package/public/assets/{diagram-QEK2KX5R-Co66CAEn.js → diagram-QEK2KX5R-WcE69a1G.js} +2 -2
  55. package/public/assets/{diagram-QEK2KX5R-Co66CAEn.js.map → diagram-QEK2KX5R-WcE69a1G.js.map} +1 -1
  56. package/public/assets/{diagram-S2PKOQOG-DiMADWLA.js → diagram-S2PKOQOG-qTE7kYb8.js} +2 -2
  57. package/public/assets/{diagram-S2PKOQOG-DiMADWLA.js.map → diagram-S2PKOQOG-qTE7kYb8.js.map} +1 -1
  58. package/public/assets/{erDiagram-Q2GNP2WA-DuvxJhfn.js → erDiagram-Q2GNP2WA-CsrooKbE.js} +2 -2
  59. package/public/assets/{erDiagram-Q2GNP2WA-DuvxJhfn.js.map → erDiagram-Q2GNP2WA-CsrooKbE.js.map} +1 -1
  60. package/public/assets/{flowDiagram-NV44I4VS-B7bAKMJi.js → flowDiagram-NV44I4VS-BGTyi6l5.js} +2 -2
  61. package/public/assets/{flowDiagram-NV44I4VS-B7bAKMJi.js.map → flowDiagram-NV44I4VS-BGTyi6l5.js.map} +1 -1
  62. package/public/assets/{ganttDiagram-JELNMOA3-IQRNHB_J.js → ganttDiagram-JELNMOA3-DN7V6mNH.js} +2 -2
  63. package/public/assets/{ganttDiagram-JELNMOA3-IQRNHB_J.js.map → ganttDiagram-JELNMOA3-DN7V6mNH.js.map} +1 -1
  64. package/public/assets/{gitGraphDiagram-NY62KEGX-DRnj3yjR.js → gitGraphDiagram-NY62KEGX-DIySZYvd.js} +2 -2
  65. package/public/assets/{gitGraphDiagram-NY62KEGX-DRnj3yjR.js.map → gitGraphDiagram-NY62KEGX-DIySZYvd.js.map} +1 -1
  66. package/public/assets/{graphlib-DdgjkuSE.js → graphlib-DTtyen5g.js} +2 -2
  67. package/public/assets/{graphlib-DdgjkuSE.js.map → graphlib-DTtyen5g.js.map} +1 -1
  68. package/public/assets/{infoDiagram-WHAUD3N6-BNobr0SN.js → infoDiagram-WHAUD3N6-Bv-GY92Y.js} +2 -2
  69. package/public/assets/{infoDiagram-WHAUD3N6-BNobr0SN.js.map → infoDiagram-WHAUD3N6-Bv-GY92Y.js.map} +1 -1
  70. package/public/assets/{journeyDiagram-XKPGCS4Q-DO0UQpgB.js → journeyDiagram-XKPGCS4Q-DW6RNfq2.js} +2 -2
  71. package/public/assets/{journeyDiagram-XKPGCS4Q-DO0UQpgB.js.map → journeyDiagram-XKPGCS4Q-DW6RNfq2.js.map} +1 -1
  72. package/public/assets/{kanban-definition-3W4ZIXB7-Jpay4_QZ.js → kanban-definition-3W4ZIXB7-CWT846-C.js} +2 -2
  73. package/public/assets/{kanban-definition-3W4ZIXB7-Jpay4_QZ.js.map → kanban-definition-3W4ZIXB7-CWT846-C.js.map} +1 -1
  74. package/public/assets/katex-DJMyQU16.js +1 -0
  75. package/public/assets/{line-BHjlwlMB.js → line-B6Rb3qg4.js} +2 -2
  76. package/public/assets/{line-BHjlwlMB.js.map → line-B6Rb3qg4.js.map} +1 -1
  77. package/public/assets/{main-PSzBtxbq.js → main-BMydeOxF.js} +68 -68
  78. package/public/assets/main-BMydeOxF.js.map +1 -0
  79. package/public/assets/main-CdjS9337.css +2 -0
  80. package/public/assets/{mermaid-VLURNSYL-BR8F8GU8.js → mermaid-VLURNSYL-ChlNLhSf.js} +1 -1
  81. package/public/assets/{mermaid.core-DQE-7lmT.js → mermaid.core-RqJdZ0fi.js} +4 -4
  82. package/public/assets/{mermaid.core-DQE-7lmT.js.map → mermaid.core-RqJdZ0fi.js.map} +1 -1
  83. package/public/assets/{mindmap-definition-VGOIOE7T-DS5SVw-k.js → mindmap-definition-VGOIOE7T-N5RK9_nf.js} +2 -2
  84. package/public/assets/{mindmap-definition-VGOIOE7T-DS5SVw-k.js.map → mindmap-definition-VGOIOE7T-N5RK9_nf.js.map} +1 -1
  85. package/public/assets/{pieDiagram-ADFJNKIX-CFAhlPkw.js → pieDiagram-ADFJNKIX-C3so7eY9.js} +2 -2
  86. package/public/assets/{pieDiagram-ADFJNKIX-CFAhlPkw.js.map → pieDiagram-ADFJNKIX-C3so7eY9.js.map} +1 -1
  87. package/public/assets/{quadrantDiagram-AYHSOK5B-CT_2FVkC.js → quadrantDiagram-AYHSOK5B-B9rusor8.js} +2 -2
  88. package/public/assets/{quadrantDiagram-AYHSOK5B-CT_2FVkC.js.map → quadrantDiagram-AYHSOK5B-B9rusor8.js.map} +1 -1
  89. package/public/assets/{requirementDiagram-UZGBJVZJ-Bpk1h2q4.js → requirementDiagram-UZGBJVZJ-W_vTa6sR.js} +2 -2
  90. package/public/assets/{requirementDiagram-UZGBJVZJ-Bpk1h2q4.js.map → requirementDiagram-UZGBJVZJ-W_vTa6sR.js.map} +1 -1
  91. package/public/assets/{sankeyDiagram-TZEHDZUN-CHlg_2in.js → sankeyDiagram-TZEHDZUN-oekRPPoE.js} +2 -2
  92. package/public/assets/{sankeyDiagram-TZEHDZUN-CHlg_2in.js.map → sankeyDiagram-TZEHDZUN-oekRPPoE.js.map} +1 -1
  93. package/public/assets/{sequenceDiagram-WL72ISMW-CaC09QcI.js → sequenceDiagram-WL72ISMW-Cln9cEgi.js} +2 -2
  94. package/public/assets/{sequenceDiagram-WL72ISMW-CaC09QcI.js.map → sequenceDiagram-WL72ISMW-Cln9cEgi.js.map} +1 -1
  95. package/public/assets/{stateDiagram-FKZM4ZOC-usQJ_ny0.js → stateDiagram-FKZM4ZOC-DNskec5X.js} +2 -2
  96. package/public/assets/{stateDiagram-FKZM4ZOC-usQJ_ny0.js.map → stateDiagram-FKZM4ZOC-DNskec5X.js.map} +1 -1
  97. package/public/assets/stateDiagram-v2-4FDKWEC3-CHFN0nby.js +2 -0
  98. package/public/assets/{stateDiagram-v2-4FDKWEC3-BX_iMt2G.js.map → stateDiagram-v2-4FDKWEC3-CHFN0nby.js.map} +1 -1
  99. package/public/assets/{timeline-definition-IT6M3QCI-FpeXVspc.js → timeline-definition-IT6M3QCI-Dc6yDbAi.js} +2 -2
  100. package/public/assets/{timeline-definition-IT6M3QCI-FpeXVspc.js.map → timeline-definition-IT6M3QCI-Dc6yDbAi.js.map} +1 -1
  101. package/public/assets/{xychartDiagram-PRI3JC2R-b8ZjczEa.js → xychartDiagram-PRI3JC2R-LVl4w1dh.js} +2 -2
  102. package/public/assets/{xychartDiagram-PRI3JC2R-b8ZjczEa.js.map → xychartDiagram-PRI3JC2R-LVl4w1dh.js.map} +1 -1
  103. package/public/index.html +2 -2
  104. package/public/assets/channel-C-TQis6S.js +0 -2
  105. package/public/assets/classDiagram-2ON5EDUG-BsYidIMb.js +0 -2
  106. package/public/assets/classDiagram-v2-WZHVMYZB-7SoDg2VR.js +0 -2
  107. package/public/assets/clone-CbWnVDR5.js +0 -2
  108. package/public/assets/katex-D-DHO72r.js +0 -1
  109. package/public/assets/main-L2l67V_s.css +0 -2
  110. package/public/assets/main-PSzBtxbq.js.map +0 -1
  111. package/public/assets/stateDiagram-v2-4FDKWEC3-BX_iMt2G.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mindmap-definition-VGOIOE7T-DS5SVw-k.js","names":["native","getConfig","v4","isDark","lighten","darken"],"sources":["../../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../../node_modules/uuid/dist/esm-browser/rng.js","../../../../node_modules/uuid/dist/esm-browser/native.js","../../../../node_modules/uuid/dist/esm-browser/v4.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-VGOIOE7T.mjs"],"sourcesContent":["import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import {\n getDiagramElement\n} from \"./chunk-55IACEB6.mjs\";\nimport {\n setupViewPortForSVG\n} from \"./chunk-QN33PNHL.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-N4CR4FBY.mjs\";\nimport \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport \"./chunk-JZLCHNYA.mjs\";\nimport \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport {\n defaultConfig_default,\n getConfig2 as getConfig,\n getUserDefinedConfig,\n sanitizeText\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/mindmap/parser/mindmap.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 13], $V2 = [1, 12], $V3 = [1, 15], $V4 = [1, 16], $V5 = [1, 20], $V6 = [1, 19], $V7 = [6, 7, 8], $V8 = [1, 26], $V9 = [1, 24], $Va = [1, 25], $Vb = [6, 7, 11], $Vc = [1, 6, 13, 15, 16, 19, 22], $Vd = [1, 33], $Ve = [1, 34], $Vf = [1, 6, 7, 11, 13, 15, 16, 19, 22];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mindMap\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"MINDMAP\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"node\": 14, \"ICON\": 15, \"CLASS\": 16, \"nodeWithId\": 17, \"nodeWithoutId\": 18, \"NODE_DSTART\": 19, \"NODE_DESCR\": 20, \"NODE_DEND\": 21, \"NODE_ID\": 22, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"MINDMAP\", 11: \"EOF\", 13: \"SPACELIST\", 15: \"ICON\", 16: \"CLASS\", 19: \"NODE_DSTART\", 20: \"NODE_DESCR\", 21: \"NODE_DEND\", 22: \"NODE_ID\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [18, 3], [17, 1], [17, 4]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 8:\n yy.getLogger().trace(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().trace(\"Stop EOF \");\n break;\n case 11:\n yy.getLogger().trace(\"Stop NL2 \");\n break;\n case 12:\n yy.getLogger().trace(\"Stop EOF2 \");\n break;\n case 15:\n yy.getLogger().info(\"Node: \", $$[$0].id);\n yy.addNode($$[$0 - 1].length, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 16:\n yy.getLogger().trace(\"Icon: \", $$[$0]);\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 17:\n case 21:\n yy.decorateNode({ class: $$[$0] });\n break;\n case 18:\n yy.getLogger().trace(\"SPACELIST\");\n break;\n case 19:\n yy.getLogger().trace(\"Node: \", $$[$0].id);\n yy.addNode(0, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 20:\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 25:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 2]);\n this.$ = { id: $$[$0 - 1], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 26:\n this.$ = { id: $$[$0], descr: $$[$0], type: yy.nodeType.DEFAULT };\n break;\n case 27:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 3]);\n this.$ = { id: $$[$0 - 3], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($V7, [2, 3]), { 1: [2, 2] }, o($V7, [2, 4]), o($V7, [2, 5]), { 1: [2, 6], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V1, 9: 22, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V8, 7: $V9, 10: 23, 11: $Va }, o($Vb, [2, 22], { 17: 17, 18: 18, 14: 27, 15: [1, 28], 16: [1, 29], 19: $V5, 22: $V6 }), o($Vb, [2, 18]), o($Vb, [2, 19]), o($Vb, [2, 20]), o($Vb, [2, 21]), o($Vb, [2, 23]), o($Vb, [2, 24]), o($Vb, [2, 26], { 19: [1, 30] }), { 20: [1, 31] }, { 6: $V8, 7: $V9, 10: 32, 11: $Va }, { 1: [2, 7], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($Vc, [2, 14], { 7: $Vd, 11: $Ve }), o($Vf, [2, 8]), o($Vf, [2, 9]), o($Vf, [2, 10]), o($Vb, [2, 15]), o($Vb, [2, 16]), o($Vb, [2, 17]), { 20: [1, 35] }, { 21: [1, 36] }, o($Vc, [2, 13], { 7: $Vd, 11: $Ve }), o($Vf, [2, 11]), o($Vf, [2, 12]), { 21: [1, 37] }, o($Vb, [2, 25]), o($Vb, [2, 27])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\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 yy.getLogger().trace(\"Found comment\", yy_.yytext);\n return 6;\n break;\n case 1:\n return 8;\n break;\n case 2:\n this.begin(\"CLASS\");\n break;\n case 3:\n this.popState();\n return 16;\n break;\n case 4:\n this.popState();\n break;\n case 5:\n yy.getLogger().trace(\"Begin icon\");\n this.begin(\"ICON\");\n break;\n case 6:\n yy.getLogger().trace(\"SPACELINE\");\n return 6;\n break;\n case 7:\n return 7;\n break;\n case 8:\n return 15;\n break;\n case 9:\n yy.getLogger().trace(\"end icon\");\n this.popState();\n break;\n case 10:\n yy.getLogger().trace(\"Exploding node\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 11:\n yy.getLogger().trace(\"Cloud\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 12:\n yy.getLogger().trace(\"Explosion Bang\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 13:\n yy.getLogger().trace(\"Cloud Bang\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 14:\n this.begin(\"NODE\");\n return 19;\n break;\n case 15:\n this.begin(\"NODE\");\n return 19;\n break;\n case 16:\n this.begin(\"NODE\");\n return 19;\n break;\n case 17:\n this.begin(\"NODE\");\n return 19;\n break;\n case 18:\n return 13;\n break;\n case 19:\n return 22;\n break;\n case 20:\n return 11;\n break;\n case 21:\n this.begin(\"NSTR2\");\n break;\n case 22:\n return \"NODE_DESCR\";\n break;\n case 23:\n this.popState();\n break;\n case 24:\n yy.getLogger().trace(\"Starting NSTR\");\n this.begin(\"NSTR\");\n break;\n case 25:\n yy.getLogger().trace(\"description:\", yy_.yytext);\n return \"NODE_DESCR\";\n break;\n case 26:\n this.popState();\n break;\n case 27:\n this.popState();\n yy.getLogger().trace(\"node end ))\");\n return \"NODE_DEND\";\n break;\n case 28:\n this.popState();\n yy.getLogger().trace(\"node end )\");\n return \"NODE_DEND\";\n break;\n case 29:\n this.popState();\n yy.getLogger().trace(\"node end ...\", yy_.yytext);\n return \"NODE_DEND\";\n break;\n case 30:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 31:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 32:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 33:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 34:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 35:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n break;\n case 36:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:\\s*%%.*)/i, /^(?:mindmap\\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\\n)/i, /^(?:::icon\\()/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[^\\)]+)/i, /^(?:\\))/i, /^(?:-\\))/i, /^(?:\\(-)/i, /^(?:\\)\\))/i, /^(?:\\))/i, /^(?:\\(\\()/i, /^(?:\\{\\{)/i, /^(?:\\()/i, /^(?:\\[)/i, /^(?:[\\s]+)/i, /^(?:[^\\(\\[\\n\\)\\{\\}]+)/i, /^(?:$)/i, /^(?:[\"][`])/i, /^(?:[^`\"]+)/i, /^(?:[`][\"])/i, /^(?:[\"])/i, /^(?:[^\"]+)/i, /^(?:[\"])/i, /^(?:[\\)]\\))/i, /^(?:[\\)])/i, /^(?:[\\]])/i, /^(?:\\}\\})/i, /^(?:\\(-)/i, /^(?:-\\))/i, /^(?:\\(\\()/i, /^(?:\\()/i, /^(?:[^\\)\\]\\(\\}]+)/i, /^(?:.+(?!\\(\\())/i],\n conditions: { \"CLASS\": { \"rules\": [3, 4], \"inclusive\": false }, \"ICON\": { \"rules\": [8, 9], \"inclusive\": false }, \"NSTR2\": { \"rules\": [22, 23], \"inclusive\": false }, \"NSTR\": { \"rules\": [25, 26], \"inclusive\": false }, \"NODE\": { \"rules\": [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], \"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 mindmap_default = parser;\n\n// src/diagrams/mindmap/mindmapDb.ts\nimport { v4 } from \"uuid\";\nvar nodeType = {\n DEFAULT: 0,\n NO_BORDER: 0,\n ROUNDED_RECT: 1,\n RECT: 2,\n CIRCLE: 3,\n CLOUD: 4,\n BANG: 5,\n HEXAGON: 6\n};\nvar MindmapDB = class {\n constructor() {\n this.nodes = [];\n this.count = 0;\n this.elements = {};\n this.getLogger = this.getLogger.bind(this);\n this.nodeType = nodeType;\n this.clear();\n this.getType = this.getType.bind(this);\n this.getElementById = this.getElementById.bind(this);\n this.getParent = this.getParent.bind(this);\n this.getMindmap = this.getMindmap.bind(this);\n this.addNode = this.addNode.bind(this);\n this.decorateNode = this.decorateNode.bind(this);\n }\n static {\n __name(this, \"MindmapDB\");\n }\n clear() {\n this.nodes = [];\n this.count = 0;\n this.elements = {};\n this.baseLevel = void 0;\n }\n getParent(level) {\n for (let i = this.nodes.length - 1; i >= 0; i--) {\n if (this.nodes[i].level < level) {\n return this.nodes[i];\n }\n }\n return null;\n }\n getMindmap() {\n return this.nodes.length > 0 ? this.nodes[0] : null;\n }\n addNode(level, id, descr, type) {\n log.info(\"addNode\", level, id, descr, type);\n let isRoot = false;\n if (this.nodes.length === 0) {\n this.baseLevel = level;\n level = 0;\n isRoot = true;\n } else if (this.baseLevel !== void 0) {\n level = level - this.baseLevel;\n isRoot = false;\n }\n const conf = getConfig();\n let padding = conf.mindmap?.padding ?? defaultConfig_default.mindmap.padding;\n switch (type) {\n case this.nodeType.ROUNDED_RECT:\n case this.nodeType.RECT:\n case this.nodeType.HEXAGON:\n padding *= 2;\n break;\n }\n const node = {\n id: this.count++,\n nodeId: sanitizeText(id, conf),\n level,\n descr: sanitizeText(descr, conf),\n type,\n children: [],\n width: conf.mindmap?.maxNodeWidth ?? defaultConfig_default.mindmap.maxNodeWidth,\n padding,\n isRoot\n };\n const parent = this.getParent(level);\n if (parent) {\n parent.children.push(node);\n this.nodes.push(node);\n } else {\n if (isRoot) {\n this.nodes.push(node);\n } else {\n throw new Error(\n `There can be only one root. No parent could be found for (\"${node.descr}\")`\n );\n }\n }\n }\n getType(startStr, endStr) {\n log.debug(\"In get type\", startStr, endStr);\n switch (startStr) {\n case \"[\":\n return this.nodeType.RECT;\n case \"(\":\n return endStr === \")\" ? this.nodeType.ROUNDED_RECT : this.nodeType.CLOUD;\n case \"((\":\n return this.nodeType.CIRCLE;\n case \")\":\n return this.nodeType.CLOUD;\n case \"))\":\n return this.nodeType.BANG;\n case \"{{\":\n return this.nodeType.HEXAGON;\n default:\n return this.nodeType.DEFAULT;\n }\n }\n setElementForId(id, element) {\n this.elements[id] = element;\n }\n getElementById(id) {\n return this.elements[id];\n }\n decorateNode(decoration) {\n if (!decoration) {\n return;\n }\n const config = getConfig();\n const node = this.nodes[this.nodes.length - 1];\n if (decoration.icon) {\n node.icon = sanitizeText(decoration.icon, config);\n }\n if (decoration.class) {\n node.class = sanitizeText(decoration.class, config);\n }\n }\n type2Str(type) {\n switch (type) {\n case this.nodeType.DEFAULT:\n return \"no-border\";\n case this.nodeType.RECT:\n return \"rect\";\n case this.nodeType.ROUNDED_RECT:\n return \"rounded-rect\";\n case this.nodeType.CIRCLE:\n return \"circle\";\n case this.nodeType.CLOUD:\n return \"cloud\";\n case this.nodeType.BANG:\n return \"bang\";\n case this.nodeType.HEXAGON:\n return \"hexgon\";\n // cspell: disable-line\n default:\n return \"no-border\";\n }\n }\n /**\n * Assign section numbers to nodes based on their position relative to root\n * @param node - The mindmap node to process\n * @param sectionNumber - The section number to assign (undefined for root)\n */\n assignSections(node, sectionNumber) {\n if (node.level === 0) {\n node.section = void 0;\n } else {\n node.section = sectionNumber;\n }\n if (node.children) {\n for (const [index, child] of node.children.entries()) {\n const childSectionNumber = node.level === 0 ? index : sectionNumber;\n this.assignSections(child, childSectionNumber);\n }\n }\n }\n /**\n * Convert mindmap tree structure to flat array of nodes\n * @param node - The mindmap node to process\n * @param processedNodes - Array to collect processed nodes\n */\n flattenNodes(node, processedNodes) {\n const cssClasses = [\"mindmap-node\"];\n if (node.isRoot === true) {\n cssClasses.push(\"section-root\", \"section--1\");\n } else if (node.section !== void 0) {\n cssClasses.push(`section-${node.section}`);\n }\n if (node.class) {\n cssClasses.push(node.class);\n }\n const classes = cssClasses.join(\" \");\n const getShapeFromType = /* @__PURE__ */ __name((type) => {\n switch (type) {\n case nodeType.CIRCLE:\n return \"mindmapCircle\";\n case nodeType.RECT:\n return \"rect\";\n case nodeType.ROUNDED_RECT:\n return \"rounded\";\n case nodeType.CLOUD:\n return \"cloud\";\n case nodeType.BANG:\n return \"bang\";\n case nodeType.HEXAGON:\n return \"hexagon\";\n case nodeType.DEFAULT:\n return \"defaultMindmapNode\";\n case nodeType.NO_BORDER:\n default:\n return \"rect\";\n }\n }, \"getShapeFromType\");\n const processedNode = {\n id: node.id.toString(),\n domId: \"node_\" + node.id.toString(),\n label: node.descr,\n isGroup: false,\n shape: getShapeFromType(node.type),\n width: node.width,\n height: node.height ?? 0,\n padding: node.padding,\n cssClasses: classes,\n cssStyles: [],\n look: \"default\",\n icon: node.icon,\n x: node.x,\n y: node.y,\n // Mindmap-specific properties\n level: node.level,\n nodeId: node.nodeId,\n type: node.type,\n section: node.section\n };\n processedNodes.push(processedNode);\n if (node.children) {\n for (const child of node.children) {\n this.flattenNodes(child, processedNodes);\n }\n }\n }\n /**\n * Generate edges from parent-child relationships in mindmap tree\n * @param node - The mindmap node to process\n * @param edges - Array to collect edges\n */\n generateEdges(node, edges) {\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n let edgeClasses = \"edge\";\n if (child.section !== void 0) {\n edgeClasses += ` section-edge-${child.section}`;\n }\n const edgeDepth = node.level + 1;\n edgeClasses += ` edge-depth-${edgeDepth}`;\n const edge = {\n id: `edge_${node.id}_${child.id}`,\n start: node.id.toString(),\n end: child.id.toString(),\n type: \"normal\",\n curve: \"basis\",\n thickness: \"normal\",\n look: \"default\",\n classes: edgeClasses,\n // Store mindmap-specific data\n depth: node.level,\n section: child.section\n };\n edges.push(edge);\n this.generateEdges(child, edges);\n }\n }\n /**\n * Get structured data for layout algorithms\n * Following the pattern established by ER diagrams\n * @returns Structured data containing nodes, edges, and config\n */\n getData() {\n const mindmapRoot = this.getMindmap();\n const config = getConfig();\n const userDefinedConfig = getUserDefinedConfig();\n const hasUserDefinedLayout = userDefinedConfig.layout !== void 0;\n const finalConfig = config;\n if (!hasUserDefinedLayout) {\n finalConfig.layout = \"cose-bilkent\";\n }\n if (!mindmapRoot) {\n return {\n nodes: [],\n edges: [],\n config: finalConfig\n };\n }\n log.debug(\"getData: mindmapRoot\", mindmapRoot, config);\n this.assignSections(mindmapRoot);\n const processedNodes = [];\n const processedEdges = [];\n this.flattenNodes(mindmapRoot, processedNodes);\n this.generateEdges(mindmapRoot, processedEdges);\n log.debug(\n `getData: processed ${processedNodes.length} nodes and ${processedEdges.length} edges`\n );\n const shapes = /* @__PURE__ */ new Map();\n for (const node of processedNodes) {\n shapes.set(node.id, {\n shape: node.shape,\n width: node.width,\n height: node.height,\n padding: node.padding\n });\n }\n return {\n nodes: processedNodes,\n edges: processedEdges,\n config: finalConfig,\n // Store the root node for mindmap-specific layout algorithms\n rootNode: mindmapRoot,\n // Properties required by dagre layout algorithm\n markers: [\"point\"],\n // Mindmaps don't use markers\n direction: \"TB\",\n // Top-to-bottom direction for mindmaps\n nodeSpacing: 50,\n // Default spacing between nodes\n rankSpacing: 50,\n // Default spacing between ranks\n // Add shapes for ELK compatibility\n shapes: Object.fromEntries(shapes),\n // Additional properties that layout algorithms might expect\n type: \"mindmap\",\n diagramId: \"mindmap-\" + v4()\n };\n }\n // Expose logger to grammar\n getLogger() {\n return log;\n }\n};\n\n// src/diagrams/mindmap/mindmapRenderer.ts\nvar draw = /* @__PURE__ */ __name(async (text, id, _version, diagObj) => {\n log.debug(\"Rendering mindmap diagram\\n\" + text);\n const db = diagObj.db;\n const data4Layout = db.getData();\n const svg = getDiagramElement(id, data4Layout.config.securityLevel);\n data4Layout.type = diagObj.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(data4Layout.config.layout, {\n fallback: \"cose-bilkent\"\n });\n data4Layout.diagramId = id;\n const mm = db.getMindmap();\n if (!mm) {\n return;\n }\n data4Layout.nodes.forEach((node) => {\n if (node.shape === \"rounded\") {\n node.radius = 15;\n node.taper = 15;\n node.stroke = \"none\";\n node.width = 0;\n node.padding = 15;\n } else if (node.shape === \"circle\") {\n node.padding = 10;\n } else if (node.shape === \"rect\") {\n node.width = 0;\n node.padding = 10;\n }\n });\n await render(data4Layout, svg);\n setupViewPortForSVG(\n svg,\n data4Layout.config.mindmap?.padding ?? defaultConfig_default.mindmap.padding,\n \"mindmapDiagram\",\n data4Layout.config.mindmap?.useMaxWidth ?? defaultConfig_default.mindmap.useMaxWidth\n );\n}, \"draw\");\nvar mindmapRenderer_default = {\n draw\n};\n\n// src/diagrams/mindmap/styles.ts\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections = \"\";\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 sections += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} polygon, .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 .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections;\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, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .section-root span {\n color: ${options.gitBranchLabel0};\n }\n .section-2 span {\n color: ${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 .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/mindmap/mindmap-definition.ts\nvar diagram = {\n get db() {\n return new MindmapDB();\n },\n renderer: mindmapRenderer_default,\n parser: mindmap_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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GAAI,GAAI,EAAK,GAAI,EAAK,CAAE,CAAE,EAAG,EAAK,EAAG,GAAI,GAAI,GAAI,GAAI,EAAK,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,CAAE,CAAE,EAAG,EAAK,EAAG,EAAK,GAAI,GAAI,GAAI,EAAK,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAE,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,GAAG,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,GAAI,EAAK,GAAI,EAAK,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAC,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAE,CAAE,EAAG,EAAK,EAAG,EAAK,GAAI,GAAI,GAAI,EAAK,CAAE,CAAE,EAAG,CAAC,EAAG,EAAE,CAAE,EAAG,EAAK,GAAI,GAAI,GAAI,EAAK,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAE,CAAE,EAAG,EAAK,GAAI,EAAK,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,EAAE,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,EAAE,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAE,EAAE,EAAK,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"}
1
+ {"version":3,"file":"mindmap-definition-VGOIOE7T-N5RK9_nf.js","names":["native","getConfig","v4","isDark","lighten","darken"],"sources":["../../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../../node_modules/uuid/dist/esm-browser/rng.js","../../../../node_modules/uuid/dist/esm-browser/native.js","../../../../node_modules/uuid/dist/esm-browser/v4.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-VGOIOE7T.mjs"],"sourcesContent":["import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import {\n getDiagramElement\n} from \"./chunk-55IACEB6.mjs\";\nimport {\n setupViewPortForSVG\n} from \"./chunk-QN33PNHL.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-N4CR4FBY.mjs\";\nimport \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport \"./chunk-JZLCHNYA.mjs\";\nimport \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport {\n defaultConfig_default,\n getConfig2 as getConfig,\n getUserDefinedConfig,\n sanitizeText\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/mindmap/parser/mindmap.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 13], $V2 = [1, 12], $V3 = [1, 15], $V4 = [1, 16], $V5 = [1, 20], $V6 = [1, 19], $V7 = [6, 7, 8], $V8 = [1, 26], $V9 = [1, 24], $Va = [1, 25], $Vb = [6, 7, 11], $Vc = [1, 6, 13, 15, 16, 19, 22], $Vd = [1, 33], $Ve = [1, 34], $Vf = [1, 6, 7, 11, 13, 15, 16, 19, 22];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mindMap\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"MINDMAP\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"node\": 14, \"ICON\": 15, \"CLASS\": 16, \"nodeWithId\": 17, \"nodeWithoutId\": 18, \"NODE_DSTART\": 19, \"NODE_DESCR\": 20, \"NODE_DEND\": 21, \"NODE_ID\": 22, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"MINDMAP\", 11: \"EOF\", 13: \"SPACELIST\", 15: \"ICON\", 16: \"CLASS\", 19: \"NODE_DSTART\", 20: \"NODE_DESCR\", 21: \"NODE_DEND\", 22: \"NODE_ID\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [18, 3], [17, 1], [17, 4]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 8:\n yy.getLogger().trace(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().trace(\"Stop EOF \");\n break;\n case 11:\n yy.getLogger().trace(\"Stop NL2 \");\n break;\n case 12:\n yy.getLogger().trace(\"Stop EOF2 \");\n break;\n case 15:\n yy.getLogger().info(\"Node: \", $$[$0].id);\n yy.addNode($$[$0 - 1].length, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 16:\n yy.getLogger().trace(\"Icon: \", $$[$0]);\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 17:\n case 21:\n yy.decorateNode({ class: $$[$0] });\n break;\n case 18:\n yy.getLogger().trace(\"SPACELIST\");\n break;\n case 19:\n yy.getLogger().trace(\"Node: \", $$[$0].id);\n yy.addNode(0, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 20:\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 25:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 2]);\n this.$ = { id: $$[$0 - 1], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 26:\n this.$ = { id: $$[$0], descr: $$[$0], type: yy.nodeType.DEFAULT };\n break;\n case 27:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 3]);\n this.$ = { id: $$[$0 - 3], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($V7, [2, 3]), { 1: [2, 2] }, o($V7, [2, 4]), o($V7, [2, 5]), { 1: [2, 6], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V1, 9: 22, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V8, 7: $V9, 10: 23, 11: $Va }, o($Vb, [2, 22], { 17: 17, 18: 18, 14: 27, 15: [1, 28], 16: [1, 29], 19: $V5, 22: $V6 }), o($Vb, [2, 18]), o($Vb, [2, 19]), o($Vb, [2, 20]), o($Vb, [2, 21]), o($Vb, [2, 23]), o($Vb, [2, 24]), o($Vb, [2, 26], { 19: [1, 30] }), { 20: [1, 31] }, { 6: $V8, 7: $V9, 10: 32, 11: $Va }, { 1: [2, 7], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($Vc, [2, 14], { 7: $Vd, 11: $Ve }), o($Vf, [2, 8]), o($Vf, [2, 9]), o($Vf, [2, 10]), o($Vb, [2, 15]), o($Vb, [2, 16]), o($Vb, [2, 17]), { 20: [1, 35] }, { 21: [1, 36] }, o($Vc, [2, 13], { 7: $Vd, 11: $Ve }), o($Vf, [2, 11]), o($Vf, [2, 12]), { 21: [1, 37] }, o($Vb, [2, 25]), o($Vb, [2, 27])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\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 yy.getLogger().trace(\"Found comment\", yy_.yytext);\n return 6;\n break;\n case 1:\n return 8;\n break;\n case 2:\n this.begin(\"CLASS\");\n break;\n case 3:\n this.popState();\n return 16;\n break;\n case 4:\n this.popState();\n break;\n case 5:\n yy.getLogger().trace(\"Begin icon\");\n this.begin(\"ICON\");\n break;\n case 6:\n yy.getLogger().trace(\"SPACELINE\");\n return 6;\n break;\n case 7:\n return 7;\n break;\n case 8:\n return 15;\n break;\n case 9:\n yy.getLogger().trace(\"end icon\");\n this.popState();\n break;\n case 10:\n yy.getLogger().trace(\"Exploding node\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 11:\n yy.getLogger().trace(\"Cloud\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 12:\n yy.getLogger().trace(\"Explosion Bang\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 13:\n yy.getLogger().trace(\"Cloud Bang\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 14:\n this.begin(\"NODE\");\n return 19;\n break;\n case 15:\n this.begin(\"NODE\");\n return 19;\n break;\n case 16:\n this.begin(\"NODE\");\n return 19;\n break;\n case 17:\n this.begin(\"NODE\");\n return 19;\n break;\n case 18:\n return 13;\n break;\n case 19:\n return 22;\n break;\n case 20:\n return 11;\n break;\n case 21:\n this.begin(\"NSTR2\");\n break;\n case 22:\n return \"NODE_DESCR\";\n break;\n case 23:\n this.popState();\n break;\n case 24:\n yy.getLogger().trace(\"Starting NSTR\");\n this.begin(\"NSTR\");\n break;\n case 25:\n yy.getLogger().trace(\"description:\", yy_.yytext);\n return \"NODE_DESCR\";\n break;\n case 26:\n this.popState();\n break;\n case 27:\n this.popState();\n yy.getLogger().trace(\"node end ))\");\n return \"NODE_DEND\";\n break;\n case 28:\n this.popState();\n yy.getLogger().trace(\"node end )\");\n return \"NODE_DEND\";\n break;\n case 29:\n this.popState();\n yy.getLogger().trace(\"node end ...\", yy_.yytext);\n return \"NODE_DEND\";\n break;\n case 30:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 31:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 32:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 33:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 34:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 35:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n break;\n case 36:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:\\s*%%.*)/i, /^(?:mindmap\\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\\n)/i, /^(?:::icon\\()/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[^\\)]+)/i, /^(?:\\))/i, /^(?:-\\))/i, /^(?:\\(-)/i, /^(?:\\)\\))/i, /^(?:\\))/i, /^(?:\\(\\()/i, /^(?:\\{\\{)/i, /^(?:\\()/i, /^(?:\\[)/i, /^(?:[\\s]+)/i, /^(?:[^\\(\\[\\n\\)\\{\\}]+)/i, /^(?:$)/i, /^(?:[\"][`])/i, /^(?:[^`\"]+)/i, /^(?:[`][\"])/i, /^(?:[\"])/i, /^(?:[^\"]+)/i, /^(?:[\"])/i, /^(?:[\\)]\\))/i, /^(?:[\\)])/i, /^(?:[\\]])/i, /^(?:\\}\\})/i, /^(?:\\(-)/i, /^(?:-\\))/i, /^(?:\\(\\()/i, /^(?:\\()/i, /^(?:[^\\)\\]\\(\\}]+)/i, /^(?:.+(?!\\(\\())/i],\n conditions: { \"CLASS\": { \"rules\": [3, 4], \"inclusive\": false }, \"ICON\": { \"rules\": [8, 9], \"inclusive\": false }, \"NSTR2\": { \"rules\": [22, 23], \"inclusive\": false }, \"NSTR\": { \"rules\": [25, 26], \"inclusive\": false }, \"NODE\": { \"rules\": [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], \"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 mindmap_default = parser;\n\n// src/diagrams/mindmap/mindmapDb.ts\nimport { v4 } from \"uuid\";\nvar nodeType = {\n DEFAULT: 0,\n NO_BORDER: 0,\n ROUNDED_RECT: 1,\n RECT: 2,\n CIRCLE: 3,\n CLOUD: 4,\n BANG: 5,\n HEXAGON: 6\n};\nvar MindmapDB = class {\n constructor() {\n this.nodes = [];\n this.count = 0;\n this.elements = {};\n this.getLogger = this.getLogger.bind(this);\n this.nodeType = nodeType;\n this.clear();\n this.getType = this.getType.bind(this);\n this.getElementById = this.getElementById.bind(this);\n this.getParent = this.getParent.bind(this);\n this.getMindmap = this.getMindmap.bind(this);\n this.addNode = this.addNode.bind(this);\n this.decorateNode = this.decorateNode.bind(this);\n }\n static {\n __name(this, \"MindmapDB\");\n }\n clear() {\n this.nodes = [];\n this.count = 0;\n this.elements = {};\n this.baseLevel = void 0;\n }\n getParent(level) {\n for (let i = this.nodes.length - 1; i >= 0; i--) {\n if (this.nodes[i].level < level) {\n return this.nodes[i];\n }\n }\n return null;\n }\n getMindmap() {\n return this.nodes.length > 0 ? this.nodes[0] : null;\n }\n addNode(level, id, descr, type) {\n log.info(\"addNode\", level, id, descr, type);\n let isRoot = false;\n if (this.nodes.length === 0) {\n this.baseLevel = level;\n level = 0;\n isRoot = true;\n } else if (this.baseLevel !== void 0) {\n level = level - this.baseLevel;\n isRoot = false;\n }\n const conf = getConfig();\n let padding = conf.mindmap?.padding ?? defaultConfig_default.mindmap.padding;\n switch (type) {\n case this.nodeType.ROUNDED_RECT:\n case this.nodeType.RECT:\n case this.nodeType.HEXAGON:\n padding *= 2;\n break;\n }\n const node = {\n id: this.count++,\n nodeId: sanitizeText(id, conf),\n level,\n descr: sanitizeText(descr, conf),\n type,\n children: [],\n width: conf.mindmap?.maxNodeWidth ?? defaultConfig_default.mindmap.maxNodeWidth,\n padding,\n isRoot\n };\n const parent = this.getParent(level);\n if (parent) {\n parent.children.push(node);\n this.nodes.push(node);\n } else {\n if (isRoot) {\n this.nodes.push(node);\n } else {\n throw new Error(\n `There can be only one root. No parent could be found for (\"${node.descr}\")`\n );\n }\n }\n }\n getType(startStr, endStr) {\n log.debug(\"In get type\", startStr, endStr);\n switch (startStr) {\n case \"[\":\n return this.nodeType.RECT;\n case \"(\":\n return endStr === \")\" ? this.nodeType.ROUNDED_RECT : this.nodeType.CLOUD;\n case \"((\":\n return this.nodeType.CIRCLE;\n case \")\":\n return this.nodeType.CLOUD;\n case \"))\":\n return this.nodeType.BANG;\n case \"{{\":\n return this.nodeType.HEXAGON;\n default:\n return this.nodeType.DEFAULT;\n }\n }\n setElementForId(id, element) {\n this.elements[id] = element;\n }\n getElementById(id) {\n return this.elements[id];\n }\n decorateNode(decoration) {\n if (!decoration) {\n return;\n }\n const config = getConfig();\n const node = this.nodes[this.nodes.length - 1];\n if (decoration.icon) {\n node.icon = sanitizeText(decoration.icon, config);\n }\n if (decoration.class) {\n node.class = sanitizeText(decoration.class, config);\n }\n }\n type2Str(type) {\n switch (type) {\n case this.nodeType.DEFAULT:\n return \"no-border\";\n case this.nodeType.RECT:\n return \"rect\";\n case this.nodeType.ROUNDED_RECT:\n return \"rounded-rect\";\n case this.nodeType.CIRCLE:\n return \"circle\";\n case this.nodeType.CLOUD:\n return \"cloud\";\n case this.nodeType.BANG:\n return \"bang\";\n case this.nodeType.HEXAGON:\n return \"hexgon\";\n // cspell: disable-line\n default:\n return \"no-border\";\n }\n }\n /**\n * Assign section numbers to nodes based on their position relative to root\n * @param node - The mindmap node to process\n * @param sectionNumber - The section number to assign (undefined for root)\n */\n assignSections(node, sectionNumber) {\n if (node.level === 0) {\n node.section = void 0;\n } else {\n node.section = sectionNumber;\n }\n if (node.children) {\n for (const [index, child] of node.children.entries()) {\n const childSectionNumber = node.level === 0 ? index : sectionNumber;\n this.assignSections(child, childSectionNumber);\n }\n }\n }\n /**\n * Convert mindmap tree structure to flat array of nodes\n * @param node - The mindmap node to process\n * @param processedNodes - Array to collect processed nodes\n */\n flattenNodes(node, processedNodes) {\n const cssClasses = [\"mindmap-node\"];\n if (node.isRoot === true) {\n cssClasses.push(\"section-root\", \"section--1\");\n } else if (node.section !== void 0) {\n cssClasses.push(`section-${node.section}`);\n }\n if (node.class) {\n cssClasses.push(node.class);\n }\n const classes = cssClasses.join(\" \");\n const getShapeFromType = /* @__PURE__ */ __name((type) => {\n switch (type) {\n case nodeType.CIRCLE:\n return \"mindmapCircle\";\n case nodeType.RECT:\n return \"rect\";\n case nodeType.ROUNDED_RECT:\n return \"rounded\";\n case nodeType.CLOUD:\n return \"cloud\";\n case nodeType.BANG:\n return \"bang\";\n case nodeType.HEXAGON:\n return \"hexagon\";\n case nodeType.DEFAULT:\n return \"defaultMindmapNode\";\n case nodeType.NO_BORDER:\n default:\n return \"rect\";\n }\n }, \"getShapeFromType\");\n const processedNode = {\n id: node.id.toString(),\n domId: \"node_\" + node.id.toString(),\n label: node.descr,\n isGroup: false,\n shape: getShapeFromType(node.type),\n width: node.width,\n height: node.height ?? 0,\n padding: node.padding,\n cssClasses: classes,\n cssStyles: [],\n look: \"default\",\n icon: node.icon,\n x: node.x,\n y: node.y,\n // Mindmap-specific properties\n level: node.level,\n nodeId: node.nodeId,\n type: node.type,\n section: node.section\n };\n processedNodes.push(processedNode);\n if (node.children) {\n for (const child of node.children) {\n this.flattenNodes(child, processedNodes);\n }\n }\n }\n /**\n * Generate edges from parent-child relationships in mindmap tree\n * @param node - The mindmap node to process\n * @param edges - Array to collect edges\n */\n generateEdges(node, edges) {\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n let edgeClasses = \"edge\";\n if (child.section !== void 0) {\n edgeClasses += ` section-edge-${child.section}`;\n }\n const edgeDepth = node.level + 1;\n edgeClasses += ` edge-depth-${edgeDepth}`;\n const edge = {\n id: `edge_${node.id}_${child.id}`,\n start: node.id.toString(),\n end: child.id.toString(),\n type: \"normal\",\n curve: \"basis\",\n thickness: \"normal\",\n look: \"default\",\n classes: edgeClasses,\n // Store mindmap-specific data\n depth: node.level,\n section: child.section\n };\n edges.push(edge);\n this.generateEdges(child, edges);\n }\n }\n /**\n * Get structured data for layout algorithms\n * Following the pattern established by ER diagrams\n * @returns Structured data containing nodes, edges, and config\n */\n getData() {\n const mindmapRoot = this.getMindmap();\n const config = getConfig();\n const userDefinedConfig = getUserDefinedConfig();\n const hasUserDefinedLayout = userDefinedConfig.layout !== void 0;\n const finalConfig = config;\n if (!hasUserDefinedLayout) {\n finalConfig.layout = \"cose-bilkent\";\n }\n if (!mindmapRoot) {\n return {\n nodes: [],\n edges: [],\n config: finalConfig\n };\n }\n log.debug(\"getData: mindmapRoot\", mindmapRoot, config);\n this.assignSections(mindmapRoot);\n const processedNodes = [];\n const processedEdges = [];\n this.flattenNodes(mindmapRoot, processedNodes);\n this.generateEdges(mindmapRoot, processedEdges);\n log.debug(\n `getData: processed ${processedNodes.length} nodes and ${processedEdges.length} edges`\n );\n const shapes = /* @__PURE__ */ new Map();\n for (const node of processedNodes) {\n shapes.set(node.id, {\n shape: node.shape,\n width: node.width,\n height: node.height,\n padding: node.padding\n });\n }\n return {\n nodes: processedNodes,\n edges: processedEdges,\n config: finalConfig,\n // Store the root node for mindmap-specific layout algorithms\n rootNode: mindmapRoot,\n // Properties required by dagre layout algorithm\n markers: [\"point\"],\n // Mindmaps don't use markers\n direction: \"TB\",\n // Top-to-bottom direction for mindmaps\n nodeSpacing: 50,\n // Default spacing between nodes\n rankSpacing: 50,\n // Default spacing between ranks\n // Add shapes for ELK compatibility\n shapes: Object.fromEntries(shapes),\n // Additional properties that layout algorithms might expect\n type: \"mindmap\",\n diagramId: \"mindmap-\" + v4()\n };\n }\n // Expose logger to grammar\n getLogger() {\n return log;\n }\n};\n\n// src/diagrams/mindmap/mindmapRenderer.ts\nvar draw = /* @__PURE__ */ __name(async (text, id, _version, diagObj) => {\n log.debug(\"Rendering mindmap diagram\\n\" + text);\n const db = diagObj.db;\n const data4Layout = db.getData();\n const svg = getDiagramElement(id, data4Layout.config.securityLevel);\n data4Layout.type = diagObj.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(data4Layout.config.layout, {\n fallback: \"cose-bilkent\"\n });\n data4Layout.diagramId = id;\n const mm = db.getMindmap();\n if (!mm) {\n return;\n }\n data4Layout.nodes.forEach((node) => {\n if (node.shape === \"rounded\") {\n node.radius = 15;\n node.taper = 15;\n node.stroke = \"none\";\n node.width = 0;\n node.padding = 15;\n } else if (node.shape === \"circle\") {\n node.padding = 10;\n } else if (node.shape === \"rect\") {\n node.width = 0;\n node.padding = 10;\n }\n });\n await render(data4Layout, svg);\n setupViewPortForSVG(\n svg,\n data4Layout.config.mindmap?.padding ?? defaultConfig_default.mindmap.padding,\n \"mindmapDiagram\",\n data4Layout.config.mindmap?.useMaxWidth ?? defaultConfig_default.mindmap.useMaxWidth\n );\n}, \"draw\");\nvar mindmapRenderer_default = {\n draw\n};\n\n// src/diagrams/mindmap/styles.ts\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections = \"\";\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 sections += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} polygon, .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 .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections;\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, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .section-root span {\n color: ${options.gitBranchLabel0};\n }\n .section-2 span {\n color: ${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 .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/mindmap/mindmap-definition.ts\nvar diagram = {\n get db() {\n return new MindmapDB();\n },\n renderer: mindmapRenderer_default,\n parser: mindmap_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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GAAI,GAAI,EAAK,GAAI,EAAK,CAAE,CAAE,EAAG,EAAK,EAAG,GAAI,GAAI,GAAI,GAAI,EAAK,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,CAAE,CAAE,EAAG,EAAK,EAAG,EAAK,GAAI,GAAI,GAAI,EAAK,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAE,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,GAAG,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,GAAI,EAAK,GAAI,EAAK,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAC,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAE,CAAE,EAAG,EAAK,EAAG,EAAK,GAAI,GAAI,GAAI,EAAK,CAAE,CAAE,EAAG,CAAC,EAAG,EAAE,CAAE,EAAG,EAAK,GAAI,GAAI,GAAI,EAAK,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAK,GAAI,EAAK,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAE,CAAE,EAAG,EAAK,GAAI,EAAK,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,EAAE,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,EAAE,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,EAAE,EAAK,CAAC,EAAG,GAAG,CAAC,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAE,CAAE,GAAI,CAAC,EAAG,GAAG,CAAE,CAAE,EAAE,EAAK,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"}
@@ -1,4 +1,4 @@
1
- import"./shiki-BE3D5Aiv.js";import"./chunk-FPAJGGOC-C1aXi2xg.js";import"./chunk-O7ZBX7Z2-BeCHiDgv.js";import"./chunk-S6J4BHB3-CjyTXs6v.js";import"./chunk-LBM3YZW2-DZbzQVsb.js";import"./chunk-76Q3JFCE-B14S6aW0.js";import"./chunk-T53DSG4Q-DhrZo8eD.js";import"./chunk-LHMN2FUI-DqEW0ey0.js";import"./chunk-FWNWRKHM-Cgpg7KEB.js";import{g as e,h as t}from"./src-CK1-XQNk.js";import{B as n,C as r,U as i,_ as a,a as o,b as s,c,d as l,v as u,z as d}from"./chunk-ABZYJK2D-C5l8JSxq.js";import{t as f}from"./ordinal-B7gXVuJn.js";import{n as p}from"./path-Bn8S1d5m.js";import{p as m}from"./math-DYgObbJ6.js";import{t as h}from"./arc-pkI081Hh.js";import{t as g}from"./array-rFRq91wH.js";import{i as _,p as v}from"./chunk-S3R3BYOJ-CT_-fuX8.js";import{t as y}from"./chunk-EXTU4WIE-DOOS0Mse.js";import"./dist-CINaey7q.js";import{t as b}from"./chunk-4BX2VUAB-D2wsGaeQ.js";import{t as x}from"./mermaid-parser.core-CIsAFS0G.js";function S(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function C(e){return e}function w(){var e=C,t=S,n=null,r=p(0),i=p(m),a=p(0);function o(o){var s,c=(o=g(o)).length,l,u,d=0,f=Array(c),p=Array(c),h=+r.apply(this,arguments),_=Math.min(m,Math.max(-m,i.apply(this,arguments)-h)),v,y=Math.min(Math.abs(_)/c,a.apply(this,arguments)),b=y*(_<0?-1:1),x;for(s=0;s<c;++s)(x=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=x);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(_-c*b)/d:0;s<c;++s,h=v)l=f[s],x=p[l],v=h+(x>0?x*u:0)+b,p[l]={data:o[l],index:s,value:x,startAngle:h,endAngle:v,padAngle:y};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:p(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:p(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:p(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:p(+e),o):a},o}var T=l.pie,E={sections:new Map,showData:!1,config:T},D=E.sections,O=E.showData,k=structuredClone(T),A={getConfig:t(()=>structuredClone(k),`getConfig`),clear:t(()=>{D=new Map,O=E.showData,o()},`clear`),setDiagramTitle:i,getDiagramTitle:r,setAccTitle:n,getAccTitle:u,setAccDescription:d,getAccDescription:a,addSection:t(({label:t,value:n})=>{if(n<0)throw Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);D.has(t)||(D.set(t,n),e.debug(`added new section: ${t}, with value: ${n}`))},`addSection`),getSections:t(()=>D,`getSections`),setShowData:t(e=>{O=e},`setShowData`),getShowData:t(()=>O,`getShowData`)},j=t((e,t)=>{b(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},`populateDb`),M={parse:t(async t=>{let n=await x(`pie`,t);e.debug(n),j(n,A)},`parse`)},N=t(e=>`
1
+ import"./shiki-BE3D5Aiv.js";import"./chunk-FPAJGGOC-C1aXi2xg.js";import"./chunk-O7ZBX7Z2-BeCHiDgv.js";import"./chunk-S6J4BHB3-CjyTXs6v.js";import"./chunk-LBM3YZW2-DZbzQVsb.js";import"./chunk-76Q3JFCE-B14S6aW0.js";import"./chunk-T53DSG4Q-DhrZo8eD.js";import"./chunk-LHMN2FUI-DqEW0ey0.js";import"./chunk-FWNWRKHM-Cgpg7KEB.js";import{g as e,h as t}from"./src-CK1-XQNk.js";import{B as n,C as r,U as i,_ as a,a as o,b as s,c,d as l,v as u,z as d}from"./chunk-ABZYJK2D-CNhdKuqi.js";import{t as f}from"./ordinal-B7gXVuJn.js";import{n as p}from"./path-Bn8S1d5m.js";import{p as m}from"./math-DYgObbJ6.js";import{t as h}from"./arc-pkI081Hh.js";import{t as g}from"./array-rFRq91wH.js";import{i as _,p as v}from"./chunk-S3R3BYOJ-lQHMbpG7.js";import{t as y}from"./chunk-EXTU4WIE-C_bM8CPH.js";import"./dist-CINaey7q.js";import{t as b}from"./chunk-4BX2VUAB-D2wsGaeQ.js";import{t as x}from"./mermaid-parser.core-CIsAFS0G.js";function S(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function C(e){return e}function w(){var e=C,t=S,n=null,r=p(0),i=p(m),a=p(0);function o(o){var s,c=(o=g(o)).length,l,u,d=0,f=Array(c),p=Array(c),h=+r.apply(this,arguments),_=Math.min(m,Math.max(-m,i.apply(this,arguments)-h)),v,y=Math.min(Math.abs(_)/c,a.apply(this,arguments)),b=y*(_<0?-1:1),x;for(s=0;s<c;++s)(x=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=x);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(_-c*b)/d:0;s<c;++s,h=v)l=f[s],x=p[l],v=h+(x>0?x*u:0)+b,p[l]={data:o[l],index:s,value:x,startAngle:h,endAngle:v,padAngle:y};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:p(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:p(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:p(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:p(+e),o):a},o}var T=l.pie,E={sections:new Map,showData:!1,config:T},D=E.sections,O=E.showData,k=structuredClone(T),A={getConfig:t(()=>structuredClone(k),`getConfig`),clear:t(()=>{D=new Map,O=E.showData,o()},`clear`),setDiagramTitle:i,getDiagramTitle:r,setAccTitle:n,getAccTitle:u,setAccDescription:d,getAccDescription:a,addSection:t(({label:t,value:n})=>{if(n<0)throw Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);D.has(t)||(D.set(t,n),e.debug(`added new section: ${t}, with value: ${n}`))},`addSection`),getSections:t(()=>D,`getSections`),setShowData:t(e=>{O=e},`setShowData`),getShowData:t(()=>O,`getShowData`)},j=t((e,t)=>{b(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},`populateDb`),M={parse:t(async t=>{let n=await x(`pie`,t);e.debug(n),j(n,A)},`parse`)},N=t(e=>`
2
2
  .pieCircle{
3
3
  stroke: ${e.pieStrokeColor};
4
4
  stroke-width : ${e.pieStrokeWidth};
@@ -28,4 +28,4 @@ import"./shiki-BE3D5Aiv.js";import"./chunk-FPAJGGOC-C1aXi2xg.js";import"./chunk-
28
28
  }
29
29
  `,`getStyles`),P=t(e=>{let t=[...e.values()].reduce((e,t)=>e+t,0),n=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1).sort((e,t)=>t.value-e.value);return w().value(e=>e.value)(n)},`createPieArcs`),F={parser:M,db:A,renderer:{draw:t((t,n,r,i)=>{e.debug(`rendering pie chart
30
30
  `+t);let a=i.db,o=s(),l=_(a.getConfig(),o.pie),u=y(n),d=u.append(`g`);d.attr(`transform`,`translate(225,225)`);let{themeVariables:p}=o,[m]=v(p.pieOuterStrokeWidth);m??=2;let g=l.textPosition,b=h().innerRadius(0).outerRadius(185),x=h().innerRadius(185*g).outerRadius(185*g);d.append(`circle`).attr(`cx`,0).attr(`cy`,0).attr(`r`,185+m/2).attr(`class`,`pieOuterCircle`);let S=a.getSections(),C=P(S),w=[p.pie1,p.pie2,p.pie3,p.pie4,p.pie5,p.pie6,p.pie7,p.pie8,p.pie9,p.pie10,p.pie11,p.pie12],T=0;S.forEach(e=>{T+=e});let E=C.filter(e=>(e.data.value/T*100).toFixed(0)!==`0`),D=f(w);d.selectAll(`mySlices`).data(E).enter().append(`path`).attr(`d`,b).attr(`fill`,e=>D(e.data.label)).attr(`class`,`pieCircle`),d.selectAll(`mySlices`).data(E).enter().append(`text`).text(e=>(e.data.value/T*100).toFixed(0)+`%`).attr(`transform`,e=>`translate(`+x.centroid(e)+`)`).style(`text-anchor`,`middle`).attr(`class`,`slice`),d.append(`text`).text(a.getDiagramTitle()).attr(`x`,0).attr(`y`,-400/2).attr(`class`,`pieTitleText`);let O=[...S.entries()].map(([e,t])=>({label:e,value:t})),k=d.selectAll(`.legend`).data(O).enter().append(`g`).attr(`class`,`legend`).attr(`transform`,(e,t)=>{let n=22*O.length/2;return`translate(216,`+(t*22-n)+`)`});k.append(`rect`).attr(`width`,18).attr(`height`,18).style(`fill`,e=>D(e.label)).style(`stroke`,e=>D(e.label)),k.append(`text`).attr(`x`,22).attr(`y`,14).text(e=>a.getShowData()?`${e.label} [${e.value}]`:e.label);let A=512+Math.max(...k.selectAll(`text`).nodes().map(e=>e?.getBoundingClientRect().width??0));u.attr(`viewBox`,`0 0 ${A} 450`),c(u,450,A,l.useMaxWidth)},`draw`)},styles:N};export{F as diagram};
31
- //# sourceMappingURL=pieDiagram-ADFJNKIX-CFAhlPkw.js.map
31
+ //# sourceMappingURL=pieDiagram-ADFJNKIX-C3so7eY9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pieDiagram-ADFJNKIX-CFAhlPkw.js","names":["identity","descending","constant","array","i","j","d3pie","getConfig","arc","scaleOrdinal"],"sources":["../../../../node_modules/d3-shape/src/descending.js","../../../../node_modules/d3-shape/src/identity.js","../../../../node_modules/d3-shape/src/pie.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs"],"sourcesContent":["export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import {\n selectSvgElement\n} from \"./chunk-EXTU4WIE.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\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 log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (value < 0) {\n throw new Error(\n `\"${label}\" has invalid value: ${value}. Negative values are not allowed in pie charts. All slice values must be >= 0.`\n );\n }\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const sum = [...sections2.values()].reduce((acc, val) => acc + val, 0);\n const pieData = [...sections2.entries()].map(([label, value]) => ({ label, value })).filter((d) => d.value / sum * 100 >= 1).sort((a, b) => b.value - a.value);\n const pie = d3pie().value((d) => d.value);\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n const filteredArcs = arcs.filter((datum) => (datum.data.value / sum * 100).toFixed(0) !== \"0\");\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const allSectionData = [...sections2.entries()].map(([label, value]) => ({\n label,\n value\n }));\n const legend = group.selectAll(\".legend\").data(allSectionData).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * allSectionData.length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", (d) => color(d.label)).style(\"stroke\", (d) => color(d.label));\n legend.append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((d) => {\n if (db2.getShowData()) {\n return `${d.label} [${d.value}]`;\n }\n return d.label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}
1
+ {"version":3,"file":"pieDiagram-ADFJNKIX-C3so7eY9.js","names":["identity","descending","constant","array","i","j","d3pie","getConfig","arc","scaleOrdinal"],"sources":["../../../../node_modules/d3-shape/src/descending.js","../../../../node_modules/d3-shape/src/identity.js","../../../../node_modules/d3-shape/src/pie.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs"],"sourcesContent":["export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import {\n selectSvgElement\n} from \"./chunk-EXTU4WIE.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\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 log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (value < 0) {\n throw new Error(\n `\"${label}\" has invalid value: ${value}. Negative values are not allowed in pie charts. All slice values must be >= 0.`\n );\n }\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const sum = [...sections2.values()].reduce((acc, val) => acc + val, 0);\n const pieData = [...sections2.entries()].map(([label, value]) => ({ label, value })).filter((d) => d.value / sum * 100 >= 1).sort((a, b) => b.value - a.value);\n const pie = d3pie().value((d) => d.value);\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n const filteredArcs = arcs.filter((datum) => (datum.data.value / sum * 100).toFixed(0) !== \"0\");\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const allSectionData = [...sections2.entries()].map(([label, value]) => ({\n label,\n value\n }));\n const legend = group.selectAll(\".legend\").data(allSectionData).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * allSectionData.length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", (d) => color(d.label)).style(\"stroke\", (d) => color(d.label));\n legend.append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((d) => {\n if (db2.getShowData()) {\n return `${d.label} [${d.value}]`;\n }\n return d.label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import"./shiki-BE3D5Aiv.js";import{g as e,h as t,p as n}from"./src-CK1-XQNk.js";import{B as r,C as i,I as a,T as o,U as s,_ as c,a as l,b as u,c as d,d as f,v as p,z as m}from"./chunk-ABZYJK2D-C5l8JSxq.js";import{t as h}from"./linear-Cebq9TsU.js";import"./defaultLocale-DeD9gjYL.js";var g=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,3],r=[1,4],i=[1,5],a=[1,6],o=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],c=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],d=[1,37],f=[1,36],p=[1,38],m=[1,35],h=[1,43],g=[1,41],_=[1,14],v=[1,23],y=[1,18],b=[1,19],x=[1,20],S=[1,21],C=[1,22],w=[1,24],T=[1,25],E=[1,26],D=[1,27],O=[1,28],k=[1,29],A=[1,32],j=[1,33],M=[1,34],N=[1,39],P=[1,40],F=[1,42],I=[1,44],L=[1,62],R=[1,61],z=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],B=[1,65],ee=[1,66],te=[1,67],ne=[1,68],re=[1,69],ie=[1,70],ae=[1,71],oe=[1,72],se=[1,73],ce=[1,74],le=[1,75],ue=[1,76],V=[4,5,6,7,8,9,10,11,12,13,14,15,18],H=[1,90],U=[1,91],W=[1,92],G=[1,99],K=[1,93],q=[1,96],J=[1,94],Y=[1,95],X=[1,97],Z=[1,98],de=[1,102],fe=[10,55,56,57],Q=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],pe={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:`error`,4:`ALPHA`,5:`NUM`,6:`NODE_STRING`,7:`DOWN`,8:`MINUS`,9:`DEFAULT`,10:`COMMA`,11:`COLON`,12:`AMP`,13:`BRKT`,14:`MULT`,15:`UNICODE_TEXT`,17:`UNIT`,18:`SPACE`,19:`STYLE`,20:`PCT`,25:`CLASSDEF`,28:`QUADRANT`,35:`title`,36:`title_value`,37:`acc_title`,38:`acc_title_value`,39:`acc_descr`,40:`acc_descr_value`,41:`acc_descr_multiline_value`,42:`section`,44:`point_start`,45:`point_x`,46:`point_y`,47:`class_name`,48:`X-AXIS`,49:`AXIS-TEXT-DELIMITER`,50:`Y-AXIS`,51:`QUADRANT_1`,52:`QUADRANT_2`,53:`QUADRANT_3`,54:`QUADRANT_4`,55:`NEWLINE`,56:`SEMI`,57:`EOF`,60:`STR`,61:`MD_STR`,63:`PUNCTUATION`,64:`PLUS`,65:`EQUALS`,66:`DOT`,67:`UNDERSCORE`},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 23:this.$=a[s];break;case 24:this.$=a[s-1]+``+a[s];break;case 26:this.$=a[s-1]+a[s];break;case 27:this.$=[a[s].trim()];break;case 28:a[s-2].push(a[s].trim()),this.$=a[s-2];break;case 29:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 37:this.$=[];break;case 42:this.$=a[s].trim(),r.setDiagramTitle(this.$);break;case 43:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 44:case 45:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 46:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 47:r.addPoint(a[s-3],``,a[s-1],a[s],[]);break;case 48:r.addPoint(a[s-4],a[s-3],a[s-1],a[s],[]);break;case 49:r.addPoint(a[s-4],``,a[s-2],a[s-1],a[s]);break;case 50:r.addPoint(a[s-5],a[s-4],a[s-2],a[s-1],a[s]);break;case 51:r.setXAxisLeftText(a[s-2]),r.setXAxisRightText(a[s]);break;case 52:a[s-1].text+=` ⟶ `,r.setXAxisLeftText(a[s-1]);break;case 53:r.setXAxisLeftText(a[s]);break;case 54:r.setYAxisBottomText(a[s-2]),r.setYAxisTopText(a[s]);break;case 55:a[s-1].text+=` ⟶ `,r.setYAxisBottomText(a[s-1]);break;case 56:r.setYAxisBottomText(a[s]);break;case 57:r.setQuadrant1Text(a[s]);break;case 58:r.setQuadrant2Text(a[s]);break;case 59:r.setQuadrant3Text(a[s]);break;case 60:r.setQuadrant4Text(a[s]);break;case 64:this.$={text:a[s],type:`text`};break;case 65:this.$={text:a[s-1].text+``+a[s],type:a[s-1].type};break;case 66:this.$={text:a[s],type:`text`};break;case 67:this.$={text:a[s],type:`markdown`};break;case 68:this.$=a[s];break;case 69:this.$=a[s-1]+``+a[s];break}},`anonymous`),table:[{18:n,26:1,27:2,28:r,55:i,56:a,57:o},{1:[3]},{18:n,26:8,27:2,28:r,55:i,56:a,57:o},{18:n,26:9,27:2,28:r,55:i,56:a,57:o},e(s,[2,33],{29:10}),e(c,[2,61]),e(c,[2,62]),e(c,[2,63]),{1:[2,30]},{1:[2,31]},e(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:f,10:p,12:m,13:h,14:g,18:_,25:v,35:y,37:b,39:x,41:S,42:C,48:w,50:T,51:E,52:D,53:O,54:k,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),e(s,[2,34]),{27:45,55:i,56:a,57:o},e(l,[2,37]),e(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:f,10:p,12:m,13:h,14:g,18:_,25:v,35:y,37:b,39:x,41:S,42:C,48:w,50:T,51:E,52:D,53:O,54:k,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),e(l,[2,39]),e(l,[2,40]),e(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},e(l,[2,45]),e(l,[2,46]),{18:[1,50]},{4:d,5:f,10:p,12:m,13:h,14:g,43:51,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:52,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:53,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:54,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:55,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:56,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,44:[1,57],47:[1,58],58:60,59:59,63:M,64:N,65:P,66:F,67:I},e(z,[2,64]),e(z,[2,66]),e(z,[2,67]),e(z,[2,70]),e(z,[2,71]),e(z,[2,72]),e(z,[2,73]),e(z,[2,74]),e(z,[2,75]),e(z,[2,76]),e(z,[2,77]),e(z,[2,78]),e(z,[2,79]),e(z,[2,80]),e(s,[2,35]),e(l,[2,38]),e(l,[2,42]),e(l,[2,43]),e(l,[2,44]),{3:64,4:B,5:ee,6:te,7:ne,8:re,9:ie,10:ae,11:oe,12:se,13:ce,14:le,15:ue,21:63},e(l,[2,53],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,49:[1,77],63:M,64:N,65:P,66:F,67:I}),e(l,[2,56],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,49:[1,78],63:M,64:N,65:P,66:F,67:I}),e(l,[2,57],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,58],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,59],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,60],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),{45:[1,79]},{44:[1,80]},e(z,[2,65]),e(z,[2,81]),e(z,[2,82]),e(z,[2,83]),{3:82,4:B,5:ee,6:te,7:ne,8:re,9:ie,10:ae,11:oe,12:se,13:ce,14:le,15:ue,18:[1,81]},e(V,[2,23]),e(V,[2,1]),e(V,[2,2]),e(V,[2,3]),e(V,[2,4]),e(V,[2,5]),e(V,[2,6]),e(V,[2,7]),e(V,[2,8]),e(V,[2,9]),e(V,[2,10]),e(V,[2,11]),e(V,[2,12]),e(l,[2,52],{58:31,43:83,4:d,5:f,10:p,12:m,13:h,14:g,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),e(l,[2,55],{58:31,43:84,4:d,5:f,10:p,12:m,13:h,14:g,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),{46:[1,85]},{45:[1,86]},{4:H,5:U,6:W,8:G,11:K,13:q,16:89,17:J,18:Y,19:X,20:Z,22:88,23:87},e(V,[2,24]),e(l,[2,51],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,54],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,47],{22:88,16:89,23:100,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z}),{46:[1,101]},e(l,[2,29],{10:de}),e(fe,[2,27],{16:103,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z}),e(Q,[2,25]),e(Q,[2,13]),e(Q,[2,14]),e(Q,[2,15]),e(Q,[2,16]),e(Q,[2,17]),e(Q,[2,18]),e(Q,[2,19]),e(Q,[2,20]),e(Q,[2,21]),e(Q,[2,22]),e(l,[2,49],{10:de}),e(l,[2,48],{22:88,16:89,23:104,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z}),{4:H,5:U,6:W,8:G,11:K,13:q,16:89,17:J,18:Y,19:X,20:Z,22:105},e(Q,[2,26]),e(l,[2,50],{10:de}),e(fe,[2,28],{16:103,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z})],defaultActions:{8:[2,30],9:[2,31]},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
1
+ import"./shiki-BE3D5Aiv.js";import{g as e,h as t,p as n}from"./src-CK1-XQNk.js";import{B as r,C as i,I as a,T as o,U as s,_ as c,a as l,b as u,c as d,d as f,v as p,z as m}from"./chunk-ABZYJK2D-CNhdKuqi.js";import{t as h}from"./linear-Cebq9TsU.js";import"./defaultLocale-DeD9gjYL.js";var g=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,3],r=[1,4],i=[1,5],a=[1,6],o=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],c=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],d=[1,37],f=[1,36],p=[1,38],m=[1,35],h=[1,43],g=[1,41],_=[1,14],v=[1,23],y=[1,18],b=[1,19],x=[1,20],S=[1,21],C=[1,22],w=[1,24],T=[1,25],E=[1,26],D=[1,27],O=[1,28],k=[1,29],A=[1,32],j=[1,33],M=[1,34],N=[1,39],P=[1,40],F=[1,42],I=[1,44],L=[1,62],R=[1,61],z=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],B=[1,65],ee=[1,66],te=[1,67],ne=[1,68],re=[1,69],ie=[1,70],ae=[1,71],oe=[1,72],se=[1,73],ce=[1,74],le=[1,75],ue=[1,76],V=[4,5,6,7,8,9,10,11,12,13,14,15,18],H=[1,90],U=[1,91],W=[1,92],G=[1,99],K=[1,93],q=[1,96],J=[1,94],Y=[1,95],X=[1,97],Z=[1,98],de=[1,102],fe=[10,55,56,57],Q=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],pe={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:`error`,4:`ALPHA`,5:`NUM`,6:`NODE_STRING`,7:`DOWN`,8:`MINUS`,9:`DEFAULT`,10:`COMMA`,11:`COLON`,12:`AMP`,13:`BRKT`,14:`MULT`,15:`UNICODE_TEXT`,17:`UNIT`,18:`SPACE`,19:`STYLE`,20:`PCT`,25:`CLASSDEF`,28:`QUADRANT`,35:`title`,36:`title_value`,37:`acc_title`,38:`acc_title_value`,39:`acc_descr`,40:`acc_descr_value`,41:`acc_descr_multiline_value`,42:`section`,44:`point_start`,45:`point_x`,46:`point_y`,47:`class_name`,48:`X-AXIS`,49:`AXIS-TEXT-DELIMITER`,50:`Y-AXIS`,51:`QUADRANT_1`,52:`QUADRANT_2`,53:`QUADRANT_3`,54:`QUADRANT_4`,55:`NEWLINE`,56:`SEMI`,57:`EOF`,60:`STR`,61:`MD_STR`,63:`PUNCTUATION`,64:`PLUS`,65:`EQUALS`,66:`DOT`,67:`UNDERSCORE`},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 23:this.$=a[s];break;case 24:this.$=a[s-1]+``+a[s];break;case 26:this.$=a[s-1]+a[s];break;case 27:this.$=[a[s].trim()];break;case 28:a[s-2].push(a[s].trim()),this.$=a[s-2];break;case 29:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 37:this.$=[];break;case 42:this.$=a[s].trim(),r.setDiagramTitle(this.$);break;case 43:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 44:case 45:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 46:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 47:r.addPoint(a[s-3],``,a[s-1],a[s],[]);break;case 48:r.addPoint(a[s-4],a[s-3],a[s-1],a[s],[]);break;case 49:r.addPoint(a[s-4],``,a[s-2],a[s-1],a[s]);break;case 50:r.addPoint(a[s-5],a[s-4],a[s-2],a[s-1],a[s]);break;case 51:r.setXAxisLeftText(a[s-2]),r.setXAxisRightText(a[s]);break;case 52:a[s-1].text+=` ⟶ `,r.setXAxisLeftText(a[s-1]);break;case 53:r.setXAxisLeftText(a[s]);break;case 54:r.setYAxisBottomText(a[s-2]),r.setYAxisTopText(a[s]);break;case 55:a[s-1].text+=` ⟶ `,r.setYAxisBottomText(a[s-1]);break;case 56:r.setYAxisBottomText(a[s]);break;case 57:r.setQuadrant1Text(a[s]);break;case 58:r.setQuadrant2Text(a[s]);break;case 59:r.setQuadrant3Text(a[s]);break;case 60:r.setQuadrant4Text(a[s]);break;case 64:this.$={text:a[s],type:`text`};break;case 65:this.$={text:a[s-1].text+``+a[s],type:a[s-1].type};break;case 66:this.$={text:a[s],type:`text`};break;case 67:this.$={text:a[s],type:`markdown`};break;case 68:this.$=a[s];break;case 69:this.$=a[s-1]+``+a[s];break}},`anonymous`),table:[{18:n,26:1,27:2,28:r,55:i,56:a,57:o},{1:[3]},{18:n,26:8,27:2,28:r,55:i,56:a,57:o},{18:n,26:9,27:2,28:r,55:i,56:a,57:o},e(s,[2,33],{29:10}),e(c,[2,61]),e(c,[2,62]),e(c,[2,63]),{1:[2,30]},{1:[2,31]},e(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:f,10:p,12:m,13:h,14:g,18:_,25:v,35:y,37:b,39:x,41:S,42:C,48:w,50:T,51:E,52:D,53:O,54:k,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),e(s,[2,34]),{27:45,55:i,56:a,57:o},e(l,[2,37]),e(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:f,10:p,12:m,13:h,14:g,18:_,25:v,35:y,37:b,39:x,41:S,42:C,48:w,50:T,51:E,52:D,53:O,54:k,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),e(l,[2,39]),e(l,[2,40]),e(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},e(l,[2,45]),e(l,[2,46]),{18:[1,50]},{4:d,5:f,10:p,12:m,13:h,14:g,43:51,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:52,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:53,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:54,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:55,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,10:p,12:m,13:h,14:g,43:56,58:31,60:A,61:j,63:M,64:N,65:P,66:F,67:I},{4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,44:[1,57],47:[1,58],58:60,59:59,63:M,64:N,65:P,66:F,67:I},e(z,[2,64]),e(z,[2,66]),e(z,[2,67]),e(z,[2,70]),e(z,[2,71]),e(z,[2,72]),e(z,[2,73]),e(z,[2,74]),e(z,[2,75]),e(z,[2,76]),e(z,[2,77]),e(z,[2,78]),e(z,[2,79]),e(z,[2,80]),e(s,[2,35]),e(l,[2,38]),e(l,[2,42]),e(l,[2,43]),e(l,[2,44]),{3:64,4:B,5:ee,6:te,7:ne,8:re,9:ie,10:ae,11:oe,12:se,13:ce,14:le,15:ue,21:63},e(l,[2,53],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,49:[1,77],63:M,64:N,65:P,66:F,67:I}),e(l,[2,56],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,49:[1,78],63:M,64:N,65:P,66:F,67:I}),e(l,[2,57],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,58],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,59],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,60],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),{45:[1,79]},{44:[1,80]},e(z,[2,65]),e(z,[2,81]),e(z,[2,82]),e(z,[2,83]),{3:82,4:B,5:ee,6:te,7:ne,8:re,9:ie,10:ae,11:oe,12:se,13:ce,14:le,15:ue,18:[1,81]},e(V,[2,23]),e(V,[2,1]),e(V,[2,2]),e(V,[2,3]),e(V,[2,4]),e(V,[2,5]),e(V,[2,6]),e(V,[2,7]),e(V,[2,8]),e(V,[2,9]),e(V,[2,10]),e(V,[2,11]),e(V,[2,12]),e(l,[2,52],{58:31,43:83,4:d,5:f,10:p,12:m,13:h,14:g,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),e(l,[2,55],{58:31,43:84,4:d,5:f,10:p,12:m,13:h,14:g,60:A,61:j,63:M,64:N,65:P,66:F,67:I}),{46:[1,85]},{45:[1,86]},{4:H,5:U,6:W,8:G,11:K,13:q,16:89,17:J,18:Y,19:X,20:Z,22:88,23:87},e(V,[2,24]),e(l,[2,51],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,54],{59:59,58:60,4:d,5:f,8:L,10:p,12:m,13:h,14:g,18:R,63:M,64:N,65:P,66:F,67:I}),e(l,[2,47],{22:88,16:89,23:100,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z}),{46:[1,101]},e(l,[2,29],{10:de}),e(fe,[2,27],{16:103,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z}),e(Q,[2,25]),e(Q,[2,13]),e(Q,[2,14]),e(Q,[2,15]),e(Q,[2,16]),e(Q,[2,17]),e(Q,[2,18]),e(Q,[2,19]),e(Q,[2,20]),e(Q,[2,21]),e(Q,[2,22]),e(l,[2,49],{10:de}),e(l,[2,48],{22:88,16:89,23:104,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z}),{4:H,5:U,6:W,8:G,11:K,13:q,16:89,17:J,18:Y,19:X,20:Z,22:105},e(Q,[2,26]),e(l,[2,50],{10:de}),e(fe,[2,28],{16:103,4:H,5:U,6:W,8:G,11:K,13:q,17:J,18:Y,19:X,20:Z})],defaultActions:{8:[2,30],9:[2,31]},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
2
  `+h.showPosition()+`
3
3
  Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};pe.lexer=(function(){return{EOF:1,parseError:t(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:t(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:t(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:t(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:t(function(){return this._more=!0,this},`more`),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:t(function(e){this.unput(this.match.slice(e))},`less`),pastInput:t(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:t(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:t(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
5
  `+t+`^`},`showPosition`),test_match:t(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:t(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
6
  `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:t(function(){return this.next()||this.lex()},`lex`),begin:t(function(e){this.conditionStack.push(e)},`begin`),popState:t(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:t(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:t(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:t(function(e){this.begin(e)},`pushState`),stateStackSize:t(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:t(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin(`title`),35;case 5:return this.popState(),`title_value`;case 6:return this.begin(`acc_title`),37;case 7:return this.popState(),`acc_title_value`;case 8:return this.begin(`acc_descr`),39;case 9:return this.popState(),`acc_descr_value`;case 10:this.begin(`acc_descr_multiline`);break;case 11:this.popState();break;case 12:return`acc_descr_multiline_value`;case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin(`md_string`);break;case 22:return`MD_STR`;case 23:this.popState();break;case 24:this.begin(`string`);break;case 25:this.popState();break;case 26:return`STR`;case 27:this.begin(`class_name`);break;case 28:return this.popState(),47;case 29:return this.begin(`point_start`),44;case 30:return this.begin(`point_x`),45;case 31:this.popState();break;case 32:this.popState(),this.begin(`point_y`);break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},`anonymous`),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}}})();function $(){this.yy={}}return t($,`Parser`),$.prototype=pe,pe.Parser=$,new $})();g.parser=g;var _=g,v=o(),y=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static#e=t(this,`QuadrantBuilder`);getDefaultData(){return{titleText:``,quadrant1Text:``,quadrant2Text:``,quadrant3Text:``,quadrant4Text:``,xAxisLeftText:``,xAxisRightText:``,yAxisBottomText:``,yAxisTopText:``,points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:f.quadrantChart?.chartWidth||500,chartWidth:f.quadrantChart?.chartHeight||500,titlePadding:f.quadrantChart?.titlePadding||10,titleFontSize:f.quadrantChart?.titleFontSize||20,quadrantPadding:f.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:f.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:f.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:f.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:f.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:f.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:f.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:f.quadrantChart?.pointTextPadding||5,pointLabelFontSize:f.quadrantChart?.pointLabelFontSize||12,pointRadius:f.quadrantChart?.pointRadius||5,xAxisPosition:f.quadrantChart?.xAxisPosition||`top`,yAxisPosition:f.quadrantChart?.yAxisPosition||`left`,quadrantInternalBorderStrokeWidth:f.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:f.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:v.quadrant1Fill,quadrant2Fill:v.quadrant2Fill,quadrant3Fill:v.quadrant3Fill,quadrant4Fill:v.quadrant4Fill,quadrant1TextFill:v.quadrant1TextFill,quadrant2TextFill:v.quadrant2TextFill,quadrant3TextFill:v.quadrant3TextFill,quadrant4TextFill:v.quadrant4TextFill,quadrantPointFill:v.quadrantPointFill,quadrantPointTextFill:v.quadrantPointTextFill,quadrantXAxisTextFill:v.quadrantXAxisTextFill,quadrantYAxisTextFill:v.quadrantYAxisTextFill,quadrantTitleFill:v.quadrantTitleFill,quadrantInternalBorderStrokeFill:v.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:v.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,e.info(`clear called`)}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,t){this.classes.set(e,t)}setConfig(t){e.trace(`setConfig called with: `,t),this.config={...this.config,...t}}setThemeConfig(t){e.trace(`setThemeConfig called with: `,t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(e,t,n,r){let i=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,a={top:e===`top`&&t?i:0,bottom:e===`bottom`&&t?i:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,s={left:this.config.yAxisPosition===`left`&&n?o:0,right:this.config.yAxisPosition===`right`&&n?o:0},c=this.config.titleFontSize+this.config.titlePadding*2,l={top:r?c:0},u=this.config.quadrantPadding+s.left,d=this.config.quadrantPadding+a.top+l.top,f=this.config.chartWidth-this.config.quadrantPadding*2-s.left-s.right,p=this.config.chartHeight-this.config.quadrantPadding*2-a.top-a.bottom-l.top;return{xAxisSpace:a,yAxisSpace:s,titleSpace:l,quadrantSpace:{quadrantLeft:u,quadrantTop:d,quadrantWidth:f,quadrantHalfWidth:f/2,quadrantHeight:p,quadrantHalfHeight:p/2}}}getAxisLabels(e,t,n,r){let{quadrantSpace:i,titleSpace:a}=r,{quadrantHalfHeight:o,quadrantHeight:s,quadrantLeft:c,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:d}=i,f=!!this.data.xAxisRightText,p=!!this.data.yAxisTopText,m=[];return this.data.xAxisLeftText&&t&&m.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:c+(f?l/2:0),y:e===`top`?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+u+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:f?`center`:`left`,horizontalPos:`top`,rotation:0}),this.data.xAxisRightText&&t&&m.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:c+l+(f?l/2:0),y:e===`top`?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+u+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:f?`center`:`left`,horizontalPos:`top`,rotation:0}),this.data.yAxisBottomText&&n&&m.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition===`left`?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+c+d+this.config.quadrantPadding,y:u+s-(p?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?`center`:`left`,horizontalPos:`top`,rotation:-90}),this.data.yAxisTopText&&n&&m.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition===`left`?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+c+d+this.config.quadrantPadding,y:u+o-(p?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?`center`:`left`,horizontalPos:`top`,rotation:-90}),m}getQuadrants(e){let{quadrantSpace:t}=e,{quadrantHalfHeight:n,quadrantLeft:r,quadrantHalfWidth:i,quadrantTop:a}=t,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:`center`,horizontalPos:`middle`,rotation:0},x:r+i,y:a,width:i,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:`center`,horizontalPos:`middle`,rotation:0},x:r,y:a,width:i,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:`center`,horizontalPos:`middle`,rotation:0},x:r,y:a+n,width:i,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:`center`,horizontalPos:`middle`,rotation:0},x:r+i,y:a+n,width:i,height:n,fill:this.themeConfig.quadrant4Fill}];for(let e of o)e.text.x=e.x+e.width/2,this.data.points.length===0?(e.text.y=e.y+e.height/2,e.text.horizontalPos=`middle`):(e.text.y=e.y+this.config.quadrantTextTopPadding,e.text.horizontalPos=`top`);return o}getQuadrantPoints(e){let{quadrantSpace:t}=e,{quadrantHeight:n,quadrantLeft:r,quadrantTop:i,quadrantWidth:a}=t,o=h().domain([0,1]).range([r,a+r]),s=h().domain([0,1]).range([n+i,i]);return this.data.points.map(e=>{let t=this.classes.get(e.className);return t&&(e={...t,...e}),{x:o(e.x),y:s(e.y),fill:e.color??this.themeConfig.quadrantPointFill,radius:e.radius??this.config.pointRadius,text:{text:e.text,fill:this.themeConfig.quadrantPointTextFill,x:o(e.x),y:s(e.y)+this.config.pointTextPadding,verticalPos:`center`,horizontalPos:`top`,fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:e.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:e.strokeWidth??`0px`}})}getBorders(e){let t=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:r,quadrantHeight:i,quadrantLeft:a,quadrantHalfWidth:o,quadrantTop:s,quadrantWidth:c}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-t,y1:s,x2:a+c+t,y2:s},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a+c,y1:s+t,x2:a+c,y2:s+i-t},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-t,y1:s+i,x2:a+c+t,y2:s+i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a,y1:s+t,x2:a,y2:s+i-t},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+o,y1:s+t,x2:a+o,y2:s+i-t},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+t,y1:s+r,x2:a+c-t,y2:s+r}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:`top`,verticalPos:`center`,rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),t=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,r=this.data.points.length>0?`bottom`:this.config.xAxisPosition,i=this.calculateSpace(r,e,t,n);return{points:this.getQuadrantPoints(i),quadrants:this.getQuadrants(i),axisLabels:this.getAxisLabels(r,e,t,i),borderLines:this.getBorders(i),title:this.getTitle(n)}}},b=class extends Error{static#e=t(this,`InvalidStyleError`);constructor(e,t,n){super(`value for ${e} ${t} is invalid, please use a valid ${n}`),this.name=`InvalidStyleError`}};function x(e){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(e)}t(x,`validateHexCode`);function S(e){return!/^\d+$/.test(e)}t(S,`validateNumber`);function C(e){return!/^\d+px$/.test(e)}t(C,`validateSizeInPixels`);var w=u();function T(e){return a(e.trim(),w)}t(T,`textSanitizer`);var E=new y;function D(e){E.setData({quadrant1Text:T(e.text)})}t(D,`setQuadrant1Text`);function O(e){E.setData({quadrant2Text:T(e.text)})}t(O,`setQuadrant2Text`);function k(e){E.setData({quadrant3Text:T(e.text)})}t(k,`setQuadrant3Text`);function A(e){E.setData({quadrant4Text:T(e.text)})}t(A,`setQuadrant4Text`);function j(e){E.setData({xAxisLeftText:T(e.text)})}t(j,`setXAxisLeftText`);function M(e){E.setData({xAxisRightText:T(e.text)})}t(M,`setXAxisRightText`);function N(e){E.setData({yAxisTopText:T(e.text)})}t(N,`setYAxisTopText`);function P(e){E.setData({yAxisBottomText:T(e.text)})}t(P,`setYAxisBottomText`);function F(e){let t={};for(let n of e){let[e,r]=n.trim().split(/\s*:\s*/);if(e===`radius`){if(S(r))throw new b(e,r,`number`);t.radius=parseInt(r)}else if(e===`color`){if(x(r))throw new b(e,r,`hex code`);t.color=r}else if(e===`stroke-color`){if(x(r))throw new b(e,r,`hex code`);t.strokeColor=r}else if(e===`stroke-width`){if(C(r))throw new b(e,r,`number of pixels (eg. 10px)`);t.strokeWidth=r}else throw Error(`style named ${e} is not supported.`)}return t}t(F,`parseStyles`);function I(e,t,n,r,i){let a=F(i);E.addPoints([{x:n,y:r,text:T(e.text),className:t,...a}])}t(I,`addPoint`);function L(e,t){E.addClass(e,F(t))}t(L,`addClass`);function R(e){E.setConfig({chartWidth:e})}t(R,`setWidth`);function z(e){E.setConfig({chartHeight:e})}t(z,`setHeight`);function B(){let{themeVariables:e,quadrantChart:t}=u();return t&&E.setConfig(t),E.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),E.setData({titleText:i()}),E.build()}t(B,`getQuadrantData`);var ee={parser:_,db:{setWidth:R,setHeight:z,setQuadrant1Text:D,setQuadrant2Text:O,setQuadrant3Text:k,setQuadrant4Text:A,setXAxisLeftText:j,setXAxisRightText:M,setYAxisTopText:N,setYAxisBottomText:P,parseStyles:F,addPoint:I,addClass:L,getQuadrantData:B,clear:t(function(){E.clear(),l()},`clear`),setAccTitle:r,getAccTitle:p,setDiagramTitle:s,getDiagramTitle:i,getAccDescription:c,setAccDescription:m},renderer:{draw:t((r,i,a,o)=>{function s(e){return e===`top`?`hanging`:`middle`}t(s,`getDominantBaseLine`);function c(e){return e===`left`?`start`:`middle`}t(c,`getTextAnchor`);function l(e){return`translate(${e.x}, ${e.y}) rotate(${e.rotation||0})`}t(l,`getTransformation`);let f=u();e.debug(`Rendering quadrant chart
7
7
  `+r);let p=f.securityLevel,m;p===`sandbox`&&(m=n(`#i`+i));let h=n(p===`sandbox`?m.nodes()[0].contentDocument.body:`body`).select(`[id="${i}"]`),g=h.append(`g`).attr(`class`,`main`),_=f.quadrantChart?.chartWidth??500,v=f.quadrantChart?.chartHeight??500;d(h,v,_,f.quadrantChart?.useMaxWidth??!0),h.attr(`viewBox`,`0 0 `+_+` `+v),o.db.setHeight(v),o.db.setWidth(_);let y=o.db.getQuadrantData(),b=g.append(`g`).attr(`class`,`quadrants`),x=g.append(`g`).attr(`class`,`border`),S=g.append(`g`).attr(`class`,`data-points`),C=g.append(`g`).attr(`class`,`labels`),w=g.append(`g`).attr(`class`,`title`);y.title&&w.append(`text`).attr(`x`,0).attr(`y`,0).attr(`fill`,y.title.fill).attr(`font-size`,y.title.fontSize).attr(`dominant-baseline`,s(y.title.horizontalPos)).attr(`text-anchor`,c(y.title.verticalPos)).attr(`transform`,l(y.title)).text(y.title.text),y.borderLines&&x.selectAll(`line`).data(y.borderLines).enter().append(`line`).attr(`x1`,e=>e.x1).attr(`y1`,e=>e.y1).attr(`x2`,e=>e.x2).attr(`y2`,e=>e.y2).style(`stroke`,e=>e.strokeFill).style(`stroke-width`,e=>e.strokeWidth);let T=b.selectAll(`g.quadrant`).data(y.quadrants).enter().append(`g`).attr(`class`,`quadrant`);T.append(`rect`).attr(`x`,e=>e.x).attr(`y`,e=>e.y).attr(`width`,e=>e.width).attr(`height`,e=>e.height).attr(`fill`,e=>e.fill),T.append(`text`).attr(`x`,0).attr(`y`,0).attr(`fill`,e=>e.text.fill).attr(`font-size`,e=>e.text.fontSize).attr(`dominant-baseline`,e=>s(e.text.horizontalPos)).attr(`text-anchor`,e=>c(e.text.verticalPos)).attr(`transform`,e=>l(e.text)).text(e=>e.text.text),C.selectAll(`g.label`).data(y.axisLabels).enter().append(`g`).attr(`class`,`label`).append(`text`).attr(`x`,0).attr(`y`,0).text(e=>e.text).attr(`fill`,e=>e.fill).attr(`font-size`,e=>e.fontSize).attr(`dominant-baseline`,e=>s(e.horizontalPos)).attr(`text-anchor`,e=>c(e.verticalPos)).attr(`transform`,e=>l(e));let E=S.selectAll(`g.data-point`).data(y.points).enter().append(`g`).attr(`class`,`data-point`);E.append(`circle`).attr(`cx`,e=>e.x).attr(`cy`,e=>e.y).attr(`r`,e=>e.radius).attr(`fill`,e=>e.fill).attr(`stroke`,e=>e.strokeColor).attr(`stroke-width`,e=>e.strokeWidth),E.append(`text`).attr(`x`,0).attr(`y`,0).text(e=>e.text.text).attr(`fill`,e=>e.text.fill).attr(`font-size`,e=>e.text.fontSize).attr(`dominant-baseline`,e=>s(e.text.horizontalPos)).attr(`text-anchor`,e=>c(e.text.verticalPos)).attr(`transform`,e=>l(e.text))},`draw`)},styles:t(()=>``,`styles`)};export{ee as diagram};
8
- //# sourceMappingURL=quadrantDiagram-AYHSOK5B-CT_2FVkC.js.map
8
+ //# sourceMappingURL=quadrantDiagram-AYHSOK5B-B9rusor8.js.map