@diagrammo/dgmo 0.96.0 → 0.98.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 (264) hide show
  1. package/dist/advanced.d.ts +178 -8
  2. package/dist/advanced.js +232 -246
  3. package/dist/block.d.ts +8 -0
  4. package/dist/block.js +138 -66
  5. package/dist/{calculator-GIB7POFX.js → calculator-CIGGTURF.js} +2 -2
  6. package/dist/{chart-meta-uImk4eTn.d.ts → chart-meta-B7niEd52.d.ts} +3 -1
  7. package/dist/chart-meta.d.ts +2 -2
  8. package/dist/chart-meta.js +19 -19
  9. package/dist/{chart-types-CBVYiLqy.d.ts → chart-types-Dxtv4XSz.d.ts} +3 -0
  10. package/dist/{charts-d3-IRP5VANE.js → charts-d3-INWEGMSD.js} +14 -14
  11. package/dist/{chunk-VLI6AWS3.js → chunk-3C4OXVZJ.js} +2 -2
  12. package/dist/{chunk-I3ZRIMR7.js → chunk-3EDV56HL.js} +15 -15
  13. package/dist/{chunk-OO4GUE4E.js → chunk-3F74NDUY.js} +63 -18
  14. package/dist/{chunk-RGFVHYDP.js → chunk-3IUMSK72.js} +2 -2
  15. package/dist/chunk-42AZPI2W.js +150 -0
  16. package/dist/{chunk-H7AXCRO7.js → chunk-453IWXZ3.js} +0 -11
  17. package/dist/{chunk-FHX373L5.js → chunk-47INRTZ6.js} +2 -2
  18. package/dist/{chunk-IN7XI6NO.js → chunk-4NMRS6HW.js} +1 -1
  19. package/dist/{chunk-JBAFAKGX.js → chunk-4PZP6URA.js} +41 -51
  20. package/dist/{chunk-5LG526X7.js → chunk-5TGZBHEJ.js} +1 -1
  21. package/dist/{chunk-BD4O4D2A.js → chunk-5WZYJC2P.js} +2 -2
  22. package/dist/{chunk-DPNSDCR3.js → chunk-65JFUANT.js} +1 -1
  23. package/dist/{chunk-EZ6BI5LL.js → chunk-6OUMYNAJ.js} +1 -1
  24. package/dist/{chunk-U6N547QA.js → chunk-6PUBFB6D.js} +24 -3
  25. package/dist/{chunk-IKXQ6NVR.js → chunk-6Q46GMKH.js} +21 -58
  26. package/dist/{chunk-DKCVAQU3.js → chunk-6YRTBI2F.js} +53 -75
  27. package/dist/{chunk-RTRORHSP.js → chunk-7QKWU7FX.js} +3 -3
  28. package/dist/{chunk-A6YINTY6.js → chunk-7RACGVUY.js} +1 -1
  29. package/dist/{chunk-H7RQG4PH.js → chunk-A3N4UHHL.js} +2 -2
  30. package/dist/{chunk-UNCCZ3NU.js → chunk-A3V72YIL.js} +14 -1
  31. package/dist/chunk-AHUBG6GR.js +188 -0
  32. package/dist/{chunk-P3PSLC2K.js → chunk-AULFF7L2.js} +2 -2
  33. package/dist/{chunk-SCYVGPLI.js → chunk-B7ZH5EQ2.js} +2 -2
  34. package/dist/{chunk-TUOZ6AXC.js → chunk-BTFB7W5Z.js} +16 -4
  35. package/dist/{chunk-THTYCJGF.js → chunk-BWVJTYTJ.js} +4 -4
  36. package/dist/{chunk-VGAMBOOC.js → chunk-C6ME2L4T.js} +2 -2
  37. package/dist/{chunk-H7JVKUA5.js → chunk-CES7REQM.js} +44 -60
  38. package/dist/{chunk-B2YVZ3QU.js → chunk-CGP7RGLJ.js} +1 -1
  39. package/dist/{chunk-34JOHSVE.js → chunk-CUTEHGXO.js} +2 -2
  40. package/dist/{chunk-NERQSSYD.js → chunk-D67YE4LR.js} +1 -1
  41. package/dist/{chunk-TPCP2UOI.js → chunk-D6XR22KO.js} +3 -3
  42. package/dist/{chunk-OAZ6BIIB.js → chunk-D7FHY6DO.js} +9 -7
  43. package/dist/{chunk-67N26CER.js → chunk-DA2GIHAY.js} +38 -5
  44. package/dist/{chunk-PGD6CNWO.js → chunk-DFEVFLEG.js} +3 -3
  45. package/dist/{chunk-VVTCUIPN.js → chunk-DKMZ4VMV.js} +1 -1
  46. package/dist/{chunk-VJ7NLYFE.js → chunk-DYI73PFY.js} +3 -3
  47. package/dist/{chunk-IQZSKWE5.js → chunk-E6GHXMH2.js} +8 -8
  48. package/dist/{chunk-I2I2FKAK.js → chunk-EBJLT7PH.js} +1 -1
  49. package/dist/{chunk-K2SFH3GJ.js → chunk-ENXENGW5.js} +3 -3
  50. package/dist/{chunk-FKJWZWNU.js → chunk-EUPUVYWO.js} +1 -1
  51. package/dist/{chunk-26EVL454.js → chunk-F4DGHT3F.js} +20 -0
  52. package/dist/{chunk-WLGOIMTI.js → chunk-FDVUD3PR.js} +4 -4
  53. package/dist/{chunk-IU7XKZA6.js → chunk-FK6HZYGK.js} +4 -14
  54. package/dist/{chunk-67RKJEKF.js → chunk-FTRW6YGU.js} +35 -11
  55. package/dist/{chunk-2M3K6GD2.js → chunk-FTW2E2YH.js} +6 -6
  56. package/dist/{chunk-5P2L5QXE.js → chunk-FZVCS2XY.js} +4 -2
  57. package/dist/chunk-G24NSISJ.js +69 -0
  58. package/dist/{chunk-4B45SNZH.js → chunk-G36XKXWT.js} +17 -15
  59. package/dist/{chunk-5H7SA5ZD.js → chunk-GFQFLLP3.js} +2 -2
  60. package/dist/{chunk-MAYTYF5S.js → chunk-GMJBBFKC.js} +3 -3
  61. package/dist/{chunk-5BG4OSWJ.js → chunk-GNQYARON.js} +20 -57
  62. package/dist/{chunk-RVOSA4RR.js → chunk-GNWCMWTO.js} +441 -267
  63. package/dist/{chunk-VLC6WNRD.js → chunk-GULGSH2Z.js} +4 -0
  64. package/dist/{chunk-H5NVCOEJ.js → chunk-GXBH7WNN.js} +2 -2
  65. package/dist/{chunk-7UWVHNPM.js → chunk-H242TVAE.js} +9 -9
  66. package/dist/{chunk-CD7VQCDL.js → chunk-H7XXQSYA.js} +63 -53
  67. package/dist/{chunk-GLCMUTO5.js → chunk-HQNZJMNS.js} +1 -1
  68. package/dist/{chunk-WTPS73RM.js → chunk-II6D6NWX.js} +8 -8
  69. package/dist/{chunk-3W73ZP6W.js → chunk-IMBFWXHF.js} +3 -3
  70. package/dist/{chunk-5ARANBIE.js → chunk-IUFTAFGN.js} +2 -2
  71. package/dist/{chunk-AQRSEQZV.js → chunk-IZEKHIV6.js} +3 -3
  72. package/dist/{chunk-WGNP5ND2.js → chunk-J3YM6RA5.js} +3 -3
  73. package/dist/{chunk-YFIUABSF.js → chunk-J467QBZF.js} +23 -3
  74. package/dist/{chunk-EPDBWATV.js → chunk-K7RRXZHS.js} +4 -2
  75. package/dist/{chunk-TIPNNOZC.js → chunk-KKJG3LBY.js} +41 -19
  76. package/dist/{chunk-YVIPJGFG.js → chunk-KMB754DO.js} +33 -6
  77. package/dist/chunk-KNKZGRRB.js +439 -0
  78. package/dist/{chunk-SIABEREK.js → chunk-KTGJQJB3.js} +2 -2
  79. package/dist/{chunk-LGUFJ7Y2.js → chunk-KW3CC7SB.js} +1 -1
  80. package/dist/{chunk-ITDF3MWD.js → chunk-L3K5O3Z5.js} +3 -3
  81. package/dist/{chunk-NI4L6HEU.js → chunk-LZATSXAA.js} +1 -1
  82. package/dist/{chunk-EPB3UEMD.js → chunk-NBISN6FH.js} +2 -2
  83. package/dist/{chunk-VNAPEZX2.js → chunk-NHN6GBG7.js} +1 -1
  84. package/dist/{chunk-EM5SA7NC.js → chunk-NQFZ7LXC.js} +4 -4
  85. package/dist/chunk-NTDWVTEY.js +12 -0
  86. package/dist/{chunk-ZBOIYC2G.js → chunk-NXOIH5JK.js} +8 -13
  87. package/dist/{chunk-AUXUNV73.js → chunk-O3HRF25Z.js} +1 -1
  88. package/dist/{chunk-KDWEOT54.js → chunk-O5APWRZN.js} +192 -230
  89. package/dist/{chunk-GLL237AP.js → chunk-OSSA5UWA.js} +3 -3
  90. package/dist/{chunk-UOCWYLYT.js → chunk-OZXKW5NA.js} +1 -1
  91. package/dist/{chunk-QEU6VM4O.js → chunk-PLQZJZ2K.js} +1 -1
  92. package/dist/chunk-PRG7NIUU.js +272 -0
  93. package/dist/{chunk-CP73WWLN.js → chunk-PRYAVMU6.js} +48 -14
  94. package/dist/{chunk-KAO7JL4I.js → chunk-PU5X3P3T.js} +6 -5
  95. package/dist/{chunk-B7BSRVNC.js → chunk-PZ5LAAO3.js} +2 -2
  96. package/dist/{chunk-TOHTKLKE.js → chunk-Q5Q5JLRT.js} +1 -1
  97. package/dist/{chunk-MVUNMJKO.js → chunk-Q6OKTHYL.js} +71 -57
  98. package/dist/{chunk-ZOKD5F7M.js → chunk-QDPTOIG7.js} +5 -5
  99. package/dist/{chunk-2BYFNZVM.js → chunk-QGSQ2LMB.js} +57 -15
  100. package/dist/{chunk-ERT7XDQW.js → chunk-QIITSGI5.js} +1 -1
  101. package/dist/{chunk-K2WXMXI2.js → chunk-QLIZ7SB7.js} +1 -1
  102. package/dist/{chunk-P6LKX3IQ.js → chunk-QOLRTPGH.js} +6 -6
  103. package/dist/{chunk-FBK32S4D.js → chunk-R4SXMBGF.js} +1 -1
  104. package/dist/chunk-R4U7IIRX.js +178 -0
  105. package/dist/{chunk-DWMQ24JR.js → chunk-RC6PISCK.js} +4 -2
  106. package/dist/{chunk-R5L5E3TC.js → chunk-REKLKGR6.js} +3 -3
  107. package/dist/{chunk-FUYEXLAN.js → chunk-RFGQDIOI.js} +837 -220
  108. package/dist/{chunk-W5MMPPGX.js → chunk-ROFSIFSY.js} +4 -4
  109. package/dist/{chunk-JCC3B2GS.js → chunk-ROH4LYBL.js} +65 -21
  110. package/dist/{chunk-MYHR3PMH.js → chunk-S5VZLZUQ.js} +7 -7
  111. package/dist/{chunk-JRN2CRXJ.js → chunk-TDUBTDXS.js} +1 -1
  112. package/dist/{chunk-IZFJZCF6.js → chunk-TGQQD2KC.js} +84 -16
  113. package/dist/{chunk-GM2SLMQW.js → chunk-TMB4YY3J.js} +34 -4
  114. package/dist/{chunk-HH3DHNQA.js → chunk-UWWQECLC.js} +2 -2
  115. package/dist/{chunk-HZX4QZGR.js → chunk-V65EDV6S.js} +3 -3
  116. package/dist/{chunk-OYGJZA24.js → chunk-VHVQT4EW.js} +39 -19
  117. package/dist/{chunk-KQAPFIYF.js → chunk-VQWLASDC.js} +2 -2
  118. package/dist/chunk-VTGGPBLW.js +14 -0
  119. package/dist/{chunk-LRHPBWOY.js → chunk-VUBCCY65.js} +32 -69
  120. package/dist/{chunk-JILEYZ2V.js → chunk-VVL2KKG4.js} +1 -1
  121. package/dist/{chunk-D7DGLJ7N.js → chunk-VVZDBUHA.js} +2 -2
  122. package/dist/{chunk-B5CEV7IR.js → chunk-VYEIMHL5.js} +38 -14
  123. package/dist/{chunk-XCKNFFKM.js → chunk-WH6E6SHC.js} +2 -4
  124. package/dist/{chunk-P2GNNEMN.js → chunk-WPYJAHRP.js} +1 -1
  125. package/dist/{chunk-RIK6WUMO.js → chunk-XCYGOCMS.js} +43 -26
  126. package/dist/{chunk-PWZEJNO6.js → chunk-XMUFXJI2.js} +6 -6
  127. package/dist/{chunk-5G4DOOX2.js → chunk-XPOEE2RW.js} +9 -5
  128. package/dist/{chunk-EMGNCG5C.js → chunk-XZGXVN4T.js} +5 -5
  129. package/dist/{chunk-BUVLLK3D.js → chunk-Y24QPREP.js} +27 -17
  130. package/dist/{chunk-GEHK4UD5.js → chunk-YCIOLYWL.js} +92 -23
  131. package/dist/{chunk-V2NQV7VL.js → chunk-YFIDR7JH.js} +2 -2
  132. package/dist/{chunk-6XLMTAEX.js → chunk-YIHRLY55.js} +33 -6
  133. package/dist/{chunk-CYRB2JTN.js → chunk-YLKPRT6U.js} +1 -1
  134. package/dist/{chunk-KMU65FYM.js → chunk-YSDSFXQD.js} +1 -1
  135. package/dist/{chunk-M4ZUIW3J.js → chunk-Z6V73LD6.js} +3 -3
  136. package/dist/{chunk-ZI6WC24V.js → chunk-ZBJV4KNU.js} +1 -1
  137. package/dist/{chunk-YSGOXZBB.js → chunk-ZMVMGZAJ.js} +1 -1
  138. package/dist/{chunk-O2HNVNKO.js → chunk-ZTKO2RD4.js} +5 -5
  139. package/dist/{chunk-5GU6C5WB.js → chunk-ZXPSNBZC.js} +3 -3
  140. package/dist/collapse-6IGH2B24.js +31 -0
  141. package/dist/collapse-GOWNCVHZ.js +7 -0
  142. package/dist/collapse-HNTPLB2Q.js +11 -0
  143. package/dist/collapse-NUM7DPJA.js +10 -0
  144. package/dist/completion-registry.js +27 -4
  145. package/dist/dgmo-router-RXV7BNPN.js +101 -0
  146. package/dist/dimensions-KXAI7U2B.js +21 -0
  147. package/dist/editor.js +882 -215
  148. package/dist/{flowchart-parser-SM5LHF2D.js → flowchart-parser-JAZRKKKJ.js} +5 -5
  149. package/dist/flowchart-renderer-JED3RESY.js +40 -0
  150. package/dist/fold-at-line-DmSAa1eU.d.ts +11 -0
  151. package/dist/highlight.js +883 -216
  152. package/dist/index.d.ts +52 -5
  153. package/dist/index.js +79 -63
  154. package/dist/{layout-LNVIH45F.js → layout-6QXAC2WA.js} +7 -6
  155. package/dist/{layout-2WESJYRE.js → layout-7E7BNOGO.js} +3 -2
  156. package/dist/layout-BSK374N6.js +11 -0
  157. package/dist/{layout-FCFUVCRI.js → layout-DJOZCSAP.js} +10 -10
  158. package/dist/{layout-R6G4MEO3.js → layout-FJDBY3WG.js} +5 -5
  159. package/dist/{layout-H2KP5A6M.js → layout-GC5XX2RH.js} +2 -2
  160. package/dist/{layout-KELSNWBD.js → layout-LCHMEGTV.js} +10 -10
  161. package/dist/{layout-PPIVGJXD.js → layout-ROI5KVSO.js} +3 -3
  162. package/dist/{layout-3TSVAGWH.js → layout-SPPS225I.js} +3 -3
  163. package/dist/{layout-AF4KA5B2.js → layout-VHBM32OD.js} +6 -6
  164. package/dist/{layout-HF3PMI4H.js → layout-VTGOYGRC.js} +2 -2
  165. package/dist/layout-WTHBGTH2.js +15 -0
  166. package/dist/layout-ZCCABSV7.js +15 -0
  167. package/dist/{layout-MPSH3YWE.js → layout-ZDMJL4KO.js} +10 -10
  168. package/dist/{layout-search-C2TYUH4L.js → layout-search-UZYZE4PR.js} +8 -8
  169. package/dist/{legend-constants-55MFBXYF.js → legend-constants-KF3MKWL2.js} +2 -2
  170. package/dist/{parser-6WURFLOB.js → parser-3KMY23A2.js} +3 -3
  171. package/dist/{parser-DGLKH4NT.js → parser-3PMYAVFL.js} +2 -2
  172. package/dist/{parser-OHBBDCG4.js → parser-5KVFS4RN.js} +2 -2
  173. package/dist/{parser-QWTECQEC.js → parser-ASXY2CPV.js} +6 -6
  174. package/dist/{parser-UHKROC7Z.js → parser-BA43YPIQ.js} +3 -3
  175. package/dist/{parser-F75WNYMK.js → parser-CFAYEWLF.js} +3 -3
  176. package/dist/{parser-MWINQNQW.js → parser-DRFEX6OX.js} +3 -3
  177. package/dist/{parser-W6NX3AIV.js → parser-DWVBRBB2.js} +3 -3
  178. package/dist/{parser-DRUGM3R6.js → parser-FWQY3HJX.js} +2 -2
  179. package/dist/{parser-4GHAYZKZ.js → parser-GBB5MYAN.js} +6 -6
  180. package/dist/{parser-GBQY3WOZ.js → parser-GMCXCJSP.js} +3 -3
  181. package/dist/{parser-BPYHIG24.js → parser-IHFHPFL7.js} +3 -3
  182. package/dist/{parser-TTGZYLYD.js → parser-JQGUTDSX.js} +3 -3
  183. package/dist/{parser-BNRX35NT.js → parser-JRKPOO2Z.js} +3 -3
  184. package/dist/{parser-B7SCN7FG.js → parser-KI2XYB2R.js} +2 -2
  185. package/dist/parser-LDVVBP7S.js +12 -0
  186. package/dist/{parser-L7SI3PW4.js → parser-MAGFK6OK.js} +4 -4
  187. package/dist/{parser-722KLLAQ.js → parser-MH5BDN7X.js} +3 -3
  188. package/dist/{parser-5RUD4A3X.js → parser-MUHFEM4G.js} +3 -3
  189. package/dist/{parser-Y7QXD2UR.js → parser-P375HO7Q.js} +2 -2
  190. package/dist/{parser-LUJX7AXO.js → parser-PYY5BRLQ.js} +2 -2
  191. package/dist/parser-QEMFMVF5.js +12 -0
  192. package/dist/{parser-WIKXZP4X.js → parser-QIPDBT5M.js} +2 -2
  193. package/dist/{parser-2AXU2MHJ.js → parser-RNBDDEGL.js} +3 -3
  194. package/dist/{parser-H6HT2WFQ.js → parser-SGX2PVR5.js} +2 -2
  195. package/dist/{parser-ZWWQZ4XZ.js → parser-SJUEFKNM.js} +3 -3
  196. package/dist/{parser-4BOP77CD.js → parser-UMNBPXG2.js} +2 -2
  197. package/dist/{parser-GM5B2EPW.js → parser-WE4VSBBY.js} +3 -3
  198. package/dist/{parser-XEJP37GQ.js → parser-WKEYS7N3.js} +3 -3
  199. package/dist/{parser-DWV2CYBS.js → parser-WPXUUNA2.js} +3 -3
  200. package/dist/{parser-5HQPPVHJ.js → parser-XP3RCOTN.js} +3 -3
  201. package/dist/{parser-F3JJNIFC.js → parser-YV4RBHG7.js} +3 -3
  202. package/dist/{parser-CRJYLOHA.js → parser-YZ3J542U.js} +2 -2
  203. package/dist/{parser-ZV756RMP.js → parser-ZSBMGGTD.js} +6 -6
  204. package/dist/renderer-37LMEGLD.js +26 -0
  205. package/dist/{renderer-TS5NHOQD.js → renderer-3EIZRVO3.js} +12 -11
  206. package/dist/renderer-4LK2RFHD.js +28 -0
  207. package/dist/{renderer-BYLQ37T2.js → renderer-4WD4ZIEH.js} +16 -15
  208. package/dist/renderer-67PNYODC.js +32 -0
  209. package/dist/{renderer-GKY55M4Z.js → renderer-6O5SV5YE.js} +10 -10
  210. package/dist/{renderer-VNJOZPSH.js → renderer-6VBL2DWH.js} +17 -17
  211. package/dist/{renderer-F7YGMEGQ.js → renderer-7OXMSF4R.js} +4 -4
  212. package/dist/{renderer-6HU44IGJ.js → renderer-A36NL2SS.js} +8 -8
  213. package/dist/renderer-CC6O6GQK.js +18 -0
  214. package/dist/renderer-CUEMI3PI.js +85 -0
  215. package/dist/{renderer-QZJZIAT3.js → renderer-D6BEC6LI.js} +6 -4
  216. package/dist/{renderer-5GP7YUS4.js → renderer-DT2PP7NJ.js} +7 -6
  217. package/dist/{renderer-MGF2NNGG.js → renderer-E7LC7HCU.js} +5 -5
  218. package/dist/{renderer-PEJF6R2I.js → renderer-F3JYZERE.js} +4 -4
  219. package/dist/{renderer-CVCCW7UT.js → renderer-FAFSRFGR.js} +9 -9
  220. package/dist/renderer-GHYW6Y3A.js +27 -0
  221. package/dist/{renderer-VUXAAGUG.js → renderer-HRUKL4T6.js} +12 -11
  222. package/dist/renderer-INQMQPNN.js +22 -0
  223. package/dist/{renderer-LJPUCG3U.js → renderer-KOPJ76GS.js} +10 -10
  224. package/dist/renderer-KVC7Z4T2.js +39 -0
  225. package/dist/{renderer-MVBAQP3M.js → renderer-MYKL6VG6.js} +6 -6
  226. package/dist/{renderer-D6EH5UQ6.js → renderer-QVUPRQ4L.js} +13 -12
  227. package/dist/{renderer-SYRH3B62.js → renderer-RBAMFLZQ.js} +14 -13
  228. package/dist/{renderer-YJVQT7QG.js → renderer-S6L3JR6C.js} +11 -11
  229. package/dist/{renderer-ONENGXFQ.js → renderer-SGRZKIMS.js} +14 -12
  230. package/dist/{renderer-NOYLNVTI.js → renderer-SYWVZ4CY.js} +3 -3
  231. package/dist/{renderer-66NCRXSC.js → renderer-TJPBVNVG.js} +14 -11
  232. package/dist/renderer-WK2BPXND.js +41 -0
  233. package/dist/renderer-ZG7WOBBN.js +30 -0
  234. package/dist/{renderer-N6PM5CSG.js → renderer-ZRPL5COW.js} +14 -13
  235. package/dist/{renderer-2V2XY2V7.js → renderer-ZTHXOBXW.js} +8 -8
  236. package/dist/{renderer-radial-4R7AKETK.js → renderer-radial-FC25BDCZ.js} +8 -8
  237. package/dist/{state-parser-EQBBEKHR.js → state-parser-LSFAJFMV.js} +6 -6
  238. package/dist/state-renderer-QTDBFB4F.js +43 -0
  239. package/dist/{themes-CbJL3w8L.d.ts → themes-DoLdhUXV.d.ts} +1 -1
  240. package/docs/ai-integration.md +4 -3
  241. package/docs/language-reference.md +100 -14
  242. package/gallery/fixtures/swot-relabel.dgmo +19 -0
  243. package/gallery/fixtures/swot-tags.dgmo +16 -0
  244. package/gallery/fixtures/swot.dgmo +13 -0
  245. package/package.json +1 -1
  246. package/dist/chunk-R2K5L4UA.js +0 -49
  247. package/dist/collapse-TCVK3RPO.js +0 -8
  248. package/dist/dgmo-router-EPBQKQW2.js +0 -100
  249. package/dist/dimensions-DBCRBZIU.js +0 -21
  250. package/dist/flowchart-renderer-PPS2GTTD.js +0 -40
  251. package/dist/layout-3J72UULM.js +0 -15
  252. package/dist/layout-IXQNVRBE.js +0 -15
  253. package/dist/layout-VDCJOZSH.js +0 -11
  254. package/dist/parser-HM6FEX5K.js +0 -14
  255. package/dist/renderer-2MCV75JQ.js +0 -41
  256. package/dist/renderer-5AEDVLAA.js +0 -31
  257. package/dist/renderer-7C76HP5W.js +0 -30
  258. package/dist/renderer-7RAMBMTH.js +0 -22
  259. package/dist/renderer-E3334XLT.js +0 -84
  260. package/dist/renderer-LFZKG2GR.js +0 -26
  261. package/dist/renderer-MZIWP55B.js +0 -28
  262. package/dist/renderer-N75E3UVY.js +0 -25
  263. package/dist/renderer-VNUDN6F5.js +0 -39
  264. package/dist/state-renderer-SOGZ2CNN.js +0 -42
