@aiderdesk/aiderdesk 0.60.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/out/renderer/assets/__vite-browser-external-2447137e-DYxpcVy9.js +4 -0
  2. package/out/renderer/assets/{_baseUniq-Z8t1Ab1g.js → _baseUniq-BPF2Herp.js} +21 -197
  3. package/out/renderer/assets/{arc-CwESpVYE.js → arc-DfPLteHF.js} +1 -1
  4. package/out/renderer/assets/{architectureDiagram-2XIMDMQ5-C490EQr5.js → architectureDiagram-Q4EWVU46-Bw0u-sSH.js} +34 -20
  5. package/out/renderer/assets/{blockDiagram-WCTKOSBZ-DbHssxrQ.js → blockDiagram-DXYQGD6D-CkfB9if8.js} +21 -8
  6. package/out/renderer/assets/{c4Diagram-IC4MRINW-BxE3GUKu.js → c4Diagram-AHTNJAMY-DweK9Liz.js} +31 -35
  7. package/out/renderer/assets/{channel-C9hJq_Xr.js → channel-C5wwrRof.js} +1 -1
  8. package/out/renderer/assets/{chunk-4BX2VUAB-ChcKNpL6.js → chunk-4BX2VUAB-0KM14cFd.js} +1 -1
  9. package/out/renderer/assets/{chunk-WL4C6EOR-vhby2fZi.js → chunk-4TB4RGXK-CmVtCVL4.js} +121 -82
  10. package/out/renderer/assets/{chunk-55IACEB6-oLT9lXTt.js → chunk-55IACEB6-BzVYZvBM.js} +1 -1
  11. package/out/renderer/assets/{chunk-KX2RTZJC-D32tV7H-.js → chunk-EDXVE4YY-BryQl5Kv.js} +1 -1
  12. package/out/renderer/assets/{chunk-FMBD7UC4-B5k8rETe.js → chunk-FMBD7UC4-CRiLea_e.js} +1 -1
  13. package/out/renderer/assets/{chunk-NQ4KR5QH-Bmqo2FpL.js → chunk-OYMX7WX6-Cpi4N3NO.js} +32 -15
  14. package/out/renderer/assets/{chunk-QZHKN3VN-8BpGifjS.js → chunk-QZHKN3VN-BT8kABWC.js} +1 -1
  15. package/out/renderer/assets/{chunk-JSJVCQXG-DtjSx6Cj.js → chunk-YZCP3GAM-OLZV_Sef.js} +1 -1
  16. package/out/renderer/assets/{classDiagram-VBA2DB6C-BxRSSb9e.js → classDiagram-6PBFFD2Q-VdE6G90i.js} +6 -6
  17. package/out/renderer/assets/{classDiagram-v2-RAHNMMFH-BxRSSb9e.js → classDiagram-v2-HSJHXN6E-VdE6G90i.js} +6 -6
  18. package/out/renderer/assets/{clone-D9a-uIZa.js → clone-DwQZ86nS.js} +1 -1
  19. package/out/renderer/assets/{cose-bilkent-S5V4N54A-CUqqQ-6R.js → cose-bilkent-S5V4N54A-BEcAKM9H.js} +1 -1
  20. package/out/renderer/assets/{dagre-KLK3FWXG-ORIwMMhq.js → dagre-KV5264BT-BcFQYL1M.js} +6 -6
  21. package/out/renderer/assets/diagram-5BDNPKRD-GrUNdC1u.js +171 -0
  22. package/out/renderer/assets/{diagram-E7M64L7V-bS9HcoDQ.js → diagram-G4DWMVQ6-CG4S-ov5.js} +15 -13
  23. package/out/renderer/assets/{diagram-IFDJBPK2-BRlTIR0J.js → diagram-MMDJMWI5-9ogY3MRC.js} +5 -6
  24. package/out/renderer/assets/{diagram-P4PSJMXO-jsjGwH-p.js → diagram-TYMM5635-Ck7mI1bS.js} +5 -6
  25. package/out/renderer/assets/{erDiagram-INFDFZHY-DGlgjHOQ.js → erDiagram-SMLLAGMA-Dvf_c-7M.js} +81 -35
  26. package/out/renderer/assets/{flowDiagram-PKNHOUZH-CzLC87bM.js → flowDiagram-DWJPFMVM-CPDjOXYp.js} +27 -45
  27. package/out/renderer/assets/{ganttDiagram-A5KZAMGK-BbDv36wT.js → ganttDiagram-T4ZO3ILL-B4dJrK-3.js} +17 -8
  28. package/out/renderer/assets/{gitGraphDiagram-K3NZZRJ6-CBQnBjEi.js → gitGraphDiagram-UUTBAWPF-De2eCfMN.js} +244 -67
  29. package/out/renderer/assets/{graph-Dl5N6maZ.js → graph-BFn23kR_.js} +175 -3
  30. package/out/renderer/assets/{index-MDHavDF9.js → index-BL-57WPa.js} +15877 -20787
  31. package/out/renderer/assets/{index-CDCy_DhA.css → index-BkntVzTm.css} +114 -301
  32. package/out/renderer/assets/{infoDiagram-LFFYTUFH-GtEDBEmz.js → infoDiagram-42DDH7IO-BIt9B6mQ.js} +5 -6
  33. package/out/renderer/assets/{ishikawaDiagram-PHBUUO56-Uj90gr3I.js → ishikawaDiagram-UXIWVN3A-CXZs0KGV.js} +3 -3
  34. package/out/renderer/assets/{journeyDiagram-4ABVD52K-DekFuOwS.js → journeyDiagram-VCZTEJTY-B-EXuj5b.js} +14 -13
  35. package/out/renderer/assets/{kanban-definition-K7BYSVSG-Hfz2L6NS.js → kanban-definition-6JOO6SKY-ByvN0qaD.js} +5 -2
  36. package/out/renderer/assets/{layout-B9K2VT39.js → layout-BpybWUv6.js} +117 -4
  37. package/out/renderer/assets/min-DB8ixvoT.js +41 -0
  38. package/out/renderer/assets/{mindmap-definition-YRQLILUH-DDcS7_GH.js → mindmap-definition-QFDTVHPH-Do-I-At8.js} +69 -13
  39. package/out/renderer/assets/{pieDiagram-SKSYHLDU-DwjEcJ0Q.js → pieDiagram-DEJITSTG-Cnpf6Gt6.js} +20 -13
  40. package/out/renderer/assets/{quadrantDiagram-337W2JSQ-CpGqN7vo.js → quadrantDiagram-34T5L4WZ-VcOb1qLd.js} +1 -1
  41. package/out/renderer/assets/{requirementDiagram-Z7DCOOCP-qDRUf1ip.js → requirementDiagram-MS252O5E-VJs9Hpaw.js} +42 -11
  42. package/out/renderer/assets/{sankeyDiagram-WA2Y5GQK-DRKS8C1H.js → sankeyDiagram-XADWPNL6-BoXxgLvi.js} +1 -1
  43. package/out/renderer/assets/{sequenceDiagram-2WXFIKYE-DhVN2ug2.js → sequenceDiagram-FGHM5R23-b69hQjSp.js} +446 -220
  44. package/out/renderer/assets/{stateDiagram-RAJIS63D-BpP4eSqu.js → stateDiagram-FHFEXIEX-BK7E-REm.js} +10 -9
  45. package/out/renderer/assets/{stateDiagram-v2-FVOUBMTO-B_qQJqra.js → stateDiagram-v2-QKLJ7IA2-Cd2wfCQu.js} +4 -4
  46. package/out/renderer/assets/{timeline-definition-YZTLITO2-UoWXE_76.js → timeline-definition-GMOUNBTQ-Bl-MTfK5.js} +445 -71
  47. package/out/renderer/assets/{vennDiagram-LZ73GAT5-Dp1FZ609.js → vennDiagram-DHZGUBPP-DNmr1k2L.js} +1 -1
  48. package/out/renderer/assets/{treemap-KZPCXAKY-W2a2L6ff.js → wardley-RL74JXVD-DTbxPMj9.js} +1474 -977
  49. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-BWw08wtD.js +901 -0
  50. package/out/renderer/assets/{xychartDiagram-JWTSCODW-CTzYHTbD.js → xychartDiagram-5P7HB3ND-EEYPnLDT.js} +20 -4
  51. package/out/renderer/index.html +3 -3
  52. package/out/renderer/progress.html +212 -62
  53. package/out/resources/mcp-server/aider-desk-mcp-server.js +642 -402
  54. package/out/runner.js +976 -386
  55. package/package.json +2 -3
  56. package/out/renderer/assets/_basePickBy-BWoXHZ8Z.js +0 -161
  57. package/out/renderer/assets/apl-fqmucPXA.js +0 -140
  58. package/out/renderer/assets/asciiarmor-DucZyvP0.js +0 -56
  59. package/out/renderer/assets/asn1-BnOEsgAm.js +0 -144
  60. package/out/renderer/assets/asterisk-QAlztEwS.js +0 -345
  61. package/out/renderer/assets/brainfuck-DZVCuF_t.js +0 -53
  62. package/out/renderer/assets/clike-xqXYL6ge.js +0 -805
  63. package/out/renderer/assets/clojure-BhXMqnxz.js +0 -849
  64. package/out/renderer/assets/cmake-BGaNd9E7.js +0 -71
  65. package/out/renderer/assets/cobol-4yqQntpt.js +0 -120
  66. package/out/renderer/assets/coffeescript-D2dXvhEc.js +0 -308
  67. package/out/renderer/assets/commonlisp-CF_VNHQR.js +0 -130
  68. package/out/renderer/assets/crystal-DyuLTqLs.js +0 -398
  69. package/out/renderer/assets/css-c-jst79C.js +0 -1783
  70. package/out/renderer/assets/cypher-Dlu_3r4V.js +0 -121
  71. package/out/renderer/assets/d-UURgV0Ux.js +0 -179
  72. package/out/renderer/assets/diff-B_Bi2Crb.js +0 -25
  73. package/out/renderer/assets/dockerfile-Bvk733Ga.js +0 -201
  74. package/out/renderer/assets/dtd-Dy74G54E.js +0 -114
  75. package/out/renderer/assets/dylan-TSb-Nfix.js +0 -314
  76. package/out/renderer/assets/ebnf-4fKAGW3a.js +0 -140
  77. package/out/renderer/assets/ecl-B59qGGVg.js +0 -178
  78. package/out/renderer/assets/eiffel-Dze7nlu3.js +0 -134
  79. package/out/renderer/assets/elm-DG7jkhNZ.js +0 -176
  80. package/out/renderer/assets/erlang-BO6gOnGA.js +0 -674
  81. package/out/renderer/assets/factor-CMxFHDqz.js +0 -65
  82. package/out/renderer/assets/fcl-CDDUNjTj.js +0 -141
  83. package/out/renderer/assets/forth-B9D2JCeE.js +0 -116
  84. package/out/renderer/assets/fortran-CAG2BFbe.js +0 -467
  85. package/out/renderer/assets/gas-d3KEcW3x.js +0 -294
  86. package/out/renderer/assets/gherkin-DhZlEZiy.js +0 -115
  87. package/out/renderer/assets/groovy-CpwJiBl7.js +0 -223
  88. package/out/renderer/assets/haskell-ySd-OUo8.js +0 -459
  89. package/out/renderer/assets/haxe-7MlzfeYV.js +0 -514
  90. package/out/renderer/assets/http-BqypyemW.js +0 -79
  91. package/out/renderer/assets/idl-4HIGJlDI.js +0 -985
  92. package/out/renderer/assets/index-6qedlt0q.js +0 -689
  93. package/out/renderer/assets/index-86jDpUJn.js +0 -385
  94. package/out/renderer/assets/index-BRjO8ber.js +0 -332
  95. package/out/renderer/assets/index-BVgw7j0d.js +0 -312
  96. package/out/renderer/assets/index-BhkyI1q3.js +0 -642
  97. package/out/renderer/assets/index-BqrmLPkg.js +0 -82
  98. package/out/renderer/assets/index-BuPbw4xM.js +0 -178
  99. package/out/renderer/assets/index-CTO-LPBg.js +0 -311
  100. package/out/renderer/assets/index-CTO4SzlI.js +0 -97
  101. package/out/renderer/assets/index-CZ9IQK_0.js +0 -2488
  102. package/out/renderer/assets/index-CZxsVxBZ.js +0 -1765
  103. package/out/renderer/assets/index-DIXV-3Xn.js +0 -406
  104. package/out/renderer/assets/index-DNzOtZX5.js +0 -61
  105. package/out/renderer/assets/index-DZtJe7oC.js +0 -1019
  106. package/out/renderer/assets/index-DaWjZz_g.js +0 -291
  107. package/out/renderer/assets/index-De056HHR.js +0 -151
  108. package/out/renderer/assets/index-Dk3wSDSN.js +0 -117
  109. package/out/renderer/assets/index-Dy4VRsnA.js +0 -1041
  110. package/out/renderer/assets/index-FnnayPBc.js +0 -82
  111. package/out/renderer/assets/index-MZb_zy6R.js +0 -704
  112. package/out/renderer/assets/index-chzQl8rJ.js +0 -157
  113. package/out/renderer/assets/index-s-Owx3Pm.js +0 -327
  114. package/out/renderer/assets/javascript-C_OHM9hj.js +0 -994
  115. package/out/renderer/assets/julia-Bs6JJhYG.js +0 -407
  116. package/out/renderer/assets/livescript-DmzgM3Yt.js +0 -296
  117. package/out/renderer/assets/lua-8cJgIlqe.js +0 -256
  118. package/out/renderer/assets/mathematica-DNLOL9PQ.js +0 -110
  119. package/out/renderer/assets/mbox-Ga7d4MMN.js +0 -117
  120. package/out/renderer/assets/mirc-Dma3B8rS.js +0 -107
  121. package/out/renderer/assets/mllike-DHn7xckP.js +0 -334
  122. package/out/renderer/assets/modelica-0d55jYY0.js +0 -147
  123. package/out/renderer/assets/mscgen-DdqZYINH.js +0 -135
  124. package/out/renderer/assets/mumps-Btr8VblO.js +0 -93
  125. package/out/renderer/assets/nginx-DTDtBDVN.js +0 -141
  126. package/out/renderer/assets/nsis-3zG7tgur.js +0 -62
  127. package/out/renderer/assets/ntriples-CvgOYMpL.js +0 -153
  128. package/out/renderer/assets/octave-DYBj3-tl.js +0 -200
  129. package/out/renderer/assets/oz-R_e8WMIi.js +0 -231
  130. package/out/renderer/assets/pascal-GD8iposT.js +0 -105
  131. package/out/renderer/assets/perl-DL9mHpoi.js +0 -1105
  132. package/out/renderer/assets/pig-C_4T4YIV.js +0 -101
  133. package/out/renderer/assets/powershell-B0suO7Vd.js +0 -328
  134. package/out/renderer/assets/properties-BR-vP1aU.js +0 -58
  135. package/out/renderer/assets/protobuf-BxgpyhoW.js +0 -77
  136. package/out/renderer/assets/pug-CTXt1f8z.js +0 -405
  137. package/out/renderer/assets/puppet-Bdao66PW.js +0 -137
  138. package/out/renderer/assets/python-CvWbmiX4.js +0 -427
  139. package/out/renderer/assets/q-CrbCVq4a.js +0 -131
  140. package/out/renderer/assets/r-V7nswm59.js +0 -170
  141. package/out/renderer/assets/rpm-C-DLY-If.js +0 -109
  142. package/out/renderer/assets/ruby-JDKLJNK0.js +0 -330
  143. package/out/renderer/assets/sas-D2UG-yhZ.js +0 -207
  144. package/out/renderer/assets/scheme-BKzrkGJD.js +0 -222
  145. package/out/renderer/assets/shell-BlsXDxCn.js +0 -222
  146. package/out/renderer/assets/sieve-CjwBwOY5.js +0 -135
  147. package/out/renderer/assets/simple-mode-DMneyfDu.js +0 -130
  148. package/out/renderer/assets/smalltalk-BOIGQuhN.js +0 -121
  149. package/out/renderer/assets/solr-CwD7U71z.js +0 -69
  150. package/out/renderer/assets/sparql-DYskk2vE.js +0 -249
  151. package/out/renderer/assets/spreadsheet-Bgtt3oLP.js +0 -87
  152. package/out/renderer/assets/sql-BSrOzCRI.js +0 -354
  153. package/out/renderer/assets/stex-B6LNC55o.js +0 -231
  154. package/out/renderer/assets/stylus-BkS-boTH.js +0 -565
  155. package/out/renderer/assets/swift-FRZi1uvB.js +0 -291
  156. package/out/renderer/assets/tcl-CUcaCdmq.js +0 -114
  157. package/out/renderer/assets/textile-BnFpjsrl.js +0 -414
  158. package/out/renderer/assets/tiddlywiki-CjprD-Qp.js +0 -218
  159. package/out/renderer/assets/tiki-DK9DOeWn.js +0 -268
  160. package/out/renderer/assets/toml-BOuWGMcf.js +0 -76
  161. package/out/renderer/assets/troff-E1bJ0PPL.js +0 -61
  162. package/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +0 -133
  163. package/out/renderer/assets/ttcn-tKd4HLu4.js +0 -192
  164. package/out/renderer/assets/turtle-Dq7-1WAf.js +0 -124
  165. package/out/renderer/assets/vb-Dp90gtsv.js +0 -196
  166. package/out/renderer/assets/vbscript-CI6_mxxU.js +0 -479
  167. package/out/renderer/assets/velocity-BwIZK1TH.js +0 -149
  168. package/out/renderer/assets/verilog-DDCYnHN8.js +0 -430
  169. package/out/renderer/assets/vhdl-DCkMIyT9.js +0 -158
  170. package/out/renderer/assets/webidl-BTLTThCm.js +0 -204
  171. package/out/renderer/assets/xquery-BrBUuxMR.js +0 -525
  172. package/out/renderer/assets/yacas-b5lAVEIl.js +0 -130
  173. package/out/renderer/assets/z80-BZV19vqv.js +0 -93
  174. package/scripts/download-uv.mjs +0 -147
  175. /package/patches/{ai+5.0.161.patch → ai+5.0.167.patch} +0 -0
