@diagrammo/dgmo 0.92.1 → 0.94.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 (174) hide show
  1. package/dist/advanced.d.ts +103 -38
  2. package/dist/advanced.js +457 -423
  3. package/dist/block.d.ts +2 -2
  4. package/dist/block.js +75 -70
  5. package/dist/{chart-meta-BBqLnv5q.d.ts → chart-meta-BbjsRY7o.d.ts} +2 -2
  6. package/dist/chart-meta.d.ts +3 -3
  7. package/dist/chart-meta.js +25 -19
  8. package/dist/{chart-types-CbXlZFLd.d.ts → chart-types-Cppnp31G.d.ts} +173 -4
  9. package/dist/{charts-d3-QUUDVETP.js → charts-d3-SZV2SFTM.js} +7 -6
  10. package/dist/{chunk-ADNIO3XY.js → chunk-2FDQEQID.js} +5 -5
  11. package/dist/{chunk-QUGC7GWB.js → chunk-2HSHWPTO.js} +15 -15
  12. package/dist/{chunk-L5NW3PVL.js → chunk-2I4UQG7W.js} +1 -1
  13. package/dist/{chunk-2YAFDND3.js → chunk-2MS623GW.js} +4 -6
  14. package/dist/{chunk-73EYNV4O.js → chunk-2XMTZ5JR.js} +4 -6
  15. package/dist/{chunk-ZJAK6C7Y.js → chunk-3PP746YM.js} +6 -1
  16. package/dist/{chunk-MDVJYRJT.js → chunk-3TWBMU7K.js} +22 -22
  17. package/dist/{chunk-FTUMRSGT.js → chunk-3ZP3QC47.js} +8 -288
  18. package/dist/{chunk-J2E7EUER.js → chunk-4EX4OKGZ.js} +86 -23
  19. package/dist/{chunk-Y2V5AEVG.js → chunk-4SP6OUO7.js} +1952 -1824
  20. package/dist/{chunk-HIWHIYLD.js → chunk-4TEPDQHJ.js} +19 -19
  21. package/dist/{chunk-DEFBUZWV.js → chunk-5HAYT43L.js} +70 -54
  22. package/dist/{chunk-6WVX4KNP.js → chunk-5ZUZZDW5.js} +97 -297
  23. package/dist/{chunk-X5BUX2GK.js → chunk-6JCTW74W.js} +7 -5
  24. package/dist/{chunk-Q6W2K33N.js → chunk-6XLMTAEX.js} +1 -1
  25. package/dist/{chunk-ONYO5WJW.js → chunk-7IOZ6JE4.js} +21 -21
  26. package/dist/chunk-7SXV7NUS.js +416 -0
  27. package/dist/{chunk-NPWVOFB3.js → chunk-7WEYXYLC.js} +1 -1
  28. package/dist/{chunk-GE7ICBX6.js → chunk-AM42TLSZ.js} +102 -97
  29. package/dist/{chunk-WLLO3PZ3.js → chunk-AYUSD4Z6.js} +45 -19
  30. package/dist/{chunk-45QUTYPD.js → chunk-B25IWGDH.js} +69 -20
  31. package/dist/{chunk-JKST4RTT.js → chunk-BH2SF4TT.js} +6 -6
  32. package/dist/{chunk-6OIMUSDX.js → chunk-C6G36F5S.js} +9 -9
  33. package/dist/{chunk-DRFGIOZ6.js → chunk-CIHHTS5B.js} +4 -6
  34. package/dist/chunk-CYTFO2LF.js +209 -0
  35. package/dist/{chunk-Q2UFOKPB.js → chunk-DDIOWNHS.js} +22 -22
  36. package/dist/{chunk-Q6ZQX2HX.js → chunk-DLJJOCIT.js} +4 -6
  37. package/dist/{chunk-26BBJUBW.js → chunk-DNM3XZCK.js} +4 -6
  38. package/dist/{chunk-AUS7V54P.js → chunk-ERT7XDQW.js} +1 -1
  39. package/dist/{chunk-7ENDOHAA.js → chunk-FMAVHTYB.js} +919 -927
  40. package/dist/{chunk-URQIWIKX.js → chunk-FWVE373X.js} +4 -4
  41. package/dist/{chunk-VOR32OHN.js → chunk-G3HZ4PGE.js} +13 -15
  42. package/dist/{chunk-RBFJT23E.js → chunk-GWQRTA5W.js} +6 -6
  43. package/dist/chunk-GXCDD6NG.js +24 -0
  44. package/dist/{chunk-3PFMGNOM.js → chunk-HHVIE45A.js} +26 -11
  45. package/dist/{chunk-MXAP37W6.js → chunk-HI6R27YA.js} +16 -7
  46. package/dist/{chunk-QQPNCXAO.js → chunk-I37S3EZE.js} +18 -18
  47. package/dist/{chunk-YITHYQCL.js → chunk-IGJEKO2P.js} +8 -8
  48. package/dist/{chunk-BZX7QCXJ.js → chunk-IHN6WDEY.js} +15 -15
  49. package/dist/{chunk-QT3KDDXK.js → chunk-IN7XI6NO.js} +0 -7
  50. package/dist/{chunk-4QLGGQNO.js → chunk-IZHGT5HD.js} +44 -18
  51. package/dist/{chunk-5SSTVFPX.js → chunk-JT2BG7LM.js} +5 -7
  52. package/dist/{chunk-2BJW7FSF.js → chunk-KBEWVCK3.js} +1 -1
  53. package/dist/{chunk-DUPZ2BBY.js → chunk-KBHT5XEY.js} +143 -6
  54. package/dist/{chunk-V4D2ZQBE.js → chunk-KRPLP5LP.js} +6 -1
  55. package/dist/{chunk-QKY6W4NA.js → chunk-KSZB7TIY.js} +25 -25
  56. package/dist/{chunk-6ZL2XYM7.js → chunk-MLY5ALOV.js} +6 -6
  57. package/dist/{chunk-VSOZZYLK.js → chunk-NERQSSYD.js} +20 -9
  58. package/dist/{chunk-OQW4ETJX.js → chunk-NM5V5EKY.js} +6 -1
  59. package/dist/{chunk-EBSFSOJC.js → chunk-NOQB4KMV.js} +22 -22
  60. package/dist/{chunk-6BNNLVAR.js → chunk-NPDVWFAQ.js} +6 -1
  61. package/dist/{chunk-FSJ3ZA6N.js → chunk-OSSTOSXU.js} +12 -12
  62. package/dist/chunk-P7TRFL4P.js +54 -0
  63. package/dist/{chunk-A4PNWAUW.js → chunk-PGSGJLUR.js} +6 -1
  64. package/dist/{chunk-S7W75MIM.js → chunk-QKPOIJBT.js} +23 -5
  65. package/dist/{chunk-YO6AQU4A.js → chunk-QPQWY5RU.js} +12 -12
  66. package/dist/{chunk-NREU4JFE.js → chunk-RBVFNUAL.js} +6 -8
  67. package/dist/{chunk-5EBYPETE.js → chunk-RESEJSCV.js} +3 -5
  68. package/dist/{chunk-BRSM6Z34.js → chunk-RITTLIDJ.js} +14 -14
  69. package/dist/{chunk-MX4SZLSV.js → chunk-S5Y3OO3V.js} +16 -8
  70. package/dist/{chunk-O5WUZGPV.js → chunk-TASRGDYP.js} +18 -18
  71. package/dist/{chunk-HXULJZA2.js → chunk-TDAGJJPZ.js} +6 -1
  72. package/dist/chunk-UCHZJJIT.js +421 -0
  73. package/dist/{chunk-42UJ23H3.js → chunk-UIEKW4SG.js} +1 -0
  74. package/dist/{chunk-WFA6IULY.js → chunk-URRAWU5D.js} +5 -0
  75. package/dist/{chunk-IGKFOHBG.js → chunk-VBMRZCMQ.js} +13 -13
  76. package/dist/{chunk-JRWUHLRP.js → chunk-VDY2GR6U.js} +51 -8
  77. package/dist/{chunk-EJS3K44P.js → chunk-VGAMBOOC.js} +5 -3
  78. package/dist/{chunk-B5PEKSRH.js → chunk-VSAKEMDD.js} +6 -1
  79. package/dist/chunk-WTTIODDV.js +9 -0
  80. package/dist/{chunk-JLU52ZDT.js → chunk-XJQ6Z3FO.js} +10 -10
  81. package/dist/{chunk-KTGZDMDX.js → chunk-XKCRKD2B.js} +140 -53
  82. package/dist/{chunk-LRP5FXST.js → chunk-YQMIKX54.js} +61 -24
  83. package/dist/{chunk-H5UEVW6Q.js → chunk-ZD3QCNB7.js} +1 -1
  84. package/dist/clock.js +168 -0
  85. package/dist/completion-registry.js +3 -1
  86. package/dist/countdown.js +36 -395
  87. package/dist/{dgmo-router-4UAPPIKN.js → dgmo-router-E5O7RJSW.js} +50 -43
  88. package/dist/{dimensions-SCNVYLRF.js → dimensions-DS6FWLRY.js} +3 -3
  89. package/dist/{d3-BThYBTQk.d.ts → export-context-Ceh3wr0E.d.ts} +2 -8
  90. package/dist/{flowchart-parser-NA75YQ77.js → flowchart-parser-NZXASOZG.js} +8 -3
  91. package/dist/{flowchart-renderer-6MGGX4RC.js → flowchart-renderer-PTCRIANF.js} +17 -19
  92. package/dist/index.d.ts +8 -7
  93. package/dist/index.js +80 -74
  94. package/dist/{layout-MBVBAMPA.js → layout-3TSVAGWH.js} +2 -2
  95. package/dist/layout-ISSBWBH7.js +24 -0
  96. package/dist/layout-IT4ZTV6C.js +24 -0
  97. package/dist/{layout-BNLFQHSB.js → layout-U3AH6M7J.js} +9 -10
  98. package/dist/layout-VC3MXRB4.js +29 -0
  99. package/dist/layout-VDCJOZSH.js +11 -0
  100. package/dist/{layout-search-PMYL3VWS.js → layout-search-BBX2BMEF.js} +11 -12
  101. package/dist/{palettes-IN7ZFRJM.js → palettes-4Y7CL2QL.js} +4 -2
  102. package/dist/{parser-QYISOAGR.js → parser-4RFY7D52.js} +8 -3
  103. package/dist/{parser-3MK56JZC.js → parser-4Y6PODW6.js} +2 -2
  104. package/dist/{parser-GX5YLRIP.js → parser-7QKQ4P4P.js} +8 -3
  105. package/dist/{parser-2NWH5JUS.js → parser-A3AN76RQ.js} +2 -1
  106. package/dist/{parser-LCJ76UXS.js → parser-BT4NI6JY.js} +5 -1
  107. package/dist/{parser-FXDS4JDK.js → parser-F7NDRPMA.js} +2 -2
  108. package/dist/{parser-BES6LV3G.js → parser-GDLKUBTO.js} +5 -1
  109. package/dist/{parser-SEUTXN6U.js → parser-KJPPUN4D.js} +2 -2
  110. package/dist/{parser-SIKL4PLF.js → parser-KMKVFET2.js} +5 -1
  111. package/dist/{parser-5LW5JDYG.js → parser-NL73FSFI.js} +5 -1
  112. package/dist/{parser-VA7ZQQTA.js → parser-NUU3DVW4.js} +5 -1
  113. package/dist/{parser-XZUKNZPB.js → parser-R3LPEQIT.js} +7 -1
  114. package/dist/{parser-X23GRTQJ.js → parser-RCIEKN7Y.js} +5 -1
  115. package/dist/{parser-L6RWDXQN.js → parser-TAYRTCPR.js} +8 -3
  116. package/dist/redraw-AHW7EUUF.js +1698 -0
  117. package/dist/redraw-STZ4WJAI.js +73 -0
  118. package/dist/{renderer-LM4ICK6I.js → renderer-2LYX6NHN.js} +4 -5
  119. package/dist/{renderer-NHTR7IRR.js → renderer-3NLDX7DQ.js} +4 -5
  120. package/dist/{renderer-TO2NVJP3.js → renderer-4SE7R22T.js} +50 -45
  121. package/dist/{renderer-3IHQI4A4.js → renderer-53B523PM.js} +11 -10
  122. package/dist/{renderer-3JY6JAQJ.js → renderer-7OGGV327.js} +5 -6
  123. package/dist/{renderer-2FVUPBGV.js → renderer-AM7P4LN7.js} +1 -1
  124. package/dist/{renderer-5VKPB4LL.js → renderer-BXD5KVSR.js} +5 -5
  125. package/dist/{renderer-OAR5VPH4.js → renderer-DAZWHNLI.js} +2 -2
  126. package/dist/{renderer-WIU5BJUK.js → renderer-DDWDCM2K.js} +2 -2
  127. package/dist/{renderer-3QAFDXEY.js → renderer-FMTLSOCX.js} +16 -12
  128. package/dist/{renderer-JEJT3YET.js → renderer-HX6ICPDX.js} +2 -3
  129. package/dist/{renderer-NDA2FFYB.js → renderer-ISQJ2ELA.js} +5 -5
  130. package/dist/{renderer-XGG2UNXT.js → renderer-IXBOT6DU.js} +3 -4
  131. package/dist/{renderer-S3YCLJKL.js → renderer-J3GPDK73.js} +20 -22
  132. package/dist/{renderer-DVNMCYHZ.js → renderer-J7ZSTJUE.js} +15 -15
  133. package/dist/{renderer-ALWVK3EJ.js → renderer-JJ4QW3SK.js} +6 -6
  134. package/dist/{renderer-RUSFL7WU.js → renderer-JYHA6R2D.js} +8 -7
  135. package/dist/{renderer-5TZVFQ7K.js → renderer-KJ3V5BYP.js} +7 -8
  136. package/dist/{renderer-RSK6QFWN.js → renderer-LNP23NSM.js} +7 -9
  137. package/dist/{renderer-ZHGHTSNG.js → renderer-M5DUMITP.js} +13 -12
  138. package/dist/{renderer-O6DY46AV.js → renderer-MWZC7TMD.js} +7 -7
  139. package/dist/{renderer-DC7C5Q3G.js → renderer-NOYLNVTI.js} +2 -2
  140. package/dist/{renderer-ISSDGK54.js → renderer-O6RP52CQ.js} +3 -3
  141. package/dist/{renderer-ZGY7P4BM.js → renderer-OUDHH5MV.js} +19 -22
  142. package/dist/{renderer-QGIHLZOJ.js → renderer-PHLCYVSN.js} +9 -10
  143. package/dist/{renderer-VPIELEE5.js → renderer-QTPWRRJ7.js} +8 -9
  144. package/dist/{renderer-LQP3AGEJ.js → renderer-RUSQJFFC.js} +3 -4
  145. package/dist/{renderer-MM27BSBO.js → renderer-TINHO2IO.js} +3 -4
  146. package/dist/{renderer-7ZZG5HR3.js → renderer-UTEEJDGB.js} +9 -9
  147. package/dist/{renderer-J5FKF423.js → renderer-W4MUMXJE.js} +7 -4
  148. package/dist/{renderer-XO57LTU4.js → renderer-WPN2SXGT.js} +5 -5
  149. package/dist/{renderer-ZZ6MWVB7.js → renderer-XCLARXCK.js} +4 -4
  150. package/dist/{renderer-J666LZXJ.js → renderer-XOWDERU2.js} +8 -8
  151. package/dist/{state-parser-TIR2ORJY.js → state-parser-KPVW5CRI.js} +8 -3
  152. package/dist/{state-renderer-G6SUXU4J.js → state-renderer-ZVEI265C.js} +18 -21
  153. package/dist/{tag-groups-DsoVpAY-.d.ts → tag-groups-DydewK3D.d.ts} +2 -173
  154. package/dist/{themes-DRNjxX7Q.d.ts → themes-DzIH3Hjv.d.ts} +3 -2
  155. package/docs/ai-integration.md +1 -1
  156. package/docs/language-reference.md +23 -2
  157. package/gallery/fixtures/whiteboard.dgmo +3 -0
  158. package/package.json +2 -6
  159. package/dist/chunk-3Y63RFJL.js +0 -75
  160. package/dist/chunk-5DH3KYFH.js +0 -20
  161. package/dist/chunk-O753JUEZ.js +0 -67
  162. package/dist/chunk-RJNZHFNG.js +0 -51
  163. package/dist/chunk-Z6DXWULM.js +0 -23
  164. package/dist/layout-5USEVQBY.js +0 -25
  165. package/dist/layout-J3AGFZZ7.js +0 -10
  166. package/dist/layout-S3RLVPH4.js +0 -25
  167. package/dist/layout-WRG4APSJ.js +0 -32
  168. package/dist/{chunk-DGUGE67L.js → chunk-CDYV46JE.js} +3 -3
  169. package/dist/{chunk-TKAB3FTK.js → chunk-DRQSB72S.js} +11 -11
  170. package/dist/{chunk-ZKP77MB3.js → chunk-FVTYJUXR.js} +5 -5
  171. package/dist/{chunk-MA42PIGJ.js → chunk-H5NVCOEJ.js} +4 -4
  172. package/dist/{chunk-BEA4D7OS.js → chunk-IXHWS2HI.js} +3 -3
  173. package/dist/{chunk-SOHZDW6N.js → chunk-UXNA2H2V.js} +3 -3
  174. package/dist/{chunk-NO3UX6AP.js → chunk-V2NQV7VL.js} +4 -4