@@ -3,34 +3,37 @@ import {
3
3
  capLabelColumn,
4
4
  computeTimeTicks,
5
5
  showFullOnHover
6
- } from "./chunk-NERQSSYD.js";
6
+ } from "./chunk-D67YE4LR.js";
7
7
  import {
8
8
  ScaleContext
9
9
  } from "./chunk-24YPR5EH.js";
10
+ import {
11
+ renderCollapseBar
12
+ } from "./chunk-42AZPI2W.js";
10
13
  import {
11
14
  INLINE_HEADER_PAD,
12
15
  layoutInlineHeader
13
- } from "./chunk-R5L5E3TC.js";
16
+ } from "./chunk-REKLKGR6.js";
14
17
  import {
15
18
  TITLE_FONT_SIZE,
16
19
  TITLE_FONT_WEIGHT,
17
20
  TITLE_Y
18
- } from "./chunk-VLC6WNRD.js";
21
+ } from "./chunk-GULGSH2Z.js";
19
22
  import {
20
23
  EDGE_DASH,
21
24
  GRID_DASH,
22
25
  HAIRLINE_DASH
23
- } from "./chunk-XCKNFFKM.js";
26
+ } from "./chunk-WH6E6SHC.js";
24
27
  import {
25
28
  keepSwimlaneToggleFocus,
26
29
  renderIntegratedLegend,
27
30
  wireSwimlaneToggle
28
- } from "./chunk-PGD6CNWO.js";
31
+ } from "./chunk-DFEVFLEG.js";
29
32
  import {
30
33
  controlsGroupCapsuleWidth,
31
34
  getLegendExtent,
32
35
  getMaxLegendReservedHeight
33
- } from "./chunk-JILEYZ2V.js";
36
+ } from "./chunk-VVL2KKG4.js";
34
37
  import {
35
38
  normalizeName
36
39
  } from "./chunk-NOTA6TEI.js";
