@diagrammo/dgmo 0.91.1 → 0.92.1

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 (281) hide show
  1. package/dist/advanced.d.ts +21 -12
  2. package/dist/advanced.js +123 -122
  3. package/dist/{analyzer-7ZGAZIE6.js → analyzer-G7PGOT3V.js} +2 -2
  4. package/dist/block.d.ts +10 -3
  5. package/dist/block.js +67 -66
  6. package/dist/{calculator-3LZUWOBK.js → calculator-BNH3GSJE.js} +4 -4
  7. package/dist/{chart-meta-B_WTMP0y.d.ts → chart-meta-BBqLnv5q.d.ts} +4 -3
  8. package/dist/chart-meta.d.ts +3 -3
  9. package/dist/chart-meta.js +22 -22
  10. package/dist/{chart-types-V2NcgN5O.d.ts → chart-types-CbXlZFLd.d.ts} +3 -2
  11. package/dist/charts-d3-QUUDVETP.js +31 -0
  12. package/dist/{chunk-634LDSN6.js → chunk-26BBJUBW.js} +2 -2
  13. package/dist/{chunk-ZJ4PYTCK.js → chunk-2BJW7FSF.js} +2 -2
  14. package/dist/{chunk-3YTAOMMN.js → chunk-2WQ3YZMN.js} +2 -2
  15. package/dist/{chunk-XLPJJ35N.js → chunk-2YAFDND3.js} +4 -4
  16. package/dist/{chunk-HLVGZXM5.js → chunk-2ZW4NBYX.js} +1 -1
  17. package/dist/{chunk-VGSSAMLA.js → chunk-3GUEYQGL.js} +8 -5
  18. package/dist/{chunk-HWXUQCDY.js → chunk-3KVUFHUJ.js} +2 -2
  19. package/dist/{chunk-2A4OFZ2Z.js → chunk-3PFMGNOM.js} +12 -9
  20. package/dist/{chunk-KSZHIAI2.js → chunk-3Y63RFJL.js} +1 -1
  21. package/dist/{chunk-CNUN5GO6.js → chunk-42UJ23H3.js} +1 -1
  22. package/dist/{chunk-TPEYEOXA.js → chunk-45QUTYPD.js} +15 -13
  23. package/dist/{chunk-HSGWR2FL.js → chunk-4QLGGQNO.js} +55 -23
  24. package/dist/{chunk-QKJ6MQXW.js → chunk-4SACN2C5.js} +2 -2
  25. package/dist/{chunk-D7PP35BA.js → chunk-4XYZJTFO.js} +2 -2
  26. package/dist/{chunk-5U6DXIMV.js → chunk-5EBYPETE.js} +2 -2
  27. package/dist/{chunk-K3BYD3WU.js → chunk-5KKZXA44.js} +3 -3
  28. package/dist/{chunk-UWJP4JSZ.js → chunk-5OTA2PUH.js} +2 -2
  29. package/dist/{chunk-CU2PZLZP.js → chunk-5SSTVFPX.js} +44 -9
  30. package/dist/{chunk-LKR4FACF.js → chunk-66JTY4AN.js} +2 -4
  31. package/dist/{chunk-AR4QVMWG.js → chunk-6BNNLVAR.js} +1 -1
  32. package/dist/{chunk-L24LESXF.js → chunk-6GXLAKUH.js} +1 -1
  33. package/dist/{chunk-XLAREWBK.js → chunk-6OIMUSDX.js} +9 -9
  34. package/dist/{chunk-RE27AX7O.js → chunk-6OSGENN5.js} +1 -1
  35. package/dist/{chunk-VMD2CYVP.js → chunk-6WVX4KNP.js} +44 -44
  36. package/dist/{chunk-IMHNZITR.js → chunk-6ZL2XYM7.js} +3 -3
  37. package/dist/{chunk-RMTOZALT.js → chunk-73EYNV4O.js} +3 -3
  38. package/dist/{chunk-4HG4PYHM.js → chunk-7ENDOHAA.js} +1 -1
  39. package/dist/{chunk-4YO7VJTP.js → chunk-7PJBJ2DU.js} +1 -1
  40. package/dist/{chunk-MI6SJJQU.js → chunk-A2A2I4Z4.js} +3 -3
  41. package/dist/{chunk-PSGSFRRE.js → chunk-A4PNWAUW.js} +3 -3
  42. package/dist/{chunk-7BBRSOKS.js → chunk-ADNIO3XY.js} +3 -3
  43. package/dist/{chunk-R7BSF7Z7.js → chunk-AQQUJEDN.js} +1 -1
  44. package/dist/{chunk-HYV6GSXM.js → chunk-AULZD45V.js} +2 -2
  45. package/dist/chunk-B5DHFFZP.js +15 -0
  46. package/dist/{chunk-ZB2Q67NO.js → chunk-B5PEKSRH.js} +2 -2
  47. package/dist/{chunk-EP7BT3HU.js → chunk-BEA4D7OS.js} +2 -2
  48. package/dist/{chunk-CVZBLHHW.js → chunk-BQMHJ6OW.js} +1 -1
  49. package/dist/{chunk-OYKNMFUY.js → chunk-BQO24BDM.js} +2 -2
  50. package/dist/{chunk-V3KHZQPK.js → chunk-BRGRIZQB.js} +2 -2
  51. package/dist/{chunk-IMKPFW67.js → chunk-BRSM6Z34.js} +10 -10
  52. package/dist/{chunk-PUZ63XZM.js → chunk-BZX7QCXJ.js} +21 -32
  53. package/dist/{chunk-37QQXKFV.js → chunk-CDM6XMOT.js} +3 -3
  54. package/dist/{chunk-53BJIOLF.js → chunk-CN4RDJDV.js} +3 -3
  55. package/dist/{chunk-OOCVGX4W.js → chunk-CYRB2JTN.js} +1 -1
  56. package/dist/{chunk-IHK3Y2HG.js → chunk-DEFBUZWV.js} +1 -1
  57. package/dist/{chunk-NTJ5HVV6.js → chunk-DGUGE67L.js} +3 -3
  58. package/dist/{chunk-3SLRZKLB.js → chunk-DRFGIOZ6.js} +4 -4
  59. package/dist/{chunk-EDPDAUBL.js → chunk-DUPZ2BBY.js} +17 -5
  60. package/dist/{chunk-HLE5QGZJ.js → chunk-EBIDNRSR.js} +2 -2
  61. package/dist/{chunk-N254IJM2.js → chunk-EBSFSOJC.js} +26 -10
  62. package/dist/{chunk-MKFQ5E7J.js → chunk-EBVVMUAA.js} +1 -1
  63. package/dist/{chunk-F2436VRR.js → chunk-FSJ3ZA6N.js} +5 -5
  64. package/dist/{chunk-Q3N7PI3B.js → chunk-FTUMRSGT.js} +115 -10
  65. package/dist/{chunk-57L2JPP2.js → chunk-GE7ICBX6.js} +6 -6
  66. package/dist/{chunk-ROCBGUJN.js → chunk-GI5R5B3S.js} +2 -2
  67. package/dist/{chunk-D7DXNQW5.js → chunk-H5UEVW6Q.js} +16 -10
  68. package/dist/{chunk-HFG7KQOY.js → chunk-H6BT45SN.js} +2 -2
  69. package/dist/{chunk-BDXC7MDK.js → chunk-H7AXCRO7.js} +1 -1
  70. package/dist/{chunk-GCDW3WAY.js → chunk-HIWHIYLD.js} +20 -11
  71. package/dist/{chunk-JJUDOR4I.js → chunk-HXULJZA2.js} +1 -1
  72. package/dist/{chunk-MJKQ5ZYY.js → chunk-IGKFOHBG.js} +5 -5
  73. package/dist/{chunk-WTE27AJT.js → chunk-J2E7EUER.js} +19 -10
  74. package/dist/{chunk-J2SQNZ6D.js → chunk-J7Q4AB23.js} +6 -3
  75. package/dist/{chunk-NS7L7YKH.js → chunk-JILEYZ2V.js} +2 -4
  76. package/dist/{chunk-5MDQMB6A.js → chunk-JKST4RTT.js} +3 -3
  77. package/dist/{chunk-RVTYIGWZ.js → chunk-JLU52ZDT.js} +9 -9
  78. package/dist/{chunk-KATED53P.js → chunk-JRWUHLRP.js} +1 -1
  79. package/dist/{chunk-IUBCDNT2.js → chunk-JXGSTBW6.js} +3 -3
  80. package/dist/{chunk-2ZVLI6GQ.js → chunk-KBDMEOLI.js} +2 -2
  81. package/dist/{chunk-TLPY4ZBI.js → chunk-KTGZDMDX.js} +38 -17
  82. package/dist/{chunk-II4XJETG.js → chunk-L5NW3PVL.js} +1 -1
  83. package/dist/{chunk-JJQWCI35.js → chunk-LKZCUFOW.js} +3 -3
  84. package/dist/{chunk-27KA4VV6.js → chunk-LRP5FXST.js} +7 -7
  85. package/dist/{chunk-JA2S7PHR.js → chunk-MDVJYRJT.js} +12 -16
  86. package/dist/{chunk-SWBHH2UW.js → chunk-MX4SZLSV.js} +4 -14
  87. package/dist/{chunk-5DIBB2QG.js → chunk-MXAP37W6.js} +2 -2
  88. package/dist/{chunk-273GB7WK.js → chunk-NBAAIRFP.js} +1 -3
  89. package/dist/{chunk-QVKTAU7P.js → chunk-NMS5XSLX.js} +4 -4
  90. package/dist/{chunk-BQVTV4LB.js → chunk-NO3UX6AP.js} +2 -2
  91. package/dist/{chunk-RHXIUUWB.js → chunk-NREU4JFE.js} +4 -4
  92. package/dist/{chunk-CXIPV2FY.js → chunk-NVZ7R4EK.js} +8 -8
  93. package/dist/{chunk-TCX5PMEY.js → chunk-NXU4N5WT.js} +1 -1
  94. package/dist/{chunk-FJCYK4K3.js → chunk-O5WUZGPV.js} +50 -17
  95. package/dist/{chunk-G22UV5AF.js → chunk-ONYO5WJW.js} +18 -15
  96. package/dist/{chunk-EWERNTOX.js → chunk-OQW4ETJX.js} +3 -6
  97. package/dist/{chunk-6QEXWMBP.js → chunk-PVWIBKV2.js} +4 -4
  98. package/dist/{chunk-YZG37S7L.js → chunk-Q2UFOKPB.js} +10 -10
  99. package/dist/{chunk-X6IZP2BD.js → chunk-Q6W2K33N.js} +4 -4
  100. package/dist/{chunk-WNTPJZU7.js → chunk-Q6ZQX2HX.js} +4 -4
  101. package/dist/{chunk-CPGKRI7H.js → chunk-QKY6W4NA.js} +17 -15
  102. package/dist/{chunk-IWTUXGHN.js → chunk-QQPNCXAO.js} +15 -13
  103. package/dist/{chunk-2AM6VA3A.js → chunk-QUGC7GWB.js} +10 -10
  104. package/dist/{chunk-IS6WFBX7.js → chunk-R6EGUTIV.js} +3 -3
  105. package/dist/{chunk-CDT33RHG.js → chunk-RBFJT23E.js} +3 -3
  106. package/dist/{chunk-G3EUQMV4.js → chunk-SOHZDW6N.js} +3 -3
  107. package/dist/{chunk-SPQVER4T.js → chunk-STFWGASB.js} +1 -1
  108. package/dist/{chunk-G2KHLANR.js → chunk-T7NWBVSC.js} +2 -2
  109. package/dist/{chunk-MPJQMMBZ.js → chunk-TIIZIAGS.js} +1 -1
  110. package/dist/{chunk-B6EUFLRP.js → chunk-TKAB3FTK.js} +11 -11
  111. package/dist/{chunk-SEKNYIMO.js → chunk-TOHTKLKE.js} +1 -1
  112. package/dist/{chunk-I6GGMCTV.js → chunk-UOCWYLYT.js} +1 -1
  113. package/dist/{chunk-6NO3MNBC.js → chunk-URQIWIKX.js} +3 -3
  114. package/dist/{chunk-I74AQRVD.js → chunk-V4D2ZQBE.js} +2 -2
  115. package/dist/{chunk-2UV627GG.js → chunk-VOR32OHN.js} +12 -12
  116. package/dist/{chunk-YRYKTYMQ.js → chunk-VSOZZYLK.js} +106 -12
  117. package/dist/{chunk-MNL547RV.js → chunk-WLLO3PZ3.js} +23 -9
  118. package/dist/{chunk-SKF7XLCM.js → chunk-WZBZXZ6T.js} +3 -6
  119. package/dist/{chunk-NWPMLX2V.js → chunk-X5BUX2GK.js} +79 -10
  120. package/dist/{chunk-XQTRGKQ3.js → chunk-XIUGSUE4.js} +2 -2
  121. package/dist/{chunk-KA5CSR44.js → chunk-Y2V5AEVG.js} +244 -181
  122. package/dist/{chunk-SMTWQ66K.js → chunk-Y3SIQN4J.js} +2 -2
  123. package/dist/{chunk-5VPWIC6T.js → chunk-YITHYQCL.js} +9 -9
  124. package/dist/{chunk-5WRI5ZAA.js → chunk-YLJ4XMA6.js} +5 -1
  125. package/dist/{chunk-PZVTFQI2.js → chunk-YO6AQU4A.js} +7 -7
  126. package/dist/{chunk-5NU7NII2.js → chunk-Z6QFHH4D.js} +3 -1
  127. package/dist/{chunk-F26ZPBSF.js → chunk-ZECJ7Q6C.js} +2 -2
  128. package/dist/{chunk-M6J25PAZ.js → chunk-ZJAK6C7Y.js} +1 -1
  129. package/dist/{chunk-DLX7MEN4.js → chunk-ZKP77MB3.js} +4 -4
  130. package/dist/cloud-reference.d.ts +5 -3
  131. package/dist/cloud-reference.js +2 -2
  132. package/dist/{collapse-SLINJQW6.js → collapse-BSPH3BFM.js} +1 -1
  133. package/dist/{collapse-ZWUFFCK2.js → collapse-TCVK3RPO.js} +1 -1
  134. package/dist/{collapse-JRGPUE67.js → collapse-VNYYXMUI.js} +1 -1
  135. package/dist/completion-registry.d.ts +2 -1
  136. package/dist/completion-registry.js +5 -5
  137. package/dist/{compute-2XWFVO7K.js → compute-II4G44IK.js} +1 -1
  138. package/dist/{d3-2S3PrXik.d.ts → d3-BThYBTQk.d.ts} +3 -2
  139. package/dist/dgmo-router-4UAPPIKN.js +94 -0
  140. package/dist/dimensions-SCNVYLRF.js +21 -0
  141. package/dist/{flowchart-parser-BLJ6RA53.js → flowchart-parser-NA75YQ77.js} +5 -5
  142. package/dist/{flowchart-renderer-FXRQKXAK.js → flowchart-renderer-6MGGX4RC.js} +14 -14
  143. package/dist/highlight.d.ts +2 -1
  144. package/dist/index.d.ts +9 -8
  145. package/dist/index.js +64 -64
  146. package/dist/{layout-ROAVGBUC.js → layout-2WESJYRE.js} +1 -1
  147. package/dist/{layout-RBLD5EGX.js → layout-5USEVQBY.js} +8 -5
  148. package/dist/{layout-YKGQRFDM.js → layout-BNLFQHSB.js} +5 -2
  149. package/dist/{layout-UPQGIT3N.js → layout-D4L44NRG.js} +1 -1
  150. package/dist/{layout-B7PQRAMB.js → layout-HF3PMI4H.js} +1 -1
  151. package/dist/{layout-VRJ5YFUE.js → layout-HFBK5UEG.js} +5 -5
  152. package/dist/{layout-RANVNAKI.js → layout-J3AGFZZ7.js} +1 -1
  153. package/dist/{layout-G42FDCF3.js → layout-JTIRCKAW.js} +7 -7
  154. package/dist/{layout-CCVCLZ6S.js → layout-KV27UW25.js} +2 -2
  155. package/dist/{layout-5HCEF7VO.js → layout-MBVBAMPA.js} +1 -1
  156. package/dist/layout-MXHR3P35.js +15 -0
  157. package/dist/layout-ND26WVX2.js +15 -0
  158. package/dist/{layout-CRUAP7JG.js → layout-RH3N46HP.js} +5 -5
  159. package/dist/{layout-JTNRSGOS.js → layout-S3RLVPH4.js} +8 -5
  160. package/dist/layout-WRG4APSJ.js +32 -0
  161. package/dist/{layout-search-L75YOBME.js → layout-search-PMYL3VWS.js} +8 -3
  162. package/dist/{legend-constants-HE7FVDJP.js → legend-constants-55MFBXYF.js} +4 -4
  163. package/dist/live-link-resolve.d.ts +2 -1
  164. package/dist/live-link-resolve.js +2 -2
  165. package/dist/{palettes-WQHELGVQ.js → palettes-IN7ZFRJM.js} +4 -4
  166. package/dist/{parser-YWZGIU3C.js → parser-2IKPQVKX.js} +6 -6
  167. package/dist/{parser-4QNRCGU5.js → parser-2NWH5JUS.js} +8 -8
  168. package/dist/parser-3LT3ZUUC.js +10 -0
  169. package/dist/{parser-6NSQLPTS.js → parser-3MK56JZC.js} +5 -5
  170. package/dist/parser-3QIFY5IN.js +10 -0
  171. package/dist/{parser-YVHO2NRM.js → parser-4TBSWULQ.js} +5 -5
  172. package/dist/parser-5LW5JDYG.js +12 -0
  173. package/dist/parser-5UZV32ZI.js +10 -0
  174. package/dist/{parser-XO5IAXMT.js → parser-6TDWUKM5.js} +5 -5
  175. package/dist/{parser-6LMB7BQQ.js → parser-BES6LV3G.js} +4 -4
  176. package/dist/{parser-H2DJEAPG.js → parser-BJ7RJNUM.js} +5 -5
  177. package/dist/parser-EAQPZX2B.js +13 -0
  178. package/dist/{parser-UEDPLM46.js → parser-EFF22GYO.js} +5 -5
  179. package/dist/{parser-QL4DEPVA.js → parser-FXDS4JDK.js} +5 -5
  180. package/dist/{parser-R6OETHWM.js → parser-GMQJISZ6.js} +5 -5
  181. package/dist/{parser-6X4GGH2R.js → parser-GX5YLRIP.js} +6 -6
  182. package/dist/parser-H5OODY5N.js +11 -0
  183. package/dist/parser-K2DI26SC.js +11 -0
  184. package/dist/parser-KKF6Y5MM.js +12 -0
  185. package/dist/parser-KLCSFQ3J.js +12 -0
  186. package/dist/{parser-MDSVVCJP.js → parser-L6RWDXQN.js} +6 -6
  187. package/dist/{parser-EYF4ZSZO.js → parser-LCJ76UXS.js} +5 -5
  188. package/dist/parser-LTRQASGB.js +11 -0
  189. package/dist/parser-PEZ7RN43.js +14 -0
  190. package/dist/{parser-ULSUK36C.js → parser-QYISOAGR.js} +6 -6
  191. package/dist/parser-RTWPFKXG.js +12 -0
  192. package/dist/{parser-Q3UAOLEZ.js → parser-SEUTXN6U.js} +5 -5
  193. package/dist/parser-SIKL4PLF.js +10 -0
  194. package/dist/parser-TUAEX6ML.js +12 -0
  195. package/dist/parser-VA7ZQQTA.js +10 -0
  196. package/dist/parser-X23GRTQJ.js +10 -0
  197. package/dist/{parser-AL6YL7KM.js → parser-XZUKNZPB.js} +4 -4
  198. package/dist/parser-YG625J5H.js +13 -0
  199. package/dist/{parser-UL6WN6W5.js → parser-YHDGKPZI.js} +5 -5
  200. package/dist/pert.d.ts +2 -1
  201. package/dist/renderer-2FVUPBGV.js +20 -0
  202. package/dist/{renderer-YDNWK6RI.js → renderer-36446HSH.js} +5 -5
  203. package/dist/{renderer-OPA4JJKX.js → renderer-3IHQI4A4.js} +12 -12
  204. package/dist/{renderer-43IVPARP.js → renderer-3JY6JAQJ.js} +9 -9
  205. package/dist/{renderer-SD4ZHHAR.js → renderer-3QAFDXEY.js} +11 -11
  206. package/dist/{renderer-7EAWN7MC.js → renderer-5TZVFQ7K.js} +11 -11
  207. package/dist/renderer-5VKPB4LL.js +28 -0
  208. package/dist/{renderer-B7B7BQM3.js → renderer-7ZZG5HR3.js} +12 -11
  209. package/dist/renderer-ALWVK3EJ.js +30 -0
  210. package/dist/{renderer-R7RK7FKI.js → renderer-DC7C5Q3G.js} +4 -4
  211. package/dist/renderer-DVNMCYHZ.js +40 -0
  212. package/dist/renderer-ISSDGK54.js +22 -0
  213. package/dist/{renderer-IPDCAACY.js → renderer-J5FKF423.js} +6 -6
  214. package/dist/{renderer-SE7Z5AOL.js → renderer-J666LZXJ.js} +11 -11
  215. package/dist/{renderer-I2LYSQBV.js → renderer-JEJT3YET.js} +7 -7
  216. package/dist/{renderer-TWKEZ3DD.js → renderer-LM4ICK6I.js} +11 -11
  217. package/dist/{renderer-3N64GVNM.js → renderer-LQP3AGEJ.js} +5 -5
  218. package/dist/{renderer-7SEXPBGM.js → renderer-MM27BSBO.js} +9 -9
  219. package/dist/{renderer-U5PD72G7.js → renderer-NDA2FFYB.js} +10 -10
  220. package/dist/{renderer-YQPZ7O2C.js → renderer-NHTR7IRR.js} +4 -4
  221. package/dist/{renderer-T2WUA7MC.js → renderer-O6DY46AV.js} +15 -15
  222. package/dist/{renderer-4MEZYGU6.js → renderer-OAR5VPH4.js} +6 -6
  223. package/dist/renderer-QGIHLZOJ.js +31 -0
  224. package/dist/{renderer-ZQ77CM6Y.js → renderer-RSK6QFWN.js} +12 -11
  225. package/dist/renderer-RUSFL7WU.js +27 -0
  226. package/dist/{renderer-S3NFBJCY.js → renderer-S3YCLJKL.js} +19 -19
  227. package/dist/renderer-TO2NVJP3.js +80 -0
  228. package/dist/{renderer-54GXA3UO.js → renderer-VPIELEE5.js} +12 -12
  229. package/dist/{renderer-R7OYCJEA.js → renderer-WIU5BJUK.js} +5 -5
  230. package/dist/{renderer-MRMFYYZT.js → renderer-XGG2UNXT.js} +5 -5
  231. package/dist/{renderer-QQNPJGAP.js → renderer-XO57LTU4.js} +10 -10
  232. package/dist/{renderer-RFP55AW7.js → renderer-ZGY7P4BM.js} +19 -19
  233. package/dist/{renderer-JUH6M3XF.js → renderer-ZHGHTSNG.js} +16 -16
  234. package/dist/{renderer-LWL3IJOF.js → renderer-ZZ6MWVB7.js} +10 -10
  235. package/dist/renderer-radial-WFUX3Z3C.js +20 -0
  236. package/dist/{resolver-6DJLZF6Y.js → resolver-33K6MBCT.js} +3 -3
  237. package/dist/{state-collapse-HCGD6IVJ.js → state-collapse-SE2G4K4I.js} +1 -1
  238. package/dist/{state-parser-NIIVOU2Y.js → state-parser-TIR2ORJY.js} +6 -6
  239. package/dist/{state-renderer-TVLEG32M.js → state-renderer-G6SUXU4J.js} +18 -18
  240. package/dist/{tag-groups-fgxWTyyB.d.ts → tag-groups-DsoVpAY-.d.ts} +2 -1
  241. package/dist/{themes-Cm2YBcT8.d.ts → themes-DRNjxX7Q.d.ts} +4 -3
  242. package/docs/language-reference.md +9 -3
  243. package/gallery/fixtures/map-undirected-edges.dgmo +5 -5
  244. package/package.json +5 -3
  245. package/dist/charts-d3-KSA5UKVJ.js +0 -31
  246. package/dist/dgmo-router-YHBMKTXY.js +0 -94
  247. package/dist/dimensions-QMGWJQTR.js +0 -21
  248. package/dist/layout-6PLSBB5X.js +0 -15
  249. package/dist/layout-IV4H2FLB.js +0 -15
  250. package/dist/layout-T2DQ4M77.js +0 -26
  251. package/dist/parser-2XCDVLSN.js +0 -11
  252. package/dist/parser-3MGA2MTM.js +0 -10
  253. package/dist/parser-4AR25MAS.js +0 -10
  254. package/dist/parser-D6YRVV75.js +0 -12
  255. package/dist/parser-EY3VJWBE.js +0 -12
  256. package/dist/parser-FDXUQ5TI.js +0 -11
  257. package/dist/parser-ILWAA3QJ.js +0 -14
  258. package/dist/parser-KMFMNZYI.js +0 -11
  259. package/dist/parser-OFTMA36M.js +0 -10
  260. package/dist/parser-UY3K4ROB.js +0 -10
  261. package/dist/parser-UYQNNQKT.js +0 -13
  262. package/dist/parser-VG747VR6.js +0 -12
  263. package/dist/parser-VK4PNDX4.js +0 -12
  264. package/dist/parser-WSONWDFN.js +0 -10
  265. package/dist/parser-X5FQ36KJ.js +0 -13
  266. package/dist/parser-ZFLSULFC.js +0 -12
  267. package/dist/parser-ZR7JAKSW.js +0 -10
  268. package/dist/renderer-J2LOMTBC.js +0 -20
  269. package/dist/renderer-KY6O5JTX.js +0 -80
  270. package/dist/renderer-LHTDI5RV.js +0 -28
  271. package/dist/renderer-NCIDGJ2R.js +0 -30
  272. package/dist/renderer-QMNC7TGN.js +0 -22
  273. package/dist/renderer-VCTKBUTR.js +0 -30
  274. package/dist/renderer-VNZTWATB.js +0 -27
  275. package/dist/renderer-YDOWBIUB.js +0 -40
  276. package/dist/renderer-radial-TNNEL3YN.js +0 -20
  277. /package/dist/{chunk-2M4IGSCY.js → chunk-3J7O3CU6.js} +0 -0
  278. /package/dist/{chunk-4QV26TEG.js → chunk-AXLF3KRE.js} +0 -0
  279. /package/dist/{chunk-EDXGEQW3.js → chunk-FOTH2WWP.js} +0 -0
  280. /package/dist/{chunk-DAOFNU6J.js → chunk-MKSTL6DR.js} +0 -0
  281. /package/dist/{chunk-ABP5BUD6.js → chunk-ZI6WC24V.js} +0 -0
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ICLB27PZ.js";
18
18
  import {
19
19
  fillModeFromOptions
20
- } from "./chunk-MPJQMMBZ.js";
20
+ } from "./chunk-TIIZIAGS.js";
21
21
  import {
22
22
  CHAR_WIDTH_RATIO,
23
23
  measureText
@@ -26,10 +26,10 @@ import {
26
26
  contrastText,
27
27
  getSeriesColors,
28
28
  shapeFill
29
- } from "./chunk-L24LESXF.js";
29
+ } from "./chunk-6GXLAKUH.js";
30
30
  import {
31
31
  resolveColor
32
- } from "./chunk-2M4IGSCY.js";
32
+ } from "./chunk-3J7O3CU6.js";
33
33
 