@@ -1,19 +1,3 @@
1
- import {
2
- MAP_DIAGNOSTICS
3
- } from "./chunk-EOYPX6SF.js";
4
- import {
5
- parseCountdown
6
- } from "./chunk-2BJW7FSF.js";
7
- import {
8
- parseClock
9
- } from "./chunk-NXU4N5WT.js";
10
- import {
11
- parseBracket
12
- } from "./chunk-2WQ3YZMN.js";
13
- import {
14
- BODY_DIAGNOSTICS,
15
- parseBody
16
- } from "./chunk-JXGSTBW6.js";
17
1
  import {
18
2
  EXTENDED_CHART_DOORS,
19
3
  parseChart,
@@ -23,37 +7,26 @@ import {
23
7
  parseSankey,
24
8
  parseScatter
25
9
  } from "./chunk-H6BT45SN.js";
26
- import {
27
- parseTechRadar
28
- } from "./chunk-EBVVMUAA.js";
29
- import {
30
- parseCycle
31
- } from "./chunk-6BNNLVAR.js";
32
- import {
33
- parseJourneyMap
34
- } from "./chunk-A4PNWAUW.js";
35
10
  import {
36
11
  parsePyramid
37
- } from "./chunk-ZJAK6C7Y.js";
12
+ } from "./chunk-3PP746YM.js";
38
13
  import {
39
14
  parseRing
40
- } from "./chunk-OQW4ETJX.js";
15
+ } from "./chunk-NM5V5EKY.js";
41
16
  import {
42
17
  TREEMAP_DIAGNOSTICS,
43
18
  parseTreemap
44
19
  } from "./chunk-3KVUFHUJ.js";
