@vielzeug/codex 3.1.1 → 26.10.1

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 (63) hide show
  1. package/README.md +1 -1
  2. package/data/catalog.json +166 -84
  3. package/data/llms-full.txt +3492 -1583
  4. package/data/llms.txt +9 -7
  5. package/data/manifest.json +1 -1
  6. package/data/packages/arsenal.json +40 -16
  7. package/data/packages/assay.json +12 -20
  8. package/data/packages/clockwork.json +31 -28
  9. package/data/packages/codex.json +5 -5
  10. package/data/packages/coins.json +4 -4
  11. package/data/packages/conduit.json +33 -34
  12. package/data/packages/courier.json +18 -17
  13. package/data/packages/dnd.json +11 -11
  14. package/data/packages/familiar.json +27 -6
  15. package/data/packages/flux.json +11 -8
  16. package/data/packages/focus.json +17 -7
  17. package/data/packages/forge.json +4 -4
  18. package/data/packages/gesture.json +11 -5
  19. package/data/packages/herald.json +16 -17
  20. package/data/packages/illusionist.json +5 -5
  21. package/data/packages/keymap.json +16 -12
  22. package/data/packages/ledger.json +26 -26
  23. package/data/packages/lingua.json +4 -4
  24. package/data/packages/mesh.json +30 -32
  25. package/data/packages/necromancer.json +7 -6
  26. package/data/packages/orbit.json +11 -10
  27. package/data/packages/ore.json +6 -5
  28. package/data/packages/postmaster.json +26 -26
  29. package/data/packages/prism.json +50 -42
  30. package/data/packages/pulse.json +34 -34
  31. package/data/packages/refine.json +7 -5
  32. package/data/packages/ripple.json +4 -4
  33. package/data/packages/rune.json +9 -9
  34. package/data/packages/sandbox.json +4 -4
  35. package/data/packages/scout.json +17 -11
  36. package/data/packages/scroll.json +14 -14
  37. package/data/packages/sentinel.json +26 -15
  38. package/data/packages/sigil.json +6 -6
  39. package/data/packages/sourcerer.json +4 -4
  40. package/data/packages/spell.json +31 -36
  41. package/data/packages/tandem.json +29 -0
  42. package/data/packages/tavern.json +23 -0
  43. package/data/packages/tempo.json +45 -43
  44. package/data/packages/vault.json +15 -25
  45. package/data/packages/ward.json +27 -30
  46. package/data/packages/wayfinder.json +34 -27
  47. package/data/refine.json +987 -134
  48. package/data/search.json +341 -306
  49. package/dist/http.js +2 -2
  50. package/dist/http.js.map +1 -1
  51. package/dist/index.d.ts +3 -4
  52. package/dist/index.js +3 -4
  53. package/dist/index.js.map +1 -1
  54. package/dist/refine.d.ts +1 -1
  55. package/dist/refine.js +1 -1
  56. package/dist/server.d.ts +1 -1
  57. package/dist/server.js +1 -1
  58. package/dist/tools/refine.js +1 -1
  59. package/package.json +5 -12
  60. package/skills/vielzeug/SKILL.md +57 -55
  61. package/dist/advanced.d.ts +0 -12
  62. package/dist/advanced.js +0 -13
  63. package/dist/advanced.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  {
2
- "apiSource": "// Public API — all exports for @vielzeug/prism\n\nexport type { EasingFn } from './animation/easing';\n// Chart factories\nexport { createAreaChart } from './charts/area';\nexport { createBarChart } from './charts/bar';\nexport { createLineChart } from './charts/line';\nexport { createPieChart } from './charts/pie';\nexport { createSparkline } from './charts/sparkline';\n// Error classes\nexport { PrismError, PrismRenderError } from './errors';\n// Scale factories\nexport { bandScale } from './scales/band';\nexport { linearScale } from './scales/linear';\nexport { timeScale } from './scales/time';\nexport type { BandScaleConfig, LinearScaleConfig, TimeScaleConfig } from './scales/types';\n// Theme utilities\nexport { resetTheme, seriesColor, setTheme } from './theme';\nexport type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';\n",
2
+ "apiSource": "// Public API: all exports for @vielzeug/prism\n\nexport type { EasingFn } from './animation/easing';\n// Chart factories\nexport { createAreaChart } from './charts/area';\nexport { createBarChart } from './charts/bar';\nexport { createLineChart } from './charts/line';\nexport { createPieChart } from './charts/pie';\nexport { createRadarChart } from './charts/radar';\nexport { createSparkline } from './charts/sparkline';\n// Error classes\nexport { PrismError, PrismRenderError } from './errors';\n// Scale factories\nexport { bandScale } from './scales/band';\nexport { linearScale } from './scales/linear';\nexport { timeScale } from './scales/time';\nexport type { BandScaleConfig, LinearScaleConfig, TimeScaleConfig } from './scales/types';\n// Theme utilities\nexport { resetTheme, seriesColor, setTheme } from './theme';\nexport type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';\n",
3
3
  "docs": {
4
- "index": "---\ntitle: Prism — Responsive SVG data visualization\ndescription: Responsive SVG charts with explicit updates, accessible interactions, and CSS theming.\npackage: prism\ncategory: ui\nkeywords: [chart, svg, visualization, responsive, line-chart, bar-chart, area-chart, typescript]\nrelated: [refine, orbit]\nexports:\n [\n createLineChart,\n createBarChart,\n createAreaChart,\n createPieChart,\n createSparkline,\n linearScale,\n timeScale,\n bandScale,\n seriesColor,\n setTheme,\n resetTheme,\n PrismError,\n ChartA11y,\n ContinuousDatum,\n EasingFn,\n StackSegment,\n XAxisConfig,\n YAxisConfig,\n ]\nenvironments: [browser]\n---\n\n<!-- markdownlint-disable MD025 MD033 MD060 -->\n\n<PackageHero package=\"prism\" />\n\n## Why Prism?\n\nCharting libraries typically require a framework binding, bundle heavy dependencies, or force canvas rendering that can't be styled with CSS. Prism takes a different approach:\n\n```ts\n// Before — Chart.js, imperative setup with a canvas you can't CSS-theme\nimport Chart from 'chart.js/auto';\nconst ctx = document.getElementById('myChart') as HTMLCanvasElement;\nnew Chart(ctx, {\n type: 'line',\n data: { labels, datasets: [{ data: values }] },\n // re-create or mutate the Chart.js instance when data changes\n});\n\n// After — Prism, responsive SVG with an explicit update boundary\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(document.getElementById('chart')!, {\n a11y: { ariaLabel: 'Users by day' },\n series: [\n {\n data: [\n { key: 1, value: 12 },\n { key: 2, value: 40 },\n { key: 3, value: 28 },\n ],\n name: 'Users',\n },\n ],\n tooltip: true,\n});\n\nchart.update([\n {\n data: [\n { key: 1, value: 12 },\n { key: 2, value: 40 },\n { key: 3, value: 28 },\n { key: 4, value: 65 },\n ],\n name: 'Users',\n },\n]);\n```\n\n| Feature | Prism | Chart.js | Lightweight Charts | D3 |\n| ------------------ | -------------------------------------------- | ---------------------------------------- | -------------------------------------------- | -------------------------------------------- |\n| Bundle size | <PackageInfo package=\"prism\" type=\"size\" /> | ~60 kB | ~45 kB | ~30 kB (core) |\n| Zero dependencies | <ore-icon name=\"x\" size=\"16\"></ore-icon> (Orbit) | <ore-icon name=\"x\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | <ore-icon name=\"triangle-alert\" size=\"16\"></ore-icon> (modular) |\n| Renderer | SVG | Canvas | Canvas | SVG/Canvas |\n| Data updates | Explicit `update()` | Instance mutation | Series mutation | Manual |\n| CSS themeable | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | Limited | <ore-icon name=\"check\" size=\"16\"></ore-icon> |\n| Framework-neutral | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"check\" size=\"16\"></ore-icon> |\n| Accessible SVG | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | Manual |\n| TypeScript-first | <ore-icon name=\"check\" size=\"16\"></ore-icon> | Partial | <ore-icon name=\"check\" size=\"16\"></ore-icon> | Types available |\n\n<div class=\"decision-callout\">\n\n**Use Prism when** you need lightweight, framework-neutral charts with explicit updates and SVG output that can be styled with CSS. It fits dashboards, admin panels, and data-heavy applications.\n\n**Consider alternatives when** you need 50+ chart types (ECharts), financial trading charts (Lightweight Charts), or low-level visualization grammar (D3).\n\n</div>\n\n## Installation\n\n::: code-group\n\n```sh [pnpm]\npnpm add @vielzeug/prism\n```\n\n```sh [npm]\nnpm install @vielzeug/prism\n```\n\n```sh [yarn]\nyarn add @vielzeug/prism\n```\n\n:::\n\n## Quick Start\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport '@vielzeug/prism/theme';\n\nconst chart = createLineChart(document.getElementById('chart')!, {\n a11y: { ariaLabel: 'Revenue by month' },\n series: [\n {\n color: '#3b82f6',\n data: [\n { key: 1, value: 10 },\n { key: 2, value: 25 },\n { key: 3, value: 18 },\n { key: 4, value: 32 },\n ],\n name: 'Revenue',\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n crosshair: true,\n onHover: (event) => console.log(event?.datum),\n});\n\n// Update chart data explicitly\nchart.update([\n {\n color: '#3b82f6',\n data: [{ key: 1, value: 10 }, { key: 2, value: 25 }, { key: 3, value: 18 }, { key: 4, value: 32 }, { key: 5, value: 28 }],\n name: 'Revenue',\n },\n]);\n\n// Cleanup when done\nchart.dispose();\n```\n\n## Features\n\n<div class=\"features-grid\">\n\n- **`createLineChart(container, config)`** — line chart with linear, monotone, or step interpolation\n- **`createBarChart(container, config)`** — bar chart with four layout variants: grouped, stacked, grouped-horizontal, stacked-horizontal\n- **`createAreaChart(container, config)`** — filled area with configurable opacity\n- **`createSparkline(container, config)`** — minimal inline sparkline (line, area, or bar variant)\n- **`createPieChart(container, config)`** — pie, donut, or semi-circle donut chart\n- **`linearScale(config)`** — continuous numeric scale with nice tick generation\n- **`timeScale(config)`** — date/time scale with interval-based ticks\n- **`bandScale(config)`** — categorical scale for bar charts\n- **`ChartHandle.update(data)`** — replace chart data synchronously without coupling to a state library\n- **`seriesColor(index, override?)`** — resolve CSS palette color by series index\n- **`setTheme(theme)` / `resetTheme()`** — apply or clear custom colors, font, and grid tokens at runtime\n- **Event hooks** — `onClick` and `onHover` callbacks on every chart\n- **Devtools** — `debugChart()` from `@vielzeug/prism/devtools` logs mount/resize/dispose to `console.debug`; tree-shaken from production unless imported\n- **CSS custom properties** — full theme control via `--prism-*` tokens\n- **Responsive** — auto-resizes via `ResizeObserver`\n- **Accessible** — ARIA labels and semantic SVG structure\n- **`Symbol.dispose`** — explicit resource management following TC39 proposal\n\n</div>\n\n## Sub-paths\n\n| Import | Purpose |\n| -------------------------- | ------------------------------------------------------------------------------------ |\n| `@vielzeug/prism` | All chart factories, scales, and types |\n| `@vielzeug/prism/theme` | Default CSS (custom properties + dark mode) |\n| `@vielzeug/prism/devtools` | `debugChart()` — opt-in `console.debug` lifecycle logging, tree-shaken in production |\n\n## Documentation\n\n<div class=\"doc-links\">\n\n- [Usage Guide](./usage.md)\n- [API Reference](./api.md)\n- [Examples](./examples.md)\n- [Migration Guide](./migration.md)\n\n</div>\n\n## See Also\n\n<div class=\"see-also\">\n\n- [Refine](/refine/) — accessible web components that pair well with Prism for dashboards\n- [Orbit](/orbit/) — floating element positioning for chart tooltips and popovers\n\n</div>\n\n<!-- markdownlint-enable MD025 MD033 MD060 -->\n",
5
- "api": "---\ntitle: Prism — API Reference\ndescription: Complete chart, scale, theme, handle, configuration, and error contracts for @vielzeug/prism.\n---\n\n[[toc]]\n\n## API Overview\n\n| Symbol | Purpose | Execution mode | Common gotcha |\n| --- | --- | --- | --- |\n| `createLineChart()` | Render a line chart | Sync | Line keys must be numbers or dates |\n| `createAreaChart()` | Render an area chart | Sync | Line keys must be numbers or dates |\n| `createBarChart()` | Render grouped or stacked bars | Sync | Stacked negative values are clamped to zero |\n| `createPieChart()` | Render pie, donut, or semi-circle slices | Sync | Event callbacks use slice/index arguments |\n| `createSparkline()` | Render an inline line, area, bar, or stack | Sync | Omitted `a11y` makes the chart decorative |\n| `linearScale()` | Create a numeric scale | Sync | `nice` defaults to `true` |\n| `timeScale()` | Create a date scale | Sync | Invalid dates produce an invalid domain |\n| `bandScale()` | Create a categorical scale | Sync | Unknown categories map to `0` and warn in development |\n| `setTheme()` | Set Prism CSS custom properties | Sync | Values apply to `document.documentElement` |\n| `resetTheme()` | Remove Prism theme overrides | Sync | Removes only properties managed by `setTheme()` |\n| `seriesColor()` | Resolve a series palette color | Sync | Palette indexes wrap after eight colors |\n| `debugChart()` | Log chart lifecycle events | Sync | Import from `@vielzeug/prism/devtools` |\n\n## Package Entry Point\n\n| Import | Purpose |\n| --- | --- |\n| `@vielzeug/prism` | Chart factories, scales, theme helpers, errors, and public types |\n| `@vielzeug/prism/theme` | Default CSS custom properties and dark-mode values |\n| `@vielzeug/prism/devtools` | Optional `debugChart()` lifecycle logging |\n\n## Chart Factories\n\n### `createLineChart()`\n\n```ts\nfunction createLineChart(\n container: HTMLElement,\n config: LineChartConfig,\n): ChartHandle<LineSeriesConfig[]>;\n```\n\nRenders a line chart and returns a handle that replaces the complete series array through `update()`.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `LineChartConfig` | Initial series, axes, interaction, accessibility, and transition settings |\n\n**Returns:** `ChartHandle<LineSeriesConfig[]>`.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(container, {\n a11y: { ariaLabel: 'Revenue by month' },\n series: [{ data: [{ key: 1, value: 10 }], name: 'Revenue' }],\n});\n\nchart.update([{ data: [{ key: 2, value: 20 }], name: 'Revenue' }]);\n```\n\n---\n\n### `createAreaChart()`\n\n```ts\nfunction createAreaChart(\n container: HTMLElement,\n config: AreaChartConfig,\n): ChartHandle<AreaSeriesConfig[]>;\n```\n\nRenders an area chart and returns a handle that replaces the complete series array through `update()`.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `AreaChartConfig` | Initial series, axes, interaction, accessibility, and transition settings |\n\n**Returns:** `ChartHandle<AreaSeriesConfig[]>`.\n\n```ts\nimport { createAreaChart } from '@vielzeug/prism';\n\nconst chart = createAreaChart(container, {\n series: [{ data: [{ key: 1, value: 10 }], name: 'Revenue' }],\n});\n```\n\n---\n\n### `createBarChart()`\n\n```ts\nfunction createBarChart(\n container: HTMLElement,\n config: BarChartConfig,\n): ChartHandle<BarSeriesConfig[]>;\n```\n\nRenders grouped, stacked, grouped-horizontal, or stacked-horizontal bars.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `BarChartConfig` | Initial series, variant, axes, accessibility, and interaction settings |\n\n**Returns:** `ChartHandle<BarSeriesConfig[]>`.\n\n```ts\nimport { createBarChart } from '@vielzeug/prism';\n\nconst chart = createBarChart(container, {\n series: [{ data: [{ key: 'Open', value: 12 }], name: 'Tasks' }],\n variant: 'grouped',\n});\n```\n\n---\n\n### `createPieChart()`\n\n```ts\nfunction createPieChart(\n container: HTMLElement,\n config: PieChartConfig,\n): ChartHandle<PieSliceConfig[]>;\n```\n\nRenders pie, donut, or semi-circle slices.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `PieChartConfig` | Initial slices, variant, geometry, accessibility, and interaction settings |\n\n**Returns:** `ChartHandle<PieSliceConfig[]>`.\n\n```ts\nimport { createPieChart } from '@vielzeug/prism';\n\nconst chart = createPieChart(container, {\n data: [{ label: 'Complete', value: 72 }, { label: 'Remaining', value: 28 }],\n variant: 'donut',\n});\n```\n\n---\n\n### `createSparkline()`\n\n```ts\nfunction createSparkline(\n container: HTMLElement,\n config: SparklineConfig,\n): ChartHandle<number[] | StackSegment[]>;\n```\n\nRenders a compact chart without axes, margin, or legend.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG |\n| `config` | `SparklineConfig` | Initial values, variant, appearance, accessibility, and callbacks |\n\n**Returns:** `ChartHandle<number[] | StackSegment[]>`.\n\n```ts\nimport { createSparkline } from '@vielzeug/prism';\n\nconst chart = createSparkline(container, { data: [2, 5, 3, 8], variant: 'area' });\nchart.update([2, 5, 3, 8, 13]);\n```\n\n## Scale Factories\n\n### `linearScale()`\n\n```ts\nfunction linearScale(config: LinearScaleConfig): Scale<number>;\n```\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `domain` | `[number, number]` | — | Input extent |\n| `range` | `[number, number]` | — | Output extent |\n| `clamp` | `boolean` | `false` | Clamp mapped and inverted values |\n| `nice` | `boolean` | `true` | Expand the domain to rounded boundaries |\n\n**Returns:** `Scale<number>`.\n\n```ts\nimport { linearScale } from '@vielzeug/prism';\n\nconst scale = linearScale({ domain: [0, 100], range: [0, 500] });\nscale.map(50); // 250\n```\n\n---\n\n### `timeScale()`\n\n```ts\nfunction timeScale(config: TimeScaleConfig): Scale<Date>;\n```\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `domain` | `[Date, Date]` | — | Input date extent |\n| `range` | `[number, number]` | — | Output extent |\n| `nice` | `boolean` | `true` | Expand the domain to rounded interval boundaries |\n\n**Returns:** `Scale<Date>`.\n\n```ts\nimport { timeScale } from '@vielzeug/prism';\n\nconst scale = timeScale({\n domain: [new Date('2026-01-01'), new Date('2026-12-31')],\n range: [0, 500],\n});\n```\n\n---\n\n### `bandScale()`\n\n```ts\nfunction bandScale(config: BandScaleConfig): BandScale;\n```\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `domain` | `string[]` | — | Ordered categories |\n| `range` | `[number, number]` | — | Output extent |\n| `padding` | `number` | `0.1` | Inner gap ratio |\n| `paddingOuter` | `number` | `padding` | Outer gap ratio |\n\n**Returns:** `BandScale`.\n\n```ts\nimport { bandScale } from '@vielzeug/prism';\n\nconst scale = bandScale({ domain: ['A', 'B'], range: [0, 200] });\n```\n\n## Theme Utilities\n\n### `setTheme()`\n\n```ts\nfunction setTheme(theme: PrismTheme): void;\n```\n\nSets Prism color, font, and grid custom properties on `document.documentElement`.\n\n### `resetTheme()`\n\n```ts\nfunction resetTheme(): void;\n```\n\nRemoves every custom property managed by `setTheme()`.\n\n### `seriesColor()`\n\n```ts\nfunction seriesColor(index: number, override?: string): string;\n```\n\nReturns `override` when provided; otherwise returns `var(--prism-color-N)` with an eight-color wrap.\n\n## Types\n\n### Core types\n\n```ts\ninterface ChartHandle<TData = unknown> {\n readonly disposalSignal: AbortSignal;\n readonly disposed: boolean;\n readonly el: SVGSVGElement;\n update(data: TData): void;\n dispose(): void;\n [Symbol.dispose](): void;\n}\n\ninterface ChartMargin {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\ninterface ChartDimensions {\n width: number;\n height: number;\n margin: ChartMargin;\n}\n\ntype ChartA11y =\n | { readonly decorative: true }\n | { readonly ariaLabel: string; readonly decorative?: false };\n```\n\n`update()` renders synchronously and throws `PrismRenderError` after disposal. Omitting `a11y` makes the SVG decorative with `aria-hidden=\"true\"`.\n\n---\n\n### Data types\n\n```ts\ninterface Datum<TKey extends Date | number | string = Date | number | string> {\n key: TKey;\n value: number;\n meta?: Record<string, unknown>;\n}\n\ntype ContinuousDatum = Datum<Date | number>;\n\ninterface Series<TDatum extends Datum = Datum> {\n name: string;\n data: TDatum[];\n color?: string;\n}\n\ninterface ChartEvent {\n datum: Datum;\n series: Series;\n originalEvent: Event;\n}\n```\n\nLine and area series use `ContinuousDatum`; bar series accept the complete `Datum` key range.\n\n---\n\n### Chart configurations\n\n```ts\ninterface BaseChartConfig {\n a11y?: ChartA11y;\n legend?: boolean | LegendConfig;\n margin?: Partial<ChartMargin>;\n onClick?: (event: ChartEvent) => void;\n onHover?: (event: ChartEvent | null) => void;\n tooltip?: boolean | TooltipConfig;\n transition?: TransitionConfig;\n xAxis?: XAxisConfig;\n yAxis?: YAxisConfig;\n}\n\ninterface LineChartConfig extends BaseChartConfig {\n crosshair?: boolean | CrosshairConfig;\n series: LineSeriesConfig[];\n}\n\ninterface AreaChartConfig extends BaseChartConfig {\n crosshair?: boolean | CrosshairConfig;\n series: AreaSeriesConfig[];\n}\n\ninterface BarChartConfig extends BaseChartConfig {\n series: BarSeriesConfig[];\n variant?: BarVariant;\n}\n\ninterface PieChartConfig\n extends Omit<BaseChartConfig, 'margin' | 'onClick' | 'onHover' | 'xAxis' | 'yAxis'> {\n data: PieSliceConfig[];\n variant?: PieVariant;\n innerRadius?: number;\n cornerRadius?: number;\n padPixels?: number;\n onClick?: (slice: PieSliceConfig, index: number) => void;\n onHover?: (slice: PieSliceConfig | null, index: number | null) => void;\n}\n\ninterface SparklineConfig {\n data: number[] | StackSegment[];\n variant?: SparklineVariant;\n a11y?: ChartA11y;\n color?: string;\n cornerRadius?: number;\n curve?: 'linear' | 'monotone' | 'step';\n fillOpacity?: number;\n onClick?: (index: number, value: number) => void;\n onHover?: (index: number | null, value: number | null) => void;\n padPixels?: number;\n strokeWidth?: number;\n transition?: TransitionConfig;\n}\n```\n\n---\n\n### Series and slice configurations\n\n```ts\ninterface LineSeriesConfig extends Series<ContinuousDatum> {\n curve?: 'linear' | 'monotone' | 'step';\n pointRadius?: number;\n showPoints?: boolean;\n strokeWidth?: number;\n}\n\ninterface AreaSeriesConfig extends Series<ContinuousDatum> {\n curve?: 'linear' | 'monotone' | 'step';\n fillOpacity?: number;\n showLine?: boolean;\n}\n\ninterface BarSeriesConfig extends Series {\n borderRadius?: number;\n}\n\ninterface PieSliceConfig {\n value: number;\n color?: string;\n label?: string;\n}\n\ninterface StackSegment {\n value: number;\n color?: string;\n label?: string;\n}\n```\n\n---\n\n### Axis, interaction, and transition configurations\n\n```ts\ntype HorizontalAxisPosition = 'bottom' | 'top';\ntype VerticalAxisPosition = 'left' | 'right';\ntype AxisPosition = HorizontalAxisPosition | VerticalAxisPosition;\n\ninterface AxisConfig<TPosition extends AxisPosition = AxisPosition> {\n grid?: boolean | GridConfig;\n label?: string;\n position?: TPosition;\n tickCount?: number;\n tickFormat?: (value: Date | number | string) => string;\n}\n\ntype XAxisConfig = AxisConfig<HorizontalAxisPosition>;\ntype YAxisConfig = AxisConfig<VerticalAxisPosition>;\n\ninterface GridConfig {\n color?: string;\n dash?: string;\n}\n\ninterface TooltipConfig {\n offset?: number;\n render?: (datum: Datum, series: Series) => Node | string;\n}\n\ninterface CrosshairConfig {\n horizontal?: boolean;\n snap?: boolean;\n vertical?: boolean;\n}\n\ninterface LegendConfig {\n position?: LegendPosition;\n}\n\ntype LegendPosition = 'bottom' | 'left' | 'right' | 'top';\n\ninterface TransitionConfig {\n duration?: number;\n easing?: EasingFn | 'ease-in' | 'ease-in-out' | 'ease-out' | 'linear';\n preference?: 'always' | 'never' | 'system';\n stagger?: number;\n}\n\ntype EasingFn = (t: number) => number;\n```\n\nTooltip strings are assigned through `textContent`. Return a `Node` for structured content.\n\n---\n\n### Scale types\n\n```ts\ninterface Scale<T> {\n readonly domain: readonly [T, T];\n readonly range: readonly [number, number];\n map(value: T): number;\n invert(pixel: number): T;\n ticks(count?: number): T[];\n}\n\ninterface BandScale {\n readonly domain: readonly string[];\n readonly range: readonly [number, number];\n map(value: string): number;\n ticks(count?: number): string[];\n bandwidth(): number;\n gap(): number;\n}\n\ninterface LinearScaleConfig {\n domain: [number, number];\n range: [number, number];\n clamp?: boolean;\n nice?: boolean;\n}\n\ninterface TimeScaleConfig {\n domain: [Date, Date];\n range: [number, number];\n nice?: boolean;\n}\n\ninterface BandScaleConfig {\n domain: string[];\n range: [number, number];\n padding?: number;\n paddingOuter?: number;\n}\n```\n\n---\n\n### Remaining unions and theme type\n\n```ts\ntype BarVariant = 'grouped' | 'grouped-horizontal' | 'stacked' | 'stacked-horizontal';\ntype PieVariant = 'donut' | 'pie' | 'semi';\ntype SparklineVariant = 'area' | 'bar' | 'line' | 'stack';\n\ninterface PrismTheme {\n colors?: string[];\n fontFamily?: string;\n gridColor?: string;\n gridOpacity?: number;\n}\n```\n\n## Devtools\n\n### `debugChart()`\n\n```ts\nfunction debugChart<T extends ChartHandle>(\n handle: T,\n options?: { label?: string },\n): T;\n```\n\nLogs mount, resize, and disposal events to `console.debug` and returns the same handle. Import it from `@vielzeug/prism/devtools`.\n\n## Errors\n\n### `PrismError`\n\nBase class for every Prism-originated error. It supports standard `ErrorOptions` cause chaining.\n\n### `PrismRenderError`\n\nExtends `PrismError`. Thrown for invalid containers, failed initial renders, and attempts to update disposed charts.\n",
6
- "usage": "---\ntitle: Prism — Usage Guide\ndescription: Concepts, update patterns, and best practices for responsive SVG charts with @vielzeug/prism.\n---\n\n[[toc]]\n\n## Basic Usage\n\nEvery chart needs a container element with defined dimensions and the theme CSS:\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport '@vielzeug/prism/theme';\n\nconst container = document.querySelector<HTMLElement>('#chart')!;\nconst chart = createLineChart(container, {\n series: [\n {\n name: 'Revenue',\n data: [\n { key: 1, value: 10 },\n { key: 2, value: 16 },\n ],\n },\n ],\n});\n\nchart.dispose();\n```\n\n```html\n<div id=\"chart\" style=\"width: 100%; height: 300px;\"></div>\n```\n\nPrism observes the container size via `ResizeObserver` and re-renders automatically on resize. If the container has zero dimensions at mount time, a `warn` is emitted in development — ensure the container has layout before calling the chart factory.\n\n## Updating Data\n\nChart factories render synchronously and return a typed handle. Call `update()` with the same data shape used by the factory when application state changes.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(container, {\n series: [{ data: [{ key: 1, value: 10 }], name: 'Live' }],\n});\n\nchart.update([\n {\n data: [\n { key: 1, value: 10 },\n { key: 2, value: 20 },\n ],\n name: 'Live',\n },\n]);\n```\n\n`update()` is state-library neutral. Call it from a framework effect, store subscription, event handler, or request callback. It throws after the chart is disposed instead of silently retaining detached state.\n\n## Line Charts\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(container, {\n series: [\n {\n name: 'Revenue',\n data: [\n { key: 1, value: 100 },\n { key: 2, value: 150 },\n { key: 3, value: 130 },\n ],\n color: '#3b82f6',\n curve: 'monotone', // 'linear' | 'monotone' | 'step'\n strokeWidth: 2,\n showPoints: true,\n pointRadius: 4,\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n crosshair: true,\n});\n```\n\n### Multiple Series\n\n```ts\nconst chart = createLineChart(container, {\n series: [\n { name: 'Revenue', data: revenueData, color: '#3b82f6' },\n { name: 'Expenses', data: expenseData, color: '#ef4444' },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n});\n```\n\n### Time-based X Axis\n\nWhen data points use `Date` objects for `key`, Prism automatically applies a time scale:\n\n```ts\nconst chart = createLineChart(container, {\n series: [\n {\n name: 'Signups',\n data: [\n { key: new Date('2024-01-01'), value: 50 },\n { key: new Date('2024-02-01'), value: 80 },\n { key: new Date('2024-03-01'), value: 120 },\n ],\n },\n ],\n xAxis: { position: 'bottom', tickFormat: (d) => (d as Date).toLocaleDateString() },\n yAxis: { position: 'left' },\n});\n```\n\n## Bar Charts\n\n```ts\nimport { createBarChart } from '@vielzeug/prism';\n\nconst chart = createBarChart(container, {\n series: [\n {\n name: 'Sales',\n data: [\n { key: 'Q1', value: 200 },\n { key: 'Q2', value: 350 },\n { key: 'Q3', value: 280 },\n { key: 'Q4', value: 400 },\n ],\n borderRadius: 4,\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n});\n```\n\n### Variants\n\nSelect the bar layout with `variant`:\n\n| Value | Layout |\n| ---------------------- | -------------------------- |\n| `'grouped'` | Vertical grouped (default) |\n| `'stacked'` | Vertical stacked |\n| `'grouped-horizontal'` | Horizontal grouped |\n| `'stacked-horizontal'` | Horizontal stacked |\n\n```ts\nconst chart = createBarChart(container, {\n variant: 'stacked',\n series: [\n { name: 'Mobile', data: mobileData, color: '#3b82f6', borderRadius: 0 },\n { name: 'Desktop', data: desktopData, color: '#10b981', borderRadius: 0 },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n legend: true,\n});\n```\n\nFor horizontal layouts, categories appear on the Y axis and values on the X axis:\n\n```ts\nconst chart = createBarChart(container, {\n variant: 'grouped-horizontal',\n series: [{ name: 'Revenue', data, color: '#3b82f6' }],\n xAxis: { position: 'bottom', grid: true },\n yAxis: { position: 'left' },\n});\n```\n\n### Grouped Bars\n\nMultiple series with `variant: 'grouped'` (default) render side-by-side:\n\n```ts\nconst chart = createBarChart(container, {\n series: [\n { name: '2023', data: lastYearData, color: '#94a3b8' },\n { name: '2024', data: thisYearData, color: '#3b82f6' },\n ],\n});\n```\n\n## Area Charts\n\n```ts\nimport { createAreaChart } from '@vielzeug/prism';\n\nconst chart = createAreaChart(container, {\n series: [\n {\n name: 'Users',\n data: userData,\n curve: 'monotone',\n fillOpacity: 0.2,\n showLine: true,\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n crosshair: true,\n});\n```\n\n## Pie, Donut, and Semi-circle Charts\n\nAll three variants use `createPieChart` with the `variant` field:\n\n```ts\nimport { createPieChart } from '@vielzeug/prism';\n\nconst chart = createPieChart(container, {\n data: [\n { label: 'Direct', value: 42, color: '#3b82f6' },\n { label: 'Organic', value: 28, color: '#10b981' },\n { label: 'Referral', value: 18, color: '#f59e0b' },\n { label: 'Social', value: 12, color: '#8b5cf6' },\n ],\n variant: 'donut', // 'pie' | 'donut' | 'semi'\n tooltip: true,\n transition: { duration: 400, easing: 'ease-out' },\n});\n```\n\n### Variants\n\n| Value | Shape |\n| --------- | ------------------------------------------------------- |\n| `'pie'` | Full circle, no hole |\n| `'donut'` | Full circle with inner hole (~55% of outer by default) |\n| `'semi'` | Top-half semicircle with inner hole — useful for gauges |\n\n### Inner Radius\n\n`innerRadius` overrides the automatic calculation:\n\n```ts\ncreatePieChart(container, {\n data,\n variant: 'donut',\n innerRadius: 60, // explicit pixels\n});\n```\n\n### Slice Labels\n\nSet `label` on each `PieSliceConfig` to render text at the arc centroid:\n\n```ts\n{ value: 42, label: '42%' }\n```\n\nStyle labels via CSS:\n\n```css\n:root {\n --prism-pie-label-color: #fff;\n --prism-pie-label-size: 11px;\n}\n```\n\n### Updating Data\n\n```ts\nconst chart = createPieChart(container, {\n data: [\n { label: 'A', value: 40 },\n { label: 'B', value: 60 },\n ],\n variant: 'donut',\n});\n\nchart.update([\n { label: 'A', value: 55 },\n { label: 'B', value: 45 },\n]);\n```\n\n### Event Hooks\n\n```ts\ncreatePieChart(container, {\n data,\n onHover: (slice, index) => {\n // slice/index are null on mouseleave\n if (slice) console.log(slice.label, slice.value);\n },\n onClick: (slice, index) => {\n console.log('clicked', slice.label);\n },\n});\n```\n\n## Sparklines\n\nSparklines are minimal inline charts with no axes, no legend, and no margin — designed to live inline with text or inside table cells.\n\n```ts\nimport { createSparkline } from '@vielzeug/prism';\n\nconst spark = createSparkline(container, {\n data: [12, 18, 14, 22, 19, 28],\n variant: 'line', // 'line' | 'area' | 'bar' (default: 'line')\n color: '#3b82f6',\n curve: 'monotone',\n strokeWidth: 1.5,\n});\n\nspark.dispose();\n```\n\n### Variants\n\n- **`line`** — simple polyline path (default)\n- **`area`** — filled area + line overlay\n- **`bar`** — vertical bar for each data point\n- **`stack`** — horizontal proportional segments; use `StackSegment[]` for `data` with per-segment colors\n\n### Updating Data\n\n```ts\nconst spark = createSparkline(container, {\n data: [12, 18, 14, 22],\n variant: 'area',\n});\n\nspark.update([12, 18, 14, 22, 30]);\n```\n\n### Event Hooks\n\nSparklines use simplified hooks — index-based rather than full `ChartEvent`:\n\n```ts\nconst spark = createSparkline(container, {\n data: [10, 20, 30],\n onHover: (index, value) => {\n // index/value are null on mouseleave\n if (index !== null) console.log(`Hovering point ${index}: ${value}`);\n },\n onClick: (index, value) => {\n console.log(`Clicked point ${index}: ${value}`);\n },\n});\n```\n\n> **Note:** Sparkline SVGs are marked `aria-hidden=\"true\"` since they are decorative. Provide meaningful surrounding text context for accessibility.\n\n## Axes and Grid\n\n```ts\n{\n xAxis: {\n position: 'bottom', // 'top' | 'bottom'\n tickCount: 5,\n tickFormat: (v) => `$${v}`,\n label: 'Month',\n grid: true, // or { color: '#ddd', dash: '4 2' }\n },\n yAxis: {\n position: 'left', // 'left' | 'right'\n grid: { color: '#f0f0f0' },\n label: 'Revenue ($)',\n },\n}\n```\n\n## Tooltips\n\nEnable with `tooltip: true` for default rendering, or provide a custom `render` function. Strings are rendered as text. Return a DOM node for structured content:\n\n```ts\n{\n tooltip: {\n offset: 12,\n render: (datum, series) => {\n const content = document.createElement('strong');\n content.textContent = `${series.name}: ${datum.value.toLocaleString()}`;\n return content;\n },\n },\n}\n```\n\nPrism never injects tooltip strings as HTML, so custom rendering does not require a sanitizer.\n\nThe tooltip element is scoped inside the chart container (not `document.body`) and is removed automatically on `dispose()`.\n\n## Crosshair\n\nA vertical guide that snaps to the nearest data point:\n\n```ts\n{\n crosshair: true,\n // or configure:\n crosshair: { vertical: true, horizontal: true, snap: true },\n}\n```\n\n## Legend\n\nEnable with `legend: true` (defaults to `bottom`) or configure position:\n\n```ts\n{\n legend: true,\n // or:\n legend: { position: 'top' }, // 'top' | 'bottom' | 'left' | 'right'\n}\n```\n\nThe legend renders as a `div` placed outside the SVG. Each item shows a color swatch and the series `name`. Customize via CSS:\n\n```css\n:root {\n --prism-legend-gap: 1rem;\n --prism-legend-dot-size: 0.5rem;\n --prism-legend-font-size: 0.75rem;\n}\n```\n\n## Event Hooks\n\nAll charts expose `onClick` and `onHover` callbacks on the config:\n\n```ts\nconst chart = createLineChart(container, {\n series: [{ name: 'Revenue', data }],\n onHover: (event) => {\n // event is ChartEvent | null (null on mouseleave)\n if (event) console.log(event.datum, event.series);\n },\n onClick: (event) => {\n console.log('clicked', event.datum);\n },\n});\n```\n\n`ChartEvent` provides:\n\n- `datum` — the nearest `Datum`\n- `series` — the corresponding `Series` config\n- `originalEvent` — the raw `MouseEvent`\n\n> **Pie chart events differ** — `onHover` and `onClick` receive `(slice: PieSliceConfig, index: number)` instead of `ChartEvent`. See [`PieChartConfig`](./api.md#piechartconfig) for details.\n\n## Animations\n\nPass a `transition` config to animate enter and update transitions:\n\n```ts\n{\n transition: {\n duration: 400,\n easing: 'ease-out',\n stagger: 30, // bar charts only: ms delay between each bar's enter animation\n },\n}\n```\n\nAll chart types use requestAnimationFrame-based interpolation. Bar charts additionally support `stagger` — a per-bar delay that creates a cascade effect on first render.\n\n## Theming\n\nImport the default theme:\n\n```ts\nimport '@vielzeug/prism/theme';\n```\n\n### Programmatic Theme with `setTheme`\n\nCall `setTheme` once at app startup to apply custom tokens programmatically:\n\n```ts\nimport { setTheme } from '@vielzeug/prism';\n\nsetTheme({\n colors: ['#6366f1', '#22d3ee', '#f59e0b', '#10b981'], // replaces --prism-color-1 through -4\n fontFamily: 'Inter, system-ui, sans-serif', // sets --prism-font-family\n gridColor: '#e2e8f0', // sets --prism-grid-color\n gridOpacity: 0.6, // sets --prism-grid-opacity\n});\n```\n\n`setTheme` writes to `document.documentElement` style, so it takes precedence over CSS file defaults. Call `resetTheme()` to clear every custom property `setTheme` can set and restore the default theme — useful for a theme-switcher's \"reset\" action or test teardown:\n\n```ts\nimport { resetTheme } from '@vielzeug/prism';\n\nresetTheme();\n```\n\n### Custom Theme (CSS)\n\n```css\n:root {\n --prism-color-1: #6366f1;\n --prism-color-2: #22c55e;\n --prism-axis-color: #71717a;\n --prism-grid-color: #f4f4f5;\n --prism-text-color: #18181b;\n --prism-tooltip-bg: #27272a;\n --prism-font-family: 'Inter', system-ui, sans-serif;\n}\n```\n\n### Scoped Themes\n\nApply tokens to a specific container:\n\n```css\n.dark-dashboard {\n --prism-axis-color: #64748b;\n --prism-grid-color: #334155;\n --prism-text-color: #e2e8f0;\n}\n```\n\n### Available Tokens\n\n| Token | Default | Description |\n| ------------------------- | ---------------- | ---------------------- |\n| `--prism-color-{1-8}` | Tailwind palette | Series color palette |\n| `--prism-bg` | `transparent` | Chart background |\n| `--prism-axis-color` | `#94a3b8` | Axis lines and ticks |\n| `--prism-grid-color` | `#e2e8f0` | Grid lines |\n| `--prism-text-color` | `#334155` | Axis labels and text |\n| `--prism-font-family` | `system-ui` | Chart font |\n| `--prism-font-size` | `12px` | Label font size |\n| `--prism-tooltip-bg` | `#1e293b` | Tooltip background |\n| `--prism-tooltip-color` | `#f8fafc` | Tooltip text |\n| `--prism-tooltip-radius` | `6px` | Tooltip border radius |\n| `--prism-crosshair-color` | `#64748b` | Crosshair line |\n| `--prism-crosshair-dash` | `4 2` | Crosshair dash pattern |\n\n## Scales (Standalone)\n\nScales can be used independently for custom visualizations:\n\n```ts\nimport { linearScale, timeScale, bandScale } from '@vielzeug/prism';\n\nconst y = linearScale({ domain: [0, 100], range: [300, 0] });\ny.map(50); // → 150\ny.invert(150); // → 50\ny.ticks(5); // → [0, 20, 40, 60, 80, 100]\n\nconst x = bandScale({ domain: ['A', 'B', 'C'], range: [0, 300] });\nx.map('B'); // → pixel left edge of band B\nx.bandwidth(); // → width of each band\n```\n\n## Lifecycle and Cleanup\n\nEvery chart returns a `ChartHandle`. Always call `dispose()` when removing a chart:\n\n```ts\nconst chart = createLineChart(container, config);\n\n// When done:\nchart.dispose();\n\n// Or with TC39 explicit resource management:\n{\n using chart = createLineChart(container, config);\n // auto-disposed at block end\n}\n```\n\nCalling `dispose()`:\n\n- Cancels in-flight transitions\n- Disconnects the `ResizeObserver`\n- Removes the SVG element, tooltip, and legend from the DOM\n- Restores container styles changed for tooltip positioning\n- Is idempotent — safe to call multiple times\n\nCall `update()` only while the handle is active. Updating a disposed chart throws `PrismRenderError`.\n\n## Responsive Behavior\n\nCharts resize automatically when the container dimensions change. Prism uses `ResizeObserver` internally — no manual `resize()` call is needed.\n\n## Devtools\n\nImport `debugChart()` from the `/devtools` subpath to log a chart's mount, resize, and dispose events to `console.debug`. It's separate from prism's internal validation warnings (those run automatically in development, no import needed) and is tree-shaken from production bundles when this subpath isn't imported.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport { debugChart } from '@vielzeug/prism/devtools';\n\nconst chart = debugChart(createLineChart(container, config), { label: 'revenue' });\n// [prism:revenue] mounted\n// [prism:revenue] resized 600×300\nchart.dispose();\n// [prism:revenue] disposed\n```\n\n> `debugChart()` wraps and returns the same `ChartHandle` unchanged, so it drops into any `create*Chart()` call without restructuring your code.\n\n## Framework Integration\n\nPrism has no framework adapter. Connect the same three operations to your framework's lifecycle: create after mount, update when state changes, and dispose before unmount.\n\n```ts\nimport { createLineChart, type ChartHandle, type ContinuousDatum, type LineSeriesConfig } from '@vielzeug/prism';\n\nlet chart: ChartHandle<LineSeriesConfig[]> | undefined;\n\nexport function mountChart(container: HTMLElement, data: ContinuousDatum[]): void {\n chart = createLineChart(container, { series: [{ data, name: 'Series' }] });\n}\n\nexport function updateChart(data: ContinuousDatum[]): void {\n chart?.update([{ data, name: 'Series' }]);\n}\n\nexport function unmountChart(): void {\n chart?.dispose();\n chart = undefined;\n}\n```\n\n## Working with Other Vielzeug Libraries\n\n### With Ripple\n\nKeep state ownership in Ripple and connect it to Prism through an explicit subscription.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport { signal } from '@vielzeug/ripple';\n\nconst data = signal([{ key: 1, value: 10 }]);\nconst toSeries = () => [{ data: data.value, name: 'Series' }];\nconst chart = createLineChart(container, { series: toSeries() });\nconst unsubscribe = data.subscribe(() => chart.update(toSeries()));\n\n// Cleanup both owners together.\nunsubscribe();\nchart.dispose();\n```\n\n### With Sourcerer\n\nBind chart data to a Sourcerer remote source so charts update whenever the list refreshes.\n\n```ts\nimport { createBarChart } from '@vielzeug/prism';\nimport { createPageSource } from '@vielzeug/sourcerer';\n\nconst source = createPageSource({\n load: async ({ page, pageSize, signal }) => {\n const result = await api.stats.list({ page, pageSize }, { signal });\n return { items: result.data, totalItems: result.total };\n },\n});\nconst toSeries = (state) => [\n {\n data: state.items.map((item) => ({ key: item.label, value: item.count })),\n name: 'Series',\n },\n];\nconst chart = createBarChart(container, { series: toSeries(source.state) });\nconst unsubscribe = source.subscribe((state) => chart.update(toSeries(state)));\nvoid source.reload().catch(() => undefined);\n```\n\n## Accessibility\n\nAccessibility is a hard requirement for every chart factory. Label informative charts with `a11y: { ariaLabel }`; charts without `a11y` are decorative and render with `aria-hidden=\"true\"`.\n\nLabel a chart that conveys meaningful data:\n\n```ts\ncreateLineChart(container, {\n a11y: { ariaLabel: 'Revenue by month' },\n series: [...],\n});\n```\n\nMark a decorative chart (e.g. a sparkline next to a text label) to exclude it from the accessibility tree:\n\n```ts\ncreateSparkline(container, {\n a11y: { decorative: true },\n data: [...],\n});\n```\n\nWhen `a11y` is omitted, every chart is hidden from assistive technology. Always set `a11y: { ariaLabel: '…' }` on charts that users need to understand.\n\n## Best Practices\n\n- Ensure the container element has explicit dimensions before calling a chart factory — `ResizeObserver` needs a non-zero layout size to trigger the first render.\n- Call `chart.dispose()` in your framework's unmount/cleanup phase to cancel transitions, disconnect resize observation, and remove DOM nodes.\n- Call `chart.update(data)` from your application state boundary; Prism does not require or own a state library.\n- Set `a11y: { ariaLabel: '…' }` on every chart that conveys meaningful data — accessibility is a hard requirement, not an optional add-on.\n- Wrap a chart with `debugChart()` from the `/devtools` subpath only in development code paths; it is tree-shaken in production.\n- For SSR, skip chart creation server-side — Prism depends on DOM APIs and `ResizeObserver`. Render charts only after hydration in a `onMounted`/`useEffect` callback.\n",
7
- "examples": "---\ntitle: Prism — Examples\ndescription: Focused recipes for creating, updating, and customizing Prism charts.\n---\n\n- [Create a line chart](./examples/line-chart.md)\n- [Update chart data](./examples/update-data.md)\n- [Render a custom tooltip](./examples/custom-tooltip.md)\n- [Render compact charts](./examples/compact-charts.md)\n"
4
+ "index": "---\ntitle: 'Prism: Responsive SVG data visualization'\ndescription: Responsive SVG charts with explicit updates, keyboard and screen-reader support, and CSS theming.\npackage: prism\ncategory: ui\nkeywords: [chart, svg, visualization, responsive, line-chart, bar-chart, area-chart, pie-chart, radar-chart, sparkline, accessibility, typescript]\nrelated: [refine, orbit]\nexports:\n [\n createLineChart,\n createBarChart,\n createAreaChart,\n createPieChart,\n createRadarChart,\n createSparkline,\n setTheme,\n PrismError,\n ]\nenvironments: [browser]\n---\n\n<!-- markdownlint-disable MD025 MD033 MD060 -->\n\n<PackageHero package=\"prism\" />\n\n## Why Prism?\n\nCharting libraries typically require a framework binding, bundle heavy dependencies, or force canvas rendering that can't be styled with CSS. Prism takes a different approach:\n\n```ts\n// Before: Chart.js, imperative setup with a canvas you can't CSS-theme\nimport Chart from 'chart.js/auto';\nconst ctx = document.getElementById('myChart') as HTMLCanvasElement;\nnew Chart(ctx, {\n type: 'line',\n data: { labels, datasets: [{ data: values }] },\n // re-create or mutate the Chart.js instance when data changes\n});\n\n// After: Prism, responsive SVG with an explicit update boundary\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(document.getElementById('chart')!, {\n a11y: { ariaLabel: 'Users by day' },\n series: [\n {\n data: [\n { key: 1, value: 12 },\n { key: 2, value: 40 },\n { key: 3, value: 28 },\n ],\n name: 'Users',\n },\n ],\n tooltip: true,\n});\n\nchart.update([\n {\n data: [\n { key: 1, value: 12 },\n { key: 2, value: 40 },\n { key: 3, value: 28 },\n { key: 4, value: 65 },\n ],\n name: 'Users',\n },\n]);\n```\n\n| Feature | Prism | Chart.js | Lightweight Charts | D3 |\n| ------------------ | -------------------------------------------- | ---------------------------------------- | -------------------------------------------- | -------------------------------------------- |\n| Bundle size | <PackageInfo package=\"prism\" type=\"size\" /> | ~60 kB | ~45 kB | ~30 kB (core) |\n| Zero dependencies | <ore-icon name=\"x\" size=\"16\"></ore-icon> (Orbit) | <ore-icon name=\"x\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | <ore-icon name=\"triangle-alert\" size=\"16\"></ore-icon> (modular) |\n| Renderer | SVG | Canvas | Canvas | SVG/Canvas |\n| Data updates | Explicit `update()` | Instance mutation | Series mutation | Manual |\n| CSS themeable | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | Limited | <ore-icon name=\"check\" size=\"16\"></ore-icon> |\n| Framework-neutral | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"check\" size=\"16\"></ore-icon> |\n| Accessible SVG | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | Manual |\n| Keyboard navigation | <ore-icon name=\"check\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | <ore-icon name=\"x\" size=\"16\"></ore-icon> | Manual |\n| TypeScript-first | <ore-icon name=\"check\" size=\"16\"></ore-icon> | Partial | <ore-icon name=\"check\" size=\"16\"></ore-icon> | Types available |\n\n<div class=\"decision-callout\">\n\n**Use Prism when** you need lightweight, framework-neutral charts with explicit updates and SVG output that can be styled with CSS. It fits dashboards, admin panels, and data-heavy applications.\n\n**Consider alternatives when** you need 50+ chart types (ECharts), financial trading charts (Lightweight Charts), or low-level visualization grammar (D3).\n\n</div>\n\n## Installation\n\n::: code-group\n\n```sh [pnpm]\npnpm add @vielzeug/prism\n```\n\n```sh [npm]\nnpm install @vielzeug/prism\n```\n\n```sh [yarn]\nyarn add @vielzeug/prism\n```\n\n:::\n\n## Quick Start\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport '@vielzeug/prism/theme';\n\nconst chart = createLineChart(document.getElementById('chart')!, {\n a11y: { ariaLabel: 'Revenue by month' },\n series: [\n {\n color: '#3b82f6',\n data: [\n { key: 1, value: 10 },\n { key: 2, value: 25 },\n { key: 3, value: 18 },\n { key: 4, value: 32 },\n ],\n name: 'Revenue',\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n crosshair: true,\n onHover: (event) => console.log(event?.datum),\n});\n\n// Update chart data explicitly\nchart.update([\n {\n color: '#3b82f6',\n data: [{ key: 1, value: 10 }, { key: 2, value: 25 }, { key: 3, value: 18 }, { key: 4, value: 32 }, { key: 5, value: 28 }],\n name: 'Revenue',\n },\n]);\n\n// Cleanup when done\nchart.dispose();\n```\n\n## Features\n\n<div class=\"features-grid\">\n\n- **`createLineChart(container, config)`**: line chart with linear, monotone, or step interpolation\n- **`createBarChart(container, config)`**: bar chart with four layout variants: grouped, stacked, grouped-horizontal, stacked-horizontal\n- **`createAreaChart(container, config)`**: filled area with a gradient or solid fill\n- **`createPieChart(container, config)`**: pie, donut, or semi-circle donut chart; labels that do not fit their slice are hidden\n- **`createRadarChart(container, config)`**: radar chart for comparing values across 3+ axes, with per-axis ranges\n- **`createSparkline(container, config)`**: minimal inline line, area, bar, or stack chart\n- **`linearScale`, `timeScale`, `bandScale`**: standalone scales with nice tick generation\n- **`ChartHandle.update(data)`**: replace chart data synchronously without coupling to a state library\n- **`setTheme(theme)` / `resetTheme()`**: apply or clear custom colors, font, and grid tokens at runtime\n- **Series comparison**: hover or keyboard focus reports every series at the active key in the tooltip, `onHover`, and screen-reader announcements\n- **Keyboard navigation**: arrow keys, `Enter`, and `Escape` on every labelled chart except sparklines\n- **CSS custom properties**: full theme control via `--prism-*` tokens, with dark mode built in\n- **Responsive**: auto-resizes via `ResizeObserver`\n- **Devtools**: `debugChart()` from `@vielzeug/prism/devtools` logs mount/resize/dispose to `console.debug`\n- **`Symbol.dispose`**: explicit resource management following the TC39 proposal\n\n</div>\n\n## Documentation\n\n<div class=\"doc-links\">\n\n- [Usage Guide](./usage.md)\n- [API Reference](./api.md)\n- [Examples](./examples.md)\n- [Migration Guide](./migration.md)\n\n</div>\n\n## See Also\n\n<div class=\"see-also\">\n\n- [Refine](/refine/): accessible web components that pair well with Prism for dashboards\n- [Orbit](/orbit/): floating element positioning for chart tooltips and popovers\n\n</div>\n\n<!-- markdownlint-enable MD025 MD033 MD060 -->\n",
5
+ "api": "---\ntitle: 'Prism: API Reference'\ndescription: Complete chart, scale, theme, handle, configuration, and error contracts for @vielzeug/prism.\n---\n\n[[toc]]\n\n## API Overview\n\n| Symbol | Purpose | Execution mode | Common gotcha |\n| --- | --- | --- | --- |\n| `createLineChart()` | Render a line chart | Sync | Line keys must be numbers or dates |\n| `createAreaChart()` | Render an area chart | Sync | Line keys must be numbers or dates |\n| `createBarChart()` | Render grouped or stacked bars | Sync | Stacked negative values are clamped to zero |\n| `createPieChart()` | Render pie, donut, or semi-circle slices | Sync | Event callbacks use slice/index arguments |\n| `createRadarChart()` | Compare values across 3+ axes, such as hero stats | Sync | Events report a whole axis, not one series |\n| `createSparkline()` | Render an inline line, area, bar, or stack | Sync | Omitted `a11y` makes the chart decorative |\n| `linearScale()` | Create a numeric scale | Sync | `nice` defaults to `true` |\n| `timeScale()` | Create a date scale | Sync | Invalid dates produce an invalid domain |\n| `bandScale()` | Create a categorical scale | Sync | Unknown categories map to `0` and warn in development |\n| `setTheme()` | Set Prism CSS custom properties | Sync | Values apply to `document.documentElement` |\n| `resetTheme()` | Remove Prism theme overrides | Sync | Removes only properties managed by `setTheme()` |\n| `seriesColor()` | Resolve a series palette color | Sync | Palette indexes wrap after eight colors |\n| `debugChart()` | Log chart lifecycle events | Sync | Import from `@vielzeug/prism/devtools` |\n\n## Package Entry Point\n\n| Import | Purpose |\n| --- | --- |\n| `@vielzeug/prism` | Chart factories, scales, theme helpers, errors, and public types |\n| `@vielzeug/prism/theme` | Default CSS custom properties and dark-mode values |\n| `@vielzeug/prism/devtools` | Optional `debugChart()` lifecycle logging |\n\n## Chart Factories\n\n### `createLineChart()`\n\n```ts\nfunction createLineChart(\n container: HTMLElement,\n config: LineChartConfig,\n): ChartHandle<LineSeriesConfig[]>;\n```\n\nRenders a line chart and returns a handle that replaces the complete series array through `update()`.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `LineChartConfig` | Initial series, axes, interaction, accessibility, and transition settings |\n\n**Returns:** `ChartHandle<LineSeriesConfig[]>`.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(container, {\n a11y: { ariaLabel: 'Revenue by month' },\n series: [{ data: [{ key: 1, value: 10 }], name: 'Revenue' }],\n});\n\nchart.update([{ data: [{ key: 2, value: 20 }], name: 'Revenue' }]);\n```\n\n---\n\n### `createAreaChart()`\n\n```ts\nfunction createAreaChart(\n container: HTMLElement,\n config: AreaChartConfig,\n): ChartHandle<AreaSeriesConfig[]>;\n```\n\nRenders an area chart and returns a handle that replaces the complete series array through `update()`.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `AreaChartConfig` | Initial series, axes, interaction, accessibility, and transition settings |\n\n**Returns:** `ChartHandle<AreaSeriesConfig[]>`.\n\n```ts\nimport { createAreaChart } from '@vielzeug/prism';\n\nconst chart = createAreaChart(container, {\n series: [{ data: [{ key: 1, value: 10 }], name: 'Revenue' }],\n});\n```\n\n---\n\n### `createBarChart()`\n\n```ts\nfunction createBarChart(\n container: HTMLElement,\n config: BarChartConfig,\n): ChartHandle<BarSeriesConfig[]>;\n```\n\nRenders grouped, stacked, grouped-horizontal, or stacked-horizontal bars.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `BarChartConfig` | Initial series, variant, axes, accessibility, and interaction settings |\n\n**Returns:** `ChartHandle<BarSeriesConfig[]>`.\n\n```ts\nimport { createBarChart } from '@vielzeug/prism';\n\nconst chart = createBarChart(container, {\n series: [{ data: [{ key: 'Open', value: 12 }], name: 'Tasks' }],\n variant: 'grouped',\n});\n```\n\n---\n\n### `createPieChart()`\n\n```ts\nfunction createPieChart(\n container: HTMLElement,\n config: PieChartConfig,\n): ChartHandle<PieSliceConfig[]>;\n```\n\nRenders pie, donut, or semi-circle slices.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `PieChartConfig` | Initial slices, variant, geometry, accessibility, and interaction settings |\n\n**Returns:** `ChartHandle<PieSliceConfig[]>`.\n\n```ts\nimport { createPieChart } from '@vielzeug/prism';\n\nconst chart = createPieChart(container, {\n data: [{ label: 'Complete', value: 72 }, { label: 'Remaining', value: 28 }],\n variant: 'donut',\n});\n```\n\n---\n\n### `createRadarChart()`\n\n```ts\nfunction createRadarChart(\n container: HTMLElement,\n config: RadarChartConfig,\n): ChartHandle<RadarSeriesConfig[]>;\n```\n\nRenders one closed shape per series across three or more axes. `update()` replaces the series; the axes are fixed at creation.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG and optional overlays |\n| `config` | `RadarChartConfig` | Axes, series, scale, grid, appearance, accessibility, and interaction settings |\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `axes` | `RadarAxisConfig[]` | N/A | Ordered axes, drawn clockwise; needs at least 3 |\n| `series` | `RadarSeriesConfig[]` | N/A | Values keyed by `axis.key` |\n| `domain` | `[number, number]` | `[0, nice max]` | Shared value range; `axis.min`/`axis.max` override it per axis |\n| `grid` | `boolean \\| RadarGridConfig` | `true` | Rings, bands, and level labels; `false` hides the grid |\n| `fill` | `'gradient' \\| 'none' \\| 'solid'` | `'solid'` | Shape fill; `gradient` deepens toward the rim |\n| `curve` | `'linear' \\| 'rounded'` | `'linear'` | Straight edges or a smooth closed curve |\n| `showPoints` | `boolean` | `true` | Vertex dots; a missing value shows a hollow dot at the centre |\n| `showValues` | `boolean` | `false` | Print each value beside its vertex |\n| `startAngle` | `number` | `0` | Degrees clockwise from 12 o'clock for the first axis |\n| `onHover` | `(event: RadarEvent \\| null) => void` | N/A | Nearest axis under the pointer or keyboard focus |\n| `onClick` | `(event: RadarEvent) => void` | N/A | Axis clicked, or activated with Enter/Space |\n\n**Returns:** `ChartHandle<RadarSeriesConfig[]>`.\n\n```ts\nimport { createRadarChart } from '@vielzeug/prism';\n\nconst chart = createRadarChart(container, {\n a11y: { ariaLabel: 'Hero stats' },\n axes: [\n { key: 'str', label: 'Strength' },\n { key: 'agi', label: 'Agility' },\n { key: 'end', label: 'Endurance' },\n ],\n domain: [0, 10],\n series: [{ data: [{ key: 'str', value: 8 }, { key: 'agi', value: 6 }, { key: 'end', value: 9 }], name: 'Adam' }],\n});\n```\n\nHovering or arrowing onto an axis highlights its spoke and reports every series' value on it. Without a tooltip, the chart announces the values through its own `role=\"status\"` region. A value for an unknown axis, duplicate axis keys, or fewer than 3 axes warns in development.\n\n---\n\n### `createSparkline()`\n\n```ts\nfunction createSparkline(\n container: HTMLElement,\n config: SparklineConfig,\n): ChartHandle<number[] | StackSegment[]>;\n```\n\nRenders a compact chart without axes, margin, or legend.\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `container` | `HTMLElement` | Host that receives the SVG |\n| `config` | `SparklineConfig` | Initial values, variant, appearance, accessibility, and callbacks |\n\n**Returns:** `ChartHandle<number[] | StackSegment[]>`.\n\n```ts\nimport { createSparkline } from '@vielzeug/prism';\n\nconst chart = createSparkline(container, { data: [2, 5, 3, 8], variant: 'area' });\nchart.update([2, 5, 3, 8, 13]);\n```\n\n## Scale Factories\n\n### `linearScale()`\n\n```ts\nfunction linearScale(config: LinearScaleConfig): Scale<number>;\n```\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `domain` | `[number, number]` | N/A | Input extent |\n| `range` | `[number, number]` | N/A | Output extent |\n| `clamp` | `boolean` | `false` | Clamp mapped and inverted values |\n| `nice` | `boolean` | `true` | Expand the domain to rounded boundaries |\n\n**Returns:** `Scale<number>`.\n\n```ts\nimport { linearScale } from '@vielzeug/prism';\n\nconst scale = linearScale({ domain: [0, 100], range: [0, 500] });\nscale.map(50); // 250\n```\n\n---\n\n### `timeScale()`\n\n```ts\nfunction timeScale(config: TimeScaleConfig): Scale<Date>;\n```\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `domain` | `[Date, Date]` | N/A | Input date extent |\n| `range` | `[number, number]` | N/A | Output extent |\n| `nice` | `boolean` | `true` | Expand the domain to rounded interval boundaries |\n\n**Returns:** `Scale<Date>`.\n\n```ts\nimport { timeScale } from '@vielzeug/prism';\n\nconst scale = timeScale({\n domain: [new Date('2026-01-01'), new Date('2026-12-31')],\n range: [0, 500],\n});\n```\n\n---\n\n### `bandScale()`\n\n```ts\nfunction bandScale(config: BandScaleConfig): BandScale;\n```\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `domain` | `string[]` | N/A | Ordered categories |\n| `range` | `[number, number]` | N/A | Output extent |\n| `padding` | `number` | `0.1` | Inner gap ratio |\n| `paddingOuter` | `number` | `padding` | Outer gap ratio |\n\n**Returns:** `BandScale`.\n\n```ts\nimport { bandScale } from '@vielzeug/prism';\n\nconst scale = bandScale({ domain: ['A', 'B'], range: [0, 200] });\n```\n\n## Theme Utilities\n\n### `setTheme()`\n\n```ts\nfunction setTheme(theme: PrismTheme): void;\n```\n\nSets Prism color, font, and grid custom properties on `document.documentElement`.\n\n### `resetTheme()`\n\n```ts\nfunction resetTheme(): void;\n```\n\nRemoves every custom property managed by `setTheme()`.\n\n### `seriesColor()`\n\n```ts\nfunction seriesColor(index: number, override?: string): string;\n```\n\nReturns `override` when provided; otherwise returns `var(--prism-color-N)` with an eight-color wrap.\n\n## Types\n\n### Core types\n\n```ts\ninterface ChartHandle<TData = unknown> {\n readonly disposalSignal: AbortSignal;\n readonly disposed: boolean;\n readonly el: SVGSVGElement;\n update(data: TData): void;\n dispose(): void;\n [Symbol.dispose](): void;\n}\n\ninterface ChartMargin {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\ninterface ChartDimensions {\n width: number;\n height: number;\n margin: ChartMargin;\n}\n\ntype ChartA11y =\n | { readonly decorative: true }\n | { readonly ariaLabel: string; readonly decorative?: false };\n```\n\n`update()` renders synchronously and throws `PrismRenderError` after disposal. Omitting `a11y` makes the SVG decorative with `aria-hidden=\"true\"`.\n\n---\n\n### Data types\n\n```ts\ninterface Datum<TKey extends Date | number | string = Date | number | string> {\n key: TKey;\n value: number;\n meta?: Record<string, unknown>;\n}\n\ntype ContinuousDatum = Datum<Date | number>;\n\ninterface Series<TDatum extends Datum = Datum> {\n name: string;\n data: TDatum[];\n color?: string;\n}\n\ninterface ChartEvent {\n datum: Datum;\n series: Series;\n originalEvent: Event;\n values?: SeriesValue[]; // every series at the same key (line, area, bar)\n}\n\ninterface SeriesValue {\n datum: Datum | undefined;\n series: Series;\n}\n```\n\nLine and area series use `ContinuousDatum`; bar series accept the complete `Datum` key range. On line, area, and bar charts, `datum`/`series` name the series nearest the pointer, and `values` lists every series at that key (a missing value is `undefined`). `originalEvent` is a `MouseEvent`, or a `KeyboardEvent` for keyboard navigation.\n\n---\n\n### Chart configurations\n\n```ts\ninterface BaseChartConfig {\n a11y?: ChartA11y;\n legend?: boolean | LegendConfig;\n margin?: Partial<ChartMargin>;\n onClick?: (event: ChartEvent) => void;\n onHover?: (event: ChartEvent | null) => void;\n tooltip?: boolean | TooltipConfig;\n transition?: TransitionConfig;\n xAxis?: XAxisConfig;\n yAxis?: YAxisConfig;\n}\n\ninterface LineChartConfig extends BaseChartConfig {\n crosshair?: boolean | CrosshairConfig;\n rightYAxis?: Omit<YAxisConfig, 'position' | 'grid'>;\n series: LineSeriesConfig[];\n}\n\ninterface AreaChartConfig extends BaseChartConfig {\n crosshair?: boolean | CrosshairConfig;\n series: AreaSeriesConfig[];\n}\n\ninterface BarChartConfig extends BaseChartConfig {\n series: BarSeriesConfig[];\n variant?: BarVariant;\n}\n\ninterface PieChartConfig\n extends Omit<BaseChartConfig, 'margin' | 'onClick' | 'onHover' | 'xAxis' | 'yAxis'> {\n data: PieSliceConfig[];\n variant?: PieVariant;\n innerRadius?: number;\n cornerRadius?: number;\n padPixels?: number;\n onClick?: (slice: PieSliceConfig, index: number) => void;\n onHover?: (slice: PieSliceConfig | null, index: number | null) => void;\n}\n\ninterface RadarChartConfig\n extends Omit<BaseChartConfig, 'margin' | 'onClick' | 'onHover' | 'xAxis' | 'yAxis'> {\n axes: RadarAxisConfig[];\n series: RadarSeriesConfig[];\n curve?: 'linear' | 'rounded';\n domain?: [number, number];\n fill?: 'gradient' | 'none' | 'solid';\n grid?: boolean | RadarGridConfig;\n showPoints?: boolean;\n showValues?: boolean;\n startAngle?: number;\n onClick?: (event: RadarEvent) => void;\n onHover?: (event: RadarEvent | null) => void;\n}\n\ninterface SparklineConfig {\n data: number[] | StackSegment[];\n variant?: SparklineVariant;\n a11y?: ChartA11y;\n color?: string;\n cornerRadius?: number;\n curve?: 'linear' | 'monotone' | 'step';\n fillOpacity?: number; // overrides --prism-spark-fill-opacity (area variant)\n onClick?: (index: number, value: number) => void;\n onHover?: (index: number | null, value: number | null) => void;\n padPixels?: number;\n showEndPoint?: boolean; // default true: dot on the latest value (line, area)\n strokeWidth?: number;\n transition?: TransitionConfig;\n}\n```\n\n---\n\n### Series and slice configurations\n\n```ts\ninterface LineSeriesConfig extends Series<ContinuousDatum> {\n yAxis?: 'left' | 'right'; // defaults to 'left'\n curve?: 'linear' | 'monotone' | 'step';\n pointRadius?: number;\n showPoints?: boolean;\n strokeWidth?: number; // overrides --prism-line-width\n}\n\ninterface AreaSeriesConfig extends Series<ContinuousDatum> {\n curve?: 'linear' | 'monotone' | 'step';\n fill?: 'gradient' | 'solid'; // default 'gradient', fading toward the baseline\n fillOpacity?: number; // overrides --prism-area-opacity\n showLine?: boolean;\n}\n\ninterface BarSeriesConfig extends Series {\n borderRadius?: number; // overrides --prism-bar-radius; stacked bars stay square\n}\n\ninterface PieSliceConfig {\n value: number;\n color?: string;\n label?: string;\n}\n\ninterface RadarAxisConfig {\n key: string;\n label: string;\n min?: number;\n max?: number;\n format?: (value: number) => string;\n}\n\ntype RadarSeriesConfig = Series<Datum<string>>;\n\ninterface RadarGridConfig {\n bands?: boolean; // default true\n labels?: boolean; // default false; drawn only when every axis shares one domain\n levels?: number; // default 4\n shape?: 'circle' | 'polygon'; // default 'polygon'\n}\n\ninterface RadarEvent {\n axis: RadarAxisConfig;\n index: number;\n values: RadarAxisValue[];\n originalEvent: Event;\n}\n\ninterface RadarAxisValue {\n datum: Datum<string> | undefined;\n series: RadarSeriesConfig;\n}\n\ninterface StackSegment {\n value: number;\n color?: string;\n label?: string;\n}\n```\n\nA custom radar `tooltip.render` receives `datum.meta` with `axis`, `values`, and the default `text`.\n\n---\n\n### Axis, interaction, and transition configurations\n\n```ts\ntype HorizontalAxisPosition = 'bottom' | 'top';\ntype VerticalAxisPosition = 'left' | 'right';\ntype AxisPosition = HorizontalAxisPosition | VerticalAxisPosition;\n\ninterface AxisConfig<TPosition extends AxisPosition = AxisPosition> {\n grid?: boolean | GridConfig;\n label?: string;\n position?: TPosition;\n tickCount?: number;\n tickFormat?: (value: Date | number | string) => string;\n}\n\ntype XAxisConfig = AxisConfig<HorizontalAxisPosition>;\ntype YAxisConfig = AxisConfig<VerticalAxisPosition>;\n\ninterface GridConfig {\n color?: string;\n dash?: string;\n}\n\ninterface TooltipConfig {\n offset?: number;\n render?: (datum: Datum, series: Series) => Node | string;\n}\n\ninterface CrosshairConfig {\n horizontal?: boolean;\n snap?: boolean;\n vertical?: boolean;\n}\n\ninterface LegendConfig {\n position?: LegendPosition;\n}\n\ntype LegendPosition = 'bottom' | 'left' | 'right' | 'top';\n\ninterface TransitionConfig {\n duration?: number;\n easing?: EasingFn | 'ease-in' | 'ease-in-out' | 'ease-out' | 'linear';\n preference?: 'always' | 'never' | 'system';\n stagger?: number;\n}\n\ntype EasingFn = (t: number) => number;\n```\n\nTooltip strings are assigned through `textContent`. Return a `Node` for structured content.\n\n---\n\n### Scale types\n\n```ts\ninterface Scale<T> {\n readonly domain: readonly [T, T];\n readonly range: readonly [number, number];\n map(value: T): number;\n invert(pixel: number): T;\n ticks(count?: number): T[];\n}\n\ninterface BandScale {\n readonly domain: readonly string[];\n readonly range: readonly [number, number];\n map(value: string): number;\n ticks(count?: number): string[];\n bandwidth(): number;\n gap(): number;\n}\n\ninterface LinearScaleConfig {\n domain: [number, number];\n range: [number, number];\n clamp?: boolean;\n nice?: boolean;\n}\n\ninterface TimeScaleConfig {\n domain: [Date, Date];\n range: [number, number];\n nice?: boolean;\n}\n\ninterface BandScaleConfig {\n domain: string[];\n range: [number, number];\n padding?: number;\n paddingOuter?: number;\n}\n```\n\n---\n\n### Remaining unions and theme type\n\n```ts\ntype BarVariant = 'grouped' | 'grouped-horizontal' | 'stacked' | 'stacked-horizontal';\ntype PieVariant = 'donut' | 'pie' | 'semi';\ntype SparklineVariant = 'area' | 'bar' | 'line' | 'stack';\n\ninterface PrismTheme {\n colors?: string[];\n fontFamily?: string;\n gridColor?: string;\n gridOpacity?: number;\n}\n```\n\n## Devtools\n\n### `debugChart()`\n\n```ts\nfunction debugChart<T extends ChartHandle>(handle: T, options?: DebugChartOptions): T;\n\ninterface DebugChartOptions {\n label?: string; // log prefix; defaults to 'chart', producing [prism:chart]\n}\n```\n\nLogs mount, resize, and disposal events to `console.debug` and returns the same handle. Import it and `DebugChartOptions` from `@vielzeug/prism/devtools`.\n\n## Errors\n\n### `PrismError`\n\nBase class for every Prism-originated error. It supports standard `ErrorOptions` cause chaining.\n\n### `PrismRenderError`\n\nExtends `PrismError`. Thrown for invalid containers, failed initial renders, and attempts to update disposed charts.\n",
6
+ "usage": "---\ntitle: 'Prism: Usage Guide'\ndescription: Concepts, update patterns, and best practices for responsive SVG charts with @vielzeug/prism.\n---\n\n[[toc]]\n\n## Basic Usage\n\nEvery chart needs a container element with defined dimensions and the theme CSS:\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport '@vielzeug/prism/theme';\n\nconst container = document.querySelector<HTMLElement>('#chart')!;\nconst chart = createLineChart(container, {\n series: [\n {\n name: 'Revenue',\n data: [\n { key: 1, value: 10 },\n { key: 2, value: 16 },\n ],\n },\n ],\n});\n\nchart.dispose();\n```\n\n```html\n<div id=\"chart\" style=\"width: 100%; height: 300px;\"></div>\n```\n\nPrism observes the container size via `ResizeObserver` and re-renders automatically on resize. If the container has zero dimensions at mount time, a `warn` is emitted in development: ensure the container has layout before calling the chart factory.\n\n## Updating Data\n\nChart factories render synchronously and return a typed handle. Call `update()` with the same data shape used by the factory when application state changes.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(container, {\n series: [{ data: [{ key: 1, value: 10 }], name: 'Live' }],\n});\n\nchart.update([\n {\n data: [\n { key: 1, value: 10 },\n { key: 2, value: 20 },\n ],\n name: 'Live',\n },\n]);\n```\n\n`update()` is state-library neutral. Call it from a framework effect, store subscription, event handler, or request callback. It throws after the chart is disposed instead of silently retaining detached state.\n\n## Line Charts\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\n\nconst chart = createLineChart(container, {\n series: [\n {\n name: 'Revenue',\n data: [\n { key: 1, value: 100 },\n { key: 2, value: 150 },\n { key: 3, value: 130 },\n ],\n color: '#3b82f6',\n curve: 'monotone', // 'linear' | 'monotone' | 'step'\n strokeWidth: 2,\n showPoints: true,\n pointRadius: 4,\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n crosshair: true,\n});\n```\n\n### Multiple Series\n\n```ts\nconst chart = createLineChart(container, {\n series: [\n { name: 'Revenue', data: revenueData, color: '#3b82f6' },\n { name: 'Expenses', data: expenseData, color: '#ef4444' },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n});\n```\n\n### Independent Value Axes\n\nAssign a line series to `yAxis: 'right'` when its values need a different range. Both axes share the same X scale, while tooltips retain the original values.\n\n```ts\nconst chart = createLineChart(container, {\n series: [\n { name: 'Health', data: [{ key: 0, value: 30 }, { key: 1, value: 20 }] },\n { name: 'Damage', yAxis: 'right', data: [{ key: 0, value: 0 }, { key: 1, value: 300 }] },\n ],\n yAxis: { label: 'Health' },\n rightYAxis: { label: 'Damage' },\n tooltip: true,\n});\n```\n\nThe primary axis is on the left when right-axis series are present. Grid configuration belongs to the primary axis. Dual-axis curve crossings do not imply equal numeric values. Preserve each marker's axis assignment when calling `update()`.\n\n### Time-based X Axis\n\nWhen data points use `Date` objects for `key`, Prism automatically applies a time scale. The domain spans exactly the first to the last date, so the series fills the plot width:\n\n```ts\nconst chart = createLineChart(container, {\n series: [\n {\n name: 'Signups',\n data: [\n { key: new Date('2024-01-01'), value: 50 },\n { key: new Date('2024-02-01'), value: 80 },\n { key: new Date('2024-03-01'), value: 120 },\n ],\n },\n ],\n xAxis: { position: 'bottom', tickFormat: (d) => (d as Date).toLocaleDateString() },\n yAxis: { position: 'left' },\n});\n```\n\n## Bar Charts\n\n```ts\nimport { createBarChart } from '@vielzeug/prism';\n\nconst chart = createBarChart(container, {\n series: [\n {\n name: 'Sales',\n data: [\n { key: 'Q1', value: 200 },\n { key: 'Q2', value: 350 },\n { key: 'Q3', value: 280 },\n { key: 'Q4', value: 400 },\n ],\n borderRadius: 4,\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n});\n```\n\n### Variants\n\nSelect the bar layout with `variant`:\n\n| Value | Layout |\n| ---------------------- | -------------------------- |\n| `'grouped'` | Vertical grouped (default) |\n| `'stacked'` | Vertical stacked |\n| `'grouped-horizontal'` | Horizontal grouped |\n| `'stacked-horizontal'` | Horizontal stacked |\n\n```ts\nconst chart = createBarChart(container, {\n variant: 'stacked',\n series: [\n { name: 'Mobile', data: mobileData, color: '#3b82f6', borderRadius: 0 },\n { name: 'Desktop', data: desktopData, color: '#10b981', borderRadius: 0 },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n tooltip: true,\n legend: true,\n});\n```\n\nFor horizontal layouts, categories appear on the Y axis and values on the X axis:\n\n```ts\nconst chart = createBarChart(container, {\n variant: 'grouped-horizontal',\n series: [{ name: 'Revenue', data, color: '#3b82f6' }],\n xAxis: { position: 'bottom', grid: true },\n yAxis: { position: 'left' },\n});\n```\n\n### Grouped Bars\n\nMultiple series with `variant: 'grouped'` (default) render side-by-side:\n\n```ts\nconst chart = createBarChart(container, {\n series: [\n { name: '2023', data: lastYearData, color: '#94a3b8' },\n { name: '2024', data: thisYearData, color: '#3b82f6' },\n ],\n});\n```\n\n## Area Charts\n\nArea fills use a vertical gradient that fades toward the baseline. Set `fill: 'solid'` for a flat fill:\n\n```ts\nimport { createAreaChart } from '@vielzeug/prism';\n\nconst chart = createAreaChart(container, {\n series: [\n {\n name: 'Users',\n data: userData,\n curve: 'monotone',\n fill: 'gradient', // 'gradient' (default) | 'solid'\n showLine: true,\n },\n ],\n xAxis: { position: 'bottom' },\n yAxis: { position: 'left', grid: true },\n crosshair: true,\n});\n```\n\n`fillOpacity` overrides the theme opacity for one series.\n\n## Pie, Donut, and Semi-circle Charts\n\nAll three variants use `createPieChart` with the `variant` field:\n\n```ts\nimport { createPieChart } from '@vielzeug/prism';\n\nconst chart = createPieChart(container, {\n data: [\n { label: 'Direct', value: 42, color: '#3b82f6' },\n { label: 'Organic', value: 28, color: '#10b981' },\n { label: 'Referral', value: 18, color: '#f59e0b' },\n { label: 'Social', value: 12, color: '#8b5cf6' },\n ],\n variant: 'donut', // 'pie' | 'donut' | 'semi'\n tooltip: true,\n transition: { duration: 400, easing: 'ease-out' },\n});\n```\n\n### Variants\n\n| Value | Shape |\n| --------- | ------------------------------------------------------- |\n| `'pie'` | Full circle, no hole |\n| `'donut'` | Full circle with inner hole (~55% of outer by default) |\n| `'semi'` | Top-half semicircle with inner hole: useful for gauges |\n\n### Inner Radius\n\n`innerRadius` overrides the automatic calculation:\n\n```ts\ncreatePieChart(container, {\n data,\n variant: 'donut',\n innerRadius: 60, // explicit pixels\n});\n```\n\n### Slice Labels\n\nSet `label` on each `PieSliceConfig` to render text at the arc centroid. A label that does not fit inside its slice is not drawn; the value stays available through the tooltip, legend, and keyboard announcements:\n\n```ts\n{ value: 42, label: 'Direct' }\n```\n\nStyle labels via CSS:\n\n```css\n:root {\n --prism-pie-label-color: #fff;\n --prism-pie-label-size: 11px;\n}\n```\n\n### Updating Data\n\n```ts\nconst chart = createPieChart(container, {\n data: [\n { label: 'A', value: 40 },\n { label: 'B', value: 60 },\n ],\n variant: 'donut',\n});\n\nchart.update([\n { label: 'A', value: 55 },\n { label: 'B', value: 45 },\n]);\n```\n\n### Event Hooks\n\n```ts\ncreatePieChart(container, {\n data,\n onHover: (slice, index) => {\n // slice/index are null on mouseleave\n if (slice) console.log(slice.label, slice.value);\n },\n onClick: (slice, index) => {\n console.log('clicked', slice.label);\n },\n});\n```\n\n## Radar Charts\n\n`createRadarChart` compares several values on one shape, such as a hero's stats. Each series supplies values keyed by `axis.key`:\n\n```ts\nimport { createRadarChart } from '@vielzeug/prism';\n\nconst axes = [\n { key: 'str', label: 'Strength' },\n { key: 'agi', label: 'Agility' },\n { key: 'int', label: 'Intellect' },\n { key: 'end', label: 'Endurance' },\n { key: 'spd', label: 'Speed', max: 5 },\n];\n\nconst chart = createRadarChart(container, {\n a11y: { ariaLabel: 'Hero stats' },\n axes,\n domain: [0, 10],\n fill: 'gradient',\n showValues: true,\n series: [\n {\n name: 'Adam',\n data: [\n { key: 'str', value: 8 },\n { key: 'agi', value: 6 },\n { key: 'int', value: 4 },\n { key: 'end', value: 9 },\n { key: 'spd', value: 3 },\n ],\n },\n ],\n});\n```\n\n### Scales\n\nEvery axis shares `domain` (or a nice range around the data when omitted). Give an axis its own `min`/`max` when its stat uses a different range: above, Speed runs 0 to 5 while the rest run 0 to 10, so each still fills the chart.\n\n### Appearance\n\n| Option | Values | Use it for |\n| --- | --- | --- |\n| `fill` | `'solid'`, `'gradient'`, `'none'` | `gradient` for a single hero; `solid` or `none` when overlaying several |\n| `curve` | `'linear'`, `'rounded'` | Rounded reads softer; linear keeps exact vertices |\n| `grid.shape` | `'polygon'`, `'circle'` | Polygon matches the axes; circle suits many axes |\n| `grid.levels` / `grid.bands` | number / boolean | Ring count and alternate shading |\n| `grid.labels` | boolean | Level values; drawn only when every axis shares one domain |\n| `showValues` | boolean | Value beside each vertex, formatted by `axis.format` |\n\n### Comparing Series\n\nPass several series with `legend: true`. Hovering one shape dims the others, and hovering an axis reports every series' value on it:\n\n```ts\ncreateRadarChart(container, {\n axes,\n legend: true,\n series: [adam, eve],\n tooltip: true, // \"Agility: Adam 6, Eve 9\"\n onHover: (event) => event && console.log(event.axis.label, event.values),\n});\n```\n\n## Sparklines\n\nSparklines are minimal inline charts with no axes, no legend, and no margin: designed to live inline with text or inside table cells.\n\n```ts\nimport { createSparkline } from '@vielzeug/prism';\n\nconst spark = createSparkline(container, {\n data: [12, 18, 14, 22, 19, 28],\n variant: 'line', // 'line' | 'area' | 'bar' | 'stack' (default: 'line')\n color: '#3b82f6',\n curve: 'monotone',\n strokeWidth: 1.5,\n});\n\nspark.dispose();\n```\n\n### Variants\n\n- **`line`**: simple polyline path (default)\n- **`area`**: gradient-filled area + line overlay\n- **`bar`**: vertical bar for each data point\n- **`stack`**: horizontal proportional segments; use `StackSegment[]` for `data` with per-segment colors\n\nLine and area sparklines mark the latest value with a dot. Set `showEndPoint: false` to hide it.\n\n### Updating Data\n\n```ts\nconst spark = createSparkline(container, {\n data: [12, 18, 14, 22],\n variant: 'area',\n});\n\nspark.update([12, 18, 14, 22, 30]);\n```\n\n### Event Hooks\n\nSparklines use simplified hooks: index-based rather than full `ChartEvent`. With a hook set, a marker follows the hovered value:\n\n```ts\nconst spark = createSparkline(container, {\n data: [10, 20, 30],\n onHover: (index, value) => {\n // index/value are null on mouseleave\n if (index !== null) console.log(`Hovering point ${index}: ${value}`);\n },\n onClick: (index, value) => {\n console.log(`Clicked point ${index}: ${value}`);\n },\n});\n```\n\n> **Note:** Sparklines have no keyboard navigation. Label one with `a11y.ariaLabel` only when the trend carries meaning, and state the key value in surrounding text.\n\n## Axes and Grid\n\n```ts\n{\n xAxis: {\n position: 'bottom', // 'top' | 'bottom'\n tickCount: 5,\n tickFormat: (v) => `$${v}`,\n label: 'Month',\n grid: true, // or { color: '#ddd', dash: '4 2' }\n },\n yAxis: {\n position: 'left', // 'left' | 'right'\n grid: { color: '#f0f0f0' },\n label: 'Revenue ($)',\n },\n}\n```\n\nCategory axes show every label when the labels fit and thin them out only when they would overlap. Set `tickCount` to choose the density yourself.\n\n## Tooltips\n\nEnable with `tooltip: true`. On line, area, bar, and radar charts the default tooltip compares every series at the active key: a title, then a colour swatch, name, and value per series. Provide a custom `render` function to replace it. Strings are rendered as text. Return a DOM node for structured content:\n\n```ts\n{\n tooltip: {\n offset: 12,\n render: (datum, series) => {\n const content = document.createElement('strong');\n content.textContent = `${series.name}: ${datum.value.toLocaleString()}`;\n return content;\n },\n },\n}\n```\n\nPrism never injects tooltip strings as HTML, so custom rendering does not require a sanitizer.\n\nThe tooltip element is scoped inside the chart container (not `document.body`) and is removed automatically on `dispose()`.\n\n## Crosshair\n\nA vertical guide that snaps to the nearest data point:\n\n```ts\n{\n crosshair: true,\n // or configure:\n crosshair: { vertical: true, horizontal: true, snap: true },\n}\n```\n\n## Legend\n\nEnable with `legend: true` (defaults to `bottom`) or configure position:\n\n```ts\n{\n legend: true,\n // or:\n legend: { position: 'top' }, // 'top' | 'bottom' | 'left' | 'right'\n}\n```\n\nThe legend renders as a `div` placed outside the SVG. Each item shows a color swatch and the series `name`. Customize via CSS:\n\n```css\n:root {\n --prism-legend-gap: 1rem;\n --prism-legend-dot-size: 0.5rem;\n --prism-legend-font-size: 0.75rem;\n}\n```\n\n## Event Hooks\n\nAll charts expose `onClick` and `onHover` callbacks on the config:\n\n```ts\nconst chart = createLineChart(container, {\n series: [{ name: 'Revenue', data }],\n onHover: (event) => {\n // event is ChartEvent | null (null on mouseleave)\n if (event) console.log(event.datum, event.series);\n },\n onClick: (event) => {\n console.log('clicked', event.datum);\n },\n});\n```\n\n`ChartEvent` provides:\n\n- `datum`: the datum of the series nearest the pointer\n- `series`: the corresponding `Series` config\n- `values`: every series at the same key (line, area, and bar charts)\n- `originalEvent`: the raw `MouseEvent` or, for keyboard navigation, `KeyboardEvent`\n\n> **Pie and radar events differ**: pie hooks receive `(slice: PieSliceConfig, index: number)`, and radar hooks receive a `RadarEvent` describing an axis. See [`PieChartConfig`](./api.md#chart-configurations) and [`createRadarChart()`](./api.md#createradarchart).\n\n## Animations\n\nPass a `transition` config to animate enter and update transitions:\n\n```ts\n{\n transition: {\n duration: 400,\n easing: 'ease-out',\n stagger: 30, // ms delay between bars (bar charts) or series (radar charts)\n },\n}\n```\n\nAll chart types use `requestAnimationFrame`-based interpolation and skip animation when the user prefers reduced motion (`preference: 'system'`, the default). Bar and radar charts apply `stagger` on entry; line, area, and pie charts ignore it.\n\n## Theming\n\nImport the default theme:\n\n```ts\nimport '@vielzeug/prism/theme';\n```\n\n### Programmatic Theme with `setTheme`\n\nCall `setTheme` once at app startup to apply custom tokens programmatically:\n\n```ts\nimport { setTheme } from '@vielzeug/prism';\n\nsetTheme({\n colors: ['#6366f1', '#22d3ee', '#f59e0b', '#10b981'], // replaces --prism-color-1 through -4\n fontFamily: 'Inter, system-ui, sans-serif', // sets --prism-font-family\n gridColor: '#e2e8f0', // sets --prism-grid-color\n gridOpacity: 0.6, // sets --prism-grid-opacity\n});\n```\n\n`setTheme` writes to `document.documentElement` style, so it takes precedence over CSS file defaults. Call `resetTheme()` to clear every custom property `setTheme` can set and restore the default theme: useful for a theme-switcher's \"reset\" action or test teardown:\n\n```ts\nimport { resetTheme } from '@vielzeug/prism';\n\nresetTheme();\n```\n\n### Custom Theme (CSS)\n\n```css\n:root {\n --prism-color-1: #6366f1;\n --prism-color-2: #22c55e;\n --prism-axis-color: #71717a;\n --prism-grid-color: #f4f4f5;\n --prism-text-color: #18181b;\n --prism-tooltip-bg: #27272a;\n --prism-font-family: 'Inter', system-ui, sans-serif;\n}\n```\n\n### Scoped Themes\n\nApply tokens to a specific container:\n\n```css\n.dark-dashboard {\n --prism-axis-color: #64748b;\n --prism-grid-color: #334155;\n --prism-text-color: #e2e8f0;\n}\n```\n\n### Available Tokens\n\n| Token | Default | Description |\n| ------------------------- | -------------------------- | ---------------------- |\n| `--prism-color-{1-8}` | Colorblind-safe palette | Series color palette |\n| `--prism-bg` | `transparent` | Chart background |\n| `--prism-axis-color` | `hsl(215deg 16% 47%)` | Axis lines and ticks |\n| `--prism-grid-color` | `hsl(220deg 10% 75%)` | Grid lines |\n| `--prism-text-color` | `hsl(215deg 25% 27%)` | Axis labels and text |\n| `--prism-font-family` | `system-ui` | Chart font |\n| `--prism-font-size` | `0.75rem` | Label font size |\n| `--prism-tooltip-bg` | `hsl(222deg 47% 11%)` | Tooltip background |\n| `--prism-tooltip-color` | `hsl(210deg 40% 98%)` | Tooltip text |\n| `--prism-tooltip-radius` | `0.375rem` | Tooltip border radius |\n| `--prism-crosshair-color` | `hsl(215deg 16% 47%)` | Crosshair line |\n| `--prism-crosshair-dash` | `4 2` | Crosshair dash pattern |\n\nThe palette follows Wong (2011) so adjacent series stay distinguishable under common color-vision deficiencies. Dark mode applies automatically through `prefers-color-scheme` or an `html.dark` class.\n\nRadar charts add their own tokens, each defaulting to a shared one:\n\n| Token | Default | Description |\n| --- | --- | --- |\n| `--prism-radar-grid-color` | `--prism-grid-color` | Rings |\n| `--prism-radar-grid-opacity` | `0.7` | Ring and spoke opacity |\n| `--prism-radar-band-fill` | `--prism-grid-color` | Alternate ring shading |\n| `--prism-radar-band-opacity` | `0.14` | Shading opacity |\n| `--prism-radar-spoke-color` | `--prism-radar-grid-color` | Spokes |\n| `--prism-radar-fill-opacity` | `--prism-area-opacity` | Solid shape fill |\n| `--prism-radar-stroke-width` | `--prism-line-width` | Shape outline |\n| `--prism-radar-point-radius` | `--prism-point-radius` | Vertex dots |\n| `--prism-radar-point-radius-active` | `--prism-point-radius-hover` | Dots on the active axis |\n| `--prism-radar-label-color` / `-size` | Secondary text tokens | Axis labels |\n| `--prism-radar-value-color` / `-size` | Text tokens | Vertex values |\n| `--prism-radar-dim-opacity` | `--prism-dim-opacity` | Other shapes while one is hovered |\n\nShared interaction and chart tokens:\n\n| Token | Default | Description |\n| --- | --- | --- |\n| `--prism-dim-opacity` | `0.35` | Series or slices outside the active one |\n| `--prism-active-point-radius` | `--prism-point-radius-hover` | Points marked at the active key |\n| `--prism-point-ring` | `Canvas` | Ring separating active and end points from the line |\n| `--prism-focus-color` | `--prism-color-1` | Focus outline of a keyboard-focused chart |\n| `--prism-bar-radius` | `4px` | Bar corner radius (stacked bars stay square) |\n| `--prism-bar-band-fill` / `-opacity` | Grid colour / `0.18` | Shaded active category |\n| `--prism-bar-dim-opacity` | `0.55` | Bars outside the active category |\n| `--prism-area-gradient-start` / `-end` | `0.45` / `0.02` | Gradient fill opacity at the line and the baseline |\n| `--prism-spark-gradient-start` / `-end` | `0.35` / `0` | Sparkline gradient fill |\n\nExplicit config such as `strokeWidth`, `fillOpacity`, or `borderRadius` always wins over these tokens.\n\n## Scales (Standalone)\n\nScales can be used independently for custom visualizations:\n\n```ts\nimport { linearScale, timeScale, bandScale } from '@vielzeug/prism';\n\nconst y = linearScale({ domain: [0, 100], range: [300, 0] });\ny.map(50); // → 150\ny.invert(150); // → 50\ny.ticks(5); // → [0, 20, 40, 60, 80, 100]\n\nconst x = bandScale({ domain: ['A', 'B', 'C'], range: [0, 300] });\nx.map('B'); // → pixel left edge of band B\nx.bandwidth(); // → width of each band\n```\n\n## Lifecycle and Cleanup\n\nEvery chart returns a `ChartHandle`. Always call `dispose()` when removing a chart:\n\n```ts\nconst chart = createLineChart(container, config);\n\n// When done:\nchart.dispose();\n\n// Or with TC39 explicit resource management:\n{\n using chart = createLineChart(container, config);\n // auto-disposed at block end\n}\n```\n\nCalling `dispose()`:\n\n- Cancels in-flight transitions\n- Disconnects the `ResizeObserver`\n- Removes the SVG element, tooltip, and legend from the DOM\n- Restores container styles changed for tooltip positioning\n- Is idempotent: safe to call multiple times\n\nCall `update()` only while the handle is active. Updating a disposed chart throws `PrismRenderError`.\n\n## Responsive Behavior\n\nCharts resize automatically when the container dimensions change. Prism uses `ResizeObserver` internally: no manual `resize()` call is needed.\n\n## Devtools\n\nImport `debugChart()` from the `/devtools` subpath to log a chart's mount, resize, and dispose events to `console.debug`. It's separate from prism's internal validation warnings (those run automatically in development, no import needed) and is tree-shaken from production bundles when this subpath isn't imported.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport { debugChart } from '@vielzeug/prism/devtools';\n\nconst chart = debugChart(createLineChart(container, config), { label: 'revenue' });\n// [prism:revenue] mounted\n// [prism:revenue] resized 600×300\nchart.dispose();\n// [prism:revenue] disposed\n```\n\n> `debugChart()` wraps and returns the same `ChartHandle` unchanged, so it drops into any `create*Chart()` call without restructuring your code.\n\n## Accessibility\n\nLabel informative charts with `a11y: { ariaLabel }`. A labelled chart renders with `role=\"img\"`, is focusable, and supports keyboard navigation. Charts without `a11y` are decorative and render with `aria-hidden=\"true\"`.\n\n```ts\ncreateLineChart(container, {\n a11y: { ariaLabel: 'Revenue by month' },\n series: [...],\n});\n```\n\nMark a chart decorative explicitly when surrounding text already states its meaning:\n\n```ts\ncreateSparkline(container, {\n a11y: { decorative: true },\n data: [...],\n});\n```\n\n### Keyboard and announcements\n\nEvery labelled chart except sparklines shares one keyboard model:\n\n| Chart | Arrow keys move between | `Home` / `End` | Announced |\n| --- | --- | --- | --- |\n| Line, area | x positions | First / last position | `1: Adam 3, Eve 6` |\n| Bar | categories | First / last category | `Str: Adam 8, Eve 5` |\n| Pie | slices | First / last slice | `Wins: 15 (75%)` |\n| Radar | axes (wrapping) | Not supported | `Agility: Adam 6, Eve 9` |\n\nThe first arrow press focuses the first item. `Enter` or `Space` fires `onClick` for the focused item, and `Escape` clears it. The tooltip speaks the text when one is enabled; otherwise the chart's own `role=\"status\"` region (`.prism-live`) does, so each value is announced once.\n\n### Hover feedback\n\nThe active key is shown the same way on every chart. Line and area charts mark each series' point and dim the series farther from the pointer. Bar charts shade the category band and dim the other categories. Pie charts dim the other slices. Radar charts highlight the active spoke and its points, and dim the other shapes while one is hovered.\n\n## Framework Integration\n\nPrism has no framework adapter. Connect the same three operations to your framework's lifecycle: create after mount, update when state changes, and dispose before unmount.\n\n```ts\nimport { createLineChart, type ChartHandle, type ContinuousDatum, type LineSeriesConfig } from '@vielzeug/prism';\n\nlet chart: ChartHandle<LineSeriesConfig[]> | undefined;\n\nexport function mountChart(container: HTMLElement, data: ContinuousDatum[]): void {\n chart = createLineChart(container, { series: [{ data, name: 'Series' }] });\n}\n\nexport function updateChart(data: ContinuousDatum[]): void {\n chart?.update([{ data, name: 'Series' }]);\n}\n\nexport function unmountChart(): void {\n chart?.dispose();\n chart = undefined;\n}\n```\n\n## Working with Other Vielzeug Libraries\n\n### With Ripple\n\nKeep state ownership in Ripple and connect it to Prism through an explicit subscription.\n\n```ts\nimport { createLineChart } from '@vielzeug/prism';\nimport { signal } from '@vielzeug/ripple';\n\nconst data = signal([{ key: 1, value: 10 }]);\nconst toSeries = () => [{ data: data.value, name: 'Series' }];\nconst chart = createLineChart(container, { series: toSeries() });\nconst unsubscribe = data.subscribe(() => chart.update(toSeries()));\n\n// Cleanup both owners together.\nunsubscribe();\nchart.dispose();\n```\n\n### With Sourcerer\n\nBind chart data to a Sourcerer remote source so charts update whenever the list refreshes.\n\n```ts\nimport { createBarChart } from '@vielzeug/prism';\nimport { createPageSource } from '@vielzeug/sourcerer';\n\nconst source = createPageSource({\n load: async ({ page, pageSize, signal }) => {\n const result = await api.stats.list({ page, pageSize }, { signal });\n return { items: result.data, totalItems: result.total };\n },\n});\nconst toSeries = (state) => [\n {\n data: state.items.map((item) => ({ key: item.label, value: item.count })),\n name: 'Series',\n },\n];\nconst chart = createBarChart(container, { series: toSeries(source.state) });\nconst unsubscribe = source.subscribe((state) => chart.update(toSeries(state)));\nvoid source.reload().catch(() => undefined);\n```\n\n## Best Practices\n\n- Ensure the container element has explicit dimensions before calling a chart factory: `ResizeObserver` needs a non-zero layout size to trigger the first render.\n- Call `chart.dispose()` in your framework's unmount/cleanup phase to cancel transitions, disconnect resize observation, and remove DOM nodes.\n- Call `chart.update(data)` from your application state boundary; Prism does not require or own a state library.\n- Set `a11y: { ariaLabel: '…' }` on every chart that conveys meaningful data: unlabelled charts are hidden from assistive technology and receive no keyboard navigation.\n- Wrap a chart with `debugChart()` from the `/devtools` subpath only in development code paths; it is tree-shaken in production.\n- For SSR, skip chart creation server-side: Prism depends on DOM APIs and `ResizeObserver`. Render charts only after hydration in a `onMounted`/`useEffect` callback.\n",
7
+ "examples": "---\ntitle: 'Prism: Examples'\ndescription: Focused recipes for creating, updating, interacting with, and theming Prism charts.\n---\n\n- [Create a line chart](./examples/line-chart.md)\n- [Plot a time series](./examples/time-series.md)\n- [Compare categories with a bar chart](./examples/bar-chart.md)\n- [Render compact charts](./examples/compact-charts.md)\n- [Compare hero stats with a radar chart](./examples/radar-chart.md)\n- [Update chart data](./examples/update-data.md)\n- [Sync a details panel with hover](./examples/hover-details.md)\n- [Render a custom tooltip](./examples/custom-tooltip.md)\n- [Match charts to your design system](./examples/theming.md)\n"
8
8
  },
9
9
  "examples": [],
10
10
  "typeSignatures": {
@@ -13,6 +13,7 @@
13
13
  "createBarChart": "export { createBarChart } from './charts/bar';",
14
14
  "createLineChart": "export { createLineChart } from './charts/line';",
15
15
  "createPieChart": "export { createPieChart } from './charts/pie';",
16
+ "createRadarChart": "export { createRadarChart } from './charts/radar';",
16
17
  "createSparkline": "export { createSparkline } from './charts/sparkline';",
17
18
  "PrismError": "export { PrismError, PrismRenderError } from './errors';",
18
19
  "PrismRenderError": "export { PrismError, PrismRenderError } from './errors';",
@@ -25,42 +26,49 @@
25
26
  "resetTheme": "export { resetTheme, seriesColor, setTheme } from './theme';",
26
27
  "seriesColor": "export { resetTheme, seriesColor, setTheme } from './theme';",
27
28
  "setTheme": "export { resetTheme, seriesColor, setTheme } from './theme';",
28
- "AreaChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
29
- "AreaSeriesConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
30
- "AxisConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
31
- "AxisPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
32
- "BandScale": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
33
- "BarChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
34
- "BarSeriesConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
35
- "BarVariant": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
36
- "BaseChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
37
- "ChartA11y": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
38
- "ChartDimensions": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
39
- "ChartEvent": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
40
- "ChartHandle": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
41
- "ChartMargin": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
42
- "ContinuousDatum": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
43
- "CrosshairConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
44
- "Datum": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
45
- "GridConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
46
- "HorizontalAxisPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
47
- "LegendConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
48
- "LegendPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
49
- "LineChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
50
- "LineSeriesConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
51
- "PieChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
52
- "PieSliceConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
53
- "PieVariant": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
54
- "PrismTheme": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
55
- "Scale": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
56
- "Series": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
57
- "SparklineConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
58
- "SparklineVariant": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
59
- "StackSegment": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
60
- "TooltipConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
61
- "TransitionConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
62
- "VerticalAxisPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
63
- "XAxisConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
64
- "YAxisConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n Scale,\n Series,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';"
29
+ "AreaChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
30
+ "AreaSeriesConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
31
+ "AxisConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
32
+ "AxisPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
33
+ "BandScale": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
34
+ "BarChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
35
+ "BarSeriesConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
36
+ "BarVariant": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
37
+ "BaseChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
38
+ "ChartA11y": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
39
+ "ChartDimensions": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
40
+ "ChartEvent": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
41
+ "ChartHandle": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
42
+ "ChartMargin": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
43
+ "ContinuousDatum": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
44
+ "CrosshairConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
45
+ "Datum": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
46
+ "GridConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
47
+ "HorizontalAxisPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
48
+ "LegendConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
49
+ "LegendPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
50
+ "LineChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
51
+ "LineSeriesConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
52
+ "PieChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
53
+ "PieSliceConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
54
+ "PieVariant": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
55
+ "PrismTheme": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
56
+ "RadarAxisConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
57
+ "RadarAxisValue": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
58
+ "RadarChartConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
59
+ "RadarEvent": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
60
+ "RadarGridConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
61
+ "RadarSeriesConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
62
+ "Scale": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
63
+ "Series": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
64
+ "SeriesValue": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
65
+ "SparklineConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
66
+ "SparklineVariant": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
67
+ "StackSegment": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
68
+ "TooltipConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
69
+ "TransitionConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
70
+ "VerticalAxisPosition": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
71
+ "XAxisConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';",
72
+ "YAxisConfig": "export type {\n AreaChartConfig,\n AreaSeriesConfig,\n AxisConfig,\n AxisPosition,\n BandScale,\n BarChartConfig,\n BarSeriesConfig,\n BarVariant,\n BaseChartConfig,\n ChartA11y,\n ChartDimensions,\n ChartEvent,\n ChartHandle,\n ChartMargin,\n ContinuousDatum,\n CrosshairConfig,\n Datum,\n GridConfig,\n HorizontalAxisPosition,\n LegendConfig,\n LegendPosition,\n LineChartConfig,\n LineSeriesConfig,\n PieChartConfig,\n PieSliceConfig,\n PieVariant,\n PrismTheme,\n RadarAxisConfig,\n RadarAxisValue,\n RadarChartConfig,\n RadarEvent,\n RadarGridConfig,\n RadarSeriesConfig,\n Scale,\n Series,\n SeriesValue,\n SparklineConfig,\n SparklineVariant,\n StackSegment,\n TooltipConfig,\n TransitionConfig,\n VerticalAxisPosition,\n XAxisConfig,\n YAxisConfig,\n} from './types';"
65
73
  }
66
74
  }