@diagrammo/dgmo 0.57.0 → 0.58.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 (196) hide show
  1. package/dist/advanced.d.ts +57 -7
  2. package/dist/advanced.js +127 -117
  3. package/dist/auto.css +38 -2
  4. package/dist/auto.js +161 -124
  5. package/dist/auto.mjs +1827 -1431
  6. package/dist/block.css +38 -2
  7. package/dist/block.js +94 -52
  8. package/dist/{chart-meta-CPNVUZ5J.d.ts → chart-meta-C6UaqhTP.d.ts} +1 -1
  9. package/dist/chart-meta.d.ts +2 -2
  10. package/dist/chart-meta.js +44 -42
  11. package/dist/{charts-d3-Z6FOKUAL.js → charts-d3-K5M5J5ZM.js} +5 -5
  12. package/dist/{chunk-VYCV5WKH.js → chunk-2JPEBOUQ.js} +60 -44
  13. package/dist/{chunk-FERE46TP.js → chunk-2UBTPFIF.js} +3 -3
  14. package/dist/{chunk-CXI6X54X.js → chunk-3DY7TNZ7.js} +2 -2
  15. package/dist/{chunk-D5FANMSG.js → chunk-3LMUMAUS.js} +2 -2
  16. package/dist/{chunk-5J2RQGFG.js → chunk-4CE2GOC2.js} +3 -3
  17. package/dist/{chunk-T2VMOWAM.js → chunk-4ESLORPX.js} +3 -3
  18. package/dist/chunk-4UNGFVVY.js +181 -0
  19. package/dist/{chunk-ADKDIWCW.js → chunk-52KLHCXQ.js} +3 -3
  20. package/dist/{chunk-VSFAJUEF.js → chunk-5RPSN32F.js} +3 -3
  21. package/dist/{chunk-PKFW6GJD.js → chunk-5RY4W7J6.js} +3 -3
  22. package/dist/{chunk-FMPYKUKI.js → chunk-6F3MVYUW.js} +3 -3
  23. package/dist/{chunk-ST3ZNEUQ.js → chunk-6JYE3SDK.js} +2 -2
  24. package/dist/{chunk-FZECLCCU.js → chunk-6KTRV3O5.js} +3 -3
  25. package/dist/{chunk-57RE4N22.js → chunk-7Q6HX7ON.js} +2 -2
  26. package/dist/{chunk-ULR3BVNH.js → chunk-7SGR7A5K.js} +4 -4
  27. package/dist/{chunk-J6V3SMR3.js → chunk-7UZFAIKI.js} +7 -7
  28. package/dist/{chunk-XBTJJLAU.js → chunk-ATKB7VEN.js} +4 -4
  29. package/dist/{chunk-5VLUAAAE.js → chunk-AU4AQYOA.js} +3 -3
  30. package/dist/{chunk-4MB4UOT5.js → chunk-B4U7RRQ4.js} +2 -2
  31. package/dist/{chunk-QWUYFUNO.js → chunk-BFYPHZ5M.js} +2 -2
  32. package/dist/{chunk-7YPSFQFA.js → chunk-C7IKQOEQ.js} +6 -6
  33. package/dist/{chunk-X3ON4M5S.js → chunk-CBPFVH3N.js} +4 -4
  34. package/dist/{chunk-3M6MKHIQ.js → chunk-CC6XIQDE.js} +2 -2
  35. package/dist/{chunk-G3L4GWLA.js → chunk-CZIFUXI2.js} +3 -3
  36. package/dist/chunk-D3K4U3ZM.js +232 -0
  37. package/dist/{chunk-RQGNELB3.js → chunk-DWAQXY6T.js} +3 -3
  38. package/dist/{chunk-KRKU6WRS.js → chunk-DWMJLEBT.js} +4 -4
  39. package/dist/{chunk-VS7DGDT3.js → chunk-DZUDSGGQ.js} +5 -5
  40. package/dist/chunk-E55OZDFH.js +65 -0
  41. package/dist/{chunk-SQWWYGPT.js → chunk-E6CCWMTT.js} +5 -5
  42. package/dist/{chunk-3KOPPSUQ.js → chunk-E7HANW62.js} +12 -3
  43. package/dist/{chunk-7Q35X3AL.js → chunk-EDJYIQZM.js} +9 -233
  44. package/dist/{chunk-HBRGNLF5.js → chunk-EEF7BUX7.js} +6 -6
  45. package/dist/{chunk-3ZONSZOX.js → chunk-FWNJ45NW.js} +2 -2
  46. package/dist/{chunk-RB4HOOKP.js → chunk-FXIG472W.js} +2 -2
  47. package/dist/{chunk-ORZQVUGW.js → chunk-GAFNYUNJ.js} +4 -4
  48. package/dist/{chunk-PRKPFRC2.js → chunk-GGKWKNOL.js} +4 -4
  49. package/dist/{chunk-OFEUXZPI.js → chunk-HBIGEWRC.js} +3 -3
  50. package/dist/{chunk-D64FRGKU.js → chunk-HUYAMTCD.js} +2 -2
  51. package/dist/{chunk-NIUE5VWY.js → chunk-HXTS54OV.js} +3 -3
  52. package/dist/{chunk-PUGUOFM6.js → chunk-ILZHMKYQ.js} +3 -3
  53. package/dist/{chunk-LZX3RLRP.js → chunk-IRN5GBBO.js} +6 -6
  54. package/dist/{chunk-OYCIVSL3.js → chunk-JM65HLBZ.js} +6 -6
  55. package/dist/{chunk-DIKIHU52.js → chunk-KAG5JCZV.js} +3 -3
  56. package/dist/{chunk-4MJOBVY7.js → chunk-KNCY7YHC.js} +2 -2
  57. package/dist/{chunk-M3IYDSI7.js → chunk-L5DQB4C7.js} +5 -5
  58. package/dist/{chunk-EEKGMS63.js → chunk-LLDNNANC.js} +3 -3
  59. package/dist/{chunk-7SXTD7L6.js → chunk-LYQMN35H.js} +2 -2
  60. package/dist/{chunk-ES3MUYRX.js → chunk-MF4FDLFG.js} +3 -3
  61. package/dist/{chunk-YNAHUNMA.js → chunk-MPPOQOCF.js} +2 -2
  62. package/dist/{chunk-44GBBTMU.js → chunk-N7PF5IRF.js} +2 -2
  63. package/dist/{chunk-QMOX5I3G.js → chunk-NGGVVTP2.js} +5 -5
  64. package/dist/{chunk-UG4MWUXE.js → chunk-NPBAV3QU.js} +5 -5
  65. package/dist/{chunk-6PRLPGJB.js → chunk-NQGE76NC.js} +3 -3
  66. package/dist/{chunk-5XMDSXZT.js → chunk-NSUAU6JQ.js} +2 -2
  67. package/dist/{chunk-OHBIN74X.js → chunk-NW2K6UU2.js} +3 -3
  68. package/dist/{chunk-WOMXS5R7.js → chunk-NYCBN7YE.js} +3 -3
  69. package/dist/{chunk-MXDT446P.js → chunk-OMOU2V3W.js} +3 -3
  70. package/dist/chunk-ON4MEUC4.js +50 -0
  71. package/dist/{chunk-3D6LDLIH.js → chunk-OXANJRNK.js} +2 -2
  72. package/dist/{chunk-X32RDWT5.js → chunk-PH5WK6G5.js} +3 -3
  73. package/dist/{chunk-U3DGAE7L.js → chunk-PIIORN3Q.js} +3 -3
  74. package/dist/{chunk-Q772PVKH.js → chunk-QDOSCTL5.js} +2 -2
  75. package/dist/{chunk-CY5KE2P5.js → chunk-QS37VUFZ.js} +2 -2
  76. package/dist/{chunk-NFAHDPCG.js → chunk-RB3AFVPT.js} +3 -3
  77. package/dist/{chunk-LV5BFA24.js → chunk-RDHZRHDG.js} +3 -3
  78. package/dist/{chunk-SADYIA5Q.js → chunk-S3AZMBK7.js} +3 -3
  79. package/dist/{chunk-6HSRT6WI.js → chunk-SBQXLX6Y.js} +3 -3
  80. package/dist/{chunk-SFVG4AIG.js → chunk-SQK4EKOW.js} +3 -3
  81. package/dist/{chunk-6DR2GMDM.js → chunk-STYJ6EOV.js} +157 -134
  82. package/dist/{chunk-BQLJAYVB.js → chunk-TQC2SUMJ.js} +2 -2
  83. package/dist/{chunk-TZ72UBOA.js → chunk-TXQXPJTG.js} +2 -2
  84. package/dist/{chunk-RV2N7COG.js → chunk-UFDLQKCR.js} +2 -2
  85. package/dist/{chunk-INU6ANOH.js → chunk-UPTAWSCG.js} +2 -2
  86. package/dist/{chunk-K2GDF2ZR.js → chunk-VBSKNQUO.js} +4 -4
  87. package/dist/{chunk-KH74OWHU.js → chunk-VJYERZ2Q.js} +3 -3
  88. package/dist/{chunk-USFZQPJ2.js → chunk-W22JRLNA.js} +3 -3
  89. package/dist/{chunk-CQJ5SE5T.js → chunk-W2RU24DD.js} +4 -4
  90. package/dist/{chunk-NHZAYL2X.js → chunk-W6T5QRIR.js} +4 -4
  91. package/dist/{chunk-APD52YJV.js → chunk-WQWVLAA5.js} +4 -4
  92. package/dist/{chunk-D76B4DMV.js → chunk-WYG5VJY2.js} +2 -2
  93. package/dist/{chunk-VYEQPPS6.js → chunk-WYGLKR4I.js} +3 -3
  94. package/dist/{chunk-MGLJA5TK.js → chunk-X3YNX4DR.js} +2 -2
  95. package/dist/{chunk-3G7BCZ4J.js → chunk-X4JEAY73.js} +5 -5
  96. package/dist/{chunk-M65UOFJA.js → chunk-XHTRLRZ5.js} +3 -3
  97. package/dist/{chunk-3NSOKT7C.js → chunk-XXAHWYQU.js} +2 -2
  98. package/dist/{chunk-A6XELFU6.js → chunk-YAG7WAQE.js} +8 -8
  99. package/dist/{chunk-KF575IXC.js → chunk-YILSSUEL.js} +3 -3
  100. package/dist/{chunk-U4FSWAOJ.js → chunk-YKMOI6ZG.js} +4 -4
  101. package/dist/{chunk-TGOMHUOV.js → chunk-ZEIYC7XO.js} +12 -1
  102. package/dist/{chunk-PFG3EVRD.js → chunk-ZKNSLC35.js} +3 -3
  103. package/dist/{chunk-5LBCOFA5.js → chunk-ZW7LTYW2.js} +2 -2
  104. package/dist/cli.cjs +143 -142
  105. package/dist/cloud-reference.d.ts +15 -8
  106. package/dist/cloud-reference.js +8 -39
  107. package/dist/completion-registry.js +24 -5
  108. package/dist/dgmo-router-2637N4DY.js +90 -0
  109. package/dist/{dimensions-XRWIPAFO.js → dimensions-HSIQYP5Z.js} +5 -5
  110. package/dist/editor.js +11 -2
  111. package/dist/element.js +164 -127
  112. package/dist/element.mjs +1827 -1431
  113. package/dist/{flowchart-parser-DA3V2SLH.js → flowchart-parser-I2TEUWAP.js} +4 -4
  114. package/dist/{flowchart-renderer-JGLZB5P5.js → flowchart-renderer-ER66DNCI.js} +5 -5
  115. package/dist/highlight.js +11 -2
  116. package/dist/index.d.ts +13 -4
  117. package/dist/index.js +55 -49
  118. package/dist/{layout-5CX27X7I.js → layout-3QMCSW6B.js} +3 -3
  119. package/dist/{layout-NU5LQ4UP.js → layout-DH6GSKAH.js} +2 -2
  120. package/dist/{layout-AO3TPZUS.js → layout-HTDK3DMG.js} +4 -4
  121. package/dist/{layout-EQTOVNEE.js → layout-K4S54TX7.js} +4 -4
  122. package/dist/{layout-WHOOLGPO.js → layout-V5X3U3WB.js} +4 -4
  123. package/dist/{layout-TZKPVXKJ.js → layout-VFUHKLTS.js} +3 -3
  124. package/dist/{layout-AQXLQVAJ.js → layout-VNEBCYPX.js} +4 -4
  125. package/dist/{layout-search-6CVR2MTZ.js → layout-search-N6NQI5OQ.js} +5 -5
  126. package/dist/{parser-5UZWYSIV.js → parser-2RTQF2LA.js} +4 -4
  127. package/dist/{parser-4ZIJDGPG.js → parser-2VTOUMJY.js} +4 -4
  128. package/dist/{parser-HMQZPPOK.js → parser-3M3QQRCZ.js} +4 -4
  129. package/dist/{parser-RBNOWHGM.js → parser-4WSJVVG6.js} +4 -4
  130. package/dist/{parser-Q3KNFXQR.js → parser-67JHR6I6.js} +4 -4
  131. package/dist/{parser-MH62NYKM.js → parser-6GXEHNZD.js} +4 -4
  132. package/dist/{parser-O5XCVGZG.js → parser-6I3NOLKL.js} +3 -3
  133. package/dist/{parser-6CM27UPA.js → parser-7VNCLF77.js} +4 -4
  134. package/dist/{parser-QL2LBPFE.js → parser-AE7RC4IJ.js} +4 -4
  135. package/dist/{parser-DQ2DGDYO.js → parser-BDGMJSZB.js} +3 -3
  136. package/dist/{parser-WT3DSNPQ.js → parser-BVHECXAJ.js} +4 -4
  137. package/dist/{parser-QEWSTNEJ.js → parser-FLCLHHOM.js} +4 -4
  138. package/dist/{parser-LMNFVTIV.js → parser-FSSAJO2M.js} +4 -4
  139. package/dist/{parser-73YUU35J.js → parser-GH2Y6CR4.js} +3 -3
  140. package/dist/{parser-AYZTKZC3.js → parser-GUUNA7WE.js} +3 -3
  141. package/dist/{parser-DTXM5ROT.js → parser-ISJJO7TJ.js} +5 -5
  142. package/dist/parser-J3FUTZAQ.js +12 -0
  143. package/dist/{parser-Q62VR2UJ.js → parser-JY7ZU5PP.js} +5 -5
  144. package/dist/{parser-4TX6U4ZU.js → parser-KKBW25LM.js} +3 -3
  145. package/dist/{parser-XWNSCDY6.js → parser-M74SVSPT.js} +4 -4
  146. package/dist/{parser-CCAUZLYI.js → parser-MKJ52TD7.js} +4 -4
  147. package/dist/{parser-A6M25MLK.js → parser-MPQTXCBQ.js} +3 -3
  148. package/dist/{parser-IQLLBMBQ.js → parser-N3AAAGTA.js} +3 -3
  149. package/dist/{parser-OPOGIKFR.js → parser-N7SSE4SK.js} +4 -4
  150. package/dist/{parser-D7YZX3CH.js → parser-NH6IAVZJ.js} +3 -3
  151. package/dist/{parser-IPBEW2DG.js → parser-NKHBUGAX.js} +4 -4
  152. package/dist/{parser-PQXN6SBB.js → parser-QVX4FR3J.js} +5 -5
  153. package/dist/{parser-XQNM7BGD.js → parser-S6QH3QIK.js} +4 -4
  154. package/dist/{parser-PEBXIOPX.js → parser-UODHU3EP.js} +4 -4
  155. package/dist/{parser-5WMH55UA.js → parser-UVS6OHCO.js} +4 -4
  156. package/dist/{parser-SJ7ECFAP.js → parser-X3TCE7P5.js} +4 -4
  157. package/dist/{parser-QN3GJJ3J.js → parser-XQKSQBOT.js} +3 -3
  158. package/dist/{parser-KTVDCWHG.js → parser-XXYB4TRG.js} +4 -4
  159. package/dist/{registry-CaSw0PSH.d.ts → registry-C0HvobTb.d.ts} +17 -0
  160. package/dist/renderer-2G7Q3L5W.js +77 -0
  161. package/dist/{renderer-2TEGR3RX.js → renderer-2IO3H53I.js} +5 -5
  162. package/dist/{renderer-Q6TJ52B4.js → renderer-2KDW3TWO.js} +5 -5
  163. package/dist/{renderer-W5GF5USI.js → renderer-2SK7UM4O.js} +5 -5
  164. package/dist/{renderer-BNEO5W3E.js → renderer-34GG6RHO.js} +6 -6
  165. package/dist/{renderer-LRQ3OPNJ.js → renderer-44EXXXRC.js} +7 -7
  166. package/dist/{renderer-XKMG3SYD.js → renderer-4SH6U6WF.js} +6 -6
  167. package/dist/{renderer-TIIHLRMM.js → renderer-4WQRF2SK.js} +5 -5
  168. package/dist/{renderer-KXMKAXPQ.js → renderer-7AVFPE3Q.js} +4 -4
  169. package/dist/{renderer-EJ3FETD2.js → renderer-BA6WTWVL.js} +5 -5
  170. package/dist/{renderer-5BFS4NBL.js → renderer-BLPXBLUP.js} +5 -5
  171. package/dist/{renderer-I2P5FTZ2.js → renderer-C7LFE5CB.js} +7 -7
  172. package/dist/{renderer-3WYLLPQL.js → renderer-CUXXNHFU.js} +6 -6
  173. package/dist/{renderer-B6XOO6EE.js → renderer-DRNJJNAE.js} +3 -3
  174. package/dist/{renderer-N4V7XVC3.js → renderer-DVUKHOFB.js} +7 -7
  175. package/dist/{renderer-6OFPEBHG.js → renderer-I7Q5U2TU.js} +5 -5
  176. package/dist/{renderer-ND7YIUHD.js → renderer-JIUVU3PF.js} +3 -3
  177. package/dist/{renderer-HDLM6OY6.js → renderer-LXIIZ3BH.js} +7 -7
  178. package/dist/{renderer-VWBNIZV3.js → renderer-MTX6PLPA.js} +6 -6
  179. package/dist/{renderer-LU4R3BP2.js → renderer-QGZ2BOJG.js} +4 -4
  180. package/dist/{renderer-AK2X3VRY.js → renderer-SL5IQJKB.js} +7 -7
  181. package/dist/{renderer-IAJMS5U5.js → renderer-SL5LE7MU.js} +7 -7
  182. package/dist/{renderer-JHYUK5TN.js → renderer-SXZBGMEH.js} +3 -3
  183. package/dist/{renderer-LNOBG226.js → renderer-UPANX7XK.js} +7 -7
  184. package/dist/{renderer-FQLFE3TQ.js → renderer-VDCGDJ6L.js} +5 -5
  185. package/dist/{renderer-BZZKS7KQ.js → renderer-XJFRVCF6.js} +7 -7
  186. package/dist/{renderer-LMLSA457.js → renderer-XRC5R3OP.js} +5 -5
  187. package/dist/{renderer-PLRNQ6T3.js → renderer-Y64MT4JM.js} +7 -7
  188. package/dist/{renderer-XSZ5MUIF.js → renderer-ZLJ5CCSO.js} +5 -5
  189. package/dist/{renderer-W3JK5YVD.js → renderer-ZY5TXTS5.js} +5 -5
  190. package/dist/{renderer-radial-LZAPQVM5.js → renderer-radial-4YKK4JNW.js} +6 -6
  191. package/dist/{state-parser-NQGVYSM3.js → state-parser-3PFFJO5M.js} +5 -5
  192. package/dist/{state-renderer-KSAKMFQ2.js → state-renderer-2HDVRUNG.js} +7 -7
  193. package/dist/{themes-tbBkIVsn.d.ts → themes-l406Vj2z.d.ts} +1 -1
  194. package/docs/language-reference.md +29 -0
  195. package/package.json +1 -1
  196. package/dist/dgmo-router-PMEKTIJ7.js +0 -88
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tryCollectNote
3
- } from "./chunk-ST3ZNEUQ.js";
3
+ } from "./chunk-6JYE3SDK.js";
4
4
  import {
5
5
  resolveNotes
6
6
  } from "./chunk-7NK42OIB.js";
