UNPKG

@tanstack/charts

Version:

A chart grammar for TypeScript and JavaScript. Marks consume your data directly, channels describe visual encodings, and the engine compiles them into a renderer-neutral keyed scene. TanStack's compact scales cover common numeric and categorical mappings.

38 lines (37 loc) 1.04 kB
import { createChartScene, defaultChartTheme } from "./scene.js"; function createChartRuntime(options = {}) { const platformTheme = { ...defaultChartTheme, ...options.defaultTheme, palette: options.defaultTheme?.palette ?? defaultChartTheme.palette }; return { render(definition, size, layout) { if (!isResponsiveChartDefinition(definition)) { return createChartScene(definition, size, { ...layout, defaultTheme: platformTheme }); } const { chart, ...options2 } = definition; const spec = chart({ width: size.width, height: size.height, defaultTheme: platformTheme }); return createChartScene({ ...spec, ...options2 }, size, { ...layout, defaultTheme: platformTheme }); }, destroy() { } }; } function isResponsiveChartDefinition(definition) { return "chart" in definition && typeof definition.chart === "function"; } export { createChartRuntime, isResponsiveChartDefinition };