/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { AxisDefaults, CategoryAxis, ChartArea, DragAction, Legend, Pane, PaneDefaults, PlotArea, Series, SeriesDefaults, Title, Tooltip, ValueAxis, XAxis, YAxis, Zoomable } from './common/property-types'; /** * Represents a configuration object that groups all root-level Chart options. */ export interface ChartOptions { /** * Defines whether the Chart can be panned. * Panning is not available for the `Donut`, `Pie`, `Funnel`, `Pyramid`, `Polar`, and `Radar` series. */ pannable?: boolean | DragAction; /** * Defines the preferred rendering engine. * If the browser does not support it, the Chart switches to the first available mode. */ renderAs?: 'svg' | 'canvas'; /** * Defines the default colors for the Chart series. * When all colors are used, new colors are pulled from the start again. */ seriesColors?: string[]; /** * Defines the configuration options or the text of the Chart subtitle. */ subtitle?: string | Title; /** * Defines the configuration options or the text of the Chart title. */ title?: string | Title; /** * Defines whether the Chart plays animations when it displays the series. * By default, animations are enabled. */ transitions?: boolean; /** * Defines whether the Chart can be zoomed. * Zooming is not available for the `Donut`, `Pie`, `Funnel`, `Pyramid`, `Polar`, and `Radar` series. */ zoomable?: boolean | Zoomable; /** * Defines the default options for all Chart axes. Accepts the options which are supported by * [`categoryAxis`]({% slug api_charts_categoryaxisitemcomponent %}), * [`valueAxis`]({% slug api_charts_valueaxisitemcomponent %}), * [`xAxis`]({% slug api_charts_xaxisitemcomponent %}), * and [`yAxis`]({% slug api_charts_yaxisitemcomponent %}). */ axisDefaults?: AxisDefaults; /** * Defines the configuration options of the category axis. */ categoryAxis?: CategoryAxis | CategoryAxis[]; /** * Defines the configuration options of the Chart area. * Represents the entire visible area of the Chart. */ chartArea?: ChartArea; /** * Defines the configuration options of the Chart legend. */ legend?: Legend; /** * If no series are defined, or all series are empty, a [No Data Overlay](slug:databinding_chart_charts#toc-no-data-overlay) will be displayed. * It clears automatically when the series receive data. * * To disable the No Data Overlay, set this option to `false`. */ noData?: boolean; /** * Defines the configuration of the Chart panes. * Panes are used to split the Chart into two or more parts. The panes are ordered from top to bottom. * To associate each axis with a pane, set its `pane` option to the name of the desired pane. * Axes that do not have a specified pane are placed in the top (default) pane. * To move a series to the desired pane, associate them with an axis. */ panes?: Pane[]; /** * Defines the default options of all panes. */ paneDefaults?: PaneDefaults; /** * Defines the configuration options of the plot area. * Specifies the area which displays the series. */ plotArea?: PlotArea; /** * Defines the configuration of the Chart series. * Determines the series type by the value of the `type` field. * If a `type` value is missing, the Chart renders the type that is * specified in [`seriesDefaults`]({% slug api_charts_seriesdefaultscomponent %}). * Some options accept functions as arguments. These arguments are evaluated for each point * which is supplied as a parameter. If no value is returned, the Chart uses the `theme` or * [`seriesDefaults`]({% slug api_charts_seriesdefaultscomponent %}) values. */ series?: Series[]; /** * Defines the default options of all series. */ seriesDefaults?: SeriesDefaults; /** * Defines the configuration options of the Chart series tooltips. * Displays the tooltip when the * [`tooltip.visible`]({% slug api_charts_tooltipcomponent %}#toc-visible) option is set to `true`. */ tooltip?: Tooltip; /** * Defines the configuration options of the value axis. */ valueAxis?: ValueAxis | ValueAxis[]; /** * Defines the configuration options of the Scatter Chart X-axis. * Supports all [`valueAxis`]({% slug api_charts_valueaxisitemcomponent %}) options. */ xAxis?: XAxis | XAxis[]; /** * Defines the configuration options of the Scatter Chart Y-axis. * Supports all [`valueAxis`]({% slug api_charts_valueaxisitemcomponent %}) options. */ yAxis?: YAxis | YAxis[]; }