agentic-mermaid 0.1.0 → 0.1.2
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/CHANGELOG.md +149 -4
- package/LICENSES/Apache-2.0.txt +202 -0
- package/README.md +25 -32
- package/THIRD_PARTY_NOTICES.md +29 -0
- package/assets/fonts/FONT-LICENSES.md +9 -5
- package/assets/fonts/Inter-Bold.ttf +0 -0
- package/assets/fonts/Inter-Medium.ttf +0 -0
- package/assets/fonts/Inter-Regular.ttf +0 -0
- package/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/dist/agent-core.d.ts +463 -0
- package/dist/agent-core.js +397 -0
- package/dist/agent.d.ts +81 -1822
- package/dist/agent.js +336 -36839
- package/dist/agentic-mermaid-mcp.js +7 -37908
- package/dist/am.js +33638 -36261
- package/dist/chunk-4QECACIA.js +4702 -0
- package/dist/chunk-CDPKJ2BQ.js +37 -0
- package/dist/chunk-QKDLMOJJ.js +3487 -0
- package/dist/chunk-WI35L7IR.js +615 -0
- package/dist/chunk-WN3YDOBG.js +149 -0
- package/dist/chunk-ZYMMKQ3I.js +62637 -0
- package/dist/index-D54dqSdC.d.ts +6777 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +310 -32836
- package/dist/mcp-cli-SBQSTJFC.js +17 -0
- package/docs/README.md +14 -6
- package/docs/schemas/style-spec.schema.json +1221 -30
- package/examples/styles/catalog.json +54 -0
- package/examples/styles/cloudflare-workers-inspired-prototype.mmd +9 -0
- package/examples/styles/cloudflare-workers-inspired-prototype.style.json +110 -0
- package/examples/styles/cupertino-prototype.mmd +10 -0
- package/examples/styles/cupertino-prototype.style.json +63 -0
- package/examples/styles/mid-century-report.style.json +2 -2
- package/examples/styles/star-chart-atlas.style.json +2 -1
- package/examples/styles/transit-route-map.style.json +2 -2
- package/examples/styles/vercel-inspired-prototype.mmd +6 -0
- package/examples/styles/vercel-inspired-prototype.style.json +87 -0
- package/package.json +70 -43
- package/server.json +41 -0
- package/skills/agentic-mermaid-diagram-workflow/SKILL.md +17 -36
- package/skills/agentic-mermaid-diagram-workflow/references/cli.md +4 -5
- package/skills/agentic-mermaid-diagram-workflow/references/code-mode.md +15 -31
- package/skills/agentic-mermaid-diagram-workflow/references/sequence.md +10 -14
- package/skills/agentic-mermaid-live-editor/SKILL.md +100 -206
- package/AGENT_NATIVE.md +0 -602
- package/Instructions_for_agents.md +0 -83
- package/TODO.md +0 -662
- package/assets/hero.png +0 -0
- package/dist/index-x2Cj1dVv.d.ts +0 -1089
- package/docs/agent-api-cookbook.md +0 -308
- package/docs/agent-mutation-policy.md +0 -104
- package/docs/agent-workflow-examples.md +0 -46
- package/docs/api.md +0 -203
- package/docs/ascii.md +0 -103
- package/docs/assets/improvements/box-start-connector.png +0 -0
- package/docs/assets/improvements/comment-dropped-lint.png +0 -0
- package/docs/assets/improvements/er-content-loss.png +0 -0
- package/docs/assets/improvements/fan-in-trunks.png +0 -0
- package/docs/assets/improvements/gantt-family.png +0 -0
- package/docs/assets/improvements/gantt-milestone-clamp.png +0 -0
- package/docs/assets/improvements/gantt-verify-seam.png +0 -0
- package/docs/assets/improvements/subgraph-container-edges.png +0 -0
- package/docs/assets/improvements/wrapper-frontmatter.png +0 -0
- package/docs/assets/improvements/wrapper-init-directive.png +0 -0
- package/docs/assets/improvements/wrapper-leading-comment.png +0 -0
- package/docs/assets/style-cookbook/mid-century-report.png +0 -0
- package/docs/assets/style-cookbook/star-chart-atlas.png +0 -0
- package/docs/assets/style-cookbook/transit-route-map.png +0 -0
- package/docs/comparison.md +0 -94
- package/docs/config.md +0 -105
- package/docs/contributing/adding-diagram-types.md +0 -144
- package/docs/contributing/diagram-family-citizenship.matrix.json +0 -2127
- package/docs/contributing/diagram-family-citizenship.md +0 -82
- package/docs/contributing/harvesting-upstream-tests.md +0 -126
- package/docs/contributing/lessons-learned.md +0 -276
- package/docs/contributing/releasing.md +0 -71
- package/docs/contributing/visual-review-evidence.md +0 -53
- package/docs/custom-style-cookbook.md +0 -154
- package/docs/design/families/README.md +0 -26
- package/docs/design/families/architecture-beta.md +0 -48
- package/docs/design/families/flowchart-parser-conformance.md +0 -22
- package/docs/design/families/gantt-research.md +0 -137
- package/docs/design/families/gantt.md +0 -329
- package/docs/design/families/journey-agentic-cards-before.png +0 -0
- package/docs/design/families/journey-mermaid-classic-implementation.png +0 -0
- package/docs/design/families/journey-mermaid-classic-prototype.png +0 -0
- package/docs/design/families/journey-mermaid-classic-prototype.svg +0 -163
- package/docs/design/families/journey-mermaid-classic-prototype.svg.png +0 -0
- package/docs/design/families/journey-migration-parity.md +0 -433
- package/docs/design/families/journey-usage-research.md +0 -423
- package/docs/design/families/journey.md +0 -125
- package/docs/design/families/xychart.md +0 -85
- package/docs/design/system/README.md +0 -45
- package/docs/design/system/abstraction-audit.md +0 -224
- package/docs/design/system/abstraction-recommendations.md +0 -655
- package/docs/design/system/architecture.mmd +0 -29
- package/docs/design/system/architecture.svg +0 -137
- package/docs/design/system/layout-guarantees-and-robustness.md +0 -351
- package/docs/design/system/layout-rubric.md +0 -138
- package/docs/design/system/route-contracts.md +0 -848
- package/docs/design/system/source-preservation-ladder.md +0 -52
- package/docs/design/system/styles-rollout.md +0 -216
- package/docs/design/system/ugly-layouts.md +0 -119
- package/docs/diagram-families.md +0 -193
- package/docs/features.md +0 -147
- package/docs/fork-differences.md +0 -130
- package/docs/getting-started.md +0 -175
- package/docs/issue-derived-test-cases.md +0 -156
- package/docs/layout-characterization/README.md +0 -245
- package/docs/layout-characterization/contact-sheet-families.md +0 -496
- package/docs/layout-characterization/contact-sheet.md +0 -638
- package/docs/layout-characterization/properties.md +0 -281
- package/docs/layout-characterization/visual-quality.md +0 -160
- package/docs/layout-characterization/visual-snapshots/architecture.svg +0 -79
- package/docs/layout-characterization/visual-snapshots/class.svg +0 -60
- package/docs/layout-characterization/visual-snapshots/er.svg +0 -61
- package/docs/layout-characterization/visual-snapshots/flowchart.svg +0 -58
- package/docs/layout-characterization/visual-snapshots/gantt.svg +0 -52
- package/docs/layout-characterization/visual-snapshots/journey.svg +0 -118
- package/docs/layout-characterization/visual-snapshots/pie.svg +0 -36
- package/docs/layout-characterization/visual-snapshots/quadrant.svg +0 -47
- package/docs/layout-characterization/visual-snapshots/sequence.svg +0 -59
- package/docs/layout-characterization/visual-snapshots/state.svg +0 -52
- package/docs/layout-characterization/visual-snapshots/timeline.svg +0 -64
- package/docs/layout-characterization/visual-snapshots/xychart.svg +0 -97
- package/docs/mcp-code-mode-rationale.md +0 -101
- package/docs/mcp-http-transport.md +0 -223
- package/docs/mermaid-layout-complaints.md +0 -837
- package/docs/mutation-testing.md +0 -206
- package/docs/project/divergences.md +0 -98
- package/docs/project/dogfooding-docs-strategy.md +0 -66
- package/docs/project/hosted-mcp-cloudflare-plan.md +0 -338
- package/docs/project/lessons-learned.md +0 -1019
- package/docs/project/remove-role-styling-plan.md +0 -176
- package/docs/quality.md +0 -212
- package/docs/react.md +0 -97
- package/docs/style-authoring.md +0 -133
- package/docs/testing-strategy.md +0 -335
- package/docs/theming.md +0 -162
- package/examples/agent-improve-auth-flow.ts +0 -206
- package/examples/agent-loop.ts +0 -53
- package/examples/mcp-vs-cli-complex-diagrams.ts +0 -133
- package/llms.txt +0 -104
- package/skill-evals/README.md +0 -77
- package/skill-evals/fixtures/architecture-cache/input.mmd +0 -5
- package/skill-evals/fixtures/class-payment/input.mmd +0 -4
- package/skill-evals/fixtures/er-orders/input.mmd +0 -10
- package/skill-evals/fixtures/flowchart-cache/input.mmd +0 -3
- package/skill-evals/fixtures/gantt-release/input.mmd +0 -7
- package/skill-evals/fixtures/journey-checkout/input.mmd +0 -6
- package/skill-evals/fixtures/pie-exports/input.mmd +0 -5
- package/skill-evals/fixtures/quadrant-priorities/input.mmd +0 -11
- package/skill-evals/fixtures/sequence-retry/input.mmd +0 -8
- package/skill-evals/fixtures/state-lifecycle/input.mmd +0 -5
- package/skill-evals/fixtures/timeline-release/input.mmd +0 -6
- package/skill-evals/fixtures/xychart-growth/input.mmd +0 -5
- package/skill-evals/shared-benchmark.json +0 -510
- package/src/agent/analyze.ts +0 -157
- package/src/agent/apply.ts +0 -146
- package/src/agent/architecture-body.ts +0 -458
- package/src/agent/certificates.ts +0 -110
- package/src/agent/class-body.ts +0 -319
- package/src/agent/core.ts +0 -207
- package/src/agent/create.ts +0 -106
- package/src/agent/describe.ts +0 -364
- package/src/agent/er-body.ts +0 -224
- package/src/agent/facts.ts +0 -337
- package/src/agent/families-builtin.ts +0 -934
- package/src/agent/families.ts +0 -232
- package/src/agent/family-layouts.ts +0 -826
- package/src/agent/flowchart-body.ts +0 -372
- package/src/agent/flowchart-unsupported.ts +0 -243
- package/src/agent/gantt-body.ts +0 -495
- package/src/agent/index.ts +0 -10
- package/src/agent/journey-body.ts +0 -414
- package/src/agent/label-metrics.ts +0 -28
- package/src/agent/layout-to-rendered.ts +0 -63
- package/src/agent/mutate.ts +0 -97
- package/src/agent/mutation-ops.ts +0 -51
- package/src/agent/op-schema.ts +0 -439
- package/src/agent/parse.ts +0 -223
- package/src/agent/pie-body.ts +0 -270
- package/src/agent/png.ts +0 -117
- package/src/agent/quadrant-body.ts +0 -336
- package/src/agent/quality.ts +0 -363
- package/src/agent/readability-audit.ts +0 -92
- package/src/agent/rendered-route-audit.ts +0 -61
- package/src/agent/sequence-body.ts +0 -345
- package/src/agent/serialize.ts +0 -214
- package/src/agent/state-body.ts +0 -589
- package/src/agent/structural-count.ts +0 -150
- package/src/agent/timeline-body.ts +0 -280
- package/src/agent/trace-log.ts +0 -43
- package/src/agent/types.ts +0 -979
- package/src/agent/verify.ts +0 -571
- package/src/agent/xychart-body.ts +0 -472
- package/src/architecture/config.ts +0 -282
- package/src/architecture/layout.ts +0 -496
- package/src/architecture/parser.ts +0 -375
- package/src/architecture/renderer.ts +0 -611
- package/src/architecture/types.ts +0 -113
- package/src/ascii/ansi.ts +0 -423
- package/src/ascii/architecture.ts +0 -210
- package/src/ascii/canvas.ts +0 -443
- package/src/ascii/class-diagram.ts +0 -697
- package/src/ascii/converter.ts +0 -475
- package/src/ascii/draw.ts +0 -1693
- package/src/ascii/edge-bundling.ts +0 -328
- package/src/ascii/edge-routing.ts +0 -330
- package/src/ascii/er-diagram.ts +0 -439
- package/src/ascii/gantt.ts +0 -276
- package/src/ascii/grid.ts +0 -747
- package/src/ascii/index.ts +0 -196
- package/src/ascii/journey.ts +0 -189
- package/src/ascii/meta.ts +0 -244
- package/src/ascii/multiline-utils.ts +0 -80
- package/src/ascii/pathfinder.ts +0 -301
- package/src/ascii/pie.ts +0 -67
- package/src/ascii/quadrant.ts +0 -158
- package/src/ascii/reverse.ts +0 -216
- package/src/ascii/sequence.ts +0 -499
- package/src/ascii/shapes/circle.ts +0 -27
- package/src/ascii/shapes/corners.ts +0 -143
- package/src/ascii/shapes/diamond.ts +0 -27
- package/src/ascii/shapes/hexagon.ts +0 -27
- package/src/ascii/shapes/index.ts +0 -106
- package/src/ascii/shapes/rectangle.ts +0 -168
- package/src/ascii/shapes/rounded.ts +0 -27
- package/src/ascii/shapes/special.ts +0 -332
- package/src/ascii/shapes/stadium.ts +0 -110
- package/src/ascii/shapes/state.ts +0 -192
- package/src/ascii/shapes/types.ts +0 -73
- package/src/ascii/timeline.ts +0 -128
- package/src/ascii/types.ts +0 -312
- package/src/ascii/validate.ts +0 -120
- package/src/ascii/width.ts +0 -81
- package/src/ascii/xychart.ts +0 -919
- package/src/browser.ts +0 -29
- package/src/class/layout.ts +0 -240
- package/src/class/parser.ts +0 -332
- package/src/class/renderer.ts +0 -638
- package/src/class/types.ts +0 -129
- package/src/cli/agent-instructions.ts +0 -1
- package/src/cli/am-bin.ts +0 -6
- package/src/cli/exit-codes.ts +0 -18
- package/src/cli/index.ts +0 -1117
- package/src/cli/init-agent.ts +0 -147
- package/src/color-resolver.ts +0 -152
- package/src/elk-instance.ts +0 -114
- package/src/er/layout.ts +0 -187
- package/src/er/parser.ts +0 -226
- package/src/er/renderer.ts +0 -792
- package/src/er/types.ts +0 -99
- package/src/font-manifest.ts +0 -27
- package/src/gantt/layout.ts +0 -365
- package/src/gantt/parser.ts +0 -282
- package/src/gantt/pipeline.ts +0 -27
- package/src/gantt/renderer.ts +0 -414
- package/src/gantt/schedule.ts +0 -513
- package/src/gantt/types.ts +0 -255
- package/src/index.ts +0 -368
- package/src/journey/layout.ts +0 -520
- package/src/journey/parser.ts +0 -218
- package/src/journey/renderer.ts +0 -811
- package/src/journey/types.ts +0 -144
- package/src/layout/geometry.ts +0 -182
- package/src/layout/pass.ts +0 -142
- package/src/layout/passes/index.ts +0 -3916
- package/src/layout-engine.ts +0 -1565
- package/src/layout-rubric.ts +0 -659
- package/src/mcp/artifacts.ts +0 -137
- package/src/mcp/dynamic-harness.ts +0 -31
- package/src/mcp/dynamic-modules.d.ts +0 -7
- package/src/mcp/facade.ts +0 -608
- package/src/mcp/harness-runtime.ts +0 -203
- package/src/mcp/hosted-server.ts +0 -468
- package/src/mcp/mcp-bin.ts +0 -3
- package/src/mcp/mcp-cli.ts +0 -82
- package/src/mcp/protocol.ts +0 -13
- package/src/mcp/sandbox.ts +0 -195
- package/src/mcp/sdk-decl.ts +0 -387
- package/src/mcp/server.ts +0 -362
- package/src/mcp/tool-surface.ts +0 -146
- package/src/mermaid-source.ts +0 -655
- package/src/multiline-utils.ts +0 -228
- package/src/parser.ts +0 -1031
- package/src/pie/layout.ts +0 -168
- package/src/pie/parser.ts +0 -136
- package/src/pie/renderer.ts +0 -234
- package/src/pie/types.ts +0 -82
- package/src/quadrant/layout.ts +0 -191
- package/src/quadrant/parser.ts +0 -183
- package/src/quadrant/renderer.ts +0 -322
- package/src/quadrant/types.ts +0 -113
- package/src/render-family-hooks.ts +0 -244
- package/src/renderer.ts +0 -1099
- package/src/route-contracts.ts +0 -2723
- package/src/scene/backend.ts +0 -76
- package/src/scene/fidelity.ts +0 -183
- package/src/scene/hybrid-backend.ts +0 -174
- package/src/scene/ir.ts +0 -181
- package/src/scene/marks.ts +0 -127
- package/src/scene/rough-backend.ts +0 -378
- package/src/scene/seed.ts +0 -46
- package/src/scene/style-registry.ts +0 -556
- package/src/sequence/layout.ts +0 -456
- package/src/sequence/parser.ts +0 -255
- package/src/sequence/renderer.ts +0 -604
- package/src/sequence/types.ts +0 -154
- package/src/shape-clipping.ts +0 -351
- package/src/shared/accessibility-directives.ts +0 -22
- package/src/shared/batched.ts +0 -61
- package/src/shared/color-math.ts +0 -72
- package/src/shared/svg-a11y.ts +0 -29
- package/src/shared/syntax-error.ts +0 -17
- package/src/shared/unicode-ranges.ts +0 -135
- package/src/styles.ts +0 -318
- package/src/svg-paths.ts +0 -28
- package/src/text-metrics.ts +0 -248
- package/src/theme.ts +0 -639
- package/src/timeline/layout.ts +0 -381
- package/src/timeline/parser.ts +0 -215
- package/src/timeline/renderer.ts +0 -538
- package/src/timeline/types.ts +0 -105
- package/src/types.ts +0 -454
- package/src/website-worker-modules.d.ts +0 -18
- package/src/xychart/axis-utils.ts +0 -109
- package/src/xychart/colors.ts +0 -124
- package/src/xychart/config.ts +0 -88
- package/src/xychart/layout.ts +0 -656
- package/src/xychart/parser.ts +0 -504
- package/src/xychart/renderer.ts +0 -640
- package/src/xychart/types.ts +0 -282
package/src/xychart/types.ts
DELETED
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// XY Chart types
|
|
3
|
-
//
|
|
4
|
-
// Models the parsed and positioned representations of a Mermaid xychart
|
|
5
|
-
// diagram. Supports bar charts, line charts, and combinations with categorical
|
|
6
|
-
// or numeric x-axes.
|
|
7
|
-
// ============================================================================
|
|
8
|
-
|
|
9
|
-
import type { PositionedDiagram } from '../types.ts'
|
|
10
|
-
|
|
11
|
-
/** Parsed XY chart — logical structure from mermaid text */
|
|
12
|
-
export interface XYChart {
|
|
13
|
-
/** Optional chart title */
|
|
14
|
-
title?: string
|
|
15
|
-
/** Optional Mermaid accessibility metadata */
|
|
16
|
-
accessibility?: XYChartAccessibility
|
|
17
|
-
/** Chart orientation: vertical (default) or horizontal */
|
|
18
|
-
horizontal: boolean
|
|
19
|
-
/** Source header orientation, when explicitly present. Config cannot override it. */
|
|
20
|
-
headerOrientation?: 'vertical' | 'horizontal'
|
|
21
|
-
/** X-axis configuration */
|
|
22
|
-
xAxis: XYAxis
|
|
23
|
-
/** Y-axis configuration */
|
|
24
|
-
yAxis: XYAxis
|
|
25
|
-
/** Data series (bar and/or line) */
|
|
26
|
-
series: XYChartSeries[]
|
|
27
|
-
/** Mermaid frontmatter-driven chart options */
|
|
28
|
-
config: XYChartConfig
|
|
29
|
-
/** Mermaid frontmatter-driven chart theme overrides */
|
|
30
|
-
theme: XYChartTheme
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** Axis configuration — categorical (labels) or numeric (range) */
|
|
34
|
-
export interface XYAxis {
|
|
35
|
-
/** Optional axis title/label */
|
|
36
|
-
title?: string
|
|
37
|
-
/** Categorical labels (e.g., ["jan", "feb", "mar"]) — mutually exclusive with range */
|
|
38
|
-
categories?: string[]
|
|
39
|
-
/** Numeric range — mutually exclusive with categories */
|
|
40
|
-
range?: { min: number; max: number }
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/** A single data series (bar or line) */
|
|
44
|
-
export interface XYChartSeries {
|
|
45
|
-
/** Series type */
|
|
46
|
-
type: 'bar' | 'line'
|
|
47
|
-
/** Optional Mermaid series label */
|
|
48
|
-
label?: string
|
|
49
|
-
/** Data values — one per category, or evenly spaced across numeric range */
|
|
50
|
-
data: number[]
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export interface XYChartAccessibility {
|
|
54
|
-
title?: string
|
|
55
|
-
description?: string
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export interface XYChartConfig {
|
|
59
|
-
/** Override total chart width in SVG output */
|
|
60
|
-
width?: number
|
|
61
|
-
/** Override total chart height in SVG output */
|
|
62
|
-
height?: number
|
|
63
|
-
/** When true, emit responsive width/height output */
|
|
64
|
-
useMaxWidth?: boolean
|
|
65
|
-
/** Optional explicit rendered width override */
|
|
66
|
-
useWidth?: number
|
|
67
|
-
/** Title font size in px */
|
|
68
|
-
titleFontSize?: number
|
|
69
|
-
/** Title padding in px */
|
|
70
|
-
titlePadding?: number
|
|
71
|
-
/** Orientation from Mermaid config (`vertical` or `horizontal`) */
|
|
72
|
-
chartOrientation?: 'vertical' | 'horizontal'
|
|
73
|
-
/** Reserve this percentage of the chart box for the plot area */
|
|
74
|
-
plotReservedSpacePercent?: number
|
|
75
|
-
/** Show numeric value labels on bars */
|
|
76
|
-
showDataLabel?: boolean
|
|
77
|
-
/** Hide the chart title even when the source defines one */
|
|
78
|
-
showTitle?: boolean
|
|
79
|
-
/** Per-axis visibility controls */
|
|
80
|
-
xAxis?: XYAxisRenderConfig
|
|
81
|
-
/** Per-axis visibility controls */
|
|
82
|
-
yAxis?: XYAxisRenderConfig
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export interface XYAxisRenderConfig {
|
|
86
|
-
/** Hide axis labels */
|
|
87
|
-
showLabel?: boolean
|
|
88
|
-
/** Axis label font size in px */
|
|
89
|
-
labelFontSize?: number
|
|
90
|
-
/** Axis label padding in px */
|
|
91
|
-
labelPadding?: number
|
|
92
|
-
/** Hide axis title */
|
|
93
|
-
showTitle?: boolean
|
|
94
|
-
/** Axis title font size in px */
|
|
95
|
-
titleFontSize?: number
|
|
96
|
-
/** Axis title padding in px */
|
|
97
|
-
titlePadding?: number
|
|
98
|
-
/** Hide tick marks */
|
|
99
|
-
showTick?: boolean
|
|
100
|
-
/** Tick length in px */
|
|
101
|
-
tickLength?: number
|
|
102
|
-
/** Tick stroke width in px */
|
|
103
|
-
tickWidth?: number
|
|
104
|
-
/** Hide the axis line */
|
|
105
|
-
showAxisLine?: boolean
|
|
106
|
-
/** Axis line stroke width in px */
|
|
107
|
-
axisLineWidth?: number
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export interface ResolvedXYAxisRenderConfig {
|
|
111
|
-
showLabel: boolean
|
|
112
|
-
labelFontSize: number
|
|
113
|
-
labelPadding: number
|
|
114
|
-
showTitle: boolean
|
|
115
|
-
titleFontSize: number
|
|
116
|
-
titlePadding: number
|
|
117
|
-
showTick: boolean
|
|
118
|
-
tickLength: number
|
|
119
|
-
tickWidth: number
|
|
120
|
-
showAxisLine: boolean
|
|
121
|
-
axisLineWidth: number
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
export interface ResolvedXYChartConfig {
|
|
125
|
-
width: number
|
|
126
|
-
height: number
|
|
127
|
-
useMaxWidth: boolean
|
|
128
|
-
useWidth?: number
|
|
129
|
-
titleFontSize: number
|
|
130
|
-
titlePadding: number
|
|
131
|
-
chartOrientation: 'vertical' | 'horizontal'
|
|
132
|
-
plotReservedSpacePercent: number
|
|
133
|
-
showDataLabel: boolean
|
|
134
|
-
showTitle: boolean
|
|
135
|
-
xAxis: ResolvedXYAxisRenderConfig
|
|
136
|
-
yAxis: ResolvedXYAxisRenderConfig
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export interface XYChartTheme {
|
|
140
|
-
/** Background override from Mermaid theme variables */
|
|
141
|
-
backgroundColor?: string
|
|
142
|
-
/** Raw Mermaid theme CSS appended to the SVG style block */
|
|
143
|
-
themeCss?: string
|
|
144
|
-
/** Chart title color */
|
|
145
|
-
titleColor?: string
|
|
146
|
-
/** X-axis label color */
|
|
147
|
-
xAxisLabelColor?: string
|
|
148
|
-
/** X-axis tick color */
|
|
149
|
-
xAxisTickColor?: string
|
|
150
|
-
/** X-axis line color */
|
|
151
|
-
xAxisLineColor?: string
|
|
152
|
-
/** X-axis title color */
|
|
153
|
-
xAxisTitleColor?: string
|
|
154
|
-
/** Y-axis label color */
|
|
155
|
-
yAxisLabelColor?: string
|
|
156
|
-
/** Y-axis tick color */
|
|
157
|
-
yAxisTickColor?: string
|
|
158
|
-
/** Y-axis line color */
|
|
159
|
-
yAxisLineColor?: string
|
|
160
|
-
/** Y-axis title color */
|
|
161
|
-
yAxisTitleColor?: string
|
|
162
|
-
/** Explicit per-series palette */
|
|
163
|
-
plotColorPalette?: string[]
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// ============================================================================
|
|
167
|
-
// Positioned XY chart — ready for SVG rendering
|
|
168
|
-
// ============================================================================
|
|
169
|
-
|
|
170
|
-
export interface PositionedXYChart extends PositionedDiagram {
|
|
171
|
-
width: number
|
|
172
|
-
height: number
|
|
173
|
-
accessibility?: XYChartAccessibility
|
|
174
|
-
/** Whether this is a horizontal (rotated) chart */
|
|
175
|
-
horizontal?: boolean
|
|
176
|
-
/** Title text and position (if present) */
|
|
177
|
-
title?: PositionedTitle
|
|
178
|
-
/** Positioned x-axis with tick marks and labels */
|
|
179
|
-
xAxis: PositionedAxis
|
|
180
|
-
/** Positioned y-axis with tick marks and labels */
|
|
181
|
-
yAxis: PositionedAxis
|
|
182
|
-
/** The plot area bounds (inside axes) */
|
|
183
|
-
plotArea: PlotArea
|
|
184
|
-
/** Positioned bar groups */
|
|
185
|
-
bars: PositionedBar[]
|
|
186
|
-
/** Positioned line polylines */
|
|
187
|
-
lines: PositionedLine[]
|
|
188
|
-
/** Horizontal grid lines for readability */
|
|
189
|
-
gridLines: GridLine[]
|
|
190
|
-
/** Legend items (shown when multiple series) */
|
|
191
|
-
legend: LegendItem[]
|
|
192
|
-
/** Resolved config carried through for rendering decisions */
|
|
193
|
-
config: ResolvedXYChartConfig
|
|
194
|
-
/** Mermaid theme variables carried through for rendering decisions */
|
|
195
|
-
theme: XYChartTheme
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
export interface LegendItem {
|
|
199
|
-
/** Display label */
|
|
200
|
-
label: string
|
|
201
|
-
/** Position of the swatch/icon */
|
|
202
|
-
x: number
|
|
203
|
-
y: number
|
|
204
|
-
/** Series type determines swatch shape (rect for bar, line+dot for line) */
|
|
205
|
-
type: 'bar' | 'line'
|
|
206
|
-
/** Series index within its type (for layout grouping) */
|
|
207
|
-
seriesIndex: number
|
|
208
|
-
/** Global color index across all series (for unified color assignment) */
|
|
209
|
-
colorIndex: number
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
export interface PositionedTitle {
|
|
213
|
-
text: string
|
|
214
|
-
x: number
|
|
215
|
-
y: number
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
export interface PositionedAxis {
|
|
219
|
-
/** Optional axis title text and position */
|
|
220
|
-
title?: { text: string; x: number; y: number; rotate?: number }
|
|
221
|
-
/** Tick positions along the axis */
|
|
222
|
-
ticks: AxisTick[]
|
|
223
|
-
/** Axis line: start and end coordinates */
|
|
224
|
-
line: { x1: number; y1: number; x2: number; y2: number }
|
|
225
|
-
/** Resolved axis config used for sizing and rendering */
|
|
226
|
-
config: ResolvedXYAxisRenderConfig
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
export interface AxisTick {
|
|
230
|
-
/** Label text for this tick */
|
|
231
|
-
label: string
|
|
232
|
-
/** Position of the tick mark on the axis */
|
|
233
|
-
x: number
|
|
234
|
-
y: number
|
|
235
|
-
/** End of the tick mark (short perpendicular line) */
|
|
236
|
-
tx: number
|
|
237
|
-
ty: number
|
|
238
|
-
/** Label anchor position */
|
|
239
|
-
labelX: number
|
|
240
|
-
labelY: number
|
|
241
|
-
/** Text anchor for label */
|
|
242
|
-
textAnchor: 'start' | 'middle' | 'end'
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
export interface PlotArea {
|
|
246
|
-
x: number
|
|
247
|
-
y: number
|
|
248
|
-
width: number
|
|
249
|
-
height: number
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
export interface PositionedBar {
|
|
253
|
-
/** Bar rectangle in SVG coordinates */
|
|
254
|
-
x: number
|
|
255
|
-
y: number
|
|
256
|
-
width: number
|
|
257
|
-
height: number
|
|
258
|
-
/** Original data value */
|
|
259
|
-
value: number
|
|
260
|
-
/** Category label for this bar (e.g. "Jan") */
|
|
261
|
-
label?: string
|
|
262
|
-
/** Series index within bar type (for layout grouping) */
|
|
263
|
-
seriesIndex: number
|
|
264
|
-
/** Global color index across all series */
|
|
265
|
-
colorIndex: number
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
export interface PositionedLine {
|
|
269
|
-
/** Polyline points */
|
|
270
|
-
points: Array<{ x: number; y: number; value: number; label?: string }>
|
|
271
|
-
/** Series index within line type (for layout grouping) */
|
|
272
|
-
seriesIndex: number
|
|
273
|
-
/** Global color index across all series */
|
|
274
|
-
colorIndex: number
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
export interface GridLine {
|
|
278
|
-
x1: number
|
|
279
|
-
y1: number
|
|
280
|
-
x2: number
|
|
281
|
-
y2: number
|
|
282
|
-
}
|