34
34
  // src/ring/renderer.ts
35
35
  import * as d3Selection from "d3-selection";
@@ -17,7 +17,7 @@ import {
17
17
  stripDefaultModifier,
18
18
  tagAttrKey,
19
19
  validateTagGroupNames
20
- } from "./chunk-QKJ6MQXW.js";
20
+ } from "./chunk-4SACN2C5.js";
21
21
  import {
22
22
  AliasRegistry,
23
23
  INFRA_BEHAVIOR_KEY_SET,
@@ -31,10 +31,10 @@ import {
31
31
  tryParseSharedOption,
32
32
  warnUnknownMetaKeys,
33
33
  withTagAliases
34
- } from "./chunk-MPJQMMBZ.js";
34
+ } from "./chunk-TIIZIAGS.js";
35
35
  import {
36
36
  isRecognizedColorName
37
- } from "./chunk-2M4IGSCY.js";
37
+ } from "./chunk-3J7O3CU6.js";
38
38
  import {
39
39
  NAME_DIAGNOSTIC_CODES,
40
40
  emit,
@@ -6,7 +6,7 @@ import {
6
6
  fold,
7
7
  regionAt,
8
8
  unionExtent
9
- } from "./chunk-4QV26TEG.js";
9
+ } from "./chunk-AXLF3KRE.js";
10
10
  import {
11
11
  MAP_DX
12
12
  } from "./chunk-EOYPX6SF.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  mix