@@ -1,6 +1,6 @@
1
- import { _ as __name, n as setConfig2, c as getConfig2, d as select, l as log, j as distExports, e as configureSvgSize, f as assignWithDepth_default, k as common_default, b as setAccTitle, s as setAccDescription, p as setDiagramTitle, a as getAccTitle, g as getAccDescription, q as getDiagramTitle, t as load, J as JSON_SCHEMA, z as clear, i as sanitizeText, u as utils_default, P as hasKatex, Q as calculateMathMLDimensions, R as parseFontSize, Z as ZERO_WIDTH_SPACE, S as getUrl, T as renderKatexSanitized, G as getConfig } from "./index-MDHavDF9.js";
2
- import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, e as drawEmbeddedImage, f as drawImage } from "./chunk-JSJVCQXG-DtjSx6Cj.js";
3
- import { I as ImperativeState } from "./chunk-QZHKN3VN-8BpGifjS.js";
1
+ import { _ as __name, n as setConfig2, c as getConfig2, d as select, l as log, j as distExports, e as configureSvgSize, f as assignWithDepth_default, k as common_default, b as setAccTitle, s as setAccDescription, p as setDiagramTitle, a as getAccTitle, g as getAccDescription, q as getDiagramTitle, t as load, J as JSON_SCHEMA, z as clear, i as sanitizeText, u as utils_default, P as hasKatex, Q as calculateMathMLDimensions, R as parseFontSize, Z as ZERO_WIDTH_SPACE, D as getConfig, S as getUrl, T as renderKatexSanitized } from "./index-BL-57WPa.js";
2
+ import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, e as drawEmbeddedImage, f as drawImage } from "./chunk-YZCP3GAM-OLZV_Sef.js";
3
+ import { I as ImperativeState } from "./chunk-QZHKN3VN-BT8kABWC.js";
4
4
  var parser = (function() {
5
5
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
6
6
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -821,195 +821,199 @@ var parser = (function() {
821
821
  this.popState();
822
822
  return 10;
823
823
  case 15:
824
+ yy_.yytext = yy_.yytext.trim();
825
+ this.popState();
826
+ return 10;
827
+ case 16:
824
828
  this.begin("LINE");
825
829
  return 15;
826
- case 16:
830
+ case 17:
827
831
  this.begin("ID");
828
832
  return 51;
829
- case 17:
833
+ case 18:
830
834
  this.begin("ID");
831
835
  return 53;
832
- case 18:
833
- return 14;
834
836
  case 19:
837
+ return 14;
838
+ case 20:
835
839
  this.begin("ID");
836
840
  return 54;
837
- case 20:
841
+ case 21:
838
842
  this.popState();
839
843
  this.popState();
840
844
  this.begin("LINE");
841
845
  return 52;
842
- case 21:
846
+ case 22:
843
847
  this.popState();
844
848
  this.popState();
845
849
  return 5;
846
- case 22:
850
+ case 23:
847
851
  this.begin("LINE");
848
852
  return 37;
849
- case 23:
853
+ case 24:
850
854
  this.begin("LINE");
851
855
  return 38;
852
- case 24:
856
+ case 25:
853
857
  this.begin("LINE");
854
858
  return 39;
855
- case 25:
859
+ case 26:
856
860
  this.begin("LINE");
857
861
  return 40;
858
- case 26:
862
+ case 27:
859
863
  this.begin("LINE");
860
864
  return 50;
861
- case 27:
865
+ case 28:
862
866
  this.begin("LINE");
863
867
  return 42;
864
- case 28:
868
+ case 29:
865
869
  this.begin("LINE");
866
870
  return 44;
867
- case 29:
871
+ case 30:
868
872
  this.begin("LINE");
869
873
  return 49;
870
- case 30:
874
+ case 31:
871
875
  this.begin("LINE");
872
876
  return 45;
873
- case 31:
877
+ case 32:
874
878
  this.begin("LINE");
875
879
  return 48;
876
- case 32:
880
+ case 33:
877
881
  this.begin("LINE");
878
882
  return 47;
879
- case 33:
883
+ case 34:
880
884
  this.popState();
881
885
  return 16;
882
- case 34:
883
- return 17;
884
886
  case 35:
885
- return 67;
887
+ return 17;
886
888
  case 36:
887
- return 68;
889
+ return 67;
888
890
  case 37:
889
- return 61;
891
+ return 68;
890
892
  case 38:
891
- return 62;
893
+ return 61;
892
894
  case 39:
893
- return 63;
895
+ return 62;
894
896
  case 40:
895
- return 64;
897
+ return 63;
896
898
  case 41:
897
- return 59;
899
+ return 64;
898
900
  case 42:
899
- return 56;
901
+ return 59;
900
902
  case 43:
903
+ return 56;
904
+ case 44:
901
905
  this.begin("ID");
902
906
  return 22;
903
- case 44:
907
+ case 45:
904
908
  this.begin("ID");
905
909
  return 24;
906
- case 45:
907
- return 30;
908
910
  case 46:
909
- return 31;
911
+ return 30;
910
912
  case 47:
913
+ return 31;
914
+ case 48:
911
915
  this.begin("acc_title");
912
916
  return 32;
913
- case 48:
917
+ case 49:
914
918
  this.popState();
915
919
  return "acc_title_value";
916
- case 49:
920
+ case 50:
917
921
  this.begin("acc_descr");
918
922
  return 34;
919
- case 50:
923
+ case 51:
920
924
  this.popState();
921
925
  return "acc_descr_value";
922
- case 51:
926
+ case 52:
923
927
  this.begin("acc_descr_multiline");
924
928
  break;
925
- case 52:
929
+ case 53:
926
930
  this.popState();
927
931
  break;
928
- case 53:
929
- return "acc_descr_multiline_value";
930
932
  case 54:
931
- return 6;
933
+ return "acc_descr_multiline_value";
932
934
  case 55:
933
- return 19;
935
+ return 6;
934
936
  case 56:
935
- return 21;
937
+ return 19;
936
938
  case 57:
937
- return 66;
939
+ return 21;
938
940
  case 58:
939
- return 5;
941
+ return 66;
940
942
  case 59:
943
+ return 5;
944
+ case 60:
941
945
  yy_.yytext = yy_.yytext.trim();
942
946
  return 73;
943
- case 60:
944
- return 80;
945
947
  case 61:
946
- return 97;
948
+ return 80;
947
949
  case 62:
948
- return 98;
950
+ return 97;
949
951
  case 63:
950
- return 99;
952
+ return 98;
951
953
  case 64:
952
- return 78;
954
+ return 99;
953
955
  case 65:
954
- return 79;
956
+ return 78;
955
957
  case 66:
956
- return 100;
958
+ return 79;
957
959
  case 67:
958
- return 101;
960
+ return 100;
959
961
  case 68:
960
- return 102;
962
+ return 101;
961
963
  case 69:
962
- return 103;
964
+ return 102;
963
965
  case 70:
964
- return 85;
966
+ return 103;
965
967
  case 71:
966
- return 86;
968
+ return 85;
967
969
  case 72:
968
- return 87;
970
+ return 86;
969
971
  case 73:
970
- return 88;
972
+ return 87;
971
973
  case 74:
972
- return 93;
974
+ return 88;
973
975
  case 75:
974
- return 94;
976
+ return 93;
975
977
  case 76:
976
- return 95;
978
+ return 94;
977
979
  case 77:
978
- return 96;
980
+ return 95;
979
981
  case 78:
980
- return 81;
982
+ return 96;
981
983
  case 79:
982
- return 82;
984
+ return 81;
983
985
  case 80:
984
- return 83;
986
+ return 82;
985
987
  case 81:
986
- return 84;
988
+ return 83;
987
989
  case 82:
988
- return 89;
990
+ return 84;
989
991
  case 83:
990
- return 90;
992
+ return 89;
991
993
  case 84:
992
- return 91;
994
+ return 90;
993
995
  case 85:
994
- return 92;
996
+ return 91;
995
997
  case 86:
996
- return 104;
998
+ return 92;
997
999
  case 87:
998
1000
  return 104;
999
1001
  case 88:
1000
- return 70;
1002
+ return 104;
1001
1003
  case 89:
1002
- return 71;
1004
+ return 70;
1003
1005
  case 90:
1004
- return 72;
1006
+ return 71;
1005
1007
  case 91:
1006
- return 5;
1008
+ return 72;
1007
1009
  case 92:
1010
+ return 5;
1011
+ case 93:
1008
1012
  return 10;
1009
1013
  }
1010
1014
  }, "anonymous"),
1011
- rules: [/^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[0-9]+(?=[ \n]+))/i, /^(?:@\{)/i, /^(?:[^\}]+)/i, /^(?:\}(?=\s+as\s))/i, /^(?:\})/i, /^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i, /^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i, /^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i, /^(?:[^<>:\n,;@]*<[^\n]*)/i, /^(?:box\b)/i, /^(?:participant\b)/i, /^(?:actor\b)/i, /^(?:create\b)/i, /^(?:destroy\b)/i, /^(?:as\b)/i, /^(?:(?:))/i, /^(?:loop\b)/i, /^(?:rect\b)/i, /^(?:opt\b)/i, /^(?:alt\b)/i, /^(?:else\b)/i, /^(?:par\b)/i, /^(?:par_over\b)/i, /^(?:and\b)/i, /^(?:critical\b)/i, /^(?:option\b)/i, /^(?:break\b)/i, /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, /^(?:end\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:links\b)/i, /^(?:link\b)/i, /^(?:properties\b)/i, /^(?:details\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:activate\b)/i, /^(?:deactivate\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:title:\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:sequenceDiagram\b)/i, /^(?:autonumber\b)/i, /^(?:off\b)/i, /^(?:,)/i, /^(?:;)/i, /^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i, /^(?:->>)/i, /^(?:<<->>)/i, /^(?:-->>)/i, /^(?:<<-->>)/i, /^(?:->)/i, /^(?:-->)/i, /^(?:-[x])/i, /^(?:--[x])/i, /^(?:-[\)])/i, /^(?:--[\)])/i, /^(?:--\|\\)/i, /^(?:--\|\/)/i, /^(?:--\\\\)/i, /^(?:--\/\/)/i, /^(?:\/\|--)/i, /^(?:\\\|--)/i, /^(?:\/\/--)/i, /^(?:\\\\--)/i, /^(?:-\|\\)/i, /^(?:-\|\/)/i, /^(?:-\\\\)/i, /^(?:-\/\/)/i, /^(?:\/\|-)/i, /^(?:\\\|-)/i, /^(?:\/\/-)/i, /^(?:\\\\-)/i, /^(?::(?:(?:no)?wrap)?[^#\n;]*)/i, /^(?::)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:\(\))/i, /^(?:$)/i, /^(?:.)/i],
1012
- conditions: { "acc_descr_multiline": { "rules": [52, 53], "inclusive": false }, "acc_descr": { "rules": [50], "inclusive": false }, "acc_title": { "rules": [48], "inclusive": false }, "ID": { "rules": [2, 3, 7, 11, 12, 13, 14], "inclusive": false }, "ALIAS": { "rules": [2, 3, 20, 21], "inclusive": false }, "LINE": { "rules": [2, 3, 33], "inclusive": false }, "CONFIG": { "rules": [8, 9, 10], "inclusive": false }, "CONFIG_DATA": { "rules": [], "inclusive": false }, "INITIAL": { "rules": [0, 1, 3, 4, 5, 6, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "inclusive": true } }
1015
+ rules: [/^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[0-9]+(?=[ \n]+))/i, /^(?:@\{)/i, /^(?:[^\}]+)/i, /^(?:\}(?=\s+as\s))/i, /^(?:\})/i, /^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i, /^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i, /^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i, /^(?:[^<>:\n,;@]*<[^\n]*)/i, /^(?:[^\n]+)/i, /^(?:box\b)/i, /^(?:participant\b)/i, /^(?:actor\b)/i, /^(?:create\b)/i, /^(?:destroy\b)/i, /^(?:as\b)/i, /^(?:(?:))/i, /^(?:loop\b)/i, /^(?:rect\b)/i, /^(?:opt\b)/i, /^(?:alt\b)/i, /^(?:else\b)/i, /^(?:par\b)/i, /^(?:par_over\b)/i, /^(?:and\b)/i, /^(?:critical\b)/i, /^(?:option\b)/i, /^(?:break\b)/i, /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, /^(?:end\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:links\b)/i, /^(?:link\b)/i, /^(?:properties\b)/i, /^(?:details\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:activate\b)/i, /^(?:deactivate\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:title:\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:sequenceDiagram\b)/i, /^(?:autonumber\b)/i, /^(?:off\b)/i, /^(?:,)/i, /^(?:;)/i, /^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i, /^(?:->>)/i, /^(?:<<->>)/i, /^(?:-->>)/i, /^(?:<<-->>)/i, /^(?:->)/i, /^(?:-->)/i, /^(?:-[x])/i, /^(?:--[x])/i, /^(?:-[\)])/i, /^(?:--[\)])/i, /^(?:--\|\\)/i, /^(?:--\|\/)/i, /^(?:--\\\\)/i, /^(?:--\/\/)/i, /^(?:\/\|--)/i, /^(?:\\\|--)/i, /^(?:\/\/--)/i, /^(?:\\\\--)/i, /^(?:-\|\\)/i, /^(?:-\|\/)/i, /^(?:-\\\\)/i, /^(?:-\/\/)/i, /^(?:\/\|-)/i, /^(?:\\\|-)/i, /^(?:\/\/-)/i, /^(?:\\\\-)/i, /^(?::(?:(?:no)?wrap)?[^#\n;]*)/i, /^(?::)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:\(\))/i, /^(?:$)/i, /^(?:.)/i],
1016
+ conditions: { "acc_descr_multiline": { "rules": [53, 54], "inclusive": false }, "acc_descr": { "rules": [51], "inclusive": false }, "acc_title": { "rules": [49], "inclusive": false }, "ID": { "rules": [2, 3, 7, 11, 12, 13, 14, 15], "inclusive": false }, "ALIAS": { "rules": [2, 3, 21, 22], "inclusive": false }, "LINE": { "rules": [2, 3, 34], "inclusive": false }, "CONFIG": { "rules": [8, 9, 10], "inclusive": false }, "CONFIG_DATA": { "rules": [], "inclusive": false }, "INITIAL": { "rules": [0, 1, 3, 4, 5, 6, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 52, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93], "inclusive": true } }
1013
1017
  };
1014
1018
  return lexer2;
1015
1019
  })();