@@ -42,7 +45,7 @@ import {
42
45
  resolveActiveTagGroup,
43
46
  resolveTagColor,
44
47
  tagAttrKey
45
- } from "./chunk-LGUFJ7Y2.js";
48
+ } from "./chunk-KW3CC7SB.js";
46
49
  import {
47
50
  LEGEND_CAPSULE_PAD,
48
51
  LEGEND_DOT_R,
@@ -57,12 +60,12 @@ import {
57
60
  LEGEND_PILL_PAD,
58
61
  measureLegendText,
59
62
  truncateLegendText
60
- } from "./chunk-UOCWYLYT.js";
63
+ } from "./chunk-OZXKW5NA.js";
61
64
  import {
62
65
  CHAR_WIDTH_RATIO,
63
66
  measureText,
64
67
  truncateText
65
- } from "./chunk-KAO7JL4I.js";
68
+ } from "./chunk-PU5X3P3T.js";
66
69
  import {
67
70
  contrastText,
68
71
  getEraColors,
@@ -116,7 +119,7 @@ function computeBarLabel(label, x1, barWidth, innerWidth, textColor, onFillColor
116
119
  var BAND_ACCENT_W = 4;
117
120
  var BAND_RADIUS = 4;
118
121
  var bandClipCounter = 0;
119
- function renderLabelBand(svg, y, leftMargin, color, palette, isDark, cssPrefix, dataAttr, fillMode, barH = BAR_H, bandRadius = BAND_RADIUS, bandAccentW = BAND_ACCENT_W) {
122
+ function renderLabelBand(svg, y, leftMargin, color, palette, isDark, cssPrefix, dataAttr, fillMode, barH = BAR_H, bandRadius = BAND_RADIUS, bandAccentW = BAND_ACCENT_W, collapsed = false, scale) {
120
123
  const bandX = 5;
121
124
  const bandW = leftMargin - 7;
122
125
  const bandY = y - barH / 2;
@@ -128,6 +131,45 @@ function renderLabelBand(svg, y, leftMargin, color, palette, isDark, cssPrefix,
128
131
  tint.attr(dataAttr.key, dataAttr.value);
129
132
  accent.attr(dataAttr.key, dataAttr.value);
130
133
  }
134
+ if (collapsed) {
135
+ renderCollapseBar(svg, {
136
+ x: bandX,
137
+ y: bandY,
138
+ width: bandW,
139
+ height: barH,
140
+ rx: bandRadius,
141
+ fill: color,
142
+ clipId: `${clipId}-bar`,
143
+ prefix: "gantt",
144
+ ...scale && { scale }
145
+ }).style("pointer-events", "none");
146
+ }
147
+ return {
148
+ x: bandX,
149
+ y: bandY,
150
+ width: bandW,
151
+ height: barH,
152
+ rx: bandRadius,
153
+ color,
154
+ clipId
155
+ };
156
+ }
157
+ function renderBandToggleTarget(toggle, band, collapsed, scale) {
158
+ toggle.append("rect").attr("class", "gantt-group-label-hit").attr("x", band.x).attr("y", band.y).attr("width", band.width).attr("height", band.height).attr("rx", band.rx).attr("fill", "transparent");
159
+ if (!collapsed) {
160
+ renderCollapseBar(toggle, {
161
+ expanded: true,
162
+ x: band.x,
163
+ y: band.y,
164
+ width: band.width,
165
+ height: band.height,
166
+ rx: band.rx,
167
+ fill: band.color,
168
+ clipId: `${band.clipId}-bar`,
169
+ prefix: "gantt",
170
+ ...scale && { scale }
171
+ });
172
+ }
131
173
  }
132
174
  function appendTaskIcon(textEl, label, isMilestone, iconColor, textColor) {
133
175
  const icon = isMilestone ? "\u25C6" : "\u25CF";
@@ -453,7 +495,6 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
453
495
  for (const row of rows) {
454
496
  if (row.type === "lane-header") {
455
497
  const laneColor = row.laneColor === UNTAGGED_TAG_COLOR ? palette.textMuted : row.laneColor;
456
- const toggleIcon = row.isCollapsed ? "\u25B6" : "\u25BC";
457
498
  const labelX = 10;
458
499
  let lx1 = 0;
459
500
  let lx2 = innerWidth;
@@ -480,7 +521,9 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
480
521
  fillMode,
481
522
  sBarH,
482
523
  sBandRadius,
483
- sBandAccentW
524
+ sBandAccentW,
525
+ row.isCollapsed,
526
+ ctx
484
527
  );
485
528
  const labelG = svg.append("g").attr("class", "gantt-lane-header").attr(`data-tag-${tagAttrKey(row.tagKey)}`, row.laneName.toLowerCase()).attr("data-lane", row.laneName).style("cursor", onToggleLane ? "pointer" : "default").on("click", () => {
486
529
  if (onToggleLane) onToggleLane(row.laneName);
@@ -500,7 +543,7 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
500
543
  restoreHighlight();
501
544
  hideGanttDateIndicators(g);
502
545
  });
503
- const laneFullText = toggleIcon + " " + row.laneName + (row.aggregateProgress !== null ? ` ${Math.round(row.aggregateProgress)}%` : "");
546
+ const laneFullText = row.laneName + (row.aggregateProgress !== null ? ` ${Math.round(row.aggregateProgress)}%` : "");
504
547
  const laneText = labelG.append("text").attr("x", labelX).attr("y", sMarginTop + yOffset + sBarH / 2).attr("dy", "0.35em").attr("text-anchor", "start").attr("font-size", sFont11).attr("font-weight", "bold").attr("fill", laneColor);
505
548
  showFullOnHover(
506
549
  labelG,
@@ -541,7 +584,6 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
541
584
  } else if (row.type === "group") {
542
585
  const group = row.group;
543
586
  const isCollapsed = collapsedGroups?.has(group.name) ?? false;
544
- const toggleIcon = isCollapsed ? "\u25B6" : "\u25BC";
545
587
  const tagColor = resolveTagColor(
546
588
  group.metadata,
547
589
  resolved.tagGroups,
@@ -549,7 +591,7 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
549
591
  true
550
592
  );
551
593
  const groupColor = tagColor && tagColor !== UNTAGGED_TAG_COLOR ? tagColor : group.color ?? palette.textMuted;
552
- renderLabelBand(
594
+ const groupBand = renderLabelBand(
553
595
  svg,
554
596
  sMarginTop + yOffset + sBarH / 2,
555
597
  leftMargin,
@@ -561,9 +603,11 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
561
603
  fillMode,
562
604
  sBarH,
563
605
  sBandRadius,
564
- sBandAccentW
606
+ sBandAccentW,
607
+ isCollapsed,
608
+ ctx
565
609
  );
566
- const labelG = svg.append("g").attr("class", "gantt-group-label").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).style("cursor", onToggleGroup ? "pointer" : "default").on("click", () => {
610
+ const labelG = svg.append("g").attr("class", "gantt-group-label").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).attr("data-group-toggle", group.name).attr("role", "button").attr("aria-expanded", String(!isCollapsed)).attr("aria-label", group.name).style("cursor", "pointer").on("click", () => {
567
611
  if (onToggleGroup) onToggleGroup(group.name);
568
612
  }).on("mouseenter", () => {
569
613
  highlightGroup(g, svg, group.name);
@@ -579,9 +623,10 @@ function drawGantt(container, resolved, palette, isDark, options, exportDims) {
579
623
  resetHighlight(g, svg);
580
624
  hideGanttDateIndicators(g);
581
625
  });
626
+ renderBandToggleTarget(labelG, groupBand, isCollapsed, ctx);
582
627
  const groupIndent = group.depth <= 2 ? group.depth * 14 : 2 * 14 + (group.depth - 2) * 8;
583
628
  const labelX = 10 + groupIndent;
584
- const groupFullText = toggleIcon + " " + group.name + (group.progress !== null ? ` ${Math.round(group.progress)}%` : "");
629
+ const groupFullText = group.name + (group.progress !== null ? ` ${Math.round(group.progress)}%` : "");
585
630
  const groupText = labelG.append("text").attr("x", labelX).attr("y", sMarginTop + yOffset + sBarH / 2).attr("dy", "0.35em").attr("text-anchor", "start").attr("font-size", sFont11).attr("font-weight", "bold").attr("fill", palette.text);
586
631
  showFullOnHover(
587
632
  labelG,
@@ -8,14 +8,14 @@ import {
8
8
  resolveActiveTagGroup,
9
9
  stripDefaultModifier,
10
10
  tagAttrKey
11
- } from "./chunk-LGUFJ7Y2.js";
11
+ } from "./chunk-KW3CC7SB.js";
12
12
  import {
13
13
  extractColor,
14
14
  fillModeFromToken,
15
15
  measureIndent,
16
16
  parseFirstLine,
17
17
  splitNameAndMeta
18
- } from "./chunk-FUYEXLAN.js";
18
+ } from "./chunk-RFGQDIOI.js";
19
19
  import {
20
20
  makeDgmoError,
21
21
  makeFail
@@ -0,0 +1,150 @@
1
+ import {
2
+ COLLAPSE_BAR_HEIGHT,
3
+ EDGE_DASH
4
+ } from "./chunk-WH6E6SHC.js";
5
+ import {
6
+ measureText
7
+ } from "./chunk-PU5X3P3T.js";
8
+
9
+ // src/utils/card.ts
10
+ function renderNodeCard(container, opts) {
11
+ const rect = container.append("rect").attr("x", 0).attr("y", 0).attr("width", opts.width).attr("height", opts.height).attr("rx", opts.rx).attr("fill", opts.fill).attr("stroke", opts.stroke).attr("stroke-width", opts.strokeWidth);
12
+ if (opts.dashed) {
13
+ rect.attr("stroke-dasharray", EDGE_DASH);
14
+ }
15
+ const labelLines = opts.labelLines;
16
+ if (labelLines && labelLines.length > 1) {
17
+ const lineH = opts.labelFontSize * 1.2;
18
+ const midY = opts.headerHeight / 2;
19
+ const startY = midY - (labelLines.length - 1) * lineH / 2;
20
+ for (let li = 0; li < labelLines.length; li++) {
21
+ container.append("text").attr("x", opts.width / 2).attr("y", startY + li * lineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", opts.labelColor).attr("font-size", opts.labelFontSize).attr("font-weight", "bold").text(labelLines[li]);
22
+ }
23
+ } else {
24
+ container.append("text").attr("x", opts.width / 2).attr("y", opts.headerHeight / 2).attr("dominant-baseline", "central").attr("text-anchor", "middle").attr("fill", opts.labelColor).attr("font-size", opts.labelFontSize).attr("font-weight", "bold").text(labelLines?.[0] ?? opts.label);
25
+ }
26
+ const meta = opts.meta;
27
+ if (!meta || meta.rows.length === 0) return;
28
+ container.append("line").attr("x1", 0).attr("y1", opts.headerHeight).attr("x2", opts.width).attr("y2", opts.headerHeight).attr("stroke", meta.separatorColor).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
29
+ const keyX = meta.keyX ?? 10;
30
+ const maxKeyWidth = Math.max(
31
+ ...meta.rows.map(([key]) => measureText(`${key}: `, meta.fontSize))
32
+ );
33
+ const valueX = keyX + maxKeyWidth;
34
+ const metaStartY = opts.headerHeight + meta.separatorGap + meta.fontSize;
35
+ for (let i = 0; i < meta.rows.length; i++) {
36
+ const [displayKey, value] = meta.rows[i];
37
+ const rowY = metaStartY + i * meta.lineHeight;
38
+ container.append("text").attr("x", keyX).attr("y", rowY).attr("fill", meta.textColor).attr("font-size", meta.fontSize).text(`${displayKey}: `);
39
+ container.append("text").attr("x", valueX).attr("y", rowY).attr("fill", meta.textColor).attr("font-size", meta.fontSize).text(value);
40
+ }
41
+ }
42
+ function renderContainerCard(container, opts) {
43
+ container.append("rect").attr("x", 0).attr("y", 0).attr("width", opts.width).attr("height", opts.height).attr("rx", opts.rx).attr("fill", opts.fill).attr("stroke", opts.stroke).attr("stroke-opacity", 0.35).attr("stroke-width", opts.strokeWidth);
44
+ container.append("text").attr("x", opts.width / 2).attr("y", opts.headerHeight / 2).attr("dominant-baseline", "central").attr("text-anchor", "middle").attr("fill", opts.labelColor).attr("font-size", opts.labelFontSize).attr("font-weight", "bold").text(opts.label);
45
+ if (opts.rows.length === 0) return;
46
+ const maxKeyWidth = Math.max(
47
+ ...opts.rows.map(([key]) => measureText(`${key}: `, opts.metaFontSize))
48
+ );
49
+ const valueX = 10 + maxKeyWidth;
50
+ const metaStartY = opts.headerHeight + opts.metaFontSize - 2;
51
+ for (let i = 0; i < opts.rows.length; i++) {
52
+ const [displayKey, value, valueColor] = opts.rows[i];
53
+ const rowY = metaStartY + i * opts.metaLineHeight;
54
+ container.append("text").attr("x", 10).attr("y", rowY).attr("fill", opts.keyColor).attr("font-size", opts.metaFontSize).text(`${displayKey}: `);
55
+ container.append("text").attr("x", valueX).attr("y", rowY).attr("fill", valueColor).attr("font-size", opts.metaFontSize).text(value);
56
+ }
57
+ }
58
+ function collapseBarHeight(scale) {
59
+ if (scale === void 0) return COLLAPSE_BAR_HEIGHT;
60
+ if (typeof scale === "number") return COLLAPSE_BAR_HEIGHT * scale;
61
+ return scale.structural(COLLAPSE_BAR_HEIGHT);
62
+ }
63
+ function renderCollapseBar(container, opts) {
64
+ const x = opts.x ?? 0;
65
+ const y = opts.y ?? 0;
66
+ const barHeight = collapseBarHeight(opts.scale);
67
+ container.append("clipPath").attr("id", opts.clipId).append("rect").attr("x", x).attr("y", y).attr("width", opts.width).attr("height", opts.height).attr("rx", opts.rx);
68
+ const bar = container.append("rect").attr("x", x).attr("y", y + opts.height - barHeight).attr("width", opts.width).attr("height", barHeight).attr("fill", opts.fill).attr("clip-path", `url(#${opts.clipId})`);
69
+ if (!opts.expanded) {
70
+ return bar.attr("class", `${opts.prefix}-collapse-bar dgmo-collapse-bar`);
71
+ }
72
+ return bar.attr(
73
+ "class",
74
+ `${opts.prefix}-collapse-bar-preview dgmo-collapse-bar-preview`
75
+ ).attr("opacity", 0).attr("pointer-events", "none");
76
+ }
77
+ var TOGGLE_ATTRS = [
78
+ "data-node-toggle",
79
+ "data-group-toggle",
80
+ "data-section-toggle",
81
+ "data-note-toggle"
82
+ ];
83
+ var TOGGLE_CUE_ATTR = "data-dgmo-cue";
84
+ var COLLAPSE_PREVIEW_HOVER_OPACITY = 0.35;
85
+ function toggleCueCss(theme = "light") {
86
+ const cue = theme === "dark" ? "dark" : "light";
87
+ const scope = `[${TOGGLE_CUE_ATTR}="${cue}"] `;
88
+ const t = TOGGLE_ATTRS.map((a) => `${scope}[${a}]`);
89
+ const on = (suffix) => t.map((s) => s + suffix).join(",");
90
+ const step = cue === "dark" ? 1.2 : 0.95;
91
+ return `${t.join(",")}{cursor:pointer}${on(":hover>rect:first-child")},${on(":hover>path:first-child")}{filter:brightness(${step})}${on(":hover>rect[fill=transparent]:first-child")}{fill:${cue === "dark" ? "#fff" : "#000"};fill-opacity:${cue === "dark" ? 0.08 : 0.05}}${scope}.dgmo-collapse-bar-preview{transition:opacity 120ms ease-out}${on(":hover>.dgmo-collapse-bar-preview")}{opacity:${COLLAPSE_PREVIEW_HOVER_OPACITY}}${on(":focus-visible")}{outline:2px solid currentColor;outline-offset:2px}@media (prefers-reduced-motion:reduce){${scope}.dgmo-collapse-bar-preview{transition:none}}`;
92
+ }
93
+ function injectToggleCue(svg, theme) {
94
+ if (!svg || !TOGGLE_ATTRS.some((a) => svg.includes(`${a}=`))) return svg;
95
+ const found = svg.match(/<svg\b[^>]*>/);
96
+ if (found?.index == null) return svg;
97
+ const cue = theme === "dark" ? "dark" : "light";
98
+ const tag = found[0].includes(`${TOGGLE_CUE_ATTR}=`) ? found[0] : found[0].replace(/^<svg\b/, `<svg ${TOGGLE_CUE_ATTR}="${cue}"`);
99
+ svg = svg.slice(0, found.index) + tag + svg.slice(found.index + found[0].length);
100
+ const at = found.index + tag.length;
101
+ const css = toggleCueCss(cue);
102
+ if (svg.startsWith("<style>", at)) {
103
+ const end = svg.indexOf("</style>", at);
104
+ if (end !== -1) return `${svg.slice(0, end)}${css}${svg.slice(end)}`;
105
+ }
106
+ return `${svg.slice(0, at)}<style>${css}</style>${svg.slice(at)}`;
107
+ }
108
+ var TOGGLE_OPEN_TAG = /<[a-zA-Z][\w:-]*\b(?=[^>]*\sdata-(?:node|group|section|note)-toggle=)[^>]*>/g;
109
+ var PREVIEW_BAR = /<rect\b[^>]*\bdgmo-collapse-bar-preview\b[^>]*>(?:<\/rect>)?/g;
110
+ function stripFoldAffordance(svg) {
111
+ if (!TOGGLE_ATTRS.some((a) => svg.includes(`${a}=`))) return svg;
112
+ const clipIds = /* @__PURE__ */ new Set();
113
+ let out = svg.replace(PREVIEW_BAR, (rect) => {
114
+ const id = /clip-path="url\(#([^)"]+)\)"/.exec(rect)?.[1];
115
+ if (id) clipIds.add(id);
116
+ return "";
117
+ });
118
+ for (const id of clipIds) {
119
+ if (out.includes(`url(#${id})`)) continue;
120
+ const esc = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
121
+ out = out.replace(
122
+ new RegExp(`<clipPath\\b[^>]*\\sid="${esc}"[^>]*>[\\s\\S]*?</clipPath>`),
123
+ ""
124
+ );
125
+ }
126
+ return out.replace(
127
+ TOGGLE_OPEN_TAG,
128
+ (tag) => tag.replace(
129
+ /\s(?:role="button"|aria-expanded="[^"]*"|tabindex="[^"]*"|cursor="[^"]*")/g,
130
+ ""
131
+ ).replace(
132
+ /(\saria-label=")(?:Collapse|Expand) (\w)/,
133
+ (_m, head, first) => head + first.toUpperCase()
134
+ ).replace(/(\sstyle=")([^"]*)"/, (_m, head, body) => {
135
+ const rest = body.replace(/\s*cursor\s*:\s*[^;"]*;?/g, "").trim();
136
+ return rest ? `${head}${rest}"` : "";
137
+ })
138
+ );
139
+ }
140
+
141
+ export {
142
+ renderNodeCard,
143
+ renderContainerCard,
144
+ collapseBarHeight,
145
+ renderCollapseBar,
146
+ TOGGLE_CUE_ATTR,
147
+ toggleCueCss,
148
+ injectToggleCue,
149
+ stripFoldAffordance
150
+ };
@@ -2346,16 +2346,6 @@ var ALIAS = {
2346
2346
  waist: "obliques",
2347
2347
  back: ["upper-back", "lats"]
2348
2348
  };
2349
- var BODY_TERMS = [
2350
- .../* @__PURE__ */ new Set([
2351
- ...Object.values(FIGURES).flatMap((f) => Object.keys(f.parts)),
2352
- ...Object.values(SURFACE).flatMap((f) => Object.keys(f)),
2353
- ...Object.keys(ANATOMICAL),
2354
- ...Object.keys(ALIAS),
2355
- "left",
2356
- "right"
2357
- ])
2358
- ].sort();
2359
2349
  function resolvePartKey(figure, name) {
2360
2350
  const n = name.toLowerCase();
2361
2351
  const surface = surfaceFor(figure);
@@ -2388,7 +2378,6 @@ function getPartGeom(figure, key) {
2388
2378
 
2389
2379
  export {
2390
2380
  getFigure,
2391
- BODY_TERMS,
2392
2381
  resolvePartKey,
2393
2382
  getPartGeom
2394
2383
  };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  buildMapProjection
3
- } from "./chunk-EMGNCG5C.js";
3
+ } from "./chunk-XZGXVN4T.js";
4
4
  import {
5
5
  TITLE_FONT_SIZE,
6
6
  TITLE_Y
7
- } from "./chunk-VLC6WNRD.js";
7
+ } from "./chunk-GULGSH2Z.js";
8
8
 
9
9
  // src/map/dimensions.ts
10
10
  import { geoPath } from "d3-geo";
@@ -2,7 +2,7 @@ import {
2
2
  measureText,
3
3
  truncateText,
4
4
  wrapTextToWidth
5
- } from "./chunk-KAO7JL4I.js";
5
+ } from "./chunk-PU5X3P3T.js";
6
6
 
7
7
  // src/boxes-and-lines/label-placement.ts
8
8
  import { curveBasis } from "d3-shape";
@@ -1,25 +1,24 @@
1
1
  import {
2
2
  layoutOrg
3
- } from "./chunk-O2HNVNKO.js";
4
- import {
5
- renderCollapseBar,
6
- renderNodeCard
7
- } from "./chunk-R2K5L4UA.js";
3
+ } from "./chunk-ZTKO2RD4.js";
8
4
  import {
9
5
  extractExportSvg,
10
6
  runInExportContainer
11
- } from "./chunk-TOHTKLKE.js";
7
+ } from "./chunk-Q5Q5JLRT.js";
12
8
  import {
13
9
  ScaleContext
14
10
  } from "./chunk-24YPR5EH.js";
11
+ import {
12
+ renderCollapseBar,
13
+ renderContainerCard,
14
+ renderNodeCard
15
+ } from "./chunk-42AZPI2W.js";
15
16
  import {
16
17
  TITLE_FONT_SIZE,
17
18
  TITLE_FONT_WEIGHT
18
- } from "./chunk-VLC6WNRD.js";
19
+ } from "./chunk-GULGSH2Z.js";
19
20
  import {
20
21
  CARD_RADIUS,
21
- COLLAPSE_BAR_HEIGHT,
22
- COLLAPSE_BAR_INSET,
23
22
  CONTAINER_HEADER_HEIGHT,
24
23
  CONTAINER_LABEL_FONT_SIZE,
25
24
  CONTAINER_META_FONT_SIZE,
@@ -32,36 +31,33 @@ import {
32
31
  META_LINE_HEIGHT,
33
32
  NODE_STROKE_WIDTH,
34
33
  SEPARATOR_GAP
35
- } from "./chunk-XCKNFFKM.js";
34
+ } from "./chunk-WH6E6SHC.js";
36
35
  import {
37
36
  renderIntegratedLegend
38
- } from "./chunk-PGD6CNWO.js";
37
+ } from "./chunk-DFEVFLEG.js";
39
38
  import {
40
39
  getMaxLegendReservedHeight
41
- } from "./chunk-JILEYZ2V.js";
40
+ } from "./chunk-VVL2KKG4.js";
42
41
  import {
43
42
  parseOrg
44
- } from "./chunk-WLGOIMTI.js";
43
+ } from "./chunk-FDVUD3PR.js";
45
44
  import {
46
45
  FONT_FAMILY
47
46
  } from "./chunk-ICLB27PZ.js";