3
- } from "./chunk-L24LESXF.js";
3
+ } from "./chunk-6GXLAKUH.js";
4
4
  import {
5
5
  resolveColor
6
- } from "./chunk-2M4IGSCY.js";
6
+ } from "./chunk-3J7O3CU6.js";
7
7
 
8
8
  // src/clock/swatches.ts
9
9
  function buildSwatches(palette, muted) {
@@ -3,7 +3,7 @@ import {
3
3
  invalidColorDiagnostic,
4
4
  resolveColor,
5
5
  resolveColorWithDiagnostic
6
- } from "./chunk-2M4IGSCY.js";
6
+ } from "./chunk-3J7O3CU6.js";
7
7
  import {
8
8
  METADATA_DIAGNOSTIC_CODES,
9
9
  emit,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  layoutOrg
3
- } from "./chunk-MI6SJJQU.js";
3
+ } from "./chunk-A2A2I4Z4.js";
4
4
  import {
5
5
  renderCollapseBar,
6
6
  renderNodeCard
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-24YPR5EH.js";
11
11
  import {
12
12
  renderIntegratedLegend
13
- } from "./chunk-QVKTAU7P.js";
13
+ } from "./chunk-NMS5XSLX.js";
14
14
  import {
15
15
  CARD_RADIUS,
16
16
  COLLAPSE_BAR_HEIGHT,
@@ -31,10 +31,10 @@ import {
31
31
  import {
32
32
  extractExportSvg,
33
33
  runInExportContainer
34
- } from "./chunk-SEKNYIMO.js";
34
+ } from "./chunk-TOHTKLKE.js";
35
35
  import {
36
36
  getMaxLegendReservedHeight
37
- } from "./chunk-NS7L7YKH.js";
37
+ } from "./chunk-JILEYZ2V.js";
38
38
  import {
39
39
  TITLE_FONT_SIZE,
40
40
  TITLE_FONT_WEIGHT
@@ -44,21 +44,21 @@ import {
44
44
  } from "./chunk-ICLB27PZ.js";
45
45
  import {
46
46
  parseOrg
47
- } from "./chunk-UWJP4JSZ.js";
47
+ } from "./chunk-5OTA2PUH.js";
48
48
  import {
49
49
  resolveTagColor,
50
50
  tagAttrKey
51
- } from "./chunk-QKJ6MQXW.js";
51
+ } from "./chunk-4SACN2C5.js";
52
52
  import {
53
53
  fillModeFromOptions
54
- } from "./chunk-MPJQMMBZ.js";
54
+ } from "./chunk-TIIZIAGS.js";
55
55
  import {
56
56
  EYE_CLOSED_PATH,
57
57
  EYE_OPEN_PATH,
58
58
  LEGEND_EYE_GAP,
59
59
  LEGEND_EYE_SIZE,
60
60
  LEGEND_HEIGHT
61
- } from "./chunk-I6GGMCTV.js";
61
+ } from "./chunk-UOCWYLYT.js";
62
62
  import {
63
63
  measureText
64
64
  } from "./chunk-KAO7JL4I.js";
