dominds 1.19.3 → 1.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +1 -0
  2. package/dist/access-control.js +2 -2
  3. package/dist/dialog.d.ts +6 -1
  4. package/dist/dialog.js +13 -4
  5. package/dist/docs/context-health.md +39 -13
  6. package/dist/docs/context-health.zh.md +14 -7
  7. package/dist/docs/idle-reminder-wake.md +227 -0
  8. package/dist/docs/idle-reminder-wake.zh.md +227 -0
  9. package/dist/llm/client.d.ts +2 -0
  10. package/dist/llm/client.js +32 -2
  11. package/dist/llm/defaults.yaml +51 -10
  12. package/dist/llm/gen/codex.js +15 -0
  13. package/dist/llm/gen/failure-classifier.js +22 -1
  14. package/dist/llm/kernel-driver/drive.js +6 -0
  15. package/dist/llm/kernel-driver/flow.js +9 -0
  16. package/dist/llm/kernel-driver/idle-reminder-wake.d.ts +4 -0
  17. package/dist/llm/kernel-driver/idle-reminder-wake.js +351 -0
  18. package/dist/llm/kernel-driver/types.d.ts +1 -1
  19. package/dist/minds/load.js +2 -1
  20. package/dist/minds/minds-i18n.js +2 -2
  21. package/dist/minds/system-prompt-parts.js +56 -20
  22. package/dist/minds/system-prompt.js +10 -10
  23. package/dist/persistence.js +1 -1
  24. package/dist/runtime/driver-messages.d.ts +3 -0
  25. package/dist/runtime/driver-messages.js +91 -8
  26. package/dist/server/setup-routes.js +5 -5
  27. package/dist/tool.d.ts +8 -0
  28. package/dist/tools/builtins.js +4 -2
  29. package/dist/tools/ctrl.d.ts +2 -0
  30. package/dist/tools/ctrl.js +255 -68
  31. package/dist/tools/os.js +198 -0
  32. package/dist/tools/prompts/control/en/errors.md +2 -2
  33. package/dist/tools/prompts/control/en/index.md +1 -1
  34. package/dist/tools/prompts/control/en/principles.md +21 -14
  35. package/dist/tools/prompts/control/en/scenarios.md +12 -4
  36. package/dist/tools/prompts/control/en/tools.md +45 -5
  37. package/dist/tools/prompts/control/zh/errors.md +2 -2
  38. package/dist/tools/prompts/control/zh/index.md +1 -1
  39. package/dist/tools/prompts/control/zh/principles.md +21 -14
  40. package/dist/tools/prompts/control/zh/scenarios.md +10 -4
  41. package/dist/tools/prompts/control/zh/tools.md +40 -5
  42. package/dist/tools/prompts/personal_memory/en/principles.md +1 -1
  43. package/dist/tools/prompts/personal_memory/zh/principles.md +1 -1
  44. package/dist/tools/prompts/team_memory/en/principles.md +1 -1
  45. package/dist/tools/prompts/team_memory/zh/principles.md +1 -1
  46. package/dist/tools/team_mgmt.js +5 -8
  47. package/dist/utils/task-package.d.ts +7 -0
  48. package/dist/utils/task-package.js +65 -28
  49. package/dist/utils/taskdoc.js +21 -17
  50. package/package.json +4 -4
  51. package/webapp/dist/assets/{_basePickBy-Dnh413xT.js → _basePickBy-B7M9Q0Fa.js} +3 -3
  52. package/webapp/dist/assets/_basePickBy-B7M9Q0Fa.js.map +1 -0
  53. package/webapp/dist/assets/{_baseUniq-DWzYqpN_.js → _baseUniq-DAeYoL6j.js} +2 -2
  54. package/webapp/dist/assets/_baseUniq-DAeYoL6j.js.map +1 -0
  55. package/webapp/dist/assets/{arc-vfBkNCOx.js → arc-Bh4nDbNR.js} +2 -2
  56. package/webapp/dist/assets/arc-Bh4nDbNR.js.map +1 -0
  57. package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-DiUEBXOa.js → architectureDiagram-2XIMDMQ5-CxqmdsIm.js} +26 -8
  58. package/webapp/dist/assets/architectureDiagram-2XIMDMQ5-CxqmdsIm.js.map +1 -0
  59. package/webapp/dist/assets/{blockDiagram-VD42YOAC-BqK1KM2m.js → blockDiagram-WCTKOSBZ-CxIWLtpt.js} +187 -170
  60. package/webapp/dist/assets/blockDiagram-WCTKOSBZ-CxIWLtpt.js.map +1 -0
  61. package/webapp/dist/assets/{c4Diagram-YG6GDRKO-ClHNu1Uo.js → c4Diagram-IC4MRINW-1qErOIgG.js} +4 -4
  62. package/webapp/dist/assets/c4Diagram-IC4MRINW-1qErOIgG.js.map +1 -0
  63. package/webapp/dist/assets/{channel-BbWLVc8W.js → channel-DkgZHNUe.js} +2 -2
  64. package/webapp/dist/assets/channel-DkgZHNUe.js.map +1 -0
  65. package/webapp/dist/assets/{chunk-4BX2VUAB-CItdSmZH.js → chunk-4BX2VUAB-BmdMbU9v.js} +2 -2
  66. package/webapp/dist/assets/chunk-4BX2VUAB-BmdMbU9v.js.map +1 -0
  67. package/webapp/dist/assets/{chunk-55IACEB6-DSCX9WCf.js → chunk-55IACEB6-D6LDTDBy.js} +2 -2
  68. package/webapp/dist/assets/chunk-55IACEB6-D6LDTDBy.js.map +1 -0
  69. package/webapp/dist/assets/{chunk-FMBD7UC4-BJ1vT2se.js → chunk-FMBD7UC4-C-BdCe4C.js} +2 -2
  70. package/webapp/dist/assets/chunk-FMBD7UC4-C-BdCe4C.js.map +1 -0
  71. package/webapp/dist/assets/{chunk-TZMSLE5B-D2g6Tj7Z.js → chunk-JSJVCQXG-WA_BLIm9.js} +14 -6
  72. package/webapp/dist/assets/chunk-JSJVCQXG-WA_BLIm9.js.map +1 -0
  73. package/webapp/dist/assets/{chunk-QN33PNHL-CGyezTSD.js → chunk-KX2RTZJC-CA7sDJO5.js} +2 -2
  74. package/webapp/dist/assets/chunk-KX2RTZJC-CA7sDJO5.js.map +1 -0
  75. package/webapp/dist/assets/{chunk-DI55MBZ5-CRMf6XZu.js → chunk-NQ4KR5QH-wlvxalE3.js} +9 -7
  76. package/webapp/dist/assets/chunk-NQ4KR5QH-wlvxalE3.js.map +1 -0
  77. package/webapp/dist/assets/{chunk-QZHKN3VN-9xs15j8C.js → chunk-QZHKN3VN-Bo1VMcph.js} +2 -2
  78. package/webapp/dist/assets/chunk-QZHKN3VN-Bo1VMcph.js.map +1 -0
  79. package/webapp/dist/assets/{chunk-B4BG7PRW-5CRXFeD9.js → chunk-WL4C6EOR-B-Pk44be.js} +171 -121
  80. package/webapp/dist/assets/chunk-WL4C6EOR-B-Pk44be.js.map +1 -0
  81. package/webapp/dist/assets/{classDiagram-2ON5EDUG-BQFGGJNm.js → classDiagram-VBA2DB6C-BqKuyb49.js} +7 -6
  82. package/webapp/dist/assets/classDiagram-VBA2DB6C-BqKuyb49.js.map +1 -0
  83. package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-BQFGGJNm.js → classDiagram-v2-RAHNMMFH-BqKuyb49.js} +7 -6
  84. package/webapp/dist/assets/classDiagram-v2-RAHNMMFH-BqKuyb49.js.map +1 -0
  85. package/webapp/dist/assets/{clone-DOfPd4cz.js → clone-BX5z8WVZ.js} +2 -2
  86. package/webapp/dist/assets/clone-BX5z8WVZ.js.map +1 -0
  87. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BYN-vqm8.js → cose-bilkent-S5V4N54A-B-s11SgN.js} +2 -2
  88. package/webapp/dist/assets/cose-bilkent-S5V4N54A-B-s11SgN.js.map +1 -0
  89. package/webapp/dist/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -1
  90. package/webapp/dist/assets/{dagre-6UL2VRFP-ClEaFABE.js → dagre-KLK3FWXG-DmQFV2qK.js} +7 -7
  91. package/webapp/dist/assets/dagre-KLK3FWXG-DmQFV2qK.js.map +1 -0
  92. package/webapp/dist/assets/defaultLocale-B2RvLBDe.js.map +1 -1
  93. package/webapp/dist/assets/{diagram-PSM6KHXK-CM4hLE_0.js → diagram-E7M64L7V-QRaBfST8.js} +10 -10
  94. package/webapp/dist/assets/diagram-E7M64L7V-QRaBfST8.js.map +1 -0
  95. package/webapp/dist/assets/{diagram-QEK2KX5R-BZjGFX-2.js → diagram-IFDJBPK2-lrWn1Obo.js} +9 -8
  96. package/webapp/dist/assets/diagram-IFDJBPK2-lrWn1Obo.js.map +1 -0
  97. package/webapp/dist/assets/{diagram-S2PKOQOG-Bvw01OOG.js → diagram-P4PSJMXO-sTU7Hh-Y.js} +8 -8
  98. package/webapp/dist/assets/diagram-P4PSJMXO-sTU7Hh-Y.js.map +1 -0
  99. package/webapp/dist/assets/{erDiagram-Q2GNP2WA-ctHu5zQL.js → erDiagram-INFDFZHY-Cx6jc9Wq.js} +96 -75
  100. package/webapp/dist/assets/erDiagram-INFDFZHY-Cx6jc9Wq.js.map +1 -0
  101. package/webapp/dist/assets/{flowDiagram-NV44I4VS-m7ofIhri.js → flowDiagram-PKNHOUZH-DfGI49Dz.js} +98 -81
  102. package/webapp/dist/assets/flowDiagram-PKNHOUZH-DfGI49Dz.js.map +1 -0
  103. package/webapp/dist/assets/{ganttDiagram-JELNMOA3-D9wS5Veb.js → ganttDiagram-A5KZAMGK-nrcHWWaM.js} +28 -3
  104. package/webapp/dist/assets/ganttDiagram-A5KZAMGK-nrcHWWaM.js.map +1 -0
  105. package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-B86qqJx7.js → gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js} +38 -46
  106. package/webapp/dist/assets/gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js.map +1 -0
  107. package/webapp/dist/assets/graph-R5G-y8tB.js +782 -0
  108. package/webapp/dist/assets/graph-R5G-y8tB.js.map +1 -0
  109. package/webapp/dist/assets/{index-tinPEZoH.js → index--fy89xGh.js} +1034 -1059
  110. package/webapp/dist/assets/{index-tinPEZoH.js.map → index--fy89xGh.js.map} +1 -1
  111. package/webapp/dist/assets/{index-BGdI3lWA.css → index-DZFkLLVz.css} +1 -1
  112. package/webapp/dist/assets/{infoDiagram-HS3SLOUP-DwRPUctP.js → infoDiagram-LFFYTUFH-PIoZHr7s.js} +7 -7
  113. package/webapp/dist/assets/infoDiagram-LFFYTUFH-PIoZHr7s.js.map +1 -0
  114. package/webapp/dist/assets/init-ZxktEp_H.js.map +1 -1
  115. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js +966 -0
  116. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js.map +1 -0
  117. package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-B91ZO-ec.js → journeyDiagram-4ABVD52K-C2qidjQ5.js} +5 -5
  118. package/webapp/dist/assets/journeyDiagram-4ABVD52K-C2qidjQ5.js.map +1 -0
  119. package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-CoogrZ07.js → kanban-definition-K7BYSVSG-Du0TC8WS.js} +5 -3
  120. package/webapp/dist/assets/kanban-definition-K7BYSVSG-Du0TC8WS.js.map +1 -0
  121. package/webapp/dist/assets/{layout-BrzQmqFJ.js → layout-VmEo1OEB.js} +5 -5
  122. package/webapp/dist/assets/layout-VmEo1OEB.js.map +1 -0
  123. package/webapp/dist/assets/{linear-C6H7K9Zy.js → linear-B662YHAc.js} +2 -2
  124. package/webapp/dist/assets/linear-B662YHAc.js.map +1 -0
  125. package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-UDHZQkNZ.js → mindmap-definition-YRQLILUH-D7arZj95.js} +7 -5
  126. package/webapp/dist/assets/mindmap-definition-YRQLILUH-D7arZj95.js.map +1 -0
  127. package/webapp/dist/assets/ordinal-CxptdPJm.js.map +1 -1
  128. package/webapp/dist/assets/{pieDiagram-ADFJNKIX-M81uyQ1J.js → pieDiagram-SKSYHLDU-DvjPP4PA.js} +8 -8
  129. package/webapp/dist/assets/pieDiagram-SKSYHLDU-DvjPP4PA.js.map +1 -0
  130. package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-ClzIh9Gb.js → quadrantDiagram-337W2JSQ-B_JUGMj_.js} +3 -3
  131. package/webapp/dist/assets/quadrantDiagram-337W2JSQ-B_JUGMj_.js.map +1 -0
  132. package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-DLK3A-pn.js → requirementDiagram-Z7DCOOCP-DF0mpvE3.js} +16 -6
  133. package/webapp/dist/assets/requirementDiagram-Z7DCOOCP-DF0mpvE3.js.map +1 -0
  134. package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-CYqju8I1.js → sankeyDiagram-WA2Y5GQK-CoXlxv00.js} +2 -2
  135. package/webapp/dist/assets/sankeyDiagram-WA2Y5GQK-CoXlxv00.js.map +1 -0
  136. package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-2guv6eOd.js → sequenceDiagram-2WXFIKYE-DYqT5Pg7.js} +601 -201
  137. package/webapp/dist/assets/sequenceDiagram-2WXFIKYE-DYqT5Pg7.js.map +1 -0
  138. package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-iujqSp0X.js → stateDiagram-RAJIS63D-D9b1mN8-.js} +9 -9
  139. package/webapp/dist/assets/stateDiagram-RAJIS63D-D9b1mN8-.js.map +1 -0
  140. package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3-BxzY81ky.js → stateDiagram-v2-FVOUBMTO-DNzgudL_.js} +5 -5
  141. package/webapp/dist/assets/stateDiagram-v2-FVOUBMTO-DNzgudL_.js.map +1 -0
  142. package/webapp/dist/assets/{timeline-definition-IT6M3QCI-DjCFSC8d.js → timeline-definition-YZTLITO2-CkyKUY7A.js} +3 -3
  143. package/webapp/dist/assets/timeline-definition-YZTLITO2-CkyKUY7A.js.map +1 -0
  144. package/webapp/dist/assets/{treemap-GDKQZRPO-iaBzDWCP.js → treemap-KZPCXAKY-CZd09kF-.js} +37 -24
  145. package/webapp/dist/assets/treemap-KZPCXAKY-CZd09kF-.js.map +1 -0
  146. package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js +2487 -0
  147. package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js.map +1 -0
  148. package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-R6Jl1c89.js → xychartDiagram-JWTSCODW-BRwRloPc.js} +4 -4
  149. package/webapp/dist/assets/xychartDiagram-JWTSCODW-BRwRloPc.js.map +1 -0
  150. package/webapp/dist/index.html +2 -2
  151. package/webapp/dist/assets/_basePickBy-Dnh413xT.js.map +0 -1
  152. package/webapp/dist/assets/_baseUniq-DWzYqpN_.js.map +0 -1
  153. package/webapp/dist/assets/arc-vfBkNCOx.js.map +0 -1
  154. package/webapp/dist/assets/architectureDiagram-VXUJARFQ-DiUEBXOa.js.map +0 -1
  155. package/webapp/dist/assets/blockDiagram-VD42YOAC-BqK1KM2m.js.map +0 -1
  156. package/webapp/dist/assets/c4Diagram-YG6GDRKO-ClHNu1Uo.js.map +0 -1
  157. package/webapp/dist/assets/channel-BbWLVc8W.js.map +0 -1
  158. package/webapp/dist/assets/chunk-4BX2VUAB-CItdSmZH.js.map +0 -1
  159. package/webapp/dist/assets/chunk-55IACEB6-DSCX9WCf.js.map +0 -1
  160. package/webapp/dist/assets/chunk-B4BG7PRW-5CRXFeD9.js.map +0 -1
  161. package/webapp/dist/assets/chunk-DI55MBZ5-CRMf6XZu.js.map +0 -1
  162. package/webapp/dist/assets/chunk-FMBD7UC4-BJ1vT2se.js.map +0 -1
  163. package/webapp/dist/assets/chunk-QN33PNHL-CGyezTSD.js.map +0 -1
  164. package/webapp/dist/assets/chunk-QZHKN3VN-9xs15j8C.js.map +0 -1
  165. package/webapp/dist/assets/chunk-TZMSLE5B-D2g6Tj7Z.js.map +0 -1
  166. package/webapp/dist/assets/classDiagram-2ON5EDUG-BQFGGJNm.js.map +0 -1
  167. package/webapp/dist/assets/classDiagram-v2-WZHVMYZB-BQFGGJNm.js.map +0 -1
  168. package/webapp/dist/assets/clone-DOfPd4cz.js.map +0 -1
  169. package/webapp/dist/assets/cose-bilkent-S5V4N54A-BYN-vqm8.js.map +0 -1
  170. package/webapp/dist/assets/dagre-6UL2VRFP-ClEaFABE.js.map +0 -1
  171. package/webapp/dist/assets/diagram-PSM6KHXK-CM4hLE_0.js.map +0 -1
  172. package/webapp/dist/assets/diagram-QEK2KX5R-BZjGFX-2.js.map +0 -1
  173. package/webapp/dist/assets/diagram-S2PKOQOG-Bvw01OOG.js.map +0 -1
  174. package/webapp/dist/assets/erDiagram-Q2GNP2WA-ctHu5zQL.js.map +0 -1
  175. package/webapp/dist/assets/flowDiagram-NV44I4VS-m7ofIhri.js.map +0 -1
  176. package/webapp/dist/assets/ganttDiagram-JELNMOA3-D9wS5Veb.js.map +0 -1
  177. package/webapp/dist/assets/gitGraphDiagram-V2S2FVAM-B86qqJx7.js.map +0 -1
  178. package/webapp/dist/assets/graph-u844GGQC.js +0 -425
  179. package/webapp/dist/assets/graph-u844GGQC.js.map +0 -1
  180. package/webapp/dist/assets/infoDiagram-HS3SLOUP-DwRPUctP.js.map +0 -1
  181. package/webapp/dist/assets/journeyDiagram-XKPGCS4Q-B91ZO-ec.js.map +0 -1
  182. package/webapp/dist/assets/kanban-definition-3W4ZIXB7-CoogrZ07.js.map +0 -1
  183. package/webapp/dist/assets/layout-BrzQmqFJ.js.map +0 -1
  184. package/webapp/dist/assets/linear-C6H7K9Zy.js.map +0 -1
  185. package/webapp/dist/assets/mindmap-definition-VGOIOE7T-UDHZQkNZ.js.map +0 -1
  186. package/webapp/dist/assets/pieDiagram-ADFJNKIX-M81uyQ1J.js.map +0 -1
  187. package/webapp/dist/assets/quadrantDiagram-AYHSOK5B-ClzIh9Gb.js.map +0 -1
  188. package/webapp/dist/assets/requirementDiagram-UZGBJVZJ-DLK3A-pn.js.map +0 -1
  189. package/webapp/dist/assets/sankeyDiagram-TZEHDZUN-CYqju8I1.js.map +0 -1
  190. package/webapp/dist/assets/sequenceDiagram-WL72ISMW-2guv6eOd.js.map +0 -1
  191. package/webapp/dist/assets/stateDiagram-FKZM4ZOC-iujqSp0X.js.map +0 -1
  192. package/webapp/dist/assets/stateDiagram-v2-4FDKWEC3-BxzY81ky.js.map +0 -1
  193. package/webapp/dist/assets/timeline-definition-IT6M3QCI-DjCFSC8d.js.map +0 -1
  194. package/webapp/dist/assets/treemap-GDKQZRPO-iaBzDWCP.js.map +0 -1
  195. package/webapp/dist/assets/xychartDiagram-PRI3JC2R-R6Jl1c89.js.map +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-ClEaFABE.js","assets/graph-u844GGQC.js","assets/_baseUniq-DWzYqpN_.js","assets/layout-BrzQmqFJ.js","assets/_basePickBy-Dnh413xT.js","assets/clone-DOfPd4cz.js","assets/cose-bilkent-S5V4N54A-BYN-vqm8.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-ClHNu1Uo.js","assets/chunk-TZMSLE5B-D2g6Tj7Z.js","assets/flowDiagram-NV44I4VS-m7ofIhri.js","assets/chunk-FMBD7UC4-BJ1vT2se.js","assets/chunk-55IACEB6-DSCX9WCf.js","assets/chunk-QN33PNHL-CGyezTSD.js","assets/channel-BbWLVc8W.js","assets/erDiagram-Q2GNP2WA-ctHu5zQL.js","assets/gitGraphDiagram-V2S2FVAM-B86qqJx7.js","assets/chunk-4BX2VUAB-CItdSmZH.js","assets/chunk-QZHKN3VN-9xs15j8C.js","assets/treemap-GDKQZRPO-iaBzDWCP.js","assets/ganttDiagram-JELNMOA3-D9wS5Veb.js","assets/linear-C6H7K9Zy.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-DwRPUctP.js","assets/pieDiagram-ADFJNKIX-M81uyQ1J.js","assets/arc-vfBkNCOx.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-ClzIh9Gb.js","assets/xychartDiagram-PRI3JC2R-R6Jl1c89.js","assets/requirementDiagram-UZGBJVZJ-DLK3A-pn.js","assets/sequenceDiagram-WL72ISMW-2guv6eOd.js","assets/classDiagram-2ON5EDUG-BQFGGJNm.js","assets/chunk-B4BG7PRW-5CRXFeD9.js","assets/classDiagram-v2-WZHVMYZB-BQFGGJNm.js","assets/stateDiagram-FKZM4ZOC-iujqSp0X.js","assets/chunk-DI55MBZ5-CRMf6XZu.js","assets/stateDiagram-v2-4FDKWEC3-BxzY81ky.js","assets/journeyDiagram-XKPGCS4Q-B91ZO-ec.js","assets/timeline-definition-IT6M3QCI-DjCFSC8d.js","assets/mindmap-definition-VGOIOE7T-UDHZQkNZ.js","assets/kanban-definition-3W4ZIXB7-CoogrZ07.js","assets/sankeyDiagram-TZEHDZUN-CYqju8I1.js","assets/diagram-S2PKOQOG-Bvw01OOG.js","assets/diagram-QEK2KX5R-BZjGFX-2.js","assets/blockDiagram-VD42YOAC-BqK1KM2m.js","assets/architectureDiagram-VXUJARFQ-DiUEBXOa.js","assets/diagram-PSM6KHXK-CM4hLE_0.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-DmQFV2qK.js","assets/graph-R5G-y8tB.js","assets/_baseUniq-DAeYoL6j.js","assets/layout-VmEo1OEB.js","assets/_basePickBy-B7M9Q0Fa.js","assets/clone-BX5z8WVZ.js","assets/cose-bilkent-S5V4N54A-B-s11SgN.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-1qErOIgG.js","assets/chunk-JSJVCQXG-WA_BLIm9.js","assets/flowDiagram-PKNHOUZH-DfGI49Dz.js","assets/chunk-FMBD7UC4-C-BdCe4C.js","assets/chunk-55IACEB6-D6LDTDBy.js","assets/chunk-KX2RTZJC-CA7sDJO5.js","assets/channel-DkgZHNUe.js","assets/erDiagram-INFDFZHY-Cx6jc9Wq.js","assets/gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js","assets/chunk-4BX2VUAB-BmdMbU9v.js","assets/chunk-QZHKN3VN-Bo1VMcph.js","assets/treemap-KZPCXAKY-CZd09kF-.js","assets/ganttDiagram-A5KZAMGK-nrcHWWaM.js","assets/linear-B662YHAc.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-PIoZHr7s.js","assets/pieDiagram-SKSYHLDU-DvjPP4PA.js","assets/arc-Bh4nDbNR.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-B_JUGMj_.js","assets/xychartDiagram-JWTSCODW-BRwRloPc.js","assets/requirementDiagram-Z7DCOOCP-DF0mpvE3.js","assets/sequenceDiagram-2WXFIKYE-DYqT5Pg7.js","assets/classDiagram-VBA2DB6C-BqKuyb49.js","assets/chunk-WL4C6EOR-B-Pk44be.js","assets/classDiagram-v2-RAHNMMFH-BqKuyb49.js","assets/stateDiagram-RAJIS63D-D9b1mN8-.js","assets/chunk-NQ4KR5QH-wlvxalE3.js","assets/stateDiagram-v2-FVOUBMTO-DNzgudL_.js","assets/journeyDiagram-4ABVD52K-C2qidjQ5.js","assets/timeline-definition-YZTLITO2-CkyKUY7A.js","assets/mindmap-definition-YRQLILUH-D7arZj95.js","assets/kanban-definition-K7BYSVSG-Du0TC8WS.js","assets/sankeyDiagram-WA2Y5GQK-CoXlxv00.js","assets/diagram-P4PSJMXO-sTU7Hh-Y.js","assets/diagram-IFDJBPK2-lrWn1Obo.js","assets/blockDiagram-WCTKOSBZ-CxIWLtpt.js","assets/architectureDiagram-2XIMDMQ5-CxqmdsIm.js","assets/diagram-E7M64L7V-QRaBfST8.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);