@@ -1601,9 +1605,23 @@ var SequenceDB = class {
1601
1605
  return getConfig2().sequence;
1602
1606
  }
1603
1607
  };
1604
- var getStyles = /* @__PURE__ */ __name((options) => `.actor {
1608
+ var getStyles = /* @__PURE__ */ __name((options) => {
1609
+ const dropShadow = options.dropShadow ?? "none";
1610
+ const { look } = getConfig2();
1611
+ return `.actor {
1605
1612
  stroke: ${options.actorBorder};
1606
1613
  fill: ${options.actorBkg};
1614
+ stroke-width: ${options.strokeWidth ?? 1};
1615
+ }
1616
+
1617
+ rect.actor.outer-path[data-look="neo"] {
1618
+ filter: ${dropShadow};
1619
+ }
1620
+
1621
+ rect.note[data-look="neo"] {
1622
+ stroke:${options.noteBorderColor};
1623
+ fill:${options.noteBkgColor};
1624
+ filter: ${dropShadow};
1607
1625
  }
1608
1626
 
1609
1627
  text.actor > tspan {
@@ -1614,7 +1632,7 @@ var getStyles = /* @__PURE__ */ __name((options) => `.actor {
1614
1632
  .actor-line {
1615
1633
  stroke: ${options.actorLineColor};
1616
1634
  }
1617
-
1635
+
1618
1636
  .innerArc {
1619
1637
  stroke-width: 1.5;
1620
1638
  stroke-dasharray: none;
@@ -1632,7 +1650,7 @@ var getStyles = /* @__PURE__ */ __name((options) => `.actor {
1632
1650
  stroke: ${options.signalColor};
1633
1651
  }
1634
1652
 
1635
- #arrowhead path {
1653
+ [id$="-arrowhead"] path {
1636
1654
  fill: ${options.signalColor};
1637
1655
  stroke: ${options.signalColor};
1638
1656
  }
@@ -1641,11 +1659,11 @@ var getStyles = /* @__PURE__ */ __name((options) => `.actor {
1641
1659
  fill: ${options.sequenceNumberColor};
1642
1660
  }
1643
1661
 
1644
- #sequencenumber {
1662
+ [id$="-sequencenumber"] {
1645
1663
  fill: ${options.signalColor};
1646
1664
  }
1647
1665
 
1648
- #crosshead path {
1666
+ [id$="-crosshead"] path {
1649
1667
  fill: ${options.signalColor};
1650
1668
  stroke: ${options.signalColor};
1651
1669
  }
@@ -1658,6 +1676,7 @@ var getStyles = /* @__PURE__ */ __name((options) => `.actor {
1658
1676
  .labelBox {
1659
1677
  stroke: ${options.labelBoxBorderColor};
1660
1678
  fill: ${options.labelBoxBkgColor};
1679
+ filter: ${look === "neo" ? dropShadow : "none"};
1661
1680
  }
1662
1681
 
1663
1682
  .labelText, .labelText > tspan {
@@ -1686,6 +1705,7 @@ var getStyles = /* @__PURE__ */ __name((options) => `.actor {
1686
1705
  .noteText, .noteText > tspan {
1687
1706
  fill: ${options.noteTextColor};
1688
1707
  stroke: none;
1708
+ ${options.noteFontWeight ? `font-weight: ${options.noteFontWeight};` : ""}
1689
1709
  }
1690
1710
 
1691
1711
  .activation0 {
@@ -1713,25 +1733,30 @@ var getStyles = /* @__PURE__ */ __name((options) => `.actor {
1713
1733
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
1714
1734
  filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
1715
1735
  }
1716
- .actor-man line {
1717
- stroke: ${options.actorBorder};
1718
- fill: ${options.actorBkg};
1719
- }
1720
1736
  .actor-man circle, line {
1721
- stroke: ${options.actorBorder};
1722
1737
  fill: ${options.actorBkg};
1723
1738
  stroke-width: 2px;
1724
1739
  }
1725
1740
 
1726
- `, "getStyles");
1741
+ g rect.rect {
1742
+ filter: ${dropShadow};
1743
+ stroke: ${options.nodeBorder};
1744
+ }
1745
+ `;
1746
+ }, "getStyles");
1727
1747
  var styles_default = getStyles;
1728
1748
  var ACTOR_TYPE_WIDTH = 18 * 2;
1729
1749
  var TOP_ACTOR_CLASS = "actor-top";
1730
1750
  var BOTTOM_ACTOR_CLASS = "actor-bottom";
1731
1751
  var ACTOR_BOX_CLASS = "actor-box";
1732
1752
  var ACTOR_MAN_FIGURE_CLASS = "actor-man";
1753
+ var COLOR_THEMES = /* @__PURE__ */ new Set(["redux-color", "redux-dark-color"]);
1733
1754
  var drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {
1734
- return drawRect(elem, rectData);
1755
+ const rectElement = drawRect(elem, rectData);
1756
+ if (getConfig().look === "neo") {
1757
+ rectElement.attr("data-look", "neo");
1758
+ }
1759
+ return rectElement;
1735
1760
  }, "drawRect");
1736
1761
  var drawPopup = /* @__PURE__ */ __name(function(elem, actor, minMenuWidth, textAttrs, forceMenus) {
1737
1762
  if (actor.links === void 0 || actor.links === null || Object.keys(actor.links).length === 0) {
@@ -1943,10 +1968,12 @@ var fixLifeLineHeights = /* @__PURE__ */ __name((diagram2, actors, actorKeys, co
1943
1968
  }
1944
1969
  });
1945
1970
  }, "fixLifeLineHeights");
1946
- var drawActorTypeParticipant = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
1971
+ var drawActorTypeParticipant = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, actorIndexMap) {
1947
1972
  const actorY = isFooter ? actor.stopy : actor.starty;
1948
1973
  const center = actor.x + actor.width / 2;
1949
1974
  const centerY = actorY + actor.height;
1975
+ const { look, theme, themeVariables } = conf2;
1976
+ const { bkgColorArray, borderColorArray } = themeVariables;
1950
1977
  const boxplusLineGroup = elem.append("g").lower();
1951
1978
  var g = boxplusLineGroup;
1952
1979
  if (!isFooter) {
@@ -1954,12 +1981,15 @@ var drawActorTypeParticipant = /* @__PURE__ */ __name(function(elem, actor, conf
1954
1981
  if (Object.keys(actor.links || {}).length && !conf2.forceMenus) {
1955
1982
  g.attr("onclick", popupMenuToggle(`actor${actorCnt}_popup`)).attr("cursor", "pointer");
1956
1983
  }
1957
- g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
1984
+ g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
1958
1985
  g = boxplusLineGroup.append("g");
1959
1986
  actor.actorCnt = actorCnt;
1960
1987
  if (actor.links != null) {
1961
1988
  g.attr("id", "root-" + actorCnt);
1962
1989
  }
1990
+ if (look === "neo") {
1991
+ g.attr("data-look", "neo");
1992
+ }
1963
1993
  }
1964
1994
  const rect = getNoteRect();
1965
1995
  var cssclass = "actor";
@@ -1981,7 +2011,19 @@ var drawActorTypeParticipant = /* @__PURE__ */ __name(function(elem, actor, conf
1981
2011
  rect.rx = 3;
1982
2012
  rect.ry = 3;
1983
2013
  rect.name = actor.name;
2014
+ if (look === "neo") {
2015
+ rect.rx = 6;
2016
+ rect.ry = 6;
2017
+ }
1984
2018
  const rectElem = drawRect2(g, rect);
2019
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2020
+ if (COLOR_THEMES.has(theme)) {
2021
+ rectElem.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2022
+ rectElem.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2023
+ }
2024
+ if (look === "neo") {
2025
+ rectElem.attr("filter", "url(#drop-shadow)");
2026
+ }
1985
2027
  actor.rectData = rect;
1986
2028
  if (actor.properties?.icon) {
1987
2029
  const iconSrc = actor.properties.icon.trim();
@@ -1991,6 +2033,11 @@ var drawActorTypeParticipant = /* @__PURE__ */ __name(function(elem, actor, conf
1991
2033
  drawImage(g, rect.x + rect.width - 20, rect.y + 10, iconSrc);
1992
2034
  }
1993
2035
  }
2036
+ if (!isFooter) {
2037
+ g.attr("data-et", "participant");
2038
+ g.attr("data-type", "participant");
2039
+ g.attr("data-id", actor.name);
2040
+ }
1994
2041
  _drawTextCandidateFunc(conf2, hasKatex(actor.description))(
1995
2042
  actor.description,
1996
2043
  g,
@@ -2009,10 +2056,12 @@ var drawActorTypeParticipant = /* @__PURE__ */ __name(function(elem, actor, conf
2009
2056
  }
2010
2057
  return height;
2011
2058
  }, "drawActorTypeParticipant");
2012
- var drawActorTypeCollections = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
2059
+ var drawActorTypeCollections = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, actorIndexMap) {
2013
2060
  const actorY = isFooter ? actor.stopy : actor.starty;
2014
2061
  const center = actor.x + actor.width / 2;
2015
2062
  const centerY = actorY + actor.height;
2063
+ const { look, theme, themeVariables } = conf2;
2064
+ const { bkgColorArray, borderColorArray } = themeVariables;
2016
2065
  const boxplusLineGroup = elem.append("g").lower();
2017
2066
  var g = boxplusLineGroup;
2018
2067
  if (!isFooter) {
@@ -2020,12 +2069,15 @@ var drawActorTypeCollections = /* @__PURE__ */ __name(function(elem, actor, conf
2020
2069
  if (Object.keys(actor.links || {}).length && !conf2.forceMenus) {
2021
2070
  g.attr("onclick", popupMenuToggle(`actor${actorCnt}_popup`)).attr("cursor", "pointer");
2022
2071
  }
2023
- g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
2072
+ g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
2024
2073
  g = boxplusLineGroup.append("g");
2025
2074
  actor.actorCnt = actorCnt;
2026
2075
  if (actor.links != null) {
2027
2076
  g.attr("id", "root-" + actorCnt);
2028
2077
  }
2078
+ if (look === "neo") {
2079
+ g.attr("data-look", "neo");
2080
+ }
2029
2081
  }
2030
2082
  const rect = getNoteRect();
2031
2083
  var cssclass = "actor";
@@ -2053,8 +2105,18 @@ var drawActorTypeCollections = /* @__PURE__ */ __name(function(elem, actor, conf
2053
2105
  class: "actor"
2054
2106
  };
2055
2107
  const rectElem = drawRect2(g, rect);
2056
- drawRect2(g, shadowRect);
2108
+ const stackedRect = drawRect2(g, shadowRect);
2057
2109
  actor.rectData = rect;
2110
+ if (look === "neo") {
2111
+ g.attr("filter", "url(#drop-shadow)");
2112
+ }
2113
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2114
+ if (COLOR_THEMES.has(theme)) {
2115
+ rectElem.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2116
+ rectElem.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2117
+ stackedRect.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2118
+ stackedRect.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2119
+ }
2058
2120
  if (actor.properties?.icon) {
2059
2121
  const iconSrc = actor.properties.icon.trim();
2060
2122
  if (iconSrc.charAt(0) === "@") {
@@ -2079,12 +2141,19 @@ var drawActorTypeCollections = /* @__PURE__ */ __name(function(elem, actor, conf
2079
2141
  actor.height = bounds2.height;
2080
2142
  height = bounds2.height;
2081
2143
  }
2144
+ if (!isFooter) {
2145
+ g.attr("data-et", "participant");
2146
+ g.attr("data-type", "collections");
2147
+ g.attr("data-id", actor.name);
2148
+ }
2082
2149
  return height;
2083
2150
  }, "drawActorTypeCollections");
2084
- var drawActorTypeQueue = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
2151
+ var drawActorTypeQueue = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, actorIndexMap) {
2085
2152
  const actorY = isFooter ? actor.stopy : actor.starty;
2086
2153
  const center = actor.x + actor.width / 2;
2087
2154
  const centerY = actorY + actor.height;
2155
+ const { look, theme, themeVariables } = conf2;
2156
+ const { bkgColorArray, borderColorArray } = themeVariables;
2088
2157
  const boxplusLineGroup = elem.append("g").lower();
2089
2158
  let g = boxplusLineGroup;
2090
2159
  if (!isFooter) {
@@ -2092,12 +2161,15 @@ var drawActorTypeQueue = /* @__PURE__ */ __name(function(elem, actor, conf2, isF
2092
2161
  if (Object.keys(actor.links || {}).length && !conf2.forceMenus) {
2093
2162
  g.attr("onclick", popupMenuToggle(`actor${actorCnt}_popup`)).attr("cursor", "pointer");
2094
2163
  }
2095
- g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
2164
+ g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
2096
2165
  g = boxplusLineGroup.append("g");
2097
2166
  actor.actorCnt = actorCnt;
2098
2167
  if (actor.links != null) {
2099
2168
  g.attr("id", "root-" + actorCnt);
2100
2169
  }
2170
+ if (look === "neo") {
2171
+ g.attr("data-look", "neo");
2172
+ }
2101
2173
  }
2102
2174
  const rect = getNoteRect();
2103
2175
  let cssclass = "actor";
@@ -2111,33 +2183,41 @@ var drawActorTypeQueue = /* @__PURE__ */ __name(function(elem, actor, conf2, isF
2111
2183
  } else {
2112
2184
  cssclass += ` ${TOP_ACTOR_CLASS}`;
2113
2185
  }
2186
+ g.attr("class", cssclass);
2114
2187
  rect.x = actor.x;
2115
2188
  rect.y = actorY;
2116
2189
  rect.width = actor.width;
2117
2190
  rect.height = actor.height;
2118
- rect.class = cssclass;
2119
2191
  rect.name = actor.name;
2120
2192
  const ry = rect.height / 2;
2121
2193
  const rx = ry / (2.5 + rect.height / 50);
2122
2194
  const cylinderGroup = g.append("g");
2123
2195
  const cylinderArc = g.append("g");
2124
- cylinderGroup.append("path").attr(
2125
- "d",
2126
- `M ${rect.x},${rect.y + ry}
2196
+ const cylinderPath = `M ${rect.x},${rect.y + ry}
2127
2197
  a ${rx},${ry} 0 0 0 0,${rect.height}
2128
2198
  h ${rect.width - 2 * rx}
2129
2199
  a ${rx},${ry} 0 0 0 0,-${rect.height}
2130
2200
  Z
2131
- `
2132
- ).attr("class", cssclass);
2201
+ `;
2202
+ cylinderGroup.append("path").attr("d", cylinderPath);
2133
2203
  cylinderArc.append("path").attr(
2134
2204
  "d",
2135
2205
  `M ${rect.x},${rect.y + ry}
2136
2206
  a ${rx},${ry} 0 0 0 0,${rect.height}`
2137
- ).attr("stroke", "#666").attr("stroke-width", "1px").attr("class", cssclass);
2207
+ );
2138
2208
  cylinderGroup.attr("transform", `translate(${rx}, ${-(rect.height / 2)})`);
2139
2209
  cylinderArc.attr("transform", `translate(${rect.width - rx}, ${-rect.height / 2})`);
2140
2210
  actor.rectData = rect;
2211
+ if (look === "neo") {
2212
+ cylinderGroup.attr("filter", "url(#drop-shadow)");
2213
+ }
2214
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2215
+ if (COLOR_THEMES.has(theme)) {
2216
+ cylinderGroup.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2217
+ cylinderGroup.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2218
+ cylinderArc.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2219
+ cylinderArc.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2220
+ }
2141
2221
  if (actor.properties?.icon) {
2142
2222
  const iconSrc = actor.properties.icon.trim();
2143
2223
  const iconX = rect.x + rect.width - 20;
@@ -2165,16 +2245,23 @@ var drawActorTypeQueue = /* @__PURE__ */ __name(function(elem, actor, conf2, isF
2165
2245
  actor.height = bounds2.height;
2166
2246
  height = bounds2.height;
2167
2247
  }
2248
+ if (!isFooter) {
2249
+ g.attr("data-et", "participant");
2250
+ g.attr("data-type", "queue");
2251
+ g.attr("data-id", actor.name);
2252
+ }
2168
2253
  return height;
2169
2254
  }, "drawActorTypeQueue");
2170
- var drawActorTypeControl = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
2255
+ var drawActorTypeControl = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, diagramId, actorIndexMap) {
2171
2256
  const actorY = isFooter ? actor.stopy : actor.starty;
2172
2257
  const center = actor.x + actor.width / 2;
2173
2258
  const centerY = actorY + 75;
2259
+ const { look, theme, themeVariables } = conf2;
2260
+ const { bkgColorArray, borderColorArray, actorBorder, actorBkg } = themeVariables;
2174
2261
  const line = elem.append("g").lower();
2175
2262
  if (!isFooter) {
2176
2263
  actorCnt++;
2177
- line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
2264
+ line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
2178
2265
  actor.actorCnt = actorCnt;
2179
2266
  }
2180
2267
  const actElem = elem.append("g");
@@ -2196,9 +2283,17 @@ var drawActorTypeControl = /* @__PURE__ */ __name(function(elem, actor, conf2, i
2196
2283
  const cx = actor.x + actor.width / 2;
2197
2284
  const cy = actorY + 32;
2198
2285
  const r = 22;
2199
- actElem.append("defs").append("marker").attr("id", "filled-head-control").attr("refX", 11).attr("refY", 5.8).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "172.5").append("path").attr("d", "M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z");
2200
- actElem.append("circle").attr("cx", cx).attr("cy", cy).attr("r", r).attr("fill", "#eaeaf7").attr("stroke", "#666").attr("stroke-width", 1.2);
2201
- actElem.append("line").attr("marker-end", "url(#filled-head-control)").attr("transform", `translate(${cx}, ${cy - r})`);
2286
+ actElem.append("defs").append("marker").attr("id", diagramId + "-filled-head-control").attr("refX", 11).attr("refY", 5.8).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "172.5").attr("stroke-width", 1.2).append("path").attr("d", "M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z");
2287
+ actElem.append("circle").attr("cx", cx).attr("cy", cy).attr("r", r).attr("filter", `${look === "neo" ? "url(#drop-shadow)" : ""}`);
2288
+ actElem.append("line").attr("marker-end", "url(#" + diagramId + "-filled-head-control)").attr("transform", `translate(${cx}, ${cy - r})`);
2289
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2290
+ if (COLOR_THEMES.has(theme)) {
2291
+ actElem.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2292
+ actElem.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2293
+ } else {
2294
+ actElem.style("stroke", actorBorder);
2295
+ actElem.style("fill", actorBkg);
2296
+ }
2202
2297
  const bounds2 = actElem.node().getBBox();
2203
2298
  actor.height = bounds2.height + 2 * (conf2?.sequence?.labelBoxHeight ?? 0);
2204
2299
  _drawTextCandidateFunc(conf2, hasKatex(actor.description))(
@@ -2211,12 +2306,19 @@ var drawActorTypeControl = /* @__PURE__ */ __name(function(elem, actor, conf2, i
2211
2306
  { class: `actor ${ACTOR_MAN_FIGURE_CLASS}` },
2212
2307
  conf2
2213
2308
  );
2309
+ if (!isFooter) {
2310
+ actElem.attr("data-et", "participant");
2311
+ actElem.attr("data-type", "control");
2312
+ actElem.attr("data-id", actor.name);
2313
+ }
2214
2314
  return actor.height;
2215
2315
  }, "drawActorTypeControl");
2216
- var drawActorTypeEntity = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
2316
+ var drawActorTypeEntity = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, actorIndexMap) {
2217
2317
  const actorY = isFooter ? actor.stopy : actor.starty;
2218
2318
  const center = actor.x + actor.width / 2;
2219
2319
  const centerY = actorY + 75;
2320
+ const { look, theme, themeVariables } = conf2;
2321
+ const { bkgColorArray, borderColorArray } = themeVariables;
2220
2322
  const line = elem.append("g").lower();
2221
2323
  const actElem = elem.append("g");
2222
2324
  let cssClass = "actor";
@@ -2239,11 +2341,19 @@ var drawActorTypeEntity = /* @__PURE__ */ __name(function(elem, actor, conf2, is
2239
2341
  const r = 22;
2240
2342
  actElem.append("circle").attr("cx", cx).attr("cy", cy).attr("r", r).attr("width", actor.width).attr("height", actor.height);
2241
2343
  actElem.append("line").attr("x1", cx - r).attr("x2", cx + r).attr("y1", cy + r).attr("y2", cy + r).attr("stroke-width", 2);
2344
+ if (look === "neo") {
2345
+ actElem.attr("filter", "url(#drop-shadow)");
2346
+ }
2347
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2348
+ if (COLOR_THEMES.has(theme)) {
2349
+ actElem.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2350
+ actElem.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2351
+ }
2242
2352
  const bounds2 = actElem.node().getBBox();
2243
2353
  actor.height = bounds2.height + (conf2?.sequence?.labelBoxHeight ?? 0);
2244
2354
  if (!isFooter) {
2245
2355
  actorCnt++;
2246
- line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
2356
+ line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
2247
2357
  actor.actorCnt = actorCnt;
2248
2358
  }
2249
2359
  _drawTextCandidateFunc(conf2, hasKatex(actor.description))(
@@ -2258,15 +2368,20 @@ var drawActorTypeEntity = /* @__PURE__ */ __name(function(elem, actor, conf2, is
2258
2368
  );
2259
2369
  if (!isFooter) {
2260
2370
  actElem.attr("transform", `translate(${0}, ${r / 2 - 5})`);
2371
+ actElem.attr("data-et", "participant");
2372
+ actElem.attr("data-type", "entity");
2373
+ actElem.attr("data-id", actor.name);
2261
2374
  } else {
2262
2375
  actElem.attr("transform", `translate(${0}, ${r})`);
2263
2376
  }
2264
2377
  return actor.height;
2265
2378
  }, "drawActorTypeEntity");
2266
- var drawActorTypeDatabase = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
2379
+ var drawActorTypeDatabase = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, actorIndexMap) {
2267
2380
  const actorY = isFooter ? actor.stopy : actor.starty;
2268
2381
  const center = actor.x + actor.width / 2;
2269
2382
  const centerY = actorY + actor.height + 2 * conf2.boxTextMargin;
2383
+ const { theme, themeVariables, look } = conf2;
2384
+ const { bkgColorArray, borderColorArray, actorBorder } = themeVariables;
2270
2385
  const boxplusLineGroup = elem.append("g").lower();
2271
2386
  let g = boxplusLineGroup;
2272
2387
  if (!isFooter) {
@@ -2274,12 +2389,15 @@ var drawActorTypeDatabase = /* @__PURE__ */ __name(function(elem, actor, conf2,
2274
2389
  if (Object.keys(actor.links || {}).length && !conf2.forceMenus) {
2275
2390
  g.attr("onclick", popupMenuToggle(`actor${actorCnt}_popup`)).attr("cursor", "pointer");
2276
2391
  }
2277
- g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
2392
+ g.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
2278
2393
  g = boxplusLineGroup.append("g");
2279
2394
  actor.actorCnt = actorCnt;
2280
2395
  if (actor.links != null) {
2281
2396
  g.attr("id", "root-" + actorCnt);
2282
2397
  }
2398
+ if (look === "neo") {
2399
+ g.attr("data-look", "neo");
2400
+ }
2283
2401
  }
2284
2402
  const rect = getNoteRect();
2285
2403
  let cssclass = "actor";
@@ -2306,6 +2424,7 @@ var drawActorTypeDatabase = /* @__PURE__ */ __name(function(elem, actor, conf2,
2306
2424
  const rx = w / 2;
2307
2425
  const ry = rx / (2.5 + w / 50);
2308
2426
  const cylinderGroup = g.append("g");
2427
+ cylinderGroup.attr("class", cssclass);
2309
2428
  const d = `
2310
2429
  M ${rect.x},${rect.y + ry}
2311
2430
  a ${rx},${ry} 0 0 0 ${w},0
@@ -2314,7 +2433,17 @@ var drawActorTypeDatabase = /* @__PURE__ */ __name(function(elem, actor, conf2,
2314
2433
  a ${rx},${ry} 0 0 0 ${w},0
2315
2434
  l 0,-${h - 2 * ry}
2316
2435
  `;
2317
- cylinderGroup.append("path").attr("d", d).attr("fill", "#eaeaea").attr("stroke", "#000").attr("stroke-width", 1).attr("class", cssclass);
2436
+ cylinderGroup.append("path").attr("d", d);
2437
+ if (look === "neo") {
2438
+ cylinderGroup.attr("filter", "url(#drop-shadow)");
2439
+ }
2440
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2441
+ if (COLOR_THEMES.has(theme)) {
2442
+ cylinderGroup.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2443
+ cylinderGroup.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2444
+ } else {
2445
+ cylinderGroup.style("stroke", actorBorder);
2446
+ }
2318
2447
  cylinderGroup.attr("transform", `translate(${w}, ${ry})`);
2319
2448
  actor.rectData = rect;
2320
2449
  _drawTextCandidateFunc(conf2, hasKatex(actor.description))(
@@ -2332,17 +2461,24 @@ var drawActorTypeDatabase = /* @__PURE__ */ __name(function(elem, actor, conf2,
2332
2461
  const bounds2 = lastPath.node().getBBox();
2333
2462
  actor.height = bounds2.height + (conf2.sequence.labelBoxHeight ?? 0);
2334
2463
  }
2464
+ if (!isFooter) {
2465
+ g.attr("data-et", "participant");
2466
+ g.attr("data-type", "database");
2467
+ g.attr("data-id", actor.name);
2468
+ }
2335
2469
  return actor.height;
2336
2470
  }, "drawActorTypeDatabase");
2337
- var drawActorTypeBoundary = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
2471
+ var drawActorTypeBoundary = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, actorIndexMap) {
2338
2472
  const actorY = isFooter ? actor.stopy : actor.starty;
2339
2473
  const center = actor.x + actor.width / 2;
2340
2474
  const centerY = actorY + 80;
2341
2475
  const radius = 22;
2342
2476
  const line = elem.append("g").lower();
2477
+ const { look, theme, themeVariables } = conf2;
2478
+ const { bkgColorArray, borderColorArray, actorBorder } = themeVariables;
2343
2479
  if (!isFooter) {
2344
2480
  actorCnt++;
2345
- line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
2481
+ line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
2346
2482
  actor.actorCnt = actorCnt;
2347
2483
  }
2348
2484
  const actElem = elem.append("g");
@@ -2364,6 +2500,16 @@ var drawActorTypeBoundary = /* @__PURE__ */ __name(function(elem, actor, conf2,
2364
2500
  actElem.append("line").attr("id", "actor-man-torso" + actorCnt).attr("x1", actor.x + actor.width / 2 - radius * 2.5).attr("y1", actorY + 12).attr("x2", actor.x + actor.width / 2 - 15).attr("y2", actorY + 12);
2365
2501
  actElem.append("line").attr("id", "actor-man-arms" + actorCnt).attr("x1", actor.x + actor.width / 2 - radius * 2.5).attr("y1", actorY + 2).attr("x2", actor.x + actor.width / 2 - radius * 2.5).attr("y2", actorY + 22);
2366
2502
  actElem.append("circle").attr("cx", actor.x + actor.width / 2).attr("cy", actorY + 12).attr("r", radius);
2503
+ if (look === "neo") {
2504
+ actElem.attr("filter", "url(#drop-shadow)");
2505
+ }
2506
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2507
+ if (COLOR_THEMES.has(theme)) {
2508
+ actElem.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2509
+ actElem.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2510
+ } else {
2511
+ actElem.style("stroke", actorBorder);
2512
+ }
2367
2513
  const bounds2 = actElem.node().getBBox();
2368
2514
  actor.height = bounds2.height + (conf2.sequence.labelBoxHeight ?? 0);
2369
2515
  _drawTextCandidateFunc(conf2, hasKatex(actor.description))(
@@ -2376,21 +2522,24 @@ var drawActorTypeBoundary = /* @__PURE__ */ __name(function(elem, actor, conf2,
2376
2522
  { class: `actor ${ACTOR_MAN_FIGURE_CLASS}` },
2377
2523
  conf2
2378
2524
  );
2525
+ actElem.attr("transform", `translate(0,${radius / 2 + 10})`);
2379
2526
  if (!isFooter) {
2380
- actElem.attr("transform", `translate(0,${radius / 2 + 10})`);
2381
- } else {
2382
- actElem.attr("transform", `translate(0,${radius / 2 + 10})`);
2527
+ actElem.attr("data-et", "participant");
2528
+ actElem.attr("data-type", "boundary");
2529
+ actElem.attr("data-id", actor.name);
2383
2530
  }
2384
2531
  return actor.height;
2385
2532
  }, "drawActorTypeBoundary");
2386
- var drawActorTypeActor = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {
2533
+ var drawActorTypeActor = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter, actorIndexMap) {
2387
2534
  const actorY = isFooter ? actor.stopy : actor.starty;
2388
2535
  const center = actor.x + actor.width / 2;
2389
2536
  const centerY = actorY + 80;
2537
+ const { look, theme, themeVariables } = conf2;
2538
+ const { bkgColorArray, borderColorArray, actorBorder } = themeVariables;
2390
2539
  const line = elem.append("g").lower();
2391
2540
  if (!isFooter) {
2392
2541
  actorCnt++;
2393
- line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name);
2542
+ line.append("line").attr("id", "actor" + actorCnt).attr("x1", center).attr("y1", centerY).attr("x2", center).attr("y2", 2e3).attr("class", "actor-line 200").attr("stroke-width", "0.5px").attr("stroke", "#999").attr("name", actor.name).attr("data-et", "life-line").attr("data-id", actor.name);
2394
2543
  actor.actorCnt = actorCnt;
2395
2544
  }
2396
2545
  const actElem = elem.append("g");
@@ -2402,32 +2551,44 @@ var drawActorTypeActor = /* @__PURE__ */ __name(function(elem, actor, conf2, isF
2402
2551
  }
2403
2552
  actElem.attr("class", cssClass);
2404
2553
  actElem.attr("name", actor.name);
2554
+ if (!isFooter) {
2555
+ actElem.attr("data-et", "participant").attr("data-type", "actor").attr("data-id", actor.name);
2556
+ }
2557
+ const scale = look === "neo" ? 0.5 : 1;
2558
+ const adjustedActorY = look === "neo" ? actorY + (1 - scale) * 30 : actorY;
2559
+ actElem.append("line").attr("id", "actor-man-torso" + actorCnt).attr("x1", center).attr("y1", adjustedActorY + 25 * scale).attr("x2", center).attr("y2", adjustedActorY + 45 * scale);
2560
+ actElem.append("line").attr("id", "actor-man-arms" + actorCnt).attr("x1", center - ACTOR_TYPE_WIDTH / 2 * scale).attr("y1", adjustedActorY + 33 * scale).attr("x2", center + ACTOR_TYPE_WIDTH / 2 * scale).attr("y2", adjustedActorY + 33 * scale);
2561
+ actElem.append("line").attr("x1", center - ACTOR_TYPE_WIDTH / 2 * scale).attr("y1", adjustedActorY + 60 * scale).attr("x2", center).attr("y2", adjustedActorY + 45 * scale);
2562
+ actElem.append("line").attr("x1", center).attr("y1", adjustedActorY + 45 * scale).attr("x2", center + (ACTOR_TYPE_WIDTH / 2 - 2) * scale).attr("y2", adjustedActorY + 60 * scale);
2563
+ const circle = actElem.append("circle");
2564
+ circle.attr("cx", actor.x + actor.width / 2);
2565
+ circle.attr("cy", adjustedActorY + 10 * scale);
2566
+ circle.attr("r", 15 * scale);
2567
+ circle.attr("width", actor.width * scale);
2568
+ circle.attr("height", actor.height * scale);
2569
+ const bounds2 = actElem.node().getBBox();
2570
+ actor.height = bounds2.height;
2405
2571
  const rect = getNoteRect();
2406
2572
  rect.x = actor.x;
2407
- rect.y = actorY;
2573
+ rect.y = adjustedActorY;
2408
2574
  rect.fill = "#eaeaea";
2409
2575
  rect.width = actor.width;
2410
- rect.height = actor.height;
2576
+ rect.height = actor.height / scale;
2411
2577
  rect.class = "actor";
2412
2578
  rect.rx = 3;
2413
2579
  rect.ry = 3;
2414
- actElem.append("line").attr("id", "actor-man-torso" + actorCnt).attr("x1", center).attr("y1", actorY + 25).attr("x2", center).attr("y2", actorY + 45);
2415
- actElem.append("line").attr("id", "actor-man-arms" + actorCnt).attr("x1", center - ACTOR_TYPE_WIDTH / 2).attr("y1", actorY + 33).attr("x2", center + ACTOR_TYPE_WIDTH / 2).attr("y2", actorY + 33);
2416
- actElem.append("line").attr("x1", center - ACTOR_TYPE_WIDTH / 2).attr("y1", actorY + 60).attr("x2", center).attr("y2", actorY + 45);
2417
- actElem.append("line").attr("x1", center).attr("y1", actorY + 45).attr("x2", center + ACTOR_TYPE_WIDTH / 2 - 2).attr("y2", actorY + 60);
2418
- const circle = actElem.append("circle");
2419
- circle.attr("cx", actor.x + actor.width / 2);
2420
- circle.attr("cy", actorY + 10);
2421
- circle.attr("r", 15);
2422
- circle.attr("width", actor.width);
2423
- circle.attr("height", actor.height);
2424
- const bounds2 = actElem.node().getBBox();
2425
- actor.height = bounds2.height;
2580
+ const actorCount = actorIndexMap.get(actor.name) ?? 0;
2581
+ if (COLOR_THEMES.has(theme)) {
2582
+ actElem.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2583
+ actElem.style("fill", bkgColorArray[actorCount % borderColorArray.length]);
2584
+ } else {
2585
+ actElem.style("stroke", actorBorder);
2586
+ }
2426
2587
  _drawTextCandidateFunc(conf2, hasKatex(actor.description))(
2427
2588
  actor.description,
2428
2589
  actElem,
2429
2590
  rect.x,
2430
- rect.y + 35,
2591
+ adjustedActorY + 35 * scale - (look === "neo" ? 10 : 0),
2431
2592
  rect.width,
2432
2593
  rect.height,
2433
2594
  { class: `actor ${ACTOR_MAN_FIGURE_CLASS}` },
@@ -2435,24 +2596,34 @@ var drawActorTypeActor = /* @__PURE__ */ __name(function(elem, actor, conf2, isF
2435
2596
  );
2436
2597
  return actor.height;
2437
2598
  }, "drawActorTypeActor");
2438
- var drawActor = /* @__PURE__ */ __name(async function(elem, actor, conf2, isFooter) {
2599
+ var drawActor = /* @__PURE__ */ __name(async function(elem, actor, conf2, isFooter, diagramId, diagObj, actorIndexMap) {
2600
+ const resolvedActorIndexMap = actorIndexMap ?? new Map(
2601
+ [...diagObj.db.getActors().values()].map((participant, index) => [participant.name, index])
2602
+ );
2439
2603
  switch (actor.type) {
2440
2604
  case "actor":
2441
- return await drawActorTypeActor(elem, actor, conf2, isFooter);
2605
+ return await drawActorTypeActor(elem, actor, conf2, isFooter, resolvedActorIndexMap);
2442
2606
  case "participant":
2443
- return await drawActorTypeParticipant(elem, actor, conf2, isFooter);
2607
+ return await drawActorTypeParticipant(elem, actor, conf2, isFooter, resolvedActorIndexMap);
2444
2608
  case "boundary":
2445
- return await drawActorTypeBoundary(elem, actor, conf2, isFooter);
2609
+ return await drawActorTypeBoundary(elem, actor, conf2, isFooter, resolvedActorIndexMap);
2446
2610
  case "control":
2447
- return await drawActorTypeControl(elem, actor, conf2, isFooter);
2611
+ return await drawActorTypeControl(
2612
+ elem,
2613
+ actor,
2614
+ conf2,
2615
+ isFooter,
2616
+ diagramId,
2617
+ resolvedActorIndexMap
2618
+ );
2448
2619
  case "entity":
2449
- return await drawActorTypeEntity(elem, actor, conf2, isFooter);
2620
+ return await drawActorTypeEntity(elem, actor, conf2, isFooter, resolvedActorIndexMap);
2450
2621
  case "database":
2451
- return await drawActorTypeDatabase(elem, actor, conf2, isFooter);
2622
+ return await drawActorTypeDatabase(elem, actor, conf2, isFooter, resolvedActorIndexMap);
2452
2623
  case "collections":
2453
- return await drawActorTypeCollections(elem, actor, conf2, isFooter);
2624
+ return await drawActorTypeCollections(elem, actor, conf2, isFooter, resolvedActorIndexMap);
2454
2625
  case "queue":
2455
- return await drawActorTypeQueue(elem, actor, conf2, isFooter);
2626
+ return await drawActorTypeQueue(elem, actor, conf2, isFooter, resolvedActorIndexMap);
2456
2627
  }
2457
2628
  }, "drawActor");
2458
2629
  var drawBox = /* @__PURE__ */ __name(function(elem, box, conf2) {
@@ -2476,17 +2647,28 @@ var drawBox = /* @__PURE__ */ __name(function(elem, box, conf2) {
2476
2647
  var anchorElement = /* @__PURE__ */ __name(function(elem) {
2477
2648
  return elem.append("g");
2478
2649
  }, "anchorElement");
2479
- var drawActivation = /* @__PURE__ */ __name(function(elem, bounds2, verticalPos, conf2, actorActivations2) {
2650
+ var drawActivation = /* @__PURE__ */ __name(function(_elem, bounds2, verticalPos, conf2, actorActivations2, diagObj, actorIndexMap) {
2651
+ const { theme, themeVariables } = conf2;
2652
+ const { bkgColorArray, borderColorArray, mainBkg } = themeVariables;
2480
2653
  const rect = getNoteRect();
2481
2654
  const g = bounds2.anchored;
2655
+ const actor = bounds2.actor;
2482
2656
  rect.x = bounds2.startx;
2483
2657
  rect.y = bounds2.starty;
2484
2658
  rect.class = "activation" + actorActivations2 % 3;
2485
2659
  rect.width = bounds2.stopx - bounds2.startx;
2486
2660
  rect.height = verticalPos - bounds2.starty;
2487
- drawRect2(g, rect);
2661
+ const rectElem = drawRect2(g, rect);
2662
+ const resolvedActorIndexMap = actorIndexMap ?? new Map(
2663
+ [...diagObj.db.getActors().values()].map((participant, index) => [participant.name, index])
2664
+ );
2665
+ const actorCount = resolvedActorIndexMap.get(actor) ?? 0;
2666
+ if (COLOR_THEMES.has(theme)) {
2667
+ rectElem.style("stroke", borderColorArray[actorCount % borderColorArray.length]);
2668
+ rectElem.style("fill", bkgColorArray[actorCount % borderColorArray.length] ?? mainBkg);
2669
+ }
2488
2670
  }, "drawActivation");
2489
- var drawLoop = /* @__PURE__ */ __name(async function(elem, loopModel, labelText, conf2) {
2671
+ var drawLoop = /* @__PURE__ */ __name(async function(elem, loopModel, labelText, conf2, msg) {
2490
2672
  const {
2491
2673
  boxMargin,
2492
2674
  boxTextMargin,
@@ -2496,7 +2678,7 @@ var drawLoop = /* @__PURE__ */ __name(async function(elem, loopModel, labelText,
2496
2678
  messageFontSize: fontSize,
2497
2679
  messageFontWeight: fontWeight
2498
2680
  } = conf2;
2499
- const g = elem.append("g");
2681
+ const g = elem.append("g").attr("data-et", "control-structure").attr("data-id", "i" + msg.id);
2500
2682
  const drawLoopLine = /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {
2501
2683
  return g.append("line").attr("x1", startx).attr("y1", starty).attr("x2", stopx).attr("y2", stopy).attr("class", "loopLine");
2502
2684
  }, "drawLoopLine");
@@ -2522,8 +2704,8 @@ var drawLoop = /* @__PURE__ */ __name(async function(elem, loopModel, labelText,
2522
2704
  txt.anchor = "middle";
2523
2705
  txt.valign = "middle";
2524
2706
  txt.tspan = false;
2525
- txt.width = labelBoxWidth || 50;
2526
- txt.height = labelBoxHeight || 20;
2707
+ txt.width = Math.max(labelBoxWidth ?? 0, 50);
2708
+ txt.height = labelBoxHeight + (conf2.look === "neo" ? 15 : 0) || 20;
2527
2709
  txt.textMargin = boxTextMargin;
2528
2710
  txt.class = "labelText";
2529
2711
  drawLabel(g, txt);
@@ -2573,38 +2755,42 @@ var drawLoop = /* @__PURE__ */ __name(async function(elem, loopModel, labelText,
2573
2755
  var drawBackgroundRect2 = /* @__PURE__ */ __name(function(elem, bounds2) {
2574
2756
  drawBackgroundRect(elem, bounds2);
2575
2757
  }, "drawBackgroundRect");
2576
- var insertDatabaseIcon = /* @__PURE__ */ __name(function(elem) {
2577
- elem.append("defs").append("symbol").attr("id", "database").attr("fill-rule", "evenodd").attr("clip-rule", "evenodd").append("path").attr("transform", "scale(.5)").attr(
2758
+ var insertDatabaseIcon = /* @__PURE__ */ __name(function(elem, id) {
2759
+ elem.append("defs").append("symbol").attr("id", id + "-database").attr("fill-rule", "evenodd").attr("clip-rule", "evenodd").append("path").attr("transform", "scale(.5)").attr(
2578
2760
  "d",
2579
2761
  "M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z"
2580
2762
  );
2581
2763
  }, "insertDatabaseIcon");
2582
- var insertComputerIcon = /* @__PURE__ */ __name(function(elem) {
2583
- elem.append("defs").append("symbol").attr("id", "computer").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr(
2764
+ var insertComputerIcon = /* @__PURE__ */ __name(function(elem, id) {
2765
+ elem.append("defs").append("symbol").attr("id", id + "-computer").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr(
2584
2766
  "d",
2585
2767
  "M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z"
2586
2768
  );
2587
2769
  }, "insertComputerIcon");
2588
- var insertClockIcon = /* @__PURE__ */ __name(function(elem) {
2589
- elem.append("defs").append("symbol").attr("id", "clock").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr(
2770
+ var insertClockIcon = /* @__PURE__ */ __name(function(elem, id) {
2771
+ elem.append("defs").append("symbol").attr("id", id + "-clock").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr(
2590
2772
  "d",
2591
2773
  "M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z"
2592
2774
  );
2593
2775
  }, "insertClockIcon");
2594
- var insertArrowHead = /* @__PURE__ */ __name(function(elem) {
2595
- elem.append("defs").append("marker").attr("id", "arrowhead").attr("refX", 7.9).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M -1 0 L 10 5 L 0 10 z");
2776
+ var insertArrowHead = /* @__PURE__ */ __name(function(elem, id) {
2777
+ elem.append("defs").append("marker").attr("id", id + "-arrowhead").attr("refX", 7.9).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M -1 0 L 10 5 L 0 10 z");
2596
2778
  }, "insertArrowHead");
2597
- var insertArrowFilledHead = /* @__PURE__ */ __name(function(elem) {
2598
- elem.append("defs").append("marker").attr("id", "filled-head").attr("refX", 15.5).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");
2779
+ var insertArrowFilledHead = /* @__PURE__ */ __name(function(elem, id) {
2780
+ elem.append("defs").append("marker").attr("id", id + "-filled-head").attr("refX", 15.5).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");
2599
2781
  }, "insertArrowFilledHead");
2600
- var insertSequenceNumber = /* @__PURE__ */ __name(function(elem) {
2601
- elem.append("defs").append("marker").attr("id", "sequencenumber").attr("refX", 15).attr("refY", 15).attr("markerWidth", 60).attr("markerHeight", 40).attr("orient", "auto").append("circle").attr("cx", 15).attr("cy", 15).attr("r", 6);
2782
+ var insertSequenceNumber = /* @__PURE__ */ __name(function(elem, id) {
2783
+ elem.append("defs").append("marker").attr("id", id + "-sequencenumber").attr("refX", 15).attr("refY", 15).attr("markerWidth", 60).attr("markerHeight", 40).attr("orient", "auto").append("circle").attr("cx", 15).attr("cy", 15).attr("r", 6);
2602
2784
  }, "insertSequenceNumber");
2603
- var insertArrowCrossHead = /* @__PURE__ */ __name(function(elem) {
2785
+ var insertArrowCrossHead = /* @__PURE__ */ __name(function(elem, id) {
2604
2786
  const defs = elem.append("defs");
2605
- const marker = defs.append("marker").attr("id", "crosshead").attr("markerWidth", 15).attr("markerHeight", 8).attr("orient", "auto").attr("refX", 4).attr("refY", 4.5);
2787
+ const marker = defs.append("marker").attr("id", id + "-crosshead").attr("markerWidth", 15).attr("markerHeight", 8).attr("orient", "auto").attr("refX", 4).attr("refY", 4.5);
2606
2788
  marker.append("path").attr("fill", "none").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1pt").attr("d", "M 1,2 L 6,7 M 6,2 L 1,7");
2607
2789
  }, "insertArrowCrossHead");
2790
+ var insertDropShadow = /* @__PURE__ */ __name(function(elem, conf2) {
2791
+ const { theme } = conf2;
2792
+ elem.append("defs").append("filter").attr("id", "drop-shadow").attr("height", "130%").attr("width", "130%").append("feDropShadow").attr("dx", "4").attr("dy", "4").attr("stdDeviation", 0).attr("flood-opacity", "0.06").attr("flood-color", `${theme === "redux" || theme === "redux-color" ? "#000000" : "#FFFFFF"}`);
2793
+ }, "insertDropShadow");
2608
2794
  var getTextObj2 = /* @__PURE__ */ __name(function() {
2609
2795
  return {
2610
2796
  x: 0,
@@ -2726,17 +2912,17 @@ var _drawMenuItemTextCandidateFunc = /* @__PURE__ */ (function() {
2726
2912
  return conf2.textPlacement === "fo" ? byFo : conf2.textPlacement === "old" ? byText : byTspan;
2727
2913
  };
2728
2914
  })();
2729
- var insertSolidTopArrowHead = /* @__PURE__ */ __name(function(elem) {
2730
- elem.append("defs").append("marker").attr("id", "solidTopArrowHead").attr("refX", 7.9).attr("refY", 7.25).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 8 L 0 8 z");
2915
+ var insertSolidTopArrowHead = /* @__PURE__ */ __name(function(elem, id) {
2916
+ elem.append("defs").append("marker").attr("id", id + "-solidTopArrowHead").attr("refX", 7.9).attr("refY", 7.25).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 8 L 0 8 z");
2731
2917
  }, "insertSolidTopArrowHead");
2732
- var insertSolidBottomArrowHead = /* @__PURE__ */ __name(function(elem) {
2733
- elem.append("defs").append("marker").attr("id", "solidBottomArrowHead").attr("refX", 7.9).attr("refY", 0.75).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 0 L 0 8 z");
2918
+ var insertSolidBottomArrowHead = /* @__PURE__ */ __name(function(elem, id) {
2919
+ elem.append("defs").append("marker").attr("id", id + "-solidBottomArrowHead").attr("refX", 7.9).attr("refY", 0.75).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 0 L 0 8 z");
2734
2920
  }, "insertSolidBottomArrowHead");
2735
- var insertStickTopArrowHead = /* @__PURE__ */ __name(function(elem) {
2736
- elem.append("defs").append("marker").attr("id", "stickTopArrowHead").attr("refX", 7.5).attr("refY", 7).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 7 7").attr("stroke", "black").attr("stroke-width", 1.5).attr("fill", "none");
2921
+ var insertStickTopArrowHead = /* @__PURE__ */ __name(function(elem, id) {
2922
+ elem.append("defs").append("marker").attr("id", id + "-stickTopArrowHead").attr("refX", 7.5).attr("refY", 7).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 7 7").attr("stroke", "black").attr("stroke-width", 1.5).attr("fill", "none");
2737
2923
  }, "insertStickTopArrowHead");
2738
- var insertStickBottomArrowHead = /* @__PURE__ */ __name(function(elem) {
2739
- elem.append("defs").append("marker").attr("id", "stickBottomArrowHead").attr("refX", 7.5).attr("refY", 0).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 7 L 7 0").attr("stroke", "black").attr("stroke-width", 1.5).attr("fill", "none");
2924
+ var insertStickBottomArrowHead = /* @__PURE__ */ __name(function(elem, id) {
2925
+ elem.append("defs").append("marker").attr("id", id + "-stickBottomArrowHead").attr("refX", 7.5).attr("refY", 0).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 7 L 7 0").attr("stroke", "black").attr("stroke-width", 1.5).attr("fill", "none");
2740
2926
  }, "insertStickBottomArrowHead");
2741
2927
  var svgDraw_default = {
2742
2928
  drawRect: drawRect2,
@@ -2760,6 +2946,7 @@ var svgDraw_default = {
2760
2946
  getNoteRect: getNoteRect2,
2761
2947
  fixLifeLineHeights,
2762
2948
  sanitizeUrl: distExports.sanitizeUrl,
2949
+ insertDropShadow,
2763
2950
  insertSolidTopArrowHead,
2764
2951
  insertSolidBottomArrowHead,
2765
2952
  insertStickTopArrowHead,
@@ -2947,7 +3134,7 @@ var bounds = {
2947
3134
  return { bounds: this.data, models: this.models };
2948
3135
  }, "getBounds")
2949
3136
  };
2950
- var drawNote = /* @__PURE__ */ __name(async function(elem, noteModel) {
3137
+ var drawNote = /* @__PURE__ */ __name(async function(elem, noteModel, id) {
2951
3138
  bounds.bumpVerticalPos(conf.boxMargin);
2952
3139
  noteModel.height = conf.boxMargin;
2953
3140
  noteModel.starty = bounds.getVerticalPos();
@@ -2957,6 +3144,8 @@ var drawNote = /* @__PURE__ */ __name(async function(elem, noteModel) {
2957
3144
  rect.width = noteModel.width || conf.width;
2958
3145
  rect.class = "note";
2959
3146
  const g = elem.append("g");
3147
+ g.attr("data-et", "note");
3148
+ g.attr("data-id", "i" + id);
2960
3149
  const rectElem = svgDraw_default.drawRect(g, rect);
2961
3150
  const textObj = getTextObj();
2962
3151
  textObj.x = noteModel.startx;
@@ -3097,7 +3286,7 @@ async function boundMessage(_diagram, msgModel) {
3097
3286
  return lineStartY;
3098
3287
  }
3099
3288
  __name(boundMessage, "boundMessage");
3100
- var drawMessage = /* @__PURE__ */ __name(async function(diagram2, msgModel, lineStartY, diagObj, msg) {
3289
+ var drawMessage = /* @__PURE__ */ __name(async function(diagram2, msgModel, lineStartY, diagObj, msg, diagramId) {
3101
3290
  const { startx, stopx, starty, message, type, sequenceIndex, sequenceVisible } = msgModel;
3102
3291
  const textDims = utils_default.calculateTextDimensions(message, messageFont(conf));
3103
3292
  const textObj = getTextObj();
@@ -3137,6 +3326,9 @@ var drawMessage = /* @__PURE__ */ __name(async function(diagram2, msgModel, line
3137
3326
  "M " + lineStartX + "," + lineStartY + " C " + (lineStartX + 60) + "," + (lineStartY - 10) + " " + (startx + 60) + "," + (lineStartY + 30) + " " + startx + "," + (lineStartY + 20)
3138
3327
  );
3139
3328
  }
3329
+ if (hasCentralConnection(msg, diagObj)) {
3330
+ drawCentralConnection(diagram2, msg, msgModel, diagObj, startx, stopx, lineStartY);
3331
+ }
3140
3332
  } else {
3141
3333
  line = diagram2.append("line");
3142
3334
  line.attr("x1", startx);
@@ -3153,6 +3345,10 @@ var drawMessage = /* @__PURE__ */ __name(async function(diagram2, msgModel, line
3153
3345
  } else {
3154
3346
  line.attr("class", "messageLine0");
3155
3347
  }
3348
+ line.attr("data-et", "message");
3349
+ line.attr("data-id", "i" + msgModel.id);
3350
+ line.attr("data-from", msgModel.from);
3351
+ line.attr("data-to", msgModel.to);
3156
3352
  let url = "";
3157
3353
  if (conf.arrowMarkerAbsolute) {
3158
3354
  url = getUrl(true);
@@ -3161,41 +3357,41 @@ var drawMessage = /* @__PURE__ */ __name(async function(diagram2, msgModel, line
3161
3357
  line.attr("stroke", "none");
3162
3358
  line.style("fill", "none");
3163
3359
  if (type === diagObj.db.LINETYPE.SOLID_TOP || type === diagObj.db.LINETYPE.SOLID_TOP_DOTTED) {
3164
- line.attr("marker-end", "url(" + url + "#solidTopArrowHead)");
3360
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-solidTopArrowHead)");
3165
3361
  }
3166
3362
  if (type === diagObj.db.LINETYPE.SOLID_BOTTOM || type === diagObj.db.LINETYPE.SOLID_BOTTOM_DOTTED) {
3167
- line.attr("marker-end", "url(" + url + "#solidBottomArrowHead)");
3363
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-solidBottomArrowHead)");
3168
3364
  }
3169
3365
  if (type === diagObj.db.LINETYPE.STICK_TOP || type === diagObj.db.LINETYPE.STICK_TOP_DOTTED) {
3170
- line.attr("marker-end", "url(" + url + "#stickTopArrowHead)");
3366
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-stickTopArrowHead)");
3171
3367
  }
3172
3368
  if (type === diagObj.db.LINETYPE.STICK_BOTTOM || type === diagObj.db.LINETYPE.STICK_BOTTOM_DOTTED) {
3173
- line.attr("marker-end", "url(" + url + "#stickBottomArrowHead)");
3369
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-stickBottomArrowHead)");
3174
3370
  }
3175
3371
  if (type === diagObj.db.LINETYPE.SOLID_ARROW_TOP_REVERSE || type === diagObj.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED) {
3176
- line.attr("marker-start", "url(" + url + "#solidBottomArrowHead)");
3372
+ line.attr("marker-start", "url(" + url + "#" + diagramId + "-solidBottomArrowHead)");
3177
3373
  }
3178
3374
  if (type === diagObj.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE || type === diagObj.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED) {
3179
- line.attr("marker-start", "url(" + url + "#solidTopArrowHead)");
3375
+ line.attr("marker-start", "url(" + url + "#" + diagramId + "-solidTopArrowHead)");
3180
3376
  }
3181
3377
  if (type === diagObj.db.LINETYPE.STICK_ARROW_TOP_REVERSE || type === diagObj.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED) {
3182
- line.attr("marker-start", "url(" + url + "#stickBottomArrowHead)");
3378
+ line.attr("marker-start", "url(" + url + "#" + diagramId + "-stickBottomArrowHead)");
3183
3379
  }
3184
3380
  if (type === diagObj.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE || type === diagObj.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED) {
3185
- line.attr("marker-start", "url(" + url + "#stickTopArrowHead)");
3381
+ line.attr("marker-start", "url(" + url + "#" + diagramId + "-stickTopArrowHead)");
3186
3382
  }
3187
3383
  if (type === diagObj.db.LINETYPE.SOLID || type === diagObj.db.LINETYPE.DOTTED) {
3188
- line.attr("marker-end", "url(" + url + "#arrowhead)");
3384
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-arrowhead)");
3189
3385
  }
3190
3386
  if (type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID || type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED) {
3191
- line.attr("marker-start", "url(" + url + "#arrowhead)");
3192
- line.attr("marker-end", "url(" + url + "#arrowhead)");
3387
+ line.attr("marker-start", "url(" + url + "#" + diagramId + "-arrowhead)");
3388
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-arrowhead)");
3193
3389
  }
3194
3390
  if (type === diagObj.db.LINETYPE.SOLID_POINT || type === diagObj.db.LINETYPE.DOTTED_POINT) {
3195
- line.attr("marker-end", "url(" + url + "#filled-head)");
3391
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-filled-head)");
3196
3392
  }
3197
3393
  if (type === diagObj.db.LINETYPE.SOLID_CROSS || type === diagObj.db.LINETYPE.DOTTED_CROSS) {
3198
- line.attr("marker-end", "url(" + url + "#crosshead)");
3394
+ line.attr("marker-end", "url(" + url + "#" + diagramId + "-crosshead)");
3199
3395
  }
3200
3396
  if (sequenceVisible || conf.showSequenceNumbers) {
3201
3397
  const isBidirectional = type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID || type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED;
@@ -3235,7 +3431,7 @@ var drawMessage = /* @__PURE__ */ __name(async function(diagram2, msgModel, line
3235
3431
  } else {
3236
3432
  autonumberX = isLeftToRight ? msgModel.fromBounds + 1 : msgModel.toBounds - 1;
3237
3433
  }
3238
- diagram2.append("line").attr("x1", autonumberX).attr("y1", lineStartY).attr("x2", autonumberX).attr("y2", lineStartY).attr("stroke-width", 0).attr("marker-start", "url(" + url + "#sequencenumber)");
3434
+ diagram2.append("line").attr("x1", autonumberX).attr("y1", lineStartY).attr("x2", autonumberX).attr("y2", lineStartY).attr("stroke-width", 0).attr("marker-start", "url(" + url + "#" + diagramId + "-sequencenumber)");
3239
3435
  diagram2.append("text").attr("x", autonumberX).attr("y", lineStartY + 4).attr("font-family", "sans-serif").attr("font-size", "12px").attr("text-anchor", "middle").attr("class", "sequenceNumber").text(sequenceIndex);
3240
3436
  }
3241
3437
  }, "drawMessage");
@@ -3260,7 +3456,7 @@ var addActorRenderingData = /* @__PURE__ */ __name(function(diagram2, actors, cr
3260
3456
  }
3261
3457
  prevMargin += box.margin;
3262
3458
  }
3263
- actor.width = actor.width || conf.width;
3459
+ actor.width = common_default.getMax(actor.width || conf.width, conf.width);
3264
3460
  actor.height = common_default.getMax(actor.height || conf.height, conf.height);
3265
3461
  actor.margin = actor.margin || conf.actorMargin;
3266
3462
  maxHeight = common_default.getMax(maxHeight, actor.height);
@@ -3283,11 +3479,11 @@ var addActorRenderingData = /* @__PURE__ */ __name(function(diagram2, actors, cr
3283
3479
  }
3284
3480
  bounds.bumpVerticalPos(maxHeight);
3285
3481
  }, "addActorRenderingData");
3286
- var drawActors = /* @__PURE__ */ __name(async function(diagram2, actors, actorKeys, isFooter) {
3482
+ var drawActors = /* @__PURE__ */ __name(async function(diagram2, actors, actorKeys, isFooter, diagramId, diagObj, actorIndexMap) {
3287
3483
  if (!isFooter) {
3288
3484
  for (const actorKey of actorKeys) {
3289
3485
  const actor = actors.get(actorKey);
3290
- await svgDraw_default.drawActor(diagram2, actor, conf, false);
3486
+ await svgDraw_default.drawActor(diagram2, actor, conf, false, diagramId, diagObj, actorIndexMap);
3291
3487
  }
3292
3488
  } else {
3293
3489
  let maxHeight = 0;
@@ -3297,7 +3493,15 @@ var drawActors = /* @__PURE__ */ __name(async function(diagram2, actors, actorKe
3297
3493
  if (!actor.stopy) {
3298
3494
  actor.stopy = bounds.getVerticalPos();
3299
3495
  }
3300
- const height = await svgDraw_default.drawActor(diagram2, actor, conf, true);
3496
+ const height = await svgDraw_default.drawActor(
3497
+ diagram2,
3498
+ actor,
3499
+ conf,
3500
+ true,
3501
+ diagramId,
3502
+ diagObj,
3503
+ actorIndexMap
3504
+ );
3301
3505
  maxHeight = common_default.getMax(maxHeight, height);
3302
3506
  }
3303
3507
  bounds.bumpVerticalPos(maxHeight + conf.boxMargin);
@@ -3451,7 +3655,7 @@ function adjustCreatedDestroyedData(msg, msgModel, lineStartY, index, actors, cr
3451
3655
  }
3452
3656
  __name(adjustCreatedDestroyedData, "adjustCreatedDestroyedData");
3453
3657
  var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3454
- const { securityLevel, sequence } = getConfig2();
3658
+ const { securityLevel, sequence, look } = getConfig2();
3455
3659
  conf = sequence;
3456
3660
  let sandboxElement;
3457
3661
  if (securityLevel === "sandbox") {
@@ -3473,9 +3677,9 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3473
3677
  const hasBoxTitles = diagObj.db.hasAtLeastOneBoxWithTitle();
3474
3678
  const maxMessageWidthPerActor = await getMaxMessageWidthPerActor(actors, messages, diagObj);
3475
3679
  conf.height = await calculateActorMargins(actors, maxMessageWidthPerActor, boxes);
3476
- svgDraw_default.insertComputerIcon(diagram2);
3477
- svgDraw_default.insertDatabaseIcon(diagram2);
3478
- svgDraw_default.insertClockIcon(diagram2);
3680
+ svgDraw_default.insertComputerIcon(diagram2, id);
3681
+ svgDraw_default.insertDatabaseIcon(diagram2, id);
3682
+ svgDraw_default.insertClockIcon(diagram2, id);
3479
3683
  if (hasBoxes) {
3480
3684
  bounds.bumpVerticalPos(conf.boxMargin);
3481
3685
  if (hasBoxTitles) {
@@ -3490,16 +3694,22 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3490
3694
  });
3491
3695
  actorKeys = actorKeys.filter((actorKey) => newActors.has(actorKey));
3492
3696
  }
3697
+ const actorIndexMap = new Map(
3698
+ actorKeys.map((actorKey, index2) => [actors.get(actorKey)?.name ?? actorKey, index2])
3699
+ );
3493
3700
  addActorRenderingData(diagram2, actors, createdActors, actorKeys, 0, messages, false);
3494
3701
  const loopWidths = await calculateLoopBounds(messages, actors, maxMessageWidthPerActor, diagObj);
3495
- svgDraw_default.insertArrowHead(diagram2);
3496
- svgDraw_default.insertArrowCrossHead(diagram2);
3497
- svgDraw_default.insertArrowFilledHead(diagram2);
3498
- svgDraw_default.insertSequenceNumber(diagram2);
3499
- svgDraw_default.insertSolidTopArrowHead(diagram2);
3500
- svgDraw_default.insertSolidBottomArrowHead(diagram2);
3501
- svgDraw_default.insertStickTopArrowHead(diagram2);
3502
- svgDraw_default.insertStickBottomArrowHead(diagram2);
3702
+ svgDraw_default.insertArrowHead(diagram2, id);
3703
+ svgDraw_default.insertArrowCrossHead(diagram2, id);
3704
+ svgDraw_default.insertArrowFilledHead(diagram2, id);
3705
+ svgDraw_default.insertSequenceNumber(diagram2, id);
3706
+ svgDraw_default.insertSolidTopArrowHead(diagram2, id);
3707
+ svgDraw_default.insertSolidBottomArrowHead(diagram2, id);
3708
+ svgDraw_default.insertStickTopArrowHead(diagram2, id);
3709
+ svgDraw_default.insertStickBottomArrowHead(diagram2, id);
3710
+ if (look === "neo") {
3711
+ svgDraw_default.insertDropShadow(diagram2, conf);
3712
+ }
3503
3713
  function activeEnd(msg, verticalPos) {
3504
3714
  const activationData = bounds.endActivation(msg);
3505
3715
  if (activationData.starty + 18 > verticalPos) {
@@ -3511,7 +3721,9 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3511
3721
  activationData,
3512
3722
  verticalPos,
3513
3723
  conf,
3514
- actorActivations(msg.from).length
3724
+ actorActivations(msg.from).length,
3725
+ diagObj,
3726
+ actorIndexMap
3515
3727
  );
3516
3728
  bounds.insert(activationData.startx, verticalPos - 10, activationData.stopx, verticalPos);
3517
3729
  }
@@ -3527,7 +3739,7 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3527
3739
  case diagObj.db.LINETYPE.NOTE:
3528
3740
  bounds.resetVerticalPos();
3529
3741
  noteModel = msg.noteModel;
3530
- await drawNote(diagram2, noteModel);
3742
+ await drawNote(diagram2, noteModel, msg.id);
3531
3743
  break;
3532
3744
  case diagObj.db.LINETYPE.ACTIVE_START:
3533
3745
  bounds.newActivation(msg, diagram2, actors);
@@ -3552,7 +3764,7 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3552
3764
  break;
3553
3765
  case diagObj.db.LINETYPE.LOOP_END:
3554
3766
  loopModel = bounds.endLoop();
3555
- await svgDraw_default.drawLoop(diagram2, loopModel, "loop", conf);
3767
+ await svgDraw_default.drawLoop(diagram2, loopModel, "loop", conf, msg);
3556
3768
  bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());
3557
3769
  bounds.models.addLoop(loopModel);
3558
3770
  break;
@@ -3582,7 +3794,7 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3582
3794
  break;
3583
3795
  case diagObj.db.LINETYPE.OPT_END:
3584
3796
  loopModel = bounds.endLoop();
3585
- await svgDraw_default.drawLoop(diagram2, loopModel, "opt", conf);
3797
+ await svgDraw_default.drawLoop(diagram2, loopModel, "opt", conf, msg);
3586
3798
  bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());
3587
3799
  bounds.models.addLoop(loopModel);
3588
3800
  break;
@@ -3606,7 +3818,7 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3606
3818
  break;
3607
3819
  case diagObj.db.LINETYPE.ALT_END:
3608
3820
  loopModel = bounds.endLoop();
3609
- await svgDraw_default.drawLoop(diagram2, loopModel, "alt", conf);
3821
+ await svgDraw_default.drawLoop(diagram2, loopModel, "alt", conf, msg);
3610
3822
  bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());
3611
3823
  bounds.models.addLoop(loopModel);
3612
3824
  break;
@@ -3632,7 +3844,7 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3632
3844
  break;
3633
3845
  case diagObj.db.LINETYPE.PAR_END:
3634
3846
  loopModel = bounds.endLoop();
3635
- await svgDraw_default.drawLoop(diagram2, loopModel, "par", conf);
3847
+ await svgDraw_default.drawLoop(diagram2, loopModel, "par", conf, msg);
3636
3848
  bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());
3637
3849
  bounds.models.addLoop(loopModel);
3638
3850
  break;
@@ -3665,7 +3877,7 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3665
3877
  break;
3666
3878
  case diagObj.db.LINETYPE.CRITICAL_END:
3667
3879
  loopModel = bounds.endLoop();
3668
- await svgDraw_default.drawLoop(diagram2, loopModel, "critical", conf);
3880
+ await svgDraw_default.drawLoop(diagram2, loopModel, "critical", conf, msg);
3669
3881
  bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());
3670
3882
  bounds.models.addLoop(loopModel);
3671
3883
  break;
@@ -3680,7 +3892,7 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3680
3892
  break;
3681
3893
  case diagObj.db.LINETYPE.BREAK_END:
3682
3894
  loopModel = bounds.endLoop();
3683
- await svgDraw_default.drawLoop(diagram2, loopModel, "break", conf);
3895
+ await svgDraw_default.drawLoop(diagram2, loopModel, "break", conf, msg);
3684
3896
  bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());
3685
3897
  bounds.models.addLoop(loopModel);
3686
3898
  break;
@@ -3690,6 +3902,9 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3690
3902
  msgModel.starty = bounds.getVerticalPos();
3691
3903
  msgModel.sequenceIndex = sequenceIndex;
3692
3904
  msgModel.sequenceVisible = diagObj.db.showSequenceNumbers();
3905
+ msgModel.id = msg.id;
3906
+ msgModel.from = msg.from;
3907
+ msgModel.to = msg.to;
3693
3908
  const lineStartY = await boundMessage(diagram2, msgModel);
3694
3909
  adjustCreatedDestroyedData(
3695
3910
  msg,
@@ -3740,12 +3955,12 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3740
3955
  }
3741
3956
  log.debug("createdActors", createdActors);
3742
3957
  log.debug("destroyedActors", destroyedActors);
3743
- await drawActors(diagram2, actors, actorKeys, false);
3958
+ await drawActors(diagram2, actors, actorKeys, false, id, diagObj, actorIndexMap);
3744
3959
  for (const e of messagesToDraw) {
3745
- await drawMessage(diagram2, e.messageModel, e.lineStartY, diagObj, e.msg);
3960
+ await drawMessage(diagram2, e.messageModel, e.lineStartY, diagObj, e.msg, id);
3746
3961
  }
3747
3962
  if (conf.mirrorActors) {
3748
- await drawActors(diagram2, actors, actorKeys, true);
3963
+ await drawActors(diagram2, actors, actorKeys, true, id, diagObj, actorIndexMap);
3749
3964
  }
3750
3965
  backgrounds.forEach((e) => svgDraw_default.drawBackgroundRect(diagram2, e));
3751
3966
  fixLifeLineHeights(diagram2, actors, actorKeys, conf);
@@ -3795,9 +4010,10 @@ var draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {
3795
4010
  }
3796
4011
  configureSvgSize(diagram2, height, width, conf.useMaxWidth);
3797
4012
  const extraVertForTitle = title ? 40 : 0;
4013
+ const extraHeightForNeoActors = actors.size && look === "neo" ? 30 : 0;
3798
4014
  diagram2.attr(
3799
4015
  "viewBox",
3800
- box.startx - conf.diagramMarginX + " -" + (conf.diagramMarginY + extraVertForTitle) + " " + width + " " + (height + extraVertForTitle)
4016
+ box.startx - conf.diagramMarginX + " -" + (conf.diagramMarginY + extraVertForTitle) + " " + width + " " + (height + extraVertForTitle + extraHeightForNeoActors)
3801
4017
  );
3802
4018
  log.debug(`models:`, bounds.models);
3803
4019
  }, "draw");
@@ -4040,6 +4256,7 @@ var isBidirectionalArrowType = /* @__PURE__ */ __name(function(msg, diagObj) {
4040
4256
  return [BIDIRECTIONAL_SOLID, BIDIRECTIONAL_DOTTED].includes(msg.type);
4041
4257
  }, "isBidirectionalArrowType");
4042
4258
  var buildMessageModel = /* @__PURE__ */ __name(function(msg, actors, diagObj) {
4259
+ const { look } = getConfig2();
4043
4260
  if (![
4044
4261
  diagObj.db.LINETYPE.SOLID_OPEN,
4045
4262
  diagObj.db.LINETYPE.DOTTED_OPEN,
@@ -4075,6 +4292,15 @@ var buildMessageModel = /* @__PURE__ */ __name(function(msg, actors, diagObj) {
4075
4292
  const isArrowToRight = fromLeft <= toLeft;
4076
4293
  let startx = isArrowToRight ? fromRight : fromLeft;
4077
4294
  let stopx = isArrowToRight ? toLeft : toRight;
4295
+ if (look === "neo") {
4296
+ const offset = 3;
4297
+ if (msg.type !== diagObj.db.LINETYPE.SOLID_OPEN) {
4298
+ stopx += isArrowToRight ? -offset : offset;
4299
+ }
4300
+ if (msg.type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID || msg.type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED) {
4301
+ startx += isArrowToRight ? offset : -offset;
4302
+ }
4303
+ }
4078
4304
  startx += calculateCentralConnectionOffset(msg, diagObj, isArrowToRight);
4079
4305
  const isArrowToActivation = Math.abs(toLeft - toRight) > 2;
4080
4306
  const adjustValue = /* @__PURE__ */ __name((value) => {