@@ -67,7 +67,7 @@ import {
67
67
  groupFill,
68
68
  groupStroke,
69
69
  shapeFill
70
- } from "./chunk-L24LESXF.js";
70
+ } from "./chunk-6GXLAKUH.js";
71
71
 
72
72
  // src/org/renderer.ts
73
73
  import * as d3Selection from "d3-selection";
@@ -201,7 +201,7 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
201
201
  const tagKey = tagAttrKey(activeTagGroup);
202
202
  const metaValue = c.tagMetadata[tagKey];
203
203
  if (metaValue) {
204
- cG.attr(`data-tag-${tagKey}`, metaValue.toLowerCase());
204
+ cG.attr(`data-tag-${tagAttrKey(tagKey)}`, metaValue.toLowerCase());
205
205
  }
206
206
  }
207
207
  if (c.hasChildren) {
@@ -283,7 +283,7 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
283
283
  const tagKey = tagAttrKey(activeTagGroup);
284
284
  const metaValue = node.tagMetadata[tagKey];
285
285
  if (metaValue) {
286
- nodeG.attr(`data-tag-${tagKey}`, metaValue.toLowerCase());
286
+ nodeG.attr(`data-tag-${tagAttrKey(tagKey)}`, metaValue.toLowerCase());
287
287
  }
288
288
  }