45
20
  import {
46
- parseBlock
47
- } from "./chunk-BRGRIZQB.js";
21
+ MAP_DIAGNOSTICS
22
+ } from "./chunk-EOYPX6SF.js";
48
23
  import {
49
- parseGoal
50
- } from "./chunk-7PJBJ2DU.js";
24
+ VERSION_CONTROL_DIAGNOSTICS,
25
+ parseVersionControl
26
+ } from "./chunk-2ZW4NBYX.js";
51
27
  import {
52
28
  parseMap
53
29
  } from "./chunk-AULZD45V.js";
54
- import {
55
- parseBoxesAndLines
56
- } from "./chunk-73EYNV4O.js";
57
30
  import {
58
31
  parseSketch
59
32
  } from "./chunk-WZBZXZ6T.js";
@@ -63,18 +36,29 @@ import {
63
36
  import {
64
37
  WHITEBOARD_DIAGNOSTICS,
65
38
  parseWhiteboard
66
- } from "./chunk-DEFBUZWV.js";
39
+ } from "./chunk-5HAYT43L.js";
67
40
  import {
68
41
  SWIMLANE_DIAGNOSTICS,
69
42
  parseSwimlane
70
43
  } from "./chunk-J7Q4AB23.js";
71
- import {
72
- FAMILY_DIAGNOSTICS,
73
- parseFamily
74
- } from "./chunk-R6EGUTIV.js";
75
44
  import {
76
45
  parseMindmap
77
46
  } from "./chunk-XIUGSUE4.js";
