@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.
Files changed (148) hide show
  1. package/README.md +3 -2
  2. package/dist/cli.js +7 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/html/document.d.ts +16 -3
  5. package/dist/html/document.js +50 -20
  6. package/dist/html/document.js.map +1 -1
  7. package/dist/index.d.ts +7 -6
  8. package/dist/index.js +6 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/recipes/area.d.ts +3 -2
  11. package/dist/recipes/area.js +2 -2
  12. package/dist/recipes/area.js.map +1 -1
  13. package/dist/recipes/bar.d.ts +3 -2
  14. package/dist/recipes/bar.js +2 -2
  15. package/dist/recipes/bar.js.map +1 -1
  16. package/dist/recipes/boxplot.d.ts +3 -2
  17. package/dist/recipes/boxplot.js +2 -2
  18. package/dist/recipes/boxplot.js.map +1 -1
  19. package/dist/recipes/chord.d.ts +1 -0
  20. package/dist/recipes/choropleth.d.ts +2 -1
  21. package/dist/recipes/choropleth.js +2 -2
  22. package/dist/recipes/choropleth.js.map +1 -1
  23. package/dist/recipes/donut.d.ts +1 -0
  24. package/dist/recipes/donut.js +2 -2
  25. package/dist/recipes/donut.js.map +1 -1
  26. package/dist/recipes/graph.d.ts +1 -0
  27. package/dist/recipes/heatmap.d.ts +2 -1
  28. package/dist/recipes/heatmap.js +5 -5
  29. package/dist/recipes/heatmap.js.map +1 -1
  30. package/dist/recipes/index.d.ts +2 -0
  31. package/dist/recipes/index.js +3 -0
  32. package/dist/recipes/index.js.map +1 -1
  33. package/dist/recipes/line.d.ts +3 -2
  34. package/dist/recipes/line.js +2 -2
  35. package/dist/recipes/line.js.map +1 -1
  36. package/dist/recipes/nested-donut.d.ts +1 -0
  37. package/dist/recipes/nested-donut.js +2 -2
  38. package/dist/recipes/nested-donut.js.map +1 -1
  39. package/dist/recipes/radial-bar.d.ts +1 -0
  40. package/dist/recipes/radial-bar.js +2 -2
  41. package/dist/recipes/radial-bar.js.map +1 -1
  42. package/dist/recipes/sankey.d.ts +1 -0
  43. package/dist/recipes/scatter.d.ts +4 -3
  44. package/dist/recipes/scatter.js +8 -6
  45. package/dist/recipes/scatter.js.map +1 -1
  46. package/dist/recipes/shared.d.ts +7 -11
  47. package/dist/recipes/shared.js +15 -56
  48. package/dist/recipes/shared.js.map +1 -1
  49. package/dist/recipes/timeline.d.ts +1 -0
  50. package/dist/recipes/timeline.js +4 -4
  51. package/dist/recipes/timeline.js.map +1 -1
  52. package/dist/recipes/treemap.d.ts +1 -0
  53. package/dist/recipes/treemap.js +2 -2
  54. package/dist/recipes/treemap.js.map +1 -1
  55. package/dist/render/materialize.d.ts +9 -3
  56. package/dist/render/materialize.js +45 -23
  57. package/dist/render/materialize.js.map +1 -1
  58. package/dist/render/renderer.d.ts +2 -7
  59. package/dist/render/renderer.js +1 -1
  60. package/dist/render/renderer.js.map +1 -1
  61. package/dist/render/spec-schema.d.ts +1180 -0
  62. package/dist/render/spec-schema.js +71 -0
  63. package/dist/render/spec-schema.js.map +1 -0
  64. package/dist/render/spec.d.ts +10 -7
  65. package/dist/render/spec.js +4 -8
  66. package/dist/render/spec.js.map +1 -1
  67. package/dist/render/time-ticks.d.ts +10 -0
  68. package/dist/render/time-ticks.js +56 -0
  69. package/dist/render/time-ticks.js.map +1 -0
  70. package/dist/tools/register.d.ts +9 -0
  71. package/dist/tools/register.js +30 -5
  72. package/dist/tools/register.js.map +1 -1
  73. package/dist/widget/bundle.js +467 -459
  74. package/dist/widget/bundle.meta.json +2 -1
  75. package/dist/widget/bundle.standard.js +802 -0
  76. package/dist/widget/entry.d.ts +4 -0
  77. package/dist/widget/entry.js +71 -12
  78. package/dist/widget/entry.js.map +1 -1
  79. package/dist/widget/events.d.ts +25 -0
  80. package/dist/widget/events.js +95 -0
  81. package/dist/widget/events.js.map +1 -0
  82. package/dist/widget/interactions.js +22 -12
  83. package/dist/widget/interactions.js.map +1 -1
  84. package/dist/widget/unpack.d.ts +1 -0
  85. package/dist/widget/unpack.js +1 -0
  86. package/dist/widget/unpack.js.map +1 -0
  87. package/dist/widget/variants.d.ts +14 -0
  88. package/dist/widget/variants.js +22 -0
  89. package/dist/widget/variants.js.map +1 -0
  90. package/docs/README.md +1 -0
  91. package/docs/architecture.md +58 -27
  92. package/docs/chart-spec.md +38 -0
  93. package/docs/getting-started.md +5 -0
  94. package/docs/interactive.md +52 -6
  95. package/docs/output-types.md +1 -0
  96. package/docs/programmatic.md +24 -0
  97. package/docs/tools.md +6 -6
  98. package/docs/troubleshooting.md +27 -7
  99. package/docs/webview.md +85 -0
  100. package/package.json +35 -13
  101. package/schema/chart-spec.v1.baseline.json +309 -0
  102. package/schema/chart-spec.v1.json +309 -0
  103. package/dist/env/bbox.d.ts +0 -13
  104. package/dist/env/bbox.js +0 -335
  105. package/dist/env/bbox.js.map +0 -1
  106. package/dist/env/canvas.d.ts +0 -9
  107. package/dist/env/canvas.js +0 -55
  108. package/dist/env/canvas.js.map +0 -1
  109. package/dist/env/computed-style.d.ts +0 -38
  110. package/dist/env/computed-style.js +0 -186
  111. package/dist/env/computed-style.js.map +0 -1
  112. package/dist/env/fonts.d.ts +0 -3
  113. package/dist/env/fonts.js +0 -103
  114. package/dist/env/fonts.js.map +0 -1
  115. package/dist/env/index.d.ts +0 -13
  116. package/dist/env/index.js +0 -121
  117. package/dist/env/index.js.map +0 -1
  118. package/dist/env/raf-queue.d.ts +0 -23
  119. package/dist/env/raf-queue.js +0 -51
  120. package/dist/env/raf-queue.js.map +0 -1
  121. package/dist/env/size.d.ts +0 -9
  122. package/dist/env/size.js +0 -30
  123. package/dist/env/size.js.map +0 -1
  124. package/dist/render/headless.d.ts +0 -62
  125. package/dist/render/headless.js +0 -158
  126. package/dist/render/headless.js.map +0 -1
  127. package/dist/render/mutex.d.ts +0 -9
  128. package/dist/render/mutex.js +0 -14
  129. package/dist/render/mutex.js.map +0 -1
  130. package/dist/render/rasterize.d.ts +0 -10
  131. package/dist/render/rasterize.js +0 -29
  132. package/dist/render/rasterize.js.map +0 -1
  133. package/dist/svg/collect-css.d.ts +0 -14
  134. package/dist/svg/collect-css.js +0 -53
  135. package/dist/svg/collect-css.js.map +0 -1
  136. package/dist/svg/css-vars.d.ts +0 -17
  137. package/dist/svg/css-vars.js +0 -64
  138. package/dist/svg/css-vars.js.map +0 -1
  139. package/dist/svg/header.d.ts +0 -8
  140. package/dist/svg/header.js +0 -81
  141. package/dist/svg/header.js.map +0 -1
  142. package/dist/svg/ids.d.ts +0 -12
  143. package/dist/svg/ids.js +0 -94
  144. package/dist/svg/ids.js.map +0 -1
  145. package/dist/svg/postprocess.d.ts +0 -41
  146. package/dist/svg/postprocess.js +0 -135
  147. package/dist/svg/postprocess.js.map +0 -1
  148. 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 (~665kB, everything inlined) 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
