@diagrammo/dgmo 0.46.0 → 0.48.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 (534) hide show
  1. package/dist/advanced.d.ts +3 -855
  2. package/dist/advanced.js +541 -70107
  3. package/dist/analyzer-UYKBXAKR.js +15 -0
  4. package/dist/auto.js +1 -1
  5. package/dist/auto.mjs +1 -1
  6. package/dist/block.js +83 -69417
  7. package/dist/calculator-LDYQCDDY.js +11 -0
  8. package/dist/charts-d3-QOZHKTCT.js +25 -0
  9. package/dist/chunk-2DXMZRWJ.js +800 -0
  10. package/dist/chunk-2LACINWN.js +786 -0
  11. package/dist/chunk-33LCUH4H.js +893 -0
  12. package/dist/chunk-3CIOJ5YJ.js +35 -0
  13. package/dist/chunk-3HDBAXF5.js +86 -0
  14. package/dist/chunk-3JLKYGBQ.js +290 -0
  15. package/dist/chunk-3MQQNXPD.js +415 -0
  16. package/dist/chunk-3R5POCTZ.js +967 -0
  17. package/dist/chunk-3SMGIJDD.js +112 -0
  18. package/dist/chunk-44CM72SQ.js +409 -0
  19. package/dist/chunk-4GRI7MEB.js +1604 -0
  20. package/dist/chunk-4OHACBGX.js +606 -0
  21. package/dist/chunk-5DH3KYFH.js +21 -0
  22. package/dist/chunk-5MLYVTYM.js +76 -0
  23. package/dist/chunk-5QXL4NYS.js +553 -0
  24. package/dist/chunk-5WRI5ZAA.js +31 -0
  25. package/dist/chunk-6EK55ART.js +117 -0
  26. package/dist/chunk-6FZYCKXB.js +2065 -0
  27. package/dist/chunk-6HO5ZTXK.js +277 -0
  28. package/dist/chunk-6KFWC4CO.js +7 -0
  29. package/dist/chunk-6MTWIQVO.js +121 -0
  30. package/dist/chunk-6NYWYNBI.js +329 -0
  31. package/dist/chunk-6SM5NJQH.js +620 -0
  32. package/dist/chunk-725LDASD.js +422 -0
  33. package/dist/chunk-76OWZ3BA.js +130 -0
  34. package/{src/block/parser.ts → dist/chunk-7JEGTRLD.js} +100 -189
  35. package/dist/chunk-A44USUV7.js +923 -0
  36. package/dist/chunk-A4GOY3PE.js +25 -0
  37. package/dist/chunk-A4VFQH5G.js +251 -0
  38. package/dist/chunk-AELOBFW5.js +375 -0
  39. package/dist/chunk-AN2MOO5T.js +522 -0
  40. package/dist/chunk-BMR4CIEO.js +41 -0
  41. package/dist/chunk-BS7SV7C3.js +51 -0
  42. package/dist/chunk-BUPDIHML.js +613 -0
  43. package/dist/chunk-BUVJFRPY.js +887 -0
  44. package/dist/chunk-C3Z4DX3V.js +112 -0
  45. package/dist/chunk-CI2G3OEB.js +1818 -0
  46. package/dist/chunk-CKNVO24D.js +54 -0
  47. package/dist/chunk-CUVHQHZ7.js +391 -0
  48. package/dist/chunk-CXK4DZH3.js +114 -0
  49. package/dist/{editor.cjs → chunk-DKEPS5LH.js} +14 -225
  50. package/dist/chunk-DU7W62N5.js +487 -0
  51. package/dist/chunk-DZAQBW35.js +751 -0
  52. package/dist/chunk-EB6FPQUP.js +316 -0
  53. package/dist/chunk-EMS2SK26.js +376 -0
  54. package/dist/chunk-ERLBPDGU.js +510 -0
  55. package/dist/chunk-EVCVDTXE.js +732 -0
  56. package/dist/chunk-FCIIHT24.js +384 -0
  57. package/dist/chunk-FFUN5D66.js +97 -0
  58. package/dist/chunk-FITOLXSX.js +714 -0
  59. package/dist/chunk-FMDSF3OV.js +68 -0
  60. package/dist/chunk-FNB3PNGF.js +410 -0
  61. package/dist/chunk-G2H74XJZ.js +2104 -0
  62. package/dist/chunk-GMR5MFHJ.js +339 -0
  63. package/dist/chunk-H6PI3KJT.js +305 -0
  64. package/dist/chunk-I46X5VUA.js +59 -0
  65. package/dist/chunk-I5IGB56C.js +255 -0
  66. package/dist/chunk-IH6ZMVQ5.js +3950 -0
  67. package/dist/chunk-IJZFN3HM.js +463 -0
  68. package/dist/chunk-IPWPWM6R.js +3079 -0
  69. package/dist/chunk-IYULMRBE.js +23 -0
  70. package/dist/chunk-IZMRON6C.js +167 -0
  71. package/dist/chunk-J5FIXQRT.js +813 -0
  72. package/dist/chunk-JED6ZDEE.js +73 -0
  73. package/dist/chunk-JEUJOX5X.js +136 -0
  74. package/dist/chunk-JM4LEPY3.js +436 -0
  75. package/dist/chunk-L3UHP6TD.js +101 -0
  76. package/dist/chunk-L66GEFB6.js +524 -0
  77. package/dist/chunk-LIOHW36Z.js +469 -0
  78. package/dist/chunk-LP7EC4MI.js +16 -0
  79. package/dist/chunk-MITI6NOL.js +548 -0
  80. package/dist/chunk-MO5YHHMQ.js +168 -0
  81. package/dist/chunk-MZSBFAPJ.js +885 -0
  82. package/dist/chunk-NNAAJVBU.js +9 -0
  83. package/dist/chunk-NOTA6TEI.js +47 -0
  84. package/dist/chunk-NURGB5Z4.js +335 -0
  85. package/dist/chunk-NX4EQS3U.js +1062 -0
  86. package/dist/chunk-NXMESY4J.js +1 -0
  87. package/dist/chunk-OJR3MQYV.js +1458 -0
  88. package/dist/chunk-OURHMODR.js +454 -0
  89. package/dist/chunk-P235SVAH.js +1057 -0
  90. package/dist/chunk-P4RH4OSP.js +1038 -0
  91. package/dist/chunk-P6T66CCZ.js +226 -0
  92. package/dist/chunk-PBAHEPLQ.js +223 -0
  93. package/dist/chunk-PBHE5UG6.js +1530 -0
  94. package/dist/chunk-PDKUANDZ.js +35 -0
  95. package/dist/chunk-PWIHZ6NJ.js +296 -0
  96. package/{src/c4/layout.ts → dist/chunk-QEBUY5NY.js} +384 -1140
  97. package/dist/chunk-QLCCJEJI.js +253 -0
  98. package/dist/chunk-QOOUC2J5.js +52 -0
  99. package/dist/chunk-QYTPPDAO.js +402 -0
  100. package/dist/chunk-R3XI2VC7.js +801 -0
  101. package/dist/chunk-RCERWOJR.js +154 -0
  102. package/dist/chunk-RJE5JTVK.js +362 -0
  103. package/dist/chunk-RTLBSQ3G.js +1155 -0
  104. package/dist/chunk-RUNNI6VE.js +448 -0
  105. package/dist/chunk-RVMRZAPB.js +354 -0
  106. package/dist/chunk-RYEGFMUO.js +955 -0
  107. package/dist/chunk-RZCF2VVM.js +528 -0
  108. package/dist/chunk-SML67VPV.js +1025 -0
  109. package/dist/chunk-SQ7IY53Q.js +44 -0
  110. package/dist/chunk-SQAG3UXH.js +161 -0
  111. package/dist/chunk-SRTU6HMQ.js +1851 -0
  112. package/dist/chunk-T2OE3YQB.js +550 -0
  113. package/dist/chunk-T3UBLACL.js +299 -0
  114. package/dist/chunk-TLVIHFRO.js +296 -0
  115. package/dist/chunk-TYS6CSS5.js +52 -0
  116. package/dist/chunk-U6EQI3U6.js +130 -0
  117. package/dist/chunk-UJ4FJLBF.js +86 -0
  118. package/dist/chunk-ULOEATBZ.js +347 -0
  119. package/dist/chunk-UNCCZ3NU.js +127 -0
  120. package/dist/chunk-USZW2HHU.js +197 -0
  121. package/dist/chunk-UWN33VNX.js +1610 -0
  122. package/dist/chunk-UZ7EZW3B.js +40 -0
  123. package/dist/chunk-VOKGH627.js +37 -0
  124. package/dist/chunk-WBRZJOEC.js +204 -0
  125. package/dist/chunk-WCSOJFU3.js +380 -0
  126. package/dist/chunk-WCT3NYCV.js +160 -0
  127. package/dist/chunk-WVAJFAIA.js +529 -0
  128. package/dist/chunk-X5LCYCL5.js +394 -0
  129. package/dist/chunk-XAKEUMEJ.js +1256 -0
  130. package/dist/chunk-Y2ZE3MSG.js +590 -0
  131. package/dist/chunk-Y3J7VR52.js +646 -0
  132. package/dist/chunk-Y5QGVTVC.js +33 -0
  133. package/dist/chunk-YAA6IID3.js +548 -0
  134. package/dist/chunk-YGJTDXVR.js +692 -0
  135. package/{src/utils/time-ticks.ts → dist/chunk-YRYKTYMQ.js} +45 -112
  136. package/dist/chunk-YYVTBZZC.js +61 -0
  137. package/dist/chunk-Z5CGSFJB.js +647 -0
  138. package/{src/gantt/calculator.ts → dist/chunk-Z72XRXD4.js} +236 -428
  139. package/dist/chunk-ZGR7ULFJ.js +978 -0
  140. package/dist/chunk-ZJEL4H2R.js +851 -0
  141. package/dist/chunk-ZO27FGJS.js +554 -0
  142. package/dist/collapse-CLPJD2RL.js +11 -0
  143. package/dist/collapse-SLINJQW6.js +9 -0
  144. package/dist/collapse-ZWUFFCK2.js +9 -0
  145. package/dist/compute-G55RG53N.js +8 -0
  146. package/dist/dgmo-router-DZCIDUO5.js +73 -0
  147. package/dist/dimensions-J3FHIMJ6.js +22 -0
  148. package/dist/element.js +1 -1
  149. package/dist/element.mjs +1 -1
  150. package/dist/flowchart-parser-ZNSKIBVR.js +21 -0
  151. package/dist/flowchart-renderer-ZAEOL4DX.js +35 -0
  152. package/dist/index.d.ts +3 -469
  153. package/dist/index.js +137 -69685
  154. package/dist/layout-46N4JJYK.js +17 -0
  155. package/dist/layout-5RA6QWR6.js +26 -0
  156. package/dist/layout-5T6RH5M6.js +14 -0
  157. package/dist/layout-7QXCNOVS.js +13 -0
  158. package/dist/layout-EE6GE46Y.js +17 -0
  159. package/dist/layout-G23F7LDH.js +9 -0
  160. package/dist/layout-HRBZPFCN.js +23 -0
  161. package/dist/layout-HWDSRX5E.js +20 -0
  162. package/dist/layout-HYZPWAK5.js +18 -0
  163. package/dist/layout-N76NR4ZO.js +19 -0
  164. package/dist/layout-OB3RI63S.js +14 -0
  165. package/dist/layout-S2QBYSK2.js +15 -0
  166. package/dist/layout-UM5F4DJB.js +15 -0
  167. package/dist/layout-search-OYV77HHS.js +1655 -0
  168. package/dist/load-data-EHDDZ5ZS.js +8 -0
  169. package/dist/palettes-PRJ2RI6D.js +56 -0
  170. package/dist/parser-2MFP2H2E.js +11 -0
  171. package/dist/parser-3STE62GB.js +21 -0
  172. package/dist/parser-4FL2CMDG.js +18 -0
  173. package/dist/parser-4OGOBJJ4.js +13 -0
  174. package/dist/parser-6BTRLKRZ.js +15 -0
  175. package/dist/parser-AQETEVRW.js +21 -0
  176. package/dist/parser-CFZD5IBL.js +12 -0
  177. package/dist/parser-FUSKFGZN.js +16 -0
  178. package/dist/parser-I6KXEYFK.js +13 -0
  179. package/dist/parser-IXSZZQHY.js +18 -0
  180. package/dist/parser-JAL2HD4I.js +13 -0
  181. package/dist/parser-KNSQSKQO.js +20 -0
  182. package/dist/parser-N5O4IHUN.js +13 -0
  183. package/dist/parser-NGU3ETO6.js +16 -0
  184. package/dist/parser-NRAI6O25.js +19 -0
  185. package/dist/parser-O5J4VBII.js +11 -0
  186. package/dist/parser-OV7NOBW6.js +21 -0
  187. package/dist/parser-PQ3POX45.js +23 -0
  188. package/dist/parser-TFZFBVWN.js +11 -0
  189. package/dist/parser-TRTHDFPP.js +18 -0
  190. package/dist/parser-VQP2UJ6W.js +11 -0
  191. package/dist/parser-XDVELHRK.js +13 -0
  192. package/dist/parser-XKRP7QKP.js +11 -0
  193. package/dist/parser-Y6WTBU76.js +14 -0
  194. package/dist/parser-ZSDPZYQP.js +12 -0
  195. package/dist/renderer-2XQQQ6QR.js +28 -0
  196. package/dist/renderer-5NDVNDAZ.js +26 -0
  197. package/dist/renderer-6EEZHMH4.js +26 -0
  198. package/dist/renderer-6W5462RB.js +43 -0
  199. package/dist/renderer-7MVLWWQD.js +22 -0
  200. package/dist/renderer-AWWAF6XD.js +33 -0
  201. package/dist/renderer-BYCNMBF7.js +34 -0
  202. package/dist/renderer-CLJHQPBJ.js +29 -0
  203. package/dist/renderer-GHPZMFU2.js +15 -0
  204. package/dist/renderer-JGBKUCZD.js +16 -0
  205. package/dist/renderer-KQB7UGDS.js +19 -0
  206. package/dist/renderer-PGX2TKVS.js +24 -0
  207. package/dist/renderer-QIWVHWZO.js +15 -0
  208. package/dist/renderer-RPOA5YPZ.js +35 -0
  209. package/dist/renderer-SMIBCRVB.js +24 -0
  210. package/dist/renderer-T7YKC5VP.js +28 -0
  211. package/dist/renderer-TOCOVLHS.js +37 -0
  212. package/dist/renderer-UWA5XS74.js +39 -0
  213. package/dist/renderer-VACVQYML.js +25 -0
  214. package/dist/renderer-W4M6QLIJ.js +37 -0
  215. package/dist/renderer-WZRREQ2P.js +23 -0
  216. package/dist/renderer-YY2OSF6E.js +27 -0
  217. package/dist/renderer-Z7I3W2PP.js +24 -0
  218. package/dist/renderer-ZGNTUWC4.js +22 -0
  219. package/dist/renderer-ZTR3DER3.js +19 -0
  220. package/dist/renderer-radial-C32GPJQ7.js +21 -0
  221. package/dist/resolver-NOAA7ID7.js +13 -0
  222. package/dist/state-collapse-HCGD6IVJ.js +8 -0
  223. package/dist/state-parser-Z2V23ATR.js +18 -0
  224. package/dist/state-renderer-RFYHSP4K.js +34 -0
  225. package/dist/themes-1-CuKpeH.d.ts +908 -0
  226. package/package.json +19 -70
  227. package/dist/advanced.cjs +0 -71648
  228. package/dist/advanced.d.cts +0 -6571
  229. package/dist/auto.cjs +0 -70648
  230. package/dist/auto.d.cts +0 -54
  231. package/dist/block.cjs +0 -70208
  232. package/dist/block.d.cts +0 -115
  233. package/dist/editor.d.cts +0 -26
  234. package/dist/element.cjs +0 -70530
  235. package/dist/element.d.cts +0 -62
  236. package/dist/highlight.cjs +0 -852
  237. package/dist/highlight.d.cts +0 -49
  238. package/dist/index.cjs +0 -70491
  239. package/dist/index.d.cts +0 -626
  240. package/dist/pert.cjs +0 -325
  241. package/dist/pert.d.cts +0 -559
  242. package/src/advanced.ts +0 -873
  243. package/src/arc/parser.ts +0 -15
  244. package/src/arc/renderer.ts +0 -633
  245. package/src/auto/index.ts +0 -621
  246. package/src/auto/shared.ts +0 -370
  247. package/src/auto/styles.ts +0 -73
  248. package/src/block/layout.ts +0 -198
  249. package/src/block/renderer.ts +0 -484
  250. package/src/block/types.ts +0 -67
  251. package/src/boxes-and-lines/collapse.ts +0 -96
  252. package/src/boxes-and-lines/focus.ts +0 -257
  253. package/src/boxes-and-lines/label-placement.ts +0 -339
  254. package/src/boxes-and-lines/layout-grouped.ts +0 -912
  255. package/src/boxes-and-lines/layout-layered.ts +0 -722
  256. package/src/boxes-and-lines/layout-search.ts +0 -1678
  257. package/src/boxes-and-lines/layout.ts +0 -398
  258. package/src/boxes-and-lines/parser.ts +0 -1181
  259. package/src/boxes-and-lines/renderer.ts +0 -1465
  260. package/src/boxes-and-lines/types.ts +0 -66
  261. package/src/c4/parser.ts +0 -1158
  262. package/src/c4/renderer.ts +0 -2008
  263. package/src/c4/types.ts +0 -89
  264. package/src/chart-type-registry.ts +0 -529
  265. package/src/chart-types.ts +0 -225
  266. package/src/chart.ts +0 -685
  267. package/src/charts-d3/bar.ts +0 -338
  268. package/src/charts-d3/chord.ts +0 -140
  269. package/src/charts-d3/function.ts +0 -147
  270. package/src/charts-d3/funnel.ts +0 -104
  271. package/src/charts-d3/heatmap.ts +0 -145
  272. package/src/charts-d3/index.ts +0 -337
  273. package/src/charts-d3/interactions.ts +0 -477
  274. package/src/charts-d3/line.ts +0 -344
  275. package/src/charts-d3/mount.ts +0 -151
  276. package/src/charts-d3/pie.ts +0 -117
  277. package/src/charts-d3/polar.ts +0 -89
  278. package/src/charts-d3/radar.ts +0 -0
  279. package/src/charts-d3/sankey.ts +0 -0
  280. package/src/charts-d3/scatter.ts +0 -185
  281. package/src/charts-d3/shared.ts +0 -208
  282. package/src/class/layout.ts +0 -326
  283. package/src/class/parser.ts +0 -635
  284. package/src/class/renderer.ts +0 -793
  285. package/src/class/types.ts +0 -58
  286. package/src/cli-banner.ts +0 -106
  287. package/src/cli.ts +0 -1080
  288. package/src/colors-diagnostics.ts +0 -35
  289. package/src/colors.ts +0 -379
  290. package/src/completion-types.ts +0 -27
  291. package/src/completion.ts +0 -2668
  292. package/src/cycle/layout.ts +0 -1026
  293. package/src/cycle/parser.ts +0 -387
  294. package/src/cycle/renderer.ts +0 -653
  295. package/src/cycle/types.ts +0 -101
  296. package/src/d3.ts +0 -1434
  297. package/src/data-chart-parser.ts +0 -1007
  298. package/src/dgmo-router.ts +0 -296
  299. package/src/diagnostics-registry.ts +0 -108
  300. package/src/diagnostics.ts +0 -0
  301. package/src/dimensions.ts +0 -20
  302. package/src/directives-registry.ts +0 -396
  303. package/src/editor/dgmo.grammar +0 -76
  304. package/src/editor/dgmo.grammar.d.ts +0 -2
  305. package/src/editor/dgmo.grammar.js +0 -18
  306. package/src/editor/dgmo.grammar.terms.d.ts +0 -5
  307. package/src/editor/dgmo.grammar.terms.js +0 -35
  308. package/src/editor/highlight-api.ts +0 -596
  309. package/src/editor/highlight.ts +0 -36
  310. package/src/editor/index.ts +0 -27
  311. package/src/editor/keywords.ts +0 -128
  312. package/src/editor/tokens.ts +0 -30
  313. package/src/element/index.ts +0 -432
  314. package/src/embed/css.ts +0 -312
  315. package/src/embed/escape.ts +0 -15
  316. package/src/embed/index.ts +0 -280
  317. package/src/er/classify.ts +0 -228
  318. package/src/er/layout.ts +0 -530
  319. package/src/er/parser.ts +0 -750
  320. package/src/er/renderer.ts +0 -725
  321. package/src/er/types.ts +0 -52
  322. package/src/error-card.ts +0 -269
  323. package/src/event-line/diagnostics.ts +0 -117
  324. package/src/event-line/parser.ts +0 -643
  325. package/src/event-line/renderer.ts +0 -1742
  326. package/src/event-line/types.ts +0 -74
  327. package/src/fonts.ts +0 -3
  328. package/src/gantt/parser.ts +0 -1641
  329. package/src/gantt/renderer.ts +0 -3787
  330. package/src/gantt/resolver.ts +0 -172
  331. package/src/gantt/types.ts +0 -206
  332. package/src/graph/diagnostics.ts +0 -64
  333. package/src/graph/edge-spline.ts +0 -29
  334. package/src/graph/flowchart-parser.ts +0 -759
  335. package/src/graph/flowchart-renderer.ts +0 -817
  336. package/src/graph/layout.ts +0 -472
  337. package/src/graph/notes.ts +0 -21
  338. package/src/graph/state-collapse.ts +0 -78
  339. package/src/graph/state-parser.ts +0 -574
  340. package/src/graph/state-renderer.ts +0 -653
  341. package/src/graph/types.ts +0 -65
  342. package/src/index.ts +0 -261
  343. package/src/infra/compute.ts +0 -1385
  344. package/src/infra/layout.ts +0 -888
  345. package/src/infra/parser.ts +0 -1234
  346. package/src/infra/renderer.ts +0 -2534
  347. package/src/infra/roles.ts +0 -75
  348. package/src/infra/types.ts +0 -216
  349. package/src/infra/validation.ts +0 -201
  350. package/src/journey-map/layout.ts +0 -490
  351. package/src/journey-map/parser.ts +0 -557
  352. package/src/journey-map/renderer.ts +0 -1580
  353. package/src/journey-map/types.ts +0 -47
  354. package/src/kanban/mutations.ts +0 -175
  355. package/src/kanban/parser.ts +0 -509
  356. package/src/kanban/renderer.ts +0 -1449
  357. package/src/kanban/types.ts +0 -39
  358. package/src/label-layout.ts +0 -368
  359. package/src/map/colorize.ts +0 -54
  360. package/src/map/completion.ts +0 -316
  361. package/src/map/context-labels.ts +0 -609
  362. package/src/map/data/PROVENANCE.json +0 -1
  363. package/src/map/data/README.md +0 -40
  364. package/src/map/data/airport-collisions.json +0 -1
  365. package/src/map/data/airports.json +0 -1
  366. package/src/map/data/gazetteer.json +0 -1
  367. package/src/map/data/lakes.json +0 -1
  368. package/src/map/data/mountain-ranges.json +0 -1
  369. package/src/map/data/na-lakes.json +0 -1
  370. package/src/map/data/na-land.json +0 -1
  371. package/src/map/data/region-names.json +0 -1
  372. package/src/map/data/rivers.json +0 -1
  373. package/src/map/data/types.ts +0 -121
  374. package/src/map/data/us-states.json +0 -1
  375. package/src/map/data/water-bodies.json +0 -1
  376. package/src/map/data/world-coarse.json +0 -1
  377. package/src/map/data/world-detail.json +0 -1
  378. package/src/map/diagnostics.ts +0 -134
  379. package/src/map/dimensions.ts +0 -150
  380. package/src/map/geo-query.ts +0 -295
  381. package/src/map/geo.ts +0 -438
  382. package/src/map/invert.ts +0 -111
  383. package/src/map/layout.ts +0 -5069
  384. package/src/map/legend-band.ts +0 -127
  385. package/src/map/load-data.ts +0 -186
  386. package/src/map/parser.ts +0 -783
  387. package/src/map/renderer.ts +0 -1445
  388. package/src/map/resolved-types.ts +0 -160
  389. package/src/map/resolver.ts +0 -1146
  390. package/src/map/types.ts +0 -194
  391. package/src/mindmap/collapse.ts +0 -67
  392. package/src/mindmap/layout.ts +0 -649
  393. package/src/mindmap/parser.ts +0 -430
  394. package/src/mindmap/renderer.ts +0 -637
  395. package/src/mindmap/text-wrap.ts +0 -218
  396. package/src/mindmap/types.ts +0 -56
  397. package/src/org/collapse.ts +0 -151
  398. package/src/org/layout.ts +0 -1262
  399. package/src/org/parser.ts +0 -519
  400. package/src/org/renderer.ts +0 -866
  401. package/src/org/resolver.ts +0 -636
  402. package/src/palettes/atlas.ts +0 -77
  403. package/src/palettes/blueprint.ts +0 -73
  404. package/src/palettes/catppuccin.ts +0 -84
  405. package/src/palettes/color-utils.ts +0 -443
  406. package/src/palettes/index.ts +0 -67
  407. package/src/palettes/nord.ts +0 -67
  408. package/src/palettes/registry.ts +0 -114
  409. package/src/palettes/slate.ts +0 -73
  410. package/src/palettes/tidewater.ts +0 -73
  411. package/src/palettes/tokyo-night.ts +0 -86
  412. package/src/palettes/types.ts +0 -88
  413. package/src/pert/analyzer.ts +0 -1183
  414. package/src/pert/diagnostics.ts +0 -110
  415. package/src/pert/index.ts +0 -43
  416. package/src/pert/internal.ts +0 -252
  417. package/src/pert/layout.ts +0 -971
  418. package/src/pert/monte-carlo.ts +0 -446
  419. package/src/pert/parser.ts +0 -1606
  420. package/src/pert/renderer.ts +0 -4009
  421. package/src/pert/share-normalize.ts +0 -62
  422. package/src/pert/types.ts +0 -604
  423. package/src/pyramid/parser.ts +0 -185
  424. package/src/pyramid/renderer.ts +0 -768
  425. package/src/pyramid/types.ts +0 -28
  426. package/src/quadrant/parser.ts +0 -18
  427. package/src/quadrant/renderer.ts +0 -638
  428. package/src/raci/diagnostics.ts +0 -213
  429. package/src/raci/index.ts +0 -23
  430. package/src/raci/mutations.ts +0 -321
  431. package/src/raci/parser.ts +0 -699
  432. package/src/raci/renderer.ts +0 -1627
  433. package/src/raci/types.ts +0 -82
  434. package/src/raci/variants.ts +0 -320
  435. package/src/render.ts +0 -268
  436. package/src/ring/parser.ts +0 -212
  437. package/src/ring/renderer.ts +0 -490
  438. package/src/ring/types.ts +0 -27
  439. package/src/sequence/collapse.ts +0 -174
  440. package/src/sequence/parser.ts +0 -1596
  441. package/src/sequence/participant-inference.ts +0 -152
  442. package/src/sequence/renderer.ts +0 -3168
  443. package/src/sequence/tag-resolution.ts +0 -164
  444. package/src/sharing.ts +0 -211
  445. package/src/sitemap/collapse.ts +0 -100
  446. package/src/sitemap/layout.ts +0 -925
  447. package/src/sitemap/parser.ts +0 -755
  448. package/src/sitemap/renderer.ts +0 -828
  449. package/src/sitemap/types.ts +0 -42
  450. package/src/slope/parser.ts +0 -18
  451. package/src/slope/renderer.ts +0 -378
  452. package/src/swimlane/diagnostics.ts +0 -94
  453. package/src/swimlane/layout.ts +0 -597
  454. package/src/swimlane/parser.ts +0 -613
  455. package/src/swimlane/renderer.ts +0 -681
  456. package/src/swimlane/types.ts +0 -151
  457. package/src/tech-radar/interactive.ts +0 -1129
  458. package/src/tech-radar/layout.ts +0 -197
  459. package/src/tech-radar/parser.ts +0 -436
  460. package/src/tech-radar/renderer.ts +0 -1239
  461. package/src/tech-radar/shared.ts +0 -151
  462. package/src/tech-radar/types.ts +0 -86
  463. package/src/themes.ts +0 -22
  464. package/src/timeline/parser.ts +0 -472
  465. package/src/timeline/renderer.ts +0 -3024
  466. package/src/timeline/types.ts +0 -33
  467. package/src/timeline/viz-parser.ts +0 -21
  468. package/src/treemap/diagnostics.ts +0 -62
  469. package/src/treemap/layout-radial.ts +0 -233
  470. package/src/treemap/layout.ts +0 -189
  471. package/src/treemap/parser.ts +0 -463
  472. package/src/treemap/renderer-radial.ts +0 -438
  473. package/src/treemap/renderer.ts +0 -572
  474. package/src/treemap/treemap-shared.ts +0 -309
  475. package/src/treemap/types.ts +0 -60
  476. package/src/utils/arrow-markers.ts +0 -51
  477. package/src/utils/arrows-diagnostics.ts +0 -62
  478. package/src/utils/arrows.ts +0 -227
  479. package/src/utils/brand.ts +0 -61
  480. package/src/utils/card.ts +0 -183
  481. package/src/utils/collapse-engine/tree-edges.ts +0 -115
  482. package/src/utils/collapse-engine/tree.ts +0 -117
  483. package/src/utils/d3-helpers.ts +0 -219
  484. package/src/utils/d3-types.ts +0 -9
  485. package/src/utils/description-helpers.ts +0 -38
  486. package/src/utils/duration.ts +0 -312
  487. package/src/utils/export-container.ts +0 -41
  488. package/src/utils/expr-eval.ts +0 -27
  489. package/src/utils/fit-canvas.ts +0 -64
  490. package/src/utils/hover-styles.ts +0 -673
  491. package/src/utils/inline-markdown.ts +0 -96
  492. package/src/utils/legend-constants.ts +0 -48
  493. package/src/utils/legend-d3.ts +0 -618
  494. package/src/utils/legend-integration.ts +0 -107
  495. package/src/utils/legend-layout.ts +0 -776
  496. package/src/utils/legend-svg.ts +0 -214
  497. package/src/utils/legend-types.ts +0 -272
  498. package/src/utils/name-normalize.ts +0 -163
  499. package/src/utils/note-box/constants.ts +0 -25
  500. package/src/utils/note-box/index.ts +0 -11
  501. package/src/utils/note-box/metrics.ts +0 -90
  502. package/src/utils/note-box/svg.ts +0 -331
  503. package/src/utils/notes/bounds.ts +0 -30
  504. package/src/utils/notes/build.ts +0 -131
  505. package/src/utils/notes/index.ts +0 -18
  506. package/src/utils/notes/model.ts +0 -19
  507. package/src/utils/notes/parse.ts +0 -131
  508. package/src/utils/notes/place.ts +0 -177
  509. package/src/utils/notes/resolve.ts +0 -88
  510. package/src/utils/number-format.ts +0 -36
  511. package/src/utils/parsing.ts +0 -953
  512. package/src/utils/reserved-key-registry.ts +0 -239
  513. package/src/utils/safe-href.ts +0 -38
  514. package/src/utils/scaling.ts +0 -97
  515. package/src/utils/svg-embed.ts +0 -251
  516. package/src/utils/tag-groups.ts +0 -607
  517. package/src/utils/text-measure.ts +0 -122
  518. package/src/utils/title-constants.ts +0 -24
  519. package/src/utils/visual-conventions.ts +0 -61
  520. package/src/utils/wrapped-desc.ts +0 -87
  521. package/src/venn/parser.ts +0 -18
  522. package/src/venn/renderer.ts +0 -1047
  523. package/src/version-control/diagnostics.ts +0 -67
  524. package/src/version-control/parser.ts +0 -544
  525. package/src/version-control/renderer.ts +0 -724
  526. package/src/version-control/types.ts +0 -100
  527. package/src/visualizations/parse.ts +0 -1560
  528. package/src/visualizations/types.ts +0 -262
  529. package/src/wireframe/layout.ts +0 -479
  530. package/src/wireframe/parser.ts +0 -1114
  531. package/src/wireframe/renderer.ts +0 -1318
  532. package/src/wireframe/types.ts +0 -110
  533. package/src/wordcloud/parser.ts +0 -18
  534. package/src/wordcloud/renderer.ts +0 -357