@@ -19,7 +19,7 @@ import {
19
19
  tagAttrKey,
20
20
  validateTagGroupNames,
21
21
  validateTagValues
22
- } from "./chunk-D5FANMSG.js";
22
+ } from "./chunk-3LMUMAUS.js";
23
23
  import {
24
24
  ER_REGISTRY,
25
25
  OPTION_NOCOLON_RE,
@@ -32,7 +32,7 @@ import {
32
32
  tryParseSharedOption,
33
33
  warnUnknownMetaKeys,
34
34
  withTagAliases
35
- } from "./chunk-3KOPPSUQ.js";
35
+ } from "./chunk-E7HANW62.js";
36
36
  import {
37
37
  resolveColorWithDiagnostic
38
38
  } from "./chunk-EXNKNJ65.js";
@@ -521,4 +521,4 @@ export {
521
521
  looksLikeERDiagram,
522
522
  extractSymbols
523
523
  };
524
- //# sourceMappingURL=chunk-ULR3BVNH.js.map
524
+ //# sourceMappingURL=chunk-7SGR7A5K.js.map
@@ -1,10 +1,10 @@
1
+ import {
2
+ analyzePert
3
+ } from "./chunk-CGLBK5Q4.js";
1
4
  import {
2
5
  computeNodeSizing,
3
6
  layoutPert
4
7
  } from "./chunk-QXGACPS2.js";