+ 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-mcp/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 the package's `fonts/` directory — both take precedence over the download.
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":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,29 @@
1
1
  import type { ChartSpec } from '../render/spec.js';
2
- /** The compiled widget bundle (built by scripts/build-widget.mjs) */
3
- export declare function widgetBundle(): string;
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 declare function buildEmbedDocument(): string;
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;
@@ -9,30 +9,61 @@
9
9
  */
10
10
  import { readFileSync } from 'node:fs';
11
11
  import { fileURLToPath } from 'node:url';
12
- let cachedBundle;
13
- /** The compiled widget bundle (built by scripts/build-widget.mjs) */
14
- export function widgetBundle() {
15
- if (cachedBundle)
16
- return cachedBundle;
17
- // Resolve relative to this module so it works from dist/ and from src/
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('../widget/bundle.js', import.meta.url),
20
- new URL('../../dist/widget/bundle.js', import.meta.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
- cachedBundle = readFileSync(fileURLToPath(candidate), 'utf8');
25
- return cachedBundle;
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('Widget bundle not found — run `pnpm build:widget`');
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
- const aspect = spec ? `${spec.width} / ${spec.height}` : '16 / 9';
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
- <script>${widgetBundle()}</script>
100
+ ${inlineWidget(options.compress !== false, variant)}
69
101
  </body>
70
102
  </html>
71
103
  `;
72
104
  }
73
- /** A page that renders whatever spec it is sent over postMessage.
74
- * Protocol: iframe posts `unovis:ready`, host posts `unovis:render` with a
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
- <script>${widgetBundle()}</script>
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;AAIxC,IAAI,YAAgC,CAAA;AAEpC,qEAAqE;AACrE,MAAM,UAAU,YAAY;IAC1B,IAAI,YAAY;QAAE,OAAO,YAAY,CAAA;IACrC,uEAAuE;IACvE,MAAM,UAAU,GAAG;QACjB,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/C,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACxD,CAAA;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;YAC7D,OAAO,YAAY,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,CAAC;AAED,0EAA0E;AAC1E,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AAE/E,MAAM,UAAU,GAAG,6EAA6E,CAAA;AAEhG,SAAS,MAAM,CAAE,IAAgB;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;IACjE,OAAO;;;oGAG2F,UAAU;;;;;2CAKnE,MAAM;;;;;;;mEAOkB,CAAA;AACnE,CAAC;AAUD,oDAAoD;AACpD,MAAM,UAAU,kBAAkB,CAAE,IAAe,EAAE,UAAgC,EAAE;IACrF,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,CAAA;IACnE,OAAO;iBACQ,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;;;;SAIzD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SAC3B,MAAM,CAAC,IAAI,CAAC;;;;+CAI0B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;kDAClC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC;UAC9G,YAAY,EAAE;;;CAGvB,CAAA;AACD,CAAC;AAED;;yDAEyD;AACzD,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;SAMA,MAAM,EAAE;;;;;;UAMP,YAAY,EAAE;;;;CAIvB,CAAA;AACD,CAAC"}
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 './render/headless.js';
11
- export type { HeadlessRenderOptions, BuildContext, RenderedChart, RenderResult } from './render/headless.js';
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 './render/rasterize.js';
15
- export type { RasterizeOptions } from './render/rasterize.js';
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 './env/index.js';
23
- export type { RenderEnv, UnovisLib } from './env/index.js';
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
- export { renderToSvg } from './render/headless.js';
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 './render/rasterize.js';
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 './env/index.js';
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,sBAAsB,CAAA;AAElD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE3E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGjE,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,gBAAgB,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA"}
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"}
@@ -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"]>>;
@@ -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'),
@@ -1 +1 @@
1
- {"version":3,"file":"area.js","sourceRoot":"","sources":["../../src/recipes/area.ts"],"names":[],"mappings":"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"}
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"}
@@ -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"]>>;
@@ -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'),
@@ -1 +1 @@
1
- {"version":3,"file":"bar.js","sourceRoot":"","sources":["../../src/recipes/bar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bar.js","sourceRoot":"","sources":["../../src/recipes/bar.ts"],"names":[],"mappings":"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"}
@@ -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"]>>;
@@ -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":"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"}
1
+ {"version":3,"file":"boxplot.js","sourceRoot":"","sources":["../../src/recipes/boxplot.ts"],"names":[],"mappings":"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"}
@@ -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.ZodTuple<[z.ZodString, z.ZodString], null>>;
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.tuple([hexColor, hexColor]).optional()
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":"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"}
1
+ {"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/recipes/choropleth.ts"],"names":[],"mappings":"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"}
@@ -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"]>>;
@@ -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":"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"}
1
+ {"version":3,"file":"donut.js","sourceRoot":"","sources":["../../src/recipes/donut.ts"],"names":[],"mappings":"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"}
@@ -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"]>>;