289
289
  if (node.hasChildren) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  serializeSvg
3
- } from "./chunk-OOCVGX4W.js";
3
+ } from "./chunk-CYRB2JTN.js";
4
4
  import {
5
5
  FONT_FAMILY
6
6
  } from "./chunk-ICLB27PZ.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-KAO7JL4I.js";
5
5
  import {
6
6
  mix
7
- } from "./chunk-L24LESXF.js";
7
+ } from "./chunk-6GXLAKUH.js";
8
8
 
9
9
  // src/utils/legend-constants.ts
10
10
  var LEGEND_HEIGHT = 28;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  compactNumber
3
- } from "./chunk-53BJIOLF.js";
3
+ } from "./chunk-CN4RDJDV.js";
4
4
  import {
5
5
  parseInlineMarkdown
6
6
  } from "./chunk-S7W75MIM.js";
@@ -18,10 +18,10 @@ import {
18
18
  mix,
19
19
  shapeFill,
20
20
  themeBaseBg
21
- } from "./chunk-L24LESXF.js";
21
+ } from "./chunk-6GXLAKUH.js";
22
22
  import {
23
23
  resolveColor
24
- } from "./chunk-2M4IGSCY.js";
24
+ } from "./chunk-3J7O3CU6.js";
25
25
 
26
26
  // src/goal/renderer.ts