5
- import {
6
- analyzePert
7
- } from "./chunk-CGLBK5Q4.js";
8
8
  import {
9
9
  COLLAPSE_BAR_HEIGHT,
10
10
  CONTAINER_HEADER_HEIGHT,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-NZ5QVASG.js";
26
26
  import {
27
27
  renderIntegratedLegend
28
- } from "./chunk-44GBBTMU.js";
28
+ } from "./chunk-N7PF5IRF.js";
29
29
  import {
30
30
  getLegendExtent
31
31
  } from "./chunk-ES66QH6J.js";
@@ -45,7 +45,7 @@ import {
45
45
  } from "./chunk-6KFWC4CO.js";
46
46
  import {
47
47
  parsePert
48
- } from "./chunk-DIKIHU52.js";
48
+ } from "./chunk-KAG5JCZV.js";
49
49
  import {
50
50
  addCalendarDays,
51
51
  formatDuration,
@@ -56,7 +56,7 @@ import {
56
56
  import {
57
57
  resolveActiveTagGroup,
58
58
  resolveTagColor
59
- } from "./chunk-D5FANMSG.js";
59
+ } from "./chunk-3LMUMAUS.js";
60
60
  import {
61
61
  LEGEND_HEIGHT
62
62
  } from "./chunk-SCJ7CAJF.js";
@@ -1868,4 +1868,4 @@ export {
1868
1868
  measurePertAnalysisBlock,
1869
1869
  renderPertAnalysisBlock
1870
1870
  };
1871
- //# sourceMappingURL=chunk-J6V3SMR3.js.map
1871
+ //# sourceMappingURL=chunk-7UZFAIKI.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  extractDatePrefix,
3
3
  parseTimelineDate
4
- } from "./chunk-4MJOBVY7.js";
4
+ } from "./chunk-KNCY7YHC.js";
5
5
  import {
6
6
  makeYearContext,
7
7
  parseDateToken,
@@ -16,7 +16,7 @@ import {
16
16
  tagAttrKey,
17
17
  validateTagGroupNames,
18
18
  validateTagValues
19
- } from "./chunk-D5FANMSG.js";
19
+ } from "./chunk-3LMUMAUS.js";
20
20
  import {
21
21
  EVENT_LINE_REGISTRY,
22
22
  extractColor,
@@ -27,7 +27,7 @@ import {
27
27
  tryParseSharedOption,
28
28
  warnUnknownMetaKeys,
29
29
  withTagAliases
30
- } from "./chunk-3KOPPSUQ.js";
30
+ } from "./chunk-E7HANW62.js";
31
31
  import {
32
32
  emit,
33
33
  formatDgmoError,
@@ -670,4 +670,4 @@ export {
670
670
  EVENT_LINE_DIAGNOSTICS,
671
671
  parseEventLine
672
672
  };
673
- //# sourceMappingURL=chunk-XBTJJLAU.js.map
673
+ //# sourceMappingURL=chunk-ATKB7VEN.js.map
@@ -4,13 +4,13 @@ import {
4
4
  matchTagBlockHeading,
5
5
  stripDefaultModifier,
6
6
  tagAttrKey
7
- } from "./chunk-D5FANMSG.js";
7
+ } from "./chunk-3LMUMAUS.js";
8
8
  import {
9
9
  FILL_FAMILY_TOKENS,
10
10
  extractColor,
11
11
  measureIndent,
12
12
  parseFirstLine
13
- } from "./chunk-3KOPPSUQ.js";
13
+ } from "./chunk-E7HANW62.js";
14
14
  import {
15
15
  emit
16
16
  } from "./chunk-OLMWTJVU.js";