47
+ import {
48
+ parseTechRadar
49
+ } from "./chunk-EBVVMUAA.js";
50
+ import {
51
+ parseKanban
52
+ } from "./chunk-LKZCUFOW.js";
53
+ import {
54
+ parseInfra
55
+ } from "./chunk-UXNA2H2V.js";
56
+ import {
57
+ parseJourneyMap
58
+ } from "./chunk-PGSGJLUR.js";
59
+ import {
60
+ parseGoal
61
+ } from "./chunk-7PJBJ2DU.js";
78
62
  import {
79
63
  EVENT_LINE_DIAGNOSTICS,
80
64
  parseEventLine
@@ -83,82 +67,93 @@ import {
83
67
  parseTimelineEventLine
84
68
  } from "./chunk-BQO24BDM.js";
85
69
  import {
86
- VERSION_CONTROL_DIAGNOSTICS,
87
- parseVersionControl
88
- } from "./chunk-2ZW4NBYX.js";
70
+ FAMILY_DIAGNOSTICS,
71
+ parseFamily
72
+ } from "./chunk-R6EGUTIV.js";
89
73
  import {
90
- parseKanban
91
- } from "./chunk-LKZCUFOW.js";
74
+ parseGantt
75
+ } from "./chunk-PVWIBKV2.js";
76
+ import {
77
+ parseClock
78
+ } from "./chunk-NXU4N5WT.js";
79
+ import {
80
+ parseCountdown
81
+ } from "./chunk-KBEWVCK3.js";
82
+ import {
83
+ parseCycle
84
+ } from "./chunk-NPDVWFAQ.js";
85
+ import {
86
+ parseBracket
87
+ } from "./chunk-2WQ3YZMN.js";
92
88
  import {
93
89
  parseC4
94
- } from "./chunk-BEA4D7OS.js";
90
+ } from "./chunk-IXHWS2HI.js";
95
91
  import {
96
- parseInfra
97
- } from "./chunk-SOHZDW6N.js";
92
+ parseBlock
93
+ } from "./chunk-BRGRIZQB.js";
98
94
  import {
99
- parseGantt
100
- } from "./chunk-PVWIBKV2.js";
95
+ BODY_DIAGNOSTICS,
96
+ parseBody
97
+ } from "./chunk-JXGSTBW6.js";
98
+ import {
99
+ parseBoxesAndLines
100
+ } from "./chunk-2XMTZ5JR.js";
101
101
  import {
102
102
  parseDgmoChartType
103
- } from "./chunk-QUGC7GWB.js";
103
+ } from "./chunk-2HSHWPTO.js";
104
104
  import {
105
105
  parseRaci
106
- } from "./chunk-V4D2ZQBE.js";
107
- import {
108
- PERT_DIAGNOSTICS,
109
- parsePert
110
- } from "./chunk-CDM6XMOT.js";
106
+ } from "./chunk-KRPLP5LP.js";
111
107
  import {
112
108
  parseLiveLink
113
109
  } from "./chunk-KBDMEOLI.js";