27
27
  import * as d3Selection from "d3-selection";
@@ -16,10 +16,10 @@ import {
16
16
  splitNameAndMeta,
17
17
  tryParseSharedOption,
18
18
  warnUnknownMetaKeys
19
- } from "./chunk-MPJQMMBZ.js";
19
+ } from "./chunk-TIIZIAGS.js";
20
20
  import {
21
21
  resolveColorWithDiagnostic
22
- } from "./chunk-2M4IGSCY.js";
22
+ } from "./chunk-3J7O3CU6.js";
23
23
  import {
24
24
  NAME_DIAGNOSTIC_CODES,
25
25
  emit,
@@ -3,7 +3,7 @@ import {
3
3
  layoutJourneyMap,
4
4
  scoreToColor,
5
5
  scoreToCurveY
6
- } from "./chunk-HLE5QGZJ.js";
6
+ } from "./chunk-EBIDNRSR.js";
7
7
  import {
8
8
  wrapNoteBody
9
9
  } from "./chunk-RJNZHFNG.js";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-24YPR5EH.js";
19
19
  import {
20
20
  renderIntegratedLegend
21
- } from "./chunk-QVKTAU7P.js";
21
+ } from "./chunk-NMS5XSLX.js";
22
22
  import {
23
23
  CARD_RADIUS,
24
24
  CONTAINER_RADIUS,
@@ -27,20 +27,20 @@ import {
27
27
  } from "./chunk-XCKNFFKM.js";
28
28
  import {
29
29
  serializeSvg
30
- } from "./chunk-OOCVGX4W.js";
30
+ } from "./chunk-CYRB2JTN.js";
31
31
  import {
32
32
  FONT_FAMILY
33
33
  } from "./chunk-ICLB27PZ.js";
34
34
  import {
35
35
  parseJourneyMap
36
- } from "./chunk-PSGSFRRE.js";
36
+ } from "./chunk-A4PNWAUW.js";
37
37
  import {
38
38
  resolveActiveTagGroup,
39
39
  tagAttrKey
40
- } from "./chunk-QKJ6MQXW.js";
40
+ } from "./chunk-4SACN2C5.js";
41
41
  import {
42
42
  fillModeFromOptions
43
- } from "./chunk-MPJQMMBZ.js";
43
+ } from "./chunk-TIIZIAGS.js";
44
44
  import {
45
45
  measureText,
46
46
  truncateText,
@@ -51,7 +51,7 @@ import {
51
51
  mix,
52
52
  shapeFill,
53
53
  themeBaseBg
54
- } from "./chunk-L24LESXF.js";
54
+ } from "./chunk-6GXLAKUH.js";
55
55
 
56
56
  // src/journey-map/renderer.ts
57
57
  import * as d3 from "d3-selection";
@@ -320,7 +320,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
320
320
  faceG.attr("data-line-number", step.lineNumber);
321
321
  faceG.attr("data-score", pt.score);
322
322
  for (const [key, value] of Object.entries(step.tags)) {
323
- faceG.attr(`data-tag-${key.toLowerCase()}`, value);
323
+ faceG.attr(`data-tag-${tagAttrKey(key)}`, value);
324
324
  }
325
325
  const thoughts = step.annotations.filter((a) => a.type === "thought");
326
326
  if (thoughts.length > 0) {
@@ -355,7 +355,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
355
355
  faceG.attr("data-line-number", step.lineNumber);
356
356
  faceG.attr("data-score", pt.score);
357
357
  for (const [key, value] of Object.entries(step.tags)) {
358
- faceG.attr(`data-tag-${key.toLowerCase()}`, value);
358
+ faceG.attr(`data-tag-${tagAttrKey(key)}`, value);
359
359
  }
360
360
  const thoughts = step.annotations.filter((a) => a.type === "thought");
361
361
  if (thoughts.length > 0) {
@@ -420,7 +420,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
420
420
  itemG.attr("data-score", step.score);
421
421
  }
422
422
  for (const [key, value] of Object.entries(step.tags)) {
423
- itemG.attr(`data-tag-${key.toLowerCase()}`, value);
423
+ itemG.attr(`data-tag-${tagAttrKey(key)}`, value);
424
424
  }
425
425
  const stepColor = resolveStepColor(
426
426
  step,
@@ -453,7 +453,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
453
453
  faceG.attr("data-line-number", step.lineNumber);
454
454
  faceG.attr("data-score", step.score);
455
455
  for (const [key, value] of Object.entries(step.tags)) {
456
- faceG.attr(`data-tag-${key.toLowerCase()}`, value);
456
+ faceG.attr(`data-tag-${tagAttrKey(key)}`, value);
457
457
  }
458
458
  }
459
459
  const textX = listX + CARD_PADDING_X + COLLAPSED_FACE_R * 2 + 6;
@@ -666,7 +666,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
666
666
  stepG.attr("data-score", sl.step.score);
667
667
  }
668
668
  for (const [key, value] of Object.entries(sl.step.tags)) {
669
- stepG.attr(`data-tag-${key.toLowerCase()}`, value);
669
+ stepG.attr(`data-tag-${tagAttrKey(key)}`, value);
670
670
  }
671
671
  const cx = sl.x;
672
672
  const cy = sl.y;
@@ -1,4 +1,10 @@
1
+ import {
2
+ measureText,
3
+ truncateText
4
+ } from "./chunk-KAO7JL4I.js";
5
+
1
6
  // src/utils/time-ticks.ts