@@ -692,4 +692,4 @@ export {
692
692
  SWIMLANE_DIAGNOSTICS,
693
693
  parseSwimlane
694
694
  };
695
- //# sourceMappingURL=chunk-5VLUAAAE.js.map
695
+ //# sourceMappingURL=chunk-AU4AQYOA.js.map
@@ -5,7 +5,7 @@ import {
5
5
  splitNameAndMeta,
6
6
  tryParseSharedOption,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-3KOPPSUQ.js";
8
+ } from "./chunk-E7HANW62.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
@@ -274,4 +274,4 @@ function parseCycle(content) {
274
274
  export {
275
275
  parseCycle
276
276
  };
277
- //# sourceMappingURL=chunk-4MB4UOT5.js.map
277
+ //# sourceMappingURL=chunk-B4U7RRQ4.js.map
@@ -12,7 +12,7 @@ import {
12
12
  fillModeFromToken,
13
13
  measureIndent,
14
14
  parseFirstLine
15
- } from "./chunk-3KOPPSUQ.js";
15
+ } from "./chunk-E7HANW62.js";
16
16
  import {
17
17
  makeDgmoError,
18
18
  makeFail
@@ -546,4 +546,4 @@ export {
546
546
  targetToMs2 as targetToMs,
547
547
  parseCountdown
548
548
  };
549
- //# sourceMappingURL=chunk-QWUYFUNO.js.map
549
+ //# sourceMappingURL=chunk-BFYPHZ5M.js.map
@@ -3,7 +3,7 @@ import {
3
3
  layoutJourneyMap,
4
4
  scoreToColor,
5
5
  scoreToCurveY
6
- } from "./chunk-D76B4DMV.js";
6
+ } from "./chunk-WYG5VJY2.js";
7
7
  import {
8
8
  wrapNoteBody
9
9
  } from "./chunk-VJARCVMH.js";
