import type { AgInitialStateThemeableOptions } from '../api/initialStateOptions'; import type { AgLinearGaugeTarget, AgLinearGaugeThemeableOptions } from '../presets/gauge/linearGaugeOptions'; import type { AgRadialGaugeTarget, AgRadialGaugeThemeableOptions } from '../presets/gauge/radialGaugeOptions'; import type { AgAreaSeriesThemeableOptions } from '../series/cartesian/areaOptions'; import type { AgBarSeriesThemeableOptions } from '../series/cartesian/barOptions'; import type { AgBoxPlotSeriesThemeableOptions } from '../series/cartesian/boxPlotOptions'; import type { AgBubbleSeriesThemeableOptions } from '../series/cartesian/bubbleOptions'; import type { AgCandlestickSeriesThemeableOptions } from '../series/cartesian/candlestickOptions'; import type { AgColorType, AgColorTypeStrict } from '../series/cartesian/commonOptions'; import type { AgConeFunnelSeriesThemeableOptions } from '../series/cartesian/coneFunnelOptions'; import type { AgFunnelSeriesThemeableOptions } from '../series/cartesian/funnelOptions'; import type { AgHeatmapSeriesThemeableOptions } from '../series/cartesian/heatmapOptions'; import type { AgHistogramSeriesThemeableOptions } from '../series/cartesian/histogramOptions'; import type { AgLineSeriesThemeableOptions } from '../series/cartesian/lineOptions'; import type { AgOhlcSeriesThemeableOptions } from '../series/cartesian/ohlcOptions'; import type { AgRangeAreaSeriesThemeableOptions } from '../series/cartesian/rangeAreaOptions'; import type { AgRangeBarSeriesThemeableOptions } from '../series/cartesian/rangeBarOptions'; import type { AgScatterSeriesThemeableOptions } from '../series/cartesian/scatterOptions'; import type { AgWaterfallSeriesThemeableOptions } from '../series/cartesian/waterfallOptions'; import type { AgDonutSeriesThemeableOptions } from '../series/polar/donutOptions'; import type { AgNightingaleSeriesThemeableOptions } from '../series/polar/nightingaleOptions'; import type { AgPieSeriesThemeableOptions } from '../series/polar/pieOptions'; import type { AgRadarAreaSeriesThemeableOptions } from '../series/polar/radarAreaOptions'; import type { AgRadarLineSeriesThemeableOptions } from '../series/polar/radarLineOptions'; import type { AgRadialBarSeriesThemeableOptions } from '../series/polar/radialBarOptions'; import type { AgRadialColumnSeriesThemeableOptions } from '../series/polar/radialColumnOptions'; import type { AgChordSeriesThemeableOptions } from '../series/standalone/chordOptions'; import type { AgOrganizationSeriesThemeableOptions } from '../series/standalone/organizationOptions'; import type { AgPyramidSeriesThemeableOptions } from '../series/standalone/pyramidOptions'; import type { AgSankeySeriesThemeableOptions } from '../series/standalone/sankeyOptions'; import type { AgBaseStandaloneThemeOptions } from '../series/standalone/standaloneOptions'; import type { AgSunburstSeriesThemeableOptions } from '../series/standalone/sunburstOptions'; import type { AgTreemapSeriesThemeableOptions } from '../series/standalone/treemapOptions'; import type { AgMapLineBackgroundThemeableOptions } from '../series/topology/mapLineBackgroundOptions'; import type { AgMapLineSeriesThemeableOptions } from '../series/topology/mapLineOptions'; import type { AgMapMarkerSeriesThemeableOptions } from '../series/topology/mapMarkerOptions'; import type { AgMapShapeBackgroundThemeableOptions } from '../series/topology/mapShapeBackgroundOptions'; import type { AgMapShapeSeriesThemeableOptions } from '../series/topology/mapShapeOptions'; import type { AgBaseTopologyThemeOptions } from '../series/topology/topologyOptions'; import type { AgAnnotationsThemeableOptions } from './annotationsOptions'; import type { AgBaseCartesianThemeOptions, AgCartesianAxesTheme, AgContinuousCartesianAxesTheme } from './cartesianOptions'; import type { AgBaseChartOptions, AgBaseThemeableChartOptions } from './chartOptions'; import type { AgChartToolbarThemeableOptions } from './chartToolbarOptions'; import type { AgBasePolarThemeOptions, AgPolarAxesTheme } from './polarOptions'; import type { AgChartThemeParams } from './themeParamsOptions'; import type { ContextDefault, CssColor, DatumDefault } from './types'; export type AgChartThemeName = 'ag-default' | 'ag-default-dark' | 'ag-sheets' | 'ag-sheets-dark' | 'ag-polychroma' | 'ag-polychroma-dark' | 'ag-vivid' | 'ag-vivid-dark' | 'ag-material' | 'ag-material-dark' | 'ag-financial' | 'ag-financial-dark'; export interface AgPaletteColors { /** The fill colour for the palette. */ fill?: AgColorTypeStrict; /** The stroke colour for the palette. */ stroke?: CssColor; } /** * Palette used by the chart instance. */ export interface AgChartThemePalette { /** The array of fills to be used. */ fills?: AgColorType[]; /** The array of strokes to be used. */ strokes?: CssColor[]; /** Colours used for positive or upward values, such as rising prices in Financial Charts. */ up?: AgPaletteColors; /** Colours used for negative or downward values, such as falling prices in Financial Charts. */ down?: AgPaletteColors; /** Colours used for neutral values, such as unchanged prices in financial charts. */ neutral?: AgPaletteColors; } export interface AgBaseChartThemeOptions { /** The palette to use. If specified, this replaces the palette from the base theme. */ palette?: AgChartThemePalette; /** Global parameters to set styles across the whole chart. */ params?: AgChartThemeParams; /** Configuration from this object is merged over the defaults specified in the base theme. */ overrides?: AgThemeOverrides; } /** This object is used to define the configuration for a custom chart theme. */ export interface AgChartTheme extends AgBaseChartThemeOptions { /** The name of the theme to base your theme on. Your custom theme will inherit all the configuration from the base theme, allowing you to override just the settings you wish to change using the `overrides` config (see below). */ baseTheme?: AgChartThemeName; } export interface AgLineSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for line series. */ series?: AgLineSeriesThemeableOptions; } export interface AgScatterSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for scatter series. */ series?: AgScatterSeriesThemeableOptions; } export interface AgBubbleSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for bubble series. */ series?: AgBubbleSeriesThemeableOptions; } export interface AgAreaSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for area series. */ series?: AgAreaSeriesThemeableOptions; } export interface AgBarSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for bar series. */ series?: AgBarSeriesThemeableOptions; } export interface AgBoxPlotSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for box plot series. */ series?: AgBoxPlotSeriesThemeableOptions; } export interface AgCandlestickSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for candlestick series. */ series?: AgCandlestickSeriesThemeableOptions; } export interface AgConeFunnelSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for cone funnel series. */ series?: AgConeFunnelSeriesThemeableOptions; } export interface AgFunnelSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for funnel series. */ series?: AgFunnelSeriesThemeableOptions; } export interface AgOhlcSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for OHLC series. */ series?: AgOhlcSeriesThemeableOptions; } export interface AgHistogramSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for axes used with histogram series. */ axes?: AgContinuousCartesianAxesTheme; /** Themeable options for histogram series. */ series?: AgHistogramSeriesThemeableOptions; } export interface AgHeatmapSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for heatmap series. */ series?: AgHeatmapSeriesThemeableOptions; } export interface AgWaterfallSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for waterfall series. */ series?: AgWaterfallSeriesThemeableOptions; } export interface AgRangeBarSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for range bar series. */ series?: AgRangeBarSeriesThemeableOptions; } export interface AgRangeAreaSeriesThemeOverrides extends AgBaseCartesianThemeOptions { /** Themeable options for range area series. */ series?: AgRangeAreaSeriesThemeableOptions; } export interface AgDonutSeriesThemeOverrides extends AgBaseThemeableChartOptions { /** Themeable options for donut series. */ series?: AgDonutSeriesThemeableOptions; } export interface AgPieSeriesThemeOverrides extends AgBaseThemeableChartOptions { /** Themeable options for pie series. */ series?: AgPieSeriesThemeableOptions; } export interface AgRadarLineSeriesThemeOverrides extends AgBasePolarThemeOptions { /** Themeable options for radar line series. */ series?: AgRadarLineSeriesThemeableOptions; } export interface AgRadarAreaSeriesThemeOverrides extends AgBasePolarThemeOptions { /** Themeable options for radar area series. */ series?: AgRadarAreaSeriesThemeableOptions; } export interface AgRadialBarSeriesThemeOverrides extends AgBasePolarThemeOptions { /** Themeable options for radial bar series. */ series?: AgRadialBarSeriesThemeableOptions; } export interface AgRadialColumnSeriesThemeOverrides extends AgBasePolarThemeOptions { /** Themeable options for radial column series. */ series?: AgRadialColumnSeriesThemeableOptions; } export interface AgNightingaleSeriesThemeOverrides extends AgBasePolarThemeOptions { /** Themeable options for nightingale series. */ series?: AgNightingaleSeriesThemeableOptions; } export interface AgMapShapeSeriesThemeOverrides extends AgBaseTopologyThemeOptions { /** Themeable options for map shape series. */ series?: AgMapShapeSeriesThemeableOptions; } export interface AgMapLineSeriesThemeOverrides extends AgBaseTopologyThemeOptions { /** Themeable options for map line series. */ series?: AgMapLineSeriesThemeableOptions; } export interface AgMapMarkerSeriesThemeOverrides extends AgBaseTopologyThemeOptions { /** Themeable options for map marker series. */ series?: AgMapMarkerSeriesThemeableOptions; } export interface AgMapShapeBackgroundThemeOverrides extends AgBaseTopologyThemeOptions { /** Themeable options for map shape background series. */ series?: AgMapShapeBackgroundThemeableOptions; } export interface AgMapLineBackgroundThemeOverrides extends AgBaseTopologyThemeOptions { /** Themeable options for map line background series. */ series?: AgMapLineBackgroundThemeableOptions; } export interface AgSankeyThemeOverrides extends AgBaseStandaloneThemeOptions { /** Themeable options for Sankey series. */ series?: AgSankeySeriesThemeableOptions; } export interface AgChordThemeOverrides extends AgBaseStandaloneThemeOptions { /** Themeable options for chord series. */ series?: AgChordSeriesThemeableOptions; } export interface AgOrganizationThemeOverrides extends AgBaseStandaloneThemeOptions { /** Themeable options for organization series. */ series?: AgOrganizationSeriesThemeableOptions; } export interface AgPyramidThemeOverrides extends AgBaseStandaloneThemeOptions { /** Themeable options for pyramid series. */ series?: AgPyramidSeriesThemeableOptions; } export interface AgSunburstSeriesThemeOverrides extends AgBaseStandaloneThemeOptions { /** Themeable options for sunburst series. */ series?: AgSunburstSeriesThemeableOptions; } export interface AgTreemapSeriesThemeOverrides extends AgBaseStandaloneThemeOptions { /** Themeable options for treemap series. */ series?: AgTreemapSeriesThemeableOptions; } export type AgBaseGaugePresetThemeOptions = Pick, 'animation' | 'background' | 'contextMenu' | 'context' | 'footnote' | 'height' | 'listeners' | 'locale' | 'minHeight' | 'minWidth' | 'padding' | 'subtitle' | 'title' | 'tooltip' | 'width'>; type AgRadialGaugeTheme = AgBaseGaugePresetThemeOptions & AgRadialGaugeThemeableOptions; export interface AgRadialGaugeTargetTheme extends Omit { } export interface AgRadialGaugeThemeOverrides extends AgRadialGaugeTheme { /** Themeable options for radial gauge targets. */ targets?: AgRadialGaugeTargetTheme; } type AgLinearGaugeTheme = AgBaseGaugePresetThemeOptions & AgLinearGaugeThemeableOptions; export interface AgLinearGaugeTargetTheme extends Omit { } export interface AgLinearGaugeThemeOverrides extends AgLinearGaugeTheme { /** Themeable options for linear gauge targets. */ targets?: AgLinearGaugeTargetTheme; } export interface AgCommonThemeableAxisOptions extends AgCartesianAxesTheme, AgPolarAxesTheme { } export interface AgCommonThemeableChartOptions extends AgBaseThemeableChartOptions { /** Themeable options for axes. */ axes?: AgCommonThemeableAxisOptions; /** Themeable options for annotations. */ annotations?: AgAnnotationsThemeableOptions; /** Themeable options for the chart toolbar. */ chartToolbar?: AgChartToolbarThemeableOptions; /** Themeable options for the initial state. */ initialState?: AgInitialStateThemeableOptions; } export interface AgChartThemeOverrides { /** Common theme overrides for series. */ common?: AgCommonThemeableChartOptions; /** Line series theme overrides. */ line?: AgLineSeriesThemeOverrides; /** Scatter series theme overrides. */ scatter?: AgScatterSeriesThemeOverrides; /** Bubble series theme overrides. */ bubble?: AgBubbleSeriesThemeOverrides; /** Area series theme overrides. */ area?: AgAreaSeriesThemeOverrides; /** Bar series theme overrides. */ bar?: AgBarSeriesThemeOverrides; /** Box-plot series theme overrides. */ 'box-plot'?: AgBoxPlotSeriesThemeOverrides; /** Candlestick series theme overrides. */ candlestick?: AgCandlestickSeriesThemeOverrides; /** Cone Funnel series theme overrides. */ 'cone-funnel'?: AgConeFunnelSeriesThemeOverrides; /** Funnel series theme overrides. */ funnel?: AgFunnelSeriesThemeOverrides; /** ohlc series theme overrides. */ ohlc?: AgOhlcSeriesThemeOverrides; /** Histogram series theme overrides. */ histogram?: AgHistogramSeriesThemeOverrides; /** Heatmap series theme overrides. */ heatmap?: AgHeatmapSeriesThemeOverrides; /** Waterfall series theme overrides. */ waterfall?: AgWaterfallSeriesThemeOverrides; /** Range-bar series theme overrides. */ 'range-bar'?: AgRangeBarSeriesThemeOverrides; /** Range-area series theme overrides. */ 'range-area'?: AgRangeAreaSeriesThemeOverrides; /** Donut series theme overrides. */ donut?: AgDonutSeriesThemeOverrides; /** Pie series theme overrides. */ pie?: AgPieSeriesThemeOverrides; /** Radar-line series theme overrides. */ 'radar-line'?: AgRadarLineSeriesThemeOverrides; /** Radar-area series theme overrides. */ 'radar-area'?: AgRadarAreaSeriesThemeOverrides; /** Radial-bar series theme overrides. */ 'radial-bar'?: AgRadialBarSeriesThemeOverrides; /** Radial-column series theme overrides. */ 'radial-column'?: AgRadialColumnSeriesThemeOverrides; /** Nightingale series theme overrides. */ nightingale?: AgNightingaleSeriesThemeOverrides; /** Map shape series theme overrides. */ 'map-shape'?: AgMapShapeSeriesThemeOverrides; /** Map line series theme overrides. */ 'map-line'?: AgMapLineSeriesThemeOverrides; /** Map marker series theme overrides. */ 'map-marker'?: AgMapMarkerSeriesThemeOverrides; /** Map shape background series theme overrides. */ 'map-shape-background'?: AgMapShapeBackgroundThemeOverrides; /** Map line background series theme overrides. */ 'map-line-background'?: AgMapLineBackgroundThemeOverrides; /** Organization series theme overrides. */ organization?: AgOrganizationThemeOverrides; /** Sankey series theme overrides. */ sankey?: AgSankeyThemeOverrides; /** Chord series theme overrides. */ chord?: AgChordThemeOverrides; /** Pyramid series theme overrides. */ pyramid?: AgPyramidThemeOverrides; /** Sunburst series theme overrides. */ sunburst?: AgSunburstSeriesThemeOverrides; /** Treemap series theme overrides. */ treemap?: AgTreemapSeriesThemeOverrides; } export interface AgPresetOverrides { /** Radial gauge theme overrides. */ 'radial-gauge'?: AgRadialGaugeThemeOverrides; /** Linear Gauge theme overrides. */ 'linear-gauge'?: AgLinearGaugeThemeOverrides; } export interface AgThemeOverrides extends AgChartThemeOverrides, AgPresetOverrides { } export {};