7
+ var TICK_LABEL_GAP = 8;
2
8
  var MONTH_ABBR = [
3
9
  "Jan",
4
10
  "Feb",
@@ -35,11 +41,12 @@ function dateToFractionalYear(d) {
35
41
  function formatYearTick(y) {
36
42
  return y < 0 ? `${-y} BCE` : String(y);
37
43
  }
38
- function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEnd, boundaryStartLabel, boundaryEndLabel) {
44
+ function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEnd, boundaryStartLabel, boundaryEndLabel, labelFit = { fontSize: 10 }) {
39
45
  const minYear = Math.floor(domainMin);
40
46
  const maxYear = Math.floor(domainMax);
41
47
  const span = domainMax - domainMin;
42
48
  let ticks = [];
49
+ let strides = [];
43
50
  const firstYear = Math.ceil(domainMin);
44
51
  const lastYear = Math.floor(domainMax);
45
52
  if (lastYear >= firstYear + 1) {
@@ -52,9 +59,12 @@ function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEn
52
59
  else if (yearSpan > 40) step = 10;
53
60
  else if (yearSpan > 20) step = 5;
54
61
  else if (yearSpan > 10) step = 2;
62
+ strides = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1e3, 2e3, 5e3].filter(
63
+ (c) => c % step === 0
64
+ );
55
65
  const alignedFirst = Math.ceil(firstYear / step) * step;
56
66
  for (let y = alignedFirst; y <= lastYear; y += step) {
57
- ticks.push({ pos: scale(y), label: formatYearTick(y) });
67
+ ticks.push({ pos: scale(y), label: formatYearTick(y), slot: y });
58
68
  }
59
69
  } else if (span > 0.25) {
60
70
  const crossesYear = maxYear > minYear;
@@ -66,7 +76,9 @@ function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEn
66
76
  const abbr = MONTH_ABBR[m - 1];
67
77
  ticks.push({
68
78
  pos: scale(val),
69
- label: crossesYear ? `${abbr} '${String(y).slice(-2)}` : abbr
79
+ label: crossesYear ? `${abbr} '${String(y).slice(-2)}` : abbr,
80
+ // Month index, so a stride of 3 lands on Jan, Apr, Jul, Oct.
81
+ slot: y * 12 + (m - 1)
70
82
  });
71
83
  }
72
84
  }
@@ -89,7 +101,11 @@ function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEn
89
101
  const hh = String(startDate.getHours()).padStart(2, "0");
90
102
  const mm = String(startDate.getMinutes()).padStart(2, "0");
91
103
  const ss = String(startDate.getSeconds()).padStart(2, "0");
92
- ticks.push({ pos: scale(val), label: `${hh}:${mm}:${ss}` });
104
+ ticks.push({
105
+ pos: scale(val),
106
+ label: `${hh}:${mm}:${ss}`,
107
+ slot: ticks.length
108
+ });
93
109
  }
94
110
  startDate.setSeconds(startDate.getSeconds() + stepSec);
95
111
  }
@@ -111,7 +127,11 @@ function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEn
111
127
  if (val >= domainMin) {
112
128
  const hh = String(startDate.getHours()).padStart(2, "0");
113
129
  const mm = String(startDate.getMinutes()).padStart(2, "0");
114
- ticks.push({ pos: scale(val), label: `${hh}:${mm}` });
130
+ ticks.push({
131
+ pos: scale(val),
132
+ label: `${hh}:${mm}`,
133
+ slot: ticks.length
134
+ });
115
135
  }
116
136
  startDate.setMinutes(startDate.getMinutes() + stepMin);
117
137
  }
@@ -136,11 +156,19 @@ function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEn
136
156
  const hh = String(startDate.getHours()).padStart(2, "0");
137
157
  const mm = String(startDate.getMinutes()).padStart(2, "0");
138
158
  if (singleDay) {
139
- ticks.push({ pos: scale(val), label: `${hh}:${mm}` });
159
+ ticks.push({
160
+ pos: scale(val),
161
+ label: `${hh}:${mm}`,
162
+ slot: ticks.length
163
+ });
140
164
  } else {
141
165
  const mon = MONTH_ABBR[startDate.getMonth()];
142
166
  const d = startDate.getDate();
143
- ticks.push({ pos: scale(val), label: `${mon} ${d} ${hh}:${mm}` });
167
+ ticks.push({
168
+ pos: scale(val),
169
+ label: `${mon} ${d} ${hh}:${mm}`,
170
+ slot: ticks.length
171
+ });
144
172
  }
145
173
  }
146
174
  startDate.setHours(startDate.getHours() + stepHour);
@@ -154,32 +182,98 @@ function computeTimeTicks(domainMin, domainMax, scale, boundaryStart, boundaryEn
154
182
  if (val >= domainMin) {
155
183
  ticks.push({
156
184
  pos: scale(val),
157
- label: `${MONTH_ABBR[m - 1]} ${d}`
185
+ label: `${MONTH_ABBR[m - 1]} ${d}`,
186
+ slot: ticks.length
158
187
  });
159
188
  }
160
189
  }
161
190
  }
162
191
  }
163
192
  }
193
+ if (strides.length === 0) strides = [1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48];
164
194
  const collisionThreshold = 40;
195
+ let startBoundary = null;
196
+ let endBoundary = null;
165
197
  if (boundaryStart !== void 0 && boundaryStartLabel) {
166
198
  const boundaryPos = scale(boundaryStart);
167
199
  ticks = ticks.filter(
168
200
  (t) => Math.abs(t.pos - boundaryPos) >= collisionThreshold
169
201
  );
170
- ticks.unshift({ pos: boundaryPos, label: boundaryStartLabel });
202
+ startBoundary = { pos: boundaryPos, label: boundaryStartLabel };
171
203
  }
172
204
  if (boundaryEnd !== void 0 && boundaryEndLabel) {
173
205
  const boundaryPos = scale(boundaryEnd);
174
206
  ticks = ticks.filter(
175
207
  (t) => Math.abs(t.pos - boundaryPos) >= collisionThreshold
176
208
  );
177
- ticks.push({ pos: boundaryPos, label: boundaryEndLabel });
209
+ endBoundary = { pos: boundaryPos, label: boundaryEndLabel };
178
210
  }