@@ -24,20 +24,20 @@ import {
24
24
  } from "./chunk-NZ5QVASG.js";
25
25
  import {
26
26
  renderIntegratedLegend
27
- } from "./chunk-44GBBTMU.js";
27
+ } from "./chunk-N7PF5IRF.js";
28
28
  import {
29
29
  FONT_FAMILY
30
30
  } from "./chunk-6KFWC4CO.js";
31
31
  import {
32
32
  parseJourneyMap
33
- } from "./chunk-RQGNELB3.js";
33
+ } from "./chunk-DWAQXY6T.js";
34
34
  import {
35
35
  resolveActiveTagGroup,
36
36
  tagAttrKey
37
- } from "./chunk-D5FANMSG.js";
37
+ } from "./chunk-3LMUMAUS.js";
38
38
  import {
39
39
  fillModeFromOptions
40
- } from "./chunk-3KOPPSUQ.js";
40
+ } from "./chunk-E7HANW62.js";
41
41
  import {
42
42
  measureText,
43
43
  truncateText,
@@ -871,4 +871,4 @@ export {
871
871
  renderJourneyMap,
872
872
  renderJourneyMapForExport
873
873
  };
874
- //# sourceMappingURL=chunk-7YPSFQFA.js.map
874
+ //# sourceMappingURL=chunk-C7IKQOEQ.js.map
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-6VJCURWU.js";
25
25
  import {
26
26
  renderIntegratedLegend
27
- } from "./chunk-44GBBTMU.js";
27
+ } from "./chunk-N7PF5IRF.js";
28
28
  import {
29
29
  getLegendExtent
30
30
  } from "./chunk-ES66QH6J.js";
@@ -38,12 +38,12 @@ import {
38
38
  } from "./chunk-6KFWC4CO.js";
39
39
  import {
40
40
  parseClassDiagram
41
- } from "./chunk-VYEQPPS6.js";
41
+ } from "./chunk-WYGLKR4I.js";
42
42
  import {
43
43
  fillModeFromOptions,
44
44
  legendInlineRequested,
45
45
  legendSuppressed
46
- } from "./chunk-3KOPPSUQ.js";
46
+ } from "./chunk-E7HANW62.js";
47
47
  import {
48
48
  LEGEND_HEIGHT
49
49
  } from "./chunk-SCJ7CAJF.js";
@@ -448,4 +448,4 @@ export {
448
448
  renderClassDiagram,
449
449
  renderClassDiagramForExport
450
450
  };
451
- //# sourceMappingURL=chunk-X3ON4M5S.js.map
451
+ //# sourceMappingURL=chunk-CBPFVH3N.js.map
@@ -312,7 +312,7 @@ function computeNodeSize(node, reserveValueRow) {
312
312
  return { width: w, height: Math.max(NODE_HEIGHT, totalHeight) };
313
313
  }
