@unovis/mcp 1.7.0-mcp.0 → 1.7.0-mcp.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/README.md +3 -2
- package/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -1
- package/dist/html/document.d.ts +16 -3
- package/dist/html/document.js +50 -20
- package/dist/html/document.js.map +1 -1
- package/dist/index.d.ts +7 -6
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/recipes/area.d.ts +3 -2
- package/dist/recipes/area.js +2 -2
- package/dist/recipes/area.js.map +1 -1
- package/dist/recipes/bar.d.ts +3 -2
- package/dist/recipes/bar.js +2 -2
- package/dist/recipes/bar.js.map +1 -1
- package/dist/recipes/boxplot.d.ts +3 -2
- package/dist/recipes/boxplot.js +2 -2
- package/dist/recipes/boxplot.js.map +1 -1
- package/dist/recipes/chord.d.ts +1 -0
- package/dist/recipes/choropleth.d.ts +2 -1
- package/dist/recipes/choropleth.js +2 -2
- package/dist/recipes/choropleth.js.map +1 -1
- package/dist/recipes/donut.d.ts +1 -0
- package/dist/recipes/donut.js +2 -2
- package/dist/recipes/donut.js.map +1 -1
- package/dist/recipes/graph.d.ts +1 -0
- package/dist/recipes/heatmap.d.ts +2 -1
- package/dist/recipes/heatmap.js +5 -5
- package/dist/recipes/heatmap.js.map +1 -1
- package/dist/recipes/index.d.ts +2 -0
- package/dist/recipes/index.js +3 -0
- package/dist/recipes/index.js.map +1 -1
- package/dist/recipes/line.d.ts +3 -2
- package/dist/recipes/line.js +2 -2
- package/dist/recipes/line.js.map +1 -1
- package/dist/recipes/nested-donut.d.ts +1 -0
- package/dist/recipes/nested-donut.js +2 -2
- package/dist/recipes/nested-donut.js.map +1 -1
- package/dist/recipes/radial-bar.d.ts +1 -0
- package/dist/recipes/radial-bar.js +2 -2
- package/dist/recipes/radial-bar.js.map +1 -1
- package/dist/recipes/sankey.d.ts +1 -0
- package/dist/recipes/scatter.d.ts +4 -3
- package/dist/recipes/scatter.js +8 -6
- package/dist/recipes/scatter.js.map +1 -1
- package/dist/recipes/shared.d.ts +7 -11
- package/dist/recipes/shared.js +15 -56
- package/dist/recipes/shared.js.map +1 -1
- package/dist/recipes/timeline.d.ts +1 -0
- package/dist/recipes/timeline.js +4 -4
- package/dist/recipes/timeline.js.map +1 -1
- package/dist/recipes/treemap.d.ts +1 -0
- package/dist/recipes/treemap.js +2 -2
- package/dist/recipes/treemap.js.map +1 -1
- package/dist/render/materialize.d.ts +9 -3
- package/dist/render/materialize.js +45 -23
- package/dist/render/materialize.js.map +1 -1
- package/dist/render/renderer.d.ts +2 -7
- package/dist/render/renderer.js +1 -1
- package/dist/render/renderer.js.map +1 -1
- package/dist/render/spec-schema.d.ts +1180 -0
- package/dist/render/spec-schema.js +71 -0
- package/dist/render/spec-schema.js.map +1 -0
- package/dist/render/spec.d.ts +10 -7
- package/dist/render/spec.js +4 -8
- package/dist/render/spec.js.map +1 -1
- package/dist/render/time-ticks.d.ts +10 -0
- package/dist/render/time-ticks.js +56 -0
- package/dist/render/time-ticks.js.map +1 -0
- package/dist/tools/register.d.ts +9 -0
- package/dist/tools/register.js +30 -5
- package/dist/tools/register.js.map +1 -1
- package/dist/widget/bundle.js +467 -459
- package/dist/widget/bundle.meta.json +2 -1
- package/dist/widget/bundle.standard.js +802 -0
- package/dist/widget/entry.d.ts +4 -0
- package/dist/widget/entry.js +71 -12
- package/dist/widget/entry.js.map +1 -1
- package/dist/widget/events.d.ts +25 -0
- package/dist/widget/events.js +95 -0
- package/dist/widget/events.js.map +1 -0
- package/dist/widget/interactions.js +22 -12
- package/dist/widget/interactions.js.map +1 -1
- package/dist/widget/unpack.d.ts +1 -0
- package/dist/widget/unpack.js +1 -0
- package/dist/widget/unpack.js.map +1 -0
- package/dist/widget/variants.d.ts +14 -0
- package/dist/widget/variants.js +22 -0
- package/dist/widget/variants.js.map +1 -0
- package/docs/README.md +1 -0
- package/docs/architecture.md +58 -27
- package/docs/chart-spec.md +38 -0
- package/docs/getting-started.md +5 -0
- package/docs/interactive.md +52 -6
- package/docs/output-types.md +1 -0
- package/docs/programmatic.md +24 -0
- package/docs/tools.md +6 -6
- package/docs/troubleshooting.md +27 -7
- package/docs/webview.md +85 -0
- package/package.json +35 -13
- package/schema/chart-spec.v1.baseline.json +309 -0
- package/schema/chart-spec.v1.json +309 -0
- package/dist/env/bbox.d.ts +0 -13
- package/dist/env/bbox.js +0 -335
- package/dist/env/bbox.js.map +0 -1
- package/dist/env/canvas.d.ts +0 -9
- package/dist/env/canvas.js +0 -55
- package/dist/env/canvas.js.map +0 -1
- package/dist/env/computed-style.d.ts +0 -38
- package/dist/env/computed-style.js +0 -186
- package/dist/env/computed-style.js.map +0 -1
- package/dist/env/fonts.d.ts +0 -3
- package/dist/env/fonts.js +0 -103
- package/dist/env/fonts.js.map +0 -1
- package/dist/env/index.d.ts +0 -13
- package/dist/env/index.js +0 -121
- package/dist/env/index.js.map +0 -1
- package/dist/env/raf-queue.d.ts +0 -23
- package/dist/env/raf-queue.js +0 -51
- package/dist/env/raf-queue.js.map +0 -1
- package/dist/env/size.d.ts +0 -9
- package/dist/env/size.js +0 -30
- package/dist/env/size.js.map +0 -1
- package/dist/render/headless.d.ts +0 -62
- package/dist/render/headless.js +0 -158
- package/dist/render/headless.js.map +0 -1
- package/dist/render/mutex.d.ts +0 -9
- package/dist/render/mutex.js +0 -14
- package/dist/render/mutex.js.map +0 -1
- package/dist/render/rasterize.d.ts +0 -10
- package/dist/render/rasterize.js +0 -29
- package/dist/render/rasterize.js.map +0 -1
- package/dist/svg/collect-css.d.ts +0 -14
- package/dist/svg/collect-css.js +0 -53
- package/dist/svg/collect-css.js.map +0 -1
- package/dist/svg/css-vars.d.ts +0 -17
- package/dist/svg/css-vars.js +0 -64
- package/dist/svg/css-vars.js.map +0 -1
- package/dist/svg/header.d.ts +0 -8
- package/dist/svg/header.js +0 -81
- package/dist/svg/header.js.map +0 -1
- package/dist/svg/ids.d.ts +0 -12
- package/dist/svg/ids.js +0 -94
- package/dist/svg/ids.js.map +0 -1
- package/dist/svg/postprocess.d.ts +0 -41
- package/dist/svg/postprocess.js +0 -135
- package/dist/svg/postprocess.js.map +0 -1
- package/fonts/README.md +0 -19
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ Read them on the web at [unovis.dev/docs/mcp](https://unovis.dev/docs/mcp), or i
|
|
|
14
14
|
[chart spec](./docs/chart-spec.md) ·
|
|
15
15
|
[programmatic use](./docs/programmatic.md) ·
|
|
16
16
|
[interactive charts](./docs/interactive.md) ·
|
|
17
|
+
[native WebViews](./docs/webview.md) ·
|
|
17
18
|
[architecture](./docs/architecture.md) ·
|
|
18
19
|
[troubleshooting](./docs/troubleshooting.md)
|
|
19
20
|
|
|
@@ -104,7 +105,7 @@ recipe → ChartSpec ─┬→ headless renderer → SVG / PNG (any clie
|
|
|
104
105
|
└→ widget bundle → ui:// resource (MCP UI clients)
|
|
105
106
|
```
|
|
106
107
|
|
|
107
|
-
The browser widget (~
|
|
108
|
+
The browser widget (everything inlined; documents are ~140kB for XY/radial charts and ~290kB for network/geo ones — the smallest sufficient bundle variant travels as a gzip payload with a self-extracting bootstrap) runs the **same materializer** as the headless renderer, so one code path turns a spec into a chart on both sides. It also works as a plain iframe for any web page — point an iframe at the widget with `#embed` and post it a spec:
|
|
108
109
|
|
|
109
110
|
```js
|
|
110
111
|
iframe.contentWindow.postMessage({ type: 'unovis:render', spec }, '*')
|
|
@@ -121,7 +122,7 @@ Unovis is a browser-first library — it renders SVG into a live DOM using D3. T
|
|
|
121
122
|
2. charts render with `duration: 0` (fully synchronous), the frame queue is drained until quiescent, and `onRenderComplete` confirms the chart is final;
|
|
122
123
|
3. a post-processing pass makes the SVG standalone: emotion styles are inlined as attributes, `var()` references baked to literal values (theme-aware), ids rewritten deterministically, and the title/legend header synthesized.
|
|
123
124
|
|
|
124
|
-
Fonts: on first start the server provisions Inter (Unovis's default font) for text measurement — it downloads the official [Inter release](https://github.com/rsms/inter) once (pinned version, SHA-256 verified, SIL OFL 1.1) into `~/.cache/unovis-
|
|
125
|
+
Fonts: on first start the server provisions Inter (Unovis's default font) for text measurement — it downloads the official [Inter release](https://github.com/rsms/inter) once (pinned version, SHA-256 verified, SIL OFL 1.1) into `~/.cache/unovis-ssr/fonts/` and reuses it from there. Offline or with `UNOVIS_MCP_NO_DOWNLOAD=1` it falls back to system fonts (metrics are close, not exact). To use your own fonts, set `UNOVIS_MCP_FONTS_DIR=/path/to/fonts` or drop font files into `@unovis/ssr`'s `fonts/` directory — both take precedence over the download.
|
|
125
126
|
|
|
126
127
|
## Programmatic use
|
|
127
128
|
|
package/dist/cli.js
CHANGED
|
@@ -27,6 +27,9 @@ Options:
|
|
|
27
27
|
--port <port> HTTP port (default: 3737)
|
|
28
28
|
--endpoint <path> HTTP endpoint path (default: /mcp)
|
|
29
29
|
--tools <a,b,...> Only expose these tools
|
|
30
|
+
--allow-write-dir <dir> Directory outputPath may write into. stdio default:
|
|
31
|
+
anywhere (the user's own machine); http default:
|
|
32
|
+
file writes disabled
|
|
30
33
|
--version Print version
|
|
31
34
|
--help Show this help
|
|
32
35
|
|
|
@@ -37,6 +40,7 @@ async function main() {
|
|
|
37
40
|
const { values } = parseArgs({
|
|
38
41
|
options: {
|
|
39
42
|
transport: { type: 'string', default: 'stdio' },
|
|
43
|
+
'allow-write-dir': { type: 'string' },
|
|
40
44
|
host: { type: 'string', default: '127.0.0.1' },
|
|
41
45
|
port: { type: 'string', default: '3737' },
|
|
42
46
|
endpoint: { type: 'string', default: '/mcp' },
|
|
@@ -56,6 +60,9 @@ async function main() {
|
|
|
56
60
|
const filter = {
|
|
57
61
|
disabledTools: (process.env.DISABLED_TOOLS ?? '').split(',').map(s => s.trim()).filter(Boolean),
|
|
58
62
|
enabledTools: values.tools?.split(',').map(s => s.trim()).filter(Boolean),
|
|
63
|
+
// A local stdio server acts with its user's own authority; an HTTP
|
|
64
|
+
// endpoint must not be a remote file-write primitive
|
|
65
|
+
writeDir: values['allow-write-dir'] ?? (values.transport === 'http' ? false : undefined),
|
|
59
66
|
};
|
|
60
67
|
if (values.transport === 'stdio') {
|
|
61
68
|
const server = buildServer(filter);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAElG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG5D,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/html/document.d.ts
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
import type { ChartSpec } from '../render/spec.js';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import type { BundleVariant } from '../widget/variants.js';
|
|
3
|
+
/** The compiled widget bundle */
|
|
4
|
+
export declare function widgetBundle(variant?: BundleVariant): string;
|
|
4
5
|
export interface ChartDocumentOptions {
|
|
5
6
|
/** Document <title>; defaults to the spec title */
|
|
6
7
|
documentTitle?: string;
|
|
7
8
|
/** Animation duration in ms. 0 renders immediately (deterministic tests,
|
|
8
9
|
* and useful when the chart is screenshotted right after load) */
|
|
9
10
|
duration?: number;
|
|
11
|
+
/** Inline the widget as a gzip+base64 payload with a self-extracting
|
|
12
|
+
* bootstrap (default true). Set false for a plain-text bundle — e.g. when
|
|
13
|
+
* a host page's CSP forbids injected script elements */
|
|
14
|
+
compress?: boolean;
|
|
10
15
|
}
|
|
11
16
|
/** A standalone page that renders `spec` on load */
|
|
12
17
|
export declare function buildChartDocument(spec: ChartSpec, options?: ChartDocumentOptions): string;
|
|
13
18
|
/** A page that renders whatever spec it is sent over postMessage.
|
|
14
19
|
* Protocol: iframe posts `unovis:ready`, host posts `unovis:render` with a
|
|
15
20
|
* spec, iframe posts `unovis:size` after each render. */
|
|
16
|
-
export
|
|
21
|
+
export interface EmbedDocumentOptions {
|
|
22
|
+
/** See ChartDocumentOptions.compress (default true) */
|
|
23
|
+
compress?: boolean;
|
|
24
|
+
/** Component types this embed will ever render (e.g. ['Line', 'Donut']).
|
|
25
|
+
* Lets the document carry the smaller standard bundle when the set allows;
|
|
26
|
+
* omitted, it carries the full bundle so any spec renders */
|
|
27
|
+
components?: string[];
|
|
28
|
+
}
|
|
29
|
+
export declare function buildEmbedDocument(options?: EmbedDocumentOptions): string;
|
package/dist/html/document.js
CHANGED
|
@@ -9,30 +9,61 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { readFileSync } from 'node:fs';
|
|
11
11
|
import { fileURLToPath } from 'node:url';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
import { gzipSync } from 'node:zlib';
|
|
13
|
+
import { bundleVariantFor } from '../widget/variants.js';
|
|
14
|
+
const artifactCache = new Map();
|
|
15
|
+
/** A compiled widget artifact (built by scripts/build-widget.mjs), resolved
|
|
16
|
+
* relative to this module so it works from dist/ and from src/ */
|
|
17
|
+
function widgetArtifact(name) {
|
|
18
|
+
const cached = artifactCache.get(name);
|
|
19
|
+
if (cached)
|
|
20
|
+
return cached;
|
|
18
21
|
const candidates = [
|
|
19
|
-
new URL(
|
|
20
|
-
new URL(
|
|
22
|
+
new URL(`../widget/${name}`, import.meta.url),
|
|
23
|
+
new URL(`../../dist/widget/${name}`, import.meta.url),
|
|
21
24
|
];
|
|
22
25
|
for (const candidate of candidates) {
|
|
23
26
|
try {
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
const content = readFileSync(fileURLToPath(candidate), 'utf8');
|
|
28
|
+
artifactCache.set(name, content);
|
|
29
|
+
return content;
|
|
26
30
|
}
|
|
27
31
|
catch { /* try the next candidate */ }
|
|
28
32
|
}
|
|
29
|
-
throw new Error(
|
|
33
|
+
throw new Error(`Widget artifact ${name} not found — run \`pnpm build:widget\``);
|
|
34
|
+
}
|
|
35
|
+
/** The compiled widget bundle */
|
|
36
|
+
export function widgetBundle(variant = 'full') {
|
|
37
|
+
return widgetArtifact(variant === 'standard' ? 'bundle.standard.js' : 'bundle.js');
|
|
38
|
+
}
|
|
39
|
+
/** The widget, inlined. Compressed by default: a standalone file never gets
|
|
40
|
+
* transport compression, so the bundle ships as a gzip+base64 payload with a
|
|
41
|
+
* ~5kB synchronous bootstrap ahead of it (~3× smaller documents). The spec
|
|
42
|
+
* and styles stay plain text so committed artifacts remain readable and
|
|
43
|
+
* diffable. */
|
|
44
|
+
function inlineWidget(compress, variant) {
|
|
45
|
+
if (!compress)
|
|
46
|
+
return `<script>${widgetBundle(variant)}</script>`;
|
|
47
|
+
const key = `${variant}.gz64`;
|
|
48
|
+
let payload = artifactCache.get(key);
|
|
49
|
+
if (!payload) {
|
|
50
|
+
payload = gzipSync(Buffer.from(widgetBundle(variant)), { level: 9 }).toString('base64');
|
|
51
|
+
artifactCache.set(key, payload);
|
|
52
|
+
}
|
|
53
|
+
return `<script type="application/gzip" id="uv-bundle-gz">${payload}</script>
|
|
54
|
+
<script>${widgetArtifact('unpack.js')}</script>`;
|
|
30
55
|
}
|
|
31
56
|
/** `</script` inside embedded JSON would close the host script element */
|
|
32
57
|
const escapeForScript = (json) => json.replace(/</g, '\\u003c');
|
|
33
58
|
const FONT_STACK = 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif';
|
|
34
59
|
function styles(spec) {
|
|
35
|
-
|
|
60
|
+
// Interpolated into markup — a hand-built spec could smuggle anything in
|
|
61
|
+
// these fields, so only finite numbers survive
|
|
62
|
+
const width = Number(spec?.width);
|
|
63
|
+
const height = Number(spec?.height);
|
|
64
|
+
const aspect = Number.isFinite(width) && Number.isFinite(height) && width > 0 && height > 0
|
|
65
|
+
? `${width} / ${height}`
|
|
66
|
+
: '16 / 9';
|
|
36
67
|
return `
|
|
37
68
|
:root { --uv-bg: #ffffff; --uv-fg: #1f2937; --uv-muted: #6b7280; --uv-border: #e5e7eb; }
|
|
38
69
|
:root[data-theme="dark"] { --uv-bg: #292b34; --uv-fg: #f2f4f9; --uv-muted: #aab2c0; --uv-border: #3a3d47; }
|
|
@@ -53,8 +84,9 @@ function styles(spec) {
|
|
|
53
84
|
/** A standalone page that renders `spec` on load */
|
|
54
85
|
export function buildChartDocument(spec, options = {}) {
|
|
55
86
|
const title = options.documentTitle ?? spec.title ?? 'Unovis chart';
|
|
87
|
+
const variant = bundleVariantFor(spec.components.map(c => c.type));
|
|
56
88
|
return `<!doctype html>
|
|
57
|
-
<html lang="en"${spec.theme === 'dark' ? ' data-theme="dark"' : ''}>
|
|
89
|
+
<html lang="en" data-uv-bundle="${variant}"${spec.theme === 'dark' ? ' data-theme="dark"' : ''}>
|
|
58
90
|
<head>
|
|
59
91
|
<meta charset="utf-8">
|
|
60
92
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
@@ -65,17 +97,15 @@ export function buildChartDocument(spec, options = {}) {
|
|
|
65
97
|
<div id="uv-root"></div>
|
|
66
98
|
<script type="application/json" id="uv-spec">${escapeForScript(JSON.stringify(spec))}</script>
|
|
67
99
|
<script type="application/json" id="uv-options">${escapeForScript(JSON.stringify({ duration: options.duration ?? 400 }))}</script>
|
|
68
|
-
|
|
100
|
+
${inlineWidget(options.compress !== false, variant)}
|
|
69
101
|
</body>
|
|
70
102
|
</html>
|
|
71
103
|
`;
|
|
72
104
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
* spec, iframe posts `unovis:size` after each render. */
|
|
76
|
-
export function buildEmbedDocument() {
|
|
105
|
+
export function buildEmbedDocument(options = {}) {
|
|
106
|
+
const variant = options.components ? bundleVariantFor(options.components) : 'full';
|
|
77
107
|
return `<!doctype html>
|
|
78
|
-
<html lang="en">
|
|
108
|
+
<html lang="en" data-uv-bundle="${variant}">
|
|
79
109
|
<head>
|
|
80
110
|
<meta charset="utf-8">
|
|
81
111
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
@@ -86,7 +116,7 @@ export function buildEmbedDocument() {
|
|
|
86
116
|
</head>
|
|
87
117
|
<body>
|
|
88
118
|
<div id="uv-embed-root"></div>
|
|
89
|
-
|
|
119
|
+
${inlineWidget(options.compress !== false, variant)}
|
|
90
120
|
<script>window.UnovisChart.startEmbed()</script>
|
|
91
121
|
</body>
|
|
92
122
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/html/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/html/document.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,19 +7,20 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export { renderChart, ChartInputError } from './render/renderer.js';
|
|
9
9
|
export type { RenderOptions } from './render/renderer.js';
|
|
10
|
-
export { renderToSvg } from '
|
|
11
|
-
export type { HeadlessRenderOptions, BuildContext, RenderedChart, RenderResult } from '
|
|
10
|
+
export { renderToSvg } from '@unovis/ssr';
|
|
11
|
+
export type { HeadlessRenderOptions, BuildContext, RenderedChart, RenderResult } from '@unovis/ssr';
|
|
12
12
|
export { buildChartDocument, buildEmbedDocument } from './html/document.js';
|
|
13
13
|
export type { ChartDocumentOptions } from './html/document.js';
|
|
14
|
-
export { svgToPng, themeBackground } from '
|
|
15
|
-
export type { RasterizeOptions } from '
|
|
14
|
+
export { svgToPng, themeBackground } from '@unovis/ssr';
|
|
15
|
+
export type { RasterizeOptions } from '@unovis/ssr';
|
|
16
|
+
export { SPEC_VERSION } from './render/spec.js';
|
|
16
17
|
export type { ChartSpec, ComponentSpec, AxisSpec, AccessorRef, LegendItemSpec } from './render/spec.js';
|
|
17
18
|
export { recipes, recipeByName } from './recipes/index.js';
|
|
18
19
|
export type { Recipe, AnyRecipe } from './recipes/index.js';
|
|
19
20
|
export { buildServer } from './server.js';
|
|
20
21
|
export { registerTools, activeRecipes } from './tools/register.js';
|
|
21
22
|
export type { ToolFilterOptions } from './tools/register.js';
|
|
22
|
-
export { getRenderEnv } from '
|
|
23
|
-
export type { RenderEnv, UnovisLib } from '
|
|
23
|
+
export { getRenderEnv } from '@unovis/ssr';
|
|
24
|
+
export type { RenderEnv, UnovisLib } from '@unovis/ssr';
|
|
24
25
|
export { generateCode, formatGeneratedFiles, FRAMEWORKS } from './codegen/index.js';
|
|
25
26
|
export type { Framework, GeneratedFile } from './codegen/index.js';
|
package/dist/index.js
CHANGED
|
@@ -7,12 +7,15 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export { renderChart, ChartInputError } from './render/renderer.js';
|
|
9
9
|
// The headless primitive: render any Unovis chart to standalone SVG in Node
|
|
10
|
-
|
|
10
|
+
// Re-exported from @unovis/ssr, where the headless renderer now lives —
|
|
11
|
+
// existing imports from '@unovis/mcp' keep working
|
|
12
|
+
export { renderToSvg } from '@unovis/ssr';
|
|
11
13
|
export { buildChartDocument, buildEmbedDocument } from './html/document.js';
|
|
12
|
-
export { svgToPng, themeBackground } from '
|
|
14
|
+
export { svgToPng, themeBackground } from '@unovis/ssr';
|
|
15
|
+
export { SPEC_VERSION } from './render/spec.js';
|
|
13
16
|
export { recipes, recipeByName } from './recipes/index.js';
|
|
14
17
|
export { buildServer } from './server.js';
|
|
15
18
|
export { registerTools, activeRecipes } from './tools/register.js';
|
|
16
|
-
export { getRenderEnv } from '
|
|
19
|
+
export { getRenderEnv } from '@unovis/ssr';
|
|
17
20
|
export { generateCode, formatGeneratedFiles, FRAMEWORKS } from './codegen/index.js';
|
|
18
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEnE,4EAA4E;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEnE,4EAA4E;AAC5E,wEAAwE;AACxE,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE3E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/recipes/area.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const areaInputShape: {
|
|
|
4
4
|
width: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
height: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
theme: z.ZodDefault<z.ZodEnum<["light", "dark"]>>;
|
|
7
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
7
8
|
title: z.ZodOptional<z.ZodString>;
|
|
8
9
|
colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
10
|
framework: z.ZodDefault<z.ZodEnum<["ts", "react", "svelte", "vue", "angular", "solid"]>>;
|
|
@@ -23,18 +24,18 @@ export declare const areaInputShape: {
|
|
|
23
24
|
style: z.ZodDefault<z.ZodEnum<["dashed", "solid", "dotted"]>>;
|
|
24
25
|
}, "strip", z.ZodTypeAny, {
|
|
25
26
|
value: number;
|
|
26
|
-
style: "solid" | "dashed" | "dotted";
|
|
27
27
|
axis: "x" | "y";
|
|
28
28
|
lineWidth: number;
|
|
29
|
+
style: "solid" | "dashed" | "dotted";
|
|
29
30
|
label?: string | undefined;
|
|
30
31
|
color?: string | undefined;
|
|
31
32
|
}, {
|
|
32
33
|
value: number;
|
|
33
34
|
label?: string | undefined;
|
|
34
35
|
color?: string | undefined;
|
|
35
|
-
style?: "solid" | "dashed" | "dotted" | undefined;
|
|
36
36
|
axis?: "x" | "y" | undefined;
|
|
37
37
|
lineWidth?: number | undefined;
|
|
38
|
+
style?: "solid" | "dashed" | "dotted" | undefined;
|
|
38
39
|
}>, "many">>;
|
|
39
40
|
referenceBands: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
40
41
|
axis: z.ZodDefault<z.ZodEnum<["x", "y"]>>;
|
package/dist/recipes/area.js
CHANGED
|
@@ -5,8 +5,8 @@ import { commonInput, xyInput, dataRecords, fieldName, assertFieldsExist, baseSp
|
|
|
5
5
|
const seriesColor = (i, colors) => colors?.length ? colors[i % colors.length] : `var(--vis-color${i % 6})`;
|
|
6
6
|
export const areaInputShape = {
|
|
7
7
|
data: dataRecords,
|
|
8
|
-
x: fieldName.describe('Field for X values: numbers, or date strings when xIsTime is true, or category names'),
|
|
9
|
-
y: z.union([fieldName, z.array(fieldName).min(1).max(12)])
|
|
8
|
+
x: fieldName().describe('Field for X values: numbers, or date strings when xIsTime is true, or category names'),
|
|
9
|
+
y: z.union([fieldName(), z.array(fieldName()).min(1).max(12)])
|
|
10
10
|
.describe('Field name(s) for Y values. Multiple field names render multiple areas'),
|
|
11
11
|
stacked: z.boolean().default(true)
|
|
12
12
|
.describe('Stack multiple y series on top of each other. When false, series overlap with transparency'),
|
package/dist/recipes/area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"area.js","sourceRoot":"","sources":["../../src/recipes/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,sBAAsB,EACtB,OAAO,EACP,MAAM,EACN,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAGpB;uEACuE;AACvE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,MAAiB,EAAU,EAAE,CAC3D,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAA;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW;IACjB,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,sFAAsF,CAAC;
|
|
1
|
+
{"version":3,"file":"area.js","sourceRoot":"","sources":["../../src/recipes/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,sBAAsB,EACtB,OAAO,EACP,MAAM,EACN,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAGpB;uEACuE;AACvE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,MAAiB,EAAU,EAAE,CAC3D,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAA;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW;IACjB,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;IAC/G,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3D,QAAQ,CAAC,wEAAwE,CAAC;IACrF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC/B,QAAQ,CAAC,4FAA4F,CAAC;IACzG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/G,QAAQ,CAAC,yBAAyB,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC9F,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IACzH,GAAG,aAAa;IAChB,GAAG,OAAO;IACV,GAAG,WAAW;CACf,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAkC;IACvD,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qFAAqF;QAChG,iGAAiG;QACjG,qHAAqH;IACvH,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAoB,CAAA;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChC,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAA;QAE9C,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAA;QAExE,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACrD,MAAM,UAAU,GAAoB,QAAQ;YAC1C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,CAAC;oBACD,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;oBACrB,SAAS,EAAE,KAAK,CAAC,KAAK;oBACtB,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;iBACpC;aACF,CAAC,CAAC;YACH,CAAC,CAAC,CAAC;oBACD,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACN,CAAC;wBACD,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;wBACvC,SAAS,EAAE,KAAK,CAAC,KAAK;qBACvB;iBACF,CAAC,CAAA;QAEJ,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClB,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACzD,KAAK,EAAE;gBACL,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnE,GAAG,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC9F,CAAC,CAAC,EAAE,CAAC;aACR;YACD,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE;YAC9D,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACxD,IAAI;SACL,CAAA;IACH,CAAC;CACF,CAAA"}
|
package/dist/recipes/bar.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const barInputShape: {
|
|
|
4
4
|
width: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
height: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
theme: z.ZodDefault<z.ZodEnum<["light", "dark"]>>;
|
|
7
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
7
8
|
title: z.ZodOptional<z.ZodString>;
|
|
8
9
|
colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
10
|
framework: z.ZodDefault<z.ZodEnum<["ts", "react", "svelte", "vue", "angular", "solid"]>>;
|
|
@@ -23,18 +24,18 @@ export declare const barInputShape: {
|
|
|
23
24
|
style: z.ZodDefault<z.ZodEnum<["dashed", "solid", "dotted"]>>;
|
|
24
25
|
}, "strip", z.ZodTypeAny, {
|
|
25
26
|
value: number;
|
|
26
|
-
style: "solid" | "dashed" | "dotted";
|
|
27
27
|
axis: "x" | "y";
|
|
28
28
|
lineWidth: number;
|
|
29
|
+
style: "solid" | "dashed" | "dotted";
|
|
29
30
|
label?: string | undefined;
|
|
30
31
|
color?: string | undefined;
|
|
31
32
|
}, {
|
|
32
33
|
value: number;
|
|
33
34
|
label?: string | undefined;
|
|
34
35
|
color?: string | undefined;
|
|
35
|
-
style?: "solid" | "dashed" | "dotted" | undefined;
|
|
36
36
|
axis?: "x" | "y" | undefined;
|
|
37
37
|
lineWidth?: number | undefined;
|
|
38
|
+
style?: "solid" | "dashed" | "dotted" | undefined;
|
|
38
39
|
}>, "many">>;
|
|
39
40
|
referenceBands: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
40
41
|
axis: z.ZodDefault<z.ZodEnum<["x", "y"]>>;
|
package/dist/recipes/bar.js
CHANGED
|
@@ -2,8 +2,8 @@ import { z } from 'zod';
|
|
|
2
2
|
import { commonInput, xyInput, dataRecords, fieldName, assertFieldsExist, baseSpec, categoricalX, categoryAxis, field, seriesLegend, toArray, xyAxes, xyDecorations, decorationComponents, } from './shared.js';
|
|
3
3
|
export const barInputShape = {
|
|
4
4
|
data: dataRecords,
|
|
5
|
-
x: fieldName.describe('Field for the category dimension (names or numbers)'),
|
|
6
|
-
y: z.union([fieldName, z.array(fieldName).min(1).max(12)])
|
|
5
|
+
x: fieldName().describe('Field for the category dimension (names or numbers)'),
|
|
6
|
+
y: z.union([fieldName(), z.array(fieldName()).min(1).max(12)])
|
|
7
7
|
.describe('Field name(s) for bar values. Multiple field names render one bar (or stack segment) per series'),
|
|
8
8
|
type: z.enum(['grouped', 'stacked']).default('grouped')
|
|
9
9
|
.describe('How multiple series are arranged: side-by-side groups or stacks'),
|
package/dist/recipes/bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar.js","sourceRoot":"","sources":["../../src/recipes/bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAGpB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"bar.js","sourceRoot":"","sources":["../../src/recipes/bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAGpB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IAC9E,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3D,QAAQ,CAAC,iGAAiG,CAAC;IAC9G,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SACpD,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;SAChE,QAAQ,CAAC,yDAAyD,CAAC;IACtE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IACvH,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACzG,GAAG,aAAa;IAChB,GAAG,OAAO;IACV,GAAG,WAAW;CACf,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAiC;IACrD,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,oFAAoF;QAC/F,8CAA8C;QAC9C,6GAA6G;IAC/G,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAoB,CAAA;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChC,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAA;QAE9C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,YAAY,CAAA;QACrD,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAA;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAE1B,uEAAuE;QACvE,+CAA+C;QAC/C,IAAI,KAAK,GAAa,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvC,IAAI,KAAK,GAAa,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAA;QAC7E,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC9E,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;gBACvC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAA;YACjE,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;YACzC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClB,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;oBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;oBAC5D,MAAM,EAAE;wBACN,CAAC;wBACD,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;wBACvC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5E;iBACF,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACjB,KAAK;YACL,KAAK;YACL,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACxD,IAAI;SACL,CAAA;IACH,CAAC;CACF,CAAA"}
|
|
@@ -4,6 +4,7 @@ export declare const boxplotInputShape: {
|
|
|
4
4
|
width: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
height: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
theme: z.ZodDefault<z.ZodEnum<["light", "dark"]>>;
|
|
7
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
7
8
|
title: z.ZodOptional<z.ZodString>;
|
|
8
9
|
colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
10
|
framework: z.ZodDefault<z.ZodEnum<["ts", "react", "svelte", "vue", "angular", "solid"]>>;
|
|
@@ -19,18 +20,18 @@ export declare const boxplotInputShape: {
|
|
|
19
20
|
style: z.ZodDefault<z.ZodEnum<["dashed", "solid", "dotted"]>>;
|
|
20
21
|
}, "strip", z.ZodTypeAny, {
|
|
21
22
|
value: number;
|
|
22
|
-
style: "solid" | "dashed" | "dotted";
|
|
23
23
|
axis: "x" | "y";
|
|
24
24
|
lineWidth: number;
|
|
25
|
+
style: "solid" | "dashed" | "dotted";
|
|
25
26
|
label?: string | undefined;
|
|
26
27
|
color?: string | undefined;
|
|
27
28
|
}, {
|
|
28
29
|
value: number;
|
|
29
30
|
label?: string | undefined;
|
|
30
31
|
color?: string | undefined;
|
|
31
|
-
style?: "solid" | "dashed" | "dotted" | undefined;
|
|
32
32
|
axis?: "x" | "y" | undefined;
|
|
33
33
|
lineWidth?: number | undefined;
|
|
34
|
+
style?: "solid" | "dashed" | "dotted" | undefined;
|
|
34
35
|
}>, "many">>;
|
|
35
36
|
referenceBands: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
36
37
|
axis: z.ZodDefault<z.ZodEnum<["x", "y"]>>;
|
package/dist/recipes/boxplot.js
CHANGED
|
@@ -11,8 +11,8 @@ const quantileSorted = (sorted, p) => {
|
|
|
11
11
|
const round6 = (value) => Math.round(value * 1e6) / 1e6;
|
|
12
12
|
export const boxplotInputShape = {
|
|
13
13
|
data: dataRecords,
|
|
14
|
-
groupBy: fieldName.describe('Field with the group/category of each observation (one box per distinct value)'),
|
|
15
|
-
value: fieldName.describe('Field with the numeric value of each observation'),
|
|
14
|
+
groupBy: fieldName().describe('Field with the group/category of each observation (one box per distinct value)'),
|
|
15
|
+
value: fieldName().describe('Field with the numeric value of each observation'),
|
|
16
16
|
boxPadding: z.number().min(0).max(0.9).default(0.25).describe('Fractional padding between boxes, 0..0.9'),
|
|
17
17
|
boxMaxWidth: z.number().min(4).max(400).optional().describe('Maximum box width in pixels'),
|
|
18
18
|
roundedCorners: z.number().min(0).max(20).default(2).describe('Corner radius of the boxes in pixels'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boxplot.js","sourceRoot":"","sources":["../../src/recipes/boxplot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,MAAM,EACN,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAGpB,uFAAuF;AACvF,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAE,CAAS,EAAU,EAAE;IAC7D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;AAEvE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,gFAAgF,CAAC;
|
|
1
|
+
{"version":3,"file":"boxplot.js","sourceRoot":"","sources":["../../src/recipes/boxplot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,MAAM,EACN,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAGpB,uFAAuF;AACvF,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAE,CAAS,EAAU,EAAE;IAC7D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;AAEvE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;IAC/G,KAAK,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACzG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACrG,UAAU,EAAE,OAAO,CAAC,UAAU;IAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;IAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,GAAG,aAAa;IAChB,GAAG,WAAW;CACf,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,+FAA+F;QAC1G,2IAA2I;QAC3I,2HAA2H;QAC3H,qCAAqC;IACvC,UAAU,EAAE,iBAAiB;IAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAoB,CAAA;QACvC,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAErD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,UAAU,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;QAEnG,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,MAAM,GAAG,IAAI;iBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC;iBAC9G,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACxB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CAAC,UAAU,KAAK,qBAAqB,KAAK,CAAC,KAAK,UAAU,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACvC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAC1C,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACvC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAA;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;YACvE,OAAO;gBACL,KAAK;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,QAAQ,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;aACpD,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAE1B,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClB,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;oBAC1B,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;wBACnB,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;wBAC5B,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;wBAClC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;wBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9E,cAAc,EAAE,KAAK,CAAC,cAAc;qBACrC;iBACF,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACjB,oEAAoE;YACpE,sEAAsE;YACtE,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;YACpG,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE;YAC9D,IAAI,EAAE,KAAK;SACZ,CAAA;IACH,CAAC;CACF,CAAA"}
|
package/dist/recipes/chord.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const chordInputShape: {
|
|
|
4
4
|
width: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
height: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
theme: z.ZodDefault<z.ZodEnum<["light", "dark"]>>;
|
|
7
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
7
8
|
title: z.ZodOptional<z.ZodString>;
|
|
8
9
|
colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
10
|
framework: z.ZodDefault<z.ZodEnum<["ts", "react", "svelte", "vue", "angular", "solid"]>>;
|
|
@@ -4,6 +4,7 @@ export declare const choroplethInputShape: {
|
|
|
4
4
|
width: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
height: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
theme: z.ZodDefault<z.ZodEnum<["light", "dark"]>>;
|
|
7
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
7
8
|
title: z.ZodOptional<z.ZodString>;
|
|
8
9
|
colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
10
|
framework: z.ZodDefault<z.ZodEnum<["ts", "react", "svelte", "vue", "angular", "solid"]>>;
|
|
@@ -21,7 +22,7 @@ export declare const choroplethInputShape: {
|
|
|
21
22
|
value: number;
|
|
22
23
|
id: string;
|
|
23
24
|
}>, "many">;
|
|
24
|
-
colorRange: z.ZodOptional<z.
|
|
25
|
+
colorRange: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
25
26
|
valueLabel: z.ZodDefault<z.ZodString>;
|
|
26
27
|
};
|
|
27
28
|
export declare const choroplethRecipe: Recipe<typeof choroplethInputShape>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { commonInput, ChartInputError } from './shared.js';
|
|
3
3
|
import { choroplethMaps, resolveArea } from './choropleth-regions.js';
|
|
4
|
-
const hexColor = z.string().regex(/^#[0-9a-fA-F]{3,8}$/, 'hex color, e.g. #2260C4');
|
|
4
|
+
const hexColor = () => z.string().regex(/^#[0-9a-fA-F]{3,8}$/, 'hex color, e.g. #2260C4');
|
|
5
5
|
const hexToRgb = (hex) => {
|
|
6
6
|
let h = hex.slice(1);
|
|
7
7
|
if (h.length < 6)
|
|
@@ -22,7 +22,7 @@ export const choroplethInputShape = {
|
|
|
22
22
|
id: z.string().min(1).describe('Area code or name (see the map option for accepted formats)'),
|
|
23
23
|
value: z.number().describe('Numeric value driving the area color'),
|
|
24
24
|
})).min(1).describe('One entry per area, e.g. [{"id":"US","value":21},{"id":"Germany","value":46}]'),
|
|
25
|
-
colorRange: z.
|
|
25
|
+
colorRange: z.array(hexColor()).length(2).optional()
|
|
26
26
|
.describe('[lowColor, highColor] hex pair; area colors are interpolated between them. Defaults to a blue ramp'),
|
|
27
27
|
valueLabel: z.string().default('').describe('Unit for legend labels, e.g. "%" or " GWh"'),
|
|
28
28
|
...commonInput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/recipes/choropleth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrE,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/recipes/choropleth.ts"],"names":[],"mappings":"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"}
|
package/dist/recipes/donut.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const donutInputShape: {
|
|
|
4
4
|
width: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
height: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
theme: z.ZodDefault<z.ZodEnum<["light", "dark"]>>;
|
|
7
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
7
8
|
title: z.ZodOptional<z.ZodString>;
|
|
8
9
|
colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
10
|
framework: z.ZodDefault<z.ZodEnum<["ts", "react", "svelte", "vue", "angular", "solid"]>>;
|
package/dist/recipes/donut.js
CHANGED
|
@@ -2,8 +2,8 @@ import { z } from 'zod';
|
|
|
2
2
|
import { commonInput, dataRecords, fieldName, assertFieldsExist, baseSpec, field } from './shared.js';
|
|
3
3
|
export const donutInputShape = {
|
|
4
4
|
data: dataRecords,
|
|
5
|
-
value: fieldName.describe('Field with the numeric value of each segment'),
|
|
6
|
-
label: fieldName.optional().describe('Field with the segment name (used for the legend)'),
|
|
5
|
+
value: fieldName().describe('Field with the numeric value of each segment'),
|
|
6
|
+
label: fieldName().optional().describe('Field with the segment name (used for the legend)'),
|
|
7
7
|
variant: z.enum(['donut', 'pie']).default('donut').describe('Donut (ring) or full pie'),
|
|
8
8
|
arcWidth: z.number().min(2).max(200).optional().describe('Ring thickness in pixels (donut variant only)'),
|
|
9
9
|
centralLabel: z.string().optional().describe('Text in the middle of the donut'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"donut.js","sourceRoot":"","sources":["../../src/recipes/donut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGrG,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"donut.js","sourceRoot":"","sources":["../../src/recipes/donut.ts"],"names":[],"mappings":"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"}
|
package/dist/recipes/graph.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const graphInputShape: {
|
|
|
4
4
|
height: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
width: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
theme: z.ZodDefault<z.ZodEnum<["light", "dark"]>>;
|
|
7
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
7
8
|
title: z.ZodOptional<z.ZodString>;
|
|
8
9
|
colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
10
|
framework: z.ZodDefault<z.ZodEnum<["ts", "react", "svelte", "vue", "angular", "solid"]>>;
|