179
- return ticks;
211
+ return fitTickLabels(ticks, startBoundary, endBoundary, strides, labelFit);
212
+ }
213
+ function fitTickLabels(standard, startBoundary, endBoundary, strides, fit) {
214
+ const extent = (label) => fit.vertical ? fit.fontSize * 1.2 : measureText(label, fit.fontSize);
215
+ const span = (t) => {
216
+ const half = extent(t.label) / 2;
217
+ return { pos: t.pos, label: t.label, lo: t.pos - half, hi: t.pos + half };
218
+ };
219
+ const apart = (a, b) => a.hi + TICK_LABEL_GAP <= b.lo || b.hi + TICK_LABEL_GAP <= a.lo;
220
+ const fitsInOrder = (spans) => {
221
+ const sorted = [...spans].sort((a, b) => a.lo - b.lo);
222
+ for (let i = 1; i < sorted.length; i++) {
223
+ if (!apart(sorted[i - 1], sorted[i])) return false;
224
+ }
225
+ return true;
226
+ };
227
+ const start = startBoundary ? span(startBoundary) : null;
228
+ let end = endBoundary ? span(endBoundary) : null;
229
+ if (start && end && !apart(start, end)) end = null;
230
+ const pinned = [start, end].filter((p) => p !== null);
231
+ const withPinned = (kept) => [
232
+ ...start ? [start] : [],
233
+ ...kept,
234
+ ...end ? [end] : []
235
+ ];
236
+ const strip = (s) => ({
237
+ pos: s.pos,
238
+ label: s.label
239
+ });
240
+ for (const stride of strides) {
241
+ const kept = standard.filter((t) => t.slot % stride === 0).map(span).filter((s) => pinned.every((p) => apart(p, s)));
242
+ if (kept.length === 0 && pinned.length === 0) continue;
243
+ if (fitsInOrder(kept)) {
244
+ return withPinned(kept).map(strip);
245
+ }
246
+ }
247
+ return withPinned([]).map(strip);
248
+ }
249
+
250
+ // src/utils/label-column.ts
251
+ var LABEL_COLUMN_MAX_SHARE = 1 / 3;
252
+ var LABEL_COLUMN_END_PAD = 12;
253
+ function capLabelColumn(natural, chartWidth, floor) {
254
+ const cap = Math.max(floor, Math.floor(chartWidth * LABEL_COLUMN_MAX_SHARE));
255
+ const width = Math.min(natural, cap);
256
+ const capped = natural > cap;
257
+ return {
258
+ width,
259
+ fit: (text, labelX, fontSize, bold = false) => capped ? truncateText(
260
+ text,
261
+ fontSize,
262
+ Math.max(0, width - labelX - LABEL_COLUMN_END_PAD),
263
+ { bold }
264
+ ) : text
265
+ };
266
+ }
267
+ function showFullOnHover(hoverEl, labelEl, drawEl, full, shown, prefix = "") {
268
+ drawEl.text(prefix + shown);
269
+ if (shown === full) return;
270
+ labelEl.attr("data-full-label", full);
271
+ hoverEl.on("mouseenter.reveal", () => drawEl.text(prefix + full)).on("mouseleave.reveal", () => drawEl.text(prefix + shown));
180
272
  }
181
273
 
182
274
  export {
183
275
  MONTH_ABBR,
184
- computeTimeTicks
276
+ computeTimeTicks,
277
+ capLabelColumn,
278
+ showFullOnHover
185
279
  };
@@ -2,8 +2,10 @@ import {
2
2
  edgeSplinePath
3
3
  } from "./chunk-26EVL454.js";
4
4
  import {
5
- layoutGraph
6
- } from "./chunk-CU2PZLZP.js";
5
+ NODE_LABEL_LINE_HEIGHT,
6
+ layoutGraph,
7
+ wrapNodeLabel
8
+ } from "./chunk-5SSTVFPX.js";
7
9
  import {
8
10
  appendArrowheadMarkers
9
11
  } from "./chunk-XBJJP2HN.js";
@@ -13,7 +15,7 @@ import {
13
15
  renderNoteBadge,
14
16
  renderNoteBox,
15
17
  renderNoteConnector
16
- } from "./chunk-KATED53P.js";
18
+ } from "./chunk-JRWUHLRP.js";
17
19
  import {
18
20
  fitDiagramToCanvas
19
21
  } from "./chunk-EPDBWATV.js";
@@ -29,7 +31,7 @@ import {
29
31
  } from "./chunk-XCKNFFKM.js";
30
32
  import {
31
33
  serializeSvg
32
- } from "./chunk-OOCVGX4W.js";
34
+ } from "./chunk-CYRB2JTN.js";
33
35
  import {
34
36
  TITLE_FONT_SIZE,
35
37
  TITLE_FONT_WEIGHT,
@@ -40,17 +42,17 @@ import {
40
42
  } from "./chunk-ICLB27PZ.js";
41
43
  import {
42
44
  parseFlowchart
43
- } from "./chunk-634LDSN6.js";
45
+ } from "./chunk-26BBJUBW.js";
44
46
  import {
45
47
  fillModeFromOptions
46
- } from "./chunk-MPJQMMBZ.js";
48
+ } from "./chunk-TIIZIAGS.js";
47
49
  import {
48
50
  measureText
49
51
  } from "./chunk-KAO7JL4I.js";
50
52
  import {
51
53
  contrastText,
52
54
  shapeFill
53
- } from "./chunk-L24LESXF.js";
55
+ } from "./chunk-6GXLAKUH.js";
54
56
 
55
57
  // src/graph/flowchart-renderer.ts
56
58
  import * as d3Selection from "d3-selection";
@@ -502,14 +504,26 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
502
504
  colorOff,
503
505
  fillMode
504
506
  );
505
- nodeG.append("text").attr("x", 0).attr("y", 0).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr(
507
+ const labelText = nodeG.append("text").attr("x", 0).attr("y", 0).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr(
506
508
  "fill",
507
509
  contrastText(
508
510
  resolvedFill,
509
511
  palette.textOnFillLight,
510
512
  palette.textOnFillDark
511
513
  )
512
- ).attr("font-size", sNodeFontSize).text(node.label);
514
+ ).attr("font-size", sNodeFontSize);
515
+ const labelLines = wrapNodeLabel(node.label);
516
+ if (labelLines.length === 1) {
517
+ labelText.text(node.label);
518
+ } else {
519
+ const advance = NODE_LABEL_LINE_HEIGHT / NODE_FONT_SIZE;
520
+ labelLines.forEach((line, i) => {
521
+ labelText.append("tspan").attr("x", 0).attr(
522
+ "dy",
523
+ `${i === 0 ? -(labelLines.length - 1) / 2 * advance : advance}em`
524
+ ).text(line);
525
+ });
526
+ }
513
527
  if (hasNote && node.note) {
514
528
  if (node.note.collapsed) {
515
529
  renderNoteBadge(
@@ -16,7 +16,7 @@ import {
16
16
  tagAttrKey,
17
17
  validateTagGroupNames,
18
18
  validateTagValues
19
- } from "./chunk-QKJ6MQXW.js";
19
+ } from "./chunk-4SACN2C5.js";
20
20
  import {
21
21
  SKETCH_REGISTRY,
22
22
  extractColor,
@@ -28,7 +28,7 @@ import {
28
28
  stripQuotes,
29
29
  warnUnknownMetaKeys,
30
30
  withTagAliases
31
- } from "./chunk-MPJQMMBZ.js";
31
+ } from "./chunk-TIIZIAGS.js";
32
32
  import {
33
33
  NAME_DIAGNOSTIC_CODES,
34
34
  formatDgmoError,
@@ -609,10 +609,7 @@ ${descLine}`;
609
609
  }
610
610
  }
611
611
  }
612
- injectDefaultTagMetadata(
613
- [...nodes, ...boxes],
614
- result.tagGroups
615
- );
612
+ injectDefaultTagMetadata([...nodes, ...boxes], result.tagGroups);
616
613
  validateTagValues(
617
614
  [...nodes, ...boxes, ...result.edges],
618
615
  result.tagGroups,