314
314
  async function layoutBoxesAndLines(parsed, collapseInfo, layoutOptions) {
315
- const { layoutBoxesAndLinesSearch } = await import("./layout-search-6CVR2MTZ.js");
315
+ const { layoutBoxesAndLinesSearch } = await import("./layout-search-N6NQI5OQ.js");
316
316
  const searchOpts = {
317
317
  ...layoutOptions?.hideDescriptions !== void 0 && {
318
318
  hideDescriptions: layoutOptions.hideDescriptions
@@ -468,4 +468,4 @@ export {
468
468
  computeNodeSize,
469
469
  layoutBoxesAndLines
470
470
  };
471
- //# sourceMappingURL=chunk-3M6MKHIQ.js.map
471
+ //# sourceMappingURL=chunk-CC6XIQDE.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-6VJCURWU.js";
12
12
  import {
13
13
  renderIntegratedLegend
14
- } from "./chunk-44GBBTMU.js";
14
+ } from "./chunk-N7PF5IRF.js";
15
15
  import {
16
16
  getLegendExtent,
17
17
  getMaxLegendReservedHeight
@@ -23,7 +23,7 @@ import {
23
23
  resolveActiveTagGroup,
24
24
  resolveTagColor,
25
25
  tagAttrKey
26
- } from "./chunk-D5FANMSG.js";
26
+ } from "./chunk-3LMUMAUS.js";
27
27
  import {
28
28
  measureText,
29
29
  wrapTextToWidth
@@ -1128,4 +1128,4 @@ export {
1128
1128
  sketchEdgeGeometry,
1129
1129
  renderSketchForExport
1130
1130
  };
1131
- //# sourceMappingURL=chunk-G3L4GWLA.js.map
1131
+ //# sourceMappingURL=chunk-CZIFUXI2.js.map
@@ -0,0 +1,232 @@
1
+ // src/utils/svg-embed.ts
2
+ function normalizeSvgForEmbed(input, opts = {}) {
3
+ let svg = input;
4
+ if ((opts.background ?? "transparent") === "transparent") {
5
+ svg = stripRootBackground(svg);
6
+ }
7
+ const rootMatch = svg.match(/<svg[^>]*>/);
8
+ const rootTag = rootMatch?.[0] ?? "";
9
+ if (rootTag && !rootTag.includes("viewBox")) {
10
+ const wh = rootTag.match(/width="(\d+)"[^>]*height="(\d+)"/);
11
+ if (wh) {
12
+ svg = svg.replace(/<svg/, `<svg viewBox="0 0 ${wh[1]} ${wh[2]}"`);
13
+ }
14
+ }
15
+ const tight = computeBBox(svg);
16
+ if (tight && tight.width > 0 && tight.height > 0) {
17
+ const pad = 16;
18
+ const x = tight.x - pad;
19
+ const y = tight.y - pad;
20
+ const w = tight.width + pad * 2;
21
+ const h = tight.height + pad * 2;
22
+ const canvas = readViewBox(svg);
23
+ const TOL = 2;
24
+ const MIN_COVERAGE = 0.5;
25
+ const trustworthy = !canvas || x >= canvas.x - TOL && y >= canvas.y - TOL && x + w <= canvas.x + canvas.width + TOL && y + h <= canvas.y + canvas.height + TOL && w >= canvas.width * MIN_COVERAGE && h >= canvas.height * MIN_COVERAGE;
26
+ if (trustworthy) {
27
+ const vb = `${x} ${y} ${w} ${h}`;
28
+ svg = svg.replace(/(<svg[^>]*?)viewBox="[^"]*"/, `$1viewBox="${vb}"`);
29
+ }
30
+ }
31
+ svg = svg.replace(/(<svg[^>]*?) width="[^"]*"/g, "$1");
32
+ svg = svg.replace(/(<svg[^>]*?) height="[^"]*"/g, "$1");
33
+ svg = svg.replace(/<svg\s{2,}/g, "<svg ");
34
+ return svg;
35
+ }
36
+ var BG_MEANINGFUL_TYPES = /* @__PURE__ */ new Set(["map"]);
37
+ function defaultEmbedBackground(chartType) {
38
+ return chartType && BG_MEANINGFUL_TYPES.has(chartType) ? "opaque" : "transparent";
39
+ }
40
+ function stripRootBackground(svg) {
41
+ const rootMatch = svg.match(/<svg\b[^>]*>/);
42
+ if (!rootMatch) return svg;
43
+ const rootTag = rootMatch[0];
44
+ const styleMatch = rootTag.match(/style="([^"]*)"/);
45
+ const style = styleMatch?.[1] ?? "";
46
+ const bgMatch = style.match(/background:\s*([^;]+)/);
47
+ const bgColor = bgMatch ? normalizeColor(bgMatch[1]) : null;
48
+ const canvas = rootCanvas(rootTag, svg);
49
+ let out = svg;
50
+ if (bgMatch) {
51
+ const cleaned = style.replace(/background:\s*[^;]+;?/i, "").replace(/\s{2,}/g, " ").replace(/;\s*$/, "").trim();
52
+ const newRoot = (cleaned ? rootTag.replace(/style="[^"]*"/, `style="${cleaned}"`) : rootTag.replace(/\s*style="[^"]*"/, "")).replace(/<svg\s{2,}/, "<svg ");
53
+ out = out.replace(rootTag, newRoot);
54
+ }
55
+ if (bgColor && canvas) {
56
+ out = out.replace(
57
+ /<rect\b[^>]*?\/?>(?:\s*<\/rect>)?/g,
58
+ (m) => isFullCanvasFill(m, bgColor, canvas) ? "" : m
59
+ );
60
+ }
61
+ return out;
62
+ }
63
+ function isFullCanvasFill(tag, bgColor, canvas) {
64
+ const fm = tag.match(/\bfill="([^"]*)"/);
65
+ if (!fm || normalizeColor(fm[1]) !== bgColor) return false;
66
+ const w = numAttr(tag, "width");
67
+ const h = numAttr(tag, "height");
68
+ if (w === null || h === null) return false;
69
+ const x = numAttr(tag, "x") ?? 0;
70
+ const y = numAttr(tag, "y") ?? 0;
71
+ const T = 1.5;
72
+ return Math.abs(x) <= T && Math.abs(y) <= T && Math.abs(w - canvas.w) <= T && Math.abs(h - canvas.h) <= T;
73
+ }
74
+ function rootCanvas(rootTag, svg) {
75
+ const wm = rootTag.match(/\bwidth="([\d.]+)"/);
76
+ const hm = rootTag.match(/\bheight="([\d.]+)"/);
77
+ if (wm && hm) return { w: parseFloat(wm[1]), h: parseFloat(hm[1]) };
78
+ const vb = readViewBox(svg);
79
+ return vb ? { w: vb.width, h: vb.height } : null;
80
+ }
81
+ function numAttr(tag, name) {
82
+ const m = tag.match(new RegExp(`\\b${name}="([^"]*)"`));
83
+ if (!m) return null;
84
+ const n = parseFloat(m[1]);
85
+ return Number.isFinite(n) ? n : null;
86
+ }
87
+ function normalizeColor(c) {
88
+ const s = c.trim().toLowerCase();
89
+ const hex6 = s.match(/^#([0-9a-f]{6})$/);
90
+ if (hex6) {
91
+ const n = parseInt(hex6[1], 16);
92
+ return `${n >> 16 & 255},${n >> 8 & 255},${n & 255}`;
93
+ }
94
+ const hex3 = s.match(/^#([0-9a-f]{3})$/);
95
+ if (hex3) {
96
+ const [r, g, b] = hex3[1].split("").map((ch) => parseInt(ch + ch, 16));
97
+ return `${r},${g},${b}`;
98
+ }
99
+ const rgb = s.match(/^rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/);
100
+ if (rgb) return `${+rgb[1]},${+rgb[2]},${+rgb[3]}`;
101
+ return null;
102
+ }
103
+ function getEmbedSvgViewBox(svg) {
104
+ const tight = computeBBox(svg);
105
+ if (!tight || tight.width <= 0 || tight.height <= 0) return null;
106
+ const pad = 16;
107
+ return {
108
+ x: tight.x - pad,
109
+ y: tight.y - pad,
110
+ width: tight.width + pad * 2,
111
+ height: tight.height + pad * 2
112
+ };
113
+ }
114
+ function readViewBox(svg) {
115
+ const m = svg.match(/<svg[^>]*?\bviewBox="([^"]+)"/);
116
+ if (!m) return null;
117
+ const n = m[1].trim().split(/[\s,]+/).map(Number);
118
+ if (n.length !== 4 || n.some((v) => !Number.isFinite(v)) || n[2] <= 0 || n[3] <= 0)
119
+ return null;
120
+ return { x: n[0], y: n[1], width: n[2], height: n[3] };
121
+ }
122
+ function computeBBox(svg) {
123
+ const xs = [];
124
+ const ys = [];
125
+ function push(x, y) {
126
+ if (Number.isFinite(x) && Number.isFinite(y)) {
127
+ xs.push(x);
128
+ ys.push(y);
129
+ }
130
+ }
131
+ function attr(tag, name) {
132
+ const m = tag.match(new RegExp(`\\b${name}="([^"]*)"`));
133
+ if (!m) return null;
134
+ const n = parseFloat(m[1]);
135
+ return Number.isFinite(n) ? n : null;
136
+ }
137
+ for (const m of svg.matchAll(/<rect\b[^>]*?\/?>/g)) {
138
+ const tag = m[0];
139
+ const x = attr(tag, "x");
140
+ const y = attr(tag, "y");
141
+ const w = attr(tag, "width");
142
+ const h = attr(tag, "height");
143
+ if (x !== null && y !== null && w !== null && h !== null) {
144
+ push(x, y);
145
+ push(x + w, y + h);
146
+ }
147
+ }
148
+ for (const m of svg.matchAll(/<line\b[^>]*?\/?>/g)) {
149
+ const tag = m[0];
150
+ const x1 = attr(tag, "x1");
151
+ const y1 = attr(tag, "y1");
152
+ const x2 = attr(tag, "x2");
153
+ const y2 = attr(tag, "y2");
154
+ if (x1 !== null && y1 !== null && x2 !== null && y2 !== null) {
155
+ push(x1, y1);
156
+ push(x2, y2);
157
+ }
158
+ }
159
+ for (const m of svg.matchAll(/<circle\b[^>]*?\/?>/g)) {
160
+ const tag = m[0];
161
+ const cx = attr(tag, "cx");
162
+ const cy = attr(tag, "cy");
163
+ const r = attr(tag, "r");
164
+ if (cx !== null && cy !== null && r !== null) {
165
+ push(cx - r, cy - r);
166
+ push(cx + r, cy + r);
167
+ }
168
+ }
169
+ for (const m of svg.matchAll(/<ellipse\b[^>]*?\/?>/g)) {
170
+ const tag = m[0];
171
+ const cx = attr(tag, "cx");
172
+ const cy = attr(tag, "cy");
173
+ const rx = attr(tag, "rx");
174
+ const ry = attr(tag, "ry");
175
+ if (cx !== null && cy !== null && rx !== null && ry !== null) {
176
+ push(cx - rx, cy - ry);
177
+ push(cx + rx, cy + ry);
178
+ }
179
+ }
180
+ for (const m of svg.matchAll(/<text\b([^>]*?)>([\s\S]*?)<\/text>/g)) {
181
+ const tag = `<text${m[1]}>`;
182
+ const text = m[2].replace(/<[^>]+>/g, "");
183
+ const x = attr(tag, "x");
184
+ const y = attr(tag, "y");
185
+ if (x !== null && y !== null) {
186
+ const fontSize = attr(tag, "font-size") ?? (() => {
187
+ const s = tag.match(/font-size:\s*([\d.]+)/);
188
+ return s ? parseFloat(s[1]) : 14;
189
+ })();
190
+ const w = text.length * fontSize * 0.5;
191
+ const anchor = tag.match(/\btext-anchor="([^"]*)"/)?.[1] ?? "start";
192
+ const left = anchor === "middle" ? x - w / 2 : anchor === "end" ? x - w : x;
193
+ const right = anchor === "middle" ? x + w / 2 : anchor === "end" ? x : x + w;
194
+ push(left, y - fontSize * 0.9);
195
+ push(right, y + fontSize * 0.25);
196
+ }
197
+ }
198
+ for (const m of svg.matchAll(/<path\b[^>]*?>/g)) {
199
+ const tag = m[0];
200
+ if (tag.includes("data-embed-ignore-bbox")) continue;
201
+ const dm = tag.match(/\bd="([^"]+)"/);
202
+ if (!dm) continue;
203
+ const d = dm[1];
204
+ const nums = d.match(/-?\d+(?:\.\d+)?/g);
205
+ if (!nums) continue;
206
+ for (let i = 0; i + 1 < nums.length; i += 2) {
207
+ push(parseFloat(nums[i]), parseFloat(nums[i + 1]));
208
+ }
209
+ }
210
+ for (const m of svg.matchAll(
211
+ /<(?:polygon|polyline)\b[^>]*?\bpoints="([^"]+)"/g
212
+ )) {
213
+ const nums = m[1].match(/-?\d+(?:\.\d+)?/g);
214
+ if (!nums) continue;
215
+ for (let i = 0; i + 1 < nums.length; i += 2) {
216
+ push(parseFloat(nums[i]), parseFloat(nums[i + 1]));
217
+ }
218
+ }
219
+ if (xs.length === 0 || ys.length === 0) return null;
220
+ const minX = Math.min(...xs);
221
+ const maxX = Math.max(...xs);
222
+ const minY = Math.min(...ys);
223
+ const maxY = Math.max(...ys);
224
+ return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };
225
+ }
226
+
227
+ export {
228
+ normalizeSvgForEmbed,
229
+ defaultEmbedBackground,
230
+ getEmbedSvgViewBox
231
+ };
232
+ //# sourceMappingURL=chunk-D3K4U3ZM.js.map
@@ -8,7 +8,7 @@ import {
8
8
  stripDefaultModifier,
9
9
  tagAttrKey,
10
10
  validateTagGroupNames
11
- } from "./chunk-D5FANMSG.js";
11
+ } from "./chunk-3LMUMAUS.js";
12
12
  import {
13
13
  JOURNEY_MAP_REGISTRY,
14
14
  OPTION_NOCOLON_RE,
@@ -19,7 +19,7 @@ import {
19
19
  splitNameAndMeta,
20
20
  warnUnknownMetaKeys,
21
21
  withTagAliases
22
- } from "./chunk-3KOPPSUQ.js";
22
+ } from "./chunk-E7HANW62.js";
23
23
  import {
24
24
  resolveColorWithDiagnostic
25
25
  } from "./chunk-EXNKNJ65.js";