@@ -1,102 +1,74 @@
1
- // ============================================================
2
- // Block diagram — Parser
3
- // ============================================================
4
- //
5
- // Grid-structured (not a pure indent hierarchy): one source line = one row of
6
- // `[bracket]` cells (+ `_` gaps). A block becomes a CONTAINER by indenting a
7
- // sub-grid under it. Metadata is parsed from the tail AFTER the `]` (the
8
- // boxes-and-lines group idiom — robust to colons inside a label) and a group's
9
- // tag cascades to children. Columns are inferred from the widest row unless
10
- // `columns N` is given; short rows that evenly divide the column count spread to
11
- // fill, a lone block fills the width, and an over-long span clamps to the count.
12
-
13
- import type { PaletteColors } from '../palettes';
14
1
  import {
15
- formatDgmoError,
16
- makeDgmoError,
17
- makeFail,
18
- suggest,
19
- } from '../diagnostics';
20
- import type { Writable } from '../utils/brand';
21
- import type { TagGroup } from '../utils/tag-groups';
2
+ isBlockNode
3
+ } from "./chunk-NNAAJVBU.js";
22
4
  import {
5
+ AUTO_TAG_COLOR_SENTINEL,
6
+ finalizeAutoTagColors,
23
7
  matchTagBlockHeading,
24
- validateTagValues,
25
- validateTagGroupNames,
26
8
  stripDefaultModifier,
27
- finalizeAutoTagColors,
28
- AUTO_TAG_COLOR_SENTINEL,
29
9
  tagAttrKey,
30
- } from '../utils/tag-groups';
31
- import { measureIndent, extractColor, parseFirstLine } from '../utils/parsing';
32
- import type {
33
- ParsedBlock,
34
- BlockOptions,
35
- BlockGrid,
36
- BlockCell,
37
- BlockNode,
38
- } from './types';
39
- import { isBlockNode } from './types';
40
-
41
- type ContentLine = { indent: number; trimmed: string; lineNumber: number };
42
-
43
- export function parseBlock(
44
- content: string,
45
- palette?: PaletteColors
46
- ): ParsedBlock {
47
- const options: BlockOptions = { noLegend: false, solidFill: false };
48
- const result: Writable<ParsedBlock> = {
49
- type: 'block',
10
+ validateTagGroupNames,
11
+ validateTagValues
12
+ } from "./chunk-QLCCJEJI.js";
13
+ import {
14
+ extractColor,
15
+ measureIndent,
16
+ parseFirstLine
17
+ } from "./chunk-Y3J7VR52.js";
18
+ import {
19
+ formatDgmoError,
20
+ makeDgmoError,
21
+ makeFail,
22
+ suggest
23
+ } from "./chunk-CXK4DZH3.js";
24
+
25
+ // src/block/parser.ts
26
+ function parseBlock(content, palette) {
27
+ const options = { noLegend: false, solidFill: false };
28
+ const result = {
29
+ type: "block",
50
30
  title: null,
51
31
  titleLineNumber: null,
52
32
  top: { cols: null, rows: [] },
53
33
  tagGroups: [],
54
34
  options,
55
35
  diagnostics: [],
56
- error: null,
36
+ error: null
57
37
  };
58
-
59
38
  const fail = makeFail(result);
60
- const pushError = (line: number, message: string, code?: string): void => {
61
- const diag = makeDgmoError(line, message, 'error', code);
39
+ const pushError = (line, message, code) => {
40
+ const diag = makeDgmoError(line, message, "error", code);
62
41
  result.diagnostics.push(diag);
63
42
  if (!result.error) result.error = formatDgmoError(diag);
64
43
  };
65
- const pushWarning = (line: number, message: string, code?: string): void => {
66
- result.diagnostics.push(makeDgmoError(line, message, 'warning', code));
44
+ const pushWarning = (line, message, code) => {
45
+ result.diagnostics.push(makeDgmoError(line, message, "warning", code));
67
46
  };
68
-
69
47
  if (!content?.trim()) {
70
- return fail(0, 'No content provided');
48
+ return fail(0, "No content provided");
71
49
  }
72
-
73
- const lines = content.split('\n');
50
+ const lines = content.split("\n");
74
51
  let contentStarted = false;
75
- let topCols: number | null = null;
76
- let currentTagGroup: Writable<TagGroup> | null = null;
77
- const aliasMap = new Map<string, string>();
78
- const contentLines: ContentLine[] = [];
79
-
52
+ let topCols = null;
53
+ let currentTagGroup = null;
54
+ const aliasMap = /* @__PURE__ */ new Map();
55
+ const contentLines = [];
80
56
  for (let i = 0; i < lines.length; i++) {
81
- const line = lines[i]!;
57
+ const line = lines[i];
82
58
  const lineNumber = i + 1;
83
59
  const trimmed = line.trim();
84
-
85
60
  if (!trimmed) {
86
61
  currentTagGroup = null;
87
62
  continue;
88
63
  }
89
- if (trimmed.startsWith('//')) continue;
90
-
91
- // --- Header phase ---
64
+ if (trimmed.startsWith("//")) continue;
92
65
  if (!contentStarted) {
93
- // First line declares `block [Title]`.
94
66
  if (result.titleLineNumber === null && i === 0) {
95
67
  const firstLine = parseFirstLine(trimmed);
96
68
  if (firstLine) {
97
- if (firstLine.chartType !== 'block') {
69
+ if (firstLine.chartType !== "block") {
98
70
  let msg = `Expected chart type "block", got "${firstLine.chartType}"`;
99
- const hint = suggest(firstLine.chartType, ['block']);
71
+ const hint = suggest(firstLine.chartType, ["block"]);
100
72
  if (hint) msg += `. ${hint}`;
101
73
  return fail(lineNumber, msg);
102
74
  }
@@ -105,17 +77,15 @@ export function parseBlock(
105
77
  continue;
106
78
  }
107
79
  }
108
-
109
- // Tag group heading: `tag Team as t`.
110
80
  const tagBlockMatch = matchTagBlockHeading(trimmed);
111
81
  if (tagBlockMatch) {
112
82
  currentTagGroup = {
113
83
  name: tagBlockMatch.name,
114
- ...(tagBlockMatch.alias !== undefined && {
115
- alias: tagBlockMatch.alias,
116
- }),
84
+ ...tagBlockMatch.alias !== void 0 && {
85
+ alias: tagBlockMatch.alias
86
+ },
117
87
  entries: [],
118
- lineNumber,
88
+ lineNumber
119
89
  };
120
90
  if (tagBlockMatch.alias) {
121
91
  aliasMap.set(
@@ -130,8 +100,6 @@ export function parseBlock(
130
100
  result.tagGroups.push(currentTagGroup);
131
101
  continue;
132
102
  }
133
-
134
- // Tag group entries (indented `Value color`).
135
103
  if (currentTagGroup) {
136
104
  const indent = measureIndent(line);
137
105
  if (indent > 0) {
@@ -148,19 +116,16 @@ export function parseBlock(
148
116
  currentTagGroup.entries.push({
149
117
  value: label,
150
118
  color: color ?? AUTO_TAG_COLOR_SENTINEL,
151
- lineNumber,
119
+ lineNumber
152
120
  });
153
121
  continue;
154
122
  }
155
123
  currentTagGroup = null;
156
124
  }
157
-
158
- // Header directives (indent 0). A top-level `columns N` applies to the
159
- // outer grid but may sit before the tag block, so it's a header line.
160
125
  if (measureIndent(line) === 0) {
161
126
  const headerCols = trimmed.match(/^columns\s+(\d+)\s*$/i);
162
127
  if (headerCols) {
163
- topCols = parseInt(headerCols[1]!, 10);
128
+ topCols = parseInt(headerCols[1], 10);
164
129
  continue;
165
130
  }
166
131
  if (/^no-legend\s*$/i.test(trimmed)) {
@@ -173,53 +138,41 @@ export function parseBlock(
173
138
  }
174
139
  }
175
140
  }
176
-
177
- // Tag groups after content has begun are an error.
178
141
  if (contentStarted && matchTagBlockHeading(trimmed)) {
179
142
  pushError(
180
143
  lineNumber,
181
- 'Tag groups must appear before block content',
182
- 'E_TAG_DECLARED_AFTER_CONTENT'
144
+ "Tag groups must appear before block content",
145
+ "E_TAG_DECLARED_AFTER_CONTENT"
183
146
  );
184
147
  continue;
185
148
  }
186
-
187
- // --- Content phase ---
188
149
  contentStarted = true;
189
150
  currentTagGroup = null;
190
151
  contentLines.push({ indent: measureIndent(line), trimmed, lineNumber });
191
152
  }
192
-
193
- // Finalize auto tag colors before any color resolution.
194
- finalizeAutoTagColors(result.tagGroups as Writable<TagGroup>[], palette);
195
-
196
- // --- Build the grid tree (recursive over indentation) ---
153
+ finalizeAutoTagColors(result.tagGroups, palette);
197
154
  let idx = 0;
198
155
  let nodeCounter = 0;
199
- const baseIndent = contentLines.length > 0 ? contentLines[0]!.indent : 0;
200
-
201
- const parseGrid = (base: number): BlockGrid => {
202
- const grid: BlockGrid = { cols: null, rows: [] };
156
+ const baseIndent = contentLines.length > 0 ? contentLines[0].indent : 0;
157
+ const parseGrid = (base) => {
158
+ const grid = { cols: null, rows: [] };
203
159
  while (idx < contentLines.length) {
204
- const ln = contentLines[idx]!;
160
+ const ln = contentLines[idx];
205
161
  if (ln.indent < base) break;
206
162
  if (ln.indent > base) {
207
- // Orphan deeper line with no container header — skip with a hint.
208
163
  pushWarning(
209
164
  ln.lineNumber,
210
- `Over-indented line "${ln.trimmed}" has no parent block — ignored`
165
+ `Over-indented line "${ln.trimmed}" has no parent block \u2014 ignored`
211
166
  );
212
167
  idx++;
213
168
  continue;
214
169
  }
215
-
216
170
  const colsMatch = ln.trimmed.match(/^columns\s+(\d+)\s*$/i);
217
171
  if (colsMatch) {
218
- grid.cols = parseInt(colsMatch[1]!, 10);
172
+ grid.cols = parseInt(colsMatch[1], 10);
219
173
  idx++;
220
174
  continue;
221
175
  }
222
-
223
176
  if (/^\[|^_(?=\s|$)|^space(?=\s|$)/.test(ln.trimmed)) {
224
177
  const cells = parseRow(
225
178
  ln.trimmed,
@@ -229,57 +182,43 @@ export function parseBlock(
229
182
  pushWarning
230
183
  );
231
184
  idx++;
232
- // A lone block followed by an indented body is a CONTAINER.
233
- const only = cells.length === 1 ? cells[0]! : null;
234
- if (
235
- only &&
236
- isBlockNode(only) &&
237
- idx < contentLines.length &&
238
- contentLines[idx]!.indent > base
239
- ) {
240
- only.grid = parseGrid(contentLines[idx]!.indent);
185
+ const only = cells.length === 1 ? cells[0] : null;
186
+ if (only && isBlockNode(only) && idx < contentLines.length && contentLines[idx].indent > base) {
187
+ only.grid = parseGrid(contentLines[idx].indent);
241
188
  }
242
189
  if (cells.length > 0) grid.rows.push(cells);
243
190
  continue;
244
191
  }
245
-
246
192
  pushWarning(
247
193
  ln.lineNumber,
248
- `Unrecognized line "${ln.trimmed}" — block rows are bracketed (e.g. [A] [B]) or a "columns N" directive`
194
+ `Unrecognized line "${ln.trimmed}" \u2014 block rows are bracketed (e.g. [A] [B]) or a "columns N" directive`
249
195
  );
250
196
  idx++;
251
197
  }
252
198
  return grid;
253
199
  };
254
-
255
200
  result.top = parseGrid(baseIndent);
256
201
  if (topCols !== null && result.top.cols === null) result.top.cols = topCols;
257
-
258
- // --- Layout inference: columns, span clamp, even-fill (recursive) ---
259
- const inferGrid = (grid: BlockGrid): void => {
260
- const cols =
261
- grid.cols ??
262
- Math.max(
263
- 1,
264
- ...grid.rows.map((r) => r.reduce((s, c) => s + (c.span || 1), 0))
265
- );
202
+ const inferGrid = (grid) => {
203
+ const cols = grid.cols ?? Math.max(
204
+ 1,
205
+ ...grid.rows.map((r) => r.reduce((s, c) => s + (c.span || 1), 0))
206
+ );
266
207
  grid.cols = cols;
267
208
  for (const row of grid.rows) {
268
- for (const c of row) if (c.span > cols) c.span = cols; // clamp overflow
209
+ for (const c of row) if (c.span > cols) c.span = cols;
269
210
  const cnt = row.length;
270
211
  const allOne = row.every((c) => (c.span || 1) === 1);
271
212
  if (allOne && cnt > 0 && cnt < cols && cols % cnt === 0) {
272
213
  const sp = cols / cnt;
273
- for (const c of row) c.span = sp; // even-fill divisible short rows
214
+ for (const c of row) c.span = sp;
274
215
  }
275
216
  for (const c of row) if (isBlockNode(c) && c.grid) inferGrid(c.grid);
276
217
  }
277
218
  };
278
219
  inferGrid(result.top);
279
-
280
- // --- Tags: cascade group → children, then validate ---
281
- const allNodes: BlockNode[] = [];
282
- const collect = (grid: BlockGrid): void => {
220
+ const allNodes = [];
221
+ const collect = (grid) => {
283
222
  for (const row of grid.rows)
284
223
  for (const c of row)
285
224
  if (isBlockNode(c)) {
@@ -288,19 +227,15 @@ export function parseBlock(
288
227
  }
289
228
  };
290
229
  collect(result.top);
291
-
292
230
  if (result.tagGroups.length > 0) {
293
231
  const tagKeys = result.tagGroups.map((g) => tagAttrKey(g.name));
294
- const cascade = (
295
- grid: BlockGrid,
296
- inherited: Record<string, string>
297
- ): void => {
232
+ const cascade = (grid, inherited) => {
298
233
  for (const row of grid.rows)
299
234
  for (const c of row) {
300
235
  if (!isBlockNode(c)) continue;
301
236
  for (const k of tagKeys) {
302
- if (!(k in c.metadata) && inherited[k] !== undefined) {
303
- c.metadata[k] = inherited[k]!;
237
+ if (!(k in c.metadata) && inherited[k] !== void 0) {
238
+ c.metadata[k] = inherited[k];
304
239
  }
305
240
  }
306
241
  if (c.grid) cascade(c.grid, c.metadata);
@@ -310,118 +245,94 @@ export function parseBlock(
310
245
  validateTagValues(allNodes, result.tagGroups, pushWarning, suggest);
311
246
  validateTagGroupNames(result.tagGroups, pushWarning);
312
247
  }
313
-
314
248
  if (allNodes.length === 0 && !result.error) {
315
- const diag = makeDgmoError(1, 'No blocks found in block diagram');
249
+ const diag = makeDgmoError(1, "No blocks found in block diagram");
316
250
  result.diagnostics.push(diag);
317
251
  result.error = formatDgmoError(diag);
318
252
  }
319
-
320
253
  return result;
321
254
  }
322
-
323
- // ============================================================
324
- // Row + cell parsing
325
- // ============================================================
326
-
327
- /** Scan a row left-to-right into cells: each `[label]` carries trailing
328
- * metadata up to the next `[` or gap token; `_`/`space` are empty cells. */
329
- function parseRow(
330
- line: string,
331
- lineNumber: number,
332
- aliasMap: Map<string, string>,
333
- nextId: () => number,
334
- pushWarning: (line: number, message: string) => void
335
- ): BlockCell[] {
336
- const cells: BlockCell[] = [];
255
+ function parseRow(line, lineNumber, aliasMap, nextId, pushWarning) {
256
+ const cells = [];
337
257
  let i = 0;
338
258
  const n = line.length;
339
259
  while (i < n) {
340
- while (i < n && line[i] === ' ') i++;
260
+ while (i < n && line[i] === " ") i++;
341
261
  if (i >= n) break;
342
-
343
262
  const gap = line.slice(i).match(/^(_|space)(?=\s|$)/);
344
263
  if (gap) {
345
264
  cells.push({ empty: true, span: 1 });
346
- i += gap[1]!.length;
265
+ i += gap[1].length;
347
266
  continue;
348
267
  }
349
-
350
- if (line[i] === '[') {
351
- const end = line.indexOf(']', i);
268
+ if (line[i] === "[") {
269
+ const end = line.indexOf("]", i);
352
270
  if (end < 0) {
353
271
  pushWarning(lineNumber, `Unclosed "[" in block row "${line.trim()}"`);
354
272
  break;
355
273
  }
356
274
  const label = line.slice(i + 1, end).trim();
357
275
  i = end + 1;
358
-
359
- // Collect trailing metadata tokens until the next bracket or gap token.
360
- let tail = '';
276
+ let tail = "";
361
277
  while (i < n) {
362
278
  let k = i;
363
- while (k < n && line[k] === ' ') k++;
364
- if (k >= n || line[k] === '[') {
279
+ while (k < n && line[k] === " ") k++;
280
+ if (k >= n || line[k] === "[") {
365
281
  i = k;
366
282
  break;
367
283
  }
368
284
  let e = k;
369
- while (e < n && line[e] !== ' ' && line[e] !== '[') e++;
285
+ while (e < n && line[e] !== " " && line[e] !== "[") e++;
370
286
  const tok = line.slice(k, e);
371
- if (tok === '_' || tok === 'space') {
287
+ if (tok === "_" || tok === "space") {
372
288
  i = k;
373
289
  break;
374
290
  }
375
- tail += (tail ? ' ' : '') + tok;
291
+ tail += (tail ? " " : "") + tok;
376
292
  i = e;
377
293
  }
378
-
379
294
  const { meta, span, collapsed } = parseBlockTail(tail, aliasMap);
380
- const node: BlockNode = {
295
+ const node = {
381
296
  id: `block-node-${nextId()}`,
382
297
  label,
383
298
  span: span ?? 1,
384
299
  collapsed,
385
300
  metadata: meta,
386
- lineNumber,
301
+ lineNumber
387
302
  };
388
303
  cells.push(node);
389
304
  continue;
390
305
  }
391
-
392
- i++; // skip stray character
306
+ i++;
393
307
  }
394
308
  return cells;
395
309
  }
396
-
397
- /** Parse the metadata tail after a `]`: comma-separated `key: value` pairs
398
- * (boxes-and-lines idiom), plus the `span:` key and a bare `collapsed` flag. */
399
- function parseBlockTail(
400
- tail: string,
401
- aliasMap: Map<string, string>
402
- ): { meta: Record<string, string>; span?: number; collapsed: boolean } {
310
+ function parseBlockTail(tail, aliasMap) {
403
311
  let collapsed = false;
404
- const stripped = tail.replace(/(^|\s)collapsed(?=\s|$)/i, (_m, a: string) => {
312
+ const stripped = tail.replace(/(^|\s)collapsed(?=\s|$)/i, (_m, a) => {
405
313
  collapsed = true;
406
314
  return a;
407
315
  });
408
-
409
- const meta: Record<string, string> = {};
410
- let span: number | undefined;
411
- for (const seg of stripped.split(',')) {
316
+ const meta = {};
317
+ let span;
318
+ for (const seg of stripped.split(",")) {
412
319
  const t = seg.trim();
413
320
  if (!t) continue;
414
- const colonIdx = t.indexOf(':');
415
- if (colonIdx < 0) continue; // bare words ignored (no status system)
321
+ const colonIdx = t.indexOf(":");
322
+ if (colonIdx < 0) continue;
416
323
  const rawKey = t.slice(0, colonIdx).trim().toLowerCase();
417
324
  const value = t.slice(colonIdx + 1).trim();
418
- if (rawKey === 'span') {
325
+ if (rawKey === "span") {
419
326
  const num = parseInt(value, 10);
420
327
  if (Number.isFinite(num) && num >= 1) span = num;
421
328
  } else if (value) {
422
329
  meta[aliasMap.get(rawKey) ?? rawKey] = value;
423
330
  }
424
331
  }
425
-
426
- return { meta, ...(span !== undefined && { span }), collapsed };
332
+ return { meta, ...span !== void 0 && { span }, collapsed };
427
333
  }
334
+
335
+ export {
336
+ parseBlock
337
+ };
338
+ //# sourceMappingURL=chunk-7JEGTRLD.js.map