@usepagelet/runtime 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/dist/v1/capabilities.md +59 -0
- package/dist/v1/chunks/architecture-7EHR7CIX-CDRXMAVQ.js +2 -0
- package/dist/v1/chunks/architecture-7EHR7CIX-CDRXMAVQ.js.map +7 -0
- package/dist/v1/chunks/architectureDiagram-3BPJPVTR-EYIVUOEK.js +37 -0
- package/dist/v1/chunks/architectureDiagram-3BPJPVTR-EYIVUOEK.js.map +7 -0
- package/dist/v1/chunks/blockDiagram-GPEHLZMM-P7MBAWVH.js +133 -0
- package/dist/v1/chunks/blockDiagram-GPEHLZMM-P7MBAWVH.js.map +7 -0
- package/dist/v1/chunks/c4Diagram-AAUBKEIU-2XSL5LGB.js +11 -0
- package/dist/v1/chunks/c4Diagram-AAUBKEIU-2XSL5LGB.js.map +7 -0
- package/dist/v1/chunks/chunk-2STBDRRH.js +2 -0
- package/dist/v1/chunks/chunk-2STBDRRH.js.map +7 -0
- package/dist/v1/chunks/chunk-6AA7JQNC.js +71 -0
- package/dist/v1/chunks/chunk-6AA7JQNC.js.map +7 -0
- package/dist/v1/chunks/chunk-72WSJX2P.js +2 -0
- package/dist/v1/chunks/chunk-72WSJX2P.js.map +7 -0
- package/dist/v1/chunks/chunk-AUV7QZZ7.js +2 -0
- package/dist/v1/chunks/chunk-AUV7QZZ7.js.map +7 -0
- package/dist/v1/chunks/chunk-AZFF2WJO.js +2 -0
- package/dist/v1/chunks/chunk-AZFF2WJO.js.map +7 -0
- package/dist/v1/chunks/chunk-C2IUOGBD.js +2 -0
- package/dist/v1/chunks/chunk-C2IUOGBD.js.map +7 -0
- package/dist/v1/chunks/chunk-DKQVSAO3.js +2 -0
- package/dist/v1/chunks/chunk-DKQVSAO3.js.map +7 -0
- package/dist/v1/chunks/chunk-DS52DG6H.js +2 -0
- package/dist/v1/chunks/chunk-DS52DG6H.js.map +7 -0
- package/dist/v1/chunks/chunk-DXEOG5W4.js +2 -0
- package/dist/v1/chunks/chunk-DXEOG5W4.js.map +7 -0
- package/dist/v1/chunks/chunk-EHSK6IMI.js +3 -0
- package/dist/v1/chunks/chunk-EHSK6IMI.js.map +7 -0
- package/dist/v1/chunks/chunk-FWZR474D.js +2 -0
- package/dist/v1/chunks/chunk-FWZR474D.js.map +7 -0
- package/dist/v1/chunks/chunk-FYLAOHYS.js +2 -0
- package/dist/v1/chunks/chunk-FYLAOHYS.js.map +7 -0
- package/dist/v1/chunks/chunk-G6W4FKMG.js +2 -0
- package/dist/v1/chunks/chunk-G6W4FKMG.js.map +7 -0
- package/dist/v1/chunks/chunk-HLP6UJDY.js +2 -0
- package/dist/v1/chunks/chunk-HLP6UJDY.js.map +7 -0
- package/dist/v1/chunks/chunk-IGLPGT7W.js +160 -0
- package/dist/v1/chunks/chunk-IGLPGT7W.js.map +7 -0
- package/dist/v1/chunks/chunk-IQVRW6XA.js +322 -0
- package/dist/v1/chunks/chunk-IQVRW6XA.js.map +7 -0
- package/dist/v1/chunks/chunk-IY5OUPDU.js +5 -0
- package/dist/v1/chunks/chunk-IY5OUPDU.js.map +7 -0
- package/dist/v1/chunks/chunk-JOJIMF7A.js +2 -0
- package/dist/v1/chunks/chunk-JOJIMF7A.js.map +7 -0
- package/dist/v1/chunks/chunk-NWD66TP4.js +2 -0
- package/dist/v1/chunks/chunk-NWD66TP4.js.map +7 -0
- package/dist/v1/chunks/chunk-PLQZIFSO.js +2 -0
- package/dist/v1/chunks/chunk-PLQZIFSO.js.map +7 -0
- package/dist/v1/chunks/chunk-PVPXGQIV.js +2 -0
- package/dist/v1/chunks/chunk-PVPXGQIV.js.map +7 -0
- package/dist/v1/chunks/chunk-QDJGX3SU.js +16 -0
- package/dist/v1/chunks/chunk-QDJGX3SU.js.map +7 -0
- package/dist/v1/chunks/chunk-QSGUWHXF.js +2 -0
- package/dist/v1/chunks/chunk-QSGUWHXF.js.map +7 -0
- package/dist/v1/chunks/chunk-RCIRWMC7.js +2 -0
- package/dist/v1/chunks/chunk-RCIRWMC7.js.map +7 -0
- package/dist/v1/chunks/chunk-S4ACHXBI.js +2 -0
- package/dist/v1/chunks/chunk-S4ACHXBI.js.map +7 -0
- package/dist/v1/chunks/chunk-SA4K3XYV.js +2 -0
- package/dist/v1/chunks/chunk-SA4K3XYV.js.map +7 -0
- package/dist/v1/chunks/chunk-SAENYLYK.js +232 -0
- package/dist/v1/chunks/chunk-SAENYLYK.js.map +7 -0
- package/dist/v1/chunks/chunk-SN6BTAM3.js +4 -0
- package/dist/v1/chunks/chunk-SN6BTAM3.js.map +7 -0
- package/dist/v1/chunks/chunk-SWJRRCAF.js +2 -0
- package/dist/v1/chunks/chunk-SWJRRCAF.js.map +7 -0
- package/dist/v1/chunks/chunk-TGL5CWDU.js +63 -0
- package/dist/v1/chunks/chunk-TGL5CWDU.js.map +7 -0
- package/dist/v1/chunks/chunk-TVSQ2OZ6.js +11 -0
- package/dist/v1/chunks/chunk-TVSQ2OZ6.js.map +7 -0
- package/dist/v1/chunks/chunk-URGT6V7R.js +2 -0
- package/dist/v1/chunks/chunk-URGT6V7R.js.map +7 -0
- package/dist/v1/chunks/chunk-WBEUYPCI.js +123 -0
- package/dist/v1/chunks/chunk-WBEUYPCI.js.map +7 -0
- package/dist/v1/chunks/chunk-WEZ3ELJO.js +2 -0
- package/dist/v1/chunks/chunk-WEZ3ELJO.js.map +7 -0
- package/dist/v1/chunks/chunk-WIIGSS4X.js +2 -0
- package/dist/v1/chunks/chunk-WIIGSS4X.js.map +7 -0
- package/dist/v1/chunks/chunk-XUJKMBZ5.js +2 -0
- package/dist/v1/chunks/chunk-XUJKMBZ5.js.map +7 -0
- package/dist/v1/chunks/chunk-YC75LZ32.js +33 -0
- package/dist/v1/chunks/chunk-YC75LZ32.js.map +7 -0
- package/dist/v1/chunks/chunk-YK2CHHQT.js +207 -0
- package/dist/v1/chunks/chunk-YK2CHHQT.js.map +7 -0
- package/dist/v1/chunks/chunk-YYWGGXI6.js +2 -0
- package/dist/v1/chunks/chunk-YYWGGXI6.js.map +7 -0
- package/dist/v1/chunks/chunk-ZY7EQCMR.js +4 -0
- package/dist/v1/chunks/chunk-ZY7EQCMR.js.map +7 -0
- package/dist/v1/chunks/classDiagram-4FO5ZUOK-4VU3VATX.js +2 -0
- package/dist/v1/chunks/classDiagram-4FO5ZUOK-4VU3VATX.js.map +7 -0
- package/dist/v1/chunks/classDiagram-v2-Q7XG4LA2-QIBN3KO6.js +2 -0
- package/dist/v1/chunks/classDiagram-v2-Q7XG4LA2-QIBN3KO6.js.map +7 -0
- package/dist/v1/chunks/cose-bilkent-S5V4N54A-MHLDSCZY.js +2 -0
- package/dist/v1/chunks/cose-bilkent-S5V4N54A-MHLDSCZY.js.map +7 -0
- package/dist/v1/chunks/dagre-BM42HDAG-U3ECKIMS.js +5 -0
- package/dist/v1/chunks/dagre-BM42HDAG-U3ECKIMS.js.map +7 -0
- package/dist/v1/chunks/diagram-2AECGRRQ-BNRGNWOM.js +44 -0
- package/dist/v1/chunks/diagram-2AECGRRQ-BNRGNWOM.js.map +7 -0
- package/dist/v1/chunks/diagram-5GNKFQAL-CPWZIJ4M.js +11 -0
- package/dist/v1/chunks/diagram-5GNKFQAL-CPWZIJ4M.js.map +7 -0
- package/dist/v1/chunks/diagram-KO2AKTUF-7CDCIBL3.js +4 -0
- package/dist/v1/chunks/diagram-KO2AKTUF-7CDCIBL3.js.map +7 -0
- package/dist/v1/chunks/diagram-LMA3HP47-LPHFNXWX.js +25 -0
- package/dist/v1/chunks/diagram-LMA3HP47-LPHFNXWX.js.map +7 -0
- package/dist/v1/chunks/diagram-OG6HWLK6-FWJ2MCGI.js +25 -0
- package/dist/v1/chunks/diagram-OG6HWLK6-FWJ2MCGI.js.map +7 -0
- package/dist/v1/chunks/erDiagram-TEJ5UH35-OX62GPYU.js +86 -0
- package/dist/v1/chunks/erDiagram-TEJ5UH35-OX62GPYU.js.map +7 -0
- package/dist/v1/chunks/eventmodeling-FCH6USID-NRRIBZEB.js +2 -0
- package/dist/v1/chunks/eventmodeling-FCH6USID-NRRIBZEB.js.map +7 -0
- package/dist/v1/chunks/flowDiagram-I6XJVG4X-I4ULL6MS.js +163 -0
- package/dist/v1/chunks/flowDiagram-I6XJVG4X-I4ULL6MS.js.map +7 -0
- package/dist/v1/chunks/ganttDiagram-6RSMTGT7-TIDOVKXT.js +293 -0
- package/dist/v1/chunks/ganttDiagram-6RSMTGT7-TIDOVKXT.js.map +7 -0
- package/dist/v1/chunks/gitGraph-WXDBUCRP-4LEEA2GI.js +2 -0
- package/dist/v1/chunks/gitGraph-WXDBUCRP-4LEEA2GI.js.map +7 -0
- package/dist/v1/chunks/gitGraphDiagram-PVQCEYII-BPEBW2KG.js +107 -0
- package/dist/v1/chunks/gitGraphDiagram-PVQCEYII-BPEBW2KG.js.map +7 -0
- package/dist/v1/chunks/info-J43DQDTF-EI2RS372.js +2 -0
- package/dist/v1/chunks/info-J43DQDTF-EI2RS372.js.map +7 -0
- package/dist/v1/chunks/infoDiagram-5YYISTIA-5GFVQYI7.js +3 -0
- package/dist/v1/chunks/infoDiagram-5YYISTIA-5GFVQYI7.js.map +7 -0
- package/dist/v1/chunks/ishikawaDiagram-YF4QCWOH-AZ7PAHIN.js +71 -0
- package/dist/v1/chunks/ishikawaDiagram-YF4QCWOH-AZ7PAHIN.js.map +7 -0
- package/dist/v1/chunks/journeyDiagram-JHISSGLW-B4ZN6VTS.js +140 -0
- package/dist/v1/chunks/journeyDiagram-JHISSGLW-B4ZN6VTS.js.map +7 -0
- package/dist/v1/chunks/kanban-definition-UN3LZRKU-5THRXHJP.js +90 -0
- package/dist/v1/chunks/kanban-definition-UN3LZRKU-5THRXHJP.js.map +7 -0
- package/dist/v1/chunks/katex-CLI7E3QC.js +258 -0
- package/dist/v1/chunks/katex-CLI7E3QC.js.map +7 -0
- package/dist/v1/chunks/mindmap-definition-RKZ34NQL-E57QDEMN.js +97 -0
- package/dist/v1/chunks/mindmap-definition-RKZ34NQL-E57QDEMN.js.map +7 -0
- package/dist/v1/chunks/packet-YPE3B663-PKWGZRBL.js +2 -0
- package/dist/v1/chunks/packet-YPE3B663-PKWGZRBL.js.map +7 -0
- package/dist/v1/chunks/pie-LRSECV5Y-QSTOXR4H.js +2 -0
- package/dist/v1/chunks/pie-LRSECV5Y-QSTOXR4H.js.map +7 -0
- package/dist/v1/chunks/pieDiagram-4H26LBE5-CZULUIHM.js +31 -0
- package/dist/v1/chunks/pieDiagram-4H26LBE5-CZULUIHM.js.map +7 -0
- package/dist/v1/chunks/quadrantDiagram-W4KKPZXB-WRXQ2LCP.js +8 -0
- package/dist/v1/chunks/quadrantDiagram-W4KKPZXB-WRXQ2LCP.js.map +7 -0
- package/dist/v1/chunks/radar-GUYGQ44K-UJHF7VJA.js +2 -0
- package/dist/v1/chunks/radar-GUYGQ44K-UJHF7VJA.js.map +7 -0
- package/dist/v1/chunks/requirementDiagram-4Y6WPE33-LUKBHY3G.js +85 -0
- package/dist/v1/chunks/requirementDiagram-4Y6WPE33-LUKBHY3G.js.map +7 -0
- package/dist/v1/chunks/sankeyDiagram-5OEKKPKP-IHGIKQ7Q.js +41 -0
- package/dist/v1/chunks/sankeyDiagram-5OEKKPKP-IHGIKQ7Q.js.map +7 -0
- package/dist/v1/chunks/sequenceDiagram-3UESZ5HK-AZIJM7V2.js +163 -0
- package/dist/v1/chunks/sequenceDiagram-3UESZ5HK-AZIJM7V2.js.map +7 -0
- package/dist/v1/chunks/stateDiagram-AJRCARHV-7TL53ICK.js +2 -0
- package/dist/v1/chunks/stateDiagram-AJRCARHV-7TL53ICK.js.map +7 -0
- package/dist/v1/chunks/stateDiagram-v2-BHNVJYJU-TJ245A24.js +2 -0
- package/dist/v1/chunks/stateDiagram-v2-BHNVJYJU-TJ245A24.js.map +7 -0
- package/dist/v1/chunks/timeline-definition-PNZ67QCA-C5FF5CVI.js +121 -0
- package/dist/v1/chunks/timeline-definition-PNZ67QCA-C5FF5CVI.js.map +7 -0
- package/dist/v1/chunks/treeView-BLDUP644-2MCPJRE2.js +2 -0
- package/dist/v1/chunks/treeView-BLDUP644-2MCPJRE2.js.map +7 -0
- package/dist/v1/chunks/treemap-LRROVOQU-WSVRI32O.js +2 -0
- package/dist/v1/chunks/treemap-LRROVOQU-WSVRI32O.js.map +7 -0
- package/dist/v1/chunks/vennDiagram-CIIHVFJN-NQU7FBQX.js +35 -0
- package/dist/v1/chunks/vennDiagram-CIIHVFJN-NQU7FBQX.js.map +7 -0
- package/dist/v1/chunks/wardley-L42UT6IY-GONRRIFG.js +2 -0
- package/dist/v1/chunks/wardley-L42UT6IY-GONRRIFG.js.map +7 -0
- package/dist/v1/chunks/wardleyDiagram-YWT4CUSO-KNM7EB5A.js +79 -0
- package/dist/v1/chunks/wardleyDiagram-YWT4CUSO-KNM7EB5A.js.map +7 -0
- package/dist/v1/chunks/xychartDiagram-2RQKCTM6-CMGOBHPC.js +8 -0
- package/dist/v1/chunks/xychartDiagram-2RQKCTM6-CMGOBHPC.js.map +7 -0
- package/dist/v1/modules/charts.js +4 -0
- package/dist/v1/modules/charts.js.map +7 -0
- package/dist/v1/modules/code.js +26 -0
- package/dist/v1/modules/code.js.map +7 -0
- package/dist/v1/modules/markdown.js +65 -0
- package/dist/v1/modules/markdown.js.map +7 -0
- package/dist/v1/modules/math.js +258 -0
- package/dist/v1/modules/math.js.map +7 -0
- package/dist/v1/modules/mermaid.js +9 -0
- package/dist/v1/modules/mermaid.js.map +7 -0
- package/dist/v1/modules/png.js +3 -0
- package/dist/v1/modules/png.js.map +7 -0
- package/dist/v1/pagelet.js +128 -0
- package/dist/v1/pagelet.js.map +7 -0
- package/package.json +40 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-PVQCEYII.mjs"],
|
|
4
|
+
"sourcesContent": ["import {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n ImperativeState\n} from \"./chunk-QZHKN3VN.mjs\";\nimport {\n cleanAndMerge,\n random,\n utils_default\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n clear,\n common_default,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox2 as setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/git/gitGraphParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/git/gitGraphTypes.ts\nvar commitType = {\n NORMAL: 0,\n REVERSE: 1,\n HIGHLIGHT: 2,\n MERGE: 3,\n CHERRY_PICK: 4\n};\n\n// src/diagrams/git/gitGraphAst.ts\nvar DEFAULT_GITGRAPH_CONFIG = defaultConfig_default.gitGraph;\nvar getConfig3 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_GITGRAPH_CONFIG,\n ...getConfig().gitGraph\n });\n return config;\n}, \"getConfig\");\nvar state = new ImperativeState(() => {\n const config = getConfig3();\n const mainBranchName = config.mainBranchName;\n const mainBranchOrder = config.mainBranchOrder;\n return {\n mainBranchName,\n commits: /* @__PURE__ */ new Map(),\n head: null,\n branchConfig: /* @__PURE__ */ new Map([[mainBranchName, { name: mainBranchName, order: mainBranchOrder }]]),\n branches: /* @__PURE__ */ new Map([[mainBranchName, null]]),\n currBranch: mainBranchName,\n direction: \"LR\",\n seq: 0,\n options: {}\n };\n});\nfunction getID() {\n return random({ length: 7 });\n}\n__name(getID, \"getID\");\nfunction uniqBy(list, fn) {\n const recordMap = /* @__PURE__ */ Object.create(null);\n return list.reduce((out, item) => {\n const key = fn(item);\n if (!recordMap[key]) {\n recordMap[key] = true;\n out.push(item);\n }\n return out;\n }, []);\n}\n__name(uniqBy, \"uniqBy\");\nvar setDirection = /* @__PURE__ */ __name(function(dir2) {\n state.records.direction = dir2;\n}, \"setDirection\");\nvar setOptions = /* @__PURE__ */ __name(function(rawOptString) {\n log.debug(\"options str\", rawOptString);\n rawOptString = rawOptString?.trim();\n rawOptString = rawOptString || \"{}\";\n try {\n state.records.options = JSON.parse(rawOptString);\n } catch (e) {\n log.error(\"error while parsing gitGraph options\", e.message);\n }\n}, \"setOptions\");\nvar getOptions = /* @__PURE__ */ __name(function() {\n return state.records.options;\n}, \"getOptions\");\nvar commit = /* @__PURE__ */ __name(function(commitDB) {\n let msg = commitDB.msg;\n let id = commitDB.id;\n const type = commitDB.type;\n let tags = commitDB.tags;\n log.info(\"commit\", msg, id, type, tags);\n log.debug(\"Entering commit:\", msg, id, type, tags);\n const config = getConfig3();\n id = common_default.sanitizeText(id, config);\n msg = common_default.sanitizeText(msg, config);\n tags = tags?.map((tag) => common_default.sanitizeText(tag, config));\n const newCommit = {\n id: id ? id : state.records.seq + \"-\" + getID(),\n message: msg,\n seq: state.records.seq++,\n type: type ?? commitType.NORMAL,\n tags: tags ?? [],\n parents: state.records.head == null ? [] : [state.records.head.id],\n branch: state.records.currBranch\n };\n state.records.head = newCommit;\n log.info(\"main branch\", config.mainBranchName);\n if (state.records.commits.has(newCommit.id)) {\n log.warn(`Commit ID ${newCommit.id} already exists`);\n }\n state.records.commits.set(newCommit.id, newCommit);\n state.records.branches.set(state.records.currBranch, newCommit.id);\n log.debug(\"in pushCommit \" + newCommit.id);\n}, \"commit\");\nvar branch = /* @__PURE__ */ __name(function(branchDB) {\n let name = branchDB.name;\n const order = branchDB.order;\n name = common_default.sanitizeText(name, getConfig3());\n if (state.records.branches.has(name)) {\n throw new Error(\n `Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using \"checkout ${name}\")`\n );\n }\n state.records.branches.set(name, state.records.head != null ? state.records.head.id : null);\n state.records.branchConfig.set(name, { name, order });\n checkout(name);\n log.debug(\"in createBranch\");\n}, \"branch\");\nvar merge = /* @__PURE__ */ __name((mergeDB) => {\n let otherBranch = mergeDB.branch;\n let customId = mergeDB.id;\n const overrideType = mergeDB.type;\n const customTags = mergeDB.tags;\n const config = getConfig3();\n otherBranch = common_default.sanitizeText(otherBranch, config);\n if (customId) {\n customId = common_default.sanitizeText(customId, config);\n }\n const currentBranchCheck = state.records.branches.get(state.records.currBranch);\n const otherBranchCheck = state.records.branches.get(otherBranch);\n const currentCommit = currentBranchCheck ? state.records.commits.get(currentBranchCheck) : void 0;\n const otherCommit = otherBranchCheck ? state.records.commits.get(otherBranchCheck) : void 0;\n if (currentCommit && otherCommit && currentCommit.branch === otherBranch) {\n throw new Error(`Cannot merge branch '${otherBranch}' into itself.`);\n }\n if (state.records.currBranch === otherBranch) {\n const error = new Error('Incorrect usage of \"merge\". Cannot merge a branch to itself');\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [\"branch abc\"]\n };\n throw error;\n }\n if (currentCommit === void 0 || !currentCommit) {\n const error = new Error(\n `Incorrect usage of \"merge\". Current branch (${state.records.currBranch})has no commits`\n );\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [\"commit\"]\n };\n throw error;\n }\n if (!state.records.branches.has(otherBranch)) {\n const error = new Error(\n 'Incorrect usage of \"merge\". Branch to be merged (' + otherBranch + \") does not exist\"\n );\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [`branch ${otherBranch}`]\n };\n throw error;\n }\n if (otherCommit === void 0 || !otherCommit) {\n const error = new Error(\n 'Incorrect usage of \"merge\". Branch to be merged (' + otherBranch + \") has no commits\"\n );\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: ['\"commit\"']\n };\n throw error;\n }\n if (currentCommit === otherCommit) {\n const error = new Error('Incorrect usage of \"merge\". Both branches have same head');\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [\"branch abc\"]\n };\n throw error;\n }\n if (customId && state.records.commits.has(customId)) {\n const error = new Error(\n 'Incorrect usage of \"merge\". Commit with id:' + customId + \" already exists, use different custom id\"\n );\n error.hash = {\n text: `merge ${otherBranch} ${customId} ${overrideType} ${customTags?.join(\" \")}`,\n token: `merge ${otherBranch} ${customId} ${overrideType} ${customTags?.join(\" \")}`,\n expected: [\n `merge ${otherBranch} ${customId}_UNIQUE ${overrideType} ${customTags?.join(\" \")}`\n ]\n };\n throw error;\n }\n const verifiedBranch = otherBranchCheck ? otherBranchCheck : \"\";\n const commit2 = {\n id: customId || `${state.records.seq}-${getID()}`,\n message: `merged branch ${otherBranch} into ${state.records.currBranch}`,\n seq: state.records.seq++,\n parents: state.records.head == null ? [] : [state.records.head.id, verifiedBranch],\n branch: state.records.currBranch,\n type: commitType.MERGE,\n customType: overrideType,\n customId: customId ? true : false,\n tags: customTags ?? []\n };\n state.records.head = commit2;\n state.records.commits.set(commit2.id, commit2);\n state.records.branches.set(state.records.currBranch, commit2.id);\n log.debug(state.records.branches);\n log.debug(\"in mergeBranch\");\n}, \"merge\");\nvar cherryPick = /* @__PURE__ */ __name(function(cherryPickDB) {\n let sourceId = cherryPickDB.id;\n let targetId = cherryPickDB.targetId;\n let tags = cherryPickDB.tags;\n let parentCommitId = cherryPickDB.parent;\n log.debug(\"Entering cherryPick:\", sourceId, targetId, tags);\n const config = getConfig3();\n sourceId = common_default.sanitizeText(sourceId, config);\n targetId = common_default.sanitizeText(targetId, config);\n tags = tags?.map((tag) => common_default.sanitizeText(tag, config));\n parentCommitId = common_default.sanitizeText(parentCommitId, config);\n if (!sourceId || !state.records.commits.has(sourceId)) {\n const error = new Error(\n 'Incorrect usage of \"cherryPick\". Source commit id should exist and provided'\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const sourceCommit = state.records.commits.get(sourceId);\n if (sourceCommit === void 0 || !sourceCommit) {\n throw new Error('Incorrect usage of \"cherryPick\". Source commit id should exist and provided');\n }\n if (parentCommitId && !(Array.isArray(sourceCommit.parents) && sourceCommit.parents.includes(parentCommitId))) {\n const error = new Error(\n \"Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.\"\n );\n throw error;\n }\n const sourceCommitBranch = sourceCommit.branch;\n if (sourceCommit.type === commitType.MERGE && !parentCommitId) {\n const error = new Error(\n \"Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.\"\n );\n throw error;\n }\n if (!targetId || !state.records.commits.has(targetId)) {\n if (sourceCommitBranch === state.records.currBranch) {\n const error = new Error(\n 'Incorrect usage of \"cherryPick\". Source commit is already on current branch'\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const currentCommitId = state.records.branches.get(state.records.currBranch);\n if (currentCommitId === void 0 || !currentCommitId) {\n const error = new Error(\n `Incorrect usage of \"cherry-pick\". Current branch (${state.records.currBranch})has no commits`\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const currentCommit = state.records.commits.get(currentCommitId);\n if (currentCommit === void 0 || !currentCommit) {\n const error = new Error(\n `Incorrect usage of \"cherry-pick\". Current branch (${state.records.currBranch})has no commits`\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const commit2 = {\n id: state.records.seq + \"-\" + getID(),\n message: `cherry-picked ${sourceCommit?.message} into ${state.records.currBranch}`,\n seq: state.records.seq++,\n parents: state.records.head == null ? [] : [state.records.head.id, sourceCommit.id],\n branch: state.records.currBranch,\n type: commitType.CHERRY_PICK,\n tags: tags ? tags.filter(Boolean) : [\n `cherry-pick:${sourceCommit.id}${sourceCommit.type === commitType.MERGE ? `|parent:${parentCommitId}` : \"\"}`\n ]\n };\n state.records.head = commit2;\n state.records.commits.set(commit2.id, commit2);\n state.records.branches.set(state.records.currBranch, commit2.id);\n log.debug(state.records.branches);\n log.debug(\"in cherryPick\");\n }\n}, \"cherryPick\");\nvar checkout = /* @__PURE__ */ __name(function(branch2) {\n branch2 = common_default.sanitizeText(branch2, getConfig3());\n if (!state.records.branches.has(branch2)) {\n const error = new Error(\n `Trying to checkout branch which is not yet created. (Help try using \"branch ${branch2}\")`\n );\n error.hash = {\n text: `checkout ${branch2}`,\n token: `checkout ${branch2}`,\n expected: [`branch ${branch2}`]\n };\n throw error;\n } else {\n state.records.currBranch = branch2;\n const id = state.records.branches.get(state.records.currBranch);\n if (id === void 0 || !id) {\n state.records.head = null;\n } else {\n state.records.head = state.records.commits.get(id) ?? null;\n }\n }\n}, \"checkout\");\nfunction upsert(arr, key, newVal) {\n const index = arr.indexOf(key);\n if (index === -1) {\n arr.push(newVal);\n } else {\n arr.splice(index, 1, newVal);\n }\n}\n__name(upsert, \"upsert\");\nfunction prettyPrintCommitHistory(commitArr) {\n const commit2 = commitArr.reduce((out, commit3) => {\n if (out.seq > commit3.seq) {\n return out;\n }\n return commit3;\n }, commitArr[0]);\n let line = \"\";\n commitArr.forEach(function(c) {\n if (c === commit2) {\n line += \"\t*\";\n } else {\n line += \"\t|\";\n }\n });\n const label = [line, commit2.id, commit2.seq];\n for (const branch2 in state.records.branches) {\n if (state.records.branches.get(branch2) === commit2.id) {\n label.push(branch2);\n }\n }\n log.debug(label.join(\" \"));\n if (commit2.parents && commit2.parents.length == 2 && commit2.parents[0] && commit2.parents[1]) {\n const newCommit = state.records.commits.get(commit2.parents[0]);\n upsert(commitArr, commit2, newCommit);\n if (commit2.parents[1]) {\n commitArr.push(state.records.commits.get(commit2.parents[1]));\n }\n } else if (commit2.parents.length == 0) {\n return;\n } else {\n if (commit2.parents[0]) {\n const newCommit = state.records.commits.get(commit2.parents[0]);\n upsert(commitArr, commit2, newCommit);\n }\n }\n commitArr = uniqBy(commitArr, (c) => c.id);\n prettyPrintCommitHistory(commitArr);\n}\n__name(prettyPrintCommitHistory, \"prettyPrintCommitHistory\");\nvar prettyPrint = /* @__PURE__ */ __name(function() {\n log.debug(state.records.commits);\n const node = getCommitsArray()[0];\n prettyPrintCommitHistory([node]);\n}, \"prettyPrint\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n state.reset();\n clear();\n}, \"clear\");\nvar getBranchesAsObjArray = /* @__PURE__ */ __name(function() {\n const branchesArray = [...state.records.branchConfig.values()].map((branchConfig, i) => {\n if (branchConfig.order !== null && branchConfig.order !== void 0) {\n return branchConfig;\n }\n return {\n ...branchConfig,\n order: parseFloat(`0.${i}`)\n };\n }).sort((a, b) => (a.order ?? 0) - (b.order ?? 0)).map(({ name }) => ({ name }));\n return branchesArray;\n}, \"getBranchesAsObjArray\");\nvar getBranches = /* @__PURE__ */ __name(function() {\n return state.records.branches;\n}, \"getBranches\");\nvar getCommits = /* @__PURE__ */ __name(function() {\n return state.records.commits;\n}, \"getCommits\");\nvar getCommitsArray = /* @__PURE__ */ __name(function() {\n const commitArr = [...state.records.commits.values()];\n commitArr.forEach(function(o) {\n log.debug(o.id);\n });\n commitArr.sort((a, b) => a.seq - b.seq);\n return commitArr;\n}, \"getCommitsArray\");\nvar getCurrentBranch = /* @__PURE__ */ __name(function() {\n return state.records.currBranch;\n}, \"getCurrentBranch\");\nvar getDirection = /* @__PURE__ */ __name(function() {\n return state.records.direction;\n}, \"getDirection\");\nvar getHead = /* @__PURE__ */ __name(function() {\n return state.records.head;\n}, \"getHead\");\nvar db = {\n commitType,\n getConfig: getConfig3,\n setDirection,\n setOptions,\n getOptions,\n commit,\n branch,\n merge,\n cherryPick,\n checkout,\n //reset,\n prettyPrint,\n clear: clear2,\n getBranchesAsObjArray,\n getBranches,\n getCommits,\n getCommitsArray,\n getCurrentBranch,\n getDirection,\n getHead,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n setDiagramTitle,\n getDiagramTitle\n};\n\n// src/diagrams/git/gitGraphParser.ts\nvar populate = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n if (ast.dir) {\n db2.setDirection(ast.dir);\n }\n for (const statement of ast.statements) {\n parseStatement(statement, db2);\n }\n}, \"populate\");\nvar parseStatement = /* @__PURE__ */ __name((statement, db2) => {\n const parsers = {\n Commit: /* @__PURE__ */ __name((stmt) => db2.commit(parseCommit(stmt)), \"Commit\"),\n Branch: /* @__PURE__ */ __name((stmt) => db2.branch(parseBranch(stmt)), \"Branch\"),\n Merge: /* @__PURE__ */ __name((stmt) => db2.merge(parseMerge(stmt)), \"Merge\"),\n Checkout: /* @__PURE__ */ __name((stmt) => db2.checkout(parseCheckout(stmt)), \"Checkout\"),\n CherryPicking: /* @__PURE__ */ __name((stmt) => db2.cherryPick(parseCherryPicking(stmt)), \"CherryPicking\")\n };\n const parser2 = parsers[statement.$type];\n if (parser2) {\n parser2(statement);\n } else {\n log.error(`Unknown statement type: ${statement.$type}`);\n }\n}, \"parseStatement\");\nvar parseCommit = /* @__PURE__ */ __name((commit2) => {\n const commitDB = {\n id: commit2.id,\n msg: commit2.message ?? \"\",\n type: commit2.type !== void 0 ? commitType[commit2.type] : commitType.NORMAL,\n tags: commit2.tags ?? void 0\n };\n return commitDB;\n}, \"parseCommit\");\nvar parseBranch = /* @__PURE__ */ __name((branch2) => {\n const branchDB = {\n name: branch2.name,\n order: branch2.order ?? 0\n };\n return branchDB;\n}, \"parseBranch\");\nvar parseMerge = /* @__PURE__ */ __name((merge2) => {\n const mergeDB = {\n branch: merge2.branch,\n id: merge2.id ?? \"\",\n type: merge2.type !== void 0 ? commitType[merge2.type] : void 0,\n tags: merge2.tags ?? void 0\n };\n return mergeDB;\n}, \"parseMerge\");\nvar parseCheckout = /* @__PURE__ */ __name((checkout2) => {\n const branch2 = checkout2.branch;\n return branch2;\n}, \"parseCheckout\");\nvar parseCherryPicking = /* @__PURE__ */ __name((cherryPicking) => {\n const cherryPickDB = {\n id: cherryPicking.id,\n targetId: \"\",\n tags: cherryPicking.tags?.length === 0 ? void 0 : cherryPicking.tags,\n parent: cherryPicking.parent\n };\n return cherryPickDB;\n}, \"parseCherryPicking\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"gitGraph\", input);\n log.debug(ast);\n populate(ast, db);\n }, \"parse\")\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n const mockDB = {\n commitType,\n setDirection: vi.fn(),\n commit: vi.fn(),\n branch: vi.fn(),\n merge: vi.fn(),\n cherryPick: vi.fn(),\n checkout: vi.fn()\n };\n describe(\"GitGraph Parser\", () => {\n it(\"should parse a commit statement\", () => {\n const commit2 = {\n $type: \"Commit\",\n id: \"1\",\n message: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n };\n parseStatement(commit2, mockDB);\n expect(mockDB.commit).toHaveBeenCalledWith({\n id: \"1\",\n msg: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n });\n it(\"should parse a branch statement\", () => {\n const branch2 = {\n $type: \"Branch\",\n name: \"newBranch\",\n order: 1\n };\n parseStatement(branch2, mockDB);\n expect(mockDB.branch).toHaveBeenCalledWith({ name: \"newBranch\", order: 1 });\n });\n it(\"should parse a checkout statement\", () => {\n const checkout2 = {\n $type: \"Checkout\",\n branch: \"newBranch\"\n };\n parseStatement(checkout2, mockDB);\n expect(mockDB.checkout).toHaveBeenCalledWith(\"newBranch\");\n });\n it(\"should parse a merge statement\", () => {\n const merge2 = {\n $type: \"Merge\",\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n };\n parseStatement(merge2, mockDB);\n expect(mockDB.merge).toHaveBeenCalledWith({\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n });\n it(\"should parse a cherry picking statement\", () => {\n const cherryPick2 = {\n $type: \"CherryPicking\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n parent: \"2\"\n };\n parseStatement(cherryPick2, mockDB);\n expect(mockDB.cherryPick).toHaveBeenCalledWith({\n id: \"1\",\n targetId: \"\",\n parent: \"2\",\n tags: [\"tag1\", \"tag2\"]\n });\n });\n it(\"should parse a langium generated gitGraph ast\", () => {\n const dummy = {\n $type: \"GitGraph\",\n statements: [],\n accDescr: \"\",\n accTitle: \"\",\n title: \"\"\n };\n const gitGraphAst = {\n $type: \"GitGraph\",\n statements: [\n {\n $container: dummy,\n $type: \"Commit\",\n id: \"1\",\n message: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n },\n {\n $container: dummy,\n $type: \"Branch\",\n name: \"newBranch\",\n order: 1\n },\n {\n $container: dummy,\n $type: \"Merge\",\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n },\n {\n $container: dummy,\n $type: \"Checkout\",\n branch: \"newBranch\"\n },\n {\n $container: dummy,\n $type: \"CherryPicking\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n parent: \"2\"\n }\n ],\n accDescr: \"\",\n accTitle: \"\",\n title: \"\"\n };\n populate(gitGraphAst, mockDB);\n expect(mockDB.commit).toHaveBeenCalledWith({\n id: \"1\",\n msg: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n expect(mockDB.branch).toHaveBeenCalledWith({ name: \"newBranch\", order: 1 });\n expect(mockDB.merge).toHaveBeenCalledWith({\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n expect(mockDB.checkout).toHaveBeenCalledWith(\"newBranch\");\n });\n });\n}\n\n// src/diagrams/git/gitGraphRenderer.ts\nimport { select } from \"d3\";\nvar LAYOUT_OFFSET = 10;\nvar COMMIT_STEP = 40;\nvar PX = 4;\nvar PY = 2;\nvar THEME_COLOR_LIMIT = 8;\nvar REDUX_GEOMETRY_THEMES = /* @__PURE__ */ new Set([\"redux\", \"redux-dark\", \"redux-color\", \"redux-dark-color\"]);\nvar REDUX_BRANCH_LABEL_PADDING_Y = 12;\nvar COLOR_THEMES = /* @__PURE__ */ new Set([\"redux-color\", \"redux-dark-color\"]);\nvar DARK_THEMES = /* @__PURE__ */ new Set([\"dark\", \"redux-dark\", \"redux-dark-color\", \"neo-dark\"]);\nvar calcColorIndex = /* @__PURE__ */ __name((rawIndex, limit, avoidDefaultColor = false) => {\n if (avoidDefaultColor && rawIndex > 0) {\n return (rawIndex - 1) % (limit - 1) + 1;\n }\n return rawIndex % limit;\n}, \"calcColorIndex\");\nvar branchPos = /* @__PURE__ */ new Map();\nvar commitPos = /* @__PURE__ */ new Map();\nvar defaultPos = 30;\nvar allCommitsDict = /* @__PURE__ */ new Map();\nvar lanes = [];\nvar maxPos = 0;\nvar dir = \"LR\";\nvar clear3 = /* @__PURE__ */ __name(() => {\n branchPos.clear();\n commitPos.clear();\n allCommitsDict.clear();\n maxPos = 0;\n lanes = [];\n dir = \"LR\";\n}, \"clear\");\nvar drawText = /* @__PURE__ */ __name((txt) => {\n const svgLabel = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n const rows = typeof txt === \"string\" ? txt.split(/\\\\n|\\n|<br\\s*\\/?>/gi) : txt;\n rows.forEach((row) => {\n const tspan = document.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"0\");\n tspan.setAttribute(\"class\", \"row\");\n tspan.textContent = row.trim();\n svgLabel.appendChild(tspan);\n });\n return svgLabel;\n}, \"drawText\");\nvar findClosestParent = /* @__PURE__ */ __name((parents) => {\n let closestParent;\n let comparisonFunc;\n let targetPosition;\n if (dir === \"BT\") {\n comparisonFunc = /* @__PURE__ */ __name((a, b) => a <= b, \"comparisonFunc\");\n targetPosition = Infinity;\n } else {\n comparisonFunc = /* @__PURE__ */ __name((a, b) => a >= b, \"comparisonFunc\");\n targetPosition = 0;\n }\n parents.forEach((parent) => {\n const parentPosition = dir === \"TB\" || dir == \"BT\" ? commitPos.get(parent)?.y : commitPos.get(parent)?.x;\n if (parentPosition !== void 0 && comparisonFunc(parentPosition, targetPosition)) {\n closestParent = parent;\n targetPosition = parentPosition;\n }\n });\n return closestParent;\n}, \"findClosestParent\");\nvar findClosestParentBT = /* @__PURE__ */ __name((parents) => {\n let closestParent = \"\";\n let maxPosition = Infinity;\n parents.forEach((parent) => {\n const parentPosition = commitPos.get(parent).y;\n if (parentPosition <= maxPosition) {\n closestParent = parent;\n maxPosition = parentPosition;\n }\n });\n return closestParent || void 0;\n}, \"findClosestParentBT\");\nvar setParallelBTPos = /* @__PURE__ */ __name((sortedKeys, commits, defaultPos2) => {\n let curPos = defaultPos2;\n let maxPosition = defaultPos2;\n const roots = [];\n sortedKeys.forEach((key) => {\n const commit2 = commits.get(key);\n if (!commit2) {\n throw new Error(`Commit not found for key ${key}`);\n }\n if (commit2.parents.length) {\n curPos = calculateCommitPosition(commit2);\n maxPosition = Math.max(curPos, maxPosition);\n } else {\n roots.push(commit2);\n }\n setCommitPosition(commit2, curPos);\n });\n curPos = maxPosition;\n roots.forEach((commit2) => {\n setRootPosition(commit2, curPos, defaultPos2);\n });\n sortedKeys.forEach((key) => {\n const commit2 = commits.get(key);\n if (commit2?.parents.length) {\n const closestParent = findClosestParentBT(commit2.parents);\n curPos = commitPos.get(closestParent).y - COMMIT_STEP;\n if (curPos <= maxPosition) {\n maxPosition = curPos;\n }\n const x = branchPos.get(commit2.branch).pos;\n const y = curPos - LAYOUT_OFFSET;\n commitPos.set(commit2.id, { x, y });\n }\n });\n}, \"setParallelBTPos\");\nvar findClosestParentPos = /* @__PURE__ */ __name((commit2) => {\n const closestParent = findClosestParent(commit2.parents.filter((p) => p !== null));\n if (!closestParent) {\n throw new Error(`Closest parent not found for commit ${commit2.id}`);\n }\n const closestParentPos = commitPos.get(closestParent)?.y;\n if (closestParentPos === void 0) {\n throw new Error(`Closest parent position not found for commit ${commit2.id}`);\n }\n return closestParentPos;\n}, \"findClosestParentPos\");\nvar calculateCommitPosition = /* @__PURE__ */ __name((commit2) => {\n const closestParentPos = findClosestParentPos(commit2);\n return closestParentPos + COMMIT_STEP;\n}, \"calculateCommitPosition\");\nvar setCommitPosition = /* @__PURE__ */ __name((commit2, curPos) => {\n const branch2 = branchPos.get(commit2.branch);\n if (!branch2) {\n throw new Error(`Branch not found for commit ${commit2.id}`);\n }\n const x = branch2.pos;\n const y = curPos + LAYOUT_OFFSET;\n commitPos.set(commit2.id, { x, y });\n return { x, y };\n}, \"setCommitPosition\");\nvar setRootPosition = /* @__PURE__ */ __name((commit2, curPos, defaultPos2) => {\n const branch2 = branchPos.get(commit2.branch);\n if (!branch2) {\n throw new Error(`Branch not found for commit ${commit2.id}`);\n }\n const y = curPos + defaultPos2;\n const x = branch2.pos;\n commitPos.set(commit2.id, { x, y });\n}, \"setRootPosition\");\nvar drawCommitBullet = /* @__PURE__ */ __name((gBullets, commit2, commitPosition, typeClass, branchIndex, commitSymbolType) => {\n const { theme } = getConfig2();\n const useReduxGeometry = REDUX_GEOMETRY_THEMES.has(theme ?? \"\");\n const useColorTheme = COLOR_THEMES.has(theme ?? \"\");\n const isDark = DARK_THEMES.has(theme ?? \"\");\n if (commitSymbolType === commitType.HIGHLIGHT) {\n gBullets.append(\"rect\").attr(\"x\", commitPosition.x - 10 + (useReduxGeometry ? 3 : 0)).attr(\"y\", commitPosition.y - 10 + (useReduxGeometry ? 3 : 0)).attr(\"width\", useReduxGeometry ? 14 : 20).attr(\"height\", useReduxGeometry ? 14 : 20).attr(\n \"class\",\n `commit ${commit2.id} commit-highlight${calcColorIndex(branchIndex, THEME_COLOR_LIMIT, useColorTheme)} ${typeClass}-outer`\n );\n gBullets.append(\"rect\").attr(\"x\", commitPosition.x - 6 + (useReduxGeometry ? 2 : 0)).attr(\"y\", commitPosition.y - 6 + (useReduxGeometry ? 2 : 0)).attr(\"width\", useReduxGeometry ? 8 : 12).attr(\"height\", useReduxGeometry ? 8 : 12).attr(\n \"class\",\n `commit ${commit2.id} commit${calcColorIndex(branchIndex, THEME_COLOR_LIMIT, useColorTheme)} ${typeClass}-inner`\n );\n } else if (commitSymbolType === commitType.CHERRY_PICK) {\n gBullets.append(\"circle\").attr(\"cx\", commitPosition.x).attr(\"cy\", commitPosition.y).attr(\"r\", useReduxGeometry ? 7 : 10).attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"circle\").attr(\"cx\", commitPosition.x - 3).attr(\"cy\", commitPosition.y + 2).attr(\"r\", useReduxGeometry ? 2.5 : 2.75).attr(\"fill\", isDark ? \"#000000\" : \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"circle\").attr(\"cx\", commitPosition.x + 3).attr(\"cy\", commitPosition.y + 2).attr(\"r\", useReduxGeometry ? 2.5 : 2.75).attr(\"fill\", isDark ? \"#000000\" : \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"line\").attr(\"x1\", commitPosition.x + 3).attr(\"y1\", commitPosition.y + 1).attr(\"x2\", commitPosition.x).attr(\"y2\", commitPosition.y - 5).attr(\"stroke\", isDark ? \"#000000\" : \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"line\").attr(\"x1\", commitPosition.x - 3).attr(\"y1\", commitPosition.y + 1).attr(\"x2\", commitPosition.x).attr(\"y2\", commitPosition.y - 5).attr(\"stroke\", isDark ? \"#000000\" : \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n } else {\n const circle = gBullets.append(\"circle\");\n circle.attr(\"cx\", commitPosition.x);\n circle.attr(\"cy\", commitPosition.y);\n circle.attr(\"r\", useReduxGeometry ? 7 : 10);\n circle.attr(\n \"class\",\n `commit ${commit2.id} commit${calcColorIndex(branchIndex, THEME_COLOR_LIMIT, useColorTheme)}`\n );\n if (commitSymbolType === commitType.MERGE) {\n const circle2 = gBullets.append(\"circle\");\n circle2.attr(\"cx\", commitPosition.x);\n circle2.attr(\"cy\", commitPosition.y);\n circle2.attr(\"r\", useReduxGeometry ? 5 : 6);\n circle2.attr(\n \"class\",\n `commit ${typeClass} ${commit2.id} commit${calcColorIndex(branchIndex, THEME_COLOR_LIMIT, useColorTheme)}`\n );\n }\n if (commitSymbolType === commitType.REVERSE) {\n const cross = gBullets.append(\"path\");\n const constValue = useReduxGeometry ? 4 : 5;\n cross.attr(\n \"d\",\n `M ${commitPosition.x - constValue},${commitPosition.y - constValue}L${commitPosition.x + constValue},${commitPosition.y + constValue}M${commitPosition.x - constValue},${commitPosition.y + constValue}L${commitPosition.x + constValue},${commitPosition.y - constValue}`\n ).attr(\n \"class\",\n `commit ${typeClass} ${commit2.id} commit${calcColorIndex(branchIndex, THEME_COLOR_LIMIT, useColorTheme)}`\n );\n }\n }\n}, \"drawCommitBullet\");\nvar drawCommitLabel = /* @__PURE__ */ __name((gLabels, commit2, commitPosition, pos, gitGraphConfig) => {\n if (commit2.type !== commitType.CHERRY_PICK && (commit2.customId && commit2.type === commitType.MERGE || commit2.type !== commitType.MERGE) && gitGraphConfig.showCommitLabel) {\n const wrapper = gLabels.append(\"g\");\n const labelBkg = wrapper.insert(\"rect\").attr(\"class\", \"commit-label-bkg\");\n const text = wrapper.append(\"text\").attr(\"x\", pos).attr(\"y\", commitPosition.y + 25).attr(\"class\", \"commit-label\").text(commit2.id);\n const bbox = text.node()?.getBBox();\n if (bbox) {\n labelBkg.attr(\"x\", commitPosition.posWithOffset - bbox.width / 2 - PY).attr(\"y\", commitPosition.y + 13.5).attr(\"width\", bbox.width + 2 * PY).attr(\"height\", bbox.height + 2 * PY);\n if (dir === \"TB\" || dir === \"BT\") {\n labelBkg.attr(\"x\", commitPosition.x - (bbox.width + 4 * PX + 5)).attr(\"y\", commitPosition.y - 12);\n text.attr(\"x\", commitPosition.x - (bbox.width + 4 * PX)).attr(\"y\", commitPosition.y + bbox.height - 12);\n } else {\n text.attr(\"x\", commitPosition.posWithOffset - bbox.width / 2);\n }\n if (gitGraphConfig.rotateCommitLabel) {\n if (dir === \"TB\" || dir === \"BT\") {\n text.attr(\n \"transform\",\n \"rotate(-45, \" + commitPosition.x + \", \" + commitPosition.y + \")\"\n );\n labelBkg.attr(\n \"transform\",\n \"rotate(-45, \" + commitPosition.x + \", \" + commitPosition.y + \")\"\n );\n } else {\n const r_x = -7.5 - (bbox.width + 10) / 25 * 9.5;\n const r_y = 10 + bbox.width / 25 * 8.5;\n wrapper.attr(\n \"transform\",\n \"translate(\" + r_x + \", \" + r_y + \") rotate(-45, \" + pos + \", \" + commitPosition.y + \")\"\n );\n }\n }\n }\n }\n}, \"drawCommitLabel\");\nvar drawCommitTags = /* @__PURE__ */ __name((gLabels, commit2, commitPosition, pos) => {\n if (commit2.tags.length > 0) {\n let yOffset = 0;\n let maxTagBboxWidth = 0;\n let maxTagBboxHeight = 0;\n const tagElements = [];\n for (const tagValue of commit2.tags.reverse()) {\n const rect = gLabels.insert(\"polygon\");\n const hole = gLabels.append(\"circle\");\n const tag = gLabels.append(\"text\").attr(\"y\", commitPosition.y - 16 - yOffset).attr(\"class\", \"tag-label\").text(tagValue);\n const tagBbox = tag.node()?.getBBox();\n if (!tagBbox) {\n throw new Error(\"Tag bbox not found\");\n }\n maxTagBboxWidth = Math.max(maxTagBboxWidth, tagBbox.width);\n maxTagBboxHeight = Math.max(maxTagBboxHeight, tagBbox.height);\n tag.attr(\"x\", commitPosition.posWithOffset - tagBbox.width / 2);\n tagElements.push({\n tag,\n hole,\n rect,\n yOffset\n });\n yOffset += 20;\n }\n for (const { tag, hole, rect, yOffset: yOffset2 } of tagElements) {\n const h2 = maxTagBboxHeight / 2;\n const ly = commitPosition.y - 19.2 - yOffset2;\n rect.attr(\"class\", \"tag-label-bkg\").attr(\n \"points\",\n `\n ${pos - maxTagBboxWidth / 2 - PX / 2},${ly + PY} \n ${pos - maxTagBboxWidth / 2 - PX / 2},${ly - PY}\n ${commitPosition.posWithOffset - maxTagBboxWidth / 2 - PX},${ly - h2 - PY}\n ${commitPosition.posWithOffset + maxTagBboxWidth / 2 + PX},${ly - h2 - PY}\n ${commitPosition.posWithOffset + maxTagBboxWidth / 2 + PX},${ly + h2 + PY}\n ${commitPosition.posWithOffset - maxTagBboxWidth / 2 - PX},${ly + h2 + PY}`\n );\n hole.attr(\"cy\", ly).attr(\"cx\", pos - maxTagBboxWidth / 2 + PX / 2).attr(\"r\", 1.5).attr(\"class\", \"tag-hole\");\n if (dir === \"TB\" || dir === \"BT\") {\n const yOrigin = pos + yOffset2;\n rect.attr(\"class\", \"tag-label-bkg\").attr(\n \"points\",\n `\n ${commitPosition.x},${yOrigin + 2}\n ${commitPosition.x},${yOrigin - 2}\n ${commitPosition.x + LAYOUT_OFFSET},${yOrigin - h2 - 2}\n ${commitPosition.x + LAYOUT_OFFSET + maxTagBboxWidth + 4},${yOrigin - h2 - 2}\n ${commitPosition.x + LAYOUT_OFFSET + maxTagBboxWidth + 4},${yOrigin + h2 + 2}\n ${commitPosition.x + LAYOUT_OFFSET},${yOrigin + h2 + 2}`\n ).attr(\"transform\", \"translate(12,12) rotate(45, \" + commitPosition.x + \",\" + pos + \")\");\n hole.attr(\"cx\", commitPosition.x + PX / 2).attr(\"cy\", yOrigin).attr(\"transform\", \"translate(12,12) rotate(45, \" + commitPosition.x + \",\" + pos + \")\");\n tag.attr(\"x\", commitPosition.x + 5).attr(\"y\", yOrigin + 3).attr(\"transform\", \"translate(14,14) rotate(45, \" + commitPosition.x + \",\" + pos + \")\");\n }\n }\n }\n}, \"drawCommitTags\");\nvar getCommitClassType = /* @__PURE__ */ __name((commit2) => {\n const commitSymbolType = commit2.customType ?? commit2.type;\n switch (commitSymbolType) {\n case commitType.NORMAL:\n return \"commit-normal\";\n case commitType.REVERSE:\n return \"commit-reverse\";\n case commitType.HIGHLIGHT:\n return \"commit-highlight\";\n case commitType.MERGE:\n return \"commit-merge\";\n case commitType.CHERRY_PICK:\n return \"commit-cherry-pick\";\n default:\n return \"commit-normal\";\n }\n}, \"getCommitClassType\");\nvar calculatePosition = /* @__PURE__ */ __name((commit2, dir2, pos, commitPos2) => {\n const defaultCommitPosition = { x: 0, y: 0 };\n if (commit2.parents.length > 0) {\n const closestParent = findClosestParent(commit2.parents);\n if (closestParent) {\n const parentPosition = commitPos2.get(closestParent) ?? defaultCommitPosition;\n if (dir2 === \"TB\") {\n return parentPosition.y + COMMIT_STEP;\n } else if (dir2 === \"BT\") {\n const currentPosition = commitPos2.get(commit2.id) ?? defaultCommitPosition;\n return currentPosition.y - COMMIT_STEP;\n } else {\n return parentPosition.x + COMMIT_STEP;\n }\n }\n } else {\n if (dir2 === \"TB\") {\n return defaultPos;\n } else if (dir2 === \"BT\") {\n const currentPosition = commitPos2.get(commit2.id) ?? defaultCommitPosition;\n return currentPosition.y - COMMIT_STEP;\n } else {\n return 0;\n }\n }\n return 0;\n}, \"calculatePosition\");\nvar getCommitPosition = /* @__PURE__ */ __name((commit2, pos, isParallelCommits) => {\n const posWithOffset = dir === \"BT\" && isParallelCommits ? pos : pos + LAYOUT_OFFSET;\n const branchY = branchPos.get(commit2.branch)?.pos;\n const x = dir === \"TB\" || dir === \"BT\" ? branchPos.get(commit2.branch)?.pos : posWithOffset;\n if (x === void 0 || branchY === void 0) {\n throw new Error(`Position were undefined for commit ${commit2.id}`);\n }\n const useReduxGeometry = REDUX_GEOMETRY_THEMES.has(getConfig2().theme ?? \"\");\n const y = dir === \"TB\" || dir === \"BT\" ? posWithOffset : branchY + (useReduxGeometry ? REDUX_BRANCH_LABEL_PADDING_Y / 2 + 1 : -2);\n return { x, y, posWithOffset };\n}, \"getCommitPosition\");\nvar drawCommits = /* @__PURE__ */ __name((svg, commits, modifyGraph, gitGraphConfig) => {\n const gBullets = svg.append(\"g\").attr(\"class\", \"commit-bullets\");\n const gLabels = svg.append(\"g\").attr(\"class\", \"commit-labels\");\n let pos = dir === \"TB\" || dir === \"BT\" ? defaultPos : 0;\n const keys = [...commits.keys()];\n const isParallelCommits = gitGraphConfig.parallelCommits ?? false;\n const sortKeys = /* @__PURE__ */ __name((a, b) => {\n const seqA = commits.get(a)?.seq;\n const seqB = commits.get(b)?.seq;\n return seqA !== void 0 && seqB !== void 0 ? seqA - seqB : 0;\n }, \"sortKeys\");\n let sortedKeys = keys.sort(sortKeys);\n if (dir === \"BT\") {\n if (isParallelCommits) {\n setParallelBTPos(sortedKeys, commits, pos);\n }\n sortedKeys = sortedKeys.reverse();\n }\n sortedKeys.forEach((key) => {\n const commit2 = commits.get(key);\n if (!commit2) {\n throw new Error(`Commit not found for key ${key}`);\n }\n if (isParallelCommits) {\n pos = calculatePosition(commit2, dir, pos, commitPos);\n }\n const commitPosition = getCommitPosition(commit2, pos, isParallelCommits);\n if (modifyGraph) {\n const typeClass = getCommitClassType(commit2);\n const commitSymbolType = commit2.customType ?? commit2.type;\n const branchIndex = branchPos.get(commit2.branch)?.index ?? 0;\n drawCommitBullet(gBullets, commit2, commitPosition, typeClass, branchIndex, commitSymbolType);\n drawCommitLabel(gLabels, commit2, commitPosition, pos, gitGraphConfig);\n drawCommitTags(gLabels, commit2, commitPosition, pos);\n }\n if (dir === \"TB\" || dir === \"BT\") {\n commitPos.set(commit2.id, { x: commitPosition.x, y: commitPosition.posWithOffset });\n } else {\n commitPos.set(commit2.id, { x: commitPosition.posWithOffset, y: commitPosition.y });\n }\n pos = dir === \"BT\" && isParallelCommits ? pos + COMMIT_STEP : pos + COMMIT_STEP + LAYOUT_OFFSET;\n if (pos > maxPos) {\n maxPos = pos;\n }\n });\n}, \"drawCommits\");\nvar shouldRerouteArrow = /* @__PURE__ */ __name((commitA, commitB, p1, p2, allCommits) => {\n const commitBIsFurthest = dir === \"TB\" || dir === \"BT\" ? p1.x < p2.x : p1.y < p2.y;\n const branchToGetCurve = commitBIsFurthest ? commitB.branch : commitA.branch;\n const isOnBranchToGetCurve = /* @__PURE__ */ __name((x) => x.branch === branchToGetCurve, \"isOnBranchToGetCurve\");\n const isBetweenCommits = /* @__PURE__ */ __name((x) => x.seq > commitA.seq && x.seq < commitB.seq, \"isBetweenCommits\");\n return [...allCommits.values()].some((commitX) => {\n return isBetweenCommits(commitX) && isOnBranchToGetCurve(commitX);\n });\n}, \"shouldRerouteArrow\");\nvar findLane = /* @__PURE__ */ __name((y1, y2, depth = 0) => {\n const candidate = y1 + Math.abs(y1 - y2) / 2;\n if (depth > 5) {\n return candidate;\n }\n const ok = lanes.every((lane) => Math.abs(lane - candidate) >= 10);\n if (ok) {\n lanes.push(candidate);\n return candidate;\n }\n const diff = Math.abs(y1 - y2);\n return findLane(y1, y2 - diff / 5, depth + 1);\n}, \"findLane\");\nvar drawArrow = /* @__PURE__ */ __name((svg, commitA, commitB, allCommits) => {\n const { theme: arrowTheme } = getConfig2();\n const useColorTheme = COLOR_THEMES.has(arrowTheme ?? \"\");\n const p1 = commitPos.get(commitA.id);\n const p2 = commitPos.get(commitB.id);\n if (p1 === void 0 || p2 === void 0) {\n throw new Error(`Commit positions not found for commits ${commitA.id} and ${commitB.id}`);\n }\n const arrowNeedsRerouting = shouldRerouteArrow(commitA, commitB, p1, p2, allCommits);\n let arc = \"\";\n let arc2 = \"\";\n let radius = 0;\n let offset = 0;\n let colorClassNum = branchPos.get(commitB.branch)?.index;\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n }\n let lineDef;\n if (arrowNeedsRerouting) {\n arc = \"A 10 10, 0, 0, 0,\";\n arc2 = \"A 10 10, 0, 0, 1,\";\n radius = 10;\n offset = 10;\n const lineY = p1.y < p2.y ? findLane(p1.y, p2.y) : findLane(p2.y, p1.y);\n const lineX = p1.x < p2.x ? findLane(p1.x, p2.x) : findLane(p2.x, p1.x);\n if (dir === \"TB\") {\n if (p1.x < p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${lineX - radius} ${p1.y} ${arc2} ${lineX} ${p1.y + offset} L ${lineX} ${p2.y - radius} ${arc} ${lineX + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n lineDef = `M ${p1.x} ${p1.y} L ${lineX + radius} ${p1.y} ${arc} ${lineX} ${p1.y + offset} L ${lineX} ${p2.y - radius} ${arc2} ${lineX - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n } else if (dir === \"BT\") {\n if (p1.x < p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${lineX - radius} ${p1.y} ${arc} ${lineX} ${p1.y - offset} L ${lineX} ${p2.y + radius} ${arc2} ${lineX + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n lineDef = `M ${p1.x} ${p1.y} L ${lineX + radius} ${p1.y} ${arc2} ${lineX} ${p1.y - offset} L ${lineX} ${p2.y + radius} ${arc} ${lineX - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n } else {\n if (p1.y < p2.y) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${lineY - radius} ${arc} ${p1.x + offset} ${lineY} L ${p2.x - radius} ${lineY} ${arc2} ${p2.x} ${lineY + offset} L ${p2.x} ${p2.y}`;\n } else {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${lineY + radius} ${arc2} ${p1.x + offset} ${lineY} L ${p2.x - radius} ${lineY} ${arc} ${p2.x} ${lineY - offset} L ${p2.x} ${p2.y}`;\n }\n }\n } else {\n arc = \"A 20 20, 0, 0, 0,\";\n arc2 = \"A 20 20, 0, 0, 1,\";\n radius = 20;\n offset = 20;\n if (dir === \"TB\") {\n if (p1.x < p2.x) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y - radius} ${arc} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc2} ${p2.x} ${p1.y + offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x > p2.x) {\n arc = \"A 20 20, 0, 0, 0,\";\n arc2 = \"A 20 20, 0, 0, 1,\";\n radius = 20;\n offset = 20;\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y - radius} ${arc2} ${p1.x - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x + radius} ${p1.y} ${arc} ${p2.x} ${p1.y + offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x === p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`;\n }\n } else if (dir === \"BT\") {\n if (p1.x < p2.x) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y + radius} ${arc2} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc} ${p2.x} ${p1.y - offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x > p2.x) {\n arc = \"A 20 20, 0, 0, 0,\";\n arc2 = \"A 20 20, 0, 0, 1,\";\n radius = 20;\n offset = 20;\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y + radius} ${arc} ${p1.x - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x + radius} ${p1.y} ${arc2} ${p2.x} ${p1.y - offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x === p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`;\n }\n } else {\n if (p1.y < p2.y) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc2} ${p2.x} ${p1.y + offset} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y - radius} ${arc} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.y > p2.y) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc} ${p2.x} ${p1.y - offset} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y + radius} ${arc2} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.y === p2.y) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`;\n }\n }\n }\n if (lineDef === void 0) {\n throw new Error(\"Line definition not found\");\n }\n svg.append(\"path\").attr(\"d\", lineDef).attr(\n \"class\",\n \"arrow arrow\" + calcColorIndex(colorClassNum, THEME_COLOR_LIMIT, useColorTheme)\n );\n}, \"drawArrow\");\nvar drawArrows = /* @__PURE__ */ __name((svg, commits) => {\n const gArrows = svg.append(\"g\").attr(\"class\", \"commit-arrows\");\n [...commits.keys()].forEach((key) => {\n const commit2 = commits.get(key);\n if (commit2.parents && commit2.parents.length > 0) {\n commit2.parents.forEach((parent) => {\n drawArrow(gArrows, commits.get(parent), commit2, commits);\n });\n }\n });\n}, \"drawArrows\");\nvar drawBranches = /* @__PURE__ */ __name((svg, branches, gitGraphConfig, id) => {\n const { look, theme, themeVariables } = getConfig2();\n const { dropShadow, THEME_COLOR_LIMIT: themeColorLimit } = themeVariables;\n const useReduxGeometry = REDUX_GEOMETRY_THEMES.has(theme ?? \"\");\n const useColorTheme = COLOR_THEMES.has(theme ?? \"\");\n const g = svg.append(\"g\");\n branches.forEach((branch2, index) => {\n const adjustIndexForTheme = calcColorIndex(\n index,\n useReduxGeometry ? themeColorLimit : THEME_COLOR_LIMIT,\n useColorTheme\n );\n const pos = branchPos.get(branch2.name)?.pos;\n if (pos === void 0) {\n throw new Error(`Position not found for branch ${branch2.name}`);\n }\n const spineY = dir === \"TB\" || dir === \"BT\" ? pos : useReduxGeometry ? pos + REDUX_BRANCH_LABEL_PADDING_Y / 2 + 1 : pos - 2;\n const line = g.append(\"line\");\n line.attr(\"x1\", 0);\n line.attr(\"y1\", spineY);\n line.attr(\"x2\", maxPos);\n line.attr(\"y2\", spineY);\n line.attr(\"class\", \"branch branch\" + adjustIndexForTheme);\n if (dir === \"TB\") {\n line.attr(\"y1\", defaultPos);\n line.attr(\"x1\", pos);\n line.attr(\"y2\", maxPos);\n line.attr(\"x2\", pos);\n } else if (dir === \"BT\") {\n line.attr(\"y1\", maxPos);\n line.attr(\"x1\", pos);\n line.attr(\"y2\", defaultPos);\n line.attr(\"x2\", pos);\n }\n lanes.push(spineY);\n const name = branch2.name;\n const labelElement = drawText(name);\n const bkg = g.insert(\"rect\");\n const branchLabel = g.insert(\"g\").attr(\"class\", \"branchLabel\");\n const label = branchLabel.insert(\"g\").attr(\"class\", \"label branch-label\" + adjustIndexForTheme);\n label.node().appendChild(labelElement);\n const bbox = labelElement.getBBox();\n const borderRadius = useReduxGeometry ? 0 : 4;\n const labelPaddingX = useReduxGeometry ? 16 : 0;\n const labelPaddingY = useReduxGeometry ? REDUX_BRANCH_LABEL_PADDING_Y : 0;\n if (look === \"neo\") {\n bkg.attr(\"data-look\", `neo`);\n }\n bkg.attr(\"class\", \"branchLabelBkg label\" + adjustIndexForTheme).attr(\n \"style\",\n look === \"neo\" ? `filter:${useReduxGeometry ? `url(#${id}-drop-shadow)` : dropShadow}` : \"\"\n ).attr(\"rx\", borderRadius).attr(\"ry\", borderRadius).attr(\"x\", -bbox.width - 4 - (gitGraphConfig.rotateCommitLabel === true ? 30 : 0)).attr(\"y\", -bbox.height / 2 + 10).attr(\"width\", bbox.width + 18 + labelPaddingX).attr(\"height\", bbox.height + 4 + labelPaddingY);\n label.attr(\n \"transform\",\n \"translate(\" + (-bbox.width - 14 - (gitGraphConfig.rotateCommitLabel === true ? 30 : 0) + labelPaddingX / 2) + \", \" + (spineY - bbox.height / 2 - 2) + \")\"\n );\n if (dir === \"TB\") {\n bkg.attr(\"x\", pos - bbox.width / 2 - 10).attr(\"y\", 0);\n label.attr(\"transform\", \"translate(\" + (pos - bbox.width / 2 - 5) + \", 0)\");\n if (useReduxGeometry) {\n bkg.attr(\"transform\", `translate(${-labelPaddingX / 2 - 3}, ${-labelPaddingY - 10})`);\n label.attr(\n \"transform\",\n \"translate(\" + (pos - bbox.width / 2 - 5) + \", \" + (-labelPaddingY * 2 + 7) + \")\"\n );\n }\n } else if (dir === \"BT\") {\n bkg.attr(\"x\", pos - bbox.width / 2 - 10).attr(\"y\", maxPos);\n label.attr(\"transform\", \"translate(\" + (pos - bbox.width / 2 - 5) + \", \" + maxPos + \")\");\n if (useReduxGeometry) {\n bkg.attr(\"transform\", `translate(${-labelPaddingX / 2 - 3}, ${labelPaddingY + 10})`);\n label.attr(\n \"transform\",\n \"translate(\" + (pos - bbox.width / 2 - 5) + \", \" + (maxPos + labelPaddingY * 2 + 4) + \")\"\n );\n }\n } else {\n bkg.attr(\"transform\", \"translate(-19, \" + (spineY - 12 - labelPaddingY / 2) + \")\");\n }\n });\n}, \"drawBranches\");\nvar setBranchPosition = /* @__PURE__ */ __name(function(name, pos, index, bbox, rotateCommitLabel) {\n branchPos.set(name, { pos, index });\n pos += 50 + (rotateCommitLabel ? 40 : 0) + (dir === \"TB\" || dir === \"BT\" ? bbox.width / 2 : 0);\n return pos;\n}, \"setBranchPosition\");\nvar draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {\n clear3();\n log.debug(\"in gitgraph renderer\", txt + \"\\n\", \"id:\", id, ver);\n const db2 = diagObj.db;\n if (!db2.getConfig) {\n log.error(\"getConfig method is not available on db\");\n return;\n }\n const gitGraphConfig = db2.getConfig();\n const rotateCommitLabel = gitGraphConfig.rotateCommitLabel ?? false;\n allCommitsDict = db2.getCommits();\n const branches = db2.getBranchesAsObjArray();\n dir = db2.getDirection();\n const diagram2 = select(`[id=\"${id}\"]`);\n const { look, theme, themeVariables } = getConfig2();\n const { useGradient, gradientStart, gradientStop, filterColor } = themeVariables;\n if (useGradient) {\n const gradient = diagram2.append(\"defs\").append(\"linearGradient\").attr(\"id\", id + \"-gradient\").attr(\"gradientUnits\", \"objectBoundingBox\").attr(\"x1\", \"0%\").attr(\"y1\", \"0%\").attr(\"x2\", \"100%\").attr(\"y2\", \"0%\");\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", gradientStart).attr(\"stop-opacity\", 1);\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", gradientStop).attr(\"stop-opacity\", 1);\n }\n if (look === \"neo\" && REDUX_GEOMETRY_THEMES.has(theme ?? \"\")) {\n diagram2.append(\"defs\").append(\"filter\").attr(\"id\", id + \"-drop-shadow\").attr(\"height\", \"130%\").attr(\"width\", \"130%\").append(\"feDropShadow\").attr(\"dx\", \"4\").attr(\"dy\", \"4\").attr(\"stdDeviation\", 0).attr(\"flood-opacity\", \"0.06\").attr(\"flood-color\", filterColor);\n }\n let pos = 0;\n branches.forEach((branch2, index) => {\n const labelElement = drawText(branch2.name);\n const g = diagram2.append(\"g\");\n const branchLabel = g.insert(\"g\").attr(\"class\", \"branchLabel\");\n const label = branchLabel.insert(\"g\").attr(\"class\", \"label branch-label\");\n label.node()?.appendChild(labelElement);\n const bbox = labelElement.getBBox();\n pos = setBranchPosition(branch2.name, pos, index, bbox, rotateCommitLabel);\n label.remove();\n branchLabel.remove();\n g.remove();\n });\n drawCommits(diagram2, allCommitsDict, false, gitGraphConfig);\n if (gitGraphConfig.showBranches) {\n drawBranches(diagram2, branches, gitGraphConfig, id);\n }\n drawArrows(diagram2, allCommitsDict);\n drawCommits(diagram2, allCommitsDict, true, gitGraphConfig);\n utils_default.insertTitle(\n diagram2,\n \"gitTitleText\",\n gitGraphConfig.titleTopMargin ?? 0,\n db2.getDiagramTitle()\n );\n setupGraphViewbox(void 0, diagram2, gitGraphConfig.diagramPadding, gitGraphConfig.useMaxWidth);\n}, \"draw\");\nvar gitGraphRenderer_default = {\n draw\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"drawText\", () => {\n it(\"should drawText\", () => {\n const svgLabel = drawText(\"main\");\n expect(svgLabel).toBeDefined();\n expect(svgLabel.children[0].innerHTML).toBe(\"main\");\n });\n });\n describe(\"branchPosition\", () => {\n const bbox = {\n x: 0,\n y: 0,\n width: 10,\n height: 10,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n toJSON: /* @__PURE__ */ __name(() => \"\", \"toJSON\")\n };\n it(\"should setBranchPositions LR with two branches\", () => {\n dir = \"LR\";\n const pos = setBranchPosition(\"main\", 0, 0, bbox, true);\n expect(pos).toBe(90);\n expect(branchPos.get(\"main\")).toEqual({ pos: 0, index: 0 });\n const posNext = setBranchPosition(\"develop\", pos, 1, bbox, true);\n expect(posNext).toBe(180);\n expect(branchPos.get(\"develop\")).toEqual({ pos, index: 1 });\n });\n it(\"should setBranchPositions TB with two branches\", () => {\n dir = \"TB\";\n bbox.width = 34.9921875;\n const pos = setBranchPosition(\"main\", 0, 0, bbox, true);\n expect(pos).toBe(107.49609375);\n expect(branchPos.get(\"main\")).toEqual({ pos: 0, index: 0 });\n bbox.width = 56.421875;\n const posNext = setBranchPosition(\"develop\", pos, 1, bbox, true);\n expect(posNext).toBe(225.70703125);\n expect(branchPos.get(\"develop\")).toEqual({ pos, index: 1 });\n });\n });\n describe(\"commitPosition\", () => {\n const commits = /* @__PURE__ */ new Map([\n [\n \"commitZero\",\n {\n id: \"ZERO\",\n message: \"\",\n seq: 0,\n type: commitType.NORMAL,\n tags: [],\n parents: [],\n branch: \"main\"\n }\n ],\n [\n \"commitA\",\n {\n id: \"A\",\n message: \"\",\n seq: 1,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"ZERO\"],\n branch: \"feature\"\n }\n ],\n [\n \"commitB\",\n {\n id: \"B\",\n message: \"\",\n seq: 2,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"A\"],\n branch: \"feature\"\n }\n ],\n [\n \"commitM\",\n {\n id: \"M\",\n message: \"merged branch feature into main\",\n seq: 3,\n type: commitType.MERGE,\n tags: [],\n parents: [\"ZERO\", \"B\"],\n branch: \"main\",\n customId: true\n }\n ],\n [\n \"commitC\",\n {\n id: \"C\",\n message: \"\",\n seq: 4,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"ZERO\"],\n branch: \"release\"\n }\n ],\n [\n \"commit5_8928ea0\",\n {\n id: \"5-8928ea0\",\n message: \"cherry-picked [object Object] into release\",\n seq: 5,\n type: commitType.CHERRY_PICK,\n tags: [],\n parents: [\"C\", \"M\"],\n branch: \"release\"\n }\n ],\n [\n \"commitD\",\n {\n id: \"D\",\n message: \"\",\n seq: 6,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"5-8928ea0\"],\n branch: \"release\"\n }\n ],\n [\n \"commit7_ed848ba\",\n {\n id: \"7-ed848ba\",\n message: \"cherry-picked [object Object] into release\",\n seq: 7,\n type: commitType.CHERRY_PICK,\n tags: [],\n parents: [\"D\", \"M\"],\n branch: \"release\"\n }\n ]\n ]);\n let pos = 0;\n branchPos.set(\"main\", { pos: 0, index: 0 });\n branchPos.set(\"feature\", { pos: 107.49609375, index: 1 });\n branchPos.set(\"release\", { pos: 224.03515625, index: 2 });\n describe(\"TB\", () => {\n pos = 30;\n dir = \"TB\";\n const expectedCommitPositionTB = /* @__PURE__ */ new Map([\n [\"commitZero\", { x: 0, y: 40, posWithOffset: 40 }],\n [\"commitA\", { x: 107.49609375, y: 90, posWithOffset: 90 }],\n [\"commitB\", { x: 107.49609375, y: 140, posWithOffset: 140 }],\n [\"commitM\", { x: 0, y: 190, posWithOffset: 190 }],\n [\"commitC\", { x: 224.03515625, y: 240, posWithOffset: 240 }],\n [\"commit5_8928ea0\", { x: 224.03515625, y: 290, posWithOffset: 290 }],\n [\"commitD\", { x: 224.03515625, y: 340, posWithOffset: 340 }],\n [\"commit7_ed848ba\", { x: 224.03515625, y: 390, posWithOffset: 390 }]\n ]);\n commits.forEach((commit2, key) => {\n it(`should give the correct position for commit ${key}`, () => {\n const position = getCommitPosition(commit2, pos, false);\n expect(position).toEqual(expectedCommitPositionTB.get(key));\n pos += 50;\n });\n });\n });\n describe(\"LR\", () => {\n let pos2 = 30;\n dir = \"LR\";\n const expectedCommitPositionLR = /* @__PURE__ */ new Map([\n [\"commitZero\", { x: 0, y: 40, posWithOffset: 40 }],\n [\"commitA\", { x: 107.49609375, y: 90, posWithOffset: 90 }],\n [\"commitB\", { x: 107.49609375, y: 140, posWithOffset: 140 }],\n [\"commitM\", { x: 0, y: 190, posWithOffset: 190 }],\n [\"commitC\", { x: 224.03515625, y: 240, posWithOffset: 240 }],\n [\"commit5_8928ea0\", { x: 224.03515625, y: 290, posWithOffset: 290 }],\n [\"commitD\", { x: 224.03515625, y: 340, posWithOffset: 340 }],\n [\"commit7_ed848ba\", { x: 224.03515625, y: 390, posWithOffset: 390 }]\n ]);\n commits.forEach((commit2, key) => {\n it(`should give the correct position for commit ${key}`, () => {\n const position = getCommitPosition(commit2, pos2, false);\n expect(position).toEqual(expectedCommitPositionLR.get(key));\n pos2 += 50;\n });\n });\n });\n describe(\"getCommitClassType\", () => {\n const expectedCommitClassType = /* @__PURE__ */ new Map([\n [\"commitZero\", \"commit-normal\"],\n [\"commitA\", \"commit-normal\"],\n [\"commitB\", \"commit-normal\"],\n [\"commitM\", \"commit-merge\"],\n [\"commitC\", \"commit-normal\"],\n [\"commit5_8928ea0\", \"commit-cherry-pick\"],\n [\"commitD\", \"commit-normal\"],\n [\"commit7_ed848ba\", \"commit-cherry-pick\"]\n ]);\n commits.forEach((commit2, key) => {\n it(`should give the correct class type for commit ${key}`, () => {\n const classType = getCommitClassType(commit2);\n expect(classType).toBe(expectedCommitClassType.get(key));\n });\n });\n });\n });\n describe(\"building BT parallel commit diagram\", () => {\n const commits = /* @__PURE__ */ new Map([\n [\n \"1-abcdefg\",\n {\n id: \"1-abcdefg\",\n message: \"\",\n seq: 0,\n type: 0,\n tags: [],\n parents: [],\n branch: \"main\"\n }\n ],\n [\n \"2-abcdefg\",\n {\n id: \"2-abcdefg\",\n message: \"\",\n seq: 1,\n type: 0,\n tags: [],\n parents: [\"1-abcdefg\"],\n branch: \"main\"\n }\n ],\n [\n \"3-abcdefg\",\n {\n id: \"3-abcdefg\",\n message: \"\",\n seq: 2,\n type: 0,\n tags: [],\n parents: [\"2-abcdefg\"],\n branch: \"develop\"\n }\n ],\n [\n \"4-abcdefg\",\n {\n id: \"4-abcdefg\",\n message: \"\",\n seq: 3,\n type: 0,\n tags: [],\n parents: [\"3-abcdefg\"],\n branch: \"develop\"\n }\n ],\n [\n \"5-abcdefg\",\n {\n id: \"5-abcdefg\",\n message: \"\",\n seq: 4,\n type: 0,\n tags: [],\n parents: [\"2-abcdefg\"],\n branch: \"feature\"\n }\n ],\n [\n \"6-abcdefg\",\n {\n id: \"6-abcdefg\",\n message: \"\",\n seq: 5,\n type: 0,\n tags: [],\n parents: [\"5-abcdefg\"],\n branch: \"feature\"\n }\n ],\n [\n \"7-abcdefg\",\n {\n id: \"7-abcdefg\",\n message: \"\",\n seq: 6,\n type: 0,\n tags: [],\n parents: [\"2-abcdefg\"],\n branch: \"main\"\n }\n ],\n [\n \"8-abcdefg\",\n {\n id: \"8-abcdefg\",\n message: \"\",\n seq: 7,\n type: 0,\n tags: [],\n parents: [\"7-abcdefg\"],\n branch: \"main\"\n }\n ]\n ]);\n const expectedCommitPosition = /* @__PURE__ */ new Map([\n [\"1-abcdefg\", { x: 0, y: 40 }],\n [\"2-abcdefg\", { x: 0, y: 90 }],\n [\"3-abcdefg\", { x: 107.49609375, y: 140 }],\n [\"4-abcdefg\", { x: 107.49609375, y: 190 }],\n [\"5-abcdefg\", { x: 225.70703125, y: 140 }],\n [\"6-abcdefg\", { x: 225.70703125, y: 190 }],\n [\"7-abcdefg\", { x: 0, y: 140 }],\n [\"8-abcdefg\", { x: 0, y: 190 }]\n ]);\n const expectedCommitPositionAfterParallel = /* @__PURE__ */ new Map([\n [\"1-abcdefg\", { x: 0, y: 210 }],\n [\"2-abcdefg\", { x: 0, y: 160 }],\n [\"3-abcdefg\", { x: 107.49609375, y: 110 }],\n [\"4-abcdefg\", { x: 107.49609375, y: 60 }],\n [\"5-abcdefg\", { x: 225.70703125, y: 110 }],\n [\"6-abcdefg\", { x: 225.70703125, y: 60 }],\n [\"7-abcdefg\", { x: 0, y: 110 }],\n [\"8-abcdefg\", { x: 0, y: 60 }]\n ]);\n const expectedCommitCurrentPosition = /* @__PURE__ */ new Map([\n [\"1-abcdefg\", 30],\n [\"2-abcdefg\", 80],\n [\"3-abcdefg\", 130],\n [\"4-abcdefg\", 180],\n [\"5-abcdefg\", 130],\n [\"6-abcdefg\", 180],\n [\"7-abcdefg\", 130],\n [\"8-abcdefg\", 180]\n ]);\n const sortedKeys = [...expectedCommitPosition.keys()];\n it(\"should get the correct commit position and current position\", () => {\n dir = \"BT\";\n let curPos = 30;\n commitPos.clear();\n branchPos.clear();\n branchPos.set(\"main\", { pos: 0, index: 0 });\n branchPos.set(\"develop\", { pos: 107.49609375, index: 1 });\n branchPos.set(\"feature\", { pos: 225.70703125, index: 2 });\n commits.forEach((commit2, key) => {\n if (commit2.parents.length > 0) {\n curPos = calculateCommitPosition(commit2);\n }\n const position = setCommitPosition(commit2, curPos);\n expect(position).toEqual(expectedCommitPosition.get(key));\n expect(curPos).toEqual(expectedCommitCurrentPosition.get(key));\n });\n });\n it(\"should get the correct commit position after parallel commits\", () => {\n commitPos.clear();\n branchPos.clear();\n dir = \"BT\";\n const curPos = 30;\n commitPos.clear();\n branchPos.clear();\n branchPos.set(\"main\", { pos: 0, index: 0 });\n branchPos.set(\"develop\", { pos: 107.49609375, index: 1 });\n branchPos.set(\"feature\", { pos: 225.70703125, index: 2 });\n setParallelBTPos(sortedKeys, commits, curPos);\n sortedKeys.forEach((commit2) => {\n const position = commitPos.get(commit2);\n expect(position).toEqual(expectedCommitPositionAfterParallel.get(commit2));\n });\n });\n });\n it(\"add\", () => {\n commitPos.set(\"parent1\", { x: 1, y: 1 });\n commitPos.set(\"parent2\", { x: 2, y: 2 });\n commitPos.set(\"parent3\", { x: 3, y: 3 });\n dir = \"LR\";\n const parents = [\"parent1\", \"parent2\", \"parent3\"];\n const closestParent = findClosestParent(parents);\n expect(closestParent).toBe(\"parent3\");\n commitPos.clear();\n });\n}\n\n// src/diagrams/git/styles.js\nvar GIT_NAMED_COLOR_COUNT = 8;\nvar REDUX_GEOMETRY_THEMES2 = /* @__PURE__ */ new Set([\"redux\", \"redux-dark\", \"redux-color\", \"redux-dark-color\"]);\nvar COLOR_THEMES2 = /* @__PURE__ */ new Set([\"redux-color\", \"redux-dark-color\"]);\nvar NEO_THEMES = /* @__PURE__ */ new Set([\"neo\", \"neo-dark\"]);\nvar DARK_THEMES2 = /* @__PURE__ */ new Set([\"dark\", \"redux-dark\", \"redux-dark-color\", \"neo-dark\"]);\nvar NEO_COLOR_GEN_THEMES = /* @__PURE__ */ new Set([\n \"redux\",\n \"redux-dark\",\n \"redux-color\",\n \"redux-dark-color\",\n \"neo\",\n \"neo-dark\"\n]);\nvar genGitGraphGradient = /* @__PURE__ */ __name((options) => {\n const { svgId } = options;\n let sections = \"\";\n if (options.useGradient && svgId) {\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n sections += `\n .label${i} { fill: ${options.mainBkg}; stroke: url(${svgId}-gradient); stroke-width: ${options.strokeWidth};}\n `;\n }\n }\n return sections;\n}, \"genGitGraphGradient\");\nvar genColor = /* @__PURE__ */ __name((options) => {\n const config = getConfig();\n const { theme, themeVariables } = config;\n const { borderColorArray } = themeVariables;\n const useReduxGeometry = REDUX_GEOMETRY_THEMES2.has(theme);\n if (NEO_THEMES.has(theme)) {\n let sections = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n if (i === 0) {\n sections += `\n .branch-label${i} { fill: ${options.nodeBorder};}\n .commit${i} { stroke: ${options.nodeBorder}; }\n .commit-highlight${i} { stroke: ${options.nodeBorder}; fill: ${options.nodeBorder}; }\n .arrow${i} { stroke: ${options.nodeBorder}; }\n .commit-bullets { fill: ${options.nodeBorder}; }\n .commit-cherry-pick${i} { stroke: ${options.nodeBorder}; }\n ${genGitGraphGradient(options)}`;\n } else {\n const ci = i % GIT_NAMED_COLOR_COUNT;\n sections += `\n .branch-label${i} { fill: ${options[\"gitBranchLabel\" + ci]}; }\n .commit${i} { stroke: ${options[\"git\" + ci]}; fill: ${options[\"git\" + ci]}; }\n .commit-highlight${i} { stroke: ${options[\"gitInv\" + ci]}; fill: ${options[\"gitInv\" + ci]}; }\n .arrow${i} { stroke: ${options[\"git\" + ci]}; }\n `;\n }\n }\n return sections;\n } else if (!COLOR_THEMES2.has(theme)) {\n let sections = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n sections += `\n .branch-label${i} { fill: ${options.nodeBorder}; ${useReduxGeometry ? `font-weight:${options.noteFontWeight}` : \"\"} }\n .commit${i} { stroke: ${options.nodeBorder}; }\n .commit-highlight${i} { stroke: ${options.nodeBorder}; fill: ${options.nodeBorder}; }\n .label${i} { fill: ${options.mainBkg}; stroke: ${options.nodeBorder}; stroke-width: ${options.strokeWidth}; ${useReduxGeometry ? `font-weight:${options.noteFontWeight}` : \"\"}}\n .arrow${i} { stroke: ${options.nodeBorder}; }\n .commit-bullets { fill: ${options.nodeBorder}; }\n .commit-cherry-pick${i} { stroke: ${options.nodeBorder}; }\n `;\n }\n return sections;\n } else {\n let sections = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n if (i === 0) {\n sections += `\n .branch-label${i} { fill: ${options.nodeBorder}; ${useReduxGeometry ? `font-weight:${options.noteFontWeight}` : \"\"} }\n .commit${i} { stroke: ${options.nodeBorder}; }\n .commit-highlight${i} { stroke: ${options.nodeBorder}; fill: ${options.mainBkg}; }\n .label${i} { fill: ${options.mainBkg}; stroke: ${options.nodeBorder}; stroke-width: ${options.strokeWidth}; ${useReduxGeometry ? `font-weight:${options.noteFontWeight}` : \"\"} }\n .arrow${i} { stroke: ${options.nodeBorder}; }\n .commit-bullets { fill: ${options.nodeBorder}; }\n `;\n } else {\n const colorIndex = i % borderColorArray.length;\n sections += `\n .branch-label${i} { fill: ${options.nodeBorder}; ${useReduxGeometry ? `font-weight:${options.noteFontWeight}` : \"\"} }\n .commit${i} { stroke: ${borderColorArray[colorIndex]}; fill: ${borderColorArray[colorIndex]}; }\n .commit-highlight${i} { stroke: ${borderColorArray[colorIndex]}; fill: ${borderColorArray[colorIndex]}; }\n .label${i} { fill: ${DARK_THEMES2.has(theme) ? options.mainBkg : borderColorArray[colorIndex]}; stroke: ${borderColorArray[colorIndex]}; stroke-width: ${options.strokeWidth}; }\n .arrow${i} { stroke: ${borderColorArray[colorIndex]}; }\n `;\n }\n }\n return sections;\n }\n}, \"genColor\");\nvar normalTheme = /* @__PURE__ */ __name((options) => {\n return `${Array.from({ length: options.THEME_COLOR_LIMIT }, (_, i) => i).map((i) => {\n const ci = i % GIT_NAMED_COLOR_COUNT;\n return `\n .branch-label${i} { fill: ${options[\"gitBranchLabel\" + ci]}; }\n .commit${i} { stroke: ${options[\"git\" + ci]}; fill: ${options[\"git\" + ci]}; }\n .commit-highlight${i} { stroke: ${options[\"gitInv\" + ci]}; fill: ${options[\"gitInv\" + ci]}; }\n .label${i} { fill: ${options[\"git\" + ci]}; }\n .arrow${i} { stroke: ${options[\"git\" + ci]}; }\n `;\n }).join(\"\\n\")}`;\n}, \"normalTheme\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const config = getConfig();\n const { theme } = config;\n const useNeoColorGen = NEO_COLOR_GEN_THEMES.has(theme);\n return `\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n \n ${useNeoColorGen ? genColor(options) : normalTheme(options)}\n\n .branch {\n stroke-width: ${options.strokeWidth};\n stroke: ${options.commitLineColor ?? options.lineColor};\n stroke-dasharray: ${useNeoColorGen ? \"4 2\" : \"2\"};\n }\n .commit-label { font-size: ${options.commitLabelFontSize}; fill: ${useNeoColorGen ? options.nodeBorder : options.commitLabelColor}; ${useNeoColorGen ? `font-weight:${options.noteFontWeight};` : \"\"}}\n .commit-label-bkg { font-size: ${options.commitLabelFontSize}; fill: ${useNeoColorGen ? \"transparent\" : options.commitLabelBackground}; opacity: ${useNeoColorGen ? \"\" : 0.5}; }\n .tag-label { font-size: ${options.tagLabelFontSize}; fill: ${options.tagLabelColor};}\n .tag-label-bkg { fill: ${useNeoColorGen ? options.mainBkg : options.tagLabelBackground}; stroke: ${useNeoColorGen ? options.nodeBorder : options.tagLabelBorder}; ${useNeoColorGen ? `filter:${options.dropShadow}` : \"\"} }\n .tag-hole { fill: ${options.textColor}; }\n\n .commit-merge {\n stroke: ${useNeoColorGen ? options.mainBkg : options.primaryColor};\n fill: ${useNeoColorGen ? options.mainBkg : options.primaryColor};\n }\n .commit-reverse {\n stroke: ${useNeoColorGen ? options.mainBkg : options.primaryColor};\n fill: ${useNeoColorGen ? options.mainBkg : options.primaryColor};\n stroke-width: ${useNeoColorGen ? options.strokeWidth : 3};\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${useNeoColorGen ? options.mainBkg : options.primaryColor};\n fill: ${useNeoColorGen ? options.mainBkg : options.primaryColor};\n }\n\n .arrow {\n /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */\n stroke-width: ${REDUX_GEOMETRY_THEMES2.has(theme) ? options.strokeWidth : 8};\n stroke-linecap: round;\n fill: none\n }\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n`;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/git/gitGraphDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer: gitGraphRenderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["commitType", "DEFAULT_GITGRAPH_CONFIG", "defaultConfig_default", "getConfig3", "__name", "cleanAndMerge", "getConfig", "state", "ImperativeState", "config", "mainBranchName", "mainBranchOrder", "getID", "random", "uniqBy", "list", "fn", "recordMap", "out", "item", "key", "setDirection", "dir2", "setOptions", "rawOptString", "log", "e", "getOptions", "commit", "commitDB", "msg", "id", "type", "tags", "common_default", "tag", "newCommit", "branch", "branchDB", "name", "order", "checkout", "merge", "mergeDB", "otherBranch", "customId", "overrideType", "customTags", "currentBranchCheck", "otherBranchCheck", "currentCommit", "otherCommit", "error", "verifiedBranch", "commit2", "cherryPick", "cherryPickDB", "sourceId", "targetId", "parentCommitId", "sourceCommit", "sourceCommitBranch", "currentCommitId", "branch2", "upsert", "arr", "newVal", "index", "prettyPrintCommitHistory", "commitArr", "commit3", "line", "c", "label", "prettyPrint", "node", "getCommitsArray", "clear2", "clear", "getBranchesAsObjArray", "branchConfig", "i", "a", "b", "getBranches", "getCommits", "o", "getCurrentBranch", "getDirection", "getHead", "db", "setAccTitle", "getAccTitle", "getAccDescription", "setAccDescription", "setDiagramTitle", "getDiagramTitle", "populate", "ast", "db2", "populateCommonDb", "statement", "parseStatement", "parser2", "stmt", "parseCommit", "parseBranch", "parseMerge", "parseCheckout", "parseCherryPicking", "merge2", "checkout2", "cherryPicking", "parser", "input", "parse", "LAYOUT_OFFSET", "COMMIT_STEP", "PX", "PY", "THEME_COLOR_LIMIT", "REDUX_GEOMETRY_THEMES", "REDUX_BRANCH_LABEL_PADDING_Y", "COLOR_THEMES", "DARK_THEMES", "calcColorIndex", "rawIndex", "limit", "avoidDefaultColor", "branchPos", "commitPos", "defaultPos", "allCommitsDict", "lanes", "maxPos", "dir", "clear3", "drawText", "txt", "svgLabel", "row", "tspan", "findClosestParent", "parents", "closestParent", "comparisonFunc", "targetPosition", "parent", "parentPosition", "findClosestParentBT", "maxPosition", "setParallelBTPos", "sortedKeys", "commits", "defaultPos2", "curPos", "roots", "calculateCommitPosition", "setCommitPosition", "setRootPosition", "x", "y", "findClosestParentPos", "p", "closestParentPos", "drawCommitBullet", "gBullets", "commitPosition", "typeClass", "branchIndex", "commitSymbolType", "theme", "getConfig2", "useReduxGeometry", "useColorTheme", "isDark", "circle", "circle2", "cross", "constValue", "drawCommitLabel", "gLabels", "pos", "gitGraphConfig", "wrapper", "labelBkg", "text", "bbox", "r_x", "r_y", "drawCommitTags", "yOffset", "maxTagBboxWidth", "maxTagBboxHeight", "tagElements", "tagValue", "rect", "hole", "tagBbox", "yOffset2", "h2", "ly", "yOrigin", "getCommitClassType", "calculatePosition", "commitPos2", "defaultCommitPosition", "getCommitPosition", "isParallelCommits", "posWithOffset", "branchY", "drawCommits", "svg", "modifyGraph", "keys", "sortKeys", "seqA", "seqB", "shouldRerouteArrow", "commitA", "commitB", "p1", "p2", "allCommits", "branchToGetCurve", "isOnBranchToGetCurve", "isBetweenCommits", "commitX", "findLane", "y1", "y2", "depth", "candidate", "lane", "diff", "drawArrow", "arrowTheme", "arrowNeedsRerouting", "arc", "arc2", "radius", "offset", "colorClassNum", "lineDef", "lineY", "lineX", "drawArrows", "gArrows", "drawBranches", "branches", "look", "themeVariables", "dropShadow", "themeColorLimit", "g", "adjustIndexForTheme", "spineY", "labelElement", "bkg", "borderRadius", "labelPaddingX", "labelPaddingY", "setBranchPosition", "rotateCommitLabel", "draw", "ver", "diagObj", "diagram2", "select_default", "useGradient", "gradientStart", "gradientStop", "filterColor", "gradient", "branchLabel", "utils_default", "setupGraphViewbox2", "gitGraphRenderer_default", "GIT_NAMED_COLOR_COUNT", "REDUX_GEOMETRY_THEMES2", "COLOR_THEMES2", "NEO_THEMES", "DARK_THEMES2", "NEO_COLOR_GEN_THEMES", "genGitGraphGradient", "options", "svgId", "sections", "genColor", "borderColorArray", "ci", "colorIndex", "normalTheme", "_", "getStyles", "useNeoColorGen", "styles_default", "diagram"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as s}from"./chunk-ZY7EQCMR.js";import"./chunk-72WSJX2P.js";import"./chunk-WIIGSS4X.js";import"./chunk-FWZR474D.js";import"./chunk-C2IUOGBD.js";import"./chunk-YYWGGXI6.js";import"./chunk-SWJRRCAF.js";import"./chunk-WEZ3ELJO.js";import"./chunk-NWD66TP4.js";import"./chunk-PLQZIFSO.js";import"./chunk-QSGUWHXF.js";import"./chunk-IGLPGT7W.js";import{a as i}from"./chunk-DXEOG5W4.js";import{N as n}from"./chunk-WBEUYPCI.js";import{b as r,d as a}from"./chunk-PVPXGQIV.js";import"./chunk-SN6BTAM3.js";import"./chunk-URGT6V7R.js";var p={parse:r(async e=>{let t=await s("info",e);a.debug(t)},"parse")},v={version:"11.15.0"},d=r(()=>v.version,"getVersion"),m={getVersion:d},c=r((e,t,g)=>{a.debug(`rendering info diagram
|
|
2
|
+
`+e);let o=i(t);n(o,100,400,!0),o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${g}`)},"draw"),f={draw:c},b={parser:p,db:m,renderer:f};export{b as diagram};
|
|
3
|
+
//# sourceMappingURL=infoDiagram-5YYISTIA-5GFVQYI7.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-5YYISTIA.mjs"],
|
|
4
|
+
"sourcesContent": ["import {\n selectSvgElement\n} from \"./chunk-WU5MYG2G.mjs\";\nimport {\n configureSvgSize\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/info/infoParser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"info\", input);\n log.debug(ast);\n }, \"parse\")\n};\n\n// src/diagrams/info/infoDb.ts\nvar DEFAULT_INFO_DB = {\n version: \"11.15.0\" + (true ? \"\" : \"-tiny\")\n};\nvar getVersion = /* @__PURE__ */ __name(() => DEFAULT_INFO_DB.version, \"getVersion\");\nvar db = {\n getVersion\n};\n\n// src/diagrams/info/infoRenderer.ts\nvar draw = /* @__PURE__ */ __name((text, id, version) => {\n log.debug(\"rendering info diagram\\n\" + text);\n const svg = selectSvgElement(id);\n configureSvgSize(svg, 100, 400, true);\n const group = svg.append(\"g\");\n group.append(\"text\").attr(\"x\", 100).attr(\"y\", 40).attr(\"class\", \"version\").attr(\"font-size\", 32).style(\"text-anchor\", \"middle\").text(`v${version}`);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/info/infoDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer\n};\nexport {\n diagram\n};\n"],
|
|
5
|
+
"mappings": "mhBAaA,IAAIA,EAAS,CACX,MAAuBC,EAAO,MAAOC,GAAU,CAC7C,IAAMC,EAAM,MAAMC,EAAM,OAAQF,CAAK,EACrCG,EAAI,MAAMF,CAAG,CACf,EAAG,OAAO,CACZ,EAGIG,EAAkB,CACpB,QAAS,SACX,EACIC,EAA6BN,EAAO,IAAMK,EAAgB,QAAS,YAAY,EAC/EE,EAAK,CACP,WAAAD,CACF,EAGIE,EAAuBR,EAAO,CAACS,EAAMC,EAAIC,IAAY,CACvDP,EAAI,MAAM;AAAA,EAA6BK,CAAI,EAC3C,IAAMG,EAAMC,EAAiBH,CAAE,EAC/BI,EAAiBF,EAAK,IAAK,IAAK,EAAI,EACtBA,EAAI,OAAO,GAAG,EACtB,OAAO,MAAM,EAAE,KAAK,IAAK,GAAG,EAAE,KAAK,IAAK,EAAE,EAAE,KAAK,QAAS,SAAS,EAAE,KAAK,YAAa,EAAE,EAAE,MAAM,cAAe,QAAQ,EAAE,KAAK,IAAID,CAAO,EAAE,CACpJ,EAAG,MAAM,EACLI,EAAW,CAAE,KAAAP,CAAK,EAGlBQ,EAAU,CACZ,OAAAjB,EACA,GAAAQ,EACA,SAAAQ,CACF",
|
|
6
|
+
"names": ["parser", "__name", "input", "ast", "parse", "log", "DEFAULT_INFO_DB", "getVersion", "db", "draw", "text", "id", "version", "svg", "selectSvgElement", "configureSvgSize", "renderer", "diagram"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import{a as yt}from"./chunk-DXEOG5W4.js";import{a as pt}from"./chunk-AUV7QZZ7.js";import{n as ft}from"./chunk-EHSK6IMI.js";import"./chunk-SA4K3XYV.js";import{M as at,N as rt,S as lt,T as ot,U as ht,V as ct,W as ut,X as J,Y as dt,Z as tt}from"./chunk-WBEUYPCI.js";import{b as o}from"./chunk-PVPXGQIV.js";import"./chunk-SN6BTAM3.js";import"./chunk-URGT6V7R.js";var it=(function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],w=[1,19],u=[6,7,11],m=[1,6,13,14],k=[1,23],_=[1,24],x=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},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,1],[12,1],[12,1]],performAction:o(function(t,s,i,c,p,n,v){var b=n.length-1;switch(p){case 6:case 7:return c;case 15:c.addNode(n[b-1].length,n[b].trim());break;case 16:c.addNode(0,n[b].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:w},e(u,[2,18],{14:[1,21]}),e(u,[2,16]),e(u,[2,17]),{6:f,7:d,10:22,11:w},{1:[2,7],6:r,12:15,13:a,14:l},e(m,[2,14],{7:k,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(u,[2,15]),e(m,[2,13],{7:k,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],c=[],p=[null],n=[],v=this.table,b="",I=0,S=0,A=0,L=2,O=1,X=n.slice.call(arguments,1),g=Object.create(this.lexer),E={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(E.yy[V]=this.yy[V]);g.setInput(t,E.yy),E.yy.lexer=g,E.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var R=g.yylloc;n.push(R);var Y=g.options&&g.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function vt(P){i.length=i.length-2*P,p.length=p.length-P,n.length=n.length-P}o(vt,"popStack");function st(){var P;return P=c.pop()||g.lex()||O,typeof P!="number"&&(P instanceof Array&&(c=P,P=c.pop()),P=s.symbols_[P]||P),P}o(st,"lex");for(var T,K,W,B,Rt,q,F={},G,C,nt,U;;){if(W=i[i.length-1],this.defaultActions[W]?B=this.defaultActions[W]:((T===null||typeof T>"u")&&(T=st()),B=v[W]&&v[W][T]),typeof B>"u"||!B.length||!B[0]){var Q="";U=[];for(G in v[W])this.terminals_[G]&&G>L&&U.push("'"+this.terminals_[G]+"'");g.showPosition?Q="Parse error on line "+(I+1)+`:
|
|
2
|
+
`+g.showPosition()+`
|
|
3
|
+
Expecting `+U.join(", ")+", got '"+(this.terminals_[T]||T)+"'":Q="Parse error on line "+(I+1)+": Unexpected "+(T==O?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(Q,{text:g.match,token:this.terminals_[T]||T,line:g.yylineno,loc:R,expected:U})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+T);switch(B[0]){case 1:i.push(T),p.push(g.yytext),n.push(g.yylloc),i.push(B[1]),T=null,K?(T=K,K=null):(S=g.yyleng,b=g.yytext,I=g.yylineno,R=g.yylloc,A>0&&A--);break;case 2:if(C=this.productions_[B[1]][1],F.$=p[p.length-C],F._$={first_line:n[n.length-(C||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(C||1)].first_column,last_column:n[n.length-1].last_column},Y&&(F._$.range=[n[n.length-(C||1)].range[0],n[n.length-1].range[1]]),q=this.performAction.apply(F,[b,S,I,E.yy,B[1],p,n].concat(X)),typeof q<"u")return q;C&&(i=i.slice(0,-1*C*2),p=p.slice(0,-1*C),n=n.slice(0,-1*C)),i.push(this.productions_[B[1]][0]),p.push(F.$),n.push(F._$),nt=v[i[i.length-2]][i[i.length-1]],i.push(nt);break;case 3:return!0}}return!0},"parse")},D=(function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var c=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),i.length-1&&(this.yylineno-=i.length-1);var p=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:i?(i.length===c.length?this.yylloc.first_column:0)+c[c.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+`
|
|
5
|
+
`+s+"^"},"showPosition"),test_match:o(function(t,s){var i,c,p;if(this.options.backtrack_lexer&&(p={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&&(p.yylloc.range=this.yylloc.range.slice(0))),c=t[0].match(/(?:\r\n?|\n).*/g),c&&(this.yylineno+=c.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:c?c[c.length-1].length-c[c.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var n in p)this[n]=p[n];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,s,i,c;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),n=0;n<p.length;n++)if(i=this._input.match(this.rules[p[n]]),i&&(!s||i[0].length>s[0].length)){if(s=i,c=n,this.options.backtrack_lexer){if(t=this.test_match(i,p[n]),t!==!1)return t;if(this._backtrack){s=!1;continue}else return!1}else if(!this.options.flex)break}return s?(t=this.test_match(s,p[c]),t!==!1?t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var s=this.next();return s||this.lex()},"lex"),begin:o(function(s){this.conditionStack.push(s)},"begin"),popState:o(function(){var s=this.conditionStack.length-1;return s>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(s){return s=this.conditionStack.length-1-Math.abs(s||0),s>=0?this.conditionStack[s]:"INITIAL"},"topState"),pushState:o(function(s){this.begin(s)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(s,i,c,p){var n=p;switch(c){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return M})();N.lexer=D;function $(){this.yy={}}return o($,"Parser"),$.prototype=N,N.Parser=$,new $})();it.parser=it;var St=it,H,Et=(H=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,lt()}getRoot(){return this.root}addNode(h,r){let a=at.sanitizeText(r,tt());if(!this.root){this.root={text:a,children:[]},this.stack=[{level:0,node:this.root}],J(a);return}this.baseLevel??(this.baseLevel=h);let l=h-this.baseLevel+1;for(l<=0&&(l=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=l;)this.stack.pop();let y=this.stack[this.stack.length-1].node,f={text:a,children:[]};y.children.push(f),this.stack.push({level:l,node:f})}getAccTitle(){return ht()}setAccTitle(h){ot(h)}getAccDescription(){return ut()}setAccDescription(h){ct(h)}getDiagramTitle(){return dt()}setDiagramTitle(h){J(h)}},o(H,"IshikawaDB"),H),$t=14,j=250,At=30,It=60,Lt=5,_t=82*Math.PI/180,gt=Math.cos(_t),kt=Math.sin(_t),mt=o((e,h,r)=>{let a=e.node().getBBox(),l=a.width+h*2,y=a.height+h*2;rt(e,y,l,r),e.attr("viewBox",`${a.x-h} ${a.y-h} ${l} ${y}`)},"applyPaddedViewBox"),Tt=o((e,h,r,a)=>{let y=a.db.getRoot();if(!y)return;let f=tt(),{look:d,handDrawnSeed:w,themeVariables:u}=f,m=ft(f.fontSize)[0]??$t,k=d==="handDrawn",_=y.children??[],x=f.ishikawa?.diagramPadding??20,N=f.ishikawa?.useMaxWidth??!1,D=yt(h),$=D.append("g").attr("class","ishikawa"),M=k?pt.svg(D.node()):void 0,t=M?{roughSvg:M,seed:w??0,lineColor:u?.lineColor??"#333",fillColor:u?.mainBkg??"#fff"}:void 0,s=`ishikawa-arrow-${h}`;k||$.append("defs").append("marker").attr("id",s).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let i=0,c=j,p=k?void 0:z($,i,c,i,c,"ishikawa-spine");if(Mt($,i,c,y.text,m,t),!_.length){k&&z($,i,c,i,c,"ishikawa-spine",t),mt(D,x,N);return}i-=20;let n=_.filter((g,E)=>E%2===0),v=_.filter((g,E)=>E%2===1),b=wt(n),I=wt(v),S=b.total+I.total,A=j,L=j;if(S>0){let g=j*2,E=j*.3;A=Math.max(E,g*(b.total/S)),L=Math.max(E,g*(I.total/S))}let O=m*2;A=Math.max(A,b.max*O),L=Math.max(L,I.max*O),c=Math.max(A,j),p&&p.attr("y1",c).attr("y2",c),$.select(".ishikawa-head-group").attr("transform",`translate(0,${c})`);let X=Math.ceil(_.length/2);for(let g=0;g<X;g++){let E=$.append("g").attr("class","ishikawa-pair");for(let[V,R,Y]of[[_[g*2],-1,A],[_[g*2+1],1,L]])V&&Nt(E,V,i,c,R,Y,m,t);i=E.selectAll("text").nodes().reduce((V,R)=>Math.min(V,R.getBBox().x),1/0)}if(k)z($,i,c,0,c,"ishikawa-spine",t);else{p.attr("x1",i);let g=`url(#${s})`;$.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",g)}mt(D,x,N)},"draw"),wt=o(e=>{let h=o(r=>r.children.reduce((a,l)=>a+1+h(l),0),"countDescendants");return e.reduce((r,a)=>{let l=h(a);return r.total+=l,r.max=Math.max(r.max,l),r},{total:0,max:0})},"sideStats"),Mt=o((e,h,r,a,l,y)=>{let f=Math.max(6,Math.floor(110/(l*.6))),d=e.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${h},${r})`),w=Z(d,xt(a,f),0,0,"ishikawa-head-label","start",l),u=w.node().getBBox(),m=Math.max(60,u.width+6),k=Math.max(40,u.height*2+40),_=`M 0 ${-k/2} L 0 ${k/2} Q ${m*2.4} 0 0 ${-k/2} Z`;if(y){let x=y.roughSvg.path(_,{roughness:1.5,seed:y.seed,fill:y.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:y.lineColor,strokeWidth:2});d.insert(()=>x,":first-child").attr("class","ishikawa-head")}else d.insert("path",":first-child").attr("class","ishikawa-head").attr("d",_);w.attr("transform",`translate(${(m-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),Pt=o((e,h)=>{let r=[],a=[],l=o((y,f,d)=>{let w=h===-1?[...y].reverse():y;for(let u of w){let m=r.length,k=u.children??[];r.push({depth:d,text:xt(u.text,15),parentIndex:f,childCount:k.length}),d%2===0?(a.push(m),k.length&&l(k,m,d+1)):(k.length&&l(k,m,d+1),a.push(m))}},"walk");return l(e,-1,2),{entries:r,yOrder:a}},"flattenTree"),Bt=o((e,h,r,a,l,y,f)=>{let d=e.append("g").attr("class","ishikawa-label-group"),u=Z(d,h,r,a+11*l,"ishikawa-label cause","middle",y).node().getBBox();if(f){let m=f.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:f.seed,fill:f.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:f.lineColor,strokeWidth:2});d.insert(()=>m,":first-child").attr("class","ishikawa-label-box")}else d.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),et=o((e,h,r,a,l,y)=>{let f=Math.sqrt(a*a+l*l);if(f===0)return;let d=a/f,w=l/f,u=6,m=-w*u,k=d*u,_=h,x=r,N=`M ${_} ${x} L ${_-d*u*2+m} ${x-w*u*2+k} L ${_-d*u*2-m} ${x-w*u*2-k} Z`,D=y.roughSvg.path(N,{roughness:1,seed:y.seed,fill:y.lineColor,fillStyle:"solid",stroke:y.lineColor,strokeWidth:1});e.append(()=>D)},"drawArrowMarker"),Nt=o((e,h,r,a,l,y,f,d)=>{let w=h.children??[],u=y*(w.length?1:.2),m=-gt*u,k=kt*u*l,_=r+m,x=a+k;if(z(e,r,a,_,x,"ishikawa-branch",d),d&&et(e,r,a,r-_,a-x,d),Bt(e,h.text,_,x,l,f,d),!w.length)return;let{entries:N,yOrder:D}=Pt(w,l),$=N.length,M=new Array($);for(let[p,n]of D.entries())M[n]=a+k*((p+1)/($+1));let t=new Map;t.set(-1,{x0:r,y0:a,x1:_,y1:x,childCount:w.length,childrenDrawn:0});let s=-gt,i=kt*l,c=l<0?"ishikawa-label up":"ishikawa-label down";for(let[p,n]of N.entries()){let v=M[p],b=t.get(n.parentIndex),I=e.append("g").attr("class","ishikawa-sub-group"),S=0,A=0,L=0;if(n.depth%2===0){let O=b.y1-b.y0;S=bt(b.x0,b.x1,O?(v-b.y0)/O:.5),A=v,L=S-(n.childCount>0?It+n.childCount*Lt:At),z(I,S,v,L,v,"ishikawa-sub-branch",d),d&&et(I,S,v,1,0,d),Z(I,n.text,L,v,"ishikawa-label align","end",f)}else{let O=b.childrenDrawn++;S=bt(b.x0,b.x1,(b.childCount-O)/(b.childCount+1)),A=b.y0,L=S+s*((v-A)/i),z(I,S,A,L,v,"ishikawa-sub-branch",d),d&&et(I,S,A,S-L,A-v,d),Z(I,n.text,L,v,c,"end",f)}n.childCount>0&&t.set(p,{x0:S,y0:A,x1:L,y1:v,childCount:n.childCount,childrenDrawn:0})}},"drawBranch"),Dt=o(e=>e.split(/<br\s*\/?>|\n/),"splitLines"),xt=o((e,h)=>{if(e.length<=h)return e;let r=[];for(let a of e.split(/\s+/)){let l=r.length-1;l>=0&&r[l].length+1+a.length<=h?r[l]+=" "+a:r.push(a)}return r.join(`
|
|
7
|
+
`)},"wrapText"),Z=o((e,h,r,a,l,y,f)=>{let d=Dt(h),w=f*1.05,u=e.append("text").attr("class",l).attr("text-anchor",y).attr("x",r).attr("y",a-(d.length-1)*w/2);for(let[m,k]of d.entries())u.append("tspan").attr("x",r).attr("dy",m===0?0:w).text(k);return u},"drawMultilineText"),bt=o((e,h,r)=>e+(h-e)*r,"lerp"),z=o((e,h,r,a,l,y,f)=>{if(f){let d=f.roughSvg.line(h,r,a,l,{roughness:1.5,seed:f.seed,stroke:f.lineColor,strokeWidth:2});e.append(()=>d).attr("class",y);return}return e.append("line").attr("class",y).attr("x1",h).attr("y1",r).attr("x2",a).attr("y2",l)},"drawLine"),Ot={draw:Tt},Ct=o(e=>`
|
|
8
|
+
.ishikawa .ishikawa-spine,
|
|
9
|
+
.ishikawa .ishikawa-branch,
|
|
10
|
+
.ishikawa .ishikawa-sub-branch {
|
|
11
|
+
stroke: ${e.lineColor};
|
|
12
|
+
stroke-width: 2;
|
|
13
|
+
fill: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ishikawa .ishikawa-sub-branch {
|
|
17
|
+
stroke-width: 1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.ishikawa .ishikawa-arrow {
|
|
21
|
+
fill: ${e.lineColor};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.ishikawa .ishikawa-head {
|
|
25
|
+
fill: ${e.mainBkg};
|
|
26
|
+
stroke: ${e.lineColor};
|
|
27
|
+
stroke-width: 2;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ishikawa .ishikawa-label-box {
|
|
31
|
+
fill: ${e.mainBkg};
|
|
32
|
+
stroke: ${e.lineColor};
|
|
33
|
+
stroke-width: 2;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.ishikawa text {
|
|
37
|
+
font-family: ${e.fontFamily};
|
|
38
|
+
font-size: ${e.fontSize};
|
|
39
|
+
fill: ${e.textColor};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.ishikawa .ishikawa-head-label {
|
|
43
|
+
font-weight: 600;
|
|
44
|
+
text-anchor: middle;
|
|
45
|
+
dominant-baseline: middle;
|
|
46
|
+
font-size: 14px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.ishikawa .ishikawa-label {
|
|
50
|
+
text-anchor: end;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.ishikawa .ishikawa-label.cause {
|
|
54
|
+
text-anchor: middle;
|
|
55
|
+
dominant-baseline: middle;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.ishikawa .ishikawa-label.align {
|
|
59
|
+
text-anchor: end;
|
|
60
|
+
dominant-baseline: middle;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ishikawa .ishikawa-label.up {
|
|
64
|
+
dominant-baseline: baseline;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ishikawa .ishikawa-label.down {
|
|
68
|
+
dominant-baseline: hanging;
|
|
69
|
+
}
|
|
70
|
+
`,"getStyles"),Vt=Ct,Gt={parser:St,get db(){return new Et},renderer:Ot,styles:Vt};export{Gt as diagram};
|
|
71
|
+
//# sourceMappingURL=ishikawaDiagram-YF4QCWOH-AZ7PAHIN.js.map
|