@@ -5449,7 +5449,7 @@ const _createHooksMap = function _createHooksMap2() {
5449
5449
  function createDOMPurify() {
5450
5450
  let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
5451
5451
  const DOMPurify = (root2) => createDOMPurify(root2);
5452
- DOMPurify.version = "3.3.2";
5452
+ DOMPurify.version = "3.3.3";
5453
5453
  DOMPurify.removed = [];
5454
5454
  if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
5455
5455
  DOMPurify.isSupported = false;
@@ -11385,9 +11385,9 @@ MarkdownIt.prototype.disable = function(list2, ignoreInvalid) {
11385
11385
  }
11386
11386
  return this;
11387
11387
  };
11388
- MarkdownIt.prototype.use = function(plugin22) {
11388
+ MarkdownIt.prototype.use = function(plugin23) {
11389
11389
  const args = [this].concat(Array.prototype.slice.call(arguments, 1));
11390
- plugin22.apply(plugin22, args);
11390
+ plugin23.apply(plugin23, args);
11391
11391
  return this;
11392
11392
  };
11393
11393
  MarkdownIt.prototype.parse = function(src, env) {
@@ -12863,37 +12863,37 @@ function requireCore() {
12863
12863
  const lang = getLanguage(name);
12864
12864
  return lang && !lang.disableAutodetect;
12865
12865
  }
12866
- function upgradePluginAPI(plugin22) {
12867
- if (plugin22["before:highlightBlock"] && !plugin22["before:highlightElement"]) {
12868
- plugin22["before:highlightElement"] = (data) => {
12869
- plugin22["before:highlightBlock"](
12866
+ function upgradePluginAPI(plugin23) {
12867
+ if (plugin23["before:highlightBlock"] && !plugin23["before:highlightElement"]) {
12868
+ plugin23["before:highlightElement"] = (data) => {
12869
+ plugin23["before:highlightBlock"](
12870
12870
  Object.assign({ block: data.el }, data)
12871
12871
  );
12872
12872
  };
12873
12873
  }
12874
- if (plugin22["after:highlightBlock"] && !plugin22["after:highlightElement"]) {
12875
- plugin22["after:highlightElement"] = (data) => {
12876
- plugin22["after:highlightBlock"](
12874
+ if (plugin23["after:highlightBlock"] && !plugin23["after:highlightElement"]) {
12875
+ plugin23["after:highlightElement"] = (data) => {
12876
+ plugin23["after:highlightBlock"](
12877
12877
  Object.assign({ block: data.el }, data)
12878
12878
  );
12879
12879
  };
12880
12880
  }
12881
12881
  }
12882
- function addPlugin(plugin22) {
12883
- upgradePluginAPI(plugin22);
12884
- plugins.push(plugin22);
12882
+ function addPlugin(plugin23) {
12883
+ upgradePluginAPI(plugin23);
12884
+ plugins.push(plugin23);
12885
12885
  }
12886
- function removePlugin(plugin22) {
12887
- const index = plugins.indexOf(plugin22);
12886
+ function removePlugin(plugin23) {
12887
+ const index = plugins.indexOf(plugin23);
12888
12888
  if (index !== -1) {
12889
12889
  plugins.splice(index, 1);
12890
12890
  }
12891
12891
  }
12892
12892
  function fire(event, args) {
12893
12893
  const cb = event;
12894
- plugins.forEach(function(plugin22) {
12895
- if (plugin22[cb]) {
12896
- plugin22[cb](args);
12894
+ plugins.forEach(function(plugin23) {
12895
+ if (plugin23[cb]) {
12896
+ plugin23[cb](args);
12897
12897
  }
12898
12898
  });
12899
12899
  }
@@ -64212,8 +64212,8 @@ class Settings {
64212
64212
  }
64213
64213
  }
64214
64214
  class Style {
64215
- constructor(id28, size, cramped) {
64216
- this.id = id28;
64215
+ constructor(id30, size, cramped) {
64216
+ this.id = id30;
64217
64217
  this.size = size;
64218
64218
  this.cramped = cramped;
64219
64219
  }
@@ -64541,6 +64541,44 @@ var tallDelim = function tallDelim2(label, midHeight) {
64541
64541
  throw new Error("Unknown stretchy delimiter.");
64542
64542
  }
64543
64543
  };
64544
+ class DocumentFragment {
64545
+ // Never used; needed for satisfying interface.
64546
+ constructor(children2) {
64547
+ this.children = children2;
64548
+ this.classes = [];
64549
+ this.height = 0;
64550
+ this.depth = 0;
64551
+ this.maxFontSize = 0;
64552
+ this.style = {};
64553
+ }
64554
+ hasClass(className) {
64555
+ return this.classes.includes(className);
64556
+ }
64557
+ /** Convert the fragment into a node. */
64558
+ toNode() {
64559
+ var frag = document.createDocumentFragment();
64560
+ for (var i2 = 0; i2 < this.children.length; i2++) {
64561
+ frag.appendChild(this.children[i2].toNode());
64562
+ }
64563
+ return frag;
64564
+ }
64565
+ /** Convert the fragment into HTML markup. */
64566
+ toMarkup() {
64567
+ var markup = "";
64568
+ for (var i2 = 0; i2 < this.children.length; i2++) {
64569
+ markup += this.children[i2].toMarkup();
64570
+ }
64571
+ return markup;
64572
+ }
64573
+ /**
64574
+ * Converts the math node into a string, similar to innerText. Applies to
64575
+ * MathDomNode's only.
64576
+ */
64577
+ toText() {
64578
+ var toText = (child) => child.toText();
64579
+ return this.children.map(toText).join("");
64580
+ }
64581
+ }
64544
64582
  var ptPerUnit = {
64545
64583
  // https://en.wikibooks.org/wiki/LaTeX/Lengths and
64546
64584
  // https://tex.stackexchange.com/a/8263
@@ -64924,6 +64962,7 @@ function assertSpan(group) {
64924
64962
  throw new Error("Expected span<HtmlDomNode> but got " + String(group) + ".");
64925
64963
  }
64926
64964
  }
64965
+ var hasHtmlDomChildren = (node2) => node2 instanceof Span || node2 instanceof Anchor || node2 instanceof DocumentFragment;
64927
64966
  var fontMetricsData = {
64928
64967
  "AMS-Regular": {
64929
64968
  "32": [0, 0, 0, 0, 0.25],
@@ -68031,44 +68070,6 @@ var wideCharacterFont = (wideChar2, mode) => {
68031
68070
  throw new ParseError("Unsupported character: " + wideChar2);
68032
68071
  }
68033
68072
  };
68034
- class DocumentFragment {
68035
- // Never used; needed for satisfying interface.
68036
- constructor(children2) {
68037
- this.children = children2;
68038
- this.classes = [];
68039
- this.height = 0;
68040
- this.depth = 0;
68041
- this.maxFontSize = 0;
68042
- this.style = {};
68043
- }
68044
- hasClass(className) {
68045
- return this.classes.includes(className);
68046
- }
68047
- /** Convert the fragment into a node. */
68048
- toNode() {
68049
- var frag = document.createDocumentFragment();
68050
- for (var i2 = 0; i2 < this.children.length; i2++) {
68051
- frag.appendChild(this.children[i2].toNode());
68052
- }
68053
- return frag;
68054
- }
68055
- /** Convert the fragment into HTML markup. */
68056
- toMarkup() {
68057
- var markup = "";
68058
- for (var i2 = 0; i2 < this.children.length; i2++) {
68059
- markup += this.children[i2].toMarkup();
68060
- }
68061
- return markup;
68062
- }
68063
- /**
68064
- * Converts the math node into a string, similar to innerText. Applies to
68065
- * MathDomNode's only.
68066
- */
68067
- toText() {
68068
- var toText = (child) => child.toText();
68069
- return this.children.map(toText).join("");
68070
- }
68071
- }
68072
68073
  var lookupSymbol = function lookupSymbol2(value, fontName, mode) {
68073
68074
  if (symbols[mode][value]) {
68074
68075
  var replacement = symbols[mode][value].replace;
@@ -69769,6 +69770,14 @@ function checkSymbolNodeType(node2) {
69769
69770
  }
69770
69771
  return null;
69771
69772
  }
69773
+ var getBaseSymbol = (group) => {
69774
+ if (group instanceof SymbolNode) {
69775
+ return group;
69776
+ }
69777
+ if (hasHtmlDomChildren(group) && group.children.length === 1) {
69778
+ return getBaseSymbol(group.children[0]);
69779
+ }
69780
+ };
69772
69781
  var htmlBuilder$a = (grp, options) => {
69773
69782
  var base2;
69774
69783
  var group;
@@ -69787,9 +69796,8 @@ var htmlBuilder$a = (grp, options) => {
69787
69796
  var mustShift = group.isShifty && isCharacterBox(base2);
69788
69797
  var skew2 = 0;
69789
69798
  if (mustShift) {
69790
- var baseChar = getBaseElem(base2);
69791
- var baseGroup = buildGroup$1(baseChar, options.havingCrampedStyle());
69792
- skew2 = assertSymbolDomNode(baseGroup).skew;
69799
+ var _getBaseSymbol$skew, _getBaseSymbol;
69800
+ skew2 = (_getBaseSymbol$skew = (_getBaseSymbol = getBaseSymbol(body)) == null ? void 0 : _getBaseSymbol.skew) != null ? _getBaseSymbol$skew : 0;
69793
69801
  }
69794
69802
  var accentBelow = group.label === "\\c";
69795
69803
  var clearance = accentBelow ? body.height + body.depth : Math.min(body.height, options.fontMetrics().xHeight);
@@ -78086,7 +78094,7 @@ var renderToHTMLTree = function renderToHTMLTree2(expression, options) {
78086
78094
  return renderError(error2, expression, settings);
78087
78095
  }
78088
78096
  };
78089
- var version = "0.16.37";
78097
+ var version = "0.16.38";
78090
78098
  var __domTree = {
78091
78099
  Span,
78092
78100
  Anchor,
@@ -78316,147 +78324,6 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
78316
78324
  return baseModule().catch(handlePreloadError);
78317
78325
  });
78318
78326
  };
78319
- var package_default = {
78320
- name: "mermaid",
78321
- version: "11.12.3",
78322
- description: "Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",
78323
- type: "module",
78324
- module: "./dist/mermaid.core.mjs",
78325
- types: "./dist/mermaid.d.ts",
78326
- exports: {
78327
- ".": {
78328
- types: "./dist/mermaid.d.ts",
78329
- import: "./dist/mermaid.core.mjs",
78330
- default: "./dist/mermaid.core.mjs"
78331
- },
78332
- "./*": "./*"
78333
- },
78334
- keywords: [
78335
- "diagram",
78336
- "markdown",
78337
- "flowchart",
78338
- "sequence diagram",
78339
- "gantt",
78340
- "class diagram",
78341
- "git graph",
78342
- "mindmap",
78343
- "packet diagram",
78344
- "c4 diagram",
78345
- "er diagram",
78346
- "pie chart",
78347
- "pie diagram",
78348
- "quadrant chart",
78349
- "requirement diagram",
78350
- "graph"
78351
- ],
78352
- scripts: {
78353
- clean: "rimraf dist",
78354
- dev: "pnpm -w dev",
78355
- "docs:code": "typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup",
78356
- "docs:build": "rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts",
78357
- "docs:verify": "pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify",
78358
- "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",
78359
- "docs:build:vitepress": "pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing",
78360
- "docs:dev": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',
78361
- "docs:dev:docker": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',
78362
- "docs:serve": "pnpm docs:build:vitepress && vitepress serve src/vitepress",
78363
- "docs:spellcheck": 'cspell "src/docs/**/*.md"',
78364
- "docs:release-version": "tsx scripts/update-release-version.mts",
78365
- "docs:verify-version": "tsx scripts/update-release-version.mts --verify",
78366
- "types:build-config": "tsx scripts/create-types-from-json-schema.mts",
78367
- "types:verify-config": "tsx scripts/create-types-from-json-schema.mts --verify",
78368
- checkCircle: "npx madge --circular ./src",
78369
- prepublishOnly: "pnpm docs:verify-version"
78370
- },
78371
- repository: {
78372
- type: "git",
78373
- url: "https://github.com/mermaid-js/mermaid"
78374
- },
78375
- author: "Knut Sveidqvist",
78376
- license: "MIT",
78377
- standard: {
78378
- ignore: [
78379
- "**/parser/*.js",
78380
- "dist/**/*.js",
78381
- "cypress/**/*.js"
78382
- ],
78383
- globals: [
78384
- "page"
78385
- ]
78386
- },
78387
- dependencies: {
78388
- "@braintree/sanitize-url": "^7.1.1",
78389
- "@iconify/utils": "^3.0.1",
78390
- "@mermaid-js/parser": "workspace:^",
78391
- "@types/d3": "^7.4.3",
78392
- cytoscape: "^3.29.3",
78393
- "cytoscape-cose-bilkent": "^4.1.0",
78394
- "cytoscape-fcose": "^2.2.0",
78395
- d3: "^7.9.0",
78396
- "d3-sankey": "^0.12.3",
78397
- "dagre-d3-es": "7.0.13",
78398
- dayjs: "^1.11.18",
78399
- dompurify: "^3.2.5",
78400
- katex: "^0.16.22",
78401
- khroma: "^2.1.0",
78402
- "lodash-es": "^4.17.23",
78403
- marked: "^16.2.1",
78404
- roughjs: "^4.6.6",
78405
- stylis: "^4.3.6",
78406
- "ts-dedent": "^2.2.0",
78407
- uuid: "^11.1.0"
78408
- },
78409
- devDependencies: {
78410
- "@adobe/jsonschema2md": "^8.0.5",
78411
- "@iconify/types": "^2.0.0",
78412
- "@types/cytoscape": "^3.21.9",
78413
- "@types/cytoscape-fcose": "^2.2.4",
78414
- "@types/d3-sankey": "^0.12.4",
78415
- "@types/d3-scale": "^4.0.9",
78416
- "@types/d3-scale-chromatic": "^3.1.0",
78417
- "@types/d3-selection": "^3.0.11",
78418
- "@types/d3-shape": "^3.1.7",
78419
- "@types/jsdom": "^21.1.7",
78420
- "@types/katex": "^0.16.7",
78421
- "@types/lodash-es": "^4.17.12",
78422
- "@types/micromatch": "^4.0.9",
78423
- "@types/stylis": "^4.2.7",
78424
- "@types/uuid": "^10.0.0",
78425
- ajv: "^8.17.1",
78426
- canvas: "^3.1.2",
78427
- chokidar: "3.6.0",
78428
- concurrently: "^9.1.2",
78429
- "csstree-validator": "^4.0.1",
78430
- globby: "^14.1.0",
78431
- jison: "^0.4.18",
78432
- "js-base64": "^3.7.8",
78433
- jsdom: "^26.1.0",
78434
- "json-schema-to-typescript": "^15.0.4",
78435
- micromatch: "^4.0.8",
78436
- "path-browserify": "^1.0.1",
78437
- prettier: "^3.5.3",
78438
- remark: "^15.0.1",
78439
- "remark-frontmatter": "^5.0.0",
78440
- "remark-gfm": "^4.0.1",
78441
- rimraf: "^6.0.1",
78442
- "start-server-and-test": "^2.0.13",
78443
- "type-fest": "^4.35.0",
78444
- typedoc: "^0.28.12",
78445
- "typedoc-plugin-markdown": "^4.8.1",
78446
- typescript: "~5.7.3",
78447
- "unist-util-flatmap": "^1.0.0",
78448
- "unist-util-visit": "^5.0.0",
78449
- vitepress: "^1.6.4",
78450
- "vitepress-plugin-search": "1.0.4-alpha.22"
78451
- },
78452
- files: [
78453
- "dist/",
78454
- "README.md"
78455
- ],
78456
- publishConfig: {
78457
- access: "public"
78458
- }
78459
- };
78460
78327
  var dayjs_min$1 = { exports: {} };
78461
78328
  var dayjs_min = dayjs_min$1.exports;
78462
78329
  var hasRequiredDayjs_min;
@@ -79477,8 +79344,8 @@ var UnknownDiagramError = (_a2 = class extends Error {
79477
79344
  var detectors = {};
79478
79345
  var detectType$1 = /* @__PURE__ */ __name(function(text2, config2) {
79479
79346
  text2 = text2.replace(frontMatterRegex, "").replace(directiveRegex, "").replace(anyCommentRegex, "\n");
79480
- for (const [key, { detector: detector28 }] of Object.entries(detectors)) {
79481
- const diagram2 = detector28(text2, config2);
79347
+ for (const [key, { detector: detector30 }] of Object.entries(detectors)) {
79348
+ const diagram2 = detector30(text2, config2);
79482
79349
  if (diagram2) {
79483
79350
  return key;
79484
79351
  }
@@ -79488,16 +79355,16 @@ var detectType$1 = /* @__PURE__ */ __name(function(text2, config2) {
79488
79355
  );
79489
79356
  }, "detectType");
79490
79357
  var registerLazyLoadedDiagrams = /* @__PURE__ */ __name((...diagrams2) => {
79491
- for (const { id: id28, detector: detector28, loader: loader28 } of diagrams2) {
79492
- addDetector(id28, detector28, loader28);
79358
+ for (const { id: id30, detector: detector30, loader: loader30 } of diagrams2) {
79359
+ addDetector(id30, detector30, loader30);
79493
79360
  }
79494
79361
  }, "registerLazyLoadedDiagrams");
79495
- var addDetector = /* @__PURE__ */ __name((key, detector28, loader28) => {
79362
+ var addDetector = /* @__PURE__ */ __name((key, detector30, loader30) => {
79496
79363
  if (detectors[key]) {
79497
79364
  log.warn(`Detector with key ${key} already exists. Overwriting.`);
79498
79365
  }
79499
- detectors[key] = { detector: detector28, loader: loader28 };
79500
- log.debug(`Detector with key ${key} added${loader28 ? " with loader" : ""}`);
79366
+ detectors[key] = { detector: detector30, loader: loader30 };
79367
+ log.debug(`Detector with key ${key} added${loader30 ? " with loader" : ""}`);
79501
79368
  }, "addDetector");
79502
79369
  var getDiagramLoader = /* @__PURE__ */ __name((key) => {
79503
79370
  return detectors[key].loader;
@@ -79524,7 +79391,7 @@ var assignWithDepth = /* @__PURE__ */ __name((dst, src, { depth = 2, clobber = f
79524
79391
  }
79525
79392
  if (src !== void 0 && typeof dst === "object" && typeof src === "object") {
79526
79393
  Object.keys(src).forEach((key) => {
79527
- if (typeof src[key] === "object" && (dst[key] === void 0 || typeof dst[key] === "object")) {
79394
+ if (typeof src[key] === "object" && src[key] !== null && (dst[key] === void 0 || typeof dst[key] === "object")) {
79528
79395
  if (dst[key] === void 0) {
79529
79396
  dst[key] = Array.isArray(src[key]) ? [] : {};
79530
79397
  }
@@ -79705,6 +79572,16 @@ var Theme = (_b = class {
79705
79572
  this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
79706
79573
  this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
79707
79574
  this.pieOpacity = this.pieOpacity || "0.7";
79575
+ this.venn1 = this.venn1 ?? adjust(this.primaryColor, { l: -30 });
79576
+ this.venn2 = this.venn2 ?? adjust(this.secondaryColor, { l: -30 });
79577
+ this.venn3 = this.venn3 ?? adjust(this.tertiaryColor, { l: -30 });
79578
+ this.venn4 = this.venn4 ?? adjust(this.primaryColor, { h: 60, l: -30 });
79579
+ this.venn5 = this.venn5 ?? adjust(this.primaryColor, { h: -60, l: -30 });
79580
+ this.venn6 = this.venn6 ?? adjust(this.secondaryColor, { h: 60, l: -30 });
79581
+ this.venn7 = this.venn7 ?? adjust(this.primaryColor, { h: 120, l: -30 });
79582
+ this.venn8 = this.venn8 ?? adjust(this.secondaryColor, { h: 120, l: -30 });
79583
+ this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
79584
+ this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
79708
79585
  this.radar = {
79709
79586
  axisColor: this.radar?.axisColor || this.lineColor,
79710
79587
  axisStrokeWidth: this.radar?.axisStrokeWidth || 2,
@@ -79946,7 +79823,7 @@ var Theme2 = (_c = class {
79946
79823
  this.taskTextOutsideColor = this.taskTextLightColor;
79947
79824
  this.gridColor = this.mainContrastColor;
79948
79825
  this.doneTaskBkgColor = this.mainContrastColor;
79949
- this.taskTextDarkColor = this.darkTextColor;
79826
+ this.taskTextDarkColor = invert(this.doneTaskBkgColor);
79950
79827
  this.archEdgeColor = this.lineColor;
79951
79828
  this.archEdgeArrowColor = this.lineColor;
79952
79829
  this.transitionColor = this.transitionColor || this.lineColor;
@@ -80012,16 +79889,21 @@ var Theme2 = (_c = class {
80012
79889
  this["pie" + i2] = this["cScale" + i2];
80013
79890
  }
80014
79891
  this.pieTitleTextSize = this.pieTitleTextSize || "25px";
80015
- this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;
79892
+ this.pieTitleTextColor = this.pieTitleTextColor || this.mainContrastColor;
80016
79893
  this.pieSectionTextSize = this.pieSectionTextSize || "17px";
80017
79894
  this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;
80018
79895
  this.pieLegendTextSize = this.pieLegendTextSize || "17px";
80019
- this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;
79896
+ this.pieLegendTextColor = this.pieLegendTextColor || this.mainContrastColor;
80020
79897
  this.pieStrokeColor = this.pieStrokeColor || "black";
80021
79898
  this.pieStrokeWidth = this.pieStrokeWidth || "2px";
80022
79899
  this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
80023
79900
  this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
80024
79901
  this.pieOpacity = this.pieOpacity || "0.7";
79902
+ for (let i2 = 0; i2 < 8; i2++) {
79903
+ this["venn" + (i2 + 1)] = this["venn" + (i2 + 1)] ?? lighten(this["cScale" + i2], 30);
79904
+ }
79905
+ this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
79906
+ this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
80025
79907
  this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
80026
79908
  this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
80027
79909
  this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
@@ -80340,6 +80222,16 @@ var Theme3 = (_d = class {
80340
80222
  this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
80341
80223
  this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
80342
80224
  this.pieOpacity = this.pieOpacity || "0.7";
80225
+ this.venn1 = this.venn1 ?? adjust(this.primaryColor, { l: -30 });
80226
+ this.venn2 = this.venn2 ?? adjust(this.secondaryColor, { l: -30 });
80227
+ this.venn3 = this.venn3 ?? adjust(this.tertiaryColor, { l: -40 });
80228
+ this.venn4 = this.venn4 ?? adjust(this.primaryColor, { h: 60, l: -30 });
80229
+ this.venn5 = this.venn5 ?? adjust(this.primaryColor, { h: -60, l: -30 });
80230
+ this.venn6 = this.venn6 ?? adjust(this.secondaryColor, { h: 60, l: -30 });
80231
+ this.venn7 = this.venn7 ?? adjust(this.primaryColor, { h: 120, l: -30 });
80232
+ this.venn8 = this.venn8 ?? adjust(this.secondaryColor, { h: 120, l: -30 });
80233
+ this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
80234
+ this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
80343
80235
  this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
80344
80236
  this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
80345
80237
  this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
@@ -80641,6 +80533,16 @@ var Theme4 = (_e2 = class {
80641
80533
  this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
80642
80534
  this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
80643
80535
  this.pieOpacity = this.pieOpacity || "0.7";
80536
+ this.venn1 = this.venn1 ?? adjust(this.primaryColor, { l: -30 });
80537
+ this.venn2 = this.venn2 ?? adjust(this.secondaryColor, { l: -30 });
80538
+ this.venn3 = this.venn3 ?? adjust(this.tertiaryColor, { l: -30 });
80539
+ this.venn4 = this.venn4 ?? adjust(this.primaryColor, { h: 60, l: -30 });
80540
+ this.venn5 = this.venn5 ?? adjust(this.primaryColor, { h: -60, l: -30 });
80541
+ this.venn6 = this.venn6 ?? adjust(this.secondaryColor, { h: 60, l: -30 });
80542
+ this.venn7 = this.venn7 ?? adjust(this.primaryColor, { h: 120, l: -30 });
80543
+ this.venn8 = this.venn8 ?? adjust(this.secondaryColor, { h: 120, l: -30 });
80544
+ this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
80545
+ this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
80644
80546
  this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
80645
80547
  this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
80646
80548
  this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
@@ -80962,6 +80864,11 @@ var Theme5 = (_f = class {
80962
80864
  this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px";
80963
80865
  this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black";
80964
80866
  this.pieOpacity = this.pieOpacity || "0.7";
80867
+ for (let i2 = 0; i2 < 8; i2++) {
80868
+ this["venn" + (i2 + 1)] = this["venn" + (i2 + 1)] ?? this["cScale" + i2];
80869
+ }
80870
+ this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;
80871
+ this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;
80965
80872
  this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;
80966
80873
  this.quadrant2Fill = this.quadrant2Fill || adjust(this.primaryColor, { r: 5, g: 5, b: 5 });
80967
80874
  this.quadrant3Fill = this.quadrant3Fill || adjust(this.primaryColor, { r: 10, g: 10, b: 10 });
@@ -81090,7 +80997,7 @@ var config_schema_default = {
81090
80997
  "bottom": 0
81091
80998
  },
81092
80999
  "diagramPadding": 8,
81093
- "htmlLabels": true,
81000
+ "htmlLabels": null,
81094
81001
  "nodeSpacing": 50,
81095
81002
  "rankSpacing": 50,
81096
81003
  "curve": "basis",
@@ -81321,6 +81228,10 @@ var config_schema_default = {
81321
81228
  "maxNodeWidth": 200,
81322
81229
  "layoutAlgorithm": "cose-bilkent"
81323
81230
  },
81231
+ "ishikawa": {
81232
+ "useMaxWidth": true,
81233
+ "diagramPadding": 20
81234
+ },
81324
81235
  "kanban": {
81325
81236
  "useMaxWidth": true,
81326
81237
  "padding": 8,
@@ -81548,6 +81459,13 @@ var config_schema_default = {
81548
81459
  "axisLabelFactor": 1.05,
81549
81460
  "curveTension": 0.17
81550
81461
  },
81462
+ "venn": {
81463
+ "useMaxWidth": true,
81464
+ "width": 800,
81465
+ "height": 450,
81466
+ "padding": 8,
81467
+ "useDebugLayout": false
81468
+ },
81551
81469
  "theme": "default",
81552
81470
  "look": "classic",
81553
81471
  "handDrawnSeed": 0,
@@ -81804,6 +81722,9 @@ var config = {
81804
81722
  radar: {
81805
81723
  ...config_schema_default.radar
81806
81724
  },
81725
+ ishikawa: {
81726
+ ...config_schema_default.ishikawa
81727
+ },
81807
81728
  treemap: {
81808
81729
  useMaxWidth: true,
81809
81730
  padding: 10,
@@ -81815,6 +81736,9 @@ var config = {
81815
81736
  valueFontSize: 12,
81816
81737
  labelFontSize: 14,
81817
81738
  valueFormat: ","
81739
+ },
81740
+ venn: {
81741
+ ...config_schema_default.venn
81818
81742
  }
81819
81743
  };
81820
81744
  var keyify = /* @__PURE__ */ __name((obj, prefix = "") => Object.keys(obj).reduce((res, el) => {
@@ -81885,6 +81809,7 @@ var sanitizeCss = /* @__PURE__ */ __name((str2) => {
81885
81809
  return str2;
81886
81810
  }, "sanitizeCss");
81887
81811
  var defaultConfig = Object.freeze(defaultConfig_default);
81812
+ var evaluate = /* @__PURE__ */ __name((val) => val === false || ["false", "null", "0"].includes(String(val).trim().toLowerCase()) ? false : true, "evaluate");
81888
81813
  var siteConfig = assignWithDepth_default({}, defaultConfig);
81889
81814
  var configFromInitialize;
81890
81815
  var directives = [];
@@ -81979,7 +81904,8 @@ var reset = /* @__PURE__ */ __name((config2 = siteConfig) => {
81979
81904
  updateCurrentConfig(config2, directives);
81980
81905
  }, "reset");
81981
81906
  var ConfigWarning = {
81982
- LAZY_LOAD_DEPRECATED: "The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."
81907
+ LAZY_LOAD_DEPRECATED: "The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",
81908
+ FLOWCHART_HTML_LABELS_DEPRECATED: "flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."
81983
81909
  };
81984
81910
  var issuedWarnings = {};
81985
81911
  var issueWarning = /* @__PURE__ */ __name((warning) => {
@@ -82007,6 +81933,12 @@ var getUserDefinedConfig = /* @__PURE__ */ __name(() => {
82007
81933
  }
82008
81934
  return userConfig;
82009
81935
  }, "getUserDefinedConfig");
81936
+ var getEffectiveHtmlLabels = /* @__PURE__ */ __name((config2) => {
81937
+ if (config2.flowchart?.htmlLabels != void 0) {
81938
+ issueWarning("FLOWCHART_HTML_LABELS_DEPRECATED");
81939
+ }
81940
+ return evaluate(config2.htmlLabels ?? config2.flowchart?.htmlLabels ?? true);
81941
+ }, "getEffectiveHtmlLabels");
82010
81942
  var lineBreakRegex = /<br\s*\/?>/gi;
82011
81943
  var getRows = /* @__PURE__ */ __name((s2) => {
82012
81944
  if (!s2) {
@@ -82048,9 +81980,9 @@ var removeScript = /* @__PURE__ */ __name((txt) => {
82048
81980
  return sanitizedText;
82049
81981
  }, "removeScript");
82050
81982
  var sanitizeMore = /* @__PURE__ */ __name((text2, config2) => {
82051
- if (config2.flowchart?.htmlLabels !== false) {
81983
+ if (getEffectiveHtmlLabels(config2)) {
82052
81984
  const level = config2.securityLevel;
82053
- if (level === "antiscript" || level === "strict") {
81985
+ if (level === "antiscript" || level === "strict" || level === "sandbox") {
82054
81986
  text2 = removeScript(text2);
82055
81987
  } else if (level !== "loose") {
82056
81988
  text2 = breakToPlaceholder(text2);
@@ -82100,7 +82032,6 @@ var getUrl = /* @__PURE__ */ __name((useAbsolute) => {
82100
82032
  }
82101
82033
  return url;
82102
82034
  }, "getUrl");
82103
- var evaluate = /* @__PURE__ */ __name((val) => val === false || ["false", "null", "0"].includes(String(val).trim().toLowerCase()) ? false : true, "evaluate");
82104
82035
  var getMax = /* @__PURE__ */ __name(function(...values) {
82105
82036
  const newValues = values.filter((value) => {
82106
82037
  return !isNaN(value);
@@ -82389,15 +82320,15 @@ var getCommonDb = /* @__PURE__ */ __name(() => {
82389
82320
  return commonDb_exports;
82390
82321
  }, "getCommonDb");
82391
82322
  var diagrams = {};
82392
- var registerDiagram = /* @__PURE__ */ __name((id28, diagram2, detector28) => {
82393
- if (diagrams[id28]) {
82394
- log2.warn(`Diagram with id ${id28} already registered. Overwriting.`);
82323
+ var registerDiagram = /* @__PURE__ */ __name((id30, diagram2, detector30) => {
82324
+ if (diagrams[id30]) {
82325
+ log2.warn(`Diagram with id ${id30} already registered. Overwriting.`);
82395
82326
  }
82396
- diagrams[id28] = diagram2;
82397
- if (detector28) {
82398
- addDetector(id28, detector28);
82327
+ diagrams[id30] = diagram2;
82328
+ if (detector30) {
82329
+ addDetector(id30, detector30);
82399
82330
  }
82400
- addStylesForDiagram(id28, diagram2.styles);
82331
+ addStylesForDiagram(id30, diagram2.styles);
82401
82332
  diagram2.injectUtils?.(
82402
82333
  log2,
82403
82334
  setLogLevel2,
@@ -83798,11 +83729,11 @@ var STARTED = 3;
83798
83729
  var RUNNING = 4;
83799
83730
  var ENDING = 5;
83800
83731
  var ENDED = 6;
83801
- function schedule(node2, name, id28, index, group, timing) {
83732
+ function schedule(node2, name, id30, index, group, timing) {
83802
83733
  var schedules = node2.__transition;
83803
83734
  if (!schedules) node2.__transition = {};
83804
- else if (id28 in schedules) return;
83805
- create(node2, id28, {
83735
+ else if (id30 in schedules) return;
83736
+ create(node2, id30, {
83806
83737
  name,
83807
83738
  index,
83808
83739
  // For context during callback.
@@ -83818,24 +83749,24 @@ function schedule(node2, name, id28, index, group, timing) {
83818
83749
  state: CREATED
83819
83750
  });
83820
83751
  }
83821
- function init$1(node2, id28) {
83822
- var schedule2 = get(node2, id28);
83752
+ function init$1(node2, id30) {
83753
+ var schedule2 = get(node2, id30);
83823
83754
  if (schedule2.state > CREATED) throw new Error("too late; already scheduled");
83824
83755
  return schedule2;
83825
83756
  }
83826
- function set$1(node2, id28) {
83827
- var schedule2 = get(node2, id28);
83757
+ function set$1(node2, id30) {
83758
+ var schedule2 = get(node2, id30);
83828
83759
  if (schedule2.state > STARTED) throw new Error("too late; already running");
83829
83760
  return schedule2;
83830
83761
  }
83831
- function get(node2, id28) {
83762
+ function get(node2, id30) {
83832
83763
  var schedule2 = node2.__transition;
83833
- if (!schedule2 || !(schedule2 = schedule2[id28])) throw new Error("transition not found");
83764
+ if (!schedule2 || !(schedule2 = schedule2[id30])) throw new Error("transition not found");
83834
83765
  return schedule2;
83835
83766
  }
83836
- function create(node2, id28, self2) {
83767
+ function create(node2, id30, self2) {
83837
83768
  var schedules = node2.__transition, tween;
83838
- schedules[id28] = self2;
83769
+ schedules[id30] = self2;
83839
83770
  self2.timer = timer(schedule2, 0, self2.time);
83840
83771
  function schedule2(elapsed) {
83841
83772
  self2.state = SCHEDULED;
@@ -83854,7 +83785,7 @@ function create(node2, id28, self2) {
83854
83785
  o2.timer.stop();
83855
83786
  o2.on.call("interrupt", node2, node2.__data__, o2.index, o2.group);
83856
83787
  delete schedules[i2];
83857
- } else if (+i2 < id28) {
83788
+ } else if (+i2 < id30) {
83858
83789
  o2.state = ENDED;
83859
83790
  o2.timer.stop();
83860
83791
  o2.on.call("cancel", node2, node2.__data__, o2.index, o2.group);
@@ -83893,7 +83824,7 @@ function create(node2, id28, self2) {
83893
83824
  function stop() {
83894
83825
  self2.state = ENDED;
83895
83826
  self2.timer.stop();
83896
- delete schedules[id28];
83827
+ delete schedules[id30];
83897
83828
  for (var i2 in schedules) return;
83898
83829
  delete node2.__transition;
83899
83830
  }
@@ -83920,10 +83851,10 @@ function selection_interrupt(name) {
83920
83851
  interrupt(this, name);
83921
83852
  });
83922
83853
  }
83923
- function tweenRemove(id28, name) {
83854
+ function tweenRemove(id30, name) {
83924
83855
  var tween0, tween1;
83925
83856
  return function() {
83926
- var schedule2 = set$1(this, id28), tween = schedule2.tween;
83857
+ var schedule2 = set$1(this, id30), tween = schedule2.tween;
83927
83858
  if (tween !== tween0) {
83928
83859
  tween1 = tween0 = tween;
83929
83860
  for (var i2 = 0, n2 = tween1.length; i2 < n2; ++i2) {
@@ -83937,11 +83868,11 @@ function tweenRemove(id28, name) {
83937
83868
  schedule2.tween = tween1;
83938
83869
  };
83939
83870
  }
83940
- function tweenFunction(id28, name, value) {
83871
+ function tweenFunction(id30, name, value) {
83941
83872
  var tween0, tween1;
83942
83873
  if (typeof value !== "function") throw new Error();
83943
83874
  return function() {
83944
- var schedule2 = set$1(this, id28), tween = schedule2.tween;
83875
+ var schedule2 = set$1(this, id30), tween = schedule2.tween;
83945
83876
  if (tween !== tween0) {
83946
83877
  tween1 = (tween0 = tween).slice();
83947
83878
  for (var t2 = { name, value }, i2 = 0, n2 = tween1.length; i2 < n2; ++i2) {
@@ -83956,10 +83887,10 @@ function tweenFunction(id28, name, value) {
83956
83887
  };
83957
83888
  }
83958
83889
  function transition_tween(name, value) {
83959
- var id28 = this._id;
83890
+ var id30 = this._id;
83960
83891
  name += "";
83961
83892
  if (arguments.length < 2) {
83962
- var tween = get(this.node(), id28).tween;
83893
+ var tween = get(this.node(), id30).tween;
83963
83894
  for (var i2 = 0, n2 = tween.length, t2; i2 < n2; ++i2) {
83964
83895
  if ((t2 = tween[i2]).name === name) {
83965
83896
  return t2.value;
@@ -83967,16 +83898,16 @@ function transition_tween(name, value) {
83967
83898
  }
83968
83899
  return null;
83969
83900
  }
83970
- return this.each((value == null ? tweenRemove : tweenFunction)(id28, name, value));
83901
+ return this.each((value == null ? tweenRemove : tweenFunction)(id30, name, value));
83971
83902
  }
83972
83903
  function tweenValue(transition, name, value) {
83973
- var id28 = transition._id;
83904
+ var id30 = transition._id;
83974
83905
  transition.each(function() {
83975
- var schedule2 = set$1(this, id28);
83906
+ var schedule2 = set$1(this, id30);
83976
83907
  (schedule2.value || (schedule2.value = {}))[name] = value.apply(this, arguments);
83977
83908
  });
83978
83909
  return function(node2) {
83979
- return get(node2, id28).value[name];
83910
+ return get(node2, id30).value[name];
83980
83911
  };
83981
83912
  }
83982
83913
  function interpolate(a2, b2) {
@@ -84069,49 +84000,49 @@ function transition_attrTween(name, value) {
84069
84000
  var fullname = namespace(name);
84070
84001
  return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));
84071
84002
  }
84072
- function delayFunction(id28, value) {
84003
+ function delayFunction(id30, value) {
84073
84004
  return function() {
84074
- init$1(this, id28).delay = +value.apply(this, arguments);
84005
+ init$1(this, id30).delay = +value.apply(this, arguments);
84075
84006
  };
84076
84007
  }
84077
- function delayConstant(id28, value) {
84008
+ function delayConstant(id30, value) {
84078
84009
  return value = +value, function() {
84079
- init$1(this, id28).delay = value;
84010
+ init$1(this, id30).delay = value;
84080
84011
  };
84081
84012
  }
84082
84013
  function transition_delay(value) {
84083
- var id28 = this._id;
84084
- return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id28, value)) : get(this.node(), id28).delay;
84014
+ var id30 = this._id;
84015
+ return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id30, value)) : get(this.node(), id30).delay;
84085
84016
  }
84086
- function durationFunction(id28, value) {
84017
+ function durationFunction(id30, value) {
84087
84018
  return function() {
84088
- set$1(this, id28).duration = +value.apply(this, arguments);
84019
+ set$1(this, id30).duration = +value.apply(this, arguments);
84089
84020
  };
84090
84021
  }
84091
- function durationConstant(id28, value) {
84022
+ function durationConstant(id30, value) {
84092
84023
  return value = +value, function() {
84093
- set$1(this, id28).duration = value;
84024
+ set$1(this, id30).duration = value;
84094
84025
  };
84095
84026
  }
84096
84027
  function transition_duration(value) {
84097
- var id28 = this._id;
84098
- return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id28, value)) : get(this.node(), id28).duration;
84028
+ var id30 = this._id;
84029
+ return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id30, value)) : get(this.node(), id30).duration;
84099
84030
  }
84100
- function easeConstant(id28, value) {
84031
+ function easeConstant(id30, value) {
84101
84032
  if (typeof value !== "function") throw new Error();
84102
84033
  return function() {
84103
- set$1(this, id28).ease = value;
84034
+ set$1(this, id30).ease = value;
84104
84035
  };
84105
84036
  }
84106
84037
  function transition_ease(value) {
84107
- var id28 = this._id;
84108
- return arguments.length ? this.each(easeConstant(id28, value)) : get(this.node(), id28).ease;
84038
+ var id30 = this._id;
84039
+ return arguments.length ? this.each(easeConstant(id30, value)) : get(this.node(), id30).ease;
84109
84040
  }
84110
- function easeVarying(id28, value) {
84041
+ function easeVarying(id30, value) {
84111
84042
  return function() {
84112
84043
  var v2 = value.apply(this, arguments);
84113
84044
  if (typeof v2 !== "function") throw new Error();
84114
- set$1(this, id28).ease = v2;
84045
+ set$1(this, id30).ease = v2;
84115
84046
  };
84116
84047
  }
84117
84048
  function transition_easeVarying(value) {
@@ -84150,22 +84081,22 @@ function start(name) {
84150
84081
  return !t2 || t2 === "start";
84151
84082
  });
84152
84083
  }
84153
- function onFunction(id28, name, listener) {
84084
+ function onFunction(id30, name, listener) {
84154
84085
  var on0, on1, sit = start(name) ? init$1 : set$1;
84155
84086
  return function() {
84156
- var schedule2 = sit(this, id28), on = schedule2.on;
84087
+ var schedule2 = sit(this, id30), on = schedule2.on;
84157
84088
  if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);
84158
84089
  schedule2.on = on1;
84159
84090
  };
84160
84091
  }
84161
84092
  function transition_on(name, listener) {
84162
- var id28 = this._id;
84163
- return arguments.length < 2 ? get(this.node(), id28).on.on(name) : this.each(onFunction(id28, name, listener));
84093
+ var id30 = this._id;
84094
+ return arguments.length < 2 ? get(this.node(), id30).on.on(name) : this.each(onFunction(id30, name, listener));
84164
84095
  }
84165
- function removeFunction(id28) {
84096
+ function removeFunction(id30) {
84166
84097
  return function() {
84167
84098
  var parent = this.parentNode;
84168
- for (var i2 in this.__transition) if (+i2 !== id28) return;
84099
+ for (var i2 in this.__transition) if (+i2 !== id30) return;
84169
84100
  if (parent) parent.removeChild(this);
84170
84101
  };
84171
84102
  }
@@ -84173,28 +84104,28 @@ function transition_remove() {
84173
84104
  return this.on("end.remove", removeFunction(this._id));
84174
84105
  }
84175
84106
  function transition_select(select2) {
84176
- var name = this._name, id28 = this._id;
84107
+ var name = this._name, id30 = this._id;
84177
84108
  if (typeof select2 !== "function") select2 = selector(select2);
84178
84109
  for (var groups = this._groups, m2 = groups.length, subgroups = new Array(m2), j2 = 0; j2 < m2; ++j2) {
84179
84110
  for (var group = groups[j2], n2 = group.length, subgroup = subgroups[j2] = new Array(n2), node2, subnode, i2 = 0; i2 < n2; ++i2) {
84180
84111
  if ((node2 = group[i2]) && (subnode = select2.call(node2, node2.__data__, i2, group))) {
84181
84112
  if ("__data__" in node2) subnode.__data__ = node2.__data__;
84182
84113
  subgroup[i2] = subnode;
84183
- schedule(subgroup[i2], name, id28, i2, subgroup, get(node2, id28));
84114
+ schedule(subgroup[i2], name, id30, i2, subgroup, get(node2, id30));
84184
84115
  }
84185
84116
  }
84186
84117
  }
84187
- return new Transition(subgroups, this._parents, name, id28);
84118
+ return new Transition(subgroups, this._parents, name, id30);
84188
84119
  }
84189
84120
  function transition_selectAll(select2) {
84190
- var name = this._name, id28 = this._id;
84121
+ var name = this._name, id30 = this._id;
84191
84122
  if (typeof select2 !== "function") select2 = selectorAll(select2);
84192
84123
  for (var groups = this._groups, m2 = groups.length, subgroups = [], parents = [], j2 = 0; j2 < m2; ++j2) {
84193
84124
  for (var group = groups[j2], n2 = group.length, node2, i2 = 0; i2 < n2; ++i2) {
84194
84125
  if (node2 = group[i2]) {
84195
- for (var children2 = select2.call(node2, node2.__data__, i2, group), child, inherit2 = get(node2, id28), k2 = 0, l4 = children2.length; k2 < l4; ++k2) {
84126
+ for (var children2 = select2.call(node2, node2.__data__, i2, group), child, inherit2 = get(node2, id30), k2 = 0, l4 = children2.length; k2 < l4; ++k2) {
84196
84127
  if (child = children2[k2]) {
84197
- schedule(child, name, id28, k2, children2, inherit2);
84128
+ schedule(child, name, id30, k2, children2, inherit2);
84198
84129
  }
84199
84130
  }
84200
84131
  subgroups.push(children2);
@@ -84202,7 +84133,7 @@ function transition_selectAll(select2) {
84202
84133
  }
84203
84134
  }
84204
84135
  }
84205
- return new Transition(subgroups, parents, name, id28);
84136
+ return new Transition(subgroups, parents, name, id30);
84206
84137
  }
84207
84138
  var Selection = selection.prototype.constructor;
84208
84139
  function transition_selection() {
@@ -84235,10 +84166,10 @@ function styleFunction(name, interpolate2, value) {
84235
84166
  return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));
84236
84167
  };
84237
84168
  }
84238
- function styleMaybeRemove(id28, name) {
84169
+ function styleMaybeRemove(id30, name) {
84239
84170
  var on0, on1, listener0, key = "style." + name, event = "end." + key, remove2;
84240
84171
  return function() {
84241
- var schedule2 = set$1(this, id28), on = schedule2.on, listener = schedule2.value[key] == null ? remove2 || (remove2 = styleRemove(name)) : void 0;
84172
+ var schedule2 = set$1(this, id30), on = schedule2.on, listener = schedule2.value[key] == null ? remove2 || (remove2 = styleRemove(name)) : void 0;
84242
84173
  if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);
84243
84174
  schedule2.on = on1;
84244
84175
  };
@@ -84323,13 +84254,13 @@ function transition_transition() {
84323
84254
  return new Transition(groups, this._parents, name, id1);
84324
84255
  }
84325
84256
  function transition_end() {
84326
- var on0, on1, that = this, id28 = that._id, size = that.size();
84257
+ var on0, on1, that = this, id30 = that._id, size = that.size();
84327
84258
  return new Promise(function(resolve, reject) {
84328
84259
  var cancel = { value: reject }, end = { value: function() {
84329
84260
  if (--size === 0) resolve();
84330
84261
  } };
84331
84262
  that.each(function() {
84332
- var schedule2 = set$1(this, id28), on = schedule2.on;
84263
+ var schedule2 = set$1(this, id30), on = schedule2.on;
84333
84264
  if (on !== on0) {
84334
84265
  on1 = (on0 = on).copy();
84335
84266
  on1._.cancel.push(cancel);
@@ -84342,11 +84273,11 @@ function transition_end() {
84342
84273
  });
84343
84274
  }
84344
84275
  var id$2 = 0;
84345
- function Transition(groups, parents, name, id28) {
84276
+ function Transition(groups, parents, name, id30) {
84346
84277
  this._groups = groups;
84347
84278
  this._parents = parents;
84348
84279
  this._name = name;
84349
- this._id = id28;
84280
+ this._id = id30;
84350
84281
  }
84351
84282
  function newId() {
84352
84283
  return ++id$2;
@@ -84394,30 +84325,30 @@ var defaultTiming = {
84394
84325
  duration: 250,
84395
84326
  ease: cubicInOut
84396
84327
  };
84397
- function inherit(node2, id28) {
84328
+ function inherit(node2, id30) {
84398
84329
  var timing;
84399
- while (!(timing = node2.__transition) || !(timing = timing[id28])) {
84330
+ while (!(timing = node2.__transition) || !(timing = timing[id30])) {
84400
84331
  if (!(node2 = node2.parentNode)) {
84401
- throw new Error(`transition ${id28} not found`);
84332
+ throw new Error(`transition ${id30} not found`);
84402
84333
  }
84403
84334
  }
84404
84335
  return timing;
84405
84336
  }
84406
84337
  function selection_transition(name) {
84407
- var id28, timing;
84338
+ var id30, timing;
84408
84339
  if (name instanceof Transition) {
84409
- id28 = name._id, name = name._name;
84340
+ id30 = name._id, name = name._name;
84410
84341
  } else {
84411
- id28 = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + "";
84342
+ id30 = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + "";
84412
84343
  }
84413
84344
  for (var groups = this._groups, m2 = groups.length, j2 = 0; j2 < m2; ++j2) {
84414
84345
  for (var group = groups[j2], n2 = group.length, node2, i2 = 0; i2 < n2; ++i2) {
84415
84346
  if (node2 = group[i2]) {
84416
- schedule(node2, name, id28, i2, group, timing || inherit(node2, id28));
84347
+ schedule(node2, name, id30, i2, group, timing || inherit(node2, id30));
84417
84348
  }
84418
84349
  }
84419
84350
  }
84420
- return new Transition(groups, this._parents, name, id28);
84351
+ return new Transition(groups, this._parents, name, id30);
84421
84352
  }
84422
84353
  selection.prototype.interrupt = selection_interrupt;
84423
84354
  selection.prototype.transition = selection_transition;
@@ -85522,15 +85453,15 @@ Transform.prototype = {
85522
85453
  }
85523
85454
  };
85524
85455
  Transform.prototype;
85525
- var selectSvgElement = /* @__PURE__ */ __name((id28) => {
85456
+ var selectSvgElement = /* @__PURE__ */ __name((id30) => {
85526
85457
  const { securityLevel } = getConfig2();
85527
85458
  let root2 = select("body");
85528
85459
  if (securityLevel === "sandbox") {
85529
- const sandboxElement = select(`#i${id28}`);
85460
+ const sandboxElement = select(`#i${id30}`);
85530
85461
  const doc = sandboxElement.node()?.contentDocument ?? document;
85531
85462
  root2 = select(doc.body);
85532
85463
  }
85533
- const svg2 = root2.select(`#${id28}`);
85464
+ const svg2 = root2.select(`#${id30}`);
85534
85465
  return svg2;
85535
85466
  }, "selectSvgElement");
85536
85467
  function isNothing(subject) {
@@ -86453,6 +86384,19 @@ function charFromCodepoint(c2) {
86453
86384
  );
86454
86385
  }
86455
86386
  __name(charFromCodepoint, "charFromCodepoint");
86387
+ function setProperty(object, key, value) {
86388
+ if (key === "__proto__") {
86389
+ Object.defineProperty(object, key, {
86390
+ configurable: true,
86391
+ enumerable: true,
86392
+ writable: true,
86393
+ value
86394
+ });
86395
+ } else {
86396
+ object[key] = value;
86397
+ }
86398
+ }
86399
+ __name(setProperty, "setProperty");
86456
86400
  var simpleEscapeCheck = new Array(256);
86457
86401
  var simpleEscapeMap = new Array(256);
86458
86402
  for (i$1 = 0; i$1 < 256; i$1++) {
@@ -86577,7 +86521,7 @@ function mergeMappings(state2, destination, source, overridableKeys) {
86577
86521
  for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
86578
86522
  key = sourceKeys[index];
86579
86523
  if (!_hasOwnProperty$1.call(destination, key)) {
86580
- destination[key] = source[key];
86524
+ setProperty(destination, key, source[key]);
86581
86525
  overridableKeys[key] = true;
86582
86526
  }
86583
86527
  }
@@ -86618,16 +86562,7 @@ function storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, val
86618
86562
  state2.position = startPos || state2.position;
86619
86563
  throwError(state2, "duplicated mapping key");
86620
86564
  }
86621
- if (keyNode === "__proto__") {
86622
- Object.defineProperty(_result, keyNode, {
86623
- configurable: true,
86624
- enumerable: true,
86625
- writable: true,
86626
- value: valueNode
86627
- });
86628
- } else {
86629
- _result[keyNode] = valueNode;
86630
- }
86565
+ setProperty(_result, keyNode, valueNode);
86631
86566
  delete overridableKeys[keyNode];
86632
86567
  }
86633
86568
  return _result;
@@ -88219,6 +88154,14 @@ function renamed(from2, to) {
88219
88154
  __name(renamed, "renamed");
88220
88155
  var JSON_SCHEMA = json;
88221
88156
  var load = loader$1.load;
88157
+ var computeLabelTransform = /* @__PURE__ */ __name((bbox, useHtmlLabels) => {
88158
+ if (useHtmlLabels) {
88159
+ return "translate(" + -bbox.width / 2 + ", " + -bbox.height / 2 + ")";
88160
+ }
88161
+ const x2 = bbox.x ?? 0;
88162
+ const y3 = bbox.y ?? 0;
88163
+ return "translate(" + -(x2 + bbox.width / 2) + ", " + -(y3 + bbox.height / 2) + ")";
88164
+ }, "computeLabelTransform");
88222
88165
  var markerOffsets = {
88223
88166
  aggregation: 17.25,
88224
88167
  extension: 17.25,
@@ -88328,113 +88271,6 @@ var getLineFunctionsWithOffset = /* @__PURE__ */ __name((edge) => {
88328
88271
  }, "y")
88329
88272
  };
88330
88273
  }, "getLineFunctionsWithOffset");
88331
- var getSubGraphTitleMargins = /* @__PURE__ */ __name(({
88332
- flowchart
88333
- }) => {
88334
- const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;
88335
- const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;
88336
- const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;
88337
- return {
88338
- subGraphTitleTopMargin,
88339
- subGraphTitleBottomMargin,
88340
- subGraphTitleTotalMargin
88341
- };
88342
- }, "getSubGraphTitleMargins");
88343
- var solidStateFill = /* @__PURE__ */ __name((color2) => {
88344
- const { handDrawnSeed } = getConfig2();
88345
- return {
88346
- fill: color2,
88347
- hachureAngle: 120,
88348
- // angle of hachure,
88349
- hachureGap: 4,
88350
- fillWeight: 2,
88351
- roughness: 0.7,
88352
- stroke: color2,
88353
- seed: handDrawnSeed
88354
- };
88355
- }, "solidStateFill");
88356
- var compileStyles = /* @__PURE__ */ __name((node2) => {
88357
- const stylesMap = styles2Map([
88358
- ...node2.cssCompiledStyles || [],
88359
- ...node2.cssStyles || [],
88360
- ...node2.labelStyle || []
88361
- ]);
88362
- return { stylesMap, stylesArray: [...stylesMap] };
88363
- }, "compileStyles");
88364
- var styles2Map = /* @__PURE__ */ __name((styles2) => {
88365
- const styleMap2 = /* @__PURE__ */ new Map();
88366
- styles2.forEach((style2) => {
88367
- const [key, value] = style2.split(":");
88368
- styleMap2.set(key.trim(), value?.trim());
88369
- });
88370
- return styleMap2;
88371
- }, "styles2Map");
88372
- var isLabelStyle = /* @__PURE__ */ __name((key) => {
88373
- 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";
88374
- }, "isLabelStyle");
88375
- var styles2String = /* @__PURE__ */ __name((node2) => {
88376
- const { stylesArray } = compileStyles(node2);
88377
- const labelStyles = [];
88378
- const nodeStyles = [];
88379
- const borderStyles = [];
88380
- const backgroundStyles = [];
88381
- stylesArray.forEach((style2) => {
88382
- const key = style2[0];
88383
- if (isLabelStyle(key)) {
88384
- labelStyles.push(style2.join(":") + " !important");
88385
- } else {
88386
- nodeStyles.push(style2.join(":") + " !important");
88387
- if (key.includes("stroke")) {
88388
- borderStyles.push(style2.join(":") + " !important");
88389
- }
88390
- if (key === "fill") {
88391
- backgroundStyles.push(style2.join(":") + " !important");
88392
- }
88393
- }
88394
- });
88395
- return {
88396
- labelStyles: labelStyles.join(";"),
88397
- nodeStyles: nodeStyles.join(";"),
88398
- stylesArray,
88399
- borderStyles,
88400
- backgroundStyles
88401
- };
88402
- }, "styles2String");
88403
- var userNodeOverrides = /* @__PURE__ */ __name((node2, options) => {
88404
- const { themeVariables, handDrawnSeed } = getConfig2();
88405
- const { nodeBorder, mainBkg } = themeVariables;
88406
- const { stylesMap } = compileStyles(node2);
88407
- const result = Object.assign(
88408
- {
88409
- roughness: 0.7,
88410
- fill: stylesMap.get("fill") || mainBkg,
88411
- fillStyle: "hachure",
88412
- // solid fill
88413
- fillWeight: 4,
88414
- hachureGap: 5.2,
88415
- stroke: stylesMap.get("stroke") || nodeBorder,
88416
- seed: handDrawnSeed,
88417
- strokeWidth: stylesMap.get("stroke-width")?.replace("px", "") || 1.3,
88418
- fillLineDash: [0, 0],
88419
- strokeLineDash: getStrokeDashArray(stylesMap.get("stroke-dasharray"))
88420
- },
88421
- options
88422
- );
88423
- return result;
88424
- }, "userNodeOverrides");
88425
- var getStrokeDashArray = /* @__PURE__ */ __name((strokeDasharrayStyle) => {
88426
- if (!strokeDasharrayStyle) {
88427
- return [0, 0];
88428
- }
88429
- const dashArray = strokeDasharrayStyle.trim().split(/\s+/).map(Number);
88430
- if (dashArray.length === 1) {
88431
- const val = isNaN(dashArray[0]) ? 0 : dashArray[0];
88432
- return [val, val];
88433
- }
88434
- const first = isNaN(dashArray[0]) ? 0 : dashArray[0];
88435
- const second = isNaN(dashArray[1]) ? 0 : dashArray[1];
88436
- return [first, second];
88437
- }, "getStrokeDashArray");
88438
88274
  var dist$1 = {};
88439
88275
  var constants = {};
88440
88276
  var hasRequiredConstants;
@@ -89766,9 +89602,9 @@ var getEdgeId = /* @__PURE__ */ __name((from2, to, {
89766
89602
  counter = 0,
89767
89603
  prefix,
89768
89604
  suffix
89769
- }, id28) => {
89770
- if (id28) {
89771
- return id28;
89605
+ }, id30) => {
89606
+ if (id30) {
89607
+ return id30;
89772
89608
  }
89773
89609
  return `${prefix ? `${prefix}_` : ""}${from2}_${to}_${counter}${suffix ? `_${suffix}` : ""}`;
89774
89610
  }, "getEdgeId");
@@ -89786,6 +89622,150 @@ function isLabelCoordinateInPath(point2, dAttr) {
89786
89622
  return sanitizedD.includes(roundedX.toString()) || sanitizedD.includes(roundedY.toString());
89787
89623
  }
89788
89624
  __name(isLabelCoordinateInPath, "isLabelCoordinateInPath");
89625
+ var getSubGraphTitleMargins = /* @__PURE__ */ __name(({
89626
+ flowchart
89627
+ }) => {
89628
+ const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;
89629
+ const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;
89630
+ const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;
89631
+ return {
89632
+ subGraphTitleTopMargin,
89633
+ subGraphTitleBottomMargin,
89634
+ subGraphTitleTotalMargin
89635
+ };
89636
+ }, "getSubGraphTitleMargins");
89637
+ async function configureLabelImages(container, labelText) {
89638
+ const images = container.getElementsByTagName("img");
89639
+ if (!images || images.length === 0) {
89640
+ return;
89641
+ }
89642
+ const noImgText = labelText.replace(/<img[^>]*>/g, "").trim() === "";
89643
+ await Promise.all(
89644
+ [...images].map(
89645
+ (img) => new Promise((res) => {
89646
+ function setupImage() {
89647
+ img.style.display = "flex";
89648
+ img.style.flexDirection = "column";
89649
+ if (noImgText) {
89650
+ const bodyFontSize = getConfig2().fontSize ? getConfig2().fontSize : window.getComputedStyle(document.body).fontSize;
89651
+ const enlargingFactor = 5;
89652
+ const [parsedBodyFontSize = defaultConfig_default.fontSize] = parseFontSize(bodyFontSize);
89653
+ const width = parsedBodyFontSize * enlargingFactor + "px";
89654
+ img.style.minWidth = width;
89655
+ img.style.maxWidth = width;
89656
+ } else {
89657
+ img.style.width = "100%";
89658
+ }
89659
+ res(img);
89660
+ }
89661
+ __name(setupImage, "setupImage");
89662
+ setTimeout(() => {
89663
+ if (img.complete) {
89664
+ setupImage();
89665
+ }
89666
+ });
89667
+ img.addEventListener("error", setupImage);
89668
+ img.addEventListener("load", setupImage);
89669
+ })
89670
+ )
89671
+ );
89672
+ }
89673
+ __name(configureLabelImages, "configureLabelImages");
89674
+ var solidStateFill = /* @__PURE__ */ __name((color2) => {
89675
+ const { handDrawnSeed } = getConfig2();
89676
+ return {
89677
+ fill: color2,
89678
+ hachureAngle: 120,
89679
+ // angle of hachure,
89680
+ hachureGap: 4,
89681
+ fillWeight: 2,
89682
+ roughness: 0.7,
89683
+ stroke: color2,
89684
+ seed: handDrawnSeed
89685
+ };
89686
+ }, "solidStateFill");
89687
+ var compileStyles = /* @__PURE__ */ __name((node2) => {
89688
+ const stylesMap = styles2Map([
89689
+ ...node2.cssCompiledStyles || [],
89690
+ ...node2.cssStyles || [],
89691
+ ...node2.labelStyle || []
89692
+ ]);
89693
+ return { stylesMap, stylesArray: [...stylesMap] };
89694
+ }, "compileStyles");
89695
+ var styles2Map = /* @__PURE__ */ __name((styles2) => {
89696
+ const styleMap2 = /* @__PURE__ */ new Map();
89697
+ styles2.forEach((style2) => {
89698
+ const [key, value] = style2.split(":");
89699
+ styleMap2.set(key.trim(), value?.trim());
89700
+ });
89701
+ return styleMap2;
89702
+ }, "styles2Map");
89703
+ var isLabelStyle = /* @__PURE__ */ __name((key) => {
89704
+ 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";
89705
+ }, "isLabelStyle");
89706
+ var styles2String = /* @__PURE__ */ __name((node2) => {
89707
+ const { stylesArray } = compileStyles(node2);
89708
+ const labelStyles = [];
89709
+ const nodeStyles = [];
89710
+ const borderStyles = [];
89711
+ const backgroundStyles = [];
89712
+ stylesArray.forEach((style2) => {
89713
+ const key = style2[0];
89714
+ if (isLabelStyle(key)) {
89715
+ labelStyles.push(style2.join(":") + " !important");
89716
+ } else {
89717
+ nodeStyles.push(style2.join(":") + " !important");
89718
+ if (key.includes("stroke")) {
89719
+ borderStyles.push(style2.join(":") + " !important");
89720
+ }
89721
+ if (key === "fill") {
89722
+ backgroundStyles.push(style2.join(":") + " !important");
89723
+ }
89724
+ }
89725
+ });
89726
+ return {
89727
+ labelStyles: labelStyles.join(";"),
89728
+ nodeStyles: nodeStyles.join(";"),
89729
+ stylesArray,
89730
+ borderStyles,
89731
+ backgroundStyles
89732
+ };
89733
+ }, "styles2String");
89734
+ var userNodeOverrides = /* @__PURE__ */ __name((node2, options) => {
89735
+ const { themeVariables, handDrawnSeed } = getConfig2();
89736
+ const { nodeBorder, mainBkg } = themeVariables;
89737
+ const { stylesMap } = compileStyles(node2);
89738
+ const result = Object.assign(
89739
+ {
89740
+ roughness: 0.7,
89741
+ fill: stylesMap.get("fill") || mainBkg,
89742
+ fillStyle: "hachure",
89743
+ // solid fill
89744
+ fillWeight: 4,
89745
+ hachureGap: 5.2,
89746
+ stroke: stylesMap.get("stroke") || nodeBorder,
89747
+ seed: handDrawnSeed,
89748
+ strokeWidth: stylesMap.get("stroke-width")?.replace("px", "") || 1.3,
89749
+ fillLineDash: [0, 0],
89750
+ strokeLineDash: getStrokeDashArray(stylesMap.get("stroke-dasharray"))
89751
+ },
89752
+ options
89753
+ );
89754
+ return result;
89755
+ }, "userNodeOverrides");
89756
+ var getStrokeDashArray = /* @__PURE__ */ __name((strokeDasharrayStyle) => {
89757
+ if (!strokeDasharrayStyle) {
89758
+ return [0, 0];
89759
+ }
89760
+ const dashArray = strokeDasharrayStyle.trim().split(/\s+/).map(Number);
89761
+ if (dashArray.length === 1) {
89762
+ const val = isNaN(dashArray[0]) ? 0 : dashArray[0];
89763
+ return [val, val];
89764
+ }
89765
+ const first = isNaN(dashArray[0]) ? 0 : dashArray[0];
89766
+ const second = isNaN(dashArray[1]) ? 0 : dashArray[1];
89767
+ return [first, second];
89768
+ }, "getStrokeDashArray");
89789
89769
  const defaultIconDimensions = Object.freeze({
89790
89770
  left: 0,
89791
89771
  top: 0,
@@ -90048,11 +90028,11 @@ function iconToSVG(icon2, customisations) {
90048
90028
  }
90049
90029
  const regex = /\sid="(\S+)"/g;
90050
90030
  const counters = /* @__PURE__ */ new Map();
90051
- function nextID(id28) {
90052
- id28 = id28.replace(/[0-9]+$/, "") || "a";
90053
- const count = counters.get(id28) || 0;
90054
- counters.set(id28, count + 1);
90055
- return count ? `${id28}${count}` : id28;
90031
+ function nextID(id30) {
90032
+ id30 = id30.replace(/[0-9]+$/, "") || "a";
90033
+ const count = counters.get(id30) || 0;
90034
+ counters.set(id30, count + 1);
90035
+ return count ? `${id30}${count}` : id30;
90056
90036
  }
90057
90037
  function replaceIDs(body) {
90058
90038
  const ids = [];
@@ -90060,9 +90040,9 @@ function replaceIDs(body) {
90060
90040
  while (match2 = regex.exec(body)) ids.push(match2[1]);
90061
90041
  if (!ids.length) return body;
90062
90042
  const suffix = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16);
90063
- ids.forEach((id28) => {
90064
- const newID = nextID(id28);
90065
- const escapedID = id28.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
90043
+ ids.forEach((id30) => {
90044
+ const newID = nextID(id30);
90045
+ const escapedID = id30.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
90066
90046
  body = body.replace(new RegExp('([#;"])(' + escapedID + ')([")]|\\.[a-z])', "g"), "$1" + newID + suffix + "$3");
90067
90047
  });
90068
90048
  body = body.replace(new RegExp(suffix, "g"), "");
@@ -91239,12 +91219,12 @@ var getRegisteredIconData = /* @__PURE__ */ __name(async (iconName, fallbackPref
91239
91219
  }
91240
91220
  let icons = iconsStore.get(prefix);
91241
91221
  if (!icons) {
91242
- const loader28 = loaderStore.get(prefix);
91243
- if (!loader28) {
91222
+ const loader30 = loaderStore.get(prefix);
91223
+ if (!loader30) {
91244
91224
  throw new Error(`Icon set not found: ${data.prefix}`);
91245
91225
  }
91246
91226
  try {
91247
- const loaded = await loader28();
91227
+ const loaded = await loader30();
91248
91228
  icons = { ...loaded, prefix };
91249
91229
  iconsStore.set(prefix, icons);
91250
91230
  } catch (e2) {
@@ -91285,12 +91265,15 @@ function preprocessMarkdown(markdown, { markdownAutoWrap }) {
91285
91265
  const withoutBR = markdown.replace(/<br\/>/g, "\n");
91286
91266
  const withoutMultipleNewlines = withoutBR.replace(/\n{2,}/g, "\n");
91287
91267
  const withoutExtraSpaces = dedent(withoutMultipleNewlines);
91288
- if (markdownAutoWrap === false) {
91289
- return withoutExtraSpaces.replace(/ /g, "&nbsp;");
91290
- }
91291
91268
  return withoutExtraSpaces;
91292
91269
  }
91293
91270
  __name(preprocessMarkdown, "preprocessMarkdown");
91271
+ function nonMarkdownToLines(nonMarkdownText) {
91272
+ return nonMarkdownText.split(/\\n|\n|<br\s*\/?>/gi).map(
91273
+ (line2) => line2.trim().match(/<[^>]+>|[^\s<>]+/g)?.map((word) => ({ content: word, type: "normal" })) ?? []
91274
+ );
91275
+ }
91276
+ __name(nonMarkdownToLines, "nonMarkdownToLines");
91294
91277
  function markdownToLines(markdown, config2 = {}) {
91295
91278
  const preprocessedMarkdown = preprocessMarkdown(markdown, config2);
91296
91279
  const nodes = k$1.lexer(preprocessedMarkdown);
@@ -91334,6 +91317,18 @@ function markdownToLines(markdown, config2 = {}) {
91334
91317
  return lines;
91335
91318
  }
91336
91319
  __name(markdownToLines, "markdownToLines");
91320
+ function nonMarkdownToHTML(text2) {
91321
+ if (!text2) {
91322
+ return "";
91323
+ }
91324
+ return `<p>${/**
91325
+ * Replace new lines with <br /> tags.
91326
+ *
91327
+ * Unlike in markdown text, `\n` sequences are treated as line breaks here.
91328
+ */
91329
+ text2.replace(/\\n|\n/g, "<br />")}</p>`;
91330
+ }
91331
+ __name(nonMarkdownToHTML, "nonMarkdownToHTML");
91337
91332
  function markdownToHTML(markdown, { markdownAutoWrap } = {}) {
91338
91333
  const nodes = k$1.lexer(markdown);
91339
91334
  function output(node2) {
@@ -91437,29 +91432,32 @@ function splitLineToFitWidthRecursion(words, checkFit, lines = [], newLine = [])
91437
91432
  return splitLineToFitWidthRecursion(words, checkFit, lines);
91438
91433
  }
91439
91434
  __name(splitLineToFitWidthRecursion, "splitLineToFitWidthRecursion");
91440
- function applyStyle$1(dom, styleFn) {
91435
+ function applyStyle(dom, styleFn) {
91441
91436
  if (styleFn) {
91442
91437
  dom.attr("style", styleFn);
91443
91438
  }
91444
91439
  }
91445
- __name(applyStyle$1, "applyStyle");
91440
+ __name(applyStyle, "applyStyle");
91441
+ var maxSafeSizeForWidth = 16384;
91446
91442
  async function addHtmlSpan(element, node2, width, classes, addBackground = false, config2 = getConfig()) {
91447
91443
  const fo = element.append("foreignObject");
91448
- fo.attr("width", `${10 * width}px`);
91449
- fo.attr("height", `${10 * width}px`);
91444
+ fo.attr("width", `${Math.min(10 * width, maxSafeSizeForWidth)}px`);
91445
+ fo.attr("height", `${Math.min(10 * width, maxSafeSizeForWidth)}px`);
91450
91446
  const div = fo.append("xhtml:div");
91451
91447
  const sanitizedLabel = hasKatex(node2.label) ? await renderKatexSanitized(node2.label.replace(common_default.lineBreakRegex, "\n"), config2) : sanitizeText(node2.label, config2);
91452
91448
  const labelClass = node2.isNode ? "nodeLabel" : "edgeLabel";
91453
91449
  const span = div.append("span");
91454
91450
  span.html(sanitizedLabel);
91455
- applyStyle$1(span, node2.labelStyle);
91451
+ applyStyle(span, node2.labelStyle);
91456
91452
  span.attr("class", `${labelClass} ${classes}`);
91457
- applyStyle$1(div, node2.labelStyle);
91453
+ applyStyle(div, node2.labelStyle);
91458
91454
  div.style("display", "table-cell");
91459
91455
  div.style("white-space", "nowrap");
91460
91456
  div.style("line-height", "1.5");
91461
- div.style("max-width", width + "px");
91462
- div.style("text-align", "center");
91457
+ if (width !== Number.POSITIVE_INFINITY) {
91458
+ div.style("max-width", width + "px");
91459
+ div.style("text-align", "center");
91460
+ }
91463
91461
  div.attr("xmlns", "http://www.w3.org/1999/xhtml");
91464
91462
  if (addBackground) {
91465
91463
  div.attr("class", "labelBkg");
@@ -91474,8 +91472,12 @@ async function addHtmlSpan(element, node2, width, classes, addBackground = false
91474
91472
  return fo.node();
91475
91473
  }
91476
91474
  __name(addHtmlSpan, "addHtmlSpan");
91477
- function createTspan(textElement, lineIndex, lineHeight) {
91478
- return textElement.append("tspan").attr("class", "text-outer-tspan").attr("x", 0).attr("y", lineIndex * lineHeight - 0.1 + "em").attr("dy", lineHeight + "em");
91475
+ function createTspan(textElement, lineIndex, lineHeight, centerText = false) {
91476
+ const tspan = textElement.append("tspan").attr("class", "text-outer-tspan").attr("x", 0).attr("y", lineIndex * lineHeight - 0.1 + "em").attr("dy", lineHeight + "em");
91477
+ if (centerText) {
91478
+ tspan.attr("text-anchor", "middle");
91479
+ }
91480
+ return tspan;
91479
91481
  }
91480
91482
  __name(createTspan, "createTspan");
91481
91483
  function computeWidthOfText(parentNode, lineHeight, line2) {
@@ -91498,17 +91500,20 @@ function computeDimensionOfText(parentNode, lineHeight, text2) {
91498
91500
  return textDimension;
91499
91501
  }
91500
91502
  __name(computeDimensionOfText, "computeDimensionOfText");
91501
- function createFormattedText(width, g2, structuredText, addBackground = false) {
91503
+ function createFormattedText(width, g2, structuredText, addBackground = false, centerText = false) {
91502
91504
  const lineHeight = 1.1;
91503
91505
  const labelGroup = g2.append("g");
91504
91506
  const bkg = labelGroup.insert("rect").attr("class", "background").attr("style", "stroke: none");
91505
91507
  const textElement = labelGroup.append("text").attr("y", "-10.1");
91508
+ if (centerText) {
91509
+ textElement.attr("text-anchor", "middle");
91510
+ }
91506
91511
  let lineIndex = 0;
91507
91512
  for (const line2 of structuredText) {
91508
91513
  const checkWidth = /* @__PURE__ */ __name((line22) => computeWidthOfText(labelGroup, lineHeight, line22) <= width, "checkWidth");
91509
91514
  const linesUnderWidth = checkWidth(line2) ? [line2] : splitLineToFitWidth(line2, checkWidth);
91510
91515
  for (const preparedLine of linesUnderWidth) {
91511
- const tspan = createTspan(textElement, lineIndex, lineHeight);
91516
+ const tspan = createTspan(textElement, lineIndex, lineHeight, centerText);
91512
91517
  updateTextContentAndStyles(tspan, preparedLine);
91513
91518
  lineIndex++;
91514
91519
  }
@@ -91559,7 +91564,11 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
91559
91564
  isTitle = false,
91560
91565
  classes = "",
91561
91566
  useHtmlLabels = true,
91567
+ markdown = true,
91562
91568
  isNode = true,
91569
+ /**
91570
+ * The width to wrap the text within. Set to `Number.POSITIVE_INFINITY` for no wrapping.
91571
+ */
91563
91572
  width = 200,
91564
91573
  addSvgBackground = false
91565
91574
  } = {}, config2) => {
@@ -91575,7 +91584,7 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
91575
91584
  addSvgBackground
91576
91585
  );
91577
91586
  if (useHtmlLabels) {
91578
- const htmlText = markdownToHTML(text2, config2);
91587
+ const htmlText = markdown ? markdownToHTML(text2, config2) : nonMarkdownToHTML(text2);
91579
91588
  const decodedReplacedText = await replaceIconSubstring(decodeEntities(htmlText), config2);
91580
91589
  const inputForKatex = text2.replace(/\\\\/g, "\\");
91581
91590
  const node2 = {
@@ -91587,12 +91596,13 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
91587
91596
  return vertexNode;
91588
91597
  } else {
91589
91598
  const sanitizeBR = text2.replace(/<br\s*\/?>/g, "<br/>");
91590
- const structuredText = markdownToLines(sanitizeBR.replace("<br>", "<br/>"), config2);
91599
+ const structuredText = markdown ? markdownToLines(sanitizeBR.replace("<br>", "<br/>"), config2) : nonMarkdownToLines(sanitizeBR);
91591
91600
  const svgLabel = createFormattedText(
91592
91601
  width,
91593
91602
  el,
91594
91603
  structuredText,
91595
- text2 ? addSvgBackground : false
91604
+ text2 ? addSvgBackground : false,
91605
+ !isNode
91596
91606
  );
91597
91607
  if (isNode) {
91598
91608
  if (/stroke:/.exec(style2)) {
@@ -91606,6 +91616,11 @@ var createText = /* @__PURE__ */ __name(async (el, text2 = "", {
91606
91616
  const edgeLabelTextStyle = style2.replace(/stroke:[^;]+;?/g, "").replace(/stroke-width:[^;]+;?/g, "").replace(/fill:[^;]+;?/g, "").replace(/color:/g, "fill:");
91607
91617
  select(svgLabel).select("text").attr("style", edgeLabelTextStyle);
91608
91618
  }
91619
+ if (isTitle) {
91620
+ select(svgLabel).selectAll("tspan.text-outer-tspan").classed("title-row", true);
91621
+ } else {
91622
+ select(svgLabel).selectAll("tspan.text-outer-tspan").classed("row", true);
91623
+ }
91609
91624
  return svgLabel;
91610
91625
  }
91611
91626
  }, "createText");
@@ -92623,52 +92638,28 @@ var labelHelper = /* @__PURE__ */ __name(async (parent, node2, _classes) => {
92623
92638
  } else {
92624
92639
  label = typeof node2.label === "string" ? node2.label : node2.label[0];
92625
92640
  }
92626
- const text2 = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig2()), {
92627
- useHtmlLabels,
92628
- width: node2.width || getConfig2().flowchart?.wrappingWidth,
92629
- // @ts-expect-error -- This is currently not used. Should this be `classes` instead?
92630
- cssClasses: "markdown-node-label",
92631
- style: node2.labelStyle,
92632
- addSvgBackground: !!node2.icon || !!node2.img
92633
- });
92641
+ const addBackground = !!node2.icon || !!node2.img;
92642
+ const isMarkdown = node2.labelType === "markdown";
92643
+ const text2 = await createText(
92644
+ labelEl,
92645
+ sanitizeText(decodeEntities(label), getConfig2()),
92646
+ {
92647
+ useHtmlLabels,
92648
+ width: node2.width || getConfig2().flowchart?.wrappingWidth,
92649
+ // @ts-expect-error -- This is currently not used. Should this be `classes` instead?
92650
+ cssClasses: isMarkdown ? "markdown-node-label" : void 0,
92651
+ style: node2.labelStyle,
92652
+ addSvgBackground: addBackground,
92653
+ markdown: isMarkdown
92654
+ },
92655
+ getConfig2()
92656
+ );
92634
92657
  let bbox = text2.getBBox();
92635
92658
  const halfPadding = (node2?.padding ?? 0) / 2;
92636
92659
  if (useHtmlLabels) {
92637
92660
  const div = text2.children[0];
92638
92661
  const dv = select(text2);
92639
- const images = div.getElementsByTagName("img");
92640
- if (images) {
92641
- const noImgText = label.replace(/<img[^>]*>/g, "").trim() === "";
92642
- await Promise.all(
92643
- [...images].map(
92644
- (img) => new Promise((res) => {
92645
- function setupImage() {
92646
- img.style.display = "flex";
92647
- img.style.flexDirection = "column";
92648
- if (noImgText) {
92649
- const bodyFontSize = getConfig2().fontSize ? getConfig2().fontSize : window.getComputedStyle(document.body).fontSize;
92650
- const enlargingFactor = 5;
92651
- const [parsedBodyFontSize = defaultConfig_default.fontSize] = parseFontSize(bodyFontSize);
92652
- const width = parsedBodyFontSize * enlargingFactor + "px";
92653
- img.style.minWidth = width;
92654
- img.style.maxWidth = width;
92655
- } else {
92656
- img.style.width = "100%";
92657
- }
92658
- res(img);
92659
- }
92660
- __name(setupImage, "setupImage");
92661
- setTimeout(() => {
92662
- if (img.complete) {
92663
- setupImage();
92664
- }
92665
- });
92666
- img.addEventListener("error", setupImage);
92667
- img.addEventListener("load", setupImage);
92668
- })
92669
- )
92670
- );
92671
- }
92662
+ await configureLabelImages(div, label);
92672
92663
  bbox = div.getBoundingClientRect();
92673
92664
  dv.attr("width", bbox.width);
92674
92665
  dv.attr("height", bbox.height);
@@ -92685,7 +92676,7 @@ var labelHelper = /* @__PURE__ */ __name(async (parent, node2, _classes) => {
92685
92676
  return { shapeSvg, bbox, halfPadding, label: labelEl };
92686
92677
  }, "labelHelper");
92687
92678
  var insertLabel = /* @__PURE__ */ __name(async (parent, label, options) => {
92688
- const useHtmlLabels = options.useHtmlLabels || evaluate(getConfig2()?.flowchart?.htmlLabels);
92679
+ const useHtmlLabels = options.useHtmlLabels ?? getEffectiveHtmlLabels(getConfig2());
92689
92680
  const labelEl = parent.insert("g").attr("class", "label").attr("style", options.labelStyle || "");
92690
92681
  const text2 = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig2()), {
92691
92682
  useHtmlLabels,
@@ -92695,7 +92686,7 @@ var insertLabel = /* @__PURE__ */ __name(async (parent, label, options) => {
92695
92686
  });
92696
92687
  let bbox = text2.getBBox();
92697
92688
  const halfPadding = options.padding / 2;
92698
- if (evaluate(getConfig2()?.flowchart?.htmlLabels)) {
92689
+ if (getEffectiveHtmlLabels(getConfig2())) {
92699
92690
  const div = text2.children[0];
92700
92691
  const dv = select(text2);
92701
92692
  bbox = div.getBoundingClientRect();
@@ -92781,76 +92772,26 @@ var intersectRect = /* @__PURE__ */ __name((node2, point2) => {
92781
92772
  return { x: x2 + sx, y: y3 + sy };
92782
92773
  }, "intersectRect");
92783
92774
  var intersect_rect_default = intersectRect;
92784
- function applyStyle(dom, styleFn) {
92785
- if (styleFn) {
92786
- dom.attr("style", styleFn);
92787
- }
92788
- }
92789
- __name(applyStyle, "applyStyle");
92790
- async function addHtmlLabel(node2) {
92791
- const fo = select(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject"));
92792
- const div = fo.append("xhtml:div");
92793
- const config2 = getConfig2();
92794
- let label = node2.label;
92795
- if (node2.label && hasKatex(node2.label)) {
92796
- label = await renderKatexSanitized(node2.label.replace(common_default.lineBreakRegex, "\n"), config2);
92797
- }
92798
- const labelClass = node2.isNode ? "nodeLabel" : "edgeLabel";
92799
- const labelSpan = '<span class="' + labelClass + '" ' + (node2.labelStyle ? 'style="' + node2.labelStyle + '"' : "") + // codeql [js/html-constructed-from-input] : false positive
92800
- ">" + label + "</span>";
92801
- div.html(sanitizeText(labelSpan, config2));
92802
- applyStyle(div, node2.labelStyle);
92803
- div.style("display", "inline-block");
92804
- div.style("padding-right", "1px");
92805
- div.style("white-space", "nowrap");
92806
- div.attr("xmlns", "http://www.w3.org/1999/xhtml");
92807
- return fo.node();
92808
- }
92809
- __name(addHtmlLabel, "addHtmlLabel");
92810
- var createLabel = /* @__PURE__ */ __name(async (_vertexText, style2, isTitle, isNode) => {
92775
+ var createLabel = /* @__PURE__ */ __name(async (element, _vertexText, style2, isTitle = false, isNode = false) => {
92811
92776
  let vertexText = _vertexText || "";
92812
92777
  if (typeof vertexText === "object") {
92813
92778
  vertexText = vertexText[0];
92814
92779
  }
92815
- if (evaluate(getConfig2().flowchart.htmlLabels)) {
92816
- vertexText = vertexText.replace(/\\n|\n/g, "<br />");
92817
- log.info("vertexText" + vertexText);
92818
- const node2 = {
92780
+ const config2 = getConfig2();
92781
+ const useHtmlLabels = getEffectiveHtmlLabels(config2);
92782
+ return await createText(
92783
+ element,
92784
+ vertexText,
92785
+ {
92786
+ style: style2,
92787
+ isTitle,
92788
+ useHtmlLabels,
92789
+ markdown: false,
92819
92790
  isNode,
92820
- label: decodeEntities(vertexText).replace(
92821
- /fa[blrs]?:fa-[\w-]+/g,
92822
- (s2) => `<i class='${s2.replace(":", " ")}'></i>`
92823
- ),
92824
- labelStyle: style2 ? style2.replace("fill:", "color:") : style2
92825
- };
92826
- let vertexNode = await addHtmlLabel(node2);
92827
- return vertexNode;
92828
- } else {
92829
- const svgLabel = document.createElementNS("http://www.w3.org/2000/svg", "text");
92830
- svgLabel.setAttribute("style", style2.replace("color:", "fill:"));
92831
- let rows = [];
92832
- if (typeof vertexText === "string") {
92833
- rows = vertexText.split(/\\n|\n|<br\s*\/?>/gi);
92834
- } else if (Array.isArray(vertexText)) {
92835
- rows = vertexText;
92836
- } else {
92837
- rows = [];
92838
- }
92839
- for (const row of rows) {
92840
- const tspan = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
92841
- tspan.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve");
92842
- tspan.setAttribute("dy", "1em");
92843
- tspan.setAttribute("x", "0");
92844
- if (isTitle) {
92845
- tspan.setAttribute("class", "title-row");
92846
- } else {
92847
- tspan.setAttribute("class", "row");
92848
- }
92849
- tspan.textContent = row.trim();
92850
- svgLabel.appendChild(tspan);
92851
- }
92852
- return svgLabel;
92853
- }
92791
+ width: Number.POSITIVE_INFINITY
92792
+ },
92793
+ config2
92794
+ );
92854
92795
  }, "createLabel");
92855
92796
  var createLabel_default = createLabel;
92856
92797
  var createRoundedRectPathD = /* @__PURE__ */ __name((x2, y3, totalWidth, totalHeight, radius) => [
@@ -92916,15 +92857,21 @@ var rect = /* @__PURE__ */ __name(async (parent, node2) => {
92916
92857
  const { clusterBkg, clusterBorder } = themeVariables;
92917
92858
  const { labelStyles, nodeStyles, borderStyles, backgroundStyles } = styles2String(node2);
92918
92859
  const shapeSvg = parent.insert("g").attr("class", "cluster " + node2.cssClasses).attr("id", node2.id).attr("data-look", node2.look);
92919
- const useHtmlLabels = evaluate(siteConfig2.flowchart.htmlLabels);
92860
+ const useHtmlLabels = getEffectiveHtmlLabels(siteConfig2);
92920
92861
  const labelEl = shapeSvg.insert("g").attr("class", "cluster-label ");
92921
- const text2 = await createText(labelEl, node2.label, {
92922
- style: node2.labelStyle,
92923
- useHtmlLabels,
92924
- isNode: true
92925
- });
92862
+ let text2;
92863
+ if (node2.labelType === "markdown") {
92864
+ text2 = await createText(labelEl, node2.label, {
92865
+ style: node2.labelStyle,
92866
+ useHtmlLabels,
92867
+ isNode: true,
92868
+ width: node2.width
92869
+ });
92870
+ } else {
92871
+ text2 = await createLabel_default(labelEl, node2.label, node2.labelStyle || "", false, true);
92872
+ }
92926
92873
  let bbox = text2.getBBox();
92927
- if (evaluate(siteConfig2.flowchart.htmlLabels)) {
92874
+ if (getEffectiveHtmlLabels(siteConfig2)) {
92928
92875
  const div = text2.children[0];
92929
92876
  const dv = select(text2);
92930
92877
  bbox = div.getBoundingClientRect();
@@ -93007,9 +92954,9 @@ var roundedWithTitle = /* @__PURE__ */ __name(async (parent, node2) => {
93007
92954
  const outerRectG = shapeSvg.insert("g", ":first-child");
93008
92955
  const label = shapeSvg.insert("g").attr("class", "cluster-label");
93009
92956
  let innerRect = shapeSvg.append("rect");
93010
- const text2 = label.node().appendChild(await createLabel_default(node2.label, node2.labelStyle, void 0, true));
92957
+ const text2 = await createLabel_default(label, node2.label, node2.labelStyle, void 0, true);
93011
92958
  let bbox = text2.getBBox();
93012
- if (evaluate(siteConfig2.flowchart.htmlLabels)) {
92959
+ if (getEffectiveHtmlLabels(siteConfig2)) {
93013
92960
  const div = text2.children[0];
93014
92961
  const dv = select(text2);
93015
92962
  bbox = div.getBoundingClientRect();
@@ -93058,7 +93005,7 @@ var roundedWithTitle = /* @__PURE__ */ __name(async (parent, node2) => {
93058
93005
  }
93059
93006
  label.attr(
93060
93007
  "transform",
93061
- `translate(${node2.x - bbox.width / 2}, ${y3 + 1 - (evaluate(siteConfig2.flowchart.htmlLabels) ? 0 : 3)})`
93008
+ `translate(${node2.x - bbox.width / 2}, ${y3 + 1 - (getEffectiveHtmlLabels(siteConfig2) ? 0 : 3)})`
93062
93009
  );
93063
93010
  const rectBox = rect2.node().getBBox();
93064
93011
  node2.height = rectBox.height;
@@ -93077,7 +93024,7 @@ var kanbanSection = /* @__PURE__ */ __name(async (parent, node2) => {
93077
93024
  const { clusterBkg, clusterBorder } = themeVariables;
93078
93025
  const { labelStyles, nodeStyles, borderStyles, backgroundStyles } = styles2String(node2);
93079
93026
  const shapeSvg = parent.insert("g").attr("class", "cluster " + node2.cssClasses).attr("id", node2.id).attr("data-look", node2.look);
93080
- const useHtmlLabels = evaluate(siteConfig2.flowchart.htmlLabels);
93027
+ const useHtmlLabels = getEffectiveHtmlLabels(siteConfig2);
93081
93028
  const labelEl = shapeSvg.insert("g").attr("class", "cluster-label ");
93082
93029
  const text2 = await createText(labelEl, node2.label, {
93083
93030
  style: node2.labelStyle,
@@ -93086,7 +93033,7 @@ var kanbanSection = /* @__PURE__ */ __name(async (parent, node2) => {
93086
93033
  width: node2.width
93087
93034
  });
93088
93035
  let bbox = text2.getBBox();
93089
- if (evaluate(siteConfig2.flowchart.htmlLabels)) {
93036
+ if (getEffectiveHtmlLabels(siteConfig2)) {
93090
93037
  const div = text2.children[0];
93091
93038
  const dv = select(text2);
93092
93039
  bbox = div.getBoundingClientRect();
@@ -94198,44 +94145,49 @@ async function halfRoundedRectangle(parent, node2) {
94198
94145
  return shapeSvg;
94199
94146
  }
94200
94147
  __name(halfRoundedRectangle, "halfRoundedRectangle");
94148
+ var createHexagonPathD = /* @__PURE__ */ __name((x2, y3, width, height, m2) => {
94149
+ return [
94150
+ `M${x2 + m2},${y3}`,
94151
+ `L${x2 + width - m2},${y3}`,
94152
+ `L${x2 + width},${y3 - height / 2}`,
94153
+ `L${x2 + width - m2},${y3 - height}`,
94154
+ `L${x2 + m2},${y3 - height}`,
94155
+ `L${x2},${y3 - height / 2}`,
94156
+ "Z"
94157
+ ].join(" ");
94158
+ }, "createHexagonPathD");
94201
94159
  async function hexagon(parent, node2) {
94202
94160
  const { labelStyles, nodeStyles } = styles2String(node2);
94203
94161
  node2.labelStyle = labelStyles;
94204
94162
  const { shapeSvg, bbox } = await labelHelper(parent, node2, getNodeClasses(node2));
94205
- const h2 = bbox.height + (node2.padding ?? 0);
94206
- const w2 = bbox.width + (node2.padding ?? 0) * 2.5;
94207
- const { cssStyles } = node2;
94208
- const rc = at.svg(shapeSvg);
94209
- const options = userNodeOverrides(node2, {});
94210
- if (node2.look !== "handDrawn") {
94211
- options.roughness = 0;
94212
- options.fillStyle = "solid";
94213
- }
94214
- let halfWidth = w2 / 2;
94215
- const m2 = halfWidth / 6;
94216
- halfWidth = halfWidth + m2;
94217
- const halfHeight = h2 / 2;
94218
- const fixedLength = halfHeight / 2;
94219
- const deducedWidth = halfWidth - fixedLength;
94163
+ const f2 = 4;
94164
+ const h2 = bbox.height + node2.padding;
94165
+ const m2 = h2 / f2;
94166
+ const w2 = bbox.width + 2 * m2 + node2.padding;
94220
94167
  const points = [
94221
- { x: -deducedWidth, y: -halfHeight },
94222
- { x: 0, y: -halfHeight },
94223
- { x: deducedWidth, y: -halfHeight },
94224
- { x: halfWidth, y: 0 },
94225
- { x: deducedWidth, y: halfHeight },
94226
- { x: 0, y: halfHeight },
94227
- { x: -deducedWidth, y: halfHeight },
94228
- { x: -halfWidth, y: 0 }
94168
+ { x: m2, y: 0 },
94169
+ { x: w2 - m2, y: 0 },
94170
+ { x: w2, y: -h2 / 2 },
94171
+ { x: w2 - m2, y: -h2 },
94172
+ { x: m2, y: -h2 },
94173
+ { x: 0, y: -h2 / 2 }
94229
94174
  ];
94230
- const pathData = createPathFromPoints(points);
94231
- const shapeNode = rc.path(pathData, options);
94232
- const polygon = shapeSvg.insert(() => shapeNode, ":first-child");
94233
- polygon.attr("class", "basic label-container");
94234
- if (cssStyles && node2.look !== "handDrawn") {
94235
- polygon.selectChildren("path").attr("style", cssStyles);
94175
+ let polygon;
94176
+ const { cssStyles } = node2;
94177
+ if (node2.look === "handDrawn") {
94178
+ const rc = at.svg(shapeSvg);
94179
+ const options = userNodeOverrides(node2, {});
94180
+ const pathData = createHexagonPathD(0, 0, w2, h2, m2);
94181
+ const roughNode = rc.path(pathData, options);
94182
+ polygon = shapeSvg.insert(() => roughNode, ":first-child").attr("transform", `translate(${-w2 / 2}, ${h2 / 2})`);
94183
+ if (cssStyles) {
94184
+ polygon.attr("style", cssStyles);
94185
+ }
94186
+ } else {
94187
+ polygon = insertPolygonShape(shapeSvg, w2, h2, points);
94236
94188
  }
94237
- if (nodeStyles && node2.look !== "handDrawn") {
94238
- polygon.selectChildren("path").attr("style", nodeStyles);
94189
+ if (nodeStyles) {
94190
+ polygon.attr("style", nodeStyles);
94239
94191
  }
94240
94192
  node2.width = w2;
94241
94193
  node2.height = h2;
@@ -95254,7 +95206,7 @@ __name(multiWaveEdgedRectangle, "multiWaveEdgedRectangle");
95254
95206
  async function note(parent, node2, { config: { themeVariables } }) {
95255
95207
  const { labelStyles, nodeStyles } = styles2String(node2);
95256
95208
  node2.labelStyle = labelStyles;
95257
- const useHtmlLabels = node2.useHtmlLabels || getConfig().flowchart?.htmlLabels !== false;
95209
+ const useHtmlLabels = node2.useHtmlLabels || getEffectiveHtmlLabels(getConfig());
95258
95210
  if (!useHtmlLabels) {
95259
95211
  node2.centerLabel = true;
95260
95212
  }
@@ -95411,9 +95363,9 @@ async function rectWithTitle(parent, node2) {
95411
95363
  const label = shapeSvg.insert("g").attr("class", "label").attr("style", nodeStyles);
95412
95364
  const description = node2.description;
95413
95365
  const title = node2.label;
95414
- const text2 = label.node().appendChild(await createLabel_default(title, node2.labelStyle, true, true));
95366
+ const text2 = await createLabel_default(label, title, node2.labelStyle, true, true);
95415
95367
  let bbox = { width: 0, height: 0 };
95416
- if (evaluate(getConfig2()?.flowchart?.htmlLabels)) {
95368
+ if (getEffectiveHtmlLabels(getConfig2())) {
95417
95369
  const div2 = text2.children[0];
95418
95370
  const dv2 = select(text2);
95419
95371
  bbox = div2.getBoundingClientRect();
@@ -95423,13 +95375,12 @@ async function rectWithTitle(parent, node2) {
95423
95375
  log.info("Text 2", description);
95424
95376
  const textRows = description || [];
95425
95377
  const titleBox = text2.getBBox();
95426
- const descr = label.node().appendChild(
95427
- await createLabel_default(
95428
- textRows.join ? textRows.join("<br/>") : textRows,
95429
- node2.labelStyle,
95430
- true,
95431
- true
95432
- )
95378
+ const descr = await createLabel_default(
95379
+ label,
95380
+ Array.isArray(textRows) ? textRows.join("<br/>") : textRows,
95381
+ node2.labelStyle,
95382
+ true,
95383
+ true
95433
95384
  );
95434
95385
  const div = descr.children[0];
95435
95386
  const dv = select(descr);
@@ -95491,108 +95442,14 @@ async function rectWithTitle(parent, node2) {
95491
95442
  return shapeSvg;
95492
95443
  }
95493
95444
  __name(rectWithTitle, "rectWithTitle");
95494
- function generateArcPoints2(x1, y1, x2, y22, rx, ry, clockwise) {
95495
- const numPoints = 20;
95496
- const midX = (x1 + x2) / 2;
95497
- const midY = (y1 + y22) / 2;
95498
- const angle = Math.atan2(y22 - y1, x2 - x1);
95499
- const dx = (x2 - x1) / 2;
95500
- const dy = (y22 - y1) / 2;
95501
- const transformedX = dx / rx;
95502
- const transformedY = dy / ry;
95503
- const distance2 = Math.sqrt(transformedX ** 2 + transformedY ** 2);
95504
- if (distance2 > 1) {
95505
- throw new Error("The given radii are too small to create an arc between the points.");
95506
- }
95507
- const scaledCenterDistance = Math.sqrt(1 - distance2 ** 2);
95508
- const centerX = midX + scaledCenterDistance * ry * Math.sin(angle) * (clockwise ? -1 : 1);
95509
- const centerY = midY - scaledCenterDistance * rx * Math.cos(angle) * (clockwise ? -1 : 1);
95510
- const startAngle = Math.atan2((y1 - centerY) / ry, (x1 - centerX) / rx);
95511
- const endAngle = Math.atan2((y22 - centerY) / ry, (x2 - centerX) / rx);
95512
- let angleRange = endAngle - startAngle;
95513
- if (clockwise && angleRange < 0) {
95514
- angleRange += 2 * Math.PI;
95515
- }
95516
- if (!clockwise && angleRange > 0) {
95517
- angleRange -= 2 * Math.PI;
95518
- }
95519
- const points = [];
95520
- for (let i2 = 0; i2 < numPoints; i2++) {
95521
- const t2 = i2 / (numPoints - 1);
95522
- const angle2 = startAngle + t2 * angleRange;
95523
- const x3 = centerX + rx * Math.cos(angle2);
95524
- const y3 = centerY + ry * Math.sin(angle2);
95525
- points.push({ x: x3, y: y3 });
95526
- }
95527
- return points;
95528
- }
95529
- __name(generateArcPoints2, "generateArcPoints");
95530
95445
  async function roundedRect(parent, node2) {
95531
- const { labelStyles, nodeStyles } = styles2String(node2);
95532
- node2.labelStyle = labelStyles;
95533
- const { shapeSvg, bbox } = await labelHelper(parent, node2, getNodeClasses(node2));
95534
- const labelPaddingX = node2?.padding ?? 0;
95535
- const labelPaddingY = node2?.padding ?? 0;
95536
- const w2 = (node2?.width ? node2?.width : bbox.width) + labelPaddingX * 2;
95537
- const h2 = (node2?.height ? node2?.height : bbox.height) + labelPaddingY * 2;
95538
- const radius = node2.radius || 5;
95539
- const taper = node2.taper || 5;
95540
- const { cssStyles } = node2;
95541
- const rc = at.svg(shapeSvg);
95542
- const options = userNodeOverrides(node2, {});
95543
- if (node2.stroke) {
95544
- options.stroke = node2.stroke;
95545
- }
95546
- if (node2.look !== "handDrawn") {
95547
- options.roughness = 0;
95548
- options.fillStyle = "solid";
95549
- }
95550
- const points = [
95551
- // Top edge (left to right)
95552
- { x: -w2 / 2 + taper, y: -h2 / 2 },
95553
- // Top-left corner start (1)
95554
- { x: w2 / 2 - taper, y: -h2 / 2 },
95555
- // Top-right corner start (2)
95556
- ...generateArcPoints2(w2 / 2 - taper, -h2 / 2, w2 / 2, -h2 / 2 + taper, radius, radius, true),
95557
- // Top-left arc (2 to 3)
95558
- // Right edge (top to bottom)
95559
- { x: w2 / 2, y: -h2 / 2 + taper },
95560
- // Top-right taper point (3)
95561
- { x: w2 / 2, y: h2 / 2 - taper },
95562
- // Bottom-right taper point (4)
95563
- ...generateArcPoints2(w2 / 2, h2 / 2 - taper, w2 / 2 - taper, h2 / 2, radius, radius, true),
95564
- // Top-left arc (4 to 5)
95565
- // Bottom edge (right to left)
95566
- { x: w2 / 2 - taper, y: h2 / 2 },
95567
- // Bottom-right corner start (5)
95568
- { x: -w2 / 2 + taper, y: h2 / 2 },
95569
- // Bottom-left corner start (6)
95570
- ...generateArcPoints2(-w2 / 2 + taper, h2 / 2, -w2 / 2, h2 / 2 - taper, radius, radius, true),
95571
- // Top-left arc (4 to 5)
95572
- // Left edge (bottom to top)
95573
- { x: -w2 / 2, y: h2 / 2 - taper },
95574
- // Bottom-left taper point (7)
95575
- { x: -w2 / 2, y: -h2 / 2 + taper },
95576
- // Top-left taper point (8)
95577
- ...generateArcPoints2(-w2 / 2, -h2 / 2 + taper, -w2 / 2 + taper, -h2 / 2, radius, radius, true)
95578
- // Top-left arc (4 to 5)
95579
- ];
95580
- const pathData = createPathFromPoints(points);
95581
- const shapeNode = rc.path(pathData, options);
95582
- const polygon = shapeSvg.insert(() => shapeNode, ":first-child");
95583
- polygon.attr("class", "basic label-container outer-path");
95584
- if (cssStyles && node2.look !== "handDrawn") {
95585
- polygon.selectChildren("path").attr("style", cssStyles);
95586
- }
95587
- if (nodeStyles && node2.look !== "handDrawn") {
95588
- polygon.selectChildren("path").attr("style", nodeStyles);
95589
- }
95590
- updateNodeBounds(node2, polygon);
95591
- node2.intersect = function(point2) {
95592
- const pos = intersect_default.polygon(node2, points, point2);
95593
- return pos;
95446
+ const options = {
95447
+ rx: 5,
95448
+ ry: 5,
95449
+ labelPaddingX: (node2?.padding || 0) * 1,
95450
+ labelPaddingY: (node2?.padding || 0) * 1
95594
95451
  };
95595
- return shapeSvg;
95452
+ return drawRect(parent, node2, options);
95596
95453
  }
95597
95454
  __name(roundedRect, "roundedRect");
95598
95455
  async function shadedProcess(parent, node2) {
@@ -96158,7 +96015,7 @@ async function triangle(parent, node2) {
96158
96015
  const { labelStyles, nodeStyles } = styles2String(node2);
96159
96016
  node2.labelStyle = labelStyles;
96160
96017
  const { shapeSvg, bbox, label } = await labelHelper(parent, node2, getNodeClasses(node2));
96161
- const useHtmlLabels = evaluate(getConfig2().flowchart?.htmlLabels);
96018
+ const useHtmlLabels = node2.useHtmlLabels || getEffectiveHtmlLabels(getConfig2());
96162
96019
  const w2 = bbox.width + (node2.padding ?? 0);
96163
96020
  const h2 = w2 + bbox.height;
96164
96021
  const tw = w2 + bbox.height;
@@ -97816,12 +97673,12 @@ var positionNode = /* @__PURE__ */ __name((node2) => {
97816
97673
  }
97817
97674
  return diff;
97818
97675
  }, "positionNode");
97819
- var addEdgeMarkers = /* @__PURE__ */ __name((svgPath, edge, url, id28, diagramType, strokeColor) => {
97676
+ var addEdgeMarkers = /* @__PURE__ */ __name((svgPath, edge, url, id30, diagramType, strokeColor) => {
97820
97677
  if (edge.arrowTypeStart) {
97821
- addEdgeMarker(svgPath, "start", edge.arrowTypeStart, url, id28, diagramType, strokeColor);
97678
+ addEdgeMarker(svgPath, "start", edge.arrowTypeStart, url, id30, diagramType, strokeColor);
97822
97679
  }
97823
97680
  if (edge.arrowTypeEnd) {
97824
- addEdgeMarker(svgPath, "end", edge.arrowTypeEnd, url, id28, diagramType, strokeColor);
97681
+ addEdgeMarker(svgPath, "end", edge.arrowTypeEnd, url, id30, diagramType, strokeColor);
97825
97682
  }
97826
97683
  }, "addEdgeMarkers");
97827
97684
  var arrowTypesMap = {
@@ -97841,7 +97698,7 @@ var arrowTypesMap = {
97841
97698
  requirement_arrow: { type: "requirement_arrow", fill: false },
97842
97699
  requirement_contains: { type: "requirement_contains", fill: false }
97843
97700
  };
97844
- var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url, id28, diagramType, strokeColor) => {
97701
+ var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url, id30, diagramType, strokeColor) => {
97845
97702
  const arrowTypeInfo = arrowTypesMap[arrowType];
97846
97703
  if (!arrowTypeInfo) {
97847
97704
  log.warn(`Unknown arrow type: ${arrowType}`);
@@ -97849,7 +97706,7 @@ var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url,
97849
97706
  }
97850
97707
  const endMarkerType = arrowTypeInfo.type;
97851
97708
  const suffix = position2 === "start" ? "Start" : "End";
97852
- const originalMarkerId = `${id28}_${diagramType}-${endMarkerType}${suffix}`;
97709
+ const originalMarkerId = `${id30}_${diagramType}-${endMarkerType}${suffix}`;
97853
97710
  if (strokeColor && strokeColor.trim() !== "") {
97854
97711
  const colorId = strokeColor.replace(/[^\dA-Za-z]/g, "_");
97855
97712
  const coloredMarkerId = `${originalMarkerId}_${colorId}`;
@@ -97873,6 +97730,9 @@ var addEdgeMarker = /* @__PURE__ */ __name((svgPath, position2, arrowType, url,
97873
97730
  svgPath.attr(`marker-${position2}`, `url(${url}#${originalMarkerId})`);
97874
97731
  }
97875
97732
  }, "addEdgeMarker");
97733
+ var resolveEdgeCurveType = /* @__PURE__ */ __name((edgeCurve) => {
97734
+ return typeof edgeCurve === "string" ? edgeCurve : getConfig2()?.flowchart?.curve;
97735
+ }, "resolveEdgeCurveType");
97876
97736
  var edgeLabels = /* @__PURE__ */ new Map();
97877
97737
  var terminalLabels = /* @__PURE__ */ new Map();
97878
97738
  var clear = /* @__PURE__ */ __name(() => {
@@ -97880,46 +97740,79 @@ var clear = /* @__PURE__ */ __name(() => {
97880
97740
  terminalLabels.clear();
97881
97741
  }, "clear");
97882
97742
  var getLabelStyles = /* @__PURE__ */ __name((styleArray) => {
97883
- let styles2 = styleArray ? styleArray.reduce((acc, style2) => acc + ";" + style2, "") : "";
97884
- return styles2;
97743
+ if (!styleArray) {
97744
+ return "";
97745
+ }
97746
+ if (typeof styleArray === "string") {
97747
+ return styleArray;
97748
+ }
97749
+ return styleArray.reduce((acc, style2) => acc + ";" + style2, "");
97885
97750
  }, "getLabelStyles");
97886
97751
  var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
97887
- let useHtmlLabels = evaluate(getConfig2().flowchart.htmlLabels);
97752
+ const config2 = getConfig2();
97753
+ let useHtmlLabels = getEffectiveHtmlLabels(config2);
97888
97754
  const { labelStyles } = styles2String(edge);
97889
97755
  edge.labelStyle = labelStyles;
97890
- const labelElement = await createText(elem, edge.label, {
97891
- style: edge.labelStyle,
97892
- useHtmlLabels,
97893
- addSvgBackground: true,
97894
- isNode: false
97895
- });
97896
- log.info("abc82", edge, edge.labelType);
97897
97756
  const edgeLabel = elem.insert("g").attr("class", "edgeLabel");
97898
97757
  const label = edgeLabel.insert("g").attr("class", "label").attr("data-id", edge.id);
97758
+ const isMarkdown = edge.labelType === "markdown";
97759
+ const markdownWidth = void 0;
97760
+ const labelElement = await createText(
97761
+ elem,
97762
+ edge.label,
97763
+ {
97764
+ style: getLabelStyles(edge.labelStyle),
97765
+ useHtmlLabels,
97766
+ addSvgBackground: true,
97767
+ isNode: false,
97768
+ markdown: isMarkdown,
97769
+ // Plain text edge labels should auto-wrap, markdown edge labels respect markdownAutoWrap config
97770
+ width: isMarkdown ? markdownWidth : void 0
97771
+ },
97772
+ config2
97773
+ );
97899
97774
  label.node().appendChild(labelElement);
97775
+ log.info("abc82", edge, edge.labelType);
97900
97776
  let bbox = labelElement.getBBox();
97777
+ let transformBbox = bbox;
97901
97778
  if (useHtmlLabels) {
97902
97779
  const div = labelElement.children[0];
97903
97780
  const dv = select(labelElement);
97904
97781
  bbox = div.getBoundingClientRect();
97782
+ transformBbox = bbox;
97905
97783
  dv.attr("width", bbox.width);
97906
97784
  dv.attr("height", bbox.height);
97785
+ } else {
97786
+ const textEl = select(labelElement).select("text").node();
97787
+ if (textEl && typeof textEl.getBBox === "function") {
97788
+ transformBbox = textEl.getBBox();
97789
+ }
97907
97790
  }
97908
- label.attr("transform", "translate(" + -bbox.width / 2 + ", " + -bbox.height / 2 + ")");
97791
+ label.attr("transform", computeLabelTransform(transformBbox, useHtmlLabels));
97909
97792
  edgeLabels.set(edge.id, edgeLabel);
97910
97793
  edge.width = bbox.width;
97911
97794
  edge.height = bbox.height;
97912
97795
  let fo;
97913
97796
  if (edge.startLabelLeft) {
97797
+ const startEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
97798
+ const inner2 = startEdgeLabelLeft.insert("g").attr("class", "inner");
97914
97799
  const startLabelElement = await createLabel_default(
97800
+ inner2,
97915
97801
  edge.startLabelLeft,
97916
- getLabelStyles(edge.labelStyle)
97802
+ getLabelStyles(edge.labelStyle) || "",
97803
+ false,
97804
+ false
97917
97805
  );
97918
- const startEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
97919
- const inner2 = startEdgeLabelLeft.insert("g").attr("class", "inner");
97920
- fo = inner2.node().appendChild(startLabelElement);
97921
- const slBox = startLabelElement.getBBox();
97922
- inner2.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
97806
+ fo = startLabelElement;
97807
+ let slBox = startLabelElement.getBBox();
97808
+ if (useHtmlLabels) {
97809
+ const div = startLabelElement.children[0];
97810
+ const dv = select(startLabelElement);
97811
+ slBox = div.getBoundingClientRect();
97812
+ dv.attr("width", slBox.width);
97813
+ dv.attr("height", slBox.height);
97814
+ }
97815
+ inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
97923
97816
  if (!terminalLabels.get(edge.id)) {
97924
97817
  terminalLabels.set(edge.id, {});
97925
97818
  }
@@ -97927,16 +97820,26 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
97927
97820
  setTerminalWidth(fo, edge.startLabelLeft);
97928
97821
  }
97929
97822
  if (edge.startLabelRight) {
97823
+ const startEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
97824
+ const inner2 = startEdgeLabelRight.insert("g").attr("class", "inner");
97930
97825
  const startLabelElement = await createLabel_default(
97826
+ inner2,
97931
97827
  edge.startLabelRight,
97932
- getLabelStyles(edge.labelStyle)
97828
+ getLabelStyles(edge.labelStyle) || "",
97829
+ false,
97830
+ false
97933
97831
  );
97934
- const startEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
97935
- const inner2 = startEdgeLabelRight.insert("g").attr("class", "inner");
97936
- fo = startEdgeLabelRight.node().appendChild(startLabelElement);
97832
+ fo = startLabelElement;
97937
97833
  inner2.node().appendChild(startLabelElement);
97938
- const slBox = startLabelElement.getBBox();
97939
- inner2.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
97834
+ let slBox = startLabelElement.getBBox();
97835
+ if (useHtmlLabels) {
97836
+ const div = startLabelElement.children[0];
97837
+ const dv = select(startLabelElement);
97838
+ slBox = div.getBoundingClientRect();
97839
+ dv.attr("width", slBox.width);
97840
+ dv.attr("height", slBox.height);
97841
+ }
97842
+ inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
97940
97843
  if (!terminalLabels.get(edge.id)) {
97941
97844
  terminalLabels.set(edge.id, {});
97942
97845
  }
@@ -97944,12 +97847,25 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
97944
97847
  setTerminalWidth(fo, edge.startLabelRight);
97945
97848
  }
97946
97849
  if (edge.endLabelLeft) {
97947
- const endLabelElement = await createLabel_default(edge.endLabelLeft, getLabelStyles(edge.labelStyle));
97948
97850
  const endEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
97949
97851
  const inner2 = endEdgeLabelLeft.insert("g").attr("class", "inner");
97950
- fo = inner2.node().appendChild(endLabelElement);
97951
- const slBox = endLabelElement.getBBox();
97952
- inner2.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
97852
+ const endLabelElement = await createLabel_default(
97853
+ inner2,
97854
+ edge.endLabelLeft,
97855
+ getLabelStyles(edge.labelStyle) || "",
97856
+ false,
97857
+ false
97858
+ );
97859
+ fo = endLabelElement;
97860
+ let slBox = endLabelElement.getBBox();
97861
+ if (useHtmlLabels) {
97862
+ const div = endLabelElement.children[0];
97863
+ const dv = select(endLabelElement);
97864
+ slBox = div.getBoundingClientRect();
97865
+ dv.attr("width", slBox.width);
97866
+ dv.attr("height", slBox.height);
97867
+ }
97868
+ inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
97953
97869
  endEdgeLabelLeft.node().appendChild(endLabelElement);
97954
97870
  if (!terminalLabels.get(edge.id)) {
97955
97871
  terminalLabels.set(edge.id, {});
@@ -97958,12 +97874,25 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
97958
97874
  setTerminalWidth(fo, edge.endLabelLeft);
97959
97875
  }
97960
97876
  if (edge.endLabelRight) {
97961
- const endLabelElement = await createLabel_default(edge.endLabelRight, getLabelStyles(edge.labelStyle));
97962
97877
  const endEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
97963
97878
  const inner2 = endEdgeLabelRight.insert("g").attr("class", "inner");
97964
- fo = inner2.node().appendChild(endLabelElement);
97965
- const slBox = endLabelElement.getBBox();
97966
- inner2.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
97879
+ const endLabelElement = await createLabel_default(
97880
+ inner2,
97881
+ edge.endLabelRight,
97882
+ getLabelStyles(edge.labelStyle) || "",
97883
+ false,
97884
+ false
97885
+ );
97886
+ fo = endLabelElement;
97887
+ let slBox = endLabelElement.getBBox();
97888
+ if (useHtmlLabels) {
97889
+ const div = endLabelElement.children[0];
97890
+ const dv = select(endLabelElement);
97891
+ slBox = div.getBoundingClientRect();
97892
+ dv.attr("width", slBox.width);
97893
+ dv.attr("height", slBox.height);
97894
+ }
97895
+ inner2.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
97967
97896
  endEdgeLabelRight.node().appendChild(endLabelElement);
97968
97897
  if (!terminalLabels.get(edge.id)) {
97969
97898
  terminalLabels.set(edge.id, {});
@@ -97974,7 +97903,7 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
97974
97903
  return labelElement;
97975
97904
  }, "insertEdgeLabel");
97976
97905
  function setTerminalWidth(fo, value) {
97977
- if (getConfig2().flowchart.htmlLabels && fo) {
97906
+ if (getEffectiveHtmlLabels(getConfig2()) && fo) {
97978
97907
  fo.style.width = value.length * 9 + "px";
97979
97908
  fo.style.height = "12px";
97980
97909
  }
@@ -98236,7 +98165,7 @@ var generateDashArray = /* @__PURE__ */ __name((len, oValueS, oValueE) => {
98236
98165
  const dashArray = `0 ${oValueS} ${middlePattern} ${oValueE}`;
98237
98166
  return dashArray;
98238
98167
  }, "generateDashArray");
98239
- var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramType, startNode, endNode, id28, skipIntersect = false) {
98168
+ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramType, startNode, endNode, id30, skipIntersect = false) {
98240
98169
  const { handDrawnSeed } = getConfig2();
98241
98170
  let points = edge.points;
98242
98171
  let pointsHasChanged = false;
@@ -98280,10 +98209,12 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
98280
98209
  pointsHasChanged = true;
98281
98210
  }
98282
98211
  let lineData = points.filter((p2) => !Number.isNaN(p2.y));
98283
- lineData = fixCorners(lineData);
98284
- let curve = curveBasis;
98285
- curve = curveLinear;
98286
- switch (edge.curve) {
98212
+ const edgeCurveType = resolveEdgeCurveType(edge.curve);
98213
+ if (edgeCurveType !== "rounded") {
98214
+ lineData = fixCorners(lineData);
98215
+ }
98216
+ let curve = curveLinear;
98217
+ switch (edgeCurveType) {
98287
98218
  case "linear":
98288
98219
  curve = curveLinear;
98289
98220
  break;
@@ -98320,6 +98251,9 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
98320
98251
  case "stepBefore":
98321
98252
  curve = stepBefore;
98322
98253
  break;
98254
+ case "rounded":
98255
+ curve = curveLinear;
98256
+ break;
98323
98257
  default:
98324
98258
  curve = curveBasis;
98325
98259
  }
@@ -98353,9 +98287,16 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
98353
98287
  strokeClasses += " edge-pattern-solid";
98354
98288
  }
98355
98289
  let svgPath;
98356
- let linePath = edge.curve === "rounded" ? generateRoundedPath(applyMarkerOffsetsToPoints(lineData, edge), 5) : lineFunction(lineData);
98290
+ let linePath = edgeCurveType === "rounded" ? generateRoundedPath(applyMarkerOffsetsToPoints(lineData, edge), 5) : lineFunction(lineData);
98357
98291
  const edgeStyles = Array.isArray(edge.style) ? edge.style : [edge.style];
98358
98292
  let strokeColor = edgeStyles.find((style2) => style2?.startsWith("stroke:"));
98293
+ let animationClass = "";
98294
+ if (edge.animate) {
98295
+ animationClass = "edge-animation-fast";
98296
+ }
98297
+ if (edge.animation) {
98298
+ animationClass = "edge-animation-" + edge.animation;
98299
+ }
98359
98300
  let animatedEdge = false;
98360
98301
  if (edge.look === "handDrawn") {
98361
98302
  const rc = at.svg(elem);
@@ -98365,24 +98306,20 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
98365
98306
  seed: handDrawnSeed
98366
98307
  });
98367
98308
  strokeClasses += " transition";
98368
- svgPath = select(svgPathNode).select("path").attr("id", edge.id).attr("class", " " + strokeClasses + (edge.classes ? " " + edge.classes : "")).attr("style", edgeStyles ? edgeStyles.reduce((acc, style2) => acc + ";" + style2, "") : "");
98309
+ svgPath = select(svgPathNode).select("path").attr("id", edge.id).attr(
98310
+ "class",
98311
+ " " + strokeClasses + (edge.classes ? " " + edge.classes : "") + (animationClass ? " " + animationClass : "")
98312
+ ).attr("style", edgeStyles ? edgeStyles.reduce((acc, style2) => acc + ";" + style2, "") : "");
98369
98313
  let d2 = svgPath.attr("d");
98370
98314
  svgPath.attr("d", d2);
98371
98315
  elem.node().appendChild(svgPath.node());
98372
98316
  } else {
98373
98317
  const stylesFromClasses = edgeClassStyles.join(";");
98374
98318
  const styles2 = edgeStyles ? edgeStyles.reduce((acc, style2) => acc + style2 + ";", "") : "";
98375
- let animationClass = "";
98376
- if (edge.animate) {
98377
- animationClass = " edge-animation-fast";
98378
- }
98379
- if (edge.animation) {
98380
- animationClass = " edge-animation-" + edge.animation;
98381
- }
98382
98319
  const pathStyle = (stylesFromClasses ? stylesFromClasses + ";" + styles2 + ";" : styles2) + ";" + (edgeStyles ? edgeStyles.reduce((acc, style2) => acc + ";" + style2, "") : "");
98383
98320
  svgPath = elem.append("path").attr("d", linePath).attr("id", edge.id).attr(
98384
98321
  "class",
98385
- " " + strokeClasses + (edge.classes ? " " + edge.classes : "") + (animationClass ?? "")
98322
+ " " + strokeClasses + (edge.classes ? " " + edge.classes : "") + (animationClass ? " " + animationClass : "")
98386
98323
  ).attr("style", pathStyle);
98387
98324
  strokeColor = pathStyle.match(/stroke:([^;]+)/)?.[1];
98388
98325
  animatedEdge = edge.animate === true || !!edge.animation || stylesFromClasses.includes("animation");
@@ -98412,7 +98349,7 @@ var insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramT
98412
98349
  }
98413
98350
  log.info("arrowTypeStart", edge.arrowTypeStart);
98414
98351
  log.info("arrowTypeEnd", edge.arrowTypeEnd);
98415
- addEdgeMarkers(svgPath, edge, url, id28, diagramType, strokeColor);
98352
+ addEdgeMarkers(svgPath, edge, url, id30, diagramType, strokeColor);
98416
98353
  const midIndex = Math.floor(points.length / 2);
98417
98354
  const point2 = points[midIndex];
98418
98355
  if (!utils_default.isLabelCoordinateInPath(point2, svgPath.attr("d"))) {
@@ -98510,73 +98447,73 @@ function applyMarkerOffsetsToPoints(points, edge) {
98510
98447
  return newPoints;
98511
98448
  }
98512
98449
  __name(applyMarkerOffsetsToPoints, "applyMarkerOffsetsToPoints");
98513
- var insertMarkers = /* @__PURE__ */ __name((elem, markerArray, type2, id28) => {
98450
+ var insertMarkers = /* @__PURE__ */ __name((elem, markerArray, type2, id30) => {
98514
98451
  markerArray.forEach((markerName) => {
98515
- markers[markerName](elem, type2, id28);
98452
+ markers[markerName](elem, type2, id30);
98516
98453
  });
98517
98454
  }, "insertMarkers");
98518
- var extension = /* @__PURE__ */ __name((elem, type2, id28) => {
98519
- log.trace("Making markers for ", id28);
98520
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98521
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98455
+ var extension = /* @__PURE__ */ __name((elem, type2, id30) => {
98456
+ log.trace("Making markers for ", id30);
98457
+ 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");
98458
+ 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");
98522
98459
  }, "extension");
98523
- var composition = /* @__PURE__ */ __name((elem, type2, id28) => {
98524
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98525
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98460
+ var composition = /* @__PURE__ */ __name((elem, type2, id30) => {
98461
+ 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");
98462
+ 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");
98526
98463
  }, "composition");
98527
- var aggregation = /* @__PURE__ */ __name((elem, type2, id28) => {
98528
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98529
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98464
+ var aggregation = /* @__PURE__ */ __name((elem, type2, id30) => {
98465
+ 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");
98466
+ 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");
98530
98467
  }, "aggregation");
98531
- var dependency = /* @__PURE__ */ __name((elem, type2, id28) => {
98532
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98533
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98468
+ var dependency = /* @__PURE__ */ __name((elem, type2, id30) => {
98469
+ 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");
98470
+ 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");
98534
98471
  }, "dependency");
98535
- var lollipop = /* @__PURE__ */ __name((elem, type2, id28) => {
98536
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
98537
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
98472
+ var lollipop = /* @__PURE__ */ __name((elem, type2, id30) => {
98473
+ 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);
98474
+ 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);
98538
98475
  }, "lollipop");
98539
- var point = /* @__PURE__ */ __name((elem, type2, id28) => {
98540
- elem.append("marker").attr("id", id28 + "_" + 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");
98541
- elem.append("marker").attr("id", id28 + "_" + 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");
98476
+ var point = /* @__PURE__ */ __name((elem, type2, id30) => {
98477
+ 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");
98478
+ 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");
98542
98479
  }, "point");
98543
- var circle = /* @__PURE__ */ __name((elem, type2, id28) => {
98544
- elem.append("marker").attr("id", id28 + "_" + 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");
98545
- elem.append("marker").attr("id", id28 + "_" + 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");
98480
+ var circle = /* @__PURE__ */ __name((elem, type2, id30) => {
98481
+ 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");
98482
+ 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");
98546
98483
  }, "circle");
98547
- var cross = /* @__PURE__ */ __name((elem, type2, id28) => {
98548
- elem.append("marker").attr("id", id28 + "_" + 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");
98549
- elem.append("marker").attr("id", id28 + "_" + 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");
98484
+ var cross = /* @__PURE__ */ __name((elem, type2, id30) => {
98485
+ 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");
98486
+ 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");
98550
98487
  }, "cross");
98551
- var barb = /* @__PURE__ */ __name((elem, type2, id28) => {
98552
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98488
+ var barb = /* @__PURE__ */ __name((elem, type2, id30) => {
98489
+ 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");
98553
98490
  }, "barb");
98554
- var only_one = /* @__PURE__ */ __name((elem, type2, id28) => {
98555
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98556
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98491
+ var only_one = /* @__PURE__ */ __name((elem, type2, id30) => {
98492
+ 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");
98493
+ 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");
98557
98494
  }, "only_one");
98558
- var zero_or_one = /* @__PURE__ */ __name((elem, type2, id28) => {
98559
- const startMarker = elem.append("defs").append("marker").attr("id", id28 + "_" + type2 + "-zeroOrOneStart").attr("class", "marker zeroOrOne " + type2).attr("refX", 0).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
98495
+ var zero_or_one = /* @__PURE__ */ __name((elem, type2, id30) => {
98496
+ 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");
98560
98497
  startMarker.append("circle").attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6);
98561
98498
  startMarker.append("path").attr("d", "M9,0 L9,18");
98562
- const endMarker = elem.append("defs").append("marker").attr("id", id28 + "_" + type2 + "-zeroOrOneEnd").attr("class", "marker zeroOrOne " + type2).attr("refX", 30).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
98499
+ 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");
98563
98500
  endMarker.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6);
98564
98501
  endMarker.append("path").attr("d", "M21,0 L21,18");
98565
98502
  }, "zero_or_one");
98566
- var one_or_more = /* @__PURE__ */ __name((elem, type2, id28) => {
98567
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98568
- elem.append("defs").append("marker").attr("id", id28 + "_" + 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");
98503
+ var one_or_more = /* @__PURE__ */ __name((elem, type2, id30) => {
98504
+ 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");
98505
+ 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");
98569
98506
  }, "one_or_more");
98570
- var zero_or_more = /* @__PURE__ */ __name((elem, type2, id28) => {
98571
- const startMarker = elem.append("defs").append("marker").attr("id", id28 + "_" + type2 + "-zeroOrMoreStart").attr("class", "marker zeroOrMore " + type2).attr("refX", 18).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
98507
+ var zero_or_more = /* @__PURE__ */ __name((elem, type2, id30) => {
98508
+ 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");
98572
98509
  startMarker.append("circle").attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6);
98573
98510
  startMarker.append("path").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18");
98574
- const endMarker = elem.append("defs").append("marker").attr("id", id28 + "_" + type2 + "-zeroOrMoreEnd").attr("class", "marker zeroOrMore " + type2).attr("refX", 39).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
98511
+ 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");
98575
98512
  endMarker.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6);
98576
98513
  endMarker.append("path").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18");
98577
98514
  }, "zero_or_more");
98578
- var requirement_arrow = /* @__PURE__ */ __name((elem, type2, id28) => {
98579
- elem.append("defs").append("marker").attr("id", id28 + "_" + type2 + "-requirement_arrowEnd").attr("refX", 20).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("path").attr(
98515
+ var requirement_arrow = /* @__PURE__ */ __name((elem, type2, id30) => {
98516
+ 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(
98580
98517
  "d",
98581
98518
  `M0,0
98582
98519
  L20,10
@@ -98584,8 +98521,8 @@ var requirement_arrow = /* @__PURE__ */ __name((elem, type2, id28) => {
98584
98521
  L0,20`
98585
98522
  );
98586
98523
  }, "requirement_arrow");
98587
- var requirement_contains = /* @__PURE__ */ __name((elem, type2, id28) => {
98588
- const containsNode = elem.append("defs").append("marker").attr("id", id28 + "_" + type2 + "-requirement_containsStart").attr("refX", 0).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("g");
98524
+ var requirement_contains = /* @__PURE__ */ __name((elem, type2, id30) => {
98525
+ 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");
98589
98526
  containsNode.append("circle").attr("cx", 10).attr("cy", 10).attr("r", 9).attr("fill", "none");
98590
98527
  containsNode.append("line").attr("x1", 1).attr("x2", 19).attr("y1", 10).attr("y2", 10);
98591
98528
  containsNode.append("line").attr("y1", 1).attr("y2", 19).attr("x1", 10).attr("x2", 10);
@@ -98623,20 +98560,20 @@ var internalHelpers = {
98623
98560
  };
98624
98561
  var layoutAlgorithms = {};
98625
98562
  var registerLayoutLoaders = /* @__PURE__ */ __name((loaders) => {
98626
- for (const loader28 of loaders) {
98627
- layoutAlgorithms[loader28.name] = loader28;
98563
+ for (const loader30 of loaders) {
98564
+ layoutAlgorithms[loader30.name] = loader30;
98628
98565
  }
98629
98566
  }, "registerLayoutLoaders");
98630
98567
  var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
98631
98568
  registerLayoutLoaders([
98632
98569
  {
98633
98570
  name: "dagre",
98634
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-ClEaFABE.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
98571
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-DmQFV2qK.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
98635
98572
  },
98636
98573
  ...[
98637
98574
  {
98638
98575
  name: "cose-bilkent",
98639
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-BYN-vqm8.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
98576
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-B-s11SgN.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
98640
98577
  }
98641
98578
  ]
98642
98579
  ]);
@@ -99076,7 +99013,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
99076
99013
  }, "detector");
99077
99014
  var loader = /* @__PURE__ */ __name(async () => {
99078
99015
  const { diagram: diagram2 } = await __vitePreload(async () => {
99079
- const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-ClHNu1Uo.js");
99016
+ const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-1qErOIgG.js");
99080
99017
  return { diagram: diagram22 };
99081
99018
  }, true ? __vite__mapDeps([8,9]) : void 0);
99082
99019
  return { id: id$1, diagram: diagram2 };
@@ -99096,9 +99033,9 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
99096
99033
  }, "detector");
99097
99034
  var loader2 = /* @__PURE__ */ __name(async () => {
99098
99035
  const { diagram: diagram2 } = await __vitePreload(async () => {
99099
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-m7ofIhri.js");
99036
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DfGI49Dz.js");
99100
99037
  return { diagram: diagram22 };
99101
- }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
99038
+ }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99102
99039
  return { id: id2, diagram: diagram2 };
99103
99040
  }, "loader");
99104
99041
  var plugin2 = {
@@ -99122,9 +99059,9 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
99122
99059
  }, "detector");
99123
99060
  var loader3 = /* @__PURE__ */ __name(async () => {
99124
99061
  const { diagram: diagram2 } = await __vitePreload(async () => {
99125
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-m7ofIhri.js");
99062
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DfGI49Dz.js");
99126
99063
  return { diagram: diagram22 };
99127
- }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
99064
+ }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99128
99065
  return { id: id3, diagram: diagram2 };
99129
99066
  }, "loader");
99130
99067
  var plugin3 = {
@@ -99139,7 +99076,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
99139
99076
  }, "detector");
99140
99077
  var loader4 = /* @__PURE__ */ __name(async () => {
99141
99078
  const { diagram: diagram2 } = await __vitePreload(async () => {
99142
- const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-ctHu5zQL.js");
99079
+ const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-Cx6jc9Wq.js");
99143
99080
  return { diagram: diagram22 };
99144
99081
  }, true ? __vite__mapDeps([15,12,13,14]) : void 0);
99145
99082
  return { id: id4, diagram: diagram2 };
@@ -99156,7 +99093,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
99156
99093
  }, "detector");
99157
99094
  var loader5 = /* @__PURE__ */ __name(async () => {
99158
99095
  const { diagram: diagram2 } = await __vitePreload(async () => {
99159
- const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-B86qqJx7.js");
99096
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js");
99160
99097
  return { diagram: diagram22 };
99161
99098
  }, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
99162
99099
  return { id: id5, diagram: diagram2 };
@@ -99173,7 +99110,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
99173
99110
  }, "detector");
99174
99111
  var loader6 = /* @__PURE__ */ __name(async () => {
99175
99112
  const { diagram: diagram2 } = await __vitePreload(async () => {
99176
- const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-D9wS5Veb.js");
99113
+ const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-nrcHWWaM.js");
99177
99114
  return { diagram: diagram22 };
99178
99115
  }, true ? __vite__mapDeps([20,21,22,23]) : void 0);
99179
99116
  return { id: id6, diagram: diagram2 };
@@ -99190,7 +99127,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
99190
99127
  }, "detector");
99191
99128
  var loader7 = /* @__PURE__ */ __name(async () => {
99192
99129
  const { diagram: diagram2 } = await __vitePreload(async () => {
99193
- const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-DwRPUctP.js");
99130
+ const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-PIoZHr7s.js");
99194
99131
  return { diagram: diagram22 };
99195
99132
  }, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
99196
99133
  return { id: id7, diagram: diagram2 };
@@ -99206,7 +99143,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
99206
99143
  }, "detector");
99207
99144
  var loader8 = /* @__PURE__ */ __name(async () => {
99208
99145
  const { diagram: diagram2 } = await __vitePreload(async () => {
99209
- const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-M81uyQ1J.js");
99146
+ const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-DvjPP4PA.js");
99210
99147
  return { diagram: diagram22 };
99211
99148
  }, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
99212
99149
  return { id: id8, diagram: diagram2 };
@@ -99222,7 +99159,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
99222
99159
  }, "detector");
99223
99160
  var loader9 = /* @__PURE__ */ __name(async () => {
99224
99161
  const { diagram: diagram2 } = await __vitePreload(async () => {
99225
- const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-ClzIh9Gb.js");
99162
+ const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-B_JUGMj_.js");
99226
99163
  return { diagram: diagram22 };
99227
99164
  }, true ? __vite__mapDeps([28,21,22,23]) : void 0);
99228
99165
  return { id: id9, diagram: diagram2 };
@@ -99239,7 +99176,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
99239
99176
  }, "detector");
99240
99177
  var loader10 = /* @__PURE__ */ __name(async () => {
99241
99178
  const { diagram: diagram2 } = await __vitePreload(async () => {
99242
- const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-R6Jl1c89.js");
99179
+ const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-BRwRloPc.js");
99243
99180
  return { diagram: diagram22 };
99244
99181
  }, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
99245
99182
  return { id: id10, diagram: diagram2 };
@@ -99256,7 +99193,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
99256
99193
  }, "detector");
99257
99194
  var loader11 = /* @__PURE__ */ __name(async () => {
99258
99195
  const { diagram: diagram2 } = await __vitePreload(async () => {
99259
- const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-DLK3A-pn.js");
99196
+ const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP-DF0mpvE3.js");
99260
99197
  return { diagram: diagram22 };
99261
99198
  }, true ? __vite__mapDeps([30,12,13]) : void 0);
99262
99199
  return { id: id11, diagram: diagram2 };
@@ -99273,7 +99210,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
99273
99210
  }, "detector");
99274
99211
  var loader12 = /* @__PURE__ */ __name(async () => {
99275
99212
  const { diagram: diagram2 } = await __vitePreload(async () => {
99276
- const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-2guv6eOd.js");
99213
+ const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-DYqT5Pg7.js");
99277
99214
  return { diagram: diagram22 };
99278
99215
  }, true ? __vite__mapDeps([31,9,18]) : void 0);
99279
99216
  return { id: id12, diagram: diagram2 };
@@ -99293,9 +99230,9 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
99293
99230
  }, "detector");
99294
99231
  var loader13 = /* @__PURE__ */ __name(async () => {
99295
99232
  const { diagram: diagram2 } = await __vitePreload(async () => {
99296
- const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-BQFGGJNm.js");
99233
+ const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-BqKuyb49.js");
99297
99234
  return { diagram: diagram22 };
99298
- }, true ? __vite__mapDeps([32,33,11,12,13]) : void 0);
99235
+ }, true ? __vite__mapDeps([32,33,11,9,12,13]) : void 0);
99299
99236
  return { id: id13, diagram: diagram2 };
99300
99237
  }, "loader");
99301
99238
  var plugin11 = {
@@ -99313,9 +99250,9 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
99313
99250
  }, "detector");
99314
99251
  var loader14 = /* @__PURE__ */ __name(async () => {
99315
99252
  const { diagram: diagram2 } = await __vitePreload(async () => {
99316
- const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-BQFGGJNm.js");
99253
+ const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-BqKuyb49.js");
99317
99254
  return { diagram: diagram22 };
99318
- }, true ? __vite__mapDeps([34,33,11,12,13]) : void 0);
99255
+ }, true ? __vite__mapDeps([34,33,11,9,12,13]) : void 0);
99319
99256
  return { id: id14, diagram: diagram2 };
99320
99257
  }, "loader");
99321
99258
  var plugin12 = {
@@ -99333,7 +99270,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
99333
99270
  }, "detector");
99334
99271
  var loader15 = /* @__PURE__ */ __name(async () => {
99335
99272
  const { diagram: diagram2 } = await __vitePreload(async () => {
99336
- const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-iujqSp0X.js");
99273
+ const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-D9b1mN8-.js");
99337
99274
  return { diagram: diagram22 };
99338
99275
  }, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
99339
99276
  return { id: id15, diagram: diagram2 };
@@ -99356,7 +99293,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
99356
99293
  }, "detector");
99357
99294
  var loader16 = /* @__PURE__ */ __name(async () => {
99358
99295
  const { diagram: diagram2 } = await __vitePreload(async () => {
99359
- const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-BxzY81ky.js");
99296
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-DNzgudL_.js");
99360
99297
  return { diagram: diagram22 };
99361
99298
  }, true ? __vite__mapDeps([37,36,12,13]) : void 0);
99362
99299
  return { id: id16, diagram: diagram2 };
@@ -99373,9 +99310,9 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
99373
99310
  }, "detector");
99374
99311
  var loader17 = /* @__PURE__ */ __name(async () => {
99375
99312
  const { diagram: diagram2 } = await __vitePreload(async () => {
99376
- const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-B91ZO-ec.js");
99313
+ const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-C2qidjQ5.js");
99377
99314
  return { diagram: diagram22 };
99378
- }, true ? __vite__mapDeps([38,9,11,26]) : void 0);
99315
+ }, true ? __vite__mapDeps([38,11,9,26]) : void 0);
99379
99316
  return { id: id17, diagram: diagram2 };
99380
99317
  }, "loader");
99381
99318
  var plugin15 = {
@@ -99384,9 +99321,9 @@ var plugin15 = {
99384
99321
  loader: loader17
99385
99322
  };
99386
99323
  var journeyDetector_default = plugin15;
99387
- var draw = /* @__PURE__ */ __name((_text, id28, version2) => {
99324
+ var draw = /* @__PURE__ */ __name((_text, id30, version2) => {
99388
99325
  log.debug("rendering svg for syntax error\n");
99389
- const svg2 = selectSvgElement(id28);
99326
+ const svg2 = selectSvgElement(id30);
99390
99327
  const g2 = svg2.append("g");
99391
99328
  svg2.attr("viewBox", "0 0 2412 512");
99392
99329
  configureSvgSize(svg2, 100, 512, true);
@@ -99443,9 +99380,9 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
99443
99380
  }, "detector");
99444
99381
  var loader18 = /* @__PURE__ */ __name(async () => {
99445
99382
  const { diagram: diagram2 } = await __vitePreload(async () => {
99446
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-m7ofIhri.js");
99383
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DfGI49Dz.js");
99447
99384
  return { diagram: diagram22 };
99448
- }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
99385
+ }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99449
99386
  return { id: id18, diagram: diagram2 };
99450
99387
  }, "loader");
99451
99388
  var plugin16 = {
@@ -99460,7 +99397,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
99460
99397
  }, "detector");
99461
99398
  var loader19 = /* @__PURE__ */ __name(async () => {
99462
99399
  const { diagram: diagram2 } = await __vitePreload(async () => {
99463
- const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-DjCFSC8d.js");
99400
+ const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-CkyKUY7A.js");
99464
99401
  return { diagram: diagram22 };
99465
99402
  }, true ? __vite__mapDeps([39,26]) : void 0);
99466
99403
  return { id: id19, diagram: diagram2 };
@@ -99477,7 +99414,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
99477
99414
  }, "detector");
99478
99415
  var loader20 = /* @__PURE__ */ __name(async () => {
99479
99416
  const { diagram: diagram2 } = await __vitePreload(async () => {
99480
- const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-UDHZQkNZ.js");
99417
+ const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-D7arZj95.js");
99481
99418
  return { diagram: diagram22 };
99482
99419
  }, true ? __vite__mapDeps([40,12,13]) : void 0);
99483
99420
  return { id: id20, diagram: diagram2 };
@@ -99494,7 +99431,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
99494
99431
  }, "detector");
99495
99432
  var loader21 = /* @__PURE__ */ __name(async () => {
99496
99433
  const { diagram: diagram2 } = await __vitePreload(async () => {
99497
- const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-CoogrZ07.js");
99434
+ const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-Du0TC8WS.js");
99498
99435
  return { diagram: diagram22 };
99499
99436
  }, true ? __vite__mapDeps([41,11]) : void 0);
99500
99437
  return { id: id21, diagram: diagram2 };
@@ -99511,7 +99448,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
99511
99448
  }, "detector");
99512
99449
  var loader22 = /* @__PURE__ */ __name(async () => {
99513
99450
  const { diagram: diagram2 } = await __vitePreload(async () => {
99514
- const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-CYqju8I1.js");
99451
+ const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-CoXlxv00.js");
99515
99452
  return { diagram: diagram22 };
99516
99453
  }, true ? __vite__mapDeps([42,27,22]) : void 0);
99517
99454
  return { id: id22, diagram: diagram2 };
@@ -99528,7 +99465,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
99528
99465
  }, "detector");
99529
99466
  var loader23 = /* @__PURE__ */ __name(async () => {
99530
99467
  const { diagram: diagram2 } = await __vitePreload(async () => {
99531
- const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-Bvw01OOG.js");
99468
+ const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-sTU7Hh-Y.js");
99532
99469
  return { diagram: diagram22 };
99533
99470
  }, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
99534
99471
  return { id: id23, diagram: diagram2 };
@@ -99544,7 +99481,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
99544
99481
  }, "detector");
99545
99482
  var loader24 = /* @__PURE__ */ __name(async () => {
99546
99483
  const { diagram: diagram2 } = await __vitePreload(async () => {
99547
- const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-BZjGFX-2.js");
99484
+ const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-lrWn1Obo.js");
99548
99485
  return { diagram: diagram22 };
99549
99486
  }, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
99550
99487
  return { id: id24, diagram: diagram2 };
@@ -99560,7 +99497,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
99560
99497
  }, "detector");
99561
99498
  var loader25 = /* @__PURE__ */ __name(async () => {
99562
99499
  const { diagram: diagram2 } = await __vitePreload(async () => {
99563
- const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-BqK1KM2m.js");
99500
+ const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-CxIWLtpt.js");
99564
99501
  return { diagram: diagram22 };
99565
99502
  }, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
99566
99503
  return { id: id25, diagram: diagram2 };
@@ -99577,7 +99514,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
99577
99514
  }, "detector");
99578
99515
  var loader26 = /* @__PURE__ */ __name(async () => {
99579
99516
  const { diagram: diagram2 } = await __vitePreload(async () => {
99580
- const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-DiUEBXOa.js");
99517
+ const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-CxqmdsIm.js");
99581
99518
  return { diagram: diagram22 };
99582
99519
  }, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
99583
99520
  return { id: id26, diagram: diagram2 };
@@ -99588,22 +99525,55 @@ var architecture = {
99588
99525
  loader: loader26
99589
99526
  };
99590
99527
  var architectureDetector_default = architecture;
99591
- var id27 = "treemap";
99528
+ var id27 = "ishikawa";
99592
99529
  var detector27 = /* @__PURE__ */ __name((txt) => {
99593
- return /^\s*treemap/.test(txt);
99530
+ return /^\s*ishikawa(-beta)?\b/i.test(txt);
99594
99531
  }, "detector");
99595
99532
  var loader27 = /* @__PURE__ */ __name(async () => {
99596
99533
  const { diagram: diagram2 } = await __vitePreload(async () => {
99597
- const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-CM4hLE_0.js");
99534
+ const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-oCM-LYk1.js");
99598
99535
  return { diagram: diagram22 };
99599
- }, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
99536
+ }, true ? [] : void 0);
99600
99537
  return { id: id27, diagram: diagram2 };
99601
99538
  }, "loader");
99602
- var treemap = {
99539
+ var ishikawa = {
99603
99540
  id: id27,
99604
99541
  detector: detector27,
99605
99542
  loader: loader27
99606
99543
  };
99544
+ var id28 = "venn";
99545
+ var detector28 = /* @__PURE__ */ __name((txt) => {
99546
+ return /^\s*venn-beta/.test(txt);
99547
+ }, "detector");
99548
+ var loader28 = /* @__PURE__ */ __name(async () => {
99549
+ const { diagram: diagram2 } = await __vitePreload(async () => {
99550
+ const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-BxVF5Olo.js");
99551
+ return { diagram: diagram22 };
99552
+ }, true ? [] : void 0);
99553
+ return { id: id28, diagram: diagram2 };
99554
+ }, "loader");
99555
+ var plugin22 = {
99556
+ id: id28,
99557
+ detector: detector28,
99558
+ loader: loader28
99559
+ };
99560
+ var vennDetector_default = plugin22;
99561
+ var id29 = "treemap";
99562
+ var detector29 = /* @__PURE__ */ __name((txt) => {
99563
+ return /^\s*treemap/.test(txt);
99564
+ }, "detector");
99565
+ var loader29 = /* @__PURE__ */ __name(async () => {
99566
+ const { diagram: diagram2 } = await __vitePreload(async () => {
99567
+ const { diagram: diagram22 } = await import("./diagram-E7M64L7V-QRaBfST8.js");
99568
+ return { diagram: diagram22 };
99569
+ }, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
99570
+ return { id: id29, diagram: diagram2 };
99571
+ }, "loader");
99572
+ var treemap = {
99573
+ id: id29,
99574
+ detector: detector29,
99575
+ loader: loader29
99576
+ };
99607
99577
  var hasLoadedDiagrams = false;
99608
99578
  var addDiagrams = /* @__PURE__ */ __name(() => {
99609
99579
  if (hasLoadedDiagrams) {
@@ -99668,22 +99638,24 @@ var addDiagrams = /* @__PURE__ */ __name(() => {
99668
99638
  xychartDetector_default,
99669
99639
  blockDetector_default,
99670
99640
  radar,
99671
- treemap
99641
+ ishikawa,
99642
+ treemap,
99643
+ vennDetector_default
99672
99644
  );
99673
99645
  }, "addDiagrams");
99674
99646
  var loadRegisteredDiagrams = /* @__PURE__ */ __name(async () => {
99675
99647
  log.debug(`Loading registered diagrams`);
99676
99648
  const results = await Promise.allSettled(
99677
- Object.entries(detectors).map(async ([key, { detector: detector28, loader: loader28 }]) => {
99678
- if (!loader28) {
99649
+ Object.entries(detectors).map(async ([key, { detector: detector30, loader: loader30 }]) => {
99650
+ if (!loader30) {
99679
99651
  return;
99680
99652
  }
99681
99653
  try {
99682
99654
  getDiagram(key);
99683
99655
  } catch {
99684
99656
  try {
99685
- const { diagram: diagram2, id: id28 } = await loader28();
99686
- registerDiagram(id28, diagram2, detector28);
99657
+ const { diagram: diagram2, id: id30 } = await loader30();
99658
+ registerDiagram(id30, diagram2, detector30);
99687
99659
  } catch (err) {
99688
99660
  log.error(`Failed to load external diagram with key ${key}. Removing from detectors.`);
99689
99661
  delete detectors[key];
@@ -99740,12 +99712,12 @@ var Diagram = (_j = class {
99740
99712
  try {
99741
99713
  getDiagram(type2);
99742
99714
  } catch {
99743
- const loader28 = getDiagramLoader(type2);
99744
- if (!loader28) {
99715
+ const loader30 = getDiagramLoader(type2);
99716
+ if (!loader30) {
99745
99717
  throw new UnknownDiagramError(`Diagram ${type2} not found.`);
99746
99718
  }
99747
- const { id: id28, diagram: diagram2 } = await loader28();
99748
- registerDiagram(id28, diagram2);
99719
+ const { id: id30, diagram: diagram2 } = await loader30();
99720
+ registerDiagram(id30, diagram2);
99749
99721
  }
99750
99722
  const { db, parser, renderer: renderer2, init: init2 } = getDiagram(type2);
99751
99723
  if (parser.parser) {
@@ -99759,8 +99731,8 @@ var Diagram = (_j = class {
99759
99731
  await parser.parse(text2);
99760
99732
  return new _j(type2, text2, db, parser, renderer2);
99761
99733
  }
99762
- async render(id28, version2) {
99763
- await this.renderer.draw(this.text, id28, version2, this);
99734
+ async render(id30, version2) {
99735
+ await this.renderer.draw(this.text, id30, version2, this);
99764
99736
  }
99765
99737
  getParser() {
99766
99738
  return this.parser;
@@ -99913,7 +99885,7 @@ ${config2.themeCSS}`;
99913
99885
  :root { --mermaid-alt-font-family: ${config2.altFontFamily}}`;
99914
99886
  }
99915
99887
  if (classDefs instanceof Map) {
99916
- const htmlLabels = config2.htmlLabels ?? config2.flowchart?.htmlLabels;
99888
+ const htmlLabels = getEffectiveHtmlLabels(config2);
99917
99889
  const cssHtmlElements = ["> *", "span"];
99918
99890
  const cssShapeElements = ["rect", "polygon", "ellipse", "circle", "path"];
99919
99891
  const cssElements = htmlLabels ? cssHtmlElements : cssShapeElements;
@@ -99958,13 +99930,13 @@ var putIntoIFrame = /* @__PURE__ */ __name((svgCode = "", svgElement) => {
99958
99930
  ${IFRAME_NOT_SUPPORTED_MSG}
99959
99931
  </iframe>`;
99960
99932
  }, "putIntoIFrame");
99961
- var appendDivSvgG = /* @__PURE__ */ __name((parentRoot, id28, enclosingDivId, divStyle, svgXlink) => {
99933
+ var appendDivSvgG = /* @__PURE__ */ __name((parentRoot, id30, enclosingDivId, divStyle, svgXlink) => {
99962
99934
  const enclosingDiv = parentRoot.append("div");
99963
99935
  enclosingDiv.attr("id", enclosingDivId);
99964
99936
  if (divStyle) {
99965
99937
  enclosingDiv.attr("style", divStyle);
99966
99938
  }
99967
- const svgNode2 = enclosingDiv.append("svg").attr("id", id28).attr("width", "100%").attr("xmlns", XMLNS_SVG_STD);
99939
+ const svgNode2 = enclosingDiv.append("svg").attr("id", id30).attr("width", "100%").attr("xmlns", XMLNS_SVG_STD);
99968
99940
  if (svgXlink) {
99969
99941
  svgNode2.attr("xmlns:xlink", svgXlink);
99970
99942
  }
@@ -99975,12 +99947,12 @@ function sandboxedIframe(parentNode, iFrameId) {
99975
99947
  return parentNode.append("iframe").attr("id", iFrameId).attr("style", "width: 100%; height: 100%;").attr("sandbox", "");
99976
99948
  }
99977
99949
  __name(sandboxedIframe, "sandboxedIframe");
99978
- var removeExistingElements = /* @__PURE__ */ __name((doc, id28, divId, iFrameId) => {
99979
- doc.getElementById(id28)?.remove();
99950
+ var removeExistingElements = /* @__PURE__ */ __name((doc, id30, divId, iFrameId) => {
99951
+ doc.getElementById(id30)?.remove();
99980
99952
  doc.getElementById(divId)?.remove();
99981
99953
  doc.getElementById(iFrameId)?.remove();
99982
99954
  }, "removeExistingElements");
99983
- var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingElement) {
99955
+ var render2 = /* @__PURE__ */ __name(async function(id30, text2, svgContainingElement) {
99984
99956
  addDiagrams();
99985
99957
  const processed = processAndSetConfigs(text2);
99986
99958
  text2 = processed.code;
@@ -99989,10 +99961,10 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
99989
99961
  if (text2.length > (config2?.maxTextSize ?? MAX_TEXTLENGTH)) {
99990
99962
  text2 = MAX_TEXTLENGTH_EXCEEDED_MSG;
99991
99963
  }
99992
- const idSelector = "#" + id28;
99993
- const iFrameID = "i" + id28;
99964
+ const idSelector = "#" + id30;
99965
+ const iFrameID = "i" + id30;
99994
99966
  const iFrameID_selector = "#" + iFrameID;
99995
- const enclosingDivID = "d" + id28;
99967
+ const enclosingDivID = "d" + id30;
99996
99968
  const enclosingDivID_selector = "#" + enclosingDivID;
99997
99969
  const removeTempElements = /* @__PURE__ */ __name(() => {
99998
99970
  const tmpElementSelector = isSandboxed ? iFrameID_selector : enclosingDivID_selector;
@@ -100016,9 +99988,9 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
100016
99988
  } else {
100017
99989
  root2 = select(svgContainingElement);
100018
99990
  }
100019
- appendDivSvgG(root2, id28, enclosingDivID, `font-family: ${fontFamily}`, XMLNS_XLINK_STD);
99991
+ appendDivSvgG(root2, id30, enclosingDivID, `font-family: ${fontFamily}`, XMLNS_XLINK_STD);
100020
99992
  } else {
100021
- removeExistingElements(document, id28, enclosingDivID, iFrameID);
99993
+ removeExistingElements(document, id30, enclosingDivID, iFrameID);
100022
99994
  if (isSandboxed) {
100023
99995
  const iframe = sandboxedIframe(select("body"), iFrameID);
100024
99996
  root2 = select(iframe.nodes()[0].contentDocument.body);
@@ -100026,7 +99998,7 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
100026
99998
  } else {
100027
99999
  root2 = select("body");
100028
100000
  }
100029
- appendDivSvgG(root2, id28, enclosingDivID);
100001
+ appendDivSvgG(root2, id30, enclosingDivID);
100030
100002
  }
100031
100003
  let diag;
100032
100004
  let parseEncounteredException;
@@ -100050,12 +100022,12 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
100050
100022
  style1.innerHTML = rules;
100051
100023
  svg2.insertBefore(style1, firstChild);
100052
100024
  try {
100053
- await diag.renderer.draw(text2, id28, package_default.version, diag);
100025
+ await diag.renderer.draw(text2, id30, "11.13.0", diag);
100054
100026
  } catch (e2) {
100055
100027
  if (config2.suppressErrorRendering) {
100056
100028
  removeTempElements();
100057
100029
  } else {
100058
- errorRenderer_default.draw(text2, id28, package_default.version);
100030
+ errorRenderer_default.draw(text2, id30, "11.13.0");
100059
100031
  }
100060
100032
  throw e2;
100061
100033
  }
@@ -100063,7 +100035,7 @@ var render2 = /* @__PURE__ */ __name(async function(id28, text2, svgContainingEl
100063
100035
  const a11yTitle = diag.db.getAccTitle?.();
100064
100036
  const a11yDescr = diag.db.getAccDescription?.();
100065
100037
  addA11yInfo(diagramType, svgNode2, a11yTitle, a11yDescr);
100066
- root2.select(`[id="${id28}"]`).selectAll("foreignobject > *").attr("xmlns", XMLNS_XHTML_STD);
100038
+ root2.select(`[id="${id30}"]`).selectAll("foreignobject > *").attr("xmlns", XMLNS_XHTML_STD);
100067
100039
  let svgCode = root2.select(enclosingDivID_selector).node().innerHTML;
100068
100040
  log.debug("config.arrowMarkerAbsolute", config2.arrowMarkerAbsolute);
100069
100041
  svgCode = cleanUpSvgCode(svgCode, isSandboxed, evaluate(config2.arrowMarkerAbsolute));
@@ -100203,7 +100175,7 @@ var runThrowsErrors = /* @__PURE__ */ __name(async function({ postRenderCallback
100203
100175
  continue;
100204
100176
  }
100205
100177
  element.setAttribute("data-processed", "true");
100206
- const id28 = `mermaid-${idGenerator.next()}`;
100178
+ const id30 = `mermaid-${idGenerator.next()}`;
100207
100179
  txt = element.innerHTML;
100208
100180
  txt = dedent(utils_default.entityDecode(txt)).trim().replace(/<br\s*\/?>/gi, "<br/>");
100209
100181
  const init2 = utils_default.detectInit(txt);
@@ -100211,10 +100183,10 @@ var runThrowsErrors = /* @__PURE__ */ __name(async function({ postRenderCallback
100211
100183
  log.debug("Detected early reinit: ", init2);
100212
100184
  }
100213
100185
  try {
100214
- const { svg: svg2, bindFunctions } = await render22(id28, txt, element);
100186
+ const { svg: svg2, bindFunctions } = await render22(id30, txt, element);
100215
100187
  element.innerHTML = svg2;
100216
100188
  if (postRenderCallback) {
100217
- await postRenderCallback(id28);
100189
+ await postRenderCallback(id30);
100218
100190
  }
100219
100191
  if (bindFunctions) {
100220
100192
  bindFunctions(element);
@@ -100309,10 +100281,10 @@ var parse2 = /* @__PURE__ */ __name(async (text2, parseOptions) => {
100309
100281
  executeQueue().catch(reject);
100310
100282
  });
100311
100283
  }, "parse");
100312
- var render22 = /* @__PURE__ */ __name((id28, text2, container) => {
100284
+ var render22 = /* @__PURE__ */ __name((id30, text2, container) => {
100313
100285
  return new Promise((resolve, reject) => {
100314
100286
  const performCall = /* @__PURE__ */ __name(() => new Promise((res, rej) => {
100315
- mermaidAPI.render(id28, text2, container).then(
100287
+ mermaidAPI.render(id30, text2, container).then(
100316
100288
  (r2) => {
100317
100289
  res(r2);
100318
100290
  resolve(r2);
@@ -100330,8 +100302,8 @@ var render22 = /* @__PURE__ */ __name((id28, text2, container) => {
100330
100302
  });
100331
100303
  }, "render");
100332
100304
  var getRegisteredDiagramsMetadata = /* @__PURE__ */ __name(() => {
100333
- return Object.keys(detectors).map((id28) => ({
100334
- id: id28
100305
+ return Object.keys(detectors).map((id30) => ({
100306
+ id: id30
100335
100307
  }));
100336
100308
  }, "getRegisteredDiagramsMetadata");
100337
100309
  var mermaid = {
@@ -100364,13 +100336,13 @@ class DomindsMermaidBlock extends HTMLElement {
100364
100336
  return normalizedNewlines.replace(
100365
100337
  /(\b[\w-]+)\[([^\]\n]*?)\]/g,
100366
100338
  (_full, rawId, rawLabel) => {
100367
- const id28 = String(rawId);
100339
+ const id30 = String(rawId);
100368
100340
  const label = String(rawLabel).trim();
100369
- if (!label) return `${id28}[]`;
100370
- if (label.startsWith('"') || label.startsWith("'")) return `${id28}[${label}]`;
100371
- if (!/[<>()|]/.test(label)) return `${id28}[${label}]`;
100341
+ if (!label) return `${id30}[]`;
100342
+ if (label.startsWith('"') || label.startsWith("'")) return `${id30}[${label}]`;
100343
+ if (!/[<>()|]/.test(label)) return `${id30}[${label}]`;
100372
100344
  const escaped = label.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
100373
- return `${id28}["${escaped}"]`;
100345
+ return `${id30}["${escaped}"]`;
100374
100346
  }
100375
100347
  );
100376
100348
  }
@@ -100815,14 +100787,14 @@ md.core.ruler.push("dominds_heading_ids", (state2) => {
100815
100787
  const rawText = inline2.content;
100816
100788
  const base2 = slugifyHeadingId(rawText);
100817
100789
  if (!base2) continue;
100818
- let id28 = base2;
100790
+ let id30 = base2;
100819
100791
  let attempt = 2;
100820
- while (used.has(id28)) {
100821
- id28 = `${base2}-${attempt}`;
100792
+ while (used.has(id30)) {
100793
+ id30 = `${base2}-${attempt}`;
100822
100794
  attempt += 1;
100823
100795
  }
100824
- used.add(id28);
100825
- token2.attrSet("id", id28);
100796
+ used.add(id30);
100797
+ token2.attrSet("id", id30);
100826
100798
  }
100827
100799
  });
100828
100800
  installDomindsMathBlockRule(md);
@@ -101939,7 +101911,7 @@ class DomindsDialogContainer extends HTMLElement {
101939
101911
  this.teamConfiguration = {
101940
101912
  memberDefaults: { icon: cfg.memberDefaults.icon, name: cfg.memberDefaults.name },
101941
101913
  members: Object.fromEntries(
101942
- Object.entries(cfg.members).map(([id28, m2]) => [id28, { icon: m2.icon, name: m2.name }])
101914
+ Object.entries(cfg.members).map(([id30, m2]) => [id30, { icon: m2.icon, name: m2.name }])
101943
101915
  )
101944
101916
  };
101945
101917
  } catch (error2) {
@@ -103308,9 +103280,9 @@ itemId: ${itemId}` : ""}` : `itemId: ${itemId}`;
103308
103280
  const seen2 = /* @__PURE__ */ new Set();
103309
103281
  const out = [];
103310
103282
  for (const match2 of headline.matchAll(re2)) {
103311
- const id28 = (match2[1] ?? "").trim();
103312
- if (id28 === "") continue;
103313
- const mention = `@${id28}`;
103283
+ const id30 = (match2[1] ?? "").trim();
103284
+ if (id30 === "") continue;
103285
+ const mention = `@${id30}`;
103314
103286
  if (seen2.has(mention)) continue;
103315
103287
  seen2.add(mention);
103316
103288
  out.push(mention);
@@ -105187,19 +105159,19 @@ ${event.content}`;
105187
105159
  // User messages are now handled by 'end_of_user_saying_evt' event - see handleDialogEvent()
105188
105160
  getAuthorLabel(role, responderId) {
105189
105161
  if (role === "user") return "Human";
105190
- const id28 = responderId || this.currentDialog?.agentId || "";
105191
- if (!id28) return "🤖 Assistant";
105192
- if (this.teamConfiguration?.members?.[id28]) {
105193
- const member = this.teamConfiguration.members[id28];
105162
+ const id30 = responderId || this.currentDialog?.agentId || "";
105163
+ if (!id30) return "🤖 Assistant";
105164
+ if (this.teamConfiguration?.members?.[id30]) {
105165
+ const member = this.teamConfiguration.members[id30];
105194
105166
  const icon2 = member.icon || this.teamConfiguration.memberDefaults?.icon || "🤖";
105195
- const name = member.name || `@${id28}`;
105167
+ const name = member.name || `@${id30}`;
105196
105168
  return `${icon2} ${name}`;
105197
105169
  }
105198
105170
  if (this.teamConfiguration?.memberDefaults) {
105199
105171
  const icon2 = this.teamConfiguration.memberDefaults.icon || "🤖";
105200
- return `${icon2} @${id28}`;
105172
+ return `${icon2} @${id30}`;
105201
105173
  }
105202
- return `🤖 @${id28}`;
105174
+ return `🤖 @${id30}`;
105203
105175
  }
105204
105176
  escapeHtml(text2) {
105205
105177
  return text2.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
@@ -106971,16 +106943,16 @@ class DomindsDocsPanel extends HTMLElement {
106971
106943
  }
106972
106944
  scrollToPendingAnchorIfAny() {
106973
106945
  if (!this.pendingScrollAnchorId) return;
106974
- const id28 = this.pendingScrollAnchorId;
106946
+ const id30 = this.pendingScrollAnchorId;
106975
106947
  this.pendingScrollAnchorId = null;
106976
- this.scrollToAnchorId(id28);
106948
+ this.scrollToAnchorId(id30);
106977
106949
  }
106978
- scrollToAnchorId(id28) {
106950
+ scrollToAnchorId(id30) {
106979
106951
  const root2 = this.shadowRoot;
106980
106952
  if (!root2) return;
106981
106953
  const body = root2.querySelector(".docs-body");
106982
106954
  if (!(body instanceof HTMLElement)) return;
106983
- const anchor2 = body.querySelector(`#${CSS.escape(id28)}`);
106955
+ const anchor2 = body.querySelector(`#${CSS.escape(id30)}`);
106984
106956
  if (!(anchor2 instanceof HTMLElement)) return;
106985
106957
  anchor2.scrollIntoView({ behavior: "smooth", block: "start" });
106986
106958
  }
@@ -107031,13 +107003,13 @@ class DomindsDocsPanel extends HTMLElement {
107031
107003
  if (href.startsWith("#")) {
107032
107004
  const idRaw = href.slice(1);
107033
107005
  if (!idRaw) return;
107034
- let id28 = idRaw;
107006
+ let id30 = idRaw;
107035
107007
  try {
107036
- id28 = decodeURIComponent(idRaw);
107008
+ id30 = decodeURIComponent(idRaw);
107037
107009
  } catch {
107038
107010
  }
107039
- if (!id28) return;
107040
- this.scrollToAnchorId(id28);
107011
+ if (!id30) return;
107012
+ this.scrollToAnchorId(id30);
107041
107013
  return;
107042
107014
  }
107043
107015
  if (href.startsWith("/f/") || href === "/f" || href === "/workspace" || href.startsWith("/workspace/") || href === "/rtws" || href.startsWith("/rtws/")) {
@@ -107489,13 +107461,13 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
107489
107461
  this.showError(error2 instanceof Error ? error2.message : t2.readFailed);
107490
107462
  });
107491
107463
  }
107492
- removeImageAttachment(id28) {
107493
- const existing = this.imageAttachments.find((attachment) => attachment.id === id28);
107464
+ removeImageAttachment(id30) {
107465
+ const existing = this.imageAttachments.find((attachment) => attachment.id === id30);
107494
107466
  if (existing) {
107495
107467
  URL.revokeObjectURL(existing.objectUrl);
107496
107468
  }
107497
- this.imageAttachments = this.imageAttachments.filter((attachment) => attachment.id !== id28);
107498
- if (this.openImageAttachmentId === id28) {
107469
+ this.imageAttachments = this.imageAttachments.filter((attachment) => attachment.id !== id30);
107470
+ if (this.openImageAttachmentId === id30) {
107499
107471
  this.openImageAttachmentId = null;
107500
107472
  }
107501
107473
  this.safeRender();
@@ -108071,9 +108043,9 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
108071
108043
  }
108072
108044
  this.shadowRoot.querySelectorAll(".attachment-thumb").forEach((button) => {
108073
108045
  button.addEventListener("click", () => {
108074
- const id28 = button.dataset.attachmentId;
108075
- if (typeof id28 !== "string") return;
108076
- this.openImageAttachmentId = id28;
108046
+ const id30 = button.dataset.attachmentId;
108047
+ if (typeof id30 !== "string") return;
108048
+ this.openImageAttachmentId = id30;
108077
108049
  this.safeRender();
108078
108050
  });
108079
108051
  });
@@ -108081,9 +108053,9 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
108081
108053
  button.addEventListener("click", (event) => {
108082
108054
  event.preventDefault();
108083
108055
  event.stopPropagation();
108084
- const id28 = button.dataset.attachmentId;
108085
- if (typeof id28 !== "string") return;
108086
- this.removeImageAttachment(id28);
108056
+ const id30 = button.dataset.attachmentId;
108057
+ if (typeof id30 !== "string") return;
108058
+ this.removeImageAttachment(id30);
108087
108059
  });
108088
108060
  });
108089
108061
  const modalCloseTargets = this.shadowRoot.querySelectorAll(
@@ -108346,17 +108318,17 @@ const _DomindsQ4HInput = class _DomindsQ4HInput extends HTMLElement {
108346
108318
  if (this.imageAttachments.length === 0) return "";
108347
108319
  const t2 = IMAGE_ATTACHMENT_I18N[this.uiLanguage];
108348
108320
  const items = this.imageAttachments.map((attachment) => {
108349
- const id28 = _DomindsQ4HInput.escapeHtml(attachment.id);
108321
+ const id30 = _DomindsQ4HInput.escapeHtml(attachment.id);
108350
108322
  const name = _DomindsQ4HInput.escapeHtml(attachment.name);
108351
108323
  const src = _DomindsQ4HInput.escapeHtml(attachment.objectUrl);
108352
108324
  return `
108353
108325
  <div class="attachment-item">
108354
- <button class="attachment-thumb" type="button" data-attachment-id="${id28}" title="${_DomindsQ4HInput.escapeHtml(
108326
+ <button class="attachment-thumb" type="button" data-attachment-id="${id30}" title="${_DomindsQ4HInput.escapeHtml(
108355
108327
  t2.preview
108356
108328
  )}" aria-label="${_DomindsQ4HInput.escapeHtml(t2.preview)}">
108357
108329
  <img src="${src}" alt="${name}">
108358
108330
  </button>
108359
- <button class="attachment-remove" type="button" data-attachment-id="${id28}" title="${_DomindsQ4HInput.escapeHtml(
108331
+ <button class="attachment-remove" type="button" data-attachment-id="${id30}" title="${_DomindsQ4HInput.escapeHtml(
108360
108332
  t2.remove
108361
108333
  )}" aria-label="${_DomindsQ4HInput.escapeHtml(t2.remove)}">
108362
108334
  <span class="icon-mask attachment-remove-icon" aria-hidden="true"></span>
@@ -108981,8 +108953,8 @@ class DomindsQ4HPanel extends HTMLElement {
108981
108953
  if (!root2) return;
108982
108954
  const selectedId = this.selectedQuestionId;
108983
108955
  root2.querySelectorAll(".q4h-question-card").forEach((card2) => {
108984
- const id28 = card2.getAttribute("data-question-id");
108985
- const selected = selectedId !== null && id28 === selectedId;
108956
+ const id30 = card2.getAttribute("data-question-id");
108957
+ const selected = selectedId !== null && id30 === selectedId;
108986
108958
  card2.classList.toggle("selected", selected);
108987
108959
  });
108988
108960
  if (selectedId !== null) {
@@ -110139,20 +110111,20 @@ class DomindsSnippetsPanel extends HTMLElement {
110139
110111
  const target = e2.target;
110140
110112
  if (target instanceof Element && target.closest("button")) return;
110141
110113
  if (this.state.kind !== "ready") return;
110142
- const id28 = card2.getAttribute("data-id");
110143
- if (typeof id28 !== "string" || id28 === "") return;
110114
+ const id30 = card2.getAttribute("data-id");
110115
+ if (typeof id30 !== "string" || id30 === "") return;
110144
110116
  const all = this.state.groups.flatMap((g2) => g2.templates);
110145
- const snippet2 = all.find((x2) => x2.id === id28);
110117
+ const snippet2 = all.find((x2) => x2.id === id30);
110146
110118
  this.selectSnippet(snippet2 ?? null);
110147
110119
  });
110148
110120
  card2.addEventListener("keydown", (e2) => {
110149
110121
  if (e2.key !== "Enter" && e2.key !== " ") return;
110150
110122
  e2.preventDefault();
110151
110123
  if (this.state.kind !== "ready") return;
110152
- const id28 = card2.getAttribute("data-id");
110153
- if (typeof id28 !== "string" || id28 === "") return;
110124
+ const id30 = card2.getAttribute("data-id");
110125
+ if (typeof id30 !== "string" || id30 === "") return;
110154
110126
  const all = this.state.groups.flatMap((g2) => g2.templates);
110155
- const snippet2 = all.find((x2) => x2.id === id28);
110127
+ const snippet2 = all.find((x2) => x2.id === id30);
110156
110128
  this.selectSnippet(snippet2 ?? null);
110157
110129
  });
110158
110130
  });
@@ -110373,8 +110345,8 @@ function requireAppJson() {
110373
110345
  function parseToolsetJson(v2, at2) {
110374
110346
  if (!isRecord(v2))
110375
110347
  return { ok: false, errorText: `Invalid ${at2}: expected object` };
110376
- const id28 = asString(v2["id"]);
110377
- if (!id28 || id28.trim() === "")
110348
+ const id30 = asString(v2["id"]);
110349
+ if (!id30 || id30.trim() === "")
110378
110350
  return { ok: false, errorText: `Invalid ${at2}.id: required` };
110379
110351
  const descriptionI18n = v2["descriptionI18n"];
110380
110352
  if (descriptionI18n !== void 0 && !isI18nText(descriptionI18n)) {
@@ -110393,7 +110365,7 @@ function requireAppJson() {
110393
110365
  return {
110394
110366
  ok: true,
110395
110367
  toolset: {
110396
- id: id28,
110368
+ id: id30,
110397
110369
  descriptionI18n,
110398
110370
  tools
110399
110371
  }
@@ -110402,8 +110374,8 @@ function requireAppJson() {
110402
110374
  function parseDialogRunControlJson(v2, at2) {
110403
110375
  if (!isRecord(v2))
110404
110376
  return { ok: false, errorText: `Invalid ${at2}: expected object` };
110405
- const id28 = asString(v2["id"]);
110406
- if (!id28 || id28.trim() === "")
110377
+ const id30 = asString(v2["id"]);
110378
+ if (!id30 || id30.trim() === "")
110407
110379
  return { ok: false, errorText: `Invalid ${at2}.id: required` };
110408
110380
  const descriptionI18n = v2["descriptionI18n"];
110409
110381
  if (descriptionI18n !== void 0 && !isI18nText(descriptionI18n)) {
@@ -110412,7 +110384,7 @@ function requireAppJson() {
110412
110384
  return {
110413
110385
  ok: true,
110414
110386
  control: {
110415
- id: id28,
110387
+ id: id30,
110416
110388
  descriptionI18n
110417
110389
  }
110418
110390
  };
@@ -110926,16 +110898,16 @@ class DomindsTeamManualPanel extends HTMLElement {
110926
110898
  const href = link2.getAttribute("href");
110927
110899
  if (typeof href !== "string") return;
110928
110900
  if (!href.startsWith("#")) return;
110929
- let id28 = href.slice(1);
110901
+ let id30 = href.slice(1);
110930
110902
  try {
110931
- id28 = decodeURIComponent(id28);
110903
+ id30 = decodeURIComponent(id30);
110932
110904
  } catch {
110933
110905
  }
110934
- if (!id28) {
110906
+ if (!id30) {
110935
110907
  e2.preventDefault();
110936
110908
  return;
110937
110909
  }
110938
- const anchor2 = body.querySelector(`#${CSS.escape(id28)}`);
110910
+ const anchor2 = body.querySelector(`#${CSS.escape(id30)}`);
110939
110911
  e2.preventDefault();
110940
110912
  if (!(anchor2 instanceof HTMLElement)) return;
110941
110913
  anchor2.scrollIntoView({ behavior: "smooth", block: "start" });
@@ -124140,13 +124112,13 @@ ${content}`;
124140
124112
  for (const item of value) {
124141
124113
  if (typeof item !== "object" || item === null) continue;
124142
124114
  const rec = item;
124143
- const id28 = typeof rec["id"] === "string" ? rec["id"] : "";
124115
+ const id30 = typeof rec["id"] === "string" ? rec["id"] : "";
124144
124116
  const timestamp2 = typeof rec["timestamp"] === "string" ? rec["timestamp"].trim() : "";
124145
124117
  const kind = rec["kind"];
124146
124118
  const message = typeof rec["message"] === "string" ? rec["message"] : "";
124147
- if (!id28 || !_DomindsApp.UNIFIED_TIMESTAMP_PATTERN.test(timestamp2) || !message) continue;
124119
+ if (!id30 || !_DomindsApp.UNIFIED_TIMESTAMP_PATTERN.test(timestamp2) || !message) continue;
124148
124120
  if (kind !== "error" && kind !== "warning" && kind !== "info") continue;
124149
- next2.push({ id: id28, timestamp: timestamp2, kind, message });
124121
+ next2.push({ id: id30, timestamp: timestamp2, kind, message });
124150
124122
  }
124151
124123
  return next2;
124152
124124
  }
@@ -124163,11 +124135,11 @@ ${content}`;
124163
124135
  pushToastHistoryEntry(entry) {
124164
124136
  this.loadToastHistoryFromStorage();
124165
124137
  const now2 = /* @__PURE__ */ new Date();
124166
- const id28 = `${String(now2.getTime())}-${String(this.toastHistorySeq += 1)}`;
124138
+ const id30 = `${String(now2.getTime())}-${String(this.toastHistorySeq += 1)}`;
124167
124139
  const trimmed = entry.message.trim();
124168
124140
  if (trimmed === "") return;
124169
124141
  const next2 = {
124170
- id: id28,
124142
+ id: id30,
124171
124143
  timestamp: timeExports.formatUnifiedTimestamp(now2),
124172
124144
  kind: entry.kind,
124173
124145
  message: trimmed
@@ -125779,28 +125751,28 @@ ${content}`;
125779
125751
  const next2 = [];
125780
125752
  const seenIds = /* @__PURE__ */ new Set();
125781
125753
  for (const existing of this.q4hQuestions) {
125782
- const id28 = typeof existing.id === "string" ? existing.id : "";
125783
- if (!id28) {
125754
+ const id30 = typeof existing.id === "string" ? existing.id : "";
125755
+ if (!id30) {
125784
125756
  throw new Error("Q4H client cache violation: existing question has invalid id");
125785
125757
  }
125786
- if (seenIds.has(id28)) {
125787
- throw new Error(`Q4H client cache violation: duplicate cached question id (${id28})`);
125758
+ if (seenIds.has(id30)) {
125759
+ throw new Error(`Q4H client cache violation: duplicate cached question id (${id30})`);
125788
125760
  }
125789
- seenIds.add(id28);
125761
+ seenIds.add(id30);
125790
125762
  const existingWithDialog = existing;
125791
125763
  const selfId = typeof existingWithDialog.selfId === "string" ? existingWithDialog.selfId : null;
125792
125764
  if (!selfId) {
125793
- const incoming2 = incomingById.get(id28);
125765
+ const incoming2 = incomingById.get(id30);
125794
125766
  next2.push(incoming2 ?? existing);
125795
- if (incoming2) incomingById.delete(id28);
125767
+ if (incoming2) incomingById.delete(id30);
125796
125768
  continue;
125797
125769
  }
125798
125770
  const rootId = typeof existingWithDialog.rootId === "string" && existingWithDialog.rootId ? existingWithDialog.rootId : selfId;
125799
125771
  const status = this.lookupVisibleDialogStatusByIds(rootId, selfId);
125800
- const incoming = incomingById.get(id28);
125772
+ const incoming = incomingById.get(id30);
125801
125773
  if (incoming) {
125802
125774
  next2.push(incoming);
125803
- incomingById.delete(id28);
125775
+ incomingById.delete(id30);
125804
125776
  continue;
125805
125777
  }
125806
125778
  if (status === "running") {
@@ -125808,11 +125780,11 @@ ${content}`;
125808
125780
  }
125809
125781
  next2.push(existing);
125810
125782
  }
125811
- for (const [id28, q2] of incomingById.entries()) {
125812
- if (seenIds.has(id28)) {
125813
- throw new Error(`Q4H state merge violation: duplicate id during merge (${id28})`);
125783
+ for (const [id30, q2] of incomingById.entries()) {
125784
+ if (seenIds.has(id30)) {
125785
+ throw new Error(`Q4H state merge violation: duplicate id during merge (${id30})`);
125814
125786
  }
125815
- seenIds.add(id28);
125787
+ seenIds.add(id30);
125816
125788
  next2.push(q2);
125817
125789
  }
125818
125790
  this.q4hQuestions = next2;
@@ -127845,15 +127817,15 @@ document.addEventListener("DOMContentLoaded", async () => {
127845
127817
  });
127846
127818
  export {
127847
127819
  commonDb_exports as $,
127848
- rgba$1 as A,
127849
- __export as B,
127850
- setupGraphViewbox2 as C,
127851
- cleanAndMerge as D,
127852
- defaultConfig_default as E,
127853
- getConfig as F,
127854
- random as G,
127855
- selectSvgElement as H,
127856
- package_default as I,
127820
+ defaultConfig2 as A,
127821
+ rgba$1 as B,
127822
+ __export as C,
127823
+ setupGraphViewbox2 as D,
127824
+ cleanAndMerge as E,
127825
+ defaultConfig_default as F,
127826
+ getConfig as G,
127827
+ random as H,
127828
+ selectSvgElement as I,
127857
127829
  JSON_SCHEMA as J,
127858
127830
  getThemeVariables3 as K,
127859
127831
  hasKatex as L,
@@ -127873,7 +127845,7 @@ export {
127873
127845
  ZERO_WIDTH_SPACE as Z,
127874
127846
  __name as _,
127875
127847
  getAccTitle as a,
127876
- isLabelStyle as a$,
127848
+ isIndex as a$,
127877
127849
  withPath as a0,
127878
127850
  halfPi as a1,
127879
127851
  epsilon as a2,
@@ -127884,33 +127856,33 @@ export {
127884
127856
  abs$1 as a7,
127885
127857
  pi as a8,
127886
127858
  sqrt as a9,
127887
- baseRest as aA,
127888
- isArrayLikeObject as aB,
127889
- constant as aC,
127890
- isFunction as aD,
127891
- isEmpty2 as aE,
127892
- computeDimensionOfText as aF,
127893
- array as aG,
127894
- getUserDefinedConfig as aH,
127895
- getDefaultExportFromCjs as aI,
127896
- getIconSVG as aJ,
127897
- registerIconPacks as aK,
127898
- unknownIcon as aL,
127899
- constant$2 as aM,
127900
- interpolateNumber as aN,
127901
- color as aO,
127902
- interpolateRgb as aP,
127903
- interpolateString as aQ,
127904
- isObject as aR,
127905
- isIterateeCall as aS,
127906
- keysIn as aT,
127907
- eq as aU,
127908
- isArrayLike as aV,
127909
- isArray as aW,
127910
- identity as aX,
127911
- isIndex as aY,
127912
- assignValue as aZ,
127913
- styles2String as a_,
127859
+ positionEdgeLabel as aA,
127860
+ insertEdgeLabel as aB,
127861
+ baseRest as aC,
127862
+ isArrayLikeObject as aD,
127863
+ constant as aE,
127864
+ isFunction as aF,
127865
+ isEmpty2 as aG,
127866
+ computeDimensionOfText as aH,
127867
+ adjustChannel as aI,
127868
+ array as aJ,
127869
+ getUserDefinedConfig as aK,
127870
+ getDefaultExportFromCjs as aL,
127871
+ getIconSVG as aM,
127872
+ registerIconPacks as aN,
127873
+ unknownIcon as aO,
127874
+ constant$2 as aP,
127875
+ interpolateNumber as aQ,
127876
+ color as aR,
127877
+ interpolateRgb as aS,
127878
+ interpolateString as aT,
127879
+ isObject as aU,
127880
+ isIterateeCall as aV,
127881
+ keysIn as aW,
127882
+ eq as aX,
127883
+ isArrayLike as aY,
127884
+ isArray as aZ,
127885
+ identity as a_,
127914
127886
  atan2 as aa,
127915
127887
  constant$1 as ab,
127916
127888
  asin as ac,
@@ -127920,65 +127892,68 @@ export {
127920
127892
  insertNode as ag,
127921
127893
  positionNode as ah,
127922
127894
  getLineFunctionsWithOffset as ai,
127923
- evaluate as aj,
127895
+ getEffectiveHtmlLabels as aj,
127924
127896
  createText as ak,
127925
- getSubGraphTitleMargins as al,
127926
- replaceIconSubstring as am,
127927
- decodeEntities as an,
127928
- getStylesFromArray as ao,
127929
- Utils as ap,
127930
- Color$1 as aq,
127931
- markers_default as ar,
127932
- clear2 as as,
127933
- clear as at,
127934
- clear$1 as au,
127935
- updateNodeBounds as av,
127936
- setNodeElem as aw,
127937
- insertEdge as ax,
127938
- positionEdgeLabel as ay,
127939
- insertEdgeLabel as az,
127897
+ computeLabelTransform as al,
127898
+ getSubGraphTitleMargins as am,
127899
+ getStylesFromArray as an,
127900
+ decodeEntities as ao,
127901
+ configureLabelImages as ap,
127902
+ Utils as aq,
127903
+ Color$1 as ar,
127904
+ at as as,
127905
+ markers_default as at,
127906
+ clear2 as au,
127907
+ clear as av,
127908
+ clear$1 as aw,
127909
+ updateNodeBounds as ax,
127910
+ setNodeElem as ay,
127911
+ insertEdge as az,
127940
127912
  setAccTitle as b,
127941
- Rgb as b0,
127942
- rgbConvert as b1,
127943
- define as b2,
127944
- extend$1 as b3,
127945
- Color as b4,
127946
- nogamma as b5,
127947
- hue as b6,
127948
- dayjs2 as b7,
127949
- setToString as b8,
127950
- overRest as b9,
127951
- Set$1 as bA,
127952
- createAssigner as bB,
127953
- isPrototype as bC,
127954
- getAugmentedNamespace as bD,
127955
- __vitePreload as bE,
127956
- baseFor as ba,
127957
- baseAssignValue as bb,
127958
- baseUnary as bc,
127959
- merge as bd,
127960
- isObjectLike as be,
127961
- baseGetTag as bf,
127962
- Symbol$1 as bg,
127963
- arrayLikeKeys as bh,
127964
- baseKeys as bi,
127965
- memoize as bj,
127966
- isArguments as bk,
127967
- copyObject as bl,
127968
- getPrototype as bm,
127969
- cloneArrayBuffer as bn,
127970
- cloneTypedArray as bo,
127971
- getTag as bp,
127972
- nodeUtil as bq,
127973
- copyArray as br,
127974
- isBuffer as bs,
127975
- cloneBuffer as bt,
127976
- initCloneObject as bu,
127977
- Stack as bv,
127978
- MapCache as bw,
127979
- Uint8Array$1 as bx,
127980
- isTypedArray as by,
127981
- isLength as bz,
127913
+ assignValue as b0,
127914
+ styles2String as b1,
127915
+ isLabelStyle as b2,
127916
+ Rgb as b3,
127917
+ rgbConvert as b4,
127918
+ define as b5,
127919
+ extend$1 as b6,
127920
+ Color as b7,
127921
+ nogamma as b8,
127922
+ hue as b9,
127923
+ Uint8Array$1 as bA,
127924
+ isTypedArray as bB,
127925
+ isLength as bC,
127926
+ Set$1 as bD,
127927
+ createAssigner as bE,
127928
+ isPrototype as bF,
127929
+ getAugmentedNamespace as bG,
127930
+ __vitePreload as bH,
127931
+ dayjs2 as ba,
127932
+ setToString as bb,
127933
+ overRest as bc,
127934
+ baseFor as bd,
127935
+ baseAssignValue as be,
127936
+ baseUnary as bf,
127937
+ merge as bg,
127938
+ isObjectLike as bh,
127939
+ baseGetTag as bi,
127940
+ Symbol$1 as bj,
127941
+ arrayLikeKeys as bk,
127942
+ baseKeys as bl,
127943
+ memoize as bm,
127944
+ isArguments as bn,
127945
+ copyObject as bo,
127946
+ getPrototype as bp,
127947
+ cloneArrayBuffer as bq,
127948
+ cloneTypedArray as br,
127949
+ getTag as bs,
127950
+ nodeUtil as bt,
127951
+ copyArray as bu,
127952
+ isBuffer as bv,
127953
+ cloneBuffer as bw,
127954
+ initCloneObject as bx,
127955
+ Stack as by,
127956
+ MapCache as bz,
127982
127957
  getConfig2 as c,
127983
127958
  select as d,
127984
127959
  configureSvgSize as e,
@@ -128001,7 +127976,7 @@ export {
128001
127976
  isValidShape as v,
128002
127977
  wrapLabel as w,
128003
127978
  getEdgeId as x,
128004
- clear$2 as y,
128005
- defaultConfig2 as z
127979
+ purify as y,
127980
+ clear$2 as z
128006
127981
  };
128007
- //# sourceMappingURL=index-tinPEZoH.js.map
127982
+ //# sourceMappingURL=index--fy89xGh.js.map