@progress/kendo-react-charts
Version:
React Chart renders a wide range of high-quality data visualizations. KendoReact Charts package
208 lines (207 loc) • 8.17 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { AxisLabelClickEvent, DragEvent, DragStartEvent, DragEndEvent, DrilldownEvent, LegendItemClickEvent, LegendItemHoverEvent, NoteClickEvent, NoteHoverEvent, PlotAreaClickEvent, PlotAreaHoverEvent, RenderEvent, SeriesClickEvent, SeriesHoverEvent, ZoomEvent, ZoomStartEvent, ZoomEndEvent, SelectEvent, SelectStartEvent, SelectEndEvent } from './common/events.js';
import { AxisDefaults, DragAction, Pane, PaneDefaults, SeriesDefaults, Zoomable } from './common/property-types.js';
import { Charts } from './common/charts.js';
import { ChartDrilldownState } from './common/api-types.js';
/**
* @hidden
*/
export interface BaseChartPrivateProps extends BaseChartProps {
/**
* @hidden
*/
deriveOptionsFromParent?: (options: any) => any;
/**
* @hidden
*/
chartConstructor: any;
/**
* @hidden
*/
wrapper: string;
/**
* @hidden
*/
getTarget: () => Charts;
/**
* @hidden
*/
data?: any;
}
/**
* @hidden
*/
export interface BaseChartProps {
/**
* Represents the `dir` HTML attribute.
*/
dir?: string;
/**
* The styles that are applied to the component.
*/
style?: React.CSSProperties;
/**
* Sets additional CSS classes to the component.
*/
className?: string;
/**
* @hidden
*/
children?: any;
/**
* Gets or sets the current drill-down state for [Drilldown Charts](https://www.telerik.com/kendo-react-ui/components/charts/drill-down).
*
* To return to a previous level, remove the items from the `steps` array following the desired level.
* To return to the root chart, set the `steps` array to `[]`.
*/
drilldownState?: ChartDrilldownState;
/**
* Sets the preferred rendering engine ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/rendering)). If not supported by the browser, the Chart switches to the first available mode.
*
* The supported values are:
* - `"svg"`—If available, renders the component as an inline `.svg` file.
* - `"canvas"`—If available, renders the component as a `canvas` element.
*/
renderAs?: 'svg' | 'canvas';
/**
* Specifies if the Chart can be panned ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/pan-zoom)).
*/
pannable?: boolean | DragAction;
/**
* Specifies if the Chart can be zoomed ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/pan-zoom)). Currently is only applicable to linear types, where the range on the X axis can be changed based on the zoom level.
*/
zoomable?: boolean | Zoomable;
/**
* The default colors for the Chart series. When all colors are used, new colors are pulled from the start again.
*/
seriesColors?: string[];
/**
* If set to `true`, the Chart plays animations when it displays the series. By default, animations are enabled.
*/
transitions?: boolean;
/**
* This option allows to override the default pane options.
*/
paneDefaults?: PaneDefaults;
/**
* The chart panes configuration.
*/
panes?: Pane[];
/**
* This option allows to override the default series options.
*/
seriesDefaults?: SeriesDefaults;
/**
* This option allows to override the default axis options.
*/
axisDefaults?: AxisDefaults;
/**
* @hidden
* Defines whether the Chart automatically repaints when its styles are modified through CSS variables.
*/
observeStyles?: boolean;
/**
* Fires when the user clicks an axis label.
*/
onAxisLabelClick?: (event: AxisLabelClickEvent) => void;
/**
* Fires as long as the user is dragging the Chart with the mouse or through swipe gestures.
*/
onDrag?: (event: DragEvent) => void;
/**
* Fires when the user stops dragging the Chart.
*/
onDragEnd?: (event: DragEndEvent) => void;
/**
* Fires when the user starts dragging the Chart.
*/
onDragStart?: (event: DragStartEvent) => void;
/**
* Fires when the user when the user wants to drill down on a specific point.
*/
onDrilldown?: (event: DrilldownEvent) => void;
/**
* Fires when the user hovers over a legend item.
*/
onLegendItemHover?: (event: LegendItemHoverEvent) => void;
/**
* Fires when the user clicks a legend item ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/elements/legend#toc-clicking-legend-items)).
*/
onLegendItemClick?: (event: LegendItemClickEvent) => void;
/**
* Fires when the user clicks a note.
*/
onNoteClick?: (event: NoteClickEvent) => void;
/**
* Fires when the user hovers over a note.
*/
onNoteHover?: (event: NoteHoverEvent) => void;
/**
* Fires when the user clicks the plot area. The `click` event is triggered by the `tap` and `contextmenu` events. To distinguish between the original events, inspect the `e.originalEvent.type` field.
*/
onPlotAreaClick?: (event: PlotAreaClickEvent) => void;
/**
* Fires when the user hovers the plot area ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/elements/crosshairs#toc-current-cursor-values)).
*/
onPlotAreaHover?: (event: PlotAreaHoverEvent) => void;
/**
* Fires when the Chart is ready to render on screen ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/elements/plot-bands#toc-custom-plot-bands)). For example, you can use it to remove loading indicators. Any changes made to the options are ignored.
*/
onRender?: (event: RenderEvent) => void;
/**
* Fires when the Chart is about to refresh. The event can be used to prevent the refresh of the Chart in specific cases ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/chart-refresh).
*/
onRefresh?: (chartOptions: any, themeOptions: any, chartInstance: any) => void;
/**
* Fires when the user modifies the selection.
*
* The range units are:
* - Generic axis—Category index (0-based).
* - Date axis—Date instance.
*/
onSelect?: (event: SelectEvent) => void;
/**
* Fires when the user completes the modification of the selection ([see example](https://www.telerik.com/kendo-react-ui/components/charts/chart/elements/selection#toc-using-selection-as-navigator)).
*
* The range units are:
* - Generic axis—Category index (0-based).
* - Date axis—Date instance.
*/
onSelectEnd?: (event: SelectEndEvent) => void;
/**
* Fires when the user starts modifying the axis selection.
*
* The range units are:
* - Generic axis—Category index (0-based).
* - Date axis—Date instance.
*/
onSelectStart?: (event: SelectStartEvent) => void;
/**
* Fires when the user clicks the Chart series.
*
* The `click` event will be triggered by the `tap` and `contextmenu` events. To distinguish between the original events, inspect the `e.originalEvent.type` field.
*/
onSeriesClick?: (event: SeriesClickEvent) => void;
/**
* Fires when the user hovers over the Chart series.
*/
onSeriesHover?: (event: SeriesHoverEvent) => void;
/**
* Fires as long as the user is zooming the Chart by using the mousewheel operation.
*/
onZoom?: (event: ZoomEvent) => void;
/**
* Fires when the user stops zooming the Chart.
*/
onZoomEnd?: (event: ZoomEndEvent) => void;
/**
* Fires when the user uses the mousewheel to zoom the Chart.
*/
onZoomStart?: (event: ZoomStartEvent) => void;
}