@@ -405,4 +405,4 @@ function parseStepLine(trimmed, lineNumber, counter, aliasMap, warn, diagnostics
405
405
  export {
406
406
  parseJourneyMap
407
407
  };
408
- //# sourceMappingURL=chunk-RQGNELB3.js.map
408
+ //# sourceMappingURL=chunk-DWAQXY6T.js.map
@@ -13,17 +13,17 @@ import {
13
13
  } from "./chunk-CQ7Y3O67.js";
14
14
  import {
15
15
  renderIntegratedLegend
16
- } from "./chunk-44GBBTMU.js";
16
+ } from "./chunk-N7PF5IRF.js";
17
17
  import {
18
18
  FONT_FAMILY
19
19
  } from "./chunk-6KFWC4CO.js";
20
20
  import {
21
21
  parseTimelineDate
22
- } from "./chunk-4MJOBVY7.js";
22
+ } from "./chunk-KNCY7YHC.js";
23
23
  import {
24
24
  resolveTagColor,
25
25
  tagAttrKey
26
- } from "./chunk-D5FANMSG.js";
26
+ } from "./chunk-3LMUMAUS.js";
27
27
  import {
28
28
  LEGEND_CAPSULE_PAD,
29
29
  LEGEND_DOT_R,
@@ -1670,4 +1670,4 @@ export {
1670
1670
  formatDateLabel,
1671
1671
  renderTimeline
1672
1672
  };
1673
- //# sourceMappingURL=chunk-KRKU6WRS.js.map
1673
+ //# sourceMappingURL=chunk-DWMJLEBT.js.map
@@ -16,13 +16,13 @@ import {
16
16
  } from "./chunk-WGC42WJU.js";
17
17
  import {
18
18
  formatDateLabel
19
- } from "./chunk-KRKU6WRS.js";
19
+ } from "./chunk-DWMJLEBT.js";
20
20
  import {
21
21
  layoutInlineHeader
22
22
  } from "./chunk-6VJCURWU.js";
