ObjectStackObjectStack

Chart

Chart protocol schemas

Unified Chart Type Taxonomy

Shared by Dashboard and Report widgets.

Provides a comprehensive set of chart types for data visualization.

Source: packages/spec/src/ui/chart.zod.ts

TypeScript Usage

import { ChartAnnotation, ChartAxis, ChartConfig, ChartInteraction, ChartSeries, ChartType } from '@objectstack/spec/ui';
import type { ChartAnnotation, ChartAxis, ChartConfig, ChartInteraction, ChartSeries, ChartType } from '@objectstack/spec/ui';

// Validate data
const result = ChartAnnotation.parse(data);

ChartAnnotation

Properties

PropertyTypeRequiredDescription
typeEnum<'line' | 'region'>
axisEnum<'x' | 'y'>
valuenumber | stringStart value
endValuenumber | stringoptionalEnd value for regions
colorstringoptional
labelstring | ObjectoptionalDisplay label: plain string or i18n translation object
styleEnum<'solid' | 'dashed' | 'dotted'>

ChartAxis

Properties

PropertyTypeRequiredDescription
fieldstringData field key
titlestring | ObjectoptionalAxis display title
formatstringoptionalValue format string (e.g., "$0,0.00")
minnumberoptionalMinimum value
maxnumberoptionalMaximum value
stepSizenumberoptionalStep size for ticks
showGridLinesboolean
positionEnum<'left' | 'right' | 'top' | 'bottom'>optionalAxis position
logarithmicboolean

ChartConfig

Properties

PropertyTypeRequiredDescription
typeEnum<'bar' | 'horizontal-bar' | 'column' | 'grouped-bar' | 'stacked-bar' | 'bi-polar-bar' | 'line' | 'area' | 'stacked-area' | 'step-line' | 'spline' | 'pie' | 'donut' | 'funnel' | 'pyramid' | 'scatter' | 'bubble' | 'treemap' | 'sunburst' | 'sankey' | 'word-cloud' | 'gauge' | 'solid-gauge' | 'metric' | 'kpi' | 'bullet' | 'choropleth' | 'bubble-map' | 'gl-map' | 'heatmap' | 'radar' | 'waterfall' | 'box-plot' | 'violin' | 'candlestick' | 'stock' | 'table' | 'pivot'>
titlestring | ObjectoptionalChart title
subtitlestring | ObjectoptionalChart subtitle
descriptionstring | ObjectoptionalAccessibility description
xAxisObjectoptionalX-Axis configuration
yAxisObject[]optionalY-Axis configuration (support dual axis)
seriesObject[]optionalDefined series configuration
colorsstring[]optionalColor palette
heightnumberoptionalFixed height in pixels
showLegendbooleanDisplay legend
showDataLabelsbooleanDisplay data labels
annotationsObject[]optional
interactionObjectoptional
ariaObjectoptionalARIA accessibility attributes

ChartInteraction

Properties

PropertyTypeRequiredDescription
tooltipsboolean
zoomboolean
brushboolean
clickActionstringoptionalAction ID to trigger on click

ChartSeries

Properties

PropertyTypeRequiredDescription
namestringField name or series identifier
labelstring | ObjectoptionalSeries display label
typeEnum<'bar' | 'horizontal-bar' | 'column' | 'grouped-bar' | 'stacked-bar' | 'bi-polar-bar' | 'line' | 'area' | 'stacked-area' | 'step-line' | 'spline' | 'pie' | 'donut' | 'funnel' | 'pyramid' | 'scatter' | 'bubble' | 'treemap' | 'sunburst' | 'sankey' | 'word-cloud' | 'gauge' | 'solid-gauge' | 'metric' | 'kpi' | 'bullet' | 'choropleth' | 'bubble-map' | 'gl-map' | 'heatmap' | 'radar' | 'waterfall' | 'box-plot' | 'violin' | 'candlestick' | 'stock' | 'table' | 'pivot'>optionalOverride chart type for this series
colorstringoptionalSeries color (hex/rgb/token)
stackstringoptionalStack identifier to group series
yAxisEnum<'left' | 'right'>Bind to specific Y-Axis

ChartType

Allowed Values

  • bar
  • horizontal-bar
  • column
  • grouped-bar
  • stacked-bar
  • bi-polar-bar
  • line
  • area
  • stacked-area
  • step-line
  • spline
  • pie
  • donut
  • funnel
  • pyramid
  • scatter
  • bubble
  • treemap
  • sunburst
  • sankey
  • word-cloud
  • gauge
  • solid-gauge
  • metric
  • kpi
  • bullet
  • choropleth
  • bubble-map
  • gl-map
  • heatmap
  • radar
  • waterfall
  • box-plot
  • violin
  • candlestick
  • stock
  • table
  • pivot

On this page