48
47
  import {
49
48
  resolveTagColor,
50
49
  tagAttrKey
51
- } from "./chunk-LGUFJ7Y2.js";
50
+ } from "./chunk-KW3CC7SB.js";
52
51
  import {
53
52
  fillModeFromOptions
54
- } from "./chunk-FUYEXLAN.js";
53
+ } from "./chunk-RFGQDIOI.js";
55
54
  import {
56
55
  EYE_CLOSED_PATH,
57
56
  EYE_OPEN_PATH,
58
57
  LEGEND_EYE_GAP,
59
58
  LEGEND_EYE_SIZE,
60
59
  LEGEND_HEIGHT
61
- } from "./chunk-UOCWYLYT.js";
62
- import {
63
- measureText
64
- } from "./chunk-KAO7JL4I.js";
60
+ } from "./chunk-OZXKW5NA.js";
65
61
  import {
66
62
  contrastText,
67
63
  groupFill,
@@ -119,8 +115,6 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
119
115
  const sContainerMetaFontSize = ctx.text(CONTAINER_META_FONT_SIZE);
120
116
  const sContainerMetaLineHeight = ctx.structural(CONTAINER_META_LINE_HEIGHT);
121
117
  const sContainerHeaderHeight = ctx.structural(CONTAINER_HEADER_HEIGHT);
122
- const sCollapseBarHeight = ctx.structural(COLLAPSE_BAR_HEIGHT);
123
- const sCollapseBarInset = ctx.structural(COLLAPSE_BAR_INSET);
124
118
  const sAncestorDotR = ctx.structural(ANCESTOR_DOT_R);
125
119
  const sAncestorLabelFontSize = ctx.text(ANCESTOR_LABEL_FONT_SIZE);
126
120
  const sAncestorRowHeight = ctx.structural(ANCESTOR_ROW_HEIGHT);
@@ -214,38 +208,34 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
214
208
  }
