@diagrammo/dgmo 0.5.5 → 0.6.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.
- package/README.md +75 -44
- package/dist/cli.cjs +141 -141
- package/dist/index.cjs +194 -93
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +49 -44
- package/dist/index.d.ts +49 -44
- package/dist/index.js +186 -84
- package/dist/index.js.map +1 -1
- package/docs/language-reference.md +27 -1
- package/package.json +1 -1
- package/src/chart.ts +27 -0
- package/src/cli.ts +2 -2
- package/src/d3.ts +17 -17
- package/src/dgmo-router.ts +74 -20
- package/src/echarts.ts +110 -34
- package/src/index.ts +10 -10
- package/src/render.ts +8 -8
package/dist/index.d.cts
CHANGED
|
@@ -42,30 +42,25 @@ declare function render(content: string, options?: {
|
|
|
42
42
|
scenario?: string;
|
|
43
43
|
}): Promise<string>;
|
|
44
44
|
|
|
45
|
-
/**
|
|
46
|
-
* Framework identifiers used by the .dgmo router.
|
|
47
|
-
* Maps to the existing preview components and export paths.
|
|
48
|
-
*/
|
|
49
|
-
type DgmoFramework = 'echart' | 'd3' | 'mermaid';
|
|
50
|
-
/**
|
|
51
|
-
* Maps every supported chart type string to its backing framework.
|
|
52
|
-
*
|
|
53
|
-
* ECharts: standard chart types (bar, line, pie, etc.), scatter, flow/relationship diagrams, math, heatmap
|
|
54
|
-
* D3: slope, wordcloud, arc diagram, timeline
|
|
55
|
-
*/
|
|
56
|
-
declare const DGMO_CHART_TYPE_MAP: Record<string, DgmoFramework>;
|
|
57
|
-
/**
|
|
58
|
-
* Returns the framework for a given chart type, or `null` if unknown.
|
|
59
|
-
*/
|
|
60
|
-
declare function getDgmoFramework(chartType: string): DgmoFramework | null;
|
|
61
45
|
/**
|
|
62
46
|
* Extracts the `chart:` type value from raw file content.
|
|
63
47
|
* Falls back to inference when no explicit `chart:` line is found
|
|
64
48
|
* (e.g. content containing `->` is inferred as `sequence`).
|
|
65
49
|
*/
|
|
66
50
|
declare function parseDgmoChartType(content: string): string | null;
|
|
67
|
-
/**
|
|
68
|
-
|
|
51
|
+
/** User-visible rendering category for dispatch and routing. */
|
|
52
|
+
type RenderCategory = 'data-chart' | 'visualization' | 'diagram';
|
|
53
|
+
/**
|
|
54
|
+
* Returns the render category for a given chart type, or `null` if unknown.
|
|
55
|
+
* Use this instead of the internal framework map for dispatch in consumers.
|
|
56
|
+
*/
|
|
57
|
+
declare function getRenderCategory(chartType: string): RenderCategory | null;
|
|
58
|
+
/**
|
|
59
|
+
* Returns true if the chart type is an extended chart type
|
|
60
|
+
* handled by parseExtendedChart (scatter, sankey, chord, function, heatmap, funnel).
|
|
61
|
+
* Returns false for standard chart types and all other types.
|
|
62
|
+
*/
|
|
63
|
+
declare function isExtendedChartType(chartType: string): boolean;
|
|
69
64
|
/**
|
|
70
65
|
* Parse DGMO content and return diagnostics without rendering.
|
|
71
66
|
* Useful for the CLI and editor to surface all errors before attempting render.
|
|
@@ -218,6 +213,12 @@ interface ChartDataPoint {
|
|
|
218
213
|
color?: string;
|
|
219
214
|
lineNumber: number;
|
|
220
215
|
}
|
|
216
|
+
interface ChartEra {
|
|
217
|
+
start: string;
|
|
218
|
+
end: string;
|
|
219
|
+
label: string;
|
|
220
|
+
color: string | null;
|
|
221
|
+
}
|
|
221
222
|
|
|
222
223
|
interface ParsedChart {
|
|
223
224
|
type: ChartType;
|
|
@@ -233,6 +234,7 @@ interface ParsedChart {
|
|
|
233
234
|
label?: string;
|
|
234
235
|
labels?: 'name' | 'value' | 'percent' | 'full';
|
|
235
236
|
data: ChartDataPoint[];
|
|
237
|
+
eras?: ChartEra[];
|
|
236
238
|
diagnostics: DgmoError[];
|
|
237
239
|
error: string | null;
|
|
238
240
|
}
|
|
@@ -253,8 +255,8 @@ interface ParsedChart {
|
|
|
253
255
|
*/
|
|
254
256
|
declare function parseChart(content: string, palette?: PaletteColors): ParsedChart;
|
|
255
257
|
|
|
256
|
-
type
|
|
257
|
-
interface
|
|
258
|
+
type ExtendedChartType = 'sankey' | 'chord' | 'function' | 'scatter' | 'heatmap' | 'funnel';
|
|
259
|
+
interface ExtendedChartDataPoint {
|
|
258
260
|
label: string;
|
|
259
261
|
value: number;
|
|
260
262
|
color?: string;
|
|
@@ -288,14 +290,14 @@ interface ParsedHeatmapRow {
|
|
|
288
290
|
lineNumber: number;
|
|
289
291
|
}
|
|
290
292
|
|
|
291
|
-
interface
|
|
292
|
-
type:
|
|
293
|
+
interface ParsedExtendedChart {
|
|
294
|
+
type: ExtendedChartType;
|
|
293
295
|
title?: string;
|
|
294
296
|
titleLineNumber?: number;
|
|
295
297
|
series?: string;
|
|
296
298
|
seriesNames?: string[];
|
|
297
299
|
seriesNameColors?: (string | undefined)[];
|
|
298
|
-
data:
|
|
300
|
+
data: ExtendedChartDataPoint[];
|
|
299
301
|
links?: ParsedSankeyLink[];
|
|
300
302
|
functions?: ParsedFunction[];
|
|
301
303
|
scatterPoints?: ParsedScatterPoint[];
|
|
@@ -317,7 +319,7 @@ interface ParsedEChart {
|
|
|
317
319
|
}
|
|
318
320
|
|
|
319
321
|
/**
|
|
320
|
-
* Parses
|
|
322
|
+
* Parses extended chart content into a structured object.
|
|
321
323
|
*
|
|
322
324
|
* Format:
|
|
323
325
|
* ```
|
|
@@ -330,21 +332,24 @@ interface ParsedEChart {
|
|
|
330
332
|
* Mar: 150
|
|
331
333
|
* ```
|
|
332
334
|
*/
|
|
333
|
-
declare function
|
|
335
|
+
declare function parseExtendedChart(content: string, palette?: PaletteColors): ParsedExtendedChart;
|
|
334
336
|
/**
|
|
335
|
-
* Converts
|
|
337
|
+
* Converts a ParsedExtendedChart into an EChartsOption.
|
|
338
|
+
* Handles extended chart types: scatter, sankey, chord, function, heatmap, funnel.
|
|
339
|
+
* @param parsed - Result of parseExtendedChart()
|
|
336
340
|
*/
|
|
337
|
-
declare function
|
|
341
|
+
declare function buildExtendedChartOption(parsed: ParsedExtendedChart, palette: PaletteColors, isDark: boolean): EChartsOption;
|
|
338
342
|
/**
|
|
339
343
|
* Converts a ParsedChart into an EChartsOption.
|
|
340
|
-
*
|
|
344
|
+
* Handles standard chart types: bar, line, area, pie, doughnut, radar, polar-area, bar-stacked, multi-line.
|
|
345
|
+
* @param parsed - Result of parseChart()
|
|
341
346
|
*/
|
|
342
|
-
declare function
|
|
347
|
+
declare function buildSimpleChartOption(parsed: ParsedChart, palette: PaletteColors, isDark: boolean, chartWidth?: number): EChartsOption;
|
|
343
348
|
/**
|
|
344
|
-
* Renders an
|
|
345
|
-
* Mirrors the `
|
|
349
|
+
* Renders an extended chart (scatter, sankey, chord, function, heatmap, funnel) to SVG using server-side rendering.
|
|
350
|
+
* Mirrors the `renderForExport` API — returns an SVG string or empty string on failure.
|
|
346
351
|
*/
|
|
347
|
-
declare function
|
|
352
|
+
declare function renderExtendedChartForExport(content: string, theme: 'light' | 'dark' | 'transparent', palette?: PaletteColors, options?: {
|
|
348
353
|
branding?: boolean;
|
|
349
354
|
}): Promise<string>;
|
|
350
355
|
|
|
@@ -364,7 +369,7 @@ interface TagGroup {
|
|
|
364
369
|
lineNumber: number;
|
|
365
370
|
}
|
|
366
371
|
|
|
367
|
-
type
|
|
372
|
+
type VisualizationType = 'slope' | 'wordcloud' | 'arc' | 'timeline' | 'venn' | 'quadrant' | 'sequence';
|
|
368
373
|
interface D3DataItem {
|
|
369
374
|
label: string;
|
|
370
375
|
values: number[];
|
|
@@ -457,8 +462,8 @@ interface D3ExportDimensions {
|
|
|
457
462
|
width?: number;
|
|
458
463
|
height?: number;
|
|
459
464
|
}
|
|
460
|
-
interface
|
|
461
|
-
type:
|
|
465
|
+
interface ParsedVisualization {
|
|
466
|
+
type: VisualizationType | null;
|
|
462
467
|
title: string | null;
|
|
463
468
|
titleLineNumber: number | null;
|
|
464
469
|
orientation: 'horizontal' | 'vertical';
|
|
@@ -505,11 +510,11 @@ declare function addDurationToDate(startDate: string, amount: number, unit: 'd'
|
|
|
505
510
|
/**
|
|
506
511
|
* Parses D3 chart text format into structured data.
|
|
507
512
|
*/
|
|
508
|
-
declare function
|
|
513
|
+
declare function parseVisualization(content: string, palette?: PaletteColors): ParsedVisualization;
|
|
509
514
|
/**
|
|
510
515
|
* Renders a slope chart into the given container using D3.
|
|
511
516
|
*/
|
|
512
|
-
declare function renderSlopeChart(container: HTMLDivElement, parsed:
|
|
517
|
+
declare function renderSlopeChart(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
513
518
|
/**
|
|
514
519
|
* Orders arc diagram nodes based on the selected ordering strategy.
|
|
515
520
|
*/
|
|
@@ -517,7 +522,7 @@ declare function orderArcNodes(links: ArcLink[], order: ArcOrder, groups: ArcNod
|
|
|
517
522
|
/**
|
|
518
523
|
* Renders an arc diagram into the given container using D3.
|
|
519
524
|
*/
|
|
520
|
-
declare function renderArcDiagram(container: HTMLDivElement, parsed:
|
|
525
|
+
declare function renderArcDiagram(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, _isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
521
526
|
/**
|
|
522
527
|
* Converts a DSL date string (YYYY, YYYY-MM, YYYY-MM-DD) to a human-readable label.
|
|
523
528
|
* '1718' → '1718'
|
|
@@ -543,22 +548,22 @@ declare function computeTimeTicks(domainMin: number, domainMax: number, scale: d
|
|
|
543
548
|
* Renders a timeline chart into the given container using D3.
|
|
544
549
|
* Supports horizontal (default) and vertical orientation.
|
|
545
550
|
*/
|
|
546
|
-
declare function renderTimeline(container: HTMLDivElement, parsed:
|
|
551
|
+
declare function renderTimeline(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions, activeTagGroup?: string | null, swimlaneTagGroup?: string | null, onTagStateChange?: (activeTagGroup: string | null, swimlaneTagGroup: string | null) => void, viewMode?: boolean): void;
|
|
547
552
|
/**
|
|
548
553
|
* Renders a word cloud into the given container using d3-cloud.
|
|
549
554
|
*/
|
|
550
|
-
declare function renderWordCloud(container: HTMLDivElement, parsed:
|
|
551
|
-
declare function renderVenn(container: HTMLDivElement, parsed:
|
|
555
|
+
declare function renderWordCloud(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, _isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
556
|
+
declare function renderVenn(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
552
557
|
/**
|
|
553
558
|
* Renders a quadrant chart using D3.
|
|
554
559
|
* Displays 4 colored quadrant regions, axis labels, quadrant labels, and data points.
|
|
555
560
|
*/
|
|
556
|
-
declare function renderQuadrant(container: HTMLDivElement, parsed:
|
|
561
|
+
declare function renderQuadrant(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
557
562
|
/**
|
|
558
563
|
* Renders a D3 chart to an SVG string for export.
|
|
559
564
|
* Creates a detached DOM element, renders into it, extracts the SVG, then cleans up.
|
|
560
565
|
*/
|
|
561
|
-
declare function
|
|
566
|
+
declare function renderForExport(content: string, theme: 'light' | 'dark' | 'transparent', palette?: PaletteColors, orgExportState?: {
|
|
562
567
|
collapsedNodes?: Set<string>;
|
|
563
568
|
activeTagGroup?: string | null;
|
|
564
569
|
hiddenAttributes?: Set<string>;
|
|
@@ -2033,4 +2038,4 @@ declare function decodeDiagramUrl(hash: string): DecodedDiagramUrl;
|
|
|
2033
2038
|
*/
|
|
2034
2039
|
declare function injectBranding(svgHtml: string, mutedColor: string): string;
|
|
2035
2040
|
|
|
2036
|
-
export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapseResult, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type
|
|
2041
|
+
export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartEra, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapseResult, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type D3ExportDimensions, type DecodedDiagramUrl, type DgmoError, type DgmoSeverity, type DiagramViewState, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type ExtendedChartType, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ISEdge, type ISGroup, type ISLayoutEdge, type ISLayoutGroup, type ISLayoutNode, type ISLayoutResult, type ISNode, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraScenario, type InfraTagGroup, type InitiativeStatus, type InlineSpan, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutResult, type MemberVisibility, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type OrgTagEntry, type OrgTagGroup, type PaletteColors, type PaletteConfig, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedERDiagram, type ParsedExtendedChart, type ParsedGraph, type ParsedInfra, type ParsedInitiativeStatus, type ParsedKanban, type ParsedOrg, type ParsedQuadrant, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedVisualization, type ParticipantType, RULE_COUNT, type ReadFileFn, type RelationshipType, type RenderCategory, type RenderStep, type ResolveImportsResult, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type TagEntry, type TagGroup, type VisualizationType, addDurationToDate, applyGroupOrdering, applyPositionOverrides, boldPalette, buildExtendedChartOption, buildMermaidQuadrant, buildMermaidThemeVars, buildNoteMessageMap, buildRenderSequence, buildSimpleChartOption, buildThemeCSS, catppuccinPalette, collapseInitiativeStatus, collapseOrgTree, collapseSitemapTree, collectDiagramRoles, colorNames, computeActivations, computeCardArchive, computeCardMove, computeInfra, computeInfraLegendGroups, computeTimeTicks, contrastText, decodeDiagramUrl, encodeDiagramUrl, formatDateLabel, formatDgmoError, getAvailablePalettes, getPalette, getRenderCategory, getSeriesColors, groupMessagesBySection, gruvboxPalette, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, injectBranding, isArchiveColumn, isExtendedChartType, isSequenceBlock, isSequenceNote, isValidHex, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutInitiativeStatus, layoutOrg, layoutSitemap, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeInitiativeStatus, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mute, nord, nordPalette, oneDarkPalette, orderArcNodes, parseAndLayoutInfra, parseC4, parseChart, parseClassDiagram, parseDgmo, parseDgmoChartType, parseERDiagram, parseExtendedChart, parseFlowchart, parseInfra, parseInitiativeStatus, parseInlineMarkdown, parseKanban, parseOrg, parseQuadrant, parseSequenceDgmo, parseSitemap, parseState, parseTimelineDate, parseVisualization, registerPalette, render, renderArcDiagram, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderERDiagram, renderERDiagramForExport, renderExtendedChartForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderInfra, renderInitiativeStatus, renderInitiativeStatusForExport, renderKanban, renderKanbanForExport, renderOrg, renderOrgForExport, renderQuadrant, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTimeline, renderVenn, renderWordCloud, resolveColor, resolveOrgImports, rollUpContextRelationships, rosePinePalette, seriesColors, shade, solarizedPalette, tint, tokyoNightPalette, truncateBareUrl, validateComputed, validateInfra };
|
package/dist/index.d.ts
CHANGED
|
@@ -42,30 +42,25 @@ declare function render(content: string, options?: {
|
|
|
42
42
|
scenario?: string;
|
|
43
43
|
}): Promise<string>;
|
|
44
44
|
|
|
45
|
-
/**
|
|
46
|
-
* Framework identifiers used by the .dgmo router.
|
|
47
|
-
* Maps to the existing preview components and export paths.
|
|
48
|
-
*/
|
|
49
|
-
type DgmoFramework = 'echart' | 'd3' | 'mermaid';
|
|
50
|
-
/**
|
|
51
|
-
* Maps every supported chart type string to its backing framework.
|
|
52
|
-
*
|
|
53
|
-
* ECharts: standard chart types (bar, line, pie, etc.), scatter, flow/relationship diagrams, math, heatmap
|
|
54
|
-
* D3: slope, wordcloud, arc diagram, timeline
|
|
55
|
-
*/
|
|
56
|
-
declare const DGMO_CHART_TYPE_MAP: Record<string, DgmoFramework>;
|
|
57
|
-
/**
|
|
58
|
-
* Returns the framework for a given chart type, or `null` if unknown.
|
|
59
|
-
*/
|
|
60
|
-
declare function getDgmoFramework(chartType: string): DgmoFramework | null;
|
|
61
45
|
/**
|
|
62
46
|
* Extracts the `chart:` type value from raw file content.
|
|
63
47
|
* Falls back to inference when no explicit `chart:` line is found
|
|
64
48
|
* (e.g. content containing `->` is inferred as `sequence`).
|
|
65
49
|
*/
|
|
66
50
|
declare function parseDgmoChartType(content: string): string | null;
|
|
67
|
-
/**
|
|
68
|
-
|
|
51
|
+
/** User-visible rendering category for dispatch and routing. */
|
|
52
|
+
type RenderCategory = 'data-chart' | 'visualization' | 'diagram';
|
|
53
|
+
/**
|
|
54
|
+
* Returns the render category for a given chart type, or `null` if unknown.
|
|
55
|
+
* Use this instead of the internal framework map for dispatch in consumers.
|
|
56
|
+
*/
|
|
57
|
+
declare function getRenderCategory(chartType: string): RenderCategory | null;
|
|
58
|
+
/**
|
|
59
|
+
* Returns true if the chart type is an extended chart type
|
|
60
|
+
* handled by parseExtendedChart (scatter, sankey, chord, function, heatmap, funnel).
|
|
61
|
+
* Returns false for standard chart types and all other types.
|
|
62
|
+
*/
|
|
63
|
+
declare function isExtendedChartType(chartType: string): boolean;
|
|
69
64
|
/**
|
|
70
65
|
* Parse DGMO content and return diagnostics without rendering.
|
|
71
66
|
* Useful for the CLI and editor to surface all errors before attempting render.
|
|
@@ -218,6 +213,12 @@ interface ChartDataPoint {
|
|
|
218
213
|
color?: string;
|
|
219
214
|
lineNumber: number;
|
|
220
215
|
}
|
|
216
|
+
interface ChartEra {
|
|
217
|
+
start: string;
|
|
218
|
+
end: string;
|
|
219
|
+
label: string;
|
|
220
|
+
color: string | null;
|
|
221
|
+
}
|
|
221
222
|
|
|
222
223
|
interface ParsedChart {
|
|
223
224
|
type: ChartType;
|
|
@@ -233,6 +234,7 @@ interface ParsedChart {
|
|
|
233
234
|
label?: string;
|
|
234
235
|
labels?: 'name' | 'value' | 'percent' | 'full';
|
|
235
236
|
data: ChartDataPoint[];
|
|
237
|
+
eras?: ChartEra[];
|
|
236
238
|
diagnostics: DgmoError[];
|
|
237
239
|
error: string | null;
|
|
238
240
|
}
|
|
@@ -253,8 +255,8 @@ interface ParsedChart {
|
|
|
253
255
|
*/
|
|
254
256
|
declare function parseChart(content: string, palette?: PaletteColors): ParsedChart;
|
|
255
257
|
|
|
256
|
-
type
|
|
257
|
-
interface
|
|
258
|
+
type ExtendedChartType = 'sankey' | 'chord' | 'function' | 'scatter' | 'heatmap' | 'funnel';
|
|
259
|
+
interface ExtendedChartDataPoint {
|
|
258
260
|
label: string;
|
|
259
261
|
value: number;
|
|
260
262
|
color?: string;
|
|
@@ -288,14 +290,14 @@ interface ParsedHeatmapRow {
|
|
|
288
290
|
lineNumber: number;
|
|
289
291
|
}
|
|
290
292
|
|
|
291
|
-
interface
|
|
292
|
-
type:
|
|
293
|
+
interface ParsedExtendedChart {
|
|
294
|
+
type: ExtendedChartType;
|
|
293
295
|
title?: string;
|
|
294
296
|
titleLineNumber?: number;
|
|
295
297
|
series?: string;
|
|
296
298
|
seriesNames?: string[];
|
|
297
299
|
seriesNameColors?: (string | undefined)[];
|
|
298
|
-
data:
|
|
300
|
+
data: ExtendedChartDataPoint[];
|
|
299
301
|
links?: ParsedSankeyLink[];
|
|
300
302
|
functions?: ParsedFunction[];
|
|
301
303
|
scatterPoints?: ParsedScatterPoint[];
|
|
@@ -317,7 +319,7 @@ interface ParsedEChart {
|
|
|
317
319
|
}
|
|
318
320
|
|
|
319
321
|
/**
|
|
320
|
-
* Parses
|
|
322
|
+
* Parses extended chart content into a structured object.
|
|
321
323
|
*
|
|
322
324
|
* Format:
|
|
323
325
|
* ```
|
|
@@ -330,21 +332,24 @@ interface ParsedEChart {
|
|
|
330
332
|
* Mar: 150
|
|
331
333
|
* ```
|
|
332
334
|
*/
|
|
333
|
-
declare function
|
|
335
|
+
declare function parseExtendedChart(content: string, palette?: PaletteColors): ParsedExtendedChart;
|
|
334
336
|
/**
|
|
335
|
-
* Converts
|
|
337
|
+
* Converts a ParsedExtendedChart into an EChartsOption.
|
|
338
|
+
* Handles extended chart types: scatter, sankey, chord, function, heatmap, funnel.
|
|
339
|
+
* @param parsed - Result of parseExtendedChart()
|
|
336
340
|
*/
|
|
337
|
-
declare function
|
|
341
|
+
declare function buildExtendedChartOption(parsed: ParsedExtendedChart, palette: PaletteColors, isDark: boolean): EChartsOption;
|
|
338
342
|
/**
|
|
339
343
|
* Converts a ParsedChart into an EChartsOption.
|
|
340
|
-
*
|
|
344
|
+
* Handles standard chart types: bar, line, area, pie, doughnut, radar, polar-area, bar-stacked, multi-line.
|
|
345
|
+
* @param parsed - Result of parseChart()
|
|
341
346
|
*/
|
|
342
|
-
declare function
|
|
347
|
+
declare function buildSimpleChartOption(parsed: ParsedChart, palette: PaletteColors, isDark: boolean, chartWidth?: number): EChartsOption;
|
|
343
348
|
/**
|
|
344
|
-
* Renders an
|
|
345
|
-
* Mirrors the `
|
|
349
|
+
* Renders an extended chart (scatter, sankey, chord, function, heatmap, funnel) to SVG using server-side rendering.
|
|
350
|
+
* Mirrors the `renderForExport` API — returns an SVG string or empty string on failure.
|
|
346
351
|
*/
|
|
347
|
-
declare function
|
|
352
|
+
declare function renderExtendedChartForExport(content: string, theme: 'light' | 'dark' | 'transparent', palette?: PaletteColors, options?: {
|
|
348
353
|
branding?: boolean;
|
|
349
354
|
}): Promise<string>;
|
|
350
355
|
|
|
@@ -364,7 +369,7 @@ interface TagGroup {
|
|
|
364
369
|
lineNumber: number;
|
|
365
370
|
}
|
|
366
371
|
|
|
367
|
-
type
|
|
372
|
+
type VisualizationType = 'slope' | 'wordcloud' | 'arc' | 'timeline' | 'venn' | 'quadrant' | 'sequence';
|
|
368
373
|
interface D3DataItem {
|
|
369
374
|
label: string;
|
|
370
375
|
values: number[];
|
|
@@ -457,8 +462,8 @@ interface D3ExportDimensions {
|
|
|
457
462
|
width?: number;
|
|
458
463
|
height?: number;
|
|
459
464
|
}
|
|
460
|
-
interface
|
|
461
|
-
type:
|
|
465
|
+
interface ParsedVisualization {
|
|
466
|
+
type: VisualizationType | null;
|
|
462
467
|
title: string | null;
|
|
463
468
|
titleLineNumber: number | null;
|
|
464
469
|
orientation: 'horizontal' | 'vertical';
|
|
@@ -505,11 +510,11 @@ declare function addDurationToDate(startDate: string, amount: number, unit: 'd'
|
|
|
505
510
|
/**
|
|
506
511
|
* Parses D3 chart text format into structured data.
|
|
507
512
|
*/
|
|
508
|
-
declare function
|
|
513
|
+
declare function parseVisualization(content: string, palette?: PaletteColors): ParsedVisualization;
|
|
509
514
|
/**
|
|
510
515
|
* Renders a slope chart into the given container using D3.
|
|
511
516
|
*/
|
|
512
|
-
declare function renderSlopeChart(container: HTMLDivElement, parsed:
|
|
517
|
+
declare function renderSlopeChart(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
513
518
|
/**
|
|
514
519
|
* Orders arc diagram nodes based on the selected ordering strategy.
|
|
515
520
|
*/
|
|
@@ -517,7 +522,7 @@ declare function orderArcNodes(links: ArcLink[], order: ArcOrder, groups: ArcNod
|
|
|
517
522
|
/**
|
|
518
523
|
* Renders an arc diagram into the given container using D3.
|
|
519
524
|
*/
|
|
520
|
-
declare function renderArcDiagram(container: HTMLDivElement, parsed:
|
|
525
|
+
declare function renderArcDiagram(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, _isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
521
526
|
/**
|
|
522
527
|
* Converts a DSL date string (YYYY, YYYY-MM, YYYY-MM-DD) to a human-readable label.
|
|
523
528
|
* '1718' → '1718'
|
|
@@ -543,22 +548,22 @@ declare function computeTimeTicks(domainMin: number, domainMax: number, scale: d
|
|
|
543
548
|
* Renders a timeline chart into the given container using D3.
|
|
544
549
|
* Supports horizontal (default) and vertical orientation.
|
|
545
550
|
*/
|
|
546
|
-
declare function renderTimeline(container: HTMLDivElement, parsed:
|
|
551
|
+
declare function renderTimeline(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions, activeTagGroup?: string | null, swimlaneTagGroup?: string | null, onTagStateChange?: (activeTagGroup: string | null, swimlaneTagGroup: string | null) => void, viewMode?: boolean): void;
|
|
547
552
|
/**
|
|
548
553
|
* Renders a word cloud into the given container using d3-cloud.
|
|
549
554
|
*/
|
|
550
|
-
declare function renderWordCloud(container: HTMLDivElement, parsed:
|
|
551
|
-
declare function renderVenn(container: HTMLDivElement, parsed:
|
|
555
|
+
declare function renderWordCloud(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, _isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
556
|
+
declare function renderVenn(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
552
557
|
/**
|
|
553
558
|
* Renders a quadrant chart using D3.
|
|
554
559
|
* Displays 4 colored quadrant regions, axis labels, quadrant labels, and data points.
|
|
555
560
|
*/
|
|
556
|
-
declare function renderQuadrant(container: HTMLDivElement, parsed:
|
|
561
|
+
declare function renderQuadrant(container: HTMLDivElement, parsed: ParsedVisualization, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions): void;
|
|
557
562
|
/**
|
|
558
563
|
* Renders a D3 chart to an SVG string for export.
|
|
559
564
|
* Creates a detached DOM element, renders into it, extracts the SVG, then cleans up.
|
|
560
565
|
*/
|
|
561
|
-
declare function
|
|
566
|
+
declare function renderForExport(content: string, theme: 'light' | 'dark' | 'transparent', palette?: PaletteColors, orgExportState?: {
|
|
562
567
|
collapsedNodes?: Set<string>;
|
|
563
568
|
activeTagGroup?: string | null;
|
|
564
569
|
hiddenAttributes?: Set<string>;
|
|
@@ -2033,4 +2038,4 @@ declare function decodeDiagramUrl(hash: string): DecodedDiagramUrl;
|
|
|
2033
2038
|
*/
|
|
2034
2039
|
declare function injectBranding(svgHtml: string, mutedColor: string): string;
|
|
2035
2040
|
|
|
2036
|
-
export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapseResult, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type
|
|
2041
|
+
export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartEra, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapseResult, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type D3ExportDimensions, type DecodedDiagramUrl, type DgmoError, type DgmoSeverity, type DiagramViewState, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type ExtendedChartType, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ISEdge, type ISGroup, type ISLayoutEdge, type ISLayoutGroup, type ISLayoutNode, type ISLayoutResult, type ISNode, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraScenario, type InfraTagGroup, type InitiativeStatus, type InlineSpan, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutResult, type MemberVisibility, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type OrgTagEntry, type OrgTagGroup, type PaletteColors, type PaletteConfig, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedERDiagram, type ParsedExtendedChart, type ParsedGraph, type ParsedInfra, type ParsedInitiativeStatus, type ParsedKanban, type ParsedOrg, type ParsedQuadrant, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedVisualization, type ParticipantType, RULE_COUNT, type ReadFileFn, type RelationshipType, type RenderCategory, type RenderStep, type ResolveImportsResult, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type TagEntry, type TagGroup, type VisualizationType, addDurationToDate, applyGroupOrdering, applyPositionOverrides, boldPalette, buildExtendedChartOption, buildMermaidQuadrant, buildMermaidThemeVars, buildNoteMessageMap, buildRenderSequence, buildSimpleChartOption, buildThemeCSS, catppuccinPalette, collapseInitiativeStatus, collapseOrgTree, collapseSitemapTree, collectDiagramRoles, colorNames, computeActivations, computeCardArchive, computeCardMove, computeInfra, computeInfraLegendGroups, computeTimeTicks, contrastText, decodeDiagramUrl, encodeDiagramUrl, formatDateLabel, formatDgmoError, getAvailablePalettes, getPalette, getRenderCategory, getSeriesColors, groupMessagesBySection, gruvboxPalette, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, injectBranding, isArchiveColumn, isExtendedChartType, isSequenceBlock, isSequenceNote, isValidHex, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutInitiativeStatus, layoutOrg, layoutSitemap, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeInitiativeStatus, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mute, nord, nordPalette, oneDarkPalette, orderArcNodes, parseAndLayoutInfra, parseC4, parseChart, parseClassDiagram, parseDgmo, parseDgmoChartType, parseERDiagram, parseExtendedChart, parseFlowchart, parseInfra, parseInitiativeStatus, parseInlineMarkdown, parseKanban, parseOrg, parseQuadrant, parseSequenceDgmo, parseSitemap, parseState, parseTimelineDate, parseVisualization, registerPalette, render, renderArcDiagram, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderERDiagram, renderERDiagramForExport, renderExtendedChartForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderInfra, renderInitiativeStatus, renderInitiativeStatusForExport, renderKanban, renderKanbanForExport, renderOrg, renderOrgForExport, renderQuadrant, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTimeline, renderVenn, renderWordCloud, resolveColor, resolveOrgImports, rollUpContextRelationships, rosePinePalette, seriesColors, shade, solarizedPalette, tint, tokyoNightPalette, truncateBareUrl, validateComputed, validateInfra };
|