dominds 1.25.2 → 1.25.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/tui.js +2 -0
- package/dist/cli/webui.js +2 -0
- package/dist/cli.js +2 -0
- package/dist/dialog-display-state.js +6 -7
- package/dist/docs/dialog-system.md +15 -29
- package/dist/docs/dialog-system.zh.md +15 -29
- package/dist/evt-registry.js +2 -0
- package/dist/llm/kernel-driver/drive.js +137 -7
- package/dist/llm/kernel-driver/flow.js +46 -20
- package/dist/llm/kernel-driver/reply-guidance.js +5 -5
- package/dist/persistence-errors.d.ts +1 -1
- package/dist/persistence.d.ts +50 -1
- package/dist/persistence.js +549 -4
- package/dist/process-title.d.ts +2 -0
- package/dist/process-title.js +13 -0
- package/dist/runtime/driver-messages.d.ts +7 -1
- package/dist/runtime/driver-messages.js +33 -11
- package/dist/runtime/interjection-pause-stop.js +8 -7
- package/dist/server/api-routes.js +14 -0
- package/dist/server/dominds-self-update.d.ts +1 -0
- package/dist/server/dominds-self-update.js +17 -0
- package/dist/server/websocket-handler.js +73 -6
- package/dist/tools/cmd-runner-protocol.d.ts +1 -0
- package/dist/tools/cmd-runner-protocol.js +6 -0
- package/dist/tools/cmd-runner.js +1 -0
- package/dist/tools/os.d.ts +2 -4
- package/dist/tools/os.js +79 -4
- package/package.json +3 -3
- package/webapp/dist/assets/{_basePickBy-CbWZ8qnS.js → _basePickBy-fZ31r-iF.js} +3 -3
- package/webapp/dist/assets/_basePickBy-fZ31r-iF.js.map +1 -0
- package/webapp/dist/assets/{_baseUniq-IY-Vfzx1.js → _baseUniq-CI1keLoL.js} +2 -2
- package/webapp/dist/assets/_baseUniq-CI1keLoL.js.map +1 -0
- package/webapp/dist/assets/{arc--U2Vks6y.js → arc-1NeUqzoV.js} +2 -2
- package/webapp/dist/assets/arc-1NeUqzoV.js.map +1 -0
- package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-DpryGqjy.js → architectureDiagram-2XIMDMQ5-C7SdzYIh.js} +26 -8
- package/webapp/dist/assets/architectureDiagram-2XIMDMQ5-C7SdzYIh.js.map +1 -0
- package/webapp/dist/assets/{blockDiagram-VD42YOAC-TTufCfiE.js → blockDiagram-WCTKOSBZ-Cmpu3kIy.js} +187 -170
- package/webapp/dist/assets/blockDiagram-WCTKOSBZ-Cmpu3kIy.js.map +1 -0
- package/webapp/dist/assets/{c4Diagram-YG6GDRKO-B4RPsw5H.js → c4Diagram-IC4MRINW-ChGTHIor.js} +4 -4
- package/webapp/dist/assets/c4Diagram-IC4MRINW-ChGTHIor.js.map +1 -0
- package/webapp/dist/assets/{channel-DAtGYJHZ.js → channel-ndS-XTQQ.js} +2 -2
- package/webapp/dist/assets/channel-ndS-XTQQ.js.map +1 -0
- package/webapp/dist/assets/{chunk-4BX2VUAB-JtO__vAF.js → chunk-4BX2VUAB-Cw5FtBd_.js} +2 -2
- package/webapp/dist/assets/chunk-4BX2VUAB-Cw5FtBd_.js.map +1 -0
- package/webapp/dist/assets/{chunk-55IACEB6-JMRC8yG1.js → chunk-55IACEB6-D3G71JdA.js} +2 -2
- package/webapp/dist/assets/chunk-55IACEB6-D3G71JdA.js.map +1 -0
- package/webapp/dist/assets/{chunk-FMBD7UC4-DFXKLjHC.js → chunk-FMBD7UC4-BcugPyy7.js} +2 -2
- package/webapp/dist/assets/chunk-FMBD7UC4-BcugPyy7.js.map +1 -0
- package/webapp/dist/assets/{chunk-TZMSLE5B-BaE4C244.js → chunk-JSJVCQXG-DvuxYuNq.js} +14 -6
- package/webapp/dist/assets/chunk-JSJVCQXG-DvuxYuNq.js.map +1 -0
- package/webapp/dist/assets/{chunk-QN33PNHL-BKzkeJ-b.js → chunk-KX2RTZJC-BQ42xd4s.js} +2 -2
- package/webapp/dist/assets/chunk-KX2RTZJC-BQ42xd4s.js.map +1 -0
- package/webapp/dist/assets/{chunk-DI55MBZ5-j9B4rifK.js → chunk-NQ4KR5QH-CGEMYTch.js} +9 -7
- package/webapp/dist/assets/chunk-NQ4KR5QH-CGEMYTch.js.map +1 -0
- package/webapp/dist/assets/{chunk-QZHKN3VN-DiZd3UNl.js → chunk-QZHKN3VN-CxNTVm5w.js} +2 -2
- package/webapp/dist/assets/chunk-QZHKN3VN-CxNTVm5w.js.map +1 -0
- package/webapp/dist/assets/{chunk-B4BG7PRW-BDIpf8Iz.js → chunk-WL4C6EOR-CIwdSg5q.js} +171 -121
- package/webapp/dist/assets/chunk-WL4C6EOR-CIwdSg5q.js.map +1 -0
- package/webapp/dist/assets/{classDiagram-2ON5EDUG-CNF8ZohD.js → classDiagram-VBA2DB6C-Dl05PJAP.js} +7 -6
- package/webapp/dist/assets/classDiagram-VBA2DB6C-Dl05PJAP.js.map +1 -0
- package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-CNF8ZohD.js → classDiagram-v2-RAHNMMFH-Dl05PJAP.js} +7 -6
- package/webapp/dist/assets/classDiagram-v2-RAHNMMFH-Dl05PJAP.js.map +1 -0
- package/webapp/dist/assets/{clone-Nq0Ko0Gv.js → clone-KCj1-QMr.js} +2 -2
- package/webapp/dist/assets/clone-KCj1-QMr.js.map +1 -0
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-uHPLSeKv.js → cose-bilkent-S5V4N54A-BttciCz5.js} +2 -2
- package/webapp/dist/assets/cose-bilkent-S5V4N54A-BttciCz5.js.map +1 -0
- package/webapp/dist/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -1
- package/webapp/dist/assets/{dagre-6UL2VRFP-C1awWpU3.js → dagre-KLK3FWXG-Dm5yE9k2.js} +7 -7
- package/webapp/dist/assets/dagre-KLK3FWXG-Dm5yE9k2.js.map +1 -0
- package/webapp/dist/assets/defaultLocale-B2RvLBDe.js.map +1 -1
- package/webapp/dist/assets/{diagram-PSM6KHXK-Bf69p76M.js → diagram-E7M64L7V-C80ZsiBG.js} +10 -10
- package/webapp/dist/assets/diagram-E7M64L7V-C80ZsiBG.js.map +1 -0
- package/webapp/dist/assets/{diagram-QEK2KX5R-Bvlbx8Jp.js → diagram-IFDJBPK2-CqKidH4n.js} +9 -8
- package/webapp/dist/assets/diagram-IFDJBPK2-CqKidH4n.js.map +1 -0
- package/webapp/dist/assets/{diagram-S2PKOQOG-CGjGalBu.js → diagram-P4PSJMXO-EHVjfzUV.js} +8 -8
- package/webapp/dist/assets/diagram-P4PSJMXO-EHVjfzUV.js.map +1 -0
- package/webapp/dist/assets/{erDiagram-Q2GNP2WA-Ds3qhwkG.js → erDiagram-INFDFZHY-7MrtsOIt.js} +96 -75
- package/webapp/dist/assets/erDiagram-INFDFZHY-7MrtsOIt.js.map +1 -0
- package/webapp/dist/assets/{flowDiagram-NV44I4VS-B1wDG_l5.js → flowDiagram-PKNHOUZH-D6hXqCy7.js} +98 -81
- package/webapp/dist/assets/flowDiagram-PKNHOUZH-D6hXqCy7.js.map +1 -0
- package/webapp/dist/assets/{ganttDiagram-JELNMOA3-BwuYt2bO.js → ganttDiagram-A5KZAMGK-DLO0XCDk.js} +28 -3
- package/webapp/dist/assets/ganttDiagram-A5KZAMGK-DLO0XCDk.js.map +1 -0
- package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-B2Tw773z.js → gitGraphDiagram-K3NZZRJ6-BmVD_nQP.js} +38 -46
- package/webapp/dist/assets/gitGraphDiagram-K3NZZRJ6-BmVD_nQP.js.map +1 -0
- package/webapp/dist/assets/graph-DQTj8O0Q.js +782 -0
- package/webapp/dist/assets/graph-DQTj8O0Q.js.map +1 -0
- package/webapp/dist/assets/{index-yycTJNYb.css → index-BQoNJEGT.css} +1 -1
- package/webapp/dist/assets/{index-arD81Nnh.js → index-BXjq-k48.js} +1512 -1097
- package/webapp/dist/assets/{index-arD81Nnh.js.map → index-BXjq-k48.js.map} +1 -1
- package/webapp/dist/assets/{infoDiagram-HS3SLOUP-C9_JKYhm.js → infoDiagram-LFFYTUFH-D2fqM9Fn.js} +7 -7
- package/webapp/dist/assets/infoDiagram-LFFYTUFH-D2fqM9Fn.js.map +1 -0
- package/webapp/dist/assets/init-ZxktEp_H.js.map +1 -1
- package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-kp7lB6-f.js +966 -0
- package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-kp7lB6-f.js.map +1 -0
- package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-BhZggYOL.js → journeyDiagram-4ABVD52K-DmbA52J-.js} +5 -5
- package/webapp/dist/assets/journeyDiagram-4ABVD52K-DmbA52J-.js.map +1 -0
- package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-B-R2Xm4Y.js → kanban-definition-K7BYSVSG-DRUw-P-d.js} +5 -3
- package/webapp/dist/assets/kanban-definition-K7BYSVSG-DRUw-P-d.js.map +1 -0
- package/webapp/dist/assets/{layout-BzMatxDa.js → layout-BUoHHXzn.js} +5 -5
- package/webapp/dist/assets/layout-BUoHHXzn.js.map +1 -0
- package/webapp/dist/assets/{linear-BuuJkw_U.js → linear-xVSAq8rI.js} +2 -2
- package/webapp/dist/assets/linear-xVSAq8rI.js.map +1 -0
- package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-BR7oDKBR.js → mindmap-definition-YRQLILUH-BcajbGmW.js} +7 -5
- package/webapp/dist/assets/mindmap-definition-YRQLILUH-BcajbGmW.js.map +1 -0
- package/webapp/dist/assets/ordinal-CxptdPJm.js.map +1 -1
- package/webapp/dist/assets/{pieDiagram-ADFJNKIX--QWeT2vZ.js → pieDiagram-SKSYHLDU-Bu8kmCW6.js} +8 -8
- package/webapp/dist/assets/pieDiagram-SKSYHLDU-Bu8kmCW6.js.map +1 -0
- package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-BpqtmN3r.js → quadrantDiagram-337W2JSQ-DIBSNUGa.js} +3 -3
- package/webapp/dist/assets/quadrantDiagram-337W2JSQ-DIBSNUGa.js.map +1 -0
- package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-CIXjIi4F.js → requirementDiagram-Z7DCOOCP-CkrDkbBt.js} +16 -6
- package/webapp/dist/assets/requirementDiagram-Z7DCOOCP-CkrDkbBt.js.map +1 -0
- package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-DJIt7SRz.js → sankeyDiagram-WA2Y5GQK-BZ-1R8pc.js} +2 -2
- package/webapp/dist/assets/sankeyDiagram-WA2Y5GQK-BZ-1R8pc.js.map +1 -0
- package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-BpDK1ROT.js → sequenceDiagram-2WXFIKYE-DYoNARdO.js} +601 -201
- package/webapp/dist/assets/sequenceDiagram-2WXFIKYE-DYoNARdO.js.map +1 -0
- package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-BoKGfmHf.js → stateDiagram-RAJIS63D-D9v19nvh.js} +9 -9
- package/webapp/dist/assets/stateDiagram-RAJIS63D-D9v19nvh.js.map +1 -0
- package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3--haXC2JK.js → stateDiagram-v2-FVOUBMTO-BYw5ZwtH.js} +5 -5
- package/webapp/dist/assets/stateDiagram-v2-FVOUBMTO-BYw5ZwtH.js.map +1 -0
- package/webapp/dist/assets/{timeline-definition-IT6M3QCI-BmSg3Hjf.js → timeline-definition-YZTLITO2-BT10dRIJ.js} +3 -3
- package/webapp/dist/assets/timeline-definition-YZTLITO2-BT10dRIJ.js.map +1 -0
- package/webapp/dist/assets/{treemap-GDKQZRPO-D9OuyDVA.js → treemap-KZPCXAKY-yPoPC5hc.js} +37 -24
- package/webapp/dist/assets/treemap-KZPCXAKY-yPoPC5hc.js.map +1 -0
- package/webapp/dist/assets/vennDiagram-LZ73GAT5-tryg3OaY.js +2487 -0
- package/webapp/dist/assets/vennDiagram-LZ73GAT5-tryg3OaY.js.map +1 -0
- package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-CVqSvO_S.js → xychartDiagram-JWTSCODW-BWLUzo9S.js} +4 -4
- package/webapp/dist/assets/xychartDiagram-JWTSCODW-BWLUzo9S.js.map +1 -0
- package/webapp/dist/index.html +2 -2
- package/webapp/dist/assets/_basePickBy-CbWZ8qnS.js.map +0 -1
- package/webapp/dist/assets/_baseUniq-IY-Vfzx1.js.map +0 -1
- package/webapp/dist/assets/arc--U2Vks6y.js.map +0 -1
- package/webapp/dist/assets/architectureDiagram-VXUJARFQ-DpryGqjy.js.map +0 -1
- package/webapp/dist/assets/blockDiagram-VD42YOAC-TTufCfiE.js.map +0 -1
- package/webapp/dist/assets/c4Diagram-YG6GDRKO-B4RPsw5H.js.map +0 -1
- package/webapp/dist/assets/channel-DAtGYJHZ.js.map +0 -1
- package/webapp/dist/assets/chunk-4BX2VUAB-JtO__vAF.js.map +0 -1
- package/webapp/dist/assets/chunk-55IACEB6-JMRC8yG1.js.map +0 -1
- package/webapp/dist/assets/chunk-B4BG7PRW-BDIpf8Iz.js.map +0 -1
- package/webapp/dist/assets/chunk-DI55MBZ5-j9B4rifK.js.map +0 -1
- package/webapp/dist/assets/chunk-FMBD7UC4-DFXKLjHC.js.map +0 -1
- package/webapp/dist/assets/chunk-QN33PNHL-BKzkeJ-b.js.map +0 -1
- package/webapp/dist/assets/chunk-QZHKN3VN-DiZd3UNl.js.map +0 -1
- package/webapp/dist/assets/chunk-TZMSLE5B-BaE4C244.js.map +0 -1
- package/webapp/dist/assets/classDiagram-2ON5EDUG-CNF8ZohD.js.map +0 -1
- package/webapp/dist/assets/classDiagram-v2-WZHVMYZB-CNF8ZohD.js.map +0 -1
- package/webapp/dist/assets/clone-Nq0Ko0Gv.js.map +0 -1
- package/webapp/dist/assets/cose-bilkent-S5V4N54A-uHPLSeKv.js.map +0 -1
- package/webapp/dist/assets/dagre-6UL2VRFP-C1awWpU3.js.map +0 -1
- package/webapp/dist/assets/diagram-PSM6KHXK-Bf69p76M.js.map +0 -1
- package/webapp/dist/assets/diagram-QEK2KX5R-Bvlbx8Jp.js.map +0 -1
- package/webapp/dist/assets/diagram-S2PKOQOG-CGjGalBu.js.map +0 -1
- package/webapp/dist/assets/erDiagram-Q2GNP2WA-Ds3qhwkG.js.map +0 -1
- package/webapp/dist/assets/flowDiagram-NV44I4VS-B1wDG_l5.js.map +0 -1
- package/webapp/dist/assets/ganttDiagram-JELNMOA3-BwuYt2bO.js.map +0 -1
- package/webapp/dist/assets/gitGraphDiagram-V2S2FVAM-B2Tw773z.js.map +0 -1
- package/webapp/dist/assets/graph-CS_H7jBi.js +0 -425
- package/webapp/dist/assets/graph-CS_H7jBi.js.map +0 -1
- package/webapp/dist/assets/infoDiagram-HS3SLOUP-C9_JKYhm.js.map +0 -1
- package/webapp/dist/assets/journeyDiagram-XKPGCS4Q-BhZggYOL.js.map +0 -1
- package/webapp/dist/assets/kanban-definition-3W4ZIXB7-B-R2Xm4Y.js.map +0 -1
- package/webapp/dist/assets/layout-BzMatxDa.js.map +0 -1
- package/webapp/dist/assets/linear-BuuJkw_U.js.map +0 -1
- package/webapp/dist/assets/mindmap-definition-VGOIOE7T-BR7oDKBR.js.map +0 -1
- package/webapp/dist/assets/pieDiagram-ADFJNKIX--QWeT2vZ.js.map +0 -1
- package/webapp/dist/assets/quadrantDiagram-AYHSOK5B-BpqtmN3r.js.map +0 -1
- package/webapp/dist/assets/requirementDiagram-UZGBJVZJ-CIXjIi4F.js.map +0 -1
- package/webapp/dist/assets/sankeyDiagram-TZEHDZUN-DJIt7SRz.js.map +0 -1
- package/webapp/dist/assets/sequenceDiagram-WL72ISMW-BpDK1ROT.js.map +0 -1
- package/webapp/dist/assets/stateDiagram-FKZM4ZOC-BoKGfmHf.js.map +0 -1
- package/webapp/dist/assets/stateDiagram-v2-4FDKWEC3--haXC2JK.js.map +0 -1
- package/webapp/dist/assets/timeline-definition-IT6M3QCI-BmSg3Hjf.js.map +0 -1
- package/webapp/dist/assets/treemap-GDKQZRPO-D9OuyDVA.js.map +0 -1
- package/webapp/dist/assets/xychartDiagram-PRI3JC2R-CVqSvO_S.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-Dm5yE9k2.js","assets/graph-DQTj8O0Q.js","assets/_baseUniq-CI1keLoL.js","assets/layout-BUoHHXzn.js","assets/_basePickBy-fZ31r-iF.js","assets/clone-KCj1-QMr.js","assets/cose-bilkent-S5V4N54A-BttciCz5.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-ChGTHIor.js","assets/chunk-JSJVCQXG-DvuxYuNq.js","assets/flowDiagram-PKNHOUZH-D6hXqCy7.js","assets/chunk-FMBD7UC4-BcugPyy7.js","assets/chunk-55IACEB6-D3G71JdA.js","assets/chunk-KX2RTZJC-BQ42xd4s.js","assets/channel-ndS-XTQQ.js","assets/erDiagram-INFDFZHY-7MrtsOIt.js","assets/gitGraphDiagram-K3NZZRJ6-BmVD_nQP.js","assets/chunk-4BX2VUAB-Cw5FtBd_.js","assets/chunk-QZHKN3VN-CxNTVm5w.js","assets/treemap-KZPCXAKY-yPoPC5hc.js","assets/ganttDiagram-A5KZAMGK-DLO0XCDk.js","assets/linear-xVSAq8rI.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-D2fqM9Fn.js","assets/pieDiagram-SKSYHLDU-Bu8kmCW6.js","assets/arc-1NeUqzoV.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-DIBSNUGa.js","assets/xychartDiagram-JWTSCODW-BWLUzo9S.js","assets/requirementDiagram-Z7DCOOCP-CkrDkbBt.js","assets/sequenceDiagram-2WXFIKYE-DYoNARdO.js","assets/classDiagram-VBA2DB6C-Dl05PJAP.js","assets/chunk-WL4C6EOR-CIwdSg5q.js","assets/classDiagram-v2-RAHNMMFH-Dl05PJAP.js","assets/stateDiagram-RAJIS63D-D9v19nvh.js","assets/chunk-NQ4KR5QH-CGEMYTch.js","assets/stateDiagram-v2-FVOUBMTO-BYw5ZwtH.js","assets/journeyDiagram-4ABVD52K-DmbA52J-.js","assets/timeline-definition-YZTLITO2-BT10dRIJ.js","assets/mindmap-definition-YRQLILUH-BcajbGmW.js","assets/kanban-definition-K7BYSVSG-DRUw-P-d.js","assets/sankeyDiagram-WA2Y5GQK-BZ-1R8pc.js","assets/diagram-P4PSJMXO-EHVjfzUV.js","assets/diagram-IFDJBPK2-CqKidH4n.js","assets/blockDiagram-WCTKOSBZ-Cmpu3kIy.js","assets/architectureDiagram-2XIMDMQ5-C7SdzYIh.js","assets/diagram-E7M64L7V-C80ZsiBG.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
@@ -270,6 +270,7 @@ function getUiStrings(language2) {
|
|
|
270
270
|
backendWorkspaceTitle: "后端运行时工作区",
|
|
271
271
|
backendWorkspaceLoading: "加载中…",
|
|
272
272
|
domindsVersionTitle: "Dominds 版本",
|
|
273
|
+
domindsVersionCheckTitle: "Dominds 版本,双击立即检查更新",
|
|
273
274
|
domindsVersionUpdateLabel: "更新",
|
|
274
275
|
domindsVersionRestartLabel: "重启",
|
|
275
276
|
domindsVersionInstallingLabel: "安装中",
|
|
@@ -283,6 +284,15 @@ function getUiStrings(language2) {
|
|
|
283
284
|
domindsVersionRestartScheduled: "Dominds 后台正在重启…",
|
|
284
285
|
domindsVersionRestartInProgress: "后端正在重启,若页面没有自动刷新,可手动刷新看看。",
|
|
285
286
|
domindsVersionActionFailedPrefix: "Dominds 更新失败:",
|
|
287
|
+
domindsVersionCheckUpdateAvailable: "检查完成:发现新版本 v<latest>,点击版本号可安装。",
|
|
288
|
+
domindsVersionCheckRestartAvailable: "检查完成:新版本 v<latest> 已就绪,点击版本号可重启。",
|
|
289
|
+
domindsVersionCheckUpToDate: "检查完成:当前已是最新版本 v<current>。",
|
|
290
|
+
domindsVersionCheckFailedPrefix: "Dominds 版本检查失败:",
|
|
291
|
+
domindsVersionTooltipCurrent: "当前版本",
|
|
292
|
+
domindsVersionTooltipLatest: "最新版本",
|
|
293
|
+
domindsVersionTooltipLastChecked: "最近检查",
|
|
294
|
+
domindsVersionTooltipNeverChecked: "尚未检查",
|
|
295
|
+
domindsVersionTooltipStatus: "状态",
|
|
286
296
|
loading: "加载中…",
|
|
287
297
|
uiLanguageSelectTitle: "界面语言(也用于提示 agent 用该语言回复)",
|
|
288
298
|
themeToggleTitle: "切换主题",
|
|
@@ -388,8 +398,8 @@ function getUiStrings(language2) {
|
|
|
388
398
|
declareDeathConfirm: "宣布此支线对话“卡死”?此操作不可逆转;诉请者将收到系统反馈并不再等待该支线对话。后续仍可重用相同 slug 发起全新支线,但此前上下文不再保留,新的诉请正文需提供最新完整上下文。",
|
|
389
399
|
declareDeathConfirmSessionless: "宣布此一次性支线对话“卡死”?此操作不可逆转;诉请者将收到系统反馈并不再等待该支线对话。后续若仍需继续,请重新发起新的支线对话;由于不会续接此前上下文,新的诉请正文需提供最新完整上下文。",
|
|
390
400
|
declareDeathConfirmFbr: "宣布此扪心自问(FBR)支线对话“卡死”?此操作不可逆转;诉请者将收到系统反馈并不再等待该支线对话。后续若仍需继续,请重新发起新的扪心自问(FBR)支线对话;由于不会续接此前上下文,新的诉请正文需提供最新完整上下文。",
|
|
391
|
-
q4hNoPending: "
|
|
392
|
-
q4hPendingQuestions: "
|
|
401
|
+
q4hNoPending: "暂无待人处理项",
|
|
402
|
+
q4hPendingQuestions: "待人处理",
|
|
393
403
|
q4hInputPlaceholder: "输入你的回答…",
|
|
394
404
|
q4hEnterToSendTitle: "按 Enter 发送\n- Shift+Enter 换行\n- Cmd/Ctrl+Enter 发送",
|
|
395
405
|
q4hCtrlEnterToSendTitle: "按 Cmd/Ctrl+Enter 发送\n- Enter 换行\n- Shift+Enter 换行",
|
|
@@ -398,6 +408,7 @@ function getUiStrings(language2) {
|
|
|
398
408
|
q4hEnterToStopTitle: "按 Enter 停止",
|
|
399
409
|
q4hCtrlEnterToStopTitle: "按 Cmd/Ctrl+Enter 停止",
|
|
400
410
|
q4hGoToCallSiteTitle: "定位到提问点",
|
|
411
|
+
a2hGoToAnswerTitle: "定位到答复",
|
|
401
412
|
q4hAnswerCallSitesLabel: "本次回答对应提问点:",
|
|
402
413
|
q4hOpenInNewTabTitle: "新标签打开",
|
|
403
414
|
q4hCopyLinkTitle: "复制链接",
|
|
@@ -649,6 +660,7 @@ function getUiStrings(language2) {
|
|
|
649
660
|
backendWorkspaceTitle: "Backend Runtime Workspace",
|
|
650
661
|
backendWorkspaceLoading: "Loading...",
|
|
651
662
|
domindsVersionTitle: "Dominds version",
|
|
663
|
+
domindsVersionCheckTitle: "Dominds version. Double-click to check for updates now.",
|
|
652
664
|
domindsVersionUpdateLabel: "Update",
|
|
653
665
|
domindsVersionRestartLabel: "Restart",
|
|
654
666
|
domindsVersionInstallingLabel: "Installing",
|
|
@@ -662,6 +674,15 @@ function getUiStrings(language2) {
|
|
|
662
674
|
domindsVersionRestartScheduled: "Dominds backend is restarting…",
|
|
663
675
|
domindsVersionRestartInProgress: "Backend is restarting. If the page does not refresh automatically, try a manual refresh.",
|
|
664
676
|
domindsVersionActionFailedPrefix: "Dominds update failed: ",
|
|
677
|
+
domindsVersionCheckUpdateAvailable: "Check complete: v<latest> is available. Click the version to install.",
|
|
678
|
+
domindsVersionCheckRestartAvailable: "Check complete: v<latest> is ready. Click the version to restart.",
|
|
679
|
+
domindsVersionCheckUpToDate: "Check complete: v<current> is already the latest.",
|
|
680
|
+
domindsVersionCheckFailedPrefix: "Dominds version check failed: ",
|
|
681
|
+
domindsVersionTooltipCurrent: "Current version",
|
|
682
|
+
domindsVersionTooltipLatest: "Latest version",
|
|
683
|
+
domindsVersionTooltipLastChecked: "Last checked",
|
|
684
|
+
domindsVersionTooltipNeverChecked: "Not checked yet",
|
|
685
|
+
domindsVersionTooltipStatus: "Status",
|
|
665
686
|
loading: "Loading…",
|
|
666
687
|
uiLanguageSelectTitle: "UI language (also used to prompt agent replies)",
|
|
667
688
|
themeToggleTitle: "Switch theme",
|
|
@@ -767,8 +788,8 @@ function getUiStrings(language2) {
|
|
|
767
788
|
declareDeathConfirm: "Declare this Side Dialog as “dead”? This is irreversible; the tellasker will receive a system notice and stop waiting for it. You may still reuse the same slug to start a new Side Dialog, but prior context will be gone, so include the latest full context in the new tellask body.",
|
|
768
789
|
declareDeathConfirmSessionless: "Declare this one-shot Side Dialog as “dead”? This is irreversible; the tellasker will receive a system notice and stop waiting for it. If the work is still needed later, start a new Side Dialog. Prior context will not carry over, so include the latest full context in the new tellask body.",
|
|
769
790
|
declareDeathConfirmFbr: "Declare this FBR Side Dialog as “dead”? This is irreversible; the tellasker will receive a system notice and stop waiting for it. If the work is still needed later, start a new FBR Side Dialog. Prior context will not carry over, so include the latest full context in the new tellask body.",
|
|
770
|
-
q4hNoPending: "No
|
|
771
|
-
q4hPendingQuestions: "
|
|
791
|
+
q4hNoPending: "No items need attention",
|
|
792
|
+
q4hPendingQuestions: "Human Attention",
|
|
772
793
|
q4hInputPlaceholder: "Type your answer...",
|
|
773
794
|
q4hEnterToSendTitle: "Press Enter to send\n- Shift+Enter newline\n- Cmd/Ctrl+Enter send",
|
|
774
795
|
q4hCtrlEnterToSendTitle: "Press Cmd/Ctrl+Enter to send\n- Enter newline\n- Shift+Enter newline",
|
|
@@ -777,6 +798,7 @@ function getUiStrings(language2) {
|
|
|
777
798
|
q4hEnterToStopTitle: "Press Enter to stop",
|
|
778
799
|
q4hCtrlEnterToStopTitle: "Press Cmd/Ctrl+Enter to stop",
|
|
779
800
|
q4hGoToCallSiteTitle: "Go to call site",
|
|
801
|
+
a2hGoToAnswerTitle: "Go to answer",
|
|
780
802
|
q4hAnswerCallSitesLabel: "Answer applies to call sites:",
|
|
781
803
|
q4hOpenInNewTabTitle: "Open in new tab",
|
|
782
804
|
q4hCopyLinkTitle: "Copy link",
|
|
@@ -1421,6 +1443,12 @@ class ApiClient {
|
|
|
1421
1443
|
body: { action }
|
|
1422
1444
|
});
|
|
1423
1445
|
}
|
|
1446
|
+
async checkDomindsSelfUpdate() {
|
|
1447
|
+
return this.request("/api/dominds/self-update/check", {
|
|
1448
|
+
method: "POST",
|
|
1449
|
+
body: {}
|
|
1450
|
+
});
|
|
1451
|
+
}
|
|
1424
1452
|
/**
|
|
1425
1453
|
* Get server information
|
|
1426
1454
|
*/
|
|
@@ -2166,6 +2194,14 @@ function requireDriveIntent() {
|
|
|
2166
2194
|
Object.defineProperty(driveIntent, "__esModule", { value: true });
|
|
2167
2195
|
return driveIntent;
|
|
2168
2196
|
}
|
|
2197
|
+
var humanAttention = {};
|
|
2198
|
+
var hasRequiredHumanAttention;
|
|
2199
|
+
function requireHumanAttention() {
|
|
2200
|
+
if (hasRequiredHumanAttention) return humanAttention;
|
|
2201
|
+
hasRequiredHumanAttention = 1;
|
|
2202
|
+
Object.defineProperty(humanAttention, "__esModule", { value: true });
|
|
2203
|
+
return humanAttention;
|
|
2204
|
+
}
|
|
2169
2205
|
var i18n = {};
|
|
2170
2206
|
var hasRequiredI18n;
|
|
2171
2207
|
function requireI18n() {
|
|
@@ -2357,6 +2393,7 @@ function requireTypes() {
|
|
|
2357
2393
|
__exportStar(requireDialog(), exports$1);
|
|
2358
2394
|
__exportStar(requireDisplayState(), exports$1);
|
|
2359
2395
|
__exportStar(requireDriveIntent(), exports$1);
|
|
2396
|
+
__exportStar(requireHumanAttention(), exports$1);
|
|
2360
2397
|
__exportStar(requireI18n(), exports$1);
|
|
2361
2398
|
__exportStar(requireLanguage(), exports$1);
|
|
2362
2399
|
__exportStar(requirePriming(), exports$1);
|
|
@@ -5661,7 +5698,7 @@ const _createHooksMap = function _createHooksMap2() {
|
|
|
5661
5698
|
function createDOMPurify() {
|
|
5662
5699
|
let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
|
|
5663
5700
|
const DOMPurify = (root2) => createDOMPurify(root2);
|
|
5664
|
-
DOMPurify.version = "3.3.
|
|
5701
|
+
DOMPurify.version = "3.3.3";
|
|
5665
5702
|
DOMPurify.removed = [];
|
|
5666
5703
|
if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
|
|
5667
5704
|
DOMPurify.isSupported = false;
|
|
@@ -11597,9 +11634,9 @@ MarkdownIt.prototype.disable = function(list2, ignoreInvalid) {
|
|
|
11597
11634
|
}
|
|
11598
11635
|
return this;
|
|
11599
11636
|
};
|
|
11600
|
-
MarkdownIt.prototype.use = function(
|
|
11637
|
+
MarkdownIt.prototype.use = function(plugin23) {
|
|
11601
11638
|
const args = [this].concat(Array.prototype.slice.call(arguments, 1));
|
|
11602
|
-
|
|
11639
|
+
plugin23.apply(plugin23, args);
|
|
11603
11640
|
return this;
|
|
11604
11641
|
};
|
|
11605
11642
|
MarkdownIt.prototype.parse = function(src, env) {
|
|
@@ -13075,37 +13112,37 @@ function requireCore() {
|
|
|
13075
13112
|
const lang = getLanguage(name);
|
|
13076
13113
|
return lang && !lang.disableAutodetect;
|
|
13077
13114
|
}
|
|
13078
|
-
function upgradePluginAPI(
|
|
13079
|
-
if (
|
|
13080
|
-
|
|
13081
|
-
|
|
13115
|
+
function upgradePluginAPI(plugin23) {
|
|
13116
|
+
if (plugin23["before:highlightBlock"] && !plugin23["before:highlightElement"]) {
|
|
13117
|
+
plugin23["before:highlightElement"] = (data) => {
|
|
13118
|
+
plugin23["before:highlightBlock"](
|
|
13082
13119
|
Object.assign({ block: data.el }, data)
|
|
13083
13120
|
);
|
|
13084
13121
|
};
|
|
13085
13122
|
}
|
|
13086
|
-
if (
|
|
13087
|
-
|
|
13088
|
-
|
|
13123
|
+
if (plugin23["after:highlightBlock"] && !plugin23["after:highlightElement"]) {
|
|
13124
|
+
plugin23["after:highlightElement"] = (data) => {
|
|
13125
|
+
plugin23["after:highlightBlock"](
|
|
13089
13126
|
Object.assign({ block: data.el }, data)
|
|
13090
13127
|
);
|
|
13091
13128
|
};
|
|
13092
13129
|
}
|
|
13093
13130
|
}
|
|
13094
|
-
function addPlugin(
|
|
13095
|
-
upgradePluginAPI(
|
|
13096
|
-
plugins.push(
|
|
13131
|
+
function addPlugin(plugin23) {
|
|
13132
|
+
upgradePluginAPI(plugin23);
|
|
13133
|
+
plugins.push(plugin23);
|
|
13097
13134
|
}
|
|
13098
|
-
function removePlugin(
|
|
13099
|
-
const index = plugins.indexOf(
|
|
13135
|
+
function removePlugin(plugin23) {
|
|
13136
|
+
const index = plugins.indexOf(plugin23);
|
|
13100
13137
|
if (index !== -1) {
|
|
13101
13138
|
plugins.splice(index, 1);
|
|
13102
13139
|
}
|
|
13103
13140
|
}
|
|
13104
13141
|
function fire(event, args) {
|
|
13105
13142
|
const cb = event;
|
|
13106
|
-
plugins.forEach(function(
|
|
13107
|
-
if (
|
|
13108
|
-
|
|
13143
|
+
plugins.forEach(function(plugin23) {
|
|
13144
|
+
if (plugin23[cb]) {
|
|
13145
|
+
plugin23[cb](args);
|
|
13109
13146
|
}
|
|
13110
13147
|
});
|
|
13111
13148
|
}
|
|
@@ -64733,8 +64770,8 @@ class Settings {
|
|
|
64733
64770
|
}
|
|
64734
64771
|
}
|
|
64735
64772
|
class Style {
|
|
64736
|
-
constructor(
|
|
64737
|
-
this.id =
|
|
64773
|
+
constructor(id30, size, cramped) {
|
|
64774
|
+
this.id = id30;
|
|
64738
64775
|
this.size = size;
|
|
64739
64776
|
this.cramped = cramped;
|
|
64740
64777
|
}
|
|
@@ -65062,6 +65099,44 @@ var tallDelim = function tallDelim2(label, midHeight) {
|
|
|
65062
65099
|
throw new Error("Unknown stretchy delimiter.");
|
|
65063
65100
|
}
|
|
65064
65101
|
};
|
|
65102
|
+
class DocumentFragment {
|
|
65103
|
+
// Never used; needed for satisfying interface.
|
|
65104
|
+
constructor(children2) {
|
|
65105
|
+
this.children = children2;
|
|
65106
|
+
this.classes = [];
|
|
65107
|
+
this.height = 0;
|
|
65108
|
+
this.depth = 0;
|
|
65109
|
+
this.maxFontSize = 0;
|
|
65110
|
+
this.style = {};
|
|
65111
|
+
}
|
|
65112
|
+
hasClass(className) {
|
|
65113
|
+
return this.classes.includes(className);
|
|
65114
|
+
}
|
|
65115
|
+
/** Convert the fragment into a node. */
|
|
65116
|
+
toNode() {
|
|
65117
|
+
var frag = document.createDocumentFragment();
|
|
65118
|
+
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
65119
|
+
frag.appendChild(this.children[i2].toNode());
|
|
65120
|
+
}
|
|
65121
|
+
return frag;
|
|
65122
|
+
}
|
|
65123
|
+
/** Convert the fragment into HTML markup. */
|
|
65124
|
+
toMarkup() {
|
|
65125
|
+
var markup = "";
|
|
65126
|
+
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
65127
|
+
markup += this.children[i2].toMarkup();
|
|
65128
|
+
}
|
|
65129
|
+
return markup;
|
|
65130
|
+
}
|
|
65131
|
+
/**
|
|
65132
|
+
* Converts the math node into a string, similar to innerText. Applies to
|
|
65133
|
+
* MathDomNode's only.
|
|
65134
|
+
*/
|
|
65135
|
+
toText() {
|
|
65136
|
+
var toText = (child) => child.toText();
|
|
65137
|
+
return this.children.map(toText).join("");
|
|
65138
|
+
}
|
|
65139
|
+
}
|
|
65065
65140
|
var ptPerUnit = {
|
|
65066
65141
|
// https://en.wikibooks.org/wiki/LaTeX/Lengths and
|
|
65067
65142
|
// https://tex.stackexchange.com/a/8263
|
|
@@ -65445,6 +65520,7 @@ function assertSpan(group) {
|
|
|
65445
65520
|
throw new Error("Expected span<HtmlDomNode> but got " + String(group) + ".");
|
|
65446
65521
|
}
|
|
65447
65522
|
}
|
|
65523
|
+
var hasHtmlDomChildren = (node2) => node2 instanceof Span || node2 instanceof Anchor || node2 instanceof DocumentFragment;
|
|
65448
65524
|
var fontMetricsData = {
|
|
65449
65525
|
"AMS-Regular": {
|
|
65450
65526
|
"32": [0, 0, 0, 0, 0.25],
|
|
@@ -68552,44 +68628,6 @@ var wideCharacterFont = (wideChar2, mode) => {
|
|
|
68552
68628
|
throw new ParseError("Unsupported character: " + wideChar2);
|
|
68553
68629
|
}
|
|
68554
68630
|
};
|
|
68555
|
-
class DocumentFragment {
|
|
68556
|
-
// Never used; needed for satisfying interface.
|
|
68557
|
-
constructor(children2) {
|
|
68558
|
-
this.children = children2;
|
|
68559
|
-
this.classes = [];
|
|
68560
|
-
this.height = 0;
|
|
68561
|
-
this.depth = 0;
|
|
68562
|
-
this.maxFontSize = 0;
|
|
68563
|
-
this.style = {};
|
|
68564
|
-
}
|
|
68565
|
-
hasClass(className) {
|
|
68566
|
-
return this.classes.includes(className);
|
|
68567
|
-
}
|
|
68568
|
-
/** Convert the fragment into a node. */
|
|
68569
|
-
toNode() {
|
|
68570
|
-
var frag = document.createDocumentFragment();
|
|
68571
|
-
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
68572
|
-
frag.appendChild(this.children[i2].toNode());
|
|
68573
|
-
}
|
|
68574
|
-
return frag;
|
|
68575
|
-
}
|
|
68576
|
-
/** Convert the fragment into HTML markup. */
|
|
68577
|
-
toMarkup() {
|
|
68578
|
-
var markup = "";
|
|
68579
|
-
for (var i2 = 0; i2 < this.children.length; i2++) {
|
|
68580
|
-
markup += this.children[i2].toMarkup();
|
|
68581
|
-
}
|
|
68582
|
-
return markup;
|
|
68583
|
-
}
|
|
68584
|
-
/**
|
|
68585
|
-
* Converts the math node into a string, similar to innerText. Applies to
|
|
68586
|
-
* MathDomNode's only.
|
|
68587
|
-
*/
|
|
68588
|
-
toText() {
|
|
68589
|
-
var toText = (child) => child.toText();
|
|
68590
|
-
return this.children.map(toText).join("");
|
|
68591
|
-
}
|
|
68592
|
-
}
|
|
68593
68631
|
var lookupSymbol = function lookupSymbol2(value, fontName, mode) {
|
|
68594
68632
|
if (symbols[mode][value]) {
|
|
68595
68633
|
var replacement = symbols[mode][value].replace;
|
|
@@ -70290,6 +70328,14 @@ function checkSymbolNodeType(node2) {
|
|
|
70290
70328
|
}
|
|
70291
70329
|
return null;
|
|
70292
70330
|
}
|
|
70331
|
+
var getBaseSymbol = (group) => {
|
|
70332
|
+
if (group instanceof SymbolNode) {
|
|
70333
|
+
return group;
|
|
70334
|
+
}
|
|
70335
|
+
if (hasHtmlDomChildren(group) && group.children.length === 1) {
|
|
70336
|
+
return getBaseSymbol(group.children[0]);
|
|
70337
|
+
}
|
|
70338
|
+
};
|
|
70293
70339
|
var htmlBuilder$a = (grp, options) => {
|
|
70294
70340
|
var base2;
|
|
70295
70341
|
var group;
|
|
@@ -70308,9 +70354,8 @@ var htmlBuilder$a = (grp, options) => {
|
|
|
70308
70354
|
var mustShift = group.isShifty && isCharacterBox(base2);
|
|
70309
70355
|
var skew2 = 0;
|
|
70310
70356
|
if (mustShift) {
|
|
70311
|
-
var
|
|
70312
|
-
|
|
70313
|
-
skew2 = assertSymbolDomNode(baseGroup).skew;
|
|
70357
|
+
var _getBaseSymbol$skew, _getBaseSymbol;
|
|
70358
|
+
skew2 = (_getBaseSymbol$skew = (_getBaseSymbol = getBaseSymbol(body)) == null ? void 0 : _getBaseSymbol.skew) != null ? _getBaseSymbol$skew : 0;
|
|
70314
70359
|
}
|
|
70315
70360
|
var accentBelow = group.label === "\\c";
|
|
70316
70361
|
var clearance = accentBelow ? body.height + body.depth : Math.min(body.height, options.fontMetrics().xHeight);
|
|
@@ -78607,7 +78652,7 @@ var renderToHTMLTree = function renderToHTMLTree2(expression, options) {
|
|
|
78607
78652
|
return renderError(error2, expression, settings);
|
|
78608
78653
|
}
|
|
78609
78654
|
};
|
|
78610
|
-
var version = "0.16.
|
|
78655
|
+
var version = "0.16.38";
|
|
78611
78656
|
var __domTree = {
|
|
78612
78657
|
Span,
|
|
78613
78658
|
Anchor,
|
|
@@ -78837,147 +78882,6 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
|
78837
78882
|
return baseModule().catch(handlePreloadError);
|
|
78838
78883
|
});
|
|
78839
78884
|
};
|
|
78840
|
-
var package_default = {
|
|
78841
|
-
name: "mermaid",
|
|
78842
|
-
version: "11.12.3",
|
|
78843
|
-
description: "Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",
|
|
78844
|
-
type: "module",
|
|
78845
|
-
module: "./dist/mermaid.core.mjs",
|
|
78846
|
-
types: "./dist/mermaid.d.ts",
|
|
78847
|
-
exports: {
|
|
78848
|
-
".": {
|
|
78849
|
-
types: "./dist/mermaid.d.ts",
|
|
78850
|
-
import: "./dist/mermaid.core.mjs",
|
|
78851
|
-
default: "./dist/mermaid.core.mjs"
|
|
78852
|
-
},
|
|
78853
|
-
"./*": "./*"
|
|
78854
|
-
},
|
|
78855
|
-
keywords: [
|
|
78856
|
-
"diagram",
|
|
78857
|
-
"markdown",
|
|
78858
|
-
"flowchart",
|
|
78859
|
-
"sequence diagram",
|
|
78860
|
-
"gantt",
|
|
78861
|
-
"class diagram",
|
|
78862
|
-
"git graph",
|
|
78863
|
-
"mindmap",
|
|
78864
|
-
"packet diagram",
|
|
78865
|
-
"c4 diagram",
|
|
78866
|
-
"er diagram",
|
|
78867
|
-
"pie chart",
|
|
78868
|
-
"pie diagram",
|
|
78869
|
-
"quadrant chart",
|
|
78870
|
-
"requirement diagram",
|
|
78871
|
-
"graph"
|
|
78872
|
-
],
|
|
78873
|
-
scripts: {
|
|
78874
|
-
clean: "rimraf dist",
|
|
78875
|
-
dev: "pnpm -w dev",
|
|
78876
|
-
"docs:code": "typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup",
|
|
78877
|
-
"docs:build": "rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts",
|
|
78878
|
-
"docs:verify": "pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify",
|
|
78879
|
-
"docs:pre:vitepress": "pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts",
|
|
78880
|
-
"docs:build:vitepress": "pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing",
|
|
78881
|
-
"docs:dev": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',
|
|
78882
|
-
"docs:dev:docker": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',
|
|
78883
|
-
"docs:serve": "pnpm docs:build:vitepress && vitepress serve src/vitepress",
|
|
78884
|
-
"docs:spellcheck": 'cspell "src/docs/**/*.md"',
|
|
78885
|
-
"docs:release-version": "tsx scripts/update-release-version.mts",
|
|
78886
|
-
"docs:verify-version": "tsx scripts/update-release-version.mts --verify",
|
|
78887
|
-
"types:build-config": "tsx scripts/create-types-from-json-schema.mts",
|
|
78888
|
-
"types:verify-config": "tsx scripts/create-types-from-json-schema.mts --verify",
|
|
78889
|
-
checkCircle: "npx madge --circular ./src",
|
|
78890
|
-
prepublishOnly: "pnpm docs:verify-version"
|
|
78891
|
-
},
|
|
78892
|
-
repository: {
|
|
78893
|
-
type: "git",
|
|
78894
|
-
url: "https://github.com/mermaid-js/mermaid"
|
|
78895
|
-
},
|
|
78896
|
-
author: "Knut Sveidqvist",
|
|
78897
|
-
license: "MIT",
|
|
78898
|
-
standard: {
|
|
78899
|
-
ignore: [
|
|
78900
|
-
"**/parser/*.js",
|
|
78901
|
-
"dist/**/*.js",
|
|
78902
|
-
"cypress/**/*.js"
|
|
78903
|
-
],
|
|
78904
|
-
globals: [
|
|
78905
|
-
"page"
|
|
78906
|
-
]
|
|
78907
|
-
},
|
|
78908
|
-
dependencies: {
|
|
78909
|
-
"@braintree/sanitize-url": "^7.1.1",
|
|
78910
|
-
"@iconify/utils": "^3.0.1",
|
|
78911
|
-
"@mermaid-js/parser": "workspace:^",
|
|
78912
|
-
"@types/d3": "^7.4.3",
|
|
78913
|
-
cytoscape: "^3.29.3",
|
|
78914
|
-
"cytoscape-cose-bilkent": "^4.1.0",
|
|
78915
|
-
"cytoscape-fcose": "^2.2.0",
|
|
78916
|
-
d3: "^7.9.0",
|
|
78917
|
-
"d3-sankey": "^0.12.3",
|
|
78918
|
-
"dagre-d3-es": "7.0.13",
|
|
78919
|
-
dayjs: "^1.11.18",
|
|
78920
|
-
dompurify: "^3.2.5",
|
|
78921
|
-
katex: "^0.16.22",
|
|
78922
|
-
khroma: "^2.1.0",
|
|
78923
|
-
"lodash-es": "^4.17.23",
|
|
78924
|
-
marked: "^16.2.1",
|
|
78925
|
-
roughjs: "^4.6.6",
|
|
78926
|
-
stylis: "^4.3.6",
|
|
78927
|
-
"ts-dedent": "^2.2.0",
|
|
78928
|
-
uuid: "^11.1.0"
|
|
78929
|
-
},
|
|
78930
|
-
devDependencies: {
|
|
78931
|
-
"@adobe/jsonschema2md": "^8.0.5",
|
|
78932
|
-
"@iconify/types": "^2.0.0",
|
|
78933
|
-
"@types/cytoscape": "^3.21.9",
|
|
78934
|
-
"@types/cytoscape-fcose": "^2.2.4",
|
|
78935
|
-
"@types/d3-sankey": "^0.12.4",
|
|
78936
|
-
"@types/d3-scale": "^4.0.9",
|
|
78937
|
-
"@types/d3-scale-chromatic": "^3.1.0",
|
|
78938
|
-
"@types/d3-selection": "^3.0.11",
|
|
78939
|
-
"@types/d3-shape": "^3.1.7",
|
|
78940
|
-
"@types/jsdom": "^21.1.7",
|
|
78941
|
-
"@types/katex": "^0.16.7",
|
|
78942
|
-
"@types/lodash-es": "^4.17.12",
|
|
78943
|
-
"@types/micromatch": "^4.0.9",
|
|
78944
|
-
"@types/stylis": "^4.2.7",
|
|
78945
|
-
"@types/uuid": "^10.0.0",
|
|
78946
|
-
ajv: "^8.17.1",
|
|
78947
|
-
canvas: "^3.1.2",
|
|
78948
|
-
chokidar: "3.6.0",
|
|
78949
|
-
concurrently: "^9.1.2",
|
|
78950
|
-
"csstree-validator": "^4.0.1",
|
|
78951
|
-
globby: "^14.1.0",
|
|
78952
|
-
jison: "^0.4.18",
|
|
78953
|
-
"js-base64": "^3.7.8",
|
|
78954
|
-
jsdom: "^26.1.0",
|
|
78955
|
-
"json-schema-to-typescript": "^15.0.4",
|
|
78956
|
-
micromatch: "^4.0.8",
|
|
78957
|
-
"path-browserify": "^1.0.1",
|
|
78958
|
-
prettier: "^3.5.3",
|
|
78959
|
-
remark: "^15.0.1",
|
|
78960
|
-
"remark-frontmatter": "^5.0.0",
|
|
78961
|
-
"remark-gfm": "^4.0.1",
|
|
78962
|
-
rimraf: "^6.0.1",
|
|
78963
|
-
"start-server-and-test": "^2.0.13",
|
|
78964
|
-
"type-fest": "^4.35.0",
|
|
78965
|
-
typedoc: "^0.28.12",
|
|
78966
|
-
"typedoc-plugin-markdown": "^4.8.1",
|
|
78967
|
-
typescript: "~5.7.3",
|
|
78968
|
-
"unist-util-flatmap": "^1.0.0",
|
|
78969
|
-
"unist-util-visit": "^5.0.0",
|
|
78970
|
-
vitepress: "^1.6.4",
|
|
78971
|
-
"vitepress-plugin-search": "1.0.4-alpha.22"
|
|
78972
|
-
},
|
|
78973
|
-
files: [
|
|
78974
|
-
"dist/",
|
|
78975
|
-
"README.md"
|
|
78976
|
-
],
|
|
78977
|
-
publishConfig: {
|
|
78978
|
-
access: "public"
|
|
78979
|
-
}
|
|
78980
|
-
};
|
|
78981
78885
|
var dayjs_min$1 = { exports: {} };
|
|
78982
78886
|
var dayjs_min = dayjs_min$1.exports;
|
|
78983
78887
|
var hasRequiredDayjs_min;
|
|
@@ -79998,8 +79902,8 @@ var UnknownDiagramError = (_a2 = class extends Error {
|
|
|
79998
79902
|
var detectors = {};
|
|
79999
79903
|
var detectType$1 = /* @__PURE__ */ __name(function(text2, config2) {
|
|
80000
79904
|
text2 = text2.replace(frontMatterRegex, "").replace(directiveRegex, "").replace(anyCommentRegex, "\n");
|
|
80001
|
-
for (const [key, { detector:
|
|
80002
|
-
const diagram2 =
|
|
79905
|
+
for (const [key, { detector: detector30 }] of Object.entries(detectors)) {
|
|
79906
|
+
const diagram2 = detector30(text2, config2);
|
|
80003
79907
|
if (diagram2) {
|
|
80004
79908
|
return key;
|
|
80005
79909
|
}
|
|
@@ -80009,16 +79913,16 @@ var detectType$1 = /* @__PURE__ */ __name(function(text2, config2) {
|
|
|
80009
79913
|
);
|
|
80010
79914
|
}, "detectType");
|
|
80011
79915
|
var registerLazyLoadedDiagrams = /* @__PURE__ */ __name((...diagrams2) => {
|
|
80012
|
-
for (const { id:
|
|
80013
|
-
addDetector(
|
|
79916
|
+
for (const { id: id30, detector: detector30, loader: loader30 } of diagrams2) {
|
|
79917
|
+
addDetector(id30, detector30, loader30);
|
|
80014
79918
|
}
|
|
80015
79919
|
}, "registerLazyLoadedDiagrams");
|
|
80016
|
-
var addDetector = /* @__PURE__ */ __name((key,
|
|
79920
|
+
var addDetector = /* @__PURE__ */ __name((key, detector30, loader30) => {
|
|
80017
79921
|
if (detectors[key]) {
|
|
80018
79922
|
log.warn(`Detector with key ${key} already exists. Overwriting.`);
|
|
80019
79923
|
}
|
|
80020
|
-
detectors[key] = { detector:
|
|
80021
|
-
log.debug(`Detector with key ${key} added${
|
|
79924
|
+
detectors[key] = { detector: detector30, loader: loader30 };
|
|
79925
|
+
log.debug(`Detector with key ${key} added${loader30 ? " with loader" : ""}`);
|
|
80022
79926
|
}, "addDetector");
|
|
80023
79927
|
var getDiagramLoader = /* @__PURE__ */ __name((key) => {
|
|
80024
79928
|
return detectors[key].loader;
|
|
@@ -80045,7 +79949,7 @@ var assignWithDepth = /* @__PURE__ */ __name((dst, src, { depth = 2, clobber = f
|
|
|
80045
79949
|
}
|
|
80046
79950
|
if (src !== void 0 && typeof dst === "object" && typeof src === "object") {
|
|
80047
79951
|
Object.keys(src).forEach((key) => {
|
|
80048
|
-
if (typeof src[key] === "object" && (dst[key] === void 0 || typeof dst[key] === "object")) {
|
|
79952
|
+
if (typeof src[key] === "object" && src[key] !== null && (dst[key] === void 0 || typeof dst[key] === "object")) {
|
|
80049
79953
|
if (dst[key] === void 0) {
|
|
80050
79954
|
dst[key] = Array.isArray(src[key]) ? [] : {};
|
|
80051
79955
|
}
|
|
@@ -80226,6 +80130,16 @@ var Theme = (_b = class {
|
|
|
80226
80130
|
this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
|
|
80227
80131
|
this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
|
|
80228
80132
|
this.pieOpacity = this.pieOpacity || "0.7";
|
|
80133
|
+
this.venn1 = this.venn1 ?? adjust(this.primaryColor, { l: -30 });
|
|
80134
|
+
this.venn2 = this.venn2 ?? adjust(this.secondaryColor, { l: -30 });
|
|
80135
|
+
this.venn3 = this.venn3 ?? adjust(this.tertiaryColor, { l: -30 });
|
|
80136
|
+
this.venn4 = this.venn4 ?? adjust(this.primaryColor, { h: 60, l: -30 });
|
|
80137
|
+
this.venn5 = this.venn5 ?? adjust(this.primaryColor, { h: -60, l: -30 });
|
|
80138
|
+
this.venn6 = this.venn6 ?? adjust(this.secondaryColor, { h: 60, l: -30 });
|
|
80139
|
+
this.venn7 = this.venn7 ?? adjust(this.primaryColor, { h: 120, l: -30 });
|
|
80140
|
+
this.venn8 = this.venn8 ?? adjust(this.secondaryColor, { h: 120, l: -30 });
|
|
80141
|
+
this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
|
|
80142
|
+
this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
|
|
80229
80143
|
this.radar = {
|
|
80230
80144
|
axisColor: this.radar?.axisColor || this.lineColor,
|
|
80231
80145
|
axisStrokeWidth: this.radar?.axisStrokeWidth || 2,
|
|
@@ -80467,7 +80381,7 @@ var Theme2 = (_c = class {
|
|
|
80467
80381
|
this.taskTextOutsideColor = this.taskTextLightColor;
|
|
80468
80382
|
this.gridColor = this.mainContrastColor;
|
|
80469
80383
|
this.doneTaskBkgColor = this.mainContrastColor;
|
|
80470
|
-
this.taskTextDarkColor = this.
|
|
80384
|
+
this.taskTextDarkColor = invert(this.doneTaskBkgColor);
|
|
80471
80385
|
this.archEdgeColor = this.lineColor;
|
|
80472
80386
|
this.archEdgeArrowColor = this.lineColor;
|
|
80473
80387
|
this.transitionColor = this.transitionColor || this.lineColor;
|
|
@@ -80533,16 +80447,21 @@ var Theme2 = (_c = class {
|
|
|
80533
80447
|
this["pie" + i2] = this["cScale" + i2];
|
|
80534
80448
|
}
|
|
80535
80449
|
this.pieTitleTextSize = this.pieTitleTextSize || "25px";
|
|
80536
|
-
this.pieTitleTextColor = this.pieTitleTextColor || this.
|
|
80450
|
+
this.pieTitleTextColor = this.pieTitleTextColor || this.mainContrastColor;
|
|
80537
80451
|
this.pieSectionTextSize = this.pieSectionTextSize || "17px";
|
|
80538
80452
|
this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;
|
|
80539
80453
|
this.pieLegendTextSize = this.pieLegendTextSize || "17px";
|
|
80540
|
-
this.pieLegendTextColor = this.pieLegendTextColor || this.
|
|
80454
|
+
this.pieLegendTextColor = this.pieLegendTextColor || this.mainContrastColor;
|
|
80541
80455
|
this.pieStrokeColor = this.pieStrokeColor || "black";
|
|
80542
80456
|
this.pieStrokeWidth = this.pieStrokeWidth || "2px";
|
|
80543
80457
|
this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
|
|
80544
80458
|
this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
|
|
80545
80459
|
this.pieOpacity = this.pieOpacity || "0.7";
|
|
80460
|
+
for (let i2 = 0; i2 < 8; i2++) {
|
|
80461
|
+
this["venn" + (i2 + 1)] = this["venn" + (i2 + 1)] ?? lighten(this["cScale" + i2], 30);
|
|
80462
|
+
}
|
|
80463
|
+
this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
|
|
80464
|
+
this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
|
|
80546
80465
|
this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
|
|
80547
80466
|
this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
|
|
80548
80467
|
this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
|
|
@@ -80861,6 +80780,16 @@ var Theme3 = (_d = class {
|
|
|
80861
80780
|
this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
|
|
80862
80781
|
this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
|
|
80863
80782
|
this.pieOpacity = this.pieOpacity || "0.7";
|
|
80783
|
+
this.venn1 = this.venn1 ?? adjust(this.primaryColor, { l: -30 });
|
|
80784
|
+
this.venn2 = this.venn2 ?? adjust(this.secondaryColor, { l: -30 });
|
|
80785
|
+
this.venn3 = this.venn3 ?? adjust(this.tertiaryColor, { l: -40 });
|
|
80786
|
+
this.venn4 = this.venn4 ?? adjust(this.primaryColor, { h: 60, l: -30 });
|
|
80787
|
+
this.venn5 = this.venn5 ?? adjust(this.primaryColor, { h: -60, l: -30 });
|
|
80788
|
+
this.venn6 = this.venn6 ?? adjust(this.secondaryColor, { h: 60, l: -30 });
|
|
80789
|
+
this.venn7 = this.venn7 ?? adjust(this.primaryColor, { h: 120, l: -30 });
|
|
80790
|
+
this.venn8 = this.venn8 ?? adjust(this.secondaryColor, { h: 120, l: -30 });
|
|
80791
|
+
this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
|
|
80792
|
+
this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
|
|
80864
80793
|
this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
|
|
80865
80794
|
this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
|
|
80866
80795
|
this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
|
|
@@ -81162,6 +81091,16 @@ var Theme4 = (_e2 = class {
|
|
|
81162
81091
|
this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
|
|
81163
81092
|
this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
|
|
81164
81093
|
this.pieOpacity = this.pieOpacity || "0.7";
|
|
81094
|
+
this.venn1 = this.venn1 ?? adjust(this.primaryColor, { l: -30 });
|
|
81095
|
+
this.venn2 = this.venn2 ?? adjust(this.secondaryColor, { l: -30 });
|
|
81096
|
+
this.venn3 = this.venn3 ?? adjust(this.tertiaryColor, { l: -30 });
|
|
81097
|
+
this.venn4 = this.venn4 ?? adjust(this.primaryColor, { h: 60, l: -30 });
|
|
81098
|
+
this.venn5 = this.venn5 ?? adjust(this.primaryColor, { h: -60, l: -30 });
|
|
81099
|
+
this.venn6 = this.venn6 ?? adjust(this.secondaryColor, { h: 60, l: -30 });
|
|
81100
|
+
this.venn7 = this.venn7 ?? adjust(this.primaryColor, { h: 120, l: -30 });
|
|
81101
|
+
this.venn8 = this.venn8 ?? adjust(this.secondaryColor, { h: 120, l: -30 });
|
|
81102
|
+
this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
|
|
81103
|
+
this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
|
|
81165
81104
|
this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
|
|
81166
81105
|
this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
|
|
81167
81106
|
this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
|
|
@@ -81483,6 +81422,11 @@ var Theme5 = (_f = class {
|
|
|
81483
81422
|
this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
|
|
81484
81423
|
this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
|
|
81485
81424
|
this.pieOpacity = this.pieOpacity || "0.7";
|
|
81425
|
+
for (let i2 = 0; i2 < 8; i2++) {
|
|
81426
|
+
this["venn" + (i2 + 1)] = this["venn" + (i2 + 1)] ?? this["cScale" + i2];
|
|
81427
|
+
}
|
|
81428
|
+
this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
|
|
81429
|
+
this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
|
|
81486
81430
|
this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
|
|
81487
81431
|
this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
|
|
81488
81432
|
this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
|
|
@@ -81611,7 +81555,7 @@ var config_schema_default = {
|
|
|
81611
81555
|
"bottom": 0
|
|
81612
81556
|
},
|
|
81613
81557
|
"diagramPadding": 8,
|
|
81614
|
-
"htmlLabels":
|
|
81558
|
+
"htmlLabels": null,
|
|
81615
81559
|
"nodeSpacing": 50,
|
|
81616
81560
|
"rankSpacing": 50,
|
|
81617
81561
|
"curve": "basis",
|
|
@@ -81842,6 +81786,10 @@ var config_schema_default = {
|
|
|
81842
81786
|
"maxNodeWidth": 200,
|
|
81843
81787
|
"layoutAlgorithm": "cose-bilkent"
|
|
81844
81788
|
},
|
|
81789
|
+
"ishikawa": {
|
|
81790
|
+
"useMaxWidth": true,
|
|
81791
|
+
"diagramPadding": 20
|
|
81792
|
+
},
|
|
81845
81793
|
"kanban": {
|
|
81846
81794
|
"useMaxWidth": true,
|
|
81847
81795
|
"padding": 8,
|
|
@@ -82069,6 +82017,13 @@ var config_schema_default = {
|
|
|
82069
82017
|
"axisLabelFactor": 1.05,
|
|
82070
82018
|
"curveTension": 0.17
|
|
82071
82019
|
},
|
|
82020
|
+
"venn": {
|
|
82021
|
+
"useMaxWidth": true,
|
|
82022
|
+
"width": 800,
|
|
82023
|
+
"height": 450,
|
|
82024
|
+
"padding": 8,
|
|
82025
|
+
"useDebugLayout": false
|
|
82026
|
+
},
|
|
82072
82027
|
"theme": "default",
|
|
82073
82028
|
"look": "classic",
|
|
82074
82029
|
"handDrawnSeed": 0,
|
|
@@ -82325,6 +82280,9 @@ var config = {
|
|
|
82325
82280
|
radar: {
|
|
82326
82281
|
...config_schema_default.radar
|
|
82327
82282
|
},
|
|
82283
|
+
ishikawa: {
|
|
82284
|
+
...config_schema_default.ishikawa
|
|
82285
|
+
},
|
|
82328
82286
|
treemap: {
|
|
82329
82287
|
useMaxWidth: true,
|
|
82330
82288
|
padding: 10,
|
|
@@ -82336,6 +82294,9 @@ var config = {
|
|
|
82336
82294
|
valueFontSize: 12,
|
|
82337
82295
|
labelFontSize: 14,
|
|
82338
82296
|
valueFormat: ","
|
|
82297
|
+
},
|
|
82298
|
+
venn: {
|
|
82299
|
+
...config_schema_default.venn
|
|
82339
82300
|
}
|
|
82340
82301
|
};
|
|
82341
82302
|
var keyify = /* @__PURE__ */ __name((obj, prefix = "") => Object.keys(obj).reduce((res, el) => {
|
|
@@ -82406,6 +82367,7 @@ var sanitizeCss = /* @__PURE__ */ __name((str2) => {
|
|
|
82406
82367
|
return str2;
|
|
82407
82368
|
}, "sanitizeCss");
|
|
82408
82369
|
var defaultConfig = Object.freeze(defaultConfig_default);
|
|
82370
|
+
var evaluate = /* @__PURE__ */ __name((val) => val === false || ["false", "null", "0"].includes(String(val).trim().toLowerCase()) ? false : true, "evaluate");
|
|
82409
82371
|
var siteConfig = assignWithDepth_default({}, defaultConfig);
|
|
82410
82372
|
var configFromInitialize;
|
|
82411
82373
|
var directives = [];
|
|
@@ -82500,7 +82462,8 @@ var reset = /* @__PURE__ */ __name((config2 = siteConfig) => {
|
|
|
82500
82462
|
updateCurrentConfig(config2, directives);
|
|
82501
82463
|
}, "reset");
|
|
82502
82464
|
var ConfigWarning = {
|
|
82503
|
-
LAZY_LOAD_DEPRECATED: "The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."
|
|
82465
|
+
LAZY_LOAD_DEPRECATED: "The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",
|
|
82466
|
+
FLOWCHART_HTML_LABELS_DEPRECATED: "flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."
|
|
82504
82467
|
};
|
|
82505
82468
|
var issuedWarnings = {};
|
|
82506
82469
|
var issueWarning = /* @__PURE__ */ __name((warning) => {
|
|
@@ -82528,6 +82491,12 @@ var getUserDefinedConfig = /* @__PURE__ */ __name(() => {
|
|
|
82528
82491
|
}
|
|
82529
82492
|
return userConfig;
|
|
82530
82493
|
}, "getUserDefinedConfig");
|
|
82494
|
+
var getEffectiveHtmlLabels = /* @__PURE__ */ __name((config2) => {
|
|
82495
|
+
if (config2.flowchart?.htmlLabels != void 0) {
|
|
82496
|
+
issueWarning("FLOWCHART_HTML_LABELS_DEPRECATED");
|
|
82497
|
+
}
|
|
82498
|
+
return evaluate(config2.htmlLabels ?? config2.flowchart?.htmlLabels ?? true);
|
|
82499
|
+
}, "getEffectiveHtmlLabels");
|
|
82531
82500
|
var lineBreakRegex = /<br\s*\/?>/gi;
|
|
82532
82501
|
var getRows = /* @__PURE__ */ __name((s2) => {
|
|
82533
82502
|
if (!s2) {
|
|
@@ -82569,9 +82538,9 @@ var removeScript = /* @__PURE__ */ __name((txt) => {
|
|
|
82569
82538
|
return sanitizedText;
|
|
82570
82539
|
}, "removeScript");
|
|
82571
82540
|
var sanitizeMore = /* @__PURE__ */ __name((text2, config2) => {
|
|
82572
|
-
if (config2
|
|
82541
|
+
if (getEffectiveHtmlLabels(config2)) {
|
|
82573
82542
|
const level = config2.securityLevel;
|
|
82574
|
-
if (level === "antiscript" || level === "strict") {
|
|
82543
|
+
if (level === "antiscript" || level === "strict" || level === "sandbox") {
|
|
82575
82544
|
text2 = removeScript(text2);
|
|
82576
82545
|
} else if (level !== "loose") {
|
|
82577
82546
|
text2 = breakToPlaceholder(text2);
|
|
@@ -82621,7 +82590,6 @@ var getUrl = /* @__PURE__ */ __name((useAbsolute) => {
|
|
|
82621
82590
|
}
|
|
82622
82591
|
return url;
|
|
82623
82592
|
}, "getUrl");
|
|
82624
|
-
var evaluate = /* @__PURE__ */ __name((val) => val === false || ["false", "null", "0"].includes(String(val).trim().toLowerCase()) ? false : true, "evaluate");
|
|
82625
82593
|
var getMax = /* @__PURE__ */ __name(function(...values) {
|
|
82626
82594
|
const newValues = values.filter((value) => {
|
|
82627
82595
|
return !isNaN(value);
|
|
@@ -82910,15 +82878,15 @@ var getCommonDb = /* @__PURE__ */ __name(() => {
|
|
|
82910
82878
|
return commonDb_exports;
|
|
82911
82879
|
}, "getCommonDb");
|
|
82912
82880
|
var diagrams = {};
|
|
82913
|
-
var registerDiagram = /* @__PURE__ */ __name((
|
|
82914
|
-
if (diagrams[
|
|
82915
|
-
log2.warn(`Diagram with id ${
|
|
82881
|
+
var registerDiagram = /* @__PURE__ */ __name((id30, diagram2, detector30) => {
|
|
82882
|
+
if (diagrams[id30]) {
|
|
82883
|
+
log2.warn(`Diagram with id ${id30} already registered. Overwriting.`);
|
|
82916
82884
|
}
|
|
82917
|
-
diagrams[
|
|
82918
|
-
if (
|
|
82919
|
-
addDetector(
|
|
82885
|
+
diagrams[id30] = diagram2;
|
|
82886
|
+
if (detector30) {
|
|
82887
|
+
addDetector(id30, detector30);
|
|
82920
82888
|
}
|
|
82921
|
-
addStylesForDiagram(
|
|
82889
|
+
addStylesForDiagram(id30, diagram2.styles);
|
|
82922
82890
|
diagram2.injectUtils?.(
|
|
82923
82891
|
log2,
|
|
82924
82892
|
setLogLevel2,
|
|
@@ -84319,11 +84287,11 @@ var STARTED = 3;
|
|
|
84319
84287
|
var RUNNING = 4;
|
|
84320
84288
|
var ENDING = 5;
|
|
84321
84289
|
var ENDED = 6;
|
|
84322
|
-
function schedule(node2, name,
|
|
84290
|
+
function schedule(node2, name, id30, index, group, timing) {
|
|
84323
84291
|
var schedules = node2.__transition;
|
|
84324
84292
|
if (!schedules) node2.__transition = {};
|
|
84325
|
-
else if (
|
|
84326
|
-
create(node2,
|
|
84293
|
+
else if (id30 in schedules) return;
|
|
84294
|
+
create(node2, id30, {
|
|
84327
84295
|
name,
|
|
84328
84296
|
index,
|
|
84329
84297
|
// For context during callback.
|
|
@@ -84339,24 +84307,24 @@ function schedule(node2, name, id28, index, group, timing) {
|
|
|
84339
84307
|
state: CREATED
|
|
84340
84308
|
});
|
|
84341
84309
|
}
|
|
84342
|
-
function init$1(node2,
|
|
84343
|
-
var schedule2 = get(node2,
|
|
84310
|
+
function init$1(node2, id30) {
|
|
84311
|
+
var schedule2 = get(node2, id30);
|
|
84344
84312
|
if (schedule2.state > CREATED) throw new Error("too late; already scheduled");
|
|
84345
84313
|
return schedule2;
|
|
84346
84314
|
}
|
|
84347
|
-
function set$1(node2,
|
|
84348
|
-
var schedule2 = get(node2,
|
|
84315
|
+
function set$1(node2, id30) {
|
|
84316
|
+
var schedule2 = get(node2, id30);
|
|
84349
84317
|
if (schedule2.state > STARTED) throw new Error("too late; already running");
|
|
84350
84318
|
return schedule2;
|
|
84351
84319
|
}
|
|
84352
|
-
function get(node2,
|
|
84320
|
+
function get(node2, id30) {
|
|
84353
84321
|
var schedule2 = node2.__transition;
|
|
84354
|
-
if (!schedule2 || !(schedule2 = schedule2[
|
|
84322
|
+
if (!schedule2 || !(schedule2 = schedule2[id30])) throw new Error("transition not found");
|
|
84355
84323
|
return schedule2;
|
|
84356
84324
|
}
|
|
84357
|
-
function create(node2,
|
|
84325
|
+
function create(node2, id30, self2) {
|
|
84358
84326
|
var schedules = node2.__transition, tween;
|
|
84359
|
-
schedules[
|
|
84327
|
+
schedules[id30] = self2;
|
|
84360
84328
|
self2.timer = timer(schedule2, 0, self2.time);
|
|
84361
84329
|
function schedule2(elapsed) {
|
|
84362
84330
|
self2.state = SCHEDULED;
|
|
@@ -84375,7 +84343,7 @@ function create(node2, id28, self2) {
|
|
|
84375
84343
|
o2.timer.stop();
|
|
84376
84344
|
o2.on.call("interrupt", node2, node2.__data__, o2.index, o2.group);
|
|
84377
84345
|
delete schedules[i2];
|
|
84378
|
-
} else if (+i2 <
|
|
84346
|
+
} else if (+i2 < id30) {
|
|
84379
84347
|
o2.state = ENDED;
|
|
84380
84348
|
o2.timer.stop();
|
|
84381
84349
|
o2.on.call("cancel", node2, node2.__data__, o2.index, o2.group);
|
|
@@ -84414,7 +84382,7 @@ function create(node2, id28, self2) {
|
|
|
84414
84382
|
function stop() {
|
|
84415
84383
|
self2.state = ENDED;
|
|
84416
84384
|
self2.timer.stop();
|
|
84417
|
-
delete schedules[
|
|
84385
|
+
delete schedules[id30];
|
|
84418
84386
|
for (var i2 in schedules) return;
|
|
84419
84387
|
delete node2.__transition;
|
|
84420
84388
|
}
|
|
@@ -84441,10 +84409,10 @@ function selection_interrupt(name) {
|
|
|
84441
84409
|
interrupt(this, name);
|
|
84442
84410
|
});
|
|
84443
84411
|
}
|
|
84444
|
-
function tweenRemove(
|
|
84412
|
+
function tweenRemove(id30, name) {
|
|
84445
84413
|
var tween0, tween1;
|
|
84446
84414
|
return function() {
|
|
84447
|
-
var schedule2 = set$1(this,
|
|
84415
|
+
var schedule2 = set$1(this, id30), tween = schedule2.tween;
|
|
84448
84416
|
if (tween !== tween0) {
|
|
84449
84417
|
tween1 = tween0 = tween;
|
|
84450
84418
|
for (var i2 = 0, n2 = tween1.length; i2 < n2; ++i2) {
|
|
@@ -84458,11 +84426,11 @@ function tweenRemove(id28, name) {
|
|
|
84458
84426
|
schedule2.tween = tween1;
|
|
84459
84427
|
};
|
|
84460
84428
|
}
|
|
84461
|
-
function tweenFunction(
|
|
84429
|
+
function tweenFunction(id30, name, value) {
|
|
84462
84430
|
var tween0, tween1;
|
|
84463
84431
|
if (typeof value !== "function") throw new Error();
|
|
84464
84432
|
return function() {
|
|
84465
|
-
var schedule2 = set$1(this,
|
|
84433
|
+
var schedule2 = set$1(this, id30), tween = schedule2.tween;
|
|
84466
84434
|
if (tween !== tween0) {
|
|
84467
84435
|
tween1 = (tween0 = tween).slice();
|
|
84468
84436
|
for (var t2 = { name, value }, i2 = 0, n2 = tween1.length; i2 < n2; ++i2) {
|
|
@@ -84477,10 +84445,10 @@ function tweenFunction(id28, name, value) {
|
|
|
84477
84445
|
};
|
|
84478
84446
|
}
|
|
84479
84447
|
function transition_tween(name, value) {
|
|
84480
|
-
var
|
|
84448
|
+
var id30 = this._id;
|
|
84481
84449
|
name += "";
|
|
84482
84450
|
if (arguments.length < 2) {
|
|
84483
|
-
var tween = get(this.node(),
|
|
84451
|
+
var tween = get(this.node(), id30).tween;
|
|
84484
84452
|
for (var i2 = 0, n2 = tween.length, t2; i2 < n2; ++i2) {
|
|
84485
84453
|
if ((t2 = tween[i2]).name === name) {
|
|
84486
84454
|
return t2.value;
|
|
@@ -84488,16 +84456,16 @@ function transition_tween(name, value) {
|
|
|
84488
84456
|
}
|
|
84489
84457
|
return null;
|
|
84490
84458
|
}
|
|
84491
|
-
return this.each((value == null ? tweenRemove : tweenFunction)(
|
|
84459
|
+
return this.each((value == null ? tweenRemove : tweenFunction)(id30, name, value));
|
|
84492
84460
|
}
|
|
84493
84461
|
function tweenValue(transition, name, value) {
|
|
84494
|
-
var
|
|
84462
|
+
var id30 = transition._id;
|
|
84495
84463
|
transition.each(function() {
|
|
84496
|
-
var schedule2 = set$1(this,
|
|
84464
|
+
var schedule2 = set$1(this, id30);
|
|
84497
84465
|
(schedule2.value || (schedule2.value = {}))[name] = value.apply(this, arguments);
|
|
84498
84466
|
});
|
|
84499
84467
|
return function(node2) {
|
|
84500
|
-
return get(node2,
|
|
84468
|
+
return get(node2, id30).value[name];
|
|
84501
84469
|
};
|
|
84502
84470
|
}
|
|
84503
84471
|
function interpolate(a2, b2) {
|
|
@@ -84590,49 +84558,49 @@ function transition_attrTween(name, value) {
|
|
|
84590
84558
|
var fullname = namespace(name);
|
|
84591
84559
|
return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));
|
|
84592
84560
|
}
|
|
84593
|
-
function delayFunction(
|
|
84561
|
+
function delayFunction(id30, value) {
|
|
84594
84562
|
return function() {
|
|
84595
|
-
init$1(this,
|
|
84563
|
+
init$1(this, id30).delay = +value.apply(this, arguments);
|
|
84596
84564
|
};
|
|
84597
84565
|
}
|
|
84598
|
-
function delayConstant(
|
|
84566
|
+
function delayConstant(id30, value) {
|
|
84599
84567
|
return value = +value, function() {
|
|
84600
|
-
init$1(this,
|
|
84568
|
+
init$1(this, id30).delay = value;
|
|
84601
84569
|
};
|
|
84602
84570
|
}
|
|
84603
84571
|
function transition_delay(value) {
|
|
84604
|
-
var
|
|
84605
|
-
return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(
|
|
84572
|
+
var id30 = this._id;
|
|
84573
|
+
return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id30, value)) : get(this.node(), id30).delay;
|
|
84606
84574
|
}
|
|
84607
|
-
function durationFunction(
|
|
84575
|
+
function durationFunction(id30, value) {
|
|
84608
84576
|
return function() {
|
|
84609
|
-
set$1(this,
|
|
84577
|
+
set$1(this, id30).duration = +value.apply(this, arguments);
|
|
84610
84578
|
};
|
|
84611
84579
|
}
|
|
84612
|
-
function durationConstant(
|
|
84580
|
+
function durationConstant(id30, value) {
|
|
84613
84581
|
return value = +value, function() {
|
|
84614
|
-
set$1(this,
|
|
84582
|
+
set$1(this, id30).duration = value;
|
|
84615
84583
|
};
|
|
84616
84584
|
}
|
|
84617
84585
|
function transition_duration(value) {
|
|
84618
|
-
var
|
|
84619
|
-
return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(
|
|
84586
|
+
var id30 = this._id;
|
|
84587
|
+
return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id30, value)) : get(this.node(), id30).duration;
|
|
84620
84588
|
}
|
|
84621
|
-
function easeConstant(
|
|
84589
|
+
function easeConstant(id30, value) {
|
|
84622
84590
|
if (typeof value !== "function") throw new Error();
|
|
84623
84591
|
return function() {
|
|
84624
|
-
set$1(this,
|
|
84592
|
+
set$1(this, id30).ease = value;
|
|
84625
84593
|
};
|
|
84626
84594
|
}
|
|
84627
84595
|
function transition_ease(value) {
|
|
84628
|
-
var
|
|
84629
|
-
return arguments.length ? this.each(easeConstant(
|
|
84596
|
+
var id30 = this._id;
|
|
84597
|
+
return arguments.length ? this.each(easeConstant(id30, value)) : get(this.node(), id30).ease;
|
|
84630
84598
|
}
|
|
84631
|
-
function easeVarying(
|
|
84599
|
+
function easeVarying(id30, value) {
|
|
84632
84600
|
return function() {
|
|
84633
84601
|
var v2 = value.apply(this, arguments);
|
|
84634
84602
|
if (typeof v2 !== "function") throw new Error();
|
|
84635
|
-
set$1(this,
|
|
84603
|
+
set$1(this, id30).ease = v2;
|
|
84636
84604
|
};
|
|
84637
84605
|
}
|
|
84638
84606
|
function transition_easeVarying(value) {
|
|
@@ -84671,22 +84639,22 @@ function start(name) {
|
|
|
84671
84639
|
return !t2 || t2 === "start";
|
|
84672
84640
|
});
|
|
84673
84641
|
}
|
|
84674
|
-
function onFunction(
|
|
84642
|
+
function onFunction(id30, name, listener) {
|
|
84675
84643
|
var on0, on1, sit = start(name) ? init$1 : set$1;
|
|
84676
84644
|
return function() {
|
|
84677
|
-
var schedule2 = sit(this,
|
|
84645
|
+
var schedule2 = sit(this, id30), on = schedule2.on;
|
|
84678
84646
|
if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);
|
|
84679
84647
|
schedule2.on = on1;
|
|
84680
84648
|
};
|
|
84681
84649
|
}
|
|
84682
84650
|
function transition_on(name, listener) {
|
|
84683
|
-
var
|
|
84684
|
-
return arguments.length < 2 ? get(this.node(),
|
|
84651
|
+
var id30 = this._id;
|
|
84652
|
+
return arguments.length < 2 ? get(this.node(), id30).on.on(name) : this.each(onFunction(id30, name, listener));
|
|
84685
84653
|
}
|
|
84686
|
-
function removeFunction(
|
|
84654
|
+
function removeFunction(id30) {
|
|
84687
84655
|
return function() {
|
|
84688
84656
|
var parent = this.parentNode;
|
|
84689
|
-
for (var i2 in this.__transition) if (+i2 !==
|
|
84657
|
+
for (var i2 in this.__transition) if (+i2 !== id30) return;
|
|
84690
84658
|
if (parent) parent.removeChild(this);
|
|
84691
84659
|
};
|
|
84692
84660
|
}
|
|
@@ -84694,28 +84662,28 @@ function transition_remove() {
|
|
|
84694
84662
|
return this.on("end.remove", removeFunction(this._id));
|
|
84695
84663
|
}
|
|
84696
84664
|
function transition_select(select2) {
|
|
84697
|
-
var name = this._name,
|
|
84665
|
+
var name = this._name, id30 = this._id;
|
|
84698
84666
|
if (typeof select2 !== "function") select2 = selector(select2);
|
|
84699
84667
|
for (var groups = this._groups, m2 = groups.length, subgroups = new Array(m2), j2 = 0; j2 < m2; ++j2) {
|
|
84700
84668
|
for (var group = groups[j2], n2 = group.length, subgroup = subgroups[j2] = new Array(n2), node2, subnode, i2 = 0; i2 < n2; ++i2) {
|
|
84701
84669
|
if ((node2 = group[i2]) && (subnode = select2.call(node2, node2.__data__, i2, group))) {
|
|
84702
84670
|
if ("__data__" in node2) subnode.__data__ = node2.__data__;
|
|
84703
84671
|
subgroup[i2] = subnode;
|
|
84704
|
-
schedule(subgroup[i2], name,
|
|
84672
|
+
schedule(subgroup[i2], name, id30, i2, subgroup, get(node2, id30));
|
|
84705
84673
|
}
|
|
84706
84674
|
}
|
|
84707
84675
|
}
|
|
84708
|
-
return new Transition(subgroups, this._parents, name,
|
|
84676
|
+
return new Transition(subgroups, this._parents, name, id30);
|
|
84709
84677
|
}
|
|
84710
84678
|
function transition_selectAll(select2) {
|
|
84711
|
-
var name = this._name,
|
|
84679
|
+
var name = this._name, id30 = this._id;
|
|
84712
84680
|
if (typeof select2 !== "function") select2 = selectorAll(select2);
|
|
84713
84681
|
for (var groups = this._groups, m2 = groups.length, subgroups = [], parents = [], j2 = 0; j2 < m2; ++j2) {
|
|
84714
84682
|
for (var group = groups[j2], n2 = group.length, node2, i2 = 0; i2 < n2; ++i2) {
|
|
84715
84683
|
if (node2 = group[i2]) {
|
|
84716
|
-
for (var children2 = select2.call(node2, node2.__data__, i2, group), child, inherit2 = get(node2,
|
|
84684
|
+
for (var children2 = select2.call(node2, node2.__data__, i2, group), child, inherit2 = get(node2, id30), k2 = 0, l4 = children2.length; k2 < l4; ++k2) {
|
|
84717
84685
|
if (child = children2[k2]) {
|
|
84718
|
-
schedule(child, name,
|
|
84686
|
+
schedule(child, name, id30, k2, children2, inherit2);
|
|
84719
84687
|
}
|
|
84720
84688
|
}
|
|
84721
84689
|
subgroups.push(children2);
|
|
@@ -84723,7 +84691,7 @@ function transition_selectAll(select2) {
|
|
|
84723
84691
|
}
|
|
84724
84692
|
}
|
|
84725
84693
|
}
|
|
84726
|
-
return new Transition(subgroups, parents, name,
|
|
84694
|
+
return new Transition(subgroups, parents, name, id30);
|
|
84727
84695
|
}
|
|
84728
84696
|
var Selection = selection.prototype.constructor;
|
|
84729
84697
|
function transition_selection() {
|
|
@@ -84756,10 +84724,10 @@ function styleFunction(name, interpolate2, value) {
|
|
|
84756
84724
|
return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));
|
|
84757
84725
|
};
|
|
84758
84726
|
}
|
|
84759
|
-
function styleMaybeRemove(
|
|
84727
|
+
function styleMaybeRemove(id30, name) {
|
|
84760
84728
|
var on0, on1, listener0, key = "style." + name, event = "end." + key, remove2;
|
|
84761
84729
|
return function() {
|
|
84762
|
-
var schedule2 = set$1(this,
|
|
84730
|
+
var schedule2 = set$1(this, id30), on = schedule2.on, listener = schedule2.value[key] == null ? remove2 || (remove2 = styleRemove(name)) : void 0;
|
|
84763
84731
|
if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);
|
|
84764
84732
|
schedule2.on = on1;
|
|
84765
84733
|
};
|
|
@@ -84844,13 +84812,13 @@ function transition_transition() {
|
|
|
84844
84812
|
return new Transition(groups, this._parents, name, id1);
|
|
84845
84813
|
}
|
|
84846
84814
|
function transition_end() {
|
|
84847
|
-
var on0, on1, that = this,
|
|
84815
|
+
var on0, on1, that = this, id30 = that._id, size = that.size();
|
|
84848
84816
|
return new Promise(function(resolve, reject) {
|
|
84849
84817
|
var cancel = { value: reject }, end = { value: function() {
|
|
84850
84818
|
if (--size === 0) resolve();
|
|
84851
84819
|
} };
|
|
84852
84820
|
that.each(function() {
|
|
84853
|
-
var schedule2 = set$1(this,
|
|
84821
|
+
var schedule2 = set$1(this, id30), on = schedule2.on;
|
|
84854
84822
|
if (on !== on0) {
|
|
84855
84823
|
on1 = (on0 = on).copy();
|
|
84856
84824
|
on1._.cancel.push(cancel);
|
|
@@ -84863,11 +84831,11 @@ function transition_end() {
|
|
|
84863
84831
|
});
|
|
84864
84832
|
}
|
|
84865
84833
|
var id$2 = 0;
|
|
84866
|
-
function Transition(groups, parents, name,
|
|
84834
|
+
function Transition(groups, parents, name, id30) {
|
|
84867
84835
|
this._groups = groups;
|
|
84868
84836
|
this._parents = parents;
|
|
84869
84837
|
this._name = name;
|
|
84870
|
-
this._id =
|
|
84838
|
+
this._id = id30;
|
|
84871
84839
|
}
|
|
84872
84840
|
function newId() {
|
|
84873
84841
|
return ++id$2;
|
|
@@ -84915,30 +84883,30 @@ var defaultTiming = {
|
|
|
84915
84883
|
duration: 250,
|
|
84916
84884
|
ease: cubicInOut
|
|
84917
84885
|
};
|
|
84918
|
-
function inherit(node2,
|
|
84886
|
+
function inherit(node2, id30) {
|
|
84919
84887
|
var timing;
|
|
84920
|
-
while (!(timing = node2.__transition) || !(timing = timing[
|
|
84888
|
+
while (!(timing = node2.__transition) || !(timing = timing[id30])) {
|
|
84921
84889
|
if (!(node2 = node2.parentNode)) {
|
|
84922
|
-
throw new Error(`transition ${
|
|
84890
|
+
throw new Error(`transition ${id30} not found`);
|
|
84923
84891
|
}
|
|
84924
84892
|
}
|
|
84925
84893
|
return timing;
|
|
84926
84894
|
}
|
|
84927
84895
|
function selection_transition(name) {
|
|
84928
|
-
var
|
|
84896
|
+
var id30, timing;
|
|
84929
84897
|
if (name instanceof Transition) {
|
|
84930
|
-
|
|
84898
|
+
id30 = name._id, name = name._name;
|
|
84931
84899
|
} else {
|
|
84932
|
-
|
|
84900
|
+
id30 = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + "";
|
|
84933
84901
|
}
|
|
84934
84902
|
for (var groups = this._groups, m2 = groups.length, j2 = 0; j2 < m2; ++j2) {
|
|
84935
84903
|
for (var group = groups[j2], n2 = group.length, node2, i2 = 0; i2 < n2; ++i2) {
|
|
84936
84904
|
if (node2 = group[i2]) {
|
|
84937
|
-
schedule(node2, name,
|
|
84905
|
+
schedule(node2, name, id30, i2, group, timing || inherit(node2, id30));
|
|
84938
84906
|
}
|
|
84939
84907
|
}
|
|
84940
84908
|
}
|
|
84941
|
-
return new Transition(groups, this._parents, name,
|
|
84909
|
+
return new Transition(groups, this._parents, name, id30);
|
|
84942
84910
|
}
|
|
84943
84911
|
selection.prototype.interrupt = selection_interrupt;
|
|
84944
84912
|
selection.prototype.transition = selection_transition;
|
|
@@ -86043,15 +86011,15 @@ Transform.prototype = {
|
|
|
86043
86011
|
}
|
|
86044
86012
|
};
|
|
86045
86013
|
Transform.prototype;
|
|
86046
|
-
var selectSvgElement = /* @__PURE__ */ __name((
|
|
86014
|
+
var selectSvgElement = /* @__PURE__ */ __name((id30) => {
|
|
86047
86015
|
const { securityLevel } = getConfig2();
|
|
86048
86016
|
let root2 = select("body");
|
|
86049
86017
|
if (securityLevel === "sandbox") {
|
|
86050
|
-
const sandboxElement = select(`#i${
|
|
86018
|
+
const sandboxElement = select(`#i${id30}`);
|
|
86051
86019
|
const doc = sandboxElement.node()?.contentDocument ?? document;
|
|
86052
86020
|
root2 = select(doc.body);
|
|
86053
86021
|
}
|
|
86054
|
-
const svg2 = root2.select(`#${
|
|
86022
|
+
const svg2 = root2.select(`#${id30}`);
|
|
86055
86023
|
return svg2;
|
|
86056
86024
|
}, "selectSvgElement");
|
|
86057
86025
|
function isNothing(subject) {
|
|
@@ -86974,6 +86942,19 @@ function charFromCodepoint(c2) {
|
|
|
86974
86942
|
);
|
|
86975
86943
|
}
|
|
86976
86944
|
__name(charFromCodepoint, "charFromCodepoint");
|
|
86945
|
+
function setProperty(object, key, value) {
|
|
86946
|
+
if (key === "__proto__") {
|
|
86947
|
+
Object.defineProperty(object, key, {
|
|
86948
|
+
configurable: true,
|
|
86949
|
+
enumerable: true,
|
|
86950
|
+
writable: true,
|
|
86951
|
+
value
|
|
86952
|
+
});
|
|
86953
|
+
} else {
|
|
86954
|
+
object[key] = value;
|
|
86955
|
+
}
|
|
86956
|
+
}
|
|
86957
|
+
__name(setProperty, "setProperty");
|
|
86977
86958
|
var simpleEscapeCheck = new Array(256);
|
|
86978
86959
|
var simpleEscapeMap = new Array(256);
|
|
86979
86960
|
for (i$1 = 0; i$1 < 256; i$1++) {
|
|
@@ -87098,7 +87079,7 @@ function mergeMappings(state2, destination, source, overridableKeys) {
|
|
|
87098
87079
|
for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
|
|
87099
87080
|
key = sourceKeys[index];
|
|
87100
87081
|
if (!_hasOwnProperty$1.call(destination, key)) {
|
|
87101
|
-
destination
|
|
87082
|
+
setProperty(destination, key, source[key]);
|
|
87102
87083
|
overridableKeys[key] = true;
|
|
87103
87084
|
}
|
|
87104
87085
|
}
|
|
@@ -87139,16 +87120,7 @@ function storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, val
|
|
|
87139
87120
|
state2.position = startPos || state2.position;
|
|
87140
87121
|
throwError(state2, "duplicated mapping key");
|
|
87141
87122
|
}
|
|
87142
|
-
|
|
87143
|
-
Object.defineProperty(_result, keyNode, {
|
|
87144
|
-
configurable: true,
|
|
87145
|
-
enumerable: true,
|
|
87146
|
-
writable: true,
|
|
87147
|
-
value: valueNode
|
|
87148
|
-
});
|
|
87149
|
-
} else {
|
|
87150
|
-
_result[keyNode] = valueNode;
|
|
87151
|
-
}
|
|
87123
|
+
setProperty(_result, keyNode, valueNode);
|
|
87152
87124
|
delete overridableKeys[keyNode];
|
|
87153
87125
|
}
|
|
87154
87126
|
return _result;
|
|
@@ -88740,6 +88712,14 @@ function renamed(from2, to) {
|
|
|
88740
88712
|
__name(renamed, "renamed");
|
|
88741
88713
|
var JSON_SCHEMA = json;
|
|
88742
88714
|
var load = loader$1.load;
|
|
88715
|
+
var computeLabelTransform = /* @__PURE__ */ __name((bbox, useHtmlLabels) => {
|
|
88716
|
+
if (useHtmlLabels) {
|
|
88717
|
+
return "translate(" + -bbox.width / 2 + ", " + -bbox.height / 2 + ")";
|
|
88718
|
+
}
|
|
88719
|
+
const x2 = bbox.x ?? 0;
|
|
88720
|
+
const y3 = bbox.y ?? 0;
|
|
88721
|
+
return "translate(" + -(x2 + bbox.width / 2) + ", " + -(y3 + bbox.height / 2) + ")";
|
|
88722
|
+
}, "computeLabelTransform");
|
|
88743
88723
|
var markerOffsets = {
|
|
88744
88724
|
aggregation: 17.25,
|
|
88745
88725
|
extension: 17.25,
|
|
@@ -88849,113 +88829,6 @@ var getLineFunctionsWithOffset = /* @__PURE__ */ __name((edge) => {
|
|
|
88849
88829
|
}, "y")
|
|
88850
88830
|
};
|
|
88851
88831
|
}, "getLineFunctionsWithOffset");
|
|
88852
|
-
var getSubGraphTitleMargins = /* @__PURE__ */ __name(({
|
|
88853
|
-
flowchart
|
|
88854
|
-
}) => {
|
|
88855
|
-
const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;
|
|
88856
|
-
const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;
|
|
88857
|
-
const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;
|
|
88858
|
-
return {
|
|
88859
|
-
subGraphTitleTopMargin,
|
|
88860
|
-
subGraphTitleBottomMargin,
|
|
88861
|
-
subGraphTitleTotalMargin
|
|
88862
|
-
};
|
|
88863
|
-
}, "getSubGraphTitleMargins");
|
|
88864
|
-
var solidStateFill = /* @__PURE__ */ __name((color2) => {
|
|
88865
|
-
const { handDrawnSeed } = getConfig2();
|
|
88866
|
-
return {
|
|
88867
|
-
fill: color2,
|
|
88868
|
-
hachureAngle: 120,
|
|
88869
|
-
// angle of hachure,
|
|
88870
|
-
hachureGap: 4,
|
|
88871
|
-
fillWeight: 2,
|
|
88872
|
-
roughness: 0.7,
|
|
88873
|
-
stroke: color2,
|
|
88874
|
-
seed: handDrawnSeed
|
|
88875
|
-
};
|
|
88876
|
-
}, "solidStateFill");
|
|
88877
|
-
var compileStyles = /* @__PURE__ */ __name((node2) => {
|
|
88878
|
-
const stylesMap = styles2Map([
|
|
88879
|
-
...node2.cssCompiledStyles || [],
|
|
88880
|
-
...node2.cssStyles || [],
|
|
88881
|
-
...node2.labelStyle || []
|
|
88882
|
-
]);
|
|
88883
|
-
return { stylesMap, stylesArray: [...stylesMap] };
|
|
88884
|
-
}, "compileStyles");
|
|
88885
|
-
var styles2Map = /* @__PURE__ */ __name((styles2) => {
|
|
88886
|
-
const styleMap2 = /* @__PURE__ */ new Map();
|
|
88887
|
-
styles2.forEach((style2) => {
|
|
88888
|
-
const [key, value] = style2.split(":");
|
|
88889
|
-
styleMap2.set(key.trim(), value?.trim());
|
|
88890
|
-
});
|
|
88891
|
-
return styleMap2;
|
|
88892
|
-
}, "styles2Map");
|
|
88893
|
-
var isLabelStyle = /* @__PURE__ */ __name((key) => {
|
|
88894
|
-
return key === "color" || key === "font-size" || key === "font-family" || key === "font-weight" || key === "font-style" || key === "text-decoration" || key === "text-align" || key === "text-transform" || key === "line-height" || key === "letter-spacing" || key === "word-spacing" || key === "text-shadow" || key === "text-overflow" || key === "white-space" || key === "word-wrap" || key === "word-break" || key === "overflow-wrap" || key === "hyphens";
|
|
88895
|
-
}, "isLabelStyle");
|
|
88896
|
-
var styles2String = /* @__PURE__ */ __name((node2) => {
|
|
88897
|
-
const { stylesArray } = compileStyles(node2);
|
|
88898
|
-
const labelStyles = [];
|
|
88899
|
-
const nodeStyles = [];
|
|
88900
|
-
const borderStyles = [];
|
|
88901
|
-
const backgroundStyles = [];
|
|
88902
|
-
stylesArray.forEach((style2) => {
|
|
88903
|
-
const key = style2[0];
|
|
88904
|
-
if (isLabelStyle(key)) {
|
|
88905
|
-
labelStyles.push(style2.join(":") + " !important");
|
|
88906
|
-
} else {
|
|
88907
|
-
nodeStyles.push(style2.join(":") + " !important");
|
|
88908
|
-
if (key.includes("stroke")) {
|
|
88909
|
-
borderStyles.push(style2.join(":") + " !important");
|
|
88910
|
-
}
|
|
88911
|
-
if (key === "fill") {
|
|
88912
|
-
backgroundStyles.push(style2.join(":") + " !important");
|
|
88913
|
-
}
|
|
88914
|
-
}
|
|
88915
|
-
});
|
|
88916
|
-
return {
|
|
88917
|
-
labelStyles: labelStyles.join(";"),
|
|
88918
|
-
nodeStyles: nodeStyles.join(";"),
|
|
88919
|
-
stylesArray,
|
|
88920
|
-
borderStyles,
|
|
88921
|
-
backgroundStyles
|
|
88922
|
-
};
|
|
88923
|
-
}, "styles2String");
|
|
88924
|
-
var userNodeOverrides = /* @__PURE__ */ __name((node2, options) => {
|
|
88925
|
-
const { themeVariables, handDrawnSeed } = getConfig2();
|
|
88926
|
-
const { nodeBorder, mainBkg } = themeVariables;
|
|
88927
|
-
const { stylesMap } = compileStyles(node2);
|
|
88928
|
-
const result = Object.assign(
|
|
88929
|
-
{
|
|
88930
|
-
roughness: 0.7,
|
|
88931
|
-
fill: stylesMap.get("fill") || mainBkg,
|
|
88932
|
-
fillStyle: "hachure",
|
|
88933
|
-
// solid fill
|
|
88934
|
-
fillWeight: 4,
|
|
88935
|
-
hachureGap: 5.2,
|
|
88936
|
-
stroke: stylesMap.get("stroke") || nodeBorder,
|
|
88937
|
-
seed: handDrawnSeed,
|
|
88938
|
-
strokeWidth: stylesMap.get("stroke-width")?.replace("px", "") || 1.3,
|
|
88939
|
-
fillLineDash: [0, 0],
|
|
88940
|
-
strokeLineDash: getStrokeDashArray(stylesMap.get("stroke-dasharray"))
|
|
88941
|
-
},
|
|
88942
|
-
options
|
|
88943
|
-
);
|
|
88944
|
-
return result;
|
|
88945
|
-
}, "userNodeOverrides");
|
|
88946
|
-
var getStrokeDashArray = /* @__PURE__ */ __name((strokeDasharrayStyle) => {
|
|
88947
|
-
if (!strokeDasharrayStyle) {
|
|
88948
|
-
return [0, 0];
|
|
88949
|
-
}
|
|
88950
|
-
const dashArray = strokeDasharrayStyle.trim().split(/\s+/).map(Number);
|
|
88951
|
-
if (dashArray.length === 1) {
|
|
88952
|
-
const val = isNaN(dashArray[0]) ? 0 : dashArray[0];
|
|
88953
|
-
return [val, val];
|
|
88954
|
-
}
|
|
88955
|
-
const first = isNaN(dashArray[0]) ? 0 : dashArray[0];
|
|
88956
|
-
const second = isNaN(dashArray[1]) ? 0 : dashArray[1];
|
|
88957
|
-
return [first, second];
|
|
88958
|
-
}, "getStrokeDashArray");
|
|
88959
88832
|
var dist$1 = {};
|
|
88960
88833
|
var constants = {};
|
|
88961
88834
|
var hasRequiredConstants;
|
|
@@ -90287,9 +90160,9 @@ var getEdgeId = /* @__PURE__ */ __name((from2, to, {
|
|
|
90287
90160
|
counter = 0,
|
|
90288
90161
|
prefix,
|
|
90289
90162
|
suffix
|
|
90290
|
-
},
|
|
90291
|
-
if (
|
|
90292
|
-
return
|
|
90163
|
+
}, id30) => {
|
|
90164
|
+
if (id30) {
|
|
90165
|
+
return id30;
|
|
90293
90166
|
}
|
|
90294
90167
|
return `${prefix ? `${prefix}_` : ""}${from2}_${to}_${counter}${suffix ? `_${suffix}` : ""}`;
|
|
90295
90168
|
}, "getEdgeId");
|
|
@@ -90307,6 +90180,150 @@ function isLabelCoordinateInPath(point2, dAttr) {
|
|
|
90307
90180
|
return sanitizedD.includes(roundedX.toString()) || sanitizedD.includes(roundedY.toString());
|
|
90308
90181
|
}
|
|
90309
90182
|
__name(isLabelCoordinateInPath, "isLabelCoordinateInPath");
|
|
90183
|
+
var getSubGraphTitleMargins = /* @__PURE__ */ __name(({
|
|
90184
|
+
flowchart
|
|
90185
|
+
}) => {
|
|
90186
|
+
const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;
|
|
90187
|
+
const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;
|
|
90188
|
+
const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;
|
|
90189
|
+
return {
|
|
90190
|
+
subGraphTitleTopMargin,
|
|
90191
|
+
subGraphTitleBottomMargin,
|
|
90192
|
+
subGraphTitleTotalMargin
|
|
90193
|
+
};
|
|
90194
|
+
}, "getSubGraphTitleMargins");
|
|
90195
|
+
async function configureLabelImages(container, labelText) {
|
|
90196
|
+
const images = container.getElementsByTagName("img");
|
|
90197
|
+
if (!images || images.length === 0) {
|
|
90198
|
+
return;
|
|
90199
|
+
}
|
|
90200
|
+
const noImgText = labelText.replace(/<img[^>]*>/g, "").trim() === "";
|
|
90201
|
+
await Promise.all(
|
|
90202
|
+
[...images].map(
|
|
90203
|
+
(img) => new Promise((res) => {
|
|
90204
|
+
function setupImage() {
|
|
90205
|
+
img.style.display = "flex";
|
|
90206
|
+
img.style.flexDirection = "column";
|
|
90207
|
+
if (noImgText) {
|
|
90208
|
+
const bodyFontSize = getConfig2().fontSize ? getConfig2().fontSize : window.getComputedStyle(document.body).fontSize;
|
|
90209
|
+
const enlargingFactor = 5;
|
|
90210
|
+
const [parsedBodyFontSize = defaultConfig_default.fontSize] = parseFontSize(bodyFontSize);
|
|
90211
|
+
const width = parsedBodyFontSize * enlargingFactor + "px";
|
|
90212
|
+
img.style.minWidth = width;
|
|
90213
|
+
img.style.maxWidth = width;
|
|
90214
|
+
} else {
|
|
90215
|
+
img.style.width = "100%";
|
|
90216
|
+
}
|
|
90217
|
+
res(img);
|
|
90218
|
+
}
|
|
90219
|
+
__name(setupImage, "setupImage");
|
|
90220
|
+
setTimeout(() => {
|
|
90221
|
+
if (img.complete) {
|
|
90222
|
+
setupImage();
|
|
90223
|
+
}
|
|
90224
|
+
});
|
|
90225
|
+
img.addEventListener("error", setupImage);
|
|
90226
|
+
img.addEventListener("load", setupImage);
|
|
90227
|
+
})
|
|
90228
|
+
)
|
|
90229
|
+
);
|
|
90230
|
+
}
|
|
90231
|
+
__name(configureLabelImages, "configureLabelImages");
|
|
90232
|
+
var solidStateFill = /* @__PURE__ */ __name((color2) => {
|
|
90233
|
+
const { handDrawnSeed } = getConfig2();
|
|
90234
|
+
return {
|
|
90235
|
+
fill: color2,
|
|
90236
|
+
hachureAngle: 120,
|
|
90237
|
+
// angle of hachure,
|
|
90238
|
+
hachureGap: 4,
|
|
90239
|
+
fillWeight: 2,
|
|
90240
|
+
roughness: 0.7,
|
|
90241
|
+
stroke: color2,
|
|
90242
|
+
seed: handDrawnSeed
|
|
90243
|
+
};
|
|
90244
|
+
}, "solidStateFill");
|
|
90245
|
+
var compileStyles = /* @__PURE__ */ __name((node2) => {
|
|
90246
|
+
const stylesMap = styles2Map([
|
|
90247
|
+
...node2.cssCompiledStyles || [],
|
|
90248
|
+
...node2.cssStyles || [],
|
|
90249
|
+
...node2.labelStyle || []
|
|
90250
|
+
]);
|
|
90251
|
+
return { stylesMap, stylesArray: [...stylesMap] };
|
|
90252
|
+
}, "compileStyles");
|
|
90253
|
+
var styles2Map = /* @__PURE__ */ __name((styles2) => {
|
|
90254
|
+
const styleMap2 = /* @__PURE__ */ new Map();
|
|
90255
|
+
styles2.forEach((style2) => {
|
|
90256
|
+
const [key, value] = style2.split(":");
|
|
90257
|
+
styleMap2.set(key.trim(), value?.trim());
|
|
90258
|
+
});
|
|
90259
|
+
return styleMap2;
|
|
90260
|
+
}, "styles2Map");
|
|
90261
|
+
var isLabelStyle = /* @__PURE__ */ __name((key) => {
|
|
90262
|
+
return key === "color" || key === "font-size" || key === "font-family" || key === "font-weight" || key === "font-style" || key === "text-decoration" || key === "text-align" || key === "text-transform" || key === "line-height" || key === "letter-spacing" || key === "word-spacing" || key === "text-shadow" || key === "text-overflow" || key === "white-space" || key === "word-wrap" || key === "word-break" || key === "overflow-wrap" || key === "hyphens";
|
|
90263
|
+
}, "isLabelStyle");
|
|
90264
|
+
var styles2String = /* @__PURE__ */ __name((node2) => {
|
|
90265
|
+
const { stylesArray } = compileStyles(node2);
|
|
90266
|
+
const labelStyles = [];
|
|
90267
|
+
const nodeStyles = [];
|
|
90268
|
+
const borderStyles = [];
|
|
90269
|
+
const backgroundStyles = [];
|
|
90270
|
+
stylesArray.forEach((style2) => {
|
|
90271
|
+
const key = style2[0];
|
|
90272
|
+
if (isLabelStyle(key)) {
|
|
90273
|
+
labelStyles.push(style2.join(":") + " !important");
|
|
90274
|
+
} else {
|
|
90275
|
+
nodeStyles.push(style2.join(":") + " !important");
|
|
90276
|
+
if (key.includes("stroke")) {
|
|
90277
|
+
borderStyles.push(style2.join(":") + " !important");
|
|
90278
|
+
}
|
|
90279
|
+
if (key === "fill") {
|
|
90280
|
+
backgroundStyles.push(style2.join(":") + " !important");
|
|
90281
|
+
}
|
|
90282
|
+
}
|
|
90283
|
+
});
|
|
90284
|
+
return {
|
|
90285
|
+
labelStyles: labelStyles.join(";"),
|
|
90286
|
+
nodeStyles: nodeStyles.join(";"),
|
|
90287
|
+
stylesArray,
|
|
90288
|
+
borderStyles,
|
|
90289
|
+
backgroundStyles
|
|
90290
|
+
};
|
|
90291
|
+
}, "styles2String");
|
|
90292
|
+
var userNodeOverrides = /* @__PURE__ */ __name((node2, options) => {
|
|
90293
|
+
const { themeVariables, handDrawnSeed } = getConfig2();
|
|
90294
|
+
const { nodeBorder, mainBkg } = themeVariables;
|
|
90295
|
+
const { stylesMap } = compileStyles(node2);
|
|
90296
|
+
const result = Object.assign(
|
|
90297
|
+
{
|
|
90298
|
+
roughness: 0.7,
|
|
90299
|
+
fill: stylesMap.get("fill") || mainBkg,
|
|
90300
|
+
fillStyle: "hachure",
|
|
90301
|
+
// solid fill
|
|
90302
|
+
fillWeight: 4,
|
|
90303
|
+
hachureGap: 5.2,
|
|
90304
|
+
stroke: stylesMap.get("stroke") || nodeBorder,
|
|
90305
|
+
seed: handDrawnSeed,
|
|
90306
|
+
strokeWidth: stylesMap.get("stroke-width")?.replace("px", "") || 1.3,
|
|
90307
|
+
fillLineDash: [0, 0],
|
|
90308
|
+
strokeLineDash: getStrokeDashArray(stylesMap.get("stroke-dasharray"))
|
|
90309
|
+
},
|
|
90310
|
+
options
|
|
90311
|
+
);
|
|
90312
|
+
return result;
|
|
90313
|
+
}, "userNodeOverrides");
|
|
90314
|
+
var getStrokeDashArray = /* @__PURE__ */ __name((strokeDasharrayStyle) => {
|
|
90315
|
+
if (!strokeDasharrayStyle) {
|
|
90316
|
+
return [0, 0];
|
|
90317
|
+
}
|
|
90318
|
+
const dashArray = strokeDasharrayStyle.trim().split(/\s+/).map(Number);
|
|
90319
|
+
if (dashArray.length === 1) {
|
|
90320
|
+
const val = isNaN(dashArray[0]) ? 0 : dashArray[0];
|
|
90321
|
+
return [val, val];
|
|
90322
|
+
}
|
|
90323
|
+
const first = isNaN(dashArray[0]) ? 0 : dashArray[0];
|
|
90324
|
+
const second = isNaN(dashArray[1]) ? 0 : dashArray[1];
|
|
90325
|
+
return [first, second];
|
|
90326
|
+
}, "getStrokeDashArray");
|
|
90310
90327
|
const defaultIconDimensions = Object.freeze({
|
|
90311
90328
|
left: 0,
|
|
90312
90329
|
top: 0,
|
|
@@ -90569,11 +90586,11 @@ function iconToSVG(icon2, customisations) {
|
|
|
90569
90586
|
}
|
|
90570
90587
|
const regex = /\sid="(\S+)"/g;
|
|
90571
90588
|
const counters = /* @__PURE__ */ new Map();
|
|
90572
|
-
function nextID(
|
|
90573
|
-
|
|
90574
|
-
const count = counters.get(
|
|
90575
|
-
counters.set(
|
|
90576
|
-
return count ? `${
|
|
90589
|
+
function nextID(id30) {
|
|
90590
|
+
id30 = id30.replace(/[0-9]+$/, "") || "a";
|
|
90591
|
+
const count = counters.get(id30) || 0;
|
|
90592
|
+
counters.set(id30, count + 1);
|
|
90593
|
+
return count ? `${id30}${count}` : id30;
|
|
90577
90594
|
}
|
|
90578
90595
|
function replaceIDs(body) {
|
|
90579
90596
|
const ids = [];
|
|
@@ -90581,9 +90598,9 @@ function replaceIDs(body) {
|
|
|
90581
90598
|
while (match2 = regex.exec(body)) ids.push(match2[1]);
|
|
90582
90599
|
if (!ids.length) return body;
|
|
90583
90600
|
const suffix = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16);
|
|
90584
|
-
ids.forEach((
|
|
90585
|
-
const newID = nextID(
|
|
90586
|
-
const escapedID =
|
|
90601
|
+
ids.forEach((id30) => {
|
|
90602
|
+
const newID = nextID(id30);
|
|
90603
|
+
const escapedID = id30.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
90587
90604
|
body = body.replace(new RegExp('([#;"])(' + escapedID + ')([")]|\\.[a-z])', "g"), "$1" + newID + suffix + "$3");
|
|
90588
90605
|
});
|
|
90589
90606
|
body = body.replace(new RegExp(suffix, "g"), "");
|
|
@@ -91760,12 +91777,12 @@ var getRegisteredIconData = /* @__PURE__ */ __name(async (iconName, fallbackPref
|
|
|
91760
91777
|
}
|
|
91761
91778
|
let icons = iconsStore.get(prefix);
|
|
91762
91779
|
if (!icons) {
|
|
91763
|
-
const
|
|
91764
|
-
if (!
|
|
91780
|
+
const loader30 = loaderStore.get(prefix);
|
|
91781
|
+
if (!loader30) {
|
|
91765
91782
|
throw new Error(`Icon set not found: ${data.prefix}`);
|
|
91766
91783
|
}
|
|
91767
91784
|
try {
|
|
91768
|
-
const loaded = await
|
|
91785
|
+
const loaded = await loader30();
|
|
91769
91786
|
icons = { ...loaded, prefix };
|
|
91770
91787
|
iconsStore.set(prefix, icons);
|
|
91771
91788
|
} catch (e2) {
|
|
@@ -91806,12 +91823,15 @@ function preprocessMarkdown(markdown, { markdownAutoWrap }) {
|
|
|
91806
91823
|
const withoutBR = markdown.replace(/<br\/>/g, "\n");
|
|
91807
91824
|
const withoutMultipleNewlines = withoutBR.replace(/\n{2,}/g, "\n");
|
|
91808
91825
|
const withoutExtraSpaces = dedent(withoutMultipleNewlines);
|
|
91809
|
-
if (markdownAutoWrap === false) {
|
|
91810
|
-
return withoutExtraSpaces.replace(/ /g, " ");
|
|
91811
|
-
}
|
|
91812
91826
|
return withoutExtraSpaces;
|
|
91813
91827
|
}
|
|
91814
91828
|
__name(preprocessMarkdown, "preprocessMarkdown");
|
|
91829
|
+
function nonMarkdownToLines(nonMarkdownText) {
|
|
91830
|
+
return nonMarkdownText.split(/\\n|\n|<br\s*\/?>/gi).map(
|
|
91831
|
+
(line2) => line2.trim().match(/<[^>]+>|[^\s<>]+/g)?.map((word) => ({ content: word, type: "normal" })) ?? []
|
|
91832
|
+
);
|
|
91833
|
+
}
|
|
91834
|
+
__name(nonMarkdownToLines, "nonMarkdownToLines");
|
|
91815
91835
|
function markdownToLines(markdown, config2 = {}) {
|
|
91816
91836
|
const preprocessedMarkdown = preprocessMarkdown(markdown, config2);
|
|
91817
91837
|
const nodes = k$1.lexer(preprocessedMarkdown);
|
|
@@ -91855,6 +91875,18 @@ function markdownToLines(markdown, config2 = {}) {
|
|
|
91855
91875
|
return lines;
|
|
91856
91876
|
}
|
|
91857
91877
|
__name(markdownToLines, "markdownToLines");
|
|
91878
|
+
function nonMarkdownToHTML(text2) {
|
|
91879
|
+
if (!text2) {
|
|
91880
|
+
return "";
|
|
91881
|
+
}
|
|
91882
|
+
return `<p>${/**
|
|
91883
|
+
* Replace new lines with <br /> tags.
|
|
91884
|
+
*
|
|
91885
|
+
* Unlike in markdown text, `\n` sequences are treated as line breaks here.
|
|
91886
|
+
*/
|
|
91887
|
+
text2.replace(/\\n|\n/g, "<br />")}</p>`;
|
|
91888
|
+
}
|
|
91889
|
+
__name(nonMarkdownToHTML, "nonMarkdownToHTML");
|
|
91858
91890
|
function markdownToHTML(markdown, { markdownAutoWrap } = {}) {
|
|
91859
91891
|
const nodes = k$1.lexer(markdown);
|
|
91860
91892
|
function output(node2) {
|
|
@@ -91958,29 +91990,32 @@ function splitLineToFitWidthRecursion(words, checkFit, lines = [], newLine = [])
|
|
|
91958
91990
|
return splitLineToFitWidthRecursion(words, checkFit, lines);
|
|
91959
91991
|
}
|
|
91960
91992
|
__name(splitLineToFitWidthRecursion, "splitLineToFitWidthRecursion");
|
|
91961
|
-
function applyStyle
|
|
91993
|
+
function applyStyle(dom, styleFn) {
|
|
91962
91994
|
if (styleFn) {
|
|
91963
91995
|
dom.attr("style", styleFn);
|
|
91964
91996
|
}
|
|
91965
91997
|
}
|
|
91966
|
-
__name(applyStyle
|
|
91998
|
+
__name(applyStyle, "applyStyle");
|
|
91999
|
+
var maxSafeSizeForWidth = 16384;
|
|
91967
92000
|
async function addHtmlSpan(element, node2, width, classes, addBackground = false, config2 = getConfig()) {
|
|
91968
92001
|
const fo = element.append("foreignObject");
|
|
91969
|
-
fo.attr("width", `${10 * width}px`);
|
|
91970
|
-
fo.attr("height", `${10 * width}px`);
|
|
92002
|
+
fo.attr("width", `${Math.min(10 * width, maxSafeSizeForWidth)}px`);
|
|
92003
|
+
fo.attr("height", `${Math.min(10 * width, maxSafeSizeForWidth)}px`);
|
|
91971
92004
|
const div = fo.append("xhtml:div");
|
|
91972
92005
|
const sanitizedLabel = hasKatex(node2.label) ? await renderKatexSanitized(node2.label.replace(common_default.lineBreakRegex, "\n"), config2) : sanitizeText(node2.label, config2);
|
|
91973
92006
|
const labelClass = node2.isNode ? "nodeLabel" : "edgeLabel";
|
|
91974
92007
|
const span = div.append("span");
|
|
91975
92008
|
span.html(sanitizedLabel);
|
|
91976
|
-
applyStyle
|
|
92009
|
+
applyStyle(span, node2.labelStyle);
|
|
91977
92010
|
span.attr("class", `${labelClass} ${classes}`);
|
|
91978
|
-
applyStyle
|
|
92011
|
+
applyStyle(div, node2.labelStyle);
|
|
91979
92012
|
div.style("display", "table-cell");
|
|
91980
92013
|
div.style("white-space", "nowrap");
|
|
91981
92014
|
div.style("line-height", "1.5");
|
|
91982
|
-
|
|
91983
|
-
|
|
92015
|
+
if (width !== Number.POSITIVE_INFINITY) {
|
|
92016
|
+
div.style("max-width", width + "px");
|
|
92017
|
+
div.style("text-align", "center");
|
|
92018
|
+
}
|
|
91984
92019
|
div.attr("xmlns", "http://www.w3.org/1999/xhtml");
|
|
91985
92020
|
if (addBackground) {
|
|
91986
92021
|
div.attr("class", "labelBkg");
|
|
@@ -91995,8 +92030,12 @@ async function addHtmlSpan(element, node2, width, classes, addBackground = false
|
|
|
91995
92030
|
return fo.node();
|
|
91996
92031
|
}
|
|
91997
92032
|
__name(addHtmlSpan, "addHtmlSpan");
|
|
91998
|
-
function createTspan(textElement, lineIndex, lineHeight) {
|
|
91999
|
-
|
|
92033
|
+
function createTspan(textElement, lineIndex, lineHeight, centerText = false) {
|
|
92034
|
+
const tspan = textElement.append("tspan").attr("class", "text-outer-tspan").attr("x", 0).attr("y", lineIndex * lineHeight - 0.1 + "em").attr("dy", lineHeight + "em");
|
|
92035
|
+
if (centerText) {
|
|
92036
|
+
tspan.attr("text-anchor", "middle");
|
|
92037
|
+
}
|
|
92038
|
+
return tspan;
|
|
92000
92039
|
}
|
|
92001
92040
|
__name(createTspan, "createTspan");
|
|
92002
92041
|
function computeWidthOfText(parentNode, lineHeight, line2) {
|
|
@@ -92019,17 +92058,20 @@ function computeDimensionOfText(parentNode, lineHeight, text2) {
|
|
|
92019
92058
|
return textDimension;
|
|
92020
92059
|
}
|
|
92021
92060
|
__name(computeDimensionOfText, "computeDimensionOfText");
|
|
92022
|
-
function createFormattedText(width, g2, structuredText, addBackground = false) {
|
|
92061
|
+
function createFormattedText(width, g2, structuredText, addBackground = false, centerText = false) {
|
|
92023
92062
|
const lineHeight = 1.1;
|
|
92024
92063
|
const labelGroup = g2.append("g");
|
|
92025
92064
|
const bkg = labelGroup.insert("rect").attr("class", "background").attr("style", "stroke: none");
|
|
92026
92065
|
const textElement = labelGroup.append("text").attr("y", "-10.1");
|
|
92066
|
+
if (centerText) {
|
|
92067
|
+
textElement.attr("text-anchor", "middle");
|
|
92068
|
+
}
|
|
92027
92069
|
let lineIndex = 0;
|
|
92028
92070
|
for (const line2 of structuredText) {
|
|
92029
92071
|
const checkWidth = /* @__PURE__ */ __name((line22) => computeWidthOfText(labelGroup, lineHeight, line22) <= width, "checkWidth");
|
|
92030
92072
|
const linesUnderWidth = checkWidth(line2) ? [line2] : splitLineToFitWidth(line2, checkWidth);
|
|
92031
92073
|
for (const preparedLine of linesUnderWidth) {
|
|
92032
|
-
const tspan = createTspan(textElement, lineIndex, lineHeight);
|
|
92074
|
+
const tspan = createTspan(textElement, lineIndex, lineHeight, centerText);
|
|
92033
92075
|
updateTextContentAndStyles(tspan, preparedLine);
|
|
92034
92076
|
lineIndex++;
|
|
92035
92077
|
}
|
|
@@ -92080,7 +92122,11 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
|
|
|
92080
92122
|
isTitle = false,
|
|
92081
92123
|
classes = "",
|
|
92082
92124
|
useHtmlLabels = true,
|
|
92125
|
+
markdown = true,
|
|
92083
92126
|
isNode = true,
|
|
92127
|
+
/**
|
|
92128
|
+
* The width to wrap the text within. Set to `Number.POSITIVE_INFINITY` for no wrapping.
|
|
92129
|
+
*/
|
|
92084
92130
|
width = 200,
|
|
92085
92131
|
addSvgBackground = false
|
|
92086
92132
|
} = {}, config2) => {
|
|
@@ -92096,7 +92142,7 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
|
|
|
92096
92142
|
addSvgBackground
|
|
92097
92143
|
);
|
|
92098
92144
|
if (useHtmlLabels) {
|
|
92099
|
-
const htmlText = markdownToHTML(text2, config2);
|
|
92145
|
+
const htmlText = markdown ? markdownToHTML(text2, config2) : nonMarkdownToHTML(text2);
|
|
92100
92146
|
const decodedReplacedText = await replaceIconSubstring(decodeEntities(htmlText), config2);
|
|
92101
92147
|
const inputForKatex = text2.replace(/\\\\/g, "\\");
|
|
92102
92148
|
const node2 = {
|
|
@@ -92108,12 +92154,13 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
|
|
|
92108
92154
|
return vertexNode;
|
|
92109
92155
|
} else {
|
|
92110
92156
|
const sanitizeBR = text2.replace(/<br\s*\/?>/g, "<br/>");
|
|
92111
|
-
const structuredText = markdownToLines(sanitizeBR.replace("<br>", "<br/>"), config2);
|
|
92157
|
+
const structuredText = markdown ? markdownToLines(sanitizeBR.replace("<br>", "<br/>"), config2) : nonMarkdownToLines(sanitizeBR);
|
|
92112
92158
|
const svgLabel = createFormattedText(
|
|
92113
92159
|
width,
|
|
92114
92160
|
el,
|
|
92115
92161
|
structuredText,
|
|
92116
|
-
text2 ? addSvgBackground : false
|
|
92162
|
+
text2 ? addSvgBackground : false,
|
|
92163
|
+
!isNode
|
|
92117
92164
|
);
|
|
92118
92165
|
if (isNode) {
|
|
92119
92166
|
if (/stroke:/.exec(style2)) {
|
|
@@ -92127,6 +92174,11 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
|
|
|
92127
92174
|
const edgeLabelTextStyle = style2.replace(/stroke:[^;]+;?/g, "").replace(/stroke-width:[^;]+;?/g, "").replace(/fill:[^;]+;?/g, "").replace(/color:/g, "fill:");
|
|
92128
92175
|
select(svgLabel).select("text").attr("style", edgeLabelTextStyle);
|
|
92129
92176
|
}
|
|
92177
|
+
if (isTitle) {
|
|
92178
|
+
select(svgLabel).selectAll("tspan.text-outer-tspan").classed("title-row", true);
|
|
92179
|
+
} else {
|
|
92180
|
+
select(svgLabel).selectAll("tspan.text-outer-tspan").classed("row", true);
|
|
92181
|
+
}
|
|
92130
92182
|
return svgLabel;
|
|
92131
92183
|
}
|
|
92132
92184
|
}, "createText");
|
|
@@ -93144,52 +93196,28 @@ var labelHelper = /* @__PURE__ */ __name(async (parent, node2, _classes) => {
|
|
|
93144
93196
|
} else {
|
|
93145
93197
|
label = typeof node2.label === "string" ? node2.label : node2.label[0];
|
|
93146
93198
|
}
|
|
93147
|
-
const
|
|
93148
|
-
|
|
93149
|
-
|
|
93150
|
-
|
|
93151
|
-
|
|
93152
|
-
|
|
93153
|
-
|
|
93154
|
-
|
|
93199
|
+
const addBackground = !!node2.icon || !!node2.img;
|
|
93200
|
+
const isMarkdown = node2.labelType === "markdown";
|
|
93201
|
+
const text2 = await createText(
|
|
93202
|
+
labelEl,
|
|
93203
|
+
sanitizeText(decodeEntities(label), getConfig2()),
|
|
93204
|
+
{
|
|
93205
|
+
useHtmlLabels,
|
|
93206
|
+
width: node2.width || getConfig2().flowchart?.wrappingWidth,
|
|
93207
|
+
// @ts-expect-error -- This is currently not used. Should this be `classes` instead?
|
|
93208
|
+
cssClasses: isMarkdown ? "markdown-node-label" : void 0,
|
|
93209
|
+
style: node2.labelStyle,
|
|
93210
|
+
addSvgBackground: addBackground,
|
|
93211
|
+
markdown: isMarkdown
|
|
93212
|
+
},
|
|
93213
|
+
getConfig2()
|
|
93214
|
+
);
|
|
93155
93215
|
let bbox = text2.getBBox();
|
|
93156
93216
|
const halfPadding = (node2?.padding ?? 0) / 2;
|
|
93157
93217
|
if (useHtmlLabels) {
|
|
93158
93218
|
const div = text2.children[0];
|
|
93159
93219
|
const dv = select(text2);
|
|
93160
|
-
|
|
93161
|
-
if (images) {
|
|
93162
|
-
const noImgText = label.replace(/<img[^>]*>/g, "").trim() === "";
|
|
93163
|
-
await Promise.all(
|
|
93164
|
-
[...images].map(
|
|
93165
|
-
(img) => new Promise((res) => {
|
|
93166
|
-
function setupImage() {
|
|
93167
|
-
img.style.display = "flex";
|
|
93168
|
-
img.style.flexDirection = "column";
|
|
93169
|
-
if (noImgText) {
|
|
93170
|
-
const bodyFontSize = getConfig2().fontSize ? getConfig2().fontSize : window.getComputedStyle(document.body).fontSize;
|
|
93171
|
-
const enlargingFactor = 5;
|
|
93172
|
-
const [parsedBodyFontSize = defaultConfig_default.fontSize] = parseFontSize(bodyFontSize);
|
|
93173
|
-
const width = parsedBodyFontSize * enlargingFactor + "px";
|
|
93174
|
-
img.style.minWidth = width;
|
|
93175
|
-
img.style.maxWidth = width;
|
|
93176
|
-
} else {
|
|
93177
|
-
img.style.width = "100%";
|
|
93178
|
-
}
|
|
93179
|
-
res(img);
|
|
93180
|
-
}
|
|
93181
|
-
__name(setupImage, "setupImage");
|
|
93182
|
-
setTimeout(() => {
|
|
93183
|
-
if (img.complete) {
|
|
93184
|
-
setupImage();
|
|
93185
|
-
}
|
|
93186
|
-
});
|
|
93187
|
-
img.addEventListener("error", setupImage);
|
|
93188
|
-
img.addEventListener("load", setupImage);
|
|
93189
|
-
})
|
|
93190
|
-
)
|
|
93191
|
-
);
|
|
93192
|
-
}
|
|
93220
|
+
await configureLabelImages(div, label);
|
|
93193
93221
|
bbox = div.getBoundingClientRect();
|
|
93194
93222
|
dv.attr("width", bbox.width);
|
|
93195
93223
|
dv.attr("height", bbox.height);
|
|
@@ -93206,7 +93234,7 @@ var labelHelper = /* @__PURE__ */ __name(async (parent, node2, _classes) => {
|
|
|
93206
93234
|
return { shapeSvg, bbox, halfPadding, label: labelEl };
|
|
93207
93235
|
}, "labelHelper");
|
|
93208
93236
|
var insertLabel = /* @__PURE__ */ __name(async (parent, label, options) => {
|
|
93209
|
-
const useHtmlLabels = options.useHtmlLabels
|
|
93237
|
+
const useHtmlLabels = options.useHtmlLabels ?? getEffectiveHtmlLabels(getConfig2());
|
|
93210
93238
|
const labelEl = parent.insert("g").attr("class", "label").attr("style", options.labelStyle || "");
|
|
93211
93239
|
const text2 = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig2()), {
|
|
93212
93240
|
useHtmlLabels,
|
|
@@ -93216,7 +93244,7 @@ var insertLabel = /* @__PURE__ */ __name(async (parent, label, options) => {
|
|
|
93216
93244
|
});
|
|
93217
93245
|
let bbox = text2.getBBox();
|
|
93218
93246
|
const halfPadding = options.padding / 2;
|
|
93219
|
-
if (
|
|
93247
|
+
if (getEffectiveHtmlLabels(getConfig2())) {
|
|
93220
93248
|
const div = text2.children[0];
|
|
93221
93249
|
const dv = select(text2);
|
|
93222
93250
|
bbox = div.getBoundingClientRect();
|
|
@@ -93302,76 +93330,26 @@ var intersectRect = /* @__PURE__ */ __name((node2, point2) => {
|
|
|
93302
93330
|
return { x: x2 + sx, y: y3 + sy };
|
|
93303
93331
|
}, "intersectRect");
|
|
93304
93332
|
var intersect_rect_default = intersectRect;
|
|
93305
|
-
|
|
93306
|
-
if (styleFn) {
|
|
93307
|
-
dom.attr("style", styleFn);
|
|
93308
|
-
}
|
|
93309
|
-
}
|
|
93310
|
-
__name(applyStyle, "applyStyle");
|
|
93311
|
-
async function addHtmlLabel(node2) {
|
|
93312
|
-
const fo = select(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject"));
|
|
93313
|
-
const div = fo.append("xhtml:div");
|
|
93314
|
-
const config2 = getConfig2();
|
|
93315
|
-
let label = node2.label;
|
|
93316
|
-
if (node2.label && hasKatex(node2.label)) {
|
|
93317
|
-
label = await renderKatexSanitized(node2.label.replace(common_default.lineBreakRegex, "\n"), config2);
|
|
93318
|
-
}
|
|
93319
|
-
const labelClass = node2.isNode ? "nodeLabel" : "edgeLabel";
|
|
93320
|
-
const labelSpan = '<span class="' + labelClass + '" ' + (node2.labelStyle ? 'style="' + node2.labelStyle + '"' : "") + // codeql [js/html-constructed-from-input] : false positive
|
|
93321
|
-
">" + label + "</span>";
|
|
93322
|
-
div.html(sanitizeText(labelSpan, config2));
|
|
93323
|
-
applyStyle(div, node2.labelStyle);
|
|
93324
|
-
div.style("display", "inline-block");
|
|
93325
|
-
div.style("padding-right", "1px");
|
|
93326
|
-
div.style("white-space", "nowrap");
|
|
93327
|
-
div.attr("xmlns", "http://www.w3.org/1999/xhtml");
|
|
93328
|
-
return fo.node();
|
|
93329
|
-
}
|
|
93330
|
-
__name(addHtmlLabel, "addHtmlLabel");
|
|
93331
|
-
var createLabel = /* @__PURE__ */ __name(async (_vertexText, style2, isTitle, isNode) => {
|
|
93333
|
+
var createLabel = /* @__PURE__ */ __name(async (element, _vertexText, style2, isTitle = false, isNode = false) => {
|
|
93332
93334
|
let vertexText = _vertexText || "";
|
|
93333
93335
|
if (typeof vertexText === "object") {
|
|
93334
93336
|
vertexText = vertexText[0];
|
|
93335
93337
|
}
|
|
93336
|
-
|
|
93337
|
-
|
|
93338
|
-
|
|
93339
|
-
|
|
93338
|
+
const config2 = getConfig2();
|
|
93339
|
+
const useHtmlLabels = getEffectiveHtmlLabels(config2);
|
|
93340
|
+
return await createText(
|
|
93341
|
+
element,
|
|
93342
|
+
vertexText,
|
|
93343
|
+
{
|
|
93344
|
+
style: style2,
|
|
93345
|
+
isTitle,
|
|
93346
|
+
useHtmlLabels,
|
|
93347
|
+
markdown: false,
|
|
93340
93348
|
isNode,
|
|
93341
|
-
|
|
93342
|
-
|
|
93343
|
-
|
|
93344
|
-
|
|
93345
|
-
labelStyle: style2 ? style2.replace("fill:", "color:") : style2
|
|
93346
|
-
};
|
|
93347
|
-
let vertexNode = await addHtmlLabel(node2);
|
|
93348
|
-
return vertexNode;
|
|
93349
|
-
} else {
|
|
93350
|
-
const svgLabel = document.createElementNS("http://www.w3.org/2000/svg", "text");
|
|
93351
|
-
svgLabel.setAttribute("style", style2.replace("color:", "fill:"));
|
|
93352
|
-
let rows = [];
|
|
93353
|
-
if (typeof vertexText === "string") {
|
|
93354
|
-
rows = vertexText.split(/\\n|\n|<br\s*\/?>/gi);
|
|
93355
|
-
} else if (Array.isArray(vertexText)) {
|
|
93356
|
-
rows = vertexText;
|
|
93357
|
-
} else {
|
|
93358
|
-
rows = [];
|
|
93359
|
-
}
|
|
93360
|
-
for (const row of rows) {
|
|
93361
|
-
const tspan = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
|
93362
|
-
tspan.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve");
|
|
93363
|
-
tspan.setAttribute("dy", "1em");
|
|
93364
|
-
tspan.setAttribute("x", "0");
|
|
93365
|
-
if (isTitle) {
|
|
93366
|
-
tspan.setAttribute("class", "title-row");
|
|
93367
|
-
} else {
|
|
93368
|
-
tspan.setAttribute("class", "row");
|
|
93369
|
-
}
|
|
93370
|
-
tspan.textContent = row.trim();
|
|
93371
|
-
svgLabel.appendChild(tspan);
|
|
93372
|
-
}
|
|
93373
|
-
return svgLabel;
|
|
93374
|
-
}
|
|
93349
|
+
width: Number.POSITIVE_INFINITY
|
|
93350
|
+
},
|
|
93351
|
+
config2
|
|
93352
|
+
);
|
|
93375
93353
|
}, "createLabel");
|
|
93376
93354
|
var createLabel_default = createLabel;
|
|
93377
93355
|
var createRoundedRectPathD = /* @__PURE__ */ __name((x2, y3, totalWidth, totalHeight, radius) => [
|
|
@@ -93437,15 +93415,21 @@ var rect = /* @__PURE__ */ __name(async (parent, node2) => {
|
|
|
93437
93415
|
const { clusterBkg, clusterBorder } = themeVariables;
|
|
93438
93416
|
const { labelStyles, nodeStyles, borderStyles, backgroundStyles } = styles2String(node2);
|
|
93439
93417
|
const shapeSvg = parent.insert("g").attr("class", "cluster " + node2.cssClasses).attr("id", node2.id).attr("data-look", node2.look);
|
|
93440
|
-
const useHtmlLabels =
|
|
93418
|
+
const useHtmlLabels = getEffectiveHtmlLabels(siteConfig2);
|
|
93441
93419
|
const labelEl = shapeSvg.insert("g").attr("class", "cluster-label ");
|
|
93442
|
-
|
|
93443
|
-
|
|
93444
|
-
|
|
93445
|
-
|
|
93446
|
-
|
|
93420
|
+
let text2;
|
|
93421
|
+
if (node2.labelType === "markdown") {
|
|
93422
|
+
text2 = await createText(labelEl, node2.label, {
|
|
93423
|
+
style: node2.labelStyle,
|
|
93424
|
+
useHtmlLabels,
|
|
93425
|
+
isNode: true,
|
|
93426
|
+
width: node2.width
|
|
93427
|
+
});
|
|
93428
|
+
} else {
|
|
93429
|
+
text2 = await createLabel_default(labelEl, node2.label, node2.labelStyle || "", false, true);
|
|
93430
|
+
}
|
|
93447
93431
|
let bbox = text2.getBBox();
|
|
93448
|
-
if (
|
|
93432
|
+
if (getEffectiveHtmlLabels(siteConfig2)) {
|
|
93449
93433
|
const div = text2.children[0];
|
|
93450
93434
|
const dv = select(text2);
|
|
93451
93435
|
bbox = div.getBoundingClientRect();
|
|
@@ -93528,9 +93512,9 @@ var roundedWithTitle = /* @__PURE__ */ __name(async (parent, node2) => {
|
|
|
93528
93512
|
const outerRectG = shapeSvg.insert("g", ":first-child");
|
|
93529
93513
|
const label = shapeSvg.insert("g").attr("class", "cluster-label");
|
|
93530
93514
|
let innerRect = shapeSvg.append("rect");
|
|
93531
|
-
const text2 =
|
|
93515
|
+
const text2 = await createLabel_default(label, node2.label, node2.labelStyle, void 0, true);
|
|
93532
93516
|
let bbox = text2.getBBox();
|
|
93533
|
-
if (
|
|
93517
|
+
if (getEffectiveHtmlLabels(siteConfig2)) {
|
|
93534
93518
|
const div = text2.children[0];
|
|
93535
93519
|
const dv = select(text2);
|
|
93536
93520
|
bbox = div.getBoundingClientRect();
|
|
@@ -93579,7 +93563,7 @@ var roundedWithTitle = /* @__PURE__ */ __name(async (parent, node2) => {
|
|
|
93579
93563
|
}
|
|
93580
93564
|
label.attr(
|
|
93581
93565
|
"transform",
|
|
93582
|
-
`translate(${node2.x - bbox.width / 2}, ${y3 + 1 - (
|
|
93566
|
+
`translate(${node2.x - bbox.width / 2}, ${y3 + 1 - (getEffectiveHtmlLabels(siteConfig2) ? 0 : 3)})`
|
|
93583
93567
|
);
|
|
93584
93568
|
const rectBox = rect2.node().getBBox();
|
|
93585
93569
|
node2.height = rectBox.height;
|
|
@@ -93598,7 +93582,7 @@ var kanbanSection = /* @__PURE__ */ __name(async (parent, node2) => {
|
|
|
93598
93582
|
const { clusterBkg, clusterBorder } = themeVariables;
|
|
93599
93583
|
const { labelStyles, nodeStyles, borderStyles, backgroundStyles } = styles2String(node2);
|
|
93600
93584
|
const shapeSvg = parent.insert("g").attr("class", "cluster " + node2.cssClasses).attr("id", node2.id).attr("data-look", node2.look);
|
|
93601
|
-
const useHtmlLabels =
|
|
93585
|
+
const useHtmlLabels = getEffectiveHtmlLabels(siteConfig2);
|
|
93602
93586
|
const labelEl = shapeSvg.insert("g").attr("class", "cluster-label ");
|
|
93603
93587
|
const text2 = await createText(labelEl, node2.label, {
|
|
93604
93588
|
style: node2.labelStyle,
|
|
@@ -93607,7 +93591,7 @@ var kanbanSection = /* @__PURE__ */ __name(async (parent, node2) => {
|
|
|
93607
93591
|
width: node2.width
|
|
93608
93592
|
});
|
|
93609
93593
|
let bbox = text2.getBBox();
|
|
93610
|
-
if (
|
|
93594
|
+
if (getEffectiveHtmlLabels(siteConfig2)) {
|
|
93611
93595
|
const div = text2.children[0];
|
|
93612
93596
|
const dv = select(text2);
|
|
93613
93597
|
bbox = div.getBoundingClientRect();
|
|
@@ -94719,44 +94703,49 @@ async function halfRoundedRectangle(parent, node2) {
|
|
|
94719
94703
|
return shapeSvg;
|
|
94720
94704
|
}
|
|
94721
94705
|
__name(halfRoundedRectangle, "halfRoundedRectangle");
|
|
94706
|
+
var createHexagonPathD = /* @__PURE__ */ __name((x2, y3, width, height, m2) => {
|
|
94707
|
+
return [
|
|
94708
|
+
`M${x2 + m2},${y3}`,
|
|
94709
|
+
`L${x2 + width - m2},${y3}`,
|
|
94710
|
+
`L${x2 + width},${y3 - height / 2}`,
|
|
94711
|
+
`L${x2 + width - m2},${y3 - height}`,
|
|
94712
|
+
`L${x2 + m2},${y3 - height}`,
|
|
94713
|
+
`L${x2},${y3 - height / 2}`,
|
|
94714
|
+
"Z"
|
|
94715
|
+
].join(" ");
|
|
94716
|
+
}, "createHexagonPathD");
|
|
94722
94717
|
async function hexagon(parent, node2) {
|
|
94723
94718
|
const { labelStyles, nodeStyles } = styles2String(node2);
|
|
94724
94719
|
node2.labelStyle = labelStyles;
|
|
94725
94720
|
const { shapeSvg, bbox } = await labelHelper(parent, node2, getNodeClasses(node2));
|
|
94726
|
-
const
|
|
94727
|
-
const
|
|
94728
|
-
const
|
|
94729
|
-
const
|
|
94730
|
-
const options = userNodeOverrides(node2, {});
|
|
94731
|
-
if (node2.look !== "handDrawn") {
|
|
94732
|
-
options.roughness = 0;
|
|
94733
|
-
options.fillStyle = "solid";
|
|
94734
|
-
}
|
|
94735
|
-
let halfWidth = w2 / 2;
|
|
94736
|
-
const m2 = halfWidth / 6;
|
|
94737
|
-
halfWidth = halfWidth + m2;
|
|
94738
|
-
const halfHeight = h2 / 2;
|
|
94739
|
-
const fixedLength = halfHeight / 2;
|
|
94740
|
-
const deducedWidth = halfWidth - fixedLength;
|
|
94721
|
+
const f2 = 4;
|
|
94722
|
+
const h2 = bbox.height + node2.padding;
|
|
94723
|
+
const m2 = h2 / f2;
|
|
94724
|
+
const w2 = bbox.width + 2 * m2 + node2.padding;
|
|
94741
94725
|
const points = [
|
|
94742
|
-
{ x:
|
|
94743
|
-
{ x:
|
|
94744
|
-
{ x:
|
|
94745
|
-
{ x:
|
|
94746
|
-
{ x:
|
|
94747
|
-
{ x: 0, y:
|
|
94748
|
-
{ x: -deducedWidth, y: halfHeight },
|
|
94749
|
-
{ x: -halfWidth, y: 0 }
|
|
94726
|
+
{ x: m2, y: 0 },
|
|
94727
|
+
{ x: w2 - m2, y: 0 },
|
|
94728
|
+
{ x: w2, y: -h2 / 2 },
|
|
94729
|
+
{ x: w2 - m2, y: -h2 },
|
|
94730
|
+
{ x: m2, y: -h2 },
|
|
94731
|
+
{ x: 0, y: -h2 / 2 }
|
|
94750
94732
|
];
|
|
94751
|
-
|
|
94752
|
-
const
|
|
94753
|
-
|
|
94754
|
-
|
|
94755
|
-
|
|
94756
|
-
|
|
94733
|
+
let polygon;
|
|
94734
|
+
const { cssStyles } = node2;
|
|
94735
|
+
if (node2.look === "handDrawn") {
|
|
94736
|
+
const rc = at.svg(shapeSvg);
|
|
94737
|
+
const options = userNodeOverrides(node2, {});
|
|
94738
|
+
const pathData = createHexagonPathD(0, 0, w2, h2, m2);
|
|
94739
|
+
const roughNode = rc.path(pathData, options);
|
|
94740
|
+
polygon = shapeSvg.insert(() => roughNode, ":first-child").attr("transform", `translate(${-w2 / 2}, ${h2 / 2})`);
|
|
94741
|
+
if (cssStyles) {
|
|
94742
|
+
polygon.attr("style", cssStyles);
|
|
94743
|
+
}
|
|
94744
|
+
} else {
|
|
94745
|
+
polygon = insertPolygonShape(shapeSvg, w2, h2, points);
|
|
94757
94746
|
}
|
|
94758
|
-
if (nodeStyles
|
|
94759
|
-
polygon.
|
|
94747
|
+
if (nodeStyles) {
|
|
94748
|
+
polygon.attr("style", nodeStyles);
|
|
94760
94749
|
}
|
|
94761
94750
|
node2.width = w2;
|
|
94762
94751
|
node2.height = h2;
|
|
@@ -95775,7 +95764,7 @@ __name(multiWaveEdgedRectangle, "multiWaveEdgedRectangle");
|
|
|
95775
95764
|
async function note(parent, node2, { config: { themeVariables } }) {
|
|
95776
95765
|
const { labelStyles, nodeStyles } = styles2String(node2);
|
|
95777
95766
|
node2.labelStyle = labelStyles;
|
|
95778
|
-
const useHtmlLabels = node2.useHtmlLabels || getConfig()
|
|
95767
|
+
const useHtmlLabels = node2.useHtmlLabels || getEffectiveHtmlLabels(getConfig());
|
|
95779
95768
|
if (!useHtmlLabels) {
|
|
95780
95769
|
node2.centerLabel = true;
|
|
95781
95770
|
}
|
|
@@ -95932,9 +95921,9 @@ async function rectWithTitle(parent, node2) {
|
|
|
95932
95921
|
const label = shapeSvg.insert("g").attr("class", "label").attr("style", nodeStyles);
|
|
95933
95922
|
const description = node2.description;
|
|
95934
95923
|
const title = node2.label;
|
|
95935
|
-
const text2 =
|
|
95924
|
+
const text2 = await createLabel_default(label, title, node2.labelStyle, true, true);
|
|
95936
95925
|
let bbox = { width: 0, height: 0 };
|
|
95937
|
-
if (
|
|
95926
|
+
if (getEffectiveHtmlLabels(getConfig2())) {
|
|
95938
95927
|
const div2 = text2.children[0];
|
|
95939
95928
|
const dv2 = select(text2);
|
|
95940
95929
|
bbox = div2.getBoundingClientRect();
|
|
@@ -95944,13 +95933,12 @@ async function rectWithTitle(parent, node2) {
|
|
|
95944
95933
|
log.info("Text 2", description);
|
|
95945
95934
|
const textRows = description || [];
|
|
95946
95935
|
const titleBox = text2.getBBox();
|
|
95947
|
-
const descr =
|
|
95948
|
-
|
|
95949
|
-
|
|
95950
|
-
|
|
95951
|
-
|
|
95952
|
-
|
|
95953
|
-
)
|
|
95936
|
+
const descr = await createLabel_default(
|
|
95937
|
+
label,
|
|
95938
|
+
Array.isArray(textRows) ? textRows.join("<br/>") : textRows,
|
|
95939
|
+
node2.labelStyle,
|
|
95940
|
+
true,
|
|
95941
|
+
true
|
|
95954
95942
|
);
|
|
95955
95943
|
const div = descr.children[0];
|
|
95956
95944
|
const dv = select(descr);
|
|
@@ -96012,108 +96000,14 @@ async function rectWithTitle(parent, node2) {
|
|
|
96012
96000
|
return shapeSvg;
|
|
96013
96001
|
}
|
|
96014
96002
|
__name(rectWithTitle, "rectWithTitle");
|
|
96015
|
-
function generateArcPoints2(x1, y1, x2, y22, rx, ry, clockwise) {
|
|
96016
|
-
const numPoints = 20;
|
|
96017
|
-
const midX = (x1 + x2) / 2;
|
|
96018
|
-
const midY = (y1 + y22) / 2;
|
|
96019
|
-
const angle = Math.atan2(y22 - y1, x2 - x1);
|
|
96020
|
-
const dx = (x2 - x1) / 2;
|
|
96021
|
-
const dy = (y22 - y1) / 2;
|
|
96022
|
-
const transformedX = dx / rx;
|
|
96023
|
-
const transformedY = dy / ry;
|
|
96024
|
-
const distance2 = Math.sqrt(transformedX ** 2 + transformedY ** 2);
|
|
96025
|
-
if (distance2 > 1) {
|
|
96026
|
-
throw new Error("The given radii are too small to create an arc between the points.");
|
|
96027
|
-
}
|
|
96028
|
-
const scaledCenterDistance = Math.sqrt(1 - distance2 ** 2);
|
|
96029
|
-
const centerX = midX + scaledCenterDistance * ry * Math.sin(angle) * (clockwise ? -1 : 1);
|
|
96030
|
-
const centerY = midY - scaledCenterDistance * rx * Math.cos(angle) * (clockwise ? -1 : 1);
|
|
96031
|
-
const startAngle = Math.atan2((y1 - centerY) / ry, (x1 - centerX) / rx);
|
|
96032
|
-
const endAngle = Math.atan2((y22 - centerY) / ry, (x2 - centerX) / rx);
|
|
96033
|
-
let angleRange = endAngle - startAngle;
|
|
96034
|
-
if (clockwise && angleRange < 0) {
|
|
96035
|
-
angleRange += 2 * Math.PI;
|
|
96036
|
-
}
|
|
96037
|
-
if (!clockwise && angleRange > 0) {
|
|
96038
|
-
angleRange -= 2 * Math.PI;
|
|
96039
|
-
}
|
|
96040
|
-
const points = [];
|
|
96041
|
-
for (let i2 = 0; i2 < numPoints; i2++) {
|
|
96042
|
-
const t2 = i2 / (numPoints - 1);
|
|
96043
|
-
const angle2 = startAngle + t2 * angleRange;
|
|
96044
|
-
const x3 = centerX + rx * Math.cos(angle2);
|
|
96045
|
-
const y3 = centerY + ry * Math.sin(angle2);
|
|
96046
|
-
points.push({ x: x3, y: y3 });
|
|
96047
|
-
}
|
|
96048
|
-
return points;
|
|
96049
|
-
}
|
|
96050
|
-
__name(generateArcPoints2, "generateArcPoints");
|
|
96051
96003
|
async function roundedRect(parent, node2) {
|
|
96052
|
-
const
|
|
96053
|
-
|
|
96054
|
-
|
|
96055
|
-
|
|
96056
|
-
|
|
96057
|
-
const w2 = (node2?.width ? node2?.width : bbox.width) + labelPaddingX * 2;
|
|
96058
|
-
const h2 = (node2?.height ? node2?.height : bbox.height) + labelPaddingY * 2;
|
|
96059
|
-
const radius = node2.radius || 5;
|
|
96060
|
-
const taper = node2.taper || 5;
|
|
96061
|
-
const { cssStyles } = node2;
|
|
96062
|
-
const rc = at.svg(shapeSvg);
|
|
96063
|
-
const options = userNodeOverrides(node2, {});
|
|
96064
|
-
if (node2.stroke) {
|
|
96065
|
-
options.stroke = node2.stroke;
|
|
96066
|
-
}
|
|
96067
|
-
if (node2.look !== "handDrawn") {
|
|
96068
|
-
options.roughness = 0;
|
|
96069
|
-
options.fillStyle = "solid";
|
|
96070
|
-
}
|
|
96071
|
-
const points = [
|
|
96072
|
-
// Top edge (left to right)
|
|
96073
|
-
{ x: -w2 / 2 + taper, y: -h2 / 2 },
|
|
96074
|
-
// Top-left corner start (1)
|
|
96075
|
-
{ x: w2 / 2 - taper, y: -h2 / 2 },
|
|
96076
|
-
// Top-right corner start (2)
|
|
96077
|
-
...generateArcPoints2(w2 / 2 - taper, -h2 / 2, w2 / 2, -h2 / 2 + taper, radius, radius, true),
|
|
96078
|
-
// Top-left arc (2 to 3)
|
|
96079
|
-
// Right edge (top to bottom)
|
|
96080
|
-
{ x: w2 / 2, y: -h2 / 2 + taper },
|
|
96081
|
-
// Top-right taper point (3)
|
|
96082
|
-
{ x: w2 / 2, y: h2 / 2 - taper },
|
|
96083
|
-
// Bottom-right taper point (4)
|
|
96084
|
-
...generateArcPoints2(w2 / 2, h2 / 2 - taper, w2 / 2 - taper, h2 / 2, radius, radius, true),
|
|
96085
|
-
// Top-left arc (4 to 5)
|
|
96086
|
-
// Bottom edge (right to left)
|
|
96087
|
-
{ x: w2 / 2 - taper, y: h2 / 2 },
|
|
96088
|
-
// Bottom-right corner start (5)
|
|
96089
|
-
{ x: -w2 / 2 + taper, y: h2 / 2 },
|
|
96090
|
-
// Bottom-left corner start (6)
|
|
96091
|
-
...generateArcPoints2(-w2 / 2 + taper, h2 / 2, -w2 / 2, h2 / 2 - taper, radius, radius, true),
|
|
96092
|
-
// Top-left arc (4 to 5)
|
|
96093
|
-
// Left edge (bottom to top)
|
|
96094
|
-
{ x: -w2 / 2, y: h2 / 2 - taper },
|
|
96095
|
-
// Bottom-left taper point (7)
|
|
96096
|
-
{ x: -w2 / 2, y: -h2 / 2 + taper },
|
|
96097
|
-
// Top-left taper point (8)
|
|
96098
|
-
...generateArcPoints2(-w2 / 2, -h2 / 2 + taper, -w2 / 2 + taper, -h2 / 2, radius, radius, true)
|
|
96099
|
-
// Top-left arc (4 to 5)
|
|
96100
|
-
];
|
|
96101
|
-
const pathData = createPathFromPoints(points);
|
|
96102
|
-
const shapeNode = rc.path(pathData, options);
|
|
96103
|
-
const polygon = shapeSvg.insert(() => shapeNode, ":first-child");
|
|
96104
|
-
polygon.attr("class", "basic label-container outer-path");
|
|
96105
|
-
if (cssStyles && node2.look !== "handDrawn") {
|
|
96106
|
-
polygon.selectChildren("path").attr("style", cssStyles);
|
|
96107
|
-
}
|
|
96108
|
-
if (nodeStyles && node2.look !== "handDrawn") {
|
|
96109
|
-
polygon.selectChildren("path").attr("style", nodeStyles);
|
|
96110
|
-
}
|
|
96111
|
-
updateNodeBounds(node2, polygon);
|
|
96112
|
-
node2.intersect = function(point2) {
|
|
96113
|
-
const pos = intersect_default.polygon(node2, points, point2);
|
|
96114
|
-
return pos;
|
|
96004
|
+
const options = {
|
|
96005
|
+
rx: 5,
|
|
96006
|
+
ry: 5,
|
|
96007
|
+
labelPaddingX: (node2?.padding || 0) * 1,
|
|
96008
|
+
labelPaddingY: (node2?.padding || 0) * 1
|
|
96115
96009
|
};
|
|
96116
|
-
return
|
|
96010
|
+
return drawRect(parent, node2, options);
|
|
96117
96011
|
}
|
|
96118
96012
|
__name(roundedRect, "roundedRect");
|
|
96119
96013
|
async function shadedProcess(parent, node2) {
|
|
@@ -96679,7 +96573,7 @@ async function triangle(parent, node2) {
|
|
|
96679
96573
|
const { labelStyles, nodeStyles } = styles2String(node2);
|
|
96680
96574
|
node2.labelStyle = labelStyles;
|
|
96681
96575
|
const { shapeSvg, bbox, label } = await labelHelper(parent, node2, getNodeClasses(node2));
|
|
96682
|
-
const useHtmlLabels =
|
|
96576
|
+
const useHtmlLabels = node2.useHtmlLabels || getEffectiveHtmlLabels(getConfig2());
|
|
96683
96577
|
const w2 = bbox.width + (node2.padding ?? 0);
|
|
96684
96578
|
const h2 = w2 + bbox.height;
|
|
96685
96579
|
const tw = w2 + bbox.height;
|
|
@@ -98337,12 +98231,12 @@ var positionNode = /* @__PURE__ */ __name((node2) => {
|
|
|
98337
98231
|
}
|
|
98338
98232
|
return diff;
|
|
98339
98233
|
}, "positionNode");
|
|
98340
|
-
var addEdgeMarkers = /* @__PURE__ */ __name((svgPath, edge, url,
|
|
98234
|
+
var addEdgeMarkers = /* @__PURE__ */ __name((svgPath, edge, url, id30, diagramType, strokeColor) => {
|
|
98341
98235
|
if (edge.arrowTypeStart) {
|
|
98342
|
-
addEdgeMarker(svgPath, "start", edge.arrowTypeStart, url,
|
|
98236
|
+
addEdgeMarker(svgPath, "start", edge.arrowTypeStart, url, id30, diagramType, strokeColor);
|
|
98343
98237
|
}
|
|
98344
98238
|
if (edge.arrowTypeEnd) {
|
|
98345
|
-
addEdgeMarker(svgPath, "end", edge.arrowTypeEnd, url,
|
|
98239
|
+
addEdgeMarker(svgPath, "end", edge.arrowTypeEnd, url, id30, diagramType, strokeColor);
|
|
98346
98240
|
}
|
|
98347
98241
|
}, "addEdgeMarkers");
|
|
98348
98242
|
var arrowTypesMap = {
|
|
@@ -98362,7 +98256,7 @@ var arrowTypesMap = {
|
|
|
98362
98256
|
requirement_arrow: { type: "requirement_arrow", fill: false },
|
|
98363
98257
|
requirement_contains: { type: "requirement_contains", fill: false }
|
|
98364
98258
|
};
|
|
98365
|
-
var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url,
|
|
98259
|
+
var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url, id30, diagramType, strokeColor) => {
|
|
98366
98260
|
const arrowTypeInfo = arrowTypesMap[arrowType];
|
|
98367
98261
|
if (!arrowTypeInfo) {
|
|
98368
98262
|
log.warn(`Unknown arrow type: ${arrowType}`);
|
|
@@ -98370,7 +98264,7 @@ var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url,
|
|
|
98370
98264
|
}
|
|
98371
98265
|
const endMarkerType = arrowTypeInfo.type;
|
|
98372
98266
|
const suffix = position2 === "start" ? "Start" : "End";
|
|
98373
|
-
const originalMarkerId = `${
|
|
98267
|
+
const originalMarkerId = `${id30}_${diagramType}-${endMarkerType}${suffix}`;
|
|
98374
98268
|
if (strokeColor && strokeColor.trim() !== "") {
|
|
98375
98269
|
const colorId = strokeColor.replace(/[^\dA-Za-z]/g, "_");
|
|
98376
98270
|
const coloredMarkerId = `${originalMarkerId}_${colorId}`;
|
|
@@ -98394,6 +98288,9 @@ var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url,
|
|
|
98394
98288
|
svgPath.attr(`marker-${position2}`, `url(${url}#${originalMarkerId})`);
|
|
98395
98289
|
}
|
|
98396
98290
|
}, "addEdgeMarker");
|
|
98291
|
+
var resolveEdgeCurveType = /* @__PURE__ */ __name((edgeCurve) => {
|
|
98292
|
+
return typeof edgeCurve === "string" ? edgeCurve : getConfig2()?.flowchart?.curve;
|
|
98293
|
+
}, "resolveEdgeCurveType");
|
|
98397
98294
|
var edgeLabels = /* @__PURE__ */ new Map();
|
|
98398
98295
|
var terminalLabels = /* @__PURE__ */ new Map();
|
|
98399
98296
|
var clear = /* @__PURE__ */ __name(() => {
|
|
@@ -98401,46 +98298,79 @@ var clear = /* @__PURE__ */ __name(() => {
|
|
|
98401
98298
|
terminalLabels.clear();
|
|
98402
98299
|
}, "clear");
|
|
98403
98300
|
var getLabelStyles = /* @__PURE__ */ __name((styleArray) => {
|
|
98404
|
-
|
|
98405
|
-
|
|
98301
|
+
if (!styleArray) {
|
|
98302
|
+
return "";
|
|
98303
|
+
}
|
|
98304
|
+
if (typeof styleArray === "string") {
|
|
98305
|
+
return styleArray;
|
|
98306
|
+
}
|
|
98307
|
+
return styleArray.reduce((acc, style2) => acc + ";" + style2, "");
|
|
98406
98308
|
}, "getLabelStyles");
|
|
98407
98309
|
var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
|
|
98408
|
-
|
|
98310
|
+
const config2 = getConfig2();
|
|
98311
|
+
let useHtmlLabels = getEffectiveHtmlLabels(config2);
|
|
98409
98312
|
const { labelStyles } = styles2String(edge);
|
|
98410
98313
|
edge.labelStyle = labelStyles;
|
|
98411
|
-
const labelElement = await createText(elem, edge.label, {
|
|
98412
|
-
style: edge.labelStyle,
|
|
98413
|
-
useHtmlLabels,
|
|
98414
|
-
addSvgBackground: true,
|
|
98415
|
-
isNode: false
|
|
98416
|
-
});
|
|
98417
|
-
log.info("abc82", edge, edge.labelType);
|
|
98418
98314
|
const edgeLabel = elem.insert("g").attr("class", "edgeLabel");
|
|
98419
98315
|
const label = edgeLabel.insert("g").attr("class", "label").attr("data-id", edge.id);
|
|
98316
|
+
const isMarkdown = edge.labelType === "markdown";
|
|
98317
|
+
const markdownWidth = void 0;
|
|
98318
|
+
const labelElement = await createText(
|
|
98319
|
+
elem,
|
|
98320
|
+
edge.label,
|
|
98321
|
+
{
|
|
98322
|
+
style: getLabelStyles(edge.labelStyle),
|
|
98323
|
+
useHtmlLabels,
|
|
98324
|
+
addSvgBackground: true,
|
|
98325
|
+
isNode: false,
|
|
98326
|
+
markdown: isMarkdown,
|
|
98327
|
+
// Plain text edge labels should auto-wrap, markdown edge labels respect markdownAutoWrap config
|
|
98328
|
+
width: isMarkdown ? markdownWidth : void 0
|
|
98329
|
+
},
|
|
98330
|
+
config2
|
|
98331
|
+
);
|
|
98420
98332
|
label.node().appendChild(labelElement);
|
|
98333
|
+
log.info("abc82", edge, edge.labelType);
|
|
98421
98334
|
let bbox = labelElement.getBBox();
|
|
98335
|
+
let transformBbox = bbox;
|
|
98422
98336
|
if (useHtmlLabels) {
|
|
98423
98337
|
const div = labelElement.children[0];
|
|
98424
98338
|
const dv = select(labelElement);
|
|
98425
98339
|
bbox = div.getBoundingClientRect();
|
|
98340
|
+
transformBbox = bbox;
|
|
98426
98341
|
dv.attr("width", bbox.width);
|
|
98427
98342
|
dv.attr("height", bbox.height);
|
|
98343
|
+
} else {
|
|
98344
|
+
const textEl = select(labelElement).select("text").node();
|
|
98345
|
+
if (textEl && typeof textEl.getBBox === "function") {
|
|
98346
|
+
transformBbox = textEl.getBBox();
|
|
98347
|
+
}
|
|
98428
98348
|
}
|
|
98429
|
-
label.attr("transform",
|
|
98349
|
+
label.attr("transform", computeLabelTransform(transformBbox, useHtmlLabels));
|
|
98430
98350
|
edgeLabels.set(edge.id, edgeLabel);
|
|
98431
98351
|
edge.width = bbox.width;
|
|
98432
98352
|
edge.height = bbox.height;
|
|
98433
98353
|
let fo;
|
|
98434
98354
|
if (edge.startLabelLeft) {
|
|
98355
|
+
const startEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
|
|
98356
|
+
const inner2 = startEdgeLabelLeft.insert("g").attr("class", "inner");
|
|
98435
98357
|
const startLabelElement = await createLabel_default(
|
|
98358
|
+
inner2,
|
|
98436
98359
|
edge.startLabelLeft,
|
|
98437
|
-
getLabelStyles(edge.labelStyle)
|
|
98360
|
+
getLabelStyles(edge.labelStyle) || "",
|
|
98361
|
+
false,
|
|
98362
|
+
false
|
|
98438
98363
|
);
|
|
98439
|
-
|
|
98440
|
-
|
|
98441
|
-
|
|
98442
|
-
|
|
98443
|
-
|
|
98364
|
+
fo = startLabelElement;
|
|
98365
|
+
let slBox = startLabelElement.getBBox();
|
|
98366
|
+
if (useHtmlLabels) {
|
|
98367
|
+
const div = startLabelElement.children[0];
|
|
98368
|
+
const dv = select(startLabelElement);
|
|
98369
|
+
slBox = div.getBoundingClientRect();
|
|
98370
|
+
dv.attr("width", slBox.width);
|
|
98371
|
+
dv.attr("height", slBox.height);
|
|
98372
|
+
}
|
|
98373
|
+
inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
|
|
98444
98374
|
if (!terminalLabels.get(edge.id)) {
|
|
98445
98375
|
terminalLabels.set(edge.id, {});
|
|
98446
98376
|
}
|
|
@@ -98448,16 +98378,26 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
|
|
|
98448
98378
|
setTerminalWidth(fo, edge.startLabelLeft);
|
|
98449
98379
|
}
|
|
98450
98380
|
if (edge.startLabelRight) {
|
|
98381
|
+
const startEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
|
|
98382
|
+
const inner2 = startEdgeLabelRight.insert("g").attr("class", "inner");
|
|
98451
98383
|
const startLabelElement = await createLabel_default(
|
|
98384
|
+
inner2,
|
|
98452
98385
|
edge.startLabelRight,
|
|
98453
|
-
getLabelStyles(edge.labelStyle)
|
|
98386
|
+
getLabelStyles(edge.labelStyle) || "",
|
|
98387
|
+
false,
|
|
98388
|
+
false
|
|
98454
98389
|
);
|
|
98455
|
-
|
|
98456
|
-
const inner2 = startEdgeLabelRight.insert("g").attr("class", "inner");
|
|
98457
|
-
fo = startEdgeLabelRight.node().appendChild(startLabelElement);
|
|
98390
|
+
fo = startLabelElement;
|
|
98458
98391
|
inner2.node().appendChild(startLabelElement);
|
|
98459
|
-
|
|
98460
|
-
|
|
98392
|
+
let slBox = startLabelElement.getBBox();
|
|
98393
|
+
if (useHtmlLabels) {
|
|
98394
|
+
const div = startLabelElement.children[0];
|
|
98395
|
+
const dv = select(startLabelElement);
|
|
98396
|
+
slBox = div.getBoundingClientRect();
|
|
98397
|
+
dv.attr("width", slBox.width);
|
|
98398
|
+
dv.attr("height", slBox.height);
|
|
98399
|
+
}
|
|
98400
|
+
inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
|
|
98461
98401
|
if (!terminalLabels.get(edge.id)) {
|
|
98462
98402
|
terminalLabels.set(edge.id, {});
|
|
98463
98403
|
}
|
|
@@ -98465,12 +98405,25 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
|
|
|
98465
98405
|
setTerminalWidth(fo, edge.startLabelRight);
|
|
98466
98406
|
}
|
|
98467
98407
|
if (edge.endLabelLeft) {
|
|
98468
|
-
const endLabelElement = await createLabel_default(edge.endLabelLeft, getLabelStyles(edge.labelStyle));
|
|
98469
98408
|
const endEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
|
|
98470
98409
|
const inner2 = endEdgeLabelLeft.insert("g").attr("class", "inner");
|
|
98471
|
-
|
|
98472
|
-
|
|
98473
|
-
|
|
98410
|
+
const endLabelElement = await createLabel_default(
|
|
98411
|
+
inner2,
|
|
98412
|
+
edge.endLabelLeft,
|
|
98413
|
+
getLabelStyles(edge.labelStyle) || "",
|
|
98414
|
+
false,
|
|
98415
|
+
false
|
|
98416
|
+
);
|
|
98417
|
+
fo = endLabelElement;
|
|
98418
|
+
let slBox = endLabelElement.getBBox();
|
|
98419
|
+
if (useHtmlLabels) {
|
|
98420
|
+
const div = endLabelElement.children[0];
|
|
98421
|
+
const dv = select(endLabelElement);
|
|
98422
|
+
slBox = div.getBoundingClientRect();
|
|
98423
|
+
dv.attr("width", slBox.width);
|
|
98424
|
+
dv.attr("height", slBox.height);
|
|
98425
|
+
}
|
|
98426
|
+
inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
|
|
98474
98427
|
endEdgeLabelLeft.node().appendChild(endLabelElement);
|
|
98475
98428
|
if (!terminalLabels.get(edge.id)) {
|
|
98476
98429
|
terminalLabels.set(edge.id, {});
|
|
@@ -98479,12 +98432,25 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
|
|
|
98479
98432
|
setTerminalWidth(fo, edge.endLabelLeft);
|
|
98480
98433
|
}
|
|
98481
98434
|
if (edge.endLabelRight) {
|
|
98482
|
-
const endLabelElement = await createLabel_default(edge.endLabelRight, getLabelStyles(edge.labelStyle));
|
|
98483
98435
|
const endEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
|
|
98484
98436
|
const inner2 = endEdgeLabelRight.insert("g").attr("class", "inner");
|
|
98485
|
-
|
|
98486
|
-
|
|
98487
|
-
|
|
98437
|
+
const endLabelElement = await createLabel_default(
|
|
98438
|
+
inner2,
|
|
98439
|
+
edge.endLabelRight,
|
|
98440
|
+
getLabelStyles(edge.labelStyle) || "",
|
|
98441
|
+
false,
|
|
98442
|
+
false
|
|
98443
|
+
);
|
|
98444
|
+
fo = endLabelElement;
|
|
98445
|
+
let slBox = endLabelElement.getBBox();
|
|
98446
|
+
if (useHtmlLabels) {
|
|
98447
|
+
const div = endLabelElement.children[0];
|
|
98448
|
+
const dv = select(endLabelElement);
|
|
98449
|
+
slBox = div.getBoundingClientRect();
|
|
98450
|
+
dv.attr("width", slBox.width);
|
|
98451
|
+
dv.attr("height", slBox.height);
|
|
98452
|
+
}
|
|
98453
|
+
inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
|
|
98488
98454
|
endEdgeLabelRight.node().appendChild(endLabelElement);
|
|
98489
98455
|
if (!terminalLabels.get(edge.id)) {
|
|
98490
98456
|
terminalLabels.set(edge.id, {});
|
|
@@ -98495,7 +98461,7 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
|
|
|
98495
98461
|
return labelElement;
|
|
98496
98462
|
}, "insertEdgeLabel");
|
|
98497
98463
|
function setTerminalWidth(fo, value) {
|
|
98498
|
-
if (getConfig2()
|
|
98464
|
+
if (getEffectiveHtmlLabels(getConfig2()) && fo) {
|
|
98499
98465
|
fo.style.width = value.length * 9 + "px";
|
|
98500
98466
|
fo.style.height = "12px";
|
|
98501
98467
|
}
|
|
@@ -98757,7 +98723,7 @@ var generateDashArray = /* @__PURE__ */ __name((len, oValueS, oValueE) => {
|
|
|
98757
98723
|
const dashArray = `0 ${oValueS} ${middlePattern} ${oValueE}`;
|
|
98758
98724
|
return dashArray;
|
|
98759
98725
|
}, "generateDashArray");
|
|
98760
|
-
var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramType, startNode, endNode,
|
|
98726
|
+
var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramType, startNode, endNode, id30, skipIntersect = false) {
|
|
98761
98727
|
const { handDrawnSeed } = getConfig2();
|
|
98762
98728
|
let points = edge.points;
|
|
98763
98729
|
let pointsHasChanged = false;
|
|
@@ -98801,10 +98767,12 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
|
|
|
98801
98767
|
pointsHasChanged = true;
|
|
98802
98768
|
}
|
|
98803
98769
|
let lineData = points.filter((p2) => !Number.isNaN(p2.y));
|
|
98804
|
-
|
|
98805
|
-
|
|
98806
|
-
|
|
98807
|
-
|
|
98770
|
+
const edgeCurveType = resolveEdgeCurveType(edge.curve);
|
|
98771
|
+
if (edgeCurveType !== "rounded") {
|
|
98772
|
+
lineData = fixCorners(lineData);
|
|
98773
|
+
}
|
|
98774
|
+
let curve = curveLinear;
|
|
98775
|
+
switch (edgeCurveType) {
|
|
98808
98776
|
case "linear":
|
|
98809
98777
|
curve = curveLinear;
|
|
98810
98778
|
break;
|
|
@@ -98841,6 +98809,9 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
|
|
|
98841
98809
|
case "stepBefore":
|
|
98842
98810
|
curve = stepBefore;
|
|
98843
98811
|
break;
|
|
98812
|
+
case "rounded":
|
|
98813
|
+
curve = curveLinear;
|
|
98814
|
+
break;
|
|
98844
98815
|
default:
|
|
98845
98816
|
curve = curveBasis;
|
|
98846
98817
|
}
|
|
@@ -98874,9 +98845,16 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
|
|
|
98874
98845
|
strokeClasses += " edge-pattern-solid";
|
|
98875
98846
|
}
|
|
98876
98847
|
let svgPath;
|
|
98877
|
-
let linePath =
|
|
98848
|
+
let linePath = edgeCurveType === "rounded" ? generateRoundedPath(applyMarkerOffsetsToPoints(lineData, edge), 5) : lineFunction(lineData);
|
|
98878
98849
|
const edgeStyles = Array.isArray(edge.style) ? edge.style : [edge.style];
|
|
98879
98850
|
let strokeColor = edgeStyles.find((style2) => style2?.startsWith("stroke:"));
|
|
98851
|
+
let animationClass = "";
|
|
98852
|
+
if (edge.animate) {
|
|
98853
|
+
animationClass = "edge-animation-fast";
|
|
98854
|
+
}
|
|
98855
|
+
if (edge.animation) {
|
|
98856
|
+
animationClass = "edge-animation-" + edge.animation;
|
|
98857
|
+
}
|
|
98880
98858
|
let animatedEdge = false;
|
|
98881
98859
|
if (edge.look === "handDrawn") {
|
|
98882
98860
|
const rc = at.svg(elem);
|
|
@@ -98886,24 +98864,20 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
|
|
|
98886
98864
|
seed: handDrawnSeed
|
|
98887
98865
|
});
|
|
98888
98866
|
strokeClasses += " transition";
|
|
98889
|
-
svgPath = select(svgPathNode).select("path").attr("id", edge.id).attr(
|
|
98867
|
+
svgPath = select(svgPathNode).select("path").attr("id", edge.id).attr(
|
|
98868
|
+
"class",
|
|
98869
|
+
" " + strokeClasses + (edge.classes ? " " + edge.classes : "") + (animationClass ? " " + animationClass : "")
|
|
98870
|
+
).attr("style", edgeStyles ? edgeStyles.reduce((acc, style2) => acc + ";" + style2, "") : "");
|
|
98890
98871
|
let d2 = svgPath.attr("d");
|
|
98891
98872
|
svgPath.attr("d", d2);
|
|
98892
98873
|
elem.node().appendChild(svgPath.node());
|
|
98893
98874
|
} else {
|
|
98894
98875
|
const stylesFromClasses = edgeClassStyles.join(";");
|
|
98895
98876
|
const styles2 = edgeStyles ? edgeStyles.reduce((acc, style2) => acc + style2 + ";", "") : "";
|
|
98896
|
-
let animationClass = "";
|
|
98897
|
-
if (edge.animate) {
|
|
98898
|
-
animationClass = " edge-animation-fast";
|
|
98899
|
-
}
|
|
98900
|
-
if (edge.animation) {
|
|
98901
|
-
animationClass = " edge-animation-" + edge.animation;
|
|
98902
|
-
}
|
|
98903
98877
|
const pathStyle = (stylesFromClasses ? stylesFromClasses + ";" + styles2 + ";" : styles2) + ";" + (edgeStyles ? edgeStyles.reduce((acc, style2) => acc + ";" + style2, "") : "");
|
|
98904
98878
|
svgPath = elem.append("path").attr("d", linePath).attr("id", edge.id).attr(
|
|
98905
98879
|
"class",
|
|
98906
|
-
" " + strokeClasses + (edge.classes ? " " + edge.classes : "") + (animationClass
|
|
98880
|
+
" " + strokeClasses + (edge.classes ? " " + edge.classes : "") + (animationClass ? " " + animationClass : "")
|
|
98907
98881
|
).attr("style", pathStyle);
|
|
98908
98882
|
strokeColor = pathStyle.match(/stroke:([^;]+)/)?.[1];
|
|
98909
98883
|
animatedEdge = edge.animate === true || !!edge.animation || stylesFromClasses.includes("animation");
|
|
@@ -98933,7 +98907,7 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
|
|
|
98933
98907
|
}
|
|
98934
98908
|
log.info("arrowTypeStart", edge.arrowTypeStart);
|
|
98935
98909
|
log.info("arrowTypeEnd", edge.arrowTypeEnd);
|
|
98936
|
-
addEdgeMarkers(svgPath, edge, url,
|
|
98910
|
+
addEdgeMarkers(svgPath, edge, url, id30, diagramType, strokeColor);
|
|
98937
98911
|
const midIndex = Math.floor(points.length / 2);
|
|
98938
98912
|
const point2 = points[midIndex];
|
|
98939
98913
|
if (!utils_default.isLabelCoordinateInPath(point2, svgPath.attr("d"))) {
|
|
@@ -99031,73 +99005,73 @@ function applyMarkerOffsetsToPoints(points, edge) {
|
|
|
99031
99005
|
return newPoints;
|
|
99032
99006
|
}
|
|
99033
99007
|
__name(applyMarkerOffsetsToPoints, "applyMarkerOffsetsToPoints");
|
|
99034
|
-
var insertMarkers = /* @__PURE__ */ __name((elem, markerArray, type2,
|
|
99008
|
+
var insertMarkers = /* @__PURE__ */ __name((elem, markerArray, type2, id30) => {
|
|
99035
99009
|
markerArray.forEach((markerName) => {
|
|
99036
|
-
markers[markerName](elem, type2,
|
|
99010
|
+
markers[markerName](elem, type2, id30);
|
|
99037
99011
|
});
|
|
99038
99012
|
}, "insertMarkers");
|
|
99039
|
-
var extension = /* @__PURE__ */ __name((elem, type2,
|
|
99040
|
-
log.trace("Making markers for ",
|
|
99041
|
-
elem.append("defs").append("marker").attr("id",
|
|
99042
|
-
elem.append("defs").append("marker").attr("id",
|
|
99013
|
+
var extension = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99014
|
+
log.trace("Making markers for ", id30);
|
|
99015
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-extensionStart").attr("class", "marker extension " + type2).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z");
|
|
99016
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-extensionEnd").attr("class", "marker extension " + type2).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z");
|
|
99043
99017
|
}, "extension");
|
|
99044
|
-
var composition = /* @__PURE__ */ __name((elem, type2,
|
|
99045
|
-
elem.append("defs").append("marker").attr("id",
|
|
99046
|
-
elem.append("defs").append("marker").attr("id",
|
|
99018
|
+
var composition = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99019
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-compositionStart").attr("class", "marker composition " + type2).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
|
99020
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-compositionEnd").attr("class", "marker composition " + type2).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
|
99047
99021
|
}, "composition");
|
|
99048
|
-
var aggregation = /* @__PURE__ */ __name((elem, type2,
|
|
99049
|
-
elem.append("defs").append("marker").attr("id",
|
|
99050
|
-
elem.append("defs").append("marker").attr("id",
|
|
99022
|
+
var aggregation = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99023
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-aggregationStart").attr("class", "marker aggregation " + type2).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
|
99024
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-aggregationEnd").attr("class", "marker aggregation " + type2).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
|
99051
99025
|
}, "aggregation");
|
|
99052
|
-
var dependency = /* @__PURE__ */ __name((elem, type2,
|
|
99053
|
-
elem.append("defs").append("marker").attr("id",
|
|
99054
|
-
elem.append("defs").append("marker").attr("id",
|
|
99026
|
+
var dependency = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99027
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-dependencyStart").attr("class", "marker dependency " + type2).attr("refX", 6).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z");
|
|
99028
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-dependencyEnd").attr("class", "marker dependency " + type2).attr("refX", 13).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z");
|
|
99055
99029
|
}, "dependency");
|
|
99056
|
-
var lollipop = /* @__PURE__ */ __name((elem, type2,
|
|
99057
|
-
elem.append("defs").append("marker").attr("id",
|
|
99058
|
-
elem.append("defs").append("marker").attr("id",
|
|
99030
|
+
var lollipop = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99031
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-lollipopStart").attr("class", "marker lollipop " + type2).attr("refX", 13).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
|
|
99032
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-lollipopEnd").attr("class", "marker lollipop " + type2).attr("refX", 1).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
|
|
99059
99033
|
}, "lollipop");
|
|
99060
|
-
var point = /* @__PURE__ */ __name((elem, type2,
|
|
99061
|
-
elem.append("marker").attr("id",
|
|
99062
|
-
elem.append("marker").attr("id",
|
|
99034
|
+
var point = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99035
|
+
elem.append("marker").attr("id", id30 + "_" + type2 + "-pointEnd").attr("class", "marker " + type2).attr("viewBox", "0 0 10 10").attr("refX", 5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
|
99036
|
+
elem.append("marker").attr("id", id30 + "_" + type2 + "-pointStart").attr("class", "marker " + type2).attr("viewBox", "0 0 10 10").attr("refX", 4.5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("path").attr("d", "M 0 5 L 10 10 L 10 0 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
|
99063
99037
|
}, "point");
|
|
99064
|
-
var circle = /* @__PURE__ */ __name((elem, type2,
|
|
99065
|
-
elem.append("marker").attr("id",
|
|
99066
|
-
elem.append("marker").attr("id",
|
|
99038
|
+
var circle = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99039
|
+
elem.append("marker").attr("id", id30 + "_" + type2 + "-circleEnd").attr("class", "marker " + type2).attr("viewBox", "0 0 10 10").attr("refX", 11).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
|
99040
|
+
elem.append("marker").attr("id", id30 + "_" + type2 + "-circleStart").attr("class", "marker " + type2).attr("viewBox", "0 0 10 10").attr("refX", -1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
|
99067
99041
|
}, "circle");
|
|
99068
|
-
var cross = /* @__PURE__ */ __name((elem, type2,
|
|
99069
|
-
elem.append("marker").attr("id",
|
|
99070
|
-
elem.append("marker").attr("id",
|
|
99042
|
+
var cross = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99043
|
+
elem.append("marker").attr("id", id30 + "_" + type2 + "-crossEnd").attr("class", "marker cross " + type2).attr("viewBox", "0 0 11 11").attr("refX", 12).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0");
|
|
99044
|
+
elem.append("marker").attr("id", id30 + "_" + type2 + "-crossStart").attr("class", "marker cross " + type2).attr("viewBox", "0 0 11 11").attr("refX", -1).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0");
|
|
99071
99045
|
}, "cross");
|
|
99072
|
-
var barb = /* @__PURE__ */ __name((elem, type2,
|
|
99073
|
-
elem.append("defs").append("marker").attr("id",
|
|
99046
|
+
var barb = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99047
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-barbEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 14).attr("markerUnits", "userSpaceOnUse").attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
|
|
99074
99048
|
}, "barb");
|
|
99075
|
-
var only_one = /* @__PURE__ */ __name((elem, type2,
|
|
99076
|
-
elem.append("defs").append("marker").attr("id",
|
|
99077
|
-
elem.append("defs").append("marker").attr("id",
|
|
99049
|
+
var only_one = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99050
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-onlyOneStart").attr("class", "marker onlyOne " + type2).attr("refX", 0).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("d", "M9,0 L9,18 M15,0 L15,18");
|
|
99051
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-onlyOneEnd").attr("class", "marker onlyOne " + type2).attr("refX", 18).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("d", "M3,0 L3,18 M9,0 L9,18");
|
|
99078
99052
|
}, "only_one");
|
|
99079
|
-
var zero_or_one = /* @__PURE__ */ __name((elem, type2,
|
|
99080
|
-
const startMarker = elem.append("defs").append("marker").attr("id",
|
|
99053
|
+
var zero_or_one = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99054
|
+
const startMarker = elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-zeroOrOneStart").attr("class", "marker zeroOrOne " + type2).attr("refX", 0).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
|
|
99081
99055
|
startMarker.append("circle").attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6);
|
|
99082
99056
|
startMarker.append("path").attr("d", "M9,0 L9,18");
|
|
99083
|
-
const endMarker = elem.append("defs").append("marker").attr("id",
|
|
99057
|
+
const endMarker = elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-zeroOrOneEnd").attr("class", "marker zeroOrOne " + type2).attr("refX", 30).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
|
|
99084
99058
|
endMarker.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6);
|
|
99085
99059
|
endMarker.append("path").attr("d", "M21,0 L21,18");
|
|
99086
99060
|
}, "zero_or_one");
|
|
99087
|
-
var one_or_more = /* @__PURE__ */ __name((elem, type2,
|
|
99088
|
-
elem.append("defs").append("marker").attr("id",
|
|
99089
|
-
elem.append("defs").append("marker").attr("id",
|
|
99061
|
+
var one_or_more = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99062
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-oneOrMoreStart").attr("class", "marker oneOrMore " + type2).attr("refX", 18).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("d", "M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27");
|
|
99063
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-oneOrMoreEnd").attr("class", "marker oneOrMore " + type2).attr("refX", 27).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("d", "M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18");
|
|
99090
99064
|
}, "one_or_more");
|
|
99091
|
-
var zero_or_more = /* @__PURE__ */ __name((elem, type2,
|
|
99092
|
-
const startMarker = elem.append("defs").append("marker").attr("id",
|
|
99065
|
+
var zero_or_more = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99066
|
+
const startMarker = elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-zeroOrMoreStart").attr("class", "marker zeroOrMore " + type2).attr("refX", 18).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
|
|
99093
99067
|
startMarker.append("circle").attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6);
|
|
99094
99068
|
startMarker.append("path").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18");
|
|
99095
|
-
const endMarker = elem.append("defs").append("marker").attr("id",
|
|
99069
|
+
const endMarker = elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-zeroOrMoreEnd").attr("class", "marker zeroOrMore " + type2).attr("refX", 39).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
|
|
99096
99070
|
endMarker.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6);
|
|
99097
99071
|
endMarker.append("path").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18");
|
|
99098
99072
|
}, "zero_or_more");
|
|
99099
|
-
var requirement_arrow = /* @__PURE__ */ __name((elem, type2,
|
|
99100
|
-
elem.append("defs").append("marker").attr("id",
|
|
99073
|
+
var requirement_arrow = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99074
|
+
elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-requirement_arrowEnd").attr("refX", 20).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("path").attr(
|
|
99101
99075
|
"d",
|
|
99102
99076
|
`M0,0
|
|
99103
99077
|
L20,10
|
|
@@ -99105,8 +99079,8 @@ var requirement_arrow = /* @__PURE__ */ __name((elem, type2, id28) => {
|
|
|
99105
99079
|
L0,20`
|
|
99106
99080
|
);
|
|
99107
99081
|
}, "requirement_arrow");
|
|
99108
|
-
var requirement_contains = /* @__PURE__ */ __name((elem, type2,
|
|
99109
|
-
const containsNode = elem.append("defs").append("marker").attr("id",
|
|
99082
|
+
var requirement_contains = /* @__PURE__ */ __name((elem, type2, id30) => {
|
|
99083
|
+
const containsNode = elem.append("defs").append("marker").attr("id", id30 + "_" + type2 + "-requirement_containsStart").attr("refX", 0).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("g");
|
|
99110
99084
|
containsNode.append("circle").attr("cx", 10).attr("cy", 10).attr("r", 9).attr("fill", "none");
|
|
99111
99085
|
containsNode.append("line").attr("x1", 1).attr("x2", 19).attr("y1", 10).attr("y2", 10);
|
|
99112
99086
|
containsNode.append("line").attr("y1", 1).attr("y2", 19).attr("x1", 10).attr("x2", 10);
|
|
@@ -99144,20 +99118,20 @@ var internalHelpers = {
|
|
|
99144
99118
|
};
|
|
99145
99119
|
var layoutAlgorithms = {};
|
|
99146
99120
|
var registerLayoutLoaders = /* @__PURE__ */ __name((loaders) => {
|
|
99147
|
-
for (const
|
|
99148
|
-
layoutAlgorithms[
|
|
99121
|
+
for (const loader30 of loaders) {
|
|
99122
|
+
layoutAlgorithms[loader30.name] = loader30;
|
|
99149
99123
|
}
|
|
99150
99124
|
}, "registerLayoutLoaders");
|
|
99151
99125
|
var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
99152
99126
|
registerLayoutLoaders([
|
|
99153
99127
|
{
|
|
99154
99128
|
name: "dagre",
|
|
99155
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-
|
|
99129
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-Dm5yE9k2.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
|
|
99156
99130
|
},
|
|
99157
99131
|
...[
|
|
99158
99132
|
{
|
|
99159
99133
|
name: "cose-bilkent",
|
|
99160
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-
|
|
99134
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-BttciCz5.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
|
|
99161
99135
|
}
|
|
99162
99136
|
]
|
|
99163
99137
|
]);
|
|
@@ -99597,7 +99571,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
99597
99571
|
}, "detector");
|
|
99598
99572
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
99599
99573
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99600
|
-
const { diagram: diagram22 } = await import("./c4Diagram-
|
|
99574
|
+
const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-ChGTHIor.js");
|
|
99601
99575
|
return { diagram: diagram22 };
|
|
99602
99576
|
}, true ? __vite__mapDeps([8,9]) : void 0);
|
|
99603
99577
|
return { id: id$1, diagram: diagram2 };
|
|
@@ -99617,9 +99591,9 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
99617
99591
|
}, "detector");
|
|
99618
99592
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
99619
99593
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99620
|
-
const { diagram: diagram22 } = await import("./flowDiagram-
|
|
99594
|
+
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-D6hXqCy7.js");
|
|
99621
99595
|
return { diagram: diagram22 };
|
|
99622
|
-
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
99596
|
+
}, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
|
|
99623
99597
|
return { id: id2, diagram: diagram2 };
|
|
99624
99598
|
}, "loader");
|
|
99625
99599
|
var plugin2 = {
|
|
@@ -99643,9 +99617,9 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
99643
99617
|
}, "detector");
|
|
99644
99618
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
99645
99619
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99646
|
-
const { diagram: diagram22 } = await import("./flowDiagram-
|
|
99620
|
+
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-D6hXqCy7.js");
|
|
99647
99621
|
return { diagram: diagram22 };
|
|
99648
|
-
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
99622
|
+
}, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
|
|
99649
99623
|
return { id: id3, diagram: diagram2 };
|
|
99650
99624
|
}, "loader");
|
|
99651
99625
|
var plugin3 = {
|
|
@@ -99660,7 +99634,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
99660
99634
|
}, "detector");
|
|
99661
99635
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
99662
99636
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99663
|
-
const { diagram: diagram22 } = await import("./erDiagram-
|
|
99637
|
+
const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-7MrtsOIt.js");
|
|
99664
99638
|
return { diagram: diagram22 };
|
|
99665
99639
|
}, true ? __vite__mapDeps([15,12,13,14]) : void 0);
|
|
99666
99640
|
return { id: id4, diagram: diagram2 };
|
|
@@ -99677,7 +99651,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
99677
99651
|
}, "detector");
|
|
99678
99652
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
99679
99653
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99680
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-
|
|
99654
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-BmVD_nQP.js");
|
|
99681
99655
|
return { diagram: diagram22 };
|
|
99682
99656
|
}, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
|
|
99683
99657
|
return { id: id5, diagram: diagram2 };
|
|
@@ -99694,7 +99668,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
99694
99668
|
}, "detector");
|
|
99695
99669
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
99696
99670
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99697
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-
|
|
99671
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-DLO0XCDk.js");
|
|
99698
99672
|
return { diagram: diagram22 };
|
|
99699
99673
|
}, true ? __vite__mapDeps([20,21,22,23]) : void 0);
|
|
99700
99674
|
return { id: id6, diagram: diagram2 };
|
|
@@ -99711,7 +99685,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
99711
99685
|
}, "detector");
|
|
99712
99686
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
99713
99687
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99714
|
-
const { diagram: diagram22 } = await import("./infoDiagram-
|
|
99688
|
+
const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-D2fqM9Fn.js");
|
|
99715
99689
|
return { diagram: diagram22 };
|
|
99716
99690
|
}, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
|
|
99717
99691
|
return { id: id7, diagram: diagram2 };
|
|
@@ -99727,7 +99701,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
99727
99701
|
}, "detector");
|
|
99728
99702
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
99729
99703
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99730
|
-
const { diagram: diagram22 } = await import("./pieDiagram-
|
|
99704
|
+
const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-Bu8kmCW6.js");
|
|
99731
99705
|
return { diagram: diagram22 };
|
|
99732
99706
|
}, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
|
|
99733
99707
|
return { id: id8, diagram: diagram2 };
|
|
@@ -99743,7 +99717,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
99743
99717
|
}, "detector");
|
|
99744
99718
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
99745
99719
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99746
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-
|
|
99720
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-DIBSNUGa.js");
|
|
99747
99721
|
return { diagram: diagram22 };
|
|
99748
99722
|
}, true ? __vite__mapDeps([28,21,22,23]) : void 0);
|
|
99749
99723
|
return { id: id9, diagram: diagram2 };
|
|
@@ -99760,7 +99734,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
99760
99734
|
}, "detector");
|
|
99761
99735
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
99762
99736
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99763
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-
|
|
99737
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-BWLUzo9S.js");
|
|
99764
99738
|
return { diagram: diagram22 };
|
|
99765
99739
|
}, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
|
|
99766
99740
|
return { id: id10, diagram: diagram2 };
|
|
@@ -99777,7 +99751,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
99777
99751
|
}, "detector");
|
|
99778
99752
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
99779
99753
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99780
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-
|
|
99754
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP-CkrDkbBt.js");
|
|
99781
99755
|
return { diagram: diagram22 };
|
|
99782
99756
|
}, true ? __vite__mapDeps([30,12,13]) : void 0);
|
|
99783
99757
|
return { id: id11, diagram: diagram2 };
|
|
@@ -99794,7 +99768,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
99794
99768
|
}, "detector");
|
|
99795
99769
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
99796
99770
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99797
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-
|
|
99771
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-DYoNARdO.js");
|
|
99798
99772
|
return { diagram: diagram22 };
|
|
99799
99773
|
}, true ? __vite__mapDeps([31,9,18]) : void 0);
|
|
99800
99774
|
return { id: id12, diagram: diagram2 };
|
|
@@ -99814,9 +99788,9 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
99814
99788
|
}, "detector");
|
|
99815
99789
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
99816
99790
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99817
|
-
const { diagram: diagram22 } = await import("./classDiagram-
|
|
99791
|
+
const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-Dl05PJAP.js");
|
|
99818
99792
|
return { diagram: diagram22 };
|
|
99819
|
-
}, true ? __vite__mapDeps([32,33,11,12,13]) : void 0);
|
|
99793
|
+
}, true ? __vite__mapDeps([32,33,11,9,12,13]) : void 0);
|
|
99820
99794
|
return { id: id13, diagram: diagram2 };
|
|
99821
99795
|
}, "loader");
|
|
99822
99796
|
var plugin11 = {
|
|
@@ -99834,9 +99808,9 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
99834
99808
|
}, "detector");
|
|
99835
99809
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
99836
99810
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99837
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-
|
|
99811
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-Dl05PJAP.js");
|
|
99838
99812
|
return { diagram: diagram22 };
|
|
99839
|
-
}, true ? __vite__mapDeps([34,33,11,12,13]) : void 0);
|
|
99813
|
+
}, true ? __vite__mapDeps([34,33,11,9,12,13]) : void 0);
|
|
99840
99814
|
return { id: id14, diagram: diagram2 };
|
|
99841
99815
|
}, "loader");
|
|
99842
99816
|
var plugin12 = {
|
|
@@ -99854,7 +99828,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
99854
99828
|
}, "detector");
|
|
99855
99829
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
99856
99830
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99857
|
-
const { diagram: diagram22 } = await import("./stateDiagram-
|
|
99831
|
+
const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-D9v19nvh.js");
|
|
99858
99832
|
return { diagram: diagram22 };
|
|
99859
99833
|
}, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
|
|
99860
99834
|
return { id: id15, diagram: diagram2 };
|
|
@@ -99877,7 +99851,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
99877
99851
|
}, "detector");
|
|
99878
99852
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
99879
99853
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99880
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-
|
|
99854
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-BYw5ZwtH.js");
|
|
99881
99855
|
return { diagram: diagram22 };
|
|
99882
99856
|
}, true ? __vite__mapDeps([37,36,12,13]) : void 0);
|
|
99883
99857
|
return { id: id16, diagram: diagram2 };
|
|
@@ -99894,9 +99868,9 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
99894
99868
|
}, "detector");
|
|
99895
99869
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
99896
99870
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99897
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-
|
|
99871
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-DmbA52J-.js");
|
|
99898
99872
|
return { diagram: diagram22 };
|
|
99899
|
-
}, true ? __vite__mapDeps([38,9,
|
|
99873
|
+
}, true ? __vite__mapDeps([38,11,9,26]) : void 0);
|
|
99900
99874
|
return { id: id17, diagram: diagram2 };
|
|
99901
99875
|
}, "loader");
|
|
99902
99876
|
var plugin15 = {
|
|
@@ -99905,9 +99879,9 @@ var plugin15 = {
|
|
|
99905
99879
|
loader: loader17
|
|
99906
99880
|
};
|
|
99907
99881
|
var journeyDetector_default = plugin15;
|
|
99908
|
-
var draw = /* @__PURE__ */ __name((_text,
|
|
99882
|
+
var draw = /* @__PURE__ */ __name((_text, id30, version2) => {
|
|
99909
99883
|
log.debug("rendering svg for syntax error\n");
|
|
99910
|
-
const svg2 = selectSvgElement(
|
|
99884
|
+
const svg2 = selectSvgElement(id30);
|
|
99911
99885
|
const g2 = svg2.append("g");
|
|
99912
99886
|
svg2.attr("viewBox", "0 0 2412 512");
|
|
99913
99887
|
configureSvgSize(svg2, 100, 512, true);
|
|
@@ -99964,9 +99938,9 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
99964
99938
|
}, "detector");
|
|
99965
99939
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
99966
99940
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99967
|
-
const { diagram: diagram22 } = await import("./flowDiagram-
|
|
99941
|
+
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-D6hXqCy7.js");
|
|
99968
99942
|
return { diagram: diagram22 };
|
|
99969
|
-
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
99943
|
+
}, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
|
|
99970
99944
|
return { id: id18, diagram: diagram2 };
|
|
99971
99945
|
}, "loader");
|
|
99972
99946
|
var plugin16 = {
|
|
@@ -99981,7 +99955,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
99981
99955
|
}, "detector");
|
|
99982
99956
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
99983
99957
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99984
|
-
const { diagram: diagram22 } = await import("./timeline-definition-
|
|
99958
|
+
const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-BT10dRIJ.js");
|
|
99985
99959
|
return { diagram: diagram22 };
|
|
99986
99960
|
}, true ? __vite__mapDeps([39,26]) : void 0);
|
|
99987
99961
|
return { id: id19, diagram: diagram2 };
|
|
@@ -99998,7 +99972,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
99998
99972
|
}, "detector");
|
|
99999
99973
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
100000
99974
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100001
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-
|
|
99975
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-BcajbGmW.js");
|
|
100002
99976
|
return { diagram: diagram22 };
|
|
100003
99977
|
}, true ? __vite__mapDeps([40,12,13]) : void 0);
|
|
100004
99978
|
return { id: id20, diagram: diagram2 };
|
|
@@ -100015,7 +99989,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
100015
99989
|
}, "detector");
|
|
100016
99990
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
100017
99991
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100018
|
-
const { diagram: diagram22 } = await import("./kanban-definition-
|
|
99992
|
+
const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-DRUw-P-d.js");
|
|
100019
99993
|
return { diagram: diagram22 };
|
|
100020
99994
|
}, true ? __vite__mapDeps([41,11]) : void 0);
|
|
100021
99995
|
return { id: id21, diagram: diagram2 };
|
|
@@ -100032,7 +100006,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
100032
100006
|
}, "detector");
|
|
100033
100007
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
100034
100008
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100035
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-
|
|
100009
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-BZ-1R8pc.js");
|
|
100036
100010
|
return { diagram: diagram22 };
|
|
100037
100011
|
}, true ? __vite__mapDeps([42,27,22]) : void 0);
|
|
100038
100012
|
return { id: id22, diagram: diagram2 };
|
|
@@ -100049,7 +100023,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
100049
100023
|
}, "detector");
|
|
100050
100024
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
100051
100025
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100052
|
-
const { diagram: diagram22 } = await import("./diagram-
|
|
100026
|
+
const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-EHVjfzUV.js");
|
|
100053
100027
|
return { diagram: diagram22 };
|
|
100054
100028
|
}, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
|
|
100055
100029
|
return { id: id23, diagram: diagram2 };
|
|
@@ -100065,7 +100039,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
100065
100039
|
}, "detector");
|
|
100066
100040
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
100067
100041
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100068
|
-
const { diagram: diagram22 } = await import("./diagram-
|
|
100042
|
+
const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-CqKidH4n.js");
|
|
100069
100043
|
return { diagram: diagram22 };
|
|
100070
100044
|
}, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
|
|
100071
100045
|
return { id: id24, diagram: diagram2 };
|
|
@@ -100081,7 +100055,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
100081
100055
|
}, "detector");
|
|
100082
100056
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
100083
100057
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100084
|
-
const { diagram: diagram22 } = await import("./blockDiagram-
|
|
100058
|
+
const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-Cmpu3kIy.js");
|
|
100085
100059
|
return { diagram: diagram22 };
|
|
100086
100060
|
}, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
|
|
100087
100061
|
return { id: id25, diagram: diagram2 };
|
|
@@ -100098,7 +100072,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
100098
100072
|
}, "detector");
|
|
100099
100073
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
100100
100074
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100101
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-
|
|
100075
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-C7SdzYIh.js");
|
|
100102
100076
|
return { diagram: diagram22 };
|
|
100103
100077
|
}, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
|
|
100104
100078
|
return { id: id26, diagram: diagram2 };
|
|
@@ -100109,22 +100083,55 @@ var architecture = {
|
|
|
100109
100083
|
loader: loader26
|
|
100110
100084
|
};
|
|
100111
100085
|
var architectureDetector_default = architecture;
|
|
100112
|
-
var id27 = "
|
|
100086
|
+
var id27 = "ishikawa";
|
|
100113
100087
|
var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
100114
|
-
return /^\s*
|
|
100088
|
+
return /^\s*ishikawa(-beta)?\b/i.test(txt);
|
|
100115
100089
|
}, "detector");
|
|
100116
100090
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
100117
100091
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100118
|
-
const { diagram: diagram22 } = await import("./
|
|
100092
|
+
const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-kp7lB6-f.js");
|
|
100119
100093
|
return { diagram: diagram22 };
|
|
100120
|
-
}, true ?
|
|
100094
|
+
}, true ? [] : void 0);
|
|
100121
100095
|
return { id: id27, diagram: diagram2 };
|
|
100122
100096
|
}, "loader");
|
|
100123
|
-
var
|
|
100097
|
+
var ishikawa = {
|
|
100124
100098
|
id: id27,
|
|
100125
100099
|
detector: detector27,
|
|
100126
100100
|
loader: loader27
|
|
100127
100101
|
};
|
|
100102
|
+
var id28 = "venn";
|
|
100103
|
+
var detector28 = /* @__PURE__ */ __name((txt) => {
|
|
100104
|
+
return /^\s*venn-beta/.test(txt);
|
|
100105
|
+
}, "detector");
|
|
100106
|
+
var loader28 = /* @__PURE__ */ __name(async () => {
|
|
100107
|
+
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100108
|
+
const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-tryg3OaY.js");
|
|
100109
|
+
return { diagram: diagram22 };
|
|
100110
|
+
}, true ? [] : void 0);
|
|
100111
|
+
return { id: id28, diagram: diagram2 };
|
|
100112
|
+
}, "loader");
|
|
100113
|
+
var plugin22 = {
|
|
100114
|
+
id: id28,
|
|
100115
|
+
detector: detector28,
|
|
100116
|
+
loader: loader28
|
|
100117
|
+
};
|
|
100118
|
+
var vennDetector_default = plugin22;
|
|
100119
|
+
var id29 = "treemap";
|
|
100120
|
+
var detector29 = /* @__PURE__ */ __name((txt) => {
|
|
100121
|
+
return /^\s*treemap/.test(txt);
|
|
100122
|
+
}, "detector");
|
|
100123
|
+
var loader29 = /* @__PURE__ */ __name(async () => {
|
|
100124
|
+
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
100125
|
+
const { diagram: diagram22 } = await import("./diagram-E7M64L7V-C80ZsiBG.js");
|
|
100126
|
+
return { diagram: diagram22 };
|
|
100127
|
+
}, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
|
|
100128
|
+
return { id: id29, diagram: diagram2 };
|
|
100129
|
+
}, "loader");
|
|
100130
|
+
var treemap = {
|
|
100131
|
+
id: id29,
|
|
100132
|
+
detector: detector29,
|
|
100133
|
+
loader: loader29
|
|
100134
|
+
};
|
|
100128
100135
|
var hasLoadedDiagrams = false;
|
|
100129
100136
|
var addDiagrams = /* @__PURE__ */ __name(() => {
|
|
100130
100137
|
if (hasLoadedDiagrams) {
|
|
@@ -100189,22 +100196,24 @@ var addDiagrams = /* @__PURE__ */ __name(() => {
|
|
|
100189
100196
|
xychartDetector_default,
|
|
100190
100197
|
blockDetector_default,
|
|
100191
100198
|
radar,
|
|
100192
|
-
|
|
100199
|
+
ishikawa,
|
|
100200
|
+
treemap,
|
|
100201
|
+
vennDetector_default
|
|
100193
100202
|
);
|
|
100194
100203
|
}, "addDiagrams");
|
|
100195
100204
|
var loadRegisteredDiagrams = /* @__PURE__ */ __name(async () => {
|
|
100196
100205
|
log.debug(`Loading registered diagrams`);
|
|
100197
100206
|
const results = await Promise.allSettled(
|
|
100198
|
-
Object.entries(detectors).map(async ([key, { detector:
|
|
100199
|
-
if (!
|
|
100207
|
+
Object.entries(detectors).map(async ([key, { detector: detector30, loader: loader30 }]) => {
|
|
100208
|
+
if (!loader30) {
|
|
100200
100209
|
return;
|
|
100201
100210
|
}
|
|
100202
100211
|
try {
|
|
100203
100212
|
getDiagram(key);
|
|
100204
100213
|
} catch {
|
|
100205
100214
|
try {
|
|
100206
|
-
const { diagram: diagram2, id:
|
|
100207
|
-
registerDiagram(
|
|
100215
|
+
const { diagram: diagram2, id: id30 } = await loader30();
|
|
100216
|
+
registerDiagram(id30, diagram2, detector30);
|
|
100208
100217
|
} catch (err) {
|
|
100209
100218
|
log.error(`Failed to load external diagram with key ${key}. Removing from detectors.`);
|
|
100210
100219
|
delete detectors[key];
|
|
@@ -100261,12 +100270,12 @@ var Diagram = (_j = class {
|
|
|
100261
100270
|
try {
|
|
100262
100271
|
getDiagram(type2);
|
|
100263
100272
|
} catch {
|
|
100264
|
-
const
|
|
100265
|
-
if (!
|
|
100273
|
+
const loader30 = getDiagramLoader(type2);
|
|
100274
|
+
if (!loader30) {
|
|
100266
100275
|
throw new UnknownDiagramError(`Diagram ${type2} not found.`);
|
|
100267
100276
|
}
|
|
100268
|
-
const { id:
|
|
100269
|
-
registerDiagram(
|
|
100277
|
+
const { id: id30, diagram: diagram2 } = await loader30();
|
|
100278
|
+
registerDiagram(id30, diagram2);
|
|
100270
100279
|
}
|
|
100271
100280
|
const { db, parser, renderer: renderer2, init: init2 } = getDiagram(type2);
|
|
100272
100281
|
if (parser.parser) {
|
|
@@ -100280,8 +100289,8 @@ var Diagram = (_j = class {
|
|
|
100280
100289
|
await parser.parse(text2);
|
|
100281
100290
|
return new _j(type2, text2, db, parser, renderer2);
|
|
100282
100291
|
}
|
|
100283
|
-
async render(
|
|
100284
|
-
await this.renderer.draw(this.text,
|
|
100292
|
+
async render(id30, version2) {
|
|
100293
|
+
await this.renderer.draw(this.text, id30, version2, this);
|
|
100285
100294
|
}
|
|
100286
100295
|
getParser() {
|
|
100287
100296
|
return this.parser;
|
|
@@ -100434,7 +100443,7 @@ ${config2.themeCSS}`;
|
|
|
100434
100443
|
:root { --mermaid-alt-font-family: ${config2.altFontFamily}}`;
|
|
100435
100444
|
}
|
|
100436
100445
|
if (classDefs instanceof Map) {
|
|
100437
|
-
const htmlLabels = config2
|
|
100446
|
+
const htmlLabels = getEffectiveHtmlLabels(config2);
|
|
100438
100447
|
const cssHtmlElements = ["> *", "span"];
|
|
100439
100448
|
const cssShapeElements = ["rect", "polygon", "ellipse", "circle", "path"];
|
|
100440
100449
|
const cssElements = htmlLabels ? cssHtmlElements : cssShapeElements;
|
|
@@ -100479,13 +100488,13 @@ var putIntoIFrame = /* @__PURE__ */ __name((svgCode = "", svgElement) => {
|
|
|
100479
100488
|
${IFRAME_NOT_SUPPORTED_MSG}
|
|
100480
100489
|
</iframe>`;
|
|
100481
100490
|
}, "putIntoIFrame");
|
|
100482
|
-
var appendDivSvgG = /* @__PURE__ */ __name((parentRoot,
|
|
100491
|
+
var appendDivSvgG = /* @__PURE__ */ __name((parentRoot, id30, enclosingDivId, divStyle, svgXlink) => {
|
|
100483
100492
|
const enclosingDiv = parentRoot.append("div");
|
|
100484
100493
|
enclosingDiv.attr("id", enclosingDivId);
|
|
100485
100494
|
if (divStyle) {
|
|
100486
100495
|
enclosingDiv.attr("style", divStyle);
|
|
100487
100496
|
}
|
|
100488
|
-
const svgNode2 = enclosingDiv.append("svg").attr("id",
|
|
100497
|
+
const svgNode2 = enclosingDiv.append("svg").attr("id", id30).attr("width", "100%").attr("xmlns", XMLNS_SVG_STD);
|
|
100489
100498
|
if (svgXlink) {
|
|
100490
100499
|
svgNode2.attr("xmlns:xlink", svgXlink);
|
|
100491
100500
|
}
|
|
@@ -100496,12 +100505,12 @@ function sandboxedIframe(parentNode, iFrameId) {
|
|
|
100496
100505
|
return parentNode.append("iframe").attr("id", iFrameId).attr("style", "width: 100%; height: 100%;").attr("sandbox", "");
|
|
100497
100506
|
}
|
|
100498
100507
|
__name(sandboxedIframe, "sandboxedIframe");
|
|
100499
|
-
var removeExistingElements = /* @__PURE__ */ __name((doc,
|
|
100500
|
-
doc.getElementById(
|
|
100508
|
+
var removeExistingElements = /* @__PURE__ */ __name((doc, id30, divId, iFrameId) => {
|
|
100509
|
+
doc.getElementById(id30)?.remove();
|
|
100501
100510
|
doc.getElementById(divId)?.remove();
|
|
100502
100511
|
doc.getElementById(iFrameId)?.remove();
|
|
100503
100512
|
}, "removeExistingElements");
|
|
100504
|
-
var render2 = /* @__PURE__ */ __name(async function(
|
|
100513
|
+
var render2 = /* @__PURE__ */ __name(async function(id30, text2, svgContainingElement) {
|
|
100505
100514
|
addDiagrams();
|
|
100506
100515
|
const processed = processAndSetConfigs(text2);
|
|
100507
100516
|
text2 = processed.code;
|
|
@@ -100510,10 +100519,10 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
|
|
|
100510
100519
|
if (text2.length > (config2?.maxTextSize ?? MAX_TEXTLENGTH)) {
|
|
100511
100520
|
text2 = MAX_TEXTLENGTH_EXCEEDED_MSG;
|
|
100512
100521
|
}
|
|
100513
|
-
const idSelector = "#" +
|
|
100514
|
-
const iFrameID = "i" +
|
|
100522
|
+
const idSelector = "#" + id30;
|
|
100523
|
+
const iFrameID = "i" + id30;
|
|
100515
100524
|
const iFrameID_selector = "#" + iFrameID;
|
|
100516
|
-
const enclosingDivID = "d" +
|
|
100525
|
+
const enclosingDivID = "d" + id30;
|
|
100517
100526
|
const enclosingDivID_selector = "#" + enclosingDivID;
|
|
100518
100527
|
const removeTempElements = /* @__PURE__ */ __name(() => {
|
|
100519
100528
|
const tmpElementSelector = isSandboxed ? iFrameID_selector : enclosingDivID_selector;
|
|
@@ -100537,9 +100546,9 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
|
|
|
100537
100546
|
} else {
|
|
100538
100547
|
root2 = select(svgContainingElement);
|
|
100539
100548
|
}
|
|
100540
|
-
appendDivSvgG(root2,
|
|
100549
|
+
appendDivSvgG(root2, id30, enclosingDivID, `font-family: ${fontFamily}`, XMLNS_XLINK_STD);
|
|
100541
100550
|
} else {
|
|
100542
|
-
removeExistingElements(document,
|
|
100551
|
+
removeExistingElements(document, id30, enclosingDivID, iFrameID);
|
|
100543
100552
|
if (isSandboxed) {
|
|
100544
100553
|
const iframe = sandboxedIframe(select("body"), iFrameID);
|
|
100545
100554
|
root2 = select(iframe.nodes()[0].contentDocument.body);
|
|
@@ -100547,7 +100556,7 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
|
|
|
100547
100556
|
} else {
|
|
100548
100557
|
root2 = select("body");
|
|
100549
100558
|
}
|
|
100550
|
-
appendDivSvgG(root2,
|
|
100559
|
+
appendDivSvgG(root2, id30, enclosingDivID);
|
|
100551
100560
|
}
|
|
100552
100561
|
let diag;
|
|
100553
100562
|
let parseEncounteredException;
|
|
@@ -100571,12 +100580,12 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
|
|
|
100571
100580
|
style1.innerHTML = rules;
|
|
100572
100581
|
svg2.insertBefore(style1, firstChild);
|
|
100573
100582
|
try {
|
|
100574
|
-
await diag.renderer.draw(text2,
|
|
100583
|
+
await diag.renderer.draw(text2, id30, "11.13.0", diag);
|
|
100575
100584
|
} catch (e2) {
|
|
100576
100585
|
if (config2.suppressErrorRendering) {
|
|
100577
100586
|
removeTempElements();
|
|
100578
100587
|
} else {
|
|
100579
|
-
errorRenderer_default.draw(text2,
|
|
100588
|
+
errorRenderer_default.draw(text2, id30, "11.13.0");
|
|
100580
100589
|
}
|
|
100581
100590
|
throw e2;
|
|
100582
100591
|
}
|
|
@@ -100584,7 +100593,7 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
|
|
|
100584
100593
|
const a11yTitle = diag.db.getAccTitle?.();
|
|
100585
100594
|
const a11yDescr = diag.db.getAccDescription?.();
|
|
100586
100595
|
addA11yInfo(diagramType, svgNode2, a11yTitle, a11yDescr);
|
|
100587
|
-
root2.select(`[id="${
|
|
100596
|
+
root2.select(`[id="${id30}"]`).selectAll("foreignobject > *").attr("xmlns", XMLNS_XHTML_STD);
|
|
100588
100597
|
let svgCode = root2.select(enclosingDivID_selector).node().innerHTML;
|
|
100589
100598
|
log.debug("config.arrowMarkerAbsolute", config2.arrowMarkerAbsolute);
|
|
100590
100599
|
svgCode = cleanUpSvgCode(svgCode, isSandboxed, evaluate(config2.arrowMarkerAbsolute));
|
|
@@ -100724,7 +100733,7 @@ var runThrowsErrors = /* @__PURE__ */ __name(async function({ postRenderCallback
|
|
|
100724
100733
|
continue;
|
|
100725
100734
|
}
|
|
100726
100735
|
element.setAttribute("data-processed", "true");
|
|
100727
|
-
const
|
|
100736
|
+
const id30 = `mermaid-${idGenerator.next()}`;
|
|
100728
100737
|
txt = element.innerHTML;
|
|
100729
100738
|
txt = dedent(utils_default.entityDecode(txt)).trim().replace(/<br\s*\/?>/gi, "<br/>");
|
|
100730
100739
|
const init2 = utils_default.detectInit(txt);
|
|
@@ -100732,10 +100741,10 @@ var runThrowsErrors = /* @__PURE__ */ __name(async function({ postRenderCallback
|
|
|
100732
100741
|
log.debug("Detected early reinit: ", init2);
|
|
100733
100742
|
}
|
|
100734
100743
|
try {
|
|
100735
|
-
const { svg: svg2, bindFunctions } = await render22(
|
|
100744
|
+
const { svg: svg2, bindFunctions } = await render22(id30, txt, element);
|
|
100736
100745
|
element.innerHTML = svg2;
|
|
100737
100746
|
if (postRenderCallback) {
|
|
100738
|
-
await postRenderCallback(
|
|
100747
|
+
await postRenderCallback(id30);
|
|
100739
100748
|
}
|
|
100740
100749
|
if (bindFunctions) {
|
|
100741
100750
|
bindFunctions(element);
|
|
@@ -100830,10 +100839,10 @@ var parse2 = /* @__PURE__ */ __name(async (text2, parseOptions) => {
|
|
|
100830
100839
|
executeQueue().catch(reject);
|
|
100831
100840
|
});
|
|
100832
100841
|
}, "parse");
|
|
100833
|
-
var render22 = /* @__PURE__ */ __name((
|
|
100842
|
+
var render22 = /* @__PURE__ */ __name((id30, text2, container) => {
|
|
100834
100843
|
return new Promise((resolve, reject) => {
|
|
100835
100844
|
const performCall = /* @__PURE__ */ __name(() => new Promise((res, rej) => {
|
|
100836
|
-
mermaidAPI.render(
|
|
100845
|
+
mermaidAPI.render(id30, text2, container).then(
|
|
100837
100846
|
(r2) => {
|
|
100838
100847
|
res(r2);
|
|
100839
100848
|
resolve(r2);
|
|
@@ -100851,8 +100860,8 @@ var render22 = /* @__PURE__ */ __name((id28, text2, container) => {
|
|
|
100851
100860
|
});
|
|
100852
100861
|
}, "render");
|
|
100853
100862
|
var getRegisteredDiagramsMetadata = /* @__PURE__ */ __name(() => {
|
|
100854
|
-
return Object.keys(detectors).map((
|
|
100855
|
-
id:
|
|
100863
|
+
return Object.keys(detectors).map((id30) => ({
|
|
100864
|
+
id: id30
|
|
100856
100865
|
}));
|
|
100857
100866
|
}, "getRegisteredDiagramsMetadata");
|
|
100858
100867
|
var mermaid = {
|
|
@@ -100885,13 +100894,13 @@ class DomindsMermaidBlock extends HTMLElement {
|
|
|
100885
100894
|
return normalizedNewlines.replace(
|
|
100886
100895
|
/(\b[\w-]+)\[([^\]\n]*?)\]/g,
|
|
100887
100896
|
(_full, rawId, rawLabel) => {
|
|
100888
|
-
const
|
|
100897
|
+
const id30 = String(rawId);
|
|
100889
100898
|
const label = String(rawLabel).trim();
|
|
100890
|
-
if (!label) return `${
|
|
100891
|
-
if (label.startsWith('"') || label.startsWith("'")) return `${
|
|
100892
|
-
if (!/[<>()|]/.test(label)) return `${
|
|
100899
|
+
if (!label) return `${id30}[]`;
|
|
100900
|
+
if (label.startsWith('"') || label.startsWith("'")) return `${id30}[${label}]`;
|
|
100901
|
+
if (!/[<>()|]/.test(label)) return `${id30}[${label}]`;
|
|
100893
100902
|
const escaped = label.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
100894
|
-
return `${
|
|
100903
|
+
return `${id30}["${escaped}"]`;
|
|
100895
100904
|
}
|
|
100896
100905
|
);
|
|
100897
100906
|
}
|
|
@@ -101336,14 +101345,14 @@ md.core.ruler.push("dominds_heading_ids", (state2) => {
|
|
|
101336
101345
|
const rawText = inline2.content;
|
|
101337
101346
|
const base2 = slugifyHeadingId(rawText);
|
|
101338
101347
|
if (!base2) continue;
|
|
101339
|
-
let
|
|
101348
|
+
let id30 = base2;
|
|
101340
101349
|
let attempt = 2;
|
|
101341
|
-
while (used.has(
|
|
101342
|
-
|
|
101350
|
+
while (used.has(id30)) {
|
|
101351
|
+
id30 = `${base2}-${attempt}`;
|
|
101343
101352
|
attempt += 1;
|
|
101344
101353
|
}
|
|
101345
|
-
used.add(
|
|
101346
|
-
token2.attrSet("id",
|
|
101354
|
+
used.add(id30);
|
|
101355
|
+
token2.attrSet("id", id30);
|
|
101347
101356
|
}
|
|
101348
101357
|
});
|
|
101349
101358
|
installDomindsMathBlockRule(md);
|
|
@@ -102502,7 +102511,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
102502
102511
|
this.teamConfiguration = {
|
|
102503
102512
|
memberDefaults: { icon: cfg.memberDefaults.icon, name: cfg.memberDefaults.name },
|
|
102504
102513
|
members: Object.fromEntries(
|
|
102505
|
-
Object.entries(cfg.members).map(([
|
|
102514
|
+
Object.entries(cfg.members).map(([id30, m2]) => [id30, { icon: m2.icon, name: m2.name }])
|
|
102506
102515
|
)
|
|
102507
102516
|
};
|
|
102508
102517
|
} catch (error2) {
|
|
@@ -104048,9 +104057,9 @@ itemId: ${itemId}` : ""}` : `itemId: ${itemId}`;
|
|
|
104048
104057
|
const seen2 = /* @__PURE__ */ new Set();
|
|
104049
104058
|
const out = [];
|
|
104050
104059
|
for (const match2 of headline.matchAll(re2)) {
|
|
104051
|
-
const
|
|
104052
|
-
if (
|
|
104053
|
-
const mention = `@${
|
|
104060
|
+
const id30 = (match2[1] ?? "").trim();
|
|
104061
|
+
if (id30 === "") continue;
|
|
104062
|
+
const mention = `@${id30}`;
|
|
104054
104063
|
if (seen2.has(mention)) continue;
|
|
104055
104064
|
seen2.add(mention);
|
|
104056
104065
|
out.push(mention);
|
|
@@ -106144,19 +106153,19 @@ ${event.content}`;
|
|
|
106144
106153
|
// User messages are now handled by 'end_of_user_saying_evt' event - see handleDialogEvent()
|
|
106145
106154
|
getAuthorLabel(role, responderId) {
|
|
106146
106155
|
if (role === "user") return "Human";
|
|
106147
|
-
const
|
|
106148
|
-
if (!
|
|
106149
|
-
if (this.teamConfiguration?.members?.[
|
|
106150
|
-
const member = this.teamConfiguration.members[
|
|
106156
|
+
const id30 = responderId || this.currentDialog?.agentId || "";
|
|
106157
|
+
if (!id30) return "🤖 Assistant";
|
|
106158
|
+
if (this.teamConfiguration?.members?.[id30]) {
|
|
106159
|
+
const member = this.teamConfiguration.members[id30];
|
|
106151
106160
|
const icon2 = member.icon || this.teamConfiguration.memberDefaults?.icon || "🤖";
|
|
106152
|
-
const name = member.name || `@${
|
|
106161
|
+
const name = member.name || `@${id30}`;
|
|
106153
106162
|
return `${icon2} ${name}`;
|
|
106154
106163
|
}
|
|
106155
106164
|
if (this.teamConfiguration?.memberDefaults) {
|
|
106156
106165
|
const icon2 = this.teamConfiguration.memberDefaults.icon || "🤖";
|
|
106157
|
-
return `${icon2} @${
|
|
106166
|
+
return `${icon2} @${id30}`;
|
|
106158
106167
|
}
|
|
106159
|
-
return `🤖 @${
|
|
106168
|
+
return `🤖 @${id30}`;
|
|
106160
106169
|
}
|
|
106161
106170
|
escapeHtml(text2) {
|
|
106162
106171
|
return text2.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
@@ -108023,16 +108032,16 @@ class DomindsDocsPanel extends HTMLElement {
|
|
|
108023
108032
|
}
|
|
108024
108033
|
scrollToPendingAnchorIfAny() {
|
|
108025
108034
|
if (!this.pendingScrollAnchorId) return;
|
|
108026
|
-
const
|
|
108035
|
+
const id30 = this.pendingScrollAnchorId;
|
|
108027
108036
|
this.pendingScrollAnchorId = null;
|
|
108028
|
-
this.scrollToAnchorId(
|
|
108037
|
+
this.scrollToAnchorId(id30);
|
|
108029
108038
|
}
|
|
108030
|
-
scrollToAnchorId(
|
|
108039
|
+
scrollToAnchorId(id30) {
|
|
108031
108040
|
const root2 = this.shadowRoot;
|
|
108032
108041
|
if (!root2) return;
|
|
108033
108042
|
const body = root2.querySelector(".docs-body");
|
|
108034
108043
|
if (!(body instanceof HTMLElement)) return;
|
|
108035
|
-
const anchor2 = body.querySelector(`#${CSS.escape(
|
|
108044
|
+
const anchor2 = body.querySelector(`#${CSS.escape(id30)}`);
|
|
108036
108045
|
if (!(anchor2 instanceof HTMLElement)) return;
|
|
108037
108046
|
anchor2.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
108038
108047
|
}
|
|
@@ -108083,13 +108092,13 @@ class DomindsDocsPanel extends HTMLElement {
|
|
|
108083
108092
|
if (href.startsWith("#")) {
|
|
108084
108093
|
const idRaw = href.slice(1);
|
|
108085
108094
|
if (!idRaw) return;
|
|
108086
|
-
let
|
|
108095
|
+
let id30 = idRaw;
|
|
108087
108096
|
try {
|
|
108088
|
-
|
|
108097
|
+
id30 = decodeURIComponent(idRaw);
|
|
108089
108098
|
} catch {
|
|
108090
108099
|
}
|
|
108091
|
-
if (!
|
|
108092
|
-
this.scrollToAnchorId(
|
|
108100
|
+
if (!id30) return;
|
|
108101
|
+
this.scrollToAnchorId(id30);
|
|
108093
108102
|
return;
|
|
108094
108103
|
}
|
|
108095
108104
|
if (href.startsWith("/f/") || href === "/f" || href === "/workspace" || href.startsWith("/workspace/") || href === "/rtws" || href.startsWith("/rtws/")) {
|
|
@@ -108541,13 +108550,13 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
|
|
|
108541
108550
|
this.showError(error2 instanceof Error ? error2.message : t2.readFailed);
|
|
108542
108551
|
});
|
|
108543
108552
|
}
|
|
108544
|
-
removeImageAttachment(
|
|
108545
|
-
const existing = this.imageAttachments.find((attachment) => attachment.id ===
|
|
108553
|
+
removeImageAttachment(id30) {
|
|
108554
|
+
const existing = this.imageAttachments.find((attachment) => attachment.id === id30);
|
|
108546
108555
|
if (existing) {
|
|
108547
108556
|
URL.revokeObjectURL(existing.objectUrl);
|
|
108548
108557
|
}
|
|
108549
|
-
this.imageAttachments = this.imageAttachments.filter((attachment) => attachment.id !==
|
|
108550
|
-
if (this.openImageAttachmentId ===
|
|
108558
|
+
this.imageAttachments = this.imageAttachments.filter((attachment) => attachment.id !== id30);
|
|
108559
|
+
if (this.openImageAttachmentId === id30) {
|
|
108551
108560
|
this.openImageAttachmentId = null;
|
|
108552
108561
|
}
|
|
108553
108562
|
this.safeRender();
|
|
@@ -109153,9 +109162,9 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
|
|
|
109153
109162
|
}
|
|
109154
109163
|
this.shadowRoot.querySelectorAll(".attachment-thumb").forEach((button) => {
|
|
109155
109164
|
button.addEventListener("click", () => {
|
|
109156
|
-
const
|
|
109157
|
-
if (typeof
|
|
109158
|
-
this.openImageAttachmentId =
|
|
109165
|
+
const id30 = button.dataset.attachmentId;
|
|
109166
|
+
if (typeof id30 !== "string") return;
|
|
109167
|
+
this.openImageAttachmentId = id30;
|
|
109159
109168
|
this.safeRender();
|
|
109160
109169
|
});
|
|
109161
109170
|
});
|
|
@@ -109163,9 +109172,9 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
|
|
|
109163
109172
|
button.addEventListener("click", (event) => {
|
|
109164
109173
|
event.preventDefault();
|
|
109165
109174
|
event.stopPropagation();
|
|
109166
|
-
const
|
|
109167
|
-
if (typeof
|
|
109168
|
-
this.removeImageAttachment(
|
|
109175
|
+
const id30 = button.dataset.attachmentId;
|
|
109176
|
+
if (typeof id30 !== "string") return;
|
|
109177
|
+
this.removeImageAttachment(id30);
|
|
109169
109178
|
});
|
|
109170
109179
|
});
|
|
109171
109180
|
const modalCloseTargets = this.shadowRoot.querySelectorAll(
|
|
@@ -109433,17 +109442,17 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
|
|
|
109433
109442
|
if (this.imageAttachments.length === 0) return "";
|
|
109434
109443
|
const t2 = IMAGE_ATTACHMENT_I18N[this.uiLanguage];
|
|
109435
109444
|
const items = this.imageAttachments.map((attachment) => {
|
|
109436
|
-
const
|
|
109445
|
+
const id30 = _DomindsQ4HInput.escapeHtml(attachment.id);
|
|
109437
109446
|
const name = _DomindsQ4HInput.escapeHtml(attachment.name);
|
|
109438
109447
|
const src = _DomindsQ4HInput.escapeHtml(attachment.objectUrl);
|
|
109439
109448
|
return `
|
|
109440
109449
|
<div class="attachment-item">
|
|
109441
|
-
<button class="attachment-thumb" type="button" data-attachment-id="${
|
|
109450
|
+
<button class="attachment-thumb" type="button" data-attachment-id="${id30}" title="${_DomindsQ4HInput.escapeHtml(
|
|
109442
109451
|
t2.preview
|
|
109443
109452
|
)}" aria-label="${_DomindsQ4HInput.escapeHtml(t2.preview)}">
|
|
109444
109453
|
<img src="${src}" alt="${name}">
|
|
109445
109454
|
</button>
|
|
109446
|
-
<button class="attachment-remove" type="button" data-attachment-id="${
|
|
109455
|
+
<button class="attachment-remove" type="button" data-attachment-id="${id30}" title="${_DomindsQ4HInput.escapeHtml(
|
|
109447
109456
|
t2.remove
|
|
109448
109457
|
)}" aria-label="${_DomindsQ4HInput.escapeHtml(t2.remove)}">
|
|
109449
109458
|
<span class="icon-mask attachment-remove-icon" aria-hidden="true"></span>
|
|
@@ -110028,7 +110037,8 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110028
110037
|
this.uiLanguage = "en";
|
|
110029
110038
|
this.props = {
|
|
110030
110039
|
count: 0,
|
|
110031
|
-
dialogContexts: []
|
|
110040
|
+
dialogContexts: [],
|
|
110041
|
+
answers: []
|
|
110032
110042
|
};
|
|
110033
110043
|
this.expandedQuestions = /* @__PURE__ */ new Set();
|
|
110034
110044
|
this.selectedQuestionId = null;
|
|
@@ -110070,6 +110080,12 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110070
110080
|
}
|
|
110071
110081
|
this.render();
|
|
110072
110082
|
}
|
|
110083
|
+
setHumanAttention(count, dialogContexts, answers) {
|
|
110084
|
+
this.props.count = count;
|
|
110085
|
+
this.props.dialogContexts = dialogContexts;
|
|
110086
|
+
this.props.answers = answers;
|
|
110087
|
+
this.render();
|
|
110088
|
+
}
|
|
110073
110089
|
/**
|
|
110074
110090
|
* Navigate to a specific question's call site
|
|
110075
110091
|
* Dispatches event for parent component to handle navigation
|
|
@@ -110131,8 +110147,8 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110131
110147
|
if (!root2) return;
|
|
110132
110148
|
const selectedId = this.selectedQuestionId;
|
|
110133
110149
|
root2.querySelectorAll(".q4h-question-card").forEach((card2) => {
|
|
110134
|
-
const
|
|
110135
|
-
const selected = selectedId !== null &&
|
|
110150
|
+
const id30 = card2.getAttribute("data-question-id");
|
|
110151
|
+
const selected = selectedId !== null && id30 === selectedId;
|
|
110136
110152
|
card2.classList.toggle("selected", selected);
|
|
110137
110153
|
});
|
|
110138
110154
|
if (selectedId !== null) {
|
|
@@ -110185,6 +110201,18 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110185
110201
|
{ bubbles: true, composed: true }
|
|
110186
110202
|
);
|
|
110187
110203
|
}
|
|
110204
|
+
ackAnswer(answer) {
|
|
110205
|
+
dispatchDomindsEvent(
|
|
110206
|
+
this,
|
|
110207
|
+
"a2h-ack",
|
|
110208
|
+
{
|
|
110209
|
+
answerId: answer.id,
|
|
110210
|
+
dialogId: answer.selfId,
|
|
110211
|
+
rootId: answer.rootId
|
|
110212
|
+
},
|
|
110213
|
+
{ bubbles: true, composed: true }
|
|
110214
|
+
);
|
|
110215
|
+
}
|
|
110188
110216
|
handleSelectFromCard(card2) {
|
|
110189
110217
|
const questionId = card2.getAttribute("data-question-id");
|
|
110190
110218
|
const dialogId = card2.getAttribute("data-dialog-id");
|
|
@@ -110233,7 +110261,9 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110233
110261
|
icon2.addEventListener("click", (e2) => {
|
|
110234
110262
|
e2.stopPropagation();
|
|
110235
110263
|
const target = e2.currentTarget;
|
|
110236
|
-
const
|
|
110264
|
+
const card2 = target.closest(".q4h-question-card");
|
|
110265
|
+
if (card2?.classList.contains("a2h-card")) return;
|
|
110266
|
+
const questionId = card2?.getAttribute("data-question-id");
|
|
110237
110267
|
if (questionId) {
|
|
110238
110268
|
this.toggleQuestion(questionId);
|
|
110239
110269
|
}
|
|
@@ -110248,6 +110278,7 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110248
110278
|
if (target.closest(".q4h-question-actions-top")) return;
|
|
110249
110279
|
const card2 = header.closest(".q4h-question-card");
|
|
110250
110280
|
if (!card2) return;
|
|
110281
|
+
if (card2.classList.contains("a2h-card")) return;
|
|
110251
110282
|
e2.preventDefault();
|
|
110252
110283
|
e2.stopPropagation();
|
|
110253
110284
|
this.handleSelectFromCard(card2);
|
|
@@ -110259,6 +110290,7 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110259
110290
|
e2.stopPropagation();
|
|
110260
110291
|
const card2 = el.closest(".q4h-question-card");
|
|
110261
110292
|
if (!card2) return;
|
|
110293
|
+
if (card2.classList.contains("a2h-card")) return;
|
|
110262
110294
|
this.handleSelectFromCard(card2);
|
|
110263
110295
|
});
|
|
110264
110296
|
});
|
|
@@ -110350,6 +110382,48 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110350
110382
|
);
|
|
110351
110383
|
});
|
|
110352
110384
|
});
|
|
110385
|
+
this.shadowRoot.querySelectorAll(".a2h-ack-btn").forEach((btn) => {
|
|
110386
|
+
btn.addEventListener("click", (e2) => {
|
|
110387
|
+
e2.preventDefault();
|
|
110388
|
+
e2.stopPropagation();
|
|
110389
|
+
const target = e2.currentTarget;
|
|
110390
|
+
const answerId = target.getAttribute("data-answer-id");
|
|
110391
|
+
const dialogId = target.getAttribute("data-dialog-id");
|
|
110392
|
+
const rootId = target.getAttribute("data-root-id");
|
|
110393
|
+
if (!answerId || !dialogId || !rootId) return;
|
|
110394
|
+
const answer = this.props.answers.find(
|
|
110395
|
+
(item) => item.id === answerId && item.selfId === dialogId && item.rootId === rootId
|
|
110396
|
+
);
|
|
110397
|
+
if (!answer) return;
|
|
110398
|
+
this.ackAnswer(answer);
|
|
110399
|
+
});
|
|
110400
|
+
});
|
|
110401
|
+
this.shadowRoot.querySelectorAll(".a2h-goto-answer-btn").forEach((btn) => {
|
|
110402
|
+
btn.addEventListener("click", (e2) => {
|
|
110403
|
+
e2.preventDefault();
|
|
110404
|
+
e2.stopPropagation();
|
|
110405
|
+
const target = e2.currentTarget;
|
|
110406
|
+
const dialogId = target.getAttribute("data-dialog-id");
|
|
110407
|
+
const rootId = target.getAttribute("data-root-id");
|
|
110408
|
+
const course = target.getAttribute("data-course");
|
|
110409
|
+
const genseq = target.getAttribute("data-genseq");
|
|
110410
|
+
if (!dialogId || !rootId || !course || !genseq) return;
|
|
110411
|
+
const parsedCourse = Number.parseInt(course, 10);
|
|
110412
|
+
const parsedGenseq = Number.parseInt(genseq, 10);
|
|
110413
|
+
if (!Number.isFinite(parsedCourse) || !Number.isFinite(parsedGenseq)) return;
|
|
110414
|
+
dispatchDomindsEvent(
|
|
110415
|
+
this,
|
|
110416
|
+
"navigate-genseq",
|
|
110417
|
+
{
|
|
110418
|
+
rootId,
|
|
110419
|
+
selfId: dialogId,
|
|
110420
|
+
course: parsedCourse,
|
|
110421
|
+
genseq: parsedGenseq
|
|
110422
|
+
},
|
|
110423
|
+
{ bubbles: true, composed: true }
|
|
110424
|
+
);
|
|
110425
|
+
});
|
|
110426
|
+
});
|
|
110353
110427
|
}
|
|
110354
110428
|
render() {
|
|
110355
110429
|
if (!this.shadowRoot) return;
|
|
@@ -110446,6 +110520,22 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110446
110520
|
box-shadow: 0 2px 8px color-mix(in srgb, var(--color-accent-primary, #007acc) 15%, transparent);
|
|
110447
110521
|
}
|
|
110448
110522
|
|
|
110523
|
+
.a2h-card {
|
|
110524
|
+
border-color: color-mix(in srgb, var(--color-success, #16a34a) 35%, var(--color-border-primary, #e2e8f0));
|
|
110525
|
+
}
|
|
110526
|
+
|
|
110527
|
+
.a2h-card .q4h-question-body {
|
|
110528
|
+
display: block;
|
|
110529
|
+
}
|
|
110530
|
+
|
|
110531
|
+
.a2h-header {
|
|
110532
|
+
cursor: default;
|
|
110533
|
+
}
|
|
110534
|
+
|
|
110535
|
+
.a2h-header:hover {
|
|
110536
|
+
background: transparent;
|
|
110537
|
+
}
|
|
110538
|
+
|
|
110449
110539
|
/* Selected state for question card */
|
|
110450
110540
|
.q4h-question-card.selected {
|
|
110451
110541
|
border-color: var(--dominds-primary, #007acc);
|
|
@@ -110757,9 +110847,41 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110757
110847
|
transition: all 0.15s ease;
|
|
110758
110848
|
}
|
|
110759
110849
|
|
|
110850
|
+
.a2h-ack-btn {
|
|
110851
|
+
width: 24px;
|
|
110852
|
+
height: 24px;
|
|
110853
|
+
padding: 0;
|
|
110854
|
+
display: inline-flex;
|
|
110855
|
+
align-items: center;
|
|
110856
|
+
justify-content: center;
|
|
110857
|
+
border-radius: 6px;
|
|
110858
|
+
border: 1px solid transparent;
|
|
110859
|
+
background: transparent;
|
|
110860
|
+
color: var(--color-fg-tertiary, #64748b);
|
|
110861
|
+
cursor: pointer;
|
|
110862
|
+
transition: all 0.15s ease;
|
|
110863
|
+
}
|
|
110864
|
+
|
|
110865
|
+
.a2h-goto-answer-btn {
|
|
110866
|
+
width: 24px;
|
|
110867
|
+
height: 24px;
|
|
110868
|
+
padding: 0;
|
|
110869
|
+
display: inline-flex;
|
|
110870
|
+
align-items: center;
|
|
110871
|
+
justify-content: center;
|
|
110872
|
+
border-radius: 6px;
|
|
110873
|
+
border: 1px solid transparent;
|
|
110874
|
+
background: transparent;
|
|
110875
|
+
color: var(--color-fg-tertiary, #64748b);
|
|
110876
|
+
cursor: pointer;
|
|
110877
|
+
transition: all 0.15s ease;
|
|
110878
|
+
}
|
|
110879
|
+
|
|
110760
110880
|
.q4h-goto-site-btn:hover,
|
|
110761
110881
|
.q4h-open-external-btn:hover,
|
|
110762
|
-
.q4h-share-link-btn:hover
|
|
110882
|
+
.q4h-share-link-btn:hover,
|
|
110883
|
+
.a2h-goto-answer-btn:hover,
|
|
110884
|
+
.a2h-ack-btn:hover {
|
|
110763
110885
|
border-color: var(--color-border-primary, #e2e8f0);
|
|
110764
110886
|
background: var(--color-bg-tertiary, #f8fafc);
|
|
110765
110887
|
color: var(--color-fg-secondary, #475569);
|
|
@@ -110767,7 +110889,9 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110767
110889
|
|
|
110768
110890
|
.q4h-goto-site-btn:focus-visible,
|
|
110769
110891
|
.q4h-open-external-btn:focus-visible,
|
|
110770
|
-
.q4h-share-link-btn:focus-visible
|
|
110892
|
+
.q4h-share-link-btn:focus-visible,
|
|
110893
|
+
.a2h-goto-answer-btn:focus-visible,
|
|
110894
|
+
.a2h-ack-btn:focus-visible {
|
|
110771
110895
|
outline: 2px solid color-mix(in srgb, var(--color-fg-tertiary, #64748b) 70%, transparent);
|
|
110772
110896
|
outline-offset: 2px;
|
|
110773
110897
|
}
|
|
@@ -110775,7 +110899,9 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110775
110899
|
.q4h-expand-icon.icon-mask,
|
|
110776
110900
|
.q4h-goto-site-btn .icon-mask,
|
|
110777
110901
|
.q4h-open-external-btn .icon-mask,
|
|
110778
|
-
.q4h-share-link-btn .icon-mask
|
|
110902
|
+
.q4h-share-link-btn .icon-mask,
|
|
110903
|
+
.a2h-goto-answer-btn .icon-mask,
|
|
110904
|
+
.a2h-ack-btn .icon-mask {
|
|
110779
110905
|
width: 14px;
|
|
110780
110906
|
height: 14px;
|
|
110781
110907
|
}
|
|
@@ -110792,16 +110918,21 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110792
110918
|
--icon-mask: ${ICON_MASK_URLS.link};
|
|
110793
110919
|
}
|
|
110794
110920
|
|
|
110921
|
+
.q4h-icon-check-circle {
|
|
110922
|
+
--icon-mask: ${ICON_MASK_URLS.checkCircle};
|
|
110923
|
+
}
|
|
110924
|
+
|
|
110795
110925
|
`;
|
|
110796
110926
|
}
|
|
110797
110927
|
getHTML() {
|
|
110798
|
-
const { dialogContexts } = this.props;
|
|
110799
|
-
if (dialogContexts.length === 0) {
|
|
110928
|
+
const { dialogContexts, answers } = this.props;
|
|
110929
|
+
if (dialogContexts.length === 0 && answers.length === 0) {
|
|
110800
110930
|
return "";
|
|
110801
110931
|
}
|
|
110802
110932
|
return `
|
|
110803
110933
|
<div class="q4h-panel-content">
|
|
110804
110934
|
${this.renderQuestions(dialogContexts)}
|
|
110935
|
+
${this.renderAnswers(answers)}
|
|
110805
110936
|
</div>
|
|
110806
110937
|
`;
|
|
110807
110938
|
}
|
|
@@ -110822,6 +110953,69 @@ class DomindsQ4HPanel extends HTMLElement {
|
|
|
110822
110953
|
`;
|
|
110823
110954
|
}).join("");
|
|
110824
110955
|
}
|
|
110956
|
+
renderAnswers(answers) {
|
|
110957
|
+
if (answers.length === 0) return "";
|
|
110958
|
+
return `
|
|
110959
|
+
<div class="q4h-dialog-group a2h-group">
|
|
110960
|
+
<div class="q4h-dialog-header">
|
|
110961
|
+
<span class="q4h-dialog-icon icon-mask q4h-icon-pin" aria-hidden="true"></span>
|
|
110962
|
+
<span class="q4h-dialog-name">${this.escapeHtml(
|
|
110963
|
+
this.uiLanguage === "zh" ? "A2H / 待确认" : "A2H / Awaiting Ack"
|
|
110964
|
+
)}</span>
|
|
110965
|
+
</div>
|
|
110966
|
+
${answers.map((answer) => this.renderAnswerCard(answer)).join("")}
|
|
110967
|
+
</div>
|
|
110968
|
+
`;
|
|
110969
|
+
}
|
|
110970
|
+
renderAnswerCard(answer) {
|
|
110971
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
110972
|
+
return `
|
|
110973
|
+
<div class="q4h-question-card a2h-card" data-answer-id="${this.escapeHtml(answer.id)}" data-dialog-id="${this.escapeHtml(answer.selfId)}" data-root-id="${this.escapeHtml(answer.rootId)}">
|
|
110974
|
+
<div class="q4h-question-header a2h-header">
|
|
110975
|
+
<span class="q4h-question-title">
|
|
110976
|
+
<span class="q4h-question-origin">@${this.escapeHtml(answer.agentId)}</span>
|
|
110977
|
+
<span class="q4h-question-origin-sep">•</span>
|
|
110978
|
+
<span class="q4h-question-origin-id">${this.escapeHtml(answer.selfId)}</span>
|
|
110979
|
+
<span class="q4h-question-origin-sep">•</span>
|
|
110980
|
+
<span class="q4h-question-origin-asked-at">${this.escapeHtml(answer.answeredAt)}</span>
|
|
110981
|
+
</span>
|
|
110982
|
+
<span class="q4h-question-actions-top">
|
|
110983
|
+
<button
|
|
110984
|
+
class="a2h-goto-answer-btn"
|
|
110985
|
+
type="button"
|
|
110986
|
+
title="${this.escapeHtml(t2.a2hGoToAnswerTitle)}"
|
|
110987
|
+
aria-label="${this.escapeHtml(t2.a2hGoToAnswerTitle)}"
|
|
110988
|
+
data-dialog-id="${this.escapeHtml(answer.selfId)}"
|
|
110989
|
+
data-root-id="${this.escapeHtml(answer.rootId)}"
|
|
110990
|
+
data-course="${answer.answerRef.course}"
|
|
110991
|
+
data-genseq="${answer.answerRef.genseq}"
|
|
110992
|
+
>
|
|
110993
|
+
<span class="icon-mask q4h-icon-goto" aria-hidden="true"></span>
|
|
110994
|
+
</button>
|
|
110995
|
+
<button
|
|
110996
|
+
class="a2h-ack-btn"
|
|
110997
|
+
type="button"
|
|
110998
|
+
title="${this.escapeHtml(this.uiLanguage === "zh" ? "确认已阅" : "Acknowledge")}"
|
|
110999
|
+
aria-label="${this.escapeHtml(this.uiLanguage === "zh" ? "确认已阅" : "Acknowledge")}"
|
|
111000
|
+
data-answer-id="${this.escapeHtml(answer.id)}"
|
|
111001
|
+
data-dialog-id="${this.escapeHtml(answer.selfId)}"
|
|
111002
|
+
data-root-id="${this.escapeHtml(answer.rootId)}"
|
|
111003
|
+
>
|
|
111004
|
+
<span class="icon-mask q4h-icon-check-circle" aria-hidden="true"></span>
|
|
111005
|
+
</button>
|
|
111006
|
+
</span>
|
|
111007
|
+
</div>
|
|
111008
|
+
<div class="q4h-question-body a2h-body">
|
|
111009
|
+
<div class="q4h-tellask">
|
|
111010
|
+
<div class="q4h-tellask-body">${renderDomindsMarkdown(answer.content, {
|
|
111011
|
+
kind: "chat",
|
|
111012
|
+
allowRelativeWorkspaceLinks: true
|
|
111013
|
+
})}</div>
|
|
111014
|
+
</div>
|
|
111015
|
+
</div>
|
|
111016
|
+
</div>
|
|
111017
|
+
`;
|
|
111018
|
+
}
|
|
110825
111019
|
renderQuestionCard(question2, dialogContext) {
|
|
110826
111020
|
const isExpanded = this.expandedQuestions.has(question2.id);
|
|
110827
111021
|
const isSelected = this.selectedQuestionId === question2.id;
|
|
@@ -111767,10 +111961,10 @@ class DomindsSnippetsPanel extends HTMLElement {
|
|
|
111767
111961
|
}
|
|
111768
111962
|
selectSnippetFromCard(card2) {
|
|
111769
111963
|
if (this.state.kind !== "ready") return;
|
|
111770
|
-
const
|
|
111771
|
-
if (typeof
|
|
111964
|
+
const id30 = card2.getAttribute("data-id");
|
|
111965
|
+
if (typeof id30 !== "string" || id30 === "") return;
|
|
111772
111966
|
const all = this.state.groups.flatMap((g2) => g2.templates);
|
|
111773
|
-
const snippet2 = all.find((x2) => x2.id ===
|
|
111967
|
+
const snippet2 = all.find((x2) => x2.id === id30);
|
|
111774
111968
|
this.selectSnippet(snippet2 ?? null);
|
|
111775
111969
|
}
|
|
111776
111970
|
captureSnippetScroll() {
|
|
@@ -111965,8 +112159,8 @@ function requireAppJson() {
|
|
|
111965
112159
|
function parseToolsetJson(v2, at2) {
|
|
111966
112160
|
if (!isRecord(v2))
|
|
111967
112161
|
return { ok: false, errorText: `Invalid ${at2}: expected object` };
|
|
111968
|
-
const
|
|
111969
|
-
if (!
|
|
112162
|
+
const id30 = asString(v2["id"]);
|
|
112163
|
+
if (!id30 || id30.trim() === "")
|
|
111970
112164
|
return { ok: false, errorText: `Invalid ${at2}.id: required` };
|
|
111971
112165
|
const descriptionI18n = v2["descriptionI18n"];
|
|
111972
112166
|
if (descriptionI18n !== void 0 && !isI18nText(descriptionI18n)) {
|
|
@@ -111985,7 +112179,7 @@ function requireAppJson() {
|
|
|
111985
112179
|
return {
|
|
111986
112180
|
ok: true,
|
|
111987
112181
|
toolset: {
|
|
111988
|
-
id:
|
|
112182
|
+
id: id30,
|
|
111989
112183
|
descriptionI18n,
|
|
111990
112184
|
tools
|
|
111991
112185
|
}
|
|
@@ -111994,8 +112188,8 @@ function requireAppJson() {
|
|
|
111994
112188
|
function parseDialogRunControlJson(v2, at2) {
|
|
111995
112189
|
if (!isRecord(v2))
|
|
111996
112190
|
return { ok: false, errorText: `Invalid ${at2}: expected object` };
|
|
111997
|
-
const
|
|
111998
|
-
if (!
|
|
112191
|
+
const id30 = asString(v2["id"]);
|
|
112192
|
+
if (!id30 || id30.trim() === "")
|
|
111999
112193
|
return { ok: false, errorText: `Invalid ${at2}.id: required` };
|
|
112000
112194
|
const descriptionI18n = v2["descriptionI18n"];
|
|
112001
112195
|
if (descriptionI18n !== void 0 && !isI18nText(descriptionI18n)) {
|
|
@@ -112004,7 +112198,7 @@ function requireAppJson() {
|
|
|
112004
112198
|
return {
|
|
112005
112199
|
ok: true,
|
|
112006
112200
|
control: {
|
|
112007
|
-
id:
|
|
112201
|
+
id: id30,
|
|
112008
112202
|
descriptionI18n
|
|
112009
112203
|
}
|
|
112010
112204
|
};
|
|
@@ -112518,16 +112712,16 @@ class DomindsTeamManualPanel extends HTMLElement {
|
|
|
112518
112712
|
const href = link2.getAttribute("href");
|
|
112519
112713
|
if (typeof href !== "string") return;
|
|
112520
112714
|
if (!href.startsWith("#")) return;
|
|
112521
|
-
let
|
|
112715
|
+
let id30 = href.slice(1);
|
|
112522
112716
|
try {
|
|
112523
|
-
|
|
112717
|
+
id30 = decodeURIComponent(id30);
|
|
112524
112718
|
} catch {
|
|
112525
112719
|
}
|
|
112526
|
-
if (!
|
|
112720
|
+
if (!id30) {
|
|
112527
112721
|
e2.preventDefault();
|
|
112528
112722
|
return;
|
|
112529
112723
|
}
|
|
112530
|
-
const anchor2 = body.querySelector(`#${CSS.escape(
|
|
112724
|
+
const anchor2 = body.querySelector(`#${CSS.escape(id30)}`);
|
|
112531
112725
|
e2.preventDefault();
|
|
112532
112726
|
if (!(anchor2 instanceof HTMLElement)) return;
|
|
112533
112727
|
anchor2.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
@@ -116840,6 +117034,8 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
|
116840
117034
|
this.backendVersion = "";
|
|
116841
117035
|
this.backendMode = null;
|
|
116842
117036
|
this.domindsSelfUpdate = null;
|
|
117037
|
+
this.domindsSelfUpdateCheckInFlight = false;
|
|
117038
|
+
this.domindsVersionClickTimer = null;
|
|
116843
117039
|
this.toolbarCurrentCourse = 1;
|
|
116844
117040
|
this.toolbarTotalCourses = 1;
|
|
116845
117041
|
this.toolbarReminders = [];
|
|
@@ -117030,6 +117226,7 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
|
117030
117226
|
};
|
|
117031
117227
|
this.q4hQuestionCount = 0;
|
|
117032
117228
|
this.q4hQuestions = [];
|
|
117229
|
+
this.a2hAnswers = [];
|
|
117033
117230
|
this.q4hDialogContexts = [];
|
|
117034
117231
|
this.bottomPanelTab = "q4h";
|
|
117035
117232
|
this.bottomPanelExpanded = false;
|
|
@@ -117298,13 +117495,14 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
|
117298
117495
|
if (q4hTab) {
|
|
117299
117496
|
const badge2 = q4hTab.querySelector(".bp-badge");
|
|
117300
117497
|
if (badge2) {
|
|
117301
|
-
|
|
117302
|
-
badge2.
|
|
117498
|
+
const humanAttentionCount = this.humanAttentionCount;
|
|
117499
|
+
badge2.textContent = String(humanAttentionCount);
|
|
117500
|
+
badge2.setAttribute("data-has-questions", humanAttentionCount > 0 ? "true" : "false");
|
|
117303
117501
|
}
|
|
117304
117502
|
}
|
|
117305
117503
|
const q4hEmpty = sr.querySelector(".bp-q4h-empty");
|
|
117306
117504
|
if (q4hEmpty) {
|
|
117307
|
-
q4hEmpty.classList.toggle("hidden", this.
|
|
117505
|
+
q4hEmpty.classList.toggle("hidden", this.humanAttentionCount !== 0);
|
|
117308
117506
|
}
|
|
117309
117507
|
const diligenceTab = sr.querySelector(
|
|
117310
117508
|
'button.bp-tab[data-bp-tab="diligence"]'
|
|
@@ -117331,11 +117529,14 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
|
117331
117529
|
}
|
|
117332
117530
|
const q4hPanel = sr.querySelector("#q4h-panel");
|
|
117333
117531
|
if (q4hPanel) {
|
|
117334
|
-
q4hPanel.classList.toggle("hidden", this.
|
|
117532
|
+
q4hPanel.classList.toggle("hidden", this.humanAttentionCount === 0);
|
|
117335
117533
|
}
|
|
117336
117534
|
}
|
|
117337
117535
|
get hasQuestions() {
|
|
117338
|
-
return this.
|
|
117536
|
+
return this.humanAttentionCount > 0;
|
|
117537
|
+
}
|
|
117538
|
+
get humanAttentionCount() {
|
|
117539
|
+
return this.q4hQuestionCount + this.a2hAnswers.length;
|
|
117339
117540
|
}
|
|
117340
117541
|
get q4hInput() {
|
|
117341
117542
|
return this.shadowRoot?.querySelector("#q4h-input") ?? null;
|
|
@@ -118195,6 +118396,7 @@ ${formatUiLanguageOptionLabel({
|
|
|
118195
118396
|
this.wsManager.disconnect();
|
|
118196
118397
|
window.removeEventListener("resize", this.boundOnWindowResize);
|
|
118197
118398
|
this.clearRetryCountdownTimer();
|
|
118399
|
+
this.cancelDomindsVersionClickAction();
|
|
118198
118400
|
for (const t2 of this.runControlRefreshTimers) {
|
|
118199
118401
|
clearTimeout(t2);
|
|
118200
118402
|
}
|
|
@@ -118337,6 +118539,7 @@ ${formatUiLanguageOptionLabel({
|
|
|
118337
118539
|
const t2 = getUiStrings(this.uiLanguage);
|
|
118338
118540
|
const versionText = this.backendVersion ? `v${this.backendVersion}` : "";
|
|
118339
118541
|
const state2 = this.getDomindsVersionActionState();
|
|
118542
|
+
const checking = this.domindsSelfUpdateCheckInFlight;
|
|
118340
118543
|
const latestVersionText = state2.kind !== "idle" && state2.latestVersion !== null && state2.latestVersion.trim() !== "" ? `v${state2.latestVersion.trim()}` : "";
|
|
118341
118544
|
let actionLabel = "";
|
|
118342
118545
|
let showIcon = false;
|
|
@@ -118362,7 +118565,14 @@ ${formatUiLanguageOptionLabel({
|
|
|
118362
118565
|
showIcon = true;
|
|
118363
118566
|
break;
|
|
118364
118567
|
}
|
|
118365
|
-
const versionHtml =
|
|
118568
|
+
const versionHtml = checking ? `
|
|
118569
|
+
<span class="dominds-version-checking" aria-hidden="true">
|
|
118570
|
+
<span class="dominds-version-checking-base">${htmlExports.escapeHtml(versionText)}</span>
|
|
118571
|
+
<span class="dominds-version-checking-dots">
|
|
118572
|
+
<span>.</span><span>.</span><span>.</span>
|
|
118573
|
+
</span>
|
|
118574
|
+
</span>
|
|
118575
|
+
` : latestVersionText !== "" && latestVersionText !== versionText ? `
|
|
118366
118576
|
<span class="dominds-version-roll" aria-hidden="true">
|
|
118367
118577
|
<span class="dominds-version-roll-track">
|
|
118368
118578
|
<span class="dominds-version-roll-item dominds-version-roll-latest">${htmlExports.escapeHtml(latestVersionText)}</span>
|
|
@@ -118381,25 +118591,32 @@ ${formatUiLanguageOptionLabel({
|
|
|
118381
118591
|
const t2 = getUiStrings(this.uiLanguage);
|
|
118382
118592
|
const currentVersion = this.backendVersion ? `v${this.backendVersion}` : "unknown";
|
|
118383
118593
|
const latestVersion = this.domindsSelfUpdate?.targetVersion ?? this.domindsSelfUpdate?.latestVersion ?? null;
|
|
118384
|
-
const
|
|
118594
|
+
const checkedAt = this.formatVersionCheckCheckedAt(this.domindsSelfUpdate?.checkedAt ?? null);
|
|
118385
118595
|
const state2 = this.getDomindsVersionActionState();
|
|
118596
|
+
const lines = [
|
|
118597
|
+
t2.domindsVersionCheckTitle,
|
|
118598
|
+
`${t2.domindsVersionTooltipCurrent}: ${currentVersion}`,
|
|
118599
|
+
`${t2.domindsVersionTooltipLastChecked}: ${checkedAt}`
|
|
118600
|
+
];
|
|
118601
|
+
if (latestVersion !== null && latestVersion.trim() !== "") {
|
|
118602
|
+
lines.push(`${t2.domindsVersionTooltipLatest}: v${latestVersion.trim()}`);
|
|
118603
|
+
}
|
|
118386
118604
|
switch (state2.kind) {
|
|
118387
118605
|
case "install":
|
|
118388
118606
|
case "installing":
|
|
118389
|
-
|
|
118390
|
-
|
|
118607
|
+
lines.push(`${t2.domindsVersionTooltipStatus}: ${t2.domindsVersionUpdateAvailableTitle}`);
|
|
118608
|
+
break;
|
|
118391
118609
|
case "restart":
|
|
118392
118610
|
case "restarting":
|
|
118393
|
-
|
|
118394
|
-
|
|
118611
|
+
lines.push(`${t2.domindsVersionTooltipStatus}: ${t2.domindsVersionRestartAvailableTitle}`);
|
|
118612
|
+
break;
|
|
118395
118613
|
case "idle":
|
|
118396
118614
|
if (this.domindsSelfUpdate?.reason === "latest_check_failed" && this.domindsSelfUpdate.message) {
|
|
118397
|
-
|
|
118398
|
-
${this.domindsSelfUpdate.message}`;
|
|
118615
|
+
lines.push(`${t2.domindsVersionTooltipStatus}: ${this.domindsSelfUpdate.message}`);
|
|
118399
118616
|
}
|
|
118400
|
-
|
|
118401
|
-
${currentVersion}`;
|
|
118617
|
+
break;
|
|
118402
118618
|
}
|
|
118619
|
+
return lines.join("\n");
|
|
118403
118620
|
}
|
|
118404
118621
|
updateDomindsVersionUi() {
|
|
118405
118622
|
const versionIndicator = this.shadowRoot?.querySelector("#dominds-version");
|
|
@@ -118412,10 +118629,11 @@ ${currentVersion}`;
|
|
|
118412
118629
|
const actionState = this.getDomindsVersionActionState();
|
|
118413
118630
|
const isActionable = actionState.kind === "install" || actionState.kind === "restart";
|
|
118414
118631
|
const needsAttention = isActionable;
|
|
118415
|
-
versionIndicator.disabled =
|
|
118632
|
+
versionIndicator.disabled = false;
|
|
118416
118633
|
versionIndicator.dataset.actionable = isActionable ? "true" : "false";
|
|
118417
118634
|
versionIndicator.dataset.attention = needsAttention ? "true" : "false";
|
|
118418
118635
|
versionIndicator.dataset.state = actionState.kind;
|
|
118636
|
+
versionIndicator.dataset.checking = this.domindsSelfUpdateCheckInFlight ? "true" : "false";
|
|
118419
118637
|
}
|
|
118420
118638
|
/**
|
|
118421
118639
|
* Surgical update: Update only the rtws indicator text.
|
|
@@ -118456,6 +118674,35 @@ ${currentVersion}`;
|
|
|
118456
118674
|
const targetVersion = latestVersion ?? currentVersion;
|
|
118457
118675
|
return template.split("<current>").join(currentVersion).split("<latest>").join(targetVersion);
|
|
118458
118676
|
}
|
|
118677
|
+
formatVersionCheckResult(template, status) {
|
|
118678
|
+
const currentVersion = status.currentVersion.trim() !== "" ? status.currentVersion.trim() : this.backendVersion !== "" ? this.backendVersion : "unknown";
|
|
118679
|
+
const targetVersion = status.targetVersion?.trim() || status.latestVersion?.trim() || currentVersion;
|
|
118680
|
+
return template.split("<current>").join(currentVersion).split("<latest>").join(targetVersion);
|
|
118681
|
+
}
|
|
118682
|
+
formatVersionCheckCheckedAt(checkedAt) {
|
|
118683
|
+
if (checkedAt === null) {
|
|
118684
|
+
return getUiStrings(this.uiLanguage).domindsVersionTooltipNeverChecked;
|
|
118685
|
+
}
|
|
118686
|
+
return checkedAt;
|
|
118687
|
+
}
|
|
118688
|
+
showDomindsVersionCheckResult(status) {
|
|
118689
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118690
|
+
if (status.action === "install") {
|
|
118691
|
+
this.showSuccess(this.formatVersionCheckResult(t2.domindsVersionCheckUpdateAvailable, status));
|
|
118692
|
+
return;
|
|
118693
|
+
}
|
|
118694
|
+
if (status.action === "restart") {
|
|
118695
|
+
this.showSuccess(
|
|
118696
|
+
this.formatVersionCheckResult(t2.domindsVersionCheckRestartAvailable, status)
|
|
118697
|
+
);
|
|
118698
|
+
return;
|
|
118699
|
+
}
|
|
118700
|
+
if (status.reason === "latest_check_failed" && status.message) {
|
|
118701
|
+
this.showToast(`${t2.domindsVersionCheckFailedPrefix}${status.message}`, "warning");
|
|
118702
|
+
return;
|
|
118703
|
+
}
|
|
118704
|
+
this.showSuccess(this.formatVersionCheckResult(t2.domindsVersionCheckUpToDate, status));
|
|
118705
|
+
}
|
|
118459
118706
|
async handleDomindsVersionAction() {
|
|
118460
118707
|
const status = this.domindsSelfUpdate;
|
|
118461
118708
|
const t2 = getUiStrings(this.uiLanguage);
|
|
@@ -118497,6 +118744,49 @@ ${currentVersion}`;
|
|
|
118497
118744
|
this.showToast(`${t2.domindsVersionActionFailedPrefix}${message}`, "error");
|
|
118498
118745
|
}
|
|
118499
118746
|
}
|
|
118747
|
+
async handleDomindsVersionCheck() {
|
|
118748
|
+
if (this.domindsSelfUpdateCheckInFlight) return;
|
|
118749
|
+
this.domindsSelfUpdateCheckInFlight = true;
|
|
118750
|
+
this.updateDomindsVersionUi();
|
|
118751
|
+
try {
|
|
118752
|
+
const resp = await this.apiClient.checkDomindsSelfUpdate();
|
|
118753
|
+
if (!resp.success) {
|
|
118754
|
+
if (resp.status === 401) {
|
|
118755
|
+
this.onAuthRejected("api");
|
|
118756
|
+
return;
|
|
118757
|
+
}
|
|
118758
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118759
|
+
throw new Error(resp.error || t2.unknownError);
|
|
118760
|
+
}
|
|
118761
|
+
const nextStatus = resp.data?.update;
|
|
118762
|
+
if (!nextStatus) {
|
|
118763
|
+
throw new Error("Missing Dominds self-update check payload");
|
|
118764
|
+
}
|
|
118765
|
+
this.domindsSelfUpdate = nextStatus;
|
|
118766
|
+
this.showDomindsVersionCheckResult(nextStatus);
|
|
118767
|
+
} catch (error2) {
|
|
118768
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118769
|
+
const message = error2 instanceof Error ? error2.message : t2.unknownError;
|
|
118770
|
+
this.showToast(`${t2.domindsVersionCheckFailedPrefix}${message}`, "error");
|
|
118771
|
+
} finally {
|
|
118772
|
+
this.domindsSelfUpdateCheckInFlight = false;
|
|
118773
|
+
this.updateDomindsVersionUi();
|
|
118774
|
+
}
|
|
118775
|
+
}
|
|
118776
|
+
queueDomindsVersionClickAction() {
|
|
118777
|
+
if (this.domindsVersionClickTimer !== null) {
|
|
118778
|
+
window.clearTimeout(this.domindsVersionClickTimer);
|
|
118779
|
+
}
|
|
118780
|
+
this.domindsVersionClickTimer = window.setTimeout(() => {
|
|
118781
|
+
this.domindsVersionClickTimer = null;
|
|
118782
|
+
void this.handleDomindsVersionAction();
|
|
118783
|
+
}, 420);
|
|
118784
|
+
}
|
|
118785
|
+
cancelDomindsVersionClickAction() {
|
|
118786
|
+
if (this.domindsVersionClickTimer === null) return;
|
|
118787
|
+
window.clearTimeout(this.domindsVersionClickTimer);
|
|
118788
|
+
this.domindsVersionClickTimer = null;
|
|
118789
|
+
}
|
|
118500
118790
|
/**
|
|
118501
118791
|
* Surgical update: Update only the toolbar display elements.
|
|
118502
118792
|
* Use this when dialog is loaded or course changes.
|
|
@@ -119222,11 +119512,16 @@ ${currentVersion}`;
|
|
|
119222
119512
|
box-shadow: 0 0 0 1px color-mix(in srgb, var(--dominds-warning, #bb8009) 14%, transparent) inset;
|
|
119223
119513
|
}
|
|
119224
119514
|
|
|
119515
|
+
.dominds-version[data-checking='true'] {
|
|
119516
|
+
cursor: progress;
|
|
119517
|
+
}
|
|
119518
|
+
|
|
119225
119519
|
.dominds-version[data-actionable='true']:hover {
|
|
119226
119520
|
border-color: color-mix(in srgb, var(--dominds-warning, #bb8009) 42%, var(--dominds-warning-border, #e6d2b4));
|
|
119227
119521
|
background: color-mix(in srgb, var(--dominds-warning, #bb8009) 16%, var(--dominds-warning-bg, #fff4e5));
|
|
119228
119522
|
}
|
|
119229
119523
|
|
|
119524
|
+
.dominds-version-checking,
|
|
119230
119525
|
.dominds-version-text,
|
|
119231
119526
|
.dominds-version-action,
|
|
119232
119527
|
.dominds-version-divider {
|
|
@@ -119238,6 +119533,41 @@ ${currentVersion}`;
|
|
|
119238
119533
|
transform-origin: center bottom;
|
|
119239
119534
|
}
|
|
119240
119535
|
|
|
119536
|
+
.dominds-version-checking {
|
|
119537
|
+
display: inline-flex;
|
|
119538
|
+
align-items: baseline;
|
|
119539
|
+
gap: 0;
|
|
119540
|
+
min-width: max-content;
|
|
119541
|
+
}
|
|
119542
|
+
|
|
119543
|
+
.dominds-version-checking-base {
|
|
119544
|
+
display: inline-block;
|
|
119545
|
+
}
|
|
119546
|
+
|
|
119547
|
+
.dominds-version-checking-dots {
|
|
119548
|
+
display: inline-flex;
|
|
119549
|
+
align-items: baseline;
|
|
119550
|
+
width: 1.4em;
|
|
119551
|
+
overflow: hidden;
|
|
119552
|
+
letter-spacing: 0;
|
|
119553
|
+
font-weight: 700;
|
|
119554
|
+
}
|
|
119555
|
+
|
|
119556
|
+
.dominds-version-checking-dots > span {
|
|
119557
|
+
display: inline-block;
|
|
119558
|
+
width: 0.46em;
|
|
119559
|
+
opacity: 0.12;
|
|
119560
|
+
animation: domindsVersionDotPulse 1.1s ease-in-out infinite;
|
|
119561
|
+
}
|
|
119562
|
+
|
|
119563
|
+
.dominds-version-checking-dots > span:nth-child(2) {
|
|
119564
|
+
animation-delay: 0.14s;
|
|
119565
|
+
}
|
|
119566
|
+
|
|
119567
|
+
.dominds-version-checking-dots > span:nth-child(3) {
|
|
119568
|
+
animation-delay: 0.28s;
|
|
119569
|
+
}
|
|
119570
|
+
|
|
119241
119571
|
.dominds-version-roll {
|
|
119242
119572
|
--version-roll-step: 14px;
|
|
119243
119573
|
position: relative;
|
|
@@ -119299,6 +119629,17 @@ ${currentVersion}`;
|
|
|
119299
119629
|
}
|
|
119300
119630
|
}
|
|
119301
119631
|
|
|
119632
|
+
@keyframes domindsVersionDotPulse {
|
|
119633
|
+
0%, 100% {
|
|
119634
|
+
opacity: 0.14;
|
|
119635
|
+
transform: translateY(0);
|
|
119636
|
+
}
|
|
119637
|
+
50% {
|
|
119638
|
+
opacity: 1;
|
|
119639
|
+
transform: translateY(-1px);
|
|
119640
|
+
}
|
|
119641
|
+
}
|
|
119642
|
+
|
|
119302
119643
|
.dominds-version[data-attention='true'] .dominds-version-roll-track {
|
|
119303
119644
|
animation: domindsVersionTrackRoll 3s cubic-bezier(0.28, 0.78, 0.28, 1) infinite;
|
|
119304
119645
|
}
|
|
@@ -119307,6 +119648,10 @@ ${currentVersion}`;
|
|
|
119307
119648
|
.dominds-version[data-attention='true'] .dominds-version-roll-track {
|
|
119308
119649
|
animation: none;
|
|
119309
119650
|
}
|
|
119651
|
+
.dominds-version[data-checking='true'] .dominds-version-checking-dots > span {
|
|
119652
|
+
animation: none;
|
|
119653
|
+
opacity: 0.55;
|
|
119654
|
+
}
|
|
119310
119655
|
}
|
|
119311
119656
|
|
|
119312
119657
|
.rtws-indicator {
|
|
@@ -122594,7 +122939,7 @@ ${currentVersion}`;
|
|
|
122594
122939
|
</a>
|
|
122595
122940
|
<button type="button" id="dominds-version" class="dominds-version ${this.backendVersion ? "" : "hidden"}" title="${htmlExports.escapeHtml(
|
|
122596
122941
|
this.getDomindsVersionTitle()
|
|
122597
|
-
)}" aria-label="${htmlExports.escapeHtml(this.getDomindsVersionTitle())}" data-actionable="false" data-attention="false" data-state="idle"
|
|
122942
|
+
)}" aria-label="${htmlExports.escapeHtml(this.getDomindsVersionTitle())}" data-actionable="false" data-attention="false" data-state="idle" data-checking="false">
|
|
122598
122943
|
${this.renderDomindsVersionBadge()}
|
|
122599
122944
|
</button>
|
|
122600
122945
|
</div>
|
|
@@ -122809,8 +123154,8 @@ ${uiLanguageButtonTooltip}">
|
|
|
122809
123154
|
</div>
|
|
122810
123155
|
<div class="bottom-panel-content" id="bottom-panel-content">
|
|
122811
123156
|
<div class="bp-content bp-q4h ${this.bottomPanelTab === "q4h" ? "" : "hidden"}">
|
|
122812
|
-
<div class="bp-q4h-empty ${this.
|
|
122813
|
-
<dominds-q4h-panel id="q4h-panel" ui-language="${this.uiLanguage}" class="${this.
|
|
123157
|
+
<div class="bp-q4h-empty ${this.humanAttentionCount === 0 ? "" : "hidden"}">${t2.q4hNoPending}</div>
|
|
123158
|
+
<dominds-q4h-panel id="q4h-panel" ui-language="${this.uiLanguage}" class="${this.humanAttentionCount === 0 ? "hidden" : ""}"></dominds-q4h-panel>
|
|
122814
123159
|
</div>
|
|
122815
123160
|
<div class="bp-content bp-diligence ${this.bottomPanelTab === "diligence" ? "" : "hidden"}">
|
|
122816
123161
|
<div class="bp-diligence-row">
|
|
@@ -122839,7 +123184,7 @@ ${uiLanguageButtonTooltip}">
|
|
|
122839
123184
|
</div>
|
|
122840
123185
|
<div class="bottom-panel-footer" id="bottom-panel-footer">
|
|
122841
123186
|
<button class="bp-tab ${this.bottomPanelExpanded && this.bottomPanelTab === "q4h" ? "active" : ""}" type="button" data-bp-tab="q4h">
|
|
122842
|
-
<span class="bp-badge" data-has-questions="${this.
|
|
123187
|
+
<span class="bp-badge" data-has-questions="${this.humanAttentionCount > 0 ? "true" : "false"}">${String(this.humanAttentionCount)}</span>
|
|
122843
123188
|
<span class="bp-label" data-bp-label="q4h">${t2.q4hPendingQuestions}</span>
|
|
122844
123189
|
</button>
|
|
122845
123190
|
<button class="bp-tab ${this.bottomPanelExpanded && this.bottomPanelTab === "diligence" ? "active" : ""}" type="button" data-bp-tab="diligence">
|
|
@@ -123078,6 +123423,16 @@ ${content}`;
|
|
|
123078
123423
|
}, 100);
|
|
123079
123424
|
}
|
|
123080
123425
|
});
|
|
123426
|
+
this.shadowRoot.addEventListener("a2h-ack", (event) => {
|
|
123427
|
+
this.wsManager.sendRaw({
|
|
123428
|
+
type: "ack_a2h",
|
|
123429
|
+
dialog: {
|
|
123430
|
+
selfId: event.detail.dialogId,
|
|
123431
|
+
rootId: event.detail.rootId
|
|
123432
|
+
},
|
|
123433
|
+
answerId: event.detail.answerId
|
|
123434
|
+
});
|
|
123435
|
+
});
|
|
123081
123436
|
this.shadowRoot.addEventListener("navigate-genseq", (event) => {
|
|
123082
123437
|
const detail = event.detail;
|
|
123083
123438
|
this.pendingDeepLink = {
|
|
@@ -123116,6 +123471,16 @@ ${content}`;
|
|
|
123116
123471
|
captureKeyboardCountSnapshot(button, this.resumableDialogsCount);
|
|
123117
123472
|
}
|
|
123118
123473
|
});
|
|
123474
|
+
this.shadowRoot.addEventListener("dblclick", (evt2) => {
|
|
123475
|
+
const target = evt2.target;
|
|
123476
|
+
if (!(target instanceof Element)) return;
|
|
123477
|
+
const versionBtn = target.closest("#dominds-version");
|
|
123478
|
+
if (versionBtn === null) return;
|
|
123479
|
+
evt2.preventDefault();
|
|
123480
|
+
evt2.stopPropagation();
|
|
123481
|
+
this.cancelDomindsVersionClickAction();
|
|
123482
|
+
void this.handleDomindsVersionCheck();
|
|
123483
|
+
});
|
|
123119
123484
|
this.shadowRoot.addEventListener("click", async (evt2) => {
|
|
123120
123485
|
const target = evt2.target;
|
|
123121
123486
|
if (!(target instanceof Element)) return;
|
|
@@ -123125,7 +123490,11 @@ ${content}`;
|
|
|
123125
123490
|
}
|
|
123126
123491
|
const versionBtn = target.closest("#dominds-version");
|
|
123127
123492
|
if (versionBtn) {
|
|
123128
|
-
|
|
123493
|
+
if (evt2 instanceof MouseEvent && evt2.detail > 1) {
|
|
123494
|
+
this.cancelDomindsVersionClickAction();
|
|
123495
|
+
return;
|
|
123496
|
+
}
|
|
123497
|
+
this.queueDomindsVersionClickAction();
|
|
123129
123498
|
return;
|
|
123130
123499
|
}
|
|
123131
123500
|
const statusBtn = target.closest("#dialog-status-btn");
|
|
@@ -123682,8 +124051,12 @@ ${content}`;
|
|
|
123682
124051
|
async ensureBottomPanelLoaded() {
|
|
123683
124052
|
if (this.bottomPanelTab === "q4h") {
|
|
123684
124053
|
const panel = this.shadowRoot?.querySelector("#q4h-panel");
|
|
123685
|
-
if (panel instanceof HTMLElement && typeof panel.
|
|
123686
|
-
panel.
|
|
124054
|
+
if (panel instanceof HTMLElement && typeof panel.setHumanAttention === "function") {
|
|
124055
|
+
panel.setHumanAttention(
|
|
124056
|
+
this.humanAttentionCount,
|
|
124057
|
+
this.q4hDialogContexts,
|
|
124058
|
+
this.a2hAnswers
|
|
124059
|
+
);
|
|
123687
124060
|
}
|
|
123688
124061
|
return;
|
|
123689
124062
|
}
|
|
@@ -125957,13 +126330,13 @@ ${content}`;
|
|
|
125957
126330
|
for (const item of value) {
|
|
125958
126331
|
if (typeof item !== "object" || item === null) continue;
|
|
125959
126332
|
const rec = item;
|
|
125960
|
-
const
|
|
126333
|
+
const id30 = typeof rec["id"] === "string" ? rec["id"] : "";
|
|
125961
126334
|
const timestamp2 = typeof rec["timestamp"] === "string" ? rec["timestamp"].trim() : "";
|
|
125962
126335
|
const kind = rec["kind"];
|
|
125963
126336
|
const message = typeof rec["message"] === "string" ? rec["message"] : "";
|
|
125964
|
-
if (!
|
|
126337
|
+
if (!id30 || !_DomindsApp.UNIFIED_TIMESTAMP_PATTERN.test(timestamp2) || !message) continue;
|
|
125965
126338
|
if (kind !== "error" && kind !== "warning" && kind !== "info") continue;
|
|
125966
|
-
next2.push({ id:
|
|
126339
|
+
next2.push({ id: id30, timestamp: timestamp2, kind, message });
|
|
125967
126340
|
}
|
|
125968
126341
|
return next2;
|
|
125969
126342
|
}
|
|
@@ -125980,11 +126353,11 @@ ${content}`;
|
|
|
125980
126353
|
pushToastHistoryEntry(entry) {
|
|
125981
126354
|
this.loadToastHistoryFromStorage();
|
|
125982
126355
|
const now2 = /* @__PURE__ */ new Date();
|
|
125983
|
-
const
|
|
126356
|
+
const id30 = `${String(now2.getTime())}-${String(this.toastHistorySeq += 1)}`;
|
|
125984
126357
|
const trimmed = entry.message.trim();
|
|
125985
126358
|
if (trimmed === "") return;
|
|
125986
126359
|
const next2 = {
|
|
125987
|
-
id:
|
|
126360
|
+
id: id30,
|
|
125988
126361
|
timestamp: timeExports.formatUnifiedTimestamp(now2),
|
|
125989
126362
|
kind: entry.kind,
|
|
125990
126363
|
message: trimmed
|
|
@@ -126753,6 +127126,16 @@ ${content}`;
|
|
|
126753
127126
|
this.handleQ4HStateResponse(event);
|
|
126754
127127
|
return true;
|
|
126755
127128
|
}
|
|
127129
|
+
case "a2h_acknowledged": {
|
|
127130
|
+
const event = message;
|
|
127131
|
+
this.handleA2HAcknowledged(event);
|
|
127132
|
+
return true;
|
|
127133
|
+
}
|
|
127134
|
+
case "new_a2h_answered": {
|
|
127135
|
+
const event = message;
|
|
127136
|
+
this.handleNewA2HAnswered(event);
|
|
127137
|
+
return true;
|
|
127138
|
+
}
|
|
126756
127139
|
case "dialogs_moved": {
|
|
126757
127140
|
void this.loadDialogs();
|
|
126758
127141
|
return true;
|
|
@@ -127604,7 +127987,7 @@ ${content}`;
|
|
|
127604
127987
|
* Removes a question from the global Q4H state
|
|
127605
127988
|
*/
|
|
127606
127989
|
handleQ4HAnswered(event) {
|
|
127607
|
-
const
|
|
127990
|
+
const wasVisibleHumanAttentionCount = this.humanAttentionCount;
|
|
127608
127991
|
const removeIndex = this.q4hQuestions.findIndex((q2) => q2.id === event.questionId);
|
|
127609
127992
|
if (removeIndex >= 0) {
|
|
127610
127993
|
this.q4hQuestions.splice(removeIndex, 1);
|
|
@@ -127612,7 +127995,7 @@ ${content}`;
|
|
|
127612
127995
|
this.wsManager.sendRaw({ type: "get_q4h_state" });
|
|
127613
127996
|
}
|
|
127614
127997
|
this.updateQ4HComponent();
|
|
127615
|
-
if (removeIndex >= 0 &&
|
|
127998
|
+
if (removeIndex >= 0 && wasVisibleHumanAttentionCount > 0 && this.humanAttentionCount === 0) {
|
|
127616
127999
|
this.collapseBottomPanelQ4HTabIfExpanded();
|
|
127617
128000
|
}
|
|
127618
128001
|
}
|
|
@@ -127635,28 +128018,28 @@ ${content}`;
|
|
|
127635
128018
|
const next2 = [];
|
|
127636
128019
|
const seenIds = /* @__PURE__ */ new Set();
|
|
127637
128020
|
for (const existing of this.q4hQuestions) {
|
|
127638
|
-
const
|
|
127639
|
-
if (!
|
|
128021
|
+
const id30 = typeof existing.id === "string" ? existing.id : "";
|
|
128022
|
+
if (!id30) {
|
|
127640
128023
|
throw new Error("Q4H client cache violation: existing question has invalid id");
|
|
127641
128024
|
}
|
|
127642
|
-
if (seenIds.has(
|
|
127643
|
-
throw new Error(`Q4H client cache violation: duplicate cached question id (${
|
|
128025
|
+
if (seenIds.has(id30)) {
|
|
128026
|
+
throw new Error(`Q4H client cache violation: duplicate cached question id (${id30})`);
|
|
127644
128027
|
}
|
|
127645
|
-
seenIds.add(
|
|
128028
|
+
seenIds.add(id30);
|
|
127646
128029
|
const existingWithDialog = existing;
|
|
127647
128030
|
const selfId = typeof existingWithDialog.selfId === "string" ? existingWithDialog.selfId : null;
|
|
127648
128031
|
if (!selfId) {
|
|
127649
|
-
const incoming2 = incomingById.get(
|
|
128032
|
+
const incoming2 = incomingById.get(id30);
|
|
127650
128033
|
next2.push(incoming2 ?? existing);
|
|
127651
|
-
if (incoming2) incomingById.delete(
|
|
128034
|
+
if (incoming2) incomingById.delete(id30);
|
|
127652
128035
|
continue;
|
|
127653
128036
|
}
|
|
127654
128037
|
const rootId = typeof existingWithDialog.rootId === "string" && existingWithDialog.rootId ? existingWithDialog.rootId : selfId;
|
|
127655
128038
|
const status = this.lookupVisibleDialogStatusByIds(rootId, selfId);
|
|
127656
|
-
const incoming = incomingById.get(
|
|
128039
|
+
const incoming = incomingById.get(id30);
|
|
127657
128040
|
if (incoming) {
|
|
127658
128041
|
next2.push(incoming);
|
|
127659
|
-
incomingById.delete(
|
|
128042
|
+
incomingById.delete(id30);
|
|
127660
128043
|
continue;
|
|
127661
128044
|
}
|
|
127662
128045
|
if (status === "running") {
|
|
@@ -127664,18 +128047,40 @@ ${content}`;
|
|
|
127664
128047
|
}
|
|
127665
128048
|
next2.push(existing);
|
|
127666
128049
|
}
|
|
127667
|
-
for (const [
|
|
127668
|
-
if (seenIds.has(
|
|
127669
|
-
throw new Error(`Q4H state merge violation: duplicate id during merge (${
|
|
128050
|
+
for (const [id30, q2] of incomingById.entries()) {
|
|
128051
|
+
if (seenIds.has(id30)) {
|
|
128052
|
+
throw new Error(`Q4H state merge violation: duplicate id during merge (${id30})`);
|
|
127670
128053
|
}
|
|
127671
|
-
seenIds.add(
|
|
128054
|
+
seenIds.add(id30);
|
|
127672
128055
|
next2.push(q2);
|
|
127673
128056
|
}
|
|
127674
128057
|
this.q4hQuestions = next2;
|
|
128058
|
+
this.a2hAnswers = event.answers;
|
|
127675
128059
|
this.updateQ4HComponent();
|
|
127676
128060
|
this.applyPendingQ4HSelectionFromDeepLink();
|
|
127677
128061
|
this.applyPendingDeepLinkIfQ4H();
|
|
127678
128062
|
}
|
|
128063
|
+
handleA2HAcknowledged(event) {
|
|
128064
|
+
const removeIndex = this.a2hAnswers.findIndex(
|
|
128065
|
+
(answer) => answer.id === event.answerId && answer.selfId === event.selfId && answer.rootId === event.rootId
|
|
128066
|
+
);
|
|
128067
|
+
if (removeIndex >= 0) {
|
|
128068
|
+
this.a2hAnswers.splice(removeIndex, 1);
|
|
128069
|
+
this.updateQ4HComponent();
|
|
128070
|
+
return;
|
|
128071
|
+
}
|
|
128072
|
+
this.wsManager.sendRaw({ type: "get_q4h_state" });
|
|
128073
|
+
}
|
|
128074
|
+
handleNewA2HAnswered(event) {
|
|
128075
|
+
const answer = event.answer;
|
|
128076
|
+
const existingIndex = this.a2hAnswers.findIndex((item) => item.id === answer.id);
|
|
128077
|
+
if (existingIndex >= 0) {
|
|
128078
|
+
this.a2hAnswers[existingIndex] = answer;
|
|
128079
|
+
} else {
|
|
128080
|
+
this.a2hAnswers.push(answer);
|
|
128081
|
+
}
|
|
128082
|
+
this.updateQ4HComponent();
|
|
128083
|
+
}
|
|
127679
128084
|
resolveHydratedQ4HDialogContext(question2) {
|
|
127680
128085
|
const globalQuestion = question2;
|
|
127681
128086
|
if (globalQuestion.selfId) {
|
|
@@ -127690,7 +128095,8 @@ ${content}`;
|
|
|
127690
128095
|
rootId,
|
|
127691
128096
|
agentId: globalQuestion.agentId ?? "unknown",
|
|
127692
128097
|
taskDocPath: globalQuestion.taskDocPath ?? "",
|
|
127693
|
-
questions: [question2]
|
|
128098
|
+
questions: [question2],
|
|
128099
|
+
answers: []
|
|
127694
128100
|
};
|
|
127695
128101
|
}
|
|
127696
128102
|
const dialogInfo = this.findDialogForQuestion(question2);
|
|
@@ -127706,7 +128112,8 @@ ${content}`;
|
|
|
127706
128112
|
rootId: dialogInfo.rootId,
|
|
127707
128113
|
agentId: dialogInfo.agentId,
|
|
127708
128114
|
taskDocPath: dialogInfo.taskDocPath,
|
|
127709
|
-
questions: [question2]
|
|
128115
|
+
questions: [question2],
|
|
128116
|
+
answers: []
|
|
127710
128117
|
};
|
|
127711
128118
|
}
|
|
127712
128119
|
/**
|
|
@@ -127736,8 +128143,12 @@ ${content}`;
|
|
|
127736
128143
|
this.q4hInput.setQuestions(q4hQuestions);
|
|
127737
128144
|
}
|
|
127738
128145
|
const panel = this.shadowRoot?.querySelector("#q4h-panel");
|
|
127739
|
-
if (panel instanceof HTMLElement && typeof panel.
|
|
127740
|
-
panel.
|
|
128146
|
+
if (panel instanceof HTMLElement && typeof panel.setHumanAttention === "function") {
|
|
128147
|
+
panel.setHumanAttention(
|
|
128148
|
+
this.humanAttentionCount,
|
|
128149
|
+
this.q4hDialogContexts,
|
|
128150
|
+
this.a2hAnswers
|
|
128151
|
+
);
|
|
127741
128152
|
}
|
|
127742
128153
|
this.updateBottomPanelFooterUi();
|
|
127743
128154
|
}
|
|
@@ -127777,7 +128188,8 @@ ${content}`;
|
|
|
127777
128188
|
rootId: rootId ?? dialogId,
|
|
127778
128189
|
agentId: agentId ?? "unknown",
|
|
127779
128190
|
taskDocPath: taskDocPath ?? "",
|
|
127780
|
-
questions: []
|
|
128191
|
+
questions: [],
|
|
128192
|
+
answers: []
|
|
127781
128193
|
};
|
|
127782
128194
|
contextMap.set(key, context);
|
|
127783
128195
|
}
|
|
@@ -129747,15 +130159,15 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
129747
130159
|
});
|
|
129748
130160
|
export {
|
|
129749
130161
|
commonDb_exports as $,
|
|
129750
|
-
|
|
129751
|
-
|
|
129752
|
-
|
|
129753
|
-
|
|
129754
|
-
|
|
129755
|
-
|
|
129756
|
-
|
|
129757
|
-
|
|
129758
|
-
|
|
130162
|
+
defaultConfig2 as A,
|
|
130163
|
+
rgba$1 as B,
|
|
130164
|
+
__export as C,
|
|
130165
|
+
setupGraphViewbox2 as D,
|
|
130166
|
+
cleanAndMerge as E,
|
|
130167
|
+
defaultConfig_default as F,
|
|
130168
|
+
getConfig as G,
|
|
130169
|
+
random as H,
|
|
130170
|
+
selectSvgElement as I,
|
|
129759
130171
|
JSON_SCHEMA as J,
|
|
129760
130172
|
getThemeVariables3 as K,
|
|
129761
130173
|
hasKatex as L,
|
|
@@ -129775,7 +130187,7 @@ export {
|
|
|
129775
130187
|
ZERO_WIDTH_SPACE as Z,
|
|
129776
130188
|
__name as _,
|
|
129777
130189
|
getAccTitle as a,
|
|
129778
|
-
|
|
130190
|
+
isIndex as a$,
|
|
129779
130191
|
withPath as a0,
|
|
129780
130192
|
halfPi as a1,
|
|
129781
130193
|
epsilon as a2,
|
|
@@ -129786,33 +130198,33 @@ export {
|
|
|
129786
130198
|
abs$1 as a7,
|
|
129787
130199
|
pi as a8,
|
|
129788
130200
|
sqrt as a9,
|
|
129789
|
-
|
|
129790
|
-
|
|
129791
|
-
|
|
129792
|
-
|
|
129793
|
-
|
|
129794
|
-
|
|
129795
|
-
|
|
129796
|
-
|
|
129797
|
-
|
|
129798
|
-
|
|
129799
|
-
|
|
129800
|
-
|
|
129801
|
-
|
|
129802
|
-
|
|
129803
|
-
|
|
129804
|
-
|
|
129805
|
-
|
|
129806
|
-
|
|
129807
|
-
|
|
129808
|
-
|
|
129809
|
-
|
|
129810
|
-
|
|
129811
|
-
|
|
129812
|
-
|
|
129813
|
-
|
|
129814
|
-
|
|
129815
|
-
|
|
130201
|
+
positionEdgeLabel as aA,
|
|
130202
|
+
insertEdgeLabel as aB,
|
|
130203
|
+
baseRest as aC,
|
|
130204
|
+
isArrayLikeObject as aD,
|
|
130205
|
+
constant as aE,
|
|
130206
|
+
isFunction as aF,
|
|
130207
|
+
isEmpty2 as aG,
|
|
130208
|
+
computeDimensionOfText as aH,
|
|
130209
|
+
adjustChannel as aI,
|
|
130210
|
+
array as aJ,
|
|
130211
|
+
getUserDefinedConfig as aK,
|
|
130212
|
+
getDefaultExportFromCjs as aL,
|
|
130213
|
+
getIconSVG as aM,
|
|
130214
|
+
registerIconPacks as aN,
|
|
130215
|
+
unknownIcon as aO,
|
|
130216
|
+
constant$2 as aP,
|
|
130217
|
+
interpolateNumber as aQ,
|
|
130218
|
+
color as aR,
|
|
130219
|
+
interpolateRgb as aS,
|
|
130220
|
+
interpolateString as aT,
|
|
130221
|
+
isObject as aU,
|
|
130222
|
+
isIterateeCall as aV,
|
|
130223
|
+
keysIn as aW,
|
|
130224
|
+
eq as aX,
|
|
130225
|
+
isArrayLike as aY,
|
|
130226
|
+
isArray as aZ,
|
|
130227
|
+
identity as a_,
|
|
129816
130228
|
atan2 as aa,
|
|
129817
130229
|
constant$1 as ab,
|
|
129818
130230
|
asin as ac,
|
|
@@ -129822,65 +130234,68 @@ export {
|
|
|
129822
130234
|
insertNode as ag,
|
|
129823
130235
|
positionNode as ah,
|
|
129824
130236
|
getLineFunctionsWithOffset as ai,
|
|
129825
|
-
|
|
130237
|
+
getEffectiveHtmlLabels as aj,
|
|
129826
130238
|
createText as ak,
|
|
129827
|
-
|
|
129828
|
-
|
|
129829
|
-
|
|
129830
|
-
|
|
129831
|
-
|
|
129832
|
-
|
|
129833
|
-
|
|
129834
|
-
|
|
129835
|
-
|
|
129836
|
-
|
|
129837
|
-
|
|
129838
|
-
|
|
129839
|
-
|
|
129840
|
-
|
|
129841
|
-
|
|
130239
|
+
computeLabelTransform as al,
|
|
130240
|
+
getSubGraphTitleMargins as am,
|
|
130241
|
+
getStylesFromArray as an,
|
|
130242
|
+
decodeEntities as ao,
|
|
130243
|
+
configureLabelImages as ap,
|
|
130244
|
+
Utils as aq,
|
|
130245
|
+
Color$1 as ar,
|
|
130246
|
+
at as as,
|
|
130247
|
+
markers_default as at,
|
|
130248
|
+
clear2 as au,
|
|
130249
|
+
clear as av,
|
|
130250
|
+
clear$1 as aw,
|
|
130251
|
+
updateNodeBounds as ax,
|
|
130252
|
+
setNodeElem as ay,
|
|
130253
|
+
insertEdge as az,
|
|
129842
130254
|
setAccTitle as b,
|
|
129843
|
-
|
|
129844
|
-
|
|
129845
|
-
|
|
129846
|
-
|
|
129847
|
-
|
|
129848
|
-
|
|
129849
|
-
|
|
129850
|
-
|
|
129851
|
-
|
|
129852
|
-
|
|
129853
|
-
|
|
129854
|
-
|
|
129855
|
-
|
|
129856
|
-
|
|
129857
|
-
|
|
129858
|
-
|
|
129859
|
-
|
|
129860
|
-
|
|
129861
|
-
|
|
129862
|
-
|
|
129863
|
-
|
|
129864
|
-
|
|
129865
|
-
|
|
129866
|
-
|
|
129867
|
-
|
|
129868
|
-
|
|
129869
|
-
|
|
129870
|
-
|
|
129871
|
-
|
|
129872
|
-
|
|
129873
|
-
|
|
129874
|
-
|
|
129875
|
-
|
|
129876
|
-
|
|
129877
|
-
|
|
129878
|
-
|
|
129879
|
-
|
|
129880
|
-
|
|
129881
|
-
|
|
129882
|
-
|
|
129883
|
-
|
|
130255
|
+
assignValue as b0,
|
|
130256
|
+
styles2String as b1,
|
|
130257
|
+
isLabelStyle as b2,
|
|
130258
|
+
Rgb as b3,
|
|
130259
|
+
rgbConvert as b4,
|
|
130260
|
+
define as b5,
|
|
130261
|
+
extend$1 as b6,
|
|
130262
|
+
Color as b7,
|
|
130263
|
+
nogamma as b8,
|
|
130264
|
+
hue as b9,
|
|
130265
|
+
Uint8Array$1 as bA,
|
|
130266
|
+
isTypedArray as bB,
|
|
130267
|
+
isLength as bC,
|
|
130268
|
+
Set$1 as bD,
|
|
130269
|
+
createAssigner as bE,
|
|
130270
|
+
isPrototype as bF,
|
|
130271
|
+
getAugmentedNamespace as bG,
|
|
130272
|
+
__vitePreload as bH,
|
|
130273
|
+
dayjs2 as ba,
|
|
130274
|
+
setToString as bb,
|
|
130275
|
+
overRest as bc,
|
|
130276
|
+
baseFor as bd,
|
|
130277
|
+
baseAssignValue as be,
|
|
130278
|
+
baseUnary as bf,
|
|
130279
|
+
merge as bg,
|
|
130280
|
+
isObjectLike as bh,
|
|
130281
|
+
baseGetTag as bi,
|
|
130282
|
+
Symbol$1 as bj,
|
|
130283
|
+
arrayLikeKeys as bk,
|
|
130284
|
+
baseKeys as bl,
|
|
130285
|
+
memoize as bm,
|
|
130286
|
+
isArguments as bn,
|
|
130287
|
+
copyObject as bo,
|
|
130288
|
+
getPrototype as bp,
|
|
130289
|
+
cloneArrayBuffer as bq,
|
|
130290
|
+
cloneTypedArray as br,
|
|
130291
|
+
getTag as bs,
|
|
130292
|
+
nodeUtil as bt,
|
|
130293
|
+
copyArray as bu,
|
|
130294
|
+
isBuffer as bv,
|
|
130295
|
+
cloneBuffer as bw,
|
|
130296
|
+
initCloneObject as bx,
|
|
130297
|
+
Stack as by,
|
|
130298
|
+
MapCache as bz,
|
|
129884
130299
|
getConfig2 as c,
|
|
129885
130300
|
select as d,
|
|
129886
130301
|
configureSvgSize as e,
|
|
@@ -129903,7 +130318,7 @@ export {
|
|
|
129903
130318
|
isValidShape as v,
|
|
129904
130319
|
wrapLabel as w,
|
|
129905
130320
|
getEdgeId as x,
|
|
129906
|
-
|
|
129907
|
-
|
|
130321
|
+
purify as y,
|
|
130322
|
+
clear$2 as z
|
|
129908
130323
|
};
|
|
129909
|
-
//# sourceMappingURL=index-
|
|
130324
|
+
//# sourceMappingURL=index-BXjq-k48.js.map
|