215
209
  const fill = containerFill(palette, isDark, colorOff ? void 0 : c.color);
216
210
  const stroke = containerStroke(palette, colorOff ? void 0 : c.color);
217
- cG.append("rect").attr("x", 0).attr("y", 0).attr("width", c.width).attr("height", c.height).attr("rx", sContainerRadius).attr("fill", fill).attr("stroke", stroke).attr("stroke-opacity", 0.35).attr("stroke-width", sNodeStrokeWidth);
218
- cG.append("text").attr("x", c.width / 2).attr("y", sContainerHeaderHeight / 2).attr("dominant-baseline", "central").attr("text-anchor", "middle").attr("fill", palette.text).attr("font-size", sContainerLabelFontSize).attr("font-weight", "bold").text(c.label);
219
- const metaEntries = Object.entries(c.metadata);
220
- if (metaEntries.length > 0) {
221
- const metaDisplayKeys = metaEntries.map(
222
- ([k]) => displayNames.get(k) ?? k
223
- );
224
- const maxKeyWidth = Math.max(
225
- ...metaDisplayKeys.map(
226
- (k) => measureText(`${k}: `, sContainerMetaFontSize)
227
- )
228
- );
229
- const valueX = 10 + maxKeyWidth;
230
- const metaStartY = sContainerHeaderHeight + sContainerMetaFontSize - 2;
231
- for (let i = 0; i < metaEntries.length; i++) {
232
- const [, value] = metaEntries[i];
233
- const displayKey = metaDisplayKeys[i];
234
- const rowY = metaStartY + i * sContainerMetaLineHeight;
235
- cG.append("text").attr("x", 10).attr("y", rowY).attr("fill", palette.textMuted).attr("font-size", sContainerMetaFontSize).text(`${displayKey}: `);
236
- cG.append("text").attr("x", valueX).attr("y", rowY).attr("fill", palette.text).attr("font-size", sContainerMetaFontSize).text(value);
237
- }
238
- }
239
- if (!exportDims && c.hiddenCount && c.hiddenCount > 0) {
211
+ renderContainerCard(cG, {
212
+ width: c.width,
213
+ height: c.height,
214
+ rx: sContainerRadius,
215
+ fill,
216
+ stroke,
217
+ strokeWidth: sNodeStrokeWidth,
218
+ label: c.label,
219
+ labelColor: palette.text,
220
+ labelFontSize: sContainerLabelFontSize,
221
+ headerHeight: sContainerHeaderHeight,
222
+ rows: Object.entries(c.metadata).map(
223
+ ([k, value]) => [displayNames.get(k) ?? k, value, palette.text]
224
+ ),
225
+ keyColor: palette.textMuted,
226
+ metaFontSize: sContainerMetaFontSize,
227
+ metaLineHeight: sContainerMetaLineHeight
228
+ });
229
+ if (c.hasChildren) {
240
230
  renderCollapseBar(cG, {
231
+ expanded: !c.hiddenCount,
241
232
  width: c.width,
242
233
  height: c.height,
243
- barHeight: sCollapseBarHeight,
244
- inset: sCollapseBarInset,
245
234
  rx: sContainerRadius,
246
235
  fill: containerStroke(palette, colorOff ? void 0 : c.color),
247
236
  clipId: `clip-${c.nodeId}`,
248
- className: "org-collapse-bar"
237
+ prefix: "org",
238
+ scale: ctx
249
239
  });
250
240
  }
251
241
  if (!exportDims && c.hasChildren && !rootNodeIds.has(c.nodeId)) {
@@ -333,16 +323,16 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
333
323
  }
334
324
  }