114
- import {
115
- makeYearContext,
116
- parseDateToken,
117
- resolveTokenYear,
118
- toInternal
119
- } from "./chunk-MKSTL6DR.js";
120
- import {
121
- COLOR_KEYS,
122
- SEMANTIC_KEYS,
123
- validateThemeFile
124
- } from "./chunk-7ENDOHAA.js";
125
110
  import {
126
111
  SEQUENCE_DIAGNOSTICS,
127
112
  parseSequenceDgmo
128
- } from "./chunk-B5PEKSRH.js";
113
+ } from "./chunk-VSAKEMDD.js";
114
+ import {
115
+ parseOrg
116
+ } from "./chunk-5OTA2PUH.js";
117
+ import {
118
+ parseSitemap
119
+ } from "./chunk-ZECJ7Q6C.js";
120
+ import {
121
+ PERT_DIAGNOSTICS,
122
+ parsePert
123
+ } from "./chunk-CDM6XMOT.js";
129
124
  import {
130
125
  parseFlowchart
131
- } from "./chunk-26BBJUBW.js";
126
+ } from "./chunk-DNM3XZCK.js";
132
127
  import {
133
128
  GRAPH_DIAGNOSTICS
134
129
  } from "./chunk-TIVMAITN.js";
135
130
  import {
136
131
  parseState
137
- } from "./chunk-2YAFDND3.js";
132
+ } from "./chunk-2MS623GW.js";
138
133
  import {
139
- parseClassDiagram
140
- } from "./chunk-Q6ZQX2HX.js";
134
+ makeYearContext,
135
+ parseDateToken,
136
+ resolveTokenYear,
137
+ toInternal
138
+ } from "./chunk-MKSTL6DR.js";
139
+ import {
140
+ extractPaletteDirective
141
+ } from "./chunk-CYTFO2LF.js";
141
142
  import {
142
143
  parseERDiagram
143
- } from "./chunk-DRFGIOZ6.js";
144
+ } from "./chunk-CIHHTS5B.js";
145
+ import {
146
+ parseClassDiagram
147
+ } from "./chunk-DLJJOCIT.js";
144
148
  import {
145
149
  ARROW_DIAGNOSTIC_CODES
146
150
  } from "./chunk-N7VMGZCU.js";
147
- import {
148
- parseOrg
149
- } from "./chunk-5OTA2PUH.js";
150
- import {
151
- parseSitemap
152
- } from "./chunk-ZECJ7Q6C.js";
153
151
  import {
154
152
  parseWireframe
155
153
  } from "./chunk-GI5R5B3S.js";
156
154
  import {
157
155
  RACI_DIAGNOSTICS
158
156
  } from "./chunk-4WW3SGMH.js";