23
23
  import {
24
24
  renderIntegratedLegend
25
- } from "./chunk-44GBBTMU.js";
25
+ } from "./chunk-N7PF5IRF.js";
26
26
  import {
27
27
  getLegendExtent
28
28
  } from "./chunk-ES66QH6J.js";
@@ -36,11 +36,11 @@ import {
36
36
  } from "./chunk-6KFWC4CO.js";
37
37
  import {
38
38
  parseTimelineDate
39
- } from "./chunk-4MJOBVY7.js";
39
+ } from "./chunk-KNCY7YHC.js";
40
40
  import {
41
41
  resolveActiveTagGroup,
42
42
  resolveTagColor
43
- } from "./chunk-D5FANMSG.js";
43
+ } from "./chunk-3LMUMAUS.js";
44
44
  import {
45
45
  CHAR_WIDTH_RATIO,
46
46
  wrapTextToWidth
@@ -1157,4 +1157,4 @@ export {
1157
1157
  focusEventLine,
1158
1158
  renderEventLineForExport
1159
1159
  };
1160
- //# sourceMappingURL=chunk-VS7DGDT3.js.map
1160
+ //# sourceMappingURL=chunk-DZUDSGGQ.js.map
@@ -0,0 +1,65 @@
1
+ import {
2
+ MONO_FAMILY
3
+ } from "./chunk-EDJYIQZM.js";
4
+ import {
5
+ FONT_FAMILY
6
+ } from "./chunk-6KFWC4CO.js";
7
+ import {
8
+ truncateText
9
+ } from "./chunk-4ASYQ347.js";
10
+
11
+ // src/live-link/renderer.ts
12
+ var W = 560;
13
+ var PAD = 28;
14
+ var CONTENT_X = PAD + 40;
15
+ var CONTENT_W = W - CONTENT_X - PAD;
16
+ var HEADLINE_FS = 18;
17
+ var SUBTITLE_FS = 13;
18
+ var ID_FS = 13;
19
+ var SUBTITLE = "Live link published at Diagrammo Cloud";
20
+ function renderLiveLinkCard(parsed, palette, theme) {
21
+ const isTransparent = theme === "transparent";
22
+ const parts = [];
23
+ let y = PAD + 18;
24
+ parts.push(cloudGlyph(PAD, y - 14, 24, palette.textMuted));
25
+ const headline = parsed.title ?? parsed.id ?? "Unresolved live link";
26
+ const headlineMono = parsed.title === null && parsed.id !== null;
27
+ parts.push(
28
+ `<text x="${CONTENT_X}" y="${y}" fill="${palette.text}" font-family="${headlineMono ? MONO_FAMILY : FONT_FAMILY}" font-size="${HEADLINE_FS}" font-weight="${headlineMono ? 500 : 700}">${escapeXml(truncateText(headline, HEADLINE_FS, CONTENT_W))}</text>`
29
+ );
30
+ y += 30;
31
+ parts.push(
32
+ `<text x="${CONTENT_X}" y="${y}" fill="${palette.textMuted}" font-family="${FONT_FAMILY}" font-size="${SUBTITLE_FS}">${escapeXml(SUBTITLE)}</text>`
33
+ );
34
+ y += 22;
35
+ if (parsed.title !== null && parsed.id !== null) {
36
+ parts.push(
37
+ `<text x="${CONTENT_X}" y="${y}" fill="${palette.textMuted}" font-family="${MONO_FAMILY}" font-size="${ID_FS}">${escapeXml(
38
+ truncateText(parsed.id, ID_FS, CONTENT_W)
39
+ )}</text>`
40
+ );
41
+ y += 22;
42
+ }
43
+ const height = Math.round(y + PAD - 12);
44
+ const pageBg = isTransparent ? "" : `<rect width="100%" height="100%" fill="${palette.bg}"/>`;
45
+ return [
46
+ `<svg xmlns="http://www.w3.org/2000/svg" width="${W}" height="${height}" viewBox="0 0 ${W} ${height}" preserveAspectRatio="xMidYMid meet" font-family="${FONT_FAMILY}">`,
47
+ pageBg,
48
+ `<rect x="0.5" y="0.5" width="${W - 1}" height="${height - 1}" rx="10" fill="${palette.surface}" stroke="${palette.border}" stroke-width="1"/>`,
49
+ parts.join(""),
50
+ `</svg>`
51
+ ].join("");
52
+ }
53
+ function cloudGlyph(x, y, size, color) {
54
+ const s = size / 24;
55
+ const d = "M6.5 19a4.5 4.5 0 0 1-.6-8.96A6 6 0 0 1 17.6 8.7 4.15 4.15 0 0 1 17.5 19Z";
56
+ return `<path transform="translate(${x},${y}) scale(${s})" d="${d}" fill="none" stroke="${color}" stroke-width="1.6" stroke-linejoin="round"/>`;
57
+ }
58
+ function escapeXml(s) {
59
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
60
+ }
61
+
62
+ export {
63
+ renderLiveLinkCard
64
+ };
65
+ //# sourceMappingURL=chunk-E55OZDFH.js.map