335
325
  });
336
- if (!exportDims && node.hiddenCount && node.hiddenCount > 0) {
326
+ if (node.hasChildren) {
337
327
  renderCollapseBar(nodeG, {
328
+ expanded: !node.hiddenCount,
338
329
  width: node.width,
339
330
  height: node.height,
340
- barHeight: sCollapseBarHeight,
341
- inset: sCollapseBarInset,
342
331
  rx: sCardRadius,
343
332
  fill: fillMode === "solid" ? labelColor : nodeStroke(palette, colorOff ? void 0 : node.color),
344
333
  clipId: `clip-${node.id}`,
345
- className: "org-collapse-bar"
334
+ prefix: "org",
335
+ scale: ctx
346
336
  });
347
337
  }
348
338
  if (!exportDims && node.hasChildren && !rootNodeIds.has(node.id)) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveTagColor,
3
3
  tagAttrKey
4
- } from "./chunk-LGUFJ7Y2.js";
4
+ } from "./chunk-KW3CC7SB.js";
5
5
  import {
6
6
  mix
7
7
  } from "./chunk-6GXLAKUH.js";
@@ -18,7 +18,7 @@ import {
18
18
  stripDefaultModifier,
19
19
  tagAttrKey,
20
20
  validateTagGroupNames
21
- } from "./chunk-LGUFJ7Y2.js";
21
+ } from "./chunk-KW3CC7SB.js";
22
22
  import {
23
23
  AliasRegistry,
24
24
  C4_REGISTRY,
@@ -30,7 +30,7 @@ import {
30
30
  splitNameAndMeta,
31
31
  warnUnknownMetaKeys,
32
32
  withTagAliases
33
- } from "./chunk-FUYEXLAN.js";
33
+ } from "./chunk-RFGQDIOI.js";
34
34
  import {
35
35
  formatDgmoError,
36
36
  makeDgmoError,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseFirstLine
3
- } from "./chunk-FUYEXLAN.js";
3
+ } from "./chunk-RFGQDIOI.js";
4
4
  import {
5
5
  parseCloudReferenceFence,
6
6
  parseCloudReferenceUrl
@@ -7,7 +7,7 @@ import {
7
7
  extractColor,
8
8
  fillModeFromToken,
9
9
  parseFirstLine
10
- } from "./chunk-FUYEXLAN.js";
10
+ } from "./chunk-RFGQDIOI.js";
11
11
  import {
12
12
  makeDgmoError,
13
13
  makeFail