@diagrammo/dgmo 0.49.0 → 0.50.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 (198) hide show
  1. package/.cursorrules +6 -2
  2. package/.github/copilot-instructions.md +6 -2
  3. package/.windsurfrules +6 -2
  4. package/SKILL.md +6 -2
  5. package/dist/advanced.js +557 -195
  6. package/dist/auto.js +129 -119
  7. package/dist/auto.mjs +19496 -12761
  8. package/dist/block.js +145 -48
  9. package/dist/{charts-d3-EW3YQTEA.js → charts-d3-LR6D3D7A.js} +5 -5
  10. package/dist/{chunk-5FGDJIJX.js → chunk-2C56LEML.js} +3 -3
  11. package/dist/{chunk-XJ7J6WOO.js → chunk-2KGXHFYK.js} +4 -4
  12. package/dist/{chunk-T7IKPCMI.js → chunk-3LH5CLP4.js} +3 -3
  13. package/dist/{chunk-ZDUQGL3N.js → chunk-3LKM6FMW.js} +2 -2
  14. package/dist/{chunk-4FIV4K4Z.js → chunk-3NODSS6A.js} +7 -7
  15. package/dist/{chunk-4BD7EVPK.js → chunk-3P2DKJCG.js} +2 -2
  16. package/dist/{chunk-TC3YWBFO.js → chunk-3UIKSPFB.js} +35 -9
  17. package/dist/{chunk-SJEGO2QL.js → chunk-3XGZF2QJ.js} +4 -4
  18. package/dist/chunk-3XPUDB7B.js +420 -0
  19. package/dist/{chunk-O5MQPK7E.js → chunk-3Y2DRD7S.js} +3 -3
  20. package/dist/chunk-3YPY3OXD.js +354 -0
  21. package/dist/{chunk-N4J5KGWG.js → chunk-4MJ7M6YL.js} +8 -8
  22. package/dist/{chunk-JFPY3UJ7.js → chunk-4S52SK6G.js} +8 -8
  23. package/dist/{chunk-ALRHIR6I.js → chunk-5GJYGP5Z.js} +4 -4
  24. package/dist/{chunk-SQDFK5ZQ.js → chunk-5OWVC2A6.js} +3 -3
  25. package/dist/{chunk-7VLUGEMJ.js → chunk-66NVRO4K.js} +4 -4
  26. package/dist/{chunk-ZREZOIGS.js → chunk-66RUL3XF.js} +6 -6
  27. package/dist/{chunk-MJCG5K2O.js → chunk-6BFZKBGD.js} +2 -2
  28. package/dist/{chunk-2WMBWZY2.js → chunk-6HJBFVLO.js} +3 -3
  29. package/dist/{chunk-XCC2RENT.js → chunk-6IAA2QQ2.js} +2 -2
  30. package/dist/{chunk-B57V3DWN.js → chunk-7L3R6I3U.js} +3 -3
  31. package/dist/chunk-7PQYTZMA.js +681 -0
  32. package/dist/{chunk-6SA7FJE4.js → chunk-7QKLIMRZ.js} +10 -10
  33. package/dist/{chunk-YTN572Q2.js → chunk-7TV5Y53Y.js} +2 -2
  34. package/dist/{chunk-6CLKNXVP.js → chunk-BBGDM4NQ.js} +457 -78
  35. package/dist/{chunk-3NFJWFNP.js → chunk-BDXC7MDK.js} +1045 -124
  36. package/dist/{chunk-D5AVQCDN.js → chunk-BH3UYK36.js} +3 -3
  37. package/dist/chunk-BTUTZMPT.js +482 -0
  38. package/dist/{chunk-LVHPTBO3.js → chunk-C2CVAM3U.js} +4 -4
  39. package/dist/{chunk-BCT5G2VN.js → chunk-DFTFPYUD.js} +5 -5
  40. package/dist/{chunk-KV6Y2HE6.js → chunk-DSWVNQVS.js} +4 -4
  41. package/dist/{chunk-4YNP6O47.js → chunk-DZXYF2F5.js} +13 -3
  42. package/dist/{chunk-FUCAB3KQ.js → chunk-EAMEADTV.js} +3 -3
  43. package/dist/chunk-FA6K3FWM.js +940 -0
  44. package/dist/{chunk-HBVD67XG.js → chunk-FJUNPCYI.js} +2 -2
  45. package/dist/{chunk-6VE3VLWM.js → chunk-GBE54KY6.js} +6 -5
  46. package/dist/{chunk-YRVLP7UU.js → chunk-GKC3HILQ.js} +4 -4
  47. package/dist/{chunk-ZXL6MB4R.js → chunk-GL5UZ6NY.js} +3 -3
  48. package/dist/{chunk-GB3YZTAM.js → chunk-H73FP42Q.js} +5 -5
  49. package/dist/{chunk-4UDKKGHH.js → chunk-HEVYAHLW.js} +2 -2
  50. package/dist/{chunk-DDTJ5N7Q.js → chunk-HLJVEAOF.js} +6 -6
  51. package/dist/{chunk-CLR4A2N2.js → chunk-HTMN2Z6U.js} +4 -4
  52. package/dist/{chunk-TLKMTQYL.js → chunk-I2WKW7C7.js} +3 -3
  53. package/dist/{chunk-IUK7AGD4.js → chunk-I7F2A35O.js} +2 -2
  54. package/dist/{chunk-IBC35BTK.js → chunk-IUMPEA64.js} +2 -2
  55. package/dist/{chunk-5XCM7UUW.js → chunk-J6K7RP6P.js} +100 -36
  56. package/dist/{chunk-AJ2PEY7J.js → chunk-JJUOHGX2.js} +2 -2
  57. package/dist/{chunk-CEHZOPGM.js → chunk-KFZYNWWO.js} +2 -2
  58. package/dist/{chunk-4NQ3IKUM.js → chunk-KHEYDLMT.js} +5 -5
  59. package/dist/{chunk-YM2BSPYW.js → chunk-LE4MYMLI.js} +2 -2
  60. package/dist/{chunk-PU3AUQPA.js → chunk-M5RXSRO2.js} +2 -2
  61. package/dist/{chunk-XKTN7CZF.js → chunk-MCZ5LBZD.js} +4 -4
  62. package/dist/{chunk-35BBZDFE.js → chunk-NU3XLTGP.js} +4 -4
  63. package/dist/{chunk-BPIJLRYE.js → chunk-NWED7CYO.js} +3 -3
  64. package/dist/{chunk-YYX3SU6H.js → chunk-OMNGQPEZ.js} +257 -101
  65. package/dist/{chunk-BGJV5ATD.js → chunk-ONA5KPV3.js} +2 -2
  66. package/dist/{chunk-ZNQX6QWH.js → chunk-OTAL43EH.js} +6 -2
  67. package/dist/{chunk-F743CM2N.js → chunk-OTQKUHRS.js} +3 -3
  68. package/dist/{chunk-KUBBJ2CD.js → chunk-P7CE7LXL.js} +6 -6
  69. package/dist/{chunk-UVCXZEGU.js → chunk-PFHVU7UA.js} +2 -2
  70. package/dist/{chunk-5ZZLLBFK.js → chunk-PGEGPSCZ.js} +2 -2
  71. package/dist/chunk-Q4V4XQWV.js +158 -0
  72. package/dist/{chunk-IHLSHCPZ.js → chunk-QJP6PG7F.js} +5 -5
  73. package/dist/{chunk-EYN7VFKL.js → chunk-QROYX7TT.js} +3 -3
  74. package/dist/chunk-QXKWYZNR.js +379 -0
  75. package/dist/{chunk-VC3TR4NL.js → chunk-RZ6YKEUJ.js} +3 -3
  76. package/dist/{chunk-K6HNAY5V.js → chunk-SCHXJTZL.js} +2 -2
  77. package/dist/{chunk-7OVSJI2V.js → chunk-SQLNBA64.js} +3 -3
  78. package/dist/{chunk-65RTDUZH.js → chunk-SXRTRMEE.js} +3 -3
  79. package/dist/{chunk-3BIAFYD2.js → chunk-T4VOVZT5.js} +2 -2
  80. package/dist/{chunk-UWDO3O52.js → chunk-TN35C5KM.js} +2 -2
  81. package/dist/{chunk-IFK3GIUW.js → chunk-TSA237IM.js} +2 -2
  82. package/dist/{chunk-DKEPS5LH.js → chunk-U2HGPLZS.js} +36 -2
  83. package/dist/{chunk-4HVNZ7WF.js → chunk-VBYSIOOY.js} +3 -3
  84. package/dist/{chunk-ZTLWVRNS.js → chunk-VDOOQZUD.js} +2 -2
  85. package/dist/{chunk-RTERS6S5.js → chunk-VUJGMJE6.js} +4 -4
  86. package/dist/{chunk-X2CH42BN.js → chunk-VVW3F3MD.js} +7 -7
  87. package/dist/{chunk-RI4NIMFP.js → chunk-VVZRV54S.js} +75 -35
  88. package/dist/{chunk-LG4TWW4U.js → chunk-WW32K72E.js} +8 -8
  89. package/dist/{chunk-NVT6C2VE.js → chunk-X6EZPSW6.js} +4 -4
  90. package/dist/{chunk-KQAEKMIX.js → chunk-XDXNDSKO.js} +2 -2
  91. package/dist/{chunk-FMKTYMP4.js → chunk-XJLKLU4D.js} +3 -3
  92. package/dist/chunk-Y4RNXEAO.js +952 -0
  93. package/dist/{chunk-26RVGM44.js → chunk-YIA4LEX4.js} +15 -7
  94. package/dist/chunk-YNRDWYZP.js +295 -0
  95. package/dist/{chunk-SGHSY3LU.js → chunk-Z6XJQ6KO.js} +81 -6
  96. package/dist/{chunk-SVDWQGX2.js → chunk-ZAD4HV2G.js} +139 -78
  97. package/dist/cli.cjs +153 -144
  98. package/dist/clock.d.ts +10 -0
  99. package/dist/clock.js +235 -0
  100. package/dist/countdown.d.ts +12 -0
  101. package/dist/countdown.js +450 -0
  102. package/dist/dgmo-router-YTU3ENAX.js +84 -0
  103. package/dist/{dimensions-WSIJXT5Q.js → dimensions-OTBKC5M6.js} +5 -5
  104. package/dist/editor.js +39 -1
  105. package/dist/element.js +131 -121
  106. package/dist/element.mjs +19496 -12761
  107. package/dist/{flowchart-parser-IVZN7CQN.js → flowchart-parser-OE4WHLTF.js} +4 -4
  108. package/dist/{flowchart-renderer-GMI2U3DD.js → flowchart-renderer-GPCSMTOR.js} +6 -6
  109. package/dist/highlight.d.ts +17 -1
  110. package/dist/highlight.js +156 -5
  111. package/dist/index.js +50 -45
  112. package/dist/{layout-HQMBPJVS.js → layout-46366KBT.js} +2 -2
  113. package/dist/{layout-D42XE4RE.js → layout-5BG6DFCU.js} +3 -3
  114. package/dist/{layout-K2ZN3Q42.js → layout-7MZ5NF2N.js} +4 -4
  115. package/dist/{layout-4Z5JM7PT.js → layout-FWODLIMP.js} +4 -4
  116. package/dist/{layout-GZ2CWONU.js → layout-J36454XU.js} +4 -4
  117. package/dist/{layout-S3EK4IYO.js → layout-LD6XTLD6.js} +4 -4
  118. package/dist/{parser-CLMFZWCC.js → parser-36HVKU5U.js} +5 -5
  119. package/dist/{parser-MCJWF5G3.js → parser-4AI5ZN5F.js} +3 -3
  120. package/dist/{parser-DERPY5KC.js → parser-4NO6VZ6S.js} +4 -4
  121. package/dist/parser-4WQQQXCG.js +13 -0
  122. package/dist/{parser-4ROBKVUR.js → parser-5OXGPNBF.js} +5 -5
  123. package/dist/{parser-XWUDFJ7P.js → parser-AGVYTQXV.js} +4 -4
  124. package/dist/{parser-TITK4YW6.js → parser-AXKBDGNO.js} +5 -5
  125. package/dist/parser-B5FVS7O6.js +11 -0
  126. package/dist/parser-CSFUN3CT.js +14 -0
  127. package/dist/parser-CVMEDULU.js +15 -0
  128. package/dist/{parser-KPMN5KKE.js → parser-D5VILGN2.js} +4 -4
  129. package/dist/{parser-IKZFTLOJ.js → parser-DFFEDKHH.js} +3 -3
  130. package/dist/{parser-JD7OQ2E6.js → parser-H3XEPFPV.js} +4 -4
  131. package/dist/{parser-UBGPTIZD.js → parser-HYRTF3DO.js} +3 -3
  132. package/dist/{parser-K647FRI4.js → parser-IBWNAPY4.js} +3 -3
  133. package/dist/{parser-4BKIFG2C.js → parser-IJBMRXMC.js} +5 -5
  134. package/dist/{parser-MBJSBTL5.js → parser-JJR52VAT.js} +5 -5
  135. package/dist/{parser-SMBJO3XN.js → parser-K3XXLMUW.js} +4 -4
  136. package/dist/{parser-OBQG655V.js → parser-KCR2WS3V.js} +4 -4
  137. package/dist/{parser-HVJFTOXL.js → parser-LWKKBNSA.js} +3 -3
  138. package/dist/{parser-ZYC3XGNS.js → parser-MPCE5JBG.js} +4 -4
  139. package/dist/{parser-QJYS7KQQ.js → parser-MTOMTWTD.js} +4 -4
  140. package/dist/{parser-GFSOPDB7.js → parser-O4HIUN6G.js} +4 -4
  141. package/dist/{parser-BL7Z72EY.js → parser-PSA4UBSP.js} +4 -4
  142. package/dist/{parser-TNYX5S7E.js → parser-RV4M6AS2.js} +4 -4
  143. package/dist/parser-RZPVAQVX.js +11 -0
  144. package/dist/{parser-UGA23PYK.js → parser-TGQZJ5OT.js} +4 -4
  145. package/dist/parser-TXND652E.js +13 -0
  146. package/dist/{parser-WISPH7LW.js → parser-VKOJM7KS.js} +4 -4
  147. package/dist/{parser-ZKF5K2H2.js → parser-W4PQUGX3.js} +4 -4
  148. package/dist/{parser-MRBPXXIV.js → parser-WAV5JRPT.js} +4 -4
  149. package/dist/{parser-D6ONJQFR.js → parser-YS7TOS2K.js} +3 -3
  150. package/dist/pert.d.ts +8 -0
  151. package/dist/{renderer-VFUVRNLK.js → renderer-2AZ5HJFK.js} +4 -4
  152. package/dist/{renderer-V3JEMWMM.js → renderer-2QPMJ2DA.js} +6 -6
  153. package/dist/renderer-45PSOL3E.js +19 -0
  154. package/dist/{renderer-BB5PREMY.js → renderer-4ITCHBT7.js} +4 -4
  155. package/dist/{renderer-XEKIRPI6.js → renderer-5DSEWF74.js} +5 -5
  156. package/dist/{renderer-QNHUXCRL.js → renderer-6OKF44KS.js} +9 -9
  157. package/dist/renderer-72LGR2YF.js +14 -0
  158. package/dist/{renderer-YHXPN3GF.js → renderer-7SD6MSBS.js} +7 -7
  159. package/dist/renderer-A5VE5BCI.js +24 -0
  160. package/dist/{renderer-A5VFZQQK.js → renderer-AUW2BE6G.js} +6 -6
  161. package/dist/{renderer-LWGJFT3D.js → renderer-B5TBNZJE.js} +5 -5
  162. package/dist/{renderer-4IUPINAE.js → renderer-BSR2O2H6.js} +7 -7
  163. package/dist/{renderer-DKESNMU5.js → renderer-CYB4LK3G.js} +6 -6
  164. package/dist/{renderer-MFJ7HY2H.js → renderer-FF24KZCI.js} +5 -5
  165. package/dist/{renderer-CGW7QPNA.js → renderer-FPE3J5VZ.js} +7 -7
  166. package/dist/{renderer-6T3KK4S3.js → renderer-FYSVXL7M.js} +7 -7
  167. package/dist/{renderer-THD6V5TL.js → renderer-HDCCZURL.js} +9 -7
  168. package/dist/{renderer-TPIBXNOS.js → renderer-JCCHNECZ.js} +6 -6
  169. package/dist/{renderer-QL5KO6SK.js → renderer-KS7YZJE2.js} +7 -7
  170. package/dist/{renderer-SQ3JUAI7.js → renderer-NGXZTRK6.js} +6 -6
  171. package/dist/{renderer-MJDDU27W.js → renderer-ODUUOPVT.js} +10 -10
  172. package/dist/renderer-PJM35LJN.js +17 -0
  173. package/dist/{renderer-TYXRHMRI.js → renderer-PPIHO5FI.js} +9 -9
  174. package/dist/{renderer-W5RMOURB.js → renderer-PSMMZCKH.js} +6 -6
  175. package/dist/{renderer-UZF3JROD.js → renderer-QAOBLRXV.js} +8 -8
  176. package/dist/{renderer-ROV756WT.js → renderer-R2WNIC2C.js} +5 -5
  177. package/dist/{renderer-VICQ4WNY.js → renderer-SBS3YWU5.js} +5 -5
  178. package/dist/{renderer-6L3NBEY5.js → renderer-UYMQQCJK.js} +6 -6
  179. package/dist/{renderer-radial-MHO2VDXN.js → renderer-radial-F7X5F2VU.js} +6 -6
  180. package/dist/{state-parser-RX3GXOIB.js → state-parser-3REXRK3R.js} +4 -4
  181. package/dist/{state-renderer-AJUKGNWU.js → state-renderer-XYLNRWXR.js} +6 -6
  182. package/docs/ai-integration.md +6 -2
  183. package/docs/language-reference.md +253 -22
  184. package/gallery/fixtures/body.dgmo +17 -0
  185. package/gallery/fixtures/bracket.dgmo +30 -0
  186. package/gallery/fixtures/clock.dgmo +8 -0
  187. package/gallery/fixtures/countdown.dgmo +3 -0
  188. package/gallery/fixtures/goal.dgmo +4 -0
  189. package/package.json +12 -4
  190. package/dist/advanced.d.ts +0 -6162
  191. package/dist/auto.d.ts +0 -54
  192. package/dist/block.d.ts +0 -123
  193. package/dist/dgmo-router-ODKPEJ3P.js +0 -79
  194. package/dist/element.d.ts +0 -62
  195. package/dist/index.d.ts +0 -166
  196. package/dist/parser-667RGSUW.js +0 -13
  197. package/dist/parser-J3P2D6IP.js +0 -13
  198. package/dist/themes-1-CuKpeH.d.ts +0 -908
