@diagrammo/dgmo 0.8.21 → 0.8.23
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.
- package/AGENTS.md +2 -1
- package/README.md +1 -0
- package/dist/cli.cjs +145 -93
- package/dist/editor.cjs +20 -3
- package/dist/editor.cjs.map +1 -1
- package/dist/editor.js +20 -3
- package/dist/editor.js.map +1 -1
- package/dist/highlight.cjs +15 -2
- package/dist/highlight.cjs.map +1 -1
- package/dist/highlight.js +15 -2
- package/dist/highlight.js.map +1 -1
- package/dist/index.cjs +20843 -14937
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +426 -17
- package/dist/index.d.ts +426 -17
- package/dist/index.js +20795 -14912
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +380 -0
- package/dist/internal.cjs.map +1 -0
- package/dist/internal.d.cts +179 -0
- package/dist/internal.d.ts +179 -0
- package/dist/internal.js +337 -0
- package/dist/internal.js.map +1 -0
- package/docs/guide/chart-cycle.md +156 -0
- package/docs/guide/chart-journey-map.md +179 -0
- package/docs/guide/chart-pyramid.md +111 -0
- package/docs/guide/chart-sitemap.md +18 -1
- package/docs/guide/chart-tech-radar.md +219 -0
- package/docs/guide/registry.json +6 -0
- package/docs/language-reference.md +177 -6
- package/gallery/fixtures/boxes-and-lines.dgmo +10 -3
- package/gallery/fixtures/c4-full.dgmo +2 -2
- package/gallery/fixtures/cycle/ooda-loop.dgmo +25 -0
- package/gallery/fixtures/cycle/pdca-circle-nodes.dgmo +12 -0
- package/gallery/fixtures/cycle/pdca-minimal.dgmo +6 -0
- package/gallery/fixtures/cycle/sprint-cycle-span.dgmo +17 -0
- package/gallery/fixtures/gantt-full.dgmo +2 -2
- package/gallery/fixtures/gantt.dgmo +2 -2
- package/gallery/fixtures/infra-full.dgmo +2 -2
- package/gallery/fixtures/infra.dgmo +1 -1
- package/gallery/fixtures/pyramid/dikw.dgmo +17 -0
- package/gallery/fixtures/pyramid/inverted-funnel.dgmo +16 -0
- package/gallery/fixtures/pyramid/minimal.dgmo +5 -0
- package/gallery/fixtures/sequence-tags-protocols.dgmo +2 -2
- package/gallery/fixtures/sequence-tags.dgmo +2 -2
- package/gallery/fixtures/tech-radar-dense.dgmo +77 -0
- package/gallery/fixtures/tech-radar.dgmo +36 -0
- package/gallery/fixtures/timeline.dgmo +1 -1
- package/package.json +11 -1
- package/src/boxes-and-lines/layout.ts +309 -33
- package/src/boxes-and-lines/parser.ts +86 -10
- package/src/boxes-and-lines/renderer.ts +250 -91
- package/src/boxes-and-lines/types.ts +1 -1
- package/src/c4/layout.ts +8 -8
- package/src/c4/parser.ts +35 -2
- package/src/c4/renderer.ts +19 -3
- package/src/c4/types.ts +1 -0
- package/src/chart.ts +14 -7
- package/src/cli.ts +5 -35
- package/src/completion.ts +233 -41
- package/src/cycle/layout.ts +723 -0
- package/src/cycle/parser.ts +352 -0
- package/src/cycle/renderer.ts +566 -0
- package/src/cycle/types.ts +98 -0
- package/src/d3.ts +107 -8
- package/src/dgmo-router.ts +82 -3
- package/src/echarts.ts +8 -5
- package/src/editor/dgmo.grammar +5 -1
- package/src/editor/dgmo.grammar.js +1 -1
- package/src/editor/keywords.ts +17 -0
- package/src/gantt/parser.ts +2 -8
- package/src/graph/flowchart-parser.ts +15 -21
- package/src/graph/state-parser.ts +5 -10
- package/src/index.ts +63 -2
- package/src/infra/layout.ts +218 -74
- package/src/infra/parser.ts +32 -8
- package/src/infra/renderer.ts +14 -8
- package/src/infra/types.ts +10 -3
- package/src/internal.ts +16 -0
- package/src/journey-map/layout.ts +386 -0
- package/src/journey-map/parser.ts +540 -0
- package/src/journey-map/renderer.ts +1521 -0
- package/src/journey-map/types.ts +47 -0
- package/src/kanban/parser.ts +3 -10
- package/src/kanban/renderer.ts +31 -15
- package/src/mindmap/parser.ts +12 -18
- package/src/mindmap/renderer.ts +14 -13
- package/src/mindmap/text-wrap.ts +22 -12
- package/src/mindmap/types.ts +2 -2
- package/src/org/collapse.ts +81 -0
- package/src/org/parser.ts +2 -6
- package/src/org/renderer.ts +212 -4
- package/src/pyramid/parser.ts +172 -0
- package/src/pyramid/renderer.ts +684 -0
- package/src/pyramid/types.ts +28 -0
- package/src/render.ts +2 -8
- package/src/sequence/parser.ts +62 -20
- package/src/sequence/renderer.ts +146 -40
- package/src/sharing.ts +1 -0
- package/src/sitemap/layout.ts +21 -6
- package/src/sitemap/parser.ts +26 -17
- package/src/sitemap/renderer.ts +34 -0
- package/src/sitemap/types.ts +1 -0
- package/src/tech-radar/index.ts +14 -0
- package/src/tech-radar/interactive.ts +1112 -0
- package/src/tech-radar/layout.ts +190 -0
- package/src/tech-radar/parser.ts +385 -0
- package/src/tech-radar/renderer.ts +1159 -0
- package/src/tech-radar/shared.ts +187 -0
- package/src/tech-radar/types.ts +81 -0
- package/src/utils/description-helpers.ts +33 -0
- package/src/utils/legend-layout.ts +3 -1
- package/src/utils/parsing.ts +47 -7
- package/src/utils/tag-groups.ts +46 -60
package/src/sitemap/renderer.ts
CHANGED
|
@@ -9,6 +9,8 @@ import type { PaletteColors } from '../palettes';
|
|
|
9
9
|
import { mix } from '../palettes/color-utils';
|
|
10
10
|
import type { ParsedSitemap } from './types';
|
|
11
11
|
import type { SitemapLayoutResult, SitemapLegendGroup } from './layout';
|
|
12
|
+
import { renderInlineText } from '../utils/inline-markdown';
|
|
13
|
+
import { preprocessDescriptionLine } from '../utils/description-helpers';
|
|
12
14
|
import {
|
|
13
15
|
LEGEND_HEIGHT,
|
|
14
16
|
LEGEND_GROUP_GAP,
|
|
@@ -522,6 +524,38 @@ export function renderSitemap(
|
|
|
522
524
|
}
|
|
523
525
|
}
|
|
524
526
|
|
|
527
|
+
// Description lines (after metadata)
|
|
528
|
+
if (node.description && node.description.length > 0) {
|
|
529
|
+
const metaCount = Object.keys(node.metadata).length;
|
|
530
|
+
// Separator line before descriptions
|
|
531
|
+
const sepY =
|
|
532
|
+
metaCount > 0
|
|
533
|
+
? HEADER_HEIGHT + SEPARATOR_GAP + metaCount * META_LINE_HEIGHT
|
|
534
|
+
: HEADER_HEIGHT;
|
|
535
|
+
nodeG
|
|
536
|
+
.append('line')
|
|
537
|
+
.attr('x1', 0)
|
|
538
|
+
.attr('y1', sepY)
|
|
539
|
+
.attr('x2', node.width)
|
|
540
|
+
.attr('y2', sepY)
|
|
541
|
+
.attr('stroke', stroke)
|
|
542
|
+
.attr('stroke-opacity', 0.3);
|
|
543
|
+
|
|
544
|
+
const descStartY =
|
|
545
|
+
HEADER_HEIGHT + SEPARATOR_GAP + metaCount * META_LINE_HEIGHT;
|
|
546
|
+
for (let di = 0; di < node.description.length; di++) {
|
|
547
|
+
const processed = preprocessDescriptionLine(node.description[di]);
|
|
548
|
+
const rowY = descStartY + (di + 1) * META_LINE_HEIGHT - 4;
|
|
549
|
+
const textEl = nodeG
|
|
550
|
+
.append('text')
|
|
551
|
+
.attr('x', 10)
|
|
552
|
+
.attr('y', rowY)
|
|
553
|
+
.attr('fill', palette.textMuted)
|
|
554
|
+
.attr('font-size', META_FONT_SIZE);
|
|
555
|
+
renderInlineText(textEl, processed, palette, META_FONT_SIZE);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
|
|
525
559
|
// Collapsed accent bar
|
|
526
560
|
if (!exportDims && node.hiddenCount && node.hiddenCount > 0) {
|
|
527
561
|
const clipId = `clip-${node.id}`;
|
package/src/sitemap/types.ts
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { parseTechRadar } from './parser';
|
|
2
|
+
export { computeRadarLayout, getRadarGeometry } from './layout';
|
|
3
|
+
export { renderTechRadar, renderTechRadarForExport } from './renderer';
|
|
4
|
+
export { renderQuadrantFocus } from './interactive';
|
|
5
|
+
export type {
|
|
6
|
+
ParsedTechRadar,
|
|
7
|
+
TechRadarRing,
|
|
8
|
+
TechRadarQuadrant,
|
|
9
|
+
TechRadarBlip,
|
|
10
|
+
TechRadarLayoutPoint,
|
|
11
|
+
QuadrantPosition,
|
|
12
|
+
BlipTrend,
|
|
13
|
+
TechRadarRenderOptions,
|
|
14
|
+
} from './types';
|