@leracherry/chartmd 0.1.0 → 0.2.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 +152 -70
- package/ROADMAP.md +8 -1
- package/dist/chart.d.ts +29 -2
- package/dist/chart.d.ts.map +1 -1
- package/dist/chart.js +90 -109
- package/dist/chart.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +7 -1
- package/dist/parser.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/style.css +32 -15
package/README.md
CHANGED
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
# chart.md
|
|
2
2
|
|
|
3
|
-
Markdown-native charts for React. Write
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
````md
|
|
8
|
-
```chart
|
|
9
|
-
type: bar
|
|
10
|
-
title: Sign-ups
|
|
11
|
-
x: Month
|
|
12
|
-
y: People
|
|
13
|
-
|
|
14
|
-
| Month | Free | Pro |
|
|
15
|
-
| --- | ---: | ---: |
|
|
16
|
-
| Jan | 120 | 32 |
|
|
17
|
-
| Feb | 168 | 48 |
|
|
18
|
-
| Mar | 210 | 67 |
|
|
19
|
-
```
|
|
20
|
-
````
|
|
3
|
+
Markdown-native charts for React. Write data as a Markdown table and render a
|
|
4
|
+
responsive chart that automatically matches the surrounding document.
|
|
5
|
+
|
|
6
|
+

|
|
21
7
|
|
|
22
8
|
## Install
|
|
23
9
|
|
|
@@ -25,7 +11,66 @@ y: People
|
|
|
25
11
|
npm install @leracherry/chartmd react-markdown
|
|
26
12
|
```
|
|
27
13
|
|
|
28
|
-
|
|
14
|
+
React is a peer dependency. No browser charting library is required.
|
|
15
|
+
|
|
16
|
+
## Appearance
|
|
17
|
+
|
|
18
|
+
Version 0.2 uses thin strokes, small markers, inherited typography and colour,
|
|
19
|
+
and evenly spaced numeric ticks. The chart background is transparent.
|
|
20
|
+
|
|
21
|
+
### Six line styles
|
|
22
|
+
|
|
23
|
+
Every series receives a matching line and marker in both the plot and legend.
|
|
24
|
+
Styles repeat after six series; there is no hard series limit, but two to six
|
|
25
|
+
series are recommended for readability. Legends wrap into rows of three.
|
|
26
|
+
|
|
27
|
+

|
|
28
|
+
|
|
29
|
+
1. Solid line with circles
|
|
30
|
+
2. Dashed line with squares
|
|
31
|
+
3. Dotted line with diamonds
|
|
32
|
+
4. Dash-dot line with triangles
|
|
33
|
+
5. Long dashes with plus markers
|
|
34
|
+
6. Short dashes with cross markers
|
|
35
|
+
|
|
36
|
+
### Optional paper grid
|
|
37
|
+
|
|
38
|
+
Add `grid: paper` inside the chart fence for a faint square grid. The squares
|
|
39
|
+
are decorative; axis labels define the measurement scale. Use `grid: none` for
|
|
40
|
+
an uncluttered plot, or `grid: horizontal` for the default horizontal guides.
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+

|
|
45
|
+
|
|
46
|
+
### Dark documents
|
|
47
|
+
|
|
48
|
+
The same component follows the document's text colour; no separate chart palette
|
|
49
|
+
or filled chart background is needed.
|
|
50
|
+
|
|
51
|
+

|
|
52
|
+
|
|
53
|
+
The previews above are rasterized output from the package's actual React
|
|
54
|
+
component and stylesheet. The white/dark page backgrounds belong to the previews.
|
|
55
|
+
|
|
56
|
+
## Quick start
|
|
57
|
+
|
|
58
|
+
Write a fenced `chart` block anywhere in your Markdown:
|
|
59
|
+
|
|
60
|
+
```chart
|
|
61
|
+
type: line
|
|
62
|
+
title: Response time
|
|
63
|
+
x: Release
|
|
64
|
+
y: Milliseconds
|
|
65
|
+
|
|
66
|
+
| Release | API | Worker |
|
|
67
|
+
| --- | ---: | ---: |
|
|
68
|
+
| 1.0 | 182 | 240 |
|
|
69
|
+
| 1.1 | 151 | 205 |
|
|
70
|
+
| 1.2 | 127 | 176 |
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Add the plugin and component map to `react-markdown`:
|
|
29
74
|
|
|
30
75
|
```tsx
|
|
31
76
|
import Markdown from 'react-markdown';
|
|
@@ -41,16 +86,60 @@ export function Article({ source }: { source: string }) {
|
|
|
41
86
|
}
|
|
42
87
|
```
|
|
43
88
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
89
|
+
`remarkChart` parses and validates chart fences. `chartComponents` renders the
|
|
90
|
+
result as accessible, server-renderable SVG.
|
|
91
|
+
|
|
92
|
+
See [examples/chart-page.md](examples/chart-page.md) for a complete Markdown
|
|
93
|
+
page with prose, a chart, and follow-up notes.
|
|
94
|
+
|
|
95
|
+
## Syntax
|
|
96
|
+
|
|
97
|
+
The first table column supplies the labels. Every remaining column becomes a
|
|
98
|
+
numeric series.
|
|
99
|
+
|
|
100
|
+
| Property | Required | Description |
|
|
101
|
+
| -------- | -------- | ------------------------------------------ |
|
|
102
|
+
| `type` | Yes | `bar` or `line` |
|
|
103
|
+
| `title` | No | Accessible chart title and visible heading |
|
|
104
|
+
| `x` | No | Horizontal-axis label |
|
|
105
|
+
| `y` | No | Vertical-axis label |
|
|
106
|
+
| `grid` | No | `horizontal` (default), `paper`, or `none` |
|
|
107
|
+
|
|
108
|
+
Values may be positive, negative, or zero. Table rows require the same number
|
|
109
|
+
of cells as the header, and series names must be unique. Invalid input fails
|
|
110
|
+
during Markdown processing instead of silently producing a broken chart.
|
|
111
|
+
|
|
112
|
+
Here is a bar chart with two series:
|
|
47
113
|
|
|
48
|
-
|
|
49
|
-
|
|
114
|
+
```chart
|
|
115
|
+
type: bar
|
|
116
|
+
title: Sign-ups
|
|
117
|
+
x: Month
|
|
118
|
+
y: People
|
|
119
|
+
|
|
120
|
+
| Month | Free | Pro |
|
|
121
|
+
| --- | ---: | ---: |
|
|
122
|
+
| Jan | 120 | 32 |
|
|
123
|
+
| Feb | 168 | 48 |
|
|
124
|
+
| Mar | 210 | 67 |
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Both backtick and tilde Markdown fences are supported.
|
|
128
|
+
|
|
129
|
+
## Theme inheritance
|
|
130
|
+
|
|
131
|
+
Charts use `currentColor`, so they follow the text colour of their Markdown
|
|
132
|
+
container in light mode, dark mode, and custom themes. Multiple series remain
|
|
133
|
+
one-colour and are distinguished with opacity and dash patterns.
|
|
50
134
|
|
|
51
135
|
```css
|
|
52
136
|
.markdown-body {
|
|
53
137
|
color: #24292f;
|
|
138
|
+
--chartmd-color: currentColor;
|
|
139
|
+
--chartmd-grid-opacity: 0.1;
|
|
140
|
+
--chartmd-muted-opacity: 0.8;
|
|
141
|
+
--chartmd-paper-opacity: 0.07;
|
|
142
|
+
--chartmd-line-width: 1.75;
|
|
54
143
|
}
|
|
55
144
|
|
|
56
145
|
@media (prefers-color-scheme: dark) {
|
|
@@ -60,75 +149,68 @@ container in light mode, dark mode, links, embedded docs, and custom themes:
|
|
|
60
149
|
}
|
|
61
150
|
```
|
|
62
151
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
chart theme:
|
|
66
|
-
|
|
67
|
-
```css
|
|
68
|
-
.markdown-body {
|
|
69
|
-
--chartmd-color: currentColor;
|
|
70
|
-
--chartmd-grid-opacity: 0.14;
|
|
71
|
-
--chartmd-muted-opacity: 0.68;
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Chart syntax
|
|
76
|
-
|
|
77
|
-
`type` is `bar` or `line`. `title`, `x`, and `y` are optional plain-text
|
|
78
|
-
properties. The first table column supplies labels; every remaining column is a
|
|
79
|
-
numeric series.
|
|
80
|
-
|
|
81
|
-
````md
|
|
82
|
-
```chart
|
|
83
|
-
type: line
|
|
84
|
-
title: Response time
|
|
85
|
-
x: Release
|
|
86
|
-
y: Milliseconds
|
|
87
|
-
|
|
88
|
-
| Release | API | Worker |
|
|
89
|
-
| --- | ---: | ---: |
|
|
90
|
-
| 1.0 | 182 | 240 |
|
|
91
|
-
| 1.1 | 151 | 205 |
|
|
92
|
-
| 1.2 | 127 | 176 |
|
|
93
|
-
```
|
|
94
|
-
````
|
|
95
|
-
|
|
96
|
-
Values may be positive, negative, or zero. Tables require a header, a Markdown
|
|
97
|
-
separator row, and at least one data row. Invalid charts fail during Markdown
|
|
98
|
-
processing with a useful error instead of silently rendering broken output.
|
|
152
|
+
The CSS variables are optional. Importing `@leracherry/chartmd/style.css` is
|
|
153
|
+
enough for the default presentation.
|
|
99
154
|
|
|
100
155
|
## Direct component use
|
|
101
156
|
|
|
102
|
-
The parser and component are
|
|
103
|
-
elsewhere:
|
|
157
|
+
The parser and React component are public when Markdown is handled elsewhere:
|
|
104
158
|
|
|
105
159
|
```tsx
|
|
106
160
|
import { Chart, parseChart } from '@leracherry/chartmd';
|
|
161
|
+
import '@leracherry/chartmd/style.css';
|
|
107
162
|
|
|
108
163
|
const definition = parseChart(chartSource);
|
|
109
164
|
return <Chart definition={definition} />;
|
|
110
165
|
```
|
|
111
166
|
|
|
112
|
-
|
|
167
|
+
Use `locale` and standard `Intl.NumberFormat` options for number presentation:
|
|
168
|
+
|
|
169
|
+
```tsx
|
|
170
|
+
<Chart
|
|
171
|
+
definition={definition}
|
|
172
|
+
locale="en-GB"
|
|
173
|
+
numberFormat={{ style: 'percent', maximumFractionDigits: 1 }}
|
|
174
|
+
/>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Percentage formatting expects fractions (`0.25` becomes `25%`). Accessible
|
|
178
|
+
descriptions retain exact source values. Rendered values must be finite and
|
|
179
|
+
within ±1e12; nonzero magnitudes must be at least 1e-12. Small default values use
|
|
180
|
+
scientific notation. Labels are plain text; Markdown emphasis inside cells is not parsed.
|
|
181
|
+
|
|
182
|
+
## API
|
|
113
183
|
|
|
114
|
-
- `remarkChart` — Markdown AST plugin.
|
|
184
|
+
- `remarkChart` — Remark-compatible Markdown AST plugin.
|
|
115
185
|
- `chartComponents` — component map for `react-markdown`.
|
|
116
|
-
- `Chart` — responsive
|
|
117
|
-
- `parseChart` — parser for
|
|
186
|
+
- `Chart` — responsive and accessible React SVG component.
|
|
187
|
+
- `parseChart` — parser for a chart fence body.
|
|
188
|
+
- `lineStyles` — six built-in dash and marker combinations, in series order.
|
|
118
189
|
- `ChartDefinition`, `ChartSeries`, and `ChartType` — TypeScript types.
|
|
119
190
|
|
|
120
|
-
The
|
|
121
|
-
|
|
191
|
+
The renderer uses no canvas, network request, generated image, or client-side
|
|
192
|
+
effect. It works with server rendering and hydration.
|
|
122
193
|
|
|
123
|
-
## Development
|
|
194
|
+
## Development
|
|
124
195
|
|
|
125
|
-
The product direction and release milestones
|
|
196
|
+
The product direction and release milestones are documented in
|
|
197
|
+
[ROADMAP.md](ROADMAP.md).
|
|
126
198
|
|
|
127
199
|
```sh
|
|
128
200
|
pnpm install
|
|
129
201
|
pnpm check
|
|
130
202
|
```
|
|
131
203
|
|
|
204
|
+
Generate previews with the real renderer (PNG conversion requires `rsvg-convert`):
|
|
205
|
+
|
|
206
|
+
```sh
|
|
207
|
+
pnpm build
|
|
208
|
+
node scripts/render-readme-preview.mjs /tmp/chart.svg paper
|
|
209
|
+
rsvg-convert --width 1440 --background-color white /tmp/chart.svg -o docs/chart-paper.png
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Available preview variants: `horizontal`, `paper`, `none`, `styles`, and `dark`.
|
|
213
|
+
|
|
132
214
|
## License
|
|
133
215
|
|
|
134
216
|
[MIT](LICENSE)
|
package/ROADMAP.md
CHANGED
|
@@ -21,6 +21,13 @@ Exit criteria: a consumer can install `@leracherry/chartmd` and
|
|
|
21
21
|
`react-markdown`, paste the README example, and render a chart without
|
|
22
22
|
configuration or another charting library.
|
|
23
23
|
|
|
24
|
+
## 0.2 — Document presentation (implemented)
|
|
25
|
+
|
|
26
|
+
- Six consistent line and marker styles with wrapping legends.
|
|
27
|
+
- Transparent, horizontal-grid, and optional paper-grid presentation.
|
|
28
|
+
- Readable tick intervals, exact accessible values, and locale/number formatting.
|
|
29
|
+
- Rendered documentation images for default, paper, no-grid, dark, and six-series views.
|
|
30
|
+
|
|
24
31
|
## Milestone 2 — Markdown ecosystem coverage
|
|
25
32
|
|
|
26
33
|
- Compatibility fixtures for Unified/Remark pipelines beyond `react-markdown`.
|
|
@@ -34,7 +41,7 @@ Remark-based React rendering paths.
|
|
|
34
41
|
## Milestone 3 — Custom rendering without theme drift
|
|
35
42
|
|
|
36
43
|
- Component overrides for marks, labels, legends, and tooltips.
|
|
37
|
-
-
|
|
44
|
+
- Additional formatting hooks for Markdown integrations.
|
|
38
45
|
- Explicit colour opt-in for teams that need multi-colour series, while keeping
|
|
39
46
|
one-colour inheritance as the default.
|
|
40
47
|
- Visual regression suite for light, dark, narrow, and high-contrast layouts.
|
package/dist/chart.d.ts
CHANGED
|
@@ -1,15 +1,42 @@
|
|
|
1
1
|
import { type HTMLAttributes, type SVGProps } from 'react';
|
|
2
2
|
import type { ChartDefinition } from './types.js';
|
|
3
|
+
export declare const lineStyles: readonly [{
|
|
4
|
+
readonly name: "Solid · circle";
|
|
5
|
+
readonly dash: "";
|
|
6
|
+
readonly shape: "circle";
|
|
7
|
+
}, {
|
|
8
|
+
readonly name: "Dashed · square";
|
|
9
|
+
readonly dash: "7 4";
|
|
10
|
+
readonly shape: "square";
|
|
11
|
+
}, {
|
|
12
|
+
readonly name: "Dotted · diamond";
|
|
13
|
+
readonly dash: "1 4";
|
|
14
|
+
readonly shape: "diamond";
|
|
15
|
+
}, {
|
|
16
|
+
readonly name: "Dash-dot · triangle";
|
|
17
|
+
readonly dash: "8 4 1 4";
|
|
18
|
+
readonly shape: "triangle";
|
|
19
|
+
}, {
|
|
20
|
+
readonly name: "Long dash · plus";
|
|
21
|
+
readonly dash: "12 5";
|
|
22
|
+
readonly shape: "plus";
|
|
23
|
+
}, {
|
|
24
|
+
readonly name: "Short dash · cross";
|
|
25
|
+
readonly dash: "3 3";
|
|
26
|
+
readonly shape: "cross";
|
|
27
|
+
}];
|
|
3
28
|
export interface ChartProps extends Omit<SVGProps<SVGSVGElement>, 'children'> {
|
|
4
29
|
definition?: ChartDefinition;
|
|
5
30
|
'data-chart'?: string;
|
|
31
|
+
locale?: string;
|
|
32
|
+
numberFormat?: Intl.NumberFormatOptions;
|
|
6
33
|
}
|
|
7
|
-
export declare function Chart({ definition:
|
|
34
|
+
export declare function Chart({ definition: supplied, 'data-chart': serialized, locale, numberFormat, className, style, ...props }: ChartProps): import("react/jsx-runtime").JSX.Element;
|
|
8
35
|
interface ChartContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
9
36
|
node?: unknown;
|
|
10
37
|
'data-chart'?: string;
|
|
11
38
|
}
|
|
12
|
-
declare function ChartContainer({ node, 'data-chart':
|
|
39
|
+
declare function ChartContainer({ node, 'data-chart': serialized, children, ...props }: ChartContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
13
40
|
export declare const chartComponents: {
|
|
14
41
|
div: typeof ChartContainer;
|
|
15
42
|
};
|
package/dist/chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../src/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../src/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;EAOb,CAAC;AACX,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3E,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;CACzC;AA6DD,wBAAgB,KAAK,CAAC,EACpB,UAAU,EAAE,QAAQ,EACpB,YAAY,EAAE,UAAU,EACxB,MAAa,EACb,YAAY,EACZ,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,UAAU,2CA+OZ;AACD,UAAU,mBAAoB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAClE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,iBAAS,cAAc,CAAC,EACtB,IAAI,EACJ,YAAY,EAAE,UAAU,EACxB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,mBAAmB,2CAOrB;AACD,eAAO,MAAM,eAAe;;CAA0B,CAAC"}
|
package/dist/chart.js
CHANGED
|
@@ -1,116 +1,97 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useId
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
export const lineStyles = [
|
|
4
|
+
{ name: 'Solid · circle', dash: '', shape: 'circle' },
|
|
5
|
+
{ name: 'Dashed · square', dash: '7 4', shape: 'square' },
|
|
6
|
+
{ name: 'Dotted · diamond', dash: '1 4', shape: 'diamond' },
|
|
7
|
+
{ name: 'Dash-dot · triangle', dash: '8 4 1 4', shape: 'triangle' },
|
|
8
|
+
{ name: 'Long dash · plus', dash: '12 5', shape: 'plus' },
|
|
9
|
+
{ name: 'Short dash · cross', dash: '3 3', shape: 'cross' },
|
|
10
|
+
];
|
|
11
|
+
function validate(value) {
|
|
12
|
+
if (!value || typeof value !== 'object')
|
|
13
|
+
throw new Error('Invalid chart definition');
|
|
14
|
+
const d = value;
|
|
15
|
+
if (!['bar', 'line'].includes(d.type) ||
|
|
16
|
+
!Array.isArray(d.labels) ||
|
|
17
|
+
!d.labels.length ||
|
|
18
|
+
!d.labels.every((v) => typeof v === 'string') ||
|
|
19
|
+
!Array.isArray(d.series) ||
|
|
20
|
+
!d.series.length ||
|
|
21
|
+
!d.series.every((s) => s &&
|
|
22
|
+
typeof s.name === 'string' &&
|
|
23
|
+
Array.isArray(s.values) &&
|
|
24
|
+
s.values.length === d.labels.length &&
|
|
25
|
+
s.values.every((v) => Number.isFinite(v) &&
|
|
26
|
+
Math.abs(v) <= 1e12 &&
|
|
27
|
+
(v === 0 || Math.abs(v) >= 1e-12))) ||
|
|
28
|
+
[d.title, d.x, d.y].some((v) => v !== undefined && typeof v !== 'string') ||
|
|
29
|
+
(d.grid !== undefined && !['horizontal', 'paper', 'none'].includes(d.grid)))
|
|
30
|
+
throw new Error('Invalid chart definition');
|
|
27
31
|
}
|
|
28
|
-
function
|
|
29
|
-
|
|
32
|
+
function Marker({ index, x, y }) {
|
|
33
|
+
const shape = lineStyles[index % 6].shape;
|
|
34
|
+
return (_jsxs("g", { transform: `translate(${x} ${y})`, className: "chartmd__marker", "data-marker": shape, children: [shape === 'circle' && _jsx("circle", { r: "3" }), shape === 'square' && _jsx("rect", { x: "-3", y: "-3", width: "6", height: "6" }), shape === 'diamond' && _jsx("path", { d: "M0 -4 4 0 0 4 -4 0Z" }), shape === 'triangle' && _jsx("path", { d: "M0 -4 4 3 -4 3Z" }), shape === 'plus' && (_jsx("path", { d: "M-4 0H4M0 -4V4", fill: "none", stroke: "currentColor", strokeWidth: "1.5" })), shape === 'cross' && (_jsx("path", { d: "M-3 -3 3 3M-3 3 3 -3", fill: "none", stroke: "currentColor", strokeWidth: "1.5" }))] }));
|
|
30
35
|
}
|
|
31
|
-
export function Chart({ definition:
|
|
32
|
-
const definition =
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
.
|
|
48
|
-
const mergedStyle = {
|
|
49
|
-
color: 'var(--chartmd-color, currentColor)',
|
|
50
|
-
...style,
|
|
36
|
+
export function Chart({ definition: supplied, 'data-chart': serialized, locale = 'en', numberFormat, className, style, ...props }) {
|
|
37
|
+
const definition = supplied ?? JSON.parse(serialized ?? 'null');
|
|
38
|
+
validate(definition);
|
|
39
|
+
const d = definition;
|
|
40
|
+
const id = `chartmd-${useId().replaceAll(':', '')}`;
|
|
41
|
+
const formatter = new Intl.NumberFormat(locale, {
|
|
42
|
+
maximumFractionDigits: 2,
|
|
43
|
+
...numberFormat,
|
|
44
|
+
});
|
|
45
|
+
const format = (v) => {
|
|
46
|
+
if (!numberFormat && v !== 0 && Math.abs(v) < 0.01) {
|
|
47
|
+
return new Intl.NumberFormat(locale, {
|
|
48
|
+
notation: 'scientific',
|
|
49
|
+
maximumFractionDigits: 2,
|
|
50
|
+
}).format(v);
|
|
51
|
+
}
|
|
52
|
+
return formatter.format(Object.is(v, -0) ? 0 : v);
|
|
51
53
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
function isChartDefinition(value) {
|
|
91
|
-
if (!value || typeof value !== 'object')
|
|
92
|
-
return false;
|
|
93
|
-
const candidate = value;
|
|
94
|
-
return ((candidate.type === 'bar' || candidate.type === 'line') &&
|
|
95
|
-
Array.isArray(candidate.labels) &&
|
|
96
|
-
candidate.labels.every((label) => typeof label === 'string') &&
|
|
97
|
-
Array.isArray(candidate.series) &&
|
|
98
|
-
candidate.series.length > 0 &&
|
|
99
|
-
candidate.series.every((series) => {
|
|
100
|
-
return (typeof series?.name === 'string' &&
|
|
101
|
-
Array.isArray(series.values) &&
|
|
102
|
-
series.values.length === candidate.labels?.length &&
|
|
103
|
-
series.values.every(Number.isFinite));
|
|
104
|
-
}));
|
|
54
|
+
let low = 0;
|
|
55
|
+
let high = 0;
|
|
56
|
+
for (const s of d.series)
|
|
57
|
+
for (const v of s.values) {
|
|
58
|
+
low = Math.min(low, v);
|
|
59
|
+
high = Math.max(high, v);
|
|
60
|
+
}
|
|
61
|
+
const rough = (high - low || 1) / 5;
|
|
62
|
+
const power = 10 ** Math.floor(Math.log10(rough));
|
|
63
|
+
const step = ([1, 2, 5, 10].find((n) => n * power >= rough) ?? 10) * power;
|
|
64
|
+
low = Math.floor(low / step) * step;
|
|
65
|
+
high = Math.ceil(high / step) * step;
|
|
66
|
+
if (high === low)
|
|
67
|
+
high = low + step;
|
|
68
|
+
const ticks = Array.from({ length: Math.round((high - low) / step) + 1 }, (_, i) => low + i * step);
|
|
69
|
+
const width = 720;
|
|
70
|
+
const left = Math.max(72, Math.min(200, Math.max(...ticks.map((v) => format(v).length)) * 7 + 28));
|
|
71
|
+
const top = d.title ? 52 : 24;
|
|
72
|
+
const bottom = 300;
|
|
73
|
+
const plotWidth = width - left - 24;
|
|
74
|
+
const category = plotWidth / d.labels.length;
|
|
75
|
+
const x = (i) => left + category * (i + 0.5);
|
|
76
|
+
const y = (v) => bottom - ((v - low) / (high - low)) * (bottom - top);
|
|
77
|
+
const legendTop = bottom + (d.x ? 70 : 48);
|
|
78
|
+
const height = legendTop +
|
|
79
|
+
(d.series.length > 1 ? Math.ceil(d.series.length / 3) * 26 : 0) +
|
|
80
|
+
14;
|
|
81
|
+
const title = d.title ?? `${d.type === 'line' ? 'Line' : 'Bar'} chart`;
|
|
82
|
+
const shorten = (v, length) => v.length > length ? `${v.slice(0, length - 1)}…` : v;
|
|
83
|
+
const stride = Math.max(1, Math.ceil(d.labels.length / 8));
|
|
84
|
+
return (_jsxs("svg", { ...props, className: ['chartmd', className].filter(Boolean).join(' '), style: style, viewBox: `0 0 ${width} ${height}`, role: "img", "aria-labelledby": `${id}-title ${id}-desc`, xmlns: "http://www.w3.org/2000/svg", children: [_jsx("title", { id: `${id}-title`, children: title }), _jsx("desc", { id: `${id}-desc`, children: d.series
|
|
85
|
+
.map((s) => `${s.name}. ${d.labels.map((label, i) => `${label}: ${s.values[i]}`).join(', ')}`)
|
|
86
|
+
.join('. ') }), _jsx("defs", { children: _jsx("pattern", { id: `${id}-paper`, width: "16", height: "16", patternUnits: "userSpaceOnUse", x: left, y: top, children: _jsx("path", { d: "M16 0H0V16", fill: "none", stroke: "currentColor", strokeWidth: "0.5" }) }) }), d.title && (_jsxs("text", { className: "chartmd__title", x: left, y: "24", children: [shorten(d.title, 65), _jsx("title", { children: d.title })] })), d.grid === 'paper' && (_jsx("rect", { className: "chartmd__paper", x: left, y: top, width: plotWidth, height: bottom - top, fill: `url(#${id}-paper)` })), ticks.map((value, i) => (_jsxs("g", { children: [d.grid !== 'none' && (_jsx("line", { className: "chartmd__grid", x1: left, x2: width - 24, y1: y(value), y2: y(value) })), _jsx("text", { className: "chartmd__label chartmd__number", x: left - 10, y: y(value) + 4, textAnchor: "end", children: format(value) })] }, i))), _jsx("line", { className: "chartmd__axis", x1: left, x2: width - 24, y1: y(0), y2: y(0) }), d.series.map((s, si) => (_jsx("g", { children: d.type === 'line' ? (_jsxs(_Fragment, { children: [_jsx("polyline", { className: "chartmd__line", points: s.values.map((v, i) => `${x(i)},${y(v)}`).join(' '), strokeDasharray: lineStyles[si % 6].dash }), s.values.map((v, i) => (_jsxs("g", { children: [_jsx("title", { children: `${d.labels[i]}, ${s.name}: ${format(v)}` }), _jsx(Marker, { index: si, x: x(i), y: y(v) })] }, i)))] })) : (s.values.map((v, i) => {
|
|
87
|
+
const bw = (category * 0.72) / d.series.length;
|
|
88
|
+
return (_jsx("rect", { x: left + category * i + category * 0.14 + bw * si, y: Math.min(y(v), y(0)), width: Math.max(0, bw - 2), height: Math.abs(y(v) - y(0)), fill: "currentColor", opacity: Math.max(0.4, 0.9 - si * 0.1), children: _jsx("title", { children: `${d.labels[i]}, ${s.name}: ${format(v)}` }) }, i));
|
|
89
|
+
})) }, si))), d.labels.map((label, i) => i % stride === 0 && (_jsxs("text", { className: "chartmd__label", x: x(i), y: bottom + 23, textAnchor: "middle", children: [shorten(label, 12), _jsx("title", { children: label })] }, i))), d.x && (_jsx("text", { className: "chartmd__label", x: left + plotWidth / 2, y: bottom + 46, textAnchor: "middle", children: d.x })), d.y && (_jsx("text", { className: "chartmd__label", transform: `translate(16 ${(top + bottom) / 2}) rotate(-90)`, textAnchor: "middle", children: d.y })), d.series.length > 1 &&
|
|
90
|
+
d.series.map((s, si) => (_jsxs("g", { transform: `translate(${left + ((si % 3) * plotWidth) / 3} ${legendTop + Math.floor(si / 3) * 26})`, children: [d.type === 'line' ? (_jsxs(_Fragment, { children: [_jsx("line", { className: "chartmd__line", x1: "0", x2: "28", strokeDasharray: lineStyles[si % 6].dash }), _jsx(Marker, { index: si, x: 14, y: 0 })] })) : (_jsx("rect", { x: "0", y: "-4", width: "24", height: "8", fill: "currentColor", opacity: Math.max(0.4, 0.9 - si * 0.1) })), _jsxs("text", { className: "chartmd__label", x: "38", y: "4", children: [shorten(s.name, 18), _jsx("title", { children: s.name })] })] }, si)))] }));
|
|
105
91
|
}
|
|
106
|
-
function ChartContainer({ node, 'data-chart':
|
|
92
|
+
function ChartContainer({ node, 'data-chart': serialized, children, ...props }) {
|
|
107
93
|
void node;
|
|
108
|
-
|
|
109
|
-
return _jsx(Chart, { "data-chart": serializedDefinition });
|
|
110
|
-
}
|
|
111
|
-
return _jsx("div", { ...props, children: children });
|
|
94
|
+
return serialized ? (_jsx(Chart, { "data-chart": serialized })) : (_jsx("div", { ...props, children: children }));
|
|
112
95
|
}
|
|
113
|
-
export const chartComponents = {
|
|
114
|
-
div: ChartContainer,
|
|
115
|
-
};
|
|
96
|
+
export const chartComponents = { div: ChartContainer };
|
|
116
97
|
//# sourceMappingURL=chart.js.map
|
package/dist/chart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../src/chart.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../src/chart.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Chart, chartComponents, type ChartProps } from './chart.js';
|
|
1
|
+
export { Chart, chartComponents, lineStyles, type ChartProps, } from './chart.js';
|
|
2
2
|
export { parseChart } from './parser.js';
|
|
3
3
|
export { remarkChart } from './remark.js';
|
|
4
4
|
export { ChartSyntaxError, type ChartDefinition, type ChartSeries, type ChartType, } from './types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,eAAe,EACf,UAAU,EACV,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,SAAS,GACf,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,eAAe,EACf,UAAU,GAEX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,gBAAgB,GAIjB,MAAM,YAAY,CAAC"}
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AAiDpB,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AAiDpB,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAoI1D"}
|
package/dist/parser.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChartSyntaxError, } from './types.js';
|
|
2
|
-
const metadataKeys = new Set(['type', 'title', 'x', 'y']);
|
|
2
|
+
const metadataKeys = new Set(['type', 'title', 'x', 'y', 'grid']);
|
|
3
3
|
const separatorCell = /^:?-{3,}:?$/;
|
|
4
4
|
function splitRow(row, line) {
|
|
5
5
|
const trimmed = row.trim();
|
|
@@ -131,6 +131,12 @@ export function parseChart(source) {
|
|
|
131
131
|
definition.x = metadata.x;
|
|
132
132
|
if (metadata.y)
|
|
133
133
|
definition.y = metadata.y;
|
|
134
|
+
if (metadata.grid) {
|
|
135
|
+
if (!['horizontal', 'paper', 'none'].includes(metadata.grid)) {
|
|
136
|
+
throw new ChartSyntaxError('grid must be “horizontal”, “paper”, or “none”');
|
|
137
|
+
}
|
|
138
|
+
definition.grid = metadata.grid;
|
|
139
|
+
}
|
|
134
140
|
return definition;
|
|
135
141
|
}
|
|
136
142
|
//# sourceMappingURL=parser.js.map
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAGjB,MAAM,YAAY,CAAC;AAEpB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAKvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IAJf,IAAI,SAAsB;gBAGjC,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAIzB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAKvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IAJf,IAAI,SAAsB;gBAGjC,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAIzB"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAK9B;IAJF,IAAI,GAAG,kBAAkB,CAAC;IAEnC,YACE,OAAe,EACN,IAAa;QAEtB,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAFxD,SAAI,GAAJ,IAAI,CAAS;IAGxB,CAAC;CACF"}
|
package/package.json
CHANGED
package/style.css
CHANGED
|
@@ -3,27 +3,44 @@
|
|
|
3
3
|
inline-size: 100%;
|
|
4
4
|
max-inline-size: 100%;
|
|
5
5
|
block-size: auto;
|
|
6
|
-
overflow: visible;
|
|
7
6
|
color: var(--chartmd-color, currentColor);
|
|
8
|
-
font: inherit;
|
|
7
|
+
font-family: inherit;
|
|
8
|
+
background: transparent;
|
|
9
|
+
}
|
|
10
|
+
.chartmd__line {
|
|
11
|
+
fill: none;
|
|
12
|
+
stroke: currentColor;
|
|
13
|
+
stroke-width: var(--chartmd-line-width, 1.75);
|
|
14
|
+
stroke-linejoin: round;
|
|
15
|
+
stroke-linecap: round;
|
|
16
|
+
}
|
|
17
|
+
.chartmd__marker {
|
|
18
|
+
fill: currentColor;
|
|
19
|
+
}
|
|
20
|
+
.chartmd__grid,
|
|
21
|
+
.chartmd__axis {
|
|
22
|
+
stroke: currentColor;
|
|
23
|
+
stroke-width: 0.75;
|
|
9
24
|
}
|
|
10
|
-
|
|
11
25
|
.chartmd__grid {
|
|
12
|
-
opacity: var(--chartmd-grid-opacity, 0.
|
|
26
|
+
opacity: var(--chartmd-grid-opacity, 0.1);
|
|
13
27
|
}
|
|
14
|
-
|
|
15
|
-
.
|
|
16
|
-
|
|
17
|
-
.
|
|
18
|
-
.
|
|
28
|
+
.chartmd__axis {
|
|
29
|
+
opacity: 0.35;
|
|
30
|
+
}
|
|
31
|
+
.chartmd__paper {
|
|
32
|
+
opacity: var(--chartmd-paper-opacity, 0.07);
|
|
33
|
+
}
|
|
34
|
+
.chartmd__label {
|
|
19
35
|
fill: currentColor;
|
|
36
|
+
opacity: var(--chartmd-muted-opacity, 0.8);
|
|
37
|
+
font-size: 12px;
|
|
20
38
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
.chartmd__legend {
|
|
24
|
-
opacity: var(--chartmd-muted-opacity, 0.68);
|
|
39
|
+
.chartmd__number {
|
|
40
|
+
font-variant-numeric: tabular-nums;
|
|
25
41
|
}
|
|
26
|
-
|
|
27
42
|
.chartmd__title {
|
|
28
|
-
|
|
43
|
+
fill: currentColor;
|
|
44
|
+
font-size: 17px;
|
|
45
|
+
font-weight: 500;
|
|
29
46
|
}
|