@@ -0,0 +1,354 @@
1
+ import {
2
+ compactNumber
3
+ } from "./chunk-PFHVU7UA.js";
4
+ import {
5
+ parseInlineMarkdown
6
+ } from "./chunk-3HDBAXF5.js";
7
+ import {
8
+ TITLE_FONT_WEIGHT
9
+ } from "./chunk-A4GOY3PE.js";
10
+ import {
11
+ FONT_FAMILY
12
+ } from "./chunk-6KFWC4CO.js";
13
+ import {
14
+ getSeriesColors,
15
+ mix,
16
+ shapeFill,
17
+ themeBaseBg
18
+ } from "./chunk-P6T66CCZ.js";
19
+ import {
20
+ resolveColor
21
+ } from "./chunk-TLVIHFRO.js";
22
+
23
+ // src/goal/renderer.ts
24
+ import * as d3Selection from "d3-selection";
25
+ function clamp(x, lo, hi) {
26
+ return Math.max(lo, Math.min(hi, x));
27
+ }
28
+ var GOAL_TITLE_SIZE = 30;
29
+ function computeMetrics(parsed) {
30
+ const pctFrac = parsed.hasTarget ? parsed.now / parsed.target : 0;
31
+ const fillFrac = clamp(pctFrac, 0, 1);
32
+ const pctLabel = `${Math.round(pctFrac * 100)}%`;
33
+ const targetLabel = parsed.hasTarget ? compactNumber(parsed.target) : "?";
34
+ const valueLabel = `${compactNumber(parsed.now)} / ${targetLabel}`;
35
+ const ariaTarget = parsed.hasTarget ? parsed.target : "?";
36
+ const ariaLabel = `${parsed.title ?? "Goal"}: ${parsed.now} of ${ariaTarget} (${Math.round(
37
+ pctFrac * 100
38
+ )}%)`;
39
+ return { pctFrac, fillFrac, pctLabel, valueLabel, ariaLabel };
40
+ }
41
+ function autoBandColor(pctFrac, palette) {
42
+ const name = pctFrac < 0.5 ? "red" : pctFrac < 0.8 ? "orange" : "green";
43
+ return resolveColor(name, palette) || name;
44
+ }
45
+ function resolvePaint(parsed, palette, isDark, pctFrac) {
46
+ const autoColor = !parsed.options.noAutoColor && parsed.hasTarget ? autoBandColor(pctFrac, palette) : null;
47
+ const base = parsed.color && resolveColor(parsed.color, palette) || parsed.color || autoColor || getSeriesColors(palette)[0];
48
+ return {
49
+ base,
50
+ fill: shapeFill(palette, base, isDark, { solid: parsed.options.solidFill }),
51
+ track: mix(palette.border, themeBaseBg(palette, isDark), 45),
52
+ text: palette.text,
53
+ muted: mix(palette.text, themeBaseBg(palette, isDark), 55)
54
+ };
55
+ }
56
+ function renderGoal(container, parsed, palette, isDark, exportDims) {
57
+ d3Selection.select(container).selectAll(":not([data-d3-tooltip])").remove();
58
+ const cw = exportDims?.width ?? container.clientWidth;
59
+ const ch = exportDims?.height ?? container.clientHeight;
60
+ if (cw <= 0 || ch <= 0) return;
61
+ const metrics = computeMetrics(parsed);
62
+ const paint = resolvePaint(parsed, palette, isDark, metrics.pctFrac);
63
+ const svg = d3Selection.select(container).append("svg").attr("width", cw).attr("height", ch).attr("preserveAspectRatio", "xMidYMid meet").attr("xmlns", "http://www.w3.org/2000/svg").attr("role", "img").attr("aria-label", metrics.ariaLabel).style("font-family", FONT_FAMILY);
64
+ const box = parsed.mode === "thermometer" ? renderThermometer(svg, parsed, metrics, paint) : parsed.mode === "gauge" ? renderGauge(svg, parsed, metrics, paint) : renderBar(svg, parsed, metrics, paint);
65
+ const pad = 30;
66
+ const vx = box.minX - pad;
67
+ const vy = box.minY - pad;
68
+ const vw = box.maxX - box.minX + pad * 2;
69
+ const vh = box.maxY - box.minY + pad * 2;
70
+ svg.attr("viewBox", `${vx} ${vy} ${vw} ${vh}`);
71
+ svg.insert("rect", ":first-child").attr("x", vx).attr("y", vy).attr("width", vw).attr("height", vh).attr("fill", palette.bg);
72
+ }
73
+ function renderGoalForExport(container, parsed, palette, isDark, exportDims) {
74
+ renderGoal(container, parsed, palette, isDark, exportDims);
75
+ }
76
+ function displayLen(token) {
77
+ return token.replace(/\[(.+?)\]\((.+?)\)/g, "$1").replace(/\*\*|__|\*|_|`/g, "").length;
78
+ }
79
+ function wrapText(text, maxChars) {
80
+ const words = text.split(/\s+/);
81
+ const lines = [];
82
+ let cur = "";
83
+ for (const w of words) {
84
+ const next = cur ? `${cur} ${w}` : w;
85
+ if (displayLen(next) > maxChars && cur) {
86
+ lines.push(cur);
87
+ cur = w;
88
+ } else {
89
+ cur = next;
90
+ }
91
+ }
92
+ if (cur) lines.push(cur);
93
+ return lines;
94
+ }
95
+ function layoutDescription(description, colLeft, maxChars) {
96
+ const out = [];
97
+ const indent = 18;
98
+ const contentX = colLeft + indent;
99
+ for (const raw of description.split("\n")) {
100
+ const t = raw.trim();
101
+ if (t === "") {
102
+ out.push({ text: "", x: colLeft });
103
+ continue;
104
+ }
105
+ const bullet = /^[-*]\s+/.test(t);
106
+ if (bullet) {
107
+ const content = t.replace(/^[-*]\s+/, "");
108
+ const wrapped = wrapText(content, Math.max(6, maxChars - 3));
109
+ wrapped.forEach((wl, k) => {
110
+ out.push(
111
+ k === 0 ? { text: wl, x: contentX, bulletX: colLeft } : { text: wl, x: contentX }
112
+ );
113
+ });
114
+ } else {
115
+ for (const wl of wrapText(t, maxChars))
116
+ out.push({ text: wl, x: colLeft });
117
+ }
118
+ }
119
+ return out;
120
+ }
121
+ function renderWrappedMarkdown(textEl, lines, lineH) {
122
+ lines.forEach((line, li) => {
123
+ const dy = li === 0 ? 0 : lineH;
124
+ if (line.text === "" && line.bulletX === void 0) {
125
+ textEl.append("tspan").attr("x", line.x).attr("dy", dy).text(" ");
126
+ return;
127
+ }
128
+ if (line.bulletX !== void 0) {
129
+ textEl.append("tspan").attr("x", line.bulletX).attr("dy", dy).text("\u2022");
130
+ }
131
+ let first = true;
132
+ for (const span of parseInlineMarkdown(line.text)) {
133
+ const tspan = textEl.append("tspan").text(span.text);
134
+ if (first) {
135
+ tspan.attr("x", line.x);
136
+ if (line.bulletX === void 0) tspan.attr("dy", dy);
137
+ first = false;
138
+ }
139
+ if (span.bold) tspan.attr("font-weight", "bold");
140
+ if (span.italic) tspan.attr("font-style", "italic");
141
+ if (span.code) tspan.attr("font-family", "monospace");
142
+ }
143
+ });
144
+ }
145
+ function drawNote(svg, description, paint, left, top, width) {
146
+ const descSize = 15;
147
+ const lineH = descSize * 1.4;
148
+ const maxChars = Math.max(8, Math.floor(width / (descSize * 0.46)));
149
+ const firstY = top + descSize;
150
+ const lines = layoutDescription(description, left, maxChars);
151
+ const desc = svg.append("text").attr("x", left).attr("y", firstY).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", descSize).attr("font-weight", 500);
152
+ renderWrappedMarkdown(desc, lines, lineH);
153
+ return firstY + lines.length * lineH;
154
+ }
155
+ function faceTitle(svg, parsed, paint, x, y, anchor = "middle", size = GOAL_TITLE_SIZE) {
156
+ if (!parsed.title || parsed.options.noTitle) return;
157
+ svg.append("text").attr("class", "chart-title").attr("x", x).attr("y", y).attr("text-anchor", anchor).attr("fill", paint.text).attr("font-family", FONT_FAMILY).attr("font-size", size).attr("font-weight", TITLE_FONT_WEIGHT).attr("data-line-number", parsed.titleLineNumber).text(parsed.title);
158
+ }
159
+ function renderBar(svg, parsed, metrics, paint) {
160
+ const trackH = 52;
161
+ const r = trackH / 2;
162
+ const trackW = 620;
163
+ const gap = parsed.hasTarget ? 18 : 0;
164
+ const targetLabelW = parsed.hasTarget ? 80 : 0;
165
+ const x = 0;
166
+ const hasTitle = !!parsed.title && !parsed.options.noTitle;
167
+ const showPct = !parsed.options.noPercent && parsed.hasTarget;
168
+ const titleSize = GOAL_TITLE_SIZE;
169
+ if (hasTitle) faceTitle(svg, parsed, paint, x, titleSize - 2, "start");
170
+ const barRight = x + trackW;
171
+ if (showPct) {
172
+ svg.append("text").attr("x", barRight).attr("y", titleSize - 2).attr("text-anchor", "end").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", titleSize).attr("font-weight", 700).text(metrics.pctLabel);
173
+ }
174
+ const y = hasTitle || showPct ? titleSize + 14 : 0;
175
+ const barCy = y + trackH / 2;
176
+ const g = svg.append("g").attr("class", "goal-bar");
177
+ g.append("rect").attr("x", x).attr("y", y).attr("width", trackW).attr("height", trackH).attr("rx", r).attr("fill", paint.track);
178
+ const fillW = trackW * metrics.fillFrac;
179
+ if (fillW > 0.5) {
180
+ g.append("rect").attr("x", x).attr("y", y).attr("width", fillW).attr("height", trackH).attr("rx", r).attr("fill", paint.fill).attr("stroke", paint.base).attr("stroke-width", 2);
181
+ }
182
+ if (!parsed.options.noValue) {
183
+ const valX = Math.max(x + fillW - 16, x + 52);
184
+ g.append("text").attr("x", valX).attr("y", barCy + 24 * 0.35).attr("text-anchor", "end").attr("fill", paint.base).attr("font-family", FONT_FAMILY).attr("font-size", 24).attr("font-weight", 700).text(compactNumber(parsed.now));
185
+ }
186
+ if (parsed.hasTarget) {
187
+ g.append("text").attr("x", barRight + gap).attr("y", barCy + 26 * 0.35).attr("text-anchor", "start").attr("fill", paint.text).attr("font-family", FONT_FAMILY).attr("font-size", 26).attr("font-weight", 700).text(compactNumber(parsed.target));
188
+ }
189
+ let bottom = y + trackH;
190
+ if (parsed.description && !parsed.options.noNote) {
191
+ bottom = drawNote(svg, parsed.description, paint, x, bottom + 40, trackW);
192
+ }
193
+ return {
194
+ minX: 0,
195
+ minY: 0,
196
+ maxX: barRight + gap + targetLabelW,
197
+ maxY: bottom
198
+ };
199
+ }
200
+ function renderThermometer(svg, parsed, metrics, paint) {
201
+ const tubeW = 68;
202
+ const r = tubeW / 2;
203
+ const bulbR = 52;
204
+ const inset = 8;
205
+ const totalH = 440;
206
+ const glassTop = 0;
207
+ const bulbCy = totalH - bulbR;
208
+ const textColW = 440;
209
+ const gap = 56;
210
+ const colLeft = 0;
211
+ const cx = colLeft + textColW + gap + r;
212
+ const bodyPath = (topY, halfW, br, roundedCap) => {
213
+ const yJoin = bulbCy - Math.sqrt(br * br - halfW * halfW);
214
+ const bulb = `L ${cx + halfW} ${yJoin} A ${br} ${br} 0 1 1 ${cx - halfW} ${yJoin} Z`;
215
+ return roundedCap ? `M ${cx - halfW} ${topY + halfW} A ${halfW} ${halfW} 0 0 1 ${cx + halfW} ${topY + halfW} ${bulb}` : `M ${cx - halfW} ${topY} L ${cx + halfW} ${topY} ${bulb}`;
216
+ };
217
+ const g = svg.append("g").attr("class", "goal-thermometer");
218
+ g.append("path").attr("d", bodyPath(glassTop, r, bulbR, true)).attr("fill", paint.track);
219
+ const mHalf = r - inset;
220
+ const mBulb = bulbR - inset;
221
+ const yTop = glassTop + r;
222
+ const yBase = bulbCy - Math.sqrt(mBulb * mBulb - mHalf * mHalf);
223
+ const yForFrac = (f) => yTop + (1 - f) * (yBase - yTop);
224
+ const fillTopY = clamp(yForFrac(metrics.fillFrac), yTop, yBase);
225
+ g.append("path").attr("d", bodyPath(fillTopY, mHalf, mBulb, false)).attr("fill", paint.fill).attr("stroke", paint.base).attr("stroke-width", 2).attr("stroke-linejoin", "round");
226
+ if (parsed.hasTarget) {
227
+ const edgeX = cx + r;
228
+ const tickLabelX = edgeX + 14;
229
+ const drawTick = (f, major) => {
230
+ const isTarget = f === 1;
231
+ const y = yForFrac(f);
232
+ g.append("line").attr("x1", edgeX).attr("y1", y).attr("x2", edgeX - (isTarget ? 26 : major ? 18 : 10)).attr("y2", y).attr("stroke", isTarget ? paint.base : paint.muted).attr("stroke-width", isTarget ? 4 : major ? 2 : 1.5);
233
+ if (isTarget) {
234
+ g.append("text").attr("x", tickLabelX).attr("y", y - 20).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 15).attr("font-weight", 600).attr("letter-spacing", 1).text("TARGET");
235
+ }
236
+ if (major) {
237
+ g.append("text").attr("x", tickLabelX).attr("y", y + (isTarget ? 30 * 0.35 : 19 * 0.35)).attr("text-anchor", "start").attr("fill", isTarget ? paint.text : paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", isTarget ? 30 : 19).attr("font-weight", isTarget ? 700 : 500).text(compactNumber(parsed.target * f));
238
+ }
239
+ };
240
+ for (const f of [0.25, 0.75]) drawTick(f, false);
241
+ for (const f of [0, 0.5, 1]) drawTick(f, true);
242
+ g.append("text").attr("x", tickLabelX).attr("y", fillTopY + 42 * 0.35).attr("text-anchor", "start").attr("fill", paint.base).attr("font-family", FONT_FAMILY).attr("font-size", 42).attr("font-weight", 700).text(compactNumber(parsed.now));
243
+ }
244
+ const titleSize = GOAL_TITLE_SIZE;
245
+ let cursorY = glassTop;
246
+ if (parsed.title && !parsed.options.noTitle) {
247
+ svg.append("text").attr("class", "chart-title").attr("x", colLeft).attr("y", cursorY + titleSize).attr("text-anchor", "start").attr("fill", paint.text).attr("font-family", FONT_FAMILY).attr("font-size", titleSize).attr("font-weight", TITLE_FONT_WEIGHT).attr("data-line-number", parsed.titleLineNumber).text(parsed.title);
248
+ cursorY += titleSize + 16;
249
+ }
250
+ if (!parsed.options.noPercent) {
251
+ svg.append("text").attr("x", colLeft).attr("y", cursorY + 52).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 64).attr("font-weight", 700).text(metrics.pctLabel);
252
+ cursorY += 76;
253
+ }
254
+ let colBottom = cursorY;
255
+ if (parsed.description && !parsed.options.noNote) {
256
+ colBottom = drawNote(
257
+ svg,
258
+ parsed.description,
259
+ paint,
260
+ colLeft,
261
+ cursorY + 8,
262
+ textColW
263
+ );
264
+ }
265
+ const rightExtent = parsed.hasTarget ? cx + r + 14 + 76 : cx + r + 20;
266
+ return {
267
+ minX: 0,
268
+ minY: 0,
269
+ maxX: rightExtent,
270
+ maxY: Math.max(bulbCy + bulbR, colBottom)
271
+ };
272
+ }
273
+ function arcPath(cx, cy, r, t0, t1) {
274
+ const a0 = Math.PI - t0 * Math.PI;
275
+ const a1 = Math.PI - t1 * Math.PI;
276
+ const x0 = cx + r * Math.cos(a0);
277
+ const y0 = cy - r * Math.sin(a0);
278
+ const x1 = cx + r * Math.cos(a1);
279
+ const y1 = cy - r * Math.sin(a1);
280
+ return `M ${x0} ${y0} A ${r} ${r} 0 0 1 ${x1} ${y1}`;
281
+ }
282
+ function renderGauge(svg, parsed, metrics, paint) {
283
+ const stroke = 36;
284
+ const r = 210;
285
+ const hasNote = !!parsed.description && !parsed.options.noNote;
286
+ const colW = hasNote ? 400 : 0;
287
+ const colGap = hasNote ? 56 : 0;
288
+ const colLeft = 0;
289
+ const hasTopTitle = !hasNote && !!parsed.title && !parsed.options.noTitle;
290
+ const topTitleH = hasTopTitle ? GOAL_TITLE_SIZE + 6 + 16 : 0;
291
+ const cx = colLeft + colW + colGap + r;
292
+ const cy = r + stroke / 2 + topTitleH;
293
+ const g = svg.append("g").attr("class", "goal-gauge");
294
+ const crestTop = cy - r - stroke / 2;
295
+ let colBottom = crestTop;
296
+ if (hasNote) {
297
+ const titleSize = GOAL_TITLE_SIZE;
298
+ let top = crestTop;
299
+ if (parsed.title && !parsed.options.noTitle) {
300
+ svg.append("text").attr("class", "chart-title").attr("x", colLeft).attr("y", top + titleSize * 0.78).attr("text-anchor", "start").attr("fill", paint.text).attr("font-family", FONT_FAMILY).attr("font-size", titleSize).attr("font-weight", TITLE_FONT_WEIGHT).attr("data-line-number", parsed.titleLineNumber).text(parsed.title);
301
+ top += titleSize * 0.78 + 16;
302
+ }
303
+ colBottom = drawNote(svg, parsed.description, paint, colLeft, top, colW);
304
+ } else if (hasTopTitle) {
305
+ faceTitle(svg, parsed, paint, cx, GOAL_TITLE_SIZE);
306
+ }
307
+ g.append("path").attr("d", arcPath(cx, cy, r, 0, 1)).attr("fill", "none").attr("stroke", paint.track).attr("stroke-width", stroke).attr("stroke-linecap", "round");
308
+ if (metrics.fillFrac > 1e-3) {
309
+ g.append("path").attr("d", arcPath(cx, cy, r, 0, metrics.fillFrac)).attr("fill", "none").attr("stroke", paint.fill).attr("stroke-width", stroke).attr("stroke-linecap", "round");
310
+ }
311
+ const a = Math.PI - metrics.fillFrac * Math.PI;
312
+ const needleLen = r - stroke / 2 - 6;
313
+ const nx = cx + needleLen * Math.cos(a);
314
+ const ny = cy - needleLen * Math.sin(a);
315
+ g.append("line").attr("x1", cx).attr("y1", cy).attr("x2", nx).attr("y2", ny).attr("stroke", paint.text).attr("stroke-width", 5).attr("stroke-linecap", "round");
316
+ g.append("circle").attr("cx", cx).attr("cy", cy).attr("r", 11).attr("fill", paint.text);
317
+ const nowLabel = compactNumber(parsed.now);
318
+ const nowSize = Math.min(
319
+ r * 0.62,
320
+ 140,
321
+ r * 0.95 / Math.max(1, nowLabel.length * 0.6)
322
+ );
323
+ const nowY = cy - r * 0.42;
324
+ g.append("text").attr("x", cx).attr("y", nowY + nowSize * 0.35).attr("text-anchor", "middle").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", nowSize).attr("font-weight", 700).text(nowLabel);
325
+ if (parsed.hasTarget) {
326
+ const bandInner = r - stroke / 2;
327
+ for (const f of [0, 0.25, 0.5, 0.75, 1]) {
328
+ const isTarget = f === 1;
329
+ const ang = Math.PI - f * Math.PI;
330
+ const ca = Math.cos(ang);
331
+ const sa = Math.sin(ang);
332
+ g.append("line").attr("x1", cx + bandInner * ca).attr("y1", cy - bandInner * sa).attr("x2", cx + (bandInner - (isTarget ? 20 : 12)) * ca).attr("y2", cy - (bandInner - (isTarget ? 20 : 12)) * sa).attr("stroke", isTarget ? paint.base : paint.muted).attr("stroke-width", isTarget ? 4 : 2);
333
+ const lr = bandInner - (isTarget ? 40 : 26);
334
+ const anchor = ca > 0.2 ? "end" : ca < -0.2 ? "start" : "middle";
335
+ if (isTarget) {
336
+ g.append("text").attr("x", cx + lr * ca).attr("y", cy - lr * sa - 20).attr("text-anchor", anchor).attr("dominant-baseline", "middle").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 15).attr("font-weight", 600).attr("letter-spacing", 1).text("TARGET");
337
+ }
338
+ g.append("text").attr("x", cx + lr * ca).attr("y", cy - lr * sa).attr("text-anchor", anchor).attr("dominant-baseline", sa > 0.7 ? "hanging" : "middle").attr("fill", isTarget ? paint.text : paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", isTarget ? 30 : 18).attr("font-weight", isTarget ? 700 : 500).text(compactNumber(parsed.target * f));
339
+ }
340
+ }
341
+ const rightLabel = parsed.hasTarget ? 74 : 20;
342
+ return {
343
+ minX: 0,
344
+ minY: Math.min(0, crestTop),
345
+ maxX: cx + r + rightLabel,
346
+ maxY: Math.max(cy + 34, colBottom)
347
+ };
348
+ }
349
+
350
+ export {
351
+ renderGoal,
352
+ renderGoalForExport
353
+ };
354
+ //# sourceMappingURL=chunk-3YPY3OXD.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  computeNodeText,
3
3
  layoutMindmap
4
- } from "./chunk-YTN572Q2.js";
4
+ } from "./chunk-7TV5Y53Y.js";
5
+ import {
6
+ renderInlineText
7
+ } from "./chunk-3HDBAXF5.js";
5
8
  import {
6
9
  extractExportSvg,
7
10
  runInExportContainer
8
11
  } from "./chunk-JTSMEYIZ.js";
9
- import {
10
- renderInlineText
11
- } from "./chunk-3HDBAXF5.js";
12
12
  import {
13
13
  COLLAPSE_BAR_HEIGHT,
14
14
  EDGE_STROKE_WIDTH,
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-YYVTBZZC.js";
20
20
  import {
21
21
  renderIntegratedLegend
22
- } from "./chunk-4UDKKGHH.js";
22
+ } from "./chunk-HEVYAHLW.js";
23
23
  import {
24
24
  getMaxLegendReservedHeight
25
25
  } from "./chunk-7UEMZREK.js";
@@ -35,7 +35,7 @@ import {
35
35
  } from "./chunk-HQCHYB5F.js";
36
36
  import {
37
37
  parseMindmap
38
- } from "./chunk-65RTDUZH.js";
38
+ } from "./chunk-SXRTRMEE.js";
39
39
  import {
40
40
  preprocessDescriptionLine
41
41
  } from "./chunk-IYULMRBE.js";
@@ -45,7 +45,7 @@ import {
45
45
  } from "./chunk-P6T66CCZ.js";
46
46
  import {
47
47
  tagAttrKey
48
- } from "./chunk-HBVD67XG.js";
48
+ } from "./chunk-FJUNPCYI.js";
49
49
 
50
50
  // src/mindmap/renderer.ts
51
51
  import * as d3Selection from "d3-selection";
@@ -388,4 +388,4 @@ export {
388
388
  renderMindmap,
389
389
  renderMindmapForExport
390
390
  };
391
- //# sourceMappingURL=chunk-N4J5KGWG.js.map
391
+ //# sourceMappingURL=chunk-4MJ7M6YL.js.map
@@ -3,12 +3,6 @@ import {
3
3
  rectCircleOverlap,
4
4
  rectsOverlap
5
5
  } from "./chunk-HGN652MU.js";
6
- import {
7
- getExtendedChartLegendGroups,
8
- getSimpleChartLegendGroups,
9
- parseChart,
10
- parseExtendedChart
11
- } from "./chunk-KQAEKMIX.js";
12
6
  import {
13
7
  EXPORT_HEIGHT,
14
8
  EXPORT_WIDTH,
@@ -33,6 +27,12 @@ import {
33
27
  import {
34
28
  measureText
35
29
  } from "./chunk-5LWQH6QV.js";
30
+ import {
31
+ getExtendedChartLegendGroups,
32
+ getSimpleChartLegendGroups,
33
+ parseChart,
34
+ parseExtendedChart
35
+ } from "./chunk-XDXNDSKO.js";
36
36
  import {
37
37
  contrastText,
38
38
  getSegmentColors,
@@ -44,7 +44,7 @@ import {
44
44
  } from "./chunk-P6T66CCZ.js";
45
45
  import {
46
46
  tagAttrKey
47
- } from "./chunk-HBVD67XG.js";
47
+ } from "./chunk-FJUNPCYI.js";
48
48
 
49
49
  // src/utils/legend-svg.ts
50
50
  function esc(s) {
@@ -1694,4 +1694,4 @@ export {
1694
1694
  supportsD3DataChart,
1695
1695
  renderDataChartD3
1696
1696
  };
1697
- //# sourceMappingURL=chunk-JFPY3UJ7.js.map
1697
+ //# sourceMappingURL=chunk-4S52SK6G.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-YYVTBZZC.js";
19
19
  import {
20
20
  renderIntegratedLegend
21
- } from "./chunk-4UDKKGHH.js";
21
+ } from "./chunk-HEVYAHLW.js";
22
22
  import {
23
23
  getMaxLegendReservedHeight
24
24
  } from "./chunk-7UEMZREK.js";
@@ -49,7 +49,7 @@ import {
49
49
  } from "./chunk-5LWQH6QV.js";
50
50
  import {
51
51
  parseInfra
52
- } from "./chunk-RTERS6S5.js";
52
+ } from "./chunk-VUJGMJE6.js";
53
53
  import {
54
54
  preprocessDescriptionLine
55
55
  } from "./chunk-IYULMRBE.js";
@@ -60,7 +60,7 @@ import {
60
60
  } from "./chunk-P6T66CCZ.js";
61
61
  import {
62
62
  tagAttrKey
63
- } from "./chunk-HBVD67XG.js";
63
+ } from "./chunk-FJUNPCYI.js";
64
64
  import {
65
65
  resolveColor
66
66
  } from "./chunk-TLVIHFRO.js";
@@ -1561,4 +1561,4 @@ export {
1561
1561
  renderInfra,
1562
1562
  parseAndLayoutInfra
1563
1563
  };
1564
- //# sourceMappingURL=chunk-ALRHIR6I.js.map
1564
+ //# sourceMappingURL=chunk-5GJYGP5Z.js.map
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-3CIOJ5YJ.js";
15
15
  import {
16
16
  renderIntegratedLegend
17
- } from "./chunk-4UDKKGHH.js";
17
+ } from "./chunk-HEVYAHLW.js";
18
18
  import {
19
19
  getMaxLegendReservedHeight
20
20
  } from "./chunk-7UEMZREK.js";
@@ -41,7 +41,7 @@ import {
41
41
  import {
42
42
  resolveTagColor,
43
43
  tagAttrKey
44
- } from "./chunk-HBVD67XG.js";
44
+ } from "./chunk-FJUNPCYI.js";
45
45
  import {
46
46
  resolveColor
47
47
  } from "./chunk-TLVIHFRO.js";
@@ -270,4 +270,4 @@ export {
270
270
  renderFamilyForExport,
271
271
  renderFamily
272
272
  };
273
- //# sourceMappingURL=chunk-SQDFK5ZQ.js.map
273
+ //# sourceMappingURL=chunk-5OWVC2A6.js.map
@@ -5,10 +5,10 @@ import {
5
5
  formatPct,
6
6
  resolveCellColor,
7
7
  resolveColorMode
8
- } from "./chunk-UVCXZEGU.js";
8
+ } from "./chunk-PFHVU7UA.js";
9
9
  import {
10
10
  renderIntegratedLegend
11
- } from "./chunk-4UDKKGHH.js";
11
+ } from "./chunk-HEVYAHLW.js";
12
12
  import {
13
13
  getMaxLegendReservedHeight
14
14
  } from "./chunk-7UEMZREK.js";
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-P6T66CCZ.js";
34
34
  import {
35
35
  tagAttrKey
36
- } from "./chunk-HBVD67XG.js";
36
+ } from "./chunk-FJUNPCYI.js";
37
37
 
38
38
  // src/treemap/renderer.ts
39
39
  import * as d3Selection from "d3-selection";
@@ -381,4 +381,4 @@ export {
381
381
  renderTreemapForExport,
382
382
  renderTreemap
383
383
  };
384
- //# sourceMappingURL=chunk-7VLUGEMJ.js.map
384
+ //# sourceMappingURL=chunk-66NVRO4K.js.map
@@ -5,15 +5,15 @@ import {
5
5
  import {
6
6
  ScaleContext
7
7
  } from "./chunk-YYVTBZZC.js";
8
+ import {
9
+ renderIntegratedLegend
10
+ } from "./chunk-HEVYAHLW.js";
8
11
  import {
9
12
  createTooltip,
10
13
  hideTooltip,
11
14
  renderChartTitle,
12
15
  showTooltip
13
16
  } from "./chunk-U6EQI3U6.js";
14
- import {
15
- renderIntegratedLegend
16
- } from "./chunk-4UDKKGHH.js";
17
17
  import {
18
18
  FONT_FAMILY
19
19
  } from "./chunk-6KFWC4CO.js";
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-HQCHYB5F.js";
32
32
  import {
33
33
  parseTimelineDate
34
- } from "./chunk-IUK7AGD4.js";
34
+ } from "./chunk-I7F2A35O.js";
35
35
  import {
36
36
  getSeriesColors,
37
37
  mix,
@@ -41,7 +41,7 @@ import {
41
41
  import {
42
42
  resolveTagColor,
43
43
  tagAttrKey
44
- } from "./chunk-HBVD67XG.js";
44
+ } from "./chunk-FJUNPCYI.js";
45
45
 
46
46
  // src/timeline/renderer.ts
47
47
  import * as d3Scale from "d3-scale";
@@ -1607,4 +1607,4 @@ export {
1607
1607
  formatDateLabel,
1608
1608
  renderTimeline
1609
1609
  };
1610
- //# sourceMappingURL=chunk-ZREZOIGS.js.map
1610
+ //# sourceMappingURL=chunk-66RUL3XF.js.map
@@ -2,7 +2,7 @@ import {
2
2
  extractColor,
3
3
  measureIndent,
4
4
  parseFirstLine
5
- } from "./chunk-ZNQX6QWH.js";
5
+ } from "./chunk-OTAL43EH.js";
6
6
  import {
7
7
  emit,
8
8
  formatDgmoError,
@@ -507,4 +507,4 @@ export {
507
507
  VERSION_CONTROL_DIAGNOSTICS,
508
508
  parseVersionControl
509
509
  };
510
- //# sourceMappingURL=chunk-MJCG5K2O.js.map
510
+ //# sourceMappingURL=chunk-6BFZKBGD.js.map
@@ -8,7 +8,7 @@ import {
8
8
  stripDefaultModifier,
9
9
  tagAttrKey,
10
10
  validateTagGroupNames
11
- } from "./chunk-HBVD67XG.js";
11
+ } from "./chunk-FJUNPCYI.js";
12
12
  import {
13
13
  JOURNEY_MAP_REGISTRY,
14
14
  OPTION_NOCOLON_RE,
@@ -19,7 +19,7 @@ import {
19
19
  splitNameAndMeta,
20
20
  warnUnknownMetaKeys,
21
21
  withTagAliases
22
- } from "./chunk-ZNQX6QWH.js";
22
+ } from "./chunk-OTAL43EH.js";
23
23
  import {
24
24
  resolveColorWithDiagnostic
25
25
  } from "./chunk-TLVIHFRO.js";
@@ -406,4 +406,4 @@ function parseStepLine(trimmed, lineNumber, counter, aliasMap, warn, diagnostics
406
406
  export {
407
407
  parseJourneyMap
408
408
  };
409
- //# sourceMappingURL=chunk-2WMBWZY2.js.map
409
+ //# sourceMappingURL=chunk-6HJBFVLO.js.map
@@ -5,7 +5,7 @@ import {
5
5
  splitNameAndMeta,
6
6
  tryParseSharedOption,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-ZNQX6QWH.js";
8
+ } from "./chunk-OTAL43EH.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
@@ -274,4 +274,4 @@ function parseCycle(content) {
274
274
  export {
275
275
  parseCycle
276
276
  };
277
- //# sourceMappingURL=chunk-XCC2RENT.js.map
277
+ //# sourceMappingURL=chunk-6IAA2QQ2.js.map
@@ -9,12 +9,12 @@ import {
9
9
  tagAttrKey,
10
10
  validateTagGroupNames,
11
11
  validateTagValues
12
- } from "./chunk-HBVD67XG.js";
12
+ } from "./chunk-FJUNPCYI.js";
13
13
  import {
14
14
  extractColor,
15
15
  measureIndent,
16
16
  parseFirstLine
17
- } from "./chunk-ZNQX6QWH.js";
17
+ } from "./chunk-OTAL43EH.js";
18
18
  import {
19
19
  formatDgmoError,
20
20
  makeDgmoError,
@@ -335,4 +335,4 @@ function parseBlockTail(tail, aliasMap) {
335
335
  export {
336
336
  parseBlock
337
337
  };
338
- //# sourceMappingURL=chunk-B57V3DWN.js.map
338
+ //# sourceMappingURL=chunk-7L3R6I3U.js.map