159
- import {
160
- BUILT_IN_PALETTE_IDS
161
- } from "./chunk-3UR4F7FE.js";
162
157
  import {
163
158
  matchTagBlockHeading,
164
159
  stripDefaultModifier,
@@ -253,7 +248,7 @@ function parseVisualizationFull(content, palette) {
253
248
  result.error = formatDgmoError(diag);
254
249
  return result;
255
250
  };
256
- const warn2 = (line, message) => {
251
+ const warn = (line, message) => {
257
252
  result.diagnostics.push(makeDgmoError(line, message, "warning"));
258
253
  };
259
254
  if (!content?.trim()) {
@@ -587,7 +582,7 @@ function parseVisualizationFull(content, palette) {
587
582
  lineNumber
588
583
  });
589
584
  } else {
590
- warn2(
585
+ warn(
591
586
  lineNumber,
592
587
  `Unrecognized era entry: "${line}" \u2014 use '<start> -> <end> Label [color]' (e.g. '1716 -> 1717 Reign').`
593
588
  );
@@ -615,7 +610,7 @@ function parseVisualizationFull(content, palette) {
615
610
  lineNumber
616
611
  });
617
612
  } else {
618
- warn2(
613
+ warn(
619
614
  lineNumber,
620
615
  `Unrecognized marker entry: "${line}" \u2014 use '<date> Label [color]' (e.g. '1776 Independence').`
621
616
  );
@@ -729,7 +724,7 @@ function parseVisualizationFull(content, palette) {
729
724
  if (!/^(era|marker|tag|sort|active-tag|swimlanes|no-scale|no-legend|lane-by|fill-tint|fill-solid|fill-outline)\b/i.test(
730
725
  line
731
726
  ) && !line.startsWith("[")) {
732
- warn2(lineNumber, `Expected a date at the start \u2014 e.g., '1718 ${line}'`);
727
+ warn(lineNumber, `Expected a date at the start \u2014 e.g., '1718 ${line}'`);
733
728
  continue;
734
729
  }
735
730
  }
@@ -973,7 +968,7 @@ function parseVisualizationFull(content, palette) {
973
968
  const periodMatch = line.match(/^period\b(.*)$/i);
974
969
  if (periodMatch) {
975
970
  if (result.periods.length > 0 && !inSlopePeriodBlock) {
976
- warn2(
971
+ warn(
977
972
  lineNumber,
978
973
  `Duplicate 'period' directive \u2014 periods are already defined`
979
974
  );
@@ -1030,7 +1025,7 @@ function parseVisualizationFull(content, palette) {
1030
1025
  }
1031
1026
  }
1032
1027
  if (values.length < P) {
1033
- warn2(
1028
+ warn(
1034
1029
  lineNumber,
1035
1030
  `Data row has ${values.length} numeric value(s) but ${P} period(s) are defined \u2014 expected ${P} values`
1036
1031
  );
@@ -1039,7 +1034,7 @@ function parseVisualizationFull(content, palette) {
1039
1034
  const labelTokens = tokens.slice(0, rightIdx + 1);
1040
1035
  const joinedLabel = labelTokens.join(" ");
1041
1036
  if (!joinedLabel) {
1042
- warn2(
1037
+ warn(
1043
1038
  lineNumber,
1044
1039
  `Data row has no label \u2014 add a label before the numeric values`
1045
1040
  );
@@ -1053,14 +1048,14 @@ function parseVisualizationFull(content, palette) {
1053
1048
  palette
1054
1049
  ) ?? null : null;
1055
1050
  if (!labelPart) {
1056
- warn2(
1051
+ warn(
1057
1052
  lineNumber,
1058
1053
  `Data row has no label \u2014 add a label before the numeric values`
1059
1054
  );
1060
1055
  continue;
1061
1056
  }
1062
1057
  if (/^\d[\d,.]*$/.test(labelPart)) {
1063
- warn2(
1058
+ warn(
1064
1059
  lineNumber,
1065
1060
  `Label '${labelPart}' looks numeric \u2014 this may indicate too many values or a missing label`
1066
1061
  );
@@ -1074,7 +1069,7 @@ function parseVisualizationFull(content, palette) {
1074
1069
  continue;
1075
1070
  }
1076
1071
  if (firstLineParsed) {
1077
- warn2(lineNumber, `Unexpected line: '${line}'.`);
1072
+ warn(lineNumber, `Unexpected line: '${line}'.`);
1078
1073
  }
1079
1074
  continue;
1080
1075
  }
@@ -1180,7 +1175,7 @@ function parseVisualizationFull(content, palette) {
1180
1175
  continue;
1181
1176
  }
1182
1177
  if (firstLineParsed) {
1183
- warn2(lineNumber, `Unexpected line: '${line}'.`);
1178
+ warn(lineNumber, `Unexpected line: '${line}'.`);
1184
1179
  }
1185
1180
  }
1186
1181
  if (!result.type) {
@@ -1202,7 +1197,7 @@ function parseVisualizationFull(content, palette) {
1202
1197
  result.words = tokenizeFreeformText(freeformLines.join(" "));
1203
1198
  }
1204
1199
  if (result.words.length === 0) {
1205
- warn2(
1200
+ warn(
1206
1201
  1,
1207
1202
  'No words found. Add words as "word weight" (space-separated), one per line, or paste freeform text'
1208
1203
  );
@@ -1214,14 +1209,14 @@ function parseVisualizationFull(content, palette) {
1214
1209
  }
1215
1210
  if (result.type === "arc") {
1216
1211
  if (result.links.length === 0) {
1217
- warn2(
1212
+ warn(
1218
1213
  1,
1219
1214
  'No links found. Add links as "Source -> Target weight" (e.g., "Alice -> Bob 5")'
1220
1215
  );
1221
1216
  }
1222
1217
  if (result.arcNodeGroups.length > 0) {
1223
1218
  if (result.arcOrder === "name" || result.arcOrder === "degree") {
1224
- warn2(
1219
+ warn(
1225
1220
  1,
1226
1221
  `Cannot use "order ${result.arcOrder}" with [Group] headers. Use "order group" or remove group headers.`
1227
1222
  );
@@ -1235,7 +1230,7 @@ function parseVisualizationFull(content, palette) {
1235
1230
  }
1236
1231
  if (result.type === "timeline") {
1237
1232
  if (result.timelineEvents.length === 0) {
1238
- warn2(
1233
+ warn(
1239
1234
  1,
1240
1235
  'No events found. Add events like "1718 Event Name" or "1716 -> 1717 Event Name"'
1241
1236
  );
@@ -1314,7 +1309,7 @@ function parseVisualizationFull(content, palette) {
1314
1309
  }
1315
1310
  if (result.type === "quadrant") {
1316
1311
  if (result.quadrantPoints.length === 0) {
1317
- warn2(
1312
+ warn(
1318
1313
  1,
1319
1314
  'No data points found. Add points as "Label x, y" (e.g., "Item A 0.5, 0.7")'
1320
1315
  );
@@ -1328,14 +1323,14 @@ function parseVisualizationFull(content, palette) {
1328
1323
  );
1329
1324
  }
1330
1325
  if (result.data.length === 0) {
1331
- warn2(
1326
+ warn(
1332
1327
  1,
1333
1328
  "No data lines found. Add data as 'Label value1 value2' (e.g., 'Blackbeard 40 4')"
1334
1329
  );
1335
1330
  }
1336
1331
  for (const item of result.data) {
1337
1332
  if (item.values.length !== result.periods.length) {
1338
- warn2(
1333
+ warn(
1339
1334
  item.lineNumber,
1340
1335
  `Data item "${item.label}" has ${item.values.length} value(s) but ${result.periods.length} period(s) are defined`
1341
1336
  );
@@ -1468,199 +1463,6 @@ function tokenizeFreeformText(text) {
1468
1463
  return Array.from(counts.entries()).map(([text2, count]) => ({ text: text2, weight: count, lineNumber: 0 })).sort((a, b) => b.weight - a.weight);
1469
1464
  }
1470
1465
 
1471
- // src/palettes/directive.ts
1472
- var PALETTE_LINE_RE = /^palette(?:\s+(.*))?$/;
1473
- var MODES = /* @__PURE__ */ new Set(["light", "dark"]);
1474
- var COLOR_NAMES = new Set(COLOR_KEYS);
1475
- var kebab = (key) => key.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
1476
- var camel = (key) => key.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
1477
- var ROLE_KEYS = new Set(SEMANTIC_KEYS.map(kebab));
1478
- function builtInList() {
1479
- return [...BUILT_IN_PALETTE_IDS].sort().join(", ");
1480
- }
1481
- function warn(line, message, code) {
1482
- return makeDgmoError(line, message, "warning", code);
1483
- }
1484
- function readBlock(name, headerLine, block) {
1485
- const diagnostics = [];
1486
- const sections = {};
1487
- const where = /* @__PURE__ */ new Map();
1488
- let section;
1489
- for (const { line, text } of block) {
1490
- const [key = "", value, ...rest] = text.trim().split(/\s+/);
1491
- if (MODES.has(key) && value === void 0) {
1492
- section = key;
1493
- if (sections[section]) {
1494
- diagnostics.push(
1495
- warn(
1496
- line,
1497
- `The "${section}" section appears twice in palette "${name}".`,
1498
- "W_PALETTE_INVALID"
1499
- )
1500
- );
1501
- }
1502
- sections[section] = { roles: {}, colors: {} };
1503
- where.set(section, line);
1504
- continue;
1505
- }
1506
- if (key === "colors" && value === void 0) continue;
1507
- if (!section) {
1508
- diagnostics.push(
1509
- warn(
1510
- line,
1511
- `"${key}" sits outside a light or dark section of palette "${name}".`,
1512
- "W_PALETTE_INVALID"
1513
- )
1514
- );
1515
- continue;
1516
- }
1517
- if (value === void 0 || rest.length > 0) {
1518
- diagnostics.push(
1519
- warn(
1520
- line,
1521
- `Write "${key}" as one key and one hex colour, e.g. "${key} #282a36".`,
1522
- "W_PALETTE_INVALID"
1523
- )
1524
- );
1525
- continue;
1526
- }
1527
- if (COLOR_NAMES.has(key)) {
1528
- sections[section].colors[key] = value;
1529
- where.set(`${section}.colors.${key}`, line);
1530
- } else {
1531
- const field = ROLE_KEYS.has(key) ? camel(key) : key;
1532
- sections[section].roles[field] = value;
1533
- where.set(`${section}.${field}`, line);
1534
- }
1535
- }
1536
- if (diagnostics.length > 0) return diagnostics;
1537
- const modes = Object.keys(sections);
1538
- const input = {
1539
- id: name.toLowerCase(),
1540
- name,
1541
- ...modes.length === 1 && { mode: modes[0] }
1542
- };
1543
- for (const mode of modes) {
1544
- const { roles, colors } = sections[mode];
1545
- input[mode] = { ...roles, colors };
1546
- }
1547
- const result = validateThemeFile(input);
1548
- if (result.ok) return { palette: result.palette, mode: result.mode };
1549
- return result.errors.map((error) => {
1550
- const field = /^(light|dark)(?:\.colors)?\.(\w+)/.exec(error) ?? /^(light|dark)\b[^:]*: (\w+) /.exec(error);
1551
- const at = field ? where.get(`${field[1]}.colors.${field[2]}`) ?? where.get(`${field[1]}.${field[2]}`) ?? where.get(field[1]) : void 0;
1552
- return warn(
1553
- at ?? headerLine,
1554
- `Palette "${name}" is not drawn \u2014 ${error.replace(/\b(text[A-Z]\w*|[a-z]+[A-Z]\w*)\b/g, kebab)}.`,
1555
- "W_PALETTE_INVALID"
1556
- );
1557
- });
1558
- }
1559
- function extractPaletteDirective(content) {
1560
- if (!/^palette\b/m.test(content)) return { content, diagnostics: [] };
1561
- const lines = content.split("\n");
1562
- const diagnostics = [];
1563
- let paletteId;
1564
- let palette;
1565
- let mode;
1566
- for (let i = 0; i < lines.length; i++) {
1567
- const match = PALETTE_LINE_RE.exec(lines[i].replace(/\r$/, ""));
1568
- if (!match) continue;
1569
- const lineNumber = i + 1;
1570
- lines[i] = "//";
1571
- const block = [];
1572
- let blockEnd = i;
1573
- for (let j = i + 1; j < lines.length; j++) {
1574
- const next = lines[j].replace(/\r$/, "");
1575
- if (next.trim() === "") continue;
1576
- if (!/^\s/.test(next)) break;
1577
- blockEnd = j;
1578
- block.push({ line: j + 1, text: next });
1579
- }
1580
- for (let j = i + 1; j <= blockEnd; j++) lines[j] = "//";
1581
- i = blockEnd;
1582
- const words = (match[1] ?? "").trim().split(/\s+/).filter(Boolean);
1583
- const name = words[0];
1584
- if (!name) {
1585
- diagnostics.push(
1586
- warn(
1587
- lineNumber,
1588
- `"palette" needs a palette name \u2014 one of ${builtInList()}.`,
1589
- "W_PALETTE_UNKNOWN"
1590
- )
1591
- );
1592
- continue;
1593
- }
1594
- if (block.length > 0) {
1595
- if (words.length > 1) {
1596
- diagnostics.push(
1597
- warn(
1598
- lineNumber,
1599
- `An embedded palette takes its name only \u2014 its sections say which modes it has.`,
1600
- "W_PALETTE_MODE_UNKNOWN"
1601
- )
1602
- );
1603
- }
1604
- const read = readBlock(name, lineNumber, block);
1605
- if (Array.isArray(read)) {
1606
- diagnostics.push(...read);
1607
- continue;
1608
- }
1609
- paletteId = void 0;
1610
- palette = read.palette;
1611
- mode = read.mode ?? void 0;
1612
- continue;
1613
- }
1614
- const id = name.toLowerCase();
1615
- if (!BUILT_IN_PALETTE_IDS.has(id)) {
1616
- diagnostics.push(
1617
- warn(
1618
- lineNumber,
1619
- `"${name}" is not a built-in palette \u2014 this diagram uses the default palette. Built-in palettes: ${builtInList()}. An embedded palette needs its colours in an indented block.`,
1620
- "W_PALETTE_UNKNOWN"
1621
- )
1622
- );
1623
- continue;
1624
- }
1625
- const modeWord = words[1];
1626
- if (words.length > 2 || modeWord !== void 0 && !MODES.has(modeWord)) {
1627
- diagnostics.push(
1628
- warn(
1629
- lineNumber,
1630
- `"palette ${name}" takes one optional mode word, light or dark \u2014 the rest of the line is ignored.`,
1631
- "W_PALETTE_MODE_UNKNOWN"
1632
- )
1633
- );
1634
- }
1635
- paletteId = id;
1636
- palette = void 0;
1637
- mode = modeWord !== void 0 && MODES.has(modeWord) ? modeWord : void 0;
1638
- }
1639
- return {
1640
- content: lines.join("\n"),
1641
- ...paletteId !== void 0 && { paletteId },
1642
- ...palette !== void 0 && { palette },
1643
- ...mode !== void 0 && { mode },
1644
- diagnostics
1645
- };
1646
- }
1647
- function choosePalette(directive, caller) {
1648
- const callerTheme = caller.theme ?? "light";
1649
- if (caller.paletteOverride !== void 0) {
1650
- return { paletteId: caller.paletteOverride, theme: callerTheme };
1651
- }
1652
- const fileId = directive.palette?.id ?? directive.paletteId;
1653
- if (fileId !== void 0) {
1654
- const theme = directive.mode === "dark" ? "dark" : directive.mode === "light" && callerTheme !== "transparent" ? "light" : callerTheme;
1655
- return {
1656
- paletteId: fileId,
1657
- ...directive.palette && { palette: directive.palette },
1658
- theme
1659
- };
1660
- }
1661
- return { paletteId: caller.palette ?? "slate", theme: callerTheme };
1662
- }
1663
-
1664
1466
  // src/utils/arrows-diagnostics.ts
1665
1467
  var ARROW_DIAGNOSTICS = [
1666
1468
  // --- ACTIVE (TD-13): emitted by validateLabelCharacters ---
@@ -2105,16 +1907,14 @@ function detectEmptyContent(content, chartType) {
2105
1907
 
2106
1908
  export {
2107
1909
  parseVisualization,
2108
- parseSlope,
2109
1910
  parseArc,
1911
+ listDiagnosticCodes,
1912
+ getDiagnosticSpec,
1913
+ parseSlope,
2110
1914
  parseTimeline,
2111
1915
  parseWordcloud,
2112
1916
  parseVenn,
2113
1917
  parseQuadrant,
2114
- extractPaletteDirective,
2115
- choosePalette,
2116
- listDiagnosticCodes,
2117
- getDiagnosticSpec,
2118
1918
  REGISTRY_BY_ID,
2119
1919
  getRenderCategory,
2120
1920
  isExtendedChartType,
@@ -1,16 +1,18 @@
1
1
  import {
2
2
  clipEndpointsToNodes,
3
3
  groupedTierCandidates
4
- } from "./chunk-EJS3K44P.js";
4
+ } from "./chunk-VGAMBOOC.js";
5
5
  import {
6
6
  computeNodeSize
7
- } from "./chunk-FTUMRSGT.js";
7
+ } from "./chunk-3ZP3QC47.js";
8
8
  import {
9
- EDGE_LABEL_FONT_SIZE,
10
9
  NODE_HEIGHT,
11
- NODE_WIDTH,
10
+ NODE_WIDTH
11
+ } from "./chunk-WTTIODDV.js";
12
+ import {
13
+ EDGE_LABEL_FONT_SIZE,
12
14
  measureEdgeLabel
13
- } from "./chunk-QT3KDDXK.js";
15
+ } from "./chunk-IN7XI6NO.js";
14
16
 
15
17
  // src/boxes-and-lines/layout-search.ts
16
18
  import dagre from "@dagrejs/dagre";
@@ -93,7 +93,7 @@ var EXPORT_WIDTH = 1200;
93
93
  var EXPORT_HEIGHT = 800;
94
94
  async function resolveExportPalette(theme, palette) {
95
95
  if (palette) return palette;
96
- const { getPalette, DEFAULT_PALETTE_ID } = await import("./palettes-IN7ZFRJM.js");
96
+ const { getPalette, DEFAULT_PALETTE_ID } = await import("./palettes-4Y7CL2QL.js");
97
97
  const cfg = getPalette(DEFAULT_PALETTE_ID);
98
98
  return theme === "dark" ? cfg.dark : cfg.light;
99
99
  }
@@ -1,44 +1,44 @@
1
1
  import {
2
2
  layoutERDiagram
3
- } from "./chunk-MXAP37W6.js";
3
+ } from "./chunk-HI6R27YA.js";
4
4
  import {
5
- NOTE_BADGE_RADIUS,
6
- noteConnectorPoints,
7
- renderNoteBadge,
8
- renderNoteBox,
9
- renderNoteConnector
10
- } from "./chunk-JRWUHLRP.js";
5
+ serializeSvg
6
+ } from "./chunk-CYRB2JTN.js";
11
7
  import {
12
8
  ScaleContext
13
9
  } from "./chunk-24YPR5EH.js";
14
10
  import {
15
- renderIntegratedLegend
16
- } from "./chunk-NMS5XSLX.js";
11
+ layoutInlineHeader
12
+ } from "./chunk-UIEKW4SG.js";
13
+ import {
14
+ TITLE_FONT_SIZE,
15
+ TITLE_FONT_WEIGHT,
16
+ TITLE_Y
17
+ } from "./chunk-VLC6WNRD.js";
17
18
  import {
18
19
  EDGE_LABEL_KNOCKOUT_OPACITY,
19
20
  EDGE_STROKE_WIDTH,
20
21
  NODE_STROKE_WIDTH
21
22
  } from "./chunk-XCKNFFKM.js";
22
23
  import {
23
- layoutInlineHeader
24
- } from "./chunk-42UJ23H3.js";
25
- import {
26
- serializeSvg
27
- } from "./chunk-CYRB2JTN.js";
24
+ renderIntegratedLegend
25
+ } from "./chunk-NMS5XSLX.js";
28
26
  import {
29
27
  getLegendExtent
30
28
  } from "./chunk-JILEYZ2V.js";
31
29
  import {
32
- TITLE_FONT_SIZE,
33
- TITLE_FONT_WEIGHT,
34
- TITLE_Y
35
- } from "./chunk-VLC6WNRD.js";
30
+ parseERDiagram
31
+ } from "./chunk-CIHHTS5B.js";
32
+ import {
33
+ NOTE_BADGE_RADIUS,
34
+ noteConnectorPoints,
35
+ renderNoteBadge,
36
+ renderNoteBox,
37
+ renderNoteConnector
38
+ } from "./chunk-VDY2GR6U.js";
36
39
  import {
37
40
  FONT_FAMILY
38
41
  } from "./chunk-ICLB27PZ.js";
39
- import {
40
- parseERDiagram
41
- } from "./chunk-DRFGIOZ6.js";
42
42
  import {
43
43
  resolveTagColor,
44
44
  tagAttrKey